Receber evento no seu sistema
Webhook é o all4sales avisando o seu sistema que algo aconteceu, na hora, sem o seu sistema ficar perguntando. O caminho é uma automação com a ação Webhook: o gatilho define o evento, e a ação manda um POST pra URL que você indicar.
Montar
- Automações > Criar fluxo de trabalho. Nome tipo
Webhook: lead novo. - Gatilho: o evento que interessa. Os mais usados: contato criado, etiqueta adicionada, fase do pipeline mudou, status da oportunidade mudou (ganho), compromisso marcado, mensagem recebida.
- Ação > Webhook: método
POST, a URL do seu sistema (https://seusistema.com.br/hooks/all4sales). Tem que ser HTTPS. - Em dados personalizados, adicione os campos que quer receber, com variável:
telefone={{contact.phone}},fase={{opportunity.pipeline_stage}},evento=lead_novo. - Salve, teste com um contato seu, confira que chegou no seu servidor, e publique.
O que chega
Um POST com JSON. Além dos campos que você mapeou, o pacote padrão traz os dados do contato:
{
"contact_id": "ocQHyuzHvysMo5N5VsXc",
"first_name": "Maria",
"last_name": "Souza",
"full_name": "Maria Souza",
"email": "maria@exemplo.com.br",
"phone": "+5524999990000",
"tags": "site, orcamento",
"location": { "id": "ID_DA_CONTA", "name": "Sua Empresa" },
"customData": { "evento": "lead_novo", "fase": "Novo" }
}Os campos exatos variam com o gatilho. Na primeira vez, registre o corpo inteiro no seu log e olhe o que veio.
Responder
Seu servidor deve responder 200 em menos de alguns segundos. Processe depois, numa fila: se a resposta demorar, a plataforma considera falha.
Repetição e idempotência
- Se o seu servidor não responder
200, a plataforma pode tentar de novo. O mesmo evento pode chegar duas vezes. - Use
contact_idmais o nome do evento mais um carimbo de tempo arredondado como chave: já processou, ignora. - Não confie na ordem de chegada entre eventos diferentes.
Segurança
A ação Webhook não assina o pacote. Pra garantir que o POST veio daqui:
- Use uma URL com um segredo no caminho ou num parâmetro (
/hooks/all4sales?chave=UM_SEGREDO_LONGO), e rejeite tudo que não tiver. - Ou envie um cabeçalho personalizado com a chave, configurado na própria ação.
- Nunca execute ação crítica (dar baixa em pagamento) só porque o webhook chegou. Confirme com uma chamada de leitura à API.
Quando usar webhook em vez de consultar
Sempre que o seu sistema precisa reagir a algo. Consultar a API a cada minuto gasta limite e ainda atrasa. Webhook chega em segundos e não gasta chamada. O contrário, mandar dado pra cá, é Receber lead de fora.