Este flujo te permite enviar la información de un contacto creado o actualizado en Keybe a otra plataforma mediante el módulo de HTTP.
Módulos utilizados
- Webhook cuando se crea o actualiza una persona: Este es el disparador el cual recibe toda la información cuando se crea o actualiza un usuario en Keybe.
- Filtro: Módulo donde se valida la información que llegue del contacto en Keybe antes de realizar el siguiente paso del flujo.
- Nodo petición HTTP: Este módulo te permite enviar la información a una plataforma externa, en este caso usaremos como ejemplo una petición POST para enviar la información a un Webhook.
Antes de empezar te explico dos términos que usaremos más adelante.
Data source (fuente de datos): Este contiene toda la información que ha llegado al Webhook cuando se crea o actualiza una persona u otros módulos.
Cuando conectas otros módulos al flujo podrás seleccionar el “Data source”
Este data source contiene toda la información que ha llegado o generado ese módulo.
Campo referencial: Cuando seleccionas alguna información del data source se genera automaticamente un campo referencial, Ejemplo {{66a2cd407.payload.fullname}}
Instrucciones paso a paso:
Crear Webhook cuando se crea o actualiza una persona
Seleccionamos el Webhook cuando se crea o actualiza una persona y lo arrastramos hasta el flujo.
Click en icono de configuración, agregamos un nombre cualquiera y guardamos el módulo.
Filtro
Agregamos un filtro y lo conectamos al Webhook cuando se crea o actualiza una persona dando click en los dos iconos de +
Realizamos el mismo procedimiento para agregar el nodo HTTP, más adelante lo configuramos.
Ingresamos al filtro y lo configuramos dependiendo de la información que queramos que se valide antes de enviar los datos al nodo de HTTP. Para este ejemplo usaremos un estado de contacto.
Ejemplo de un estado de contacto en Keybe:
En el filtro lo configuramos de la siguiente manera:
- Click en + Agregar nueva.
- Nodo fuente: Selecciona el nodo fuente que en este caso sería como nombraste el Webhook cuando se crea o actualiza una persona.
- Variable: Buscamos cualquier estado el cual será el campo referencial que validara el filtro, en este caso al buscar status aparece toda la información relacionada con el estado, al darle click en name como se muestra en la imagen aparece algo similar a {{66a2c.payload.status.name}} podemos utilizar el name o id del estado.
- Condición: Seleccionamos Equal to.
- Nodo fuente: Mismo paso del punto #2 selecciona el nodo fuente que en este caso sería como nombraste el Webhook cuando se crea o actualiza una persona.
- Value: Escribimos el nombre o Id del estado. Para el ejemplo sería “No interesado”.
- Nodo: Este sería el nodo de destino.
⚠️ ️Recuerda siempre seleccionar guardar una vez configurado cualquier módulo.
Si quieres conocer más a detalle el funcionamiento de los filtros puedes ver la siguiente guía
Configuración del nodo HTTP
Name: Agregamos un nombre al nodo.
Url Webhook: URL de destino donde se enviara toda la información del Body.
Method de la petición: Método de petición.
Headers: En caso que tu plataforma externa requiera algún tipo de Header como por ejemplo Authorization.
Tipo del body de la petición: El tipo de body que vas a enviar.
Body: El body con la información a enviar.
Ejemplo:
⚠️ ️Recuerda siempre seleccionar guardar una vez configurado cualquier módulo.
En el ejemplo anterior hay un Body en JSON con los datos del “data source” del Webhook cuando se crea o actualiza una persona.
Dado que el nodo de HTTP no permite seleccionar los datos del “data source”, puedes utilizar otro módulo cualquiera como por ejemplo “Nodo de envíos de mensajes WhatsApp” solamente para obtener el dato para ir armando el JSON y luego eliminar dicho nodo.
Ejemplo, agregue el ”Nodo de envíos de mensajes WhatsApp” y lo conecte a mi flujo solamente para obtener el campo referencial fullname.
Lo mismo para obtener los demás campos referenciales, en este otro caso el phone.
Con esto fui armando mi JSON para luego pegarlo en el body del nodo HTTP.
{
“fullname”: “{{66a2cd40.payload.fullname}}”,
“phone”: “{{66a2cd40.payload.phone[0].value}}”,
“status”: “{{66a2cd40.payload.status.name}}”,
“email”: “{{66a2cd40.payload.email[0].value}}”
}
Importante: Si el Body tiene algún error de sintaxis y guardas el nodo HTTP, se borra el body completo y tendrás que hacerlo de nuevo.
Una vez finalizado, recuerda guardar el escenario y realizar pruebas de funcionamiento.
En mi caso cuando actualizo cualquier contacto con el estado “No interesado” se activa el flujo y me envía los datos con el body a la URL que definí en el nodo HTTP.
{
“fullname”: “Pedro Emilio Alzate”,
“phone”: “573040300001”,
“status”: “No interesado”,
“email”: “[email protected]”
}
¿Tienes alguna duda o inconveniente con el proceso? Contáctanos https://wa.me/message/JLO63Y4EMUKTC1