Fire
Fire is the restaurant management OS and the source of truth for orders, stores, menus, products, and sales channels. Any change made in Fire is the authoritative version that may produce events your system can react to.Your system
Your system is the integration you build. It connects to Fire by:- Receiving events from Fire through one or more Integration Flows, and acting on them (publishing to aggregators, syncing a billing system or ERP, triggering internal workflows, etc.).
- Injecting orders into Fire when needed.
Sales channels
Sales channels are the aggregators (iFood, Keeta, 99, Rappi, etc.) and direct channels (POS, kiosk, app, web) configured inside Fire for a given store. Each channel has a unique ID inside Fire. If your system needs to inject orders or map them to upstream systems, it must fetch the channel list once and keep it cached.Events
Fire emits four event types in production today:| Event | When it fires |
|---|---|
order.completed | An injected order is fully received and paid (status=COMPLETED, paymentStatus=SUCCEEDED). |
order.cancelled | An injected order is cancelled from the backoffice or via an external adapter. |
order.invoiced | Brazil only — SEFAZ authorizes the order’s fiscal document via your fiscal provider. |
order.reversed | Brazil only — SEFAZ confirms cancellation of a previously authorized fiscal document. |
Integration Flows
An Integration Flow is how your system subscribes to events. You configure flows in the Fire dashboard under Settings → Integration Flows, scoping each flow to your account, vendor, and (optionally) specific stores. A flow is a graph of nodes — typically a trigger followed by an HTTP node that POSTs the event body to your URL — but it can also transform, branch, log, or call internal Fire services before reaching out. A flow’s HTTP node owns the request: method, URL, headers, authentication, and the body template that defines what your endpoint receives. Fire does not impose a fixed envelope — most teams start from the canonical example template the dashboard ships with.Orders
Orders are injected into Fire via the REST API. Each order payload must include the Fire sales channel ID so that Fire can associate it with the correct channel and store configuration. Once injected and paid, the order produces anorder.completed event; cancellations produce order.cancelled.

