Downlink — очистить очередь на отправку
Отзывает кадры устройства, которые ждут отправки в статусе 0 (Scheduled). Отозванные кадры не удаляются: в истории они остаются со статусом 6 (Canceled).
Запрос и ответ: downlink_purge_req → downlink_purge_resp.
Доступ: только токен высокого уровня. С токеном низкого уровня сервер ответит ошибкой 1.
Совет
Отзывать кадры лучше командой cancel_downlink_req. Она работает с токеном любого уровня, отзывает и кадры с realTime, убирает отозванный кадр и из памяти сервера, чтобы он не ушёл в эфир, и сообщает, почему кадр не удалось отозвать.
Запрос
Поля без пометки «обязательно» можно не передавать.
| Поле | Тип | Описание |
|---|---|---|
cmd | string | downlink_purge_req |
operation_id | string | Произвольная строка; сервер вернёт её в ответе — по ней сопоставляют запрос и ответ |
devEui | string | Обязательно devEui или devAddr. DevEUI устройства, 16 hex-символов |
devAddr | string | Обязательно devEui или devAddr. DevAddr устройства, 8 hex-символов |
{
"cmd": "downlink_purge_req",
"operation_id": "xyz",
"devEui": "6F1E570FFE14DBFC"
}
Ответ
| Поле | Тип | Описание |
|---|---|---|
cmd | string | downlink_purge_resp |
operation_id | string | Значение из запроса |
status | uint8 | 1 — успех, 2 — ошибка |
devEui, devAddr | string | Устройство, чья очередь очищена |
dataInQueuePurge | uint32 | Сколько кадров отозвано |
error_code, error_text | uint8, string | Только при ошибке, см. ниже |
{
"cmd": "downlink_purge_resp",
"operation_id": "xyz",
"status": 1,
"devEui": "6F1E570FFE14DBFC",
"devAddr": "78130AE1",
"dataInQueuePurge": 2
}
Ошибки
error_code | error_text | Что случилось |
|---|---|---|
| 1 | Unauthorized access | Запрос пришёл с токеном низкого уровня |
| 3 | Data is filled in with an error | devEui или devAddr неверного формата |
| 7 | Downlink queue empty | В очереди нет ожидающих кадров |
| 8 | Device does not exists | Устройство не найдено |
| 0 | — | Внутренняя ошибка сервера — повторите запрос позже |
Что важно знать
- Отзываются только кадры в статусе 0 (Scheduled) за последний месяц. Кадры с
realTime(статус 4, Realtime Scheduled) остаются в очереди. - Кадр, который сервер уже забрал на передачу после uplink устройства, очистка может не остановить. Чтобы остановить и такой кадр, используйте
cancel_downlink_req.
См. также
- Отправка данных на устройство — как устроен downlink и в каком порядке вызывать команды.