> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fire.rest/llms.txt
> Use this file to discover all available pages before exploring further.

# stores.sync

> Se dispara cuando Fire necesita propagar un lote grande de configuraciones de tienda a la vez.

`stores.sync` es la contraparte por lotes de [`store.updated`](/es/webhook-reference/store-updated). Fire lo emite cuando hay que propagar varias tiendas en masa — por ejemplo, durante el onboarding inicial o un cambio masivo de configuración.

Fire divide automáticamente los lotes grandes y emite varios eventos `stores.sync` con hasta 50 tiendas cada uno. Tu sistema debe manejar cada evento de forma independiente.

## Payload

```json theme={null}
{
  "event": "stores.sync",
  "id": "evt_abc125",
  "createdAt": "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",
        "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",
        "services": [
          {
            "code": "DELIVERY",
            "serviceId": "3",
            "referenceName": "Domicilios Llevar"
          },
          {
            "code": "TAKEAWAY",
            "serviceId": "1",
            "referenceName": "Retiro en tienda"
          }
        ]
      }
    ]
  }
}
```

## Campos

### `data`

| Campo        | Tipo      | Descripción                                                                                             |
| ------------ | --------- | ------------------------------------------------------------------------------------------------------- |
| `account`    | string    | Identificador de cuenta — requerido por sistemas downstream                                             |
| `country`    | string    | Identificador de país — requerido por sistemas downstream                                               |
| `batchIndex` | integer   | Posición de este lote (1-based)                                                                         |
| `batchTotal` | integer   | Número total de lotes en esta sincronización                                                            |
| `stores`     | object\[] | Configuraciones de tienda — misma estructura que [`store.updated`](/es/webhook-reference/store-updated) |
| `channels`   | object\[] | Configuraciones de canal — misma estructura que [`store.updated`](/es/webhook-reference/store-updated)  |

## Procesamiento

Procesa cada evento `stores.sync` de forma independiente. Usa `batchIndex` y `batchTotal` para seguir el progreso si tu sistema necesita saber cuándo se completa un sync completo.

<Note>
  Cada evento de lote se entrega y reintenta de forma independiente. Si un lote falla, sólo ese lote se reintenta — no todo el sync.
</Note>

## ¿Cuándo emite Fire este evento?

* Durante el onboarding inicial de un cliente
* Tras un cambio masivo de configuración que afecta a muchas tiendas
* Por solicitudes explícitas de sync disparadas desde el dashboard de Fire

Para cambios individuales de tienda en operación normal, Fire emite [`store.updated`](/es/webhook-reference/store-updated) en su lugar.
