> ## 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.

# Publicación de productos

> Maneja los eventos de actualización de producto de Fire.

Cuando uno o más productos cambian en Fire, Fire emite dos tipos de eventos de producto:

| Evento                                                                               | Cuándo                                                                       |
| ------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------- |
| [`product.updated`](/es/webhook-reference/product-updated)                           | Datos del producto cambiaron (nombre, precio, imágenes, modificadores, etc.) |
| [`product.availability_changed`](/es/webhook-reference/product-availability-changed) | Un producto fue activado o desactivado en una o más tiendas                  |

Ambos eventos usan el mismo patrón `targets[]` — un solo evento cubre todas las tiendas donde aparece el producto.

**Las actualizaciones de producto son incrementales** — los productos del payload se agregan o actualizan, nunca se eliminan. Para remover un producto de un menú, Fire envía un evento [`menu.updated`](/es/guides/menu-publication) completo sin ese producto.

## Comparación con eventos de tienda y menú

| Evento                           | Comportamiento                                       |
| -------------------------------- | ---------------------------------------------------- |
| `store.updated` / `menu.updated` | Reemplazo completo                                   |
| `product.updated`                | Incremental — solo cambian los productos del payload |

## Manejar el evento

```json theme={null}
{
  "event": "product.updated",
  "data": {
    "targets": [
      { "storeId": "805", "channelId": "...", "listName": "Menu App" },
      { "storeId": "806", "channelId": "...", "listName": "Menu App" }
    ],
    "products": [ ... ],
    "modifierGroups": [ ... ],
    "categories": [ ... ]
  }
}
```

`targets` lista cada tienda y menú que debe recibir la actualización. Los datos del producto son los mismos para todos los targets.

Consulta [`product.updated`](/es/webhook-reference/product-updated) para el esquema completo.

<Steps>
  <Step title="Verifica la firma">
    Valida `X-Fire-Signature`. Consulta [Autenticación](/es/authentication).
  </Step>

  <Step title="Confirma de inmediato">
    Devuelve `200 OK` antes de procesar.
  </Step>

  <Step title="Itera los targets">
    Para cada entrada de `targets`, identifica la tienda y el menú en tu sistema downstream.
  </Step>

  <Step title="Agrega o actualiza productos">
    Aplica `products`, `modifierGroups` y `categories` a cada target. No elimines ningún producto existente que no esté presente en el payload.
  </Step>
</Steps>
