Joinotify

Disparar un flujo

POSThttps://api.joinotify.com/flows/{id}/trigger

Inicia una ejecución del flujo para un contacto. El flujo debe estar activo y publicado, y la versión publicada debe tener un disparador de tipo API.

Identifica el contacto por contact.id o por contact.phone — con el teléfono, un contacto que no existe se crea. Lo que venga en data queda disponible en el flujo como {{trigger.<ruta>}} — datos anidados incluidos ({{trigger.cliente.nombre}}, {{trigger.items[0].nombre}}), con formatos como :money y :date. El número que envía es phoneNumberId, o el configurado en el disparador, o el número activo más antiguo de la cuenta.

La respuesta es 202 con el runId; los mensajes salen después, fuera de la solicitud. runId puede venir null sin ser un error: el disparador no lleva a ningún paso, o el mismo contacto empezó este flujo hace poco (el intervalo mínimo entre ejecuciones). Empezar una ejecución cancela las otras en curso del mismo contacto en ese número.

Idempotencia. Con Idempotency-Key, repetir la llamada en hasta 24 horas devuelve 200 con el mismo runId y replayed: true, sin iniciar otra ejecución. A diferencia de POST /messages: aquí el cuerpo no se compara, y una llamada que falló no guarda la clave — la repetición vuelve a intentarlo.

Path Params

1 obligatorio(s)

stringobligatorio

Headers

1 opcional(es)

stringopcional

Identificador de la operación. Repetir con el mismo valor en 24 horas devuelve la ejecución ya iniciada.

máx. 120 caracteres

Body Paramsapplication/json

1 obligatorio(s)2 opcional(es)

objectobligatorio

El contacto: id de un contacto existente, o phone en formato internacional. Con los dos, vale el id.

stringopcional
stringopcional

mín. 4 caracteresmáx. 30 caracteres

stringopcional

Número que envía. Debe ser de la cuenta y estar en el alcance de la API key.

objectopcional

Datos para el flujo, leídos como {{trigger.<ruta>}} en los mensajes, las variables de plantilla y las condiciones — objetos y listas anidados incluidos.

Respuestas