Ir al contenido principal

Configurar y enviar Webhook

Mira cómo crear y configurar Webhooks

Escrito por Viviane Flores

Opción de menu

Permisos de perfil

Configuración - Integraciones - EVO API - Webhook

  • API Pro

CRM 2.0 - Automación

  • API Pro

CRM 2.0 - Segmentación - Enviar mensaje

  • API Pro

Clientes pestaña Relacionamiento - Webhook

  • API Pro

Los clientes con API Pro pueden registrar Webhooks en EVO y reutilizarlos en automatizaciones, segmentaciones y en el relacionamiento del cliente.​


Introdución

El Webhook permite enviar datos de EVO a herramientas externas mediante una solicitud HTTP POST.
La configuración del Webhook se realiza en un único lugar. Después de eso, puede seleccionarse en diferentes módulos del sistema.
Con esta funcionalidad, es posible activar bots de IA, integraciones con WhatsApp oficial, CRM externos y otras herramientas conectadas al flujo del cliente.

Atención

  • La funcionalidad de Webhook está disponible únicamente para clientes con API Pro activa.

  • Cuando la sede no cuenta con API Pro, la pestaña Webhook aparece visible, pero bloqueada para su uso.

  • Al interactuar con la funcionalidad bloqueada, el sistema informa que esta funcionalidad requiere API Pro y muestra la opción Ver planes en la integración.

  • El envío del webhook consume el límite de requests de la API Pro.


Registrar Webhook

  1. Accede a Configuración - Integraciones

  2. Clic en EVO API.

  3. En la pestaña Webhook, clic en Nuevo Webhook.

  4. Ingresa el Nombre.

  5. Ingresa la URL de callback.

  6. Configura los Encabezados, si es necesario.

  7. Revisa el Cuerpo de la solicitud.

  8. Clic en Guardar.

Después de guardar, el sistema muestra el mensaje Guardado con éxito y actualiza la lista de Webhooks.


Reglas para registrar Webhook

  • El campo Nombre es obligatorio.

  • El campo URL de callback es obligatorio y debe utilizar una URL válida con HTTPS.

  • La URL no se informa en los módulos de uso. En Automatización, Segmentación y Relacionamiento, el usuario selecciona únicamente el nombre del Webhook registrado.​


Gestionar Webhooks registrados

En la pestaña Webhook, el sistema muestra una tabla con los Webhooks registrados. La tabla contiene:

  • Nombre

  • URL de callback

  • Creado por

  • Acciones

Es posible editar o eliminar un Webhook desde la columna Acciones.


Editar Webhook

  1. Accede a Configuración.

  2. Clic en Integraciones.

  3. Accede a EVO API.

  4. Clic en la pestaña Webhook.

  5. Localiza el Webhook deseado.

  6. Clic en el ícono de Editar.

  7. Modifica la información necesaria.

  8. Clic en Guardar.


Eliminar Webhook

Un Webhook solo puede eliminarse cuando no está en uso en el sistema. Cuando la eliminación está disponible, el sistema muestra una confirmación antes de eliminar el Webhook.
Después de confirmar, el sistema muestra el mensaje Eliminado con éxito.

Nota

Cuando el Webhook está en uso, el botón de eliminación aparece deshabilitado.


Utilizar Webhook en Automatización

  1. Accede a CRM 2.0 y luego a Automatización.

  2. Crea o edita una automatización.

  3. Añade la acción Webhook.

  4. Selecciona el Webhook por nombre.

  5. Guarda la automatización.

El Webhook se enviará según el disparador configurado en la automatización.


Utilizar Webhook en Segmentación

  1. Accede a CRM 2.0 en Segmentación.

  2. Clic en el registro deseado

  3. Y en la pestaña Relacionamiento en Webhook.

  4. Y clic en Clic aquí para guardar un webhook.

  5. Selecciona el webhook

  6. Clic en Guardar.

La Segmentación permite enviar Webhooks de forma masiva.


