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

GetMessage#

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

Запрос#

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

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

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

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

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

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

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

{
  "chatId": "120363043968066561@g.us",
  "idMessage": "BAE5F4886F6F2D05"
}

Ответ#

Ответ содержит полученное или отправленное сообщение в чате.

Поля ответа#

Объект с полями:

Поле Тип Описание
type string Вид сообщения: outgoing - исходящее сообщение; incoming - входящее сообщение
idMessage string Идентификатор входящего сообщения
timestamp integer Время принятия сообщения в UNIX-формате
statusMessage string Статус исходящего сообщения. Присутствует только для type = outgoing. Возможные значения:
noAccount - нет аккаунта WhatsApp на номере телефона
notInGroup - не состоите в данной группе
pending - сообщение отправляется
sent - отправлено
delivered - доставлено
read - прочитано/просмотрено/прослушано
yellowCard - приостановка отправки сообщений из-за спамерской активности. Сообщения отправленные после получения статуса хранятся в очереди к отправке 24 часа. Для продолжения работы инстанса требуется сделать перезагрузку инстанса
sendByApi boolean Флаг указывает отправлено сообщение из API или нет. Присутствует только для type = outgoing
typeMessage string Тип сообщения, возможные значения:
textMessage - текстовое сообщение
imageMessage - сообщение с изображением
videoMessage - видео сообщение
documentMessage - сообщение с файлом документа
audioMessage - аудио сообщение
stickerMessage - сообщение со стикером
reactionMessage - сообщение с реакцией
locationMessage - сообщение геолокации
contactMessage - сообщение с контактом
extendedTextMessage - сообщение со ссылкой и превью
pollMessage - сообщение с опросом
pollUpdateMessage - сообщение с обновлением опросом. Присутствует только для type = incoming
quotedMessage - сообщение с цитированием
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/stickerMessage
caption string Описание файла, если typeMessage = imageMessage/videoMessage /documentMessage/audioMessage/stickerMessage
fileName string Название файла, если typeMessage = imageMessage/videoMessage /documentMessage/audioMessage/stickerMessage. Поле заполняется корректно только для typeMessage = documentMessage, в остальных случаях название файла генерируется автоматически
jpegThumbnail string Превью изображения в base64 кодировке, если typeMessage = imageMessage/videoMessage/documentMessage/audioMessage/stickerMessage
mimeType string Тип файла, согласно класификации Media Types, если typeMessage = imageMessage/videoMessage/documentMessage/audioMessage/stickerMessage
isAnimated boolean Флаг указывает анимирован ли файл, если typeMessage = imageMessage/videoMessage/documentMessage/audioMessage/stickerMessage
location object Объект о структуре локации, если typeMessage = locationMessage
contact object Объект о структуре контакта, если typeMessage = contactMessage
extendedTextMessage object Объект с текстовым сообщением (расширенный), если typeMessage = extendedTextMessage/quotedMessage
extendedTextMessageData object Объект с реакцией, если typeMessage = reactionMessage
pollMessageData object Объект о структуре данных опроса, если typeMessage = pollMessage/pollUpdateMessage
quotedMessage object Объект данных о цитируемом сообщении, если typeMessage = quotedMessage/reactionMessage

Поля объекта location:

Поле Тип Описание
nameLocation string Название локации
address string Адрес локации
latitude double Широта локации
longitude double Долгота локации
jpegThumbnail string Превью изображения в base64 кодировке
isForwarded boolean Флаг указывает является ли сообщение пересланным
forwardingScore integer Количество пересылок сообщения

Поля объекта contact:

Поле Тип Описание
displayName string Отображаемое имя контакта
vcard string Структура VCard (визитной карточки контакта)
isForwarded boolean Флаг указывает является ли сообщение пересланным
forwardingScore integer Количество пересылок сообщения

Поля объекта extendedTextMessage:

