Почему статус сообщения в значении "sent"?#
Существует несколько возможных причин, по которым статус сообщения остается sent
:
-
Номер получателя находится оффлайн
- Телефон получателя выключен
- Отсутствие сигнала сотовой связи
- Отсутствие интернет-соединения, выключен мобильный интернет или отсутствует подключение к Wi-Fi
- Включен "Авиа-режим"/"В полете"
-
Номер отправителя был заблокирован получателем
Для получении уведомлении о добавлении вашего номера в список заблокированных контактов включите настройку
incomingBlockWebhook
с помощью метода SetSettings или в личном кабинете -
Получатель получил желтую карточку (сообщение не было доставлено)
Чтобы узнать больше о статусе желтой карточки рекомендуем прочитать статью "Что делать при получении статуса yellowCard?"
-
Сообщение было отправлено в группу только с одним участником или на чат с самим собой
-
Получатель использует неофициальную версию WhatsApp, где статус
sent
может сохраняться даже после получения сообщенияРешение:
Установить официальную версию WhatsApp -
Если сообщение было отправлено на неправильный номер или на номер телефона, который не имеет учетной записи WhatsApp, то сообщение остается в статусе
sent
Возможные сценарии появления чатов с неправильными номерами или без учетной записи WhatsApp:
- Отправитель ранее отправлял сообщения в чаты с использованием другого API, которое не проверяло существование аккаунта на номере.
- Получатель, у которого существовала аккаунт WhatsApp, удалил чат, при этом чат остался у отправителя.
- Осуществлялась рассылка из массива номеров без проверки наличия аккаунта WhatsApp, таким образом на устройстве отправителя появились неправильные чаты.
Решение:
- Удалить неправильные чаты или всю историю на телефоне. Повторно отсканировать QR-код. API получает всю историю из мобильного телефона в момент сканирования QR-кода.
- Выполнять обязательную проверку существования номера перед отправкой методом CheckWhatsapp. Перед отправкой сообщения выполнять проверку существования аккаунта WhatsApp на номере получателя.