I'm trying to create a job in Salesforce using the salesforce_bulk_api gem that adds EventWhoIds to an Event. I have been able to successfully do this using the restforce gem by simply passing in an array of Ids like this:
sf_client.upsert!('Event', 'Id', {Id: 'EventId', EventWhoIds: ['ContactId1', 'ContactId2']
This is correctly upserting the EventWhoIds to the Event. However when I try and do a similar command in a bulk job:
salesforce_bulk.upsert('Event', [{Id: 'EventId', EventWhoIds: ['ContactId1', ContactId2']}], 'Id')
It returns a FIELD_INTEGRITY_EXCEPTION with the message
<errors>
<fields>EventWhoIds</fields>
<message>invalid junction id-list: Must use a String[] or List<String> value to update EventWhoIds.</message>
<statusCode>FIELD_INTEGRITY_EXCEPTION</statusCode>
</errors>
Other batch jobs are upserting successfully.
I've tried to find any information on how I can pass the EventWhoIds but have had no luck anywhere.
Does anyone know how I can pass a junction id-list to a Salesforce Bulk batch?