API модуля Head End System

Контракты (contracts) – сущности, инкапсулирующие в себе батчи. В рамках контракта создаются батчи.
Батч — это просто группа модемов с одинаковыми характеристиками и как правило относящаяся к определённой поставке для клиента.

 Дерево прав для hes

API - методы модуля HES

Возможные коды ответов HES:

  • 200 - OK.
  • 400 - Неверные входные параметры
  • 401 - Пользователь не был авторизован. Нужно получить или обновить JWT  токен на auth.
  • 403 - Нет доступа к запрашиваемому ресурсу, нужно получить правильные claims
  • 404 - Запрашиваемый ресурс не найден/такой страницы не существует.
  • 406 - Выход из сессии или аккаунта
  • 500 - Ошибка на стороне сервера, при которой дальнейшие исполнение метода невозможно.

Таблица 1. Сводная таблица всех API методов модуля HES

Описание URL Метод
Создание контракта  /contracts-add POST 

Изменение контракта

/contracts-edit POST 
Получение контрактов /contracts-get GET|POST
Данные по модемам
/modem-getModems
POST
Вернуть все модему пл батчу /modem-getBatches GET

Вернет типы привязок по одному или нескольким модемам

/modem-getTypeLink GET
Создание батча /batches-add POST
Добавление модемов в батч /batches-addModems POST
Удаление модемов из батча /batches-removeModems POST
Получить список батчей /batches-get POST
Получение списка компаний  /company-get GET|POST
Загрузка файлов для базовых станций /station-saveFile/ POST
Получение базовых станций /station-get/ GET|POST

Получить привязки бс к компаниям

/station-getAccess/ POST
Редактирование базовых станций /station-edit/ POST
Удалит привязки станций к компании
/station-unlink/ POST

Поиск загруженных документов

/station-searchFile/ GET
Создание изменение call
/httpCalls-change/
POST
Список call
/httpCalls-get/
GET
Привязать call
/httpCalls-bind/
POST
Удалить привязанный call
/httpCalls-unlink/
POST
Получение файла /file-station/ GET

Удаление файла или папки станции

/station-deleteFile/ DELETE
Проверит есть ли claims
/check-claims/ GET
Загрузка лицензий  /batches-licensAdd/ POST


Создание контракта

POST запрос:

URL

Список параметров

Пример запроса

/contracts-add POST:comment,number,contractor_id /contracts-add

BODY

{
  "comment": "коммент",
  "number": "324/2",
  "contractor_id": "12"
}

Ответ: success: ок- Все хорошо, error - что то пошло не так. new_id: id созданного контракта

BODY

{  
   "success": "ok|error",
   "new_id": "23"
}

Описание параметров запроса 

Имя параметра

Тип

Описание

Значение по умолчанию

comment   string

Комментарий, до 200 символов. Спец символы не допускаются.

Обязательный параметр 

number

string

Номер контракта, до 200 символов. Спец символы не допускаются.

Обязательный параметр 

contractor_id     int

id контрактора(компании-клиента)

Обязательный параметр 


Изменение контракта

POST запрос:

URL

Список параметров

Пример запроса

/contracts-edit POST:contract_id,comment,number,contractor_id /contracts-edit

BODY

{

 "contract_id":"998",
  "comment": "коммент",
  "number": "324/2",
  "contractor_id": "12"
}

Ответ: success: ок- Все хорошо, error - что то пошло не так. edit_id: id изменённого контракта

BODY

{  
   "success": "ok|error",
   "edit_id": "23"
}

Описание параметров запроса 

Имя параметра

Тип

Описание

Значение по умолчанию

contract_id    int id контракта Обязательный параметр 
comment   string

Комментарий, до 200 символов. Спец символы не допускаются.

Обязательный параметр 

number

string

Номер контракта, до 200 символов. Спец символы не допускаются.

Обязательный параметр 

contractor_id     int

id контрактора(компании)

Обязательный параметр 


Получение контрактов

GET|POST запрос:

URL

Список параметров

Пример запроса

/contracts-get GET:limit,skip_row,id,company_id,comment,number,gotDate,fromDate,toDate /contracts-get?limit=40&skip_row=100&company_id=12&comment=я&number=123\/22&fromDate=2008-02-09&toDate=2010-01-01

