El elemento Webhook en chatbots

Disponible con un plan de pago y durante los 7 días de prueba gratuita.

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:

  • En el elemento “Mensaje” — El usuario introduce sus datos o hace clic en un botón;
  • En el elemento “Acción” — Abrir un chat con un administrador, cancelar la suscripción de un bot, actualizar una variable, asignar una etiqueta;
  • en el elemento "flujo" — iniciar un nuevo flujo;
  • en el elemento "Pausa" — después del tiempo de pausa asignado;
  • en el elemento “Filtro” — pasar un filtro establecido con las condiciones;
  • en el elemento "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, luego a la 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 para aplicar la configuración.

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 unsubscribe” — Se envía cuando un usuario anula la suscripción a un bot con información sobre el usuario y el bot.

“Bot blocked” — 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 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 "Bot subscription":

[
   {
      "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 "Incoming messages":

[
   {
      "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 "Outbound messages":

[
   {
      "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 "Launched custom trigger flow":

[
   {
      "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 "Redirect":

[
   {
      "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 unsubscribe":

[
   {
      "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 blocked":

[
   {
      "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

    Anterior

    El elemento Aleatorizador en chatbots

    Siguiente

    El elemento Solicitud de API en chatbots

    Pruebe SendPulse hoy mismo gratis