Webhook
Última actualización:
Qué es un webhook
Un webhook también se conoce como callback HTTP o API inversa. Con una llamada normal a una API, tu programa pide datos a otro sistema. Con un webhook, registras una URL una sola vez, eliges los eventos que te interesan y el otro sistema llama a esa URL cada vez que ocurre uno de ellos. El mensaje suele ser una petición POST con un cuerpo JSON que describe el evento.
La alternativa es el polling: consultar una API cada pocos minutos en busca de cambios. El polling desperdicia peticiones cuando no ha pasado nada y retrasa las actualizaciones cuando sí. Los webhooks evitan ambas cosas.
Cómo funciona
En un webhook intervienen un emisor y un receptor:
- El receptor crea un endpoint, una URL en su propio servidor que acepta peticiones por HTTPS.
- En la configuración del emisor, registra esa URL y elige los eventos a los que quiere suscribirse.
- Cuando ocurre un evento, el emisor envía a la URL un payload JSON con el tipo de evento y sus datos.
- El receptor comprueba que la petición es auténtica, responde rápido con un código de estado 2xx y después procesa los datos. Si no recibe una respuesta correcta, el emisor suele reintentarlo más tarde.
Ejemplo
Una tienda online quiere que su programa de almacén conozca cada pedido nuevo. En lugar de que el programa consulte la tienda cada minuto, la tienda envía un webhook al endpoint del programa con cada pedido. El payload incluye el número de pedido, los artículos y la dirección de envío, y la preparación puede empezar en segundos.
Buenas prácticas para recibir webhooks
Un endpoint de webhook es una URL pública, así que trata cada petición entrante con cuidado:
- Verifica la firma. Muchos emisores firman cada payload con un secreto compartido, a menudo mediante HMAC, para que puedas confirmar que la petición viene de ellos y no se ha modificado por el camino.
- Usa HTTPS para que los payloads, que pueden contener datos personales, viajen cifrados.
- Responde rápido. Devuelve un estado 2xx de inmediato y haz el trabajo lento en segundo plano, o el emisor puede dar el envío por fallido.
- Cuenta con duplicados. Los reintentos pueden entregar el mismo evento dos veces, así que usa el ID del evento para procesarlo una sola vez. Esta propiedad se llama idempotencia.
Por qué importa en los chatbots para empresas
Los webhooks conectan un chatbot con el resto de la empresa sin que nadie tenga que vigilar un panel. Una plataforma de chatbot puede enviar un webhook cuando termina una conversación o se capta un lead, para que un CRM, una hoja de cálculo o una herramienta de automatización lo recoja al instante. Al comparar herramientas de chatbot, comprueba qué eventos pueden enviar y si los payloads van firmados.
Qué ofrece intoCHAT en su lugar
intoCHAT no envía webhooks ni tiene integración con Zapier o Make. Los leads nuevos te llegan de dos formas: un aviso por email de cada lead nuevo, que recibe el propietario y hasta 5 direcciones más, y la tabla de leads, donde puedes filtrarlos, abrir la conversación de cada uno y exportarlos en CSV para tu CRM o tu herramienta de email marketing.
Las acciones de API personalizadas de intoCHAT funcionan de otra manera. El agente llama a tu API HTTP durante el chat cuando la conversación lo necesita, por ejemplo para consultar un precio o la disponibilidad, no de forma automática ante un evento fijo. Sirven para llevar datos en tiempo real a las respuestas, no para enviar cada lead a otro sistema.