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

SetSettings#

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

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

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

Запрос#

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

POST https://api.green-api.com/waInstance{{idInstance}}/setSettings/{{apiTokenInstance}}

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

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

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

Параметр Тип Обязательный Описание
webhookUrl string Нет URL для отправки уведомлений. Если требуется отключить получение уведомлений, то укажите пустую строку. При получении уведомлений технологией HTTP API, поле должно быть пустым. Описание работы поля..
webhookUrlToken string Нет Токен для доступа к вашему серверу уведомлений, если не требуется, то укажите пустую строку. Описание работы поля.
delaySendMessagesMilliseconds integer Нет Интервал отправки сообщений в миллисекундах. Минимальное значение 500 мсек
markIncomingMessagesReaded string Нет Отмечать входящие сообщения прочитанными или нет, возможные значения: yes, no. Игнорируется, если markIncomingMessagesReadedOnReply в значении 'yes'.
markIncomingMessagesReadedOnReply string Нет Отмечать входящие сообщения прочитанными при отправке сообщения в чат через API, возможные значения: yes, no. Если в значении 'yes', то настройка markIncomingMessagesReaded игнорируется.
sharedSession string Нет Не используется
countryInstance string Нет Не используется
outgoingWebhook string Нет Получать уведомления о статусах отправки/доставки/прочтении исходящих сообщений, возможные значения: yes, no. Статус noAccount отключить невозможно, необходимо обязательно реализовать обработку данного уведомления.
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 Нет Выставляет статус 'В сети' для вашего аккаунта

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

{
    "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"
}

Ответ#

Поля ответа#

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

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

{
    "saveSettings": true
}

Ошибки SetSettings#

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

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

import requests

url = "https://api.green-api.com/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 'https://api.green-api.com/waInstance{{idInstance}}/setSettings/{{apiTokenInstance}}' \
--header 'Content-Type: application/json' \
--data '{
    "delaySendMessagesMilliseconds": 15000
}'
var restTemplate = new RestTemplate();
var requestUrl = new StringBuilder();
requestUrl
    .append("https://api.greenapi.com")
    .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("https://api.greenapi.com")
    .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);