El elemento Webhook en chatbots

Disponible con un plan de pago y superiores

Puedes configurar el envío de enlaces web de acuerdo con tu script de flujo de chatbot o activar enlaces web globales para diferentes eventos de chatbot y recibir y guardar datos en el sistema. Echemos un vistazo a los enlaces web, dónde se utilizan, cómo activarlos y la estructura de los datos recibidos.

Dónde se utilizan los Webhooks

Un webhook es un mecanismo para transferir datos a tu sistema sobre eventos generados por el usuario. Envía una solicitud HTTP a tu controlador.

Con esta integración, puedes recopilar y enviar datos sobre eventos en el flujo de un chatbot a tu sistema para seguir trabajando con este cliente.

Como ejemplo de uso, imagina: creaste un formulario para que los nuevos usuarios reserven un lugar en tu conferencia usando messenger. Deseas saber acerca de cada usuario que se registró para una conferencia específica para poder contactarlos o cambiar su estado en tu CRM.

Puedes lograr este objetivo fácilmente enviando un webhook. Tan pronto como un usuario llegue al elemento webhook en tu flujo, los datos del evento se enviarán a tu sistema de almacenamiento de datos (es decir, CRM, CMS, sitio, etc.) para su uso futuro.

Cómo habilitar un Webhook en un flujo

Puedes agregar un webhook en el generador de flujo y realizar un seguimiento de información específica a medida que el usuario pasa a través de ciertos elementos del flujo:

Mensaje El usuario introduce sus datos o hace clic en un botón.
Acción Abrir un chat con un administrador, cancelar la suscripción de un bot, actualizar una variable, asignar una etiqueta.
Flujo Iniciar un nuevo flujo.
Pausa Después del tiempo de pausa asignado.
Filtro Pasar un filtro establecido con las condiciones.
Solicitud de API Obtener información sobre la solicitud.

Para insertar un envío de webhook, agrega un elemento Acción después del elemento que deseas rastrear.

Seleccione la opción Enviar Webhook. Introduce el nombre del webhook que se enviará y la URL a la que se enviarán los datos.

Cómo habilitar Webhooks globales

También puedes habilitar webhooks que serán enviados por eventos de todo el chatbot.

Ve a la Configuración del bot > pestaña Webhooks. Activa la configuración e inserta la URL a la que deseas enviar datos.

Selecciona los eventos para los que deseas enviar alertas y haz clic en Guardar.

Puedes seleccionar los siguientes eventos:

Suscripción de bot Enviado con información sobre cuándo el usuario se suscribió al chatbot seleccionado.
Mensajes entrantes Se envían con cada nuevo mensaje entrante del usuario en el chat con información sobre el usuario y el texto del mensaje.
Mensajes salientes Se envían con cada mensaje enviado al usuario con información sobre el usuario y el texto del mensaje.
Chat en vivo abierto Se envía después de que el usuario haya pasado el elemento "Acción" con la opción "Abrir chat".
Flujo de activación personalizado iniciado Se envía cuando se disparan flujos con el usuario y la información de flujo.
Redirigir Se envía cuando el usuario hace clic en los vínculos de botones y texto con información sobre el vínculo, el elemento emisor y el usuario.
Bot cancelado
Se envía cuando el usuario se ha dado de baja de un bot con la información del usuario y del bot.
Bot bloqueado Se envía cuando el usuario ha bloqueado mensajes del bot con información sobre el usuario y el bot

También puedes habilitar el seguimiento de pagos de chatbot en la configuración de tu cuenta. Leer más: Cómo enviar un Webhook de pago exitoso.

Estructura del Webhook

Un webhook puede transmitir datos sobre:

  • La fecha en que se completó una acción;
  • Título del webhook: puede filtrar tu audiencia en función de si recibió un webhook por su título.
  • Información sobre el bot y la página social a la que está vinculada: identificación, foto, enlace a una página.
  • Información sobre el contacto que activó el evento: su identificador, nombre, fecha de nacimiento, ciudad, país, foto de perfil, cualquier variable existente y etiquetas.

Un ejemplo de webhook enviado desde un chatbot flow:

