Отложенные задачи

Отложенные задачи выполняются один раз в указанное время. Идеально для отправки отложенных уведомлений, напоминаний и одноразовых действий.

Эндпоинты

GET
/delayed-tasks

Список отложенных задач

POST
/delayed-tasks

Создание отложенной задачи

GET
/delayed-tasks/{id}

Получение задачи по ID

DELETE
/delayed-tasks/{id}

Отмена задачи

Создание задачи

curl -X POST https://api.cronbox.ru/v1/delayed-tasks \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Отправить напоминание",
    "url": "https://your-api.com/send-reminder",
    "method": "POST",
    "execute_at": "2024-01-20T15:00:00Z",
    "headers": {
      "Content-Type": "application/json"
    },
    "body": "{\"user_id\": 123, \"message\": \"Напоминание!\"}"
  }'

Примечание: Время выполнения указывается в формате ISO 8601 в часовом поясе UTC. Например: 2024-01-20T15:00:00Z

Коллбэк о выполнении

Если при создании задачи указать callback_url, CronBox отправит на этот адрес POST-запрос с итогом выполнения — после успеха или после окончательной неудачи (когда исчерпаны повторные попытки самой задачи).

{
  "event": "delayed_task.completed",
  "task_id": "b3f1...",
  "task_name": "Отправить напоминание",
  "execution_id": "9c2a...",
  "status": "success",
  "status_code": 200,
  "duration_ms": 154,
  "error": null,
  "started_at": "2024-01-20T15:00:00Z",
  "finished_at": "2024-01-20T15:00:01Z",
  "retry_attempt": 0
}

Запрос уходит с заголовком User-Agent: CronBox-Callback/1.0. Если в настройках уведомлений рабочего пространства задан webhook_secret, тело подписывается так же, как webhook-уведомления: в заголовке X-Webhook-Signature: t=<unix time>,v1=<подпись> передаётся HMAC-SHA256 от строки `${t}.${тело запроса}` с ключом webhook_secret; метка времени дублируется в X-Webhook-Timestamp. Ответ 2xx считается доставкой; при сетевой ошибке или ответе 5xx CronBox повторит запрос через 30 секунд, 2 минуты и 10 минут.