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