Saltar al contenido

Referencia

Pedidos

Lista los pedidos con sus líneas de artículos, avanza su estado a lo largo del ciclo de vida en cocina y emite reembolsos completos. Los cambios de estado y los reembolsos disparan eventos de webhook.

GET/api/v1/orders

Lista paginada de pedidos, incluidos los pedidos anticipados, con sus líneas de artículos.

Consulta: restaurantId, status, limit (≤100), cursor

200 OK
{
  "data": [
    {
      "id": "clo...",
      "restaurantId": "clw...",
      "bookingId": null,
      "type": "TAKEAWAY",
      "status": "DELIVERED",
      "subtotal": 24.00,
      "tax": 2.40,
      "tip": 0,
      "total": 26.40,
      "currency": "EUR",
      "paidAt": "2025-12-21T19:45:12.000Z",
      "refundedAt": null,
      "createdAt": "2025-12-21T19:30:00.000Z",
      "items": [
        { "id": "...", "menuItemId": "...", "name": "Carbonara", "quantity": 2, "price": 12.00, "notes": null }
      ]
    }
  ],
  "nextCursor": null
}
PATCH/api/v1/orders/{id}/status

Avanza el estado de un pedido. Dispara order.status_changed.

cURL
curl -X PATCH https://www.openalacarte.com/api/v1/orders/clo.../status \
  -H "Authorization: Bearer oac_live_<your-key>" \
  -H "Content-Type: application/json" \
  -d '{"status":"PREPARING"}'

Transiciones: PENDING → CONFIRMED → PREPARING → READY → DELIVERED, además de CANCELLED desde cualquier estado no terminal. REFUNDED se alcanza a través del endpoint de reembolso.

POST/api/v1/orders/{id}/refund

Reembolso completo de un pedido pagado. Se debita el saldo de Stripe Connect del restaurante y la comisión de la plataforma se revierte automáticamente. Dispara order.refunded.

cURL
curl -X POST https://www.openalacarte.com/api/v1/orders/clo.../refund \
  -H "Authorization: Bearer oac_live_<your-key>" \
  -H "Content-Type: application/json" \
  -d '{"reason":"Wrong item delivered"}'