Changes for page Методы API для работы с ГЛОНАССSoft
Last modified by Андрей Калиновский on 2025/01/28 12:59
Change comment:
There is no comment for this version
Summary
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. krainovim1 +XWiki.Gadmin - Content
-
... ... @@ -14,13 +14,22 @@ 14 14 15 15 Пример: X-Auth: 34f4919a-099b-4b7d-8aa1-f478ec2062de. 16 16 17 -(% style="color:#000000" %)− (%%)При редактировании необходимо передавать все параметры пользователяв теле запроса! Те параметры, значения которых не будут переданы - будут стерты!17 +(% style="color:#000000" %)− (%%)При **редактировании** любой записи (пользователь, объект и т.д) необходимо передавать все параметры записи в теле запроса! Те параметры, значения которых не будут переданы - будут стерты! 18 18 19 + 20 +(% style="color:#000000; font-size:16px" %)**Рекомендации** 21 + 22 +- Для запросов по API рекомендуется наделить пользователя ролью **Администратора партнера**, в противном случае при выполнении некоторых запросов у него не будет хватать прав (чаще всего сталкиваются с отсутствием прав при запросах сообщений от терминала за период). 23 + 19 19 = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Авторизация**(%%) = 20 20 21 -== (% style="color:#000000; font-size:16px" %)**Авторизация**(%%) == 26 +(% class="box warningmessage" id="H41043244243E44043843743044643844F" %) 27 +((( 28 +(% style="color:#000000; font-size:16px" %)**Авторизация**(%%) 29 +(% style="color:#000000; font-size:16px" %)Адрес сервера всегда следует указывать именно тот, по которому происходит вход в СМТ (https:~/~/hosting.glonasssoft.ru/ , [[https:~~/~~/regions.glonasssoft.ru/>>https://regions.glonasssoft.ru/]] или другие) 30 +))) 22 22 23 -(% class="box infomessage" %)32 +(% class="box successmessage" %) 24 24 ((( 25 25 (% lang="en-US" %)**POST /api/v3/auth/login** 26 26 ))) ... ... @@ -31,7 +31,7 @@ 31 31 32 32 (% style="color:#000000" %)URL запроса: (%%)[[https:~~/~~/hosting.glonasssoft.ru/api/v3/auth/login>>https://hosting.glonasssoft.ru/api/v3/auth/login]] 33 33 34 -(% style="color:#000000" %)В случае успешного выполнения метода, поле « __**AuthId**__» содержит токен авторизации «__**X-Auth**__».43 +(% style="color:#000000" %)В случае успешного выполнения метода, поле «AuthId» содержит токен авторизации «X-Auth». 35 35 36 36 (% style="color:#000000" %)Параметры в теле запроса (JSON): 37 37 ... ... @@ -40,21 +40,25 @@ 40 40 "password": "testuser" 41 41 } 42 42 43 - 44 44 (% style="color:#000000" %)**Ответ:** 45 45 46 46 (% lang="en-US" %) 47 47 (% style="color:#000000" %){ 48 - 49 -(% lang="en-US" %) 50 -(% style="color:#000000" %) "AuthId": "(%%)93c6jg79-b88b-4a35-a2d0-70dg9jc2898b(% style="color:#000000" %)" , ~/~/ токен авторизации 51 - "User": "testuser" , ~/~/ имя пользователя 52 - 53 -(% lang="en-US" %) 56 + "AuthId": "(%%)93c6jg79-b88b-4a35-a2d0-70dg9jc2898b(% style="color:#000000" %)" , ~/~/ токен авторизации 57 + "User": "testuser" , ~/~/ имя пользователя(%%) 54 54 } 55 55 56 56 **Примечание: **Время жизни токена авторизации задается в настройках пользователя, там есть параметр длительность сессии. При каждом запросе токен пролонгируется. 57 57 62 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 63 +|(% style="width:215px" %)(% style="color:#000000" %)login|(% style="width:861px" %)Логин пользователя 64 +|(% style="width:215px" %)(% style="color:#000000" %)password|(% style="width:861px" %)Пароль пользователя 65 +|(% style="width:215px" %)(% style="color:#000000" %)AuthId|(% style="width:861px" %)Токен авторизации 66 +|(% style="width:215px" %)(% style="color:#000000" %)User|(% style="width:861px" %)Логин пользователя 67 + 68 +(% class="wikigeneratedid" %) 69 +Также имеется возможность сквозной (/бесшовной) авторизации. Для этого к ссылке ( [[https:~~/~~/hosting.glonasssoft.ru>>url:https://hosting.glonasssoft.ru/login?authId={AuthId}]] / [[https:~~/~~/regions.glonasssoft.ru>>url:https://hosting.glonasssoft.ru/login?authId={AuthId}]]) добавьте токен авторизации - {AuthId}, чтобы попасть сразу в клиента ([[https:~~/~~/hosting.glonasssoft.ru/login?authId={AUTH_ID}>>https://hosting.glonasssoft.ru/login?authId={AUTH_ID}]]) 70 + 58 58 == (% style="color:#000000; font-size:16px" %)**Проверка авторизации**(%%) == 59 59 60 60 (% class="box infomessage" %) ... ... @@ -93,30 +93,51 @@ 93 93 Запрос должен содержать данные параметра "**agentId**" 94 94 95 95 (% style="color:#000000" %)Ответ: 96 -А 97 97 { 98 - "agentId": "", ~/~/идентификатор клиента(%%)99 - "parentId": "", (% style="color:#000000" %)~/~/ идентификатор клиента-родителя(%%)100 - "parentName": "string", ~/~/ наименование (% style="color:#000000" %)клиента-родителя(%%)101 - "name": "string", (% style="color:#000000" %)~/~/ наименование клиента (%%)102 - "fullName": "string", (% style="color:#000000" %)~/~/ полное наименование клиента(%%)103 - "agentInfoType": 0, (% style="color:#000000" %)~/~/ тип клиента (0- Клиент, 1 - Партнер, 2 - Группа, 3 - Административная группа, 4 - Тестовый клиент, 5 - Договор)(%%)104 - "isForeign": true/false, ~/~/ Иностранный контрагент105 - "district": "string", ~/~/ округ106 - "region": "string", ~/~/ регион107 - "city": "string", ~/~/ город108 - "inn": "string", ~/~/ ИНН клиента109 - "kpp": "string", ~/~/ КПП клиента110 - "address": "string", ~/~/ юридический адрес111 - "addressFact": "string", ~/~/ фактический адрес112 - "email": "string", ~/~/ почта113 - "director": "string", ~/~/ ФИО руководителя114 - "bankName": "string", ~/~/ Банк115 - "bankBIK": "string", ~/~/ БИК116 - "bankRS": "string", ~/~/ Номер счета117 - "bankKS": "string" ~/~/ Корр. счет110 + "agentId": "", (%%) 111 + "parentId": "", 112 + "parentName": "string", 113 + "name": "string", 114 + "fullName": "string", 115 + "agentInfoType": 0, 116 + "isForeign": true/false, 117 + "district": "string", 118 + "region": "string", 119 + "city": "string", 120 + "inn": "string", 121 + "kpp": "string", 122 + "address": "string", 123 + "addressFact": "string", 124 + "email": "string", 125 + "director": "string", 126 + "bankName": "string", 127 + "bankBIK": "string", 128 + "bankRS": "string", 129 + "bankKS": "string" 118 118 } 119 119 132 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 133 +|(% style="width:215px" %)(% style="color:#000000" %)agentId|(% style="width:861px" %)(% style="color:#000000" %)Идентификатор клиента 134 +|(% style="width:215px" %)parentId|(% style="width:861px" %)Идентификатор клиента-родителя 135 +|(% style="width:215px" %)parentName|(% style="width:861px" %)Наименование (% style="color:#000000" %)клиента-родителя 136 +|(% style="width:215px" %)name|(% style="width:861px" %)(% style="color:#000000" %)Наименование клиента 137 +|(% style="width:215px" %)fullName|(% style="width:861px" %)(% style="color:#000000" %)Полное наименование клиента 138 +|(% style="width:215px" %)agentInfoType|(% style="width:861px" %)(% style="color:#000000" %)Тип клиента (0- Клиент, 1 - Партнер, 2 - Группа, 3 - Административная группа, 4 - Тестовый клиент, 5 - Договор) 139 +|(% style="width:215px" %)isForeign|(% style="width:861px" %)Иностранный контрагент 140 +|(% style="width:215px" %)district|(% style="width:861px" %)Округ 141 +|(% style="width:215px" %)region|(% style="width:861px" %)Регион 142 +|(% style="width:215px" %)city|(% style="width:861px" %)Город 143 +|(% style="width:215px" %)inn|(% style="width:861px" %)ИНН клиента 144 +|(% style="width:215px" %)kpp|(% style="width:861px" %)КПП клиента 145 +|(% style="width:215px" %)address|(% style="width:861px" %)Юридический адрес 146 +|(% style="width:215px" %)addressFact|(% style="width:861px" %)Фактический адрес 147 +|(% style="width:215px" %)email|(% style="width:861px" %)Электронная почта 148 +|(% style="width:215px" %)director|(% style="width:861px" %)ФИО руководителя 149 +|(% style="width:215px" %)bankName|(% style="width:861px" %)Банк 150 +|(% style="width:215px" %)bankBIK|(% style="width:861px" %)БИК 151 +|(% style="width:215px" %)bankRS|(% style="width:861px" %)Номер счета 152 +|(% style="width:215px" %)bankKS|(% style="width:861px" %)Корр. счет 153 + 120 120 == (% style="color:#000000; font-size:16px" %)**Получение параметров дочерних клиентов**(%%) == 121 121 122 122 (% class="box infomessage" %) ... ... @@ -130,7 +130,7 @@ 130 130 131 131 (% style="color:#000000" %)− возвращается информация о клиенте, которому принадлежит авторизованный пользователь, и его дочерних клиентах; 132 132 133 -(% style="color:#000000" %)− информация о клиенте типа «Партнер» и его подклиентов возвращается при наличии права «__**Доступ к партнёрским клиентам**__».167 +(% style="color:#000000" %)− информация о клиенте типа «Партнер» и его клиентов возвращается при наличии права «__**Доступ к партнёрским клиентам**__». 134 134 135 135 (% style="color:#000000" %)Метод запроса: **POST** 136 136 ... ... @@ -145,15 +145,23 @@ 145 145 (% style="color:#000000" %)Ответ: 146 146 147 147 { 148 - "agentId": "", (% style="color:#000000" %)~/~/ идентификатор клиента (%%) 149 - "parentId": "", (% style="color:#000000" %)~/~/ идентификатор клиента-родителя(%%) 150 - "parentName": "string", ~/~/ наименование (% style="color:#000000" %)клиента-родителя(%%) 151 - "name": "string", (% style="color:#000000" %)~/~/ наименование клиента (%%) 152 - "fullName": "string", (% style="color:#000000" %)~/~/ полное наименование клиента(%%) 153 - "agentInfoType": 0, (% style="color:#000000" %)~/~/ тип клиента (0- Клиент, 1 - Партнер, 2 - Группа, 3 - Административная группа, 4 - Тестовый клиент, 5 - Договор) 154 - "status": "",~/~/ статус клиента (0- Новый, 1 - Потенциальный, 2 - В разработке, 3 - Тест, 4 - На оформлении, 5 - Внедрение, 6 - Работает, 7 - Работал, 8 - Потерян, 9 - Отказ) 182 + "agentId": "",(% style="color:#000000" %) (%%) 183 + "parentId": "", 184 + "name": "string", 185 + "fullName": "string", 186 + "agentInfoType": 0, 187 +(% style="color:#000000" %) "status": "", 155 155 } 156 156 190 + 191 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 192 +|(% style="width:215px" %)(% style="color:#000000" %)agentId|(% style="width:861px" %)(% style="color:#000000" %)Идентификатор клиента 193 +|(% style="width:215px" %)parentId|(% style="width:861px" %)Идентификатор клиента-родителя 194 +|(% style="width:215px" %)name|(% style="width:861px" %)(% style="color:#000000" %)Наименование клиента 195 +|(% style="width:215px" %)fullName|(% style="width:861px" %)(% style="color:#000000" %)Полное наименование клиента 196 +|(% style="width:215px" %)agentInfoType|(% style="width:861px" %)(% style="color:#000000" %)Тип клиента (0- Клиент, 1 - Партнер, 2 - Группа, 3 - Административная группа, 4 - Тестовый клиент, 5 - Договор) 197 +|(% style="width:215px" %)(% style="color:#000000" %)status|(% style="width:861px" %)Статус клиента, 0 - заблокирован, 1 - Активен 198 + 157 157 == (% style="color:#000000; font-size:16px" %)**Добавление клиента**(%%) == 158 158 159 159 (% class="box successmessage" %) ... ... @@ -172,7 +172,7 @@ 172 172 Параметры в теле запроса (JSON): 173 173 174 174 { 175 - 217 + "parentId": "00000000-0000-0000-0000-000000000000", ~/~/ идентификатор клиента-родителя 176 176 "name": "string", ~/~/ имя 177 177 "fullName": "string", ~/~/ полное наименование 178 178 "agentInfoType": 0, (% style="color:#000000" %)~/~/ тип клиента (0- Клиент, 1 - Партнер, 2 - Группа, 3 - Административная группа, 4 - Тестовый клиент, 5 - Договор)(%%) ... ... @@ -192,7 +192,6 @@ 192 192 "bankKS": "string" ~/~/ корр. счёт 193 193 } 194 194 195 - 196 196 Ответ: 197 197 198 198 { ... ... @@ -217,6 +217,28 @@ 217 217 "bankKS": "string" ~/~/ корр. счёт 218 218 } 219 219 261 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 262 +|(% style="width:215px" %)(% style="color:#000000" %)agentId|(% style="width:861px" %)(% style="color:#000000" %)Идентификатор клиента 263 +|(% style="width:215px" %)parentId|(% style="width:861px" %)Идентификатор клиента-родителя 264 +|(% style="width:215px" %)parentName|(% style="width:861px" %)Наименование (% style="color:#000000" %)клиента-родителя 265 +|(% style="width:215px" %)name|(% style="width:861px" %)(% style="color:#000000" %)Наименование клиента 266 +|(% style="width:215px" %)fullName|(% style="width:861px" %)(% style="color:#000000" %)Полное наименование клиента 267 +|(% style="width:215px" %)agentInfoType|(% style="width:861px" %)(% style="color:#000000" %)Тип клиента (0- Клиент, 1 - Партнер, 2 - Группа, 3 - Административная группа, 4 - Тестовый клиент, 5 - Договор) 268 +|(% style="width:215px" %)isForeign|(% style="width:861px" %)Иностранный контрагент 269 +|(% style="width:215px" %)district|(% style="width:861px" %)Округ 270 +|(% style="width:215px" %)region|(% style="width:861px" %)Регион 271 +|(% style="width:215px" %)city|(% style="width:861px" %)Город 272 +|(% style="width:215px" %)inn|(% style="width:861px" %)ИНН клиента 273 +|(% style="width:215px" %)kpp|(% style="width:861px" %)КПП клиента 274 +|(% style="width:215px" %)address|(% style="width:861px" %)Юридический адрес 275 +|(% style="width:215px" %)addressFact|(% style="width:861px" %)Фактический адрес 276 +|(% style="width:215px" %)email|(% style="width:861px" %)Электронная почта 277 +|(% style="width:215px" %)director|(% style="width:861px" %)ФИО руководителя 278 +|(% style="width:215px" %)bankName|(% style="width:861px" %)Банк 279 +|(% style="width:215px" %)bankBIK|(% style="width:861px" %)БИК 280 +|(% style="width:215px" %)bankRS|(% style="width:861px" %)Номер счета 281 +|(% style="width:215px" %)bankKS|(% style="width:861px" %)Корр. счет 282 + 220 220 == (% style="color:#000000; font-size:16px" %)**Редактирование клиента**(%%) == 221 221 222 222 (% class="box warningmessage" %) ... ... @@ -232,7 +232,6 @@ 232 232 233 233 В заголовках запроса: X-Auth: Токен авторизации 234 234 235 - 236 236 Параметры в теле запроса (JSON): 237 237 238 238 { ... ... @@ -257,7 +257,6 @@ 257 257 "bankKS": "string" ~/~/ корр. счёт 258 258 } 259 259 260 - 261 261 Ответ: 262 262 263 263 { ... ... @@ -300,6 +300,21 @@ 300 300 301 301 Ответ: В случае успешного выполнения запроса вернется HTTP ответ «200». 302 302 364 +== (% style="color:#000000; font-size:16px" %)**Смена статуса клиента (активация/блокировка)**(%%) == 365 + 366 +(% class="box warningmessage" %) 367 +((( 368 +**PUT /api/v3/agents/{id}/changeStatus/{status}** 369 +))) 370 + 371 +Метод позволяет изменить статус клиента, указанного в запросе. 372 + 373 +В пути указывается GUID клиента и статус клиента. 374 + 375 +**status **- значение 0 - заблокирован, 1 - активен. 376 + 377 +Ответ: Code 204 378 + 303 303 = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Пользователи**(%%) = 304 304 305 305 == (% style="color:#000000; font-size:16px" %)**Добавление пользователя**(%%) == ... ... @@ -351,7 +351,6 @@ 351 351 ], 352 352 "language": 0 ~/~/ Язык интерфейса пользователя 1 - Русский, 2 - Английский, 3 - Азербайджанский 353 353 } 354 - 355 355 { 356 356 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 357 357 "lastName": "string", ... ... @@ -363,15 +363,10 @@ 363 363 "password": "string", 364 364 "email": "string", 365 365 366 - 367 367 (% style="text-align:left" %) 368 368 (% style="color:#000000; font-weight:normal" %)Ответ: 369 - 370 -(% style="text-align:left" %) 371 -(% style="color:#000000; font-weight:normal" %){ 372 - 373 -(% style="text-align:left" %) 374 -(% style="color:#000000; font-weight:normal" %) "id": "" , ~/~/ ID пользователя 443 +{ 444 + "id": "" , ~/~/ ID пользователя 375 375 "lastName": "" , ~/~/ Фамилия , 376 376 "firstName": "" , ~/~/ Имя 377 377 "position": "" , ~/~/ Должность ... ... @@ -388,9 +388,8 @@ 388 388 "kind": "" , ~/~/ тип аутентификации 389 389 "target": "" , ~/~/ в случае аутентификации по email - email-адрес 390 390 "groups": (% style="color:#000000" %)["", ""] (% style="color:#000000; font-weight:normal" %), ~/~/ роли пользователя, перечислены названия групп пользователя 461 +} 391 391 392 -(% style="text-align:left" %) 393 -(% style="color:#000000; font-weight:normal" %)} 394 394 395 395 == (% style="color:#000000; font-size:16px" %)**Получение списка пользователей**(%%) == 396 396 ... ... @@ -411,19 +411,16 @@ 411 411 412 412 (% style="color:#000000" %)Параметры в теле запроса (JSON): 413 413 414 -(% style="color:#000000" %){ 415 - 483 +(% style="color:#000000" %){(%%) 416 416 "parentId": "375a1f06-c384-43f8-8562-1c3d79a32303", ~/~/ GUID агента, для которого надо получить данные, null - для текущего агента 417 417 "userId": "11111111-c384-43f8-8562-1c3d79a32303", ~/~/ ID пользователя, по которому фильтруется, null - неважно 418 418 "login": "qqqqqq", ~/~/ Логин пользователя, по которому фильтруется, null - неважно 419 419 "email": "eee", ~/~/ Email пользователя, по которому фильтруется, null - неважно 420 - 421 421 (% style="color:#000000" %)} 422 422 423 423 (% style="color:#000000" %)Ответ: 424 424 425 425 (% style="color:#000000" %){ (%%) 426 - 427 427 "id": "" , ~/~/ идентификатор пользователя 428 428 "lastName": "" , ~/~/ фамилия 429 429 "firstName": "" , ~/~/ имя ... ... @@ -437,7 +437,6 @@ 437 437 "sessionDuration":"", ~/~/ длительность сессии в минутах 438 438 "status": "1", ~/~/ статус пользователя 439 439 "lastLogged": "", ~/~/ дата/время последней авторизации 440 - 441 441 (% style="color:#000000" %)} 442 442 443 443 == (% style="color:#000000; font-size:16px" %)**Получение информации о пользователе**(%%) == ... ... @@ -511,10 +511,8 @@ 511 511 (% lang="ru-RU" style="color:#000000; font-weight:normal" %)Параметры в теле запроса (JSON): 512 512 513 513 (% lang="en-US" style="text-align:left" %) 514 -(% lang="ru-RU" style="color:#000000; font-weight:normal" %){ 515 - 516 -(% lang="en-US" style="text-align:left" %) 517 -(% lang="ru-RU" style="color:#000000; font-weight:normal" %) "id": "" , ~/~/ ID пользователя 579 +(% lang="ru-RU" style="color:#000000; font-weight:normal" %){ 580 + "id": "" , ~/~/ ID пользователя 518 518 "lastName": "" , ~/~/ фамилия 519 519 "firstName": "" , ~/~/ имя 520 520 "position": "" , ~/~/ должность ... ... @@ -536,9 +536,7 @@ 536 536 "target": "string" ~/~/ Адрес электронной почты двухэтапной аутентификации 537 537 }, 538 538 "isDisabledMobile": false, ~/~/ Запретить использовать мобильное приложение, true - включен, false - отключен 539 - "groups": "" , ~/~/ группы пользователя, «user» названия группы пользователя 540 - 541 -(% lang="en-US" style="text-align:left" %) 602 + "groups": "" , ~/~/ группы пользователя, «user» названия группы пользователя(%%) 542 542 (% lang="ru-RU" style="color:#000000; font-weight:normal" %)__}__ 543 543 544 544 (% lang="en-US" style="text-align:left" %) ... ... @@ -545,10 +545,8 @@ 545 545 (% lang="ru-RU" style="color:#000000; font-weight:normal" %)//Ответ~:// 546 546 547 547 (% lang="en-US" style="text-align:left" %) 548 -(% lang="ru-RU" style="color:#000000; font-weight:normal" %){ 549 - 550 -(% lang="en-US" style="text-align:left" %) 551 -(% lang="ru-RU" style="color:#000000; font-weight:normal" %) "id": "" , ~/~/ идентификатор пользователя 609 +(% lang="ru-RU" style="color:#000000; font-weight:normal" %){ 610 + "id": "" , ~/~/ идентификатор пользователя 552 552 "lastName": "" , ~/~/ фамилия 553 553 "firstName": "" , ~/~/ имя 554 554 "position": "" , ~/~/ должность ... ... @@ -569,10 +569,8 @@ 569 569 "isDisabledMobile": false, ~/~/ Запретить использовать мобильное приложение, true - включен, false - отключен 570 570 "target": "" , ~/~/ в случае аутентификации по email - email-адрес 571 571 "groups": "" , ~/~/ группы пользователя, «user» названия группы пользователя 631 +} 572 572 573 -(% lang="en-US" style="text-align:left" %) 574 -(% lang="ru-RU" style="color:#000000; font-weight:normal" %)} 575 - 576 576 == (% style="color:#000000; font-size:16px" %)**Изменение статуса пользователя**(%%) == 577 577 578 578 (% class="box warningmessage" %) ... ... @@ -592,12 +592,10 @@ 592 592 593 593 (% style="color:#000000" %)Параметры в теле запроса (JSON): 594 594 595 -(% style="color:#000000" %){ 596 - 652 +(% style="color:#000000" %){(%%) 597 597 "status": "" , ~/~/ статус пользователя (0 - новый, 1 - подтверждён, 2 - активен, 3 - уточнить, 4 - блокирован) 598 598 "description": "" , ~/~/ описание 599 599 "data": "" , ~/~/ данные, связанные со сменой статуса 600 - 601 601 (% style="color:#000000" %)} 602 602 603 603 (% style="text-align:left" %) ... ... @@ -619,7 +619,7 @@ 619 619 (% style="color:#000000" %)В теле запроса перечисляете массив id пользователей (JSON): 620 620 621 621 [ 622 - 677 + "8ed730d3-c61c-4c3a-ae4f-f41d9e710abc", 623 623 "415f9ea3-8bc0-4e87-8d78-0852b0c0a4f1" 624 624 ] 625 625 ... ... @@ -682,8 +682,251 @@ 682 682 (% style="text-align:left" %) 683 683 (% style="color:#000000" %)**Ответ: В случае успешного выполнения запроса вернется HTTP ответ «200».** 684 684 685 -= (% style="color:#000000; font-size:18.6667px" %)Раздел: ** Транспортныесредства**(%%) =740 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Модель объекта**(%%) = 686 686 742 +== (% style="color:#000000; font-size:16px" %)**Получение информации о модели объекта**(%%) == 743 + 744 +(% class="box infomessage" %) 745 +((( 746 +(% lang="en-US" %)**GET /api/v3/models/{Id}** 747 +))) 748 + 749 +Метод возвращает полную информацию о модели объекта. 750 + 751 +(% style="color:#000000" %)Метод запроса: **GET** 752 + 753 +(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/api/(% lang="en-US" %)v3/models/(% style="color:#000000" %){(%%)ID} 754 + 755 +(% style="color:#000000" %)Параметр запроса: {__**id}**__ - идентификатор модели объекта 756 + 757 +(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации 758 + 759 +(% style="color:#000000" %)Ответ: 760 + 761 +(% style="color:#000000" %){ 762 + "parentName": "string", 763 + "name": "string", 764 + "picture": "string", 765 + "minspeed": 0, 766 + "maxspeed": 0, 767 + "width": 0, 768 + "imbeddedtrailer": true, 769 + "hoppercapacity": 0, 770 + "hopperdischargespeed": 0, 771 + "modelType": 0, 772 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 773 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 774 + "deleted": true 775 +} 776 + 777 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 778 +|(% style="width:215px" %)(% style="color:#000000" %)parentName|(% style="width:861px" %)Имя клиента, которому принадлежит модель объекта 779 +|(% style="width:215px" %)(% style="color:#000000" %)name|(% style="width:861px" %)Имя модели объекта 780 +|(% style="width:215px" %)(% style="color:#000000" %)picture|(% style="width:861px" %)Название иконки транспорта 781 +|(% style="width:215px" %)(% style="color:#000000" %)minspeed|(% style="width:861px" %)Минимальная технологическая скорость обработки поля, в км/ч 782 +|(% style="width:215px" %)(% style="color:#000000" %)maxspeed|(% style="width:861px" %)Максимальная технологическая скорость обработки поля, в км/ч 783 +|(% style="width:215px" %)(% style="color:#000000" %)width|(% style="width:861px" %)Ширина агрегата, в метрах 784 +|(% style="width:215px" %)(% style="color:#000000" %)imbeddedtrailer|(% style="width:861px" %)Опция: Содержит встроенный агрегат 785 +|(% style="width:215px" %)(% style="color:#000000" %)hoppercapacity|(% style="width:861px" %)Объем бункера 786 +|(% style="width:215px" %)(% style="color:#000000" %)hopperdischargespeed|(% style="width:861px" %)Скорость2 выгрузки из бункера, л/сек 787 +|(% style="width:215px" %)(% style="color:#000000" %)modelType|(% style="width:861px" %)Определяет тип модели объекта: 0 - None, 1 - Agro, 2 - Cargo, 3 - Car 788 +|(% style="width:215px" %)(% style="color:#000000" %)id|(% style="width:861px" %)ID модели объекта 789 +|(% style="width:215px" %)(% style="color:#000000" %)parentId|(% style="width:861px" %)ID клиента, которому принадлежит модель объекта 790 +|(% style="width:215px" %)(% style="color:#000000" %)deleted|(% style="width:861px" %)Признак удаления, тип: boolean 791 + 792 +== (% style="color:#000000; font-size:16px" %)**Просмотр списка моделей**(%%) == 793 + 794 +(% class="box successmessage" %) 795 +((( 796 +(% lang="en-US" %)**POST /api/v3/models/find** 797 +))) 798 + 799 +(% style="color:#000000" %)Метод позволяет получить список всех моделей клиента, указанного в запросе. 800 + 801 +(% style="color:#000000" %)Метод запроса: **POST** 802 + 803 +(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/api/v3/models/find 804 + 805 +(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации 806 + 807 +(% style="color:#000000" %)Параметры в теле запроса (JSON):{ 808 + 809 +(% style="color:#000000" %) "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" 810 +} 811 + 812 +(% style="color:#000000" %)Ответ: 813 + 814 +(% style="color:#000000" %)[ 815 + { 816 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 817 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 818 + "parentName": "string", 819 + "name": "string", 820 + "modelType": 0 821 + } 822 +] 823 + 824 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 825 +|(% style="width:215px" %)(% style="color:#000000" %)parentName|(% style="width:861px" %)Имя клиента, которому принадлежит модель объекта 826 +|(% style="width:215px" %)(% style="color:#000000" %)name|(% style="width:861px" %)Имя модели объекта 827 +|(% style="width:215px" %)(% style="color:#000000" %)modelType|(% style="width:861px" %)Определяет тип модели объекта: 0 - None, 1 - Agro, 2 - Cargo, 3 - Car 828 +|(% style="width:215px" %)(% style="color:#000000" %)id|(% style="width:861px" %)ID модели объекта 829 +|(% style="width:215px" %)(% style="color:#000000" %)parentId|(% style="width:861px" %)ID клиента, которому принадлежит модель объекта 830 + 831 +== (% style="color:#000000; font-size:16px" %)**Добавление модели**(%%) == 832 + 833 +(% class="box successmessage" %) 834 +((( 835 +(% lang="en-US" %)**POST /api/v3/models** 836 +))) 837 + 838 +(% style="color:#000000" %)Метод позволяет добавить объект, указанный в запросе. 839 + 840 +(% style="color:#000000" %)Метод запроса: **POST** 841 + 842 +(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/api/v3/(% lang="en-US" %)models 843 + 844 +(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации 845 + 846 +(% style="color:#000000" %)Параметры в теле запроса (JSON): 847 + 848 +{ 849 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 850 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 851 + "deleted": true, 852 + "extId": "string", 853 + "name": "string", 854 + "picture": "string", 855 + "minspeed": 0, 856 + "maxspeed": 0, 857 + "width": 0, 858 + "imbeddedtrailer": true, 859 + "fueloutlay": 0, 860 + "hoppercapacity": 0, 861 + "hopperdischargespeed": 0, 862 + "modelType": 0 863 +} 864 + 865 +Ответ: 866 + 867 +{ 868 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 869 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 870 + "deleted": true, 871 + "extId": "string", 872 + "name": "string", 873 + "picture": "string", 874 + "minspeed": 0, 875 + "maxspeed": 0, 876 + "width": 0, 877 + "imbeddedtrailer": true, 878 + "hoppercapacity": 0, 879 + "hopperdischargespeed": 0, 880 + "modelType": 0 881 +} 882 + 883 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 884 +|(% style="width:215px" %)(% style="color:#000000" %)id|(% style="width:861px" %)ID модели объекта 885 +|(% style="width:215px" %)(% style="color:#000000" %)parentId|(% style="width:861px" %)ID клиента, которому принадлежит модель объекта 886 +|(% style="width:215px" %)(% style="color:#000000" %)parentName|(% style="width:861px" %)Имя клиента, которому принадлежит модель объекта 887 +|(% style="width:215px" %)(% style="color:#000000" %)name|(% style="width:861px" %)Имя модели объекта 888 +|(% style="width:215px" %)(% style="color:#000000" %)picture|(% style="width:861px" %)Название иконки транспорта 889 +|(% style="width:215px" %)(% style="color:#000000" %)minspeed|(% style="width:861px" %)Минимальная технологическая скорость обработки поля, в км/ч 890 +|(% style="width:215px" %)(% style="color:#000000" %)maxspeed|(% style="width:861px" %)Максимальная технологическая скорость обработки поля, в км/ч 891 +|(% style="width:215px" %)(% style="color:#000000" %)width|(% style="width:861px" %)Ширина агрегата, в метрах 892 +|(% style="width:215px" %)(% style="color:#000000" %)imbeddedtrailer|(% style="width:861px" %)Опция: Содержит встроенный агрегат 893 +|(% style="width:215px" %)(% style="color:#000000" %)hoppercapacity|(% style="width:861px" %)Объем бункера 894 +|(% style="width:215px" %)(% style="color:#000000" %)hopperdischargespeed|(% style="width:861px" %)Скорость выгрузки из бункера, л/сек 895 +|(% style="width:215px" %)(% style="color:#000000" %)modelType|(% style="width:861px" %)Определяет тип модели объекта: 0 - None, 1 - Agro, 2 - Cargo, 3 - Car 896 + 897 +== (% style="color:#000000; font-size:16px" %)**Редактирование модели**(%%) == 898 + 899 +(% class="box warningmessage" %) 900 +((( 901 +(% style="color:#000000" %)// //(% lang="en-US" %)**PUT /api/v3/models** 902 +))) 903 + 904 +(% style="color:#000000" %)Метод позволяет изменить статус пользователя, указанного в запросе. 905 + 906 +(% style="color:#000000" %)Метод запроса: **PUT** 907 + 908 +(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/(% lang="en-US" %)api/v3/models 909 + 910 +(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации 911 + 912 +(% style="color:#000000" %)Параметры в теле запроса (JSON): 913 + 914 +{ 915 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 916 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 917 + "deleted": true, 918 + "extId": "string", 919 + "name": "string", 920 + "picture": "string", 921 + "minspeed": 0, 922 + "maxspeed": 0, 923 + "width": 0, 924 + "imbeddedtrailer": true, 925 + "fueloutlay": 0, 926 + "hoppercapacity": 0, 927 + "hopperdischargespeed": 0, 928 + "modelType": 0 929 +} 930 + 931 +Ответ: 932 + 933 +{ 934 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 935 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 936 + "deleted": true, 937 + "extId": "string", 938 + "name": "string", 939 + "picture": "string", 940 + "minspeed": 0, 941 + "maxspeed": 0, 942 + "width": 0, 943 + "imbeddedtrailer": true, 944 + "fueloutlay": 0, 945 + "hoppercapacity": 0, 946 + "hopperdischargespeed": 0, 947 + "modelType": 0 948 +} 949 + 950 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 951 +|(% style="width:215px" %)(% style="color:#000000" %)id|(% style="width:861px" %)ID модели объекта 952 +|(% style="width:215px" %)(% style="color:#000000" %)parentId|(% style="width:861px" %)ID клиента, которому принадлежит модель объекта 953 +|(% style="width:215px" %)(% style="color:#000000" %)parentName|(% style="width:861px" %)Имя клиента, которому принадлежит модель объекта 954 +|(% style="width:215px" %)(% style="color:#000000" %)name|(% style="width:861px" %)Имя модели объекта 955 +|(% style="width:215px" %)(% style="color:#000000" %)picture|(% style="width:861px" %)Название иконки транспорта 956 +|(% style="width:215px" %)(% style="color:#000000" %)minspeed|(% style="width:861px" %)Минимальная технологическая скорость обработки поля, в км/ч 957 +|(% style="width:215px" %)(% style="color:#000000" %)maxspeed|(% style="width:861px" %)Максимальная технологическая скорость обработки поля, в км/ч 958 +|(% style="width:215px" %)(% style="color:#000000" %)width|(% style="width:861px" %)Ширина агрегата, в метрах 959 +|(% style="width:215px" %)(% style="color:#000000" %)imbeddedtrailer|(% style="width:861px" %)Опция: Содержит встроенный агрегат 960 +|(% style="width:215px" %)(% style="color:#000000" %)hoppercapacity|(% style="width:861px" %)Объем бункера 961 +|(% style="width:215px" %)(% style="color:#000000" %)hopperdischargespeed|(% style="width:861px" %)Скорость выгрузки из бункера, л/сек 962 +|(% style="width:215px" %)(% style="color:#000000" %)modelType|(% style="width:861px" %)Определяет тип модели объекта: 0 - None, 1 - Agro, 2 - Cargo, 3 - Car 963 + 964 +== (% style="color:#000000; font-size:16px" %)**Удаление модели**(%%) == 965 + 966 +(% class="box errormessage" %) 967 +((( 968 +(% lang="en-US" %)**DELETE /api/v3/models/{Id}** 969 +))) 970 + 971 +(% style="color:#000000" %)Метод позволяет удалить пользователя. Метод позволяет удалить пользователя, указанного в строке запроса. 972 + 973 +(% style="color:#000000" %)Метод запроса: **DELETE** 974 + 975 +(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru(% lang="en-US" %)/api/v3/models/{Id} 976 + 977 +(% style="color:#000000" %)Параметр запроса: {**__id__**} - id модели 978 + 979 +(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации 980 + 981 +Ответ: В случае успеха **Success 200** 982 + 983 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Транспортные средства (объекты)**(%%) = 984 + 687 687 == (% style="color:#000000; font-size:16px" %)**Получение информации об объекте**(%%) == 688 688 689 689 (% class="box infomessage" %) ... ... @@ -718,19 +718,15 @@ 718 718 "deviceTypeName": "", ~/~/ Название типа устройства 719 719 "sim1": "", ~/~/ Номер SIM1 720 720 "sim2": "", ~/~/ Номер SIM2 721 - 722 722 "parentId": "", ~/~/ ID клиента-родителя 723 723 "parentName": "", ~/~/ Наименование клиента-родителя 724 724 "modelId": "", ~/~/ ID модели объекта 725 725 "modelName": "", ~/~/ Имя модели объекта 726 - 727 727 "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID подразделения 728 728 "unitName": "string", ~/~/ Наименование подразделения 729 729 "status": 0, ~/~/ Статус объекта 730 - 731 731 "createdAt": "", ~/~/ Дата создания объекта 732 732 }, 733 - 734 734 "customFields": [ ~/~/ Произвольные поля 735 735 { 736 736 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID поля ... ... @@ -753,8 +753,7 @@ 753 753 "consumptionPerHourSeasonalBegin": "" , ~/~/ День/месяц начала работы сезонной нормы расхода на моточас 754 754 "consumptionPerHourSeasonalEnd": "" , ~/~/ День/месяц окончания работы сезонной нормы расхода на моточас 755 755 "consumptionIdleSeasonalBegin": "" , ~/~/ День/месяц начала работы сезонной нормы расхода на х/х 756 - "consumptionIdleSeasonalEnd": "" , ~/~/ День/месяц окончания работы сезонной нормы расхода на х/х 757 - 1050 + "consumptionIdleSeasonalEnd": "" , ~/~/ День/месяц окончания работы сезонной нормы расхода на х/х 758 758 "mileageCalcMethod": 0, ~/~/ Метод расчета пробега, 0 - gps, 1 - датчик зажигания 759 759 "mileageCoeff": 0, ~/~/ коэффициент пробега 760 760 "locationByCellId": true, ~/~/ определение местоположения по данным LBS, true - активна, false - не активна ... ... @@ -784,7 +784,6 @@ 784 784 "retries": 0 ~/~/ Количество попыток 785 785 } 786 786 ], 787 - 788 788 "sensors": [ ~/~/ Датчики 789 789 { 790 790 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID датчика ... ... @@ -825,31 +825,19 @@ 825 825 }, 826 826 827 827 ~/~/ Характерные для произвольного: 828 - 829 829 ~/~/ "EventsEnabled": "off", ~/~/ Фиксировать события работы: on, off 830 - 831 831 ~/~/ "EventsTemplateName": "Работа Произвольный", ~/~/ Наименование события работы 832 - 833 833 ~/~/ "EventsCountEnabled": "off", ~/~/ Фиксировать количество срабатываний: on, off 834 - 835 835 ~/~/ "EventsCountTemplateName": "Количество срабатываний Произвольный", ~/~/Наименование ~/~/события количества срабатываний 836 - 837 837 ~/~/ "MapDisplayEnabled": "off", ~/~/ Отображать на карте: on, off 838 - 839 839 ~/~/ "ChartDisplayEnabled": "off", ~/~/ Отображать на графике объекта: on, off 840 - 841 841 ~/~/ "PayloadChartDisplayEnabled": "off", ~/~/ Отображать на графике полезной нагрузки: on, off 842 - 843 843 ~/~/ "DrawType": ~/~/ тип отрисовки line, bar (Линия, Область) 844 - 845 845 ~/~/ Характерные для таблицы тарировки Вкл./Выкл.: 846 - 847 847 ~/~/ "ValueOn": "Вкл.", 848 - 849 849 ~/~/ "ValueOff": "Выкл." 850 850 "summaryMaxValue": 0 ~/~/ Макс. значение 851 851 } 852 - 853 853 "drivers": [ ~/~/ Водители 854 854 { 855 855 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ... ... @@ -858,7 +858,6 @@ 858 858 "isDefault": true ~/~/ По умолчанию 859 859 } 860 860 ], 861 - 862 862 "inspectionTasks": [ ~/~/ Задания на тех. обслуживание 863 863 { 864 864 "id": "", ~/~/ ID задания ... ... @@ -875,8 +875,7 @@ 875 875 "maxQuantity": "" ~/~/ Сколько раз выполнить задание (null - однократно) 876 876 } 877 877 ], 878 - 879 - "statusHistory": [ ~/~/ История статусов 1157 +"statusHistory": [ ~/~/ История статусов 880 880 { 881 881 "status": 0, 882 882 "date": "2023-05-22T09:57:39.562Z", ... ... @@ -884,7 +884,6 @@ 884 884 "additionalInfo": "string" 885 885 } 886 886 ] 887 - 888 888 } 889 889 ))) 890 890 ... ... @@ -894,6 +894,73 @@ 894 894 (% style="text-align:left" %) 895 895 0 - «Блокировка» 1 - «Активен», 2 - «Отменен», 3 - «Оборудован», 4 - «Диагностика», 5 - «Сервис», 6 - «Демонтаж», 7 - «Монтаж», 8 - «Дозаказ», 9 - «Обслужен», 10 - «Списан», 11 - «Неисправен», 12 - «Проверен», 13 - «Не эксплуатируется». 896 896 1174 + 1175 +== **Отправить команду на терминал** == 1176 + 1177 +(% class="box successmessage" %) 1178 +((( 1179 +(% lang="en-US" %)**POST **(%%)**/api/v3/Vehicles/cmd/create** 1180 +))) 1181 + 1182 +Команда для отправки на тс. 1183 + 1184 +{ 1185 +"id": "", ~/~/идентификатор произвольного поля 1186 +"command": "", ~/~/ Текст команды 1187 +"retries": "", ~/~/ Количество попыток 1188 +"idTemplate": "" ~/~/ ID шаблона команды 1189 +} 1190 + 1191 + 1192 +== **Получить ответ на отправленную на ТС команду** == 1193 + 1194 +(% class="box infomessage" %) 1195 +((( 1196 +(% lang="en-US" %)**GET **(%%)**/api/v3/Vehicles/cmd/{cmdId}/answer** 1197 +))) 1198 + 1199 +Идентификатор команды: cmdid 1200 + 1201 +Запрос от терминала на ответ команды 1202 + 1203 +Пример ответ от терминала: 1204 + 1205 +ID= "" ~/~/ идентификатор произвольного поля 1206 +Soft="" ~/~/ версия софта 1207 +GPS=4 ~/~/ тип трекера 1208 +Time=11:05:43 28.06.24 ~/~/ время запроса 1209 +Lat=45.056221 ~/~/ широта 1210 +Lon=39.035938 ~/~/ долгота 1211 +Speed=0.0 ~/~/ скорость 1212 +Course=181.4 ~/~/направление 1213 + 1214 +((( 1215 +== **Список отправленных объекту команд с ответами** == 1216 + 1217 +(% class="box infomessage" %) 1218 +((( 1219 +(% lang="en-US" %)**GET**(%%)**/api/v3/Vehicles/cmd/{vehicleId}/history** 1220 +))) 1221 + 1222 +Идентификатор ТС: vehicleId 1223 + 1224 +В ответе приходит список команд с их ID, временем отправки, количестве попыток отправки и ответами терминала. 1225 + 1226 +Пример ответа терминала 1227 + 1228 +[ 1229 +{ 1230 +"id": "", ~/~/ идентификатор пользователя 1231 +"commandText": "", ~/~/Текст команды. 1232 +"templateId": "", ~/~/Идентификатор шаблона 1233 +"updated": "", ~/~/ Время отправки 1234 +"tryCount": 0, ~/~/ Количество попыток отправки команды 1235 +"answer": "", ~/~/ Ответ терминала. 1236 +"status": "" ~/~/ Статус отправки 1237 +} 1238 +] 1239 +))) 1240 + 897 897 == (% style="color:#000000; font-size:16px" %)**Добавление объекта**(%%) == 898 898 899 899 (% class="box successmessage" %) ... ... @@ -911,8 +911,7 @@ 911 911 912 912 (% style="color:#000000" %)Параметры в теле запроса (JSON): //Обязательные параметры наименование и модель объекта //В теле запроса - объект JSON 913 913 914 -(% style="color:#000000" %){ 915 - 1258 +(% style="color:#000000" %){(%%) 916 916 "parentId": "" , ~/~/ ID клиента 917 917 "name": "" , ~/~/ имя ТС 918 918 "imei": "" , ~/~/ IMEI ... ... @@ -933,7 +933,6 @@ 933 933 "consumptionPerHourSeasonalEnd": "" , ~/~/ День/месяц окончания работы сезонной нормы расхода на моточас 934 934 "consumptionIdleSeasonalBegin": "" , ~/~/ День/месяц начала работы сезонной нормы расхода на х/х 935 935 "consumptionIdleSeasonalEnd": "" , ~/~/ День/месяц окончания работы сезонной нормы расхода на х/х 936 - 937 937 "mileageCalcMethod": 0, 938 938 "mileageCoeff": 0, 939 939 "locationByCellId": true, ... ... @@ -966,7 +966,6 @@ 966 966 "lastInspectionDate": "" , ~/~/ Дата последнего ТО (null - не указано) 967 967 "maxQuantity": "" ~/~/ Сколько раз выполнить задание (null - однократно) 968 968 } 969 - 970 970 "drivers": [ ~/~/ Водители 971 971 { 972 972 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ... ... @@ -981,8 +981,7 @@ 981 981 "retries": 0 982 982 } 983 983 ], 984 - 985 - "sensors": [ ~/~/ Датчики 1325 +"sensors": [ ~/~/ Датчики 986 986 { 987 987 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID датчика 988 988 "kind": 0, ~/~/ Тип, Simple - простой, Composite - виртуальный ... ... @@ -1020,41 +1020,43 @@ 1020 1020 "additionalProp2": "string", 1021 1021 "additionalProp3": "string" 1022 1022 }, 1023 - 1024 1024 ~/~/ Характерные для произвольного: 1025 - 1026 1026 ~/~/ "EventsEnabled": "off", ~/~/ Фиксировать события работы: on, off 1027 - 1028 1028 ~/~/ "EventsTemplateName": "Работа Произвольный", ~/~/ Наименование события работы 1029 - 1030 1030 ~/~/ "EventsCountEnabled": "off", ~/~/ Фиксировать количество срабатываний: on, off 1031 - 1032 1032 ~/~/ "EventsCountTemplateName": "Количество срабатываний Произвольный", ~/~/Наименование ~/~/события количества срабатываний 1033 - 1034 1034 ~/~/ "MapDisplayEnabled": "off", ~/~/ Отображать на карте: on, off 1035 - 1036 1036 ~/~/ "ChartDisplayEnabled": "off", ~/~/ Отображать на графике объекта: on, off 1037 - 1038 1038 ~/~/ "PayloadChartDisplayEnabled": "off", ~/~/ Отображать на графике полезной нагрузки: on, off 1039 - 1040 1040 ~/~/ "DrawType": ~/~/ тип отрисовки line, bar (Линия, Область) 1041 - 1042 1042 ~/~/ Характерные для таблицы тарировки Вкл./Выкл.: 1043 - 1044 1044 ~/~/ "ValueOn": "Вкл.", 1045 - 1046 1046 ~/~/ "ValueOff": "Выкл." 1047 - "summaryMaxValue": 0 ~/~/ Макс. значение 1375 + "summaryMaxValue": 0 ~/~/ Определяет максимальное значение датчика в режиме накопления. 1376 + 1377 +((( 1378 + "valueIntervals": [ ~/~/ Интервалы значений для подсветки в мониторинге 1379 + { 1380 + "from": 0, ~/~/ С какого значения 1381 + "color": "string", ~/~/ Каким цветом 1382 + "text": "string" ~/~/ Текст подписи к этому интервалу 1383 + } 1384 + ] 1048 1048 } 1049 1049 ], 1387 +))) 1388 + 1389 + "highlightSensorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid датчика, выбранного для подсветки его значения в различных интервалах 1390 + 1391 + 1050 1050 "customFields": [ ~/~/ Произвольные поля 1051 1051 { 1052 - "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 1053 - "name": "string", 1054 - "value": "string", 1055 - "forClient": true, 1056 - "forTooltip": true, 1057 - "forReport": true 1394 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ System.Guid идентификатор элемента сущности 1395 + "name": "string", ~/~/ Наименование произвольного поля 1396 + "value": "string", ~/~/ Значение произвольного поля 1397 + "forClient": true, ~/~/ Отобразить произвольное поле у клиента 1398 + "forTooltip": true, ~/~/ Отобразить произвольное поле в подсказке (при наведении на ТС на карте) 1399 + "forReport": true ~/~/ Отобразить произвольное поле в отчете 1058 1058 } 1059 1059 ] 1060 1060 } ... ... @@ -1061,62 +1061,240 @@ 1061 1061 1062 1062 (% style="color:#000000" %)Ответ: 1063 1063 1064 -(% style="color:#000000" %){ 1065 1065 1066 - "vehicleId": "", ~/~/ID ТС 1067 - "parentId": "", ~/~/Guid владельца ТС 1068 - "name": "", ~/~/Имя объекта 1069 - "imei": "", ~/~/IMEI 1070 - "deviceTypeId": "", ~/~/ID типа устройства 1071 - "modelId": "", ~/~/ID модели 1072 - "unitId": "", ~/~/ID подразделения 1073 - "sim1": "", ~/~/SIM1 1074 - "sim2": "", ~/~/SIM2 1075 - "consumptionPer100Km": "", ~/~/Расход топлива на 100 км 1076 - "consumptionIdle": "", ~/~/Расход топлива на холостом ходу 1077 - "counters": { ~/~/Счётчики 1078 - "mileageEnabled": true, 1079 - "motohoursEnabled": true, 1080 - "mileage": "", 1081 - "motohours": 345.0 1082 - }, 1083 - "cmsv6Parameters": { ~/~/Параметры CmsV6 1084 - "id": null, 1085 - "enabled": true, ~/~/флаг включения 1086 - "host": "", ~/~/ IP-адрес или доменное имя из URL веб-сайта CMSV6 1087 - "login": "", ~/~/ имя учетной записи 1088 - "password": "" ~/~/ пароль учетной записи 1089 - }, 1090 - "inspectionTasks": { ~/~/ задания на ТО 1091 - "id": "", ~/~/ ID задачи 1092 - "enabled": false, ~/~/ Признак включения 1093 - "name": "", ~/~/ Имя задания 1094 - "description": "", ~/~/ Описание задания 1095 - "mileageCondition": "", ~/~/ Условие по пробегу 1096 - "lastMileage": "", ~/~/ Пробег (в метрах) 1097 - "motohoursCondition": "", ~/~/ Условие по моточасам 1098 - "lastMotohours": "", ~/~/ Моточасы 1099 - "periodicCondition": "", ~/~/ Условие периодичности по времени 1100 - "kind": "", ~/~/ Вид периодичности по времени 1101 - "maxQuantity": "" ~/~/ Сколько раз выполнить задание (null - однократно) 1407 +((( 1408 +((( 1409 +((( 1410 +{ 1411 + "vehicleId": 0, ~/~/ ID ТС 1412 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid владельца ТС 1413 + "name": "string", ~/~/ Имя объекта 1414 + "imei": "string", ~/~/ IMEI 1415 + "deviceTypeId": 0, ~/~/ ID типа устройства 1416 + "modelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID модели 1417 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID подразделения 1418 + "sim1": "string", ~/~/ SIM1 1419 + "sim2": "string", ~/~/ SIM2 1420 + "consumptionPer100Km": 0, ~/~/ Расход топлива на 100 км 1421 + "consumptionPerHour": 0, ~/~/ Расход топлива на моточас 1422 + "consumptionIdle": 0, ~/~/ Расход топлива на холостом ходу 1423 + "consumptionPer100KmSeasonal": 0, ~/~/ Сезонный расход топлива на 100 км 1424 + "consumptionPerHourSeasonal": 0, ~/~/ Сезонный расход топлива на моточас 1425 + "consumptionIdleSeasonal": 0, ~/~/ Сезонный расход топлива на холостом ходу 1426 + "consumptionPer100KmSeasonalBegin": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц начала работы сезонной нормы расхода на 100 км 1427 + "consumptionPer100KmSeasonalEnd": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на 100 км 1428 + "consumptionPerHourSeasonalBegin": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц начала работы сезонной нормы расхода на моточас 1429 + "consumptionPerHourSeasonalEnd": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на моточас 1430 + "consumptionIdleSeasonalBegin": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц начала работы сезонной нормы расхода на х/х 1431 + "consumptionIdleSeasonalEnd": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на х/х 1432 + "mileageCalcMethod": 0, ~/~/ Вид расчёта пробега (0 - ByGps, 1 - ByMileageSensor) 1433 + "mileageCoeff": 0, ~/~/ Коэффициент пробега при расчёте пробега по GPS (по умолчанию - 1) 1434 + "locationByCellId": true, ~/~/ Вычислять ли положение по базовым станциям, если координаты по GPS невалидны? 1435 + "dottedLineTrackWhenNoCoords": true, ~/~/ Обозначать пунктиром трек при отсутствии координат. 1436 + "showLineTrackWhenNoCoords": true, ~/~/ Обозначать трек при отсутствии координат. 1437 + "counters": { ~/~/ Dto для состояний счётчиков 1438 + "mileageEnabled": true, ~/~/ Флаг включения счётчика "Пробег" 1439 + "motohoursEnabled": true, ~/~/ Флаг включения счётчика "Моточасы" 1440 + "mileage": 0, ~/~/ Пробег 1441 + "motohours": 0 ~/~/ Моточасы 1442 + }, 1443 + "cmsv6Parameters": { ~/~/ Dto для CMSv6 1444 + "id": "string", ~/~/ CMSV6 Идентификатор 1445 + "enabled": true, ~/~/ Признак включения 1446 + "host": "string", ~/~/ IP-адрес или доменное имя из URL веб-сайта CMSV6. Порт также можно указать. В случае использования безопасного соединения необходимо указать протокол. 1447 + "login": "string", ~/~/ CMSV6 имя учетной записи 1448 + "password": "string" ~/~/ CMSV6 — пароль учетной записи 1449 + }, 1450 + "inspectionTasks": [ ~/~/ Dto для описания задачи на ТО 1451 + { 1452 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID задачи 1453 + "enabled": true, ~/~/ Признак включения 1454 + "name": "string", ~/~/ Имя задания 1455 + "description": "string", ~/~/ Описание задания 1456 + "mileageCondition": 0, ~/~/ Условие по пробегу (в метрах) 1457 + "lastMileage": 0, ~/~/ Пробег (в метрах) на момент последнего ТО 1458 + "motohoursCondition": 0, ~/~/ Условие по моточасам (в секундах) 1459 + "lastMotohours": 0, ~/~/ Моточасы (в секундах) на момент последнего ТО 1460 + "periodicCondition": 0, ~/~/ Условие периодичности по времени 1461 + "kind": 0, ~/~/ Определяет вид периодичности ТО.( 0 - Дни, 1 - Месяцы , 2 - Годы) 1462 + "lastInspectionDate": "2024-10-30T08:11:35.622Z", ~/~/ Дата последнего ТО 1463 + "maxQuantity": 0 ~/~/ Условие по количеству записей для деактивации 1102 1102 } 1465 + ], 1466 + "drivers": [ ~/~/ Список водителей. Определяет класс назначения водителя на объект. 1467 + { 1468 + "vehicleId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор объекта. 1469 + "inputNumber": 0, ~/~/ № входа. 1470 + "createTime": "2024-10-30T08:11:35.622Z", ~/~/ Момент времени создания назначения. 1471 + "comment": "string", ~/~/ Комментарий 1472 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор назначения. 1473 + "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя. 1474 + "beginTime": "2024-10-30T08:11:35.622Z", ~/~/ Момент времени начала назначения. 1475 + "endTime": "2024-10-30T08:11:35.622Z" ~/~/ Момент времени окончания назначения. 1476 + } 1477 + ], 1478 + "commandTemplates": [ ~/~/ Список шаблонов команд 1479 + { 1480 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID шаблона 1481 + "name": "string", ~/~/ Название шаблона команд 1482 + "command": "string", ~/~/ Команда на выполнение 1483 + "retries": 0 ~/~/ Лимит попыток отправки 1484 + } 1485 + ], 1486 + "sensors": [ ~/~/ Список датчиков 1487 + { 1488 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID датчика 1489 + "kind": 0, ~/~/ Определяет виды датчиков. 0 - Simple, 1 - Composite 1490 + "type": 0, ~/~/ Определяет типы датчиков. 0 - None, 1 - FuelLvl, 2 - PowerLevel, 3 - Consumption, 4 - Ignition, 5 - Crane, 6 - Greider, 8 - Power, 11 - Arrow, 14 - Otval, 15 - Sand, 17 - MixerLand, 18 - MixerMove, 20 - Temperature, 21 - Warning, 22 - Metla, 23 - Kosilka, 24 - DriverRFID, 25 - ReFueller, 27 - GrainLvl, 28 - EngineRPM, 29 - BodyUp, 31 - EngineTemperature, 32 - TrailerRFID, 33 - Tank, 34 - Unloading, 35 - Custom, 36 - GNSS, 37 - WeighingTerminal, 38 - RelativeMotohours, 39 - MileageSensor, 40 - Motohours, 41 - BunkerLowLevel, 42 - BunkerHighLevel, 43 - AppliedKg, 44 - TreatedHa, 45 - RateKgHa, 46 - FertilizerLevel, 47 - FactOfWork, 48 - ReapingAggregate, 49 - AverageRateKgHa, 50 - Speed 1491 + "name": "string", ~/~/ Имя датчика 1492 + "inputType": 0, ~/~/ Тип входа, на который подключается определенный тип датчика. 0 - Digital, 1 - Analog, 2 - Impulse, 3 - Rs232, 4 - Rs485, 5 - FMS, 6 - Diagnosis, 7 - Wire, 8 - ImpulseFrequency, 9 - BLE, 255 - Virtual 1493 + "inputNumber": 0, ~/~/ Номер входа 1494 + "pseudonym": "string", ~/~/ Псевдоним 1495 + "medianDegree": 0, ~/~/ Степень медианной фильтрации 1496 + "isInverted": true, ~/~/ Признак инверсии 1497 + "disabled": true, ~/~/ Датчик не участвует в обработке 1498 + "gradeType": 0, ~/~/ Способ тарировки показаний датчика. 0 - Default, 1 - Digital, 2 - GradeTable, 3 - CounterSummary, 4 - CounterDiffs 1499 + "gradesTables": [ ~/~/ Тарировка 1500 + { 1501 + "grades": [ ~/~/ Таблицы тарировки 1502 + { 1503 + "input": 0, ~/~/ Вход 1504 + "output": 0 ~/~/ Выход 1505 + } 1506 + ], 1507 + "relevanceTime": "2024-10-30T08:11:35.622Z" ~/~/ Время, с которого наступает актуальность таблицы тарировки 1508 + } 1509 + ], 1510 + "showInTooltip": true, ~/~/ Отображение в подсказке 1511 + "showLastValid": true, ~/~/ Отображать последнее валидное значение 1512 + "showAsDutOnGraph": true, ~/~/ Отображать на графике как датчик уровня топлива 1513 + "showWithoutIgn": true, ~/~/ Отображать без включенного зажигания 1514 + "agrFunction": 0, ~/~/ Агрегирующая функция. 0 - SUM, 1 - AVG, 2 - EXPRESSION 1515 + "expr": "string", ~/~/ Выражение 1516 + "children": [ ~/~/ Cписок добавленных в агрегацию физ. датчиков 1517 + "string" 1518 + ], 1519 + "customParams": { 1520 + "additionalProp1": "string", 1521 + "additionalProp2": "string", 1522 + "additionalProp3": "string" 1523 + }, 1524 + "summaryMaxValue": 0, ~/~/ Определяет максимальное значение датчика в режиме накопления. 1525 + "valueIntervals": [ ~/~/ Интервалы значений для подсветки в мониторинге 1526 + { 1527 + "from": 0, ~/~/ С какого значения 1528 + "color": "string", ~/~/ Каким цветом 1529 +))) 1103 1103 1104 -(% style="text-align:left" %) 1105 -(% style="color:#000000" %)} 1531 +((( 1532 + "text": "string" ~/~/ Текст подписи к этому интервалу 1533 + } 1534 + ] 1535 + } 1536 + ], 1537 + "highlightSensorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid датчика, выбранного для подсветки его значения в различных интервалах 1538 + "customFields": [ ~/~/ Список произвольных полей 1539 + { 1540 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ System.Guid идентификатор элемента сущности 1541 + "name": "string", ~/~/ Наименование произвольного поля 1542 + "value": "string", ~/~/ Значение произвольного поля 1543 + "forClient": true, ~/~/ Отобразить произвольное поле у клиента 1544 + "forTooltip": true, ~/~/ Отобразить произвольное поле в подсказке (при наведении на ТС на карте) 1545 + "forReport": true ~/~/ Отобразить произвольное поле в отчете 1546 + } 1547 + ], 1548 + "motohoursCalcMethod": 0 ~/~/ Вид расчета моточасов. 0 - ByIgnitionSensor, 1 - ByMotohoursSensor, 2 - ByRelativeMotohoursSensor 1549 +} 1550 +))) 1551 +))) 1552 +))) 1106 1106 1554 + 1107 1107 **Валидация:** 1108 1108 - сезонный параметр может быть задан только если задана соответствующая обычная норма; 1109 1109 - сезонные начало и окончание могут быть заданы только если задана соответствующая сезонная норма; 1110 1110 - при задании сезонной нормы обязательны соответствующие даты начала/окончания. 1111 1111 1112 -== (% style="color:#000000; font-size:16px" %)**Получение параметров объектов**(%%) == 1113 1113 1561 +== **Импортировать историю ТС (Асинхронный запрос)** == 1562 + 1563 +(% class="box successmessage" %) 1564 +((( 1565 +**POST /api/v3/Vehicles/importAsync/history/{vehicleId} ** 1566 +))) 1567 + 1568 +Метод запроса: **POST** 1569 + 1570 +URL запроса: **https:~/~/hosting.glonasssoft.ru/api/v3/Vehicles/importAsync/history/{vehicleId} ** 1571 + 1572 +Параметр запроса: {**__vehicleid}__** - идентификатор транспортного средства 1573 + 1574 + 1575 +Ответ: 1576 + 1577 +{ 1578 + 1579 + "RequestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Уникальный идентификатор запроса 1580 + 1581 + "Status": 0, ~/~/ Перечисление состояний выполнения запроса 1582 + 1583 +~/~/ ( 0 - Success, 1 - InPorgress, 2 - Canceled, 10 - Error, 20 - ErrorRequestValidation, 50 - ErrorExceedMaximumActiveRequest) 1584 + 1585 + "Message": "string", ~/~/ Информация о выполнении запроса 1586 + 1587 + "ProgressState": 1, ~/~/ Тип информирования о ходе выполнении запроса (1 - Intermediate, 2 - ProgressProcent, 255 - None) 1588 + 1589 + "ProgressValue": 0, ~/~/ Прогресс выполнения запроса. Актуально, только если ProgressState=InProgress 1590 + 1591 + "Data": "string" ~/~/ Данные 1592 + 1593 +} 1594 + 1595 + 1596 +== **Возвращает статус асинхронного запроса импорта истории ТС** == 1597 + 1114 1114 (% class="box infomessage" %) 1115 1115 ((( 1600 +**GET /api/v3/Vehicles/importAsync/history/state/{requestId}** 1601 +))) 1602 + 1603 +Метод запроса: **GET** 1604 + 1605 +URL запроса: https:**~/~/hosting.glonasssoft.ru/api/v3/Vehicles/importAsync/history/state/{requestId}** 1606 + 1607 +Параметр запроса: {**requestId__}__** - Уникальный идентификатор запроса 1608 + 1609 + 1610 +Ответ: 1611 + 1612 +{ 1613 + 1614 + "RequestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Уникальный идентификатор запроса 1615 + 1616 + "Status": 0, ~/~/ Перечисление состояний выполения запроса 1617 +~/~/ 0 - Success, 1 - InPorgress, 2 - Canceled, 10 - Error, 20 - ErrorRequestValidation, 50 - ErrorExceedMaximumActiveRequest 1618 + 1619 + "Message": "string", ~/~/ Информация о выполнении запроса 1620 + 1621 + "ProgressState": 1, ~/~/ Тип информирования о ходе выполнении запроса 1622 + 1623 +~/~/ 1 - Intermediate, 2 - ProgressProcent, 255 - None 1624 + 1625 + "ProgressValue": 0, ~/~/ Прогресс выполнения запроса. Актуально, только если ProgressState=InProgress 1626 + 1627 + "Data": "string" ~/~/ Данные 1628 + 1629 +} 1630 + 1631 + 1632 +== (% style="color:#000000; font-size:16px" %)**Получение списка объектов с основными параметрами**(%%) == 1633 + 1634 +(% class="box infomessage" %) 1635 +((( 1116 1116 (% lang="en-US" %)**POST /api/v3/vehicles/find** 1117 1117 ))) 1118 1118 1119 -(% style="color:#000000" %)Метод позволяет получить основные параметр ы объектов: наименование, IMEI, тип устройства, модель объекта, подразделение, номера телефонов и идентификатор клиента, к которому прикреплен объект (клиент-родитель).1639 +(% style="color:#000000" %)Метод позволяет получить список доступных объектов мониторинга (транспортных средств) с их основными параметрами: наименование, IMEI, тип устройства, модель объекта, подразделение, номера телефонов и идентификатор клиента, к которому прикреплен объект (клиент-родитель). 1120 1120 1121 1121 (% style="color:#000000" %)Метод возвращает информацию об объектах с учетом настроек авторизованного пользователя, указанного в запросе: 1122 1122 ... ... @@ -1150,9 +1150,12 @@ 1150 1150 "imei": null, ~/~/ "710179307", ~/~/ IMEI (string, опционально) 1151 1151 "sim": null, ~/~/ "938112", ~/~/ Номер телефона (string, опционально) 1152 1152 "deviceTypeId": null, ~/~/ 5, ID типа устройства (short, опционально) 1153 - "parentId": null, ~/~/ ID клиента (Guid, опционально) 1154 - "unitId": null, ~/~/ "b33548c3-73c3-40e4-8b78-81470ae744ed", ID подразделения (Guid, опционально) 1155 - "customFields": null ~/~/ значение любого из произвольных полей ТС 1673 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ ID подразделения (опционально) 1674 + "unitName": "string", ~/~/ Название подразделения (опционально) 1675 + "customFields": "string", ~/~/ Поиск по содержимому произвольных полей ТС (опционально) 1676 + "vehicleGroupId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID группы ТС (опционально) 1677 + "vehicleGroupName": "string", ~/~/ Название группы ТС (опционально) 1678 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Идентификатор агента, для которого надо получить данные 1156 1156 } 1157 1157 1158 1158 (% style="color:#000000" %)Фильтрация осуществляется по точному совпадению значений параметров «__**vehicleId**__», «__**deviceTypeId**__», «__**parentId**__», «__**unitId**__», и по частичному - «__**name**__», «__**imei**__», «__**sim**__». Фильтрация по значению параметра «__**sim**__» осуществляется при наличии у авторизованного пользователя права **«__Просмотр номеров телефонов объектов__»**. ... ... @@ -1159,8 +1159,14 @@ 1159 1159 1160 1160 (% style="color:#000000" %)Ответ: 1161 1161 1162 -(% style="color:#000000" %){ 1685 +(% style="color:#000000" %)[ 1686 +{ 1163 1163 1688 +((( 1689 + "vehicleGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid TC 1690 +))) 1691 + 1692 +((( 1164 1164 (% style="color:#000000" %) "vehicleId": "" ~/~/ идентификатор объекта 1165 1165 "name": "" ~/~/ наименование объекта 1166 1166 "imei": "" ~/~/ IMEI объекта ... ... @@ -1186,9 +1186,21 @@ 1186 1186 "forClient": true, ~/~/ право на отображение у клиента 1187 1187 "forTooltip": false, ~/~/ право на отображение в подсказке 1188 1188 "forReport": false ~/~/ право на отображение в отчетах 1189 - }(%%) 1190 -(% style="color:#000000" %)} 1718 +))) 1191 1191 1720 +((( 1721 + } 1722 + ], 1723 + "vehicleGroups": [ ~/~/ Группы ТС 1724 + { 1725 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ System.Guid идентификатор элемента сущности 1726 + "name": "string" ~/~/ Наименование группы ТС 1727 + } 1728 + ] 1729 + } 1730 +] 1731 +))) 1732 + 1192 1192 (% style="color:#000000" %) Параметры «__**sim1**__» и «__**sim2**__» содержатся в ответе при наличии у авторизованного пользователя права **«__Просмотр номеров телефонов объектов__»**. Параметр «__**status**__» содержится в ответе при наличии у авторизованного пользователя права **«__Просмотр статуса объекта__»**. 1193 1193 1194 1194 == (% style="color:#000000; font-size:16px" %)**Изменение статуса объекта**(%%) == ... ... @@ -1220,13 +1220,11 @@ 1220 1220 "data": "", ~/~/ Данные 1221 1221 "overwrite": false, ~/~/ Флаг перезаписи 1222 1222 "stage": "", ~/~/ Состояние, может быть null 1223 - 1224 1224 (% style="color:#000000" %)} 1225 1225 1226 1226 (% style="color:#000000" %)Ответ: 1227 1227 1228 -(% style="color:#000000" %){ 1229 - 1768 +(% style="color:#000000" %){(%%) 1230 1230 "status": "", ~/~/ значение статуса 1231 1231 "date": "", ~/~/ Дата смены статуса 1232 1232 "description": "", ~/~/ Описание ... ... @@ -1233,10 +1233,10 @@ 1233 1233 "data": "", ~/~/ Данные 1234 1234 "overwrite": false, ~/~/ Флаг перезаписи 1235 1235 "stage": "", ~/~/ Состояние 1236 - 1237 -(% style="text-align:left" %) 1238 1238 (% style="color:#000000" %) } 1239 1239 1777 +== == 1778 + 1240 1240 == (% style="color:#000000; font-size:16px" %)**Редактирование объекта**(%%) == 1241 1241 1242 1242 (% class="box warningmessage" %) ... ... @@ -1324,8 +1324,7 @@ 1324 1324 "retries": 0 1325 1325 } 1326 1326 ], 1327 - 1328 - "sensors": [ ~/~/ Датчики 1866 +"sensors": [ ~/~/ Датчики 1329 1329 { 1330 1330 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID датчика 1331 1331 "kind": 0, ~/~/ Тип, Simple - простой, Composite - виртуальный ... ... @@ -1363,95 +1363,215 @@ 1363 1363 "additionalProp2": "string", 1364 1364 "additionalProp3": "string" 1365 1365 }, 1366 - 1367 1367 ~/~/ Характерные для произвольного: 1368 - 1369 1369 ~/~/ "EventsEnabled": "off", ~/~/ Фиксировать события работы: on, off 1370 - 1371 1371 ~/~/ "EventsTemplateName": "Работа Произвольный", ~/~/ Наименование события работы 1372 - 1373 1373 ~/~/ "EventsCountEnabled": "off", ~/~/ Фиксировать количество срабатываний: on, off 1374 - 1375 1375 ~/~/ "EventsCountTemplateName": "Количество срабатываний Произвольный", ~/~/Наименование ~/~/события количества срабатываний 1376 - 1377 1377 ~/~/ "MapDisplayEnabled": "off", ~/~/ Отображать на карте: on, off 1378 - 1379 1379 ~/~/ "ChartDisplayEnabled": "off", ~/~/ Отображать на графике объекта: on, off 1380 - 1381 1381 ~/~/ "PayloadChartDisplayEnabled": "off", ~/~/ Отображать на графике полезной нагрузки: on, off 1382 - 1383 1383 ~/~/ "DrawType": ~/~/ тип отрисовки line, bar (Линия, Область) 1384 - 1385 1385 ~/~/ Характерные для таблицы тарировки Вкл./Выкл.: 1386 - 1387 1387 ~/~/ "ValueOn": "Вкл.", 1388 - 1389 1389 ~/~/ "ValueOff": "Выкл." 1390 1390 "summaryMaxValue": 0 ~/~/ Макс. значение 1917 + 1918 + "valueIntervals": [ ~/~/ Интервалы значений для подсветки в мониторинге 1919 + { 1920 + "from": 0, ~/~/ С какого значения 1921 + "color": "string", ~/~/ Каким цветом 1922 + "text": "string" ~/~/ Текст подписи к этому интервалу 1923 + } 1924 + ] 1391 1391 } 1392 1392 ], 1927 + "highlightSensorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid датчика, выбранного для подсветки его значения в различных интервалах 1928 + 1393 1393 "customFields": [ ~/~/ Произвольные поля 1394 - { 1395 - 1396 - "name": "string", 1397 - "value": "string", 1398 - "forClient": true, 1399 - "forTooltip": true, 1400 - "forReport": true 1930 + { 1931 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ System.Guid идентификатор элемента сущности 1932 + "name": "string", ~/~/ Наименование произвольного поля 1933 + "value": "string", ~/~/ Значение произвольного поля 1934 + "forClient": true, ~/~/ Отобразить произвольное поле у клиента 1935 + "forTooltip": true, ~/~/ Отобразить произвольное поле в подсказке (при наведении на ТС на карте) 1936 + "forReport": true ~/~/ Отобразить произвольное поле в отчете 1401 1401 } 1402 1402 ] 1403 1403 } 1404 1404 1941 + 1405 1405 (% style="color:#000000" %)Ответ: 1406 1406 1407 -(% lang="en-US" style="text-align:left" %) 1408 -(% lang="ru-RU" style="color:#000000; font-weight:normal" %){ 1944 +((( 1945 +{ 1946 + "vehicleId": 0, ~/~/ ID ТС 1947 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid владельца ТС 1948 + "name": "string", ~/~/ Имя объекта 1949 + "imei": "string", ~/~/ IMEI 1950 + "deviceTypeId": 0, ~/~/ ID типа устройства 1951 + "modelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID модели 1952 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID подразделения 1953 + "sim1": "string", ~/~/ SIM1 1954 + "sim2": "string", ~/~/ SIM2 1955 + "consumptionPer100Km": 0, ~/~/ Расход топлива на 100 км 1956 + "consumptionPerHour": 0, ~/~/ Расход топлива на моточас 1957 + "consumptionIdle": 0, ~/~/ Расход топлива на холостом ходу 1958 + "consumptionPer100KmSeasonal": 0, ~/~/ Сезонный расход топлива на 100 км 1959 + "consumptionPerHourSeasonal": 0, ~/~/ Сезонный расход топлива на моточас 1960 + "consumptionIdleSeasonal": 0, ~/~/ Сезонный расход топлива на холостом ходу 1961 + "consumptionPer100KmSeasonalBegin": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц начала работы сезонной нормы расхода на 100 км 1962 + "consumptionPer100KmSeasonalEnd": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на 100 км 1963 + "consumptionPerHourSeasonalBegin": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц начала работы сезонной нормы расхода на моточас 1964 + "consumptionPerHourSeasonalEnd": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на моточас 1965 + "consumptionIdleSeasonalBegin": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц начала работы сезонной нормы расхода на х/х 1966 + "consumptionIdleSeasonalEnd": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на х/х 1967 + "mileageCalcMethod": 0, ~/~/ Вид расчёта пробега. 0 - ByGps, 1 - ByMileageSensor 1968 + "mileageCoeff": 0, ~/~/ Коэффициент пробега при расчёте пробега по GPS (по умолчанию - 1) 1969 + "locationByCellId": true, ~/~/ Вычислять ли положение по базовым станциям, если координаты по GPS невалидны? 1970 + "dottedLineTrackWhenNoCoords": true, ~/~/ Обозначать пунктиром трек при отсутствии координат. 1971 + "showLineTrackWhenNoCoords": true, ~/~/ Обозначать трек при отсутствии координат. 1972 + "counters": { ~/~/ состояний счётчиков 1973 + "mileageEnabled": true, ~/~/ Флаг включения счётчика "Пробег" 1974 + "motohoursEnabled": true, ~/~/ Флаг включения счётчика "Моточасы" 1975 + "mileage": 0, ~/~/ Пробег 1976 + "motohours": 0 ~/~/ Моточасы 1977 + }, 1978 + "cmsv6Parameters": { ~/~/ Dto для CMSv6 1979 + "id": "string", ~/~/ CMSV6 Идентификатор 1980 + "enabled": true, ~/~/ Признак включения 1981 + "host": "string", ~/~/ IP-адрес или доменное имя из URL веб-сайта CMSV6. 1982 +))) 1409 1409 1410 -(% lang="en-US" style="text-align:left" %) 1411 - "vehicleId": "", ~/~/ ID ТС 1412 - "parentId": "", ~/~/ ID клиента 1413 - "name": "", ~/~/ имя ТС 1414 - "imei": "", ~/~/ IMEI 1415 - "deviceTypeId": "", ~/~/ типа устройства 1416 - "modelId": "", ~/~/ ID модели 1417 - "unitId": "", ~/~/ ID подразделения 1418 - "sim1": "", ~/~/ SIM 1 1419 - "sim2": "", ~/~/ SIM2 1420 - "consumptionPer100Km": "", ~/~/ Расход топлива на 100 км 1421 - "consumptionIdle": "", ~/~/ Расход топлива на холостом ходу 1422 - "counters": 1423 - { 1424 - "mileageEnabled": true, ~/~/ флаг активности счётчика «пробег» 1425 - "motohoursEnabled": true, ~/~/ флаг активности счётчика «моточасы» 1426 - "mileage": "", ~/~/ пробег 1427 - "motohours": "", ~/~/ моточасы 1428 - } 1429 - "cmsv6Parameters": ~/~/ параметры CMSv6 1984 + 1985 +((( 1986 +~/~/ Порт также можно указать. В случае использования безопасного соединения необходимо указать протокол. 1987 + "login": "string", ~/~/ CMSV6 имя учетной записи 1988 + "password": "string" ~/~/ CMSV6 — пароль учетной записи 1989 + }, 1990 + "inspectionTasks": [ ~/~/ Задания на ТО 1991 + { 1992 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID задачи 1993 + "enabled": true, ~/~/ Признак включения 1994 + "name": "string", ~/~/ Имя задания 1995 + "description": "string", ~/~/ Описание задания 1996 + "mileageCondition": 0, ~/~/ Условие по пробегу (в метрах) 1997 + "lastMileage": 0, ~/~/ Пробег (в метрах) на момент последнего ТО 1998 + "motohoursCondition": 0, ~/~/ Условие по моточасам (в секундах) 1999 + "lastMotohours": 0, ~/~/ Моточасы (в секундах) на момент последнего ТО 2000 + "periodicCondition": 0, ~/~/ Условие периодичности по времени 2001 + "kind": 0, ~/~/ Определяет вид периодичности ТО. 0 - Дни, 1 - Месяца, 2 - Годы 2002 + "lastInspectionDate": "2024-10-30T10:31:17.196Z", ~/~/ Дата последнего ТО 2003 + "maxQuantity": 0 ~/~/ Условие по количеству записей для деактивации 2004 + } 2005 + ], 2006 + "drivers": [ ~/~/ Список водителей 2007 + { 2008 + "vehicleId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор объекта. 2009 + "inputNumber": 0, ~/~/ № входа. 2010 + "createTime": "2024-10-30T10:31:17.196Z", ~/~/ Момент времени создания назначения. 2011 + "comment": "string", ~/~/ Комментарий. 2012 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор назначения. 2013 + "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя. 2014 + "beginTime": "2024-10-30T10:31:17.196Z", ~/~/ Момент времени начала назначения. 2015 + "endTime": "2024-10-30T10:31:17.196Z" ~/~/ Момент времени окончания назначения. 2016 + } 2017 + ], 2018 + "commandTemplates": [ ~/~/ Список шаблонов команд 2019 + { 2020 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID шаблона 2021 + "name": "string", ~/~/ Название шаблона команд 2022 + "command": "string", ~/~/ Команда на выполнение 2023 + "retries": 0 ~/~/ Лимит попыток отправки 2024 + } 2025 + ], 2026 + "sensors": [ ~/~/ Список датчиков 2027 + { 2028 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID датчика 2029 + "kind": 0, ~/~/ Определяет виды датчиков. 0 - Simple, 1 - Composite 2030 + "type": 0, ~/~/ Определяет типы датчиков. 0 - None, 1 - FuelLvl, 2 - PowerLevel, 3 - Consumption, 4 - Ignition, 2031 +))) 2032 + 2033 +((( 2034 +~/~/ 5 - Crane, 6 - Greider, 8 - Power, 11 - Arrow, 14 - Otval, 15 - Sand, 17 - MixerLand, 18 - MixerMove, 20 - Temperature, 2035 +))) 2036 + 2037 +((( 2038 +~/~/ 21 - Warning, 22 - Metla, 23 - Kosilka, 24 - DriverRFID, 25 - ReFueller, 27 - GrainLvl, 28 - EngineRPM, 29 - BodyUp, 2039 +))) 2040 + 2041 +((( 2042 +~/~/ 31 - EngineTemperature, 32 - TrailerRFID, 33 - Tank, 34 - Unloading, 35 - Custom, 36 - GNSS, 37 - WeighingTerminal, 2043 +))) 2044 + 2045 +((( 2046 +~/~/ 38 - RelativeMotohours, 39 - MileageSensor, 40 - Motohours, 41 - BunkerLowLevel, 42 - BunkerHighLevel, 2047 +))) 2048 + 2049 +((( 2050 +~/~/ 43 - AppliedKg, 44 - TreatedHa, 45 - RateKgHa, 46 - FertilizerLevel, 47 - FactOfWork, 48 - ReapingAggregate, 49 - AverageRateKgHa, 50 - Speed 2051 + "name": "string", ~/~/ Имя датчика 2052 + "inputType": 0, ~/~/ Тип входа, на который подключается определенный тип датчика. 0 - Digital, 1 - Analog, 2 - Impulse, 2053 +))) 2054 + 2055 +((( 2056 +~/~/ 3 - Rs232, 4 - Rs485, 5 - FMS, 6 - Diagnosis, 7 - Wire, 8 - ImpulseFrequency, 9 - BLE, 255 - Virtual 2057 + "inputNumber": 0, ~/~/ Номер входа 2058 + "pseudonym": "string", ~/~/ Псевдоним 2059 + "medianDegree": 0, ~/~/ Степень медианной фильтрации 2060 + "isInverted": true, ~/~/ Признак инверсии 2061 + "disabled": true, ~/~/ Датчик не участвует в обработке 2062 + "gradeType": 0, ~/~/ Способ тарировки показаний датчика. 0 - Default, 1 - Digital, 2 - GradeTable, 3 - CounterSummary, 4 - CounterDiffs 2063 + "gradesTables": [ ~/~/ Тарировка 1430 1430 { 1431 - "id": ~/~/ идентификатор 1432 - "enabled": true, ~/~/ флаг включения 1433 - "host": "", ~/~/ IP-адрес или доменное имя из URL веб-сайта CMSV6 1434 - "login": "", ~/~/ имя учетной записи 1435 - "password": "", ~/~/ пароль учетной записи 1436 - } 1437 - "inspectionTasks": ~/~/ задания на ТО 2065 + "grades": [ ~/~/ Таблицы тарировки 2066 + { 2067 + "input": 0, ~/~/ Вход 2068 + "output": 0 ~/~/ Выход 2069 + } 2070 + ], 2071 + "relevanceTime": "2024-10-30T10:31:17.196Z" ~/~/ Время, с которого наступает актуальность таблицы тарировки 2072 + } 2073 + ], 2074 + "showInTooltip": true, ~/~/ Отображение в подсказке 2075 + "showLastValid": true, ~/~/ Отображать последнее валидное значение 2076 + "showAsDutOnGraph": true, ~/~/ Отображать на графике как датчик уровня топлива 2077 + "showWithoutIgn": true, ~/~/ Отображать без включенного зажигания 2078 + "agrFunction": 0, ~/~/ Агрегирующая функция. 0 - SUM, 1 - AVG, 2 - EXPRESSION 2079 + "expr": "string", ~/~/ Выражение 2080 + "children": [ ~/~/ Cписок добавленных в агрегацию физ. датчиков 2081 + "string" 2082 + ], 2083 + "customParams": { ~/~/ Дополнительные настройки 2084 + "additionalProp1": "string", 2085 + "additionalProp2": "string", 2086 + "additionalProp3": "string" 2087 + }, 2088 + "summaryMaxValue": 0, ~/~/ Определяет максимальное значение датчика в режиме накопления. 2089 + "valueIntervals": [ ~/~/ Интервалы значений для подсветки в мониторинге 1438 1438 { 1439 - "id": "", ~/~/ ID задания 1440 - "enabled": false, ~/~/ Признак включения 1441 - "name": "", ~/~/ Имя задания 1442 - "description": "", ~/~/ Описание задания 1443 - "mileageCondition": "", ~/~/ Условие по пробегу 1444 - "lastMileage": "", ~/~/ Пробег (в метрах) на момент последнего ТО 1445 - "motohoursCondition": "", ~/~/ Условие по моточасам 1446 - "lastMotohours": "", ~/~/ Моточасы 1447 - "periodicCondition": "", ~/~/ Условие периодичности по времени 1448 - "kind": "", ~/~/ Вид периодичности по времени 1449 - "maxQuantity": "", ~/~/ Сколько раз выполнить задание 2091 + "from": 0, ~/~/ С какого значения 2092 + "color": "string", ~/~/ Каким цветом 2093 + "text": "string" ~/~/ Текст подписи к этому интервалу 1450 1450 } 2095 + ] 2096 + } 2097 + ], 2098 + "highlightSensorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid датчика, выбранного для подсветки его значения в различных интервалах 2099 + "customFields": [ ~/~/ Список произвольных полей 2100 + { 2101 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ System.Guid идентификатор элемента сущности 2102 + "name": "string", ~/~/ Наименование произвольного поля 2103 + "value": "string", ~/~/ Значение произвольного поля 2104 + "forClient": true, ~/~/ Отобразить произвольное поле у клиента 2105 + "forTooltip": true, ~/~/ Отобразить произвольное поле в подсказке (при наведении на ТС на карте) 2106 + "forReport": true ~/~/ Отобразить произвольное поле в отчете 2107 + } 2108 + ], 2109 + "motohoursCalcMethod": 0 ~/~/ Вид расчета моточасов. 0 - ByIgnitionSensor, 1 - ByMotohoursSensor, 2 - ByRelativeMotohoursSensor 2110 +} 2111 +))) 1451 1451 1452 -(% lang="en-US" style="text-align:left" %) 1453 -(% lang="ru-RU" style="color:#000000; font-weight:normal" %)} 1454 - 1455 1455 **Валидация:** 1456 1456 - сезонный параметр может быть задан только если задана соответствующая обычная норма; 1457 1457 - сезонные начало и окончание могут быть заданы только если задана соответствующая сезонная норма; ... ... @@ -1490,18 +1490,15 @@ 1490 1490 1491 1491 (% style="color:#000000" %)Метод запроса: **GET** 1492 1492 1493 -(% style="color:#000000" %)URL запроса: (%%)[[https:~~/~~/hosting.glonasssoft.ru/api/v3/ users/api/v3/devices/types>>url:https://hosting.glonasssoft.ru/api/v3/users/api/v3/devices/types]]2151 +(% style="color:#000000" %)URL запроса: (%%)[[https:~~/~~/hosting.glonasssoft.ru/api/v3/devices/types>>https://hosting.glonasssoft.ru/api/v3/devices/types]] 1494 1494 1495 1495 (% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации 1496 1496 1497 1497 (% style="color:#000000" %)Ответ: 1498 1498 1499 -(% style="color:#000000" %){ 1500 - 2157 +(% style="color:#000000" %){(%%) 1501 1501 "deviceTypeId" : "", ~/~/ ID типа устройства 1502 1502 "deviceTypeName" : "" ~/~/ Название типа устройства 1503 - 1504 -(% style="text-align:left" %) 1505 1505 (% style="color:#000000" %)} 1506 1506 1507 1507 = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Датчики**(%%) = ... ... @@ -1523,13 +1523,10 @@ 1523 1523 1524 1524 (% style="color:#000000" %)Ответ: 1525 1525 1526 -(% style="color:#000000" %){ 1527 - 2181 +(% style="color:#000000" %){(%%) 1528 1528 "id": "", ~/~/ ID типа датчика 1529 1529 "name": "", ~/~/ Название 1530 1530 "description": "", ~/~/ Описание 1531 - 1532 -(% style="text-align:left" %) 1533 1533 (% style="color:#000000" %)} 1534 1534 1535 1535 = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Сообщения**(%%) = ... ... @@ -1573,6 +1573,56 @@ 1573 1573 } 1574 1574 ] 1575 1575 2228 +== (% style="color:#000000; font-size:16px" %)**Получить тип и номер входа сырого параметра **(%%) == 2229 + 2230 +(% class="box infomessage" style="text-align: left;" %) 2231 +((( 2232 +**POST /api/v3/terminalMessages/mapping** 2233 +))) 2234 + 2235 +Запрос позволяет узнать тип и номер входа для сырого параметра, приходящего по указанному протоколу. 2236 + 2237 +(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/api/v3/terminalMessages/mapping 2238 + 2239 +(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации 2240 + 2241 +{ 2242 + "protocolType": 0, 2243 + "params": ["string"] 2244 +} 2245 + 2246 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 2247 +|protocolType|ID типа протокола 2248 +|params|((( 2249 +Массив наименований параметров в сообщении 2250 +))) 2251 + 2252 +Ответ: 2253 + 2254 +{ 2255 + "protocolType": 0, 2256 + "mapping": { 2257 + "additionalProp1": { 2258 + "inputType": 0, 2259 + "inputNumber": 0 2260 + }, 2261 + "additionalProp2": { 2262 + "inputType": 0, 2263 + "inputNumber": 0 2264 + } 2265 + } 2266 +} 2267 + 2268 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 2269 +|protocolType|Тип протокола 2270 +|inputType|Тип входа, 0 - Цифровой, 1 - Аналоговый, 2 - Импульсный, 3 - Rs232, 4 - Rs485, 5 - FMS, 6 - Диагностический, 7 - 1-Wire, 8 - Частотный, 9 - BLE, 255 - Виртуальный 2271 +|inputNumber|((( 2272 +Номер входа 2273 +))) 2274 + 2275 +(% class="wikigeneratedid" %) 2276 +Перечень ID протоколов в статье - [[ID протоколов для получения типов и номеров входа сырого параметра.>>https://wiki.glonasssoft.ru/bin/view/API/ID%20%D0%BF%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B%20%D0%B4%D0%BB%D1%8F%20%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D1%8F%20%D1%82%D0%B8%D0%BF%D0%B0%20%D0%B8%20%D0%BD%D0%BE%D0%BC%D0%B5%D1%80%D0%B0%20%D0%B2%D1%85%D0%BE%D0%B4%D0%B0%20%D1%81%D1%8B%D1%80%D0%BE%D0%B3%D0%BE%20%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%B0/]] 2277 + 1576 1576 == (% style="color:#000000; font-size:16px" %)**Запрос списка сообщений**(%%) == 1577 1577 1578 1578 (% class="box infomessage" %) ... ... @@ -1597,6 +1597,11 @@ 1597 1597 "to": "2023-03-29T09:14:46.107Z" ~/~/ конец периода запроса 1598 1598 } 1599 1599 2302 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 2303 +|vehicleId|ID объекта 2304 +|from|Дата и время начала периода запроса 2305 +|to|Дата и время окончания периода запроса 2306 + 1600 1600 Ответ: 1601 1601 1602 1602 [ ... ... @@ -1603,80 +1603,43 @@ 1603 1603 { 1604 1604 "messages": [ 1605 1605 { 1606 - "deviceTime": "2023-03-29T09:14:46.125Z", ~/~/ Время устройства 1607 - "serverTime": "2023-03-29T09:14:46.125Z", ~/~/ Время сервера 1608 - "speed": 0, ~/~/ Скорость, км/ч 1609 - "altitude": 0, ~/~/ Высота, м 1610 - "latitude": 0, ~/~/ Широта [-90°;90°] 1611 - "longitude": 0, ~/~/ Долгота [-180°;180°] 1612 - "satellites": 0, ~/~/ Кол-во спутников 1613 - "voltage": 0, ~/~/ Напряжение 1614 - "parameters": { ~/~/ список параметров датчиков передаваемых терминалом 2313 + "deviceTime": "2023-11-29T07:40:44.052Z", 2314 + "serverTime": "2023-11-29T07:40:44.052Z", 2315 + "speed": 0, 2316 + "altitude": 0, 2317 + "latitude": 0, 2318 + "longitude": 0, 2319 + "satellites": 0, 2320 + "course": 0, 2321 + "voltage": 0, 2322 + "parameters": { 1615 1615 "additionalProp1": "string", 1616 1616 "additionalProp2": "string", 1617 1617 "additionalProp3": "string" 1618 1618 }, 1619 - "photoCount": 0 ~/~/ Кол-во фото 2327 + "photoCount": 0, 2328 + "lbsCorrectedCoords": true, 2329 + "protocolType": 0 1620 1620 } 1621 1621 ] 1622 1622 } 1623 1623 ] 1624 1624 1625 -== (% style="color: rgb(0, 0, 0); font-size: 16px" %)**Экспорт сообщений**(%%) == 2335 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 2336 +|deviceTime|Время сообщения терминала 2337 +|serverTime|Время когда сообщение поступило на сервер 2338 +|speed|Скорость 2339 +|altitude|Высота над уровнем моря 2340 +|latitude|Широта 2341 +|longitude|Долгота 2342 +|satellites|Кол-во спутников 2343 +|course|Курс 2344 +|voltage|Бортовое напряжение 2345 +|parameters|Список параметров и их значений 2346 +|photoCount|Количество фото 2347 +|lbsCorrectedCoords|Признак того, что координаты были скорректированы по LBS, true - скорректированы, false - не скорректированы 2348 +|protocolType|ID типа протокола 1626 1626 1627 -(% class="box infomessage" %) 1628 -((( 1629 -**POST /api/v3/vehicles/export/history** 1630 -))) 1631 - 1632 -Метод возвращает список сообщений терминала объекта за выбранный период. 1633 - 1634 -(% style="text-align: left;" %) 1635 -Метод запроса **POST** 1636 - 1637 -(% style="text-align: left;" %) 1638 -(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/api/v3/vehicles/export/history 1639 - 1640 -(% style="text-align: left;" %) 1641 -(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации 1642 - 1643 -{ 1644 - "vehicleId": 0, ~/~/ ID объекта 1645 - "asArchive": true, ~/~/ true - Архивировать файл, False - не архивировать 1646 - "from": "2023-09-27T12:17:45.973Z", ~/~/ Дата и время начала запроса 1647 - "to": "2023-09-27T12:17:45.973Z" ~/~/ Дата и время окончания запроса 1648 -} 1649 - 1650 -Ответ: 1651 - 1652 -Получаете файл. Сообщение: Code 200/Success 1653 - 1654 -== (% style="color:#000000; font-size:16px" %)**Статус экспорта сообщений**(%%) == 1655 - 1656 -(% class="box infomessage" %) 1657 -((( 1658 -**GET /api/v3/vehicles/export/history/status** 1659 -))) 1660 - 1661 -Метод возвращает список сообщений терминала объекта за выбранный период. 1662 - 1663 -(% style="text-align: left;" %) 1664 -Метод запроса **GET** 1665 - 1666 -(% style="text-align: left;" %) 1667 -(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/api/v3/export/history/status 1668 - 1669 -(% style="text-align: left;" %) 1670 -(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации 1671 - 1672 -Ответ: 1673 - 1674 -{ 1675 - "activity": true, ~/~/ статус экспорт, где true - экспорт в процессе выполнения, false - в данный момент ничего не экспортируется. 1676 - "progress": 0, ~/~/ прогресс экспорта, от 0 до 100%. 1677 - "message": "string" ~/~/ текст описывающий статус. 1678 -} 1679 - 1680 1680 = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Запрос данных об объекте за период**(%%) = 1681 1681 1682 1682 == (% style="color:#000000; font-size:16px" %)**Получение данных о пробеге и моточасах транспортного средства**(%%) == ... ... @@ -1713,10 +1713,12 @@ 1713 1713 { 1714 1714 "start": "2023-08-09T14:23:14.574Z", ~/~/ Начало 1715 1715 "end": "2023-08-09T14:23:14.574Z", ~/~/ Окончание 1716 - "mileageBegin": 0, ~/~/ Пробег на начало периода 1717 - "mileageEnd": 0, ~/~/ Пробег на окончание периода 1718 - "motohoursBegin": 0, ~/~/ Моточасы на начало периода 1719 - "motohoursEnd": 0 ~/~/ Моточасы на окончание периода 2386 + "mileage": 0, ~/~/ Пробег за период, километры 2387 + "mileageBegin": 0, ~/~/ Пробег на начало периода, километры 2388 + "mileageEnd": 0, ~/~/ Пробег на окончание периода, километры 2389 + "motohours": 0, ~/~/ Моточасы за период, секунды 2390 + "motohoursBegin": 0, ~/~/ Моточасы на начало периода, секунды 2391 + "motohoursEnd": 0 ~/~/ Моточасы на окончание периода, секунды 1720 1720 } 1721 1721 ] 1722 1722 } ... ... @@ -1765,6 +1765,12 @@ 1765 1765 } 1766 1766 ] 1767 1767 2440 +(% class="box warningmessage" %) 2441 +((( 2442 +Максимальное допустимое количество периодов в ответе - 1440. При превышении этого значения будет получена ошибка ""ApiCode":204,"ApiMessage":"Прислана неправильная модель","Message":"Задан слишком маленький период дискретизации"". 2443 +\\При большом количестве периодов существенно растет нагрузка, синхронный запрос может выдать ошибку по таймауту. Рекомендуем не занижать необходимое значение параметра "sampling". 2444 +))) 2445 + 1768 1768 == (% style="color:#000000; font-size:16px" %)**Получение данных о заправках и сливах транспортного средства**(%%) == 1769 1769 1770 1770 (% class="box infomessage" %) ... ... @@ -1810,6 +1810,96 @@ 1810 1810 } 1811 1811 ] 1812 1812 2491 + 2492 +== (% style="color:#000000; font-size:16px" %)**Получение данных по событиям движения и стоянок у объектов**(%%) == 2493 + 2494 +(% class="box infomessage" %) 2495 +((( 2496 +**POST /api/v3/vehicles/moveStop** 2497 +))) 2498 + 2499 +Метод запроса: **POST** 2500 + 2501 +URL запроса: https:~/~/hosting.glonasssoft.ru/api/v3/vehicles/moveStop 2502 + 2503 +В заголовках запроса: X-Auth: Токен авторизации 2504 + 2505 + 2506 +Тело запроса: 2507 + 2508 +{ 2509 + "vehicleIds": [ ], ~/~/ Список ID объектов 2510 + "from": "2024-01-30T10:12:19.125Z", ~/~/ Дата и время начало запроса 2511 + "to": "2024-01-30T10:12:19.125Z", ~/~/ Дата и время окончания запроса 2512 + "timezone": 0 ~/~/ Временная зона. Если не указана, то по умолчанию UTC+3 2513 +} 2514 + 2515 +Ответ: 2516 + 2517 +[ 2518 + { 2519 + "vehicleId": 0, ~/~/ ID объекта 2520 + "vehicleName": "string", ~/~/ Имя объекта 2521 + "moves": [ ~/~/ Событие движения 2522 + { 2523 + "mileage": 0, ~/~/ Пробег, км 2524 + "eventId": 0, ~/~/ Идентификатор события 2525 + "eventName": "string", ~/~/ Название события 2526 + "start": "2024-01-30T10:17:13.789Z", ~/~/ Дата и время начало события 2527 + "end": "2024-01-30T10:17:13.789Z", ~/~/ Дата и время окончания события 2528 + "duration": 0 ~/~/ Продолжительность события, секунд 2529 + } 2530 + ], 2531 + "stops": [ ~/~/ События стоянок 2532 + { 2533 + "address": "[Street] [House] [City] [State] [Country] [Coordinates]", ~/~/ Адрес события Улица, Дом, Город, Регион, Страна, Координаты 2534 + "eventId": 0, ~/~/ Идентификатор события 2535 + "eventName": "string", ~/~/ Название события 2536 + "start": "2024-01-30T10:17:13.789Z", ~/~/ Дата и время начало события 2537 + "end": "2024-01-30T10:17:13.789Z", ~/~/ Дата и время окончания события 2538 + "duration": 0 ~/~/ Продолжительность события, секунд 2539 + } 2540 + ] 2541 + } 2542 +] 2543 + 2544 + 2545 +== (% style="color:#000000; font-size:16px" %)**Получение последних данных объекта**(%%) == 2546 + 2547 +(% class="box infomessage" %) 2548 +((( 2549 +**POST /api/v3/vehicles/getlastdata** 2550 +))) 2551 + 2552 +Метод запроса: **POST** 2553 + 2554 +URL запроса: https:~/~/hosting.glonasssoft.ru/api/v3/vehicles/getlastdata 2555 + 2556 +В заголовках запроса: X-Auth: Токен авторизации 2557 + 2558 + 2559 +В теле запроса перечисляете массив id объектов, в квадратных скобках через запятую. 2560 + 2561 +Ответ: 2562 + { 2563 + "vehicleId": 0, ~/~/Идентификатор объекта. 2564 + "vehicleGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",~/~/Идентификатор объекта. 2565 + "vehicleNumber": "string",~/~/Номер объекта. 2566 + "receiveTime": "2024-02-27T14:11:00.315Z",~/~/Время получения записи на сервере, т.е. время срабатывания + время передачи от устройства на сервер 2567 + "recordTime": "2024-02-27T14:11:00.315Z",~/~/Время записи от устройства, т.е. время фактического события на транспортном средстве. 2568 + "state": 0,~/~/Определяет состояния объекта в мониторинге: нет данных - 0; отключена - 1; остановка - 2; стоянка - 3; в движении - 4. 2569 + "speed": 0,~/~/Скорость объекта. 2570 + "course": 0,~/~/Курс движения [0;360] 2571 + "latitude": 0,~/~/Широта [-90°;90°]. 2572 + "longitude": 0,~/~/Долгота [-180°;180°]. 2573 + "address": "string",~/~/Адрес. 2574 + "geozones": [ ~/~/Сведения по геозонам. 2575 + { 2576 + "id": 0, 2577 + "name": "string" 2578 + } 2579 + 2580 + 1813 1813 = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Запрос посещений геообъектов**(%%) = 1814 1814 1815 1815 == (% style="color:#000000; font-size:16px" %)**Получение списка всех геообъектов**(%%) == ... ... @@ -2117,6 +2117,32 @@ 2117 2117 2118 2118 Success 2119 2119 2888 + 2889 +== (% style="color:#000000; font-size:16px" %)**Автоматическое продление уведомлений **(%%) == 2890 + 2891 +(% class="box warningmessage" %) 2892 +((( 2893 +**PUT** /api/v3/notifications/prolongation 2894 +))) 2895 + 2896 +Метод позволяет продлить уведомления. 2897 + 2898 +Метод запроса **PUT** 2899 + 2900 +URL запроса: https:~/~/hosting.glonasssoft.ru/api/v3/notifications/prolongation 2901 + 2902 +В заголовках запроса: X-Auth: Токен авторизации. 2903 + 2904 +Тело запроса: 2905 + 2906 +[ 2907 + 2908 +0 2909 + 2910 +] 2911 + 2912 +где 0 идентификатор ids. 2913 + 2120 2120 == (% style="color:#000000; font-size:16px" %)**Удаление уведомления**(%%) == 2121 2121 2122 2122 (% class="box errormessage" %) ... ... @@ -2708,6 +2708,83 @@ 2708 2708 Success 2709 2709 2710 2710 3505 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Назначения агрегатов**(%%) = 3506 + 3507 +== (% style="color:#000000; font-size:16px" %)**Получить список назначений агрегатов на выбранные объекты**(%%) == 3508 + 3509 +(% class="box infomessage" %) 3510 +((( 3511 +**POST /api/v3/Trailers** 3512 +))) 3513 + 3514 +Пример запроса: 3515 + 3516 +{ 3517 + "startDate": "2023-11-14T10:48:03.671Z", 3518 + "endDate": "2023-11-14T10:48:03.671Z", 3519 + "ids": [ 0 ], 3520 + "timezone": 0 3521 +} 3522 + 3523 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 3524 +|(% style="width:215px" %)startDate|(% style="width:861px" %)Дата и время начала запроса 3525 +|(% style="width:215px" %)endDate|(% style="width:861px" %)Дата и время окончания запроса 3526 +|(% style="width:215px" %)ids|(% style="width:861px" %)Массив ID объектов 3527 +|(% style="width:215px" %)timezone|(% style="width:861px" %)Часовой пояс, по умолчанию UTC. 3528 + 3529 +Пример ответа: 3530 + 3531 +[ 3532 + { 3533 + "SD": "2023-11-14T10:48:03.717Z", 3534 + "ED": "2023-11-14T10:48:03.717Z", 3535 + "id": 0, 3536 + "SLat": 0, 3537 + "SLon": 0, 3538 + "ELat": 0, 3539 + "ELon": 0, 3540 + "mileage": 0 3541 + "Duration": 0 3542 + "Address": "string", 3543 + "Address2": "string", 3544 + "name": "string", 3545 + "rid": "string", 3546 + "rguid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 3547 + "trailer": { 3548 + "ModelGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 3549 + "Number": "string", 3550 + "Description": "string", 3551 + "OwnerGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 3552 + "ExternalID": "string", 3553 + "Guid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 3554 + "CreateTime": "2023-11-14T10:48:03.717Z", 3555 + "UpdateTime": "2023-11-14T10:48:03.717Z", 3556 + "IsDeleted": true 3557 + }, 3558 + "filesCount": 0, 3559 + } 3560 +] 3561 + 3562 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 3563 +|SD|Дата и время начала события 3564 +|ED|Дата и время окончания события 3565 +|id|ID объекта 3566 +|SLat|Широта начальной координаты 3567 +|SLon|Долгота начальной координаты 3568 +|ELat|Широта конечной координаты 3569 +|ELon|Долгота конечной координаты 3570 +|mileage|Пробег 3571 +|Duration|Продолжительность 3572 +|Address|Адрес начального местоположения 3573 +|Address2|Адрес конечного местоположения 3574 +|name|Имя радиометки 3575 +|rid|Номер радиометки 3576 +|rguid|ID радиометки 3577 +|trailer|Информация об агрегате 3578 +|ModelGuid|ID агрегата 3579 +|Number|Название/номер агрегата 3580 +|Description|Текст примечания агрегата 3581 + 2711 2711 = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Карты-метки**(%%) = 2712 2712 2713 2713 == (% style="color:#000000; font-size:16px" %)**Получить список карт-меток определенного клиента**(%%) == ... ... @@ -2729,13 +2729,18 @@ 2729 2729 { 2730 2730 "name": "string", 2731 2731 "number": 0, 2732 - "period": 0, ~/~/ Частота трансляции радиометки3603 + "period": 0, 2733 2733 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2734 2734 "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2735 - "deleted": true 2736 2736 } 2737 2737 ] 2738 2738 3609 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 3610 +|parentId|ID клиента 3611 +|name|Название карты-метки 3612 +|number|Номер 3613 +|period|Период запросов в секундах (работает только для агрегатов) 3614 +|id|ID карты-метки 2739 2739 2740 2740 == (% style="color:#000000; font-size:16px" %)**Получить данные карты-метки**(%%) == 2741 2741 ... ... @@ -2752,13 +2752,18 @@ 2752 2752 { 2753 2753 "name": "string", 2754 2754 "number": 0, 2755 - "period": 0, ~/~/ Частота трансляции радиометки3631 + "period": 0, 2756 2756 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2757 2757 "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2758 - "deleted": true 2759 2759 } 2760 2760 ] 2761 2761 3637 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 3638 +|name|Название карты-метки 3639 +|number|Номер 3640 +|period|Период запросов в секундах (работает только для агрегатов) 3641 +|id|ID карты-метки 3642 +|parentId|ID клиента 2762 2762 2763 2763 == (% style="color:#000000; font-size:16px" %)**Добавить карту-метку**(%%) == 2764 2764 ... ... @@ -2774,7 +2774,6 @@ 2774 2774 "number": 0, 2775 2775 "period": 0, 2776 2776 "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2777 - "deleted": true 2778 2778 } 2779 2779 2780 2780 Ответ: ... ... @@ -2785,9 +2785,14 @@ 2785 2785 "period": 0, 2786 2786 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2787 2787 "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2788 - "deleted": true 2789 2789 } 2790 2790 3670 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 3671 +|name|Название карты-метки 3672 +|number|Номер 3673 +|period|Период запросов в секундах (работает только для агрегатов) 3674 +|id|ID карты-метки 3675 +|parentId|ID клиента 2791 2791 2792 2792 == (% style="color:#000000; font-size:16px" %)**Редактировать карту-метку**(%%) == 2793 2793 ... ... @@ -2804,7 +2804,6 @@ 2804 2804 "period": 0, 2805 2805 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2806 2806 "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2807 - "deleted": true 2808 2808 } 2809 2809 2810 2810 Ответ: ... ... @@ -2815,9 +2815,14 @@ 2815 2815 "period": 0, 2816 2816 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2817 2817 "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2818 - "deleted": true 2819 2819 } 2820 2820 3704 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 3705 +|name|Название карты-метки 3706 +|number|Номер 3707 +|period|Период запросов в секундах (работает только для агрегатов) 3708 +|id|ID карты-метки 3709 +|parentId|ID клиента 2821 2821 2822 2822 == (% style="color:#000000; font-size:16px" %)**Удалить карту-метку**(%%) == 2823 2823 ... ... @@ -2826,7 +2826,7 @@ 2826 2826 **DELETE /api/v3/Rfids/{rfidGuid}** 2827 2827 ))) 2828 2828 2829 -Передаем параметр rfidGuid - идентификатор карты-метки 3718 +Передаем параметр **rfidGuid** - идентификатор карты-метки 2830 2830 2831 2831 Ответ: 2832 2832 ... ... @@ -2833,6 +2833,1083 @@ 2833 2833 Success 2834 2834 2835 2835 3725 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Биллинг**(%%) = 3726 + 3727 +== (% style="color:#000000; font-size:16px" %)**Узнать баланс клиента**(%%) == 3728 + 3729 +(% class="box infomessage" %) 3730 +((( 3731 +**GET /api/v3/Billing/client/balance/{clientId}** 3732 +))) 3733 + 3734 +Параметр запроса: **clientId **- идентификатор клиента. 3735 + 3736 +Ответ: 3737 + 3738 +{ 3739 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 3740 + "Balance": 0 3741 +} 3742 + 3743 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 3744 +|(% style="width:215px" %)ClientId|(% style="width:861px" %)Идентификатор клиента 3745 +|(% style="width:215px" %)Balance|(% style="width:861px" %)Значение баланса 3746 + 3747 +== (% style="color:#000000; font-size:16px" %)**Узнать ограничения клиента**(%%) == 3748 + 3749 +(% class="box infomessage" %) 3750 +((( 3751 +**GET /api/v3/Billing/client/constraint/{clientId}** 3752 +))) 3753 + 3754 +Параметр запроса: **clientId **- идентификатор клиента. 3755 + 3756 +Ответ: 3757 + 3758 +{ 3759 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 3760 + "CalculationType": 0, 3761 + "PermissibleBalance": 0, 3762 + "DefermentDays": 0, 3763 + "SendUiNotifications": true, 3764 + "SendEmailNotifications": true, 3765 + "IsPrivate": true, 3766 +} 3767 + 3768 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 3769 +|(% style="width:215px" %)ClientId|(% style="width:861px" %)Идентификатор клиента 3770 +|(% style="width:215px" %)CalculationType|(% style="width:861px" %)Определяет тип расчёта, 0 - Деньги, 1 - Дни 3771 +|(% style="width:215px" %)PermissibleBalance|(% style="width:861px" %)Допустимый баланс 3772 +|(% style="width:215px" %)DefermentDays|(% style="width:861px" %)Отсрочка, количество дней. 3773 +|(% style="width:215px" %)SendUiNotifications|(% style="width:861px" %)Оповещение в web-интерфейсе, true - включено, false - выключено 3774 +|(% style="width:215px" %)SendEmailNotifications|(% style="width:861px" %)Оповещение на почту, true - включено, false - выключено 3775 +|(% style="width:215px" %)IsPrivate|(% style="width:861px" %)Признак, определяющий, являются ли параметры ограничений частными т.е. персональными для клиента, либо определяются тарифным планом 3776 + 3777 +== (% style="color:#000000; font-size:16px" %)**Узнать состояние тарифного плана клиента**(%%) == 3778 + 3779 +(% class="box infomessage" %) 3780 +((( 3781 +**GET /api/v3/Billing/client/plan/{clientId}** 3782 +))) 3783 + 3784 +Параметры запроса: 3785 + 3786 +**clientId **- идентификатор клиента. 3787 + 3788 +**planId **- идентификатор тарифного плана. 3789 + 3790 +Ответ: 3791 + 3792 +{ 3793 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 3794 + "Plan": { **~/~/ Описание тарифного плана** 3795 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 3796 + "OwnerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 3797 + "Name": "string", 3798 + "IsArchived": true, 3799 + "Constraint": { 3800 + "CalculationType": 0, 3801 + "PermissibleBalance": 0, 3802 + "DefermentDays": 0 3803 + }, 3804 + "Features": [ **~/~/ Описание шаблона услуг тарифного плана** 3805 + { 3806 + "Feature": "string", 3807 + "IsFactual": true, 3808 + "Limit": 0, 3809 + "Price": 0, 3810 + "PeriodValue": 0, 3811 + "PeriodType": 0 3812 + } 3813 + ] 3814 + }, 3815 + "DebitDate": "2023-10-18T12:46:24.213Z", 3816 + "Features": [ **~/~/ Описание услуг тарифного плана как есть** 3817 + { 3818 + "Feature": "string", 3819 + "IsEnabled": true, 3820 + "IsPrivate": true, 3821 + "IsFactual": true, 3822 + "Limit": 0, 3823 + "Price": 0, 3824 + "DebitDate": "2023-10-18T12:46:24.213Z", 3825 + "PeriodValue": 0, 3826 + "PeriodType": 0 3827 + } 3828 + ] 3829 +} 3830 + 3831 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 3832 +|ClientId|Идентификатор клиента 3833 +|Id|Идентификатор тарифного плана 3834 +|OwnerId|Идентификатор клиента-владельца 3835 +|Name|Наименование тарифного плана 3836 +|IsArchived|Признак, определяющий архивный тарифный план 3837 +|CalculationType|Определяет тип расчёта, 0 - Деньги, 1 - Дни 3838 +|PermissibleBalance|Допустимый баланс 3839 +|DefermentDays|Отсрочка, количество дней 3840 +|Feature|Код услуги 3841 +|IsEnabled|Признак, определяющий активирована ли услуга 3842 +|IsPrivate|Признак, определяющий, являются ли параметры по услуге тарифа частными т.е. персональными для клиента, либо определяются тарифным планом. 3843 +|IsFactual|Признак, определяющий расчёт по факту 3844 +|Limit|Лимит использования услуги. Значение -1 подразумевает безлимитное использование. 3845 +|Price|Цена за единицу. 3846 +|DebitDate|Следующий момент времени списания с баланса за услугу. 3847 +|PeriodValue|Значение периода. 3848 +|PeriodType|Определяет тип периода действия услуги в тарифном плане, 0 - Дни, 1 - Месяцы 3849 + 3850 +== (% style="color:#000000; font-size:16px" %)**Получить тарифные планы принадлежащие клиенту**(%%) == 3851 + 3852 +(% class="box infomessage" %) 3853 +((( 3854 +**GET /api/v3/Billing/client/constraint/getowned/{clientId}** 3855 +))) 3856 + 3857 +Параметр запроса: **clientId **- идентификатор клиента. 3858 + 3859 +Ответ: 3860 + 3861 +[ 3862 + { 3863 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 3864 + "OwnerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 3865 + "Name": "string", 3866 + "IsArchived": true, 3867 + "Constraint": { 3868 + "CalculationType": 0, 3869 + "PermissibleBalance": 0, 3870 + "DefermentDays": 0 3871 + }, 3872 + "Features": [ 3873 + { 3874 + "Feature": "string", 3875 + "IsFactual": true, 3876 + "Limit": 0, 3877 + "Price": 0, 3878 + "PeriodValue": 0, 3879 + "PeriodType": 0 3880 + } 3881 + ] 3882 + } 3883 +] 3884 + 3885 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 3886 +|ClientId|Идентификатор клиента 3887 +|Id|Идентификатор тарифного плана 3888 +|OwnerId|Идентификатор клиента-владельца 3889 +|Name|Наименование тарифного плана 3890 +|IsArchived|Признак, определяющий архивный тарифный план 3891 +|CalculationType|Определяет тип расчёта, 0 - Деньги, 1 - Дни 3892 +|PermissibleBalance|Допустимый баланс 3893 +|DefermentDays|Отсрочка, количество дней 3894 +|Feature|Код услуги 3895 +|IsFactual|Признак, определяющий расчёт по факту 3896 +|Limit|Лимит использования услуги. Значение -1 подразумевает безлимитное использование. 3897 +|Price|Цена за единицу. 3898 +|PeriodValue|Значение периода. 3899 +|PeriodType|Определяет тип периода действия услуги в тарифном плане, 0 - Дни, 1 - Месяцы 3900 + 3901 +== (% style="color:#000000; font-size:16px" %)**Получить список доступных тарифных планов**(%%) == 3902 + 3903 +(% class="box infomessage" %) 3904 +((( 3905 +**GET /api/v3/Billing/client/constraint/getowned/{clientId}** 3906 +))) 3907 + 3908 +Параметр запроса: **clientId **- идентификатор клиента. 3909 + 3910 +Ответ: 3911 + 3912 +[ 3913 + { 3914 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 3915 + "OwnerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 3916 + "Name": "string", 3917 + "IsArchived": true, 3918 + "Constraint": { 3919 + "CalculationType": 0, 3920 + "PermissibleBalance": 0, 3921 + "DefermentDays": 0 3922 + }, 3923 + "Features": [ 3924 + { 3925 + "Feature": "string", 3926 + "IsFactual": true, 3927 + "Limit": 0, 3928 + "Price": 0, 3929 + "PeriodValue": 0, 3930 + "PeriodType": 0 3931 + } 3932 + ] 3933 + } 3934 +] 3935 + 3936 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 3937 +|ClientId|Идентификатор клиента 3938 +|Id|Идентификатор тарифного плана 3939 +|OwnerId|Идентификатор клиента-владельца 3940 +|Name|Наименование тарифного плана 3941 +|IsArchived|Признак, определяющий архивный тарифный план 3942 +|CalculationType|Определяет тип расчёта, 0 - Деньги, 1 - Дни 3943 +|PermissibleBalance|Допустимый баланс 3944 +|DefermentDays|Отсрочка, количество дней 3945 +|Feature|Код услуги 3946 +|IsFactual|Признак, определяющий расчёт по факту 3947 +|Limit|Лимит использования услуги. Значение -1 подразумевает безлимитное использование. 3948 +|Price|Цена за единицу. 3949 +|PeriodValue|Значение периода. 3950 +|PeriodType|Определяет тип периода действия услуги в тарифном плане, 0 - Дни, 1 - Месяцы 3951 + 3952 +== (% style="color:#000000; font-size:16px" %)**Изменить баланс**(%%) == 3953 + 3954 +(% class="box warningmessage" %) 3955 +((( 3956 +**PUT /api/v3/Billing/client/balance** 3957 +))) 3958 + 3959 +Устанавливает указанное значение баланса не создавая операции пополнение/снятие. 3960 + 3961 +Тело запроса: 3962 + 3963 +{ 3964 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 3965 + "Balance": 0 3966 +} 3967 + 3968 +Ответ: Success 3969 + 3970 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 3971 +|(% style="width:215px" %)ClientId|(% style="width:861px" %)Идентификатор клиента 3972 +|(% style="width:215px" %)Balance|(% style="width:861px" %)Значение баланса 3973 + 3974 +== (% style="color:#000000; font-size:16px" %)**Пополнить баланс**(%%) == 3975 + 3976 +(% class="box warningmessage" %) 3977 +((( 3978 +**PUT /api/v3/billing/client/balance/deposit** 3979 +))) 3980 + 3981 +Создает операцию **Пополнение **с указанной суммой 3982 + 3983 +Тело запроса: 3984 + 3985 +{ 3986 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 3987 + "Balance": 0 3988 +} 3989 + 3990 +Ответ: Success 3991 + 3992 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 3993 +|(% style="width:215px" %)ClientId|(% style="width:861px" %)Идентификатор клиента 3994 +|(% style="width:215px" %)Balance|(% style="width:861px" %)Значение баланса 3995 + 3996 +== (% style="color:#000000; font-size:16px" %)**Списать с баланса**(%%) == 3997 + 3998 +Создает операцию **Списание **с указанной суммой 3999 + 4000 +(% class="box warningmessage" %) 4001 +((( 4002 +**PUT /api/v3/billing/client/balance/withdraw** 4003 +))) 4004 + 4005 +Тело запроса: 4006 + 4007 +{ 4008 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 4009 + "Balance": 0 4010 +} 4011 + 4012 +Ответ: Success 4013 + 4014 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 4015 +|(% style="width:215px" %)ClientId|(% style="width:861px" %)Идентификатор клиента 4016 +|(% style="width:215px" %)Balance|(% style="width:861px" %)Значение баланса 4017 + 4018 +== (% style="color:#000000; font-size:16px" %)**Изменить ограничения клиента**(%%) == 4019 + 4020 +(% class="box warningmessage" %) 4021 +((( 4022 +**PUT /api/v3/Billing/client/constraint** 4023 +))) 4024 + 4025 +Тело запроса: 4026 + 4027 +{ 4028 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 4029 + "CalculationType": 0, 4030 + "PermissibleBalance": 0, 4031 + "DefermentDays": 0, 4032 + "SendUiNotifications": true, 4033 + "SendEmailNotifications": true, 4034 + "IsPrivate": true, 4035 +} 4036 + 4037 +Ответ: Success 4038 + 4039 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 4040 +|ClientId|Идентификатор клиента 4041 +|CalculationType|Определяет тип расчёта, 0 - Деньги, 1 - Дни 4042 +|PermissibleBalance|Допустимый баланс 4043 +|DefermentDays|((( 4044 +Отсрочка, количество дней 4045 +))) 4046 +|(% style="width:215px" %)SendUiNotifications|(% style="width:861px" %)Оповещение в web-интерфейсе, true - включено, false - выключено 4047 +|(% style="width:215px" %)SendEmailNotifications|(% style="width:861px" %)Оповещение на почту, true - включено, false - выключено 4048 +|(% style="width:215px" %)IsPrivate|(% style="width:861px" %)Признак, определяющий, являются ли параметры ограничений частными т.е. персональными для клиента, либо определяются тарифным планом 4049 + 4050 +== (% style="color:#000000; font-size:16px" %)**Изменить тариф клиента**(%%) == 4051 + 4052 +(% class="box warningmessage" %) 4053 +((( 4054 +**PUT /api/v3/Billing/client/plan** 4055 +))) 4056 + 4057 +Тело запроса: 4058 + 4059 +{ 4060 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 4061 + "PlanId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 4062 + "Features": [ 4063 + { 4064 + "Feature": "string", 4065 + "IsEnabled": true, 4066 + "IsFactual": true, 4067 + "Limit": 0, 4068 + "Price": 0, 4069 + "DebitDate": "2023-10-18T13:26:58.987Z", 4070 + "PeriodValue": 0, 4071 + "PeriodType": 0 4072 + } 4073 + ] 4074 +} 4075 + 4076 +Ответ: Success 4077 + 4078 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 4079 +|ClientId|Идентификатор клиента 4080 +|PlanId|Идентификатор тарифного плана 4081 +|Feature|Код услуги 4082 +|IsEnabled|Признак, определяющий активирована ли услуга 4083 +|IsFactual|Признак, определяющий расчёт по факту 4084 +|Limit|Лимит использования услуги. Значение -1 подразумевает безлимитное использование. 4085 +|Price|Цена за единицу. 4086 +|DebitDate|Следующий момент времени списания с баланса за услугу. 4087 +|PeriodValue|Значение периода. 4088 +|PeriodType|Определяет тип периода действия услуги в тарифном плане, 0 - Дни, 1 - Месяцы 4089 + 4090 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Импорт и Экспорт**(%%) = 4091 + 4092 +(% class="box warningmessage" %) 4093 +((( 4094 +Для тестирования запросов **Импорта **в Postman необходимо скачать его на ПК. Версия в браузере не позволяет загружать файлы в тело запроса. 4095 +))) 4096 + 4097 +== (% style="color:#000000; font-size:16px" %)**Импорт объектов**(%%) == 4098 + 4099 +(% class="box infomessage" %) 4100 +((( 4101 +**POST /api/v3/vehicles/import/{agentId}** 4102 +))) 4103 + 4104 +Запрос позволяет загрузить объекты в систему из файла. Импортируемый файл может быть в формате **xml (расширение *.xls)** или **wlp. **Также они могут находится в** zip-архиве (один файл - один архив).** 4105 + 4106 +В пути указывается **agentId** - id клиента. 4107 + 4108 +**Заголовок** 4109 + 4110 +**X-Auth: [токен авторизации]** 4111 + 4112 +**Параметры** 4113 + 4114 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 4115 +|withNoData|Параметр **Объекты без данных**. Определяет способ загрузки объекта, у которого отсутствует имя или модель объекта. true - загружать, false - пропускать. 4116 +|importMethod|Параметр **Метода импорта датчиков**. Определяет метод добавления датчиков импортируемых из файла. Значение: Replace - Замена, Merge - Слияние, Add - Добавление 4117 + 4118 +В теле использовать тип **form-data,** тип значения** file** 4119 + 4120 +**Ключи** 4121 + 4122 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 4123 +|data|В значении передаем файл объекта, формат **xml** или **wlp ** 4124 +|csv|В значении передаем файл датчиков, формат **csv** 4125 + 4126 +Ответ: 4127 + 4128 +{ 4129 + "vehicleId": 0, 4130 + "name": "string", 4131 + "errors": ["string"] 4132 +} 4133 + 4134 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 4135 +|vehicleId|ID созданного объекта 4136 +|name|Имя созданного объекта 4137 +|errors|Ошибки и их описание 4138 + 4139 +== (% style="color:#000000; font-size:16px" %)**Импорт сообщений**(%%) == 4140 + 4141 +(% class="box infomessage" %) 4142 +((( 4143 +**POST** **/api/v3/vehicles/import/history/{vehicleId}** 4144 +))) 4145 + 4146 +(% class="wikigeneratedid" %) 4147 +Позволяет импортировать сообщения в выбранный объект. Сообщения должны иметь формат **wln** или **json**. Также они могут быть упакованы и переданы в виде в **zip-архива**. 4148 + 4149 +(% class="wikigeneratedid" %) 4150 +В пути указывается **vehicleId **- id объекта. 4151 + 4152 +**Заголовок** 4153 + 4154 +**X-Auth: [токен авторизации]** 4155 + 4156 +В теле использовать тип **form-data.** 4157 + 4158 +Ключи: 4159 + 4160 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 4161 +|**history**|В значении передавать файл с историей 4162 + 4163 +В случае, если загружается история из файла **wln **можно выполнять подмену названий параметров. В ключе вы указываете название параметра из файла, в значении указываете значение на которое нужно заменить. 4164 + 4165 +Ответ: 4166 + 4167 +{ 4168 + "results": [ 4169 + { 4170 + "vehicleGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 4171 + "vehicleId": 0, 4172 + "errors": [ 4173 + "string" 4174 + ], 4175 + "firstMessageDate": "2023-11-28T09:27:58.949Z", 4176 + "lastMessageDate": "2023-11-28T09:27:58.949Z", 4177 + "producedCount": 0, 4178 + "msgCount": 0 4179 + } 4180 + ] 4181 +} 4182 + 4183 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 4184 +|results|Результаты импорта в разрезе ТС 4185 +|vehicleGuid|Guid ТС 4186 +|vehicleId|ID ТС 4187 +|errors|Список ошибок импорта истории (если пустой - нет ошибок) 4188 +|firstMessageDate|Дата первого импортированного сообщения (UTC) 4189 +|lastMessageDate|Дата последнего импортированного сообщения (UTC) 4190 +|producedCount|Кол-во успешно отправленных в шину данных сообщений 4191 +|msgCount|Кол-во обработанных сообщений всего 4192 + 4193 +== (% style="color:#000000; font-size:16px" %)**Статус импорта сообщений**(%%) == 4194 + 4195 +(% class="box infomessage" %) 4196 +((( 4197 +**GET /api/v3/vehicles/import/history/status** 4198 +))) 4199 + 4200 +Запрос статуса импорта истории. Может потребоваться в случае импорта истории за большой период. 4201 + 4202 +Ответ: 4203 + 4204 +{ 4205 + "activity": true, 4206 + "progress": 0, 4207 + "message": "string" 4208 +} 4209 + 4210 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 4211 +|activity|Активен ли экспорт/импорт истории сейчас, true - да, false - нет 4212 +|progress|Guid ТС 4213 + 4214 +== (% style="color:#000000; font-size:16px" %)**Экспорт объектов**(%%) == 4215 + 4216 +(% class="box infomessage" %) 4217 +((( 4218 +**POST /api/v3/vehicles/export** 4219 +))) 4220 + 4221 +Запрос позволяет экспортировать файлы с настройками объектов. В запросе передается массив id объектов. 4222 + 4223 +Тело запроса: 4224 + 4225 +[ 4226 + id 4227 +] 4228 + 4229 +Ответ: Success 200, получаете файлы с настройками. 4230 + 4231 +== (% style="color:#000000; font-size:16px" %)**Экспорт сообщений**(%%) == 4232 + 4233 +(% class="box infomessage" %) 4234 +((( 4235 +**POST /api/v3/vehicles/export/history** 4236 +))) 4237 + 4238 +Метод возвращает список сообщений терминала объекта за выбранный период. 4239 + 4240 +Тело запроса: 4241 + 4242 +{ 4243 + "vehicleId": 0, 4244 + "asArchive": true, 4245 + "from": "2023-09-27T12:17:45.973Z", 4246 + "to": "2023-09-27T12:17:45.973Z" 4247 +} 4248 + 4249 +Ответ: 4250 + 4251 +Получаете файл. Сообщение: Code 200/Success 4252 + 4253 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 4254 +|vehicleId|ID объекта 4255 +|asArchive|true - Архивировать файл, False - не архивировать 4256 +|from|Дата и время начала запроса 4257 +|to|Дата и время окончания запроса 4258 + 4259 +== (% style="color:#000000; font-size:16px" %)**Статус экспорта сообщений**(%%) == 4260 + 4261 +(% class="box infomessage" %) 4262 +((( 4263 +**GET /api/v3/vehicles/export/history/status** 4264 +))) 4265 + 4266 +Метод возвращает список сообщений терминала объекта за выбранный период. 4267 + 4268 +Ответ: 4269 + 4270 +{ 4271 + "activity": true, 4272 + "progress": 0, 4273 + "message": "string" 4274 +} 4275 + 4276 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 4277 +|activity|Статус экспорта, где true - экспорт в процессе выполнения, false - в данный момент ничего не экспортируется. 4278 +|progress|Прогресс экспорта, от 0 до 100% 4279 +|message|Текст описывающий статус 4280 + 4281 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Экодрайвинг**(%%) = 4282 + 4283 +== (% style="color:#000000; font-size:16px" %)**Запрос рейтинга качества вождения**(%%) == 4284 + 4285 +(% class="box infomessage" %) 4286 +((( 4287 +**POST /api/v3/EcoDriving/rating** 4288 +))) 4289 + 4290 +Позволяет получить данные рейтинга нарушений выбранных объектов за указанный период времени. Данные, выдаваемые этим запросом аналогичны тем, что вы можете увидеть в окне **Качество вождения** в мониторинге. В массиве **items **передается список объектов из рейтинга качества вождения, в **trips **передается информация по отдельным рейсам объекта. 4291 + 4292 +Тело запроса: 4293 + 4294 +{ 4295 + "vehicleIds": [vehicleId], ~/~/Массив ID объектов 4296 + "from": "2023-11-22T09:29:48.051Z", ~/~/ Дата начала запроса 4297 + "to": "2023-11-22T09:29:48.051Z" ~/~/ Дата окончания запроса 4298 +} 4299 + 4300 +Ответ: 4301 + 4302 +{ 4303 + "items": [ ~/~/ Список в разрезе ТС 4304 + { 4305 + "from": "2023-11-22T09:29:48.052Z", ~/~/ Дата начала периода 4306 + "to": "2023-11-22T09:29:48.052Z", ~/~/ Дата окончания периода 4307 + "vehicleId": 0, ~/~/ ID ТС 4308 + "vehicleName": "string", ~/~/ Название ТС 4309 + "vehicleModel": "string", ~/~/ Модель ТС 4310 + "penalty": 0, ~/~/ Кол-во рассчитанных штрафных баллов в разрезе ТС 4311 + "score": 0, ~/~/ Рассчитанная оценка вождения в разрезе ТС 4312 + "totalViolations": 0, ~/~/ Нарушений всего 4313 + "violationsByType": { ~/~/ Информация о нарушениях по типу 4314 + "overspeedingViolations": 0, ~/~/ Нарушений превышения скорости 4315 + "accelerationViolations": 0, ~/~/ Нарушений ускорения 4316 + "brakingViolations": 0, ~/~/ Нарушений торможения 4317 + "turningViolations": 0, ~/~/ Нарушений опасного поворота 4318 + "dangerousDrivingViolations": 0, ~/~/ Нарушений резкого вождения 4319 + "sensorViolations": 0 ~/~/ Нарушений по датчику 4320 + }, 4321 + 4322 +((( 4323 + 4324 +))) 4325 + 4326 + "moveTime": 0, ~/~/ Продолжительность движения, сек 4327 + "mileage": 0, ~/~/ Пробег, м 4328 + "tripsCount": 0, ~/~/ Кол-во рейсов 4329 + "trips": [ ~/~/ Информация по рейсу 4330 + { 4331 + "penalty": 0, ~/~/ Кол-во рассчитанных штрафных баллов за рейс 4332 + "score": 0, ~/~/ Рассчитанная оценка вождения за рейс 4333 + "violationsCount": 0, ~/~/ Всего нарушений 4334 + "violationsByType": { ~/~/ Информация о нарушениях по типу 4335 + "overspeedingViolations": 0, ~/~/ Нарушений превышения скорости 4336 + "accelerationViolations": 0, ~/~/ Нарушений ускорения 4337 + "brakingViolations": 0, ~/~/ Нарушений торможения 4338 + "turningViolations": 0, ~/~/ Нарушений опасного поворота 4339 + "dangerousDrivingViolations": 0, ~/~/ Нарушений резкого вождения 4340 + "sensorViolations": 0 ~/~/ Нарушений по датчику 4341 + }, 4342 + 4343 + "startDate": "2024-11-18T13:23:38.516Z", ~/~/ Дата начала поездки 4344 + "endDate": "2024-11-18T13:23:38.516Z", ~/~/ Дата окончания поездки 4345 + "moveTime": 0, ~/~/ Продолжительность движения, сек 4346 + "mileage": 0, ~/~/ Пробег, м 4347 + "motohours": 0, ~/~/ Моточасы, секунды 4348 + "maxSpeed": 0, ~/~/ Максимальная скорость за рейс 4349 + "startAddress": "string", ~/~/ Адрес начала рейса 4350 + "endAddress": "string", ~/~/ Адрес конца рейса 4351 + "drivers": [ ~/~/ Список водителей 4352 + { 4353 + "driverGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/GUID водителя 4354 + "driverName": "string", ~/~/ФИО водителя 4355 + "driverRfid": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/GUID радиометки 4356 + } 4357 + ] 4358 + } 4359 + ] 4360 + } 4361 + ] 4362 +} 4363 + 4364 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Топливные карты**(%%) = 4365 + 4366 +== (% style="color:#000000; font-size:16px" %)**Запрос транзакций по топливным картам**(%%) == 4367 + 4368 +Транзакции по топливным картам можно получить при наличии права «Транзакции ТК». Метод позволяет получить транзакции по нескольким топливным картам. 4369 + 4370 +(% class="box infomessage" %) 4371 +((( 4372 +POST /api/v3/fuelcards/transactions 4373 +))) 4374 + 4375 +Метод запроса: POST 4376 + 4377 +URL запроса: https:~/~/hosting.glonasssoft.ru/api/v3/fuelcards/transactions 4378 +\\В заголовках запроса: X-Auth: Токен авторизации 4379 + 4380 +Параметры в теле запроса (JSON): 4381 + 4382 +{ 4383 + "startDate": "2024-04-11T10:32:02.395Z", ~/~/Начало периода 4384 + "endDate": "2024-04-11T10:32:02.395Z", ~/~/Конец периода 4385 + "ids": [ 4386 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/гуиды топливных карт 4387 + ], 4388 + "timezone": 0 ~/~/Таймзона 4389 +} 4390 + 4391 + 4392 +Ответ: 4393 + { 4394 + "date": "2024-04-11T10:41:02.265Z", ~/~/Дата и время транзакции 4395 + "driver": "string", ~/~/Водители, привязанные к ТК 4396 + "object": "string", ~/~/Наименование ТС 4397 + "amount": 0, ~/~/Количество топлива 4398 + "amountDut": 0, ~/~/Количество по ДУТ 4399 + "amountDiff": 0, ~/~/Разница, л 4400 + "amountDiffPerc": 0, ~/~/Разница, % 4401 + "summa": 0, ~/~/Стоимость, руб 4402 + "serviceName": "string", ~/~/Тип топлива 4403 + "price": 0, ~/~/Цена за литр, руб 4404 + "cardName": "string", ~/~/Наименование ТК 4405 + "cardNum": "string", ~/~/Номер ТК 4406 + "operator": "string", ~/~/Оператор ТК 4407 + "address": "string" ~/~/Адрес АЗС 4408 + } 4409 + 4410 + 4411 += (% style="color:#000000; font-size:18.6667px" %)Раздел: (%%)**Методы публичного API для ретрансляторов** = 4412 + 4413 + 4414 +== **Получение полных данных о ретрансляторе** == 4415 + 4416 +(% class="box infomessage" %) 4417 +((( 4418 +**GET ** **/api/v3/retranslations/{id}** 4419 +))) 4420 + 4421 +Идентификатор запроса: ID 4422 + 4423 + 4424 +Пример ответа: 4425 + 4426 +{ 4427 +"description": "", ~/~/ Определяет описание 4428 +"subscriberId": "", ~/~/ Подписчик 4429 +"protocolType": 0, ~/~/ Тип протокола 4430 +"isEnabled": true, ~/~/ признак включения, Включен, true - включен, false - отключен 4431 +"address": "string", ~/~/ Адрес события 4432 +"objects": [ ~/~/Объекты для ретрансляции 4433 +{ 4434 +"id": "", ~/~/ Идентификатор объекта ретрансляции 4435 +"name": "", ~/~/ Наименование объекта ретрансляции 4436 +"imei": "", ~/~/ IMEI объекта 4437 +"isEnabled": true ~/~/ признак включения, Включен, true - включен, false - отключен 4438 +} 4439 + ], 4440 +"id": "", ~/~/ идентификатор пользователя 4441 +"parentId": "", ~/~/Guid родителя 4442 +"deleted": "" ~/~/ Признак удаления, Включен, true - включен, false - отключен 4443 +} 4444 + 4445 + 4446 +== **Удаление данных ретранслятора** == 4447 + 4448 +(% class="box infomessage" %) 4449 +((( 4450 +**DELETE** **/api/v3/retranslations/{id}** 4451 +))) 4452 + 4453 +Параметр запроса: ID 4454 + 4455 + 4456 +== **Создание ретранслятора** == 4457 + 4458 +(% class="box infomessage" %) 4459 +((( 4460 +**POST ** **/api/v3/retranslations/{id}** 4461 +))) 4462 + 4463 +Запрос: 4464 + 4465 +{ 4466 +"description": "", ~/~/ Описание 4467 +"subscriberId": "", ~/~/ Подписчик 4468 +"protocolType": 0, ~/~/ Тип протокола 4469 +"address": "", ~/~/ Адрес ретрансляции 4470 +"isEnabled": "", ~/~/ признак включения, Включен, true - включен, false - отключен 4471 +"objects": [ ~/~/Объекты для ретрансляции 4472 +{ 4473 +"id": "", ~/~/ идентификатор пользователя 4474 +"imei": "", ~/~/IMEI объекта 4475 +"isEnabled": "" ~/~/ признак включения, Включен, true - включен, false - отключен 4476 +} 4477 + ] 4478 +} 4479 + 4480 + 4481 +Ответ: 4482 + 4483 +{ 4484 +"description": "string", ~/~/ Определяет описание 4485 +"subscriberId": "", ~/~/ идентификатор запроса 4486 +"protocolType": 0, ~/~/ Тип протокола 4487 +"isEnabled": "", ~/~/ признак включения, Включен, true - включен, false - отключен 4488 +"address": "", ~/~/ Адрес события 4489 +"objects": [ ~/~/Объекты для ретрансляции 4490 +{ 4491 +"id": "", ~/~/ идентификатор пользователя 4492 +"name": "string", ~/~/ Название уведомления 4493 +"imei": "string", ~/~/IMEI объекта 4494 +"isEnabled": true ~/~/ признак включения, Включен, true - включен, false - отключен 4495 +} 4496 + ], 4497 +"id": "", ~/~/ идентификатор пользователя 4498 +"parentId": "", ~/~/ Guid идентификатор родителя 4499 +"deleted": true ~/~/ Признак удаления 4500 +} 4501 + 4502 + 4503 +== **Редактирование ретранслятора** == 4504 + 4505 +(% class="box infomessage" %) 4506 +((( 4507 +**PUT** **/api/v3/retranslations** 4508 +))) 4509 + 4510 +Пример запроса: 4511 + 4512 +{ 4513 +"id": "", ~/~/ идентификатор пользователя 4514 +"description": "string", ~/~/ Определяет описание 4515 +"subscriberId": "", ~/~/ идентификатор запроса 4516 +"protocolType": 0, ~/~/ Тип протокола 4517 +"isEnabled": true, ~/~/ признак включения, Включен, true - включен, false - отключен 4518 +"address": "string", ~/~/ Адрес события 4519 +"objects": ~/~/Объекты для ретрансляции 4520 +[ 4521 +{ 4522 +"id": "", ~/~/ идентификатор пользователя 4523 +"imei": "", ~/~/IMEI объекта 4524 +"isEnabled": true ~/~/ признак включения, Включен, true - включен, false - отключен 4525 +} 4526 + ] 4527 +} 4528 + 4529 + 4530 +Пример ответа: 4531 + 4532 +{ 4533 +"description": "", ~/~/ Определяет описание 4534 +"subscriberId": "", ~/~/ идентификатор запроса 4535 +"protocolType": 0, ~/~/ Тип протокола 4536 +"isEnabled": true, ~/~/ признак включения, Включен, true - включен, false - отключен 4537 +"address": "string", ~/~/ Адрес события 4538 +"objects": [ ~/~/Объекты для ретрансляции 4539 +{ 4540 +"id": "", ~/~/ идентификатор пользователя 4541 +"name": "string", ~/~/ Название уведомления 4542 +"imei": "", ~/~/IMEI объекта 4543 +"isEnabled": true ~/~/ признак включения, Включен, true - включен, false - отключен 4544 +} 4545 + ], 4546 +"id": "", ~/~/ идентификатор пользователя 4547 +"parentId": "", ~/~/ Guid идентификатор родителя 4548 +"deleted": true ~/~/ Признак удаления 4549 +} 4550 + 4551 + 4552 +== **Получение списка ретранслятора клиента** == 4553 + 4554 +(% class="box infomessage" %) 4555 +((( 4556 +**POST /api/v3/retranslations/find** 4557 +))) 4558 + 4559 +Пример запроса: 4560 + 4561 +{ 4562 +"id": "", ~/~/ идентификатор пользователя 4563 +"search": "string", ~/~/Строка поиска. Поиск производится по имени подписчика, описанию, типу протокола и адресу 4564 +"parentId": "" ~/~/ Идентификатор агента, для которого надо получить данные. 4565 +} 4566 + 4567 +Ответ: 4568 + 4569 +[ 4570 +{ 4571 +"description": "", ~/~/ Определяет описание 4572 +"subscriberId": "", ~/~/ идентификатор запроса 4573 +"protocolType": 0, ~/~/ Тип протокола 4574 +"isEnabled": true, ~/~/ признак включения, Включен, true - включен, false - отключен 4575 +"address": "string", ~/~/ Адрес события 4576 +"id": "", ~/~/ идентификатор пользователя 4577 +"parentId": "", ~/~/ Guid идентификатор родителя 4578 +"deleted": true ~/~/ Признак удаления 4579 +} 4580 +] 4581 + 4582 + 4583 += (% style="color:#000000; font-size:18.6667px" %)**Раздел: Отчеты**(%%) = 4584 + 4585 +== **API для отчета по выгрузке комбайнов** == 4586 + 4587 +(% class="box infomessage" %) 4588 +((( 4589 +POST **/api/v3/Reports/harvesterUnloading** 4590 +))) 4591 + 4592 +Пример запроса: 4593 + 4594 +{ 4595 + "byTime": 0, ~/~/ Объединение событий по времени 4596 + "byDist": 0, ~/~/ Объединение событий по расстоянию 4597 + "filterByTime": 0, ~/~/ Фильтрация событий по времени нахождения 4598 + "filterByHalfPerimeter": true, ~/~/ Фильтрация событий по пробегу половины периметра 4599 + "showNearestObjects": true, ~/~/Показывать объекты рядом? 4600 + "vehicleIds": [ ~/~/ Список id объектов для анализа 4601 + 0 4602 + ], 4603 + "from": "", ~/~/ Дата и время начало запроса 4604 + "to": "", ~/~/ Дата и время окончания запроса 4605 + "timezone": 0 ~/~/ Временная зона. Если не указана, то по умолчанию UTC+3 4606 +} 4607 + 4608 +Пример ответа: 4609 + 4610 +[ 4611 + { 4612 + "harvesterName": "", ~/~/Комбайн, номер 4613 + "harvesterId": 0, ~/~/Комбайн, id 4614 +"harvesterModel": "", ~/~/ Модель комбайна 4615 +"hopperCapacity": 0, ~/~/ Объем бункера м3 4616 + "hopperDischargeSpeed": 0, ~/~/ Скорость выгрузки из бункера, л/сек 4617 + "events": [ ~/~/Список событий в разрезе комбайна 4618 + { 4619 + "driverId": "", ~/~/Идентификатор водителя 4620 + "driverName": "", ~/~/Водитель комбайна, ФИО 4621 + "RFID": "", ~/~/ идентификатор карты-метки 4622 + "rfidName": "", ~/~/Водитель комбайна, имя метки 4623 + "vehicleId": 0, ~/~/идентификатор объекта 4624 + "vehicleName": "string", ~/~/ Имя объекта 4625 + "modelName": "string", ~/~/ Имя модели объекта 4626 + "nearestVehicles": [ ~/~/Объекты рядом 4627 + { 4628 + "vehicleId": 0, ~/~/идентификатор объекта 4629 + "vehicleName": "string" ~/~/ Имя объекта 4630 + } 4631 + ], 4632 + "fields": [ ~/~/Поля, где происходила выгрузка 4633 + { 4634 + "id": 0, ~/~/ идентификатор пользователя 4635 + "name": "string" ~/~/ имя пользователя 4636 + } 4637 + ], 4638 + "event": "string", ~/~/Событие 4639 + "start": "2024-07-19T06:41:57.821Z", ~/~/ Начало периода 4640 + "end": "2024-07-19T06:41:57.821Z", ~/~/ Окончание периода 4641 + "durationSeconds": 0, ~/~/Продолжительность события, в секундах 4642 + "cultureName": "string", ~/~/ название культуры 4643 + "bunkerLowLevelStart": 0, ~/~/Бункер, нижний уровень (на начало события) 4644 + "bunkerLowLevelEnd": 0, ~/~/ Бункер, нижний уровень (на конец события) 4645 + "bunkerHighLevelStart": 0, ~/~/Бункер, верхний уровень (на начало события) 4646 + "bunkerHighLevelEnd": 0, ~/~/Бункер, верхний уровень (на конец события) 4647 + "reapingAggregateValueStart": 0, ~/~/Жатка (на начало события) 4648 + "reapingAggregateValueEnd": 0, ~/~/Жатка (на конец события) 4649 + "issued": 0, ~/~/Выдано, бункеров 4650 + "issuedByBunkerSensors": 0, ~/~/Отдано бункеров (расчет по датчикам бункера) 4651 + "latitude": 0, ~/~/Широта 4652 + "longitude": 0, ~/~/ Долгота 4653 + "litresAway": 0, ~/~/Отдано, л 4654 + "m3Away": 0 ~/~/Отдано, м3 4655 + } 4656 + ] 4657 + } 4658 +] 4659 + 4660 + 4661 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Корзина**(%%) = 4662 + 4663 +== (% style="color:#000000; font-size:16px" %)**Запрос на получение списка всех объектов в корзине**(%%) == 4664 + 4665 + 4666 +(% class="box infomessage" %) 4667 +((( 4668 +GET api/v3/Vehicles/recyclebin/all 4669 +))) 4670 + 4671 +Метод возвращает полную информацию о списках всех объектов в корзине по пользователям, доступным агенту 4672 + 4673 +Параметр запроса: {parentId} - идентификатор агента 4674 + 4675 +В заголовках запроса: X-Auth: Токен авторизации 4676 + 4677 +Ответ: 4678 + 4679 +[ 4680 + { 4681 + "recordTime": "", ~/~/Время записи 4682 + "userId": "", ~/~/Guid пользователя, добавившего объект в корзину 4683 + "parentId": "", ~/~/Guid агента объекта, помещённого в корзину 4684 + "objectId": 0, ~/~/ID объекта, помещённого в корзину 4685 + "objectGuid": "", ~/~/Guid объекта, помещённого в корзину 4686 + "objectType": 1, ~/~/Тип объекта, помещённого в корзину 4687 + "details": { ~/~/Список деталей объекта, помещённого в корзину 4688 + "items": [ ~/~/ 4689 +nullable: true ~/~/Детали 4690 + { 4691 + "name": "string", ~/~/наименование столбца 4692 + "value": "string" ~/~/содержание столбца 4693 + } 4694 + ] 4695 + }, 4696 + "errors": [ ~/~/Список ошибок удаления/восстановления объекта 4697 + "string" 4698 + ] 4699 + } 4700 +] 4701 + 4702 + 4703 +(% style="color:#000000; font-size:16px" %)**Запрос на удаление объектов из корзины** 4704 + 4705 +(% class="box infomessage" %) 4706 +((( 4707 +POST/api/v3/Vehicles/recyclebin/erase 4708 +))) 4709 + 4710 +В заголовках запроса: X-Auth: Токен авторизации 4711 + 4712 +Пример запроса: 4713 + 4714 +[ 4715 +0 4716 +] 4717 + 4718 + 4719 +Пример ответа: 4720 + 4721 +[ 4722 +{ 4723 + "recordTime": "", ~/~/Время записи 4724 + "userId": "", ~/~/Guid пользователя, добавившего объект в корзину 4725 + "parentId": "", ~/~/Guid агента объекта, помещённого в корзину 4726 + "objectId": 0, ~/~/ID объекта, помещённого в корзин 4727 + "objectGuid": "", ~/~/Guid объекта, помещённого в корзину 4728 + "objectType": 1, ~/~/Тип объекта, помещённого в корзину 4729 + "details": { ~/~/Список деталей объекта, помещённого в корзину 4730 + "items": [ ~/~/Детали 4731 + { 4732 + "name": "", ~/~/Имя свойства 4733 + "value": "" ~/~/Значение свойства 4734 + } 4735 + ] 4736 + }, 4737 + "errors": [ ~/~/Список ошибок удаления/восстановления объекта 4738 + "" 4739 + ] 4740 + } 4741 +] 4742 + 4743 +Ответ: В случае успешного выполнения запроса вернется HTTP ответ «200». 4744 + 4745 +== (% style="color:#000000; font-size:16px" %)**Запрос на восстановление объектов из корзины**(%%) == 4746 + 4747 +(% class="box infomessage" %) 4748 +((( 4749 +POST/api/v3/Vehicles/recyclebin/restore 4750 +))) 4751 + 4752 +В заголовках запроса: X-Auth: Токен авторизации 4753 + 4754 +Параметры в теле запроса (JSON): 4755 + 4756 +Восстанавливает объекты из корзины. Возвращает те объекты которые не получилось восстановить. 4757 + 4758 +В заголовках запроса: X-Auth: Токен авторизации 4759 + 4760 + 4761 +Пример запроса: 4762 + 4763 +((( 4764 +[ 4765 +))) 4766 + 4767 +((( 4768 + 0 4769 +))) 4770 + 4771 +((( 4772 +] 4773 +))) 4774 + 4775 + 4776 +Пример ответа: 4777 + 4778 +[ 4779 +{ 4780 + "recordTime": "2024-07-19T07:58:19.305Z", ~/~/Время записи 4781 + "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/Guid пользователя, добавившего объект в корзину 4782 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/Guid агента объекта, помещённого в корзину 4783 + "objectId": 0, ~/~/ID объекта, помещённого в корзину 4784 + "objectGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/Guid объекта, помещённого в корзину 4785 + "objectType": 1, ~/~/Тип объекта, помещённого в корзину 4786 + "details": { ~/~/Список деталей объекта, помещённого в корзину 4787 + "items": [ ~/~/Детали 4788 + { 4789 + "name": "string", ~/~/Имя свойства 4790 + "value": "string" ~/~/Значение свойства 4791 + } 4792 + ] 4793 + }, 4794 + "errors": [ ~/~/Список ошибок удаления/восстановления объекта 4795 + "string" 4796 + ] 4797 + } 4798 +] 4799 + 4800 + 4801 + 2836 2836 (% class="box" lang="en-US" style="text-align: center;" %) 2837 2837 ((( 2838 2838 (% lang="ru-RU" style="color:#000000; font-family:Liberation Serif,serif; font-size:14pt; font-style:normal; font-variant:normal" %)**По вопросам работы PUBLIC API 3.0 можно обращаться**(% lang="ru-RU" style="color:#000000; font-size:14pt" %)** на [[support@glonasssoft.ru>>mailto:support@glonasssoft.ru]] **
- image-20231020124453-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.krainovim - Size
-
... ... @@ -1,0 +1,1 @@ 1 +268.0 KB - Content