Pular para o conteúdo principal

Fluxos de trabalho

Um fluxo de trabalho é automação que o produto corre por si: um gatilho, um grafo de passos e execuções que avançam à medida que os eventos chegam. Rascunho e publicação são separados, pelo que o tráfego executa sempre uma versão que alguém enviou deliberadamente.

At a glance

Shape
A trigger, a graph of steps, published versions
Triggers
Manual fire, or a cohort signal
Operate
fireWorkflow, signalWorkflow, cancelWorkflow
Live updates
workflow.run on the project room
Auth
Access token; runs execute server-side
  • Os gatilhos são um disparo manual ou um sinal de coorte, pelo que o 'quem' é uma coorte e não uma condição escrita à mão.
  • Os passos cobrem ações, atrasos, ramos e saltos guardados; um grafo que o motor recusaria é nomeado antes de publicar.
  • Cada execução guarda a sua razão: uma espera nomeia o seu sinal, uma falha traz o seu erro.

Como funciona

A definition holds a draft graph and its published versions. The draft is edited freely and saved as it changes; publishing validates the graph and makes that version the one runs execute, so an edit in progress can never leak into traffic. A run advances node by node: actions do work, delays hold, branches choose a case or the otherwise, and a waiting node parks the run until its named signal arrives, from the product or by hand. Runs, their steps and their errors are all kept, which is what the console's runs tab and the Home screen's Needs you list read.

Onde aceder

SurfaceOperation
RESTNone: workflows are authored and operated, not ingested
GraphQLworkflowDefinitions, workflowRuns queries · publishWorkflowVersion, fireWorkflow, signalWorkflow, cancelWorkflow mutations
Realtimeworkflow.run on the project room, as a run advances
MCPprodantix.workflows.list

Exemplo

Bash
curl "https://api.prodantix.com/graphql" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "mutation ($p: String!, $d: String!) { fireWorkflow(projectId: $p, definitionId: $d) { runId } }",
    "variables": { "p": "'$PROJECT_ID'", "d": "'$DEFINITION_ID'" }
  }'