GetMessage#
Метод возвращает сообщение чата.
Для метода используются ограничения на частоту запросов в секунду.
Запрос#
Для получения сообщения требуется выполнить запрос по адресу:
 POST    
 {{apiUrl}}/v3/waInstance{{idInstance}}/getMessage/{{apiTokenInstance}}
Для получения параметров запроса apiUrl, idInstance и apiTokenInstance обратитесь к разделу Перед началом работы.
Параметры запроса#
| Параметр | Тип | Обязательный | Описание | 
|---|---|---|---|
chatId |  string | Да | Идентификатор личного или группового чата, сообщение которого требуется получить | 
idMessage |  string | Да | ID сообщения | 
Пример тела запроса#
Запрос сообщения:
{
  "chatId": "10000000",
  "idMessage": "115206687571465794"
}
Ответ#
Ответ содержит полученное или отправленное сообщение из чата.
Поля ответа#
Объект с полями:
| Поле | Тип | Описание | 
|---|---|---|
type |  string | Вид сообщения: outgoing - исходящее сообщение; incoming - входящее сообщение |  
idMessage |  string | Идентификатор входящего сообщения | 
timestamp |  integer | Время принятия сообщения в UNIX-формате | 
statusMessage |  string | Статус исходящего сообщения. Присутствует только для type = outgoing. Возможные значения: |  
sent - отправлено |  ||
delivered - доставлено |  ||
read - прочитано/просмотрено/прослушано |  ||
sendByApi |  boolean | Флаг указывает отправлено сообщение из API или нет. Присутствует только для type = outgoing |  
typeMessage |  string | Тип сообщения, возможные значения: | 
textMessage - текстовое сообщение |  ||
chatId |  string | Идентификатор чата, в котором получено сообщение. | 
senderId |  string | Идентификатор отправителя сообщения. Присутствует только для type = incoming |  
senderName |  string | Имя отправителя сообщения. Присутствует только для type = incoming |  
senderContactName |  string | Имя отправителя из списка контактов телефонной книги. Присутствует только для type = incoming |  
isForwarded |  boolean | Флаг указывает является ли сообщение пересланным | 
forwardingScore |  integer | Количество пересылок сообщения | 
textMessage |  string | Текст сообщения, если typeMessage=textMessage/extendedTextMessage |  
downloadUrl |  string | Ссылка на скачивание файла, если typeMessage = imageMessage /videoMessage/documentMessage/audioMessage |  
caption |  string | Описание файла, если typeMessage = imageMessage/videoMessage /documentMessage |  
fileName |  string | Название файла, если typeMessage = imageMessage/videoMessage /documentMessage. Поле заполняется корректно только для typeMessage = documentMessage, в остальных случаях название файла генерируется автоматически |  
jpegThumbnail |  string | Превью изображения в base64 кодировке, если typeMessage = imageMessage/videoMessage/documentMessage |  
mimeType |  string | Тип файла, согласно класификации Media Types, если typeMessage = imageMessage/videoMessage/documentMessage/ |  
isAnimated |  boolean | Флаг указывает анимирован ли файл, если typeMessage = imageMessage/videoMessage/documentMessage/audioMessage |  
Поля объекта extendedTextMessage:
| Поле | Тип | Описание | 
|---|---|---|
text |  string | Текст ссылки | 
description |  string | Описание ссылки | 
title |  string | Заголовок ссылки | 
jpegThumbnail |  string | Превью изображения в base64 кодировке |  
isForwarded |  boolean | Флаг указывает является ли сообщение пересланным | 
forwardingScore |  integer | Количество пересылок сообщения | 
Поля объекта extendedTextMessageData:
| Поле | Тип | Описание | 
|---|---|---|
text |  string | Реакция (эмоджи) на сообщение | 
Пример тела ответа#
Примеры тел ответа входящего сообщения#
Текстовое сообщение#
    {
        "type": "incoming",
        "idMessage": "115206687571465794",
        "timestamp": 1706522263,
        "typeMessage": "textMessage",
        "chatId": "10000000",
        "textMessage": "Я использую GREEN-API для отправки этого сообщения!",
        "senderId": "10000000",
        "senderName": "Ходабрыш Пробешёлов",
        "senderContactName": "Ходабрыш Пробешёлов"
    }
