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

SetSettings#

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

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

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

Запрос#

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

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

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

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

Допускается указывать параметры выборочно. Хотя бы один параметр должен быть указан.

Параметр Тип Обязательный Описание
webhookUrl string Нет URL для отправки уведомлений. Если требуется отключить получение уведомлений, то укажите пустую строку. При получении уведомлений технологией HTTP API, поле должно быть пустым. Описание работы поля
webhookUrlToken string Нет Токен для доступа к вашему серверу уведомлений, если не требуется, то укажите пустую строку. Описание работы поля.
sharedSession string Нет Не используется
countryInstance string Нет Не используется
outgoingWebhook string Нет Получать уведомления о статусах отправки/доставки/прочтении исходящих сообщений, возможные значения: yes, no. Статусы noAccount и failed отключить невозможно, необходимо обязательно реализовать обработку данного уведомления
outgoingMessageWebhook string Нет Не используется
outgoingAPIMessageWebhook string Нет Получать уведомления о сообщениях, отправленных через API, возможные значения: yes, no. При отправке сообщения на несуществующий аккаунт WhatsApp, уведомление не придет
stateWebhook string Нет Не используется
incomingWebhook string Нет Получать уведомления о входящих сообщениях и файлах, возможные значения: yes, no
deviceWebhook string Нет Не используется
statusInstanceWebhook string Нет Не используется
enableMessagesHistory string Нет Не используется
keepOnlineStatus string Нет Не используется
pollMessageWebhook string Нет Не используется
incomingBlockWebhook string Нет Не используется
incomingCallWebhook string Нет Не используется

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

{
    "webhookUrl": "https://mysite.com/webhook/greenwaba/",
    "webhookUrlToken": "",
    "outgoingWebhook": "yes",
    "outgoingAPIMessageWebhook": "yes",
    "incomingWebhook": "yes",
}

Ответ#

Поля ответа#

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

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

{
    "saveSettings": true
}

Ошибки SetSettings#

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

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

import requests

url = "{{apiUrl}}/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\": \"no\",\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}}/waInstance{{idInstance}}/setSettings/{{apiTokenInstance}}' \
--header 'Content-Type: application/json' \
--data '{
    "delaySendMessagesMilliseconds": 15000
}'
var restTemplate = new RestTemplate();
var requestUrl = new StringBuilder();
requestUrl
    .append({{apiUrl}})
    .append("/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("/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 idInstance and apiTokenInstance values are available in your account, double brackets must be removed
    url = "{{apiUrl}}/waInstance{{idInstance}}/SetSettings/{{apiTokenInstance}}"

    ' parameters obtained by the GetSettings method that need to be changed
    RequestBody = "{""webhookUrl"":"""",""delaySendMessagesMilliseconds"":""1000"",""markIncomingMessagesReaded"":""yes"",""outgoingWebhook"":""yes"",""stateWebhook"":""no"",""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