Utilizar Webhook en Relacionamiento

  1. Accede al perfil del cliente

  2. Clic en la pestaña Relacionamiento.

  3. Accede a la pestaña Webhook en Clic aquí para guardar un webhook.

  4. Selecciona el Webhook por nombre.

  5. Completa la información necesaria y clic en enviar.

Después del envío, el sistema registra el historial en el relacionamiento.


Historial de envío

Después de que un Webhook es enviado desde el relacionamiento, el sistema registra la información del envío. El historial puede mostrar:

  • Nombre del Webhook

  • URL

  • Cuerpo de la solicitud

  • Fecha y hora

  • Usuario responsable

El registro puede expandirse para visualizar el JSON enviado.


Cuerpo de la solicitud

  • El Webhook envía una solicitud HTTP POST a la URL configurada.

  • El cuerpo de la solicitud utiliza JSON y puede contener datos del cliente, de la oportunidad, del evento y del contexto del envío.

  • El campo eventType identifica el origen del envío y debe ser utilizado por las integraciones externas para reconocer el evento recibido.

Importante

El JSON presentado en la pantalla es solo un modelo de referencia de la estructura del payload.

Los datos enviados en el disparo del Webhook varían según el evento que originó la ejecución.

Ejemplo:
si el Webhook se utiliza en una automatización de inscripción, el payload enviado contendrá datos relacionados con la inscripción.
En automatizaciones de vencimiento de planes, los datos enviados estarán relacionados con el vencimiento del plan.

El eventType y los demás campos del payload se completan dinámicamente según el contexto del disparo.


Estructura del cuerpo de la solicitud (JSON)

Los Webhooks del CRM 2.0 envían un payload estructurado con información del evento disparado, contexto de la regla, datos de la persona relacionada y enlaces relevantes para la automatización externa.

Ejemplo:

{
"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."
}
}

Explicación de los campos

Nombre del campo

Descripción

Ejemplo

eventType

Identifica el tipo de evento disparado por el CRM. El formato estándar es crm... Debe ser utilizado por la herramienta externa para identificar qué flujo ejecutar.

crm.automation.contract_due_date

eventLabel

Nombre descriptivo del evento enviado. Se utiliza para facilitar la lectura humana, logs y debug.

"eventLabel": "Vencimiento de plan"

eventDate

Fecha y hora del disparo del evento en formato UTC ISO 8601.

"eventDate": "2026-03-17T14:30:00Z"

eventContext

Objeto que informa el contexto de la regla que originó el disparo.

"eventContext": { "moment": "after", "daysOffset": 10 }

moment

Indica cuándo se disparó el evento en relación con el evento principal.

"moment": "before"

daysOffset

Cantidad de días de distancia del evento principal.

"daysOffset": 10

organization

Información de la organización/sede responsable del disparo.

"organization": {}

idW12

ID de la cuenta/red en EVO.

"idW12": 12345

idBranch

ID de la sede/sucursal relacionada con el evento.

"idBranch": 10

branchName

Nombre descriptivo de la sede/sucursal.

"branchName": "Body Edge - Barra Funda"

person

Información de la persona relacionada con el evento.

"person": {}

idMember

ID del cliente en EVO. Cuando está informado, indica que el evento pertenece a un cliente.

"idMember": 456789

idProspect

ID de la oportunidad/prospecto. Cuando está informado, indica que el evento pertenece a una oportunidad.

"idProspect": 987654

firstName

Nombre de la persona.

"firstName": "João"

lastName

Apellido de la persona.

"lastName": "Silva"

fullName

Nombre completo de la persona.

"fullName": "João Silva"

nickName

Apodo de la persona.

"nickName": "João"

gender

Género de la persona.

"gender": "male"

status

Estado actual de la persona en EVO.

"status": "active"

phone

Teléfono/celular de la persona.

"phone": "+5511999999999"

email

Correo electrónico de la persona.

membership

Información del plan/contrato relacionado.

"membership": {}

nameMembership

Nombre del plan/contrato.

"nameMembership": "Plan Gold Mensual"

links

Enlaces relevantes relacionados con el evento. Los enlaces enviados pueden variar según el tipo de evento.

"links": {}

checkout

Enlace de checkout/cobro.

parq

