Ir para o conteúdo
WhatsMarketingDeveloper Hub

Paginação e filtros

As listagens paginadas (GET /contacts, /conversations, /campaigns, as linhas do tempo, as notas, os destinatários e as execuções) devolvem sempre o mesmo envelope:

JSON
{
  "data": [ … ],
  "meta": { "page": 1, "pageSize": 20, "total": 318, "totalPages": 16 }
}
Parâmetro Valor
page A partir de 1. Padrão 1
pageSize De 1 a 100. Padrão 20

As listagens principais adicionam tabs (quantos elementos há em cada aba do painel) e summary (os números do cabeçalho), para não ser preciso pedir cada aba separadamente. GET /automations não é paginado: devolve data e summary.

Percorrer tudo

Node.js
async function* contatos(apiKey) {
  for (let page = 1; ; page++) {
    const res = await fetch(`https://micuenta.whatsmarketing.es/api/v1/contacts?page=${page}&pageSize=100`, {
      headers: { Authorization: `Bearer ${apiKey}` },
    });
    const { data, meta } = await res.json();
    yield* data;
    if (page >= meta.totalPages) break;
  }
}

As listagens são ordenadas por atividade recente; se você criar ou modificar registros enquanto percorre, algum elemento pode se mover entre páginas. Para sincronizações contínuas, use os webhooks em vez de percorrer.

Filtros

Cada listagem tem seus filtros (estão na referência). Os mais usados:

  • q: busca livre por nome, telefone, e-mail ou empresa.
  • tab ou filter: as mesmas abas que você vê no painel (leads, customers, unassigned, finished…).
  • days: só o que teve atividade nos últimos 7, 30 ou 90 dias.
  • tag, lifecycleStageId, ownerId, channelType, status: um valor por parâmetro.

Os filtros se combinam com «e». Um parâmetro desconhecido responde 400.