Создание кампании
Один запрос делает три вещи: создаёт кампанию, принимает запланированные звонки и — если все проверки запуска прошли — начинает набор. Отдельного шага «старт» в счастливом пути нет.Заголовки
Тело запроса
Неизвестные поля верхнего уровня игнорируются.
Поля, которые у кампании есть, но через
/v1 не задаются (frequency_override, кабинетные пресеты), молча игнорируются.
Порядок отказов на создании
До того как кампания создана (слот идемпотентности освобождается, исправленный повтор с тем же ключом пройдёт):422 invalid_request— тело не проходит схему (нетname,agent_idилиcalls_per_minute, неверные типы).422 idempotency_key_required,422 dnc_decision_invalid.422 idempotency_key_reuse/409 idempotency_key_in_flight/ переигровка прежнего ответа.422 campaign_window_invalid, затем422 campaign_open_ends_at_required/campaign_open_ends_at_too_far.422 campaign_agent_unknown,422 campaign_timezone_unknown.- Привязка набора:
422 dialing_route_unresolved/dialing_route_ambiguous/dialing_binding_incomplete. 422 working_hours_wider_than_law.- Валидация хранилища:
422 campaign_spec_invalid(ступень, настройка повторов, форма рабочих часов, действие по дублям, длина названия),422 campaign_classification_invalid.
409 idempotency_key_in_flight; кампанию ищите через GET /v1/campaigns):
- Запланированные звонки:
409 market_package_not_installed,502 contact_file_storage_unavailable,422 contact_rows_rejected(строки не удалось сохранить вовсе — это не то же самое, что строки, отклонённые разборщиком: те приходят внутриimportвместе с201). - Запуск:
409 campaign_transition_invalid(неожиданная гонка состояний).
Успешный ответ — 201 Created
Ответ всегда 201, если кампания создана, независимо от того, начался ли набор. Единственный источник истины об этом — status.