Enlace relacionado con el PAR-Q.

contractSigning

Enlace para firma de plan/documento.

creditCardRegistration

Enlace para registro de tarjeta.

"creditCardRegistration": "https://evo.com/card/register/123"

communication

Información de la comunicación/origen del disparo.

"communication": {}

subject

Asunto/título de la comunicación.

"subject": "Tu plan venció"

message

Mensaje/texto asociado al evento.

"message": "Hola João, tu plan venció hace 10 días. Regulariza tu situación."

Valores posibles de moment

Valor

Descripción

before

Disparado antes del evento principal

on

Disparado en el momento del evento principal

after

Disparado después del evento principal

manual

Disparo manual realizado por usuario

bulk

Disparo realizado en masa vía Segmentación

Valores posibles de eventType

El campo eventType identifica técnicamente el origen y el tipo de evento que disparó el Webhook.

Debe ser utilizado por las herramientas externas como la principal clave de decisión para definir qué flujo será ejecutado.

Campo

Descripción

Ejemplo

crm

Representa el dominio de la funcionalidad

crm.automation.contract_due_date

<origem>

Representa el origen funcional del disparo

automation

<evento>

Representa el evento o contexto técnico del disparo

contract_due_date

Reglas importantes

  • El eventType es un valor técnico y estable

  • No varía según el idioma de la base

  • No depende del texto mostrado en la interfaz

  • No debe ser alterado por cambios de nomenclatura visual

  • Debe ser tratado como contrato de integración.

eventTypes de Automatización

Cuando el Webhook sea disparado a partir de una regla de Automatización, el eventType debe representar la regla que originó el disparo.

eventType

Descripción

crm.automation.member_appointment_scheduling

Agendamiento de cliente

crm.automation.account_debit_scheduling

Agendamiento de débito en cuenta

crm.automation.member_birthday

Cumpleaños de cliente

crm.automation.prospect_birthday

Cumpleaños de oportunidad/prospecto

crm.automation.member_trial_class_completed

Clase de prueba completada por el cliente

crm.automation.completed_classes

Clases completadas

crm.automation.prospect_registration

Registro de oportunidad/prospecto

crm.automation.prospect_campaign_landing_signup

Registro de prospecto en campaña/landing page

crm.automation.contract_cancellation

Cancelación de plan

crm.automation.online_sale_boleto_non_payment

No pago de boleto en venta online

crm.automation.account_debit_charge_declined

Cobro de débito en cuenta rechazado

crm.automation.recurring_debit_charge_declined

Cobro recurrente rechazado

crm.automation.contract_age_limit_non_renewal

No renovación por límite de edad

crm.automation.scheduled_cancellation_date

Fecha de cancelación programada

crm.automation.enrollment

Matrícula

crm.automation.level_change

Cambio de nivel

crm.automation.next_level_completion

Finalización del siguiente nivel

crm.automation.physical_assessment_completed

Evaluación física completada

crm.automation.reenrollment

Rematrícula

crm.automation.contract_renewal

Renovación de plan

crm.automation.no_attendance

Ausencia/falta de asistencia

crm.automation.physical_assessment_expiry

Vencimiento de evaluación física

crm.automation.nutrition_assessment_expiry

Vencimiento de evaluación nutricional

crm.automation.active_member_card_expiry_monthly

Vencimiento mensual de tarjeta de cliente activo

crm.automation.unlimited_personal_credit_expiry

Vencimiento de crédito de personal ilimitado

crm.automation.boleto_expiry

Vencimiento de boleto

crm.automation.contract_due_date

Vencimiento de plan

crm.automation.dermatological_exam_expiry

Vencimiento de examen dermatológico

crm.automation.medical_exam_expiry

Vencimiento de examen médico

crm.automation.parq_expiry

Vencimiento de PAR-Q

crm.automation.overdue_balance_expiry

Vencimiento de saldo deudor

crm.automation.training_expiry

Vencimiento de entrenamiento

crm.automation.prospect_visit

Visita de oportunidad/prospecto

crm.automation.prospect_appointment_scheduling

Agendamiento de oportunidad/prospecto

