Статус отправленного сообщения#
Входящее уведомление данного типа содержит статус ранее отправленного сообщения: отправлено, доставлено, прочитано и др.
Настройка инстанса
Чтобы получать входящие уведомления о статусах отправленных сообщений, необходимо включить настройки одним из представленных вариантов:
-
Через личный кабинет включить настройки
Получать уведомления о сообщениях, отправленных с телефона
,Получать уведомления о сообщениях, отправленных через API
иПолучать уведомления о статусах отправки/доставки/прочтении исходящих сообщений
-
Через метод 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 - отправитель не является участником группового чата, в который выполняется отправка сообщения | ||
description | string | Описание ошибки (рекомендуется сделать информирование оператора об ошибках системы) |
sendByApi | boolean | Флаг указывает отправлено сообщение из API или нет, принимает значения: true , false |
Поля объекта instanceData
Параметр | Тип | Описание |
---|---|---|
idInstance | integer | Идентификатор инстанса. Размер integer равен int64. Значения лежат в диапазоне от 1 до 10 разрядов |
wid | string | Идентификатор аккаунта в формате WhatsApp |
typeInstance | string | Тип мессенджера для инстанса |
Пример тела уведомления со статусом sent#
{
"typeWebhook": "outgoingMessageStatus",
"chatId": "79876543210@c.us",
"instanceData": {
"idInstance": 1101111111,
"wid": "79876543210@c.us",
"typeInstance": "whatsapp"
},
"timestamp": 1727691478,
"idMessage": "3EB0608D6A2901063D63",
"status": "sent",
"sendByApi": true
}
Пример тела уведомления со статусом delivered#
{
"typeWebhook": "outgoingMessageStatus",
"chatId": "79876543210@c.us",
"instanceData": {
"idInstance": 1101111111,
"wid": "79876543210@c.us",
"typeInstance": "whatsapp"
},
"timestamp": 1727698517,
"idMessage": "3EB0608D6A2901063D63",
"status": "delivered",
"sendByApi": true
}
Пример тела уведомления со статусом read#
{
"typeWebhook": "outgoingMessageStatus",
"chatId": "79876543210@c.us",
"instanceData": {
"idInstance": 1101111111,
"wid": "79876543210@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": "notInGroup",
"sendByApi": true
}
Пример тела уведомления при отправке сообщения с пустым файлом через метод SendFileByUrl#
{
"typeWebhook": "outgoingMessageStatus",
"chatId": "120363347693198097@g.us",
"instanceData": {
"idInstance": 1234,
"wid": "11001234567@c.us",
"typeInstance": "whatsapp"
},
"timestamp": 1727760222,
"idMessage": "BAE5245994546A06",
"status": "failed",
"description": "file should not be empty. URL: ...",
"sendByApi": true
}
Пример тела уведомления при отправке сообщения с файлом, который недоступен по ссылке (SendFileByUrl)#
{
"typeWebhook": "outgoingMessageStatus",
"chatId": "120363347693198097@g.us",
"instanceData": {
"idInstance": 1234,
"wid": "11001234567@c.us",
"typeInstance": "whatsapp"
},
"timestamp": 1727760222,
"idMessage": "BAE5245994546A06",
"status": "failed",
"description": "upload request was failed with bad status code ([45][0-9]{2})...",
"sendByApi": true
}
или (могут встречаться оба)
{
"typeWebhook": "outgoingMessageStatus",
"chatId": "120363347693198097@g.us",
"instanceData": {
"idInstance": 1234,
"wid": "11001234567@c.us",
"typeInstance": "whatsapp"
},
"timestamp": 1727760222,
"idMessage": "BAE5245994546A06",
"status": "failed",
"description": "request was failed with bad status code ([45][0-9]{2})...",
"sendByApi": true
}
Пример тела уведомления при отправке сообщения с файлом, размер которого превышает 100 мб. (SendFileByUrl)#
{
"typeWebhook": "outgoingMessageStatus",
"chatId": "120363347693198097@g.us",
"instanceData": {
"idInstance": 1234,
"wid": "11001234567@c.us",
"typeInstance": "whatsapp"
},
"timestamp": 1727760222,
"idMessage": "BAE5245994546A06",
"status": "failed",
"description": "file size should not exceed 100 megabytes. URL: ...",
"sendByApi": true
}
Пример тела уведомление при отправке сообщения с файлом при недоступности медиахостов WhatsApp продолжительное время#
{
"typeWebhook": "outgoingMessageStatus",
"chatId": "120363347693198097@g.us",
"instanceData": {
"idInstance": 1234,
"wid": "11001234567@c.us",
"typeInstance": "whatsapp"
},
"timestamp": 1727760222,
"idMessage": "BAE5245994546A06",
"status": "failed",
"description": "Uploader Error",
"sendByApi": true
}
или (могут встречаться оба)
{
"typeWebhook": "outgoingMessageStatus",
"chatId": "120363347693198097@g.us",
"instanceData": {
"idInstance": 1234,
"wid": "11001234567@c.us",
"typeInstance": "whatsapp"
},
"timestamp": 1727760222,
"idMessage": "BAE5245994546A06",
"status": "failed",
"description": "failed to send message with file",
"sendByApi": true
}
Пример тела уведомление при отправке сообщения при недоступности хостов WhatsApp продолжительное время#
{
"typeWebhook": "outgoingMessageStatus",
"chatId": "120363347693198097@g.us",
"instanceData": {
"idInstance": 1234,
"wid": "11001234567@c.us",
"typeInstance": "whatsapp"
},
"timestamp": 1727760222,
"idMessage": "BAE5245994546A06",
"status": "failed",
"description": "Error: Timed Out",
"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: Connection Closed",
"sendByApi": true
}
Пример тела уведомления при отсутствии аккаунта WhatsApp на номере#
{
"typeWebhook": "outgoingMessageStatus",
"chatId": "79876543210@c.us",
"instanceData": {
"idInstance": 1101111111,
"wid": "79876543210@c.us",
"typeInstance": "whatsapp"
},
"timestamp": 1727759586,
"idMessage": "3EB0608D6A2901063D63",
"status": "noAccount",
"sendByApi": true
}
Пример тела уведомления с ошибкой SWE004#
{
"typeWebhook": "outgoingMessageStatus",
"chatId": "79876543210@c.us",
"instanceData": {
"idInstance": 1101111111,
"wid": "79876543210@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
}
Пример тела уведомления при редактировании сообщения отправленного более 15 минут назад#
{
"typeWebhook": "outgoingMessageStatus",
"chatId": "79001234567@c.us",
"instanceData": {
"idInstance": 1101000001,
"wid": "79001234567@c.us",
"typeInstance": "whatsapp"
},
"timestamp": 1739426932,
"idMessage": "BAE56687379D581D",
"status": "failed",
"description": "15 minute editing time gap has been expired",
"sendByApi": true
}