Cover do episódio 65: O que é CRM e o que eu aprendi construindo integrações para um
#0654 de março, 20193 min leituraBastidores do CódigoS3 · 2018–2019

O que é CRM e o que eu aprendi construindo integrações para um

Meu primeiro projeto na POA Software foi integrar formulários de leads com um CRM. Não sabia o que era CRM. Aprendi construindo — e o processo me ensinou mais sobre dados de negócio do que qualquer livro.

CRMIntegraçãoAPINegócio

Quando recebi o primeiro briefing na POA Software, o cliente disse: "precisamos integrar com nosso CRM."

Eu não sabia o que era CRM.

Não falei isso. Fui pesquisar. Voltei na reunião seguinte sabendo o suficiente para não parecer ignorante, mas construí o entendimento real durante o projeto.


Fui pesquisar. Voltei na reunião seguinte sabendo o suficiente para não parecer ignorante. Construí o entendimento real durante o projeto.

CRM é onde a empresa registra quem são os clientes, o que cada um comprou, quando falou com cada um, qual o status de cada negociação. É a memória comercial. Sem CRM, esse conhecimento fica na cabeça dos vendedores — quando saem, levam junto.


A tarefa era simples na descrição: "quando alguém preenche o formulário de contato do site, cria um lead no CRM automaticamente."

Na prática:

Autenticação: cada CRM tem um jeito diferente. Esse usava OAuth 2.0 — token de acesso que expirava a cada hora, com refresh token para renovar. Aprendi OAuth construindo a integração, não antes.

Mapeamento de campos: o formulário tinha "nome completo". O CRM tinha "primeiro nome" e "sobrenome" separados. Parece simples — tem exceções. "Ana Maria de Souza", "João Paulo II", nomes estrangeiros. Escrevi código de separação que funcionava para 90% dos casos. Os outros 10% o vendedor corrigia manualmente.

Deduplicação: mesmo cliente preenchendo duas vezes. Mesmo email. O CRM criava dois leads. Precisei de lógica "busca por email antes de criar — se existe, atualiza; se não existe, cria".

Rate limit: em campanha, o formulário recebia muitas submissões ao mesmo tempo. O CRM tinha limite de requisições por minuto. Precisei de fila com retry exponencial para não perder leads.


O que aprendi sobre integração de sistemas, condensado no que eu teria querido ouvir antes:

Integração é sempre mais complexa do que parece. "Formulário cria lead no CRM" virou OAuth + mapeamento + deduplicação + rate limiting + erros de rede. Toda integração tem camadas invisíveis no briefing.

Cada sistema tem seu modelo mental. O CRM tinha "lead" (potencial cliente) e "contato" (cliente existente) como objetos diferentes na API. Para fazer a coisa certa, precisei entender como o CRM pensava, não só como minha aplicação pensava.

Documente os campos que você mapeou. Seis meses depois, o cliente quis adicionar campo novo. Ninguém lembrava por que certo campo ia para certo lugar. Tive que descobrir na raça. Uma tabela teria custado 30 minutos e economizado 2 horas.

Pergunte em linguagem de negócio. "Quando o vendedor liga para o lead, onde registra essa ligação?" — não "qual é o endpoint para criar uma atividade?". O cliente não entende de API. Entende de negócio.

Essa semana: pega uma integração no seu projeto e abre o log de erros. Aposto que tem algum erro periódico que ninguém está investigando. Esse é o ponto de partida.