Вступление
Программный интерфейс 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 | {"login" : "new_login", "password" : "new_pass", “role”:”guest”} | Content-Type: application/json |
Ответ:
BODY |
login/passwordchanged |
Доступные методы
Методы модуля driver_electro5
Модуль driver_electro5 реализует поддержку приборов учета электроэнергии Вавиот Фобос.
Описание методов для получения показаний и событий приборов учета, а также их конфигурирования доступно по ссылке https://kb.waviot.ru/index.php?View=entry&EntryID=54
Методы модуля gateway
Модуль gateway выполняет функции NB-Fi базовой станции. Данный HTTP API-интерфейс предоставляет доступ к модулю gateway для администрирования и мониторинга базовой станции.
Описание методов модуля gateway доступно по ссылке https://waviot.makekb.com/entry/52/
Методы модуля telecom
Модуль telecom выполняет функции NB-Fi телеком-cервера. Данный HTTP API-интерфейс позволяет получать, отправлять NB-Fi пакеты данных, конфигурировать режимы работы устройств, базовых станций, выполнять мониторинг работы сети и загружать лицензии на новые устройства.
Описание методов модуля telecom доступно по ссылке https://kb.waviot.ru/index.php?View=entry&EntryID=53
Коды ошибок