Перейти к основному содержимому

Уточнения статуса

Статус говорит, что случилось с сообщением, уточнение — почему. Это двухуровневый код источник.причина, который отдаётся рядом со статусом:

Первый уровень называет, где причина, а не статус: recipient — на стороне абонента, sender — отправитель, template — шаблон, content — содержимое сообщения, policy — правила мессенджера, channel — канал доставки. Поэтому REJECTED с recipient.no_viber_user читается как «отклонено, потому что у абонента нет Viber».

Правила:

  • Уточнение есть, только когда причина известна. Иначе такого поля нет, и ответ ровно прежний.
  • Сам статус не меняется: уточнение добавляется рядом со статусом, который у сообщения уже есть.
  • Уточнение относится к каналу, по которому идёт сообщение. Если недоставленное сообщение Viber переотправлено по SMS, причина Viber к нему больше не относится, и уточнение пропадает.
  • Новые коды со временем добавляются, существующие не переименовываются. Незнакомый код считайте «уточнения нет» и продолжайте обрабатывать статус.
КодОписание
recipient.no_viber_userНа номере нет Viber
recipient.no_whatsapp_userНомер не принимает WhatsApp: мессенджера нет или он устарел
recipient.blocked_senderАбонент заблокировал отправителя
recipient.opted_outАбонент отказался от рекламных сообщений
recipient.no_suitable_deviceНет устройства абонента, способного принять сообщение
policy.marketing_limitМессенджер ограничил рекламные сообщения этому абоненту
policy.outside_service_windowWhatsApp: прошло 24 часа с последнего сообщения абонента — отправьте шаблон
sender.not_permittedОтправитель не подтверждён или ему запрещена отправка
sender.message_type_not_allowedЭтот тип сообщений запрещён для отправителя
template.not_foundШаблон не найден
template.unavailableШаблон приостановлен или отключён
template.parameters_mismatchПараметры не соответствуют шаблону
content.spamЗаблокировано как спам
content.blacklisted_wordТекст содержит запрещённое слово
content.invalid_textТекст пустой или слишком длинный
content.invalid_mediaОшибка во вложении: изображении, видео, файле или подписи
content.invalid_buttonОшибка в кнопке или её ссылке
content.invalid_carouselОшибка в карусели
content.invalid_parametersПрочие некорректные параметры сообщения
channel.no_routeНет маршрута доставки до номера
channel.provider_errorСбой на стороне канала доставки

Пример — статус в JSON для сообщения Viber, не доставленного потому, что на номере нет Viber:

{
"msg_id": 123456789,
"type": "viber",
"status": "REJECTED",
"success": false,
"updated": "2026-10-20T12:34:00+03:00",
"status_detail": "recipient.no_viber_user"
}