Skip to main content

Создание кампании

Один запрос делает три вещи: создаёт кампанию, принимает запланированные звонки и — если все проверки запуска прошли — начинает набор. Отдельного шага «старт» в счастливом пути нет.

Заголовки

Тело запроса

Неизвестные поля верхнего уровня игнорируются. Поля, которые у кампании есть, но через /v1 не задаются (frequency_override, кабинетные пресеты), молча игнорируются.

Порядок отказов на создании

До того как кампания создана (слот идемпотентности освобождается, исправленный повтор с тем же ключом пройдёт):
  1. 422 invalid_request — тело не проходит схему (нет name, agent_id или calls_per_minute, неверные типы).
  2. 422 idempotency_key_required, 422 dnc_decision_invalid.
  3. 422 idempotency_key_reuse / 409 idempotency_key_in_flight / переигровка прежнего ответа.
  4. 422 campaign_window_invalid, затем 422 campaign_open_ends_at_required / campaign_open_ends_at_too_far.
  5. 422 campaign_agent_unknown, 422 campaign_timezone_unknown.
  6. Привязка набора: 422 dialing_route_unresolved / dialing_route_ambiguous / dialing_binding_incomplete.
  7. 422 working_hours_wider_than_law.
  8. Валидация хранилища: 422 campaign_spec_invalid (ступень, настройка повторов, форма рабочих часов, действие по дублям, длина названия), 422 campaign_classification_invalid.
После того как кампания создана (слот остаётся занятым — повтор с тем же ключом отвечает 409 idempotency_key_in_flight; кампанию ищите через GET /v1/campaigns):
  1. Запланированные звонки: 409 market_package_not_installed, 502 contact_file_storage_unavailable, 422 contact_rows_rejected (строки не удалось сохранить вовсе — это не то же самое, что строки, отклонённые разборщиком: те приходят внутри import вместе с 201).
  2. Запуск: 409 campaign_transition_invalid (неожиданная гонка состояний).

Успешный ответ — 201 Created

Ответ всегда 201, если кампания создана, независимо от того, начался ли набор. Единственный источник истины об этом — status.