Guías

Iniciar un workflow desde tu propio sistema

Tu tienda web envía cada pedido nuevo a Filmo. El workflow muestra una notificación interna con el número de pedido y el total.

Antes de empezar

Todos los datos de abajo son ficticios. Necesitas un rol de administrador. El workflow solo muestra una notificación dentro de la app: no envía ningún email ni cambia ningún dato.

  1. Crea el workflow

    «Nuevo workflow», «Configura un trigger», «Webhook».

  2. Declara el cuerpo

    En «Cuerpo», declara un «Estructura» con tres campos: orderNumber («Texto»), customerEmail («Texto») y total («Número»).

  3. Mostrar una notificación

    Sumar «Notificación interna». Estilo neutro, a todos los usuarios. Título: "Nuevo pedido web". Mensaje: inserta las variables orderNumber y total del cuerpo del trigger.

  4. Publicar y pasar a Live

    «Publicar y activar». Después copia el «Endpoint» y el «Secreto» desde el panel lateral del trigger.

Una entrega válida
curl -sS -X POST "https://app.filmo.io/api/webhooks/workflows/whk_<token>" \
  -H "X-Webhook-Secret: whsec_<secret>" \
  -H "Idempotency-Key: web-order-1001" \
  -H "Content-Type: application/json" \
  -d '{"orderNumber":"W-1001","customerEmail":"ana@example.com","total":120.5}'

Filmo responde 202 con el id de la ejecución. Abre la pestaña Runs: la ejecución se completó y todos los usuarios de la app recibieron la notificación. Envía de nuevo el mismo comando: la segunda respuesta es 200 con duplicate: true y el mismo id de ejecución, porque la Idempotency-Key es la misma.

Una entrega cuyo total es texto
curl -sS -X POST "https://app.filmo.io/api/webhooks/workflows/whk_<token>" \
  -H "X-Webhook-Secret: whsec_<secret>" \
  -H "Content-Type: application/json" \
  -d '{"orderNumber":"W-1002","customerEmail":"ana@example.com","total":"120.5"}'

Esta también responde 202. Pero total es el texto "120.5", no un número, así que la ejecución empieza y falla con "the webhook body does not match the declared type: total: expected a number and received a text". Al remitente nunca se le avisa. Por eso conviene revisar la pestaña Runs, o declarar el campo como Desconocido si no puedes fiarte de que tu remitente envíe números.

  • 404 significa que no está publicado, que no está en Live, que está pausado o que el token es incorrecto. 401 significa que falta el secreto o que es incorrecto.
  • No hay forma de cambiar el token ni el secreto. Si uno se filtra, construye un workflow nuevo.
  • Cualquiera que pueda abrir un workflow público puede leer su secreto (los administradores todavía pueden abrir los privados). Hazlo privado si eso importa.
  • Envía una Idempotency-Key para todo lo que no deba ejecutarse dos veces.
Nota:

El contrato completo, con todas las respuestas y límites, está en Webhooks entrantes.

  • Construir

    Webhooks entrantes

    Un trigger de webhook da al workflow una dirección privada. Tu sistema hace POST de JSON a ella con un secreto, Filmo responde 202 de inmediato y empieza una ejecución.

  • Construir

    Datos y expresiones

    No escribes fórmulas en un workflow. Eliges valores de listas, y Filmo guarda lo que elegiste como una expresión estructurada. Esta página explica qué ofrece el selector y cómo se comportan los valores al ejecutarse.

  • Ejecutar

    Resolución de problemas

    Empieza por lo que ves: el workflow no se ejecutó, una ejecución falló o una ejecución no avanza. Cada sección enumera las causas probables en el orden en que conviene comprobarlas.

¿Te ha resultado útil esta página?