Every batch has the following fields:
batchId (int) - The Batch ID.
batchStatus (string) - The Batch status .
batchResults (object) - The record and relationship objects that are the result of the batch.
Copy {
"batchId": Int,
"batchStatus": "Created"/"InProgress"/"Errored"/"Cancelled"/"Complete",
"batchResults": {
"records": {EntityObjectDictionary},
"relationships": [RelationshipObject]
}
}
Batch records
Batch records are organized in a key-value collection, where the records are grouped by the char type ID. For example, the following JSON contains four records, two contacts (char type ID = 2) and two catalog items (char type ID = 1).
Copy {
"records": {
"2": [
{
"characteristics": {
"department": "Sales",
"first_name": "John",
"last_name": "Smith"
},
"template": {
"templateId": 1
},
"title": "Person 1"
},
{
"characteristics": {
"department": "Accounting",
"first_name": "Susan",
"last_name": "Williams"
},
"template": {
"templateId": 1
},
"title": "Person 2"
}
],
"1": [
{
"characteristics": {
"release_year": 2006
},
"template": {
"templateId": 1
},
"title": "Catalog 1"
},
{
"characteristics": {
"release_year": 2013
},
"template": {
"templateId": 1
},
"title": "Catalog 2"
}
]
}
}
When retrieving a batch, the records will be organized in a slightly different structure. The records will still be organized in a key-value collection by char type ID, but each individual entity will have a few new fields:
record (object) - The entity object.
code (int) - The HTTP status code indicating the status of creating/updating/deleting/retrieving the record. Examples are 200, 400, 403, 404, 409
message (int) - A human-readable message of the status of the batch record. Examples would be "Found.", "Created.", "Updated.", "Deleted.", "Action Executed.", "Copied.", "Record Not Found.", "Access Denied.", "Invalid Record.", "Record Locked."
id (int) - The ID of the record.
Copy "records": {
"1": [
{
"record": {
"id": 5,
"revisionId": 0,
"title": "test",
"template": {
"templateId": 1,
"templateName": "Feature",
"processId": 0
},
"status": {
"statusId": 19,
"statusName": "Inactive, Not Deletable, Locked"
},
"characteristics": {
"notes": [
"test"
]
},
"createdById": 46232,
"createdDate": "2015-09-03T00:59:01.507Z",
"lastUpdatedById": 1100491,
"lastUpdatedDate": "2023-02-14T18:30:19.857Z",
"statusUpdatedById": 1100491,
"statusUpdatedDate": "2020-12-11T17:51:50.830Z"
},
"code": 200,
"message": "Found.",
"id": 5
}
]
}
Batch relationships
Copy {
"relationships":[
{
"parentCharTypeId": 4,
"parentRecordId": 4958,
"childCharTypeId": 1,
"childRecordId": 23456
},
{
"parentCharTypeId": 4,
"parentRecordId": 4958,
"childCharTypeId": 2,
"childRecordId": 12345
}
]
}
When retrieving a batch, the relationships will take on a similar structure as the records in the response, containing the additional fields below:
relationship (object) - The relationship object.
code (int) - The HTTP status code indicating the status of creating/deleting/retrieving the relationship. Examples are 200, 400, 403, 404, 409
message (int) - A human-readable message of the status of the batch record. Examples would be "Found.", "Created.", "Deleted.", "Access Denied."
id (int) - The ID of the relationship.
Copy "relationships": [
{
"relationship": {
"id": 431235011,
"relationshipType": {
"relationshipTypeId": 0,
"relationshipTypeName": "Default"
},
"createdById": 1091106,
"createdDate": "2020-07-10T20:24:34.263Z",
"lastUpdatedById": 1091106,
"lastUpdatedDate": "2020-07-10T20:24:34.263Z",
"parentCharTypeId": 4,
"parentRecordId": 1493,
"childCharTypeId": 1,
"childRecordId": 8327,
"sequenceNumber": 1602064027648
},
"code": 200,
"message": "Found.",
"id": 431235011
}
]