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

Как получить уведомление о прочтении входящего сообщения с телефона#

Для того чтобы получать уведомления о том, что входящее сообщение было прочитано на связанном устройстве необходимо воспользоваться следующим алгоритмом.

Содержание

  1. Установить необходимые настройки на инстансе
  2. Как просмотреть уведомление о прочетнии в вебхуках и журналах

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 // сообщение не было прочитано
    }