GetMessage#
Метод возвращает сообщение чата.
Настройки
Чтобы получить входящее сообщение, включите настройку Получать уведомления о входящих сообщениях и файлах методом SetSettings или через личный кабинет.
Чтобы получить сообщения, отправленные с телефона включите настройку Получать уведомления о сообщениях, отправленных с телефона методом SetSettings или через личный кабинет.
Чтобы получить статус отправленного сообщения, включите настройку Получать уведомления о статусах отправленных сообщений методом SetSettings или через личный кабинет.
Отправленные и полученные сообщения до включения настроек не попадут в журнал.
Применение настроек занимает до 5 минут.
Появление сообщений в журнале может занимать время до 2 минут, методы журналов необходимо использовать только для получения истории переписки. Для быстрого получения сообщений необходимо использовать систему уведомлений.
Метод GetChatHistory возвращает только те сообщения, которые системе отдает WhatsApp.
Запрос#
Для получения сообщения требуется выполнить запрос по адресу:
POST {{apiUrl}}/waInstance{{idInstance}}/getMessage/{{apiTokenInstance}}
Для получения параметров запроса idInstance, apiTokenInstance и apiUrl обратитесь к разделу Перед началом работы.
Параметры запроса#
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
chatId | string | Да | Идентификатор личного чата, сообщение которого требуется получить |
idMessage | string | Да | ID сообщения |
Пример тела запроса#
Запрос сообщения:
{
"chatId": "79123456789@c.us",
"idMessage": "BAE5F4886F6F2D05"
}
Ответ#
Ответ содержит полученное или отправленное сообщение в чате.
Поля ответа#
Объект с полями:
| Поле | Тип | Описание |
|---|---|---|
type | string | Вид сообщения: outgoing - исходящее сообщение; incoming - входящее сообщение |
idMessage | string | Идентификатор входящего сообщения |
timestamp | integer | Время принятия сообщения в UNIX-формате |
statusMessage | string | Статус исходящего сообщения. Присутствует только для type = outgoing. Возможные значения: |
noAccount - нет аккаунта WhatsApp на номере телефона | ||
pending - сообщение отправляется | ||
sent - отправлено | ||
delivered - доставлено | ||
read - прочитано/просмотрено/прослушано | ||
failed - произошла ошибка при отправке сообщения на сервер WhatsApp. Закончились лимиты на отправку шаблонных сообщений | ||
noActiveSession - не открыто 24 часовое окно обслуживания для отправки сервисных сообщений | ||
sendByApi | boolean | Флаг указывает отправлено сообщение из API или нет. Присутствует только для type = outgoing |
typeMessage | string | Тип сообщения, возможные значения: |
textMessage - текстовое сообщение | ||
imageMessage - сообщение с изображением | ||
videoMessage - видео сообщение | ||
documentMessage - сообщение с файлом документа | ||
audioMessage - аудио сообщение | ||
reactionMessage - сообщение с реакцией. Не поддерживается | ||
locationMessage - сообщение геолокации | ||
contactMessage - сообщение с контактом | ||
contactsArrayMessage - сообщение с массивом контактов | ||
extendedTextMessage - сообщение со ссылкой и превью. Не поддерживается | ||
chatId | string | Идентификатор чата, в котором получено сообщение. |
senderId | string | Идентификатор отправителя сообщения. Присутствует только для type = incoming |
senderName | string | Имя отправителя сообщения. Присутствует только для type = incoming |
senderContactName | string | Имя отправителя из списка контактов текущего аккаунта. Присутствует только для type = incoming |
isForwarded | boolean | Флаг указывает является ли сообщение пересланным |
forwardingScore | integer | Количество пересылок сообщения |
textMessage | string | Текст сообщения, если typeMessage=textMessage |
downloadUrl | string | Ссылка на скачивание файла, если typeMessage = imageMessage /videoMessage/documentMessage/audioMessage |
caption | string | Описание файла, если typeMessage = imageMessage/videoMessage /documentMessage/audioMessage |
fileName | string | Название файла, если typeMessage = imageMessage/videoMessage /documentMessage/audioMessage. Поле заполняется корректно только для typeMessage = documentMessage, в остальных случаях название файла генерируется автоматически |
jpegThumbnail | string | Превью изображения в base64 кодировке, если typeMessage = imageMessage/videoMessage/documentMessage/audioMessage |
mimeType | string | Тип файла, согласно класификации Media Types, если typeMessage = imageMessage/videoMessage/documentMessage/audioMessage |
isAnimated | boolean | Флаг указывает анимирован ли файл, если typeMessage = imageMessage/videoMessage/documentMessage/audioMessage |
location | object | Объект о структуре локации, если typeMessage = locationMessage |
contact | object | Объект о структуре контакта, если typeMessage = contactMessage |
contacts | object | Объект о структуре контакта, если typeMessage = contactsArrayMessage |
Пример тела ответа#
Примеры тел ответа входящего сообщения#
Текстовое сообщение#
{
"type": "incoming",
"idMessage": "9DB14F14A253D33F4A9CD84123456789",
"timestamp": 1706522263,
"typeMessage": "textMessage",
"chatId": "79123456789@c.us",
"textMessage": "Привет",
"senderId": "79123456789@c.us",
"senderName": "79123456789",
"senderContactName": "79123456789",
"deletedMessageId": "",
"editedMessageId": "",
"isEdited": false,
"isDeleted": false
}
Сообщение с документом или медиа#
{
"type": "incoming",
"idMessage": "EAAE5A5CD000000000",
"timestamp": 1706601620,
"typeMessage": "imageMessage", //"videoMessage"/`documentMessage`/`audioMessage`
"chatId": "79123456789@c.us",
"downloadUrl": "https://api.green-api.com/waInstance1234/downloadFile/EA1BD1AE042DC4F3609867126309D67C.jpg",
"caption": "Как тебе?",
"fileName": "03963bac-6020-423c-80df-1aa123456789.jpg",
"jpegThumbnail": "/9j/4AAQSkZJ/aAAgBAwEBPwCVYw//xAApEAACAx/2kOVh/VKAoAH/leFhX//+AAMA/9k=",
"mimeType": "image/jpeg",
"isAnimated": false,
"isForwarded": true,
"forwardingScore": 1,
"senderId": "79123456789@c.us",
"senderName": "79123456789",
"senderContactName": "79123456789",
"deletedMessageId": "",
"editedMessageId": "",
"isEdited": false,
"isDeleted": false
}
Сообщение с геолокацией#
{
"type": "incoming",
"idMessage": "3A8427EF85F000000000",
"timestamp": 1706674611,
"typeMessage": "locationMessage",
"chatId": "70000000012@c.us",
"location": {
"nameLocation": "Cafe",
"address": "Астана",
"jpegThumbnail": "/9j/4AAQSkZJRgABAQAASABIAAD/4QBYRX",
"latitude": 51.1280000000000,
"longitude": 71.4307620000000,
"forwardingScore": 0,
"isForwarded": false
},
"senderId": "79123456789@c.us",
"senderName": "79123456789",
"senderContactName": "79123456789",
"deletedMessageId": "",
"editedMessageId": "",
"isEdited": false,
"isDeleted": false
}
Сообщение с контактом#
{
"type": "incoming",
"idMessage": "3AA2C1D83560000000000",
"timestamp": 1706675513,
"typeMessage": "contactMessage",
"chatId": "70000000012@c.us",
"contact": {
"displayName": "Виктор Петров",
"vcard": "BEGIN:VCARD\nVERSION:3.0\nN:;Виктор Петров;;;\nFN:Виктор Петров\nTEL;type=CELL;type=VOICE;waid=70000000013:+7 000 000-00-13\nEND:VCARD",
"forwardingScore": 0,
"isForwarded": false
},
"senderId": "79123456789@c.us",
"senderName": "79123456789",
"senderContactName": "79123456789",
"deletedMessageId": "",
"editedMessageId": "",
"isEdited": false,
"isDeleted": false
}
Сообщение с массивом контактов#
{
"type": "incoming",
"idMessage": "3AA2C1D83560000000000",
"timestamp": 1706675513,
"typeMessage": "contactsArrayMessage",
"chatId": "70000000012@c.us",
"messageData": {
"contacts": [
{
"displayName": "Иван Иванов",
"vcard": "BEGIN:VCARD\nVERSION:3.0\nN:;Иван Иванов;;;\nFN:Иван Иванов\nORG:Иван Иванов\nTITLE:\nTEL;type=Mobile:+7 912 345-56-78\nEND:VCARD",
"contextInfo": null
},
{
"displayName": "Василий",
"vcard": "BEGIN:VCARD\nVERSION:3.0\nN:;Василий;;;\nFN:Василий\nTEL;type=Mobile;waid=79123456799:+7 912 345-67-99\nEND:VCARD",
"contextInfo": null
}
],
"forwardingScore": 0,
"isForwarded": false
},
"senderId": "79123456789@c.us",
"senderName": "79123456789",
"senderContactName": "79123456789",
"deletedMessageId": "",
"editedMessageId": "",
"isEdited": false,
"isDeleted": false
}
Примеры тел ответа исходящего сообщения#
Текстовое сообщение#
{
"type": "outgoing",
"idMessage": "BAE5143000000000",
"timestamp": 1706761225,
"typeMessage": "textMessage",
"chatId": "70000000012@c.us",
"textMessage": "Привет",
"statusMessage": "delivered",
"sendByApi": false,
"deletedMessageId": "",
"editedMessageId": "",
"isEdited": false,
"isDeleted": false
}
Медиа и файловые сообщения#
{
"type": "outgoing",
"idMessage": "BAE5F94000000000",
"timestamp": 1706765613,
"typeMessage": "imageMessage", //"videoMessage"/`documentMessage`/`audioMessage`
"chatId": "70000000012@c.us",
"downloadUrl": "https://api.green-api.com/waInstance1234/downloadFile/3EB0BDDC94BFDFB3D4FA.jpg",
"caption": "Как тебе?",
"fileName": "b89ded5e-1a3b-4168-895a-540123456789.jpg",
"jpegThumbnail": "/9j/4AAQSkZJRgABAQAAAQABAAD/FFFCF//Z",
"mimeType": "image/jpeg",
"isAnimated": false,
"isForwarded": true,
"forwardingScore": 2,
"statusMessage": "delivered",
"sendByApi": false,
"deletedMessageId": "",
"editedMessageId": "",
"isEdited": false,
"isDeleted": false
}
Сообщение с геолокацией#
{
"type": "outgoing",
"idMessage": "BAE5870000000000",
"timestamp": 1706761414,
"typeMessage": "locationMessage",
"chatId": "70000000012@c.us",
"location": {
"nameLocation": "Cafe",
"address": "Астана",
"jpegThumbnail": "/9j/4AAQSkZJRgABAQAASABIAAD/4QBYRX",
"latitude": 51.1280000000000,
"longitude": 71.4307620000000,
"forwardingScore": 0,
"isForwarded": false
},
"statusMessage": "delivered",
"sendByApi": false,
"deletedMessageId": "",
"editedMessageId": "",
"isEdited": false,
"isDeleted": false
}
Сообщение с контактом#
{
"type": "outgoing",
"idMessage": "F39F2DCE000000000",
"timestamp": 1706762400,
"typeMessage": "contactMessage",
"chatId": "70000000012@c.us",
"contact": {
"displayName": "Виктор Петров",
"vcard": "BEGIN:VCARD\nVERSION:3.0\nN:;Виктор Петров;;;\nFN:Виктор Петров\nTEL;type=CELL;type=VOICE;waid=70000000013:+7 000 000-00-13\nEND:VCARD",
"forwardingScore": 0,
"isForwarded": false
},
"statusMessage": "delivered",
"sendByApi": false,
"deletedMessageId": "",
"editedMessageId": "",
"isEdited": false,
"isDeleted": false
}
Сообщение с массивом контактов#
{
"type": "outgoing",
"idMessage": "AC3C8F45EA99087477B34C8964AEB8D8",
"timestamp": 1764056445,
"typeMessage": "contactsArrayMessage",
"chatId": "79123456789@c.us",
"messageData": {
"contacts": [
{
"displayName": "Иван Иванов",
"vcard": "BEGIN:VCARD\nVERSION:3.0\nN:;Иван Иванов;;;\nFN:Иван Иванов\nORG:Иван Иванов\nTITLE:\nTEL;type=Mobile:+7 912 345-56-78\nEND:VCARD",
"contextInfo": null
},
{
"displayName": "Василий",
"vcard": "BEGIN:VCARD\nVERSION:3.0\nN:;Василий;;;\nFN:Василий\nTEL;type=Mobile;waid=79123456799:+7 912 345-67-99\nEND:VCARD",
"contextInfo": null
}
],
"forwardingScore": 0,
"isForwarded": false
},
"statusMessage": "delivered",
"sendByApi": false,
"deletedMessageId": "",
"editedMessageId": "",
"isEdited": false,
"isDeleted": false
}
Ошибки GetMessage#
Перечень общих для всех методов ошибок смотрите в разделе Стандартные ошибки
| Код HTTP | Идентификатор ошибки | Описание |
|---|---|---|
| 400 | chatId not found | chatID не найдено |
| 400 | ID message notfound | IDMessage не найдено |
Примеры кода#
import requests
url = "{{apiUrl}}/waInstance{{idInstance}}/getMessage/{{apiTokenInstance}}"
payload = "{\r\n\"chatId\": \"79123456789@c.us\, \"idMessage\": \"BAE5F4886F6F2D05\" \"r\n}"
headers = {
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data = payload)
print(response.text.encode('utf8'))
curl --location '{{apiUrl}}/waInstance{{idInstance}}/getMessage/{{apiTokenInstance}}' \
--header 'Content-Type: application/json' \
--data-raw '{
"chatId": "11001234567@c.us",
"idMessage": "BAE5F4886F6F2D05"
}'
var restTemplate = new RestTemplate();
var requestUrl = new StringBuilder();
requestUrl
.append({{apiUrl}})
.append("/waInstance").append({{idInstance}})
.append("/getMessage/")
.append({{apiTokenInstance}});
var headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
var jsonBody = "{\"chatId\": \"11001234567@c.us\",\"idMessage\": \"BAE5F4886F6F2D05\"}";
var requestEntity = new HttpEntity<>(jsonBody, headers);
var response = restTemplate.exchange(requestUrl.toString(), HttpMethod.POST, requestEntity, String.class);
System.out.println(response);
var requestUrl = new StringBuilder();
requestUrl
.append({{apiUrl}})
.append("/waInstance").append({{idInstance}})
.append("/getMessage/")
.append({{apiTokenInstance}});
var response = Unirest.post(requestUrl.toString())
.header("Content-Type", "application/json")
.body("{\"chatId\": \"11001234567@c.us\",\"idMessage\": \"BAE5F4886F6F2D05\"}")
.asString();
System.out.println(response);
Sub GetMessage()
Dim url As String
Dim RequestBody As String
Dim http As Object
Dim response As String
' The idInstance and apiTokenInstance values are available in your account, double brackets must be removed
url = "https://api.green-api.com/waInstance{{idInstance}}/getMessage/{{apiTokenInstance}}"
' chatId - identifier of the personal chat whose message you want to receive, idMessage - message ID
RequestBody = "{""chatId"":""71234567890@c.us"",""idMessage"":""BAE123EEF6BD09C7""}"
Set http = CreateObject("MSXML2.XMLHTTP")
With http
.Open "POST", url, False
.setRequestHeader "Content-Type", "application/json"
.send RequestBody
End With
response = http.responseText
Debug.Print response
' Outputting the answer to the desired cell
Range("A1").Value = response
Set http = Nothing
End Sub