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

Статус отправленного сообщения#

Входящее уведомление данного типа содержит статус ранее отправленного сообщения: отправлено, доставлено, прочитано и др.

Настройка инстанса

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

  1. Через личный кабинет включить настройки Получать уведомления о сообщениях, отправленных с телефона, Получать уведомления о сообщениях, отправленных через АПИ и Получать уведомления о статусах отправки/доставки/прочтении исходящих сообщений

  2. Через метод SetSettings включить настройки outgoingMessageWebhook,outgoingAPIMessageWebhookиoutgoingWebhook`

Подробнее о статусах отправленных сообщений в WhatApp читайте в нашей статье

Уведомление#

Формат уведомления#

Параметр Тип Описание
typeWebhook string Тип входящего уведомления. Для уведомлений данного типа поле принимает значение outgoingMessageStatus
chatId string Идентификатор чата. Чат с сообщением по которому получили статус.
instanceData object Данные об инстансе
timestamp integer Время наступления события в UNIX-формате
idMessage string Идентификатор отправленного сообщения или файла. Идентификатор отправленного сообщения возвращается методами: SendMessage, SendFileByUrl, SendFileByUpload, SendLocation, SendContact, SendPoll
status string Статус отправленного сообщения или файла. Статус принимает значения:
sent - сообщение отправлено
delivered - сообщение доставлено до получателя
read - сообщение прочитано/просмотрено/прослушано
failed - произошла ошибка при отправке сообщения на сервер WhatsApp (данный статус невозможно отключить в настройках SetSettings, необходимо обязательно реализовать обработку данного уведомления)
noAccount - на номере телефона получателя не зарегистрирован аккаунт WhatsApp (данный статус невозможно отключить в настройках SetSettings, необходимо обязательно реализовать обработку данного уведомления)
notInGroup - отправитель не является участником группового чата, в который выполняется отправка сообщения
yellowCard - приостановка отправки сообщений из-за спамерской активности. Сообщения отправленные после получения статуса хранятся в очереди к отправке 24 часа. Для продолжения работы инстанса требуется сделать перезагрузку инстанса
description string Описание ошибки (рекомендуется сделать информирование оператора об ошибках системы)
sendByApi boolean Флаг указывает отправлено сообщение из API или нет, принимает значения: true , false

Поля объекта instanceData

Параметр Тип Описание
idInstance integer Идентификатор инстанса. Размер integer равен int64. Значения лежат в диапазоне от 1 до 10 разрядов
wid string Идентификатор аккаунта в формате WhatsApp
typeInstance string Тип мессенджера для инстанса

Пример тела уведомления со статусом sent#

{
    "typeWebhook": "outgoingMessageStatus",
        "chatId": "11001234567890@c.us",
        "instanceData": {
            "idInstance": 1234,
            "wid": "11001234567@c.us",
            "typeInstance": "whatsapp"
        },
        "timestamp": 1727691478,
        "idMessage": "3EB0608D6A2901063D63",
        "status": "sent",
        "sendByApi": true
}

Пример тела уведомления со статусом delivered#

{
    "typeWebhook": "outgoingMessageStatus",
        "chatId": "11001234567890@c.us",
        "instanceData": {
            "idInstance": 1234,
            "wid": "11001234567@c.us",
            "typeInstance": "whatsapp"
        },
        "timestamp": 1727698517,
        "idMessage": "3EB0608D6A2901063D63",
        "status": "delivered",
        "sendByApi": true
}

Пример тела уведомления со статусом read#

{
    "typeWebhook": "outgoingMessageStatus",
        "chatId": "11001234567890@c.us",
        "instanceData": {
            "idInstance": 1234,
            "wid": "11001234567@c.us",
            "typeInstance": "whatsapp"
        },
        "timestamp": 1727698597,
        "idMessage": "3EB0608D6A2901063D63",
        "status": "read",
        "sendByApi": true
}

Пример тела уведомления при отправке в группу, в которой не состоит отправитель#

{
    "typeWebhook": "outgoingMessageStatus",
        "chatId": "120363347693198097@g.us",
        "instanceData": {
            "idInstance": 1234,
            "wid": "11001234567@c.us",
            "typeInstance": "whatsapp"
        },
        "timestamp": 1727760222,
        "idMessage": "BAE5245994546A06",
        "status": "failed",
        "description": "Error: item-not-found",
        "sendByApi": true
}

Пример тела уведомления при отсутствии аккаунта WhatsApp на номере#

{
    "typeWebhook": "outgoingMessageStatus",
        "chatId": "11001234567890@c.us",
        "instanceData": {
            "idInstance": 1234,
            "wid": "11001234567@c.us",
            "typeInstance": "whatsapp"
        },
        "timestamp": 1727759586,
        "idMessage": "3EB0608D6A2901063D63",
        "status": "noAccount",
        "sendByApi": true
}

Пример тела уведомления с ошибкой SWE004#

{
    "typeWebhook": "outgoingMessageStatus",
        "chatId": "11001234567890@c.us",
        "instanceData": {
            "idInstance": 1234,
         "wid": "11001234567@c.us",
            "typeInstance": "whatsapp"
        },
    "timestamp": 1586700802,
    "idMessage": "3EB0608D6A2901063D63",
    "status": "failed",
    "description":"SWE004: the number of participants in the group has been exceeded - 706", // 706 - количество участников в группе
    "sendByApi": true
}