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

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


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

Описание

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

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

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

wss://{domain}/ws

Запуск

Для запуска сервера выполнить команду на сервере:

airlay-cli web_socket server

Настройки

В файле config.ini заполнить секцию webSocketEvents, указать ip-адрес и порт:

[webSocketEvents]
address = 0.0.0.0
port = 8081

Запрос

Описание

{
  "auth": "string",
  "action": "string",
  "event": {
    "type": "string",
    "id": "string"
  }
}
  • auth - токен доступа `access_token` полученный при авторизации на airlay
  • action - выполняемое действие attach/detach, подписаться/отписаться от события соответственно
  • event - объект описывающий событие
  • event.type - тип события, список будет приведен ниже
  • event.id - ид объекта(ObjectId) связанного с событием

Типы событий

  1. issueUpdate - обновление задачи
  2. notification - оповещение об уведомление(ид не обязателен)
  3. datasetUpdate - обновление набора данных
  4. uploadFile - завершение загрузки в набор данных
  5. downloadFile - завершение скачивания объектов или отчетов

Пример запроса

{
  "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"
  }
}

Ответ

{
    "status": int,
    "message": string,
    "code": int
}
  • 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

Пример ответа

{
    "status":200,
    "message":"Ok",
    "code":0 
}
{
    "status":400,
    "message":"Invalid request",
    "code":5 
}

Сообщения от сервера

Описание

{
    "type":"string",
    "id":"string",
    "data":"array"
}
  • type - тип события
  • id - ид объекта связанного с событием
  • data - дополнительные дынные

Пример сообщения от сервера

{
    "type":"issueUpdate",
    "id":"610217e481f6fc54736209e0",
    "data":[]
}
ru/airlay/api/air-lay-web-socket.txt · Последнее изменение: 2024/04/29 18:05 — Рыков Павел