Поле Тип Описание
text string Текст ссылки
description string Описание ссылки
title string Заголовок ссылки
previewType string Тип превью ссылки
jpegThumbnail string Превью изображения в base64 кодировке
stanzaId string ID цитируемого сообщения. Присутствует только для typeMessage = quotedMessage
participant string ID чата получателя/отправителя. Присутствует только для typeMessage = quotedMessage
isForwarded boolean Флаг указывает является ли сообщение пересланным
forwardingScore integer Количество пересылок сообщения

Поля объекта extendedTextMessageData:

Поле Тип Описание
text string Реакция (эмоджи) на сообщение

Поля объекта pollMessageData:

Поле Тип Описание
stanzaId string id сообщения с исходящим опросом. Присутствует только для typeMessage=pollUpdateMessage
name string Текст опроса
options array Массив данных о вариантах выбора. Присутствует только для typeMessage=pollMessage
votes array Массив данных ответов. Присутствует только для typeMessage=pollUpdateMessage
multipleAnswers boolean Флаг о разрешении нескольких ответов

Поля массива options

Параметр Тип Описание
optionName string Текст варинта выбора

Поля массива votes:

Параметр Тип Описание
optionName string Текст варинта выбора
optionVoters array Массив идентификаторов проголосовавших аккаунтов

Поля объекта quotedMessage:

Поле Тип Описание
stanzaId string ID цитируемого сообщения
participant string ID чата получателя
typeMessage string Тип цитириуемого сообщения

Остальные поля объекта quotedMessage заполняются в зависимости от типа цитируемого сообщения и идентичны полям описанных выше

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

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

Текстовое сообщение#
    {
        "type": "incoming",
        "idMessage": "9DB14F14A253D33F4A9CD84123456789",
        "timestamp": 1706522263,
        "typeMessage": "textMessage",
        "chatId": "120363153000000000@g.us",
        "textMessage": "Привет",
        "senderId": "70000000012@c.us",
        "senderName": "Николай",
        "senderContactName": "Коля"
    }
Сообщение с документом или медиа#
    {
        "type": "incoming",
        "idMessage": "EAAE5A5CD000000000",
        "timestamp": 1706601620,
        "typeMessage": "imageMessage",  //"videoMessage"/`documentMessage`/`audioMessage`/`stickerMessage`
        "chatId": "120363153000000000@g.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": "70000000012@c.us",
        "senderName": "Николай",
        "senderContactName": "Коля"
    }
Cообщение с реакцией#
    {
        "type": "incoming",
        "idMessage": "3A1EBA0F23004BD415BB",
        "timestamp": 1706601621,
        "typeMessage": "reactionMessage",
        "chatId": "70000000012@c.us",
        "extendedTextMessageData": {
            "text": "😄"
        },
        "quotedMessage": {
            "stanzaId": "B4D7D8A1A7D887D5580F000000000000",
            "participant": "70000000012@c.us",
        },
        "senderId": "70000000013@c.us",
        "senderName": "Николай",
        "senderContactName": "Коля"
    }
Сообщение с геолокацией#
    {
        "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": "70000000012@c.us",
        "senderName": "Николай",
        "senderContactName": "Коля"
    }
Сообщение с контактом#
    {
        "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": "70000000012@c.us",
        "senderName": "Николай",
        "senderContactName": "Коля"
    }
Расширенное текстовое сообщение#
    {
        "type": "incoming",
        "idMessage": "3A66D7F0B50000000000",
        "timestamp": 1706675928,
        "typeMessage": "extendedTextMessage",
        "chatId": "70000000012@c.us",
        "textMessage": "Hqhqhhqh\nhttps://green-api.com/",
        "extendedTextMessage": {
            "text": "Hqhqhhqh\nhttps://green-api.com/",
            "description": "GREEN API - интеграция с WhatsApp на любом языке программирования PHP, JavaScript, 1С, Python, Java, C#, VBA",
            "title": "Green API для отправки и получения сообщений Whatsapp",
            "previewType": "None",
            "jpegThumbnail": "/9j/4AAQSkZJRgABAQAASAB9k=",
            "forwardingScore": 0,
            "isForwarded": false
        },
        "senderId": "70000000012@c.us",
        "senderName": "Николай",
        "senderContactName": "Коля"
    }
