ClearWebhooksQueue#
Бета-версия
Функциональность находится в стадии бета-тестирования. Функции могут быть изменены, а также могут работать нестабильно.
Метод предназначен для очистки входящей очереди уведомлений. Уведомление хранится в очереди 24 часа и будет отправлено после настройки webhookUrl
на авторизованном инстансе. Скорость отправки сообщений зависит от скорости ответа на запросы вебхук-сервера GREEN-API или от скорости вычитывания сообщений методами HTTP API.
Выполнение метода доступно на инстансе не чаще чем 1 раз в 1 минуту, при более раннем запросе метода в ответе Вы получите описание причины reason: "Too many requests"
и оставшееся время до успешного выполнения метода leftTime
в секундах.
После блокировки номера или смены аккаунта, желательно производить очистку очереди на инстансе. Так как возможна отправка уведомлений оставщихся в очереди. Контролировать сообщения в очереди можно методом GetWebhooksCount или через личный кабинет GREEN-API.
Запрос#
Для очистки очереди сообщений требуется выполнить запрос по адресу:
{{apiUrl}}/waInstance{{idInstance}}/clearWebhooksQueue/{{apiTokenInstance}}
Для получения параметров запроса apiUrl
, idInstance
и apiTokenInstance
обратитесь к разделу Перед началом работы.
Ответ#
Поля ответа#
Поле | Тип | Описание |
---|---|---|
isCleared | boolean | Флаг очистки очереди уведомлений |
reason | string | Описание ошибки: |
"Too many requests" - метод не готов к выполнению (выполнение метода доступно не чаще чем 1 раз в 1 минуту) | ||
leftTime | int | Оставшиеся время до разрешения выполнения следующего запроса на очистку очереди (поле присутствует в ответе только при isCleared: false ) |
Пример тела ответа#
Успешное выполнение метода#
status code 200
{
"isCleared": true,
"reason": ""
}
Успешное выполнение метода, но время между запросами еще не вышло#
status code 200
{
"isCleared": false,
"reason": "Too many requests",
"leftTime": 46
}
Успешное выполнение метода, но система не смогла обработать запрос#
status code 200
{
"isCleared": false,
"reason": "Error description" // описание ошибки
}
Ошибки ClearMessagesQueue#
Перечень общих для всех методов ошибок смотрите в разделе Стандартные ошибки
Примеры кода#
import requests
url = "{{apiUrl}}/waInstance{{idInstance}}/clearWebhooksQueue/{{apiTokenInstance}}"
payload = {}
headers= {}
response = requests.request("DELETE ", url, headers=headers, data = payload)
print(response.text.encode('utf8'))
curl --location --request DELETE '{{apiUrl}}/waInstance{{idInstance}}/clearWebhooksQueue/{{apiTokenInstance}}'
var restTemplate = new RestTemplate();
var requestUrl = new StringBuilder();
requestUrl
.append({{apiUrl}})
.append("/waInstance").append({{idInstance}})
.append("/clearWebhooksQueue/")
.append({{apiTokenInstance}});
var response = restTemplate.exchange(requestUrl.toString(), HttpMethod.GET, null, String.class);
System.out.println(response);
var requestUrl = new StringBuilder();
requestUrl
.append({{apiUrl}})
.append("/waInstance").append({{idInstance}})
.append("/clearWebhooksQueue/")
.append({{apiTokenInstance}});
var response = Unirest.get(requestUrl.toString())
.header("Content-Type", "application/json")
.asString();
System.out.println(response);
Sub ClearWebhooksQueue()
Dim url 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}}/clearWebhooksQueue/{{apiTokenInstance}}"
Set http = CreateObject("MSXML2.XMLHTTP")
http.Open "GET", url, False
http.Send
response = http.responseText
Debug.Print response
' Outputting the answer to the desired cell
' Range("A1").Value = response
Set http = Nothing
End Sub