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

ArchiveChat

Test Postman Apidog

Метод архивирует чат. Архивировать можно чаты, в которых есть хотя бы одно входящее сообщение.

Запрос

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

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

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

Примечание

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

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

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

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

{
    "chatId": "120363043968066561@g.us"
}

Ответ

Поля ответа

Тело ответа пустое. При успехе ответ сервера 200.

Ошибки archiveChat

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

Код HTTP Идентификатор ошибки Описание
400 Bad Request
Validation failed
Ошибка валидации
400 "ArchiveChatError: cannot archive chat cause last message not found in chat" chatID не верен или в чате нет сообщений
400 Bad Request
ArchiveChatError: chat with id 71234567890@c.us already archive=true
Чат уже архивирован
400 Bad Request
ArchiveChatError: chat with id 71234567890@c.us not found
Указанного номера нет в контактах
400 Validation failed.
Details: 'value' must have at least 1 key
Ошибка валидации. Поле value должно содержать минимум 1 символ
500 Internal Server Error
interface conversion: interface {} is bool, not string
Неверно указан тип данных поля chatId

Примеры кода

import requests

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

payload = {(
    "chatId": "11001234567@c.us")
}
headers = {
    'Content-Type': 'application/json'
}

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

print(response.text.encode('utf8'))
curl --location '{{apiUrl}}/waInstance{{idInstance}}/archiveChat/{{apiTokenInstance}}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "chatId": "120363043968066561@g.us"
}'
var restTemplate = new RestTemplate();
var requestUrl = new StringBuilder();
requestUrl
    .append({{apiUrl}})
    .append("/waInstance").append({{idInstance}})
    .append("/archiveChat/")
    .append({{apiTokenInstance}});

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

var jsonBody = "{\"chatId\": \"120363043968066561@g.us\"}";

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

var response = Unirest.post(requestUrl.toString())
    .header("Content-Type", "application/json")
    .body("{\"chatId\": \"120363043968066561@g.us\")
    .asString();

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

    ' ChatId - number to send the chat to the archive (@c.us for private chats, @g.us for group chats)
    RequestBody = "{""chatId"":""70123456789@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