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

ClearWebhooksQueue#

Бета-версия

Функциональность находится в стадии бета-тестирования. Функции могут быть изменены, а также могут работать нестабильно.

Test Postman Apidog

Метод предназначен для очистки входящей очереди уведомлений. Уведомление хранится в очереди 24 часа и будет отправлено после настройки webhookUrl на авторизованном инстансе. Скорость отправки сообщений зависит от скорости ответа на запросы вебхук-сервера GREEN-API или от скорости вычитывания сообщений методами HTTP API.

Выполнение метода доступно на инстансе не чаще чем 1 раз в 1 минуту, при более раннем запросе метода в ответе Вы получите описание причины reason: "Too many requests" и оставшееся время до успешного выполнения метода leftTime в секундах.

После блокировки номера или смены аккаунта, желательно производить очистку очереди на инстансе. Так как возможна отправка уведомлений оставщихся в очереди. Контролировать сообщения в очереди можно методом GetWebhooksCount или через личный кабинет GREEN-API.

Запрос#

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

DELETE
{{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