Skip to main content
Documentação interna para desenvolvedores. Esta página aborda os endpoints da API Contacts, operações em massa, detecção de mesclagem e o modelo de dados do cliente 360. Não se destina a usuários finais.

Mapa de rotas


Padrão de autenticação

Todas as consultas devem ter como escopo req.session.organization.id.

Esquema de objeto de contato


Listar contatos (filtros)


Exclusão em massa


Mesclar Candidatos

O endpoint merge-candidates executa um algoritmo de correspondência difusa para identificar possíveis contatos duplicados:
Estratégia de mesclagem:
  • O contato principal mantém seu ID
  • As conversas do contato secundário são reatribuídas
  • O contato secundário é excluído
  • Não desfazer — avisar os usuários antes da mesclagem

Visão 360 do cliente

A página de contato individual agrega dados de várias fontes:

Índices Prisma usados


Problemas conhecidos/pegadinhas

  • Exclusão em cascata em massa: A exclusão de contatos exclui suas conversas. Esta é uma operação destrutiva. Sempre confirme com o usuário antes de ligar.
  • Normalização do telefone: Os números de telefone devem ser armazenados no formato E.164 (+5511999990000). Formatos inconsistentes fazem com que os candidatos à mesclagem percam duplicatas.
  • externalId é usado para sincronização de CRM (por exemplo, HubSpot, Salesforce). Ao sincronizar de sistemas externos, sempre use upsert em organizationId + externalId.
  • Mesclar candidatos usa correspondência em nível de aplicativo (não em nível de banco de dados). Para listas de contatos grandes (mais de 100 mil), isso pode ser lento. Considere adicionar um trabalho em segundo plano para organizações grandes.