Цепочки задач
Цепочки задач позволяют выполнять несколько HTTP-запросов последовательно, передавая данные между шагами. Идеально для сложных workflow, где результат одного запроса используется в следующем.
Эндпоинты
/chainsСписок цепочек задач
/chainsСоздание цепочки
/chains/{id}Получение цепочки с шагами
/chains/{id}Обновление цепочки
/chains/{id}Удаление цепочки
/chains/{id}/runРучной запуск цепочки
/chains/{id}/pauseПриостановка цепочки
/chains/{id}/resumeВозобновление цепочки
/chains/{id}/copyКопирование цепочки
Типы триггеров
manual
Запуск только вручную через API или панель управления.
cron
Регулярный запуск по cron-расписанию. Требует параметр schedule.
delayed
Однократный запуск в заданное время. Требует параметр execute_at.
Создание цепочки
curl -X POST https://api.cronbox.ru/v1/workspaces/{workspace_id}/chains \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Обработка заказа",
"trigger_type": "manual",
"stop_on_failure": true,
"steps": [
{
"name": "Получить заказ",
"url": "https://api.example.com/orders/123",
"method": "GET",
"extract_variables": {
"order_total": "$.total",
"customer_id": "$.customer.id"
}
},
{
"name": "Списать средства",
"url": "https://api.example.com/payments",
"method": "POST",
"body": "{\"amount\": \"{{order_total}}\", \"customer_id\": \"{{customer_id}}\"}"
},
{
"name": "Отправить уведомление",
"url": "https://api.example.com/notify",
"method": "POST",
"continue_on_failure": true
}
]
}'Шаги цепочки
/chains/{id}/stepsСписок шагов
/chains/{id}/stepsДобавление шага
/chains/{id}/steps/{step_id}Обновление шага
/chains/{id}/steps/{step_id}Удаление шага
/chains/{id}/steps/reorderИзменение порядка шагов
Параметры шага
| Параметр | Тип | Описание |
|---|---|---|
| extract_variables | object | JSONPath для извлечения переменных из ответа |
| condition | object | Условие для выполнения шага |
| continue_on_failure | boolean | Продолжить цепочку при ошибке шага |
| retry_count | integer | Количество повторных попыток (0-5) |
Переменные
Используйте синтаксис {{variable}} для подстановки переменных в URL и тело запроса. Переменные извлекаются из предыдущих шагов через JSONPath.
{
"extract_variables": {
"user_id": "$.data.id",
"user_email": "$.data.email",
"order_items": "$.items[*].id"
}
}Условия выполнения
Шаги могут выполняться условно на основе результатов предыдущих шагов:
{
"condition": {
"operator": "status_code_in",
"value": [200, 201]
}
}
// Или проверка значения из ответа:
{
"condition": {
"operator": "equals",
"field": "$.status",
"value": "approved"
}
}Выполнения цепочки
/chains/{id}/executionsИстория выполнений
/chains/{id}/executions/{exec_id}Детали выполнения с результатами шагов
Примечание: Цепочки поддерживают политику запуска (overlap prevention). Используйте параметры overlap_policy, max_instances для контроля параллельных выполнений.