The Batch API allows you to create or update multiple customer profiles in a single request, optimizing performance and reducing network overhead. This is particularly useful for bulk user imports, mass profile updates, and large-scale customer data synchronization.
This example applies to all types of batch processes, ensuring consistency in handling bulk operations across different endpoints.
Step 1: Create a Batch Job
Create a batch job by sending a POST request to the appropriate batch endpoint. For customer data, use the Batch Customer Data API .
Endpoint:
POST /api/v4.0/integrations/batch/customers
Request Example:
{
"body" : [
{
"customerId" : "12345" ,
"email" : "john.doe@example.com" ,
"name" : "John Doe" ,
"gender" : "M" ,
"dateOfBirth" : "1990-01-01" ,
"joinDate" : "2022-01-01" ,
"tags" : [ "vip" , "newsletter_subscriber" ],
"custom" : {
"favorite_color" : "blue" ,
"loyalty_points" : 1500
}
},
{
"customerId" : "67890" ,
"email" : "jane.smith@example.com" ,
"name" : "Jane Smith" ,
"gender" : "F" ,
"dateOfBirth" : "1985-05-15" ,
"joinDate" : "2023-03-10" ,
"tags" : [ "premium_member" ],
"custom" : {
"favorite_color" : "green" ,
"loyalty_points" : 2000
}
}
]
}
Response:
Step 2: Get the Job Status
Use the Check Batch Status API to monitor the progress of your batch operation:
GET /api/v4.0/integrations/batch/{jobId}
Response Examples:
{
"operation" : "Customer Creation Batch Job" ,
"errorCount" : 0 ,
"totalCount" : 0 ,
"finishedCount" : 0 ,
"startedAt" : null ,
"createdAt" : "2025-03-14T10:00:00Z" ,
"status" : "queued" ,
"response" : null
}
{
"operation" : "Customer Creation Batch Job" ,
"errorCount" : 0 ,
"totalCount" : 1 ,
"finishedCount" : 1 ,
"startedAt" : "2025-03-14T10:30:00Z" ,
"createdAt" : "2025-03-14T10:00:00Z" ,
"status" : "running" ,
"response" : {
"successful" : [
{
"customerId" : "12345" ,
"message" : "Customer created successfully"
}
],
"failed" : []
}
}
{
"operation" : "Customer Creation Batch Job" ,
"errorCount" : 1 ,
"totalCount" : 2 ,
"finishedCount" : 1 ,
"startedAt" : "2025-03-14T10:00:00Z" ,
"createdAt" : "2025-03-14T10:00:00Z" ,
"status" : "completed" ,
"response" : {
"successful" : [
{
"customerId" : "12345" ,
"message" : "Customer created successfully"
}
],
"failed" : [
{
"customerId" : "67890" ,
"error" : "Failed to create customer"
}
]
}
}
Step 3: Stop the Running Job (Optional)
If needed, you can stop a running batch job using the Stop Batch Execution API :
DELETE /api/v4.0/integrations/batch/{jobId}
Available Batch Operations
Performance Limit: Each batch request supports up to 1,000 objects per request for optimal processing efficiency.