Отписаться от данных в реальном времени
Останавливает доставку сообщений realtime_data в это соединение. Соединение остаётся открытым, остальные команды работают.
Данные устройств при этом не теряются: их получают другие подписанные соединения приложения, а если таких нет — сервер копит данные в очереди приложения до следующей подписки (consume_req).
Запрос и ответ: unconsume_req → unconsume_resp.
Доступ: токен любого уровня.
Текущая версия ONS
Поле unbind из описания v0.17 сервер принимает, но в текущей версии оно ни на что не влияет. В ответе приходят operation_id из запроса и consumer_count.
Запрос
Поля без пометки «обязательно» можно не передавать.
| Поле | Тип | Описание |
|---|---|---|
cmd | string | unconsume_req |
operation_id | string | Произвольная строка; сервер вернёт её в ответе — по ней сопоставляют запрос и ответ |
unbind | bool | Не влияет на работу сервера. По умолчанию false |
{
"cmd": "unconsume_req",
"operation_id": "unsub1"
}
Ответ
| Поле | Тип | Описание |
|---|---|---|
cmd | string | unconsume_resp |
operation_id | string | Значение из запроса |
status | uint8 | 1 — соединение отписано, 2 — ошибка |
consumer_count | uint16 | Сколько подписанных соединений осталось у приложения. Только при status = 1 |
error_code, error_text | uint8, string | Только при ошибке, см. ниже |
{
"cmd": "unconsume_resp",
"operation_id": "unsub1",
"status": 1,
"consumer_count": 0
}
Ошибки
error_code | error_text | Что случилось |
|---|---|---|
| 1 | Not consuming current APP | Соединение не подписано на данные |
Что важно знать
- Статусы downlink продолжают приходить. Если соединение подписывалось с
"downlink_status": true, после отписки сообщенияdownlink_statusвсё равно приходят. Подписка на статусы не снимается и при закрытии соединения — см. сообщениеdownlink_status. - Чтобы включить
downlink_statusдля уже подписанного соединения, отпишитесь и подпишитесь снова с"downlink_status": true: флаг учитывается только при оформлении подписки. - При закрытии соединения отписываться не нужно: сервер снимает подписку сам.
См. также
consume_req— подписаться на данные.connections_list— какие соединения приложения подписаны.