ArchiveChat
Метод архивирует чат. Архивировать можно чаты, в которых есть хотя бы одно входящее сообщение.
Запрос
Для архивации чата требуется выполнить запрос по адресу:
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