[
   {
        "info": null, // information from messenger
        "service": "messenger", // messenger - Facebook chatbot, telegram - Telegram chatbot
        "title": "Reserved. Apartment #3" // title of the webhook
        "bot": {
            "url": "https://m.me/104117781360763",
            "external_id": "104117781360763", // community identifier in the messenger (for Facebook, the value is passed as a “string”, for Telegram as a number).
            "id": "17ff4105-d5f1-4790-9d09-a6f64ea73d54", // identifier of the connected bot in SendPulse
            "name": "BEST" // 
        },
        "contact": {
           "name of variable": "value of variable",
            "email": "name@example.com",
            "phone": "+38093000000",
            "last_message": "hey! whats up?", // last message of the user
            "photo": "https://..",
            "tags": ["tag1", "tag2"],
            "id": "467bf50f-9cb0-4b65-b722-0135ad5fb9e0", // contact’s identifier in SendPulse
            "name": "Alexander"
        },
        "date": 1617401679 // execution date and time in milliseconds
    }
]

Un ejemplo de webhook para Suscripción del bot:

[
   {
      "info":null,
      "service":"telegram",
      "title":"webhook",
      "bot":{
         "url":"https://t.me/best_bot",
         "external_id":1845120800,
         "id":"60b0a854b4d8073f592b92f3",
         "name":"BEST"
      },
      "contact":{
         "username":"veronica",
         "name":"name",
         "tags":[
            
         ],
         "last_message":"Test",
         "photo":null,
         "variables":{
            "name":"Veronica Petrova",
            "Phone":"380985236985",         
            "Email":"test@gmail.com"
         },
         "id":"60b0a854083b4964fd0f7b657847848"
      },
      "date":16377590567070
   }
]

Un ejemplo de webhook para Mensajes entrantes:

[
   {
      "info":{ // information from messenger
         "message":{
            "channel_data":{
               "message":{
                  "audio":null,
                  "from":1332678955,
                  "context":null,
                  "interactive":null,
                  "contacts":null,
                  "text":{
                     "body":"hey! whats up?"
                  },
                  "button":null,
                  "system":null,
                  "voice":null,
                  "video":null,
                  "identity":null,
                  "image":null,
                  "timestamp":1625834714,
                  "document":null,
                  "type":"text",
                  "id":"ABCDOAk1346346go-sKd--dduwQ9p",
                  "sticker":null,
                  "location":null
               },
               "message_id":"ABCDOAk1Z43535-sKd--dduwQ9p"
            },
            "id":"60e8434b446846838d8463"
         }
      },
      "service":"whatsapp",
      "title":"incoming_message",
      "bot":{
         "url":"https://wa.me/380932674329",
         "external_id":"380932674329",
         "id":"60c1c50c156845831909cf74",
         "name":"Revision_me"
      },
      "contact":{
         "username":"Alexander",
         "name":"Alexander",
         "tags":[
            
         ],
         "last_message":"hey! whats up?", // last message of the user
         "photo":null,
         "variables":{
            "dept":"Designer"
         },
         "id":"60c0f31f457479d02b7512"
      },
      "date":1625834714
   }
]

Un ejemplo de webhook para Mensajes salientes:

[
   {
      "info":{
         "message":{
            "channel_data":{
               "message":{
                  "disable_web_page_preview":null,
                  "text":"Click",
                  "disable_notification":null,
                  "reply_to_message_id":null,
                  "parse_mode":"HTML",
                  "reply_markup":{
                     "inline_keyboard":[
                        [
                           {
                              "payload_id":"84d30d5624-92245695-4e834560-86f4-bbdb694710b0456",
                              "callback_data":"eyJwIjoiODRkMzBkMjQtOTI5NS00ZTgwLTg2ZjQtYmJkYjY5NDcxMGIwIn05257",
                              "text":"Click",
                              "data":{
                                 "to_block_id":"3bd58f77-ef28-4f0d-9ae7-33ef71bedeb85724",
                                 "to_block":1,
                                 "button_id":"6cb63b34-a030-4e53-ba91-8f13320ad36b3687568"
                              },
                              "type":"postback",
                              "statistic_id":"6cb63b34-a030-4e53-ba91-8f13320ad36b5367637",
                              "external_id":"ce60c182-c058-4450-a002-2e500936ab536739",
                              "id":"6cb63b34-a030-4e53-ba91-8f13320ad36467346b"
                           }
                        ],
                        [
                           {
                              "payload_id":"97867499-063c-498d-9386-e26284addf1367568658",
                              "callback_data":"dummy",
                              "text":"Click",
                              "data":{
                                 "to_block_id":"9ba1c058-7ae8-429d-9d83-f674bf6635685b2f8",
                                 "to_block":null,
                                 "button_id":"bc769bd8-edef-42a6-9448-e47875b4663568999"
                              },
                              "type":"postback",
                              "statistic_id":"bc769bd8-edef-42a6-9448-e47875b46935683599",
                              "external_id":"5148a80f-0dc7-4bb9-aa26-8331a013568dfabc",
                              "id":"bc769bd8-edef-42a6-9448-e47875b46568586999"
                           }
                        ]
                     ]
                  }
               },
               "message_id":943544,
               "chat_id":6069664546956
            },
            "id":"619e3686cac8ab43e20a4a0546549"
         }
      },
      "service":"telegram",
      "title":"outgoing_message",
      "bot":{
         "url":"https://t.me/best_bot",
         "external_id":"18451208006576",
         "id":"60b0a854b4d8073f592b925675f3",
         "name":"BEST"
      },
      "contact":{
         "username":"veronica",
         "name":"veronica",
         "tags":[
            
         ],
         "last_message":"Test",
         "photo":null,
         "variables":{
            "name":"Veronica Petrova",
            "Phone":"380985236985",         
            "Email":"test@gmail.com"
         },
         "id":"60b0a854083b4964fd0f7b65675675"
      },
      "date":16377585936738
   }
]

