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
Customer Data Bulk customer data processing for efficient data synchronization and migration
Orders Bulk order processing for efficient order management and tracking
Balance Inquiries Bulk balance inquiry processing for efficient customer balance management
Adjustments Bulk balance adjustments for efficient customer balance management
Cashback Rewards Bulk cashback reward processing for efficient reward distribution
Redemptions Bulk redemption processing for efficient reward redemption management
Events Bulk event processing for efficient event tracking and analytics
Performance Limit: Each batch request supports up to 1,000 objects per request for optimal processing efficiency.
Batch APIs Overview Complete guide to batch operations
Batch Customer Data API Bulk customer data processing
Check Batch Status API Monitor batch operation progress
Stop Batch Execution API Stop a running batch job
Build Your Own UI Back to Build Your Own UI overview