ForHosting KIT · Notificaciones y flujos

Entrega webhooks sin fallar

Avise a otro sistema de un evento y asegúrese de que se entera, incluso ante un error 500 o una espera agotada de cinco segundos: cada entrega va firmada, se reintenta con pausas crecientes y, si se agotan los intentos, se aparta con los detalles. Pague por uso, sin suscripción.

● EstablePor solicitud + por entrega$0.002
Úselo desde WebAPIEmailTelegramApp pronto

Ejecute esto en nuestros servidores con su cuenta. Las herramientas gratuitas corren en su navegador; esta cobra de su saldo del KIT según el precio de arriba.

firmados, reintentados, con cola

Por qué una entrega necesita más de un intento

Todo producto que trabaja con otros sistemas acaba teniendo que llamar a la dirección de otra aplicación y confiar en que la llamada llegue. Lanzar esa llamada es una línea de código; que sobreviva a un receptor que se reinicia, a un error 500 o a una espera agotada de cinco segundos es donde los equipos pierden una semana sin darse cuenta. La versión sencilla, un solo intento y sin reintentos, falla en silencio al primer corte de red. Esta herramienta es la capa de entrega que los equipos reconstruyen una y otra vez: usted indica la dirección de destino, el contenido y las cabeceras extra que necesite, y ella firma el mensaje, lo entrega y sigue intentándolo si el otro lado no responde bien.

Cómo se protege cada entrega

Cada entrega lleva una firma hecha con un secreto compartido, para que el receptor confirme que el contenido viene de usted y no se alteró por el camino. Si el destino responde con un error o no contesta a tiempo, el intento se repite tras pausas crecientes, lo que da margen a un sistema que se reinicia. Cuando se agotan todos los intentos, la llamada no se descarta: se aparta y se le devuelve con los detalles de la última respuesta. Un error común es un receptor que no comprueba la firma, lo que deja la puerta abierta a llamadas falsificadas.

¿Cómo sabe el sistema receptor que el mensaje viene de mí?

Cada entrega lleva una firma hecha con un secreto compartido. El receptor la comprueba para confirmar que el contenido viene realmente de usted y que no se alteró por el camino, de modo que puede rechazar llamadas falsificadas.

¿Qué pasa si el otro sistema está caído o responde lento?

Si el destino responde con un error o no responde a tiempo, la entrega se reintenta tras pausas cada vez más largas. Así un sistema que se está reiniciando tiene margen para recuperarse en lugar de perder el mensaje al primer tropiezo.

¿Y si fallan todos los intentos?

La llamada no se pierde. Agotados los intentos, se aparta y se le informa con los detalles de la última respuesta, para que corrija la causa y vuelva a enviarla en lugar de descubrir el hueco semanas después.

¿Por qué no enviar la llamada desde mi propio código?

Enviarla es una línea de código; que sobreviva a un receptor que se reinicia, a un error 500 o a una espera de cinco segundos es donde los equipos pierden una semana sin darse cuenta. Aquí tiene reintentos, firma y un lugar para los fallos sin construirlos.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

POSThttps://api.kit.forhosting.com/notify/webhook

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.

