Skip to content
nin-jin edited this page Dec 16, 2020 · 10 revisions

Основные идеи

  • Поддерживается только чтение и запись по идентификатору.
  • Запись идёт патчами.
  • Если узла с переданным в патче идентификатором нет - он создаётся автоматически.
  • Удаление узлов не поддерживается для обеспечения ссылочной целостности.

Формат данных узла с разными типами свойств

{
	"a": true, // boolean
	"b": 777, // number
	"c": "text", // string
	"d": { "en": "Localized text", ... }, // localizad string
	"e": [ "DEF", "GHI", ... ], // links
	...
}

REST API

Получение данных узла по идентификатору

GET /ABC

< { ... }

Обновление данных узла и получение его актуального состояния

PATCH /ABC
> { ... }

< { ... }

WebSocket API

Запрос данных узла по идентификатору и подписка на его обновления

[ "ABC" ]

Подписка действует лишь в рамках соединения. Разрыв соединение приводит к отписке ото всех узлов. После реконнекта клиент должен запросить данные всех интересных ему узлов повторно.

Нотификация об изменении состоянии узла

Присылается в ответ на запрос клиента (присылается null, если данных ещё нет), так и при изменении данных.

[ "ABC", { ... } ]