Инструменты пользователя

Инструменты сайта


ru:airlay:api:air-lay-web-socket

Это старая версия документа!


Описание

Сервис websocket позволяет подписаться на события и получать уведомления о наступление соответствующего события

Для получения уведомлений о наступление события фронтенд должен подключиться к сервису и отправить запрос на подписку на событий, после чего бэкенд будет отправлять сообщения с информацией о произошедшем событие

Адрес веб сокета

wss:{domain}}/ws ====== Запуск ====== Для запуска сервера выполнить команду на сервере: <code bach> airlay-cli web_socket server </code> ====== Настройки ====== В файле config.ini заполнить секцию webSocketEvents, указать ip-адрес и порт: <code bach> [webSocketEvents] address = 0.0.0.0 port = 8081 </code> ====== Запрос ====== ==== Описание ==== <code json> { «auth»: «string», «action»: «string», «event»: { «type»: «string», «id»: «string» } } </code> * auth - токен доступа `access_token` полученный при авторизации на airlay * action - выполняемое действие attach/detach, подписаться/отписаться от события соответственно * event - объект описывающий событие * event.type - тип события, список будет приведен ниже * event.id - ид объекта(ObjectId) связанного с событием ==== Типы событий ==== - issueUpdate - обновление задачи - notification - оповещение об уведомление(ид не обязателен) - datasetUpdate - обновление набора данных ==== Пример запроса ==== <code> { «auth»: «eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE3MTE3MDkxMTYsImp0aSI6Ik5sWXFmbEcycmtnNmZiWVFXN3pidUJLNGtyamxMY0ovejNNMTNPandKS2c9IiwiaXNzIjoiZGV2LmFpcmxheS5ydSIsImV4cCI6MTcxMTcxNjMxNiwiZGF0YSI6eyJuYW1lIjoiYS5rYWxpbmluIiwiaWQiOiI1ZGFkNjE1ZWFlMDE5NTcwZmI0NjQ3ZWQifX0.mMvDastDK4tuwLhdPv2sMMdBI42iV2yyi6ASiwiW1VcZumS-7Qpf2BMZ_QQlImd0n6NJvuZrKyJF_Hf3THKhEaiV17mdmSmjKjKK-WZAPClle28SrwCQU64neztvcdW6Twv2O4GrWanvwTkqTcoFdIcYuBrbHwubrO4Dt_EtDKw_ntrULnzqXboKa_SXiTzN6skerILgAxUpSD1c8yWh6KyqxyabNY88mwSuCC-iK-TJFLDpQW8C7bdHOoS4ikvnQIT8ByY5e1P6oxQkvZSrpxrC185yHmblNBjJLpLN1XneFpDqg9PggLeXcyddQ9gjimh6je5Z9gC8yLmXnhFlGgstIn9aNP6uUe589E4cIS-LaCUK3IBQ1HnbBiV9dYExnWIaNbBmsIIjRHUgbqSbtfLdEjctBO9aZrOuTRajgIN4Gc17Ny0yFbuy5We1GsYOIB3gQHshGbzLeFL_20bvkqjY4pZUTOHotNSa4nqO1MhFmiAyqrP3gQ7SHojRXP-dXIVe5rCdEaK-w1eVx97SuqdkJPl3Qi52t7-7bX2FVY2RYeg-yTodwW5nCTFF1Hi9oNKW8qzahyWWzbhaXVpecJtXT10564t12iug968oz0Z-5SvVr3JcGSR3MTBTZ45kWn6LoU_3gzi2rpNuX_jX2U_lbMPRxKyc1qkpjJiESlc», «action»: «attach», «event»: { «type»: «issueUpdate», «id»: «610217e481f6fc54736209e0» } } </code> ==== Ответ ==== <code> { «status»: int, «message»: string, «code»: int } </code> * status - статус ответа 200/400 * message - сообщение «Ок»/«Сообщение об ошибке» * code - код ошибки ==== Статусы ответа ==== * 200 - запрос выполнен корректно * 400 - возникла ошибка при обработке запроса ==== Коды ошибок ==== * 1 - Token not set * 2 - Invalid token * 3 - User not exists * 4 - Not access for dataset * 5 - Inavlid request ==== Пример ответа==== <code> { «status»:200, «message»:«Ok», «code»:0 } </code> <code> { «status»:400, «message»:«Invalid request», «code»:5 } </code> ====== Сообщения от сервера ====== ==== Описание ==== <code> { «type»:«string», «id»:«string», «data»:«array» } </code> * type - тип события * id - ид объекта связанного с событием * data - дополнительные дынные ==== Пример сообщения от сервера ==== <code> { «type»:«issueUpdate», «id»:«610217e481f6fc54736209e0», «data»:[] } </code>

ru/airlay/api/air-lay-web-socket.1714112871.txt.gz · Последнее изменение: 2024/04/26 13:27 — Рыков Павел