Сообщение с опросом#
    {
        "type": "incoming",
        "idMessage": "3A71511C3A0000000000",
        "timestamp": 1706676278,
        "typeMessage": "pollMessage",
        "chatId": "70000000012@c.us",
        "pollMessageData": {
            "name": "Выберите любимый цвет",
            "options": [
                {
                    "optionName": "Красный"
                },
                {
                    "optionName": "Зеленый"
                }
            ],
            "multipleAnswers": true
        },
        "senderId": "70000000012@c.us",
        "senderName": "Николай",
        "senderContactName": "Коля"
    }
Сообщение с обновлением опроса#
    {
        "type": "incoming",
        "idMessage": "3A0493ED90000000000000",
        "timestamp": 1706676447,
        "typeMessage": "pollUpdateMessage",
        "chatId": "70000000012@c.us",
        "pollMessageData": {
            "name": "Куда пойдем?",
            "stanzaId": "46618B98B3B9DF50F123456789123456",
            "votes": [
                {
                    "optionName": "Пляж",
                    "optionVoters": [
                        "70000000012@c.us"
                    ]
                },
                {
                    "optionName": "Горы",
                    "optionVoters": []
                }
            ],
            "multipleAnswers": true
        },
        "senderId": "70000000012@c.us",
        "senderName": "Николай",
        "senderContactName": "Коля"
    }
Цитированное сообщение#

    {
        "type": "incoming",
        "idMessage": "3AB0EB938BA0000000000",
        "timestamp": 1706677013,
        "typeMessage": "quotedMessage",
        "chatId": "70000000012@c.us",
        "extendedTextMessage": {
            "text": "За пляж",
            "stanzaId": "46618B98B3B9DF50F123456789123456",
            "participant": "70000000012@c.us"
        },
        "quotedMessage": {
            "stanzaId": "46618B98B3B9DF50F123456789123456",
            "participant": "70000000012@c.us",
            "typeMessage": "pollMessage",
            "pollMessageData": {
                "name": "Куда пойдем?",
                "options": [],
                "multipleAnswers": true
            }
        },
        "senderId": "70000000012@c.us",
        "senderName": "Николай",
        "senderContactName": "Коля"
    }
    {
        "type": "incoming",
        "idMessage": "3A70B27A6020000000000",
        "timestamp": 1706677254,
        "typeMessage": "quotedMessage",
        "chatId": "70000000012@c.us",
        "extendedTextMessage": {
            "text": "Круто!",
            "stanzaId": "EAAE5A5CD000000000",
            "participant": "70000000012@c.us"
        },
        "quotedMessage": {
            "stanzaId": "EAAE5A5CD000000000",
            "participant": "70000000012@c.us",
            "typeMessage": "imageMessage", //"videoMessage"/`documentMessage`/`audioMessage`/`stickerMessage`
            "downloadUrl": "",
            "caption": "",
            "fileName": "",
            "jpegThumbnail": "/9j/4AAQSkZJRgABAQAAA=",
            "mimeType": "image/jpeg",
            "isAnimated": false,
            "isForwarded": false,
            "forwardingScore": 0
        },
        "senderId": "70000000012@c.us",
        "senderName": "Николай",
        "senderContactName": "Коля"
    }

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

Текстовое сообщение#
{
        "type": "outgoing",
        "idMessage": "BAE5143000000000",
        "timestamp": 1706761225,
        "typeMessage": "textMessage",
        "chatId": "70000000012@c.us",
        "textMessage": "Привет",
        "statusMessage": "read",
        "sendByApi": true
    }
Медиа и файловые сообщения#
    {
        "type": "outgoing",
        "idMessage": "BAE5F94000000000",
        "timestamp": 1706765613,
        "typeMessage": "imageMessage", //"videoMessage"/`documentMessage`/`audioMessage`/`stickerMessage`
        "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": "read",
        "sendByApi": false
    }
