Подписка на изменения

Разработчикам / REST API для BOOCO Meteor (v 1.x)

Для инициализации подписки нужно выполнить POST-запрос с указанием необходимых параметров.

При подписке действует такой же подход к проверке доступа, как и в случае обычных запросов. Если нет доступа на получение информации по ресурсу, то подписаться на его изменения тоже не получится.

Если при уведомлениях об изменениях происходит ошибка (например, сервер недоступен), то подписка автоматически прекращается.

1. Подписка с использованием HTTP-запросов

При изменениях, на которые есть подписка, отправляется HTTP-запрос по указанному при подписке адресу.

⚠️
С одного адреса может быть только одна подписка с одинаковыми параметрами. При повторных подписках предыдущие подписки будут автоматически прекращаться.

В запросе на подписку указываются следующие параметры:

Параметр
Описание
Обязательный
Значение по умолчанию

URL (в формате http(s)://<сервер>/<path>), по которому будет выполнено обращение

да

GET или POST

да

POST

Список параметров, по которым будут отобраны элементы для подписки

нет

2. Подписка с использованием TCP-сокета

Уведомление об изменениях отправляется на TCP-сокет.

Перед отправкой запроса на подписку необходимо открыть сокет на порт 5990 (номер порта можно изменить в настройках). При открытии порта сервер отправляет идентификатор. Этот идентификатор в дальнейшем нужно указывать в запросах на подписку.

Формат сообщения при открытии сокета:

{ "socketId": "12345678" }

В запросе на подписку указываются следующие параметры:

Параметр
Описание
Обязательный

Идентификатор, полученный при открытии сокета

да

Список параметров, по которым будут отобраны элементы для подписки

нет

При получении строки ping сервер отправляет следующий ответ:

{ "pong": 1 }
⚠️
У подписки есть ограничение: на рассмотрение берутся 100 000 последних записей. Если удаляются/редактируются более ранние записи, то уведомления не будут отправляться.