Cron-задачи
Cron-задачи выполняются регулярно по заданному расписанию. Используйте стандартный формат cron-выражений.
Эндпоинты
/cron-tasksСписок всех cron-задач
/cron-tasksСоздание новой задачи
/cron-tasks/{id}Получение задачи по ID
/cron-tasks/{id}Обновление задачи
/cron-tasks/{id}Удаление задачи
/cron-tasks/{id}/pauseПриостановка задачи
/cron-tasks/{id}/unpauseВозобновление задачи
Создание задачи
curl -X POST https://api.cronbox.ru/v1/cron-tasks \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Синхронизация данных",
"url": "https://your-api.com/sync",
"method": "POST",
"cron_expression": "0 */6 * * *",
"headers": {
"Content-Type": "application/json",
"X-API-Key": "your-api-key"
},
"body": "{\"action\": \"sync\"}",
"timeout_seconds": 30,
"retry_count": 3
}'Формат cron-выражений
Используется стандартный 5-полевой формат cron:
┌───────────── минута (0 - 59)
│ ┌───────────── час (0 - 23)
│ │ ┌───────────── день месяца (1 - 31)
│ │ │ ┌───────────── месяц (1 - 12)
│ │ │ │ ┌───────────── день недели (0 - 6, 0 = воскресенье)
│ │ │ │ │
* * * * *Примеры:
*/5 * * * *- каждые 5 минут0 */2 * * *- каждые 2 часа0 9 * * 1-5- в 9:00 по будням0 0 1 * *- первого числа каждого месяца
Проверки ответа (assertions)
По умолчанию выполнение считается успешным, если код ответа входит в expected_status_codes. Но эндпоинт может ответить 200 OK с ошибкой в теле. Для таких случаев задаче можно добавить список проверок: они выполняются по порядку, первая непройденная делает выполнение неуспешным, и срабатывают retry и уведомления.
"assertions": [
{"type": "status_in", "value": [200, 201]},
{"type": "body_contains", "value": "\"ok\":true"},
{"type": "body_not_contains", "value": "traceback"},
{"type": "body_regex", "value": "\"id\"\\s*:\\s*\\d+"},
{"type": "jsonpath_equals", "path": "$.status", "value": "ok"},
{"type": "jsonpath_exists", "path": "$.data.id"},
{"type": "response_time_ms_below", "value": 1500},
{"type": "header_equals", "path": "Content-Type", "value": "application/json"}
]jsonpath_equals сравнивает первое совпадение с value (любое JSON-значение),header_equals ищет заголовок без учёта регистра. Для проверки доступно до 64 КБ тела ответа.