Skip to main content
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:
{
    "jobId": 123456
}

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