[go: up one dir, main page]

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

LastIncomingMessages#

Test Postman

Метод возвращает крайние входящие сообщения инстанса. По умолчанию возвращаются последние сообщения за 24 часа.

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

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

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

Метод LastIncomingMessages возвращает только ту историю, которую системе отдает WhatsApp.

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

Запрос#

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

GET
{{apiUrl}}/waInstance{{idInstance}}/lastIncomingMessages/{{apiTokenInstance}}?minutes={{minutes_count}}

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

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

Параметр Тип Обязательный Описание
minutes integer нет Время в минутах, за которое требуется показать сообщения (по умолчанию равно 1440 минут)

Ответ#

Поля ответа#

Массив объектов с полями:

Поле Тип Описание
type string Вид сообщения, incoming - входящее сообщение
idMessage string Идентификатор входящего сообщения
timestamp integer Время принятия сообщения в UNIX-формате
typeMessage string Тип сообщения, возможные значения:
textMessage - текстовое сообщение
imageMessage - сообщение с изображением
videoMessage - видео сообщение
documentMessage - сообщение с файлом документа
audioMessage - аудио сообщение
stickerMessage - сообщение со стикером
reactionMessage - сообщение с реакцией
locationMessage - сообщение геолокации
contactMessage - сообщение с контактом
extendedTextMessage - сообщение со ссылкой и превью
pollMessage - сообщение с опросом
pollUpdateMessage - сообщение с обновлением опросом
incomingBlock - уведомление о добавлении чата в список заблокированных контактов. (Уведомление временно не работает)
quotedMessage - сообщение с цитированием
buttonsMessage - сообщение с кнопками (Метод временно не работает)
templateMessage - сообщение с шаблонными кнопками (Метод временно не работает)
listMessage - сообщение с кнопкой со списком (Метод временно не работает)
buttonsResponseMessage - ответ с кнопками (Метод временно не работает)
templateButtonsReplyMessage - ответ с фигурными кнопками (Метод временно не работает)
listResponseMessage - ответ со списком (Метод временно не работает)
chatId string Идентификатор чата, в котором получено сообщение. По умолчанию принимает значение 10000000000@c.us, если typeMessage = incomingBlock
senderId string Идентификатор отправителя сообщения. По умолчанию принимает значение 10000000000@c.us, если typeMessage = incomingBlock
senderName string Имя отправителя сообщения
senderContactName string Имя отправителя из списка контактов текущего аккаунта
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
chatState string Состояние чата, если typeMessage = incomingBlock
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 кодировке
forwardingScore integer Количество пересылок сообщения
isForwarded boolean Флаг указывает является ли сообщение пересланным
mediaType string Тип медиа сообщения, например "IMAGE" (только для рекламных сообщений)
sourceId string Id рекламы (только для рекламных сообщений)
sourceType string Тип источника, например "ad" (только для рекламных сообщений)
sourceUrl string Ссылка на рекламу (только для рекламных сообщений)
thumbnailUrl string Ссылка на превью изображения (только для рекламных сообщений)
stanzaId string ID цитируемого сообщения. Присутствует только для typeMessage = quotedMessage
participant string ID чата получателя/отправителя. Присутствует только для typeMessage = quotedMessage

Поля объекта 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": "{{APIUrl}}/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": "Коля"
    },
    {
        "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",
        "typeMessage": "incomingBlock", //Уведомление временно не работает
        "timestamp": 1706676650,
        "chatId": "10000000000@c.us",
        "senderId": "10000000000@c.us",
        "chatState": "blocked"
    },
    {
        "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": "incoming",
        "idMessage": "F7AEC1B7086ECDC7E6E45923F5EDB825",
        "timestamp": 1728018697,
        "typeMessage": "extendedTextMessage",
        "chatId": "79001234568@c.us",
        "textMessage": "https://fb.me/gUdvBWgIH",
        "extendedTextMessage": {
            "text": "Новый инстанс для вашего бизнеса!",
            "description": "",
            "title": "Green API",
            "jpegThumbnail": "/9j/4AAQSkZJRgABAQAAAQABAAD/7QCEUGhvdG9zaG9wIDMuMAA4qIJUeuMEjYwGc9BtFMXTYvgsnm4ADy6HLLZDqn1Ye5RMev+ae1hED2B9dQIARwjvDIwYCg4/r/9k=",
            "forwardingScore": 0,
            "isForwarded": false,
            "mediaType": "IMAGE",
            "sourceUrl": "https://fb.me/gUdvBWgIH",
            "thumbnailUrl": "https://scontent.xx.fbcdn.net/v/t39.30808-6/436945887_122115998378256688_307643393252141869_n.jpg?stp=dst-jpg_s851x315&_nc_cat=111&ccb=1-7&_nc_sid=5f2048&_nc_ohc=x61r6W-VrJIAb69T4Dl&_nc_ad=z-m&_nc_cid=0&_nc_ht=scontent.xx&oh=00_AfDLFkjNOBYEntBu6SYaUOxDuxbvarjKha9Ez5RQUXjsfg&oe=662D7680"
        },
        "senderId": "79001234568@c.us",
        "senderName": "Николай",
        "senderContactName": "Коля"
    }
]

Ошибки LastIncomingMessages#

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

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

import requests

url = "{{apiUrl}}/waInstance{{idInstance}}/lastIncomingMessages/{{apiTokenInstance}}?minutes=3240"

payload = {}
headers= {}

response = requests.request("GET", url, headers=headers, data = payload)

print(response.text.encode('utf8'))
curl --location '{{apiUrl}}/waInstance{{idInstance}}/lastIncomingMessages/{{apiTokenInstance}}?minutes=3240'
var restTemplate = new RestTemplate();
var requestUrl = new StringBuilder();
requestUrl
    .append({{apiUrl}})
    .append("/waInstance").append({{idInstance}})
    .append("/lastIncomingMessages/")
    .append({{apiTokenInstance}});

var response = restTemplate.exchange(requestUrl.toString(), HttpMethod.GET, null, String.class);
System.out.println(response);
var requestUrl = new StringBuilder();
requestUrl
    .append({{apiUrl}})
    .append("/waInstance").append({{idInstance}})
    .append("/lastIncomingMessages/")
    .append({{apiTokenInstance}});

var response = Unirest.get(requestUrl.toString())
    .header("Content-Type", "application/json")
    .asString();

System.out.println(response);
Sub LastIncomingMessages()
    Dim url 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}}/lastIncomingMessages/{{apiTokenInstance}}"

    Set http = CreateObject("MSXML2.XMLHTTP")

    http.Open "GET", url, False
    http.send

    response = http.responseText

    Debug.Print response

    ' Outputting the answer to the desired cell
    Range("A1").Value = response

    Set http = Nothing
End Sub