ForHosting KIT · Notificaciones y flujos

Bifurque su flujo

No todos los flujos son una línea recta. La API de Flujos Condicionales permite que el resultado de una tarea decida qué sigue: enviar el contenido marcado por un camino y el contenido limpio por otro, sin que tenga que programar un enrutador if/else entre dos llamadas separadas.

● BetaPor solicitud + por paso$0.000
Úselo desde WebAPIEmailApp prontoTelegram pronto

El if/else que su flujo realmente necesita

Suponga que ejecuta moderación de contenido sobre un archivo subido: si queda marcado, necesita pasar a una cola de revisión humana; si está limpio, solo necesita publicarse. Hacer esto con dos llamadas simples significa que su propio código debe quedar en medio, revisar el primer resultado y decidir cuál segunda llamada hacer, y esa lógica de decisión tiende a crecer sin control en cuanto hay más de una condición que revisar. POST /flow/conditional permite expresar esa bifurcación de forma declarativa: la condición y los dos posibles pasos siguientes viajan juntos en una sola solicitud, y la decisión misma pasa a ser parte de la definición de la tarea en vez de código que mantiene usted.

Cómo se evalúa la bifurcación

Define una condición que lee un campo del resultado del paso anterior —un estado, una puntuación, un booleano— y dos (o más) pasos posibles ligados a distintos resultados de esa condición. La plataforma evalúa la condición automáticamente en cuanto termina el paso previo y solo ejecuta la rama que coincide, nunca ambas, así no se desperdicia trabajo calculando un resultado que de todos modos iba a descartar.

Qué recibe de vuelta

Sigue recibiendo un único task_id para todo el flujo condicional. El resultado indica cuál rama se ejecutó realmente, junto con su salida, entregado mediante un webhook firmado o un enlace firmado válido por 24 horas, de modo que los sistemas posteriores conocen no solo el resultado, sino el camino que se tomó para llegar a él, algo útil en cuanto alguien pregunta por qué un ítem terminó donde terminó.

Fallos y honestidad sobre el costo

Solo la rama que realmente se ejecuta puede fallar o tener éxito; la rama no elegida nunca se invoca ni se cobra. Una rama que falla recibe tres reintentos antes de devolver un error claro y específico, igual que cualquier otra tarea del KIT, y los intentos fallidos nunca se cobran, así una condición que enruta correctamente un ítem hacia una rama que luego se topa con una entrada mala le sigue diciendo con exactitud dónde estuvo el problema.

Dónde encajan los condicionales

Esta tarea existe para los puntos de decisión que antes le obligaban a orquestación personalizada: flujos de aprobar-o-rechazar, enrutamiento según idioma, umbrales de calidad. Al ser una tarea asíncrona normal, un paso condicional se anida sin problema dentro de una cadena o corre según un cron, así la lógica de decisión no tiene que vivir en un servicio aparte que usted mismo mantenga.

Enrutamiento de moderación de contenido

Envíe los archivos marcados a una rama de revisión y los limpios directo a una rama de publicación, según la puntuación de moderación del paso anterior.

Filtro de traducción según idioma

Active la traducción solo cuando el idioma detectado difiere del idioma de destino, saltando el paso por completo cuando ya coinciden.

Escalamiento por umbral de calidad

Enrute una transcripción con puntuación de confianza baja a una rama de reprocesamiento, y una de confianza alta directo a la entrega.

Respuesta escalonada al cliente

Bifurque un mensaje de soporte hacia una respuesta automática cuando el sentimiento es neutro, o hacia una cola prioritaria cuando el sentimiento resulta negativo.

¿Cómo defino la condición para bifurcar?

Referencia un campo del resultado del paso anterior —como un estado o una puntuación— en la solicitud a POST /flow/conditional, junto con el paso a ejecutar para cada resultado posible.

¿La API de Flujos Condicionales 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.

¿Se ejecutan las dos ramas o solo la que coincide?

Solo se ejecuta la rama que coincide con la condición; la otra nunca se invoca ni se cobra.

¿Puedo tener más de dos ramas posibles?

Sí, puede definir múltiples condiciones mapeadas a múltiples pasos siguientes, no solo una división simple de verdadero o falso.

¿Cómo sé cuál rama se ejecutó?

El resultado final indica explícitamente qué rama corrió junto con su salida, para que los sistemas posteriores reaccionen tanto al resultado como al camino tomado.

¿Qué pasa si la rama que se ejecuta falla?

Se reintenta automáticamente hasta tres veces; si sigue fallando, recibe un error específico y no se cobra ningún intento fallido.

¿Un paso condicional puede formar parte de una cadena más larga?

Sí, los condicionales son tareas asíncronas estándar, así que se anidan dentro de una cadena o corren como parte de un flujo programado igual que cualquier otro paso.

¿El enrutamiento condicional es lo mismo que la lógica de reintentos?

No, los reintentos manejan automáticamente los fallos de una sola tarea; el enrutamiento condicional decide cuál tarea distinta ejecutar a continuación según un resultado exitoso.

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/flow/conditional

¿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/flow/conditional \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":"…"}'
{
  "input": "…"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "flow.conditional",
  "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.000

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 →