Skip to main content
When one or more products change in Fire, Fire emits two types of product events:
EventWhen
product.updatedProduct data changed (name, price, images, modifiers, etc.)
product.availability_changedA product was activated or deactivated in one or more stores
Both events use the same targets[] pattern — a single event covers all stores where the product appears. Product updates are incremental — products in the payload are added or updated, never deleted. To remove a product from a menu, Fire sends a full menu.updated event without that product.

Comparison with store and menu events

EventBehavior
store.updated / menu.updatedFull replacement
product.updatedIncremental — only products in the payload change

Handling the event

{
  "event": "product.updated",
  "data": {
    "targets": [
      { "storeId": "805", "channelId": "...", "listName": "Menu App" },
      { "storeId": "806", "channelId": "...", "listName": "Menu App" }
    ],
    "products": [ ... ],
    "modifierGroups": [ ... ],
    "categories": [ ... ]
  }
}
targets lists every store and menu that must receive the update. The product data is the same for all targets. See product.updated for the full schema.
1

Verify the signature

Validate X-Fire-Signature. See Authentication.
2

Acknowledge immediately

Return 200 OK before processing.
3

Iterate targets

For each entry in targets, identify the store and menu in your downstream system.
4

Add or update products

Apply products, modifierGroups, and categories to each target. Do not remove any existing products not present in the payload.