Ответ: ответ данными в json или http код ошибки 

BODY

[

  {

"id": "43",

"comment": "Perm",

"number": "ИТС/МП/001",

"partner_id": null,

"creator_id": null,

"gotdate": "2013-09-01",

"contractor_id": "13"

},

  {

"id": "47",

"comment": "Тестовая площадка",

"number": "Стриж",

"partner_id": "1",

"creator_id": null,

"gotdate": "2013-05-04",

"contractor_id": "12"

} .........]

Описание параметров запроса 

Имя параметра

Тип

Описание

Значение по умолчанию

limit    int Сколько строк нужно вернуть  100
skip_row   int Сколько строк нужно пропустить

id

int

id контракта, можно несколько через запятую

Необязательный параметр 

company_id     string

id компании-клиента (контрактора), можно несколько через запятую

Необязательный параметр 
comment string Поиск по комментарию Необязательный параметр 
number string Поиск по номеру Необязательный параметр 
gotDate string поиск по конкретной дате, если указан то fromDate,toDate игнорируются Необязательный параметр 
fromDate string Дата от Необязательный параметр 
toDate string Дата до Необязательный параметр 


Данные по модемам
Параметр modem_ids, можно указывать несколько id через запятую. Чтобы посмотреть модемы, к которым нет доступа у аккаунта, нужен специальный claims modemShow или выше, если claims modemShow отсутствует, то выборку можно делать только по тем модемам, к которым имеется доступ

POST.запрос: 

URL

Список параметров

Пример запроса

/modem-getModems POST:modem_ids, batch_ids, limit, skip_row


 
/modem-getModems

BODY

{

"modems_id":"123,2321,214124,34353"
}

Ответ: 200 ок- Все хорошо

BODY

[   {"id":"4099",

"short_id":null,

"batch_id":"796",

"nbfi_ver":"0",

.....} , ......... ]

Описание параметров запроса, проверяется клеймс modemShow. Если его нет и не передан параметр modems_id, то вернутся текущие привязки, в противном случае API выдаст код ответа 403 (Forbidden)

Имя параметра

Тип

Описание

Значение по умолчанию

limit int Сколько строк выдать макс 1000, если использовать modems_id параметр применен не будет  
skip_row
int Сколько строк пропустить 0, если использовать modems_id параметр применен не будет 
batch_ids
string id батчей через запятую не обязательный параметр 
modems_id   string

id модемов через запятую

не обязательный параметр


Вернуть все модему по батчу

GET запрос: 

URL

Список параметров

Пример запроса

/modem-getBatches POST:batches_id
 
/modem-getBatches?batches_id=796
Ответ: 200 ок- Все хорошо

BODY

[   {"id":"4099",

"short_id":null,

"batch_id":"796",

"nbfi_ver":"0",

.....} , ......... ]

Описание параметров запроса 

Имя параметра

Тип

Описание

Значение по умолчанию

contract_id   int

id батча

Обязательный параметр 

description

string

id модемов в int через запятую

Обязательный параметр 


Вернет типы привязок по модему(ам)

Если не указать modem_ids, то данные вернутся по тем модемам, которые доступны пользователю, если указан, но нет доступа к этим счетчикам и нет claims  modemShow, то данные вернутся только по тем модемам, к которым есть доступ.

Чтобы получить данные по модемам, к которым пользователь не имеет доступа, нужен claims modemShow или выше.

Указав параметр apiKey, будут наложены дополнительные ограничения на выборку для конкретной компании, к модему может быть привязано несколько аккаунтов разными способами.

Если нет claims modemShow или выше, будут использованы текущие apiKey

GET запрос: 

URL

Список параметров

Пример запроса

/modem-getTypeLink POST:modem_ids
 
/modem-getBatches?modem_ids=796,32423
Ответ: 200 ок- Все хорошо

Всегда возвращает объект состоящий из 3 объектов.

company_radiomodems - прямая связка компании с модемом

company_batches — связка с модемом через батч

company_contracts — связка с модемом через контракт контракт в рамках которого создавался и отгружался батч

BODY

{

"company_radiomodems":[],

"company_batches":[],

"company_contracts":[{"radiomodem_id":"21828","contractor_id":"12"}]

}

