Пагінація.

Єдиний контракт public API: limit і cursor у запиті, pagination.nextPageToken і hasMore у відповіді.

Правила cursor pagination

Інтеграція має вміти безпечно дочитувати довгі списки і не створювати зайве навантаження на API.

limit

Необовʼязковий параметр кількості записів. За замовчуванням 50, максимум для public API зараз 100.

cursor

Opaque token зі значення pagination.nextPageToken. Клієнт не має парсити cursor або будувати його самостійно.

hasMore

Якщо false, список завершився. Якщо true, передайте nextPageToken як cursor у наступному запиті.

Стабільні фільтри

Під час переходу на наступну сторінку не змінюйте filters, sort, locationId або salesChannel у тому самому циклі завантаження.

Без offset

Offset pagination не використовується для public API, щоб не ламатися на великих списках і паралельних змінах.

Validation замість silent clamp

Якщо limit виходить за дозволений максимум, public API повертає validation error, а не непомітно змінює запит.

GET /api/v1/public/orders?limit=50&cursor=order_123

{
  "data": [],
  "pagination": {
    "nextPageToken": null,
    "hasMore": false
  }
}
let cursor = undefined;
do {
  const page = await listOrders({ limit: 50, cursor });
  handle(page.data);
  cursor = page.pagination.hasMore
    ? page.pagination.nextPageToken
    : undefined;
} while (cursor);

Сплануйте запуск ресторану без хаосу.

Покажемо Limvero на прикладі ресторану, схожого на ваш: точки, меню, POS, кухню, QR-меню, склад, лояльність і тарифи.

Запросити демо