Fire Docs

Archives
Log in
Subscribe
August 4, 2026

4 August 2026 — New assignedAt field on menu and product events

menu.updated v2 and product.updated now carry assignedAt on every category and product.

  • categories[n].assignedAt and products[n].additionalInfo.assignedAt — the date the entity joined the menu, ISO 8601 UTC, no milliseconds. It's membership data, not edit data: untouched by price, name, image, or order edits; gets a new value when an item is removed from the menu and re-added. Full edge cases in menu.updated → Menu assignment date. Not carried by product.price_updated or product.availability_changed — they only ship their delta.
  • menu.updated / product.updated use taxInfo (not taxesInfo), type: PRODUCTO for standard items, and modifierGroups[n].type: RADIO for single-select groups (CHECKBOX for multiple).
  • storeId is the store's internal UUID (stores.id), not the store_number — same convention across menu.updated, product.updated, product.price_updated, and product.availability_changed.
  • product.price_updated's priceInfo doesn't share a shape with the catalog priceInfo in menu.updated / product.updated — it's the sale price just saved with its discount, not catalog pricing.

Note channelReferenceName means the fulfillment (delivery, pickup) in menu.updated's list.stores[n].channels[n], but the sales channel (iFood, Rappi) in the same field name on product.updated, product.price_updated, and product.availability_changed. Same key, two different things depending on the event.

Updated in EN / ES / PT.


Español

4 de agosto de 2026 — Nuevo campo assignedAt en eventos de menú y producto

menu.updated v2 y product.updated ahora llevan assignedAt en cada categoría y producto.

  • categories[n].assignedAt y products[n].additionalInfo.assignedAt — fecha en que la entidad entró al menú, ISO 8601 UTC, sin milisegundos. Es un dato de membresía, no de edición: no cambia con ediciones de precio, nombre, imagen u orden; sí cambia (fecha nueva) cuando el ítem se quita del menú y se vuelve a agregar. Casos borde completos en menu.updated → Fecha de incorporación al menú. No viaja en product.price_updated ni en product.availability_changed — esos eventos solo transmiten su delta.
  • menu.updated / product.updated usan taxInfo (no taxesInfo), type: PRODUCTO para ítems estándar y modifierGroups[n].type: RADIO para grupos de selección única (CHECKBOX para múltiple).
  • storeId es el UUID interno de la tienda (stores.id), no el store_number — misma convención en menu.updated, product.updated, product.price_updated y product.availability_changed.
  • El priceInfo de product.price_updated no comparte forma con el priceInfo de catálogo de menu.updated / product.updated — es el precio de venta recién guardado con su descuento, no precios de catálogo.

Note channelReferenceName significa el fulfillment (delivery, pickup) en list.stores[n].channels[n] de menu.updated, pero el canal de ventas (iFood, Rappi) en el mismo nombre de campo de product.updated, product.price_updated y product.availability_changed. Misma clave, dos cosas distintas según el evento.

Actualizado en EN / ES / PT.


Read the full changelog · Ver el registro completo

Don't miss what's next. Subscribe to Fire Docs:
← Newer 6 August 2026 — Component health heartbeats for kiosks, KDS and POS Older → 4 August 2026 — Subscribe to the changelog by email
Powered by Buttondown, the easiest way to start and grow your newsletter.