Описание параметров запроса 

Имя параметра

Тип

Описание

Значение по умолчанию

modem_ids   int

id модемов через запятую

необязательный параметр 

apiKey

string

apikey, если несколько через запятую

необязательный параметр 


Создание батча 

POST запрос: 

URL

Список параметров

Пример запроса

/batches-add GET:copyBatch_id
POST:contract_id,document,description,sender,receiver,warehouse,comment,latitude,longitude
/batches-add

BODY

{
  "contract_id": "215",
  "document": "test",
  "description": "32",
  "sender": "32",
  "receiver": "32",
  "warehouse": "32",
  "comment": "32.33",
  "latitude": "32.33"
}

Ответ: success: ок- Все хорошо, error - что то пошло не так. new_id: id созданного контракта

BODY

{  
   "success": "ok|error",
   "new_id": "23"
}

Описание параметров запроса 

Имя параметра

Тип

Описание

Значение по умолчанию

copyBatch_id   int

id батча  откуда копировать.
Если указать
copyBatch_id то все что не указано в посылаемом json  будет взять из копируемого батча .
Привязки к колам так же копируются.
Модемы не копируются

Не обязательный параметр 


 


Добавление модемов в батч
Этот метод  отправляет новые привязки по модемам в раббит по затронутым батчам и привязанным к ним компаниям.

POST запрос: 

URL

Список параметров

Пример запроса

/batches-addModem POST:batches_id,modem_ids /batches-addModem

BODY

{
  "batches_id": "2812",
  "modem_ids": "7443643,7443644,7443645"
  
}

Ответ: success: ок- Все хорошо, error - что то пошло не так. affected_rows: Количество затронутых строк, можно проводить проверку что все верно 

BODY

{

"success": "ok",

"affected_rows": 2

}

Описание параметров запроса 

Имя параметра

Тип

Описание

Значение по умолчанию

batches_id   int

id батча

Обязательный параметр 

modem_ids

string

id модемов в int через запятую

Обязательный параметр 


 


Удаление модемов из батча
 
Этот метод  отправляет новые привязки по модемам в раббит по затронутым батчам и привязанным к ним компаниям.

POST запрос: 

URL

Список параметров

Пример запроса

/batches-removeModems POST:batches_id,modem_ids /batches-removeModems

BODY

{
  "batches_id": "2812",
  "modem_ids": "7443643,7443644,7443645"
  
}

Ответ: success: ок- Все хорошо, error - что то пошло не так. affected_rows: Количество затронутых строк, можно проводить проверку что все верно 

BODY

{

"success": "ok",

"affected_rows": 2

}

Описание параметров запроса 

Имя параметра

Тип

Описание

Значение по умолчанию

batches_id   int

id батча

Обязательный параметр 

modem_ids

string

id модемов в int через запятую

Обязательный параметр 


Получение списка батчей

POST запрос:

URL

Список параметров

Пример запроса

/batches-get GET:id,limit,skip_row,contract_id,comment,gotDate,fromDate,toDate /batches-get

Ответ: ответ данными в json или http код ошибки 

BODY

[

 {

"id": "58",

"contract_id": "59",

"comment": "Два модема Юре, вместе со станцией",

"description": "Водные",

"document": "",

"gotdate": "2014-05-07",

"sender": "Nikita",

"latitude": "0",

"longitude": "0",

"receiver": "",

"device": null,

"warehouse": null,

"modems": "57447,57726",

"countModem": "2"

}.........]

Описание параметров запроса 

Имя параметра

Тип

Описание

Значение по умолчанию

limit    int Сколько строк вернуть  100
skip_row   int Сколько строк пропустить

id

string

id батча, если указан то skip_row,limit игнорируются, всегда вернется одна запись. Несколько id через запятую

Необязательный параметр 

contract_id     int

id контракта

Необязательный параметр 
comment string Поиск по комментарию Необязательный параметр 
gotDate string поиск по конкретной дате, если указан то fromDate,toDate игнорируются Необязательный параметр 
fromDate string Дата от Необязательный параметр 
toDate string Дата до Необязательный параметр 


Получение списка клиентов

GET|POST запрос:

URL

Список параметров

Пример запроса

