Pular para o conteúdo

Paginação

Listas respondem {"dados": [...], "proximo": "..."}. Para a próxima página, repita a mesma chamada com ?cursor= e o valor de proximo. Quando proximo vier null, acabou. Use ?limite= de 1 a 100 (padrão 50).

JavaScript

async function todasAsConversas() {
  const itens = [];
  let cursor = null;
  do {
    const url = new URL('https://chat.forsi.com.br/api/v1/conversas');
    url.searchParams.set('limite', '100');
    if (cursor) url.searchParams.set('cursor', cursor);
    const resposta = await fetch(url, { headers: { Authorization: 'Bearer ' + process.env.FORSI_CHAVE } });
    const json = await resposta.json();
    if (!resposta.ok) throw new Error(json.erro.codigo + ': ' + json.erro.mensagem);
    itens.push(...json.dados);
    cursor = json.proximo; // null quando acabou
  } while (cursor);
  return itens;
}