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

SetSettings#

Метод предназначен для установки настроек инстанса.

При вызове данного метода инстанс перезапускается.

Настройки применяются в течение 5 минут после вызова метода setSettings.

После создания инстанса все настройки по умолчанию выключены.

Запрос#

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

POST
{{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 Нет Получать уведомления о сообщениях, отправленных с телефона, возможные значения: yes, no
outgoingAPIMessageWebhook string Нет Получать уведомления о сообщениях, отправленных через API, возможные значения: yes, no. При отправке сообщения на несуществующий аккаунт мессенджера MAX, уведомление не придет.
stateWebhook string Нет Получать уведомления об изменении состояния авторизации инстанса, возможные значения: yes, no
incomingWebhook string Нет Получать уведомления о входящих сообщениях и файлах, возможные значения: yes, no

Применение настроек

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

  • outgoingMessageWebhook
  • outgoingWebhook

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

{
    "webhookUrl": "",
    "webhookUrlToken": "",
    "delaySendMessagesMilliseconds": 0,
    "markIncomingMessagesReaded": "no",
    "markIncomingMessagesReadedOnReply": "no",
    "outgoingWebhook": "no",
    "outgoingMessageWebhook": "no",
    "outgoingAPIMessageWebhook": "no",
    "incomingWebhook": "no"
}

Ответ#

Поля ответа#

Поле Тип Описание
saveSettings boolean Флаг, что настройки сохранены

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

{
    "saveSettings": true
}

Ошибки SetSettings#

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

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

import requests

url = "{{apiUrl}}/v3/waInstance{{idInstance}}/setSettings/{{apiTokenInstance}}"

payload = "{\r\n\t\"webhookUrl\": \"https://mysite.ru\",\r\n\t\"delaySendMessagesMilliseconds\": 1000,\r\n\t\"markIncomingMessagesReaded\": \"no\",\r\n\t\"outgoingWebhook\": \"yes\",\r\n\t\"stateWebhook\": \"yes\",\r\n\t\"incomingWebhook\": \"yes\",\r\n\t\"deviceWebhook\": \"no\"\r\n}"
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