curl -X POST https://api.kit.forhosting.com/notify/webhook \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com/hook"}'
{
  "url": "https://example.com/hook"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "notify.webhook",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Disparar un webhook es una línea de código; que sobreviva a un endpoint inestable, un error 500 o un timeout de cinco segundos es donde los equipos pierden una semana en silencio. Este endpoint toma el payload que le da, lo firma, lo entrega con reintentos y le avisa con claridad si no pudo.

La parte de los webhooks que nadie quiere construir dos veces

Todo producto que se integra con el mundo exterior termina necesitando llamar a la URL de otro y confiar en que la llamada llegue. La versión ingenua — un solo POST HTTP sin reintento — falla en silencio en cuanto el receptor se reinicia o hay una falla de red momentánea. notify.webhook es la capa de entrega que los equipos reinventan una y otra vez: espera exponencial, cabeceras de firma, y un lugar donde caen las llamadas que de verdad no se pudieron entregar.

Qué hace una llamada al endpoint

Si el destino responde con un estado fuera del rango 2xx o se agota el tiempo de espera, la entrega se reintenta según un calendario de espera creciente; si se agotan los intentos, la llamada fallida pasa a una cola de fallos y se le reporta con los detalles de la respuesta en vez de desaparecer. POST /notify/webhook recibe una URL destino, un cuerpo JSON y cabeceras personalizadas opcionales, y luego intenta la entrega con una firma HMAC adjunta para que el receptor pueda verificar que el payload realmente vino de ti y no fue alterado en tránsito.

La firma tiene una historia que vale la pena respetar

Firmar el payload de los webhooks se volvió un estándar de facto porque los primeros sistemas de webhooks no tenían forma de probar que un callback no había sido falsificado por un tercero que adivinó la URL. Generamos una firma por cada entrega usando un secreto que usted controla, siguiendo el mismo patrón de cabecera y hash que la mayoría de los consumidores de webhooks modernos ya saben verificar, así que integrar del lado receptor toma minutos, no una revisión de especificación.

Dónde encaja dentro de un flujo más grande

Encadénelo después de una decisión de enrutamiento de alertas, o úselo como el tramo saliente de una tarea que necesita avisar a un sistema aguas abajo en cuanto el trabajo termina. Como la entrega es asíncrona y se rastrea por task_id, puede disparar un webhook desde dentro de otra automatización — un evento de pago, una compilación terminada, el envío de un formulario — sin bloquearse esperando el tiempo de respuesta del receptor.

Qué ves cuando termina

Cada intento queda registrado con su estado HTTP, latencia y un extracto del cuerpo de respuesta, así que una entrega fallida no es un misterio: obtiene el mismo detalle que hubiera mostrado un comando curl. El estado final, exitoso o en cola de fallos, llega mediante su propio webhook firmado o un enlace firmado válido por 24 horas, según lo que hayas configurado para los resultados de este endpoint.

Avisar a un sistema aguas abajo al terminar

Un trabajo de exportación por lotes termina y publica un webhook hacia el ERP del cliente para que su inventario se actualice sin que nadie consulte el estado manualmente.

Conectar sistemas antiguos que no pueden consultar

Una herramienta interna vieja que solo acepta llamadas HTTP entrantes recibe notificaciones confiables de pedidos nuevos, con reintentos que cubren sus caídas ocasionales.

Enlace con integraciones de terceros

Una aplicación de marketplace transmite eventos de pedidos al webhook propio del comerciante, con verificación de firma para que el comerciante confíe en el payload.

Difusión de un evento a varios servicios

Un solo evento interno dispara llamadas de webhook a tres endpoints de socios distintos en paralelo, cada uno rastreado y reintentado por separado.

¿Cómo firma las solicitudes esta api de entrega de webhooks?

Cada entrega incluye una cabecera de firma HMAC calculada a partir de su secreto configurado y el cuerpo del payload, para que el receptor pueda verificar la autenticidad antes de confiar en los datos.

¿Cuántos reintentos ocurren antes de dar por fallido un webhook?

Las entregas fallidas se reintentan automáticamente hasta tres veces con espera creciente; después la llamada pasa a la cola de fallos con los detalles completos de la respuesta, y nunca se cobra.

¿notify.webhook es gratis?

No hay capa gratuita: las capas gratis se abusan y ralentizan a todos. El acceso funciona con un saldo prepago de ForHosting KIT: se recarga desde $10.00 (no caduca) y cada solicitud se cobra a su precio publicado, así que una llamada sin saldo devuelve HTTP 402. Sin suscripción, sin tokens ni créditos inventados, y una tarea fallida no se cobra.

¿Cuánto cuesta una entrega de webhook?

Son 0.002 dólares fijos por cada solicitud POST /notify/webhook, ya sea que la entrega tenga éxito en el primer intento o tras reintentos, sin cargo extra por cada reintento.

¿Puedo enviar cabeceras personalizadas con el webhook?

Sí, puede adjuntar cualquier cabecera personalizada junto a la cabecera de firma automática, útil para tokens de autenticación que espera el endpoint receptor.

¿Qué pasa con los webhooks que nunca se entregan?

Quedan en un estado de cola de fallos que puede inspeccionar en el resultado de la tarea, con el último estado y cuerpo de respuesta incluidos para que pueda depurar el lado receptor.

¿Puedo usar esto para entrega masiva de webhooks?

Sí, cada llamada es una tarea asíncrona independiente, así que puede disparar muchas en paralelo desde un ciclo o un trabajo por lotes sin que se bloqueen entre sí.

¿Se conservan los datos del payload después de la entrega?

No, los payloads y los registros de entrega se eliminan tras el período de retención indicado y nunca se usan para entrenar modelos.

Ver la documentación completa del KIT →