crm.automation.prospect_trial_class_completed

Clase de prueba completada por prospecto

crm.automation.active_days

Días activo

crm.automation.automatic_cancellation_delinquency

Cancelación automática por morosidad

eventTypes de Segmentación

Cuando el Webhook sea disparado desde Segmentación, el eventType indica si el envío fue realizado en lote o individualmente.

eventType

Descripción

crm.segmentation.batch

Envío en lote realizado por Segmentación

crm.segmentation.individual

Envío individual realizado por Segmentación

Reglas

  • Usar crm.segmentation.batch cuando el envío sea realizado para múltiples registros seleccionados.

  • Usar crm.segmentation.individual cuando el envío sea realizado para un solo registro.

  • El contexto del envío debe ser indicado en eventContext.

Ejemplo:

"eventType": "crm.segmentation.batch",
"eventContext": {
"moment": "bulk",
"daysOffset": 0
}

eventTypes de enlaces transaccionales

Cuando el Webhook sea disparado desde los flujos transaccionales de envío de enlaces, el eventType debe indicar qué tipo de enlace fue generado por EVO.

Estos eventos se utilizan cuando la configuración Habilitar para envío vía WhatsApp está activa y el envío de enlaces por WhatsApp pasa a ser realizado vía Webhook.

Valores soportados

eventType

Descripción

crm.transactional.card_registration_link

Enlace para registro de tarjeta

crm.transactional.debt_charge_link

Enlace de cobro generado a partir de saldo deudor

crm.transactional.sale_charge_link

Enlace de cobro generado en el flujo de venta/cobro

crm.transactional.document_signature_link

Enlace para firma de documento

Reglas

  • Usar crm.transactional.card_registration_link cuando el enlace generado sea de registro de tarjeta

  • Usar crm.transactional.debt_charge_link cuando el enlace generado sea de cobro en Clientes - Financiero - Saldo deudor.

  • Usar crm.transactional.sale_charge_link cuando el enlace generado sea de cobro en el flujo de venta/cobro

  • Usar crm.transactional.document_signature_link cuando el enlace generado sea de firma de documento

  • El contexto del envío debe ser indicado en eventContext

Ejemplo:

"eventType": "crm.transactional.debt_charge_link",
"eventContext": {
"moment": "manual",
"daysOffset": 0
}

eventTypes de Relacionamiento

Cuando el Webhook sea disparado desde la pestaña Relacionamiento del perfil, el eventType indica si el envío fue realizado en el perfil de un cliente o de una oportunidad/prospecto.

Valores soportados

eventType

Descripción

crm.relationship.member

Envío manual realizado en el perfil del cliente

crm.relationship.prospect

Envío manual realizado en el perfil de la oportunidad/prospecto

Reglas

  • Usar crm.relationship.member cuando el envío sea realizado en el perfil de cliente

  • Usar crm.relationship.prospect cuando el envío sea realizado en el perfil de oportunidad/prospecto

  • El contexto del envío debe ser indicado en eventContext

Ejemplo:

"eventType": "crm.relationship.member",
"eventContext": {
"moment": "manual",
"daysOffset": 0
}

Relación entre eventType y eventContext

  • El eventType informa qué evento disparó el Webhook.

  • El eventContext informa el contexto en que el evento fue disparado.

En este ejemplo, el evento es una regla de vencimiento de plan, disparada 10 días después del vencimiento:

"eventType": "crm.automation.contract_due_date",
"eventContext": {
"moment": "after",
"daysOffset": 10
}

Valores posibles de moment

Valor

Descripción

before

Cuando el disparo ocurra antes del evento principal

on

Cuando el disparo ocurra el día/momento del evento principal

after

Cuando el disparo ocurra después del evento principal

manual

Cuando el disparo sea manual, como en Relacionamiento

bulk

Cuando el disparo sea masivo, como en Segmentación

Reglas de daysOffset

moment

daysOffset

before

Cantidad de días antes del evento

on

0

after

Cantidad de días después del evento

manual

0

bulk

0


Artículos relacionados

¿Ha quedado contestada tu pregunta?