Un webhook es un mensaje que una app envía a otra en cuanto ocurre algo. Aprende cómo funcionan, cómo verificarlos y qué envía sona.to.
Un webhook es un mensaje que una aplicación envía a otra en el momento en que ocurre algo, para que la segunda no tenga que estar preguntando todo el tiempo. Le das una dirección a la primera aplicación, y esta envía allí los detalles de cada evento en cuanto sucede. Esta guía explica cómo funcionan los webhooks, cómo comprobar que un webhook es auténtico y qué envía sona.to, algo que también resume la página de Webhooks.
¿Qué es un webhook?
La mayoría de las aplicaciones comparten datos de dos maneras. Con una API, tu sistema pregunta: «¿ya ha salido la publicación?», y vuelve a preguntar más tarde si la respuesta es no. Con un webhook, la aplicación te avisa: cuando la publicación sale, envía una petición a la dirección que elegiste, con los detalles de la publicación.
Por tanto, un webhook es una petición HTTP, normalmente un POST con un cuerpo JSON, enviada a una URL que tú controlas. Esa URL puede ser tu propio servidor o una dirección de webhook que te da n8n, Zapier, Make, Slack u otro servicio que inicia un flujo cuando llega la petición.
Webhook vs API
Una API sirve para preguntar y modificar: listar publicaciones, crear una publicación, leer cifras. Un webhook sirve para que te avisen. La mayoría de las integraciones usan las dos: la API para crear una publicación y un webhook para saber cuándo se publicó o falló. Preguntar a una API una y otra vez gasta peticiones y aun así te enteras tarde, mientras que un webhook llega en cuanto ocurre el evento.
Cómo verificar un webhook
Cualquiera que conozca la dirección de tu webhook podría enviarle una petición falsa, así que un webhook bien hecho va firmado. El remitente calcula una firma a partir del cuerpo y de un secreto compartido, normalmente con HMAC SHA-256, y la pone en una cabecera. De tu lado, calculas la misma firma con el mismo secreto y comparas las dos con una comparación de tiempo constante. Si no coinciden, la petición se ignora.
Incluir una marca de tiempo en los datos firmados también evita las repeticiones: una petición capturada una vez no se puede volver a enviar más tarde, porque su marca de tiempo es demasiado antigua.
Webhooks en sona.to
sona.to envía webhooks para cuatro eventos: publicación publicada, publicación fallida, auditoría del sitio terminada y auditoría del sitio fallida. Eliges qué eventos recibe cada webhook, así que un aviso en el chat puede escuchar solo los fallos mientras una hoja de informes lo recibe todo. El contenido enviado usa los mismos nombres de campo que la API de sona.to.
Cómo configurarlo. En la página API de tu panel, pega la dirección, marca los eventos y guarda. El secreto de firma se muestra una sola vez en ese momento, así que cópialo entonces.
Firma. Cada entrega lleva una cabecera con una marca de tiempo y un HMAC SHA-256 de la marca de tiempo y el cuerpo, calculado con tu secreto. Rechaza las peticiones cuya marca de tiempo tenga más de unos minutos.
Reintentos. Si tu dirección no responde o devuelve un error, la entrega se reintenta a los 60 segundos, a los 5 minutos y a los 30 minutos. Cada intento queda registrado con su código de estado y su duración. Una dirección que falla una y otra vez se desactiva, y puedes volver a activarla cuando esté arreglada.
Seguridad. La dirección debe usar https y apuntar a un servidor público. Las direcciones de redes privadas se rechazan al guardar y de nuevo en la entrega, y no se siguen las redirecciones.
Webhooks con n8n, Zapier y Make
Las apps de sona.to para n8n, Zapier y Make tienen disparadores listos para esos mismos cuatro eventos, así que no tienes que pegar ninguna dirección: añade el disparador y la app configura el webhook. Consulta la automatización de redes sociales con n8n, Zapier y Make.
Todos los detalles, con un ejemplo de verificación de firma, están en la documentación de la API.
Preguntas frecuentes
¿Un webhook es lo mismo que una API?
No. Una API responde cuando preguntas. Un webhook te envía un mensaje cuando pasa algo.
¿Los webhooks de sona.to son gratis?
Los webhooks están incluidos en todos los planes, junto con la API.
¿Qué pasa si mi servidor está caído?
sona.to lo reintenta tres veces a lo largo de una media hora. Si las entregas siguen fallando, el webhook se desactiva hasta que lo vuelvas a activar.
¿Listo para probarlo?
Empieza gratis, sin tarjeta de crédito.