Guias de integração

Paginação e filtros

Percorra todas as páginas de links e combine busca com filtros por pessoa.

Use a paginação de Listar links para consultar muitos links sem solicitar todos em uma única resposta. Cada requisição retorna uma página e o total de resultados encontrados.

Escolha o tamanho da página

Envie pagina a partir de 1 e por_pagina entre 1 e 100. O padrão é 20 itens. Para uma coleta em lote, 100 itens por página reduz o número de requisições.

Percorra os resultados

  1. Solicite a página 1.
  2. Leia os links em dados.itens.
  3. Avance uma página enquanto pagina × por_pagina for menor que dados.total.
  4. Encerre também se itens estiver vazio.

Este exemplo usa JavaScript no servidor, em Node.js com fetch disponível, e lê o token de PQNO_TOKEN:

const links = new Map();
for (let pagina = 1; ; pagina++) {
  const url = new URL('https://pqno.app/admin/api/encurtar-link/meuslinks');
  url.search = new URLSearchParams({ pagina: String(pagina), por_pagina: '100' });
  const resposta = await fetch(url, {
    headers: { Authorization: `Bearer ${process.env.PQNO_TOKEN}` }
  });
  const json = await resposta.json();
  if (!resposta.ok || json.status !== 'ok') throw new Error(json.mensagem);
  const { itens, total, por_pagina } = json.dados;
  for (const link of itens) links.set(link.id, link);
  if (itens.length === 0 || pagina * por_pagina >= total) break;
}
console.log([...links.values()]);

Combine busca e filtro por pessoa

Use busca para pesquisar título, destino e código. No Business, o token da empresa também permite usuario, com o ID retornado em criado_por.id ou em Resumo da conta.

Mantenha os mesmos filtros em todas as páginas. Use URLSearchParams ou o recurso equivalente da sua linguagem para codificar espaços, acentos e outros caracteres da busca.

Lide com mudanças durante a consulta

Links novos entram no início da lista e podem mudar a posição de itens entre páginas. O exemplo usa o ID como chave para evitar duplicações. Para sincronização contínua, faça novas coletas periódicas e atualize os registros pelo ID.

Cada página consome uma requisição. Acompanhe os cabeçalhos descritos em Limites de uso e respeite Retry-After se receber HTTP 429.