Примеры тел ответа исходящего сообщения#
Текстовое сообщение#
{
    "type": "outgoing",
    "idMessage": "115206687571465794",
    "timestamp": 1755178760,
    "typeMessage": "extendedTextMessage",
    "chatId": "10000000",
    "textMessage": "Я использую GREEN-API для отправки этого сообщения!",
    "extendedTextMessage": {
        "text": "Я использую GREEN-API для отправки этого сообщения!",
        "description": "",
        "title": "",
        "forwardingScore": 0,
        "isForwarded": false
    },
    "statusMessage": "delivered",
    "sendByApi": true,
}
Ошибки GetMessage#
Перечень общих для всех методов ошибок смотрите в разделе Стандартные ошибки
| Код HTTP | Идентификатор ошибки | Описание | 
|---|---|---|
| 400 | Bad RequestValidation failed |  Ошибка валидации | 
| 400 | Validation failed.Details: 'idMessage' is not allowed to be empty |  Ошибка валидации. Поле idMessage не должно быть пустым |  
| 400 | Validation failed.Details: 'message id' must be at least 16 symbols |  Ошибка валидации. Поле idMessage должно содержать минимум 16 символов |  
| 400 | chatId not found |  chatID не найдено. Какие могут быть причины: 1. Сообщение все еще находится в очереди сообщений, и система не успела его обработать. Вы можете запросить метод ShowMessagesQueue для проверки сообщений.  |  
| 400 | Message not found by id '{{idMessage}}' |  IDMessage не найдено. Какие могут быть причины: 1. Сообщение все еще находится в очереди сообщений, и система не успела его обработать. Вы можете запросить метод ShowMessagesQueue для проверки сообщений. 2. Неверно указан чат, номер сообщения или инстанс на котором происходит запрос сообщения.  |  
Примеры кода#
import requests
url = "{{apiUrl}}/v3/waInstance{{idInstance}}/getMessage/{{apiTokenInstance}}"
payload = "{\r\n\"chatId\": \"10000000\, \"idMessage\": \"115206687571465794\" \"r\n}"
headers = {
  'Content-Type': 'application/json'
}
response = requests.post(url, json=payload)
print(response.text.encode('utf8'))
curl --location '{{apiUrl}}/v3/waInstance{{idInstance}}/getMessage/{{apiTokenInstance}}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "chatId": "10000000",
    "idMessage": "115206687571465794"
}'
var restTemplate = new RestTemplate();
var requestUrl = new StringBuilder();
requestUrl
    .append({{apiUrl}})
    .append("/v3/waInstance").append({{idInstance}})
    .append("/getMessage/")
    .append({{apiTokenInstance}});
var headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
var jsonBody = "{\"chatId\": \"10000000\",\"idMessage\": \"115206687571465794\"}";
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("/v3/waInstance").append({{idInstance}})
    .append("/getMessage/")
    .append({{apiTokenInstance}});
var response = Unirest.post(requestUrl.toString())
    .header("Content-Type", "application/json")
    .body("{\"chatId\": \"10000000\",\"idMessage\": \"115206687571465794\"}")
    .asString();
System.out.println(response);
Sub GetMessage()
    Dim url As String
    Dim RequestBody As String
    Dim http As Object
    Dim response As String
    ' The apiUrl, idInstance and apiTokenInstance values are available in console, double brackets must be removed
    url = "{{apiUrl}}/v3/waInstance{{idInstance}}/getMessage/{{apiTokenInstance}}"
    ' chatId - identifier of the personal or group chat whose message you want to receive, idMessage - message ID
    RequestBody = "{""chatId"":""10000000"",""idMessage"":""115206687571465794""}"
    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