There are two versions of UpsertData API calls, synchronous and asynchronous. This particular version is the asynchronous version where more than 1000 records rows are subject to be inserted/updated on a data table at in a single call.
The method is used to insert bulk new records or update existing ones on a data table except master_contact table.
This method should be called once a minute for a specific table with a single request!
If the target data table has primary key values, UpsertData call has to include these primary key values in input data rows as well as the rest of the to-be-updated column values.
If the target data table has no primary key values, UpsertData appends input data rows to the data table.
Input data row has to include all the column values of the target data table, otherwise an error will be returned.
The difference between the synchronous version and asynchronous version of this call is that Asynchronous version returns the uuid of the upsert job started. The status and the result of the on-going UpsertData jobs must be queried with GetStatus API call.