ForHosting KIT · Utilidades de desarrollo

Reformatear un webhook

Dos sistemas que dicen estar 'integrados' rara vez coinciden en los nombres de sus campos, en la anidación o incluso en el formato de fecha. Este endpoint se coloca entre ambos y transforma el payload que envía uno en la estructura exacta que espera el otro, sin que ninguno de los dos cambie una línea de su propio código.

● EstableGratis · en su navegador
Úselo desde WebAPIEmailApp prontoTelegram pronto

Corre en su navegador. Gratis y sin límite: sus datos no salen de esta página.

El desajuste que rompe las integraciones

Un procesador de pagos envía amount_cents como un entero; su sistema de facturación espera amount como una cadena decimal, anidada tres niveles adentro bajo totals.charge. Un CRM dispara un evento lead.created con un objeto plano; su herramienta de marketing quiere un arreglo bajo contacts aunque solo haya un contacto. Nada de esto son errores; son simplemente dos equipos tomando decisiones distintas y razonables por su cuenta, y el desajuste resultante es justo lo que rompe integraciones que se veían perfectas en una demostración.

Cómo corre la transformación

Envíe POST a /dev/webhook-transform con el payload entrante y un mapeo que describa la forma de destino: qué campos de origen van a dónde, qué renombres o conversiones de tipo se necesitan, y cómo se reestructura la anidación. La tarea devuelve un task_id de inmediato y corre la transformación en segundo plano, así que un payload lento o mal formado nunca bloquea la solicitud que lo envió. El payload transformado llega mediante una llamada de webhook firmada a su endpoint, o queda disponible en un enlace firmado válido por 24 horas.

Por qué esto no debería vivir dentro de su código

Escribir a mano una función de transformación para cada integración de socio hace que esa función viva dentro de su aplicación, se olvide, y se rompa en silencio meses después cuando el sistema de origen cambia un campo sin previo aviso. Correr la transformación como un paso externo y direccionable hace que la lógica de mapeo sea inspeccionable y probable por sí sola, separada de la lógica de negocio que consume el resultado, y separada también de cualquier equipo dueño del sistema que envía los datos.

Dónde encaja en una automatización más amplia

Los equipos que reciben webhooks de varios proveedores —un procesador de pagos, un CRM, una mesa de soporte— terminan necesitando una pequeña transformación para cada uno antes de que esos datos puedan entrar a un formato de evento interno único. Encadenar este endpoint delante de una cola interna significa que incorporar un proveedor nuevo se resuelve escribiendo un mapeo, no haciendo un despliegue, y como el precio es una tarifa plana por solicitud sin costo alguno cuando algo falla, probar un mapeo nuevo contra payloads de muestra reales no cuesta nada equivocarse las primeras veces.

Normalización de proveedores de pago

Un marketplace recibe webhooks de varios proveedores de pago y transforma cada uno en un único evento de cobro interno antes de que llegue al flujo de pedidos.

Puente entre CRM y automatización de marketing

Una herramienta de ventas envía eventos de leads en su propio esquema, y este endpoint los transforma en la estructura exacta que espera la API de una plataforma de automatización de marketing.

Renombre de campos de un sistema antiguo

Un sistema interno viejo usa nombres de campo abreviados y crípticos, y los webhooks entrantes se transforman a nombres de campo legibles y documentados antes de guardarse.

Integraciones multi-cliente con socios

Una plataforma con decenas de integraciones de socios mantiene un mapeo por cada uno, para que incorporar uno nuevo nunca requiera tocar el código compartido de la aplicación.

¿Cómo transformo el payload de un webhook con esta API?

Envíe por POST el payload entrante y un mapeo de campos a /dev/webhook-transform, guarde el task_id devuelto y reciba el payload transformado por webhook o mediante un enlace firmado válido por 24 horas.

¿Es gratis la API para transformar webhooks?

No, no hay plan gratuito ni prueba; cuesta una tarifa plana de $0.002 por solicitud, y una transformación fallida nunca se cobra.

¿Qué tipo de transformaciones puede manejar?

Renombres de campo, conversiones de tipo, reestructuración de anidación, y transformaciones entre formatos planos y anidados, según el mapeo que usted proporcione con la solicitud.

¿Funciona con cualquier formato de payload?

Funciona con payloads JSON estructurados, que cubren la gran mayoría del tráfico de webhooks entre sistemas modernos.

¿Puedo reutilizar el mismo mapeo para muchos payloads?

Sí, la mayoría de las integraciones envían la misma definición de mapeo con cada payload entrante de una fuente dada, que es exactamente cómo debe funcionar una integración estable con un socio.

¿Puedo transformar payloads en lote?

Sí, envíe una tarea asíncrona por payload, o agrupe varios a través de su propia cola, y reciba cada resultado por webhook a medida que termine.

¿Qué pasa si falta un campo en el payload de origen?

La transformación aplica el mapeo a los campos que realmente están presentes; los campos de origen faltantes simplemente producen campos de destino faltantes, en lugar de un valor inventado.

¿Ya está disponible este endpoint?

Sí, /dev/webhook-transform está disponible y aceptando solicitudes ahora mismo.

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/dev/webhook-transform

¿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, y pronto desde nuestra app, el email y Telegram.

curl -X POST https://api.kit.forhosting.com/dev/webhook-transform \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":"…"}'
{
  "input": "…"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.webhook_transform",
  "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.

Ver la documentación completa del KIT →