Skip to main content

Purpose

Fetches the statuses, customer details, and line items of your multi-channel orders in a single request.

HTTP Request

GET https://integrations.clopos.com/open-api/v2/orders

Authorization

This request requires the x-token header with your JWT.

Request Example

curl -X GET "https://integrations.clopos.com/open-api/v2/orders?limit=20&status=DELIVERED" \
  -H "x-token: oauth_example_token" \

Response

200 OK — Orders list

{
  "success": true,
  "data": [
    {
      "id": "ORD-12345",
      "number": "A-001",
      "status": "RECEIVED",
      "created_at": "2025-08-18 13:44:10",
      "updated_at": "2025-08-18 13:45:01",
      "total": 42000,
      "customer_id": 1,
      "payment_status": "pending",
      "delivery_type": "pickup",
      "receipt_id": 6
    }
  ],
  "pagination": {
    "page": 1,
    "per_page": 50,
    "total": 1,
    "total_pages": 1
  }
}

400 Bad Request — Invalid filters

{
  "success": false,
  "error": "invalid_parameter",
  "message": "status must be one of PENDING, RECEIVED, IGNORE, DELIVERED"
}

401 Unauthorized — Authentication is missing or invalid

{
  "success": false,
  "error": "unauthorized",
  "message": "Missing or invalid authentication headers"
}

429 Too Many Requests — Limit exceeded

{
  "success": false,
  "error": "rate_limited",
  "message": "Too many requests. Retry later."
}

Field Reference

FieldTypeDescription
idstringOrder identifier.
statusstringCurrent lifecycle state (PENDING, RECEIVED, IGNORE, DELIVERED).
receipt_idnumberLinked open receipt ID once the POS accepts the order.
payment_statusstringPayment state (e.g., pending, paid).
totalnumberOrder grand total.
created_atstringCreation timestamp (ISO 8601).
updated_atstringLast update timestamp (ISO 8601).

Notes

  • When an order is created through this endpoint, the POS receives a push notification and notifies the clerk of the new order. RECEIVED orders automatically transition into open receipts.
  • Use status=PENDING to monitor orders awaiting POS confirmation.
  • Poll or subscribe to webhooks to track further status changes if your integration requires real-time updates.