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
-
... ... @@ -1,5 +1,21 @@ 1 1 (% class="western" id="H41E43F43844143043D43843541341B41E41D410421421SoftPublicAPI" %) 2 2 ((( 3 +(% class="box warningmessage" %) 4 +((( 5 + 6 + 7 + 8 + 9 +(% class="mark" %)##Для обеспечения бесперебойной работы команд и серверного оборудования ГЛОНАССSoft убедительно 10 +просим вас соблюдать несколько простых правил при использовании API-команд:## 11 +))) 12 + 13 +* Формировать не более 3 отчётов одновременно. 14 +* Ограничить количество активных сессий одного пользователя с одного IP-адреса до 50. 15 + 16 +В случае нарушения этих правил, ГЛОНАССSoft оставляет за собой право принудительно остановить выполнение запросов с определенных IP адресов. 17 + 18 + 3 3 **Содержание страницы:** 4 4 ))) 5 5 ... ... @@ -14,13 +14,22 @@ 14 14 15 15 Пример: X-Auth: 34f4919a-099b-4b7d-8aa1-f478ec2062de. 16 16 17 -(% style="color:#000000" %)− (%%)При редактировании необходимо передавать все параметры пользователяв теле запроса! Те параметры, значения которых не будут переданы - будут стерты!33 +(% style="color:#000000" %)− (%%)При **редактировании** любой записи (пользователь, объект и т.д) необходимо передавать все параметры записи в теле запроса! Те параметры, значения которых не будут переданы - будут стерты! 18 18 35 + 36 +(% style="color:#000000; font-size:16px" %)**Рекомендации** 37 + 38 +- Для запросов по API рекомендуется наделить пользователя ролью **Администратора партнера**, в противном случае при выполнении некоторых запросов у него не будет хватать прав (чаще всего сталкиваются с отсутствием прав при запросах сообщений от терминала за период). 39 + 19 19 = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Авторизация**(%%) = 20 20 21 -== (% style="color:#000000; font-size:16px" %)**Авторизация**(%%) == 42 +(% class="box warningmessage" id="H41043244243E44043843743044643844F" %) 43 +((( 44 +(% style="color:#000000; font-size:16px" %)**Авторизация**(%%) 45 +(% style="color:#000000; font-size:16px" %)Адрес сервера всегда следует указывать именно тот, по которому происходит вход в СМТ (https:~/~/hosting.glonasssoft.ru/ , [[https:~~/~~/regions.glonasssoft.ru/>>https://regions.glonasssoft.ru/]] или другие) 46 +))) 22 22 23 -(% class="box infomessage" %)48 +(% 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**__».59 +(% 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" %) 72 + "AuthId": "(%%)93c6jg79-b88b-4a35-a2d0-70dg9jc2898b(% style="color:#000000" %)" , ~/~/ токен авторизации 73 + "User": "testuser" , ~/~/ имя пользователя(%%) 54 54 } 55 55 56 56 **Примечание: **Время жизни токена авторизации задается в настройках пользователя, там есть параметр длительность сессии. При каждом запросе токен пролонгируется. 57 57 78 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 79 +|(% style="width:215px" %)(% style="color:#000000" %)login|(% style="width:861px" %)Логин пользователя 80 +|(% style="width:215px" %)(% style="color:#000000" %)password|(% style="width:861px" %)Пароль пользователя 81 +|(% style="width:215px" %)(% style="color:#000000" %)AuthId|(% style="width:861px" %)Токен авторизации 82 +|(% style="width:215px" %)(% style="color:#000000" %)User|(% style="width:861px" %)Логин пользователя 83 + 84 +(% class="wikigeneratedid" %) 85 +Также имеется возможность сквозной (/бесшовной) авторизации. Для этого к ссылке ( [[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}]]) 86 + 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" ~/~/ Корр. счет126 + "agentId": "", (%%) 127 + "parentId": "", 128 + "parentName": "string", 129 + "name": "string", 130 + "fullName": "string", 131 + "agentInfoType": 0, 132 + "isForeign": true/false, 133 + "district": "string", 134 + "region": "string", 135 + "city": "string", 136 + "inn": "string", 137 + "kpp": "string", 138 + "address": "string", 139 + "addressFact": "string", 140 + "email": "string", 141 + "director": "string", 142 + "bankName": "string", 143 + "bankBIK": "string", 144 + "bankRS": "string", 145 + "bankKS": "string" 118 118 } 119 119 148 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 149 +|(% style="width:215px" %)(% style="color:#000000" %)agentId|(% style="width:861px" %)(% style="color:#000000" %)Идентификатор клиента 150 +|(% style="width:215px" %)parentId|(% style="width:861px" %)Идентификатор клиента-родителя 151 +|(% style="width:215px" %)parentName|(% style="width:861px" %)Наименование (% style="color:#000000" %)клиента-родителя 152 +|(% style="width:215px" %)name|(% style="width:861px" %)(% style="color:#000000" %)Наименование клиента 153 +|(% style="width:215px" %)fullName|(% style="width:861px" %)(% style="color:#000000" %)Полное наименование клиента 154 +|(% style="width:215px" %)agentInfoType|(% style="width:861px" %)(% style="color:#000000" %)Тип клиента (0- Клиент, 1 - Партнер, 2 - Группа, 3 - Административная группа, 4 - Тестовый клиент, 5 - Договор) 155 +|(% style="width:215px" %)isForeign|(% style="width:861px" %)Иностранный контрагент 156 +|(% style="width:215px" %)district|(% style="width:861px" %)Округ 157 +|(% style="width:215px" %)region|(% style="width:861px" %)Регион 158 +|(% style="width:215px" %)city|(% style="width:861px" %)Город 159 +|(% style="width:215px" %)inn|(% style="width:861px" %)ИНН клиента 160 +|(% style="width:215px" %)kpp|(% style="width:861px" %)КПП клиента 161 +|(% style="width:215px" %)address|(% style="width:861px" %)Юридический адрес 162 +|(% style="width:215px" %)addressFact|(% style="width:861px" %)Фактический адрес 163 +|(% style="width:215px" %)email|(% style="width:861px" %)Электронная почта 164 +|(% style="width:215px" %)director|(% style="width:861px" %)ФИО руководителя 165 +|(% style="width:215px" %)bankName|(% style="width:861px" %)Банк 166 +|(% style="width:215px" %)bankBIK|(% style="width:861px" %)БИК 167 +|(% style="width:215px" %)bankRS|(% style="width:861px" %)Номер счета 168 +|(% style="width:215px" %)bankKS|(% style="width:861px" %)Корр. счет 169 + 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" %)− информация о клиенте типа «Партнер» и его подклиентов возвращается при наличии права «__**Доступ к партнёрским клиентам**__».183 +(% 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 - Отказ) 198 + "agentId": "",(% style="color:#000000" %) (%%) 199 + "parentId": "", 200 + "name": "string", 201 + "fullName": "string", 202 + "agentInfoType": 0, 203 +(% style="color:#000000" %) "status": "", 155 155 } 156 156 206 + 207 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 208 +|(% style="width:215px" %)(% style="color:#000000" %)agentId|(% style="width:861px" %)(% style="color:#000000" %)Идентификатор клиента 209 +|(% style="width:215px" %)parentId|(% style="width:861px" %)Идентификатор клиента-родителя 210 +|(% style="width:215px" %)name|(% style="width:861px" %)(% style="color:#000000" %)Наименование клиента 211 +|(% style="width:215px" %)fullName|(% style="width:861px" %)(% style="color:#000000" %)Полное наименование клиента 212 +|(% style="width:215px" %)agentInfoType|(% style="width:861px" %)(% style="color:#000000" %)Тип клиента (0- Клиент, 1 - Партнер, 2 - Группа, 3 - Административная группа, 4 - Тестовый клиент, 5 - Договор) 213 +|(% style="width:215px" %)(% style="color:#000000" %)status|(% style="width:861px" %)Статус клиента, 0 - заблокирован, 1 - Активен 214 + 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 - 233 + "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 277 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 278 +|(% style="width:215px" %)(% style="color:#000000" %)agentId|(% style="width:861px" %)(% style="color:#000000" %)Идентификатор клиента 279 +|(% style="width:215px" %)parentId|(% style="width:861px" %)Идентификатор клиента-родителя 280 +|(% style="width:215px" %)parentName|(% style="width:861px" %)Наименование (% style="color:#000000" %)клиента-родителя 281 +|(% style="width:215px" %)name|(% style="width:861px" %)(% style="color:#000000" %)Наименование клиента 282 +|(% style="width:215px" %)fullName|(% style="width:861px" %)(% style="color:#000000" %)Полное наименование клиента 283 +|(% style="width:215px" %)agentInfoType|(% style="width:861px" %)(% style="color:#000000" %)Тип клиента (0- Клиент, 1 - Партнер, 2 - Группа, 3 - Административная группа, 4 - Тестовый клиент, 5 - Договор) 284 +|(% style="width:215px" %)isForeign|(% style="width:861px" %)Иностранный контрагент 285 +|(% style="width:215px" %)district|(% style="width:861px" %)Округ 286 +|(% style="width:215px" %)region|(% style="width:861px" %)Регион 287 +|(% style="width:215px" %)city|(% style="width:861px" %)Город 288 +|(% style="width:215px" %)inn|(% style="width:861px" %)ИНН клиента 289 +|(% style="width:215px" %)kpp|(% style="width:861px" %)КПП клиента 290 +|(% style="width:215px" %)address|(% style="width:861px" %)Юридический адрес 291 +|(% style="width:215px" %)addressFact|(% style="width:861px" %)Фактический адрес 292 +|(% style="width:215px" %)email|(% style="width:861px" %)Электронная почта 293 +|(% style="width:215px" %)director|(% style="width:861px" %)ФИО руководителя 294 +|(% style="width:215px" %)bankName|(% style="width:861px" %)Банк 295 +|(% style="width:215px" %)bankBIK|(% style="width:861px" %)БИК 296 +|(% style="width:215px" %)bankRS|(% style="width:861px" %)Номер счета 297 +|(% style="width:215px" %)bankKS|(% style="width:861px" %)Корр. счет 298 + 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 380 +== (% style="color:#000000; font-size:16px" %)**Смена статуса клиента (активация/блокировка)**(%%) == 381 + 382 +(% class="box warningmessage" %) 383 +((( 384 +**PUT /api/v3/agents/{id}/changeStatus/{status}** 385 +))) 386 + 387 +Метод позволяет изменить статус клиента, указанного в запросе. 388 + 389 +В пути указывается GUID клиента и статус клиента. 390 + 391 +**status **- значение 0 - заблокирован, 1 - активен. 392 + 393 +Ответ: Code 204 394 + 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 пользователя 459 +{ 460 + "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" %), ~/~/ роли пользователя, перечислены названия групп пользователя 477 +} 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 - 499 +(% 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 пользователя 595 +(% lang="ru-RU" style="color:#000000; font-weight:normal" %){ 596 + "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" %) 618 + "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": "" , ~/~/ идентификатор пользователя 625 +(% lang="ru-RU" style="color:#000000; font-weight:normal" %){ 626 + "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» названия группы пользователя 647 +} 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 - 668 +(% 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 - 693 + "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" %)Раздел: ** Транспортныесредства**(%%) =756 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Модель объекта**(%%) = 686 686 758 +== (% style="color:#000000; font-size:16px" %)**Получение информации о модели объекта**(%%) == 759 + 760 +(% class="box infomessage" %) 761 +((( 762 +(% lang="en-US" %)**GET /api/v3/models/{Id}** 763 +))) 764 + 765 +Метод возвращает полную информацию о модели объекта. 766 + 767 +(% style="color:#000000" %)Метод запроса: **GET** 768 + 769 +(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/api/(% lang="en-US" %)v3/models/(% style="color:#000000" %){(%%)ID} 770 + 771 +(% style="color:#000000" %)Параметр запроса: {__**id}**__ - идентификатор модели объекта 772 + 773 +(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации 774 + 775 +(% style="color:#000000" %)Ответ: 776 + 777 +(% style="color:#000000" %){ 778 + "parentName": "string", 779 + "name": "string", 780 + "picture": "string", 781 + "minspeed": 0, 782 + "maxspeed": 0, 783 + "width": 0, 784 + "imbeddedtrailer": true, 785 + "hoppercapacity": 0, 786 + "hopperdischargespeed": 0, 787 + "modelType": 0, 788 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 789 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 790 + "deleted": true 791 +} 792 + 793 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 794 +|(% style="width:215px" %)(% style="color:#000000" %)parentName|(% style="width:861px" %)Имя клиента, которому принадлежит модель объекта 795 +|(% style="width:215px" %)(% style="color:#000000" %)name|(% style="width:861px" %)Имя модели объекта 796 +|(% style="width:215px" %)(% style="color:#000000" %)picture|(% style="width:861px" %)Название иконки транспорта 797 +|(% style="width:215px" %)(% style="color:#000000" %)minspeed|(% style="width:861px" %)Минимальная технологическая скорость обработки поля, в км/ч 798 +|(% style="width:215px" %)(% style="color:#000000" %)maxspeed|(% style="width:861px" %)Максимальная технологическая скорость обработки поля, в км/ч 799 +|(% style="width:215px" %)(% style="color:#000000" %)width|(% style="width:861px" %)Ширина агрегата, в метрах 800 +|(% style="width:215px" %)(% style="color:#000000" %)imbeddedtrailer|(% style="width:861px" %)Опция: Содержит встроенный агрегат 801 +|(% style="width:215px" %)(% style="color:#000000" %)hoppercapacity|(% style="width:861px" %)Объем бункера 802 +|(% style="width:215px" %)(% style="color:#000000" %)hopperdischargespeed|(% style="width:861px" %)Скорость2 выгрузки из бункера, л/сек 803 +|(% style="width:215px" %)(% style="color:#000000" %)modelType|(% style="width:861px" %)Определяет тип модели объекта: 0 - None, 1 - Agro, 2 - Cargo, 3 - Car 804 +|(% style="width:215px" %)(% style="color:#000000" %)id|(% style="width:861px" %)ID модели объекта 805 +|(% style="width:215px" %)(% style="color:#000000" %)parentId|(% style="width:861px" %)ID клиента, которому принадлежит модель объекта 806 +|(% style="width:215px" %)(% style="color:#000000" %)deleted|(% style="width:861px" %)Признак удаления, тип: boolean 807 + 808 +== (% style="color:#000000; font-size:16px" %)**Просмотр списка моделей**(%%) == 809 + 810 +(% class="box successmessage" %) 811 +((( 812 +(% lang="en-US" %)**POST /api/v3/models/find** 813 +))) 814 + 815 +(% style="color:#000000" %)Метод позволяет получить список всех моделей клиента, указанного в запросе. 816 + 817 +(% style="color:#000000" %)Метод запроса: **POST** 818 + 819 +(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/api/v3/models/find 820 + 821 +(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации 822 + 823 +(% style="color:#000000" %)Параметры в теле запроса (JSON):{ 824 + 825 +(% style="color:#000000" %) "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" 826 +} 827 + 828 +(% style="color:#000000" %)Ответ: 829 + 830 +(% style="color:#000000" %)[ 831 + { 832 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 833 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 834 + "parentName": "string", 835 + "name": "string", 836 + "modelType": 0 837 + } 838 +] 839 + 840 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 841 +|(% style="width:215px" %)(% style="color:#000000" %)parentName|(% style="width:861px" %)Имя клиента, которому принадлежит модель объекта 842 +|(% style="width:215px" %)(% style="color:#000000" %)name|(% style="width:861px" %)Имя модели объекта 843 +|(% style="width:215px" %)(% style="color:#000000" %)modelType|(% style="width:861px" %)Определяет тип модели объекта: 0 - None, 1 - Agro, 2 - Cargo, 3 - Car 844 +|(% style="width:215px" %)(% style="color:#000000" %)id|(% style="width:861px" %)ID модели объекта 845 +|(% style="width:215px" %)(% style="color:#000000" %)parentId|(% style="width:861px" %)ID клиента, которому принадлежит модель объекта 846 + 847 +== (% style="color:#000000; font-size:16px" %)**Добавление модели**(%%) == 848 + 849 +(% class="box successmessage" %) 850 +((( 851 +(% lang="en-US" %)**POST /api/v3/models** 852 +))) 853 + 854 +(% style="color:#000000" %)Метод позволяет добавить объект, указанный в запросе. 855 + 856 +(% style="color:#000000" %)Метод запроса: **POST** 857 + 858 +(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/api/v3/(% lang="en-US" %)models 859 + 860 +(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации 861 + 862 +(% style="color:#000000" %)Параметры в теле запроса (JSON): 863 + 864 +{ 865 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 866 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 867 + "deleted": true, 868 + "extId": "string", 869 + "name": "string", 870 + "picture": "string", 871 + "minspeed": 0, 872 + "maxspeed": 0, 873 + "width": 0, 874 + "imbeddedtrailer": true, 875 + "fueloutlay": 0, 876 + "hoppercapacity": 0, 877 + "hopperdischargespeed": 0, 878 + "modelType": 0 879 +} 880 + 881 +Ответ: 882 + 883 +{ 884 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 885 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 886 + "deleted": true, 887 + "extId": "string", 888 + "name": "string", 889 + "picture": "string", 890 + "minspeed": 0, 891 + "maxspeed": 0, 892 + "width": 0, 893 + "imbeddedtrailer": true, 894 + "hoppercapacity": 0, 895 + "hopperdischargespeed": 0, 896 + "modelType": 0 897 +} 898 + 899 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 900 +|(% style="width:215px" %)(% style="color:#000000" %)id|(% style="width:861px" %)ID модели объекта 901 +|(% style="width:215px" %)(% style="color:#000000" %)parentId|(% style="width:861px" %)ID клиента, которому принадлежит модель объекта 902 +|(% style="width:215px" %)(% style="color:#000000" %)parentName|(% style="width:861px" %)Имя клиента, которому принадлежит модель объекта 903 +|(% style="width:215px" %)(% style="color:#000000" %)name|(% style="width:861px" %)Имя модели объекта 904 +|(% style="width:215px" %)(% style="color:#000000" %)picture|(% style="width:861px" %)Название иконки транспорта 905 +|(% style="width:215px" %)(% style="color:#000000" %)minspeed|(% style="width:861px" %)Минимальная технологическая скорость обработки поля, в км/ч 906 +|(% style="width:215px" %)(% style="color:#000000" %)maxspeed|(% style="width:861px" %)Максимальная технологическая скорость обработки поля, в км/ч 907 +|(% style="width:215px" %)(% style="color:#000000" %)width|(% style="width:861px" %)Ширина агрегата, в метрах 908 +|(% style="width:215px" %)(% style="color:#000000" %)imbeddedtrailer|(% style="width:861px" %)Опция: Содержит встроенный агрегат 909 +|(% style="width:215px" %)(% style="color:#000000" %)hoppercapacity|(% style="width:861px" %)Объем бункера 910 +|(% style="width:215px" %)(% style="color:#000000" %)hopperdischargespeed|(% style="width:861px" %)Скорость выгрузки из бункера, л/сек 911 +|(% style="width:215px" %)(% style="color:#000000" %)modelType|(% style="width:861px" %)Определяет тип модели объекта: 0 - None, 1 - Agro, 2 - Cargo, 3 - Car 912 + 913 +== (% style="color:#000000; font-size:16px" %)**Редактирование модели**(%%) == 914 + 915 +(% class="box warningmessage" %) 916 +((( 917 +(% style="color:#000000" %)// //(% lang="en-US" %)**PUT /api/v3/models** 918 +))) 919 + 920 +(% style="color:#000000" %)Метод позволяет изменить статус пользователя, указанного в запросе. 921 + 922 +(% style="color:#000000" %)Метод запроса: **PUT** 923 + 924 +(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/(% lang="en-US" %)api/v3/models 925 + 926 +(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации 927 + 928 +(% style="color:#000000" %)Параметры в теле запроса (JSON): 929 + 930 +{ 931 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 932 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 933 + "deleted": true, 934 + "extId": "string", 935 + "name": "string", 936 + "picture": "string", 937 + "minspeed": 0, 938 + "maxspeed": 0, 939 + "width": 0, 940 + "imbeddedtrailer": true, 941 + "fueloutlay": 0, 942 + "hoppercapacity": 0, 943 + "hopperdischargespeed": 0, 944 + "modelType": 0 945 +} 946 + 947 +Ответ: 948 + 949 +{ 950 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 951 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 952 + "deleted": true, 953 + "extId": "string", 954 + "name": "string", 955 + "picture": "string", 956 + "minspeed": 0, 957 + "maxspeed": 0, 958 + "width": 0, 959 + "imbeddedtrailer": true, 960 + "fueloutlay": 0, 961 + "hoppercapacity": 0, 962 + "hopperdischargespeed": 0, 963 + "modelType": 0 964 +} 965 + 966 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 967 +|(% style="width:215px" %)(% style="color:#000000" %)id|(% style="width:861px" %)ID модели объекта 968 +|(% style="width:215px" %)(% style="color:#000000" %)parentId|(% style="width:861px" %)ID клиента, которому принадлежит модель объекта 969 +|(% style="width:215px" %)(% style="color:#000000" %)parentName|(% style="width:861px" %)Имя клиента, которому принадлежит модель объекта 970 +|(% style="width:215px" %)(% style="color:#000000" %)name|(% style="width:861px" %)Имя модели объекта 971 +|(% style="width:215px" %)(% style="color:#000000" %)picture|(% style="width:861px" %)Название иконки транспорта 972 +|(% style="width:215px" %)(% style="color:#000000" %)minspeed|(% style="width:861px" %)Минимальная технологическая скорость обработки поля, в км/ч 973 +|(% style="width:215px" %)(% style="color:#000000" %)maxspeed|(% style="width:861px" %)Максимальная технологическая скорость обработки поля, в км/ч 974 +|(% style="width:215px" %)(% style="color:#000000" %)width|(% style="width:861px" %)Ширина агрегата, в метрах 975 +|(% style="width:215px" %)(% style="color:#000000" %)imbeddedtrailer|(% style="width:861px" %)Опция: Содержит встроенный агрегат 976 +|(% style="width:215px" %)(% style="color:#000000" %)hoppercapacity|(% style="width:861px" %)Объем бункера 977 +|(% style="width:215px" %)(% style="color:#000000" %)hopperdischargespeed|(% style="width:861px" %)Скорость выгрузки из бункера, л/сек 978 +|(% style="width:215px" %)(% style="color:#000000" %)modelType|(% style="width:861px" %)Определяет тип модели объекта: 0 - None, 1 - Agro, 2 - Cargo, 3 - Car 979 + 980 +== (% style="color:#000000; font-size:16px" %)**Удаление модели**(%%) == 981 + 982 +(% class="box errormessage" %) 983 +((( 984 +(% lang="en-US" %)**DELETE /api/v3/models/{Id}** 985 +))) 986 + 987 +(% style="color:#000000" %)Метод позволяет удалить пользователя. Метод позволяет удалить пользователя, указанного в строке запроса. 988 + 989 +(% style="color:#000000" %)Метод запроса: **DELETE** 990 + 991 +(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru(% lang="en-US" %)/api/v3/models/{Id} 992 + 993 +(% style="color:#000000" %)Параметр запроса: {**__id__**} - id модели 994 + 995 +(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации 996 + 997 +Ответ: В случае успеха **Success 200** 998 + 999 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Транспортные средства (объекты)**(%%) = 1000 + 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 - 1066 + "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": [ ~/~/ История статусов 1173 +"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,75 @@ 894 894 (% style="text-align:left" %) 895 895 0 - «Блокировка» 1 - «Активен», 2 - «Отменен», 3 - «Оборудован», 4 - «Диагностика», 5 - «Сервис», 6 - «Демонтаж», 7 - «Монтаж», 8 - «Дозаказ», 9 - «Обслужен», 10 - «Списан», 11 - «Неисправен», 12 - «Проверен», 13 - «Не эксплуатируется». 896 896 1190 + 1191 +== **Отправить команду на терминал** == 1192 + 1193 +(% class="box successmessage" %) 1194 +((( 1195 +(% lang="en-US" %)**POST **(%%)**/api/v3/Vehicles/cmd/create** 1196 +))) 1197 + 1198 +Команда для отправки на тс. 1199 + 1200 +{ 1201 +"id": "", ~/~/идентификатор объекта (он же идентификатор ТС: vehicleId) 1202 +"command": "", ~/~/ Текст отправляемой команды 1203 +"retries": "", ~/~/ Количество попыток отправки на терминал 1204 +"idTemplate": "" ~/~/ ID шаблона команды (при использовании ранее созданных шаблонов). 1205 +} 1206 + 1207 +В ответ получаем cmdid 1208 + 1209 + 1210 +== **Получить ответ на отправленную на ТС команду** == 1211 + 1212 +(% class="box infomessage" %) 1213 +((( 1214 +(% lang="en-US" %)**GET **(%%)**/api/v3/Vehicles/cmd/{cmdId}/answer** 1215 +))) 1216 + 1217 +Идентификатор команды: cmdId 1218 + 1219 +Запрос от терминала на ответ команды 1220 + 1221 +Пример ответ от терминала: 1222 + 1223 +ID= "" ~/~/ идентификатор объекта 1224 +Soft="" ~/~/ версия софта 1225 +GPS=4 ~/~/ тип трекера 1226 +Time=11:05:43 28.06.24 ~/~/ время запроса 1227 +Lat=45.056221 ~/~/ широта 1228 +Lon=39.035938 ~/~/ долгота 1229 +Speed=0.0 ~/~/ скорость 1230 +Course=181.4 ~/~/направление 1231 + 1232 +((( 1233 +== **Список отправленных объекту команд с ответами** == 1234 + 1235 +(% class="box infomessage" %) 1236 +((( 1237 +(% lang="en-US" %)**GET**(%%)**/api/v3/Vehicles/cmd/{vehicleId}/history** 1238 +))) 1239 + 1240 +Идентификатор ТС: vehicleId 1241 + 1242 +В ответе приходит список команд с их ID, временем отправки, количестве попыток отправки и ответами терминала. 1243 + 1244 +Пример ответа терминала 1245 + 1246 +[ 1247 +{ 1248 +"id": "", ~/~/ идентификатор пользователя 1249 +"commandText": "", ~/~/Текст команды. 1250 +"templateId": "", ~/~/Идентификатор шаблона 1251 +"updated": "", ~/~/ Время отправки 1252 +"tryCount": 0, ~/~/ Количество попыток отправки команды 1253 +"answer": "", ~/~/ Ответ терминала. 1254 +"status": "" ~/~/ Статус отправки 1255 +} 1256 +] 1257 +))) 1258 + 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 - 1276 +(% 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": [ ~/~/ Датчики 1343 +"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 ~/~/ Макс. значение 1393 + "summaryMaxValue": 0 ~/~/ Определяет максимальное значение датчика в режиме накопления. 1394 + 1395 +((( 1396 + "valueIntervals": [ ~/~/ Интервалы значений для подсветки в мониторинге 1397 + { 1398 + "from": 0, ~/~/ С какого значения 1399 + "color": "string", ~/~/ Каким цветом 1400 + "text": "string" ~/~/ Текст подписи к этому интервалу 1401 + } 1402 + ] 1048 1048 } 1049 1049 ], 1405 +))) 1406 + 1407 + "highlightSensorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid датчика, выбранного для подсветки его значения в различных интервалах 1408 + 1409 + 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 1412 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ System.Guid идентификатор элемента сущности 1413 + "name": "string", ~/~/ Наименование произвольного поля 1414 + "value": "string", ~/~/ Значение произвольного поля 1415 + "forClient": true, ~/~/ Отобразить произвольное поле у клиента 1416 + "forTooltip": true, ~/~/ Отобразить произвольное поле в подсказке (при наведении на ТС на карте) 1417 + "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 - однократно) 1425 +((( 1426 +((( 1427 +((( 1428 +{ 1429 + "vehicleId": 0, ~/~/ ID ТС 1430 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid владельца ТС 1431 + "name": "string", ~/~/ Имя объекта 1432 + "imei": "string", ~/~/ IMEI 1433 + "deviceTypeId": 0, ~/~/ ID типа устройства 1434 + "modelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID модели 1435 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID подразделения 1436 + "sim1": "string", ~/~/ SIM1 1437 + "sim2": "string", ~/~/ SIM2 1438 + "consumptionPer100Km": 0, ~/~/ Расход топлива на 100 км 1439 + "consumptionPerHour": 0, ~/~/ Расход топлива на моточас 1440 + "consumptionIdle": 0, ~/~/ Расход топлива на холостом ходу 1441 + "consumptionPer100KmSeasonal": 0, ~/~/ Сезонный расход топлива на 100 км 1442 + "consumptionPerHourSeasonal": 0, ~/~/ Сезонный расход топлива на моточас 1443 + "consumptionIdleSeasonal": 0, ~/~/ Сезонный расход топлива на холостом ходу 1444 + "consumptionPer100KmSeasonalBegin": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц начала работы сезонной нормы расхода на 100 км 1445 + "consumptionPer100KmSeasonalEnd": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на 100 км 1446 + "consumptionPerHourSeasonalBegin": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц начала работы сезонной нормы расхода на моточас 1447 + "consumptionPerHourSeasonalEnd": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на моточас 1448 + "consumptionIdleSeasonalBegin": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц начала работы сезонной нормы расхода на х/х 1449 + "consumptionIdleSeasonalEnd": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на х/х 1450 + "mileageCalcMethod": 0, ~/~/ Вид расчёта пробега (0 - ByGps, 1 - ByMileageSensor) 1451 + "mileageCoeff": 0, ~/~/ Коэффициент пробега при расчёте пробега по GPS (по умолчанию - 1) 1452 + "locationByCellId": true, ~/~/ Вычислять ли положение по базовым станциям, если координаты по GPS невалидны? 1453 + "dottedLineTrackWhenNoCoords": true, ~/~/ Обозначать пунктиром трек при отсутствии координат. 1454 + "showLineTrackWhenNoCoords": true, ~/~/ Обозначать трек при отсутствии координат. 1455 + "counters": { ~/~/ Dto для состояний счётчиков 1456 + "mileageEnabled": true, ~/~/ Флаг включения счётчика "Пробег" 1457 + "motohoursEnabled": true, ~/~/ Флаг включения счётчика "Моточасы" 1458 + "mileage": 0, ~/~/ Пробег 1459 + "motohours": 0 ~/~/ Моточасы 1460 + }, 1461 + "cmsv6Parameters": { ~/~/ Dto для CMSv6 1462 + "id": "string", ~/~/ CMSV6 Идентификатор 1463 + "enabled": true, ~/~/ Признак включения 1464 + "host": "string", ~/~/ IP-адрес или доменное имя из URL веб-сайта CMSV6. Порт также можно указать. В случае использования безопасного соединения необходимо указать протокол. 1465 + "login": "string", ~/~/ CMSV6 имя учетной записи 1466 + "password": "string" ~/~/ CMSV6 — пароль учетной записи 1467 + }, 1468 + "inspectionTasks": [ ~/~/ Dto для описания задачи на ТО 1469 + { 1470 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID задачи 1471 + "enabled": true, ~/~/ Признак включения 1472 + "name": "string", ~/~/ Имя задания 1473 + "description": "string", ~/~/ Описание задания 1474 + "mileageCondition": 0, ~/~/ Условие по пробегу (в метрах) 1475 + "lastMileage": 0, ~/~/ Пробег (в метрах) на момент последнего ТО 1476 + "motohoursCondition": 0, ~/~/ Условие по моточасам (в секундах) 1477 + "lastMotohours": 0, ~/~/ Моточасы (в секундах) на момент последнего ТО 1478 + "periodicCondition": 0, ~/~/ Условие периодичности по времени 1479 + "kind": 0, ~/~/ Определяет вид периодичности ТО.( 0 - Дни, 1 - Месяцы , 2 - Годы) 1480 + "lastInspectionDate": "2024-10-30T08:11:35.622Z", ~/~/ Дата последнего ТО 1481 + "maxQuantity": 0 ~/~/ Условие по количеству записей для деактивации 1102 1102 } 1483 + ], 1484 + "drivers": [ ~/~/ Список водителей. Определяет класс назначения водителя на объект. 1485 + { 1486 + "vehicleId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор объекта. 1487 + "inputNumber": 0, ~/~/ № входа. 1488 + "createTime": "2024-10-30T08:11:35.622Z", ~/~/ Момент времени создания назначения. 1489 + "comment": "string", ~/~/ Комментарий 1490 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор назначения. 1491 + "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя. 1492 + "beginTime": "2024-10-30T08:11:35.622Z", ~/~/ Момент времени начала назначения. 1493 + "endTime": "2024-10-30T08:11:35.622Z" ~/~/ Момент времени окончания назначения. 1494 + } 1495 + ], 1496 + "commandTemplates": [ ~/~/ Список шаблонов команд 1497 + { 1498 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID шаблона 1499 + "name": "string", ~/~/ Название шаблона команд 1500 + "command": "string", ~/~/ Команда на выполнение 1501 + "retries": 0 ~/~/ Лимит попыток отправки 1502 + } 1503 + ], 1504 + "sensors": [ ~/~/ Список датчиков 1505 + { 1506 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID датчика 1507 + "kind": 0, ~/~/ Определяет виды датчиков. 0 - Simple, 1 - Composite 1508 + "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 1509 + "name": "string", ~/~/ Имя датчика 1510 + "inputType": 0, ~/~/ Тип входа, на который подключается определенный тип датчика. 0 - Digital, 1 - Analog, 2 - Impulse, 3 - Rs232, 4 - Rs485, 5 - FMS, 6 - Diagnosis, 7 - Wire, 8 - ImpulseFrequency, 9 - BLE, 255 - Virtual 1511 + "inputNumber": 0, ~/~/ Номер входа 1512 + "pseudonym": "string", ~/~/ Псевдоним 1513 + "medianDegree": 0, ~/~/ Степень медианной фильтрации 1514 + "isInverted": true, ~/~/ Признак инверсии 1515 + "disabled": true, ~/~/ Датчик не участвует в обработке 1516 + "gradeType": 0, ~/~/ Способ тарировки показаний датчика. 0 - Default, 1 - Digital, 2 - GradeTable, 3 - CounterSummary, 4 - CounterDiffs 1517 + "gradesTables": [ ~/~/ Тарировка 1518 + { 1519 + "grades": [ ~/~/ Таблицы тарировки 1520 + { 1521 + "input": 0, ~/~/ Вход 1522 + "output": 0 ~/~/ Выход 1523 + } 1524 + ], 1525 + "relevanceTime": "2024-10-30T08:11:35.622Z" ~/~/ Время, с которого наступает актуальность таблицы тарировки 1526 + } 1527 + ], 1528 + "showInTooltip": true, ~/~/ Отображение в подсказке 1529 + "showLastValid": true, ~/~/ Отображать последнее валидное значение 1530 + "showAsDutOnGraph": true, ~/~/ Отображать на графике как датчик уровня топлива 1531 + "showWithoutIgn": true, ~/~/ Отображать без включенного зажигания 1532 + "agrFunction": 0, ~/~/ Агрегирующая функция. 0 - SUM, 1 - AVG, 2 - EXPRESSION 1533 + "expr": "string", ~/~/ Выражение 1534 + "children": [ ~/~/ Cписок добавленных в агрегацию физ. датчиков 1535 + "string" 1536 + ], 1537 + "customParams": { 1538 + "additionalProp1": "string", 1539 + "additionalProp2": "string", 1540 + "additionalProp3": "string" 1541 + }, 1542 + "summaryMaxValue": 0, ~/~/ Определяет максимальное значение датчика в режиме накопления. 1543 + "valueIntervals": [ ~/~/ Интервалы значений для подсветки в мониторинге 1544 + { 1545 + "from": 0, ~/~/ С какого значения 1546 + "color": "string", ~/~/ Каким цветом 1547 +))) 1103 1103 1104 -(% style="text-align:left" %) 1105 -(% style="color:#000000" %)} 1549 +((( 1550 + "text": "string" ~/~/ Текст подписи к этому интервалу 1551 + } 1552 + ] 1553 + } 1554 + ], 1555 + "highlightSensorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid датчика, выбранного для подсветки его значения в различных интервалах 1556 + "customFields": [ ~/~/ Список произвольных полей 1557 + { 1558 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ System.Guid идентификатор элемента сущности 1559 + "name": "string", ~/~/ Наименование произвольного поля 1560 + "value": "string", ~/~/ Значение произвольного поля 1561 + "forClient": true, ~/~/ Отобразить произвольное поле у клиента 1562 + "forTooltip": true, ~/~/ Отобразить произвольное поле в подсказке (при наведении на ТС на карте) 1563 + "forReport": true ~/~/ Отобразить произвольное поле в отчете 1564 + } 1565 + ], 1566 + "motohoursCalcMethod": 0 ~/~/ Вид расчета моточасов. 0 - ByIgnitionSensor, 1 - ByMotohoursSensor, 2 - ByRelativeMotohoursSensor 1567 +} 1568 +))) 1569 +))) 1570 +))) 1106 1106 1572 + 1107 1107 **Валидация:** 1108 1108 - сезонный параметр может быть задан только если задана соответствующая обычная норма; 1109 1109 - сезонные начало и окончание могут быть заданы только если задана соответствующая сезонная норма; 1110 1110 - при задании сезонной нормы обязательны соответствующие даты начала/окончания. 1111 1111 1112 -== (% style="color:#000000; font-size:16px" %)**Получение параметров объектов**(%%) == 1113 1113 1579 +== **Импортировать историю ТС (Асинхронный запрос)** == 1580 + 1581 +(% class="box successmessage" %) 1582 +((( 1583 +**POST /api/v3/Vehicles/importAsync/history/{vehicleId} ** 1584 +))) 1585 + 1586 +Метод запроса: **POST** 1587 + 1588 +URL запроса: **https:~/~/hosting.glonasssoft.ru/api/v3/Vehicles/importAsync/history/{vehicleId} ** 1589 + 1590 +Параметр запроса: {**__vehicleid}__** - идентификатор транспортного средства 1591 + 1592 + 1593 +Ответ: 1594 + 1595 +{ 1596 + 1597 + "RequestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Уникальный идентификатор запроса 1598 + 1599 + "Status": 0, ~/~/ Перечисление состояний выполнения запроса 1600 + 1601 +~/~/ ( 0 - Success, 1 - InPorgress, 2 - Canceled, 10 - Error, 20 - ErrorRequestValidation, 50 - ErrorExceedMaximumActiveRequest) 1602 + 1603 + "Message": "string", ~/~/ Информация о выполнении запроса 1604 + 1605 + "ProgressState": 1, ~/~/ Тип информирования о ходе выполнении запроса (1 - Intermediate, 2 - ProgressProcent, 255 - None) 1606 + 1607 + "ProgressValue": 0, ~/~/ Прогресс выполнения запроса. Актуально, только если ProgressState=InProgress 1608 + 1609 + "Data": "string" ~/~/ Данные 1610 + 1611 +} 1612 + 1613 + 1614 +== **Возвращает статус асинхронного запроса импорта истории ТС** == 1615 + 1114 1114 (% class="box infomessage" %) 1115 1115 ((( 1618 +**GET /api/v3/Vehicles/importAsync/history/state/{requestId}** 1619 +))) 1620 + 1621 +Метод запроса: **GET** 1622 + 1623 +URL запроса: https:**~/~/hosting.glonasssoft.ru/api/v3/Vehicles/importAsync/history/state/{requestId}** 1624 + 1625 +Параметр запроса: {**requestId__}__** - Уникальный идентификатор запроса 1626 + 1627 + 1628 +Ответ: 1629 + 1630 +{ 1631 + 1632 + "RequestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Уникальный идентификатор запроса 1633 + 1634 + "Status": 0, ~/~/ Перечисление состояний выполения запроса 1635 +~/~/ 0 - Success, 1 - InPorgress, 2 - Canceled, 10 - Error, 20 - ErrorRequestValidation, 50 - ErrorExceedMaximumActiveRequest 1636 + 1637 + "Message": "string", ~/~/ Информация о выполнении запроса 1638 + 1639 + "ProgressState": 1, ~/~/ Тип информирования о ходе выполнении запроса 1640 + 1641 +~/~/ 1 - Intermediate, 2 - ProgressProcent, 255 - None 1642 + 1643 + "ProgressValue": 0, ~/~/ Прогресс выполнения запроса. Актуально, только если ProgressState=InProgress 1644 + 1645 + "Data": "string" ~/~/ Данные 1646 + 1647 +} 1648 + 1649 + 1650 +== (% style="color:#000000; font-size:16px" %)**Получение списка объектов с основными параметрами**(%%) == 1651 + 1652 +(% class="box infomessage" %) 1653 +((( 1116 1116 (% lang="en-US" %)**POST /api/v3/vehicles/find** 1117 1117 ))) 1118 1118 1119 -(% style="color:#000000" %)Метод позволяет получить основные параметр ы объектов: наименование, IMEI, тип устройства, модель объекта, подразделение, номера телефонов и идентификатор клиента, к которому прикреплен объект (клиент-родитель).1657 +(% 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 ~/~/ значение любого из произвольных полей ТС 1691 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ ID подразделения (опционально) 1692 + "unitName": "string", ~/~/ Название подразделения (опционально) 1693 + "customFields": "string", ~/~/ Поиск по содержимому произвольных полей ТС (опционально) 1694 + "vehicleGroupId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID группы ТС (опционально) 1695 + "vehicleGroupName": "string", ~/~/ Название группы ТС (опционально) 1696 + "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" %){ 1703 +(% style="color:#000000" %)[ 1704 +{ 1163 1163 1706 +((( 1707 + "vehicleGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid TC 1708 +))) 1709 + 1710 +((( 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" %)} 1736 +))) 1191 1191 1738 +((( 1739 + } 1740 + ], 1741 + "vehicleGroups": [ ~/~/ Группы ТС 1742 + { 1743 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ System.Guid идентификатор элемента сущности 1744 + "name": "string" ~/~/ Наименование группы ТС 1745 + } 1746 + ] 1747 + } 1748 +] 1749 +))) 1750 + 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 - 1786 +(% 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 1795 +== == 1796 + 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": [ ~/~/ Датчики 1884 +"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 ~/~/ Макс. значение 1935 + 1936 + "valueIntervals": [ ~/~/ Интервалы значений для подсветки в мониторинге 1937 + { 1938 + "from": 0, ~/~/ С какого значения 1939 + "color": "string", ~/~/ Каким цветом 1940 + "text": "string" ~/~/ Текст подписи к этому интервалу 1941 + } 1942 + ] 1391 1391 } 1392 1392 ], 1945 + "highlightSensorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid датчика, выбранного для подсветки его значения в различных интервалах 1946 + 1393 1393 "customFields": [ ~/~/ Произвольные поля 1394 - { 1395 - 1396 - "name": "string", 1397 - "value": "string", 1398 - "forClient": true, 1399 - "forTooltip": true, 1400 - "forReport": true 1948 + { 1949 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ System.Guid идентификатор элемента сущности 1950 + "name": "string", ~/~/ Наименование произвольного поля 1951 + "value": "string", ~/~/ Значение произвольного поля 1952 + "forClient": true, ~/~/ Отобразить произвольное поле у клиента 1953 + "forTooltip": true, ~/~/ Отобразить произвольное поле в подсказке (при наведении на ТС на карте) 1954 + "forReport": true ~/~/ Отобразить произвольное поле в отчете 1401 1401 } 1402 1402 ] 1403 1403 } 1404 1404 1959 + 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" %){ 1962 +((( 1963 +{ 1964 + "vehicleId": 0, ~/~/ ID ТС 1965 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid владельца ТС 1966 + "name": "string", ~/~/ Имя объекта 1967 + "imei": "string", ~/~/ IMEI 1968 + "deviceTypeId": 0, ~/~/ ID типа устройства 1969 + "modelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID модели 1970 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID подразделения 1971 + "sim1": "string", ~/~/ SIM1 1972 + "sim2": "string", ~/~/ SIM2 1973 + "consumptionPer100Km": 0, ~/~/ Расход топлива на 100 км 1974 + "consumptionPerHour": 0, ~/~/ Расход топлива на моточас 1975 + "consumptionIdle": 0, ~/~/ Расход топлива на холостом ходу 1976 + "consumptionPer100KmSeasonal": 0, ~/~/ Сезонный расход топлива на 100 км 1977 + "consumptionPerHourSeasonal": 0, ~/~/ Сезонный расход топлива на моточас 1978 + "consumptionIdleSeasonal": 0, ~/~/ Сезонный расход топлива на холостом ходу 1979 + "consumptionPer100KmSeasonalBegin": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц начала работы сезонной нормы расхода на 100 км 1980 + "consumptionPer100KmSeasonalEnd": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на 100 км 1981 + "consumptionPerHourSeasonalBegin": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц начала работы сезонной нормы расхода на моточас 1982 + "consumptionPerHourSeasonalEnd": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на моточас 1983 + "consumptionIdleSeasonalBegin": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц начала работы сезонной нормы расхода на х/х 1984 + "consumptionIdleSeasonalEnd": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на х/х 1985 + "mileageCalcMethod": 0, ~/~/ Вид расчёта пробега. 0 - ByGps, 1 - ByMileageSensor 1986 + "mileageCoeff": 0, ~/~/ Коэффициент пробега при расчёте пробега по GPS (по умолчанию - 1) 1987 + "locationByCellId": true, ~/~/ Вычислять ли положение по базовым станциям, если координаты по GPS невалидны? 1988 + "dottedLineTrackWhenNoCoords": true, ~/~/ Обозначать пунктиром трек при отсутствии координат. 1989 + "showLineTrackWhenNoCoords": true, ~/~/ Обозначать трек при отсутствии координат. 1990 + "counters": { ~/~/ состояний счётчиков 1991 + "mileageEnabled": true, ~/~/ Флаг включения счётчика "Пробег" 1992 + "motohoursEnabled": true, ~/~/ Флаг включения счётчика "Моточасы" 1993 + "mileage": 0, ~/~/ Пробег 1994 + "motohours": 0 ~/~/ Моточасы 1995 + }, 1996 + "cmsv6Parameters": { ~/~/ Dto для CMSv6 1997 + "id": "string", ~/~/ CMSV6 Идентификатор 1998 + "enabled": true, ~/~/ Признак включения 1999 + "host": "string", ~/~/ IP-адрес или доменное имя из URL веб-сайта CMSV6. 2000 +))) 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 2002 + 2003 +((( 2004 +~/~/ Порт также можно указать. В случае использования безопасного соединения необходимо указать протокол. 2005 + "login": "string", ~/~/ CMSV6 имя учетной записи 2006 + "password": "string" ~/~/ CMSV6 — пароль учетной записи 2007 + }, 2008 + "inspectionTasks": [ ~/~/ Задания на ТО 2009 + { 2010 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID задачи 2011 + "enabled": true, ~/~/ Признак включения 2012 + "name": "string", ~/~/ Имя задания 2013 + "description": "string", ~/~/ Описание задания 2014 + "mileageCondition": 0, ~/~/ Условие по пробегу (в метрах) 2015 + "lastMileage": 0, ~/~/ Пробег (в метрах) на момент последнего ТО 2016 + "motohoursCondition": 0, ~/~/ Условие по моточасам (в секундах) 2017 + "lastMotohours": 0, ~/~/ Моточасы (в секундах) на момент последнего ТО 2018 + "periodicCondition": 0, ~/~/ Условие периодичности по времени 2019 + "kind": 0, ~/~/ Определяет вид периодичности ТО. 0 - Дни, 1 - Месяца, 2 - Годы 2020 + "lastInspectionDate": "2024-10-30T10:31:17.196Z", ~/~/ Дата последнего ТО 2021 + "maxQuantity": 0 ~/~/ Условие по количеству записей для деактивации 2022 + } 2023 + ], 2024 + "drivers": [ ~/~/ Список водителей 2025 + { 2026 + "vehicleId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор объекта. 2027 + "inputNumber": 0, ~/~/ № входа. 2028 + "createTime": "2024-10-30T10:31:17.196Z", ~/~/ Момент времени создания назначения. 2029 + "comment": "string", ~/~/ Комментарий. 2030 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор назначения. 2031 + "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя. 2032 + "beginTime": "2024-10-30T10:31:17.196Z", ~/~/ Момент времени начала назначения. 2033 + "endTime": "2024-10-30T10:31:17.196Z" ~/~/ Момент времени окончания назначения. 2034 + } 2035 + ], 2036 + "commandTemplates": [ ~/~/ Список шаблонов команд 2037 + { 2038 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID шаблона 2039 + "name": "string", ~/~/ Название шаблона команд 2040 + "command": "string", ~/~/ Команда на выполнение 2041 + "retries": 0 ~/~/ Лимит попыток отправки 2042 + } 2043 + ], 2044 + "sensors": [ ~/~/ Список датчиков 2045 + { 2046 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID датчика 2047 + "kind": 0, ~/~/ Определяет виды датчиков. 0 - Simple, 1 - Composite 2048 + "type": 0, ~/~/ Определяет типы датчиков. 0 - None, 1 - FuelLvl, 2 - PowerLevel, 3 - Consumption, 4 - Ignition, 2049 +))) 2050 + 2051 +((( 2052 +~/~/ 5 - Crane, 6 - Greider, 8 - Power, 11 - Arrow, 14 - Otval, 15 - Sand, 17 - MixerLand, 18 - MixerMove, 20 - Temperature, 2053 +))) 2054 + 2055 +((( 2056 +~/~/ 21 - Warning, 22 - Metla, 23 - Kosilka, 24 - DriverRFID, 25 - ReFueller, 27 - GrainLvl, 28 - EngineRPM, 29 - BodyUp, 2057 +))) 2058 + 2059 +((( 2060 +~/~/ 31 - EngineTemperature, 32 - TrailerRFID, 33 - Tank, 34 - Unloading, 35 - Custom, 36 - GNSS, 37 - WeighingTerminal, 2061 +))) 2062 + 2063 +((( 2064 +~/~/ 38 - RelativeMotohours, 39 - MileageSensor, 40 - Motohours, 41 - BunkerLowLevel, 42 - BunkerHighLevel, 2065 +))) 2066 + 2067 +((( 2068 +~/~/ 43 - AppliedKg, 44 - TreatedHa, 45 - RateKgHa, 46 - FertilizerLevel, 47 - FactOfWork, 48 - ReapingAggregate, 49 - AverageRateKgHa, 50 - Speed 2069 + "name": "string", ~/~/ Имя датчика 2070 + "inputType": 0, ~/~/ Тип входа, на который подключается определенный тип датчика. 0 - Digital, 1 - Analog, 2 - Impulse, 2071 +))) 2072 + 2073 +((( 2074 +~/~/ 3 - Rs232, 4 - Rs485, 5 - FMS, 6 - Diagnosis, 7 - Wire, 8 - ImpulseFrequency, 9 - BLE, 255 - Virtual 2075 + "inputNumber": 0, ~/~/ Номер входа 2076 + "pseudonym": "string", ~/~/ Псевдоним 2077 + "medianDegree": 0, ~/~/ Степень медианной фильтрации 2078 + "isInverted": true, ~/~/ Признак инверсии 2079 + "disabled": true, ~/~/ Датчик не участвует в обработке 2080 + "gradeType": 0, ~/~/ Способ тарировки показаний датчика. 0 - Default, 1 - Digital, 2 - GradeTable, 3 - CounterSummary, 4 - CounterDiffs 2081 + "gradesTables": [ ~/~/ Тарировка 1430 1430 { 1431 - "id": ~/~/ идентификатор 1432 - "enabled": true, ~/~/ флаг включения 1433 - "host": "", ~/~/ IP-адрес или доменное имя из URL веб-сайта CMSV6 1434 - "login": "", ~/~/ имя учетной записи 1435 - "password": "", ~/~/ пароль учетной записи 1436 - } 1437 - "inspectionTasks": ~/~/ задания на ТО 2083 + "grades": [ ~/~/ Таблицы тарировки 2084 + { 2085 + "input": 0, ~/~/ Вход 2086 + "output": 0 ~/~/ Выход 2087 + } 2088 + ], 2089 + "relevanceTime": "2024-10-30T10:31:17.196Z" ~/~/ Время, с которого наступает актуальность таблицы тарировки 2090 + } 2091 + ], 2092 + "showInTooltip": true, ~/~/ Отображение в подсказке 2093 + "showLastValid": true, ~/~/ Отображать последнее валидное значение 2094 + "showAsDutOnGraph": true, ~/~/ Отображать на графике как датчик уровня топлива 2095 + "showWithoutIgn": true, ~/~/ Отображать без включенного зажигания 2096 + "agrFunction": 0, ~/~/ Агрегирующая функция. 0 - SUM, 1 - AVG, 2 - EXPRESSION 2097 + "expr": "string", ~/~/ Выражение 2098 + "children": [ ~/~/ Cписок добавленных в агрегацию физ. датчиков 2099 + "string" 2100 + ], 2101 + "customParams": { ~/~/ Дополнительные настройки 2102 + "additionalProp1": "string", 2103 + "additionalProp2": "string", 2104 + "additionalProp3": "string" 2105 + }, 2106 + "summaryMaxValue": 0, ~/~/ Определяет максимальное значение датчика в режиме накопления. 2107 + "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": "", ~/~/ Сколько раз выполнить задание 2109 + "from": 0, ~/~/ С какого значения 2110 + "color": "string", ~/~/ Каким цветом 2111 + "text": "string" ~/~/ Текст подписи к этому интервалу 1450 1450 } 2113 + ] 2114 + } 2115 + ], 2116 + "highlightSensorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid датчика, выбранного для подсветки его значения в различных интервалах 2117 + "customFields": [ ~/~/ Список произвольных полей 2118 + { 2119 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ System.Guid идентификатор элемента сущности 2120 + "name": "string", ~/~/ Наименование произвольного поля 2121 + "value": "string", ~/~/ Значение произвольного поля 2122 + "forClient": true, ~/~/ Отобразить произвольное поле у клиента 2123 + "forTooltip": true, ~/~/ Отобразить произвольное поле в подсказке (при наведении на ТС на карте) 2124 + "forReport": true ~/~/ Отобразить произвольное поле в отчете 2125 + } 2126 + ], 2127 + "motohoursCalcMethod": 0 ~/~/ Вид расчета моточасов. 0 - ByIgnitionSensor, 1 - ByMotohoursSensor, 2 - ByRelativeMotohoursSensor 2128 +} 2129 +))) 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]]2169 +(% 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 - 2175 +(% 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 - 2199 +(% 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 2246 +== (% style="color:#000000; font-size:16px" %)**Получить тип и номер входа сырого параметра **(%%) == 2247 + 2248 +(% class="box infomessage" style="text-align: left;" %) 2249 +((( 2250 +**POST /api/v3/terminalMessages/mapping** 2251 +))) 2252 + 2253 +Запрос позволяет узнать тип и номер входа для сырого параметра, приходящего по указанному протоколу. 2254 + 2255 +(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/api/v3/terminalMessages/mapping 2256 + 2257 +(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации 2258 + 2259 +{ 2260 + "protocolType": 0, 2261 + "params": ["string"] 2262 +} 2263 + 2264 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 2265 +|protocolType|ID типа протокола 2266 +|params|((( 2267 +Массив наименований параметров в сообщении 2268 +))) 2269 + 2270 +Ответ: 2271 + 2272 +{ 2273 + "protocolType": 0, 2274 + "mapping": { 2275 + "additionalProp1": { 2276 + "inputType": 0, 2277 + "inputNumber": 0 2278 + }, 2279 + "additionalProp2": { 2280 + "inputType": 0, 2281 + "inputNumber": 0 2282 + } 2283 + } 2284 +} 2285 + 2286 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 2287 +|protocolType|Тип протокола 2288 +|inputType|Тип входа, 0 - Цифровой, 1 - Аналоговый, 2 - Импульсный, 3 - Rs232, 4 - Rs485, 5 - FMS, 6 - Диагностический, 7 - 1-Wire, 8 - Частотный, 9 - BLE, 255 - Виртуальный 2289 +|inputNumber|((( 2290 +Номер входа 2291 +))) 2292 + 2293 +(% class="wikigeneratedid" %) 2294 +Перечень 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/]] 2295 + 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 2320 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 2321 +|vehicleId|ID объекта 2322 +|from|Дата и время начала периода запроса 2323 +|to|Дата и время окончания периода запроса 2324 + 1600 1600 Ответ: 1601 1601 1602 1602 [ ... ... @@ -1603,25 +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": { ~/~/ список параметров датчиков передаваемых терминалом 2331 + "deviceTime": "2023-11-29T07:40:44.052Z", 2332 + "serverTime": "2023-11-29T07:40:44.052Z", 2333 + "speed": 0, 2334 + "altitude": 0, 2335 + "latitude": 0, 2336 + "longitude": 0, 2337 + "satellites": 0, 2338 + "course": 0, 2339 + "voltage": 0, 2340 + "parameters": { 1615 1615 "additionalProp1": "string", 1616 1616 "additionalProp2": "string", 1617 1617 "additionalProp3": "string" 1618 1618 }, 1619 - "photoCount": 0 ~/~/ Кол-во фото 2345 + "photoCount": 0, 2346 + "lbsCorrectedCoords": true, 2347 + "protocolType": 0 1620 1620 } 1621 1621 ] 1622 1622 } 1623 1623 ] 1624 1624 2353 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 2354 +|deviceTime|Время сообщения терминала 2355 +|serverTime|Время когда сообщение поступило на сервер 2356 +|speed|Скорость 2357 +|altitude|Высота над уровнем моря 2358 +|latitude|Широта 2359 +|longitude|Долгота 2360 +|satellites|Кол-во спутников 2361 +|course|Курс 2362 +|voltage|Бортовое напряжение 2363 +|parameters|Список параметров и их значений 2364 +|photoCount|Количество фото 2365 +|lbsCorrectedCoords|Признак того, что координаты были скорректированы по LBS, true - скорректированы, false - не скорректированы 2366 +|protocolType|ID типа протокола 2367 + 1625 1625 = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Запрос данных об объекте за период**(%%) = 1626 1626 1627 1627 == (% style="color:#000000; font-size:16px" %)**Получение данных о пробеге и моточасах транспортного средства**(%%) == ... ... @@ -1658,10 +1658,12 @@ 1658 1658 { 1659 1659 "start": "2023-08-09T14:23:14.574Z", ~/~/ Начало 1660 1660 "end": "2023-08-09T14:23:14.574Z", ~/~/ Окончание 1661 - "mileageBegin": 0, ~/~/ Пробег на начало периода 1662 - "mileageEnd": 0, ~/~/ Пробег на окончание периода 1663 - "motohoursBegin": 0, ~/~/ Моточасы на начало периода 1664 - "motohoursEnd": 0 ~/~/ Моточасы на окончание периода 2404 + "mileage": 0, ~/~/ Пробег за период, километры 2405 + "mileageBegin": 0, ~/~/ Пробег на начало периода, километры 2406 + "mileageEnd": 0, ~/~/ Пробег на окончание периода, километры 2407 + "motohours": 0, ~/~/ Моточасы за период, секунды 2408 + "motohoursBegin": 0, ~/~/ Моточасы на начало периода, секунды 2409 + "motohoursEnd": 0 ~/~/ Моточасы на окончание периода, секунды 1665 1665 } 1666 1666 ] 1667 1667 } ... ... @@ -1710,6 +1710,12 @@ 1710 1710 } 1711 1711 ] 1712 1712 2458 +(% class="box warningmessage" %) 2459 +((( 2460 +Максимальное допустимое количество периодов в ответе - 1440. При превышении этого значения будет получена ошибка ""ApiCode":204,"ApiMessage":"Прислана неправильная модель","Message":"Задан слишком маленький период дискретизации"". 2461 +\\При большом количестве периодов существенно растет нагрузка, синхронный запрос может выдать ошибку по таймауту. Рекомендуем не занижать необходимое значение параметра "sampling". 2462 +))) 2463 + 1713 1713 == (% style="color:#000000; font-size:16px" %)**Получение данных о заправках и сливах транспортного средства**(%%) == 1714 1714 1715 1715 (% class="box infomessage" %) ... ... @@ -1755,6 +1755,96 @@ 1755 1755 } 1756 1756 ] 1757 1757 2509 + 2510 +== (% style="color:#000000; font-size:16px" %)**Получение данных по событиям движения и стоянок у объектов**(%%) == 2511 + 2512 +(% class="box infomessage" %) 2513 +((( 2514 +**POST /api/v3/vehicles/moveStop** 2515 +))) 2516 + 2517 +Метод запроса: **POST** 2518 + 2519 +URL запроса: https:~/~/hosting.glonasssoft.ru/api/v3/vehicles/moveStop 2520 + 2521 +В заголовках запроса: X-Auth: Токен авторизации 2522 + 2523 + 2524 +Тело запроса: 2525 + 2526 +{ 2527 + "vehicleIds": [ ], ~/~/ Список ID объектов 2528 + "from": "2024-01-30T10:12:19.125Z", ~/~/ Дата и время начало запроса 2529 + "to": "2024-01-30T10:12:19.125Z", ~/~/ Дата и время окончания запроса 2530 + "timezone": 0 ~/~/ Временная зона. Если не указана, то по умолчанию UTC+3 2531 +} 2532 + 2533 +Ответ: 2534 + 2535 +[ 2536 + { 2537 + "vehicleId": 0, ~/~/ ID объекта 2538 + "vehicleName": "string", ~/~/ Имя объекта 2539 + "moves": [ ~/~/ Событие движения 2540 + { 2541 + "mileage": 0, ~/~/ Пробег, км 2542 + "eventId": 0, ~/~/ Идентификатор события 2543 + "eventName": "string", ~/~/ Название события 2544 + "start": "2024-01-30T10:17:13.789Z", ~/~/ Дата и время начало события 2545 + "end": "2024-01-30T10:17:13.789Z", ~/~/ Дата и время окончания события 2546 + "duration": 0 ~/~/ Продолжительность события, секунд 2547 + } 2548 + ], 2549 + "stops": [ ~/~/ События стоянок 2550 + { 2551 + "address": "[Street] [House] [City] [State] [Country] [Coordinates]", ~/~/ Адрес события Улица, Дом, Город, Регион, Страна, Координаты 2552 + "eventId": 0, ~/~/ Идентификатор события 2553 + "eventName": "string", ~/~/ Название события 2554 + "start": "2024-01-30T10:17:13.789Z", ~/~/ Дата и время начало события 2555 + "end": "2024-01-30T10:17:13.789Z", ~/~/ Дата и время окончания события 2556 + "duration": 0 ~/~/ Продолжительность события, секунд 2557 + } 2558 + ] 2559 + } 2560 +] 2561 + 2562 + 2563 +== (% style="color:#000000; font-size:16px" %)**Получение последних данных объекта**(%%) == 2564 + 2565 +(% class="box infomessage" %) 2566 +((( 2567 +**POST /api/v3/vehicles/getlastdata** 2568 +))) 2569 + 2570 +Метод запроса: **POST** 2571 + 2572 +URL запроса: https:~/~/hosting.glonasssoft.ru/api/v3/vehicles/getlastdata 2573 + 2574 +В заголовках запроса: X-Auth: Токен авторизации 2575 + 2576 + 2577 +В теле запроса перечисляете массив id объектов, в квадратных скобках через запятую. 2578 + 2579 +Ответ: 2580 + { 2581 + "vehicleId": 0, ~/~/Идентификатор объекта. 2582 + "vehicleGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",~/~/Идентификатор объекта. 2583 + "vehicleNumber": "string",~/~/Номер объекта. 2584 + "receiveTime": "2024-02-27T14:11:00.315Z",~/~/Время получения записи на сервере, т.е. время срабатывания + время передачи от устройства на сервер 2585 + "recordTime": "2024-02-27T14:11:00.315Z",~/~/Время записи от устройства, т.е. время фактического события на транспортном средстве. 2586 + "state": 0,~/~/Определяет состояния объекта в мониторинге: нет данных - 0; отключена - 1; остановка - 2; стоянка - 3; в движении - 4. 2587 + "speed": 0,~/~/Скорость объекта. 2588 + "course": 0,~/~/Курс движения [0;360] 2589 + "latitude": 0,~/~/Широта [-90°;90°]. 2590 + "longitude": 0,~/~/Долгота [-180°;180°]. 2591 + "address": "string",~/~/Адрес. 2592 + "geozones": [ ~/~/Сведения по геозонам. 2593 + { 2594 + "id": 0, 2595 + "name": "string" 2596 + } 2597 + 2598 + 1758 1758 = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Запрос посещений геообъектов**(%%) = 1759 1759 1760 1760 == (% style="color:#000000; font-size:16px" %)**Получение списка всех геообъектов**(%%) == ... ... @@ -1768,7 +1768,7 @@ 1768 1768 1769 1769 (% style="color:#000000" %)Метод запроса: **POST** 1770 1770 1771 -(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/api/v3/ users/api/v3/gis/find2612 +(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/api/v3/gis/find 1772 1772 1773 1773 (% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации 1774 1774 ... ... @@ -2062,6 +2062,32 @@ 2062 2062 2063 2063 Success 2064 2064 2906 + 2907 +== (% style="color:#000000; font-size:16px" %)**Автоматическое продление уведомлений **(%%) == 2908 + 2909 +(% class="box warningmessage" %) 2910 +((( 2911 +**PUT** /api/v3/notifications/prolongation 2912 +))) 2913 + 2914 +Метод позволяет продлить уведомления. 2915 + 2916 +Метод запроса **PUT** 2917 + 2918 +URL запроса: https:~/~/hosting.glonasssoft.ru/api/v3/notifications/prolongation 2919 + 2920 +В заголовках запроса: X-Auth: Токен авторизации. 2921 + 2922 +Тело запроса: 2923 + 2924 +[ 2925 + 2926 +0 2927 + 2928 +] 2929 + 2930 +где 0 идентификатор ids. 2931 + 2065 2065 == (% style="color:#000000; font-size:16px" %)**Удаление уведомления**(%%) == 2066 2066 2067 2067 (% class="box errormessage" %) ... ... @@ -2653,6 +2653,83 @@ 2653 2653 Success 2654 2654 2655 2655 3523 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Назначения агрегатов**(%%) = 3524 + 3525 +== (% style="color:#000000; font-size:16px" %)**Получить список назначений агрегатов на выбранные объекты**(%%) == 3526 + 3527 +(% class="box infomessage" %) 3528 +((( 3529 +**POST /api/v3/Trailers** 3530 +))) 3531 + 3532 +Пример запроса: 3533 + 3534 +{ 3535 + "startDate": "2023-11-14T10:48:03.671Z", 3536 + "endDate": "2023-11-14T10:48:03.671Z", 3537 + "ids": [ 0 ], 3538 + "timezone": 0 3539 +} 3540 + 3541 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 3542 +|(% style="width:215px" %)startDate|(% style="width:861px" %)Дата и время начала запроса 3543 +|(% style="width:215px" %)endDate|(% style="width:861px" %)Дата и время окончания запроса 3544 +|(% style="width:215px" %)ids|(% style="width:861px" %)Массив ID объектов 3545 +|(% style="width:215px" %)timezone|(% style="width:861px" %)Часовой пояс, по умолчанию UTC. 3546 + 3547 +Пример ответа: 3548 + 3549 +[ 3550 + { 3551 + "SD": "2023-11-14T10:48:03.717Z", 3552 + "ED": "2023-11-14T10:48:03.717Z", 3553 + "id": 0, 3554 + "SLat": 0, 3555 + "SLon": 0, 3556 + "ELat": 0, 3557 + "ELon": 0, 3558 + "mileage": 0 3559 + "Duration": 0 3560 + "Address": "string", 3561 + "Address2": "string", 3562 + "name": "string", 3563 + "rid": "string", 3564 + "rguid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 3565 + "trailer": { 3566 + "ModelGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 3567 + "Number": "string", 3568 + "Description": "string", 3569 + "OwnerGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 3570 + "ExternalID": "string", 3571 + "Guid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 3572 + "CreateTime": "2023-11-14T10:48:03.717Z", 3573 + "UpdateTime": "2023-11-14T10:48:03.717Z", 3574 + "IsDeleted": true 3575 + }, 3576 + "filesCount": 0, 3577 + } 3578 +] 3579 + 3580 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 3581 +|SD|Дата и время начала события 3582 +|ED|Дата и время окончания события 3583 +|id|ID объекта 3584 +|SLat|Широта начальной координаты 3585 +|SLon|Долгота начальной координаты 3586 +|ELat|Широта конечной координаты 3587 +|ELon|Долгота конечной координаты 3588 +|mileage|Пробег 3589 +|Duration|Продолжительность 3590 +|Address|Адрес начального местоположения 3591 +|Address2|Адрес конечного местоположения 3592 +|name|Имя радиометки 3593 +|rid|Номер радиометки 3594 +|rguid|ID радиометки 3595 +|trailer|Информация об агрегате 3596 +|ModelGuid|ID агрегата 3597 +|Number|Название/номер агрегата 3598 +|Description|Текст примечания агрегата 3599 + 2656 2656 = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Карты-метки**(%%) = 2657 2657 2658 2658 == (% style="color:#000000; font-size:16px" %)**Получить список карт-меток определенного клиента**(%%) == ... ... @@ -2674,13 +2674,18 @@ 2674 2674 { 2675 2675 "name": "string", 2676 2676 "number": 0, 2677 - "period": 0, ~/~/ Частота трансляции радиометки3621 + "period": 0, 2678 2678 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2679 2679 "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2680 - "deleted": true 2681 2681 } 2682 2682 ] 2683 2683 3627 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 3628 +|parentId|ID клиента 3629 +|name|Название карты-метки 3630 +|number|Номер 3631 +|period|Период запросов в секундах (работает только для агрегатов) 3632 +|id|ID карты-метки 2684 2684 2685 2685 == (% style="color:#000000; font-size:16px" %)**Получить данные карты-метки**(%%) == 2686 2686 ... ... @@ -2697,13 +2697,18 @@ 2697 2697 { 2698 2698 "name": "string", 2699 2699 "number": 0, 2700 - "period": 0, ~/~/ Частота трансляции радиометки3649 + "period": 0, 2701 2701 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2702 2702 "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2703 - "deleted": true 2704 2704 } 2705 2705 ] 2706 2706 3655 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 3656 +|name|Название карты-метки 3657 +|number|Номер 3658 +|period|Период запросов в секундах (работает только для агрегатов) 3659 +|id|ID карты-метки 3660 +|parentId|ID клиента 2707 2707 2708 2708 == (% style="color:#000000; font-size:16px" %)**Добавить карту-метку**(%%) == 2709 2709 ... ... @@ -2719,7 +2719,6 @@ 2719 2719 "number": 0, 2720 2720 "period": 0, 2721 2721 "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2722 - "deleted": true 2723 2723 } 2724 2724 2725 2725 Ответ: ... ... @@ -2730,9 +2730,14 @@ 2730 2730 "period": 0, 2731 2731 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2732 2732 "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2733 - "deleted": true 2734 2734 } 2735 2735 3688 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 3689 +|name|Название карты-метки 3690 +|number|Номер 3691 +|period|Период запросов в секундах (работает только для агрегатов) 3692 +|id|ID карты-метки 3693 +|parentId|ID клиента 2736 2736 2737 2737 == (% style="color:#000000; font-size:16px" %)**Редактировать карту-метку**(%%) == 2738 2738 ... ... @@ -2749,7 +2749,6 @@ 2749 2749 "period": 0, 2750 2750 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2751 2751 "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2752 - "deleted": true 2753 2753 } 2754 2754 2755 2755 Ответ: ... ... @@ -2760,9 +2760,14 @@ 2760 2760 "period": 0, 2761 2761 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2762 2762 "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2763 - "deleted": true 2764 2764 } 2765 2765 3722 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 3723 +|name|Название карты-метки 3724 +|number|Номер 3725 +|period|Период запросов в секундах (работает только для агрегатов) 3726 +|id|ID карты-метки 3727 +|parentId|ID клиента 2766 2766 2767 2767 == (% style="color:#000000; font-size:16px" %)**Удалить карту-метку**(%%) == 2768 2768 ... ... @@ -2771,7 +2771,7 @@ 2771 2771 **DELETE /api/v3/Rfids/{rfidGuid}** 2772 2772 ))) 2773 2773 2774 -Передаем параметр rfidGuid - идентификатор карты-метки 3736 +Передаем параметр **rfidGuid** - идентификатор карты-метки 2775 2775 2776 2776 Ответ: 2777 2777 ... ... @@ -2778,6 +2778,1490 @@ 2778 2778 Success 2779 2779 2780 2780 3743 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Биллинг**(%%) = 3744 + 3745 +== (% style="color:#000000; font-size:16px" %)**Узнать баланс клиента**(%%) == 3746 + 3747 +(% class="box infomessage" %) 3748 +((( 3749 +**GET /api/v3/Billing/client/balance/{clientId}** 3750 +))) 3751 + 3752 +Параметр запроса: **clientId **- идентификатор клиента. 3753 + 3754 +Ответ: 3755 + 3756 +{ 3757 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 3758 + "Balance": 0 3759 +} 3760 + 3761 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 3762 +|(% style="width:215px" %)ClientId|(% style="width:861px" %)Идентификатор клиента 3763 +|(% style="width:215px" %)Balance|(% style="width:861px" %)Значение баланса 3764 + 3765 +== (% style="color:#000000; font-size:16px" %)**Узнать ограничения клиента**(%%) == 3766 + 3767 +(% class="box infomessage" %) 3768 +((( 3769 +**GET /api/v3/Billing/client/constraint/{clientId}** 3770 +))) 3771 + 3772 +Параметр запроса: **clientId **- идентификатор клиента. 3773 + 3774 +Ответ: 3775 + 3776 +{ 3777 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 3778 + "CalculationType": 0, 3779 + "PermissibleBalance": 0, 3780 + "DefermentDays": 0, 3781 + "SendUiNotifications": true, 3782 + "SendEmailNotifications": true, 3783 + "IsPrivate": true, 3784 +} 3785 + 3786 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 3787 +|(% style="width:215px" %)ClientId|(% style="width:861px" %)Идентификатор клиента 3788 +|(% style="width:215px" %)CalculationType|(% style="width:861px" %)Определяет тип расчёта, 0 - Деньги, 1 - Дни 3789 +|(% style="width:215px" %)PermissibleBalance|(% style="width:861px" %)Допустимый баланс 3790 +|(% style="width:215px" %)DefermentDays|(% style="width:861px" %)Отсрочка, количество дней. 3791 +|(% style="width:215px" %)SendUiNotifications|(% style="width:861px" %)Оповещение в web-интерфейсе, true - включено, false - выключено 3792 +|(% style="width:215px" %)SendEmailNotifications|(% style="width:861px" %)Оповещение на почту, true - включено, false - выключено 3793 +|(% style="width:215px" %)IsPrivate|(% style="width:861px" %)Признак, определяющий, являются ли параметры ограничений частными т.е. персональными для клиента, либо определяются тарифным планом 3794 + 3795 +== (% style="color:#000000; font-size:16px" %)**Узнать состояние тарифного плана клиента**(%%) == 3796 + 3797 +(% class="box infomessage" %) 3798 +((( 3799 +**GET /api/v3/Billing/client/plan/{clientId}** 3800 +))) 3801 + 3802 +Параметры запроса: 3803 + 3804 +**clientId **- идентификатор клиента. 3805 + 3806 +**planId **- идентификатор тарифного плана. 3807 + 3808 +Ответ: 3809 + 3810 +{ 3811 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 3812 + "Plan": { **~/~/ Описание тарифного плана** 3813 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 3814 + "OwnerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 3815 + "Name": "string", 3816 + "IsArchived": true, 3817 + "Constraint": { 3818 + "CalculationType": 0, 3819 + "PermissibleBalance": 0, 3820 + "DefermentDays": 0 3821 + }, 3822 + "Features": [ **~/~/ Описание шаблона услуг тарифного плана** 3823 + { 3824 + "Feature": "string", 3825 + "IsFactual": true, 3826 + "Limit": 0, 3827 + "Price": 0, 3828 + "PeriodValue": 0, 3829 + "PeriodType": 0 3830 + } 3831 + ] 3832 + }, 3833 + "DebitDate": "2023-10-18T12:46:24.213Z", 3834 + "Features": [ **~/~/ Описание услуг тарифного плана как есть** 3835 + { 3836 + "Feature": "string", 3837 + "IsEnabled": true, 3838 + "IsPrivate": true, 3839 + "IsFactual": true, 3840 + "Limit": 0, 3841 + "Price": 0, 3842 + "DebitDate": "2023-10-18T12:46:24.213Z", 3843 + "PeriodValue": 0, 3844 + "PeriodType": 0 3845 + } 3846 + ] 3847 +} 3848 + 3849 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 3850 +|ClientId|Идентификатор клиента 3851 +|Id|Идентификатор тарифного плана 3852 +|OwnerId|Идентификатор клиента-владельца 3853 +|Name|Наименование тарифного плана 3854 +|IsArchived|Признак, определяющий архивный тарифный план 3855 +|CalculationType|Определяет тип расчёта, 0 - Деньги, 1 - Дни 3856 +|PermissibleBalance|Допустимый баланс 3857 +|DefermentDays|Отсрочка, количество дней 3858 +|Feature|Код услуги 3859 +|IsEnabled|Признак, определяющий активирована ли услуга 3860 +|IsPrivate|Признак, определяющий, являются ли параметры по услуге тарифа частными т.е. персональными для клиента, либо определяются тарифным планом. 3861 +|IsFactual|Признак, определяющий расчёт по факту 3862 +|Limit|Лимит использования услуги. Значение -1 подразумевает безлимитное использование. 3863 +|Price|Цена за единицу. 3864 +|DebitDate|Следующий момент времени списания с баланса за услугу. 3865 +|PeriodValue|Значение периода. 3866 +|PeriodType|Определяет тип периода действия услуги в тарифном плане, 0 - Дни, 1 - Месяцы 3867 + 3868 +== (% style="color:#000000; font-size:16px" %)**Получить тарифные планы принадлежащие клиенту**(%%) == 3869 + 3870 +(% class="box infomessage" %) 3871 +((( 3872 +**GET /api/v3/Billing/client/constraint/getowned/{clientId}** 3873 +))) 3874 + 3875 +Параметр запроса: **clientId **- идентификатор клиента. 3876 + 3877 +Ответ: 3878 + 3879 +[ 3880 + { 3881 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 3882 + "OwnerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 3883 + "Name": "string", 3884 + "IsArchived": true, 3885 + "Constraint": { 3886 + "CalculationType": 0, 3887 + "PermissibleBalance": 0, 3888 + "DefermentDays": 0 3889 + }, 3890 + "Features": [ 3891 + { 3892 + "Feature": "string", 3893 + "IsFactual": true, 3894 + "Limit": 0, 3895 + "Price": 0, 3896 + "PeriodValue": 0, 3897 + "PeriodType": 0 3898 + } 3899 + ] 3900 + } 3901 +] 3902 + 3903 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 3904 +|ClientId|Идентификатор клиента 3905 +|Id|Идентификатор тарифного плана 3906 +|OwnerId|Идентификатор клиента-владельца 3907 +|Name|Наименование тарифного плана 3908 +|IsArchived|Признак, определяющий архивный тарифный план 3909 +|CalculationType|Определяет тип расчёта, 0 - Деньги, 1 - Дни 3910 +|PermissibleBalance|Допустимый баланс 3911 +|DefermentDays|Отсрочка, количество дней 3912 +|Feature|Код услуги 3913 +|IsFactual|Признак, определяющий расчёт по факту 3914 +|Limit|Лимит использования услуги. Значение -1 подразумевает безлимитное использование. 3915 +|Price|Цена за единицу. 3916 +|PeriodValue|Значение периода. 3917 +|PeriodType|Определяет тип периода действия услуги в тарифном плане, 0 - Дни, 1 - Месяцы 3918 + 3919 +== (% style="color:#000000; font-size:16px" %)**Получить список доступных тарифных планов**(%%) == 3920 + 3921 +(% class="box infomessage" %) 3922 +((( 3923 +**GET /api/v3/Billing/client/constraint/getowned/{clientId}** 3924 +))) 3925 + 3926 +Параметр запроса: **clientId **- идентификатор клиента. 3927 + 3928 +Ответ: 3929 + 3930 +[ 3931 + { 3932 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 3933 + "OwnerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 3934 + "Name": "string", 3935 + "IsArchived": true, 3936 + "Constraint": { 3937 + "CalculationType": 0, 3938 + "PermissibleBalance": 0, 3939 + "DefermentDays": 0 3940 + }, 3941 + "Features": [ 3942 + { 3943 + "Feature": "string", 3944 + "IsFactual": true, 3945 + "Limit": 0, 3946 + "Price": 0, 3947 + "PeriodValue": 0, 3948 + "PeriodType": 0 3949 + } 3950 + ] 3951 + } 3952 +] 3953 + 3954 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 3955 +|ClientId|Идентификатор клиента 3956 +|Id|Идентификатор тарифного плана 3957 +|OwnerId|Идентификатор клиента-владельца 3958 +|Name|Наименование тарифного плана 3959 +|IsArchived|Признак, определяющий архивный тарифный план 3960 +|CalculationType|Определяет тип расчёта, 0 - Деньги, 1 - Дни 3961 +|PermissibleBalance|Допустимый баланс 3962 +|DefermentDays|Отсрочка, количество дней 3963 +|Feature|Код услуги 3964 +|IsFactual|Признак, определяющий расчёт по факту 3965 +|Limit|Лимит использования услуги. Значение -1 подразумевает безлимитное использование. 3966 +|Price|Цена за единицу. 3967 +|PeriodValue|Значение периода. 3968 +|PeriodType|Определяет тип периода действия услуги в тарифном плане, 0 - Дни, 1 - Месяцы 3969 + 3970 +== (% style="color:#000000; font-size:16px" %)**Изменить баланс**(%%) == 3971 + 3972 +(% class="box warningmessage" %) 3973 +((( 3974 +**PUT /api/v3/Billing/client/balance** 3975 +))) 3976 + 3977 +Устанавливает указанное значение баланса не создавая операции пополнение/снятие. 3978 + 3979 +Тело запроса: 3980 + 3981 +{ 3982 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 3983 + "Balance": 0 3984 +} 3985 + 3986 +Ответ: Success 3987 + 3988 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 3989 +|(% style="width:215px" %)ClientId|(% style="width:861px" %)Идентификатор клиента 3990 +|(% style="width:215px" %)Balance|(% style="width:861px" %)Значение баланса 3991 + 3992 +== (% style="color:#000000; font-size:16px" %)**Пополнить баланс**(%%) == 3993 + 3994 +(% class="box warningmessage" %) 3995 +((( 3996 +**PUT /api/v3/billing/client/balance/deposit** 3997 +))) 3998 + 3999 +Создает операцию **Пополнение **с указанной суммой 4000 + 4001 +Тело запроса: 4002 + 4003 +{ 4004 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 4005 + "Balance": 0 4006 +} 4007 + 4008 +Ответ: Success 4009 + 4010 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 4011 +|(% style="width:215px" %)ClientId|(% style="width:861px" %)Идентификатор клиента 4012 +|(% style="width:215px" %)Balance|(% style="width:861px" %)Значение баланса 4013 + 4014 +== (% style="color:#000000; font-size:16px" %)**Списать с баланса**(%%) == 4015 + 4016 +Создает операцию **Списание **с указанной суммой 4017 + 4018 +(% class="box warningmessage" %) 4019 +((( 4020 +**PUT /api/v3/billing/client/balance/withdraw** 4021 +))) 4022 + 4023 +Тело запроса: 4024 + 4025 +{ 4026 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 4027 + "Balance": 0 4028 +} 4029 + 4030 +Ответ: Success 4031 + 4032 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 4033 +|(% style="width:215px" %)ClientId|(% style="width:861px" %)Идентификатор клиента 4034 +|(% style="width:215px" %)Balance|(% style="width:861px" %)Значение баланса 4035 + 4036 +== (% style="color:#000000; font-size:16px" %)**Изменить ограничения клиента**(%%) == 4037 + 4038 +(% class="box warningmessage" %) 4039 +((( 4040 +**PUT /api/v3/Billing/client/constraint** 4041 +))) 4042 + 4043 +Тело запроса: 4044 + 4045 +{ 4046 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 4047 + "CalculationType": 0, 4048 + "PermissibleBalance": 0, 4049 + "DefermentDays": 0, 4050 + "SendUiNotifications": true, 4051 + "SendEmailNotifications": true, 4052 + "IsPrivate": true, 4053 +} 4054 + 4055 +Ответ: Success 4056 + 4057 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 4058 +|ClientId|Идентификатор клиента 4059 +|CalculationType|Определяет тип расчёта, 0 - Деньги, 1 - Дни 4060 +|PermissibleBalance|Допустимый баланс 4061 +|DefermentDays|((( 4062 +Отсрочка, количество дней 4063 +))) 4064 +|(% style="width:215px" %)SendUiNotifications|(% style="width:861px" %)Оповещение в web-интерфейсе, true - включено, false - выключено 4065 +|(% style="width:215px" %)SendEmailNotifications|(% style="width:861px" %)Оповещение на почту, true - включено, false - выключено 4066 +|(% style="width:215px" %)IsPrivate|(% style="width:861px" %)Признак, определяющий, являются ли параметры ограничений частными т.е. персональными для клиента, либо определяются тарифным планом 4067 + 4068 +== (% style="color:#000000; font-size:16px" %)**Изменить тариф клиента**(%%) == 4069 + 4070 +(% class="box warningmessage" %) 4071 +((( 4072 +**PUT /api/v3/Billing/client/plan** 4073 +))) 4074 + 4075 +Тело запроса: 4076 + 4077 +{ 4078 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 4079 + "PlanId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 4080 + "Features": [ 4081 + { 4082 + "Feature": "string", 4083 + "IsEnabled": true, 4084 + "IsFactual": true, 4085 + "Limit": 0, 4086 + "Price": 0, 4087 + "DebitDate": "2023-10-18T13:26:58.987Z", 4088 + "PeriodValue": 0, 4089 + "PeriodType": 0 4090 + } 4091 + ] 4092 +} 4093 + 4094 +Ответ: Success 4095 + 4096 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 4097 +|ClientId|Идентификатор клиента 4098 +|PlanId|Идентификатор тарифного плана 4099 +|Feature|Код услуги 4100 +|IsEnabled|Признак, определяющий активирована ли услуга 4101 +|IsFactual|Признак, определяющий расчёт по факту 4102 +|Limit|Лимит использования услуги. Значение -1 подразумевает безлимитное использование. 4103 +|Price|Цена за единицу. 4104 +|DebitDate|Следующий момент времени списания с баланса за услугу. 4105 +|PeriodValue|Значение периода. 4106 +|PeriodType|Определяет тип периода действия услуги в тарифном плане, 0 - Дни, 1 - Месяцы 4107 + 4108 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Импорт и Экспорт**(%%) = 4109 + 4110 +(% class="box warningmessage" %) 4111 +((( 4112 +Для тестирования запросов **Импорта **в Postman необходимо скачать его на ПК. Версия в браузере не позволяет загружать файлы в тело запроса. 4113 +))) 4114 + 4115 +== (% style="color:#000000; font-size:16px" %)**Импорт объектов**(%%) == 4116 + 4117 +(% class="box infomessage" %) 4118 +((( 4119 +**POST /api/v3/vehicles/import/{agentId}** 4120 +))) 4121 + 4122 +Запрос позволяет загрузить объекты в систему из файла. Импортируемый файл может быть в формате **xml (расширение *.xls)** или **wlp. **Также они могут находится в** zip-архиве (один файл - один архив).** 4123 + 4124 +В пути указывается **agentId** - id клиента. 4125 + 4126 +**Заголовок** 4127 + 4128 +**X-Auth: [токен авторизации]** 4129 + 4130 +**Параметры** 4131 + 4132 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 4133 +|withNoData|Параметр **Объекты без данных**. Определяет способ загрузки объекта, у которого отсутствует имя или модель объекта. true - загружать, false - пропускать. 4134 +|importMethod|Параметр **Метода импорта датчиков**. Определяет метод добавления датчиков импортируемых из файла. Значение: Replace - Замена, Merge - Слияние, Add - Добавление 4135 + 4136 +В теле использовать тип **form-data,** тип значения** file** 4137 + 4138 +**Ключи** 4139 + 4140 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 4141 +|data|В значении передаем файл объекта, формат **xml** или **wlp ** 4142 +|csv|В значении передаем файл датчиков, формат **csv** 4143 + 4144 +Ответ: 4145 + 4146 +{ 4147 + "vehicleId": 0, 4148 + "name": "string", 4149 + "errors": ["string"] 4150 +} 4151 + 4152 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 4153 +|vehicleId|ID созданного объекта 4154 +|name|Имя созданного объекта 4155 +|errors|Ошибки и их описание 4156 + 4157 +== (% style="color:#000000; font-size:16px" %)**Импорт сообщений**(%%) == 4158 + 4159 +(% class="box infomessage" %) 4160 +((( 4161 +**POST** **/api/v3/vehicles/import/history/{vehicleId}** 4162 +))) 4163 + 4164 +(% class="wikigeneratedid" %) 4165 +Позволяет импортировать сообщения в выбранный объект. Сообщения должны иметь формат **wln** или **json**. Также они могут быть упакованы и переданы в виде в **zip-архива**. 4166 + 4167 +(% class="wikigeneratedid" %) 4168 +В пути указывается **vehicleId **- id объекта. 4169 + 4170 +**Заголовок** 4171 + 4172 +**X-Auth: [токен авторизации]** 4173 + 4174 +В теле использовать тип **form-data.** 4175 + 4176 +Ключи: 4177 + 4178 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 4179 +|**history**|В значении передавать файл с историей 4180 + 4181 +В случае, если загружается история из файла **wln **можно выполнять подмену названий параметров. В ключе вы указываете название параметра из файла, в значении указываете значение на которое нужно заменить. 4182 + 4183 +Ответ: 4184 + 4185 +{ 4186 + "results": [ 4187 + { 4188 + "vehicleGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 4189 + "vehicleId": 0, 4190 + "errors": [ 4191 + "string" 4192 + ], 4193 + "firstMessageDate": "2023-11-28T09:27:58.949Z", 4194 + "lastMessageDate": "2023-11-28T09:27:58.949Z", 4195 + "producedCount": 0, 4196 + "msgCount": 0 4197 + } 4198 + ] 4199 +} 4200 + 4201 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 4202 +|results|Результаты импорта в разрезе ТС 4203 +|vehicleGuid|Guid ТС 4204 +|vehicleId|ID ТС 4205 +|errors|Список ошибок импорта истории (если пустой - нет ошибок) 4206 +|firstMessageDate|Дата первого импортированного сообщения (UTC) 4207 +|lastMessageDate|Дата последнего импортированного сообщения (UTC) 4208 +|producedCount|Кол-во успешно отправленных в шину данных сообщений 4209 +|msgCount|Кол-во обработанных сообщений всего 4210 + 4211 +== (% style="color:#000000; font-size:16px" %)**Статус импорта сообщений**(%%) == 4212 + 4213 +(% class="box infomessage" %) 4214 +((( 4215 +**GET /api/v3/vehicles/import/history/status** 4216 +))) 4217 + 4218 +Запрос статуса импорта истории. Может потребоваться в случае импорта истории за большой период. 4219 + 4220 +Ответ: 4221 + 4222 +{ 4223 + "activity": true, 4224 + "progress": 0, 4225 + "message": "string" 4226 +} 4227 + 4228 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 4229 +|activity|Активен ли экспорт/импорт истории сейчас, true - да, false - нет 4230 +|progress|Guid ТС 4231 + 4232 +== (% style="color:#000000; font-size:16px" %)**Экспорт объектов**(%%) == 4233 + 4234 +(% class="box infomessage" %) 4235 +((( 4236 +**POST /api/v3/vehicles/export** 4237 +))) 4238 + 4239 +Запрос позволяет экспортировать файлы с настройками объектов. В запросе передается массив id объектов. 4240 + 4241 +Тело запроса: 4242 + 4243 +[ 4244 + id 4245 +] 4246 + 4247 +Ответ: Success 200, получаете файлы с настройками. 4248 + 4249 +== (% style="color:#000000; font-size:16px" %)**Экспорт сообщений**(%%) == 4250 + 4251 +(% class="box infomessage" %) 4252 +((( 4253 +**POST /api/v3/vehicles/export/history** 4254 +))) 4255 + 4256 +Метод возвращает список сообщений терминала объекта за выбранный период. 4257 + 4258 +Тело запроса: 4259 + 4260 +{ 4261 + "vehicleId": 0, 4262 + "asArchive": true, 4263 + "from": "2023-09-27T12:17:45.973Z", 4264 + "to": "2023-09-27T12:17:45.973Z" 4265 +} 4266 + 4267 +Ответ: 4268 + 4269 +Получаете файл. Сообщение: Code 200/Success 4270 + 4271 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 4272 +|vehicleId|ID объекта 4273 +|asArchive|true - Архивировать файл, False - не архивировать 4274 +|from|Дата и время начала запроса 4275 +|to|Дата и время окончания запроса 4276 + 4277 +== (% style="color:#000000; font-size:16px" %)**Статус экспорта сообщений**(%%) == 4278 + 4279 +(% class="box infomessage" %) 4280 +((( 4281 +**GET /api/v3/vehicles/export/history/status** 4282 +))) 4283 + 4284 +Метод возвращает список сообщений терминала объекта за выбранный период. 4285 + 4286 +Ответ: 4287 + 4288 +{ 4289 + "activity": true, 4290 + "progress": 0, 4291 + "message": "string" 4292 +} 4293 + 4294 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 4295 +|activity|Статус экспорта, где true - экспорт в процессе выполнения, false - в данный момент ничего не экспортируется. 4296 +|progress|Прогресс экспорта, от 0 до 100% 4297 +|message|Текст описывающий статус 4298 + 4299 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Экодрайвинг**(%%) = 4300 + 4301 +== (% style="color:#000000; font-size:16px" %)**Запрос рейтинга качества вождения**(%%) == 4302 + 4303 +(% class="box infomessage" %) 4304 +((( 4305 +**POST /api/v3/EcoDriving/rating** 4306 +))) 4307 + 4308 +Позволяет получить данные рейтинга нарушений выбранных объектов за указанный период времени. Данные, выдаваемые этим запросом аналогичны тем, что вы можете увидеть в окне **Качество вождения** в мониторинге. В массиве **items **передается список объектов из рейтинга качества вождения, в **trips **передается информация по отдельным рейсам объекта. 4309 + 4310 +Тело запроса: 4311 + 4312 +{ 4313 + "vehicleIds": [vehicleId], ~/~/Массив ID объектов 4314 + "from": "2023-11-22T09:29:48.051Z", ~/~/ Дата начала запроса 4315 + "to": "2023-11-22T09:29:48.051Z" ~/~/ Дата окончания запроса 4316 +} 4317 + 4318 +Ответ: 4319 + 4320 +{ 4321 + "items": [ ~/~/ Список в разрезе ТС 4322 + { 4323 + "from": "2023-11-22T09:29:48.052Z", ~/~/ Дата начала периода 4324 + "to": "2023-11-22T09:29:48.052Z", ~/~/ Дата окончания периода 4325 + "vehicleId": 0, ~/~/ ID ТС 4326 + "vehicleName": "string", ~/~/ Название ТС 4327 + "vehicleModel": "string", ~/~/ Модель ТС 4328 + "penalty": 0, ~/~/ Кол-во рассчитанных штрафных баллов в разрезе ТС 4329 + "score": 0, ~/~/ Рассчитанная оценка вождения в разрезе ТС 4330 + "totalViolations": 0, ~/~/ Нарушений всего 4331 + "violationsByType": { ~/~/ Информация о нарушениях по типу 4332 + "overspeedingViolations": 0, ~/~/ Нарушений превышения скорости 4333 + "accelerationViolations": 0, ~/~/ Нарушений ускорения 4334 + "brakingViolations": 0, ~/~/ Нарушений торможения 4335 + "turningViolations": 0, ~/~/ Нарушений опасного поворота 4336 + "dangerousDrivingViolations": 0, ~/~/ Нарушений резкого вождения 4337 + "sensorViolations": 0 ~/~/ Нарушений по датчику 4338 + }, 4339 + 4340 +((( 4341 + 4342 +))) 4343 + 4344 + "moveTime": 0, ~/~/ Продолжительность движения, сек 4345 + "mileage": 0, ~/~/ Пробег, м 4346 + "tripsCount": 0, ~/~/ Кол-во рейсов 4347 + "trips": [ ~/~/ Информация по рейсу 4348 + { 4349 + "penalty": 0, ~/~/ Кол-во рассчитанных штрафных баллов за рейс 4350 + "score": 0, ~/~/ Рассчитанная оценка вождения за рейс 4351 + "violationsCount": 0, ~/~/ Всего нарушений 4352 + "violationsByType": { ~/~/ Информация о нарушениях по типу 4353 + "overspeedingViolations": 0, ~/~/ Нарушений превышения скорости 4354 + "accelerationViolations": 0, ~/~/ Нарушений ускорения 4355 + "brakingViolations": 0, ~/~/ Нарушений торможения 4356 + "turningViolations": 0, ~/~/ Нарушений опасного поворота 4357 + "dangerousDrivingViolations": 0, ~/~/ Нарушений резкого вождения 4358 + "sensorViolations": 0 ~/~/ Нарушений по датчику 4359 + }, 4360 + 4361 + "startDate": "2024-11-18T13:23:38.516Z", ~/~/ Дата начала поездки 4362 + "endDate": "2024-11-18T13:23:38.516Z", ~/~/ Дата окончания поездки 4363 + "moveTime": 0, ~/~/ Продолжительность движения, сек 4364 + "mileage": 0, ~/~/ Пробег, м 4365 + "motohours": 0, ~/~/ Моточасы, секунды 4366 + "maxSpeed": 0, ~/~/ Максимальная скорость за рейс 4367 + "startAddress": "string", ~/~/ Адрес начала рейса 4368 + "endAddress": "string", ~/~/ Адрес конца рейса 4369 + "drivers": [ ~/~/ Список водителей 4370 + { 4371 + "driverGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/GUID водителя 4372 + "driverName": "string", ~/~/ФИО водителя 4373 + "driverRfid": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/GUID радиометки 4374 + } 4375 + ] 4376 + } 4377 + ] 4378 + } 4379 + ] 4380 +} 4381 + 4382 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Топливные карты**(%%) = 4383 + 4384 +== (% style="color:#000000; font-size:16px" %)**Запрос транзакций по топливным картам**(%%) == 4385 + 4386 +Транзакции по топливным картам можно получить при наличии права «Транзакции ТК». Метод позволяет получить транзакции по нескольким топливным картам. 4387 + 4388 +(% class="box infomessage" %) 4389 +((( 4390 +POST /api/v3/fuelcards/transactions 4391 +))) 4392 + 4393 +Метод запроса: POST 4394 + 4395 +URL запроса: https:~/~/hosting.glonasssoft.ru/api/v3/fuelcards/transactions 4396 +\\В заголовках запроса: X-Auth: Токен авторизации 4397 + 4398 +Параметры в теле запроса (JSON): 4399 + 4400 +{ 4401 + "startDate": "2024-04-11T10:32:02.395Z", ~/~/ Начало периода 4402 + "endDate": "2024-04-11T10:32:02.395Z", ~/~/ Конец периода 4403 + "ids": [ 4404 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Идентификаторы топливных карт 4405 + ], 4406 + "timezone": 0 ~/~/ Часовой пояс 4407 +} 4408 + 4409 + 4410 +Ответ: 4411 + { 4412 + "date": "2024-04-11T10:41:02.265Z", ~/~/ Дата и время транзакции 4413 + "driver": "string", ~/~/ Водители, привязанные к ТК 4414 + "object": "string", ~/~/ Наименование ТС 4415 + "amount": 0, ~/~/ Количество топлива 4416 + "amountDut": 0, ~/~/ Количество по ДУТ 4417 + "amountDiff": 0, ~/~/ Разница, л 4418 + "amountDiffPerc": 0, ~/~/ Разница, % 4419 + "summa": 0, ~/~/ Стоимость, руб 4420 + "serviceName": "string", ~/~/ Тип топлива 4421 + "price": 0, ~/~/ Цена за литр, руб 4422 + "cardName": "string", ~/~/ Наименование ТК 4423 + "cardNum": "string", ~/~/ Номер ТК 4424 + "operator": "string", ~/~/ Оператор ТК 4425 + "address": "string" ~/~/ Адрес АЗС 4426 + } 4427 + 4428 + 4429 += (% style="color:#000000; font-size:18.6667px" %)Раздел: (%%)**Методы публичного API для ретрансляторов** = 4430 + 4431 + 4432 +== **Получение полных данных о ретрансляторе** == 4433 + 4434 +(% class="box infomessage" %) 4435 +((( 4436 +**GET ** **/api/v3/retranslations/{id}** 4437 +))) 4438 + 4439 +id - Идентификатор ретранслятора 4440 + 4441 + 4442 +Пример ответа: 4443 + 4444 +{ 4445 +"description": "", ~/~/ Поле описания ретранслятора 4446 +"subscriberId": "", ~/~/ Идентификатор подписчика (клиента, чьи объекты будут ретранслироваться) 4447 +"protocolType": 0, ~/~/ Тип протокола ретрансляции 4448 +"isEnabled": true, ~/~/ Признак включения ретранслятора, Включен, true - включен, false - отключен 4449 +"address": "string", ~/~/ Адрес и порт принимающего сервера 4450 +"objects": [ ~/~/ Объекты для ретрансляции 4451 +{ 4452 +"id": "", ~/~/ Идентификатор объекта ретрансляции 4453 +"name": "", ~/~/ Наименование объекта ретрансляции 4454 +"imei": "", ~/~/ IMEI объекта ретрансляции 4455 +"isEnabled": true ~/~/ Признак включения объекта ретрансляции: true - включен, false - отключен 4456 +} 4457 + ], 4458 +"id": "", ~/~/ Идентификатор ретранслятора 4459 +"parentId": "", ~/~/ Идентификатор родителя (вышестоящего клиента) 4460 +"deleted": "" ~/~/ Признак удаления ретранслятора: true - включен, false - отключен 4461 +} 4462 + 4463 + 4464 +== **Удаление данных ретранслятора** == 4465 + 4466 +(% class="box infomessage" %) 4467 +((( 4468 +**DELETE** **/api/v3/retranslations/{id}** 4469 +))) 4470 + 4471 +id - Идентификатор ретранслятора 4472 + 4473 + 4474 +== **Создание ретранслятора** == 4475 + 4476 +(% class="box infomessage" %) 4477 +((( 4478 +**POST ** **/api/v3/retranslations/{id}** 4479 +))) 4480 + 4481 +Запрос: 4482 + 4483 +{ 4484 +"description": "", ~/~/ Поле описания ретранслятора 4485 +"subscriberId": "", ~/~/ Идентификатор подписчика 4486 +"protocolType": 0, ~/~/ Тип протокола ретрансляции 4487 +"address": "", ~/~/ Адрес и порт принимающего сервера 4488 +"isEnabled": "", ~/~/ Признак включения ретранслятора, true - включен, false - отключен 4489 +"objects": [ ~/~/Объекты для ретрансляции 4490 +{ 4491 +"id": "", ~/~/ Идентификатор ретранслятора 4492 +"imei": "", ~/~/ IMEI объекта ретрансляции 4493 +"isEnabled": "" ~/~/ Признак включения объекта ретрансляции: true - включен, false - отключен 4494 +} 4495 + ] 4496 +} 4497 + 4498 + 4499 +Ответ: 4500 + 4501 +{ 4502 +"description": "", ~/~/ Поле описания ретранслятора 4503 +"subscriberId": "", ~/~/ Идентификатор подписчика (клиента, чьи объекты будут ретранслироваться) 4504 +"protocolType": 0, ~/~/ Тип протокола ретрансляции 4505 +"isEnabled": true, ~/~/ Признак включения ретранслятора: true - включен, false - отключен 4506 +"address": "string", ~/~/ Адрес и порт принимающего сервера 4507 +"objects": [ ~/~/ Объекты для ретрансляции 4508 +{ 4509 +"id": "", ~/~/ Идентификатор объекта ретрансляции 4510 +"name": "string", ~/~/ Наименование объекта ретрансляции 4511 +"imei": "", ~/~/ IMEI объекта ретрансляции 4512 +"isEnabled": true ~/~/ Признак включения объекта ретрансляции: true - включен, false - отключен 4513 +} 4514 + ], 4515 +"id": "", ~/~/ Идентификатор ретранслятора 4516 +"parentId": "", ~/~/ Идентификатор родителя (вышестоящего клиента) 4517 +"deleted": true ~/~/ Признак удаления ретранслятора: true - удален, false - не удален 4518 +} 4519 + 4520 + 4521 +== **Редактирование ретранслятора** == 4522 + 4523 +(% class="box infomessage" %) 4524 +((( 4525 +**PUT** **/api/v3/retranslations** 4526 +))) 4527 + 4528 +Пример запроса: 4529 + 4530 +{ 4531 +"id": "", ~/~/ Идентификатор ретранслятора 4532 +"description": "string", ~/~/ Поле описания ретранслятора 4533 +"subscriberId": "", ~/~/ Идентификатор подписчика 4534 +"protocolType": 0, ~/~/ Тип протокола ретрансляции 4535 +"isEnabled": true, ~/~/ Признак включения ретранслятора: true - включен, false - отключен 4536 +"address": "string", ~/~/ Адрес и порт принимающего сервера 4537 +"objects": ~/~/ Объекты для ретрансляции 4538 +[ 4539 +{ 4540 +"id": "", ~/~/ Идентификатор объекта ретрансляции 4541 +"imei": "", ~/~/ IMEI объекта ретрансляции 4542 +"isEnabled": true ~/~/ Признак включения объекта ретрансляции: true - включен, false - отключен 4543 +} 4544 + ] 4545 +} 4546 + 4547 + 4548 +Пример ответа: 4549 + 4550 +{ 4551 +"description": "", ~/~/ Поле описания ретранслятора 4552 +"subscriberId": "", ~/~/ Идентификатор подписчика (клиента, чьи объекты будут ретранслироваться) 4553 +"protocolType": 0, ~/~/ Тип протокола ретрансляции 4554 +"isEnabled": true, ~/~/ Признак включения ретранслятора: true - включен, false - отключен 4555 +"address": "string", ~/~/ Адрес и порт принимающего сервера 4556 +"objects": [ ~/~/ Объекты для ретрансляции 4557 +{ 4558 +"id": "", ~/~/ Идентификатор объекта ретрансляции 4559 +"name": "string", ~/~/ Наименование объекта ретрансляции 4560 +"imei": "", ~/~/ IMEI объекта ретрансляции 4561 +"isEnabled": true ~/~/ Признак включения объекта ретрансляции: true - включен, false - отключен 4562 +} 4563 + ], 4564 +"id": "", ~/~/ Идентификатор ретранслятора 4565 +"parentId": "", ~/~/ Идентификатор родителя (вышестоящего клиента) 4566 +"deleted": true ~/~/ Признак удаления ретранслятора: true - удален, false - не удален 4567 +} 4568 + 4569 + 4570 +== **Получение списка ретранслятора клиента** == 4571 + 4572 +(% class="box infomessage" %) 4573 +((( 4574 +**POST /api/v3/retranslations/find** 4575 +))) 4576 + 4577 +Пример запроса: 4578 + 4579 +{ 4580 +"id": "", ~/~/ Идентификатор ретранслятора 4581 +"search": "string", ~/~/ Строка поиска. Поиск производится по имени подписчика, описанию, типу протокола и адресу 4582 +"parentId": "" ~/~/ Идентификатор родительского агента, для которого надо получить данные (обязательный параметр). 4583 +} 4584 + 4585 +Ответ: 4586 + 4587 +[ 4588 +{ 4589 +"description": "", ~/~/ Поле описания ретранслятора 4590 +"subscriberId": "", ~/~/ Идентификатор подписчика (клиента, чьи объекты будут ретранслироваться) 4591 +"protocolType": 0, ~/~/ Тип протокола ретрансляции 4592 +"isEnabled": true, ~/~/ Признак включения ретранслятора: true - включен, false - отключен 4593 +"address": "string", ~/~/ Адрес и порт принимающего сервера 4594 +"id": "", ~/~/ Идентификатор ретранслятора 4595 +"parentId": "", ~/~/ Идентификатор родителя (вышестоящего клиента) 4596 +"deleted": true ~/~/ Признак удаления ретранслятора: true - удален, false - не удален 4597 +} 4598 +] 4599 + 4600 + 4601 += (% style="color:#000000; font-size:18.6667px" %)**Раздел: Отчеты**(%%) = 4602 + 4603 +== **API для отчета по выгрузке комбайнов** == 4604 + 4605 +(% class="box infomessage" %) 4606 +((( 4607 +POST **/api/v3/Reports/harvesterUnloading** 4608 +))) 4609 + 4610 +Пример запроса: 4611 + 4612 +{ 4613 + "byTime": 0, ~/~/ Объединение событий по времени 4614 + "byDist": 0, ~/~/ Объединение событий по расстоянию 4615 + "filterByTime": 0, ~/~/ Фильтрация событий по времени нахождения 4616 + "filterByHalfPerimeter": true, ~/~/ Фильтрация событий по пробегу половины периметра 4617 + "showNearestObjects": true, ~/~/Показывать объекты рядом? 4618 + "vehicleIds": [ ~/~/ Список id объектов для анализа 4619 + 0 4620 + ], 4621 + "from": "", ~/~/ Дата и время начало запроса 4622 + "to": "", ~/~/ Дата и время окончания запроса 4623 + "timezone": 0 ~/~/ Временная зона. Если не указана, то по умолчанию UTC+3 4624 +} 4625 + 4626 +Пример ответа: 4627 + 4628 +[ 4629 + { 4630 + "harvesterName": "", ~/~/Комбайн, номер 4631 + "harvesterId": 0, ~/~/Комбайн, id 4632 +"harvesterModel": "", ~/~/ Модель комбайна 4633 +"hopperCapacity": 0, ~/~/ Объем бункера м3 4634 + "hopperDischargeSpeed": 0, ~/~/ Скорость выгрузки из бункера, л/сек 4635 + "events": [ ~/~/Список событий в разрезе комбайна 4636 + { 4637 + "driverId": "", ~/~/Идентификатор водителя 4638 + "driverName": "", ~/~/Водитель комбайна, ФИО 4639 + "RFID": "", ~/~/ идентификатор карты-метки 4640 + "rfidName": "", ~/~/Водитель комбайна, имя метки 4641 + "vehicleId": 0, ~/~/идентификатор объекта 4642 + "vehicleName": "string", ~/~/ Имя объекта 4643 + "modelName": "string", ~/~/ Имя модели объекта 4644 + "nearestVehicles": [ ~/~/Объекты рядом 4645 + { 4646 + "vehicleId": 0, ~/~/идентификатор объекта 4647 + "vehicleName": "string" ~/~/ Имя объекта 4648 + } 4649 + ], 4650 + "fields": [ ~/~/Поля, где происходила выгрузка 4651 + { 4652 + "id": 0, ~/~/ идентификатор пользователя 4653 + "name": "string" ~/~/ имя пользователя 4654 + } 4655 + ], 4656 + "event": "string", ~/~/Событие 4657 + "start": "2024-07-19T06:41:57.821Z", ~/~/ Начало периода 4658 + "end": "2024-07-19T06:41:57.821Z", ~/~/ Окончание периода 4659 + "durationSeconds": 0, ~/~/Продолжительность события, в секундах 4660 + "cultureName": "string", ~/~/ название культуры 4661 + "bunkerLowLevelStart": 0, ~/~/Бункер, нижний уровень (на начало события) 4662 + "bunkerLowLevelEnd": 0, ~/~/ Бункер, нижний уровень (на конец события) 4663 + "bunkerHighLevelStart": 0, ~/~/Бункер, верхний уровень (на начало события) 4664 + "bunkerHighLevelEnd": 0, ~/~/Бункер, верхний уровень (на конец события) 4665 + "reapingAggregateValueStart": 0, ~/~/Жатка (на начало события) 4666 + "reapingAggregateValueEnd": 0, ~/~/Жатка (на конец события) 4667 + "issued": 0, ~/~/Выдано, бункеров 4668 + "issuedByBunkerSensors": 0, ~/~/Отдано бункеров (расчет по датчикам бункера) 4669 + "latitude": 0, ~/~/Широта 4670 + "longitude": 0, ~/~/ Долгота 4671 + "litresAway": 0, ~/~/Отдано, л 4672 + "m3Away": 0 ~/~/Отдано, м3 4673 + } 4674 + ] 4675 + } 4676 +] 4677 + 4678 + 4679 += (% style="color:#000000; font-size:18.6667px" %)**Раздел: Сельскохозяйственные поля **(%%) = 4680 + 4681 +== **Получение участка по id** == 4682 + 4683 +(% class="box infomessage" %) 4684 +((( 4685 +GET **/api/v3/agroLands/{id}** 4686 +))) 4687 + 4688 +Пример запроса: 4689 +id ~/~/ Идентификатор поля 4690 + 4691 +Пример ответа: 4692 + 4693 +((( 4694 +{ 4695 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор культуры 4696 + "cultureTechnologyId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор технологии 4697 + "fieldId": 0, ~/~/ Ссылка на группирующее с/х поле 4698 + "sourceId": 0, ~/~/ Ссылка на участок прошлого года 4699 + "cropRotations": [ ~/~/ Данные по севообороту 4700 + { 4701 + "landId": 0, ~/~/ ID поля 4702 + "landName": "string", ~/~/ Название поля 4703 + "year": 0, ~/~/ Год урожая 4704 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры 4705 + "cultureName": "string", ~/~/ Название культуры 4706 + "productivity": 0, ~/~/ Урожайность 4707 + "area": 0, ~/~/ Площадь поля, Га 4708 + "total": 0, ~/~/ Валовый сбор 4709 + "productivityFact": 0, ~/~/ Фактическая урожайность 4710 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га. 4711 + "totalFact": 0, ~/~/ Фактический валовый сбор 4712 + "start": "2024-12-20T07:45:52.611Z", ~/~/ Дата начала работ 4713 + "sowing": "2024-12-20T07:45:52.611Z", ~/~/ Дата сева 4714 + "harvesting": "2024-12-20T07:45:52.611Z", ~/~/ Дата уборки урожая 4715 + "isyearplan": true, ~/~/ План года 4716 + "comment": "string" ~/~/ Комментарий 4717 + } 4718 + ], 4719 + "cropVegetation": [ ~/~/ История вегетации поля 4720 + { 4721 + "values": [ ~/~/ Данные вегетации и состояния посева 4722 + { 4723 + "date": "2024-12-20T07:45:52.611Z", ~/~/ Дата 4724 + "ndvi": 0 ~/~/ Индекс вегетации 4725 + } 4726 + ], 4727 + "resources": [ ~/~/ Данные о снимках для каждого значения NDVI 4728 + { 4729 + "date": "2024-12-20T07:45:52.611Z", ~/~/ Дата 4730 + "type": "string", ~/~/ Тип 4731 + "pictureid": "string" ~/~/ Идентификатор ресурса 4732 + } 4733 + ], 4734 + "states": [ ~/~/ Ключевые даты развития поля 4735 + { 4736 + "date": "2024-12-20T07:45:52.611Z", ~/~/ Дата 4737 + "state": 0 ~/~/ Статус 0 - Посев, 1 - Всходы, 2 - Сбор урожая 4738 + } 4739 + ] 4740 + } 4741 + ], 4742 + "endDate": "2024-12-20T07:45:52.611Z", ~/~/ Дата закрытия года урожая 4743 + "counts": { 4744 + "fieldOperations": 0, ~/~/ Количество операций на поле 4745 + "actualFieldOperations": 0, ~/~/ Кол-во актуальных операций на поле 4746 + "facts": 0 ~/~/ Счётчик факта 4747 + }, 4748 + "planComment": "string", ~/~/ Комментарий к полю 4749 + "productivity": 0, ~/~/ Урожайность. 4750 + "sqPlan": 0, ~/~/ Определяет площадь поля, Га. 4751 +))) 4752 + 4753 +((( 4754 +((( 4755 + "startDate": "2024-12-20T07:45:52.611Z", ~/~/ Дата открытия года урожая 4756 + "year": 0, ~/~/ Год поля 4757 + "planState": 0, ~/~/ Статус годового планирования участка (0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой) 4758 + "actualPlanState": 0, ~/~/ Статус годового планирования участка (0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой) 4759 + "factState": 0, ~/~/ Статус годового планирования участка (0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой) 4760 + "taskState": 0, ~/~/ Статус годового планирования участка (0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой) 4761 + "status": 0, ~/~/ Статус с/х поля (0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой) 4762 + "id": 0, ~/~/ Идентификатор объекта геозоны 4763 + "name": "string", ~/~/ Название объекта геозоны 4764 + "type": 0, ~/~/ Тип объекта геозоны 4765 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение 4766 + "fname": "string", ~/~/ Имя файла 4767 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента 4768 + "beginCalc": "2024-12-20T07:45:52.611Z", ~/~/ Дата начала расчетов для геозоны 4769 + "endCalc": "2024-12-20T07:45:52.611Z", ~/~/ Дата окончания расчетов для геозоны 4770 + "description": "string", ~/~/ Описание объекта геозоны 4771 + "area": 0, ~/~/ Площадь, м2 4772 + "perimetr": 0, ~/~/ Периметр, м 4773 + "createDate": "2024-12-20T07:45:52.611Z" ~/~/ Дата создания в бд 4774 +} 4775 +))) 4776 + 4777 + 4778 +== **Удалить участок** == 4779 + 4780 +(% class="box errormessage" %) 4781 +((( 4782 +DELETE **/api/v3/agroLands/{id}** 4783 +))) 4784 + 4785 +Пример запроса: 4786 +id ~/~/ Идентификатор поля 4787 + 4788 +Пример ответа: 4789 + 4790 +((( 4791 +200 ~/~/ Успех 4792 +))) 4793 + 4794 +((( 4795 + 4796 +))) 4797 + 4798 +((( 4799 +== **Сохранение участка** == 4800 + 4801 +(% class="box successmessage" %) 4802 +((( 4803 +POST **/api/v3/agroLands** 4804 +))) 4805 + 4806 +Пример запроса: 4807 + 4808 +((( 4809 +{ 4810 + "extId": "string", 4811 + "shape": "string", ~/~/ Форма поля 4812 + "shapeFormat": "string", ~/~/ Формат, в котором представлена форма поля 4813 + "display": "string", ~/~/ Настройки отображения 4814 + "year": 0, ~/~/ Год поля 4815 + "name": "string", ~/~/ Наименование 4816 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение 4817 + "startDate": "2024-12-20T08:19:59.635Z", ~/~/ Начало года урожая 4818 + "endDate": "2024-12-20T08:19:59.635Z", ~/~/ Конец года урожая 4819 + "planComment": "string", ~/~/ Комментарий к полю 4820 + "cropRotations": [ ~/~/ Данные по севообороту 4821 + { 4822 + "landId": 0, ~/~/ ID поля 4823 + "landName": "string", ~/~/ Название поля 4824 + "year": 0, ~/~/ Год урожая 4825 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры 4826 + "cultureName": "string", ~/~/ Название культуры 4827 + "productivity": 0, ~/~/ Урожайность 4828 + "area": 0, ~/~/ Площадь поля, Га 4829 + "total": 0, ~/~/ Валовый сбор 4830 + "productivityFact": 0, ~/~/ Фактическая урожайность 4831 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га. 4832 + "totalFact": 0, ~/~/ Фактический валовый сбор 4833 + "start": "2024-12-20T08:19:59.635Z", ~/~/ Дата начала работ 4834 + "sowing": "2024-12-20T08:19:59.635Z", ~/~/ Дата сева 4835 + "harvesting": "2024-12-20T08:19:59.635Z", ~/~/ Дата уборки урожая 4836 + "isyearplan": true, ~/~/ Годовой план 4837 + "comment": "string" ~/~/ Комментарий 4838 + } 4839 + ] 4840 +} 4841 +))) 4842 + 4843 +((( 4844 + 4845 +))) 4846 + 4847 +((( 4848 + 4849 +))) 4850 + 4851 +Пример ответа: 4852 + 4853 +((( 4854 +((( 4855 +{ 4856 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор культуры 4857 + "cultureTechnologyId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор технологии 4858 + "fieldId": 0, ~/~/ Ссылка на группирующее с/х поле 4859 + "sourceId": 0, ~/~/ Ссылка на участок прошлого года 4860 + "cropRotations": [ ~/~/ Данные по севообороту 4861 + { 4862 + "landId": 0, ~/~/ ID поля 4863 + "landName": "string", ~/~/ Название поля 4864 + "year": 0, ~/~/ Год урожая 4865 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры 4866 + "cultureName": "string", ~/~/ Название культуры 4867 + "productivity": 0, ~/~/ Урожайность 4868 + "area": 0, ~/~/ Площадь поля, Га. 4869 + "total": 0, ~/~/ Валовый сбор 4870 + "productivityFact": 0, ~/~/ Фактическая урожайность 4871 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га. 4872 + "totalFact": 0, ~/~/ Фактический валовый сбор 4873 + "start": "2024-12-20T08:19:59.743Z", ~/~/ Дата начала работ 4874 + "sowing": "2024-12-20T08:19:59.743Z", ~/~/ Дата сева 4875 + "harvesting": "2024-12-20T08:19:59.743Z", ~/~/ Дата уборки урожая 4876 + "isyearplan": true, ~/~/ годовой план 4877 + "comment": "string" ~/~/ Комментарий 4878 + } 4879 + ], 4880 + "cropVegetation": [ ~/~/ История вегетации поля 4881 + { 4882 + "values": [ ~/~/ Данные вегетации и состояния посева 4883 + { 4884 + "date": "2024-12-20T08:19:59.743Z", ~/~/ Дата 4885 + "ndvi": 0 ~/~/ Индекс вегетации 4886 + } 4887 + ], 4888 + "resources": [ ~/~/ Данные о снимках для каждого значения NDVI 4889 + { 4890 + "date": "2024-12-20T08:19:59.743Z", ~/~/ Дата 4891 + "type": "string", ~/~/ Тип 4892 + "pictureid": "string" ~/~/ Идентификатор ресурса 4893 + } 4894 + ], 4895 + "states": [ ~/~/ Ключевые даты развития поля 4896 + { 4897 + "date": "2024-12-20T08:19:59.743Z", ~/~/ Дата 4898 + "state": 0 ~/~/ Статус 0 - Всходы, 1 - Вершина, 2 - Сбор урожая 4899 + } 4900 + ] 4901 + } 4902 + ], 4903 + "endDate": "2024-12-20T08:19:59.743Z", ~/~/ Дата закрытия года урожая 4904 + "counts": { 4905 + "fieldOperations": 0, ~/~/ Количество операций на поле 4906 + "actualFieldOperations": 0, ~/~/ Кол-во актуальных операций на поле 4907 + "facts": 0 ~/~/ Счётчик факта 4908 + }, 4909 + "planComment": "string", ~/~/ Комментарий к полю 4910 +))) 4911 + 4912 +((( 4913 + "productivity": 0, ~/~/ Урожайность. 4914 + "sqPlan": 0, ~/~/ Определяет площадь поля, Га. 4915 + "startDate": "2024-12-20T08:19:59.743Z", ~/~/ Дата открытия года урожая 4916 + "year": 0, ~/~/ Год поля 4917 + "planState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой 4918 + "actualPlanState": 0, ~/~/ Актуальный статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой 4919 + "factState": 0, ~/~/ Фактический статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой 4920 + "taskState": 0, ~/~/ Статус задачи годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой 4921 + "status": 0, ~/~/ Статус с/х поля 0 - Нет, 1 - Открыто, 2 - Закрыто 4922 + "id": 0, ~/~/ Идентификатор объекта геозоны 4923 + "name": "string", ~/~/ Название объекта геозоны 4924 + "type": 0, ~/~/ Тип объекта геозоны 4925 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение 4926 + "fname": "string", ~/~/ Имя файла 4927 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента 4928 + "beginCalc": "2024-12-20T08:19:59.743Z", ~/~/ Дата начала расчетов для геозоны 4929 + "endCalc": "2024-12-20T08:19:59.743Z", ~/~/ Дата окончания расчетов для геозоны 4930 + "description": "string", ~/~/ Описание объекта геозоны 4931 + "area": 0, ~/~/ Площадь, м2 4932 + "perimetr": 0, ~/~/ Периметр, м 4933 + "createDate": "2024-12-20T08:19:59.743Z" ~/~/ Дата создания в бд 4934 +} 4935 +))) 4936 + 4937 +((( 4938 + 4939 +))) 4940 + 4941 +((( 4942 +== **Изменение участка** == 4943 + 4944 +(% class="box infomessage" %) 4945 +((( 4946 +PUT **/api/v3/agroLands** 4947 +))) 4948 + 4949 +Пример запроса: 4950 + 4951 +((( 4952 +((( 4953 +{ 4954 + "id": 0, ~/~/ Идентификатор поля 4955 + "extId": "string", ~/~/ ExtId 4956 + "shape": "string", ~/~/ Форма поля 4957 + "shapeFormat": "string", ~/~/ Формат, в котором представлена форма поля 4958 + "display": "string", ~/~/ Настройки отображения 4959 + "year": 0, ~/~/ Год поля 4960 + "name": "string", ~/~/ Наименование 4961 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение 4962 + "startDate": "2024-12-20T10:11:59.425Z", ~/~/ Начало года урожая 4963 + "endDate": "2024-12-20T10:11:59.425Z", ~/~/ Конец года урожая 4964 + "planComment": "string", ~/~/Комментарий к полю 4965 + "cropRotations": [ ~/~/ Данные по севообороту 4966 + { 4967 + "landId": 0, ~/~/ ID поля 4968 + "landName": "string", ~/~/ Название поля 4969 + "year": 0, ~/~/ Год урожая 4970 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры 4971 + "cultureName": "string", ~/~/ Название культуры 4972 + "productivity": 0, ~/~/ Урожайность 4973 + "area": 0, ~/~/ Площадь поля, Га. 4974 + "total": 0, ~/~/ Валовый сбор 4975 + "productivityFact": 0, ~/~/ Фактическая урожайность 4976 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га. 4977 + "totalFact": 0, ~/~/ Фактический валовый сбор 4978 + "start": "2024-12-20T10:11:59.425Z", ~/~/ Дата начала работ 4979 + "sowing": "2024-12-20T10:11:59.425Z", ~/~/ Дата сева 4980 + "harvesting": "2024-12-20T10:11:59.425Z", ~/~/ Дата уборки урожая 4981 + "isyearplan": true, 4982 + "comment": "string" ~/~/ Комментарий 4983 + } 4984 + ], 4985 + "deleteStatistic": true ~/~/ Нужно ли удалять статистику 4986 +} 4987 +))) 4988 +))) 4989 + 4990 +((( 4991 + 4992 +))) 4993 + 4994 +Пример ответа: 4995 + 4996 +((( 4997 +((( 4998 +((( 4999 +{ 5000 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор культуры 5001 + "cultureTechnologyId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор технологии 5002 + "fieldId": 0, ~/~/ Ссылка на группирующее с/х поле 5003 + "sourceId": 0, ~/~/ Ссылка на участок прошлого года 5004 + "cropRotations": [ ~/~/ Данные по севообороту 5005 + { 5006 + "landId": 0, ~/~/ ID поля 5007 + "landName": "string", ~/~/ Название поля 5008 + "year": 0, ~/~/ Год урожая 5009 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры 5010 + "cultureName": "string", ~/~/ Название культуры 5011 + "productivity": 0, ~/~/ Урожайность 5012 + "area": 0, ~/~/ Площадь поля, Га 5013 + "total": 0, ~/~/ Валовый сбор 5014 + "productivityFact": 0, ~/~/ Фактическая урожайность 5015 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га. 5016 + "totalFact": 0, ~/~/ Фактический валовый сбор 5017 + "start": "2024-12-20T10:11:59.533Z", ~/~/ Дата начала работ 5018 + "sowing": "2024-12-20T10:11:59.533Z", ~/~/ Дата сева 5019 + "harvesting": "2024-12-20T10:11:59.533Z", ~/~/ Дата уборки урожая 5020 + "isyearplan": true, ~/~/ 5021 + "comment": "string" ~/~/ Комментарий 5022 + } 5023 + ], 5024 + "cropVegetation": [ ~/~/ История вегетации поля 5025 + { 5026 + "values": [ ~/~/ Данные вегетации и состояния посева 5027 + { 5028 + "date": "2024-12-20T10:11:59.533Z", ~/~/ Дата 5029 + "ndvi": 0 ~/~/ Индекс вегетации 5030 + } 5031 + ], 5032 + "resources": [ ~/~/ Данные о снимках для каждого значения NDVI 5033 + { 5034 + "date": "2024-12-20T10:11:59.533Z", ~/~/ Дата 5035 + "type": "string", ~/~/ Тип 5036 + "pictureid": "string" ~/~/ Идентификатор ресурса 5037 + } 5038 + ], 5039 + "states": [ ~/~/ Ключевые даты развития поля 5040 + { 5041 + "date": "2024-12-20T10:11:59.533Z", ~/~/ Дата 5042 + "state": 0 ~/~/ Статус 0 - Всходы, 1 - Вершина, 2 - Сбор урожая 5043 + } 5044 + ] 5045 + } 5046 + ], 5047 + "endDate": "2024-12-20T10:11:59.533Z", ~/~/ Дата закрытия года урожая 5048 + "counts": { 5049 + "fieldOperations": 0, ~/~/ Количество операций на поле 5050 + "actualFieldOperations": 0, ~/~/ Кол-во актуальных операций на поле 5051 + "facts": 0 ~/~/ Счётчик факта 5052 + }, 5053 + "planComment": "string", ~/~/ Комментарий к полю 5054 + "productivity": 0, ~/~/ Урожайность. 5055 + "sqPlan": 0, ~/~/ Определяет площадь поля, Га. 5056 + "startDate": "2024-12-20T10:11:59.533Z", ~/~/ Дата открытия года урожая 5057 + "year": 0, ~/~/ Год поля 5058 + "planState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой 5059 + "actualPlanState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой 5060 + "factState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой 5061 + "taskState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой 5062 + "status": 0, ~/~/ Статус с/х поля 0 - нет, 1 - открыто, 2 - закрыто 5063 + "id": 0, ~/~/ Идентификатор объекта геозоны 5064 + "name": "string", ~/~/ Название объекта геозоны 5065 + "type": 0, ~/~/ Тип объекта геозоны 5066 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение 5067 + "fname": "string", ~/~/ Имя файла 5068 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента 5069 + "beginCalc": "2024-12-20T10:11:59.533Z", ~/~/ Дата начала расчетов для геозоны 5070 + "endCalc": "2024-12-20T10:11:59.533Z", ~/~/ Дата окончания расчетов для геозоны 5071 + "description": "string", ~/~/ Описание объекта геозоны 5072 + "area": 0, ~/~/ Площадь, м2 5073 + "perimetr": 0, ~/~/ Периметр, м 5074 + "createDate": "2024-12-20T10:11:59.533Z" ~/~/ Дата создания в бд 5075 +} 5076 +))) 5077 +))) 5078 +))) 5079 +))) 5080 +))) 5081 + 5082 + 5083 +))) 5084 +))) 5085 + 5086 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Корзина**(%%) = 5087 + 5088 +== (% style="color:#000000; font-size:16px" %)**Запрос на получение списка всех объектов в корзине**(%%) == 5089 + 5090 + 5091 +(% class="box infomessage" %) 5092 +((( 5093 +GET api/v3/Vehicles/recyclebin/all 5094 +))) 5095 + 5096 +Метод возвращает полную информацию о списках всех объектов в корзине по пользователям, доступным агенту 5097 + 5098 +Параметр запроса: {parentId} - идентификатор агента 5099 + 5100 +В заголовках запроса: X-Auth: Токен авторизации 5101 + 5102 +Ответ: 5103 + 5104 +[ 5105 + { 5106 + "recordTime": "", ~/~/Время записи 5107 + "userId": "", ~/~/Guid пользователя, добавившего объект в корзину 5108 + "parentId": "", ~/~/Guid агента объекта, помещённого в корзину 5109 + "objectId": 0, ~/~/ID объекта, помещённого в корзину 5110 + "objectGuid": "", ~/~/Guid объекта, помещённого в корзину 5111 + "objectType": 1, ~/~/Тип объекта, помещённого в корзину 5112 + "details": { ~/~/Список деталей объекта, помещённого в корзину 5113 + "items": [ ~/~/ 5114 +nullable: true ~/~/Детали 5115 + { 5116 + "name": "string", ~/~/наименование столбца 5117 + "value": "string" ~/~/содержание столбца 5118 + } 5119 + ] 5120 + }, 5121 + "errors": [ ~/~/Список ошибок удаления/восстановления объекта 5122 + "string" 5123 + ] 5124 + } 5125 +] 5126 + 5127 + 5128 +(% style="color:#000000; font-size:16px" %)**Запрос на удаление объектов из корзины** 5129 + 5130 +(% class="box infomessage" %) 5131 +((( 5132 +POST/api/v3/Vehicles/recyclebin/erase 5133 +))) 5134 + 5135 +В заголовках запроса: X-Auth: Токен авторизации 5136 + 5137 +Пример запроса: 5138 + 5139 +[ 5140 +0 5141 +] 5142 + 5143 + 5144 +Пример ответа: 5145 + 5146 +[ 5147 +{ 5148 + "recordTime": "", ~/~/Время записи 5149 + "userId": "", ~/~/Guid пользователя, добавившего объект в корзину 5150 + "parentId": "", ~/~/Guid агента объекта, помещённого в корзину 5151 + "objectId": 0, ~/~/ID объекта, помещённого в корзин 5152 + "objectGuid": "", ~/~/Guid объекта, помещённого в корзину 5153 + "objectType": 1, ~/~/Тип объекта, помещённого в корзину 5154 + "details": { ~/~/Список деталей объекта, помещённого в корзину 5155 + "items": [ ~/~/Детали 5156 + { 5157 + "name": "", ~/~/Имя свойства 5158 + "value": "" ~/~/Значение свойства 5159 + } 5160 + ] 5161 + }, 5162 + "errors": [ ~/~/Список ошибок удаления/восстановления объекта 5163 + "" 5164 + ] 5165 + } 5166 +] 5167 + 5168 +Ответ: В случае успешного выполнения запроса вернется HTTP ответ «200». 5169 + 5170 +== (% style="color:#000000; font-size:16px" %)**Запрос на восстановление объектов из корзины**(%%) == 5171 + 5172 +(% class="box infomessage" %) 5173 +((( 5174 +POST/api/v3/Vehicles/recyclebin/restore 5175 +))) 5176 + 5177 +В заголовках запроса: X-Auth: Токен авторизации 5178 + 5179 +Параметры в теле запроса (JSON): 5180 + 5181 +Восстанавливает объекты из корзины. Возвращает те объекты которые не получилось восстановить. 5182 + 5183 +В заголовках запроса: X-Auth: Токен авторизации 5184 + 5185 + 5186 +Пример запроса: 5187 + 5188 +((( 5189 +[ 5190 +))) 5191 + 5192 +((( 5193 + 0 5194 +))) 5195 + 5196 +((( 5197 +] 5198 +))) 5199 + 5200 + 5201 +Пример ответа: 5202 + 5203 +[ 5204 +{ 5205 + "recordTime": "2024-07-19T07:58:19.305Z", ~/~/Время записи 5206 + "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/Guid пользователя, добавившего объект в корзину 5207 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/Guid агента объекта, помещённого в корзину 5208 + "objectId": 0, ~/~/ID объекта, помещённого в корзину 5209 + "objectGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/Guid объекта, помещённого в корзину 5210 + "objectType": 1, ~/~/Тип объекта, помещённого в корзину 5211 + "details": { ~/~/Список деталей объекта, помещённого в корзину 5212 + "items": [ ~/~/Детали 5213 + { 5214 + "name": "string", ~/~/Имя свойства 5215 + "value": "string" ~/~/Значение свойства 5216 + } 5217 + ] 5218 + }, 5219 + "errors": [ ~/~/Список ошибок удаления/восстановления объекта 5220 + "string" 5221 + ] 5222 + } 5223 +] 5224 + 5225 + 5226 + 2781 2781 (% class="box" lang="en-US" style="text-align: center;" %) 2782 2782 ((( 2783 2783 (% 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