OctoSolveAjuda

Paginação

Percorra listas da API da OctoSolve com cursor opaco, limite e filtros estáveis.

Paginação

Listas usam paginação por cursor. O cursor é opaco: trate-o como uma string e envie exatamente o valor recebido, sem tentar decodificar, editar ou criar outro.

{
  "data": [],
  "has_more": true,
  "next_cursor": "eyJ2IjoxLCJsYXN0X2lkIjoiLi4uIn0="
}

Parâmetros

ParâmetroRegra
limitDe 1 a 100, com padrão 50
cursorCursor retornado em next_cursor pela página anterior

Os contatos são ordenados por id em ordem crescente. Essa ordem é estável, mas não é cronológica. Não use a posição na lista para concluir quando um contato foi criado.

O cursor também representa os filtros usados na consulta. Alterar telefone, q, status ou tag e reaproveitar o cursor anterior responde 400 invalid_cursor.

No fim da lista, a API retorna has_more: false e next_cursor: null.

Percorrer páginas com curl

Primeira página:

curl --request GET \
  --url "https://api.octosolve.com.br/api/v1/contacts?status=ativo&limit=50" \
  --header "Authorization: Bearer osk_live_exemplo_ficticio_00000000000000000000000000" \
  --header "Accept: application/json"

Página seguinte, mantendo o mesmo filtro:

curl --request GET \
  --url "https://api.octosolve.com.br/api/v1/contacts?status=ativo&limit=50&cursor=CURSOR_RECEBIDO" \
  --header "Authorization: Bearer osk_live_exemplo_ficticio_00000000000000000000000000" \
  --header "Accept: application/json"

Receita para Make ou n8n

  1. Inicie uma variável cursor vazia e mantenha os filtros em variáveis que não mudam durante a execução.
  2. Faça GET /contacts com limit=100. Só inclua cursor quando a variável tiver valor.
  3. Processe o array data com um iterador.
  4. Copie next_cursor para a variável cursor.
  5. Se has_more for true, volte ao módulo ou nó HTTP com os mesmos filtros.
  6. Se has_more for false, encerre o loop.
  7. Se receber invalid_cursor, descarte o cursor e reinicie desde a primeira página. Não tente corrigir a string.

On this page