API - методы сервиса авторизации
Сервис предназначен для выполнения ряда функций над пользователями и их регистрационными данными
- Авторизация пользователя. Производится несколькими методами /auth, через предоставление ранее зарегистрированных логина/пароля, либо через предоставление валидного RT. Результатом авторизации пользователя будет выдача JWT (JSON Web Token) и RT (Refresh Token).
- Деавторизация пользователя или закрытие сессии авторизации. Производится несколькими методами, через методами запроса /auth/close с предоставлением RT, либо через метод POST запроса /auth/sessions с предоставлением sessionId
- Регистрация и редактирование пользовательских данных с помощью методов запроса /auth/registration
- Вводится понятие "claim" или "право доступа" к определённому сервису с вариантами исполнения этого права на стороне сервис. Для просмотр и редактирование глоссария возможных прав доступа используются методы запроса /auth/claims
- Вводится понятие "role" - набор из прав доступа определяющий привилегии и роль пользователя. Для просмотр и редактирование глоссария возможных ролей используются методы запроса /auth/roles
- Просмотр и редактирование прав доступа пользователя. Методы запроса /auth/actor. С помощью этих методов можно выдать права доступа пользователю, через выдачу нескольких ролей или отдельных прав. Хоть функционал выдачи отдельных прав пользователю и доступен, крайне рекомендуется использовать выдачу прав через роли, т.к. после редактирования роли и переавторизации, у всех пользователей с этой ролью обновятся наборы прав доступа. Выдачу прав доступа через отдельные права доступа можно использовать в крайних или тестовых случаях. В процессе авторизации права из ролей и отдельные права выданные этим методом будут добавлены в JWT
- Просмотр и закрытие активных сессий авторизации. Сессии - внутреннее состояние сервиса. Необходимо для контроль и закрытия со стороны администратора сессий авторизации. Методы запросы /auth/sessions
Редактирование глоссариев ролей и прав доступа ложится на разработчиков API сервисов.
Общий вид глоссария прав доступа для сервиса авторизации.
{
"auth": {
"admin": {
"comment": "Разрешено использовать все методы сервиса",
"options": [
"
]
},
"actor": {
"comment": "Просмотр, выдача и удаление прав доступа пользователю",
"options": [
",
"GET",
"POST",
"DELETE"
]
},
"claims": {
"comment": "Просмотр и редактирование глоссария прав доступа",
"options": [
",
"GET",
"POST",
"PUT",
"DELETE"
]
},
"roles": {
"comment": "Просмотр и редактирование глоссария ролей",
"options": [
",
"GET",
"POST",
"PUT",
"DELETE"
]
},
"registration": {
"comment": "Просмотр, редактирование и удаление данных всех пользователей",
"options": [
",
"GET",
"PUT",
"DELETE"
]
},
"sessions": {
"comment": "Просмотр и закрытие сессий авторизации",
"options": [
",
"GET",
"POST"
]
}
}
}
Общий вид глоссария ролей для сервиса авторизации.
{
"authAdmin": {
"services": {
"auth": {
"admin": "
}
},
"comment": "Доступны все запросы/методы сервиса авторизации",
"apiKey": "
},
"authRegistration": {
"services": {
"auth": {
"registration": "
}
},
"comment": "Доступны методы просмотра, редактирования и удаление данных всех пользователей",
"apiKey": "
},
"authRegistration2": {
"services": {
"auth": {
"registration": "GET,PUT"
}
},
"comment": "Доступны методы просмотра и редактирования данных всех пользователей",
"apiKey": "
},
"authRegistration3": {
"services": {
"auth": {
"admin": ",
"!registration": "
}
},
"comment": "Доступны все методы сервиса авторизации, кроме методов просмотра, редактирования и удаление данных всех пользователей",
"apiKey": "
},
"authRegistration4": {
"services": {
"auth": {
"admin": ",
"!registration": "DELETE"
}
},
"comment": "Доступны все методы сервиса авторизации, кроме метода удаления пользователей",
"apiKey": "
}
}
В общем виде можно создать роль или выдать отдельное право доступа, c правом использовать все методы и запросы сервиса:
"services": { "auth": { "admin": " } },
C правом использовать все методы определенного запроса сервиса:
"services": { "auth": { "registration": " } },
С правом использовать определенные методы определенного запроса:
"services": { "auth": { "registration": "GET,PUT" } },
С правом использовать все методы и запросы сервиса, кроме всех методов определенных запросов:
"services": { "auth": { "admin": ", "!registration": " } },
С правом использовать все методы и запросы сервиса, кроме определенных методов определенного запросов:
"services": { "auth": { "admin": ", "!registration": "DELETE" } },
Таблица 1. Сводная таблица всех API методов сервиса авторизации
Описание |
URL |
Метод |
/auth |
GET/POST |
|
/auth/close |
GET/POST |
|
/auth/info |
GET |
|
/auth/decode |
GET/POST | |
/auth/check |
GET |
|
/auth/swap | GET/POST | |
/auth/registration | GET | |
/auth/registration | POST | |
/auth/registration | PUT | |
/auth/registration | DELETE | |
/auth/confirm | GET/POST | |
/auth/claims |
GET |
|
/auth/claims |
POST |
|
/auth/claims |
PUT |
|
/auth/claims | DELETE | |
/auth/roles |
GET | |
/auth/roles | POST | |
/auth/roles | PUT | |
/auth/roles | DELETE | |
/auth/actor | GET | |
/auth/actor | POST | |
/auth/actor | DELETE | |
/auth/sessions | GET | |
/auth/sessions | POST | |
/auth/companies |
GET | |
/auth/companies | POST | |
/auth/companies | PUT | |
/auth/companies | DELETE | |
/auth/contracts |
GET | |
/auth/contracts | POST | |
/auth/contracts | PUT | |
/auth/contracts | DELETE | |
/auth/batches |
GET | |
/auth/batches | POST | |
/auth/batches | PUT | |
/auth/batches | DELETE | |
/auth/modems |
GET | |
/auth/modems | POST | |
/auth/modems | PUT | |
/auth/modems | DELETE | |
/auth/modemCompany |
GET | |
/auth/modemCompany | POST | |
/auth/modemCompany | DELETE | |
/auth/userCompany |
GET | |
/auth/userCompany | POST | |
/auth/userCompany | DELETE | |
/auth/stations |
GET | |
/auth/stations | POST | |
/auth/stations | PUT | |
/auth/stations | DELETE | |
/auth/stationCompany |
GET | |
/auth/stationCompany | POST | |
/auth/stationCompany | DELETE | |
/auth/simpleUsers | GET | |
/auth/simpleCompanies | GET | |
/auth/modemAccess | POST | |
/auth/modemUser | POST | |
/auth/stationAccess | POST | |
/auth/stationUser | POST | |
/auth/custom |
GET | |
/auth/custom | POST | |
/auth/custom | DELETE | |
/auth/license | POST | |
/auth/logs |
GET | |
/auth/recovery | GET/POST | |
/auth/modemCompanyBatch | POST | |
/auth/modemCompanyBatch | DELETE | |
/auth/stationCompanyBatch | POST | |
/auth/stationCompanyBatch | DELETE |
GET запрос:
URL |
Список параметров |
Пример запроса |
/auth |
login/email,phone,password |
/auth?email=admin&password=admin или /auth?phone=79777665535&password=admin |
BODY: пустой
Ответ:
BODY |
{ "WAVIOT_JWT": "eyJhbGciOiJobWFjX21kNSIsInR5cCI6IldBVklPVF9KV1QifQ==...", "rt": "eyJhbGciOiJobWFjX21kNSIsInR5cCI6IldBVklPVF9KV1QifQ==..." } |
Авторизация, через отправку кода на номер телефона/почту
Запрос кода.
URL |
Список параметров |
Пример запроса |
/auth |
login/email,password,phone,code,method |
Через почту /[email protected]&method=email Через СМС /auth?phone=79777665535&method=sms Через звонок /auth?phone=79777665535&method=call |
BODY: пустой
Ответ:
BODY |
{ "status": "ok" } |
Авторизация по полученному коду. Время жизни кода ограничено.
URL |
Список параметров |
Пример запроса |
/auth |
login/email,password,phone,code,method |
Через почту /[email protected]&code=1234&method=email Через телефон /auth?phone=79777665535&code=1234&method=sms |
BODY: пустой
Ответ:
BODY |
{ "WAVIOT_JWT": "eyJhbGciOiJobWFjX21kNSIsInR5cCI6IldBVklPVF9KV1QifQ==...", "rt": "eyJhbGciOiJobWFjX21kNSIsInR5cCI6IldBVklPVF9KV1QifQ==...." } |
Описание параметров запроса
Имя параметра |
Тип |
Описание |
Значение по умолчанию |
email/login |
string |
Логин/почта |
обязательный параметр |
password |
string |
Пароль |
обязательный параметр |
phone |
string |
Номер телефона |
обязательный параметр |
code |
string |
Полученный код |
обязательный параметр |
method |
string |
Метод получения кода |
обязательный параметр |
В случае успешной авторизации сервис выставляет cookie "WAVIOT_JWT" и "rt".
POST запрос:
URL |
Список параметров |
Пример запроса |
/auth |
|
/auth |
BODY |
{ или
{ |
Ответ:
BODY |
{ "WAVIOT_JWT": "eyJhbGciOiJobWFjX21kNSIsInR5cCI6IldBVklPVF9KV1QifQ==...", "rt": "eyJhbGciOiJobWFjX21kNSIsInR5cCI6IldBVklPVF9KV1QifQ==..." } |
В случае успешной авторизации сервис выставляет cookie "WAVIOT_JWT" и "rt".
Авторизация, через отправку кода на номер телефона/почту
Запрос кода.
BODY |
Через СМС
{ Через звонок {
"method":"call", Через почту
{ |
Ответ:
BODY |
{ "status": "ok" } |
Авторизация по полученному коду. Время жизни кода ограничено.
BODY |
Через телефон
{ Через почту
{ |
Ответ:
BODY |
{ "WAVIOT_JWT": "eyJhbGciOiJobWFjX21kNSIsInR5cCI6IldBVklPVF9KV1QifQ==...", "rt": "eyJhbGciOiJobWFjX21kNSIsInR5cCI6IldBVklPVF9KV1QifQ==..." } |
В случае успешной авторизации сервис выставляет cookie "WAVIOT_JWT" и "rt".
POST запрос:
Обновление WAVIOT_JWT токена, через rt токен.
URL |
Список параметров |
Пример запроса |
/auth |
|
/auth |
BODY |
{ "rt": "eyJhbGciOiJobWFjX21kNSIsInR5cCI6IldBVklPVF9KV1QifQ==..." } |
Ответ:
BODY |
{ "WAVIOT_JWT": "eyJhbGciOiJobWFjX21kNSIsInR5cCI6IldBVklPVF9KV1QifQ==...", "rt": "eyJhbGciOiJobWFjX21kNSIsInR5cCI6IldBVklPVF9KV1QifQ==..." } |
В случае отсутствия rt токена в теле запроса, токен берется из cookie "rt".
В случае успешного обновления сервис выставляет cookie "WAVIOT_JWT" и "rt".
GET/POST запрос:
URL |
Список параметров |
Пример запроса |
/auth/close |
|
/auth/close |
BODY |
{ "rt": "eyJhbGciOiJobWFjX21kNSIsInR5cCI6IldBVklPVF9KV1QifQ==..." } |
Ответ:
BODY |
{ "status": "ok" } |
В случае отсутствия rt токена в теле запроса, токен берется из cookie "rt".
После успешного закрытия сессии cookie rt и WAVIOT_JWT удаляются.
Закрытие всех сессий пользователя. Идентификатор пользователя берется из RT.
BODY |
{ "all": " } |
Ответ:
BODY |
{ "status": "ok" } |
GET запрос:
URL |
Список параметров |
Пример запроса |
/auth/info |
|
/auth/info |
BODY: пустой
Ответ:
BODY |
{ "version": "1.00" } |
GET запрос:
URL |
Список параметров |
Пример запроса |
/auth/decode |
WAVIOT_JWT, rt |
/auth/decode?WAVIOT_JWT=eyJhbGciOiJobWFjX21kNSIsInR5cCI6IldBVklPVF9KV1QifQ... |
BODY: пустой
Ответ:
BODY |
{ "jwt":{ "raw":"eyJhbGciOiJobWFjX21kNSIsInR5cCI6IldBVklPVF9KV1QifQ==...", "rawHead":"eyJhbGciOiJobWFjX21kNSIsInR5cCI6IldBVklPVF9KV1QifQ==", "rawData":"eyJpc3MiOiJhdXRoLndhdmlvdC5ydSIsImF1ZCI6IndhdmlvdC5yd...", "rawSign":"NmVlM2JlNzdmZWNiZjAwMjYwYWNlNDZkMmMxNmUzNGI=", "head":{ "alg":"hmac_md5", "typ":"WAVIOT_JWT" }, "data":{ "iss":"auth.waviot.ru", "aud":"waviot.ru", "exp":1674214284, "email":"admin", "claims":{ "appsandbox":{ "admin":" }, "auth":{ "admin":" }, "b":{ "admin":" }, "driver-electro5":{ "admin":" }, "telecom":{ "admin":" } }, "userId":"d86cdc6b-dc50-4b3e-a91c-fdc83e66983d", "firstName":", "middleName":", "lastName":", "location":", "language":", "rabbit_guest_api_connection":"amqp://api_guest:waviot@localhost//", "aiKeys":[ "uspdbleata3ludcedw3co5iwpqk57b2ff76cufs9rwfo1c526cee99thmh1r4175p9", "ZDg2Y2RjNmItZGM1MC00YjNlLWE5MWMtZmRjODNlNjY5ODNk" ] }, "sign":"6ee3be77fecbf00260ace46d2c16e34b", "valid":false }, "rt":{ "raw":"eyJhbGciOiJobWFjX21kNSIsInR5cCI6IldBVklPVF9KV1QifQ==...", "rawHead":"eyJhbGciOiJobWFjX21kNSIsInR5cCI6IldBVklPVF9KV1QifQ==", "rawData":"eyJpc3MiOiJhdXRoLndhdmlvdC5ydSIsImF1ZCI6IndhdmlvdC5y...", "rawSign":"NTAyNzA1ZDlmMjMxNmYyODJkYjU3ZWIwZjk0ODMxN2E=", "head":{ "alg":"hmac_md5", "typ":"WAVIOT_JWT" }, "data":{ "iss":"auth.waviot.ru", "aud":"waviot.ru", "exp":1674217284, "email":"admin", "userId":"d86cdc6b-dc50-4b3e-a91c-fdc83e66983d" }, "sign":"502705d9f2316f282db57eb0f948317a", "valid":true }, "jwtErr":"jwt expired", "rtErr":"ok" } |
Описание параметров запроса
Имя параметра |
Тип |
Описание |
Значение по умолчанию |
WAVIOT_JWT |
string |
JWT токен |
не обязательный параметр |
rt | string |
RT токен |
не обязательный параметр |
В случае отсутствия токенов они берутся из заголовка "Authorization" или cookie "WAVIOT_JWT" и "rt".
POST запрос:
URL |
Список параметров |
Пример запроса |
/auth/decode |
|
/auth/decode |
BODY |
{ "WAVIOT_JWT": "eyJhbGciOiJobWFjX21kNSIsInR5cCI6IldBVklPVF9KV1QifQ==...", "rt": "eyJhbGciOiJobWFjX21kNSIsInR5cCI6IldBVklPVF9KV1QifQ==..." } |
Ответ:
BODY |
{ "jwt":{ "raw":"eyJhbGciOiJobWFjX21kNSIsInR5cCI6IldBVklPVF9KV1QifQ==...", "rawHead":"eyJhbGciOiJobWFjX21kNSIsInR5cCI6IldBVklPVF9KV1QifQ==", "rawData":"eyJpc3MiOiJhdXRoLndhdmlvdC5ydSIsImF1ZCI6IndhdmlvdC5yd...", "rawSign":"NmVlM2JlNzdmZWNiZjAwMjYwYWNlNDZkMmMxNmUzNGI=", "head":{ "alg":"hmac_md5", "typ":"WAVIOT_JWT" }, "data":{ "iss":"auth.waviot.ru", "aud":"waviot.ru", "exp":1674214284, "email":"admin", "claims":{ "appsandbox":{ "admin":" }, "auth":{ "admin":" }, "b":{ "admin":" }, "driver-electro5":{ "admin":" }, "telecom":{ "admin":" } }, "userId":"d86cdc6b-dc50-4b3e-a91c-fdc83e66983d", "firstName":", "middleName":", "lastName":", "location":", "language":", "rabbit_guest_api_connection":"amqp://api_guest:waviot@localhost//", "aiKeys":[ "uspdbleata3ludcedw3co5iwpqk57b2ff76cufs9rwfo1c526cee99thmh1r4175p9", "ZDg2Y2RjNmItZGM1MC00YjNlLWE5MWMtZmRjODNlNjY5ODNk" ] }, "sign":"6ee3be77fecbf00260ace46d2c16e34b", "valid":false }, "rt":{ "raw":"eyJhbGciOiJobWFjX21kNSIsInR5cCI6IldBVklPVF9KV1QifQ==...", "rawHead":"eyJhbGciOiJobWFjX21kNSIsInR5cCI6IldBVklPVF9KV1QifQ==", "rawData":"eyJpc3MiOiJhdXRoLndhdmlvdC5ydSIsImF1ZCI6IndhdmlvdC5y...", "rawSign":"NTAyNzA1ZDlmMjMxNmYyODJkYjU3ZWIwZjk0ODMxN2E=", "head":{ "alg":"hmac_md5", "typ":"WAVIOT_JWT" }, "data":{ "iss":"auth.waviot.ru", "aud":"waviot.ru", "exp":1674217284, "email":"admin", "userId":"d86cdc6b-dc50-4b3e-a91c-fdc83e66983d" }, "sign":"502705d9f2316f282db57eb0f948317a", "valid":true }, "jwtErr":"jwt expired", "rtErr":"ok" } |
В случае отсутствия токенов они берутся из заголовка "Authorization" или cookie "WAVIOT_JWT" и "rt".
GET запрос:
Для проверки прав токен берется из заголовка "Authorization" или cookie "WAVIOT_JWT".
URL |
Список параметров |
Пример запроса |
/auth/check |
service, claim, option |
/auth/check?service=auth&claim=roles |
BODY |
|
Ответ:
BODY |
{ "status": "allowed" } |
Описание параметров запроса
Имя параметра |
Тип |
Описание |
Значение по умолчанию |
service |
string |
Сервис |
обязательный параметр |
claim | string |
Право доступа |
обязательный параметр |
option | string |
Вариант исполнения |
не обязательный параметр |
Проверяются права доступа "auth":{"swap":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
GET запрос:
URL |
Список параметров |
Пример запроса |
/auth/swap |
email/login, phone |
/auth/[email protected] или /auth/swap?phone=79777665535 или /auth/swap?userId=d86cdc6b-dc50-4b3e-a91c-fdc83e66983d |
BODY |
|
Ответ:
BODY |
{ "WAVIOT_JWT": "eyJhbGciOiJobWFjX21kNSIsInR5cCI6IldBVklPVF9KV1QifQ==...", "rt": "eyJhbGciOiJobWFjX21kNSIsInR5cCI6IldBVklPVF9KV1QifQ==..." } |
В случае успешной авторизации сервис выставляет cookie "WAVIOT_JWT" и "rt".
Описание параметров запроса
Имя параметра |
Тип |
Описание |
Значение по умолчанию |
email/login |
string |
Почта/логин |
не обязательный параметр |
phone | string |
Телефон |
не обязательный параметр |
POST запрос:
URL |
Список параметров |
Пример запроса |
/auth/swap |
|
/auth/swap |
BODY |
{ или
{ или
{ |
Ответ:
BODY |
{ "WAVIOT_JWT": "eyJhbGciOiJobWFjX21kNSIsInR5cCI6IldBVklPVF9KV1QifQ==...", "rt": "eyJhbGciOiJobWFjX21kNSIsInR5cCI6IldBVklPVF9KV1QifQ==..." } |
В случае успешной авторизации сервис выставляет cookie "WAVIOT_JWT" и "rt".
Получение информации о пользователи
Проверяются права доступа "auth":{"registration":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
В случае наличии права доступны данные всех пользователей.
В обратном случае доступны данные только текущего пользователя
GET запрос:
URL |
Список параметров |
Пример запроса |
/auth/registration |
email, offset, limit, count |
/auth/registration?email=admin |
BODY: пустой
Ответ:
BODY |
[ |
URL |
Список параметров |
Пример запроса |
/auth/registration |
email, offset, limit, count |
/auth/registration?offset=0&limit=1000 |
BODY: пустой
Ответ:
BODY |
[ { "userId":"d86cdc6b-dc50-4b3e-a91c-fdc83e66983d", "email":"admin", "phone":", "password":", "firstName":", "middleName":", "lastName":", "location":", "language":", "sessionLimit":100, "requestLimit":100, "birthdayTS":0, "confirmTS":0, "createTS":1674125263, "bannedToTS":0, "emailConfirm":false, "phoneConfirm":false, "companyId": "c12697a1-86ea-11ef-adf9-00059a3c7a00" }, { "userId":"7567a6ac-5ba0-4792-9d3e-656549df5a23", "email":"123", "phone":", "password":", "firstName":"pikachu", "middleName":", "lastName":"rochu", "location":", "language":", "sessionLimit":100, "requestLimit":100, "birthdayTS":0, "confirmTS":0, "createTS":1674147689, "bannedToTS":0, "emailConfirm":false, "phoneConfirm":false, "companyId": "c12697a1-86ea-11ef-adf9-00059a3c7a00" }, { "userId":"d6abed83-3558-4d12-be6c-c63628da8d89", "email":"123123", "phone":", "password":", "firstName":"pikachu", "middleName":", "lastName":"dochu", "location":", "language":", "sessionLimit":100, "requestLimit":100, "birthdayTS":0, "confirmTS":0, "createTS":1674148265, "bannedToTS":0, "emailConfirm":false, "phoneConfirm":false, "companyId": "c12697a1-86ea-11ef-adf9-00059a3c7a00" }, { "userId":"62af9003-c67b-478e-a617-cdec8780c67c", "email":"1233", "phone":", "password":", "firstName":"pikachu", "middleName":", "lastName":"rochu", "location":", "language":", "sessionLimit":100, "requestLimit":100, "birthdayTS":0, "confirmTS":0, "createTS":1674148853, "bannedToTS":0, "emailConfirm":false, "phoneConfirm":false, "companyId": "c12697a1-86ea-11ef-adf9-00059a3c7a00" } ] |
URL |
Список параметров |
Пример запроса |
/auth/registration |
email, offset, limit, count |
/auth/registration?count |
BODY: пустой
Ответ:
BODY |
{ "count":4 } |
Описание параметров запроса
Имя параметра |
Тип |
Описание |
Значение по умолчанию |
|
string |
Почта |
не обязательный параметр |
offset | int | Сдвиг пользователей в ответе |
не обязательный параметр (0 по умолчанию) |
limit |
int | Ограничение количества в ответе |
не обязательный параметр (1000 по умолчанию) |
count |
bool |
Общее число пользователей |
не обязательный параметр |
order |
string |
Поле сортировки |
не обязательный |
logicOr |
bool |
Логическое или полей фильтрации |
не обязательный |
string |
Поле фильтра (электронная почта) |
не обязательный |
|
phone |
string |
Поле фильтра (телефон) |
не обязательный |
firstName |
string |
Поле фильтра (имя) |
не обязательный |
middleName |
string |
Поле фильтра (отчество) |
не обязательный |
lastName |
string |
Поле фильтра (фамилия) |
не обязательный |
location |
string |
Поле фильтра (расположение) |
не обязательный |
language |
string |
Поле фильтра (язык) |
не обязательный |
sessionLimit |
int |
Поле фильтра (ограничение одновременных сессий) |
не обязательный |
requestLimit |
int |
Поле фильтра (ограничение запросов API) |
не обязательный |
birthdayTS |
int |
Поле фильтра (дата/время рождения) |
не обязательный |
codeTS |
int |
Поле фильтра (дата/время отправки кода подтверждения почты/телефона) |
не обязательный |
createTS |
int |
Поле фильтра (дата/время создания пользователя) |
не обязательный |
bannedToTS |
int |
Поле фильтра (дата/время до которой забанен пользователь) |
не обязательный |
lastTS |
int |
Поле фильтра (дата/время последней авторизации) |
не обязательный |
emailConfirm |
bool |
Поле фильтра (подтверждена ли электронная почта) |
не обязательный |
phoneConfirm |
bool |
Поле фильтра (подтвержден ли телефон) |
не обязательный |
authMethod |
string |
Поле фильтра (возможные методы авторизации) Варианты: - password (авторизация по почта/телефон + пароль) - emailCode (авторизация по почта + код) - phoneCode (авторизация по телефон + код) - emailPasswordCode (двухфакторная авторизация по почта + пароль + код) - phonePasswordCode (двухфакторная авторизация по телефон + пароль + код) - пустое поле все варианты - возможные варианты можно комбинировать через разделитель "," |
не обязательный |
Регистрация нового пользователя
POST запрос:
URL |
Список параметров |
Пример запроса |
/auth/registration |
|
/auth/registration |
BODY |
{ "email":"1233", "password":"123333", "firstname":"pikachu", "lastname":"rochu" } |
Ответ:
BODY |
{ "status": "ok" } |
Проверяются права доступа "auth":{"registration":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
В случае наличии права доступны данные всех пользователей.
В обратном случае доступны данные только текущего пользователя
PUT запрос:
URL |
Список параметров |
Пример запроса |
/auth/registration |
|
/auth/registration |
BODY |
{ "userId": ", "email": "admin", "phone": ", "password": ", "firstname": "333", "middlename": "222", "sessionLimit": 1010, "lastname": "123", "phone": "111123123q2312" } |
Ответ:
BODY |
{ "status": "ok" } |
URL |
Список параметров |
Пример запроса |
/auth/registration |
|
/auth/registration |
BODY |
{ "email": "admin", "password": "admin1", "oldPassword": "admin" } |
Ответ:
BODY |
{ "status": "ok" } |
Проверяются права доступа "auth":{"registration":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
В случае наличии права доступны данные всех пользователей.
В обратном случае доступны данные только текущего пользователя
DELETE запрос:
URL |
Список параметров |
Пример запроса |
/auth/registration |
|
/auth/registration |
BODY |
{ "email": "123" } |
Ответ:
BODY |
{ "status": "ok" } |
GET запрос:
Запрос кода.
URL |
Список параметров |
Пример запроса |
/auth/confirm |
login/email,phone,code,method |
Через почту /auth/[email protected]&method=email Через СМС /auth/confirm?phone=79777665535&method=sms Через звонок /auth/confirm?phone=79777665535&method=call |
BODY: пустой
Ответ:
BODY |
{ "status": "ok" } |
Подтверждение по полученному коду. Время жизни кода ограничено.
URL |
Список параметров |
Пример запроса |
/auth/confirm |
login/email,phone,code,method |
Через почту /auth/[email protected]&code=1234&method=email Через телефон /auth/confirm?phone=79777665535&code=1234&method=sms |
BODY: пустой
Ответ:
BODY |
{ "status": "ok" } |
Описание параметров запроса
Имя параметра |
Тип |
Описание |
Значение по умолчанию |
email/login |
string |
Логин/почта |
обязательный параметр |
phone |
string |
Номер телефона |
обязательный параметр |
code |
string |
Полученный код |
обязательный параметр |
method |
string |
Метод получения кода |
обязательный параметр |
POST запрос:
Запрос кода.
URL |
Список параметров |
Пример запроса |
/auth/confirm |
|
/auth/confirm |
BODY |
Через СМС
{ Через звонок {
"method":"call", Через почту
{ |
Ответ:
BODY |
{ "status": "ok" } |
Подтверждение по полученному коду. Время жизни кода ограничено.
BODY |
Через телефон
{ Через почту
{ |
Ответ:
BODY |
{ "status": "ok" } |
Проверяются права доступа "auth":{"claims":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
GET запрос:
URL |
Список параметров |
Пример запроса |
/auth/claims |
|
/auth/claims |
BODY |
|
Ответ:
BODY |
{ "appsandbox": { "admin": { "comment": "Разрешено использовать все методы сервиса", "options": [ " ] } }, "auth": { "admin": { "comment": "Разрешено использовать все методы сервиса", "options": [ " ] } }, "b": { "admin": { "comment": "Разрешено использовать все модемы", "options": [ " ] } }, "driver-electro5": { "admin": { "comment": "Разрешено использовать все методы сервиса", "options": [ " ] } }, "phobosfix": { "admin": { "comment": "Разрешено использовать все методы сервиса", "options": [ " ] } }, "sessions": { "admin": { "comment": "Разрешено использовать все методы сервиса", "options": [ " ] } }, "some_new_service": { "admin": { "comment": "admin comment", "options": [ "123", "321" ] }, "hand": { "comment": "hand comment", "options": [ "opt1", "opt2", " ] } }, "telecom": { "admin": { "comment": "Разрешено использоавть все методы сервиса", "options": [ " ] } } } |
Установка возможных прав для сервиса
Проверяются права доступа "auth":{"claims":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
POST запрос:
URL |
Список параметров |
Пример запроса |
/auth/claims |
|
/auth/claims |
BODY |
{ |
Ответ:
BODY |
{ "status": "ok" } |
Проверяются права доступа "auth":{"claims":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
PUT запрос:
URL |
Список параметров |
Пример запроса |
/auth/claims |
|
/auth/claims |
BODY |
{ |
Ответ:
BODY |
{ "status": "ok" } |
Удаление возможных прав/сервисов
Проверяются права доступа "auth":{"claims":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
DELETE запрос:
URL |
Список параметров |
Пример запроса |
/auth/claims |
|
/auth/claims |
BODY |
{ |
Ответ:
BODY |
{ "status": "ok" } |
Проверяются права доступа "auth":{"roles":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
GET запрос:
URL |
Список параметров |
Пример запроса |
/auth/roles |
|
/auth/roles |
BODY |
|
Ответ:
BODY |
{ "admin": { "services": { "appsandbox": { "admin": " }, "auth": { "admin": " }, "b": { "admin": " }, "driver-electro5": { "admin": " }, "telecom": { "admin": " } }, "comment": "Доступны все модемы и методы auth, telecom, appsandbox, driver_electro5", "apiKey": "uspdbleata3ludcedw3co5iwpqk57b2ff76cufs9rwfo1c526cee99thmh1r4175p9" }, "some_new_role": { "services": { "appsandbox": { "!second_claim": ", "first_claim": " } }, "comment": "some_new_role_comment", "apiKey": "some_new_role_apikey" }, "superAdmin": { "services": { "appsandbox": { "admin": " }, "auth": { "admin": " }, "b": { "admin": " }, "driver-electro5": { "admin": " }, "phobosfix": { "admin": " }, "sessions": { "admin": " }, "telecom": { "admin": " } }, "comment": "Доступны все модемы и все методы", "apiKey": " } } |
Проверяются права доступа "auth":{"roles":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
POST запрос:
URL |
Список параметров |
Пример запроса |
/auth/roles |
|
/auth/roles |
BODY |
{ |
Ответ:
BODY |
{ "status": "ok" } |
Проверяются права доступа "auth":{"roles":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
PUT запрос:
URL |
Список параметров |
Пример запроса |
/auth/roles |
|
/auth/roles |
BODY |
{ |
Ответ:
BODY |
{ "status": "ok" } |
Проверяются права доступа "auth":{"roles":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
DELETE запрос:
URL |
Список параметров |
Пример запроса |
/auth/roles |
|
/auth/roles |
BODY |
{ |
Ответ:
BODY |
{ "status": "ok" } |
Проверяются права доступа "auth":{"actor":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
GET запрос:
URL |
Список параметров |
Пример запроса |
/auth/actor |
email, offset, limit, count |
/auth/actor?email=admin |
BODY |
|
Ответ:
BODY |
[ { "email": "admin", "roleId": "1283f0e7-4fdf-41bf-89d4-953f66925a3e", "userId": "0f4650f9-c1fc-4f9b-9970-bd8a953a48e5", "role": "admin", "service": ", "claim": ", "options": ", "createTS": 1674469033 }, { "email": "admin", "roleId": "5401cd9f-0941-42dc-a670-c76a19d480a2", "userId": "0f4650f9-c1fc-4f9b-9970-bd8a953a48e5", "role": ", "service": "auth", "claim": "!roles", "options": ", "createTS": 1674482931 } ] |
URL |
Список параметров |
Пример запроса |
/auth/actor |
email, offset, limit, count |
/auth/actor?offset=0&limit=1000 |
BODY: пустой
Ответ:
BODY |
[ { "email": ", "roleId": "1283f0e7-4fdf-41bf-89d4-953f66925a3e", "userId": "0f4650f9-c1fc-4f9b-9970-bd8a953a48e5", "role": "admin", "service": ", "claim": ", "options": ", "createTS": 1674469033 }, { "email": ", "roleId": "88b66a40-2aa0-4e68-b97d-b4a80e742da7", "userId": "784202c1-b4aa-4cc3-b491-75a67d72f1b4", "role": ", "service": "auth", "claim": "!roles", "options": ", "createTS": 1674482821 }, { "email": ", "roleId": "5401cd9f-0941-42dc-a670-c76a19d480a2", "userId": "0f4650f9-c1fc-4f9b-9970-bd8a953a48e5", "role": ", "service": "auth", "claim": "!roles", "options": ", "createTS": 1674482931 }, { "email": ", "roleId": "c0801d85-358a-433f-b7cf-7ff100a531a7", "userId": "784202c1-b4aa-4cc3-b491-75a67d72f1b4", "role": ", "service": "auth", "claim": "claims", "options": ", "createTS": 1674482958 } ] |
URL |
Список параметров |
Пример запроса |
/auth/actor |
email, offset, limit, count |
/auth/actor?count |
BODY |
|
Ответ:
BODY |
{ "count":4 } |
Описание параметров запроса
Имя параметра |
Тип |
Описание |
Значение по умолчанию |
|
string |
Почта |
не обязательный параметр |
offset | int | Сдвиг пользователей в ответе |
не обязательный параметр (0 по умолчанию) |
limit |
int | Ограничение количества в ответе |
не обязательный параметр (1000 по умолчанию) |
count |
bool |
Общее число пользователей |
не обязательный параметр |
extend |
bool |
Расширенная информация |
не обязательный |
Проверяются права доступа "auth":{"actor":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
POST запрос:
URL |
Список параметров |
Пример запроса |
/auth/actor |
|
/auth/actor |
BODY |
для выдачи определенного права на определенный сервис
{ или для выдачи роли
{ |
Ответ:
BODY |
{ "status": "ok" } |
Проверяются права доступа "auth":{"actor":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
DELETE запрос:
URL |
Список параметров |
Пример запроса |
/auth/actor |
|
/auth/actor |
BODY |
{ или
{ или
{ |
Ответ:
BODY |
{ "status": "ok" } |
Получение списка сессий авторизации
Проверяются права доступа "auth":{"sessions":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
GET запрос:
URL |
Список параметров |
Пример запроса |
/auth/sessions |
offset, limit, order, extend closed, sessionId, userId, rtHash, address, userAgent, createTS, refreshTS, closed |
/auth/sessions |
BODY: пустой
Ответ:
BODY |
[ { "sessionId": "aefe69e3-189a-43c9-8577-8944ec32af97", "userId": "0f4650f9-c1fc-4f9b-9970-bd8a953a48e5", "rtHash": "ac90fb26d5c0f09945904569431fcf807687f6b6048a7499e81329722ced7431", "address": "127.0.0.1:57604", "userAgent": "insomnia/2022.7.5", "createTS": 1674485974, "refreshTS": 0, "closed": false }, { "sessionId": "e3d97c68-1c81-4d24-8e29-d7b5020ae175", "userId": "0f4650f9-c1fc-4f9b-9970-bd8a953a48e5", "rtHash": "4b61c98fd3965903a96e719a565e5e55bb0bca17b29a380a39a4240a15a880d1", "address": "127.0.0.1:56931", "userAgent": "insomnia/2022.7.5", "createTS": 1674483329, "refreshTS": 0, "closed": false }, { "sessionId": "950a32c2-c835-4c12-a605-f58982c32857", "userId": "0f4650f9-c1fc-4f9b-9970-bd8a953a48e5", "rtHash": "dfdd163152758478751b6224459dacacf2f371385b45e72ffbc327392e3ae1f1", "address": "127.0.0.1:56696", "userAgent": "insomnia/2022.7.5", "createTS": 1674482714, "refreshTS": 0, "closed": false }, { "sessionId": "300d3854-25b1-4a46-ad9e-b4e0783f6e62", "userId": "0f4650f9-c1fc-4f9b-9970-bd8a953a48e5", "rtHash": "024168e648fc5bece241da3e152c88cffc0b19b3b18689e6cee0944f01402a2a", "address": "127.0.0.1:55811", "userAgent": "insomnia/2022.7.5", "createTS": 1674479665, "refreshTS": 0, "closed": false }, { "sessionId": "1e5d4827-8d0b-47f4-a738-be5762f69469", "userId": "0f4650f9-c1fc-4f9b-9970-bd8a953a48e5", "rtHash": "f26b51b955558d31c96c1f67e306b98adbacda1f43337361a5aaa1c691324bc9", "address": "[::1]:54160", "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36", "createTS": 1674474212, "refreshTS": 0, "closed": false }, { "sessionId": "fc6c95a7-e8ff-45d3-9974-3991794df22f", "userId": "0f4650f9-c1fc-4f9b-9970-bd8a953a48e5", "rtHash": "162385bca94064487c4bab9bcdcab66abe281070fb2cca3af80637f8204d6254", "address": "127.0.0.1:53941", "userAgent": "insomnia/2022.7.5", "createTS": 1674473619, "refreshTS": 0, "closed": false }, { "sessionId": "957c0b65-7630-44c5-bbaf-8c49e29a3684", "userId": "0f4650f9-c1fc-4f9b-9970-bd8a953a48e5", "rtHash": "5edd05f91da089df27aaad087f2d14b7ac18b7dbc7ebf324edcf1f29bb633672", "address": "127.0.0.1:53150", "userAgent": "insomnia/2022.7.5", "createTS": 1674471558, "refreshTS": 0, "closed": false }, { "sessionId": "c7685542-8d48-4a6a-9789-f02b8d07496c", "userId": "0f4650f9-c1fc-4f9b-9970-bd8a953a48e5", "rtHash": "5c774e685e4b15e9650e890f80dc22517a10f3a6c1d2b7131955e2c468158b7f", "address": "127.0.0.1:53002", "userAgent": "insomnia/2022.7.5", "createTS": 1674470883, "refreshTS": 0, "closed": false }, { "sessionId": "e6567b1d-83fb-4a57-b881-3476ed647224", "userId": "0f4650f9-c1fc-4f9b-9970-bd8a953a48e5", "rtHash": "32aea0d71b95b6929f0b57eb246636a8ece53736f28c157bee7495874a95f29f", "address": "127.0.0.1:52769", "userAgent": "insomnia/2022.7.5", "createTS": 1674469937, "refreshTS": 0, "closed": false } ] |
Описание параметров запроса
Имя параметра |
Тип |
Описание |
Значение по умолчанию |
offset | int | Сдвиг в ответе |
не обязательный параметр (0 по умолчанию) |
limit |
int | Ограничение количества в ответе |
не обязательный параметр (1000 по умолчанию) |
order |
string |
Поле сортировки |
не обязательный |
logicOr |
bool |
Логическое или полей фильтрации |
не обязательный |
extend | bool |
Расширенная информация |
не обязательный |
closed |
bool |
Закрытые или открытые сессии (фильтр) |
не обязательный параметр |
sessionId |
string |
ID сессии (фильтр) |
не обязательный параметр |
userId |
string |
ID пользователя (фильтр) |
не обязательный параметр |
rtHash |
string |
Hash RT (фильтр) |
не обязательный параметр |
address |
string |
Адрес клиента (фильтр) |
не обязательный параметр |
userAgent |
string |
Агент клиента (фильтр) |
не обязательный параметр |
createTS |
int |
Timestamp создания сессии (фильтр) |
не обязательный параметр |
refreshTS |
int |
Timestamp обновления сессии (фильтр) |
не обязательный параметр |
Проверяются права доступа "auth":{"sessions":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
POST запрос:
URL |
Список параметров |
Пример запроса |
/auth/sessions |
|
/auth/sessions |
BODY |
[
{ ] |
Ответ:
BODY |
{ |
Проверяются права доступа "auth":{"companies":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
GET запрос:
URL |
Список параметров |
Пример запроса |
/auth/companies |
offset, limitcompanyId, shortName, fullName, docAddress, factAddress, docPhone, factPhone, inn, kpp, operAcc, bic, corrAcc, bankName, ogrn, ceoName, timeZone, apiKey, isFactory | /auth/companies?offset=0 |
BODY |
|
Ответ:
BODY |
[ { "companyId": "ff1fb8d3-e503-11ed-9e9b-3024a981a036", "shortName": "111111", "fullName": "123111111", "docAddress": ", "factAddress": ", "docPhone": ", "factPhone": ", "inn": ", "kpp": ", "operAcc": ", "bic": ", "corrAcc": ", "bankName": ", "ogrn": ", "ceoName": ", "timeZone": ", "apiKey": ", "isFactory": 1 }, { "companyId": "00f8db08-e504-11ed-9e9b-3024a981a036", "shortName": "1111111", "fullName": "1231111111", "docAddress": ", "factAddress": ", "docPhone": ", "factPhone": ", "inn": ", "kpp": ", "operAcc": ", "bic": ", "corrAcc": ", "bankName": ", "ogrn": ", "ceoName": ", "timeZone": ", "apiKey": ", "isFactory": 1 }, { "companyId": "363b0913-e8ca-11ed-b9e5-3024a981a036", "shortName": "11111", "fullName": "12311111", "docAddress": ", "factAddress": ", "docPhone": ", "factPhone": ", "inn": ", "kpp": ", "operAcc": ", "bic": ", "corrAcc": ", "bankName": ", "ogrn": ", "ceoName": ", "timeZone": ", "apiKey": ", "isFactory": 1 } ] |
Описание параметров запроса
Имя параметра |
Тип |
Описание |
Значение по умолчанию |
companyId |
string |
ID компании (фильтрация) |
не обязательный |
offset | int | Сдвиг в ответе |
обязательный параметр |
limit |
int | Ограничение количества в ответе |
не обязательный параметр (1000 по умолчанию) |
shortName |
string |
Сокращенное название (фильтрация) |
не обязательный |
fullName |
string |
Полное название (фильтрация) |
не обязательный |
docAddress |
string |
Юридический адрес (фильтрация) |
не обязательный |
factAddress |
string |
Фактический адрес (фильтрация) |
не обязательный |
docPhone |
string |
Юридический телефон (фильтрация) |
не обязательный |
factPhone |
string |
Фактический телефон (фильтрация) |
не обязательный |
inn |
string |
ИНН (фильтрация) |
не обязательный |
kpp |
string |
КПП (фильтрация) |
не обязательный |
operAcc |
string |
Операционный счет (фильтрация) |
не обязательный |
corrAcc |
string |
Коресспондентский счёт (фильтрация) |
не обязательный |
bankName |
string |
Наименование банка(фильтрация) |
не обязательный |
ogrn |
string |
ОГРН (фильтрация) |
не обязательный |
ceoName |
string |
ФИО генерального директора (фильтрация) |
не обязательный |
timeZone |
string |
Часовой пояс(фильтрация) |
не обязательный |
apiKey |
string |
API ключ (фильтрация) |
не обязательный |
isFactory |
int |
Компания производитель (фильтрация) |
не обязательный |
order |
string |
Поле сортировки |
не обязательный |
logicOr |
bool |
Логическое или полей фильтрации |
не обязательный |
Проверяются права доступа "auth":{"companies":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
POST запрос:
URL |
Список параметров |
Пример запроса |
/auth/companies |
|
/auth/companies |
BODY |
[ |
Ответ:
BODY |
{ "status": "ok" } |
Проверяются права доступа "auth":{"companies":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
PUT запрос:
URL |
Список параметров |
Пример запроса |
/auth/companies |
|
/auth/companies |
BODY |
[ |
Ответ:
BODY |
{ "status": "ok" } |
Проверяются права доступа "auth":{"companies":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
DELETE запрос:
URL |
Список параметров |
Пример запроса |
/auth/companies |
|
/auth/companies |
BODY |
[ |
Ответ:
BODY |
{ |
Проверяются права доступа "auth":{"contracts":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
GET запрос:
URL |
Список параметров |
Пример запроса |
/auth/contracts |
offset, limit,contractId, companyId, creatorId, partnerId, createTS, sender, receiver | /auth/contracts?offset=0 |
BODY |
|
Ответ:
BODY |
[ { "contractId": "3c9e25c0-e8ce-11ed-a6b1-3024a981a036", "companyId": "qwe", "creatorId": "123йцувфыв", "partnerId": "фвыйцу12вй", "createTS": 0, "sender": "фысфыайц", "receiver": "фывйцв" }, { "contractId": "3cbf95fe-e8ce-11ed-a6b1-3024a981a036", "companyId": "qwe", "creatorId": "фвфыс", "partnerId": "йцвйцуйцфыссфы", "createTS": 0, "sender": "фсыс", "receiver": "фывйцувйцв" } ] |
Описание параметров запроса
Имя параметра |
Тип |
Описание |
Значение по умолчанию |
contractId |
string |
ID контракта (фильтрация) |
не обязательный |
offset | int | Сдвиг в ответе |
обязательный параметр |
limit |
int | Ограничение количества в ответе |
не обязательный параметр (1000 по умолчанию) |
companyId |
string |
ID компании(фильтрация) |
не обязательный |
creatorId |
string |
ID создателя (фильтрация) |
не обязательный |
partnerId |
string |
ID партнера (фильтрация) |
не обязательный |
createTS |
string |
Timestamp получения (фильтрация) |
не обязательный |
sender |
string |
Отправитель (фильтрация) |
не обязательный |
receiver |
string |
Получатель (фильтрация) |
не обязательный |
order |
string |
Поле сортировки |
не обязательный |
logicOr |
bool |
Логическое или полей фильтрации |
не обязательный |
extend | bool |
Расширенная информация |
не обязательный |
Проверяются права доступа "auth":{"contracts":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
POST запрос:
URL |
Список параметров |
Пример запроса |
/auth/contracts |
|
/auth/contracts |
BODY |
[ |
Ответ:
BODY |
{ "status": "ok" } |
Редактирование полей контрактов
Проверяются права доступа "auth":{"contracts":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
PUT запрос:
URL |
Список параметров |
Пример запроса |
/auth/contracts |
|
/auth/contracts |
BODY |
[ |
Ответ:
BODY |
{ "status": "ok" } |
Проверяются права доступа "auth":{"contracts":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
DELETE запрос:
URL |
Список параметров |
Пример запроса |
/auth/contracts |
|
/auth/contracts |
BODY |
[ |
Ответ:
BODY |
{ "status": "ok" } |
Проверяются права доступа "auth":{"batches":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
GET запрос:
URL |
Список параметров |
Пример запроса |
/auth/batches |
offset, limit,batchId, contractId, comment, description, createTS, document, latitude, longitude, device, warehouse | /auth/batches?offset=0 |
BODY |
|
Ответ:
BODY |
[ { "batchId": "326ccb3a-e8cb-11ed-970f-3024a981a036", "contractId": "123", "comment": ", "description": ", "createTS": 0, "document": ", "latitude": 0, "longitude": 0, "device": 0, "warehouse": 0 }, { "batchId": "35d2d38e-e8cb-11ed-970f-3024a981a036", "contractId": "123", "comment": ", "description": ", "createTS": 0, "document": ", "latitude": 0, "longitude": 0, "device": 0, "warehouse": 0 }, { "batchId": "3622d242-e8cb-11ed-970f-3024a981a036", "contractId": "123", "comment": ", "description": ", "createTS": 0, "document": ", "latitude": 0, "longitude": 0, "device": 0, "warehouse": 0 }, { "batchId": "3642f072-e8cb-11ed-970f-3024a981a036", "contractId": "123", "comment": ", "description": ", "createTS": 0, "document": ", "latitude": 0, "longitude": 0, "device": 0, "warehouse": 0 }, { "batchId": "365e9820-e8cb-11ed-970f-3024a981a036", "contractId": "123", "comment": ", "description": ", "createTS": 0, "document": ", "latitude": 0, "longitude": 0, "device": 0, "warehouse": 0 } ] |
Описание параметров запроса
Имя параметра |
Тип |
Описание |
Значение по умолчанию |
batchId |
string |
ID отгрузки (фильтрация) |
не обязательный |
offset | int | Сдвиг в ответе |
обязательный параметр |
limit |
int | Ограничение количества в ответе |
не обязательный параметр (1000 по умолчанию) |
contractId |
string |
ID контракта (фильтрация) |
не обязательный |
comment |
string |
Комментарий (фильтрация) |
не обязательный |
description |
string |
Описание (фильтрация) |
не обязательный |
createTS |
string |
Timestamp получения (фильтрация) |
не обязательный |
document |
string |
Документы ??? (фильтрация) |
не обязательный |
latitude |
string |
Широта (фильтрация) |
не обязательный |
longitude |
string |
Долгота (фильтрация) |
не обязательный |
device |
string |
??? (фильтрация) |
не обязательный |
warehouse |
bool |
Склад (фильтрация) |
не обязательный |
order |
string |
Поле сортировки |
не обязательный |
logicOr |
bool |
Логическое или полей фильтрации |
не обязательный |
extend | bool |
Расширенная информация |
не обязательный |
Проверяются права доступа "auth":{"batches":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
POST запрос:
URL |
Список параметров |
Пример запроса |
/auth/batches |
|
/auth/batches |
BODY |
[ |
Ответ:
BODY |
{ "status": "ok" } |
Проверяются права доступа "auth":{"batches":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
PUT запрос:
BODY |
[ |
Ответ:
BODY |
{ "status": "ok" } |
Проверяются права доступа "auth":{"batches":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
DELETE запрос:
URL |
Список параметров |
Пример запроса |
/auth/batches |
|
/auth/batches |
BODY |
[ |
Ответ:
BODY |
{ "status": "ok" } |
Проверяются права доступа "auth":{"modems":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
Проводится проверка принадлежность модемов пользователю, через api key в claims.
За исключением права "b":{"admin":"}, это право даёт доступ ко всем модемам.
GET запрос:
URL |
Список параметров |
Пример запроса |
/auth/modems |
offset, limit, extend, logicOr, modemId, batchId, comment, createTS, accessType | /auth/modems?offset=0 |
BODY |
|
Ответ:
BODY |
[ Или с флагом extend
[ |
Описание параметров запроса
Имя параметра |
Тип |
Описание |
Значение по умолчанию |
modemId |
int |
ID устройства (фильтрация) |
не обязательный |
offset | int | Сдвиг в ответе |
обязательный параметр |
limit |
int | Ограничение количества в ответе |
не обязательный параметр (1000 по умолчанию) |
batchId |
string |
ID отгрузки (фильтрация) |
не обязательный |
comment |
string |
Комментарий (фильтрация) |
не обязательный |
createTS |
int |
Время создания (фильтрация) |
не обязательный |
accessType |
string |
Режим получения доступ (фильтрация) |
не обязательный |
extend |
bool |
Расширенная информация |
не обязательный |
logicOr |
bool |
Логическое ИЛИ фильтров |
не обязательный |
Проверяются права доступа "auth":{"modems":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
Проводится проверка принадлежность модемов пользователю, через api key в claims.
За исключением права "b":{"admin":"}, это право даёт доступ ко всем модемам.
POST запрос:
URL |
Список параметров |
Пример запроса |
/auth/modems |
|
/auth/modems |
BODY |
[ |
Ответ:
BODY |
{ "status": "ok" } |
Проверяются права доступа "auth":{"modems":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
Проводится проверка принадлежность модемов пользователю, через api key в claims.
За исключением права "b":{"admin":"}, это право даёт доступ ко всем модемам.
PUT запрос:
URL |
Список параметров |
Пример запроса |
/auth/modems |
|
/auth/modems |
BODY |
[ { "modemId": 7280777, "batchId": "2c1f4760-2d2b-11ee-9e75-3024a981a036", "comment": "no_type", "createTS": 1690537548, "accessType": "single", "accessCode": 123123 }, { "modemId": 7282777, "batchId": "2c2f83b8-2d2b-11ee-9e75-3024a981a036", "comment": "no_type", "createTS": 1690537550, "accessType": "multi", "accessCode": 123123 }, { "modemId": 7283777, "batchId": "2c387dd1-2d2b-11ee-9e75-3024a981a036", "comment": "no_type", "createTS": 1690537551, "accessType": "closed", "accessCode": 123123 }, { "modemId": 7284777, "batchId": "2c439dd7-2d2b-11ee-9e75-3024a981a036", "comment": "no_type", "createTS": 1690537553, "accessType": "pinCodeSingle", "accessCode": 123123 }, { "modemId": 7285777, "batchId": "2c4fbdde-2d2b-11ee-9e75-3024a981a036", "comment": "no_type", "createTS": 1690537554, "accessType": "pinCodeMulti", "accessCode": 123123 } ] |
Ответ:
BODY |
{ "status": "ok" } |
Проверяются права доступа "auth":{"modems":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
Проводится проверка принадлежность модемов пользователю, через api key в claims.
За исключением права "b":{"admin":"}, это право даёт доступ ко всем модемам.
DELETE запрос:
URL |
Список параметров |
Пример запроса |
/auth/modems |
|
/auth/modems |
BODY |
[ |
Ответ:
BODY |
{ "status": "ok" } |
Получение списка связей модем - компания
Проверяются права доступа "auth":{"modemCompany":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
Проводится проверка принадлежность модемов пользователю, через api key в claims.
За исключением права "b":{"admin":"}, это право даёт доступ ко всем модемам.
GET запрос:
URL |
Список параметров |
Пример запроса |
/auth/modemCompany |
offset, limit, ordermodemId, companyId | /auth/modemCompany?offset=0 |
BODY: пустой
Ответ:
BODY |
[ { "modemId": 7386861, "companyId": "f2cfd026-fb19-11ed-be5c-3024a981a036" }, { "modemId": 7386863, "companyId": "f2cfd026-fb19-11ed-be5c-3024a981a036" }, { "modemId": 7386864, "companyId": "f2cfd026-fb19-11ed-be5c-3024a981a036" } ] |
Описание параметров запроса
Имя параметра |
Тип |
Описание |
Значение по умолчанию |
modemId |
int |
ID устройства (фильтрация) |
не обязательный |
offset | int | Сдвиг в ответе |
обязательный параметр |
limit |
int | Ограничение количества в ответе |
не обязательный параметр (1000 по умолчанию) |
companyId |
string |
ID компании (фильтрация) |
не обязательный |
order |
string |
Поле сортировки |
не обязательный |
Создание связей модем - компания
Проверяются права доступа "auth":{"modemCompany":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
Проводится проверка принадлежность модемов пользователю, через api key в claims.
За исключением права "b":{"admin":"}, это право даёт доступ ко всем модемам.
POST запрос:
URL |
Список параметров |
Пример запроса |
/auth/modemCompany |
|
/auth/modemCompany |
BODY |
[ { "modemId":123812883, "companyId":"12311111231" } ] |
Ответ:
BODY |
{ "status": "ok" } |
Удаление связей модем - компания
Проверяются права доступа "auth":{"modemCompany":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
Проводится проверка принадлежность модемов пользователю, через api key в claims.
За исключением права "b":{"admin":"}, это право даёт доступ ко всем модемам.
DELETE запрос:
URL |
Список параметров |
Пример запроса |
/auth/modemCompany |
|
/auth/modemCompany |
BODY |
[ или
[ или
[ |
Ответ:
BODY |
{ "status": "ok" } |
Получение списка связей пользователь - компания
Проверяются права доступа "auth":{"userCompany":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
GET запрос:
URL |
Список параметров |
Пример запроса |
/auth/userCompany |
offset, limit, orderuserId, companyId | /auth/userCompany?offset=0 |
BODY |
|
Ответ:
BODY |
[ { "userId": "ff5d79f9-4a20-11e9-b19e-ac1f6b267ad7", "companyId": "f2cfd026-fb19-11ed-be5c-3024a981a036" }, { "userId": "ff5d7f22-4a20-11e9-b19e-ac1f6b267ad7", "companyId": "f2cfd026-fb19-11ed-be5c-3024a981a036" }, { "userId": "abdf440a-4a21-11e9-bcdb-0cc47a866ec2", "companyId": "f2cfd026-fb19-11ed-be5c-3024a981a036" } ] |
Описание параметров запроса
Имя параметра |
Тип |
Описание |
Значение по умолчанию |
userId |
int |
ID пользователя (фильтрация) |
не обязательный |
offset | int | Сдвиг в ответе |
обязательный параметр |
limit |
int | Ограничение количества в ответе |
не обязательный параметр (1000 по умолчанию) |
companyId |
string |
ID компании (фильтрация) |
не обязательный |
order |
string |
Поле сортировки |
не обязательный |
extend |
bool |
Расширенная информация |
не обязательный |
Создание связей пользователь - компания
Проверяются права доступа "auth":{"userCompany":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
POST запрос:
URL |
Список параметров |
Пример запроса |
/auth/userCompany |
|
/auth/userCompany |
BODY |
[ { "userId":"123812811811113", "companyId":"1231111111111231" } ] |
Ответ:
BODY |
{ "status": "ok" } |
Удаление связей пользователь - компания
Проверяются права доступа "auth":{"userCompany":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
DELETE запрос:
URL |
Список параметров |
Пример запроса |
/auth/userCompany |
|
/auth/userCompany |
BODY |
[ или
[ или
[ |
Ответ:
BODY |
{ "status": "ok" } |
Проверяются права доступа "auth":{"stations":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
GET запрос:
URL |
Список параметров |
Пример запроса |
/auth/stations |
offset, limit, extend, logicOr, stationId, batchId, comment, createTS, accessType | /auth/stations?offset=0 |
BODY: пустой
Ответ:
BODY |
[ или с флагом extend
[ |
Описание параметров запроса
Имя параметра |
Тип |
Описание |
Значение по умолчанию |
stationId |
int |
ID (фильтрация) |
не обязательный |
offset | int | Сдвиг в ответе |
обязательный параметр |
limit |
int | Ограничение количества в ответе |
не обязательный параметр (1000 по умолчанию) |
batchId |
string |
ID отгрузки (фильтрация) |
не обязательный |
comment |
string |
Комментарий (фильтрация) |
не обязательный |
createTS |
int |
Время создания (фильтрация) |
не обязательный |
accessType |
string |
Режим получения доступ (фильтрация) |
не обязательный |
extend |
bool |
Расширенная информация |
не обязательный |
logicOr |
bool |
Логическое ИЛИ фильтров |
не обязательный |
Проверяются права доступа "auth":{"stations":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
POST запрос:
URL |
Список параметров |
Пример запроса |
/auth/stations |
|
/auth/stations |
BODY |
[ |
Ответ:
BODY |
{ "status": "ok" } |
Проверяются права доступа "auth":{"stations":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
PUT запрос:
URL |
Список параметров |
Пример запроса |
/auth/stations |
|
/auth/stations |
BODY |
[ { "stationId": 1000, "batchId": "unknown", "comment": "\nРоссия, Центральный федеральны...", "createTS": 0, "accessType": "single", "accessCreate": 123 }, { "stationId": 1091, "batchId": "unknown", "comment": "?????????????no addr 9.12.2016 Protocol C Бывшая...", "createTS": 1596412800, "accessType": "multi", "accessCreate": 123 }, { "stationId": 1191, "batchId": "unknown", "comment": "Protocol C 00:22:4d:ab:30:1e\nРоссия, Центральный ...", "createTS": 1596412800, "accessType": "pinCodeSingle", "accessCreate": 123 } ] |
Ответ:
BODY |
{ "status": "ok" } |
Проверяются права доступа "auth":{"stations":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
DELETE запрос:
URL |
Список параметров |
Пример запроса |
/auth/stations |
|
/auth/stations |
BODY |
[ |
Ответ:
BODY |
{ "status": "ok" } |
Получение списка связей станция - компания
Проверяются права доступа "auth":{"stationCompany":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
GET запрос:
URL |
Список параметров |
Пример запроса |
/auth/stationCompany |
offset, limit, orderstationId, companyId | /auth/stationCompany?offset=0 |
Body: пустой
Ответ:
BODY |
[ { "stationId": 1000, "companyId": "e22f7fd0-015d-11ee-b60a-3024a981a036" }, { "stationId": 1000, "companyId": "fec3a7b8-015d-11ee-b67f-3024a981a036" }, { "stationId": 1201, "companyId": "e01f5928-015d-11ee-b5fa-3024a981a036" } ] |
Описание параметров запроса
Имя параметра |
Тип |
Описание |
Значение по умолчанию |
stationId |
int |
ID (фильтрация) |
не обязательный |
offset | int | Сдвиг в ответе |
обязательный параметр |
limit |
int | Ограничение количества в ответе |
не обязательный параметр (1000 по умолчанию) |
companyId |
string |
ID компании (фильтрация) |
не обязательный |
order |
string |
Поле сортировки |
не обязательный |
Создание связей станция - компания
Проверяются права доступа "auth":{"stationCompany":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
POST запрос:
URL |
Список параметров |
Пример запроса |
/auth/stationCompany |
|
/auth/stationCompany |
BODY |
[ { "stationId": 1201, "companyId": "e01f5928-015d-11ee-b5fa-3024a981a036" } ] |
Ответ:
BODY |
{ "status": "ok" } |
Удаление связей станция - компания
Проверяются права доступа "auth":{"stationCompany":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
DELETE запрос:
URL |
Список параметров |
Пример запроса |
/auth/stationCompany |
|
/auth/stationCompany |
BODY |
[ или
[ или
[ |
Ответ:
BODY |
{ "status": "ok" } |
Ограниченный поиск пользователей
Проверяются права доступа "auth":{"simpleUsers":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
В поле поиска необходимо ввести минимум 4 символа.
Ответ ограничен 10 вариантами
GET запрос:
URL |
Список параметров |
Пример запроса |
/auth/simpleUsers |
userId, email, phone, firstName, middleName, lastName | /auth/companies?firstName=Алек |
BODY |
|
Ответ:
BODY |
[
{ "userId": "00728fff-3180-4f00-83f7-04fcd2b4aa2d", "email": "[email protected]", "phone": "79774101405", "firstName": "Алексей", "middleName": "Алексеевич", "lastName": "Рыжов" }, { "userId": "0078cef9-5c8f-4add-bd59-7df3a9279e62", "email": "[email protected]", "phone": "79104717576", "firstName": "Алексей", "middleName": "Анатольевич", "lastName": "Соловьев" }, { "userId": "0089d09a-8749-4046-a3c9-56bcc2dadada", "email": "[email protected]", "phone": "79227382322", "firstName": "Алексей", "middleName": "Сергеевич", "lastName": "Малков" }, { "userId": "009942c3-39ab-48a3-a1cf-f35dad5750bf", "email": "[email protected]", "phone": "79264330783", "firstName": "Алексей", "middleName": "Владимирович", "lastName": "Лукьянчук" }, { "userId": "00c92627-17ba-4677-a45d-7451b30a39ee", "email": "[email protected]", "phone": "79219117712", "firstName": "Алексей", "middleName": "Юрьевич", "lastName": "Тимофеев" }, { "userId": "00cedaa3-e378-4b5d-8005-e626662191a1", "email": "[email protected]", "phone": "79162049113", "firstName": "Алексей", "middleName": "Станиславович", "lastName": "Крахмалев" }, { "userId": "00f4ee46-f157-4739-b83b-1bc690e163e2", "email": "[email protected]", "phone": "79807334444", "firstName": "Александр", "middleName": "Валентинович", "lastName": "Ухов" }, { "userId": "0107390a-e5a4-497b-91f3-295f00415813", "email": "[email protected]", "phone": "79055544123", "firstName": "Александр", "middleName": "Николаевич", "lastName": "Никуленков" }, { "userId": "011470dc-199a-4ee6-ab9d-fa0329003578", "email": "[email protected]", "phone": "79213835020", "firstName": "Александр", "middleName": "Иванович", "lastName": "Бушманов" }, { "userId": "011eadfa-6ea7-40f1-a8d1-ae385b5ca882", "email": "[email protected]", "phone": "79531757329", "firstName": "Александр", "middleName": "Иванович", "lastName": "Семащенко" } ] |
Описание параметров запроса
Имя параметра |
Тип |
Описание |
Значение по умолчанию |
userId |
string |
ID пользователя (фильтрация) |
не обязательный |
string |
Email (фильтрация) |
не обязательный |
|
phone |
string |
Номер телефона (фильтрация) |
не обязательный |
firstName |
string |
Имя (фильтрация) |
не обязательный |
middleName |
string |
Отчество (фильтрация) |
не обязательный |
lastName |
string |
Фамилия (фильтрация) |
не обязательный |
Проверяются права доступа "auth":{"simpleCompanies":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
В поле поиска необходимо ввести минимум 4 символа.
Ответ ограничен 10 вариантами
GET запрос:
URL |
Список параметров |
Пример запроса |
/auth/simpleCompanies |
companyId, shortName, fullName | /auth/companies?shortName=Телематиче |
BODY |
|
Ответ:
BODY |
[ { "companyId": "3cf41de4-27b7-11ee-b4ad-3024a981a036", "shortName": "ООО Телематические Решения", "fullName": "Общество с ограниченной ответственностью Телематические Решения" }, { "companyId": "47072b27-27b7-11ee-b4ad-3024a981a036", "shortName": "Телематические Системы", "fullName": "Телематические Системы ООО" } ] |
Описание параметров запроса
Имя параметра |
Тип |
Описание |
Значение по умолчанию |
companyId |
string |
ID компании (фильтрация) |
не обязательный |
shortName |
string |
Сокращенное название (фильтрация) |
не обязательный |
fullName |
string |
Полное название (фильтрация) |
не обязательны |
Получение прав доступа к модемам
Проверяются права доступа "auth":{"modemAccess":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
POST запрос:
URL |
Список параметров |
Пример запроса |
/auth/modemAccess |
|
/auth/modemAccess |
userId - может отсутствовать, в таком случае берется из JWT пользователя. Привязка модема происходит к companyId из регистрационных данных uesrIdОтвет:
BODY |
{ |
Выдача прав доступа пользователю на свои модемы
Проверяются права доступа "auth":{"modemUser":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
За исключением права "b":{"admin":"}, это право даёт доступ ко всем модемам.
POST запрос:
URL |
Список параметров |
Пример запроса |
/auth/modemUser |
|
/auth/modemUser |
BODY |
[ |
Проверяется привязка пользователя к компании, при отсутствии "companyId" берется из регистрационных данных
Ответ:
BODY |
{ |
Получение прав доступа к станциям
Проверяются права доступа "auth":{"stationAccess":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
POST запрос:
URL |
Список параметров |
Пример запроса |
/auth/stationAccess |
|
/auth/stationAccess |
BODY |
[ |
userId - может отсутствовать, в таком случае берется из JWT пользователя. Привязка модема происходит к companyId из регистрационных данных uesrIdОтвет:
BODY |
{ |
Выдача прав доступа пользователю на свои станциям
Проверяются права доступа "auth":{"stationUser":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
За исключением права "b":{"admin":"}, это право даёт доступ ко всем модемам.
POST запрос:
URL |
Список параметров |
Пример запроса |
/auth/stationUser |
|
/auth/stationUser |
BODY |
[ |
Проверяется привязка пользователя к компании, при отсутствии "companyId" берется из регистрационных данных.
Ответ:
BODY |
{ |
Получение списка особенностей поведения UI
Права доступ для GET не проверяются.
Все поля кодированы в base64.
GET запрос:
URL |
Список параметров |
Пример запроса |
/auth/custom |
|
/auth/custom |
BODY |
|
Ответ:
BODY |
{ "comment": { "scope": "lk", "type": "boolean", "value": false }, "stationId": { "scope": "auth", "type": "number", "value": 1234 }, "ui": { "scope": "lk", "type": "string", "value": "cmVnd2VydHdlcnQ=" } } |
Добавление списка особенностей поведения UI
Проверяются права доступа "auth":{"custom":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
POST запрос:
URL |
Список параметров |
Пример запроса |
/auth/custom |
|
/auth/custom |
BODY |
{ "comment": { "scope": "lk", "type": "boolean", "value": false }, "stationId": { "scope": "auth", "type": "number", "value": 1234 }, "ui": { "scope": "lk", "type": "string", "value": "cmVnd2VydHdlcnQ=" } } |
Ответ:
BODY |
{ "status": "ok" } |
Удаление списка особенностей поведения UI
Проверяются права доступа "auth":{"custom":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
DELETE запрос:
URL |
Список параметров |
Пример запроса |
/auth/custom |
|
/auth/custom |
BODY |
{ "stationId": ", "commentcommentcommentcommentcommentcommentcommentcomment": ", "ui": " } |
Ответ:
BODY |
{ "status": "ok" } |
Проверяются права доступа "auth":{"license":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
POST запрос:
URL |
Список параметров |
Пример запроса |
/auth/license |
|
/auth/license |
BODY |
{ "version": 3, "data_key": "iSLACUBNE1P1RWV3vghiJ+ZExHdoLJjH822EuV3JCVgxxdjQ\/AyRq02VWNWeZD0qzxv\/V7e2S5HCxpc....", "modem_id": { "10976457": "zLwMZn6860iUv1YVa4tKHPZ93gxta24W4O3zp5Y6RsLIlr7BMfDethlLZsgsdLBw", "10976458": "9vcvbU1zSHp9d0Er9t5beHqguSMi1Fx2Go4XXvbdhZ\/pUiJvektQp8AV2HGPUmKU", "10976459": "3KsP1AU3YWq25TdVv0iOPxiIQj5RQlEi5PLBwMsL62peYpbdss8zdw9OQW01e2Pr" }, "devices": [ { "FW": [ { "type": "STM", "version": "stm_l0_20230517_set_b_0", "comment": "stm_l0_20230517_set_b_0", "data": "GHZxftheC+H9o7LsitCvuuSmbPtuM...", "use_id": true } ], "NBFi": { "dl_mode": "DRX", "protocol": "water7", "nbfi_ver": 5, "hw_type": "aqua2set_wa_stm", "ul_base_freq": 868800000, "ul_bitrates": [ 30, 31, 32, 33 ], "dl_base_freq": 869150000, "dl_bitrates": [ 10, 11, 12, 13 ], "dl_num_of_retries": 132, "dl_strength": 26, "destination_region": "RU" }, "full_name": "АКВА L110 D15 B E", "version": "АКВА L110 D15 B E", "params": [ { "name": "LENGTH ", "value": "110" }, { "name": "CLASS ", "value": "B" }, { "name": "DIAMETER ", "value": "15" }, { "name": "Destination region", "value": "RU" } ], "comment": "SET B OMH481 (RU L110 D15) STM", "batch": 3382 }, { "FW": [ { "type": "STM", "version": "stm_l0_20231110_set_b_kz0", "comment": "stm_l0_20231110_set_b_kz0", "data": "GHZxftheC+H9o7LsitCvuuSmbPtuM......", "use_id": true } ], "NBFi": { "dl_mode": "DRX", "protocol": "water7", "nbfi_ver": 5, "hw_type": "aqua2set_wa_stm", "ul_base_freq": 864000000, "ul_bitrates": [ 30, 31, 32, 33 ], "dl_base_freq": 863500000, "dl_bitrates": [ 10, 11, 12, 13 ], "dl_num_of_retries": 2, "dl_strength": 26, "destination_region": "KZ" }, "full_name": "АКВА L110 D15 B E", "version": "АКВА L110 D15 B E", "params": [ { "name": "LENGTH ", "value": "110" }, { "name": "CLASS ", "value": "B" }, { "name": "DIAMETER ", "value": "15" }, { "name": "Destination region", "value": "KZ" } ], "comment": "SET B OMH481 (KZ L110 D15) STM", "batch": 3382 } ], "created": "2024_02_09___18_34_08", "creator": "amolin" }30654f27a6df6ba00e8fcaaa9d88fba70b30104ab1d8f4382452cccf.... |
Ответ:
BODY |
{ "status": "ok" } |
Получение истории действий пользователей
Проверяются права доступа "auth":{"logs":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
GET запрос:
URL |
Список параметров |
Пример запроса |
/auth/logs |
offset, limit,logId, userIdFrom, userIdTo, createTS, address, userAgent, action, status, data, logicOr, extend | /auth/logs?offset=0 |
BODY |
|
Ответ:
BODY |
[ { "logId": "c8f2ecc0-d0cc-11ee-99e7-3024a981a036", "userIdFrom": "superAdmin", "userIdTo": "guest", "createTS": 1708528845, "address": " 10.1.5.20", "userAgent": " Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36", "action": "companies_PUT", "status": "ok", "data": "{\"companyId\":\"a3b87466-d0c9-11ee-9205-3024a981a036\",\"shortName\":\"Алексей a3b69912-d0c9-11ee-9..." }, { "logId": "cdb675b6-d0cc-11ee-99e7-3024a981a036", "userIdFrom": "superAdmin", "userIdTo": "guest", "createTS": 1708528853, "address": " 10.1.5.20", "userAgent": " Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36", "action": "modemCompany_POST", "status": "ok", "data": "{\"modemId\":10976137,\"companyId\":\"a3b87466-d0c9-11ee-9205-3024a981a036\"}" }, { "logId": "cdd223d8-d0cc-11ee-99e7-3024a981a036", "userIdFrom": "superAdmin", "userIdTo": "guest", "createTS": 1708528854, "address": " 10.1.5.20", "userAgent": " Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36", "action": "companies_PUT", "status": "ok", "data": "{\"companyId\":\"a3b87466-d0c9-11ee-9205-3024a981a036\",\"shortName\":\"Алексей a3b69912-d0c9-11ee-9205-3024..." } ] |
Описание параметров запроса
Имя параметра |
Тип |
Описание |
Значение по умолчанию |
logId |
string |
ID (фильтрация) |
не обязательный |
offset | int | Сдвиг в ответе |
обязательный параметр |
limit |
int | Ограничение количества в ответе |
не обязательный параметр (1000 по умолчанию) |
userIdFrom |
string |
ID пользователя совершающего действие (фильтрация) |
не обязательный |
userIdTo |
string |
ID пользователя над которым совершается действие (фильтрация) |
не обязательный |
address |
string |
IP адрес пользователя (фильтрация) |
не обязательный |
createTS | int |
Timestamp получения (фильтрация) |
не обязательный |
userAgent |
string |
Приложение пользователя (фильтрация) |
не обязательный |
action |
string |
Совершаемое действие (фильтрация) |
не обязательный |
status |
string |
Результат (фильтрация) |
не обязательный |
data |
string |
Описующие действие данные (фильтрация) |
не обязательный |
order |
string |
Поле сортировки |
не обязательный |
logicOr |
bool |
Логическое или полей фильтрации |
не обязательный |
extend | bool |
Расширенная информация |
не обязательный |
GET запрос:
Запрос кода.
URL |
Список параметров |
Пример запроса |
/auth/recovery |
login/email,phone,code,password |
Через почту /auth/[email protected]&method=email Через СМС /auth/recovery?phone=79777665535&method=sms Через звонок /auth/recovery?phone=79777665535&method=call |
BODY |
|
Ответ:
BODY |
{ "status": "ok" } |
Восстановление пароля по полученному коду. Время жизни кода ограничено.
URL |
Список параметров |
Пример запроса |
/auth/recovery |
login/email,password,phone,code |
Через почту /auth/[email protected]&code=1234&method=email&password=123123 Через телефон /auth/recovery?phone=79777665535&code=1234&method=sms&password=123123 |
BODY |
|
Ответ:
BODY |
{ "status": "ok" } |
Описание параметров запроса
Имя параметра |
Тип |
Описание |
Значение по умолчанию |
email/login |
string |
Логин/почта |
обязательный параметр |
phone |
string |
Номер телефона |
обязательный параметр |
code |
string |
Полученный код |
обязательный параметр |
method |
string |
Метод получения кода |
обязательный параметр |
password |
string |
Новый пароль |
обязательный параметр |
POST запрос:
Запрос кода.
URL |
Список параметров |
Пример запроса |
/auth/recovery |
|
/auth/recovery |
BODY |
Через СМС
{ Через звонок {
"method":"call", Через почту
{ |
Ответ:
BODY |
{ "status": "ok" } |
Восстановление пароля по полученному коду. Время жизни кода ограничено.
BODY |
Через телефон
{ Через почту
{ |
Ответ:
BODY |
{ "status": "ok" } |
Создание связей модем - компания батчами
Проверяются права доступа "auth":{"modemCompanyBatch":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
Проводится проверка принадлежность модемов пользователю, через api key в claims.
За исключением права "b":{"admin":"}, это право даёт доступ ко всем модемам.
POST запрос:
URL |
Список параметров |
Пример запроса |
/auth/modemCompanyBatch |
|
/auth/modemCompanyBatch |
BODY |
[ { "companyId": "d34669ae-047b-11ef-b047-00ff20ca465a", "batchId" :"e876625f-047b-11ef-b2b8-00ff20ca465a" } ] |
Ответ:
BODY |
{ "status": "ok" } |
Удаление связей модем - компания батчами
Проверяются права доступа "auth":{"modemCompanyBatch":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
Проводится проверка принадлежность модемов пользователю, через api key в claims.
За исключением права "b":{"admin":"}, это право даёт доступ ко всем модемам.
DELETE запрос:
URL |
Список параметров |
Пример запроса |
/auth/modemCompanyBatch |
|
/auth/modemCompanyBatch |
BODY |
[ { "companyId": "d34669ae-047b-11ef-b047-00ff20ca465a", "batchId" :"e876625f-047b-11ef-b2b8-00ff20ca465a" } ] |
Ответ:
BODY |
{ "status": "ok" } |
Создание связей станция - компания батчами
Проверяются права доступа "auth":{"stationCompanyBatch":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
Проводится проверка принадлежность модемов пользователю, через api key в claims.
За исключением права "b":{"admin":"}, это право даёт доступ ко всем модемам.
POST запрос:
URL |
Список параметров |
Пример запроса |
/auth/stationCompanyBatch |
|
/auth/stationCompanyBatch |
BODY |
[ { "companyId": "d34669ae-047b-11ef-b047-00ff20ca465a", "batchId" :"e876625f-047b-11ef-b2b8-00ff20ca465a" } ] |
Ответ:
BODY |
{ "status": "ok" } |
Удаление связей станция - компания батчами
Проверяются права доступа "auth":{"stationCompanyBatch":"} предоставленные в заголовке "Authorization" или cookie "WAVIOT_JWT".
Проводится проверка принадлежность модемов пользователю, через api key в claims.
За исключением права "b":{"admin":"}, это право даёт доступ ко всем модемам.
DELETE запрос:
URL |
Список параметров |
Пример запроса |
/auth/stationCompanyBatch |
|
/auth/stationCompanyBatch |
BODY |
[ { "companyId": "d34669ae-047b-11ef-b047-00ff20ca465a", "batchId" :"e876625f-047b-11ef-b2b8-00ff20ca465a" } ] |
Ответ:
BODY |
{ "status": "ok" } |