Статус отправленного сообщения#
Входящее уведомление данного типа содержит статус ранее отправленного сообщения: отправлено, доставлено, прочитано и др.
Настройка инстанса
Чтобы получать входящие уведомления о статусах отправленных сообщений, необходимо включить настройки одним из представленных вариантов:
-
Через личный кабинет включить настройки
Получать уведомления о сообщениях, отправленных с телефона
,Получать уведомления о сообщениях, отправленных через АПИ
иПолучать уведомления о статусах отправки/доставки/прочтении исходящих сообщений
-
Через метод 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
}