Перейти к содержанию

Отмена

POST https://api.pushwoosh.com/messaging/v2/cancel

Отменяет ранее созданное сообщение, идентифицированное по его message_code. Отмена доступна только в том случае, если сообщение находится в одном из следующих состояний:

  • pending: создано, но еще не взято в обработку для отправки.
  • waiting: запланировано для отправки в будущем.
  • processing: в настоящее время готовится к доставке.

Чтобы проверить, находится ли сообщение все еще в состоянии, допускающем отмену, см. Проверка статуса сообщения.

Запрос

Anchor link to

Аутентифицируйтесь с помощью вашего Server API token в заголовке Authorization: Token <API_TOKEN>.

ПолеТипОбязательноОписание
message_codestringДаКод сообщения, которое нужно отменить, возвращаемый методом Notify в result.message_code.

Пример запроса

Anchor link to
Terminal window
curl -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-статусУсловие
400message_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[].

Связанные материалы

Anchor link to