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

GetMessage#

Test Postman Apidog

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

Чтобы получить входящее сообщение, включите настройку Получать уведомления о входящих сообщениях и файлах методом SetSettings или через личный кабинет.

Чтобы получить статус отправленного сообщения, включите настройку Получать уведомления о статусах отправленных сообщений методом SetSettings или через личный кабинет.

Применение настроек занимает до 5 минут.

Чтобы получить сообщения, отправленные и полученные с телефона до подключения инстанса, необходимо после сохранения настроек на инстансе сделать разлогин и авторизоваться повторно.

Метод GetMessage возвращает только те сообщения, которые системе отдает WhatsApp.

Появление сообщений в журнале может занимать время до 2 минут, методы журналов необходимо использовать только для получения истории переписки. Для быстрого получения сообщений необходимо использовать систему уведомлений.

Запрос#

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

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 Тип превью ссылки. Значение previewType:None устарело
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": "46618B98B3B9DF50F123456789123456",
            "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": "46618B98B3B9DF50F123456789123456",
            "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": "46618B98B3B9DF50F123456789123456",
            "participant": "70000000012@c.us"
        },
        "quotedMessage": {
            "stanzaId": "46618B98B3B9DF50F123456789123456",
            "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 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 chatID не найдено. Вероятно, сообщение все еще находится в очереди сообщений, и система не успела его обработать. Вы можете запросить метод ShowMessagesQueue для проверки сообщений.
400 Message not found by id '{{idMessage}}' IDMessage не найдено. Вероятно, сообщение все еще находится в очереди сообщений, и система не успела его обработать. Вы можете запросить метод ShowMessagesQueue для проверки сообщений. Вероятно, неверно указан чат, номер сообщения или инстанс на котором происходит запрос сообщения

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

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.post(url, json=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 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"":""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