Фильтры портов, журналов и платежей принимают page и pageSize в JSON-теле. Контракт ограничивает pageSize значением 100.
{ "page": 1, "pageSize": 100}Ответ содержит data, page, pageSize и total. Продолжайте, пока число собранных элементов не достигнет total или очередная страница не окажется пустой. Состав коллекции может изменяться во время обхода.
Пагинаторы официальных SDK запрашивают следующие страницы и возвращают отдельные элементы:
for await (const port of client.paginate( ({ page, pageSize }) => client.ports.filter({ body: { page, pageSize, tags: ['Production1'] } }), { pageSize: 100 },)) { console.log(port.port);}from ltesocks_sdk.models import FilterPortsBody
def fetch_page(*, page: int, page_size: int): return client.ports.filter( body=FilterPortsBody( page=page, page_size=page_size, tags=["Production1"], ) )
for port in client.paginate(fetch_page, page_size=100): print(port.port)<?php
use LTESocks\Dto\FilterPortsRequest;
$ports = $client->paginate( fn (int $page, int $pageSize) => $client->ports()->filter( new FilterPortsRequest([ 'page' => $page, 'pageSize' => $pageSize, 'tags' => ['Production1'], ]), ),);
foreach ($ports as $port) { echo $port->getPort();}Лимиты запросов
Заголовок раздела «Лимиты запросов»Значения сервиса по умолчанию:
| Класс запросов | Лимит по умолчанию |
|---|---|
GET | 60 запросов в минуту |
POST, PUT, PATCH, DELETE | 10 запросов в минуту |
Развертывание может переопределить эти значения. Считайте ответ 429 источником истины, используйте случайную задержку и ограничивайте параллельность. Фильтрация с pageSize: 100 эффективнее множества отдельных запросов.