Passing a String[] or List<String> to Salesforce Bulk Job for EventWhoIds in Ruby

97 Views Asked by At

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?

0

There are 0 best solutions below