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

GetMessage#

Test Postman

Метод возвращает сообщение чата.

Для метода используются ограничения на частоту запросов в секунду.

Запрос#

Для получения сообщения требуется выполнить запрос по адресу:

POST
{{apiUrl}}/waInstance{{idInstance}}/getMessage/{{apiTokenInstance}}

Для получения параметров запроса apiUrl, idInstance и apiTokenInstance обратитесь к разделу Перед началом работы.

Параметры запроса#

Параметр Тип Обязательный Описание
chatId string Да Идентификатор личного или группового чата, сообщение которого требуется получить
idMessage string Да ID сообщения

Пример тела запроса#

Запрос сообщения:

{
  "chatId": "10000000",
  "idMessage": "1769676078000"
}

Ответ#

Поля ответа#

Поле Тип Описание
type string Вид сообщения:
- outgoing - исходящее сообщение;
- incoming - входящее сообщение
idMessage string Идентификатор входящего сообщения
timestamp integer Время принятия сообщения в UNIX-формате
statusMessage string Статус исходящего сообщения. Только для type = outgoing.
Возможные значения:
- delivered - доставлено
- read - прочитано/просмотрено/прослушано
sendByApi boolean Флаг отправки через API. Только для type = outgoing
typeMessage string Тип сообщения, возможные значения: textMessage/imageMessage/videoMessage /documentMessage/ audioMessage/pollMessage/locationMessage
chatId string Идентификатор чата, в котором получено сообщение.
chatType string Тип чата. Возможные значения: "user", "group", "supergroup", "channel", "bot"
senderName string Имя отправителя сообщения. Только для type = incoming
senderType string Тип отправителя. Возможные значения: "user", "group", "supergroup", "channel", "bot". Только для type = incoming
senderContactName string Имя отправителя из списка контактов телефонной книги. Только для type = incoming
isForwarded boolean Флаг пересланного сообщения, true/false
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
jpegThumbnail string Превью изображения в base64 кодировке, если typeMessage = imageMessage/videoMessage/documentMessage , audioMessage
mimeType string Тип файла, согласно класификации Media Types, если typeMessage = imageMessage/videoMessage/documentMessage/ audioMessage
isAnimated boolean Флаг анимированного файла, true/false.
Присутствует если typeMessage = imageMessage/videoMessage/documentMessage/audioMessage

Пример тела ответа#

Примеры тел ответа входящего сообщения#

Текстовое сообщение#
{
  "type": "incoming",
  "idMessage": "1769676078000",
  "timestamp": 1769676078,
  "typeMessage": "textMessage",
  "chatId": "10000000",
  "chatType": "user",
  "textMessage": "Я использую GREEN-API для отправки этого сообщения!",
  "senderId": "10000000",
  "senderName": "Василиса Премудрая",
  "senderType": "user",
  "senderContactName": "Василиса Премудрая",
  "deletedMessageId": "",
  "editedMessageId": "",
  "isEdited": false,
  "isDeleted": false
}
Сообщение с документом или медиа#
{
  "type": "incoming",
  "idMessage": "1769676078000",
  "timestamp": 1706601620,
  "typeMessage": "imageMessage", //"videoMessage"/`documentMessage`/`audioMessage`/`stickerMessage`
  "chatId": "-10000000000000",
  "chatType": "supergroup",
  "downloadUrl": "https://4100.api.green-api.com/download/4100/609867126309D67C.jpg",
  "caption": "Как тебе?",
  "fileName": "1706601620.jpg",
  "jpegThumbnail": "/9j/4AAQSkZJ/aAAgBAwEBPwCVYw//xAApEAACAx/2kOVh/VKAoAH/leFhX//+AAMA/9k=",
  "mimeType": "image/jpeg",
  "isAnimated": false,
  "isForwarded": true,
  "forwardingScore": 1,
  "senderId": "100000000",
  "senderName": "Василиса Премудрая",
  "senderType": "user",
  "senderContactName": "Василиса",
  "videoNote": true,
  "isEdited": false,
  "isDeleted": false
}
Сообщение с видео#

Поле videoNote принимает значение true - для мгновенного видео сообщения и false для обычного видео сообщения

