Saltar al contenido principal
Tu sistema puede inyectar órdenes en Fire usando la API de Orders. Fire luego administra el ciclo de vida de la orden y envía las actualizaciones de estado de vuelta vía webhooks.

Flujo

Tu sistema recibe una orden → Tu sistema la inyecta en Fire → Fire confirma

Inyectar una orden

POST /v1/orders
Authorization: Bearer <your_api_key>
Content-Type: application/json
{
  "channel_id": "channel_abc123",
  "external_order_id": "uber_order_9876",
  "customer": {
    "name": "Jane Doe",
    "phone": "+1555000111"
  },
  "items": [
    {
      "product_id": "prod_001",
      "quantity": 2,
      "unit_price": 1200,
      "modifiers": []
    }
  ],
  "delivery": {
    "type": "delivery",
    "address": "123 Main St"
  },
  "total": 2400
}

Campos requeridos

CampoDescripción
channel_idEl ID del canal de venta de Fire (de webhooks de publicación como channel.updated o Integraciones de agregadores)
external_order_idTu propio ID de orden — usado para correlacionar las actualizaciones de estado
itemsArray de productos pedidos con cantidades y precios

Respuesta

{
  "id": "fire_order_abc",
  "external_order_id": "uber_order_9876",
  "status": "received",
  "created_at": "2025-01-15T14:30:00Z"
}
Guarda el id devuelto por Fire para correlacionar futuros eventos order.status_changed.

Manejo de errores

EstadoSignificado
400Payload inválido — revisa los campos requeridos
404channel_id desconocido — vuelve a obtener los canales
409external_order_id duplicado — la orden ya existe
5xxError del lado de Fire — reintenta con backoff exponencial
No envíes la misma orden dos veces con el mismo external_order_id. Fire rechazará los duplicados con un 409.