Opção de menu | Permissões de perfil |
Configurações - Integrações - EVO API - Webhook |
|
CRM 2.0 - Automação |
|
CRM 2.0 - Segmentação - Enviar mensagem |
|
Clientes aba Relacionamento - Webhook |
|
Clientes com API Pro podem cadastrar Webhooks no EVO e reutilizá-los em automações, segmentações e no relacionamento do cliente.
Introdução
O Webhook permite enviar dados do EVO para ferramentas externas por meio de uma requisição HTTP POST.
A configuração do Webhook é feita em um único lugar. Depois disso, ele pode ser selecionado em diferentes módulos do sistema.
Com essa funcionalidade, é possível acionar bots de IA, integrações com WhatsApp oficial, CRMs externos e outras ferramentas conectadas ao fluxo do cliente.
Atenção
A funcionalidade de Webhook está disponível apenas para clientes com API Pro ativa.
Quando a unidade não possui API Pro, a aba Webhook fica visível, mas bloqueada para uso.
Ao interagir com a funcionalidade bloqueada, o sistema informa que esta funcionalidade requer API Pro e exibe a opção Ver planos na integração.
O envio do webhook consome do limite de request da API Pro.
Cadastrar Webhook
Acesse Configurações - Integrações
Clique em EVO API.
Na aba Webook clique em Novo Webhook.
Informe o Nome.
Informe a URL de callback.
Configure os Cabeçalhos, se necessário.
Revise o Corpo da requisição.
Clique em Salvar.
Após salvar, o sistema exibe a mensagem Salvo com sucesso e atualiza a lista de Webhooks.
Regras para cadastrar Webhook
O campo Nome é obrigatório.
O campo URL de callback é obrigatório e deve usar uma URL válida com HTTPS.
A URL não é informada nos módulos de uso. Em Automação, Segmentação e Relacionamento, o usuário seleciona apenas o nome do Webhook cadastrado.
Gerenciar Webhooks cadastrados
Na aba Webhook, o sistema exibe uma tabela com os Webhooks cadastrados. A tabela contém:
Nome
URL de callback
Criado por
Ações
É possível editar ou excluir um Webhook pela coluna Ações.
Editar Webhook
Acesse Configurações.
Clique em Integrações.
Acesse EVO API.
Clique na aba Webhook.
Localize o Webhook desejado.
Clique no ícone de Editar.
Altere as informações necessárias.
Clique em Salvar.
Excluir Webhook
Um Webhook só pode ser excluído quando não estiver em uso no sistema. Quando a exclusão estiver disponível, o sistema exibe uma confirmação antes de remover o Webhook.
Após confirmar, o sistema exibe a mensagem Excluído com sucesso.
Nota
Quando o Webhook está em uso, o botão de exclusão fica desabilitado.
Utilizar Webhook na Automação
Acesse CRM 2.0 e em Automação.
Crie ou edite uma automação.
Adicione a ação Webhook.
Selecione o Webhook pelo nome.
Salve a automação.
O Webhook será enviado conforme o gatilho configurado na automação.
Utilizar Webhook na Segmentação
Acesse CRM 2.0 em Segmentação.
Clique no registro desejado
E na aba Relacionamento em Webhook.
E em Clique aqui para salvar um webhook.
Selecione o webohook
Clique em Salvar.
A Segmentação permite disparar Webhooks em massa.
Utilizar Webhook no Relacionamento
Acesse o perfil do cliente
Clique na aba Relacionamento.
Acesse a aba Webhook em Clique aqui para salvar um webhook.
Selecione o Webhook pelo nome.
Preencha as informações necessárias e clique em enviar.
Após o envio, o sistema registra o histórico no relacionamento.
Histórico de envio
Depois que um Webhook é enviado pelo relacionamento, o sistema registra as informações do disparo. O histórico pode exibir:
Nome do Webhook
URL
Corpo da requisição
Data e hora
Usuário responsável
O registro pode ser expandido para visualizar o JSON enviado.
Corpo da requisição
O Webhook envia uma requisição HTTP POST para a URL configurada.
O corpo da requisição usa JSON e pode conter dados do cliente, da oportunidade, do evento e do contexto do envio.
O campo
eventTypeidentifica a origem do disparo e deve ser usado pelas integrações externas para reconhecer o evento recebido.
Importante
O JSON apresentado na tela é apenas um modelo de referência da estrutura do payload.
Os dados enviados no disparo do Webhook variam conforme o evento que originou a execução.
Exemplo:
caso o Webhook seja utilizado em uma automação de matrícula, o payload enviado conterá dados relacionados à matrícula.
Em automações de vencimento de contrato, os dados enviados serão referentes ao vencimento do contrato.
O eventType e os demais campos do payload são preenchidos dinamicamente conforme o contexto do disparo.
Estrutura do corpo da requisição (JSON)
Os Webhooks do CRM 2.0 enviam um payload estruturado contendo informações do evento disparado, contexto da regra, dados da pessoa relacionada e links relevantes para a automação externa.
Exemplo:
{
"eventType": "crm.automation.contract_due_date",
"eventLabel": "Vencimento de contrato",
"eventDate": "2026-03-17T14:30:00Z",
"eventContext": {
"moment": "after",
"daysOffset": 10
},
"organization": {
"idW12": 12345,
"idBranch": 10,
"branchName": "Body Edge - Barra Funda"
},
"person": {
"idMember": 456789,
"idProspect": null,
"firstName": "João",
"lastName": "Silva",
"fullName": "João Silva",
"nickName": "João",
"gender": "male",
"status": "active",
"phone": "+5511999999999",
"email": "[email protected]"
},
"membership": {
"nameMembership": "Plano Gold Mensal"
},
"links": {
"checkout": "https://pagamento.evo.com/checkout/123",
"parq": "https://evo.com/parq/456",
"contractSigning": "https://evo.com/contract/sign/789", "creditCardRegistration": "https://evo.com/card/register/123" }, "communication": {
"subject": "Seu contrato venceu",
"message": "Olá João, seu contrato venceu há 10 dias. Regularize sua situação."
}
}
Explicação dos campos
Nome do campo | Descrição | Exemplo |
eventType | Identifica o tipo de evento disparado pelo CRM. O formato padrão é |
|
eventLabel | Nome descritivo do evento enviado. Utilizado para facilitar leitura humana, logs e debug. |
|
eventDate | Data e hora do disparo do evento em formato UTC ISO 8601. |
|
eventContext | Objeto que informa o contexto da regra que originou o disparo. |
|
moment | Indica quando o evento foi disparado em relação ao evento principal. |
|
daysOffset | Quantidade de dias de distância do evento principal. |
|
organization | Informações da organização/unidade responsável pelo disparo. |
|
idW12 | ID da conta/rede no EVO. |
|
idBranch | ID da unidade/filial relacionada ao evento. |
|
branchName | Nome descritivo da unidade/filial. |
|
person | Informações da pessoa relacionada ao evento. |
|
idMember | ID do cliente no EVO. Quando preenchido, indica que o evento pertence a um cliente. |
|
idProspect | ID da oportunidade/prospect. Quando preenchido, indica que o evento pertence a uma oportunidade. |
|
firstName | Primeiro nome da pessoa. |
|
lastName | Sobrenome da pessoa. |
|
fullName | Nome completo da pessoa. |
|
nickName | Apelido da pessoa. |
|
gender | Gênero da pessoa. |
|
status | Status atual da pessoa no EVO. |
|
phone | Telefone/celular da pessoa. |
|
E-mail da pessoa. |
| |
membership | Informações do plano/contrato relacionado. |
|
nameMembership | Nome do plano/contrato. |
|
links | Links relevantes relacionados ao evento. Os links enviados podem variar conforme o tipo de evento. |
|
checkout | Link de checkout/cobrança. |
|
parq | Link relacionado ao PAR-Q. |
|
contractSigning | Link para assinatura de contrato/documento. |
|
creditCardRegistration | Link para cadastro de cartão. |
|
communication | Informações da comunicação/origem do disparo. |
|
subject | Assunto/título da comunicação. |
|
message | Mensagem/texto associado ao evento. |
|
Valores possíveis de moment
Valor | Descrição |
before | Disparado antes do evento principal |
on | Disparado no momento do evento principal |
after | Disparado após o evento principal |
manual | Disparo manual realizado por usuário |
bulk | Disparo realizado em massa via Segmentação |
Valores possíveis de eventType
O campo eventType identifica tecnicamente a origem e o tipo de evento que disparou o Webhook.
Ele deve ser utilizado pelas ferramentas externas como a principal chave de decisão para definir qual fluxo será executado.
Campo | Descrição | Exemplo |
crm | Representa o domínio da funcionalidade |
|
<origem> | Representa a origem funcional do disparo |
|
<evento> | Representa o evento ou contexto técnico do disparo |
|
Regras importantes
O
eventTypeé um valor técnico e estávelNão varia conforme idioma da base
Não depende do texto exibido na interface
Não deve ser alterado por mudanças de nomenclatura visual
Deve ser tratado como contrato de integração
eventTypes da Automação
Quando o Webhook for disparado a partir de uma regra da Automação, o eventType deve representar a regra que originou o disparo.
eventType | Descrição |
crm.automation.member_appointment_scheduling | Agendamento de cliente |
crm.automation.account_debit_scheduling | Agendamento de débito em conta |
crm.automation.member_birthday | Aniversário de cliente |
crm.automation.prospect_birthday | Aniversário de oportunidade/prospect |
crm.automation.member_trial_class_completed | Aula experimental concluída pelo cliente |
crm.automation.completed_classes | Aulas concluídas |
crm.automation.prospect_registration | Cadastro de oportunidade/prospect |
crm.automation.prospect_campaign_landing_signup | Cadastro de prospect em campanha/landing page |
crm.automation.contract_cancellation | Cancelamento de contrato |
crm.automation.online_sale_boleto_non_payment | Não pagamento de boleto em venda online |
crm.automation.account_debit_charge_declined | Cobrança de débito em conta recusada |
crm.automation.recurring_debit_charge_declined | Cobrança recorrente recusada |
crm.automation.contract_age_limit_non_renewal | Não renovação por limite de idade |
crm.automation.scheduled_cancellation_date | Data de cancelamento agendado |
crm.automation.enrollment | Matrícula |
crm.automation.level_change | Alteração de nível |
crm.automation.next_level_completion | Conclusão do próximo nível |
crm.automation.physical_assessment_completed | Avaliação física concluída |
crm.automation.reenrollment | Rematrícula |
crm.automation.contract_renewal | Renovação de contrato |
crm.automation.no_attendance | Ausência/falta de presença |
crm.automation.physical_assessment_expiry | Vencimento de avaliação física |
crm.automation.nutrition_assessment_expiry | Vencimento de avaliação nutricional |
crm.automation.active_member_card_expiry_monthly | Vencimento mensal de cartão de cliente ativo |
crm.automation.unlimited_personal_credit_expiry | Vencimento de crédito de personal ilimitado |
crm.automation.boleto_expiry | Vencimento de boleto |
crm.automation.contract_due_date | Vencimento de contrato |
crm.automation.dermatological_exam_expiry | Vencimento de exame dermatológico |
crm.automation.medical_exam_expiry | Vencimento de exame médico |
crm.automation.parq_expiry | Vencimento de PAR-Q |
crm.automation.overdue_balance_expiry | Vencimento de saldo devedor |
crm.automation.training_expiry | Vencimento de treino |
crm.automation.prospect_visit | Visita de oportunidade/prospect |
crm.automation.prospect_appointment_scheduling | Agendamento de oportunidade/prospect |
crm.automation.prospect_trial_class_completed | Aula experimental concluída por prospect |
crm.automation.active_days | Dias ativo |
crm.automation.automatic_cancellation_delinquency | Cancelamento automático por inadimplência |
eventTypes da Segmentação
Quando o Webhook for disparado a partir da Segmentação, o eventType indica se o envio foi realizado em lote ou individualmente.
eventType | Descrição |
crm.segmentation.batch | Envio em lote realizado pela Segmentação |
crm.segmentation.individual | Envio individual realizado pela Segmentação |
Regras
Usar crm.segmentation.batch quando o envio for realizado para múltiplos registros selecionados.
Usar crm.segmentation.individual quando o envio for realizado para apenas um registro.
O contexto do envio deve ser indicado em eventContext.
Exemplo:
"eventType": "crm.segmentation.batch",
"eventContext": {
"moment": "bulk",
"daysOffset": 0
}
eventTypes de links transacionais
Quando o Webhook for disparado a partir dos fluxos transacionais de envio de links, o eventType deve indicar qual tipo de link foi gerado pelo EVO.
Esses eventos são usados quando a configuração Habilitar para envio via WhatsApp estiver ativa e o envio de links por WhatsApp passar a ser realizado via Webhook.
Valores suportados
eventType | Descrição |
crm.transactional.card_registration_link | Link para cadastro de cartão |
crm.transactional.debt_charge_link | Link de cobrança gerado a partir de saldo devedor |
crm.transactional.sale_charge_link | Link de cobrança gerado no fluxo de venda/recebimento |
crm.transactional.document_signature_link | Link para assinatura de documento |
Regras
Usar crm.transactional.card_registration_link quando o link gerado for de cadastro de cartão
Usar crm.transactional.debt_charge_link quando o link gerado for de cobrança em Clientes - Financeiro - Saldo devedor
Usar crm.transactional.sale_charge_link quando o link gerado for de cobrança no fluxo de venda/recebimento
Usar crm.transactional.document_signature_link quando o link gerado for de assinatura de documento
O contexto do envio deve ser indicado em eventContext
Exemplo:
"eventType": "crm.transactional.debt_charge_link",
"eventContext": {
"moment": "manual",
"daysOffset": 0
}
eventTypes do Relacionamento
Quando o Webhook for disparado a partir da aba Relacionamento do perfil, o eventType indica se o envio foi realizado no perfil de um cliente ou de uma oportunidade/prospect
Valores suportados
eventType | Descrição |
crm.relationship.member | Envio manual realizado no perfil do cliente |
crm.relationship.prospect | Envio manual realizado no perfil da oportunidade/prospect |
Regras
Usar crm.relationship.member quando o envio for realizado no perfil de cliente
Usar crm.relationship.prospect quando o envio for realizado no perfil de oportunidade/prospect
O contexto do envio deve ser indicado em eventContext
Exemplo:
"eventType": "crm.relationship.member",
"eventContext": {
"moment": "manual",
"daysOffset": 0
}
Relação entre eventType e eventContext
O eventType informa qual evento disparou o Webhook.
O eventContext informa o contexto em que o evento foi disparado.
Neste exemplo, o evento é uma regra de vencimento de contrato, disparada 10 dias após o vencimento:
"eventType": "crm.automation.contract_due_date",
"eventContext": {
"moment": "after",
"daysOffset": 10
}
Valores possíveis de moment
Valor | Descrição |
before | Quando o disparo ocorrer antes do evento principal |
on | Quando o disparo ocorrer no dia/momento do evento principal |
after | Quando o disparo ocorrer após o evento principal |
manual | Quando o disparo for manual, como no Relacionamento |
bulk | Quando o disparo for em massa, como na Segmentação |
Regras de daysOffset
moment | daysOffset |
before | Quantidade de dias antes do evento |
on | 0 |
after | Quantidade de dias depois do evento |
manual | 0 |
bulk | 0 |