Un ejemplo de webhook para Flujo de activación personalizado iniciado:

[
   {
      "info":null,
      "service":"telegram",
      "title":"webhook",
      "bot":{
         "url":"https://t.me/best_bot",
         "external_id":1845120856756700,
         "id":"60b0a854b4d8073f592b92f3564567",
         "name":"BEST"
      },
      "contact":{
         "username":"veronica",
         "name":"veronica",
         "tags":[
            
         ],
         "last_message":"Test",
         "photo":null,
         "variables":{
            "name":"Veronica Petrova",
            "Phone":"380985236985",         
            "Email":"test@gmail.com"
         },
         "id":"60b0a854083b4964fd0f7b655858"
      },
      "date":163775889778478
   }
]

Un ejemplo de webhook para Redirigir:

[
   {
      "info":null,
      "service":"telegram",
      "title":"webhook",
      "bot":{
         "url":"https://t.me/best_bot",
         "external_id":1845120806750,
         "id":"60b0a854b4d8073f592b9254677654f3",
         "name":"BEST"
      },
      "contact":{
         "username":"veronica",
         "name":"veronica",
         "tags":[
            
         ],
         "last_message":"Test",
         "photo":null,
         "variables":{
            "name":"Veronica Petrova",
            "Phone":"380985236985",         
            "Email":"test@gmail.com"
         },
         "id":"60b0a854083b4964fd0f65757b65"
      },
      "date":16377589785675
   }
]

Un ejemplo de webhook para Bot cancelado:

[
   {
      "info":null,
      "service":"telegram",
      "title":"webhook",
      "bot":{
         "url":"https://t.me/best_bot",
         "external_id":1845120806780,
         "id":"60b0a854b4d8073f592b92678f3",
         "name":"BEST"
      },
      "contact":{
         "username":"veronica",
         "name":"veronica",
         "tags":[
            
         ],
         "last_message":"Test",
         "photo":null,
         "variables":{
            "name":"Veronica Petrova",
            "Phone":"380985236985",         
            "Email":"test@gmail.com"
         },
         "id":"60b0a854083b4966784fd0f7b65"
      },
      "date":1637759687101
   }
]

Un ejemplo de webhook para Bot bloqueado:

[
   {
      "info":null,
      "service":"telegram",
      "title":"webhook",
      "bot":{
         "url":"https://t.me/best_bot",
         "external_id":1845126570800,
         "id":"60b0a854b4d8056773f592b92f3",
         "name":"BEST"
      },
      "contact":{
         "username":"veronica",
         "name":"veronica",
         "tags":[
            
         ],
         "last_message":"Test",
         "photo":null,
         "variables":{
            "name":"Veronica Petrova",
            "Phone":"380985236985",         
            "Email":"test@gmail.com"
         },
         "id":"60b0a854083b4964fd5670f7b65"
      },
      "date":1637756579166
   }
]

Los datos de Webhook se envían con tipo de contenido application/x-www-form-urlencoded.

Califica este artículo sobre "El elemento Webhook en chatbots"

Opinión de los usuarios: 5 / 5 (7)

Anterior

Lanza un bot a través de un enlace o un código QR

Popular en nuestro blog

Crea tu propio chatbot hoy mismo