Files
smart-lift-docs/WebSocket.md
2024-10-02 10:53:03 +03:00

2.7 KiB

WebSocket

Подключение

Сервер предоставляет 2 url для подключения к WebSocket:

  • Для контроллера группы лифтов wss://{base_url}/ws/v1/controller
  • Для клиентских приложений wss://{base_url}/ws/v1/client

Передача данных

Передача данных происходит путем отправки бинарных сообщений. Сообщение представляет из себя json следующей структуры:

{
    // Идентификатор типа сообщения
    "type": "auth", 
    // Данные соответствующие типу сообщения
    // !!!Формат данных различен для сообщений с одинаковым типом на разных url
    "data": "token"
}

💥 Внимание!!! Формат данных различен для сообщений с одинаковым типом на разных url, кроме сообщения auth

Авторизация

Авторизация происходит путем отправки сообщения auth сразу после установки соединения. Если сервер не получает сообщение в течении 10 сек после подключения, то соединение закрывается. Так же соединение закрывается, если первое сообщение после соединения не соответствует формату сообщения auth. Все последующие отправки данного сообщения игнорируются.

{
    // Тип сообщения 
    "type": "auth", 
    // Для контроллера *api_key*, созданный при добавлении группы в БД
    // Для клиента *access_token*, полученный после авторизации.
    "data": "<access_token|api_key>" 
}

При успешной авторизации сервер присылает сообщение:

{
    "type": "auth",
    "data": true
}

При неуспешной авторизации соединение закрывается c кодом закрытия 1008