Paginação

Os três formatos de paginação usados pelos endpoints de listagem da API.

A API não usa um único formato de paginação em todos os endpoints — o formato depende do endpoint. Consulte a tabela abaixo antes de integrar.

EndpointFormato
GET /api/v1/contactsEnvelope pagination
GET /api/v1/messagesEnvelope pagination
GET /api/v1/campaigns/{id}/recipientsCampos planos total/page/limit
GET /api/v1/campaignsSem paginação — retorna todos os registros
GET /api/v1/listsSem paginação — retorna todos os registros
GET /api/v1/custom-fieldsSem paginação — retorna todos os registros

Envelope `pagination`

Usado por GET /api/v1/contacts e GET /api/v1/messages. Os dados ficam em data; os metadados de paginação, em um objeto pagination à parte.

Exemplo — envelope pagination
{
  "success": true,
  "data": [],
  "pagination": {
    "page": 1,
    "limit": 50,
    "total": 132,
    "total_pages": 3
  }
}

Formato plano

Usado por GET /api/v1/campaigns/{id}/recipients. Os metadados de paginação ficam no nível raiz da resposta, junto dos dados — não há objeto pagination separado.

Exemplo — formato plano
{
  "success": true,
  "data": [],
  "total": 48,
  "page": 1,
  "limit": 50
}

Sem paginação

GET /api/v1/campaigns, GET /api/v1/lists e GET /api/v1/custom-fields retornam todos os registros da empresa em data, sem parâmetros nem metadados de paginação — o volume desses recursos é tipicamente baixo o suficiente para não exigir paginação.

Exemplo — sem paginação
{
  "success": true,
  "data": []
}
Paginação — Prosalab Developers