Интервал отправки сообщений#
При отправке сообщений или файлов все данные помещаются в очередь на отправку.
Все сообщения отправляются из очереди последовательно в порядке поступления в очередь FIFO.
При этом устанавливается интервал между отправкой сообщений из очереди.
Для изменения интервала отправки сообщений предназначен метод SetSettings и параметр delaySendMessagesMilliseconds
.
Отсчёт интервала происходит с момента отправки предыдущего сообщения из очереди.
Соответственно, если прошло времени больше, чем значение интервала, то сообщение будет отправлено без задержки.
- Минимальный интервал отправки сообщений составляет 500 мсек.
- Максимальный интервал отправки составляет 10 минут (600000 мсек).
- Рекомендуется устанавливать интервал не более 5 минут (300000 мсек).
Посмотреть текущий интервал отправки можно методом GetSettings, параметр delaySendMessagesMilliseconds
.
Изменение интервала отправки сообщений#
Для изменения интервала отправки сообщений требуется выполнить запрос по адресу:
{{apiUrl}}/v3/waInstance{{idInstance}}/setSettings/{{apiTokenInstance}}
Для получения параметров запроса apiUrl
, idInstance
и apiTokenInstance
обратитесь к разделу Перед началом работы.
В теле запроса требуется указать только один параметр delaySendMessagesMilliseconds
.
Пример тела запроса для установки интервала отправки 5 сек#
{
"delaySendMessagesMilliseconds": 5000
}
Примеры кода#
import requests
url = "{{apiUrl}}/v3/waInstance{{idInstance}}/SetSettings/{{apiTokenInstance}}"
payload = "{\r\n\t\"delaySendMessagesMilliseconds\": 5000\r\n}\r\n"
headers = {
'Content-Type': 'application/json'
}
response = requests.post(url, json=payload)
print(response.text.encode('utf8'))
curl --location '{{apiUrl}}/v3/waInstance{{idInstance}}/setSettings/{{apiTokenInstance}}' \
--header 'Content-Type: application/json' \
--data '{
"delaySendMessagesMilliseconds": 5000
}'
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);