SetSettings#
Метод предназначен для установки настроек инстанса.
При вызове данного метода инстанс перезапускается.
Настройки применяются в течение 5 минут после вызова метода setSettings.
После создания инстанса все настройки по умолчанию выключены.
Запрос#
Для установки настроек инстанса требуется выполнить запрос по адресу:
{{apiUrl}}/waInstance{{idInstance}}/setSettings/{{apiTokenInstance}}
Для получения параметров запроса apiUrl
, idInstance
и apiTokenInstance
обратитесь к разделу Перед началом работы.
Параметры запроса#
Допускается указывать параметры выборочно. Хотя бы один параметр должен быть указан.
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
webhookUrl | string | Нет | URL для отправки уведомлений. Если требуется отключить получение уведомлений, то укажите пустую строку. При получении уведомлений технологией HTTP API, поле должно быть пустым. Описание работы поля |
webhookUrlToken | string | Нет | Токен для доступа к вашему серверу уведомлений, если не требуется, то укажите пустую строку. Описание работы поля. |
delaySendMessagesMilliseconds | integer | Нет | Интервал отправки сообщений в миллисекундах. Минимальное значение 500 мсек. Максимальное значение 86400000 мсек |
markIncomingMessagesReaded | string | Нет | Отмечать входящие сообщения прочитанными или нет, возможные значения: yes , no . Игнорируется, если markIncomingMessagesReadedOnReply в значении 'yes'. |
markIncomingMessagesReadedOnReply | string | Нет | Отмечать входящие сообщения прочитанными при отправке сообщения в чат через API, возможные значения: yes , no . Если в значении 'yes', то настройка markIncomingMessagesReaded игнорируется. |
sharedSession | string | Нет | Не используется |
countryInstance | string | Нет | Не используется |
outgoingWebhook | string | Нет | Получать уведомления о статусах отправки/доставки/прочтении исходящих сообщений, возможные значения: yes , no . Статусы noAccount и failed отключить невозможно, необходимо обязательно реализовать обработку данного уведомления. |
outgoingMessageWebhook | string | Нет | Получать уведомления о сообщениях, отправленных с телефона, возможные значения: yes , no |
outgoingAPIMessageWebhook | string | Нет | Получать уведомления о сообщениях, отправленных через API, возможные значения: yes , no . При отправке сообщения на несуществующий аккаунт WhatsApp, уведомление не придет. |
stateWebhook | string | Нет | Получать уведомления об изменении состояния авторизации инстанса, возможные значения: yes , no |
incomingWebhook | string | Нет | Получать уведомления о входящих сообщениях и файлах, возможные значения: yes , no |
deviceWebhook | string | Нет | Временно не работает. Получать уведомления об устройстве (телефоне) и уровне заряда батареи, возможные значения: yes , no |
statusInstanceWebhook | string | Нет | Не используется |
enableMessagesHistory | string | Нет | Не используется |
keepOnlineStatus | string | Нет | Выставляет статус 'В сети' для вашего аккаунта |
pollMessageWebhook | string | Нет | Получать уведомления о создании опроса и голосовании в опросе, возможные значения: yes , no |
incomingBlockWebhook | string | Нет | Временно не работает. Получать уведомления о добавлении чата в список заблокированных контактов, возможные значения: yes , no |
incomingCallWebhook | string | Нет | Получать уведомления о статусах входящего звонка, возможные значения: yes , no |
Применение настроек
Для получении уведомлении о статусах отправки/доставки/прочтении сообщений, отправленных с телефона требуется включить настройки:
outgoingMessageWebhook
outgoingWebhook
Для получении уведомлении о статусах входящего звонка, требуется включить настройки:
incomingCallWebhook
incomingWebhook
Настройка pollMessageWebhook
активируется только при включеннии следующих параметров:
outgoingAPIMessageWebhook
для сообщений, отправленных через APIoutgoingMessageWebhook
для сообщений, отправленных с телефонаincomingWebhook
для входящих сообщений
Если телефон и связанные устройства выключены, требуется включить настройку:
keepOnlineStatus
, чтобы выставлят статусВ сети
для вашего аккаунта и отправлять статус сообщенияdelivered
Пример тела запроса общий#
{
"webhookUrl": "https://mysite.com/webhook/green-api/",
"webhookUrlToken": "",
"delaySendMessagesMilliseconds": 5000,
"markIncomingMessagesReaded": "no",
"markIncomingMessagesReadedOnReply": "no",
"outgoingWebhook": "yes",
"outgoingMessageWebhook": "yes",
"outgoingAPIMessageWebhook": "yes",
"incomingWebhook": "yes",
"deviceWebhook": "no", // Уведомление временно не работает
"stateWebhook": "yes",
"keepOnlineStatus": "no",
"pollMessageWebhook": "no",
"incomingBlockWebhook": "yes", // Уведомление временно не работает
"incomingCallWebhook": "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\": \"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}}/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 apiUrl, idInstance and apiTokenInstance values are available in console, 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"":""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