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

ReadChat Протестировать#

Метод предназначен для отметки сообщений в выбранном чате прочитанными. Могут быть отмечены прочитанными все сообщения в чате или только одно выбранное сообщение.

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

Сообщения, полученные после применения настроек, получат статус read.
Сообщения, полученные до применения настроек, останутся в статусе delivered.

Запрос#

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

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

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

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

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

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

Отметка прочтения одного сообщения в чате:

{
    "chatId": "11001234567@c.us",
    "idMessage": "B275A7AA0D6EF89BB9245169BDF174E6"
}

Отметка прочтения всех сообщений в чате:

{
    "chatId": "11001234567@c.us"
}

Ответ#

Поля ответа#

Поле Тип Описание
setRead boolean Флаг отметки сообщений прочитанными

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

{
    "setRead": true
}

Ошибки ReadChatMessage#

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

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

import requests

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

payload = "{\r\n\t\"chatId\": \"11001234567@c.us\",\r\n\t\"idMessage\": \"B275A7AA0D6EF89BB9245169BDF174E6\"\r\n}\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}}/readChat/{{apiTokenInstance}}
--header 'Content-Type: application/json' \
--data-raw '{
    "chatId": "79001234567@c.us",
    "idMessage": "B275A7AA0D6EF89BB9245169BDF174E6"
}'
var restTemplate = new RestTemplate();
var requestUrl = new StringBuilder();
requestUrl
    .append({{apiUrl}})
    .append("/waInstance").append({{idInstance}})
    .append("/readChat/")
    .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("/readChat/")
    .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 ReadChat()
    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}}/readChat/{{apiTokenInstance}}"

    ' chatId - chat in which messages will be read (@c.us for private chats, @g.us for group chats)
    RequestBody = "{""chatId"":""71234567890@c.us""}"

    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