Подключение к серверу
Для взаимодействия с сервером необходимо установить защищённое TCP-соединение с использованием TLS/SSL по адресу:
- Хост:
microcomm.ru - Порт:
8008 - Шифрование: обязательно (требуется TLS 1.2 или выше)
💡 Незашифрованные соединения не поддерживаются — сервер будет отклонять любые попытки подключения без TLS.
Формат сообщений
Все сообщения (как запросы, так и ответы) передаются в виде валидных JSON-объектов в кодировке UTF-8.
Каждое сообщение должно содержать два обязательных поля:
cmd— строка с именем команды (регистр важен);data— полезная нагрузка, которая может быть строкой, числом, объектом или массивом — в зависимости от контекста команды.
Пример запроса
{
"cmd": "LOGIN",
"data": {
"uuid": "d3886753-82fe-47e2-9f05-ed485cd25590"
}
}
Формат ответа
Сервер всегда отвечает в том же JSON-формате. Имя команды в ответе формируется по шаблону:
- Успешное выполнение:
"<ИСХОДНАЯ_КОМАНДА>__SUCCESS" - Ошибка:
"<ИСХОДНАЯ_КОМАНДА>__ERROR"
Пример успешного ответа
{
"cmd": "LOGIN__SUCCESS",
"data": {}
}
Пример ответа с ошибкой
{
"cmd": "LOGIN__ERROR",
"data": {
"message": "Device with UUID 'd3886808-82fe-47e2-9f10-ed485cd25590' does not exist",
"code": "DEVICE_NOT_FOUND"
}
}
📌 Рекомендация:
Всегда проверяйте значение поляcmdв ответе, чтобы корректно обрабатывать успешные и ошибочные сценарии.
Таймауты
Сервер применяет два типа таймаутов для поддержания стабильности и безопасности соединений:
1. Таймаут активности (keep-alive)
- Клиент должен отправлять данные не реже чем каждые 10 секунд.
- Это может быть любая валидная команда или специальная служебная команда
PING. - Если за 10 секунд от клиента не поступит ни одного сообщения, сервер автоматически разорвёт соединение.
✅ Рекомендация:
Если клиент простаивает, регулярно отправляйте команду:
{"cmd": "PING", "data": {}}
Сервер ответит:
{"cmd": "PING__SUCCESS", "data": {}}
2. Таймаут авторизации
- После установки соединения клиент обязан завершить авторизацию в течение 10 секунд.
- Если авторизационная команда
LOGINне будет получена и успешно обработана за это время, сервер разорвёт соединение.
⚠️ Оба таймаута начинают отсчёт с момента установки TLS-соединения.