/company-get GET:limit,skip_row,id,shortName /company-get?id=23,16
Чтобы просматривать чужие компании и пользоваться фильтрами, кроме myCompany, нужен специальный claims companyShow или выше

Ответ: ответ данными в json или http код ошибки .  batchs_id и users_id список привязанных к этому клиенту батчей и пользователей(b) через запятую 

BODY

[

 {

"id": "16",

"showFilteredMessages": "1",

"shortName": "Worldsensing",

"fullName": "Worldsensing",

"docsAddress": "Aragó, 383 4t 08013 Barcelona Spain",

"factAddress": "Aragó, 383 4t 08013 Barcelona Spain",

"docsPhone": "(+34) 93 418 05 85",

"factPhone": "(+34) 93 418 05 85",

"inn": "",

"kpp": "",

"operatingAccount": "",

"rcbic": "",

"correspondentAccount": "",

"bankName": "",

"ogrn": "",

"ceoName": "Vilajosana Ignasi",

"timezone_id": "1",

"hideNonregistered": "0",

"apikey": "lzyq14g86pp7acnzmv30198xi9hqksjmnrqr7xguzfvpahoaajl5441seqbnbl35",

"isFactory": "0",

"batchs_id": null,

"users_id": null

},.........]

Описание параметров запроса 

Имя параметра

Тип

Описание

Значение по умолчанию

limit    int Сколько строк вернуть  100
skip_row   int Сколько строк пропустить

id
    string

id компаний или нескольких указанных через запятую

Необязательный параметр 
shortName
string Поиск по комментарию полю shortName Необязательный параметр 
fullName
string Поиск по  полю fullName Необязательный параметр
myCompany bool Вернет только ваши компании  Необязательный параметр 


Загрузка файлов для базовых станций

POST запрос:  Посылать запрос нужно с content-type=multipart/form-data . Имя поля files[] . Обязательно должно быть массивом для множественной(пока не поддерживается) отправки файлов.

URL

Список параметров

Пример запроса

/station-saveFile/ GET:station_id,type  POST:files /station-saveFile/?station_id=2121&type=photo
Максимальный размер загружаемого файла 15м.

Ответ: ответ данными в json или http код ошибки . http 201 создан, http 200 уже был

BODY

{

"code": 201,

"account_id": "ff5eb4db-4a20-11e9-b19e-ac1f6b267ad7",

"fileName": "a5d342946106b52aa390a99e30b0f8cb#!#20140905_003108.jpg",

"station_id": "2121",

"type":"photo",

"url":"....."

}

Описание параметров запроса 

Имя параметра

Тип

Описание

Значение по умолчанию

station_id    int id станции Обязательный параметр 
files   file Файлы

Обязательный параметр 

type string Тип файла. Возможные значения 
photo|document
 
Обязательный параметр 


Получение базовых станций 

GET|POST запрос:  

URL

Список параметров

Проверяемые доступы

Пример запроса

/station-get/ GET:id,online_status
!guest=401, stationShow=можно смотреть все
/station-get/?id=1225,1224&online_status=2

Ответ: ответ данными в json или http код ошибки 
Данные берутся из бд и api. Если api не отдал данные по каким то приборам  или какие то поля то их не будет. 

BODY

