Вступление
Программный интерфейс API предназначен для взаимодействия УСПД «Вавиот» со сторонними системами верхнего уровня с целью доступа к данным, содержащимся в базе данных УСПД, прямому доступу к устройствам сети NB-Fi (приборам учета электроэнергии), конфигурирования и контроля функционирования.
API представляет собой набор программных методов, исполняющихся посредством HTTP GET либо POST запросов.
Подключение к УСПД
Для осуществления обмена данными с УСПД необходимо наличие TCP/IP канала между ПО верхнего уровня и физическим Ethernet интерфейсом УСПД.
Порт для HTTP- обмена: 80
Авторизация
Большинство методов API предполагают предварительную авторизацию клиента.
В УСПД поддерживается два пользователя, имеющих роли guest и admin.
Ниже описана последовательность действий для авторизации.
- Получение JWT-токена
Запрос:
Тип запроса |
URL |
BODY |
Обязательные поля в заголовке |
POST |
{"login" : "your_login", "password" : "your_pass"} |
Content-Type: application/json |
Ответ:
BODY |
{ "modifyTS": 1544430138, "WAVIOT_JWT": "eyJhbGciOiJtZDUiLCJ0eXAiOiJXQVZJT1RfSldUIn0=.eyJpc3MiOiJhdXRoLndhdmlvdC5ydSIsImF1ZCI6IndhdmlvdC5ydSIsImV4cCI6MTU0NDQzMDQzOSwidXNlck5hbWUiOiJBTW9saW4iLCJ1c2VyUm9sZSI6ImFkbWluIiwidXNlcl9pZCI6IjQxOCIsImFwaUtleSI6InU4N2lqdXF1M2x1ZWNlZHczY281aXdwcWs1N2IxY2M3NmN1YnM5cndqbzFjNTI2dml2b3N0aG1oOHJkeDdzcDYifQ==.Y2M5MmFkZDkzOWZiMjc2NDZjNTYyZjRjNTgxOTcxOTg=" } |
- Использование JWT-токена
При отправке запросов, требующих аутентификацию, необходимо прикрепить полученный токен к заголовкам запросов в виде поля
authorization: bearer WAVIOT_JWT
Пример использования:
Запрос:
Тип запроса |
URL |
Обязательные поля в заголовке |
GET |
/gateway/localid |
authorization: bearer eyJhbGciOiJtZDUiLCJ0eXAiOiJXQVZJT1RfSldUIn0=".eyJpc3MiOiJhdXRoLndhdmlvdC5ydSIsImF1ZCI6IndhdmlvdC5ydSIsImV4cCI6MTU0NDQzMDQzOSwidXNlck5hbWUiOiJBTW9saW4iLCJ1c2VyUm9sZSI6ImFkbWluIiwidXNlcl9pZCI6IjQxOCIsImFwaUtleSI6InU4N2lqdXF1M2x1ZWNlZHczY281aXdwcWs1N2IxY2M3NmN1YnM5cndqbzFjNTI2dml2b3N0aG1oOHJkeDdzcDYifQ==.Y2M5MmFkZDkzOWZiMjc2NDZjNTYyZjRjNTgxOTcxOTg= |
- Срок действия JWT-токена
Токен, выданный при авторизации, имеет ограниченный срок действия, равный 10 минут.
После окончания данного периода времени необходимо выполнить процедуру авторизации повторно.
В случае, если токен более недействителен, все запросы, требующие аутентификацию, возвращают ошибку 403 Token was expired.
- Смена имени пользователя и пароля.
Запрос:
Тип запроса |
URL |
BODY |
Обязательные поля в заголовке |
POST |
/change_pass |
{"login" : "new_login", "password" : "new_pass", “role”:”guest”} |
Content-Type: application/json |
Ответ:
BODY |
login/passwordchanged |
Доступные методы:
Методы модуля driver_electro5
Модуль driver_electro5 реализует поддержку приборов учета электроэнергии Вавиот Фобос.
Описание методов для получения показаний и событий приборов учета, а также их конфигурирования доступно по ссылке waviot.omnidesk.ru/l_RUS/knowledge_base/item/178569
Методы модуля gateway
Модуль gateway выполняет функции NB-Fi базовой станции. Данный HTTP API-интерфейс предоставляет доступ к модулю gateway для администрирования и мониторинга базовой станции.
Описание методов модуля gateway доступно по ссылке waviot.omnidesk.ru/l_rus/knowledge_base/item/178567
Методы модуля telecom
Модуль telecom выполняет функции NB-Fi телеком-cервера. Данный HTTP API-интерфейс позволяет получать, отправлять NB-Fi пакеты данных, конфигурировать режимы работы устройств, базовых станций, выполнять мониторинг работы сети и загружать лицензии на новые устройства.
Описание методов модуля telecom доступно по ссылке waviot.omnidesk.ru/l_rus/knowledge_base/item/178568