Skip to content

Pagination

GET /orders/ accepts:

ParamFormatDefaultDescription
startYYYY/MM/DDtoday − 7 daysStart date (inclusive, UTC).
endYYYY/MM/DDtodayEnd date (inclusive, UTC).

The page and items_per_page parameters exist in the code but currently have no effect on the public response (they are dashboard internals). Do not rely on them; control volume by range.

Ventana de terminal
curl -H "X-Device-Id: $B4BIT_API_KEY" \
"https://pos.b4bit.com/api/v1/orders/?start=2026/01/01&end=2026/01/31"

Dates are interpreted in UTC (confirmed in the backend, settings.py TIME_ZONE = 'UTC'). If your merchant operates in another time zone, convert before sending to avoid payments at the day boundary falling outside the range.

Payments come sorted by created_at descending (most recent first).

  • Batch by short ranges (daily or weekly) if you have high volume. Avoids huge responses.
  • Prefer webhooks for real-time updates; use GET /orders/ only for historical reconciliation.
  • When reconciling, save the last processed edited_at and filter by range from that point on.
  1. Persist every incoming webhook with identifier + status + edited_at.
  2. Once a day, call GET /orders/?start=yesterday&end=today and cross-check by identifier against your database.
  3. For any payment that does not match, fetch the detail with GET /orders/info/{identifier}.