WavIoT — беспроводная система учета ресурсов

API модуля HES

ID статьи: 76
Последнее обновление: 20 Feb, 2020

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

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

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

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

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

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

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

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

/contracts_edit POST 
Получение контрактов /contracts_get GET
Данные по модемам
/modem_getModems
POST
Вернуть все модему пл батчу /modem_getBatches GET
Создание батча /batches_add POST
Добавление модемов в батч /batches_addModems POST
Удаление модемов из батча /batches_removeModems POST
Получить список батчей /batches_get GET
Получение списка клиентов /clients_get GET

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

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 запрос:

URL

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

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

/contracts_get GET:limit,skip_row,contract_id,contractor_id,comment,number,gotDate,fromDate,toDate /contracts_get?limit=40&skip_row=100&contractor_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 Сколько строк пропустить

contract_id

int

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

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

contractor_id     int

id контрактора

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

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

POST запрос: 

URL

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

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

/modem_getModems POST:mosems_id
 
/modem_getModems

BODY

{

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

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

BODY

[   {"id":"4099",

"short_id":null,

"batch_id":"796",

"nbfi_ver":"0",

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

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

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

Тип

Описание

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

contract_id   int

id батча

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

description

string

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

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

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

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 через запятую

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

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


POST запрос: 

URL

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

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

/batches_add 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"
}

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

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

Тип

Описание

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

contract_id   int

id батча

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

description

string

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

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


 

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

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

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 через запятую

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

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

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

GET запрос:

URL

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

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

/batches_get GET:limit,skip_row,contract_id,batches_id,comment,gotDate,fromDate,toDate /batches_get?limit=10&fromDate=2014-05-06&toDate=2014-05-08

Ответ: ответ данными в 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 Сколько строк пропустить

batches_id

int

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

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

contract_id     int

id контракта

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

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

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

GET запрос:

URL

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

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

/clients_get GET:limit,skip_row,clients_id,shortName /clients_get?clients_id=23,16

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

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 Сколько строк пропустить

clients_id     string

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

Не обязательный параметр 
shortName
string Поиск по комментарию полю shortName Не обязательный параметр 

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------



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

При изменении привязки клиента к модему или станции. В раббит отправляется сообщение с полным наборам новых связей к модемам и станциям клиента.
Если в рамках одного запроса были изменены доступы у нескольких клиентов,  в одном сообщении  отправятся новые наборы доступов для нескольких клиентов. Например можно убрать модем из батча который привязан к нескольким клиентам.
Сообщения отправляются на виртуальный хост= /hes, exchange =amq.direct, routing key=access_links . Так же в хедары отправляется app_id = id сервера с которого было отправлено сообщение, timestamp — время отправки сообщения.
Properties
app_id: hes_node_1
timestamp: 1581075920
delivery_mode: 2
content_type: text/plain
Payload2062 bytesEncoding: string
[{"api_key":"thqg7j786yorcl1xl3pe13v7raqa8ut561pehq0xl4lkzn7hi658bkonoumfei02",
"dev_id":[7289706,7289734,7289753,7283170,7289899,7289986,7283177,7283201,7289970,7284406,7285066,7285094],"bs_id":[]}
......
]

Эта статья была:   Полезна | Не полезна
Сообщить об ошибке
ID статьи: 76
Последнее обновление: 20 Feb, 2020
Ревизия: 16
Просмотры: 182
Комментарии: 0
Опубликовано: 22 Jan, 2020 от Чехов Д.
Обновлено: 20 Feb, 2020 от Чехов Д.