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
- Solicite a página 1.
- Leia os links em
dados.itens. - Avance uma página enquanto
pagina × por_paginafor menor quedados.total. - Encerre também se
itensestiver 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.