[
  {
    "id": "1224",
    "country_id": null,
    "region_id": null,
    "city": null,
    "bstype": "strij-archive",
    "is_own": "0",
    "landlord_id": "44",
    "address": "Рублёвское шоссе д2 кор3",
    "zone_id": null,
    "latitude": 55.735114628555,
    "longitude": 37.440663278103,
    "comment": "Забили. И без неё норм. Protocol B+C A: 310 град( вдоль Рублёвского ш.) B: 191 град  ( в сторону пересеч Боровского и МКАД) С: 73 град ( вдоль Кутузовского пр.)",
    "firmware": "0.45",
    "geocluster": "Russia - Moscow",
    "isactive": "0",
    "downlink": "1",
    "city_id": "1",
    "propertyUpdated": "2016-06-24 18:36:03",
    "propertyMincpp": "1",
    "propertyDongle": "1",
    "propertyTemperature": "62",
    "propertyBackConnection": "0",
    "propertyControlChannel": "0",
    "propertyControlChannelTime": null,
    "timeAtPrevState": "240",
    "timeAtCurrentState": "5567396",
    "timeAtFailState": "0",
    "is_online": "0",
    "is_fault": "0",
    "noise": 0,
    "state": "single",
    "stateUpdated": null,
    "configuration": "hilink, cuda + 3 receiver , mtik 951, dc, rele",
    "prop_transmitter": "0",
    "dl_max_power": "26",
    "softWare": "S300.RU.01",
    "hardWare": "H300.RU.01",
    "country_code": null,
    "government_registration": null,
    "government_subdivision_id": "0",
    "government_application_number": "",
    "government_application_filing_ts": "0",
    "government_application_apply_ts": "0",
    "denomination_id": "no_type",
    "bs_id": 1224,
    "bs_state": 0,
    "bs_type": "",
    "dl_aver_busyness": 0,
    "dl_base_freqs": [],
    "dl_bitrates": [],
    "dl_foreigh_access": 1,
    "dl_status": 2,
    "fpga_temperature": null,
    "gps_lasttime": -1,
    "hw_rev": "",
    "last_hb_time": -10801,
    "mode": "",
    "online_status": 2,
    "rev_list": [],
    "status_duration": 42777066,
    "temperature": 0,
    "timezone": "Europe/Moscow",
    "timezone_offset": 10800,
    "ul_base_freqs": [],
    "ul_bitrates": [],
    "ul_foreigh_access": 1
  }
]

Описание параметров запроса 

Имя параметра

Тип

Описание

Значение по умолчанию

id    int id станции или нескольких указанных через запятую Не обязательный параметр 
online_status int статус БС(0 – все, 1 – онлайн, 2 - оффлайн)
 
Не обязательный параметр 
hardWare
string Поиск по полю hardWare Не обязательный параметр 
softWare
string Поиск по полю softWare Не обязательный параметр 
comment
string Поиск по полю comment Не обязательный параметр 


Получить привязки бс к компаниям

POST запрос:  

URL

Список параметров

Проверяемые доступы

Пример запроса

/station-getAccess/ POST:id
!guest=401, stationShow=можно смотреть все
/station-getAccess/

Описание параметров запроса 

Имя параметра

Тип

Описание

Значение по умолчанию

id    string id станции или нескольких указанных через запятую Обязательный параметр 

Ответ: ответ данными в json или http код ошибки 

companyId - привязанные компании через запятую

company — [id компании] короткое имя компании (длинное имя компании) #!# разделитель если компаний несколько

countCompany — количество привязанных компаний

result

[{"station_id":"10991","companyId":"434,6578","company":"[434] Элемент (ООО \"Элемент\")#!#[6578] ООО \"УралМонтажНаладка\" ( ООО \"УралМонтажНаладка\")","countCompany":"2"},{"station_id":"10994","companyId":"6393","company":"[6393] РУСГЕОТЕХ ()","countCompany":"1"},{"station_id":"10997","companyId":"865","company":"[865] Владимир МРСК (МРСК Владимир)","countCompany":"1"},{"station_id":"10998","companyId":"434,6578","company":"[434] Элемент (ООО \"Элемент\")#!#[6578] ООО \"УралМонтажНаладка\" ( ООО \"УралМонтажНаладка\")","countCompany":"2"}]


Редактирование данных станции.

POST запрос:  

URL

Список параметров

Пример запроса

/station-edit/ POST:название поля в БД или api и его значение /station-edit/

Пример данных в запросе 

BODY

{
  "bs_id": 1225,
  "address": "г. Москва,  Лесная 3",
  "comment": "Стенд R&D BS3 v3.7 test",
 "temperature":0,
  "timezone": "Europe/Moscow1",
  "country_id":"12",
  "timezone_offset": 11111
}

Ответ: ответ данными в json или http код ошибки 

Важно проверять наличие true в параметрах success и db_result.  db_result - Это то что ответило api на запрос. То есть если ответа совсем нету db_result не будет а общий успех false, сообщение об ошибке в message. Если что то ответило общий успех будет true и стоит проверить ответ api(db_result)

result

{

"db_result": true,

"success": true,

"message": ""

}

Удалит привязки станций к компании

POST запрос:  

URL

Список параметров

