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

Интервал отправки сообщений#

При отправке сообщений или файлов все данные помещаются в очередь на отправку. Все сообщения отправляются из очереди последовательно в порядке поступления в очередь FIFO. При этом устанавливается интервал между отправкой сообщений из очереди. Для изменения интервала отправки сообщений предназначен метод SetSettings и параметр delaySendMessagesMilliseconds. Отсчёт интервала происходит с момента отправки предыдущего сообщения из очереди. Соответственно, если прошло времени больше, чем значение интервала, то сообщение будет отправлено без задержки.

Минимальный интервал отправки сообщений составляет 500 мсек.

При выставлении интервала более 86400000 мсек сообщение не будет отправленно. Срок хранения сообщения в очереди не более 24 часов.

Посмотреть текущий интервал отправки можно методом GetSettings, параметр delaySendMessagesMilliseconds.

Изменение интервала отправки сообщений#

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

POST {{APIUrl}}/waInstance{{idInstance}}/SetSettings/{{apiTokenInstance}}

В теле запроса требуется указать только один параметр delaySendMessagesMilliseconds.

Пример тела запроса для установки интервала отправки 5 сек#

{
    "delaySendMessagesMilliseconds": 5000
}

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

import requests

url = "{{APIUrl}}/waInstance{{idInstance}}/SetSettings/{{apiTokenInstance}}"

payload = "{\r\n\t\"delaySendMessagesMilliseconds\": 5000\r\n}\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": 5000
}'
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);