input_contract del trigger decide qué payloads acepta Flowker y cómo los decodifica. Elígelo antes de escribir el node: es obligatorio y fija el formato del payload para toda la ruta.
Antes de empezar
- Un workflow en estado
draft. Un workflow activo queda bloqueado, así que agrega el trigger antes de activarlo. Consulta Primeros pasos con Flowker para el camino de creación y activación. - El permiso
executesobre el recursowebhookspara cada sistema al que permitas llamar al path. Consulta Proteger un webhook. - Para el contrato
xsd: un documento XSD en el registro. Súbelo con Subir un esquema XSD y guarda el id que devuelve. Tu despliegue también necesita el servicio de validación XML contra el que valida el contrato — consultaXSD_VALIDATOR_URL. - Para el contrato
openapi: un documento OpenAPI en el registro (Subir un esquema OpenAPI, cubierto de principio a fin en Conectar tu propia API). También necesitas el path y el método de la operación cuyo request body describe tu payload. Derivar el esquema de una operación te muestra ese request body.
Paso 1: Lee el contrato del trigger en el catálogo
Los triggers vienen incluidos. Los descubres en el catálogo y nunca creas uno.
1
Lista los triggers incluidos
Listar triggers del catálogo devuelve cada trigger con su
id, name y version. El id del trigger de webhook es webhook.2
Lee el esquema del trigger de webhook
Obtener un trigger del catálogo devuelve los mismos campos más
schema — el JSON Schema contra el que Flowker valida tu node trigger. Léelo cuando quieras la lista de campos desde la instancia en ejecución.Paso 2: Elige el contrato de entrada
El modo fija el formato del payload de la ruta. Una ruta
xsd es XML y una ruta openapi es JSON. Una ruta open usa el format que declaras, y format pertenece solo a ese modo.
Elige open cuando el payload de quien llama no tiene un contrato publicado, o cuando prefieres que el workflow decida qué es aceptable. Elige xsd cuando un partner envía XML definido por un documento XSD. Elige openapi cuando un partner envía JSON y tienes el documento OpenAPI que lo describe.
Una ruta
openapi nunca acepta un payload sin verificar: cuando Flowker no puede llegar a un veredicto, rechaza la llamada con FLK-0720, y el workflow nunca ve ese payload. Una ruta xsd llega a su veredicto a través del servicio de validación XML que configura tu despliegue — un documento que no cumple el esquema se rechaza con XML_VALIDATION_FAILED, y un veredicto del que Flowker no puede fiarse, con FLK-0720. Configura ese servicio antes de poner una ruta xsd delante de quien llama.Paso 3: Decide cómo responde el webhook
En una ruta
sync, response_view define la forma del cuerpo:
response_view no tiene efecto en una ruta async. Para las reglas completas de passthrough y para el override responseStatusCode, consulta Modo de respuesta síncrona.
Paso 4: Escribe el node trigger
El trigger de webhook es un node con
type: "trigger" y estos campos en su data:
La configuración del trigger es un contrato cerrado. Guardar un workflow cuyo trigger de webhook omite
path, method o input_contract, olvida un campo que su modo input_contract exige, nombra el id de esquema o un campo de operación de otro modo, o lleva una clave o un valor que el esquema no acepta falla con FLK-0934.
payments/received, /payments/received y payments/received/ registran la misma ruta.
Paso 5: Activa el workflow
1
Crea el workflow
Envía el node junto con el resto de tu workflow a Crear un workflow. El workflow queda en estado
draft y Flowker valida aquí la configuración del trigger — un error de contrato responde FLK-0934.2
Actívalo
Llama a Activar un workflow. La activación registra el path y el método. También resuelve lo que referencia el contrato. Un esquema XSD ausente responde
FLK-0930 y un esquema OpenAPI ausente responde FLK-0931. Una operación que el documento no declara responde FLK-0932, y una operación sin request body responde FLK-0933.FLK-0360. Desactivar un workflow libera sus rutas, así que puedes entregar un path a una nueva versión.
Paso 6: Llama a la ruta y confirma que funciona
Envía la llamada tal como la enviará quien llama:
async responde 202 con el comprobante:
sync responde con el resultado de la ejecución, en la forma que selecciona su response_view. El estado que lleva depende de la vista y de cómo terminó la ejecución — Modo de respuesta síncrona guarda esas reglas.
Tres señales te dicen que la ruta funcionó:
- Una respuesta que inició una ejecución lleva
X-Webhook-Workflow-IDyX-Webhook-Execution-ID, así que puedes vincular una llamada con el workflow que alcanzó y la ejecución que inició. - Obtener resultados de ejecución informa los resultados por step y la salida final de ese
executionId. - La entrada de la ejecución lleva un objeto
_webhookcon el método, el path y la dirección de quien llama. Úsalo para confirmar que el workflow vio la llamada correcta. Consulta Metadatos del webhook.
Idempotency-Key devuelve la ejecución original en lugar de iniciar una segunda, y su cuerpo lleva idempotencyReplayed: true con el status original. Envía una clave nueva para ejecutar el workflow otra vez.
Los cinco verbos tienen su propia página de referencia: POST, GET, PUT, PATCH y DELETE.
Cuando una llamada falla
Una ruta JSON devuelve
code, title y message. Una ruta XML devuelve un documento <error>. Consulta la lista de errores de Flowker para todos los códigos y ambas formas.
Qué sigue
Guía de integración
Conecta el workflow con servicios externos y lee las reglas completas de respuesta síncrona.
Guía de diseño de workflows
Construye el resto del grafo al que entra el trigger.

