Удалить устройство
Удаляет устройство владельца по DevEUI или DevAddr. Устройство помечается удалённым: команды get_devices_req и update_device_req его больше не находят, а DevEUI и DevAddr можно занять новым устройством.
Запрос и ответ: delete_device_req → delete_device_resp.
Доступ: только токен высокого уровня; можно удалить любое устройство владельца. С токеном низкого уровня сервер ответит ошибкой 1.
Текущая версия ONS
В схеме запроса из описания v0.17 указана команда delete_device, но сервер принимает только delete_device_req, как в примере.
Запрос
Поля без пометки «обязательно» можно не передавать.
| Поле | Тип | Описание |
|---|---|---|
cmd | string | delete_device_req |
operation_id | string | Произвольная строка; сервер вернёт её в ответе — по ней сопоставляют запрос и ответ |
devEui | string | Обязательно devEui или devAddr. DevEUI устройства, 16 hex-символов заглавными буквами — сервер сравнивает с учётом регистра |
devAddr | string | Обязательно devEui или devAddr. DevAddr устройства, 8 hex-символов заглавными буквами. Если переданы оба поля, должны совпасть оба |
{
"cmd": "delete_device_req",
"operation_id": "rdk",
"devEui": "7DA50BE8C74CE6DC"
}
Ответ
| Поле | Тип | Описание |
|---|---|---|
cmd | string | delete_device_resp |
operation_id | string | Значение из запроса |
status | uint8 | 1 — устройство удалено, 2 — ошибка |
error_code, error_text | uint8, string | Только при ошибке, см. ниже |
{
"cmd": "delete_device_resp",
"operation_id": "rdk",
"status": 1
}
Ошибки
error_code | error_text | Что случилось |
|---|---|---|
| 1 | Unauthorized access | Запрос пришёл с токеном низкого уровня |
| 2 | Required field is not filled | Нет ни devEui, ни devAddr |
| 3 | Node does not exists | Устройство не найдено: его нет у владельца, оно уже удалено, удалено его приложение или DevEUI передан строчными буквами |
Что важно знать
- Повтор безопасен. На повторный запрос сервер ответит ошибкой 3: устройство уже удалено.
- Сетевой сервер об удалении не узнаёт. Устройство, которое сейчас на связи, он может и дальше обслуживать по настройкам из своей памяти.
См. также
create_device_req— завести устройство заново.delete_application_req— перед удалением приложения удалите его устройства.