Как получить уведомление о прочтении входящего сообщения с телефона#
Для того чтобы получать уведомления о том, что входящее сообщение было прочитано на связанном устройстве необходимо воспользоваться следующим алгоритмом.
Содержание
- Установить необходимые настройки на инстансе
- Как просмотреть уведомление о прочетнии в вебхуках и журналах
1. Установить необходимые настройки на инстансе#
-
Выключить настройку
markIncomingMessagesReadedметодом SetSettings указав в полеmarkIncomingMessagesReadedзначениеnoили в личном кабинете в настройках инстанса необходимо установить в поле Отмечать входящие сообщения прочитаннымив положение Нет -
Включить настройки
incomingWebhookиincomingMessageStatusWebhookметодом SetSettings или в личном кабинете в настройках инстанса.
2. Как просмотреть уведомление о прочетнии в вебхуках и журналах#
Обязательные настройки и ограничения
Убедитесь, что применены все настройки, указанные в пункте 1.
За один вызов можно прочитать не более 100 входящих сообщений. Если непрочитанных сообщений больше, необходимо выполнить метод несколько раз.
В ответ метода getChats добавлено поле unreadCount, которое показывает количество непрочитанных сообщений в чате.
При использовании метода readChat сообщения помечаются как прочитанные в журнале. Если idMessage не указан, прочитываются все сообщения чата. Если idMessage указан, сообщения прочитываются до указанного сообщения включительно.
Пример входящего уведомления#
{
"typeWebhook": "incomingMessageStatus",
"chatId": "79876543210@c.us",
"instanceData": {
"idInstance": 1234,
"wid": "79876543210@c.us",
"typeInstance": "whatsapp"
},
"timestamp": 1586700802, // время прочтения сообщения
"idMessage": "BAE550673B9C04973",
"status": "read", // Сообщение было прочитано
"sendByApi": false
}
Пример входящего журнала#
{
"type": "incoming",
"idMessage": "BAE550673B9C04973",
"timestamp": 1713332139,
"typeMessage": "textMessage",
"chatId": "79876543210@c.us",
"textMessage": "Я использую GREEN-API.",
"senderId": "79876543210@c.uss",
"senderName": "Иван Царевич",
"senderContactName": "Иван Царевич",
"isRead": true, // сообщение было прочитано
"isReadTimestamp": 1713332139
},
{
"type": "incoming",
"idMessage": "BAE550673B9C04973",
"timestamp": 1713332139,
"typeMessage": "textMessage",
"chatId": "79876543210@c.us",
"textMessage": "Я использую GREEN-API.",
"senderId": "79876543210@c.uss",
"senderName": "Иван Царевич",
"senderContactName": "Иван Царевич",
"isRead": false // сообщение не было прочитано
}