Cообщение с реакцией#
    {
        "type": "outgoing",
        "idMessage": "3A1EBA0F23004BD415BB",
        "timestamp": 1706601621,
        "typeMessage": "reactionMessage",
        "chatId": "70000000012@c.us",
        "extendedTextMessageData": {
            "text": "😄"
        },
        "quotedMessage": {
            "stanzaId": "B4D7D8A1A7D887D5580F000000000000",
            "participant": "70000000012@c.us",
        },
        "statusMessage": "read",
        "sendByApi": 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": "read",
        "sendByApi": true
    }
Сообщение с контактом#
    {
        "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": "read",
        "sendByApi": false
    }
Расширенное текстовое сообщение#
    {
        "type": "outgoing",
        "idMessage": "BAE56E0000000000",
        "timestamp": 1706849285,
        "typeMessage": "extendedTextMessage",
        "chatId": "70000000012@c.us",
        "textMessage": "https://green-api.com/",
        "extendedTextMessage": {
            "text": "https://green-api.com/",
            "description": "GREEN API - интеграция с WhatsApp на любом языке программирования PHP, JavaScript, 1С, Python, Java, C#, VBA",
            "title": "Green API для отправки и получения сообщений Whatsapp",
            "previewType": "None",
            "jpegThumbnail": "/9j/2wBDAAYEBQYFBAYGBQYHBwYICh/5IAMkIQnx0EIQkIEIQkIEIQkIEIQkIEIQkI//9k=",
            "forwardingScore": 0,
            "isForwarded": false
        },
        "statusMessage": "sent",
        "sendByApi": true
    }
Сообщение с опросом#
    {
        "type": "outgoing",
        "idMessage": "460D84E00000000000",
        "timestamp": 1706762412,
        "typeMessage": "pollMessage",
        "chatId": "70000000012@c.us",
        "pollMessageData": {
            "name": "Выберите любимый цвет",
            "options": [
                {
                    "optionName": "Красный"
                },
                {
                    "optionName": "Зеленый"
                }
            ],
            "multipleAnswers": true
        },
        "statusMessage": "delivered",
        "sendByApi": true
    }
Цитированное сообщение#

    {
        "type": "outgoing",
        "idMessage": "B1494991277FD000000000000000000000",
        "timestamp": 1706849516,
        "typeMessage": "quotedMessage",
        "chatId": "70000000012@c.us",
        "extendedTextMessage": {
            "text": "Черный",
            "stanzaId": "460D84E00000000000",
            "participant": "70000000012@c.us"
        },
        "quotedMessage": {
            "stanzaId": "460D84E00000000000",
            "participant": "70000000012@c.us",
            "typeMessage": "pollMessage",
            "pollMessageData": {
                "name": "Выберите любимый цвет",
                "options": [],
                "multipleAnswers": true
            }
        },
        "statusMessage": "delivered",
        "sendByApi": false
    }
    {
        "type": "outgoing",
        "idMessage": "21D6C50B400DBCEC30000000000000",
        "timestamp": 1706852882,
        "typeMessage": "quotedMessage",
        "chatId": "70000000012@c.us",
        "extendedTextMessage": {
            "text": "Круто",
            "stanzaId": "79DC2458992097F00000000000000000",
            "participant": "70000000012@c.us"
        },
        "quotedMessage": {
            "stanzaId": "79DC2458992097F00000000000000000",
            "participant": "70000000012@c.us",
            "typeMessage": "imageMessage", //"videoMessage"/`documentMessage`/`audioMessage`/`stickerMessage`
            "downloadUrl": "",
            "caption": "",
            "fileName": "",
            "jpegThumbnail": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAgq7O/wD/2Q==",
            "mimeType": "image/jpeg",
            "isAnimated": false,
            "isForwarded": false,
            "forwardingScore": 0
        },
        "statusMessage": "read",
        "sendByApi": true
    }

Ошибки GetMessage#

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

Код HTTP Идентификатор ошибки Описание
400 chatId not found chatID не найдено
400 ID message notfound IDMessage не найдено

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

import requests

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

payload = "{\r\n\"chatId\": \"120363043968066561@g.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("https://api.greenapi.com")
    .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("https://api.greenapi.com")
    .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 = "{{APIUrl}}/waInstance{{idInstance}}/getMessage/{{apiTokenInstance}}"

    ' chatId - identifier of the personal or group 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