Проверяемые доступы

Пример запроса

/station-unlink/ POST:stationID,companyID
!guest=401, stationLinkDelete=можно удалять любую привязку
/station-unlink

Описание параметров запроса 

Имя параметра

Тип

Описание

Значение по умолчанию

stationID    int id станции Обязательный параметр 
companyID
   int id компании Обязательный параметр 

Ответ: ответ данными в json или http код ошибки 

result

{'success':true,
'message': ''}

Получит список call

GET запрос:  

URL

Список параметров

Проверяемые доступы

Пример запроса

/httpCalls-get/
GET:company_id
!guest=401, httpCallAdmin=Полный доступ. Если нету то только свои или общие call
/httpCalls-get/

Описание параметров запроса 

Имя параметра

Тип

Описание

Значение по умолчанию

company_id    string id компаний через запятую НЕ обязательный параметр 

Ответ: ответ данными в json или http код ошибки 

Если нету contractor_id значит это обще доступный call

result

[

{

"id": "55",

"url": "https://lk.waviot.ru/live/incoming/?modem_id={modem_id}&event_time={message_time}&data={data}&protocol={protocol}&station={station_id}&snr={signal}&rssi={rssi}",

"creator_id": null,

"name": "lk.waviot.ru(NEW LK)",

"contractor_id": 12

},

  {

"id": "81",

"url": "https://lk.waviot.ru/live/incoming/?device=aqua&modem_id={modem_id}&event_time={message_time}&data={data}&station={station_id}&snr={signal}&rssi={rssi}",

"creator_id": null,

"name": "Счетчики АКВА (lk.waviot.ru)",

"contractor_id": null

}

]


Создание, изменение call 

POST запрос:  

URL

Список параметров

Проверяемые доступы

Пример запроса

/httpCalls-change/
POST:id,company_id,name,url
!guest=401, httpCallAdmin=Разрешает создавать, менять чужие. Если нету claims создавать нельзя, менять можно только свои 
/httpCalls-change/

Описание параметров запроса 

Имя параметра

Тип

Описание

Значение по умолчанию

id
   string

Id call, если не указан будет создан новый call, в случае если указан отредактирован существующий

НЕ обязательный параметр 
company_id    string

Id компании кому принадлежит call, если параметр не указан call считается общедоступным

НЕ обязательный параметр 
name
   string url, мах 400 символов Обязательный параметр 
url
   string

url, мах 400 символов

Обязательный параметр 

Ответ: ответ данными в json или http код ошибки 

httpCall_id - Id новой записи или редактируемой

result

{
'success':true,
'httpCall_id': 31
}


Привязать call к батчу

POST запрос:  

URL

Список параметров

Проверяемые доступы

Пример запроса

/httpCalls-bind/
POST:id,batches_id
!guest=401, httpCallAdmin=Можно привязывать не к своим батчам
/httpCalls-bind/

Описание параметров запроса 

Имя параметра

Тип

Описание

Значение по умолчанию

id
   string

Id call

Обязательный параметр 
batches_id    string

Id батча

Обязательный параметр 

Ответ: ответ данными в json или http код ошибки 

result

{
'success':true,
'message': ""
}


Отвязать call от батча

POST запрос:  

URL

Список параметров

Проверяемые доступы

Пример запроса

/httpCalls-unlink/
POST:id,batches_id
!guest=401, httpCallAdmin=Можно отвязывать не свои батчи
/httpCalls-unlink/

Описание параметров запроса 

Имя параметра

Тип

Описание

Значение по умолчанию

id
   string

Id call

Обязательный параметр 
batches_id    string

Id батча

Обязательный параметр 

Ответ: ответ данными в json или http код ошибки 

result

{
'success':true,
'message': ""
}


Поиск загруженных документов

GET запрос:  

URL

Список параметров

Пример запроса

/station-searchFile/ GET:station_id,type /station-searchFile/station_id=2121

Ответ: ответ данными в json или http код ошибки 

BODY

