Paginação

Toda lista da API devolve o mesmo envelope:

{
  "data": [ ... ],
  "next_cursor": "eyJzb3J0IjoiMjAyNi0wOS0wOFQwMzo1...",
  "has_more": true
}
  • data: os itens da página.
  • next_cursor: passe em ?cursor= para pegar a próxima página. Vem null quando acabou.
  • has_more: true se ainda existe página depois desta.

Como percorrer tudo

curl "https://api.wevi.chat/functions/v1/contacts?limit=100" \
  -H "Authorization: Bearer wevi_SUA_CHAVE"

# resposta: { "data": [...], "next_cursor": "eyJzb3J0...", "has_more": true }

curl "https://api.wevi.chat/functions/v1/contacts?limit=100&cursor=eyJzb3J0..." \
  -H "Authorization: Bearer wevi_SUA_CHAVE"

Parâmetros aceitos em qualquer lista

Parâmetro Padrão Descrição
limit 50 Itens por página. Máximo 200.
cursor O next_cursor da página anterior.
updated_since Data ISO 8601. Devolve só o que mudou depois dela.

Por que cursor e não página

Com ?page=2, um contato criado entre a primeira e a segunda chamada empurra a lista inteira, e você pula ou repete registro. O cursor aponta para a última linha que você viu, então a próxima página continua exatamente de onde parou, mesmo com a base mudando embaixo.

O cursor é opaco: não tente montar um na mão nem guardar por muito tempo. Use sempre o que veio na resposta anterior. Um cursor inválido devolve 400 com invalid_cursor.

Sincronização incremental

Para manter uma cópia dos dados atualizada sem varrer tudo toda vez, guarde o horário da última sincronização e mande em updated_since:

curl "https://api.wevi.chat/functions/v1/contacts?updated_since=2026-09-01T00:00:00Z&limit=200" \
  -H "Authorization: Bearer wevi_SUA_CHAVE"

Em /conversations, updated_since compara com a data da última mensagem, que é o que muda quando a conversa anda.

Próximo

Rate limits