Passer au contenu

Référence

Commandes

Listez les commandes avec leurs articles, faites progresser leur statut tout au long du cycle de vie en cuisine et émettez des remboursements intégraux. Les changements de statut et les remboursements déclenchent des événements webhook.

GET/api/v1/orders

Liste paginée des commandes, y compris les précommandes, avec leurs articles.

Requête : 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

Faites progresser le statut d'une commande. Déclenche 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"}'

Transitions : PENDING → CONFIRMED → PREPARING → READY → DELIVERED, ainsi que CANCELLED depuis n'importe quel état non terminal. REFUNDED est atteint via le point de terminaison de remboursement.

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

Remboursement intégral d'une commande payée. Le solde Stripe Connect du restaurant est débité et les frais de plateforme sont automatiquement annulés. Déclenche 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"}'