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

DeleteNotification#

Test Postman

Метод предназначен для удаления входящего уведомления из очереди уведомлений. Чтобы указать, какое уведомление следует удалить, используйте параметр receiptId. После получения и обработки входящего уведомления требуется удалить уведомление из очереди. Для этого требуется выполнить данный метод. После вызова метода уведомление будет считаться принятым и обработанным и будет безвозвратно удалено из очереди. Таким образом следующий вызов метода ReceiveNotification вернет следующее уведомление из очереди в порядке поступления уведомлений в очередь.

Срок хранения входящих уведомлений в очереди составляет 24 часа.

Уведомления отдаются из очереди в порядке FIFO

Запрос#

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

DELETE
{{apiUrl}}/waInstance{{idInstance}}/deleteNotification/{{apiTokenInstance}}/{{receiptId}}

Обратите внимание, что требуется использовать запрос вида DELETE

Для получения параметров запроса apiUrl, idInstance и apiTokenInstance обратитесь к разделу Перед началом работы.

Параметры запроса#

Параметр Тип Обязательный Описание
receiptId integer Да Идентификатор доставки для удаления входящего уведомления, полученный методом ReceiveNotification

Ответ#

Поля ответа#

Поле Тип Описание
result boolean Результат удаления входящего уведомления: true - входящее уведомление успешно удалено из очереди; false - уведомление не удалено - возможно, когда уведомление было удалено ранее, или receiptId не соответствует ранее полученному значению методом ReceiveNotification

Пример тела ответа#

{
    "result": true
}

Ошибки DeleteNotification#

Перечень общих для всех методов ошибок смотрите в разделе Стандартные ошибки

Код HTTP Идентификатор ошибки Описание
400 Parameter idInstance not an integer Параметр idInstance не задан или содержит нецифровые символы
400 Parameter apiTokenInstance not define Параметр apiTokenInstance не задан
400 Message cannot be received because custom webhook url is set. Go to cabinet, clear webhook url for instance: ХХХХХХХХХХ and wait for about 1 minute for another attempt Поле webhookUrl не пустое. Очистите URL-адрес для инстанса ХХХХХХХХХХ и подождите около 1 минуты перед тем, как начать запрашивать уведомления.
500 Internal Server Error
Parameter receiptId must be a Number!
Указанный receiptId не является числом
500 Internal Server Error
Cannot read properties of undefined (reading 'findUnAckedMessage')
Не найдено сообщение, которое пытались удалить

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

import requests

url = "{{apiUrl}}/waInstance{{idInstance}}/deleteNotification/{{apiTokenInstance}}/1234567"

payload = {}
headers= {}

response = requests.request("DELETE", url, headers=headers, data = payload)

print(response.text.encode('utf8'))
curl --location --request DELETE '{{apiUrl}}/waInstance{{idInstance}}/deleteNotification/{{apiTokenInstance}}/1234567'
var receiptId = 1;
var restTemplate = new RestTemplate();
var requestUrl = new StringBuilder();

requestUrl
    .append({{apiUrl}})
    .append("/waInstance").append({{idInstance}})
    .append("/deleteNotification/")
    .append({{apiTokenInstance}})
    .append("/").append(receiptId);

var response = restTemplate.exchange(requestUrl.toString(), HttpMethod.DELETE, null, String.class);
System.out.println(response);
var receiptId = 1;
var requestUrl = new StringBuilder();
requestUrl
    .append({{apiUrl}})
    .append("/waInstance").append({{idInstance}})
    .append("/deleteNotification/")
    .append({{apiTokenInstance}})
    .append("/").append(receiptId);;

var response = Unirest.delete(requestUrl.toString())
    .asString();

System.out.println(response);
Sub DeleteNotification()
    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}}/deleteNotification/{{apiTokenInstance}}/12345"

    Set http = CreateObject("MSXML2.XMLHTTP")

    http.Open "DELETE", 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

Пример кода получения уведомлений на NodeJS можно посмотреть в файле ReceiveNotifications