{
    "type": "incoming",
    "idMessage": "1769676078000",
    "timestamp": 1741243696,
    "typeMessage": "videoMessage",
    "chatId": "100000000",
    "chatType": "bot",
    "downloadUrl": "https://4100.api.green-api.com/download/4100/609867126309D67C.92c70.mp4",
    "caption": "",
    "fileName": "1741243696.mp4",
    "jpegThumbnail": "",
    "mimeType": "video/mp4",
    "isAnimated": false,
    "isForwarded": false,
    "forwardingScore": 0,
    "senderId": "100000000",
    "senderName": "Иван Царевич",
    "senderType": "bot",
    "senderContactName": "Иван",
    "videoNote": true,
    "editedMessageId": "",
    "deletedMessageId": "",
    "videoNote": true,
    "isEdited": false,
    "isDeleted": false
},
Cообщение с реакцией#
{
  "type": "incoming",
  "idMessage": "1769676078000",
  "timestamp": 1706601621,
  "typeMessage": "reactionMessage",
  "chatId": "100000000",
  "chatType": "user",
  "extendedTextMessageData": {
    "text": "😄"
  },
  "quotedMessage": {
    "stanzaId": "1769680453000",
    "participant": "100000000"
  },
  "senderId": "70000000013@c.us",
  "senderName": "Василиса Премудрая",
  "senderType": "user",
  "senderContactName": "Василиса"
}
Сообщение с геолокацией#
{
  "type": "incoming",
  "idMessage": "1769676078000",
  "timestamp": 1706674611,
  "typeMessage": "locationMessage",
  "chatId": "100000000",
  "chatType": "user",
  "location": {
    "latitude": 51.128,
    "longitude": 71.430762,
    "forwardingScore": 0,
    "isForwarded": false
  },
  "senderId": "100000000",
  "senderName": "Василиса Премудрая",
  "senderType": "user",
  "senderContactName": "Василиса"
}
Сообщение с контактом#
{
  "type": "incoming",
  "idMessage": "1769676078000",
  "timestamp": 1706675513,
  "typeMessage": "contactMessage",
  "chatId": "100000000",
  "chatType": "user",
  "contact": {
    "chatId": "",
    "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": "100000000",
  "senderName": "Василиса Премудрая",
  "senderType": "user",
  "senderContactName": "Василиса"
}

Примеры тел ответа исходящего сообщения#

Текстовое сообщение#
{
  "type": "outgoing",
  "idMessage": "1769676078000",
  "timestamp": 1755178760,
  "typeMessage": "textMessage",
  "chatId": "10000000",
  "chatType": "user",
  "textMessage": "Я использую GREEN-API для отправки этого сообщения!",
  "statusMessage": "delivered",
  "sendByApi": true,
  "deletedMessageId": "",
  "editedMessageId": "",
  "isEdited": false,
  "isDeleted": false
}
Медиа и файловые сообщения#
{
  "type": "outgoing",
  "idMessage": "1769676078000",
  "timestamp": 1706765613,
  "typeMessage": "imageMessage", //"videoMessage"/`documentMessage`/`audioMessage`/`stickerMessage`
  "chatId": "100000000",
  "chatType": "user",
  "downloadUrl": "https://4100.api.green-api.com/download/4100/3EB0BDDC94BFDFB3D4FA.jpg",
  "caption": "Как тебе?",
  "fileName": "1706765613.jpg",
  "jpegThumbnail": "/9j/4AAQSkZJRgABAQAAAQABAAD/FFFCF//Z",
  "mimeType": "image/jpeg",
  "isAnimated": false,
  "isForwarded": true,
  "forwardingScore": 2,
  "statusMessage": "read",
  "sendByApi": false,
  "deletedMessageId": "",
  "editedMessageId": "",
  "isEdited": false,
  "isDeleted": false
}
Cообщение с реакцией#
{
  "type": "outgoing",
  "idMessage": "1769676078000",
  "timestamp": 1706601621,
  "typeMessage": "reactionMessage",
  "chatId": "100000000",
  "chatType": "user",
  "extendedTextMessageData": {
    "text": "😄"
  },
  "quotedMessage": {
    "stanzaId": "1769680453000",
    "participant": "100000000"
  },
  "statusMessage": "read",
  "sendByApi": false
}
Сообщение с геолокацией#
{
  "type": "outgoing",
  "idMessage": "1769676078000",
  "timestamp": 1706761414,
  "typeMessage": "locationMessage",
  "chatId": "100000000",
  "chatType": "user",
  "location": {
    "latitude": 51.128,
    "longitude": 71.430762,
    "forwardingScore": 0,
    "isForwarded": false
  },
  "statusMessage": "read",
  "sendByApi": true,
  "deletedMessageId": "",
  "editedMessageId": "",
  "isEdited": false,
  "isDeleted": false
}
Сообщение с контактом#
{
  "type": "outgoing",
  "idMessage": "1769676078000",
  "timestamp": 1706762400,
  "typeMessage": "contactMessage",
  "chatId": "100000000",
  "chatType": "user",
  "contact": {
    "chatId": "",
    "displayName": "Иван Царевич",
    "urlAvatar": "",
    "phoneNumber": 79876543210,
    "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": "read",
  "sendByApi": false,
  "deletedMessageId": "",
  "editedMessageId": "",
  "isEdited": false,
  "isDeleted": false
}

Ошибки#

Перечень общих для всех методов ошибок смотрите в разделе Стандартные ошибки

Код HTTP Идентификатор ошибки Описание
400 Bad Request
Validation 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 Чат не найден.
Какие могут быть причины:
1. Сообщение все еще находится в очереди сообщений, и система не успела его обработать. Вы можете запросить метод ShowMessagesQueue для проверки сообщений.
400 Message not found by id '{{idMessage}}' Сообщение не найдено.
Какие могут быть причины:
1. Сообщение все еще находится в очереди сообщений, и система не успела его обработать. Вы можете запросить метод ShowMessagesQueue для проверки сообщений.
2. Неверно указан чат, номер сообщения или инстанс, на котором происходит запрос сообщения.

Примеры кода#

import requests

url = "{{apiUrl}}/waInstance{{idInstance}}/getMessage/{{apiTokenInstance}}"

payload = {
    "chatId": "10000000",
    "idMessage": "1769676078000"
}
headers = {'Content-Type': 'application/json'}

response = requests.post(url, json=payload)

print(response.text.encode('utf8'))
curl --location '{{apiUrl}}/waInstance{{idInstance}}/getMessage/{{apiTokenInstance}}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "chatId": "10000000",
    "idMessage": "1769676078000"
}'
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\": \"10000000\",\"idMessage\": \"1769676078000\"}";

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\": \"10000000\",\"idMessage\": \"1769676078000\"}")
    .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}}/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"":""1769676078000""}"

    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