Los webhooks son un mecanismo de envío automático de datos entre sitios web y aplicaciones cuando se producen determinados eventos. Los datos se transmiten mediante una solicitud HTTP: una aplicación los envía por internet a una dirección previamente indicada de otra.

Posibilidades de los webhooks
En FLOWIN, los webhooks funcionan con los reenvíos. Pueden activarse al aparecer, modificarse, eliminarse o fijarse un mensaje en el chat original, llamado origen, y también al pulsar un botón en el chat al que se reenvían los mensajes, llamado destino.
Así puedes conectar FLOWIN con redes sociales, plataformas de intercambio, hojas de cálculo y CRM, que son sistemas de gestión de clientes. Esta conexión se llama integración y permite:
- Añadir automáticamente a un CRM las solicitudes de Telegram.
- Enviar señales de trading de Telegram a una plataforma de intercambio para su seguimiento automático, es decir, para realizar operaciones automáticamente a partir de esas señales.
- Reenviar mensajes de Telegram a otras redes sociales.
- Copiar posts y mensajes en Hojas de cálculo de Google.
- Configurar un contestador automático en un bot.
En cada caso hay que configurar la recepción de datos y la acción correspondiente en el sitio web o la aplicación.
Crear un webhook
Comprobaremos el webhook en webhook.site, un sitio que proporciona una dirección para recibir datos y muestra las solicitudes recibidas. Le enviaremos el texto de un mensaje nuevo de Telegram.
Para ello necesitas un reenvío configurado y en funcionamiento en FLOWIN.
Para la primera prueba
Utiliza un chat de prueba independiente y una solicitud ficticia. Para comprobarlo basta con enviar texto, sin nombres, teléfonos ni otros datos personales.
Abre @flow_in_bot, envía el comando
/starty pulsa «Panel de control».Abre webhook.site en una pestaña aparte. Copia la dirección para recibir solicitudes del campo «Your unique URL».
En el panel de FLOWIN, abre «Menú» → «Webhooks» y pulsa «Crear».
Pega la dirección copiada en el campo superior. En «Cuerpo de la solicitud», indica
{"message":"<message-text>"}y pulsa «Crear». Esta es la plantilla de los datos enviados: en lugar de<message-text>FLOWIN insertará el texto del mensaje y el receptor lo verá en el campomessage.Pulsa «Aplicar» en el webhook creado. Marca el reenvío correspondiente y pulsa «Guardar».
Envía al chat de origen un mensaje de prueba, por ejemplo, «Solicitud n.º 1042: necesito un catálogo de muebles.». Vuelve a webhook.site: la primera solicitud recibida se abrirá automáticamente. En el bloque «Request Content» aparecerá el texto de la solicitud en el campo
message. Ahora FLOWIN enviará automáticamente el texto de cada mensaje nuevo a la dirección indicada antes de reenviarlo al chat de destino.
Ajustes de los webhooks
Veamos los ajustes a partir del webhook creado: cómo modificarlos y qué significa cada campo.
De dónde obtener los ajustes
Para conectar otro sitio web o aplicación, utiliza su documentación. Normalmente, las reglas de recepción de datos se encuentran en el apartado de la API, que describe la interacción con otros programas. Allí se indican la dirección, el método HTTP y el formato de datos con los que rellenar los campos siguientes.
Cómo modificar los ajustes del webhook
En la lista «Webhooks», pulsa «Cambiar» en el webhook correspondiente.
Modifica los campos necesarios y pulsa «Guardar».
Método HTTP
El método HTTP define la acción de la solicitud: POST envía datos para su procesamiento, GET solicita datos y PUT los sustituye. De forma predeterminada está seleccionado POST, adecuado para nuestra prueba. Para otro sitio web o aplicación, elige el método indicado en su documentación.
Dirección URL
URL significa dirección en internet. Aquí se indica la dirección para recibir datos proporcionada por el sitio web o la aplicación que se va a conectar. En nuestro ejemplo, la ha proporcionado webhook.site.
Cuerpo de la solicitud
El cuerpo de la solicitud contiene los datos enviados en formato JSON: pares de «nombre del campo: valor». Los campos concretos dependen de los requisitos del sitio web o de la aplicación que se conecta.
Las metaetiquetas son identificadores en cuyo lugar FLOWIN inserta los datos del mensaje. Por ejemplo, <message-text> se sustituye por el texto y <author-name> por el nombre del autor. La lista de metaetiquetas también se abre mediante el enlace «metaetiquetas» situado debajo del campo.
Los números de usuarios, mensajes, chats y temas de la siguiente lista son sus identificadores, o ID, en Telegram.
Mensaje y autor
- Texto del mensaje:
<message-text>. - Fecha del mensaje:
<message-date>. - Hora del mensaje:
<message-time>. - ID del autor:
<author-id>. - Nombre del autor:
<author-name>. - Nombre del autor en un enlace HTML a su perfil:
<author-name-link>. - Nombre del autor como hashtag:
<author-name-tag>. - Nombre de usuario del autor:
<author-username>.
Origen
- Texto del mensaje:
<src-message-text>. - ID del mensaje:
<src-message-id>. - Enlace al mensaje:
<src-message-link>. - ID del chat:
<src-chat-id>. - Nombre del chat:
<src-chat-name>. - Nombre de usuario del chat:
<src-chat-username>. - ID del tema:
<src-topic-id>. - Nombre del tema:
<src-topic-name>.
Destino
- Texto del mensaje:
<dst-message-text>. - ID del mensaje:
<dst-message-id>. - Enlace al mensaje:
<dst-message-link>. - ID del chat:
<dst-chat-id>. - Nombre del chat:
<dst-chat-name>. - Nombre de usuario del chat:
<dst-chat-username>. - ID del tema:
<dst-topic-id>. - Nombre del tema:
<dst-topic-name>.
El ID y el enlace del mensaje en el destino aparecen después del reenvío. Para enviarlos, elige «Después del envío» en el campo «Disparador de solicitud».
Pulsación de botón
- ID del usuario que ha pulsado:
<clicker-id>. - Nombre del usuario que ha pulsado:
<clicker-name>. - Datos del botón:
<clicker-data>. - Fecha de la pulsación:
<click-date>. - Hora de la pulsación:
<click-time>.
Selección de texto
- Una expresión regular define una regla para buscar texto. Por ejemplo,
<regexp>(short|sell)</regexp>inserta la primera coincidencia encontrada conshortosell. - El texto aleatorio
<random>1|2|3|4|5</random>inserta una de las cinco opciones. Puedes indicar tus propias opciones entre las etiquetas y separarlas con el símbolo|.
Encabezados de la solicitud
«Encabezados de la solicitud» contiene información auxiliar para el receptor. Por ejemplo, una clave de acceso permite comprobar quién ha enviado la solicitud. Los encabezados se definen en formato JSON. Normalmente no hace falta modificar este campo; los valores necesarios se obtienen de la documentación del sitio web o de la aplicación que se conecta.
Disparador de solicitud
«Disparador de solicitud» define el evento y el momento en que el webhook debe enviar la solicitud a la dirección indicada. Puedes elegir entre estos eventos:
- «Envío» está seleccionado de forma predeterminada. El webhook se activa al reenviar un mensaje nuevo.
- «Modificación» se activa al procesar un cambio del mensaje en el origen.
- «Fijación» se activa al procesar la fijación de un mensaje en el origen.
- «Eliminación» se activa al procesar la eliminación de un mensaje en el origen.
- «Pulsación de botón» se activa con los botones callback del chat de destino. Estos botones notifican al bot que se han pulsado y le envían los datos definidos para ellos. Un botón normal con un enlace no activa este webhook.
El momento del envío define en qué fase del reenvío saldrá la solicitud:
- «Antes del procesamiento»: la solicitud se envía antes de la traducción y del procesamiento del mensaje con inteligencia artificial, o IA.
- «Después del procesamiento»: la solicitud se envía después de la traducción y del procesamiento con IA.
- «Después del envío»: la solicitud se envía cuando el mensaje ya se ha enviado o modificado correctamente en el chat de destino.
Momentos de envío disponibles
Las tres opciones están disponibles para los eventos «Envío» y «Modificación». Para «Fijación», «Eliminación» y «Pulsación de botón» se utiliza «Antes del procesamiento» y no se puede elegir otro momento.
Descripción
«Descripción» sirve de comentario para tu comodidad y no influye en el funcionamiento del webhook. Puedes dejar el campo vacío.
Acciones disponibles con el webhook
Puedes gestionar los webhooks creados desde la lista «Webhooks»:
- «Cambiar» abre los ajustes principales del webhook.
- «Duplicar», en el menú «Más», crea una copia de los ajustes del webhook.
- «Seleccionar proyecto», en el menú «Más», añade el webhook a un proyecto.
- «Eliminar», en el menú «Más», elimina el webhook.
Además, cada webhook tiene un botón «Reenvíos [N]» que abre la selección de reenvíos a los que se aplica. N indica la cantidad de reenvíos seleccionados. Si aún no has seleccionado ninguno, en su lugar aparece «Aplicar».
Preguntas frecuentes
¿Qué es un webhook en palabras sencillas?
Es una forma de enviar datos automáticamente a otra aplicación cuando ocurre un evento concreto. Por ejemplo, al reenviar un mensaje nuevo, FLOWIN envía su texto a la dirección que has indicado mediante una solicitud HTTP. Aquí es FLOWIN quien envía la solicitud; el método de Telegram setWebhook configura otra dirección de comunicación: la entrega de actualizaciones de Telegram al programa que atiende al bot.
¿Basta con indicar la dirección del CRM?
No. Hace falta la dirección para recibir datos que indique la documentación del CRM, además del método HTTP, los campos JSON y los encabezados adecuados si se requieren para el acceso. La dirección normal del sitio web del CRM no sirve para ello. FLOWIN envía la solicitud, mientras que la creación de una solicitud de cliente u otra acción depende de cómo procese el CRM los datos recibidos. Los valores de los campos se describen en el apartado «Ajustes de los webhooks».
¿Por qué está vacío el enlace al mensaje en el destino?
Antes de que se envíe correctamente el mensaje nuevo, FLOWIN aún no tiene su ID ni su enlace en el destino. Para enviar <dst-message-id> y <dst-message-link> selecciona el evento «Envío» o «Modificación» y el momento «Después del envío» en el campo «Disparador de solicitud». El enlace se genera para canales y supergrupos. En un chat privado o un grupo normal, <dst-message-link> seguirá vacío incluso después del envío.
¿Se puede activar un webhook pulsando un botón URL normal?
No. Un botón URL normal abre un enlace. Para el evento «Pulsación de botón» hace falta un botón callback en el chat de destino: este envía al bot los datos de la pulsación. La diferencia se describe en el apartado «Disparador de solicitud».
¿Cómo comprobar que el servicio externo ha recibido los datos?
Envía un mensaje ficticio y comprueba la solicitud recibida en el propio servicio. En el ejemplo con webhook.site el texto de la solicitud aparece en el bloque «Request Content». Un reenvío correcto en Telegram no confirma por sí solo que el servicio externo haya aceptado los datos o realizado la acción correspondiente. Para comprobarlo basta con texto sin nombres, teléfonos ni otros datos personales.















