stores.sync is the batch counterpart to store.updated. Fire emits it when multiple stores need to be propagated in bulk — for example, during initial onboarding or a mass configuration change.
Fire splits large batches automatically and emits multiple stores.sync events with up to 50 stores each. Your system should handle each event independently.
Payload
{
"event": "stores.sync",
"id": "evt_abc125",
"created_at": "2025-01-15T15:05:00Z",
"data": {
"account": "1",
"country": "6",
"batchIndex": 1,
"batchTotal": 3,
"stores": [
{
"name": "New store 805",
"active": true,
"storeId": 805,
"vendorId": 16,
"storeCode": "T005",
"services": [
{
"name": "DELIVERY",
"active": true
}
],
"schedulesByChannel": [
{
"channelId": "0F049503-85CF-E511-80C6-000D3A3261F3",
"schedules": [
{
"day": "FRIDAY",
"endTime": "22:30",
"startTime": "10:00"
}
]
}
],
"taxesInfo": {
"taxRate": 0,
"vatRatePercentage": 12
},
"contactInfo": {
"phone": "23955400",
"address": "PICHINCHA / QUITO / INAQUITO / AV. AMERICA N37-288 Y VILLALENGUA"
},
"deliveryInfo": {
"cookTime": "10",
"deliveryId": 46356,
"minimumOrder": "0.00",
"shippingCost": 1.99
},
"locationInfo": {
"city": "QUITO",
"latitude": "-0.17250869436401206",
"longitude": "-78.49125266075134"
},
"storeChannels": [
"0F049503-85CF-E511-80C6-000D3A3261F3"
]
}
],
"channels": [
{
"active": true,
"channel": "Llevar",
"vendorId": 16,
"channelId": "0E049503-85CF-E511-80C6-000D3A3261F3",
"channelReferenceName": "Llevar PICKUP",
"additionalInfo": {
"mediaId": "E683B6FE-65A9-4D01-B07B-FA1A3C8BCA8D",
"mediaName": "PICKUP",
"relatedLists": [
{
"listId": "42203FD3-0194-EA11-80EE-000D3A019254",
"listName": "PICKUP ECOMMERCE T"
}
]
}
}
]
}
}
Fields
data
| Field | Type | Description |
|---|
account | string | Account identifier — required by downstream systems |
country | string | Country identifier — required by downstream systems |
batchIndex | integer | Position of this batch (1-based) |
batchTotal | integer | Total number of batches in this sync |
stores | object[] | Store configurations — same structure as store.updated |
channels | object[] | Channel configurations — same structure as store.updated |
Processing
Process each stores.sync event independently. Use batchIndex and batchTotal to track progress if your system needs to know when a full sync is complete.
Each batch event is delivered and retried independently. If one batch fails, only that batch is retried — not the entire sync.
When does Fire emit this event?
- During initial client onboarding
- After a mass configuration change affecting many stores
- On explicit sync requests triggered from the Fire dashboard
For individual store changes in normal operation, Fire emits store.updated instead.