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