Деактивация существующей кампании обмена сообщениями
Используйте этот маршрут для вывода из эксплуатации кампании, принадлежащей аккаунту. Сохраните идентификатор кампании для сверки и истории. Для исправления содержимого или обновления текста согласия используйте Обновление кампании обмена сообщениями вместо деактивации.
Пройдите аутентификацию с помощью включённой учётной записи API по HTTPS с разрешённого исходного IP-адреса. Сначала получите данные кампании и проверьте связанный бренд и номера отправителей. Деактивация изменяет регистрацию; она не создаёт заменяющую кампанию и не переносит номера в другую кампанию.
curl --silent --show-error --fail-with-body --user "$API_USER:$API_PASSWORD" \
"https://api.multitel.net/tcr/v2/campaign/$CAMPAIGN_ID"Сначала удалите привязки затронутых номеров
Публичная операция DELETE для кампании не отвязывает телефонные номера у оператора обмена сообщениями и не удаляет их локальные привязки. Используйте процедуру удаления привязки номера к кампании для каждого затронутого номера, принадлежащего аккаунту, затем проверьте его привязку. Удаление привязки не освобождает телефонный номер.
Более широкая процедура «Удалить бренд» в портале выполняет очистку его кампаний и номеров перед удалением самого бренда. Не используйте это действие, если собираетесь сохранить бренд и другие его кампании. В текущем обычном редакторе кампаний нет отдельной кнопки удаления кампании, эквивалентной этому прямому маршруту API.
Отправьте запрос на запланированную деактивацию
Проверив идентификатор кампании и затронутые настройки отправки, отправьте DELETE без тела JSON:
curl --silent --show-error --fail-with-body --user "$API_USER:$API_PASSWORD" \
--request DELETE \
--header "Idempotency-Key: $IDEMPOTENCY_KEY" \
"https://api.multitel.net/tcr/v2/campaign/$CAMPAIGN_ID"Документированный успешный ответ — HTTP 204 с пустым телом. Проверяйте статус HTTP, не ожидая обёртки JSON status/response. Когда удаление принято, текущий сервис локально помечает ресурс кампании как удалённый и просроченный, а её запись в прежней системе — как просроченную. Каскадное удаление бренда не выполняется.
Используйте один ключ идемпотентности для этого запланированного запроса и сохраните точные байты метода, пути, строки запроса и тела для повторной отправки. Дубликат обрабатываемого запроса может вернуть 409 с Retry-After; для завершённых запросов может повторно возвращаться сохранённый результат. Кэшированная ошибка или обрыв соединения не позволяют установить, выполнил ли реестр действие. Сохраните идентификатор кампании и requestId, если он присутствует.
Проверьте регистрацию и привязки
После запроса проверьте в портале текущее состояние кампании и затронутые номера. После вывода из эксплуатации API может сохранять локальные метаданные о принадлежности, позволяя по-прежнему проверять принадлежащий аккаунту идентификатор; не делайте вывод, что тот же идентификатор обязательно всегда должен возвращать локальный ответ 404. Возвращаемый статус и доступность выведенной из эксплуатации записи определяет реестр.
Если номер остаётся привязанным, сверьте и согласуйте эту существующую привязку. Не создавайте другую кампанию лишь для повторной попытки деактивации и не считайте, что HTTP 204 доказывает выполнение очистки у оператора. Если локальная синхронизация завершается сбоем после принятия запроса реестром, API может вернуть 500, хотя внешняя деактивация уже произошла.
| Результат | Следующий шаг |
|---|---|
| 204 | Тело ответа не ожидается. Проверьте состояние кампании и привязки номеров, которыми управляют независимо от кампании. |
| 400 | Прочитайте полученное сообщение об ошибке проверки данных или состояния реестра. Проверьте точный идентификатор кампании и её существующее состояние. |
| 401, 403, 404 | Проверьте учётные данные API, разрешённый исходный IP-адрес и принадлежность аккаунту. Не подставляйте идентификатор другого клиента. |
| 409, 429 | Отличайте выполняющийся или конфликтующий идемпотентный запрос от ограничения частоты запросов; соблюдайте Retry-After, если этот заголовок указан. |
| 500, 502 или истечение времени ожидания | Сохраните сведения о запросе, получите данные существующей кампании и выполните сверку перед повторной отправкой. |
Вывод из эксплуатации не связан с окончательными расчётами по аккаунту
Текущий сервис DELETE не инициирует немедленное списание за регистрацию кампании. Это не гарантирует возврата средств, не отменяет существующих обязательств и не освобождает арендованные номера. Проверьте в портале условия кампаний для аккаунта и неоплаченные счета. Аренда номеров и использование сообщений учитываются отдельно от регистрации кампании.
Если после сверки кампаний и привязок из эксплуатации выводится вся регистрация компании, перейдите к процедуре вывода бренда из эксплуатации.