Интервал отправки сообщений#
При отправке сообщений или файлов все данные помещаются в очередь на отправку. Все сообщения отправляются из очереди последовательно в порядке поступления в очередь FIFO. При этом устанавливается интервал между отправкой сообщений из очереди. Для изменения интервала отправки сообщений предназначен метод SetSettings и параметр delaySendMessagesMilliseconds
. Отсчёт интервала происходит с момента отправки предыдущего сообщения из очереди. Соответственно, если прошло времени больше, чем значение интервала, то сообщение будет отправлено без задержки.
Минимальный интервал отправки сообщений составляет 500 мсек.
Максимальный интервал отправки составляет 10 минут (600000 мсек).
Рекомендуется устанавливать интервал не более 5 минут (300000 мсек).
Срок хранения сообщения в очереди не более 24 часов.
Посмотреть текущий интервал отправки можно методом GetSettings, параметр delaySendMessagesMilliseconds
.
Изменение интервала отправки сообщений#
Для изменения интервала отправки сообщений требуется выполнить запрос по адресу:
{{apiUrl}}/waInstance{{idInstance}}/setSettings/{{apiTokenInstance}}
Для получения параметров запроса apiUrl
, idInstance
и 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.post(url, json=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({{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);