How orders reach your kitchen
This is the same flow whether the order came from your app, Uber Eats, or a kiosk:1
Customer places an order
The order is created in Fire spark with line items, totals, store, channel,
fulfillment type, and payment state.
2
Fire spark notifies your integration
Your server receives a webhook with the event type and order identifier.
3
order.injected sends the ticket to your POS
When Fire spark fires
order.injected, your integration receives the
full order payload. This is the moment to create the ticket in your POS or
RMS — using the payment, fulfillment, and line-item state exactly as
included in the event, without waiting for a separate API call.4
Your POS updates Fire spark
As the order progresses in your operational system, call
Update order status so every
channel stays aligned.
For marketing and operations teams:
order.injected means “send this order
to the kitchen system now.” Fire spark does not rewrite the order at injection
time — the POS receives the order in whatever state it is in when the
event fires (for example paid and ready to prepare, or still pending payment if
your channel allows that).Configure your endpoint
Register an HTTPS webhook URL in the merchant integration settings in the Fire spark dashboard. Fire spark sendsPOST requests to that URL for each subscribed event.
Requires an integration configured for the merchant. See
Introduction for the full integration
setup flow.
Event types
Webhook payload
Each delivery is a JSON object with a consistent envelope:data object
Order status fields in the payload
These fields describe the order state at the time the webhook fires. Onorder.injected, map them directly into your POS ticket.
Handling order.injected
- Read
data.order_idand the fulldata.orderobject from the payload. - Map
fulfillment_id,store_id,channel_id,brand_id, and lineidvalues to your POS catalog (same external ids used during menu sync). Use linemetadatafor POS-specific hints that do not belong on the order-levelmetadataobject. - Create the ticket in your POS or RMS using the totals, customer, and status fields as sent — do not assume the order is always
PAIDorPREPARING; respect the values in the payload. - Return HTTP
200(or another2xx) promptly. Perform slow POS calls asynchronously after responding if needed. - When your POS changes fulfillment progress, call Update order status.
Fetching an order manually
If you receiveorder.created or order.updated without the full order object, call Get order with the external order_id. Requires the orders:read scope.
Related endpoints
Get order
Retrieve the full order by external id
Update order status
Report POS fulfillment progress back to Fire spark