Integrações

Paginação e sincronização incremental no CRM

Um roteiro para percorrer páginas, confirmar lotes e retomar a sincronização com rastreabilidade, incluindo alterações e exclusões.

Redação Provérbios ··3 min de leitura
Páginas completas, progresso seguro. Buscar lote → Aplicar lote → Confirmar → Salvar posição. Defina como tratar alterações durante a leitura e exclusões na origem.
Diagrama editorial original · Provérbios Conhecimento · Abrir em tamanho original

Uma integração que funciona com vinte contatos pode falhar quando precisa percorrer milhares de registros. O problema nem sempre é velocidade. Enquanto uma página é lida, pessoas continuam alterando dados; uma execução pode parar no meio; a consulta seguinte pode devolver itens repetidos. O projeto precisa explicar onde terminou o trabalho confirmado e como retomá-lo. Este roteiro ajuda a especificar esse comportamento antes de escolher biblioteca ou ferramenta.

Separe página, lote e checkpoint

Página é a unidade devolvida pela API. Lote é a unidade que sua integração consegue aplicar e conferir. Checkpoint é a posição persistida que permite continuar depois. Esses conceitos podem coincidir, mas não são obrigados a isso. Salvar a posição assim que a resposta chega cria um risco: se a aplicação dos dados falhar depois, o próximo processo pode avançar e deixar registros para trás.

O contrato do fornecedor determina a navegação. No Microsoft Graph, por exemplo, @odata.nextLink indica continuação da rodada e @odata.deltaLink serve para buscar mudanças posteriores. A documentação orienta tratar os tokens como opacos e não presumir uma sequência fixa dos itens. Esses nomes são específicos desse serviço; não devem ser atribuídos automaticamente à API do seu CRM. Consulte o fluxo oficial de consultas delta como exemplo de contrato explícito.

Desenhe uma retomada verificável

  1. Registre o escopo da execução: entidade, filtro, ambiente e versão do contrato.
  2. Busque a próxima página usando a continuação documentada, sem inventar parâmetros.
  3. Valide os registros e aplique as mudanças com proteção contra repetição.
  4. Guarde as exceções com identificador e motivo, sem descartar silenciosamente entradas.
  5. Confirme que o lote terminou e só então avance o checkpoint correspondente.

Em um projeto que permite transação conjunta, a gravação do efeito e do progresso pode ocorrer no mesmo compromisso. Quando destino e controle estão em sistemas diferentes, registre estados intermediários e permita reaplicar o lote sem duplicar efeitos. O objetivo do procedimento é conseguir demonstrar o que foi confirmado; a técnica concreta depende das garantias disponíveis em cada ponta.

Exemplo fictício de controle

Diário de uma sincronização ilustrativa
LoteResultadoPosição persistidaPróxima ação
L01Todos os itens confirmadosCursor BBuscar a página B
L02Execução interrompidaCursor BRetomar e reaplicar com idempotência
L02 repetidoItens anteriores reconhecidosCursor CProsseguir após conferência

As letras representam referências fictícias, não um formato de token. O diário operacional deve mostrar a contagem de itens recebidos, aplicados, reconhecidos e rejeitados. Se uma rejeição impedir a conclusão, o lote permanece pendente. Se a política permitir avançar mantendo a exceção em uma fila durável, essa decisão precisa ser explícita e ter responsável.

Inclua alterações e exclusões

Uma consulta por data de atualização exige perguntas adicionais: qual é o fuso, qual a precisão, como desempatar dois registros no mesmo instante e o que acontece durante a leitura? Uma janela de sobreposição pode ajudar a reencontrar mudanças, desde que exista idempotência. Ela não substitui uma garantia documentada de rastreamento. Também defina como descobrir exclusões: ausência em uma página não prova que um registro foi removido.

Planeje a situação em que o cursor expira ou deixa de ser aceito. O operador deve saber quando iniciar nova leitura integral, como proteger alterações locais e como reconciliar a nova fotografia com o destino. Reiniciar indiscriminadamente uma carga não pode transformar uma falha de navegação em exclusão de dados válidos.

Teste antes de aumentar o volume

Prepare uma amostra controlada com criação, alteração, exclusão e dois itens de mesma data. Interrompa o processo antes e depois da aplicação de um lote; repita a página anterior; altere um registro durante a leitura. O teste passa quando cada efeito esperado aparece uma vez, as exceções continuam visíveis e o progresso permite retomada. Registre a evidência por identificador, não apenas uma mensagem de “sucesso”.

Antes da implementação, alinhe o contrato de dados, a estratégia de idempotência e o tratamento de retentativas. Esse conjunto torna a sincronização recuperável sem pressupor recursos específicos de um produto.

Fontes e referências

Referências consultadas em 21/10/2026. Confira a documentação vigente do seu fornecedor antes de alterar uma integração.

Os exemplos deste guia são ilustrativos. A disponibilidade de recursos depende do produto, da versão e da configuração adotados.
← Voltar aos artigos

Continue por aqui

Integrações

CRM e ERP: defina o contrato de dados da integração

Um contrato de dados descreve o significado, o formato e a regra de atualização de cada campo trocado entre sistemas. Ele permite conferir uma integração antes de colocar registros reais em circulação.

3 min de leitura
Integrações

Webhooks duplicados: como aplicar idempotência

Idempotência impede que a repetição de uma entrega produza uma segunda alteração indevida. Para isso, a integração precisa reconhecer o evento e registrar com segurança o estado do processamento.

3 min de leitura
Integrações

Retentativas e fila de falhas nas integrações

Uma retentativa deve corrigir uma falha transitória sem sobrecarregar o destino nem duplicar efeitos. Erros que exigem intervenção precisam sair do ciclo automático e chegar a uma fila com responsável.

3 min de leitura