The Event-Driven Sync API allows you to update data across channels in near real-time by inserting or updating records, triggering exports as needed. Rate-limiting policies are in place to maintain system stability and should be followed when making API calls.
Each PUT request for data operations is assigned a unique identifier; correlation id. This identifier can be used in subsequent API requests to obtain detailed information about the associated job.
Included headers in every authenticated response (success or failure):
If the rate limit is exceeded, the API will return an HTTP 429 status code and a message with how long to wait until the limit resets.
{"status":"fail","message":"Rate Limit Exceeded. Please wait -timeUntilReset- seconds before trying again."}
Insert and/or update the provided record(s) in the database.
Batch Size
When making PUT requests to operate on your data, determining an optimal batch size (number of records per request) can help increase overall throughput.
Depending on individual record size, an ideal batch size is typically between 50 - 150 records per request to balance throughput and API response time.
The following table displays performance based on an average individual record size of 1KB:
Requests Per Minute | Batch Size (Rows Per Request) | Row Updates Per Minute |
---|---|---|
Up to 1000 | 1 | 1000 |
Up to 300 | 25 | 7500 |
Up to 300 | 50 | 15000 |
Up to 180 | 100 | 18000 |
Up to 40 | 500 | 20000 |
db_id required | integer Example: 102345 Unique ID of the database |
**The max payload size per request is 10MB, with a max individual record size of 5KB**
[- {
- "id": "1234",
- "name": "Exciting New Product",
- "description": "This product is exciting and new!"
}, - {
- "id": "1",
- "description": "Only updating this product description."
}, - {
- "id": "2",
- "best_seller": ""
}
]
{- "status": "success",
- "data": {
- "sku_count": 10,
- "batches": [
- {
- "db_id": 102345,
- "correlation_id": "1428ebcf7cdfd213",
- "batch_index": 0,
- "status": "completed",
- "counts": {
- "processed": 5,
- "inserted": 3,
- "updated": 2,
- "deleted": 0,
- "catalog_total": 10
}
}
]
}
}
Delete the provided record(s) in the database.
db_id required | integer Example: 102345 Unique ID of the database |
**The max rows to delete per request is 1000**
[- "a1",
- "a5",
- "a9"
]
{- "status": "success",
- "data": {
- "sku_count": 0,
- "batches": [
- {
- "db_id": 102345,
- "correlation_id": "1428ebcf7cdfd213",
- "batch_index": 0,
- "status": "queued"
}
]
}
}
Get general database status information such as outstanding requests in queue and most recently processed job.
db_id required | integer Example: 102345 Unique ID of the database |
{- "status": "success",
- "data": {
- "requests_in_queue": 2,
- "last_processed_job": {
- "id": "1428ebcf7cdfd213",
- "received_timestamp": "2024-04-22T10:15:00-04:00",
- "processed_timestamp": "2024-04-22T10:15:30-04:00",
- "processing_time": 30,
}
}
}
Retrieves data set based on the specified correlation ID.
db_id required | integer Example: 102345 Unique ID of the database |
correlation_id required | string Example: 1428ebcf7cdfd213 Correlation ID of the data set |
{- "status": "success",
- "request_timestamp": "string",
- "data": {
- "link": [
- "string"
]
}
}
Retrieves data set based on the specified correlation ID and batch index.
db_id required | integer Example: 102345 Unique ID of the database |
correlation_id required | string Example: 1428ebcf7cdfd213 Correlation ID of the data set |
batch_index required | integer Default: 0 Example: 0 The index of a batch in this correlated data set. |
{- "status": "success",
- "request_timestamp": "string",
- "data": {
- "link": "string"
}
}