SetSettings#
Метод предназначен для установки настроек инстанса.
После создания инстанса все настройки по умолчанию выключены.
При вызове данного метода инстанс перезапускается.
Настройки применяются в течение 5 минут после вызова метода setSettings.
Для метода используются ограничения на частоту запросов в секунду.
Запрос#
Для установки настроек инстанса требуется выполнить запрос по адресу:
{{apiUrl}}/v3/waInstance{{idInstance}}/setSettings/{{apiTokenInstance}} Для получения параметров запроса apiUrl, idInstance и apiTokenInstance обратитесь к разделу Перед началом работы.
Параметры запроса#
Допускается указывать параметры выборочно. Хотя бы один параметр должен быть указан.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
webhookUrl | string | Нет | URL для отправки уведомлений. Если требуется отключить получение уведомлений, то укажите пустую строку. При получении уведомлений технологией HTTP API, поле должно быть пустым. Описание работы поля |
webhookUrlToken | string | Нет | Заголовок авторизации для отправки уведомлений, если не требуется, то укажите пустую строку. Описание работы поля. |
delaySendMessagesMilliseconds | integer | Нет | Интервал отправки сообщений в миллисекундах. Минимальное значение: 500 мсек (0.5 секунды) Максимальное значение: 600000 мсек (10 минут). Рекомендуется устанавливать интервал не более 300000 мсек (5 минут). |
markIncomingMessagesReaded | string | Нет | Отмечать входящие сообщения прочитанными, возможные значения: yes, no. Игнорируется, если markIncomingMessagesReadedOnReply в значении 'yes'. |
markIncomingMessagesReadedOnReply | string | Нет | Отмечать входящие сообщения прочитанными при отправке сообщения через API, возможные значения: yes, no. Если в значении 'yes', то настройка markIncomingMessagesReaded игнорируется. |
outgoingWebhook | string | Нет | Получать уведомления о статусах отправленных сообщений, возможные значения: yes, no. |
outgoingMessageWebhook | string | Нет | Получать уведомления о сообщениях, отправленных с телефона, web версии и desktop версии, возможные значения: yes, no |
outgoingAPIMessageWebhook | string | Нет | Получать уведомления о сообщениях, отправленных через API, возможные значения: yes, no. При отправке сообщения на несуществующий аккаунт мессенджера MAX, уведомление не придет. |
stateWebhook | string | Нет | Получать уведомления об изменении состояния авторизации инстанса, возможные значения: yes, no |
incomingWebhook | string | Нет | Получать уведомления о входящих сообщениях и файлах, возможные значения: yes, no |
Применение настроек
Для получении уведомлении о статусах отправки/доставки/прочтении сообщений, отправленных с телефона требуется включить настройки:
outgoingMessageWebhookoutgoingWebhook
Пример тела запроса общий#
{ "webhookUrl": "", "webhookUrlToken": "", "delaySendMessagesMilliseconds": 0, "markIncomingMessagesReaded": "no", "markIncomingMessagesReadedOnReply": "no", "outgoingWebhook": "no", "outgoingMessageWebhook": "no", "outgoingAPIMessageWebhook": "no", "stateWebhook": "yes", "incomingWebhook": "no" } Ответ#
Поля ответа#
| Поле | Тип | Описание |
|---|---|---|
saveSettings | boolean | Флаг, что настройки сохранены |
Пример тела ответа#
{ "saveSettings": true } Ошибки SetSettings#
Перечень общих для всех методов ошибок смотрите в разделе Стандартные ошибки
Примеры кода#
import requests url = "{{apiUrl}}/v3/waInstance{{idInstance}}/setSettings/{{apiTokenInstance}}" payload = "{\r\n"webhookUrl": "https://mysite.ru", "delaySendMessagesMilliseconds": 1000,"markIncomingMessagesReaded": "no","outgoingWebhook": "yes","stateWebhook": "yes","incomingWebhook": "yes","deviceWebhook": "no"}" headers = { 'Content-Type': 'application/json' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text.encode('utf8')) curl --location '{{apiUrl}}/v3/waInstance{{idInstance}}/setSettings/{{apiTokenInstance}}' \ --header 'Content-Type: application/json' \ --data '{ "delaySendMessagesMilliseconds": 15000 }' var restTemplate = new RestTemplate(); var requestUrl = new StringBuilder(); requestUrl .append({{apiUrl}}) .append("/v3/waInstance").append({{idInstance}}) .append("/setSettings/") .append({{apiTokenInstance}}); var headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); var jsonBody = "{\"delaySendMessagesMilliseconds\": 15000}"; 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("/setSettings/") .append({{apiTokenInstance}}); var response = Unirest.post(requestUrl.toString()) .header("Content-Type", "application/json") .body("{\"delaySendMessagesMilliseconds\": 15000}") .asString(); System.out.println(response); Sub SetSettings() 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}}/SetSettings/{{apiTokenInstance}}" ' parameters obtained by the GetSettings method that need to be changed RequestBody = "{""webhookUrl"":"""",""delaySendMessagesMilliseconds"":""1000"",""markIncomingMessagesReaded"":""yes"",""outgoingWebhook"":""yes"",""stateWebhook"":""yes"",""incomingWebhook"":""yes"",""incomingBlockWebhook"":""yes""}" 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