Рабочие процессы
Рабочий процесс это автоматика, которую продукт запускает за вас: триггер, граф шагов и запуски, продвигающиеся по мере прихода событий. Черновик и публикация разделены, поэтому трафик исполняет всегда версию, которую кто-то отправил намеренно.
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.runon the project room- Auth
- Access token; runs execute server-side
- Триггеры это ручной запуск или сигнал когорты, так что «кто» это когорта, а не написанное вручную условие.
- Шаги охватывают действия, задержки, ветвления и защищенные переходы; граф, который движок отверг бы, называется до публикации.
- Каждый запуск хранит свою причину: ожидание называет сигнал, сбой несет свою ошибку.
Как это работает
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.
Где обратиться
| Surface | Operation |
|---|---|
| REST | None: workflows are authored and operated, not ingested |
| GraphQL | workflowDefinitions, workflowRuns queries · publishWorkflowVersion, fireWorkflow, signalWorkflow, cancelWorkflow mutations |
| Realtime | workflow.run on the project room, as a run advances |
| MCP | prodantix.workflows.list |
Пример
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'" }
}'