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

GetChatHistory#

Test Postman Apidog

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

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

Запрос#

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

POST
{{apiUrl}}/v3/waInstance{{idInstance}}/getChatHistory/{{apiTokenInstance}}

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

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

Параметр Тип Обязательный Описание
chatId string Да Идентификатор личного или группового чата историю сообщений которого требуется получить
count integer Нет Количество сообщений для получения. Значение по умолчанию 100

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

Запрос последних 10 сообщений:

{
    "chatId": "10000000",
    "count": 10
}

Ответ#

Ответ содержит список всех полученных и отправленных сообщений в чате. Сортировка по убыванию даты отправки сообщения.

Поля ответа#

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

Поле Тип Описание
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 Идентификатор чата, в котором получено сообщение.
senderName string Имя отправителя сообщения. Присутствует только для type = incoming
senderContactName string Имя отправителя из списка контактов текущего аккаунта. Присутствует только для type = incoming
isForwarded boolean Флаг указывает является ли сообщение пересланным
forwardingScore integer Количество пересылок сообщения
textMessage string Текст сообщения, если typeMessage=textMessage/extendedTextMessage
downloadUrl string Ссылка на скачивание файла, если typeMessage = imageMessage /videoMessage/documentMessage/
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/
extendedTextMessage object Объект с текстовым сообщением (расширенный), если typeMessage = extendedTextMessage
extendedTextMessageData object Объект с реакцией, если typeMessage = reactionMessage
deletedMessageId string Временно не работает. Идентификатор сообщения которое удалили. Присутствует если сообщение было удалено
editedMessageId string Временно не работает. Идентификатор сообщения которое отредактировали. Присутствует если сообщение было отредактировано
isEdited boolean Временно не работает. Флаг указывает редактировали ли сообщение
isDeleted boolean Временно не работает. Флаг указывает удалили ли сообщение

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

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

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

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

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

[
    {
        "type": "outgoing",
        "idMessage": "2755235290043",
        "timestamp": 1754999812,
        "typeMessage": "extendedTextMessage",
        "chatId": "10000000",
        "textMessage": "Я использую GREEN-API для отправки этого сообщения!",
        "extendedTextMessage": {
            "text": "Я использую GREEN-API для отправки этого сообщения!",
            "description": "",
            "title": "",
            "previewType": "None",
            "jpegThumbnail": "",
            "forwardingScore": 0,
            "isForwarded": false
        },
        "statusMessage": "",
        "sendByApi": true,
        "deletedMessageId": "",
        "editedMessageId": "",
        "isEdited": false,
        "isDeleted": false
    },
    {
        "type": "outgoing",
        "idMessage": "2755235290043",
        "timestamp": 1754987080,
        "typeMessage": "extendedTextMessage",
        "chatId": "10000000",
        "textMessage": "Я использую GREEN-API для отправки этого сообщения!",
        "extendedTextMessage": {
            "text": "Я использую GREEN-API для отправки этого сообщения!",
            "description": "",
            "title": "",
            "previewType": "None",
            "jpegThumbnail": "",
            "forwardingScore": 0,
            "isForwarded": false
        },
        "statusMessage": "",
        "sendByApi": true,
        "deletedMessageId": "",
        "editedMessageId": "",
        "isEdited": false,
        "isDeleted": false
    },
    {
        "type": "incoming",
        "idMessage": "2755235290043",
        "timestamp": 1754986980,
        "typeMessage": "textMessage",
        "chatId": "10000000",
        "textMessage": "Я использую GREEN-API для отправки этого сообщения!",
        "senderId": "10000000",
        "senderName": ""Ходабрыш Пробешёлов,
        "senderContactName": "Ходабрыш Пробешёлов",
        "deletedMessageId": "",
        "editedMessageId": "",
        "isEdited": false,
        "isDeleted": false
    }
]

Ошибки GetChatHistory#

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

Код HTTP Идентификатор ошибки Описание
400 Bad Request
Validation failed
Ошибка валидации
400 Bad Request
Validation failed.
Details: 'count' must be a number
Некорректный тип данных для поля count

либо значение поля превышает максимальное безопасное целочисленное значение

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

import requests

url = "{{apiUrl}}/v3/waInstance{{idInstance}}/getChatHistory/{{apiTokenInstance}}"

payload = "{\r\n\t\"chatId\": \"10000000\",\r\n\t\"count\": 100\r\n}"
headers = {
  'Content-Type': 'application/json'
}

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

print(response.text.encode('utf8'))
curl --location '{{apiUrl}}/v3/waInstance{{idInstance}}/getChatHistory/{{apiTokenInstance}}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "chatId": "10000000",
    "count": 10
}'
var restTemplate = new RestTemplate();
var requestUrl = new StringBuilder();
requestUrl
    .append({{apiUrl}})
    .append("/v3/waInstance").append({{idInstance}})
    .append("/getChatHistory/")
    .append({{apiTokenInstance}});

var headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);

var jsonBody = "{\"chatId\": \"10000000\",\"count\": 10}";

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("/getChatHistory/")
    .append({{apiTokenInstance}});

var response = Unirest.post(requestUrl.toString())
    .header("Content-Type", "application/json")
    .body("{\"chatId\": \"10000000\",\"count\": 10}")
    .asString();

System.out.println(response);
Sub GetChatHistory()
    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}}/getChatHistory/{{apiTokenInstance}}"

    ' chatId - personal or group chat identifier whose message history you want to receive, count - number of messages to receive, default value 100
    RequestBody = "{""chatId"":""10000000"",""count"":10}"

    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