Отмена
POST https://api.pushwoosh.com/messaging/v2/cancel
Отменяет ранее созданное сообщение, идентифицированное по его message_code. Отмена доступна только в том случае, если сообщение находится в одном из следующих состояний:
- pending: создано, но еще не взято в обработку для отправки.
- waiting: запланировано для отправки в будущем.
- processing: в настоящее время готовится к доставке.
Чтобы проверить, находится ли сообщение все еще в состоянии, допускающем отмену, см. Проверка статуса сообщения.
Запрос
Anchor link toАутентифицируйтесь с помощью вашего Server API token в заголовке Authorization: Token <API_TOKEN>.
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
message_code | string | Да | Код сообщения, которое нужно отменить, возвращаемый методом Notify в result.message_code. |
Пример запроса
Anchor link tocurl -X POST https://api.pushwoosh.com/messaging/v2/cancel \ -H "Authorization: Token YOUR_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "message_code": "XXXX-XXXXXXXX-XXXXXXXX" }'Ответ
Anchor link toВ случае успеха возвращает HTTP 200 с пустым телом JSON.
{}Ошибки
Anchor link toОшибки используют стандартную оболочку ошибок gRPC-Gateway: { "code": ..., "message": ..., "details": [...] }.
| HTTP-статус | Условие |
|---|---|
400 | message_code отсутствует. |
400 | Сообщение не находится в состоянии, допускающем отмену (оно больше не в состоянии pending, waiting или processing). |
403 | Сообщение принадлежит другому аккаунту. |
404 | Сообщение с указанным message_code не существует. |
500 | Произошла внутренняя ошибка при загрузке сообщения или публикации отмены. Повторите запрос. |
Пример
Отмена несуществующего сообщения вернет HTTP 404:
{ "code": 5, "message": "message not found", "details": []}Проверка статуса сообщения
Anchor link toПеред отменой вы можете проверить, находится ли сообщение все еще в состоянии, допускающем отмену. Помимо просмотра столбца Статус в таблице сообщений в Control Panel (Кампании → Разовые сообщения), вы можете запросить статус программно с помощью messages:list:
- Передайте
message_codeв массивеfilters.messages_codes(вместе с обязательнымfilters.application). - Прочитайте поле
statusсоответствующей записи вitems[].