I'm using the Batch API in a semi-classic CSV upload process. In my case, I need to manage two types of resources “Workers” and “Members”. Workers represent everyone that can potentially be added to a Roster. A Roster has many Members and each Member has a reference to a Worker.
So when I bulk upload, I am issuing a batch call to with upserts to create/update each worker. We are using standard numeric id field which is opaque and not supplied by the import.
This means my plan of attach is to issue batch call to upsert each worker. Then I loop through those results and create batch request to create/update the roster Members.
The problem is that sometimes the batch calls return 200 status but the parts array in the response is empty. I haven't found a good pattern to figure out why its returning an empty array.
I really don't want to issue 3000 get calls to figure out the ID of newly created workers:
Headers

Request:

Response:

Is there any way to reliably return the response for all the parts submitted?