[{....},

  {

"account_id": "ff5eb4db-4a20-11e9-b19e-ac1f6b267ad7",

"fileNameServer": "photo_fd0141a00994989bcbefdf2110059171#!#20200214_181959.jpg",

"fileNameUser": "20200214_181959.jpg",

"station_id": "2121",

"type": "photo",

"url": "/file-station/?type=photo&station_id=2121&path=%2F2121%2Fuser_ff5eb4db-4a20-11e9-b19e-ac1f6b267ad7%2Fphoto_fd0141a00994989bcbefdf2110059171%23%21%2320200214_181959.jpg"

}

]

Описание параметров запроса 

Имя параметра

Тип

Описание

Значение по умолчанию

station_id    int id станции Обязательный параметр 
type string Тип файла. Возможные значения 
photo|document
 
Не обязательный параметр 


Получение файла

GET запрос:  

URL

Список параметров

Пример запроса

/file-station/ GET:station_id,type,path /file-station/?type=photo&station_id=2121&path=%2F2121%2Fuser_ff5eb4db-4a20-11e9-b19e-ac1f6b267ad7%2Fphoto_fd0141a00994989bcbefdf2110059171%23%21%2320200214_181959.jpg

Ответ: отдает документ или http код ошибки 

Описание параметров запроса 

Имя параметра

Тип

Описание

Значение по умолчанию

station_id    int id станции Обязательный параметр 
type string Тип файла. Возможные значения 
photo|document
 
Не обязательный параметр. default=document
path string относительный путь к файлу  Обязательный параметр 


Удаление файла или папки станции 

DELETE запрос:  

URL

Список параметров

Пример запроса

/station-deleteFile/ GET:station_id,path /station-deleteFile/?station_id=2121&path=%2F2121%2Fuser_ff5eb4db-4a20-11e9-b19e-ac1f6b267ad7%2Fphoto_fd0141a00994989bcbefdf2110059171%23%21%2320200214_181959.jpg

Делая запрос не указывая path удалится вся папка станции 

Ответ: отдает документ или http код ошибки 

Описание параметров запроса 

Имя параметра

Тип

Описание

Значение по умолчанию

station_id    int id станции Обязательный параметр 
path string относительный путь к файлу  не обязательный параметр 


Проверит есть ли claims

get запрос:  

URL

Список параметров

Пример запроса

Проверяемые доступы
/check-claims/ GET:claims /check-claims/?claims=pinCreate
!guest=401

Делая запрос не указывая path удалится вся папка станции 

Ответ: jsonт или http код ошибки 

BODY

['result':true|false, название claims:true|false]

Описание параметров запроса 

Имя параметра

Тип

Описание

Значение по умолчанию

claims    string название claims Обязательный параметр 


Загрузка лицензий

POST запрос:  Проверка claims: loadLicense

URL

Список параметров

Пример запроса

Проверяемые доступы
/batches-licensAdd/
POST:contract_id
FILE: licenseFile
 
/batches-licensAdd/
!loadLicense=403

Делая запрос не указывая path удалится вся папка станции 

Ответ: Редирект на auth в новый батчь  или http код ошибки 
 

Имя параметра

Тип

Описание

Значение по умолчанию

contract_id    int id контракта Обязательный параметр 

Описание параметров запроса 

Описание формы на auth и логика работы метода.

https://auth.waviot.ru/?action=license

Загружается файл с лицензией. Для привязки к контракту, контракт нужно выбрать из выпадающего списка.

Если поставит галочку перезаписать дубли. То перезаписаны будут только те модемы у которых нету батч id или батч находится на производстве.
Каждый раз при загрузке лицензии создается новый батч.




Сообщения в раббит при изменении доступа клиентов к модемам или станциям.

При изменении привязки клиента к модему или станции в rabbit отправляется сообщение с полным набором новых связей к модемам и базовым станциям/УСПД клиента.
Если в рамках одного запроса были изменены доступы у нескольких клиентов,  в одном сообщении отправятся новые наборы доступов для нескольких клиентов. Например, можно убрать модем из батча, который привязан к нескольким клиентам.
Сообщения отправляются на виртуальный хост= /hes, exchange =amq.direct, routing key=access_links . Так же в headers отправляется app_id = id сервера, с которого было отправлено сообщение, timestamp — время отправки сообщения.


ID статьи: 76
Последнее обновление: 17 May, 2021
Ревизия: 56
Техническая документация -> Описание API -> API модуля Head End System
https://kb.waviot.ru/entry/76/