<
От версии < 82.1 >
отредактировано Илья Крайнов
на 2023/03/29 14:58
К версии < 215.1 >
отредактировано Андрей Калиновский
на 2025/03/25 13:59
>
Изменить комментарий: К данной версии нет комментариев

Комментарий

Подробности

Icon Свойства страницы
Автор документа
... ... @@ -1,1 +1,1 @@
1 -XWiki.krainovim
1 +XWiki.Gadmin
Содержимое
... ... @@ -1,5 +1,22 @@
1 1  (% class="western" id="H41E43F43844143043D43843541341B41E41D410421421SoftPublicAPI" %)
2 2  (((
3 +(% class="box warningmessage" %)
4 +(((
5 +(% class="mark" %)##Для обеспечения бесперебойной работы команд и серверного оборудования ГЛОНАССSoft убедительно
6 +просим вас соблюдать несколько простых правил при использовании API-команд:##
7 +)))
8 +
9 +* Формировать не более 3 отчётов одновременно.
10 +* Ограничить количество активных сессий одного пользователя с одного IP-адреса до 50.
11 +
12 +В случае нарушения этих правил, ГЛОНАССSoft оставляет за собой право принудительно остановить выполнение запросов с определенных IP адресов.
13 +
14 +(% class="box infomessage" %)
15 +(((
16 +**Чтобы избежать блокировки** из-за превышения количества авторизаций, вам необходимо использовать токен авторизации, полученный с помощью метода /auth/login, во всех последующих запросах к API. Этот токен имеет ограниченный срок действия, который можно изменить, настроив параметр "Длительность сессии" в настройках пользователя.
17 +\\При выполнении запросов с одним и тем же токеном его срок действия автоматически продлевается. Это позволяет пройти авторизацию только один раз и использовать полученный токен во всех последующих запросах без необходимости повторного входа в систему.
18 +)))
19 +
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" %)− (%%)При редактировании необходимо передавать все параметры пользователя в теле запроса! Те параметры, значения которых не будут переданы - будут стерты!
34 +(% style="color:#000000" %)− (%%)При **редактировании** любой записи (пользователь, объект и т.д) необходимо передавать все параметры записи в теле запроса! Те параметры, значения которых не будут переданы - будут стерты!
18 18  
36 +
37 +(% style="color:#000000; font-size:16px" %)**Рекомендации**
38 +
39 +- Для запросов по API рекомендуется наделить пользователя ролью **Администратора партнера**, в противном случае при выполнении некоторых запросов у него не будет хватать прав (чаще всего сталкиваются с отсутствием прав при запросах сообщений от терминала за период).
40 +
19 19  = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Авторизация**(%%) =
20 20  
21 -== (% style="color:#000000; font-size:16px" %)**Авторизация**(%%) ==
43 +(% class="box warningmessage" id="H41043244243E44043843743044643844F" %)
44 +(((
45 +(% style="color:#000000; font-size:16px" %)**Авторизация**(%%)
46 +(% style="color:#000000; font-size:16px" %)Адрес сервера всегда следует указывать именно тот, по которому происходит вход в СМТ (https:~/~/hosting.glonasssoft.ru/ , [[https:~~/~~/regions.glonasssoft.ru/>>https://regions.glonasssoft.ru/]] или другие)
47 +)))
22 22  
23 -(% class="box infomessage" %)
49 +(% 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**__».
60 +(% 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" %)
73 + "AuthId": "(%%)93c6jg79-b88b-4a35-a2d0-70dg9jc2898b(% style="color:#000000" %)" , ~/~/ токен авторизации
74 + "User": "testuser" , ~/~/ имя пользователя(%%)
54 54  }
55 55  
56 56  **Примечание: **Время жизни токена авторизации задается в настройках пользователя, там есть параметр длительность сессии. При каждом запросе токен пролонгируется.
57 57  
79 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
80 +|(% style="width:215px" %)(% style="color:#000000" %)login|(% style="width:861px" %)Логин пользователя
81 +|(% style="width:215px" %)(% style="color:#000000" %)password|(% style="width:861px" %)Пароль пользователя
82 +|(% style="width:215px" %)(% style="color:#000000" %)AuthId|(% style="width:861px" %)Токен авторизации
83 +|(% style="width:215px" %)(% style="color:#000000" %)User|(% style="width:861px" %)Логин пользователя
84 +
85 +(% class="wikigeneratedid" %)
86 +Также имеется возможность сквозной (/бесшовной) авторизации. Для этого к ссылке ( [[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}]])
87 +
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" ~/~/ Корр. счет
127 + "agentId": "",  (%%)
128 + "parentId": "",
129 + "parentName": "string",
130 + "name": "string",
131 + "fullName": "string",
132 + "agentInfoType": 0,
133 + "isForeign": true/false,
134 + "district": "string", 
135 + "region": "string",
136 + "city": "string",
137 + "inn": "string",
138 + "kpp": "string",
139 + "address": "string",
140 + "addressFact": "string",
141 + "email": "string",
142 + "director": "string",
143 + "bankName": "string",
144 + "bankBIK": "string",
145 + "bankRS": "string",
146 + "bankKS": "string"
118 118   }
119 119  
149 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
150 +|(% style="width:215px" %)(% style="color:#000000" %)agentId|(% style="width:861px" %)(% style="color:#000000" %)Идентификатор клиента 
151 +|(% style="width:215px" %)parentId|(% style="width:861px" %)Идентификатор клиента-родителя
152 +|(% style="width:215px" %)parentName|(% style="width:861px" %)Наименование (% style="color:#000000" %)клиента-родителя
153 +|(% style="width:215px" %)name|(% style="width:861px" %)(% style="color:#000000" %)Наименование клиента
154 +|(% style="width:215px" %)fullName|(% style="width:861px" %)(% style="color:#000000" %)Полное наименование клиента
155 +|(% style="width:215px" %)agentInfoType|(% style="width:861px" %)(% style="color:#000000" %)Тип клиента (0- Клиент, 1 - Партнер, 2 - Группа, 3 - Административная группа, 4 - Тестовый клиент, 5 - Договор)
156 +|(% style="width:215px" %)isForeign|(% style="width:861px" %)Иностранный контрагент
157 +|(% style="width:215px" %)district|(% style="width:861px" %)Округ
158 +|(% style="width:215px" %)region|(% style="width:861px" %)Регион
159 +|(% style="width:215px" %)city|(% style="width:861px" %)Город
160 +|(% style="width:215px" %)inn|(% style="width:861px" %)ИНН клиента
161 +|(% style="width:215px" %)kpp|(% style="width:861px" %)КПП клиента
162 +|(% style="width:215px" %)address|(% style="width:861px" %)Юридический адрес
163 +|(% style="width:215px" %)addressFact|(% style="width:861px" %)Фактический адрес
164 +|(% style="width:215px" %)email|(% style="width:861px" %)Электронная почта
165 +|(% style="width:215px" %)director|(% style="width:861px" %)ФИО руководителя
166 +|(% style="width:215px" %)bankName|(% style="width:861px" %)Банк
167 +|(% style="width:215px" %)bankBIK|(% style="width:861px" %)БИК
168 +|(% style="width:215px" %)bankRS|(% style="width:861px" %)Номер счета
169 +|(% style="width:215px" %)bankKS|(% style="width:861px" %)Корр. счет
170 +
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" %)− информация о клиенте типа «Партнер» и его подклиентов возвращается при наличии права «__**Доступ к партнёрским клиентам**__».
184 +(% 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 - Отказ)
199 + "agentId": "",(% style="color:#000000" %)   (%%)
200 + "parentId": "",
201 + "name": "string",
202 + "fullName": "string",
203 + "agentInfoType": 0,
204 +(% style="color:#000000" %) "status": "",
155 155  }
156 156  
207 +
208 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
209 +|(% style="width:215px" %)(% style="color:#000000" %)agentId|(% style="width:861px" %)(% style="color:#000000" %)Идентификатор клиента 
210 +|(% style="width:215px" %)parentId|(% style="width:861px" %)Идентификатор клиента-родителя
211 +|(% style="width:215px" %)name|(% style="width:861px" %)(% style="color:#000000" %)Наименование клиента
212 +|(% style="width:215px" %)fullName|(% style="width:861px" %)(% style="color:#000000" %)Полное наименование клиента
213 +|(% style="width:215px" %)agentInfoType|(% style="width:861px" %)(% style="color:#000000" %)Тип клиента (0- Клиент, 1 - Партнер, 2 - Группа, 3 - Административная группа, 4 - Тестовый клиент, 5 - Договор)
214 +|(% style="width:215px" %)(% style="color:#000000" %)status|(% style="width:861px" %)Статус клиента, 0 - заблокирован, 1 - Активен
215 +
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 - "parentId": "00000000-0000-0000-0000-000000000000", ~/~/ идентификатор клиента-родителя 
234 + "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  
278 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
279 +|(% style="width:215px" %)(% style="color:#000000" %)agentId|(% style="width:861px" %)(% style="color:#000000" %)Идентификатор клиента 
280 +|(% style="width:215px" %)parentId|(% style="width:861px" %)Идентификатор клиента-родителя
281 +|(% style="width:215px" %)parentName|(% style="width:861px" %)Наименование (% style="color:#000000" %)клиента-родителя
282 +|(% style="width:215px" %)name|(% style="width:861px" %)(% style="color:#000000" %)Наименование клиента
283 +|(% style="width:215px" %)fullName|(% style="width:861px" %)(% style="color:#000000" %)Полное наименование клиента
284 +|(% style="width:215px" %)agentInfoType|(% style="width:861px" %)(% style="color:#000000" %)Тип клиента (0- Клиент, 1 - Партнер, 2 - Группа, 3 - Административная группа, 4 - Тестовый клиент, 5 - Договор)
285 +|(% style="width:215px" %)isForeign|(% style="width:861px" %)Иностранный контрагент
286 +|(% style="width:215px" %)district|(% style="width:861px" %)Округ
287 +|(% style="width:215px" %)region|(% style="width:861px" %)Регион
288 +|(% style="width:215px" %)city|(% style="width:861px" %)Город
289 +|(% style="width:215px" %)inn|(% style="width:861px" %)ИНН клиента
290 +|(% style="width:215px" %)kpp|(% style="width:861px" %)КПП клиента
291 +|(% style="width:215px" %)address|(% style="width:861px" %)Юридический адрес
292 +|(% style="width:215px" %)addressFact|(% style="width:861px" %)Фактический адрес
293 +|(% style="width:215px" %)email|(% style="width:861px" %)Электронная почта
294 +|(% style="width:215px" %)director|(% style="width:861px" %)ФИО руководителя
295 +|(% style="width:215px" %)bankName|(% style="width:861px" %)Банк
296 +|(% style="width:215px" %)bankBIK|(% style="width:861px" %)БИК
297 +|(% style="width:215px" %)bankRS|(% style="width:861px" %)Номер счета
298 +|(% style="width:215px" %)bankKS|(% style="width:861px" %)Корр. счет
299 +
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  
381 +== (% style="color:#000000; font-size:16px" %)**Смена статуса клиента (активация/блокировка)**(%%) ==
382 +
383 +(% class="box warningmessage" %)
384 +(((
385 +**PUT /api/v3/agents/{id}/changeStatus/{status}**
386 +)))
387 +
388 +Метод позволяет изменить статус клиента, указанного в запросе.
389 +
390 +В пути указывается GUID клиента и статус клиента.
391 +
392 +**status **- значение 0 - заблокирован, 1 - активен.
393 +
394 +Ответ: Code 204
395 +
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 пользователя
460 +{     
461 + "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" %), ~/~/ роли пользователя, перечислены названия групп пользователя
478 +}
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 -
500 +(% 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": "" , ~/~/ имя
... ... @@ -436,8 +436,7 @@
436 436   "email": "" , ~/~/ E-mail
437 437   "sessionDuration":"", ~/~/ длительность сессии в минутах
438 438   "status": "1",  ~/~/ статус пользователя
439 - "astLogged": "", ~/~/ дата/время последней авторизации
440 -
522 + "lastLogged": "", ~/~/ дата/время последней авторизации
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 пользователя 
596 +(% lang="ru-RU" style="color:#000000; font-weight:normal" %){   
597 + "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" %)
619 + "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": "" , ~/~/ идентификатор пользователя
626 +(% lang="ru-RU" style="color:#000000; font-weight:normal" %){     
627 + "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» названия группы пользователя
648 +}
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 -
669 +(% 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 - "8ed730d3-c61c-4c3a-ae4f-f41d9e710abc",
694 + "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" %)Раздел: **Транспортные средства**(%%) =
757 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Модель объекта**(%%) =
686 686  
759 +== (% style="color:#000000; font-size:16px" %)**Получение информации о модели объекта**(%%) ==
760 +
761 +(% class="box infomessage" %)
762 +(((
763 +(% lang="en-US" %)**GET /api/v3/models/{Id}**
764 +)))
765 +
766 +Метод возвращает полную информацию о модели объекта.
767 +
768 +(% style="color:#000000" %)Метод запроса: **GET**
769 +
770 +(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/api/(% lang="en-US" %)v3/models/(% style="color:#000000" %){(%%)ID}
771 +
772 +(% style="color:#000000" %)Параметр запроса: {__**id}**__ - идентификатор модели объекта
773 +
774 +(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации
775 +
776 +(% style="color:#000000" %)Ответ:
777 +
778 +(% style="color:#000000" %){
779 + "parentName": "string",
780 + "name": "string",
781 + "picture": "string",
782 + "minspeed": 0,
783 + "maxspeed": 0,
784 + "width": 0,
785 + "imbeddedtrailer": true,
786 + "hoppercapacity": 0,
787 + "hopperdischargespeed": 0,
788 + "modelType": 0,
789 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
790 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
791 + "deleted": true
792 +}
793 +
794 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
795 +|(% style="width:215px" %)(% style="color:#000000" %)parentName|(% style="width:861px" %)Имя клиента, которому принадлежит модель объекта
796 +|(% style="width:215px" %)(% style="color:#000000" %)name|(% style="width:861px" %)Имя модели объекта
797 +|(% style="width:215px" %)(% style="color:#000000" %)picture|(% style="width:861px" %)Название иконки транспорта
798 +|(% style="width:215px" %)(% style="color:#000000" %)minspeed|(% style="width:861px" %)Минимальная технологическая скорость обработки поля, в км/ч
799 +|(% style="width:215px" %)(% style="color:#000000" %)maxspeed|(% style="width:861px" %)Максимальная технологическая скорость обработки поля, в км/ч
800 +|(% style="width:215px" %)(% style="color:#000000" %)width|(% style="width:861px" %)Ширина агрегата, в метрах
801 +|(% style="width:215px" %)(% style="color:#000000" %)imbeddedtrailer|(% style="width:861px" %)Опция: Содержит встроенный агрегат
802 +|(% style="width:215px" %)(% style="color:#000000" %)hoppercapacity|(% style="width:861px" %)Объем бункера
803 +|(% style="width:215px" %)(% style="color:#000000" %)hopperdischargespeed|(% style="width:861px" %)Скорость2 выгрузки из бункера, л/сек
804 +|(% style="width:215px" %)(% style="color:#000000" %)modelType|(% style="width:861px" %)Определяет тип модели объекта: 0 - None, 1 - Agro, 2 - Cargo, 3 - Car
805 +|(% style="width:215px" %)(% style="color:#000000" %)id|(% style="width:861px" %)ID модели объекта
806 +|(% style="width:215px" %)(% style="color:#000000" %)parentId|(% style="width:861px" %)ID клиента, которому принадлежит модель объекта
807 +|(% style="width:215px" %)(% style="color:#000000" %)deleted|(% style="width:861px" %)Признак удаления, тип: boolean
808 +
809 +== (% style="color:#000000; font-size:16px" %)**Просмотр списка моделей**(%%) ==
810 +
811 +(% class="box successmessage" %)
812 +(((
813 +(% lang="en-US" %)**POST /api/v3/models/find**
814 +)))
815 +
816 +(% style="color:#000000" %)Метод позволяет получить список всех моделей клиента, указанного в запросе.
817 +
818 +(% style="color:#000000" %)Метод запроса: **POST**
819 +
820 +(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/api/v3/models/find
821 +
822 +(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации
823 +
824 +(% style="color:#000000" %)Параметры в теле запроса (JSON):{
825 +
826 +(% style="color:#000000" %) "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
827 +}
828 +
829 +(% style="color:#000000" %)Ответ:
830 +
831 +(% style="color:#000000" %)[
832 + {
833 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
834 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
835 + "parentName": "string",
836 + "name": "string",
837 + "modelType": 0
838 + }
839 +]
840 +
841 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
842 +|(% style="width:215px" %)(% style="color:#000000" %)parentName|(% style="width:861px" %)Имя клиента, которому принадлежит модель объекта
843 +|(% style="width:215px" %)(% style="color:#000000" %)name|(% style="width:861px" %)Имя модели объекта
844 +|(% style="width:215px" %)(% style="color:#000000" %)modelType|(% style="width:861px" %)Определяет тип модели объекта: 0 - None, 1 - Agro, 2 - Cargo, 3 - Car
845 +|(% style="width:215px" %)(% style="color:#000000" %)id|(% style="width:861px" %)ID модели объекта
846 +|(% style="width:215px" %)(% style="color:#000000" %)parentId|(% style="width:861px" %)ID клиента, которому принадлежит модель объекта
847 +
848 +== (% style="color:#000000; font-size:16px" %)**Добавление модели**(%%) ==
849 +
850 +(% class="box successmessage" %)
851 +(((
852 +(% lang="en-US" %)**POST /api/v3/models**
853 +)))
854 +
855 +(% style="color:#000000" %)Метод позволяет добавить объект, указанный в запросе.
856 +
857 +(% style="color:#000000" %)Метод запроса: **POST**
858 +
859 +(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/api/v3/(% lang="en-US" %)models
860 +
861 +(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации
862 +
863 +(% style="color:#000000" %)Параметры в теле запроса (JSON):
864 +
865 +{
866 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
867 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
868 + "deleted": true,
869 + "extId": "string",
870 + "name": "string",
871 + "picture": "string",
872 + "minspeed": 0,
873 + "maxspeed": 0,
874 + "width": 0,
875 + "imbeddedtrailer": true,
876 + "fueloutlay": 0,
877 + "hoppercapacity": 0,
878 + "hopperdischargespeed": 0,
879 + "modelType": 0
880 +}
881 +
882 +Ответ:
883 +
884 +{
885 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
886 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
887 + "deleted": true,
888 + "extId": "string",
889 + "name": "string",
890 + "picture": "string",
891 + "minspeed": 0,
892 + "maxspeed": 0,
893 + "width": 0,
894 + "imbeddedtrailer": true,
895 + "hoppercapacity": 0,
896 + "hopperdischargespeed": 0,
897 + "modelType": 0
898 +}
899 +
900 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
901 +|(% style="width:215px" %)(% style="color:#000000" %)id|(% style="width:861px" %)ID модели объекта
902 +|(% style="width:215px" %)(% style="color:#000000" %)parentId|(% style="width:861px" %)ID клиента, которому принадлежит модель объекта
903 +|(% style="width:215px" %)(% style="color:#000000" %)parentName|(% style="width:861px" %)Имя клиента, которому принадлежит модель объекта
904 +|(% style="width:215px" %)(% style="color:#000000" %)name|(% style="width:861px" %)Имя модели объекта
905 +|(% style="width:215px" %)(% style="color:#000000" %)picture|(% style="width:861px" %)Название иконки транспорта
906 +|(% style="width:215px" %)(% style="color:#000000" %)minspeed|(% style="width:861px" %)Минимальная технологическая скорость обработки поля, в км/ч
907 +|(% style="width:215px" %)(% style="color:#000000" %)maxspeed|(% style="width:861px" %)Максимальная технологическая скорость обработки поля, в км/ч
908 +|(% style="width:215px" %)(% style="color:#000000" %)width|(% style="width:861px" %)Ширина агрегата, в метрах
909 +|(% style="width:215px" %)(% style="color:#000000" %)imbeddedtrailer|(% style="width:861px" %)Опция: Содержит встроенный агрегат
910 +|(% style="width:215px" %)(% style="color:#000000" %)hoppercapacity|(% style="width:861px" %)Объем бункера
911 +|(% style="width:215px" %)(% style="color:#000000" %)hopperdischargespeed|(% style="width:861px" %)Скорость выгрузки из бункера, л/сек
912 +|(% style="width:215px" %)(% style="color:#000000" %)modelType|(% style="width:861px" %)Определяет тип модели объекта: 0 - None, 1 - Agro, 2 - Cargo, 3 - Car
913 +
914 +== (% style="color:#000000; font-size:16px" %)**Редактирование модели**(%%) ==
915 +
916 +(% class="box warningmessage" %)
917 +(((
918 +(% style="color:#000000" %)// //(% lang="en-US" %)**PUT /api/v3/models**
919 +)))
920 +
921 +(% style="color:#000000" %)Метод позволяет изменить статус пользователя, указанного в запросе.
922 +
923 +(% style="color:#000000" %)Метод запроса: **PUT**
924 +
925 +(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/(% lang="en-US" %)api/v3/models
926 +
927 +(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации
928 +
929 +(% style="color:#000000" %)Параметры в теле запроса (JSON):
930 +
931 +{
932 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
933 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
934 + "deleted": true,
935 + "extId": "string",
936 + "name": "string",
937 + "picture": "string",
938 + "minspeed": 0,
939 + "maxspeed": 0,
940 + "width": 0,
941 + "imbeddedtrailer": true,
942 + "fueloutlay": 0,
943 + "hoppercapacity": 0,
944 + "hopperdischargespeed": 0,
945 + "modelType": 0
946 +}
947 +
948 +Ответ:
949 +
950 +{
951 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
952 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
953 + "deleted": true,
954 + "extId": "string",
955 + "name": "string",
956 + "picture": "string",
957 + "minspeed": 0,
958 + "maxspeed": 0,
959 + "width": 0,
960 + "imbeddedtrailer": true,
961 + "fueloutlay": 0,
962 + "hoppercapacity": 0,
963 + "hopperdischargespeed": 0,
964 + "modelType": 0
965 +}
966 +
967 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
968 +|(% style="width:215px" %)(% style="color:#000000" %)id|(% style="width:861px" %)ID модели объекта
969 +|(% style="width:215px" %)(% style="color:#000000" %)parentId|(% style="width:861px" %)ID клиента, которому принадлежит модель объекта
970 +|(% style="width:215px" %)(% style="color:#000000" %)parentName|(% style="width:861px" %)Имя клиента, которому принадлежит модель объекта
971 +|(% style="width:215px" %)(% style="color:#000000" %)name|(% style="width:861px" %)Имя модели объекта
972 +|(% style="width:215px" %)(% style="color:#000000" %)picture|(% style="width:861px" %)Название иконки транспорта
973 +|(% style="width:215px" %)(% style="color:#000000" %)minspeed|(% style="width:861px" %)Минимальная технологическая скорость обработки поля, в км/ч
974 +|(% style="width:215px" %)(% style="color:#000000" %)maxspeed|(% style="width:861px" %)Максимальная технологическая скорость обработки поля, в км/ч
975 +|(% style="width:215px" %)(% style="color:#000000" %)width|(% style="width:861px" %)Ширина агрегата, в метрах
976 +|(% style="width:215px" %)(% style="color:#000000" %)imbeddedtrailer|(% style="width:861px" %)Опция: Содержит встроенный агрегат
977 +|(% style="width:215px" %)(% style="color:#000000" %)hoppercapacity|(% style="width:861px" %)Объем бункера
978 +|(% style="width:215px" %)(% style="color:#000000" %)hopperdischargespeed|(% style="width:861px" %)Скорость выгрузки из бункера, л/сек
979 +|(% style="width:215px" %)(% style="color:#000000" %)modelType|(% style="width:861px" %)Определяет тип модели объекта: 0 - None, 1 - Agro, 2 - Cargo, 3 - Car
980 +
981 +== (% style="color:#000000; font-size:16px" %)**Удаление модели**(%%) ==
982 +
983 +(% class="box errormessage" %)
984 +(((
985 +(% lang="en-US" %)**DELETE /api/v3/models/{Id}**
986 +)))
987 +
988 +(% style="color:#000000" %)Метод позволяет удалить пользователя. Метод позволяет удалить пользователя, указанного в строке запроса.
989 +
990 +(% style="color:#000000" %)Метод запроса: **DELETE**
991 +
992 +(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru(% lang="en-US" %)/api/v3/models/{Id}
993 +
994 +(% style="color:#000000" %)Параметр запроса: {**__id__**} - id модели
995 +
996 +(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации
997 +
998 +Ответ: В случае успеха **Success 200**
999 +
1000 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Транспортные средства (объекты)**(%%) =
1001 +
687 687  == (% style="color:#000000; font-size:16px" %)**Получение информации об объекте**(%%) ==
688 688  
689 689  (% class="box infomessage" %)
... ... @@ -701,9 +701,9 @@
701 701  
702 702  (% style="color:#000000" %)Метод запроса: **GET**
703 703  
704 -(% style="color:#000000" %)URL запроса: (%%)[[https:~~/~~/hosting.glonasssoft.ru/api/v3/vehicles/>>url:https://hosting.glonasssoft.ru/api/v3/vehicles/]](% style="color:#000000" %)<(% lang="en-US" %)v(%%)ehicleID>
1019 +(% style="color:#000000" %)URL запроса: (%%)[[https:~~/~~/hosting.glonasssoft.ru/api/v3/vehicles/>>url:https://hosting.glonasssoft.ru/api/v3/vehicles/]](% style="color:#000000" %){(% lang="en-US" %)v(%%)ehicleID}
705 705  
706 -(% style="color:#000000" %)Параметр запроса: <__**vehicleid**__> - идентификатор объекта (опционально)
1021 +(% style="color:#000000" %)Параметр запроса: {__**vehicleid}**__ - идентификатор объекта (integer($int32))
707 707  
708 708  (% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации
709 709  
... ... @@ -711,6 +711,17 @@
711 711  
712 712  (((
713 713  {
1029 +
1030 +(((
1031 + "showLineTrackWhenNoCoords": true,  ~/~/ Обозначать трек при отсутствии координат.
1032 + "IsSackEnabled": true, ~/~/ Определяет, должен ли внутренний сервер отвечать устройству сообщением SACK при получении сообщения от устройства
1033 +)))
1034 +
1035 +(((
1036 + ~/~/Используется только на ТС с типом устройства quecklink gv56, quecklink gv58, quecklink
1037 + "vehicleGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid TC
1038 +)))
1039 +
714 714   "vehicleId": "", ~/~/ ID объекта
715 715   "name": "", ~/~/ Имя объекта
716 716   "imei": "", ~/~/ IMEI объекта
... ... @@ -717,20 +717,130 @@
717 717   "deviceTypeId": , ~/~/ ID типа устройства
718 718   "deviceTypeName": "", ~/~/ Название типа устройства
719 719   "sim1": "", ~/~/ Номер SIM1
720 - "parentId": "", Номер SIM2
721 - "parentName": "", Наименование клиента-родителя
722 - "modelId": "", ID модели объекта
723 - "modelName": "", Имя модели объекта
724 - "createdAt": "", Дата создания объекта
725 - "mileageCalcMethod": "", Выбранный метод расчета пробега
726 - "counters": { ~/~/ Нормы
727 - "mileageEnabled": "", ~/~/ Флаг активности счётчика "Пробег" (true - включен, false - отключен)
728 - "motohoursEnabled": "", ~/~/ флаг активности счётчика "Моточасы" (true - включен, false - отключен)
729 - "mileage": "", ~/~/ Пробег по нормам в метрах
730 - "motohours": "" ~/~/ Моточасы по нормам, в секундах
731 - "mileageTime": "2023-03-14T11:18:52.696Z", ~/~/ временная метка редактирования/обновления счетчика пробега
732 - "motohoursTime": "2023-03-14T11:18:52.696Z" ~/~/ временная метка редактирования/обновления счетчика моточасов
1046 + "sim2": "", ~/~/ Номер SIM2
1047 + "parentId": "", ~/~/ ID клиента-родителя
1048 + "parentName": "", ~/~/ Наименование клиента-родителя
1049 + "modelId": "", ~/~/ ID модели объекта
1050 + "modelName": "", ~/~/ Имя модели объекта
1051 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID подразделения
1052 + "unitName": "string", ~/~/ Наименование подразделения
1053 + "status": 0, ~/~/ Статус объекта
1054 + "createdAt": "", ~/~/ Дата создания объекта
733 733   },
1056 +"customFields": [ ~/~/ Произвольные поля
1057 + {
1058 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID поля
1059 + "name": "string", ~/~/ Имя поля
1060 + "value": "string", ~/~/ Значение поля
1061 + "forClient": true, ~/~/ Не используемая функция
1062 + "forTooltip": true, ~/~/ Отображать в подсказке
1063 + "forReport": true ~/~/ Отображать в отчете
1064 + }
1065 +
1066 +], ~/~/ Данные с вкладки нормы
1067 + "consumptionPer100Km": "" , ~/~/ Расход топлива на 100 км (если заполнено, то consumptionPerHour не может быть заполнено)
1068 + "consumptionPerHour": "" , ~/~/ Расход топлива за моточас (если заполнено, то consumptionPer100Km не может быть заполнено)
1069 + "consumptionIdle": "" , ~/~/ Расход топлива на холостом ходу
1070 + "consumptionPer100KmSeasonal": 0, ~/~/ Сезонный расход топлива на 100 км 
1071 + "consumptionPerHourSeasonal": 0, ~/~/ Сезонный расход топлива на моточас
1072 + "consumptionIdleSeasonal": 0, ~/~/ Сезонный расход топлива на холостом ходу 
1073 + "consumptionPer100KmSeasonalBegin": "" , ~/~/ День/месяц начала работы сезонной нормы расхода на 100 км
1074 + "consumptionPer100KmSeasonalEnd": "" , ~/~/ День/месяц окончания работы сезонной нормы расхода на 100 км
1075 + "consumptionPerHourSeasonalBegin": "" , ~/~/ День/месяц начала работы сезонной нормы расхода на моточас
1076 + "consumptionPerHourSeasonalEnd": "" , ~/~/ День/месяц окончания работы сезонной нормы расхода на  моточас
1077 + "consumptionIdleSeasonalBegin": "" , ~/~/ День/месяц начала работы сезонной нормы расхода на х/х
1078 + "consumptionIdleSeasonalEnd": "" , ~/~/ День/месяц окончания работы сезонной нормы расхода на х/х  
1079 + "mileageCalcMethod": 0, ~/~/ Метод расчета пробега, 0 - gps, 1 - датчик зажигания
1080 + "mileageCoeff": 0, ~/~/ коэффициент пробега
1081 + "locationByCellId": true, ~/~/ определение местоположения по данным LBS, true - активна, false - не активна
1082 + "dottedLineTrackWhenNoCoords": true, ~/~/ Обозначать пунктиром трек при отсутствии координат, true - активна, false - не активна
1083 + "counters": { ~/~/ Счетчики
1084 + "mileageEnabled": true, ~/~/ Считать текущий пробег, true - активна, false - не активна
1085 + "motohoursEnabled": true, ~/~/ Считать текущие моточасы, true - активна, false - не активна
1086 + "mileage": 0, ~/~/ Текущий пробег
1087 + "motohours": 0, ~/~/ Текущие моточасы
1088 + "mileageTime": "2023-05-22T09:57:39.562Z", ~/~/ Дата пересчета последнего пробега
1089 + "motohoursTime": "2023-05-22T09:57:39.562Z" ~/~/ Дата пересчета последних моточасов
1090 + },
1091 +
1092 +"cmsv6Parameters": { ~/~/ Настройки видеомониторинга
1093 + "id": "string", ~/~/ ID объекта
1094 + "enabled": true, ~/~/ Включить, true - активна, false - не активна
1095 + "host": "string", ~/~/ CMSV6 Web Host
1096 + "login": "string", ~/~/ CMSV6 Account
1097 + "password": "string" ~/~/ CMSV6 Password
1098 + },
1099 +
1100 +"commandTemplates": [ ~/~/ Шаблоны команд
1101 + {
1102 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID команды
1103 + "name": "string", ~/~/ Наименование команды
1104 + "command": "string", ~/~/ Текст команды
1105 + "retries": 0 ~/~/ Количество попыток
1106 + }
1107 + ],
1108 + "sensors": [ ~/~/ Датчики
1109 + {
1110 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID датчика
1111 + "kind": 0, ~/~/ Тип, Simple - простой, Composite - виртуальный
1112 + "type": 0, ~/~/ Тип датчика
1113 + "name": "string", ~/~/ Имя датчика
1114 + "inputType": 0, ~/~/ Тип входа, Analog, Digital, Impulse, ImpulseFrequency, Diagnosis, Rs485, Rs232, Wire, FMS, BLE
1115 + "inputNumber": 0, ~/~/ Номер входа
1116 + "pseudonym": "string", ~/~/ Псевдоним
1117 + "medianDegree": 0, ~/~/ Медианная фильтрация
1118 + "isInverted": true, ~/~/ Инвертировать, true - Вкл., false - Выкл.
1119 + "disabled": true, ~/~/ Состояние: Отключен, true - Вкл., false - Выкл.
1120 + "gradeType": 0, ~/~/ Тип тарировки, 0 - Default, 1 - Digital, 2 - GradeTable, 3 - CounterSummary, 4 - CounterDiffs
1121 + "gradesTables": [ ~/~/ Массив таблиц тарировки
1122 + {
1123 + "grades": [ ~/~/ Таблица тарировки 1
1124 + {
1125 + "input": 0, ~/~/ Входящее значение
1126 + "output": 0 ~/~/ Выходящее значение
1127 + }
1128 + ],
1129 + "relevanceTime": "2023-05-22T09:57:39.562Z" ~/~/ Дата/время начала применения тарировочной таблицы
1130 + }
1131 + ],
1132 + "showInTooltip": true, ~/~/ Отображать в подсказке
1133 + "showLastValid": true, ~/~/ Отображать последнее валидное значение
1134 + "color": "string", ~/~/ Код цвета датчиков
1135 + "showAsDutOnGraph": true, ~/~/ Отображать на графике как датчик уровня топлива
1136 + "showWithoutIgn": true, ~/~/ Отображать трек без включенного зажигания
1137 + "agrFunction": 0, ~/~/ Функция, SUM, AVG, EXPRESSION
1138 + "expr": "string", ~/~/ Формула
1139 + "children": [ ~/~/ массив дочерних датчиков
1140 + "string"
1141 + ],
1142 + "customParams": { ~/~/ прочие произвольные параметры
1143 + "additionalProp1": "string",
1144 + "additionalProp2": "string",
1145 + "additionalProp3": "string"
1146 + },
1147 +
1148 +~/~/ Характерные для произвольного:
1149 +~/~/  "EventsEnabled": "off", ~/~/ Фиксировать события работы: on, off
1150 +~/~/  "EventsTemplateName": "Работа Произвольный", ~/~/ Наименование события работы
1151 +~/~/  "EventsCountEnabled": "off", ~/~/ Фиксировать количество срабатываний: on, off
1152 +~/~/  "EventsCountTemplateName": "Количество срабатываний Произвольный", ~/~/Наименование ~/~/события количества срабатываний
1153 +~/~/  "MapDisplayEnabled": "off", ~/~/ Отображать на карте: on, off
1154 +~/~/  "ChartDisplayEnabled": "off", ~/~/ Отображать на графике объекта: on, off
1155 +~/~/  "PayloadChartDisplayEnabled": "off", ~/~/ Отображать на графике полезной нагрузки: on, off
1156 +~/~/  "DrawType": ~/~/ тип отрисовки line, bar (Линия, Область)
1157 +~/~/ Характерные для таблицы тарировки Вкл./Выкл.:
1158 +~/~/ "ValueOn": "Вкл.",
1159 +~/~/ "ValueOff": "Выкл."
1160 + "summaryMaxValue": 0 ~/~/ Макс. значение
1161 + }
1162 + "drivers": [ ~/~/ Водители
1163 + {
1164 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
1165 + "name": "string", ~/~/ Наименование
1166 + "description": "string",
1167 + "isDefault": true ~/~/ По умолчанию
1168 + }
1169 + ],
734 734   "inspectionTasks": [ ~/~/ Задания на тех. обслуживание
735 735   {
736 736   "id": "", ~/~/ ID  задания
... ... @@ -746,10 +746,28 @@
746 746   "lastInspectionDate": "" ~/~/ Дата последнего ТО (null - не указано)
747 747   "maxQuantity": "" ~/~/ Сколько раз выполнить задание (null - однократно)
748 748   }
749 - ]
1185 + ],
1186 +"statusHistory": [ ~/~/ История статусов
1187 + {
1188 + "status": 0,
1189 + "date": "2023-05-22T09:57:39.562Z",
1190 + "description": "string",
1191 + "additionalInfo": "string"
1192 +
1193 +(((
750 750  }
1195 + ],
1196 + "highlightSensorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  ~/~/ Guid датчика, выбранного для подсветки его значения в различных интервалах
1197 + "motohoursCalcMethod": 0 ~/~/ Вид расчета моточасов.
751 751  )))
752 752  
1200 +(((
1201 + ~/~/ 0 - По датчику зажигания, 1 - По датчику Моточасов, 2 - По датчику относительных Моточасов
1202 +}
1203 +
1204 +)))
1205 +)))
1206 +
753 753  (% style="text-align:left" %)
754 754  Параметр «status» содержит id статуса объекта в системе, соответствие id и текстовое названия статуса приведены ниже:
755 755  
... ... @@ -756,6 +756,75 @@
756 756  (% style="text-align:left" %)
757 757  0 - «Блокировка» 1 - «Активен», 2 - «Отменен», 3 - «Оборудован», 4 - «Диагностика», 5 - «Сервис», 6 - «Демонтаж», 7 - «Монтаж», 8 - «Дозаказ», 9 - «Обслужен», 10 - «Списан», 11 - «Неисправен», 12 - «Проверен», 13 - «Не эксплуатируется».
758 758  
1213 +
1214 +== **Отправить команду на терминал** ==
1215 +
1216 +(% class="box successmessage" %)
1217 +(((
1218 +(% lang="en-US" %)**POST **(%%)**/api/v3/Vehicles/cmd/create**
1219 +)))
1220 +
1221 +Команда для отправки на тс.
1222 +
1223 +{  
1224 +"id": "", ~/~/идентификатор объекта (он же идентификатор ТС: vehicleId)
1225 +"command": "", ~/~/ Текст отправляемой команды
1226 +"retries": "", ~/~/ Количество попыток отправки на терминал
1227 +"idTemplate": "" ~/~/ ID шаблона команды (при использовании ранее созданных шаблонов). 
1228 +}
1229 +
1230 +В ответ получаем cmdid
1231 +
1232 +
1233 +== **Получить ответ на отправленную на ТС команду** ==
1234 +
1235 +(% class="box infomessage" %)
1236 +(((
1237 +(% lang="en-US" %)**GET **(%%)**/api/v3/Vehicles/cmd/{cmdId}/answer**
1238 +)))
1239 +
1240 +Идентификатор команды: cmdId
1241 +
1242 +Запрос от терминала на ответ команды
1243 +
1244 +Пример ответ от терминала:
1245 +
1246 +ID= "" ~/~/ идентификатор объекта
1247 +Soft="" ~/~/ версия софта
1248 +GPS=4 ~/~/ тип трекера
1249 +Time=11:05:43 28.06.24 ~/~/ время запроса
1250 +Lat=45.056221 ~/~/ широта
1251 +Lon=39.035938 ~/~/ долгота
1252 +Speed=0.0 ~/~/ скорость
1253 +Course=181.4 ~/~/направление
1254 +
1255 +(((
1256 +== **Список отправленных объекту команд с ответами** ==
1257 +
1258 +(% class="box infomessage" %)
1259 +(((
1260 +(% lang="en-US" %)**GET**(%%)**/api/v3/Vehicles/cmd/{vehicleId}/history**
1261 +)))
1262 +
1263 +Идентификатор ТС: vehicleId
1264 +
1265 +В ответе приходит список команд с их ID, временем отправки, количестве попыток отправки и ответами терминала.
1266 +
1267 +Пример ответа терминала
1268 +
1269 +[ 
1270 +{    
1271 +"id": "", ~/~/ идентификатор пользователя
1272 +"commandText": "", ~/~/Текст команды.
1273 +"templateId": "", ~/~/Идентификатор шаблона
1274 +"updated": "", ~/~/ Время отправки  
1275 +"tryCount": 0, ~/~/ Количество попыток отправки команды
1276 +"answer": "", ~/~/ Ответ терминала.
1277 +"status": "" ~/~/ Статус отправки
1278 +}
1279 +]
1280 +)))
1281 +
759 759  == (% style="color:#000000; font-size:16px" %)**Добавление объекта**(%%) ==
760 760  
761 761  (% class="box successmessage" %)
... ... @@ -763,7 +763,7 @@
763 763  (% lang="en-US" %)**POST /api/v3/vehicles**
764 764  )))
765 765  
766 -(% style="color:#000000" %)Метод позволяет добавить объект. Метод позволяет добавить объект, указанный в запросе.
1289 +(% style="color:#000000" %)Метод позволяет добавить объект, указанный в запросе.
767 767  
768 768  (% style="color:#000000" %)Метод запроса: **POST**
769 769  
... ... @@ -775,6 +775,11 @@
775 775  
776 776  (% style="color:#000000" %){
777 777  
1301 +
1302 +(((
1303 + "vehicleId": 0, ~/~/ ID ТС
1304 +)))
1305 +
778 778   "parentId": "" , ~/~/ ID клиента
779 779   "name": "" , ~/~/ имя ТС
780 780   "imei": "" , ~/~/ IMEI
... ... @@ -795,6 +795,10 @@
795 795   "consumptionPerHourSeasonalEnd": "" , ~/~/ День/месяц окончания работы сезонной нормы расхода на моточас
796 796   "consumptionIdleSeasonalBegin": "" , ~/~/ День/месяц начала работы сезонной нормы расхода на х/х
797 797   "consumptionIdleSeasonalEnd": "" , ~/~/ День/месяц окончания работы сезонной нормы расхода на х/х
1326 + "mileageCalcMethod": 0,
1327 + "mileageCoeff": 0,
1328 + "locationByCellId": true,
1329 + "dottedLineTrackWhenNoCoords": true,
798 798   "counters": ~/~/ счетчики
799 799   {
800 800   "mileage": "" , ~/~/ пробег
... ... @@ -823,67 +823,346 @@
823 823   "lastInspectionDate": "" , ~/~/ Дата последнего ТО (null - не указано)
824 824   "maxQuantity": "" ~/~/ Сколько раз выполнить задание (null - однократно)
825 825   }
1358 +"drivers": [ ~/~/ Водители
1359 + {
1360 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
1361 + "isDefault": true
1362 + }
1363 + ],
1364 + "commandTemplates": [ ~/~/ Шаблон команды
1365 + {
1366 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
1367 + "name": "string",
1368 + "command": "string",
1369 + "retries": 0
1370 + }
1371 + ],
1372 +"sensors": [ ~/~/ Датчики
1373 + {
1374 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID датчика
1375 + "kind": 0, ~/~/ Тип, Simple - простой, Composite - виртуальный
1376 + "type": 0, ~/~/ Тип датчика
1377 + "name": "string", ~/~/ Имя датчика
1378 + "inputType": 0, ~/~/ Тип входа, Analog, Digital, Impulse, ImpulseFrequency, Diagnosis, Rs485, Rs232, Wire, FMS, BLE
1379 + "inputNumber": 0, ~/~/ Номер входа
1380 + "pseudonym": "string", ~/~/ Псевдоним
1381 + "medianDegree": 0, ~/~/ Медианная фильтрация
1382 + "isInverted": true, ~/~/ Инвертировать, true - Вкл., false - Выкл.
1383 + "disabled": true, ~/~/ Состояние: Отключен, true - Вкл., false - Выкл.
1384 + "gradeType": 0, ~/~/ Тип тарировки, 0 - Default, 1 - Digital, 2 - GradeTable, 3 - CounterSummary, 4 - CounterDiffs
1385 + "gradesTables": [ ~/~/ Массив таблиц тарировки
1386 + {
1387 + "grades": [ ~/~/ Таблица тарировки 1
1388 + {
1389 + "input": 0, ~/~/ Входящее значение
1390 + "output": 0 ~/~/ Выходящее значение
1391 + }
1392 + ],
1393 + "relevanceTime": "2023-05-22T09:57:39.562Z" ~/~/ Дата/время начала применения тарировочной таблицы
1394 + }
1395 + ],
1396 + "showInTooltip": true, ~/~/ Отображать в подсказке
1397 + "showLastValid": true, ~/~/ Отображать последнее валидное значение
1398 + "color": "string", ~/~/ код цвета датчиков
1399 + "showAsDutOnGraph": true, ~/~/ Отображать на графике как датчик уровня топлива
1400 + "showWithoutIgn": true, ~/~/ Отображать трек без включенного зажигания
1401 + "agrFunction": 0, ~/~/ Функция, SUM, AVG, EXPRESSION
1402 + "expr": "string", ~/~/ Формула
1403 + "children": [ ~/~/ массив дочерних датчиков
1404 + "string"
1405 + ],
1406 + "customParams": { ~/~/ прочие произвольные параметры
1407 + "additionalProp1": "string",
1408 + "additionalProp2": "string",
1409 + "additionalProp3": "string"
1410 + },
1411 +~/~/ Характерные для произвольного:
1412 +~/~/  "EventsEnabled": "off", ~/~/ Фиксировать события работы: on, off
1413 +~/~/  "EventsTemplateName": "Работа Произвольный", ~/~/ Наименование события работы
1414 +~/~/  "EventsCountEnabled": "off", ~/~/ Фиксировать количество срабатываний: on, off
1415 +~/~/  "EventsCountTemplateName": "Количество срабатываний Произвольный", ~/~/Наименование ~/~/события количества срабатываний
1416 +~/~/  "MapDisplayEnabled": "off", ~/~/ Отображать на карте: on, off
1417 +~/~/  "ChartDisplayEnabled": "off", ~/~/ Отображать на графике объекта: on, off
1418 +~/~/  "PayloadChartDisplayEnabled": "off", ~/~/ Отображать на графике полезной нагрузки: on, off
1419 +~/~/  "DrawType": ~/~/ тип отрисовки line, bar (Линия, Область)
1420 +~/~/ Характерные для таблицы тарировки Вкл./Выкл.:
1421 +~/~/ "ValueOn": "Вкл.",
1422 +~/~/ "ValueOff": "Выкл."
1423 + "summaryMaxValue": 0 ~/~/ Определяет максимальное значение датчика в режиме накопления.
826 826  
827 -(% style="color:#000000" %) }
1425 +(((
1426 + "valueIntervals": [ ~/~/ Интервалы значений для подсветки в мониторинге
1427 + {
1428 + "from": 0, ~/~/ С какого значения
1429 + "color": "string", ~/~/ Каким цветом
1430 + "text": "string" ~/~/ Текст подписи к этому интервалу
1431 + }
1432 + ]
1433 + }
1434 + ],
1435 +)))
828 828  
1437 + "highlightSensorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid датчика, выбранного для подсветки его значения в различных интервалах
1438 +
1439 +
1440 + "customFields": [ ~/~/ Произвольные поля
1441 + {
1442 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  ~/~/ System.Guid идентификатор элемента сущности
1443 + "name": "string", ~/~/ Наименование произвольного поля
1444 + "value": "string", ~/~/ Значение произвольного поля
1445 + "forClient": true, ~/~/ Отобразить произвольное поле у клиента
1446 + "forTooltip": true, ~/~/ Отобразить произвольное поле в подсказке (при наведении на ТС на карте)
1447 + "forReport": true ~/~/ Отобразить произвольное поле в отчете
1448 +
1449 +(((
1450 + }
1451 + ],
1452 + "motohoursCalcMethod": 0 ~/~/  Вид расчета моточасов.
1453 +)))
1454 +
1455 +(((
1456 + ~/~/ 0 - По датчику зажигания, 1 - По датчику Моточасов, 2 - По датчику относительных Моточасов
1457 +}
1458 +)))
1459 +
1460 +
829 829  (% style="color:#000000" %)Ответ:
830 830  
831 -(% style="color:#000000" %){
832 832  
833 - "vehicleId": "", ~/~/ID ТС 
834 - "parentId": "", ~/~/Guid владельца ТС
835 - "name": "", ~/~/Имя объекта
836 - "imei": "", ~/~/IMEI
837 - "deviceTypeId": "", ~/~/ID типа устройства
838 - "modelId": "", ~/~/ID модели
839 - "unitId": "", ~/~/ID подразделения
840 - "sim1": "", ~/~/SIM1
841 - "sim2": "", ~/~/SIM2
842 - "consumptionPer100Km": "", ~/~/Расход топлива на 100 км
843 - "consumptionIdle": "", ~/~/Расход топлива на холостом ходу
844 - "counters": { ~/~/Счётчики
845 - "mileageEnabled": true,
846 - "motohoursEnabled": true,
847 - "mileage": "",
848 - "motohours": 345.0
849 - },
850 - "cmsv6Parameters": { ~/~/Параметры CmsV6
851 - "id": null,
852 - "enabled": true, ~/~/флаг включения
853 - "host": "", ~/~/ IP-адрес или доменное имя из URL веб-сайта CMSV6
854 - "login": "", ~/~/ имя учетной записи
855 - "password": "" ~/~/ пароль учетной записи
856 - },
857 - "inspectionTasks": { ~/~/ задания на ТО
858 - "id": "", ~/~/ ID задачи
859 - "enabled": false, ~/~/ Признак включения
860 - "name": "", ~/~/ Имя задания
861 - "description": "", ~/~/ Описание задания
862 - "mileageCondition": "", ~/~/ Условие по пробегу
863 - "lastMileage": "", ~/~/ Пробег (в метрах)
864 - "motohoursCondition": "", ~/~/ Условие по моточасам
865 - "lastMotohours": "", ~/~/ Моточасы
866 - "periodicCondition": "", ~/~/ Условие периодичности по времени
867 - "kind": "", ~/~/ Вид периодичности по времени 
868 - "maxQuantity": "" ~/~/ Сколько раз выполнить задание (null - однократно)
1464 +(((
1465 +(((
1466 +(((
1467 +{
1468 + "vehicleId": 0,  ~/~/ ID ТС
1469 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid владельца ТС
1470 + "name": "string", ~/~/ Имя объекта
1471 + "imei": "string", ~/~/ IMEI
1472 + "deviceTypeId": 0, ~/~/ ID типа устройства
1473 + "modelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  ~/~/ ID модели
1474 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID подразделения
1475 + "sim1": "string", ~/~/ SIM1
1476 + "sim2": "string", ~/~/ SIM2
1477 + "consumptionPer100Km": 0, ~/~/ Расход топлива на 100 км
1478 + "consumptionPerHour": 0, ~/~/ Расход топлива на моточас
1479 + "consumptionIdle": 0,  ~/~/ Расход топлива на холостом ходу
1480 + "consumptionPer100KmSeasonal": 0, ~/~/ Сезонный расход топлива на 100 км
1481 + "consumptionPerHourSeasonal": 0, ~/~/ Сезонный расход топлива на моточас
1482 + "consumptionIdleSeasonal": 0, ~/~/ Сезонный расход топлива на холостом ходу
1483 + "consumptionPer100KmSeasonalBegin": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц начала работы сезонной нормы расхода на 100 км
1484 + "consumptionPer100KmSeasonalEnd": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на 100 км
1485 + "consumptionPerHourSeasonalBegin": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц начала работы сезонной нормы расхода на моточас
1486 + "consumptionPerHourSeasonalEnd": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на моточас
1487 + "consumptionIdleSeasonalBegin": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц начала работы сезонной нормы расхода на х/х
1488 + "consumptionIdleSeasonalEnd": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на х/х
1489 + "mileageCalcMethod": 0, ~/~/ Вид расчёта пробега (0 - ByGps, 1 - ByMileageSensor)
1490 + "mileageCoeff": 0, ~/~/ Коэффициент пробега при расчёте пробега по GPS (по умолчанию - 1)
1491 + "locationByCellId": true, ~/~/ Вычислять ли положение по базовым станциям, если координаты по GPS невалидны?
1492 + "dottedLineTrackWhenNoCoords": true, ~/~/ Обозначать пунктиром трек при отсутствии координат.
1493 + "showLineTrackWhenNoCoords": true, ~/~/ Обозначать трек при отсутствии координат.
1494 + "counters": {  ~/~/ Dto для состояний счётчиков
1495 + "mileageEnabled": true, ~/~/ Флаг включения счётчика "Пробег"
1496 + "motohoursEnabled": true, ~/~/ Флаг включения счётчика "Моточасы"
1497 + "mileage": 0, ~/~/ Пробег
1498 + "motohours": 0 ~/~/ Моточасы
1499 + },
1500 + "cmsv6Parameters": { ~/~/ Dto для CMSv6
1501 + "id": "string", ~/~/ CMSV6 Идентификатор
1502 + "enabled": true, ~/~/ Признак включения
1503 + "host": "string", ~/~/ IP-адрес или доменное имя из URL веб-сайта CMSV6. Порт также можно указать. В случае использования безопасного соединения необходимо указать протокол.
1504 + "login": "string", ~/~/ CMSV6 имя учетной записи
1505 + "password": "string" ~/~/ CMSV6 — пароль учетной записи
1506 + },
1507 + "inspectionTasks": [ ~/~/ Dto для описания задачи на ТО
1508 + {
1509 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID задачи
1510 + "enabled": true, ~/~/ Признак включения
1511 + "name": "string", ~/~/ Имя задания
1512 + "description": "string", ~/~/ Описание задания
1513 + "mileageCondition": 0, ~/~/ Условие по пробегу (в метрах)
1514 + "lastMileage": 0, ~/~/ Пробег (в метрах) на момент последнего ТО
1515 + "motohoursCondition": 0, ~/~/ Условие по моточасам (в секундах)
1516 + "lastMotohours": 0, ~/~/ Моточасы (в секундах) на момент последнего ТО
1517 + "periodicCondition": 0, ~/~/ Условие периодичности по времени
1518 + "kind": 0, ~/~/ Определяет вид периодичности ТО.( 0 - Дни, 1 - Месяцы , 2 - Годы)
1519 + "lastInspectionDate": "2024-10-30T08:11:35.622Z",  ~/~/  Дата последнего ТО
1520 + "maxQuantity": 0 ~/~/ Условие по количеству записей для деактивации
869 869   }
1522 + ],
1523 + "drivers": [ ~/~/ Список водителей. Определяет класс назначения водителя на объект.
1524 + {
1525 + "vehicleId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор объекта.
1526 + "inputNumber": 0, ~/~/ № входа.
1527 + "createTime": "2024-10-30T08:11:35.622Z", ~/~/ Момент времени создания назначения.
1528 + "comment": "string", ~/~/ Комментарий
1529 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор назначения.
1530 + "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя.
1531 + "beginTime": "2024-10-30T08:11:35.622Z", ~/~/ Момент времени начала назначения.
1532 + "endTime": "2024-10-30T08:11:35.622Z" ~/~/ Момент времени окончания назначения.
1533 + }
1534 + ],
1535 + "commandTemplates": [  ~/~/ Список шаблонов команд
1536 + {
1537 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID шаблона
1538 + "name": "string", ~/~/ Название шаблона команд
1539 + "command": "string", ~/~/ Команда на выполнение
1540 + "retries": 0 ~/~/ Лимит попыток отправки
1541 + }
1542 + ],
1543 + "sensors": [ ~/~/ Список датчиков
1544 + {
1545 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID датчика
1546 + "kind": 0, ~/~/ Определяет виды датчиков. 0 - Simple, 1 - Composite
1547 + "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
1548 + "name": "string",  ~/~/ Имя датчика
1549 + "inputType": 0, ~/~/ Тип входа, на который подключается определенный тип датчика. 0 - Digital, 1 - Analog, 2 - Impulse, 3 - Rs232, 4 - Rs485, 5 - FMS, 6 - Diagnosis, 7 - Wire, 8 - ImpulseFrequency, 9 - BLE, 255 - Virtual
1550 + "inputNumber": 0, ~/~/ Номер входа
1551 + "pseudonym": "string", ~/~/ Псевдоним
1552 + "medianDegree": 0, ~/~/ Степень медианной фильтрации
1553 + "isInverted": true, ~/~/  Признак инверсии
1554 + "disabled": true, ~/~/ Датчик не участвует в обработке
1555 + "gradeType": 0, ~/~/ Способ тарировки показаний датчика.  0 - Default, 1 - Digital, 2 - GradeTable, 3 - CounterSummary, 4 - CounterDiffs
1556 + "gradesTables": [ ~/~/ Тарировка
1557 + {
1558 + "grades": [ ~/~/ Таблицы тарировки
1559 + {
1560 + "input": 0, ~/~/ Вход
1561 + "output": 0 ~/~/ Выход
1562 + }
1563 + ],
1564 + "relevanceTime": "2024-10-30T08:11:35.622Z" ~/~/ Время, с которого наступает актуальность таблицы тарировки
1565 + }
1566 + ],
1567 + "showInTooltip": true, ~/~/ Отображение в подсказке
1568 + "showLastValid": true, ~/~/ Отображать последнее валидное значение
1569 + "color": "string", ~/~/ код цвета датчиков
1570 + "showAsDutOnGraph": true, ~/~/ Отображать на графике как датчик уровня топлива
1571 + "showWithoutIgn": true, ~/~/ Отображать без включенного зажигания
1572 + "agrFunction": 0,  ~/~/ Агрегирующая функция. 0 - SUM, 1 - AVG, 2 - EXPRESSION
1573 + "expr": "string", ~/~/ Выражение
1574 + "children": [ ~/~/ Cписок добавленных в агрегацию физ. датчиков
1575 + "string"
1576 + ],
1577 + "customParams": {
1578 + "additionalProp1": "string",
1579 + "additionalProp2": "string",
1580 + "additionalProp3": "string"
1581 + },
1582 + "summaryMaxValue": 0, ~/~/ Определяет максимальное значение датчика в режиме накопления.
1583 + "valueIntervals": [  ~/~/ Интервалы значений для подсветки в мониторинге
1584 + {
1585 + "from": 0, ~/~/ С какого значения
1586 + "color": "string", ~/~/ Каким цветом
1587 +)))
870 870  
871 -(% style="text-align:left" %)
872 -(% style="color:#000000" %)}
1589 +(((
1590 + "text": "string" ~/~/ Текст подписи к этому интервалу
1591 + }
1592 + ]
1593 + }
1594 + ],
1595 + "highlightSensorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid датчика, выбранного для подсветки его значения в различных интервалах
1596 + "customFields": [ ~/~/ Список произвольных полей
1597 + {
1598 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ System.Guid идентификатор элемента сущности
1599 + "name": "string", ~/~/ Наименование произвольного поля
1600 + "value": "string", ~/~/ Значение произвольного поля
1601 + "forClient": true, ~/~/ Отобразить произвольное поле у клиента
1602 + "forTooltip": true, ~/~/ Отобразить произвольное поле в подсказке (при наведении на ТС на карте)
1603 + "forReport": true ~/~/ Отобразить произвольное поле в отчете
1604 + }
1605 + ],
1606 + "motohoursCalcMethod": 0 ~/~/ Вид расчета моточасов. 0 - По датчику зажигания, 1 - По датчику Моточасов, 2 - По датчику относительных Моточасов
1607 +}
1608 +)))
1609 +)))
1610 +)))
873 873  
1612 +
874 874  **Валидация:**
875 875  - сезонный параметр может быть задан только если задана соответствующая обычная норма;
876 876  - сезонные начало и окончание могут быть заданы только если задана соответствующая сезонная норма;
877 877  - при задании сезонной нормы обязательны соответствующие даты начала/окончания.
878 878  
879 -== (% style="color:#000000; font-size:16px" %)**Получение параметров объектов**(%%) ==
880 880  
1619 +== **Импортировать историю ТС (Асинхронный запрос)** ==
1620 +
1621 +(% class="box successmessage" %)
1622 +(((
1623 +**POST /api/v3/Vehicles/importAsync/history/{vehicleId} **
1624 +)))
1625 +
1626 +Метод запроса: **POST**
1627 +
1628 +URL запроса: **https:~/~/hosting.glonasssoft.ru/api/v3/Vehicles/importAsync/history/{vehicleId} **
1629 +
1630 +Параметр запроса: {**__vehicleid}__** - идентификатор транспортного средства
1631 +
1632 +
1633 +Ответ:
1634 +
1635 +{
1636 +
1637 + "RequestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Уникальный идентификатор запроса
1638 +
1639 + "Status": 0, ~/~/ Перечисление состояний выполнения запроса
1640 +
1641 +~/~/ ( 0 - Success, 1 - InPorgress, 2 - Canceled, 10 - Error, 20 - ErrorRequestValidation, 50 - ErrorExceedMaximumActiveRequest)
1642 +
1643 + "Message": "string", ~/~/ Информация о выполнении запроса
1644 +
1645 + "ProgressState": 1, ~/~/ Тип информирования о ходе выполнении запроса (1 - Intermediate, 2 - ProgressProcent, 255 - None)
1646 +
1647 + "ProgressValue": 0, ~/~/ Прогресс выполнения запроса. Актуально, только если ProgressState=InProgress
1648 +
1649 + "Data": "string" ~/~/ Данные
1650 +
1651 +}
1652 +
1653 +
1654 +== **Возвращает статус асинхронного запроса импорта истории ТС** ==
1655 +
881 881  (% class="box infomessage" %)
882 882  (((
1658 +**GET /api/v3/Vehicles/importAsync/history/state/{requestId}**
1659 +)))
1660 +
1661 +Метод запроса: **GET**
1662 +
1663 +URL запроса: https:**~/~/hosting.glonasssoft.ru/api/v3/Vehicles/importAsync/history/state/{requestId}**
1664 +
1665 +Параметр запроса: {**requestId__}__** - Уникальный идентификатор запроса
1666 +
1667 +
1668 +Ответ:
1669 +
1670 +{
1671 +
1672 + "RequestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Уникальный идентификатор запроса
1673 +
1674 + "Status": 0, ~/~/ Перечисление состояний выполения запроса
1675 +~/~/ 0 - Success, 1 - InPorgress, 2 - Canceled, 10 - Error, 20 - ErrorRequestValidation, 50 - ErrorExceedMaximumActiveRequest
1676 +
1677 + "Message": "string", ~/~/ Информация о выполнении запроса
1678 +
1679 + "ProgressState": 1, ~/~/ Тип информирования о ходе выполнении запроса
1680 +
1681 +~/~/ 1 - Intermediate, 2 - ProgressProcent, 255 - None
1682 +
1683 + "ProgressValue": 0, ~/~/ Прогресс выполнения запроса. Актуально, только если ProgressState=InProgress
1684 +
1685 + "Data": "string" ~/~/ Данные
1686 +
1687 +}
1688 +
1689 +
1690 +== (% style="color:#000000; font-size:16px" %)**Получение списка объектов с основными параметрами**(%%) ==
1691 +
1692 +(% class="box infomessage" %)
1693 +(((
883 883  (% lang="en-US" %)**POST /api/v3/vehicles/find**
884 884  )))
885 885  
886 -(% style="color:#000000" %)Метод позволяет получить основные параметры объектов: наименование, IMEI, тип устройства, модель объекта, подразделение, номера телефонов и идентификатор клиента, к которому прикреплен объект (клиент-родитель).
1697 +(% style="color:#000000" %)Метод позволяет получить список доступных объектов мониторинга (транспортных средств) с их основными параметрами: наименование, IMEI, тип устройства, модель объекта, подразделение, номера телефонов и идентификатор клиента, к которому прикреплен объект (клиент-родитель).
887 887  
888 888  (% style="color:#000000" %)Метод возвращает информацию об объектах с учетом настроек авторизованного пользователя, указанного в запросе:
889 889  
... ... @@ -917,9 +917,12 @@
917 917   "imei": null, ~/~/ "710179307", ~/~/ IMEI (string, опционально)
918 918   "sim": null, ~/~/ "938112", ~/~/ Номер телефона (string, опционально)
919 919   "deviceTypeId": null, ~/~/ 5, ID типа устройства (short, опционально)
920 - "parentId": null, ~/~/ ID клиента (Guid, опционально)
921 - "unitId": null, ~/~/ "b33548c3-73c3-40e4-8b78-81470ae744ed", ID подразделения (Guid, опционально)
922 - "customFields": null ~/~/ значение любого из произвольных полей ТС
1731 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ ID подразделения (опционально)
1732 + "unitName": "string",  ~/~/ Название подразделения (опционально)
1733 + "customFields": "string", ~/~/ Поиск по содержимому произвольных полей ТС (опционально)
1734 + "vehicleGroupId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID группы ТС (опционально)
1735 + "vehicleGroupName": "string", ~/~/ Название группы ТС (опционально)
1736 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Идентификатор агента, для которого надо получить данные
923 923  }
924 924  
925 925  (% style="color:#000000" %)Фильтрация осуществляется по точному совпадению значений параметров «__**vehicleId**__», «__**deviceTypeId**__», «__**parentId**__», «__**unitId**__», и по частичному - «__**name**__», «__**imei**__», «__**sim**__». Фильтрация по значению параметра «__**sim**__» осуществляется при наличии у авторизованного пользователя права **«__Просмотр номеров телефонов объектов__»**.
... ... @@ -926,8 +926,14 @@
926 926  
927 927  (% style="color:#000000" %)Ответ:
928 928  
929 -(% style="color:#000000" %){
1743 +(% style="color:#000000" %)[
1744 +{
930 930  
1746 +(((
1747 + "vehicleGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid TC
1748 +)))
1749 +
1750 +(((
931 931  (% style="color:#000000" %) "vehicleId": "" ~/~/ идентификатор объекта
932 932   "name": "" ~/~/ наименование объекта
933 933   "imei": "" ~/~/ IMEI объекта
... ... @@ -953,9 +953,21 @@
953 953   "forClient": true, ~/~/ право на отображение у клиента
954 954   "forTooltip": false, ~/~/ право на отображение в подсказке
955 955   "forReport": false ~/~/ право на отображение в отчетах
956 - }(%%)
957 -(% style="color:#000000" %)}
1776 +)))
958 958  
1778 +(((
1779 + }
1780 + ],
1781 + "vehicleGroups": [  ~/~/ Группы ТС
1782 + {
1783 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ System.Guid идентификатор элемента сущности
1784 + "name": "string" ~/~/ Наименование группы ТС
1785 + }
1786 + ]
1787 + }
1788 +]
1789 +)))
1790 +
959 959  (% style="color:#000000" %) Параметры «__**sim1**__» и «__**sim2**__» содержатся в ответе при наличии у авторизованного пользователя права **«__Просмотр номеров телефонов объектов__»**. Параметр «__**status**__» содержится в ответе при наличии у авторизованного пользователя права **«__Просмотр статуса объекта__»**.
960 960  
961 961  == (% style="color:#000000; font-size:16px" %)**Изменение статуса объекта**(%%) ==
... ... @@ -987,13 +987,11 @@
987 987   "data": "", ~/~/ Данные
988 988   "overwrite": false, ~/~/ Флаг перезаписи
989 989   "stage": "", ~/~/ Состояние, может быть null
990 -
991 991  (% style="color:#000000" %)}
992 992  
993 993  (% style="color:#000000" %)Ответ:
994 994  
995 -(% style="color:#000000" %){
996 -
1826 +(% style="color:#000000" %){(%%)
997 997   "status": "", ~/~/ значение статуса
998 998   "date": "", ~/~/ Дата смены статуса 
999 999   "description": "", ~/~/ Описание
... ... @@ -1000,10 +1000,10 @@
1000 1000   "data": "", ~/~/ Данные
1001 1001   "overwrite": false, ~/~/ Флаг перезаписи
1002 1002   "stage": "", ~/~/ Состояние
1003 -
1004 -(% style="text-align:left" %)
1005 1005  (% style="color:#000000" %) }
1006 1006  
1835 +== ==
1836 +
1007 1007  == (% style="color:#000000; font-size:16px" %)**Редактирование объекта**(%%) ==
1008 1008  
1009 1009  (% class="box warningmessage" %)
... ... @@ -1011,7 +1011,7 @@
1011 1011  (% lang="en-US" %)**PUT /api/v3/vehicles**
1012 1012  )))
1013 1013  
1014 -(% style="color:#000000" %)Метод позволяет отредактировать объект. Метод позволяет отредактировать объект, указанный в запросе.
1844 +(% style="color:#000000" %)Метод позволяет отредактировать объект, указанный в запросе.
1015 1015  
1016 1016  (% style="color:#000000" %)Метод запроса: **PUT**
1017 1017  
... ... @@ -1021,18 +1021,16 @@
1021 1021  
1022 1022  (% style="color:#000000" %)Параметры в теле запроса (JSON):
1023 1023  
1024 -(% style="color:#000000" %){    
1025 -
1026 -(((
1027 -(% style="color:#000000" %) "vehicleId": "", ~/~/ ID ТС
1028 - "parentId": "", ~/~/ ID клиента
1029 - "name": "", ~/~/ имя ТС
1030 - "imei": "", ~/~/ IMEI
1031 - "deviceTypeId": "", ~/~/ ID типа устройства
1032 - "modelId": "", ~/~/ , ID модели    
1033 - "unitId": "", ~/~/ подразделения
1034 - "sim1": "", ~/~/ SIM 1
1035 - "sim2": "", ~/~/ SIM2     (%%)
1854 +(% style="color:#000000" %){
1855 + "vehicleId": , ~/~/ ID объекта
1856 + "parentId": "" , ~/~/ ID клиента
1857 + "name": "" , ~/~/ имя ТС
1858 + "imei": "" , ~/~/ IMEI
1859 + "deviceTypeId": "" , ~/~/ ID типа устройства
1860 + "modelId": "" , ~/~/ ID модели
1861 + "unitId": "" , ~/~/ ID подразделения
1862 + "sim1": "" , ~/~/ Номер SIM 1
1863 + "sim2": "" , ~/~/ Номер SIM2
1036 1036   "consumptionPer100Km": "" , ~/~/ Расход топлива на 100 км (если заполнено, то consumptionPerHour не может быть заполнено)
1037 1037   "consumptionPerHour": "" , ~/~/ Расход топлива за моточас (если заполнено, то consumptionPer100Km не может быть заполнено)
1038 1038   "consumptionIdle": "" , ~/~/ Расход топлива на холостом ходу
... ... @@ -1045,89 +1045,326 @@
1045 1045   "consumptionPerHourSeasonalEnd": "" , ~/~/ День/месяц окончания работы сезонной нормы расхода на моточас
1046 1046   "consumptionIdleSeasonalBegin": "" , ~/~/ День/месяц начала работы сезонной нормы расхода на х/х
1047 1047   "consumptionIdleSeasonalEnd": "" , ~/~/ День/месяц окончания работы сезонной нормы расхода на х/х
1048 -(% style="color:#000000" %) "counters": 
1049 - {
1050 - "mileageEnabled": true, ~/~/ флаг активности счётчика «пробег»
1051 - "motohoursEnabled": true, ~/~/ флаг активности счётчика «моточасы»
1052 - "mileage": "", ~/~/ пробег, в метрах 
1053 - "motohours": "" ~/~/ моточасы, в секундах
1054 - }
1055 - "cmsv6Parameters": ~/~/ параметры CMSv6
1056 - {       
1057 - "id": "", ~/~/ идентификатор
1058 - "enabled": true, ~/~/ флаг включения
1059 - "host": "", ~/~/ IP-адрес или доменное имя из URL веб-сайта CMSV6
1060 - "login": "", ~/~/ имя учетной записи
1061 - "password": "", ~/~/ пароль учетной записи
1062 - }
1063 - "inspectionTasks": ~/~/ задания на ТО
1064 - {
1065 - "id": "", ~/~/ ID задания
1066 - "enabled": false, ~/~/ Признак включения
1067 - "name": "", ~/~/ Имя задания
1068 - "description": "", ~/~/ Описание задания
1069 - "mileageCondition": "", ~/~/ Условие по пробегу (в метрах, null - условие не работает)
1070 - "lastMileage": "", ~/~/ Пробег (в метрах) на момент последнего ТО (null - неважно)
1071 - "motohoursCondition": "", ~/~/ Условие по моточасам (в секундах, null - условие не работает)
1072 - "lastMotohours": "", ~/~/ Моточасы (в секундах) на момент последнего ТО (null - неважно)
1073 - "periodicCondition": "", ~/~/ Условие периодичности по времени (null - условие не работает)
1074 - "kind": "", ~/~/ Вид периодичности по времени
1075 - "maxQuantity": "", ~/~/ Сколько раз выполнить задание
1076 - } 
1876 +
1877 + "mileageCalcMethod": 0,
1878 + "mileageCoeff": 0,
1879 + "locationByCellId": true,
1880 + "dottedLineTrackWhenNoCoords": true,
1881 + "counters": ~/~/ счетчики
1882 + {
1883 + "mileage": "" , ~/~/ пробег
1884 + "mileageEnabled": true, ~/~/ флаг активности счётчика "пробег"
1885 + "motohours": "" , ~/~/ моточасы
1886 + "motohoursEnabled": true ~/~/ флаг активности счётчика "моточасы"
1887 + },
1888 + "cmsv6Parameters": { ~/~/ параметры CMSv6
1889 + "enabled": true, ~/~/ флаг включения
1890 + "id": "" , ~/~/ идентификатор
1891 + "host": "" , ~/~/ IP-адрес или доменное имя из URL веб-сайта CMSV6
1892 + "login": "" , ~/~/ имя учетной записи
1893 + "password": "" ~/~/ пароль учетной записи
1894 + },
1895 + "inspectionTasks": ~/~/ задания на ТО
1896 + {
1897 + "enabled": "" , ~/~/ Признак включения
1898 + "name": "" , ~/~/ Имя задания
1899 + "description": "" , ~/~/ Описание задания
1900 + "mileageCondition": "" , ~/~/ Условие по пробегу (в метрах, null - условие не работает)
1901 + "lastMileage": "" , ~/~/ Пробег (в метрах) на момент последнего ТО (null - неважно)
1902 + "motohoursCondition": "" , ~/~/ Условие по моточасам (в секундах, null - условие не работает)
1903 + "lastMotohours": "" , ~/~/ Моточасы (в секундах) на момент последнего ТО (null - неважно)
1904 + "periodicCondition": "" , ~/~/ Условие периодичности по времени (null - условие не работает)
1905 + "kind": "" , ~/~/ Вид периодичности по времени (дни - Days, месяцы - Months, года - Years, null - условие не работает)
1906 + "lastInspectionDate": "" , ~/~/ Дата последнего ТО (null - не указано)
1907 + "maxQuantity": "" ~/~/ Сколько раз выполнить задание (null - однократно)
1908 + }
1909 +
1910 +"drivers": [ ~/~/ Водители
1911 + {
1912 +
1913 +(((
1914 + "vehicleId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  ~/~/ Идентификатор объекта.
1915 + "inputNumber": 0, ~/~/ № входа.
1916 + "createTime": "2024-12-23T10:45:04.961Z", ~/~/ Момент времени создания назначения.
1917 + "comment": "string", ~/~/ Комментарий.
1918 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор назначения.
1919 + "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя.
1920 + "beginTime": "2024-12-23T10:45:04.961Z", ~/~/ Момент времени начала назначения.
1921 + "endTime": "2024-12-23T10:45:04.961Z" ~/~/ Момент времени окончания назначения.
1077 1077  )))
1078 1078  
1079 -(% style="color:#000000" %)}
1924 + } 
1925 + ],
1926 + "commandTemplates": [ ~/~/ Шаблон команды
1927 + {
1928 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
1929 + "name": "string",
1930 + "command": "string",
1931 + "retries": 0
1932 + }
1933 + ],
1934 +"sensors": [ ~/~/ Датчики
1935 + {
1936 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID датчика
1937 + "kind": 0, ~/~/ Тип, Simple - простой, Composite - виртуальный
1938 + "type": 0, ~/~/ Тип датчика
1939 + "name": "string", ~/~/ Имя датчика
1940 + "inputType": 0, ~/~/ Тип входа, Analog, Digital, Impulse, ImpulseFrequency, Diagnosis, Rs485, Rs232, Wire, FMS, BLE
1941 + "inputNumber": 0, ~/~/ Номер входа
1942 + "pseudonym": "string", ~/~/ Псевдоним
1943 + "medianDegree": 0, ~/~/ Медианная фильтрация
1944 + "isInverted": true, ~/~/ Инвертировать, true - Вкл., false - Выкл.
1945 + "disabled": true, ~/~/ Состояние: Отключен, true - Вкл., false - Выкл.
1946 + "gradeType": 0, ~/~/ Тип тарировки, 0 - Default, 1 - Digital, 2 - GradeTable, 3 - CounterSummary, 4 - CounterDiffs
1947 + "gradesTables": [ ~/~/ Массив таблиц тарировки
1948 + {
1949 + "grades": [ ~/~/ Таблица тарировки 1
1950 + {
1951 + "input": 0, ~/~/ Входящее значение
1952 + "output": 0 ~/~/ Выходящее значение
1953 + }
1954 + ],
1955 + "relevanceTime": "2023-05-22T09:57:39.562Z" ~/~/ Дата/время начала применения тарировочной таблицы
1956 + }
1957 + ],
1958 + "showInTooltip": true, ~/~/ Отображать в подсказке
1959 + "showLastValid": true, ~/~/ Отображать последнее валидное значение
1080 1080  
1961 +(((
1962 + "color": "string",** ~/~/ **Цвет датчика
1963 +)))
1964 +
1965 + "showAsDutOnGraph": true, ~/~/ Отображать на графике как датчик уровня топлива
1966 + "showWithoutIgn": true, ~/~/ Отображать трек без включенного зажигания
1967 + "agrFunction": 0, ~/~/ Функция, SUM, AVG, EXPRESSION
1968 + "expr": "string", ~/~/ Формула
1969 + "children": [ ~/~/ массив дочерних датчиков
1970 + "string"
1971 + ],
1972 + "customParams": { ~/~/ прочие произвольные параметры
1973 + "additionalProp1": "string",
1974 + "additionalProp2": "string",
1975 + "additionalProp3": "string"
1976 + },
1977 +~/~/ Характерные для произвольного:
1978 +~/~/  "EventsEnabled": "off", ~/~/ Фиксировать события работы: on, off
1979 +~/~/  "EventsTemplateName": "Работа Произвольный", ~/~/ Наименование события работы
1980 +~/~/  "EventsCountEnabled": "off", ~/~/ Фиксировать количество срабатываний: on, off
1981 +~/~/  "EventsCountTemplateName": "Количество срабатываний Произвольный", ~/~/Наименование ~/~/события количества срабатываний
1982 +~/~/  "MapDisplayEnabled": "off", ~/~/ Отображать на карте: on, off
1983 +~/~/  "ChartDisplayEnabled": "off", ~/~/ Отображать на графике объекта: on, off
1984 +~/~/  "PayloadChartDisplayEnabled": "off", ~/~/ Отображать на графике полезной нагрузки: on, off
1985 +~/~/  "DrawType": ~/~/ тип отрисовки line, bar (Линия, Область)
1986 +~/~/ Характерные для таблицы тарировки Вкл./Выкл.:
1987 +~/~/ "ValueOn": "Вкл.",
1988 +~/~/ "ValueOff": "Выкл."
1989 + "summaryMaxValue": 0 ~/~/ Макс. значение
1990 +
1991 + "valueIntervals": [ ~/~/ Интервалы значений для подсветки в мониторинге
1992 + {
1993 + "from": 0, ~/~/ С какого значения
1994 + "color": "string", ~/~/ Каким цветом
1995 + "text": "string" ~/~/ Текст подписи к этому интервалу
1996 + }
1997 + ]
1998 + }
1999 + ],
2000 + "highlightSensorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid датчика, выбранного для подсветки его значения в различных интервалах
2001 +
2002 + "customFields": [ ~/~/ Произвольные поля
2003 + {     
2004 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  ~/~/ System.Guid идентификатор элемента сущности
2005 + "name": "string", ~/~/ Наименование произвольного поля
2006 + "value": "string", ~/~/ Значение произвольного поля
2007 + "forClient": true, ~/~/ Отобразить произвольное поле у клиента
2008 + "forTooltip": true, ~/~/ Отобразить произвольное поле в подсказке (при наведении на ТС на карте)
2009 + "forReport": true ~/~/ Отобразить произвольное поле в отчете
2010 + }
2011 +
2012 +(((
2013 + ],
2014 + "motohoursCalcMethod": 0 ~/~/ Вид расчета моточасов. 0 - По датчику зажигания, 1 - По датчику Моточасов, 2 - По датчику относительных Моточасов
2015 +)))
2016 +
2017 +}
2018 +
2019 +
1081 1081  (% style="color:#000000" %)Ответ:
1082 1082  
1083 -(% lang="en-US" style="text-align:left" %)
1084 -(% lang="ru-RU" style="color:#000000; font-weight:normal" %){    
2022 +(((
2023 +{
2024 + "vehicleId": 0, ~/~/ ID ТС
2025 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid владельца ТС 
2026 + "name": "string", ~/~/ Имя объекта
2027 + "imei": "string", ~/~/ IMEI
2028 + "deviceTypeId": 0, ~/~/ ID типа устройства
2029 + "modelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID модели
2030 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID подразделения
2031 + "sim1": "string", ~/~/ SIM1
2032 + "sim2": "string", ~/~/ SIM2
2033 + "consumptionPer100Km": 0, ~/~/ Расход топлива на 100 км
2034 + "consumptionPerHour": 0, ~/~/ Расход топлива на моточас
2035 + "consumptionIdle": 0, ~/~/ Расход топлива на холостом ходу
2036 + "consumptionPer100KmSeasonal": 0, ~/~/ Сезонный расход топлива на 100 км
2037 + "consumptionPerHourSeasonal": 0, ~/~/ Сезонный расход топлива на моточас
2038 + "consumptionIdleSeasonal": 0, ~/~/ Сезонный расход топлива на холостом ходу
2039 + "consumptionPer100KmSeasonalBegin": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц начала работы сезонной нормы расхода на 100 км
2040 + "consumptionPer100KmSeasonalEnd": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на 100 км
2041 + "consumptionPerHourSeasonalBegin": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц начала работы сезонной нормы расхода на моточас
2042 + "consumptionPerHourSeasonalEnd": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на моточас
2043 + "consumptionIdleSeasonalBegin": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц начала работы сезонной нормы расхода на х/х
2044 + "consumptionIdleSeasonalEnd": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на х/х
2045 + "mileageCalcMethod": 0, ~/~/ Вид расчёта пробега. 0 - ByGps, 1 - ByMileageSensor
2046 + "mileageCoeff": 0, ~/~/ Коэффициент пробега при расчёте пробега по GPS (по умолчанию - 1)
2047 + "locationByCellId": true, ~/~/ Вычислять ли положение по базовым станциям, если координаты по GPS невалидны?
2048 + "dottedLineTrackWhenNoCoords": true, ~/~/ Обозначать пунктиром трек при отсутствии координат.
2049 + "showLineTrackWhenNoCoords": true, ~/~/ Обозначать трек при отсутствии координат.
2050 + "counters": { ~/~/ состояний счётчиков
2051 + "mileageEnabled": true,  ~/~/ Флаг включения счётчика "Пробег"
2052 + "motohoursEnabled": true, ~/~/ Флаг включения счётчика "Моточасы"
2053 + "mileage": 0, ~/~/ Пробег
2054 + "motohours": 0 ~/~/ Моточасы 
2055 + },
2056 + "cmsv6Parameters": { ~/~/ Dto для CMSv6
2057 + "id": "string", ~/~/ CMSV6 Идентификатор
2058 + "enabled": true, ~/~/ Признак включения
2059 + "host": "string", ~/~/ IP-адрес или доменное имя из URL веб-сайта CMSV6. 
2060 +)))
1085 1085  
1086 -(% lang="en-US" style="text-align:left" %)
1087 - "vehicleId": "", ~/~/ ID ТС
1088 - "parentId": "", ~/~/ ID клиента
1089 - "name": "", ~/~/ имя ТС
1090 - "imei": "", ~/~/ IMEI
1091 - "deviceTypeId": "", ~/~/ типа устройства
1092 - "modelId": "", ~/~/ ID модели
1093 - "unitId": "", ~/~/ ID подразделения
1094 - "sim1": "", ~/~/ SIM 1
1095 - "sim2": "", ~/~/ SIM2
1096 - "consumptionPer100Km": "", ~/~/ Расход топлива на 100 км
1097 - "consumptionIdle": "", ~/~/ Расход топлива на холостом ходу
1098 - "counters": 
1099 - {
1100 - "mileageEnabled": true, ~/~/ флаг активности счётчика «пробег»
1101 - "motohoursEnabled": true, ~/~/ флаг активности счётчика «моточасы»
1102 - "mileage": "", ~/~/ пробег
1103 - "motohours": "", ~/~/ моточасы
1104 - }
1105 - "cmsv6Parameters": ~/~/ параметры CMSv6
2062 +
2063 +(((
2064 +~/~/ Порт также можно указать. В случае использования безопасного соединения необходимо указать протокол.
2065 + "login": "string", ~/~/ CMSV6 имя учетной записи
2066 + "password": "string" ~/~/ CMSV6 — пароль учетной записи
2067 + },
2068 + "inspectionTasks": [ ~/~/ Задания на ТО
2069 + {
2070 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID задачи
2071 + "enabled": true, ~/~/ Признак включения
2072 + "name": "string", ~/~/ Имя задания
2073 + "description": "string", ~/~/ Описание задания
2074 + "mileageCondition": 0, ~/~/ Условие по пробегу (в метрах)
2075 + "lastMileage": 0, ~/~/ Пробег (в метрах) на момент последнего ТО
2076 + "motohoursCondition": 0, ~/~/ Условие по моточасам (в секундах)
2077 + "lastMotohours": 0, ~/~/ Моточасы (в секундах) на момент последнего ТО
2078 + "periodicCondition": 0, ~/~/ Условие периодичности по времени
2079 + "kind": 0, ~/~/ Определяет вид периодичности ТО. 0 - Дни, 1 - Месяца, 2 - Годы
2080 + "lastInspectionDate": "2024-10-30T10:31:17.196Z", ~/~/ Дата последнего ТО
2081 + "maxQuantity": 0  ~/~/ Условие по количеству записей для деактивации
2082 + }
2083 + ],
2084 + "drivers": [  ~/~/ Список водителей
2085 + {
2086 + "vehicleId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор объекта.
2087 + "inputNumber": 0, ~/~/ № входа.
2088 + "createTime": "2024-10-30T10:31:17.196Z", ~/~/ Момент времени создания назначения.
2089 + "comment": "string", ~/~/ Комментарий.
2090 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор назначения.
2091 + "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя.
2092 + "beginTime": "2024-10-30T10:31:17.196Z", ~/~/ Момент времени начала назначения.
2093 + "endTime": "2024-10-30T10:31:17.196Z" ~/~/ Момент времени окончания назначения.
2094 + }
2095 + ],
2096 + "commandTemplates": [ ~/~/ Список шаблонов команд
2097 + {
2098 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID шаблона
2099 + "name": "string", ~/~/ Название шаблона команд
2100 + "command": "string", ~/~/ Команда на выполнение
2101 + "retries": 0 ~/~/ Лимит попыток отправки
2102 + }
2103 + ],
2104 + "sensors": [  ~/~/ Список датчиков 
2105 + {
2106 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID датчика
2107 + "kind": 0, ~/~/ Определяет виды датчиков. 0 - Simple, 1 - Composite
2108 + "type": 0, ~/~/ Определяет типы датчиков. 0 - None, 1 - FuelLvl, 2 - PowerLevel, 3 - Consumption, 4 - Ignition,
2109 +)))
2110 +
2111 +(((
2112 +~/~/ 5 - Crane, 6 - Greider, 8 - Power, 11 - Arrow, 14 - Otval, 15 - Sand, 17 - MixerLand, 18 - MixerMove, 20 - Temperature,
2113 +)))
2114 +
2115 +(((
2116 +~/~/ 21 - Warning, 22 - Metla, 23 - Kosilka, 24 - DriverRFID, 25 - ReFueller, 27 - GrainLvl, 28 - EngineRPM, 29 - BodyUp,
2117 +)))
2118 +
2119 +(((
2120 +~/~/ 31 - EngineTemperature, 32 - TrailerRFID, 33 - Tank, 34 - Unloading, 35 - Custom, 36 - GNSS, 37 - WeighingTerminal,
2121 +)))
2122 +
2123 +(((
2124 +~/~/ 38 - RelativeMotohours, 39 - MileageSensor, 40 - Motohours, 41 - BunkerLowLevel, 42 - BunkerHighLevel,
2125 +)))
2126 +
2127 +(((
2128 +~/~/ 43 - AppliedKg, 44 - TreatedHa, 45 - RateKgHa, 46 - FertilizerLevel, 47 - FactOfWork, 48 - ReapingAggregate, 49 - AverageRateKgHa, 50 - Speed
2129 + "name": "string", ~/~/ Имя датчика
2130 + "inputType": 0, ~/~/ Тип входа, на который подключается определенный тип датчика. 0 - Digital, 1 - Analog, 2 - Impulse,
2131 +)))
2132 +
2133 +(((
2134 +~/~/ 3 - Rs232, 4 - Rs485, 5 - FMS, 6 - Diagnosis, 7 - Wire, 8 - ImpulseFrequency, 9 - BLE, 255 - Virtual
2135 + "inputNumber": 0, ~/~/ Номер входа
2136 + "pseudonym": "string", ~/~/ Псевдоним
2137 + "medianDegree": 0, ~/~/ Степень медианной фильтрации
2138 + "isInverted": true, ~/~/ Признак инверсии
2139 + "disabled": true, ~/~/ Датчик не участвует в обработке
2140 + "gradeType": 0, ~/~/ Способ тарировки показаний датчика.  0 - Default, 1 - Digital, 2 - GradeTable, 3 - CounterSummary, 4 - CounterDiffs
2141 + "gradesTables": [ ~/~/ Тарировка
1106 1106   {
1107 - "id": ~/~/ идентификатор
1108 - "enabled": true, ~/~/ флаг включения
1109 - "host": "", ~/~/ IP-адрес или доменное имя из URL веб-сайта CMSV6
1110 - "login": "", ~/~/ имя учетной записи
1111 - "password": "", ~/~/ пароль учетной записи
1112 - }
1113 - "inspectionTasks": ~/~/ задания на ТО
1114 - {
1115 - "id": "", ~/~/ ID задания
1116 - "enabled": false, ~/~/ Признак включения
1117 - "name": "", ~/~/ Имя задания
1118 - "description": "", ~/~/ Описание задания
1119 - "mileageCondition": "", ~/~/ Условие по пробегу
1120 - "lastMileage": "", ~/~/ Пробег (в метрах) на момент последнего ТО
1121 - "motohoursCondition": "", ~/~/ Условие по моточасам
1122 - "lastMotohours": "", ~/~/ Моточасы
1123 - "periodicCondition": "", ~/~/ Условие периодичности по времени
1124 - "kind": "", ~/~/ Вид периодичности по времени
1125 - "maxQuantity": "", ~/~/ Сколько раз выполнить задание
2143 + "grades": [ ~/~/ Таблицы тарировки
2144 + {
2145 + "input": 0, ~/~/ Вход
2146 + "output": 0 ~/~/ Выход
2147 + }
2148 + ],
2149 + "relevanceTime": "2024-10-30T10:31:17.196Z"  ~/~/ Время, с которого наступает актуальность таблицы тарировки
1126 1126   }
2151 + ],
2152 + "showInTooltip": true, ~/~/ Отображение в подсказке
2153 + "showLastValid": true, ~/~/ Отображать последнее валидное значение
1127 1127  
1128 -(% lang="en-US" style="text-align:left" %)
1129 -(% lang="ru-RU" style="color:#000000; font-weight:normal" %)}
2155 +(((
2156 + "color": "string", ~/~/ цвет уведомлений
2157 +)))
1130 1130  
2159 + "showAsDutOnGraph": true, ~/~/ Отображать на графике как датчик уровня топлива
2160 + "showWithoutIgn": true, ~/~/ Отображать без включенного зажигания
2161 + "agrFunction": 0, ~/~/ Агрегирующая функция. 0 - SUM, 1 - AVG, 2 - EXPRESSION 
2162 + "expr": "string", ~/~/ Выражение
2163 + "children": [ ~/~/ Cписок добавленных в агрегацию физ. датчиков
2164 + "string" 
2165 + ],
2166 + "customParams": { ~/~/ Дополнительные настройки
2167 + "additionalProp1": "string",
2168 + "additionalProp2": "string",
2169 + "additionalProp3": "string"
2170 + },
2171 + "summaryMaxValue": 0, ~/~/ Определяет максимальное значение датчика в режиме накопления.
2172 + "valueIntervals": [ ~/~/ Интервалы значений для подсветки в мониторинге
2173 + {
2174 + "from": 0, ~/~/ С какого значения
2175 + "color": "string", ~/~/ Каким цветом
2176 + "text": "string" ~/~/ Текст подписи к этому интервалу
2177 + }
2178 + ]
2179 + }
2180 + ],
2181 + "highlightSensorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid датчика, выбранного для подсветки его значения в различных интервалах
2182 + "customFields": [ ~/~/ Список произвольных полей
2183 + {
2184 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ System.Guid идентификатор элемента сущности
2185 + "name": "string", ~/~/ Наименование произвольного поля
2186 + "value": "string", ~/~/ Значение произвольного поля
2187 + "forClient": true, ~/~/ Отобразить произвольное поле у клиента
2188 + "forTooltip": true, ~/~/ Отобразить произвольное поле в подсказке (при наведении на ТС на карте)
2189 + "forReport": true ~/~/ Отобразить произвольное поле в отчете
2190 + }
2191 + ],
2192 + "motohoursCalcMethod": 0 ~/~/ Вид расчета моточасов. 0 - ByIgnitionSensor, 1 - ByMotohoursSensor, 2 - ByRelativeMotohoursSensor
2193 +}
2194 +)))
2195 +
1131 1131  **Валидация:**
1132 1132  - сезонный параметр может быть задан только если задана соответствующая обычная норма;
1133 1133  - сезонные начало и окончание могут быть заданы только если задана соответствующая сезонная норма;
... ... @@ -1140,7 +1140,7 @@
1140 1140  (% lang="en-US" %)**DELETE /api/v3/vehicles/{vehicleId}**
1141 1141  )))
1142 1142  
1143 -(% style="color:#000000" %)Метод позволяет удалить объект. Метод позволяет удалить объект, указанный в строке запроса.
2208 +(% style="color:#000000" %)Метод позволяет удалить объект, указанный в строке запроса.
1144 1144  
1145 1145  (% style="color:#000000" %)Метод запроса: **DELETE**
1146 1146  
... ... @@ -1166,18 +1166,15 @@
1166 1166  
1167 1167  (% style="color:#000000" %)Метод запроса: **GET**
1168 1168  
1169 -(% 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]]
2234 +(% style="color:#000000" %)URL запроса: (%%)[[https:~~/~~/hosting.glonasssoft.ru/api/v3/devices/types>>https://hosting.glonasssoft.ru/api/v3/devices/types]]
1170 1170  
1171 1171  (% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации
1172 1172  
1173 1173  (% style="color:#000000" %)Ответ:
1174 1174  
1175 -(% style="color:#000000" %){
1176 -
2240 +(% style="color:#000000" %){(%%)
1177 1177   "deviceTypeId" : "", ~/~/ ID типа устройства
1178 1178   "deviceTypeName" : "" ~/~/ Название типа устройства
1179 -
1180 -(% style="text-align:left" %)
1181 1181  (% style="color:#000000" %)}
1182 1182  
1183 1183  = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Датчики**(%%) =
... ... @@ -1199,13 +1199,10 @@
1199 1199  
1200 1200  (% style="color:#000000" %)Ответ:
1201 1201  
1202 -(% style="color:#000000" %){
1203 -
2264 +(% style="color:#000000" %){(%%)
1204 1204   "id": "", ~/~/ ID типа датчика 
1205 1205   "name": "", ~/~/ Название
1206 1206   "description": "", ~/~/ Описание
1207 -
1208 -(% style="text-align:left" %)
1209 1209  (% style="color:#000000" %)}
1210 1210  
1211 1211  = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Сообщения**(%%) =
... ... @@ -1249,6 +1249,56 @@
1249 1249   }
1250 1250  ]
1251 1251  
2311 +== (% style="color:#000000; font-size:16px" %)**Получить тип и номер входа сырого параметра **(%%) ==
2312 +
2313 +(% class="box infomessage" style="text-align: left;" %)
2314 +(((
2315 +**POST /api/v3/terminalMessages/mapping**
2316 +)))
2317 +
2318 +Запрос позволяет узнать тип и номер входа для сырого параметра, приходящего по указанному протоколу.
2319 +
2320 +(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/api/v3/terminalMessages/mapping
2321 +
2322 +(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации
2323 +
2324 +{
2325 + "protocolType": 0,
2326 + "params": ["string"]
2327 +}
2328 +
2329 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
2330 +|protocolType|ID типа протокола
2331 +|params|(((
2332 +Массив наименований параметров в сообщении
2333 +)))
2334 +
2335 +Ответ:
2336 +
2337 +{
2338 + "protocolType": 0,
2339 + "mapping": {
2340 + "additionalProp1": {
2341 + "inputType": 0,
2342 + "inputNumber": 0
2343 + },
2344 + "additionalProp2": {
2345 + "inputType": 0,
2346 + "inputNumber": 0
2347 + }
2348 + }
2349 +}
2350 +
2351 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
2352 +|protocolType|Тип протокола
2353 +|inputType|Тип входа, 0 - Цифровой, 1 - Аналоговый, 2 - Импульсный, 3 - Rs232, 4 - Rs485, 5 - FMS, 6 - Диагностический, 7 - 1-Wire, 8 - Частотный, 9 - BLE, 255 - Виртуальный
2354 +|inputNumber|(((
2355 +Номер входа
2356 +)))
2357 +
2358 +(% class="wikigeneratedid" %)
2359 +Перечень 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/]]
2360 +
1252 1252  == (% style="color:#000000; font-size:16px" %)**Запрос списка сообщений**(%%) ==
1253 1253  
1254 1254  (% class="box infomessage" %)
... ... @@ -1273,6 +1273,11 @@
1273 1273   "to": "2023-03-29T09:14:46.107Z" ~/~/ конец периода запроса
1274 1274  }
1275 1275  
2385 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
2386 +|vehicleId|ID объекта
2387 +|from|Дата и время начала периода запроса
2388 +|to|Дата и время окончания периода запроса
2389 +
1276 1276  Ответ:
1277 1277  
1278 1278  [
... ... @@ -1279,25 +1279,407 @@
1279 1279   {
1280 1280   "messages": [
1281 1281   {
1282 - "deviceTime": "2023-03-29T09:14:46.125Z", ~/~/ Время устройства
1283 - "serverTime": "2023-03-29T09:14:46.125Z", ~/~/ Время сервера
1284 - "speed": 0, ~/~/ Скорость, км/ч
1285 - "altitude": 0, ~/~/ Высота, м
1286 - "latitude": 0, ~/~/ Широта [-90°;90°]
1287 - "longitude": 0, ~/~/ Долгота [-180°;180°]
1288 - "satellites": 0, ~/~/ Кол-во спутников
1289 - "voltage": 0, ~/~/ Напряжение
1290 - "parameters": { ~/~/ список параметров датчиков передаваемых терминалом
2396 + "deviceTime": "2023-11-29T07:40:44.052Z",
2397 + "serverTime": "2023-11-29T07:40:44.052Z",
2398 + "speed": 0,
2399 + "altitude": 0,
2400 + "latitude": 0,
2401 + "longitude": 0,
2402 + "satellites": 0,
2403 + "course": 0,
2404 + "voltage": 0,
2405 + "parameters": {
1291 1291   "additionalProp1": "string",
1292 1292   "additionalProp2": "string",
1293 1293   "additionalProp3": "string"
1294 1294   },
1295 - "photoCount": 0 ~/~/ Кол-во фото
2410 + "photoCount": 0,
2411 + "lbsCorrectedCoords": true,
2412 + "protocolType": 0
1296 1296   }
1297 1297   ]
1298 1298   }
1299 1299  ]
1300 1300  
2418 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
2419 +|deviceTime|Время сообщения терминала
2420 +|serverTime|Время когда сообщение поступило на сервер
2421 +|speed|Скорость
2422 +|altitude|Высота над уровнем моря
2423 +|latitude|Широта
2424 +|longitude|Долгота
2425 +|satellites|Кол-во спутников
2426 +|course|Курс
2427 +|voltage|Бортовое напряжение
2428 +|parameters|Список параметров и их значений
2429 +|photoCount|Количество фото
2430 +|lbsCorrectedCoords|Признак того, что координаты были скорректированы по LBS, true - скорректированы, false - не скорректированы
2431 +|protocolType|ID типа протокола
2432 +
2433 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Запрос данных об объекте за период**(%%) =
2434 +
2435 +== (% style="color:#000000; font-size:16px" %)**Получение данных о пробеге и моточасах транспортного средства**(%%) ==
2436 +
2437 +(% class="box infomessage" %)
2438 +(((
2439 +(% style="color:#000000; line-height:100%" %)** **(% lang="en-US" %)**POST **(%%)**/api/v3/vehicles/mileageAndMotohours**
2440 +)))
2441 +
2442 +(% style="color:#000000" %)Метод запроса: **POST**
2443 +
2444 +(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/api/v3/vehicles/mileageAndMotohours
2445 +
2446 +(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации
2447 +
2448 +(% style="text-align:left" %)
2449 +Тело запроса:
2450 +
2451 +{
2452 + "sampling": 0, ~/~/ Частота дискретизации в секундах, минимум 60 секунд. Весь период разбивает на подпериоды с указанной частотой.
2453 + "vehicleIds": [0], ~/~/ Список ID объектов
2454 + "from": "2023-08-09T14:23:14.572Z", ~/~/ Начало периода
2455 + "to": "2023-08-09T14:23:14.572Z", ~/~/ Окончание периода
2456 + "timezone": 0 ~/~/ Временная зона. Если не указана, то по умолчанию UTC+3
2457 +}
2458 +
2459 +Ответ:
2460 +
2461 +[
2462 + {
2463 + "vehicleId": 0, ~/~/ ID объекта
2464 + "name": "string", ~/~/ Имя ТС
2465 + "periods": [ ~/~/ Периоды
2466 + {
2467 + "start": "2023-08-09T14:23:14.574Z", ~/~/ Начало 
2468 + "end": "2023-08-09T14:23:14.574Z", ~/~/ Окончание 
2469 + "mileage": 0, ~/~/ Пробег за период, километры
2470 + "mileageBegin": 0, ~/~/ Пробег на начало периода, километры 
2471 + "mileageEnd": 0, ~/~/ Пробег на окончание периода, километры
2472 + "motohours": 0, ~/~/ Моточасы за период, секунды
2473 + "motohoursBegin": 0, ~/~/ Моточасы на начало периода, секунды
2474 + "motohoursEnd": 0 ~/~/ Моточасы на окончание периода, секунды
2475 + "idlingTime": 0 ~/~/  Холостой ход за период, секунд
2476 +
2477 + }
2478 + ]
2479 + }
2480 +]
2481 +
2482 +== (% style="color:#000000; font-size:16px" %)**Получение данных о расходе транспортного средства**(%%) ==
2483 +
2484 +(% class="box infomessage" %)
2485 +(((
2486 +(% style="color:#000000; line-height:100%" %)** **(% lang="en-US" %)**POST **(%%)**/api/v3/vehicles/fuelConsumption**
2487 +)))
2488 +
2489 +(% style="color:#000000" %)Метод запроса: **POST**
2490 +
2491 +(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/api/v3/vehicles/fuelConsumption
2492 +
2493 +(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации
2494 +
2495 +(% style="text-align:left" %)
2496 +Тело запроса:
2497 +
2498 +{
2499 + "sampling": 0, ~/~/ Частота дискретизации в секундах, минимум 60 секунд. Весь период разбивает на подпериоды с указанной частотой.
2500 + "vehicleIds": [0], ~/~/ Список ID объектов
2501 + "from": "2023-08-09T14:23:14.572Z", ~/~/ Начало периода
2502 + "to": "2023-08-09T14:23:14.572Z", ~/~/ Окончание периода
2503 + "timezone": 0 ~/~/ Временная зона. Если не указана, то по умолчанию UTC+3
2504 +}
2505 +
2506 +Ответ:
2507 +
2508 +[
2509 + {
2510 + "vehicleId": 0, ~/~/ ID объекта
2511 + "name": "string", ~/~/ Имя ТС
2512 + "periods": [ ~/~/ Периоды
2513 + {
2514 + "start": "2023-08-09T14:23:14.574Z", ~/~/ Начало 
2515 + "end": "2023-08-09T14:23:14.574Z", ~/~/ Окончание 
2516 + "fuelLevelStart": 0, ~/~/ Уровень топлива на начало периода
2517 + "fuelLevelEnd": 0, ~/~/ Уровень топлива на конец периода
2518 + "fuelConsumption": 0, ~/~/ Расход топлива
2519 + "fuelConsumptionMove": 0 ~/~/ Расход топлива в движении
2520 + "fuelConsumptionFactTank": 0 ~/~/ Фактический расход топлива в цистерне
2521 +
2522 + }
2523 + ]
2524 + }
2525 +]
2526 +
2527 +(% class="box warningmessage" %)
2528 +(((
2529 +Максимальное допустимое количество периодов в ответе - 1440. При превышении этого значения будет получена ошибка ""ApiCode":204,"ApiMessage":"Прислана неправильная модель","Message":"Задан слишком маленький период дискретизации"".
2530 +\\При большом количестве периодов существенно растет нагрузка, синхронный запрос может выдать ошибку по таймауту. Рекомендуем не занижать необходимое значение параметра "sampling".
2531 +)))
2532 +
2533 +== (% style="color:#000000; font-size:16px" %)**Получение данных о заправках и сливах транспортного средства**(%%) ==
2534 +
2535 +(% class="box infomessage" %)
2536 +(((
2537 +(% style="color:#000000; line-height:100%" %)** **(% lang="en-US" %)**POST **(%%)**/api/v3/vehicles/fuelInOut**
2538 +)))
2539 +
2540 +(% style="color:#000000" %)Метод запроса: **POST**
2541 +
2542 +(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/api/v3/vehicles/fuelInOut
2543 +
2544 +(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации
2545 +
2546 +(% style="text-align:left" %)
2547 +Тело запроса:
2548 +
2549 +{
2550 + "vehicleIds": [0], ~/~/ Список ID объектов
2551 + "from": "2023-08-09T14:27:44.772Z", ~/~/ Дата и время начало запроса
2552 + "to": "2023-08-09T14:27:44.772Z", ~/~/ Дата и время окончания запроса
2553 + "timezone": 0 ~/~/ Временная зона. Если не указана, то по умолчанию UTC+3
2554 +}
2555 +
2556 +Ответ:
2557 +
2558 +[
2559 + {
2560 + "start": "2023-08-09T14:27:44.773Z", ~/~/ Начало периода
2561 + "end": "2023-08-09T14:27:44.773Z", ~/~/ Окончание периода
2562 + "vehicleId": 0, ~/~/ ID объекта
2563 + "name": "string", ~/~/ Имя объекта
2564 + "model": "string", ~/~/ Модель объекта
2565 + "fuels": [ ~/~/ Массив данным по заправкам и сливам
2566 + {
2567 + "event": 0, ~/~/ Тип события 0 - Other, 1 - Engine, 2 - Stop, 3 - FuelIn, 4 - FuelOut, 5 - Garbage, 6 - Grader, 8 - Otval, 9 - Sand, 10 - MixerLand, 11 - MixerMove, 12 - OpenCircuit, 13 - TechSpeed, 14 - Work, 15 - Braid, 16 - Broom, 17 - ReFuller, 18 - Crane, 19 - Power, 20 - TankFuelIn, 21 - TankFuelOut, 22 - BigStop, 23 - OverSpeed, 24 - Unloading, 25 - Warning, 26 - GarbageWork, 27 - Custom, 28 - CustomWork, 29 - GNSS, 30 - GrainIn, 31 - GrainOut, 32 - WeighingTerminal, 33 - Stopping, 34 - FertilizerWork, 35 - FertilizerRefueling
2568 +
2569 + "startDate": "2023-08-09T14:27:44.773Z", ~/~/ Начало
2570 + "endDate": "2023-08-09T14:27:44.773Z", ~/~/ Окончание
2571 + "valueFuel": 0, ~/~/ Количество
2572 + "fuelStart": 0, ~/~/ Уровень топлива на начало события
2573 + "fuelEnd": 0 ~/~/ Уровень топливо на конец события
2574 + }
2575 + ]
2576 + }
2577 +]
2578 +
2579 +
2580 +== (% style="color:#000000; font-size:16px" %)**Получение данных по событиям движения и стоянок у объектов**(%%) ==
2581 +
2582 +(% class="box infomessage" %)
2583 +(((
2584 +**POST /api/v3/vehicles/moveStop**
2585 +)))
2586 +
2587 +Метод запроса: **POST**
2588 +
2589 +URL запроса: https:~/~/hosting.glonasssoft.ru/api/v3/vehicles/moveStop
2590 +
2591 +В заголовках запроса: X-Auth: Токен авторизации
2592 +
2593 +
2594 +Тело запроса:
2595 +
2596 +{
2597 + "vehicleIds": [ ], ~/~/ Список ID объектов
2598 + "from": "2024-01-30T10:12:19.125Z", ~/~/ Дата и время начало запроса
2599 + "to": "2024-01-30T10:12:19.125Z", ~/~/ Дата и время окончания запроса
2600 + "timezone": 0 ~/~/ Временная зона. Если не указана, то по умолчанию UTC+3
2601 +}
2602 +
2603 +Ответ:
2604 +
2605 +[ 
2606 + {
2607 + "vehicleId": 0, ~/~/ ID объекта
2608 + "vehicleName": "string", ~/~/ Имя объекта
2609 + "moves": [ ~/~/ Событие движения
2610 + {
2611 + "mileage": 0, ~/~/ Пробег, км
2612 + "eventId": 0, ~/~/ Идентификатор события
2613 + "eventName": "string", ~/~/ Название события
2614 + "start": "2024-01-30T10:17:13.789Z", ~/~/ Дата и время начало события
2615 + "end": "2024-01-30T10:17:13.789Z", ~/~/ Дата и время окончания события
2616 + "duration": 0 ~/~/ Продолжительность события, секунд
2617 + }
2618 + ],
2619 + "stops": [ ~/~/ События стоянок
2620 + {
2621 + "address": "[Street] [House] [City] [State] [Country] [Coordinates]", ~/~/ Адрес события Улица, Дом, Город, Регион, Страна, Координаты
2622 + "eventId": 0, ~/~/ Идентификатор события
2623 + "eventName": "string", ~/~/ Название события
2624 + "start": "2024-01-30T10:17:13.789Z", ~/~/ Дата и время начало события
2625 + "end": "2024-01-30T10:17:13.789Z", ~/~/ Дата и время окончания события
2626 + "duration": 0 ~/~/ Продолжительность события, секунд
2627 + }
2628 + ]
2629 + }
2630 +]
2631 +
2632 +
2633 +== (% style="color:#000000; font-size:16px" %)**Получение последних данных объекта**(%%) ==
2634 +
2635 +(% class="box infomessage" %)
2636 +(((
2637 +**POST /api/v3/vehicles/getlastdata**
2638 +)))
2639 +
2640 +Метод запроса: **POST**
2641 +
2642 +URL запроса: https:~/~/hosting.glonasssoft.ru/api/v3/vehicles/getlastdata
2643 +
2644 +В заголовках запроса: X-Auth: Токен авторизации
2645 +
2646 +
2647 +В теле запроса перечисляете массив id объектов, в квадратных скобках через запятую.
2648 +
2649 +Ответ:
2650 + {
2651 + "vehicleId": 0, ~/~/Идентификатор объекта.
2652 + "vehicleGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",~/~/Идентификатор объекта.
2653 + "vehicleNumber": "string",~/~/Номер объекта.
2654 + "receiveTime": "2024-02-27T14:11:00.315Z",~/~/Время получения записи на сервере, т.е. время срабатывания + время передачи от устройства на сервер
2655 + "recordTime": "2024-02-27T14:11:00.315Z",~/~/Время записи от устройства, т.е. время фактического события на транспортном средстве.
2656 + "state": 0,~/~/Определяет состояния объекта в мониторинге: нет данных - 0; отключена - 1; остановка - 2; стоянка - 3; в движении - 4.
2657 + "speed": 0,~/~/Скорость объекта.
2658 + "course": 0,~/~/Курс движения [0;360]
2659 + "latitude": 0,~/~/Широта [-90°;90°].
2660 + "longitude": 0,~/~/Долгота [-180°;180°].
2661 + "address": "string",~/~/Адрес.
2662 + "geozones": [ ~/~/Сведения по геозонам.
2663 + {
2664 + "id": 0,
2665 + "name": "string"
2666 + }
2667 +
2668 +
2669 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Запрос посещений геообъектов**(%%) =
2670 +
2671 +== (% style="color:#000000; font-size:16px" %)**Получение списка всех геообъектов**(%%) ==
2672 +
2673 +(% class="box infomessage" %)
2674 +(((
2675 +(% style="color:#000000; line-height:100%" %)** **(% lang="en-US" %)**POST **(%%)**/api/v3/gis/find**
2676 +)))
2677 +
2678 +(% style="color:#000000" %)Метод позволяет получить список геообъектов клиента. Возвращает массив геообъектов со всей информацией о них.
2679 +
2680 +(% style="color:#000000" %)Метод запроса: **POST**
2681 +
2682 +(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/api/v3/gis/find
2683 +
2684 +(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации
2685 +
2686 +(% style="text-align:left" %)
2687 +Тело запроса:
2688 +
2689 +(% style="text-align:left" %)
2690 +{
2691 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
2692 +}
2693 +
2694 +(% style="text-align:left" %)
2695 +Ответ:
2696 +
2697 +[
2698 + {
2699 + "id": 0, ~/~/ Идентификатор объекта геозоны
2700 + "name": "string", ~/~/ Название объекта геозоны
2701 + "type": 0, ~/~/ Тип объекта геозоны
2702 + "fname": "string", ~/~/ Имя файла
2703 + "parentId": "string", ~/~/ Идентификатор клиента
2704 + "radius": 0, ~/~/ Радиус геообъекта
2705 + "beginCalc": "2023-08-01T07:54:54.893Z", ~/~/ Дата начала расчета
2706 + "endCalc": "2023-08-01T07:54:54.893Z", ~/~/ Дата окончания расчета
2707 + "description": "string", ~/~/ Описание
2708 + "area": 0, ~/~/ Площадь, м^^2^^
2709 + "perimetr": 0, ~/~/ Периметр, м
2710 + "createDate": "2023-08-01T07:54:54.893Z", ~/~/ Дата создания
2711 + }
2712 +]
2713 +
2714 +== (% style="color:#000000; font-size:16px" %)**Запрос пересечений по объектам**(%%) ==
2715 +
2716 +(% class="box infomessage" %)
2717 +(((
2718 +(% style="color:#000000; line-height:100%" %)** **(% lang="en-US" %)**POST **(%%)**/api/v3/gis/intersections/vehicles**
2719 +)))
2720 +
2721 +(% style="color:#000000" %)Метод позволяет получить список пересечений выбранных объектов со всеми геообъектами за выбранный период.
2722 +
2723 +(% style="color:#000000" %)Метод запроса: **POST**
2724 +
2725 +(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/api/v3/gis/intersections/vehicles
2726 +
2727 +(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации
2728 +
2729 +(% style="text-align:left" %)
2730 +Тело запроса:
2731 +
2732 +{
2733 + "startDate": "2023-08-02T06:13:18.551Z", ~/~/ Дата начала запроса
2734 + "endDate": "2023-08-02T06:13:18.551Z", ~/~/ Дата окончания
2735 + "ids": [ ], ~/~/ Массив id объектов
2736 + "byTime": 0, ~/~/ Объединение событий по времени 
2737 + "byDist": 0, ~/~/ Объединение событий по расстоянию
2738 + "filterByTime": 0, ~/~/ Фильтрация событий по времени нахождения
2739 + "filterByHalfPerimeter": true ~/~/ Фильтрация событий по пробегу половины периметра
2740 +}
2741 +
2742 +Ответ:
2743 +[
2744 + {
2745 + "geozoneId": 0, ~/~/ ID геообъекта
2746 + "geozoneName": "string", ~/~/ Название геообъекта
2747 + "startDate": "2023-08-02T06:13:18.554Z", ~/~/ Дата въезда
2748 + "endDate": "2023-08-02T06:13:18.554Z", ~/~/ Дата выезда
2749 + "duration": 0, ~/~/ Продолжительность нахождения в геообъекте
2750 + "vehicleId": 0, ~/~/ ID объекта
2751 + "vehicleName": "string" ~/~/ Имя объекта
2752 + }
2753 +]
2754 +
2755 +== (% style="color:#000000; font-size:16px" %)**Запрос пересечений по геообъектам**(%%) ==
2756 +
2757 +(% class="box infomessage" %)
2758 +(((
2759 +(% style="color:#000000; line-height:100%" %)** **(% lang="en-US" %)**POST **(%%)**/api/v3/gis/intersections/geozones**
2760 +)))
2761 +
2762 +(% style="color:#000000" %)Метод позволяет получить список пересечений выбранных геообъектов со всеми объектами за выбранный период.
2763 +
2764 +(% style="color:#000000" %)Метод запроса: **POST**
2765 +
2766 +(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/api/v3/gis/intersections/geozones
2767 +
2768 +(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации
2769 +
2770 +(% style="text-align:left" %)
2771 +Тело запроса:
2772 +
2773 +{
2774 + "startDate": "2023-08-02T06:13:18.551Z", ~/~/ Дата начала запроса
2775 + "endDate": "2023-08-02T06:13:18.551Z", ~/~/ Дата окончания
2776 + "ids": [ ], ~/~/ Массив id геообъектов
2777 + "byTime": 0, ~/~/ Объединение событий по времени 
2778 + "byDist": 0, ~/~/ Объединение событий по расстоянию
2779 + "filterByTime": 0, ~/~/ Фильтрация событий по времени нахождения
2780 + "filterByHalfPerimeter": true ~/~/ Фильтрация событий по пробегу половины периметра
2781 +}
2782 +
2783 +Ответ:
2784 +
2785 +[
2786 + {
2787 + "geozoneId": 0, ~/~/ ID геообъекта
2788 + "geozoneName": "string", ~/~/ Название геообъекта
2789 + "startDate": "2023-08-02T06:13:18.554Z", ~/~/ Дата въезда
2790 + "endDate": "2023-08-02T06:13:18.554Z", ~/~/ Дата выезда
2791 + "duration": 0, ~/~/ Продолжительность нахождения в геообъекте
2792 + "vehicleId": 0, ~/~/ ID объекта
2793 + "vehicleName": "string" ~/~/ Имя объекта
2794 + }
2795 +]
2796 +
1301 1301  = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Уведомления**(%%) =
1302 1302  
1303 1303  == (% style="color:#000000; font-size:16px" %)**Запрос списка уведомлений клиента**(%%) ==
... ... @@ -1349,7 +1349,7 @@
1349 1349  Метод запроса **GET**
1350 1350  
1351 1351  (% style="text-align: left;" %)
1352 -(% style="color:#000000" %)URL запроса: (%%)[[https:~~/~~/hosting.glonasssoft.ru/api/v3/notifications/find{id}>>https://hosting.glonasssoft.ru/api/v3/notifications/find{id}]]
2848 +(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/api/v3/notifications/{id}
1353 1353  
1354 1354  (% style="text-align: left;" %)
1355 1355  (% style="color:#000000" %)Параметр запроса: {**__id__**} - (%%)id уведомления
... ... @@ -1409,7 +1409,3039 @@
1409 1409  (% style="color:#000000" %) "autoProlongation": true ~/~/ (%%)Автопродление срока действия
1410 1410  (% style="color:#000000" %)}
1411 1411  
2908 +== (% style="color:#000000; font-size:16px" %)**Редактирование уведомления**(%%) ==
1412 1412  
2910 +(% class="box warningmessage" %)
2911 +(((
2912 +**PUT /api/v3/notifications/**
2913 +)))
2914 +
2915 +Метод позволяет отредактировать уведомление.
2916 +
2917 +Метод запроса **PUT**
2918 +
2919 +URL запроса: https:~/~/hosting.glonasssoft.ru/api/v3/notifications
2920 +
2921 +В заголовках запроса: X-Auth: Токен авторизации
2922 +
2923 +Тело запроса:
2924 +{
2925 + "id": 0, ~/~/ id уведомления
2926 + "type": 0, ~/~/ Шаблон события 0 - Въезд и выезд из геозоны, 2 - Превышение скорости, 4 - Слив, 5 - Заправка, 6 - Сработка тревожной кнопки, 7 - Потеря связи с объектом, 8 - Сработка дискретного датчика, 9 - Значение аналогового датчика, 10 - Адрес, 11 - Простой, 12 - Выполнение ТО
2927 + "userId": "", ~/~/ Пользователь, создавший уведомление
2928 + "parentId": "", ~/~/ Идентификатор клиента
2929 + "parentName": "string", ~/~/ Имя клиента
2930 + "name": "string", ~/~/ Название уведомления
2931 + "active": true, ~/~/ Состояние true - активен, false - деактивирован
2932 + "vehicleIds": [ ~/~/ Список id объектов для анализа
2933 + 0
2934 + ],
2935 + "geoids": [ ~/~/ Список id геообъектов для анализа
2936 + 0
2937 + ],
2938 + "fieldids": [ ~/~/ Список id полей для анализа
2939 + 0
2940 + ],
2941 + "settings": { ~/~/ Список параметров уведомления
2942 + "additionalProp1": "string",
2943 + "additionalProp2": "string",
2944 + "additionalProp3": "string"
2945 + },
2946 + "toEmail": true, ~/~/ Флаг, что активна настройка "Отправка уведомлений на эл. почту пользователям системы"
2947 + "recipientIds": [ ~/~/ Список Guid пользователей, которым надо отправить сообщение на почту при срабатывании правила
2948 + ""
2949 + ],
2950 + "enableSideEmails": true, ~/~/ Флаг, что активна настройка "Отправка сообщений на эл. почту сторонним пользователям"
2951 + "sideEmails": [ ~/~/ Список электронных адресов для отсылки уведомлений
2952 + "string"
2953 + ],
2954 + "toTelegram": true, ~/~/ Флаг активности отправки в Telegram
2955 + "telegrams": [ ~/~/ Список получателя уведомлений в Telegram.
2956 + {
2957 + "id": 0, ~/~/ Идентификатор участника чата
2958 + "info": "string" ~/~/ Дополнительные сведения
2959 + }
2960 + ],
2961 + "toMobile": true, ~/~/ Флаг активности отправки в мобильное приложение
2962 + "toClient": true, ~/~/ Флаг активности отправки в интерфейсе системы
2963 + "stored": true, ~/~/ Определяет необходимость сохранять уведомления, производные от этого правила, в журнале истории уведомлений.
2964 + "kind": 0, ~/~/ Определяет вид уведомления
2965 + "activationMode": 0, ~/~/ Вид активации уведомления 0 - Сейчас, 1 - В определенную дату и время
2966 + "activationTime": "2023-03-29T09:57:48.932Z", ~/~/ Дата и время активации правила (UTC)
2967 + "timezone": 0, ~/~/ Сдвиг часового пояса
2968 + "validity": 0, ~/~/ Срок действия в днях (1-90)
2969 + "autoProlongation": true ~/~/ Автопродление срока действия
2970 +}
2971 +
2972 +Ответ:
2973 +
2974 +Success
2975 +
2976 +
2977 +== (% style="color:#000000; font-size:16px" %)**Автоматическое продление уведомлений **(%%) ==
2978 +
2979 +(% class="box warningmessage" %)
2980 +(((
2981 +**PUT** /api/v3/notifications/prolongation
2982 +)))
2983 +
2984 +Метод позволяет продлить уведомления.
2985 +
2986 +Метод запроса **PUT**
2987 +
2988 +URL запроса: https:~/~/hosting.glonasssoft.ru/api/v3/notifications/prolongation
2989 +
2990 +В заголовках запроса: X-Auth: Токен авторизации.
2991 +
2992 +Тело запроса:
2993 +
2994 +[
2995 +
2996 +0
2997 +
2998 +]
2999 +
3000 +где 0 идентификатор ids.
3001 +
3002 +== (% style="color:#000000; font-size:16px" %)**Удаление уведомления**(%%) ==
3003 +
3004 +(% class="box errormessage" %)
3005 +(((
3006 +**DELETE /api/v3/notifications/{id}**
3007 +)))
3008 +
3009 +Метод позволяет удалить выбранное уведомление.
3010 +
3011 +Метод запроса **DELETE**
3012 +
3013 +URL запроса: https:~/~/hosting.glonasssoft.ru/api/v3/notifications/{id}
3014 +
3015 +Передаваемый параметр: {id} - id уведомления
3016 +
3017 +В заголовках запроса: X-Auth: Токен авторизации
3018 +
3019 +Ответ:
3020 +
3021 +Success
3022 +
3023 +
3024 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Водители**(%%) =
3025 +
3026 +== (% style="color:#000000; font-size:16px" %)**Получить список водителей клиента**(%%) ==
3027 +
3028 +(% class="box infomessage" %)
3029 +(((
3030 +**POST /api/v3/Drivers/find**
3031 +)))
3032 +
3033 +Передается параметр: parentId - ID клиента-родителя
3034 +
3035 +Ответ:
3036 +
3037 +[
3038 + {
3039 + "name": "string", ~/~/ Определяет наименование
3040 + "description": "string", ~/~/ Определяет описание
3041 + "hiredate": "2023-06-30T09:37:58.407Z", ~/~/ Определяет дату найма
3042 + "chopdate": "2023-06-30T09:37:58.407Z", ~/~/ Определяет дату увольнения
3043 + "exclusive": true, ~/~/ Определяет признак "Исключительный"
3044 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID водителя
3045 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid родителя
3046 + "deleted": true ~/~/ Признак удаления
3047 + }
3048 +]
3049 +
3050 +== (% style="color:#000000; font-size:16px" %)**Получить данные о водителе**(%%) ==
3051 +
3052 +(% class="box infomessage" %)
3053 +(((
3054 +**GET /api/v3/Drivers/{driverGuid}**
3055 +)))
3056 +
3057 +Передается параметр: ID водителя
3058 +
3059 +Ответ:
3060 +
3061 +{
3062 + "name": "string", ~/~/ Определяет наименование
3063 + "description": "string", ~/~/ Определяет описание
3064 + "hiredate": "2023-06-30T09:33:33.083Z", ~/~/ Определяет дату найма
3065 + "chopdate": "2023-06-30T09:33:33.083Z", ~/~/ Определяет дату увольнения
3066 + "exclusive": true, ~/~/ Определяет признак "Исключительный"
3067 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID водителя
3068 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid родителя
3069 + "deleted": true ~/~/ Признак удаления
3070 +}
3071 +
3072 +== (% style="color:#000000; font-size:16px" %)**Добавить водителя**(%%) ==
3073 +
3074 +(% class="box successmessage" %)
3075 +(((
3076 +**POST /api/v3/Drivers**
3077 +)))
3078 +
3079 +Запрос:
3080 +
3081 +{
3082 + "name": "string",
3083 + "description": "string",
3084 + "hiredate": "2023-06-30T12:50:54.020Z",
3085 + "chopdate": "2023-06-30T12:50:54.020Z",
3086 + "exclusive": true,
3087 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3088 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3089 + "deleted": true
3090 +}
3091 +
3092 +Ответ:
3093 +
3094 +{
3095 + "name": "string",
3096 + "description": "string",
3097 + "hiredate": "2023-06-30T12:50:54.051Z",
3098 + "chopdate": "2023-06-30T12:50:54.051Z",
3099 + "exclusive": true,
3100 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3101 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3102 + "deleted": true
3103 +}
3104 +
3105 +
3106 +== (% style="color:#000000; font-size:16px" %)**Редактировать водителя**(%%) ==
3107 +
3108 +(% class="box warningmessage" %)
3109 +(((
3110 +**PUT /api/v3/Drivers**
3111 +)))
3112 +
3113 +Запрос:
3114 +
3115 +{
3116 + "name": "string",
3117 + "description": "string",
3118 + "hiredate": "2023-06-30T12:50:27.910Z",
3119 + "chopdate": "2023-06-30T12:50:27.910Z",
3120 + "exclusive": true,
3121 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3122 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3123 + "deleted": true
3124 +}
3125 +
3126 +Ответ:
3127 +
3128 +{
3129 + "name": "string",
3130 + "description": "string",
3131 + "hiredate": "2023-06-30T12:50:27.929Z",
3132 + "chopdate": "2023-06-30T12:50:27.929Z",
3133 + "exclusive": true,
3134 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3135 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3136 + "deleted": true
3137 +}
3138 +
3139 +
3140 +== (% style="color:#000000; font-size:16px" %)**Удалить водителя**(%%) ==
3141 +
3142 +(% class="box errormessage" %)
3143 +(((
3144 +**DELETE /api/v3/Drivers/{driverGuid}**
3145 +)))
3146 +
3147 +Передается параметр: ID водителя
3148 +
3149 +Ответ:
3150 +
3151 +Success
3152 +
3153 +
3154 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Журнал назначений**(%%) =
3155 +
3156 +== (% style="color:#000000; font-size:18.6667px" %)**Назначение водителя на объект**(%%) ==
3157 +
3158 +=== (% style="color:#000000; font-size:16px" %)**Получить назначения водителей запросом к водителю**(%%) ===
3159 +
3160 +(% class="box infomessage" %)
3161 +(((
3162 +**POST /api/v3/DriversVehiclesAssignments/GetByDrivers**
3163 +)))
3164 +
3165 +Запрос:
3166 +
3167 +{
3168 + "Ids": [
3169 + "3fa85f64-5717-4562-b3fc-2c963f66afa6"
3170 + ],
3171 + "BeginTime": "2023-06-30T12:49:04.365Z",
3172 + "EndTime": "2023-06-30T12:49:04.365Z"
3173 +}
3174 +
3175 +Ответ:
3176 +
3177 +[
3178 + {
3179 + "VehicleId": 0,
3180 + "CreateTime": "2023-06-30T09:52:31.240Z",
3181 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3182 + "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3183 + "BeginTime": "2023-06-30T09:52:31.240Z",
3184 + "EndTime": "2023-06-30T09:52:31.240Z"
3185 + }
3186 +]
3187 +
3188 +
3189 +=== (% style="color:#000000; font-size:16px" %)**Получить назначения водителей запросом к объекту**(%%) ===
3190 +
3191 +(% class="box infomessage" %)
3192 +(((
3193 +**POST /api/v3/DriversVehiclesAssignments/GetByVehicles**
3194 +)))
3195 +
3196 +Запрос:
3197 +
3198 +{
3199 + "Ids": [
3200 + 0
3201 + ],
3202 + "BeginTime": "2023-06-30T12:48:39.419Z",
3203 + "EndTime": "2023-06-30T12:48:39.419Z"
3204 +}
3205 +
3206 +Ответ:
3207 +
3208 +[
3209 + {
3210 + "VehicleId": 0,
3211 + "CreateTime": "2023-06-30T09:54:01.631Z",
3212 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3213 + "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3214 + "BeginTime": "2023-06-30T09:54:01.631Z",
3215 + "EndTime": "2023-06-30T09:54:01.631Z"
3216 + }
3217 +]
3218 +
3219 +
3220 +=== (% style="color:#000000; font-size:16px" %)**Создать назначение водителя на объект**(%%) ===
3221 +
3222 +(% class="box successmessage" %)
3223 +(((
3224 +**POST /api/v3/DriversVehiclesAssignments**
3225 +)))
3226 +
3227 +Передается массив назначений
3228 +
3229 +Запрос:
3230 +
3231 +[
3232 + {
3233 + "VehicleId": 0, ~/~/ Идентификатор объекта
3234 + "CreateTime": "2023-06-30T11:04:46.902Z", ~/~/ Момент времени создания назначения
3235 + "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя
3236 + "BeginTime": "2023-06-30T11:04:46.902Z", ~/~/ Момент времени начала назначения
3237 + "EndTime": "2023-06-30T11:04:46.902Z" ~/~/ Момент времени окончания назначения. Необязательно.
3238 + }
3239 +]
3240 +
3241 +Ответ:
3242 +
3243 +[
3244 + {
3245 + "VehicleId": 0,
3246 + "CreateTime": "2023-06-30T11:04:46.903Z",
3247 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3248 + "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3249 + "BeginTime": "2023-06-30T11:04:46.903Z",
3250 + "EndTime": "2023-06-30T11:04:46.903Z"
3251 + }
3252 +]
3253 +
3254 +
3255 +=== (% style="color:#000000; font-size:16px" %)**Изменить назначения водителей на объекты**(%%) ===
3256 +
3257 +(% class="box warningmessage" %)
3258 +(((
3259 +**PUT /api/v3/DriversVehiclesAssignments**
3260 +)))
3261 +
3262 +Запрос:
3263 +
3264 +[
3265 + {
3266 + "VehicleId": 0,
3267 + "CreateTime": "2023-06-30T11:14:08.117Z",
3268 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор назначения
3269 + "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3270 + "BeginTime": "2023-06-30T11:14:08.117Z",
3271 + "EndTime": "2023-06-30T11:14:08.117Z"
3272 + }
3273 +]
3274 +
3275 +Ответ:
3276 +
3277 +[
3278 + {
3279 + "VehicleId": 0,
3280 + "CreateTime": "2023-06-30T11:14:53.349Z",
3281 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3282 + "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3283 + "BeginTime": "2023-06-30T11:14:53.349Z",
3284 + "EndTime": "2023-06-30T11:14:53.349Z"
3285 + }
3286 +]
3287 +
3288 +
3289 +=== (% style="color:#000000; font-size:16px" %)**Удалить назначения водителей на объекты**(%%) ===
3290 +
3291 +(% class="box errormessage" %)
3292 +(((
3293 +**DELETE /api/v3/DriversVehiclesAssignments**
3294 +)))
3295 +
3296 +Запрос:
3297 +
3298 +[
3299 + "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3300 +]
3301 +
3302 +Ответ:
3303 +
3304 +Success
3305 +
3306 +
3307 +== (% style="color:#000000; font-size:18.6667px" %)**Назначение карты-метки водителю**(%%) ==
3308 +
3309 +=== (% style="color:#000000; font-size:16px" %)**Получить назначения меток запросом к водителю**(%%) ===
3310 +
3311 +(% class="box infomessage" %)
3312 +(((
3313 +**POST /api/v3/DriversRfidsAssignments/GetByDrivers**
3314 +)))
3315 +
3316 +Запрос:
3317 +
3318 +{
3319 + "Ids": [
3320 + "3fa85f64-5717-4562-b3fc-2c963f66afa6"
3321 + ],
3322 + "BeginTime": "2023-06-30T12:47:12.162Z",
3323 + "EndTime": "2023-06-30T12:47:12.162Z"
3324 +}
3325 +
3326 +Ответ:
3327 +
3328 +[
3329 + {
3330 + "Rfid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор метки
3331 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор назначения
3332 + "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя
3333 + "BeginTime": "2023-06-30T11:19:40.703Z",
3334 + "EndTime": "2023-06-30T11:19:40.703Z"
3335 + }
3336 +]
3337 +
3338 +
3339 +=== (% style="color:#000000; font-size:16px" %)**Получить назначения меток запросом к карте-метке**(%%) ===
3340 +
3341 +(% class="box infomessage" %)
3342 +(((
3343 +**POST /api/v3/DriversRfidsAssignments/GetByRfids**
3344 +)))
3345 +
3346 +Запрос:
3347 +
3348 +{
3349 + "Ids": [
3350 + "3fa85f64-5717-4562-b3fc-2c963f66afa6"
3351 + ],
3352 + "BeginTime": "2023-06-30T12:47:12.162Z",
3353 + "EndTime": "2023-06-30T12:47:12.162Z"
3354 +}
3355 +
3356 +Ответ:
3357 +
3358 +[
3359 + {
3360 + "Rfid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор метки
3361 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор назначения
3362 + "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя
3363 + "BeginTime": "2023-06-30T11:19:40.703Z",
3364 + "EndTime": "2023-06-30T11:19:40.703Z"
3365 + }
3366 +]
3367 +
3368 +
3369 +=== (% style="color:#000000; font-size:16px" %)**Добавить назначения меток на водителей**(%%) ===
3370 +
3371 +(% class="box successmessage" %)
3372 +(((
3373 +**POST /api/v3/DriversRfidsAssignments**
3374 +)))
3375 +
3376 +Запрос:
3377 +
3378 +[
3379 + {
3380 + "Rfid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3381 + "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3382 + "BeginTime": "2023-06-30T11:27:08.635Z",
3383 + "EndTime": "2023-06-30T11:27:08.635Z"
3384 + }
3385 +]
3386 +
3387 +Ответ:
3388 +
3389 +[
3390 + {
3391 + "Rfid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3392 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3393 + "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3394 + "BeginTime": "2023-06-30T11:27:08.677Z",
3395 + "EndTime": "2023-06-30T11:27:08.677Z"
3396 + }
3397 +]
3398 +
3399 +
3400 +=== (% style="color:#000000; font-size:16px" %)**Изменить назначения меток на водителей**(%%) ===
3401 +
3402 +(% class="box warningmessage" %)
3403 +(((
3404 +**PUT /api/v3/DriversRfidsAssignments**
3405 +)))
3406 +
3407 +Запрос:
3408 +
3409 +[
3410 + {
3411 + "Rfid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3412 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3413 + "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3414 + "BeginTime": "2023-06-30T11:28:43.330Z",
3415 + "EndTime": "2023-06-30T11:28:43.330Z"
3416 + }
3417 +]
3418 +
3419 +Ответ:
3420 +
3421 +[
3422 + {
3423 + "Rfid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3424 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3425 + "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3426 + "BeginTime": "2023-06-30T11:28:43.331Z",
3427 + "EndTime": "2023-06-30T11:28:43.331Z"
3428 + }
3429 +]
3430 +
3431 +
3432 +=== (% style="color:#000000; font-size:16px" %)**Удалить назначения меток на водителей**(%%) ===
3433 +
3434 +(% class="box errormessage" %)
3435 +(((
3436 +**DELETE /api/v3/DriversRfidsAssignments**
3437 +)))
3438 +
3439 +Запрос:
3440 +
3441 +[
3442 + "3fa85f64-5717-4562-b3fc-2c963f66afa6"
3443 +]
3444 +
3445 +Ответ:
3446 +
3447 +Success
3448 +
3449 +
3450 +== (% style="color:#000000; font-size:18.6667px" %)**Назначение топливной карты водителю**(%%) ==
3451 +
3452 +=== (% style="color:#000000; font-size:16px" %)**Получить назначения топливных карт запросом к водителю**(%%) ===
3453 +
3454 +(% class="box infomessage" %)
3455 +(((
3456 +**POST /api/v3/DriversFuelCardsAssignments/GetByDrivers**
3457 +)))
3458 +
3459 +Запрос:
3460 +
3461 +{
3462 + "Ids": [
3463 + "3fa85f64-5717-4562-b3fc-2c963f66afa6"
3464 + ],
3465 + "BeginTime": "2023-06-30T12:45:10.852Z",
3466 + "EndTime": "2023-06-30T12:45:10.852Z"
3467 +}
3468 +
3469 +Ответ:
3470 +
3471 +[
3472 + {
3473 + "CardId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3474 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3475 + "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3476 + "BeginTime": "2023-06-30T11:58:04.695Z",
3477 + "EndTime": "2023-06-30T11:58:04.695Z"
3478 + }
3479 +]
3480 +
3481 +
3482 +=== (% style="color:#000000; font-size:16px" %)**Получить назначения топливных карт запросом к топливной карте**(%%) ===
3483 +
3484 +(% class="box infomessage" %)
3485 +(((
3486 +**POST /api/v3/DriversFuelCardsAssignments/GetByCards**
3487 +)))
3488 +
3489 +Запрос:
3490 +
3491 +{
3492 + "Ids": [
3493 + "3fa85f64-5717-4562-b3fc-2c963f66afa6"
3494 + ],
3495 + "BeginTime": "2023-06-30T12:45:10.852Z",
3496 + "EndTime": "2023-06-30T12:45:10.852Z"
3497 +}
3498 +
3499 +Ответ:
3500 +
3501 +[
3502 + {
3503 + "CardId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3504 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3505 + "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3506 + "BeginTime": "2023-06-30T11:58:04.695Z",
3507 + "EndTime": "2023-06-30T11:58:04.695Z"
3508 + }
3509 +]
3510 +
3511 +
3512 +=== (% style="color:#000000; font-size:16px" %)**Добавить назначение топливной карты водителю**(%%) ===
3513 +
3514 +(% class="box successmessage" %)
3515 +(((
3516 +**POST /api/v3/DriversFuelCardsAssignments**
3517 +)))
3518 +
3519 +Запрос:
3520 +
3521 +[
3522 + {
3523 + "CardId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3524 + "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3525 + "BeginTime": "2023-06-30T12:09:53.175Z",
3526 + "EndTime": "2023-06-30T12:09:53.175Z"
3527 + }
3528 +]
3529 +
3530 +Ответ:
3531 +
3532 +[
3533 + {
3534 + "CardId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3535 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3536 + "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3537 + "BeginTime": "2023-06-30T12:09:53.201Z",
3538 + "EndTime": "2023-06-30T12:09:53.201Z"
3539 + }
3540 +]
3541 +
3542 +
3543 +=== (% style="color:#000000; font-size:16px" %)**Редактировать назначение топливной карты водителю**(%%) ===
3544 +
3545 +(% class="box warningmessage" %)
3546 +(((
3547 +**PUT /api/v3/DriversFuelCardsAssignments**
3548 +)))
3549 +
3550 +Запрос:
3551 +
3552 +[
3553 + {
3554 + "CardId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3555 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3556 + "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3557 + "BeginTime": "2023-06-30T12:09:53.201Z",
3558 + "EndTime": "2023-06-30T12:09:53.201Z"
3559 + }
3560 +]
3561 +
3562 +Ответ:
3563 +
3564 +[
3565 + {
3566 + "CardId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3567 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3568 + "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3569 + "BeginTime": "2023-06-30T12:09:53.201Z",
3570 + "EndTime": "2023-06-30T12:09:53.201Z"
3571 + }
3572 +]
3573 +
3574 +
3575 +=== (% style="color:#000000; font-size:16px" %)**Удалить назначение топливной карты водителю**(%%) ===
3576 +
3577 +(% class="box errormessage" %)
3578 +(((
3579 +**DELETE /api/v3/DriversFuelCardsAssignments**
3580 +)))
3581 +
3582 +Запрос:
3583 +
3584 +[
3585 + "3fa85f64-5717-4562-b3fc-2c963f66afa6"
3586 +]
3587 +
3588 +Ответ:
3589 +
3590 +Success
3591 +
3592 +
3593 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Назначения агрегатов**(%%) =
3594 +
3595 +== (% style="color:#000000; font-size:16px" %)**Получить список назначений агрегатов на выбранные объекты**(%%) ==
3596 +
3597 +(% class="box infomessage" %)
3598 +(((
3599 +**POST /api/v3/Trailers**
3600 +)))
3601 +
3602 +Пример запроса:
3603 +
3604 +{
3605 + "startDate": "2023-11-14T10:48:03.671Z",
3606 + "endDate": "2023-11-14T10:48:03.671Z",
3607 + "ids": [ 0 ],
3608 + "timezone": 0
3609 +}
3610 +
3611 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
3612 +|(% style="width:215px" %)startDate|(% style="width:861px" %)Дата и время начала запроса
3613 +|(% style="width:215px" %)endDate|(% style="width:861px" %)Дата и время окончания запроса
3614 +|(% style="width:215px" %)ids|(% style="width:861px" %)Массив ID объектов
3615 +|(% style="width:215px" %)timezone|(% style="width:861px" %)Часовой пояс, по умолчанию UTC.
3616 +
3617 +Пример ответа:
3618 +
3619 +[
3620 + {
3621 + "SD": "2023-11-14T10:48:03.717Z",
3622 + "ED": "2023-11-14T10:48:03.717Z", 
3623 + "id": 0,
3624 + "SLat": 0,
3625 + "SLon": 0,
3626 + "ELat": 0,
3627 + "ELon": 0,
3628 + "mileage": 0
3629 + "Duration": 0
3630 + "Address": "string",
3631 + "Address2": "string",
3632 + "name": "string",
3633 + "rid": "string",
3634 + "rguid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3635 + "trailer": {
3636 + "ModelGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3637 + "Number": "string",
3638 + "Description": "string",
3639 + "OwnerGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3640 + "ExternalID": "string",
3641 + "Guid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3642 + "CreateTime": "2023-11-14T10:48:03.717Z",
3643 + "UpdateTime": "2023-11-14T10:48:03.717Z",
3644 + "IsDeleted": true
3645 + },
3646 + "filesCount": 0,
3647 + }
3648 +]
3649 +
3650 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
3651 +|SD|Дата и время начала события
3652 +|ED|Дата и время окончания события
3653 +|id|ID объекта
3654 +|SLat|Широта начальной координаты
3655 +|SLon|Долгота начальной координаты
3656 +|ELat|Широта конечной координаты
3657 +|ELon|Долгота конечной координаты
3658 +|mileage|Пробег
3659 +|Duration|Продолжительность
3660 +|Address|Адрес начального местоположения
3661 +|Address2|Адрес конечного местоположения
3662 +|name|Имя радиометки
3663 +|rid|Номер радиометки
3664 +|rguid|ID радиометки
3665 +|trailer|Информация об агрегате
3666 +|ModelGuid|ID агрегата
3667 +|Number|Название/номер агрегата
3668 +|Description|Текст примечания агрегата
3669 +
3670 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Карты-метки**(%%) =
3671 +
3672 +== (% style="color:#000000; font-size:16px" %)**Получить список карт-меток определенного клиента**(%%) ==
3673 +
3674 +(% class="box infomessage" %)
3675 +(((
3676 +**POST /api/v3/Rfids/find**
3677 +)))
3678 +
3679 +Запрос:
3680 +
3681 +{
3682 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
3683 +}
3684 +
3685 +Ответ:
3686 +
3687 +[
3688 + {
3689 + "name": "string",
3690 + "number": 0,
3691 + "period": 0,
3692 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3693 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3694 + }
3695 +]
3696 +
3697 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
3698 +|parentId|ID клиента
3699 +|name|Название карты-метки
3700 +|number|Номер
3701 +|period|Период запросов в секундах (работает только для агрегатов)
3702 +|id|ID карты-метки
3703 +
3704 +== (% style="color:#000000; font-size:16px" %)**Получить данные карты-метки**(%%) ==
3705 +
3706 +(% class="box infomessage" %)
3707 +(((
3708 +**GET /api/v3/Rfids/{rfidGuid}**
3709 +)))
3710 +
3711 +Передаем параметр rfidGuid - идентификатор карты-метки
3712 +
3713 +Ответ:
3714 +
3715 +[
3716 + {
3717 + "name": "string",
3718 + "number": 0,
3719 + "period": 0,
3720 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3721 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3722 + }
3723 +]
3724 +
3725 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
3726 +|name|Название карты-метки
3727 +|number|Номер
3728 +|period|Период запросов в секундах (работает только для агрегатов)
3729 +|id|ID карты-метки
3730 +|parentId|ID клиента
3731 +
3732 +== (% style="color:#000000; font-size:16px" %)**Добавить карту-метку**(%%) ==
3733 +
3734 +(% class="box successmessage" %)
3735 +(((
3736 +**POST /api/v3/Rfids**
3737 +)))
3738 +
3739 +Запрос:
3740 +
3741 +{
3742 + "name": "string",
3743 + "number": 0,
3744 + "period": 0,
3745 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3746 +}
3747 +
3748 +Ответ:
3749 +
3750 +{
3751 + "name": "string",
3752 + "number": 0,
3753 + "period": 0,
3754 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3755 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3756 +}
3757 +
3758 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
3759 +|name|Название карты-метки
3760 +|number|Номер
3761 +|period|Период запросов в секундах (работает только для агрегатов)
3762 +|id|ID карты-метки
3763 +|parentId|ID клиента
3764 +
3765 +== (% style="color:#000000; font-size:16px" %)**Редактировать карту-метку**(%%) ==
3766 +
3767 +(% class="box warningmessage" %)
3768 +(((
3769 +**PUT /api/v3/Rfids**
3770 +)))
3771 +
3772 +Запрос:
3773 +
3774 +{
3775 + "name": "string",
3776 + "number": 0,
3777 + "period": 0,
3778 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3779 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3780 +}
3781 +
3782 +Ответ:
3783 +
3784 +{
3785 + "name": "string",
3786 + "number": 0,
3787 + "period": 0,
3788 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3789 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3790 +}
3791 +
3792 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
3793 +|name|Название карты-метки
3794 +|number|Номер
3795 +|period|Период запросов в секундах (работает только для агрегатов)
3796 +|id|ID карты-метки
3797 +|parentId|ID клиента
3798 +
3799 +== (% style="color:#000000; font-size:16px" %)**Удалить карту-метку**(%%) ==
3800 +
3801 +(% class="box errormessage" %)
3802 +(((
3803 +**DELETE /api/v3/Rfids/{rfidGuid}**
3804 +)))
3805 +
3806 +Передаем параметр **rfidGuid** - идентификатор карты-метки
3807 +
3808 +Ответ:
3809 +
3810 +Success
3811 +
3812 +
3813 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Биллинг**(%%) =
3814 +
3815 +== (% style="color:#000000; font-size:16px" %)**Узнать баланс клиента**(%%) ==
3816 +
3817 +(% class="box infomessage" %)
3818 +(((
3819 +**GET /api/v3/Billing/client/balance/{clientId}**
3820 +)))
3821 +
3822 +Параметр запроса: **clientId **- идентификатор клиента.
3823 +
3824 +Ответ:
3825 +
3826 +{
3827 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3828 + "Balance": 0
3829 +}
3830 +
3831 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
3832 +|(% style="width:215px" %)ClientId|(% style="width:861px" %)Идентификатор клиента
3833 +|(% style="width:215px" %)Balance|(% style="width:861px" %)Значение баланса
3834 +
3835 +== (% style="color:#000000; font-size:16px" %)**Узнать ограничения клиента**(%%) ==
3836 +
3837 +(% class="box infomessage" %)
3838 +(((
3839 +**GET /api/v3/Billing/client/constraint/{clientId}**
3840 +)))
3841 +
3842 +Параметр запроса: **clientId **- идентификатор клиента.
3843 +
3844 +Ответ:
3845 +
3846 +{
3847 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3848 + "CalculationType": 0,
3849 + "PermissibleBalance": 0,
3850 + "DefermentDays": 0,
3851 + "SendUiNotifications": true,
3852 + "SendEmailNotifications": true,
3853 + "IsPrivate": true,
3854 +}
3855 +
3856 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
3857 +|(% style="width:215px" %)ClientId|(% style="width:861px" %)Идентификатор клиента
3858 +|(% style="width:215px" %)CalculationType|(% style="width:861px" %)Определяет тип расчёта, 0 - Деньги, 1 - Дни
3859 +|(% style="width:215px" %)PermissibleBalance|(% style="width:861px" %)Допустимый баланс
3860 +|(% style="width:215px" %)DefermentDays|(% style="width:861px" %)Отсрочка, количество дней.
3861 +|(% style="width:215px" %)SendUiNotifications|(% style="width:861px" %)Оповещение в web-интерфейсе, true - включено, false - выключено
3862 +|(% style="width:215px" %)SendEmailNotifications|(% style="width:861px" %)Оповещение на почту, true - включено, false - выключено
3863 +|(% style="width:215px" %)IsPrivate|(% style="width:861px" %)Признак, определяющий, являются ли параметры ограничений частными т.е. персональными для клиента, либо определяются тарифным планом
3864 +
3865 +== (% style="color:#000000; font-size:16px" %)**Узнать состояние тарифного плана клиента**(%%) ==
3866 +
3867 +(% class="box infomessage" %)
3868 +(((
3869 +**GET /api/v3/Billing/client/plan/{clientId}**
3870 +)))
3871 +
3872 +Параметры запроса:
3873 +
3874 +**clientId **- идентификатор клиента.
3875 +
3876 +**planId **- идентификатор тарифного плана.
3877 +
3878 +Ответ:
3879 +
3880 +{
3881 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3882 + "Plan": { **~/~/ Описание тарифного плана**
3883 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3884 + "OwnerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3885 + "Name": "string",
3886 + "IsArchived": true,
3887 + "Constraint": {
3888 + "CalculationType": 0,
3889 + "PermissibleBalance": 0,
3890 + "DefermentDays": 0
3891 + },
3892 + "Features": [ **~/~/ Описание шаблона услуг тарифного плана**
3893 + {
3894 + "Feature": "string",
3895 + "IsFactual": true,
3896 + "Limit": 0,
3897 + "Price": 0,
3898 + "PeriodValue": 0,
3899 + "PeriodType": 0
3900 + }
3901 + ]
3902 + },
3903 + "DebitDate": "2023-10-18T12:46:24.213Z",
3904 + "Features": [ **~/~/ Описание услуг тарифного плана как есть**
3905 + {
3906 + "Feature": "string",
3907 + "IsEnabled": true,
3908 + "IsPrivate": true,
3909 + "IsFactual": true,
3910 + "Limit": 0,
3911 + "Price": 0,
3912 + "DebitDate": "2023-10-18T12:46:24.213Z",
3913 + "PeriodValue": 0,
3914 + "PeriodType": 0
3915 + }
3916 + ]
3917 +}
3918 +
3919 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
3920 +|ClientId|Идентификатор клиента
3921 +|Id|Идентификатор тарифного плана
3922 +|OwnerId|Идентификатор клиента-владельца
3923 +|Name|Наименование тарифного плана
3924 +|IsArchived|Признак, определяющий архивный тарифный план
3925 +|CalculationType|Определяет тип расчёта, 0 - Деньги, 1 - Дни
3926 +|PermissibleBalance|Допустимый баланс
3927 +|DefermentDays|Отсрочка, количество дней
3928 +|Feature|Код услуги
3929 +|IsEnabled|Признак, определяющий активирована ли услуга
3930 +|IsPrivate|Признак, определяющий, являются ли параметры по услуге тарифа частными т.е. персональными для клиента, либо определяются тарифным планом.
3931 +|IsFactual|Признак, определяющий расчёт по факту
3932 +|Limit|Лимит использования услуги. Значение -1 подразумевает безлимитное использование.
3933 +|Price|Цена за единицу.
3934 +|DebitDate|Следующий момент времени списания с баланса за услугу.
3935 +|PeriodValue|Значение периода.
3936 +|PeriodType|Определяет тип периода действия услуги в тарифном плане, 0 - Дни, 1 - Месяцы
3937 +
3938 +== (% style="color:#000000; font-size:16px" %)**Получить тарифные планы принадлежащие клиенту**(%%) ==
3939 +
3940 +(% class="box infomessage" %)
3941 +(((
3942 +**GET /api/v3/Billing/client/constraint/getowned/{clientId}**
3943 +)))
3944 +
3945 +Параметр запроса: **clientId **- идентификатор клиента.
3946 +
3947 +Ответ:
3948 +
3949 +[
3950 + {
3951 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3952 + "OwnerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3953 + "Name": "string",
3954 + "IsArchived": true,
3955 + "Constraint": {
3956 + "CalculationType": 0,
3957 + "PermissibleBalance": 0,
3958 + "DefermentDays": 0
3959 + },
3960 + "Features": [
3961 + {
3962 + "Feature": "string",
3963 + "IsFactual": true,
3964 + "Limit": 0,
3965 + "Price": 0,
3966 + "PeriodValue": 0,
3967 + "PeriodType": 0
3968 + }
3969 + ]
3970 + }
3971 +]
3972 +
3973 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
3974 +|ClientId|Идентификатор клиента
3975 +|Id|Идентификатор тарифного плана
3976 +|OwnerId|Идентификатор клиента-владельца
3977 +|Name|Наименование тарифного плана
3978 +|IsArchived|Признак, определяющий архивный тарифный план
3979 +|CalculationType|Определяет тип расчёта, 0 - Деньги, 1 - Дни
3980 +|PermissibleBalance|Допустимый баланс
3981 +|DefermentDays|Отсрочка, количество дней
3982 +|Feature|Код услуги
3983 +|IsFactual|Признак, определяющий расчёт по факту
3984 +|Limit|Лимит использования услуги. Значение -1 подразумевает безлимитное использование.
3985 +|Price|Цена за единицу.
3986 +|PeriodValue|Значение периода.
3987 +|PeriodType|Определяет тип периода действия услуги в тарифном плане, 0 - Дни, 1 - Месяцы
3988 +
3989 +== (% style="color:#000000; font-size:16px" %)**Получить список доступных тарифных планов**(%%) ==
3990 +
3991 +(% class="box infomessage" %)
3992 +(((
3993 +**GET /api/v3/Billing/client/constraint/getowned/{clientId}**
3994 +)))
3995 +
3996 +Параметр запроса: **clientId **- идентификатор клиента.
3997 +
3998 +Ответ:
3999 +
4000 +[
4001 + {
4002 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
4003 + "OwnerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
4004 + "Name": "string",
4005 + "IsArchived": true,
4006 + "Constraint": {
4007 + "CalculationType": 0,
4008 + "PermissibleBalance": 0,
4009 + "DefermentDays": 0
4010 + },
4011 + "Features": [
4012 + {
4013 + "Feature": "string",
4014 + "IsFactual": true,
4015 + "Limit": 0,
4016 + "Price": 0,
4017 + "PeriodValue": 0,
4018 + "PeriodType": 0
4019 + }
4020 + ]
4021 + }
4022 +]
4023 +
4024 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
4025 +|ClientId|Идентификатор клиента
4026 +|Id|Идентификатор тарифного плана
4027 +|OwnerId|Идентификатор клиента-владельца
4028 +|Name|Наименование тарифного плана
4029 +|IsArchived|Признак, определяющий архивный тарифный план
4030 +|CalculationType|Определяет тип расчёта, 0 - Деньги, 1 - Дни
4031 +|PermissibleBalance|Допустимый баланс
4032 +|DefermentDays|Отсрочка, количество дней
4033 +|Feature|Код услуги
4034 +|IsFactual|Признак, определяющий расчёт по факту
4035 +|Limit|Лимит использования услуги. Значение -1 подразумевает безлимитное использование.
4036 +|Price|Цена за единицу.
4037 +|PeriodValue|Значение периода.
4038 +|PeriodType|Определяет тип периода действия услуги в тарифном плане, 0 - Дни, 1 - Месяцы
4039 +
4040 +== (% style="color:#000000; font-size:16px" %)**Изменить баланс**(%%) ==
4041 +
4042 +(% class="box warningmessage" %)
4043 +(((
4044 +**PUT /api/v3/Billing/client/balance**
4045 +)))
4046 +
4047 +Устанавливает указанное значение баланса не создавая операции пополнение/снятие.
4048 +
4049 +Тело запроса:
4050 +
4051 +{
4052 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
4053 + "Balance": 0
4054 +}
4055 +
4056 +Ответ: Success
4057 +
4058 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
4059 +|(% style="width:215px" %)ClientId|(% style="width:861px" %)Идентификатор клиента
4060 +|(% style="width:215px" %)Balance|(% style="width:861px" %)Значение баланса
4061 +
4062 +== (% style="color:#000000; font-size:16px" %)**Пополнить баланс**(%%) ==
4063 +
4064 +(% class="box warningmessage" %)
4065 +(((
4066 +**PUT /api/v3/billing/client/balance/deposit**
4067 +)))
4068 +
4069 +Создает операцию **Пополнение **с указанной суммой
4070 +
4071 +Тело запроса:
4072 +
4073 +{
4074 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
4075 + "Balance": 0
4076 +}
4077 +
4078 +Ответ: Success
4079 +
4080 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
4081 +|(% style="width:215px" %)ClientId|(% style="width:861px" %)Идентификатор клиента
4082 +|(% style="width:215px" %)Balance|(% style="width:861px" %)Значение баланса
4083 +
4084 +== (% style="color:#000000; font-size:16px" %)**Списать с баланса**(%%) ==
4085 +
4086 +Создает операцию **Списание **с указанной суммой
4087 +
4088 +(% class="box warningmessage" %)
4089 +(((
4090 +**PUT /api/v3/billing/client/balance/withdraw**
4091 +)))
4092 +
4093 +Тело запроса:
4094 +
4095 +{
4096 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
4097 + "Balance": 0
4098 +}
4099 +
4100 +Ответ: Success
4101 +
4102 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
4103 +|(% style="width:215px" %)ClientId|(% style="width:861px" %)Идентификатор клиента
4104 +|(% style="width:215px" %)Balance|(% style="width:861px" %)Значение баланса
4105 +
4106 +== (% style="color:#000000; font-size:16px" %)**Изменить ограничения клиента**(%%) ==
4107 +
4108 +(% class="box warningmessage" %)
4109 +(((
4110 +**PUT /api/v3/Billing/client/constraint**
4111 +)))
4112 +
4113 +Тело запроса:
4114 +
4115 +{
4116 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
4117 + "CalculationType": 0,
4118 + "PermissibleBalance": 0,
4119 + "DefermentDays": 0,
4120 + "SendUiNotifications": true,
4121 + "SendEmailNotifications": true,
4122 + "IsPrivate": true,
4123 +}
4124 +
4125 +Ответ: Success
4126 +
4127 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
4128 +|ClientId|Идентификатор клиента
4129 +|CalculationType|Определяет тип расчёта, 0 - Деньги, 1 - Дни
4130 +|PermissibleBalance|Допустимый баланс
4131 +|DefermentDays|(((
4132 +Отсрочка, количество дней
4133 +)))
4134 +|(% style="width:215px" %)SendUiNotifications|(% style="width:861px" %)Оповещение в web-интерфейсе, true - включено, false - выключено
4135 +|(% style="width:215px" %)SendEmailNotifications|(% style="width:861px" %)Оповещение на почту, true - включено, false - выключено
4136 +|(% style="width:215px" %)IsPrivate|(% style="width:861px" %)Признак, определяющий, являются ли параметры ограничений частными т.е. персональными для клиента, либо определяются тарифным планом
4137 +
4138 +== (% style="color:#000000; font-size:16px" %)**Изменить тариф клиента**(%%) ==
4139 +
4140 +(% class="box warningmessage" %)
4141 +(((
4142 +**PUT /api/v3/Billing/client/plan**
4143 +)))
4144 +
4145 +Тело запроса:
4146 +
4147 +{
4148 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
4149 + "PlanId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
4150 + "Features": [
4151 + {
4152 + "Feature": "string",
4153 + "IsEnabled": true,
4154 + "IsFactual": true,
4155 + "Limit": 0,
4156 + "Price": 0,
4157 + "DebitDate": "2023-10-18T13:26:58.987Z",
4158 + "PeriodValue": 0,
4159 + "PeriodType": 0
4160 + }
4161 + ]
4162 +}
4163 +
4164 +Ответ: Success
4165 +
4166 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
4167 +|ClientId|Идентификатор клиента
4168 +|PlanId|Идентификатор тарифного плана
4169 +|Feature|Код услуги
4170 +|IsEnabled|Признак, определяющий активирована ли услуга
4171 +|IsFactual|Признак, определяющий расчёт по факту
4172 +|Limit|Лимит использования услуги. Значение -1 подразумевает безлимитное использование.
4173 +|Price|Цена за единицу.
4174 +|DebitDate|Следующий момент времени списания с баланса за услугу.
4175 +|PeriodValue|Значение периода.
4176 +|PeriodType|Определяет тип периода действия услуги в тарифном плане, 0 - Дни, 1 - Месяцы
4177 +
4178 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Импорт и Экспорт**(%%) =
4179 +
4180 +(% class="box warningmessage" %)
4181 +(((
4182 +Для тестирования запросов **Импорта **в Postman необходимо скачать его на ПК. Версия в браузере не позволяет загружать файлы в тело запроса.
4183 +)))
4184 +
4185 +== (% style="color:#000000; font-size:16px" %)**Импорт объектов**(%%) ==
4186 +
4187 +(% class="box infomessage" %)
4188 +(((
4189 +**POST /api/v3/vehicles/import/{agentId}**
4190 +)))
4191 +
4192 +Запрос позволяет загрузить объекты в систему из файла. Импортируемый файл может быть в формате **xml (расширение *.xls)** или **wlp. **Также они могут находится в** zip-архиве (один файл - один архив).**
4193 +
4194 +В пути указывается **agentId** - id клиента.
4195 +
4196 +**Заголовок**
4197 +
4198 +**X-Auth: [токен авторизации]**
4199 +
4200 +**Параметры**
4201 +
4202 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
4203 +|withNoData|Параметр **Объекты без данных**. Определяет способ загрузки объекта, у которого отсутствует имя или модель объекта. true - загружать, false - пропускать.
4204 +|importMethod|Параметр **Метода импорта датчиков**. Определяет метод добавления датчиков импортируемых из файла. Значение: Replace - Замена, Merge - Слияние, Add - Добавление
4205 +
4206 +В теле использовать тип **form-data,** тип значения** file**
4207 +
4208 +**Ключи**
4209 +
4210 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
4211 +|data|В значении передаем файл объекта, формат **xml** или **wlp **
4212 +|csv|В значении передаем файл датчиков, формат **csv**
4213 +
4214 +Ответ:
4215 +
4216 +{
4217 + "vehicleId": 0,
4218 + "name": "string",
4219 + "errors": ["string"]
4220 +}
4221 +
4222 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
4223 +|vehicleId|ID созданного объекта
4224 +|name|Имя созданного объекта
4225 +|errors|Ошибки и их описание
4226 +
4227 +== (% style="color:#000000; font-size:16px" %)**Импорт сообщений**(%%) ==
4228 +
4229 +(% class="box infomessage" %)
4230 +(((
4231 +**POST** **/api/v3/vehicles/import/history/{vehicleId}**
4232 +)))
4233 +
4234 +(% class="wikigeneratedid" %)
4235 +Позволяет импортировать сообщения в выбранный объект. Сообщения должны иметь формат **wln** или **json**. Также они могут быть упакованы и переданы в виде в **zip-архива**.
4236 +
4237 +(% class="wikigeneratedid" %)
4238 +В пути указывается **vehicleId **- id объекта.
4239 +
4240 +**Заголовок**
4241 +
4242 +**X-Auth: [токен авторизации]**
4243 +
4244 +В теле использовать тип **form-data.**
4245 +
4246 +Ключи:
4247 +
4248 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
4249 +|**history**|В значении передавать файл с историей
4250 +
4251 +В случае, если загружается история из файла **wln **можно выполнять подмену названий параметров. В ключе вы указываете название параметра из файла, в значении указываете значение на которое нужно заменить.
4252 +
4253 +Ответ:
4254 +
4255 +{
4256 + "results": [
4257 + {
4258 + "vehicleGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
4259 + "vehicleId": 0,
4260 + "errors": [
4261 + "string"
4262 + ],
4263 + "firstMessageDate": "2023-11-28T09:27:58.949Z",
4264 + "lastMessageDate": "2023-11-28T09:27:58.949Z",
4265 + "producedCount": 0,
4266 + "msgCount": 0
4267 + }
4268 + ]
4269 +}
4270 +
4271 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
4272 +|results|Результаты импорта в разрезе ТС
4273 +|vehicleGuid|Guid ТС
4274 +|vehicleId|ID ТС
4275 +|errors|Список ошибок импорта истории (если пустой - нет ошибок)
4276 +|firstMessageDate|Дата первого импортированного сообщения (UTC)
4277 +|lastMessageDate|Дата последнего импортированного сообщения (UTC)
4278 +|producedCount|Кол-во успешно отправленных в шину данных сообщений
4279 +|msgCount|Кол-во обработанных сообщений всего
4280 +
4281 +== (% style="color:#000000; font-size:16px" %)**Статус импорта сообщений**(%%) ==
4282 +
4283 +(% class="box infomessage" %)
4284 +(((
4285 +**GET /api/v3/vehicles/import/history/status**
4286 +)))
4287 +
4288 +Запрос статуса импорта истории. Может потребоваться в случае импорта истории за большой период.
4289 +
4290 +Ответ:
4291 +
4292 +{
4293 + "activity": true,
4294 + "progress": 0,
4295 + "message": "string"
4296 +}
4297 +
4298 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
4299 +|activity|Активен ли экспорт/импорт истории сейчас, true - да, false - нет
4300 +|progress|Guid ТС
4301 +
4302 +== (% style="color:#000000; font-size:16px" %)**Экспорт объектов**(%%) ==
4303 +
4304 +(% class="box infomessage" %)
4305 +(((
4306 +**POST /api/v3/vehicles/export**
4307 +)))
4308 +
4309 +Запрос позволяет экспортировать файлы с настройками объектов. В запросе передается массив id объектов.
4310 +
4311 +Тело запроса:
4312 +
4313 +[
4314 + id
4315 +]
4316 +
4317 +Ответ: Success 200, получаете файлы с настройками.
4318 +
4319 +== (% style="color:#000000; font-size:16px" %)**Экспорт сообщений**(%%) ==
4320 +
4321 +(% class="box infomessage" %)
4322 +(((
4323 +**POST /api/v3/vehicles/export/history**
4324 +)))
4325 +
4326 +Метод возвращает список сообщений терминала объекта за выбранный период.
4327 +
4328 +Тело запроса:
4329 +
4330 +{
4331 + "vehicleId": 0,
4332 + "asArchive": true,
4333 + "from": "2023-09-27T12:17:45.973Z",
4334 + "to": "2023-09-27T12:17:45.973Z"
4335 +}
4336 +
4337 +Ответ:
4338 +
4339 +Получаете файл. Сообщение: Code 200/Success
4340 +
4341 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
4342 +|vehicleId|ID объекта
4343 +|asArchive|true - Архивировать файл, False - не архивировать
4344 +|from|Дата и время начала запроса
4345 +|to|Дата и время окончания запроса
4346 +
4347 +== (% style="color:#000000; font-size:16px" %)**Статус экспорта сообщений**(%%) ==
4348 +
4349 +(% class="box infomessage" %)
4350 +(((
4351 +**GET /api/v3/vehicles/export/history/status**
4352 +)))
4353 +
4354 +Метод возвращает список сообщений терминала объекта за выбранный период.
4355 +
4356 +Ответ:
4357 +
4358 +{
4359 + "activity": true,
4360 + "progress": 0,
4361 + "message": "string"
4362 +}
4363 +
4364 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
4365 +|activity|Статус экспорта, где true - экспорт в процессе выполнения, false - в данный момент ничего не экспортируется.
4366 +|progress|Прогресс экспорта, от 0 до 100%
4367 +|message|Текст описывающий статус
4368 +
4369 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Экодрайвинг**(%%) =
4370 +
4371 +== (% style="color:#000000; font-size:16px" %)**Запрос рейтинга качества вождения**(%%) ==
4372 +
4373 +(% class="box infomessage" %)
4374 +(((
4375 +**POST /api/v3/EcoDriving/rating**
4376 +)))
4377 +
4378 +Позволяет получить данные рейтинга нарушений выбранных объектов за указанный период времени. Данные, выдаваемые этим запросом аналогичны тем, что вы можете увидеть в окне **Качество вождения** в мониторинге. В массиве **items **передается список объектов из рейтинга качества вождения, в **trips **передается информация по отдельным рейсам объекта.
4379 +
4380 +Тело запроса:
4381 +
4382 +{
4383 + "vehicleIds": [vehicleId], ~/~/Массив ID объектов
4384 + "from": "2023-11-22T09:29:48.051Z", ~/~/ Дата начала запроса
4385 + "to": "2023-11-22T09:29:48.051Z" ~/~/ Дата окончания запроса
4386 +}
4387 +
4388 +Ответ:
4389 +
4390 +{
4391 + "items": [  ~/~/ Список в разрезе ТС
4392 + {
4393 + "from": "2023-11-22T09:29:48.052Z", ~/~/ Дата начала периода
4394 + "to": "2023-11-22T09:29:48.052Z", ~/~/ Дата окончания периода
4395 + "vehicleId": 0, ~/~/ ID ТС
4396 + "vehicleName": "string", ~/~/ Название ТС
4397 + "vehicleModel": "string", ~/~/ Модель ТС
4398 + "penalty": 0, ~/~/ Кол-во рассчитанных штрафных баллов в разрезе ТС
4399 + "score": 0, ~/~/ Рассчитанная оценка вождения в разрезе ТС
4400 + "totalViolations": 0, ~/~/ Нарушений всего
4401 + "violationsByType": { ~/~/ Информация о нарушениях по типу
4402 + "overspeedingViolations": 0, ~/~/ Нарушений превышения скорости
4403 + "accelerationViolations": 0, ~/~/ Нарушений ускорения
4404 + "brakingViolations": 0, ~/~/ Нарушений торможения
4405 + "turningViolations": 0, ~/~/ Нарушений опасного поворота
4406 + "dangerousDrivingViolations": 0, ~/~/ Нарушений резкого вождения
4407 + "sensorViolations": 0 ~/~/ Нарушений по датчику
4408 + },
4409 +
4410 +(((
4411 +
4412 +)))
4413 +
4414 + "moveTime": 0, ~/~/ Продолжительность движения, сек
4415 + "mileage": 0, ~/~/ Пробег, м
4416 + "tripsCount": 0, ~/~/ Кол-во рейсов
4417 + "trips": [  ~/~/ Информация по рейсу
4418 + {
4419 + "penalty": 0, ~/~/ Кол-во рассчитанных штрафных баллов за рейс
4420 + "score": 0, ~/~/ Рассчитанная оценка вождения за рейс
4421 + "violationsCount": 0, ~/~/ Всего нарушений
4422 + "violationsByType": { ~/~/ Информация о нарушениях по типу
4423 + "overspeedingViolations": 0, ~/~/ Нарушений превышения скорости
4424 + "accelerationViolations": 0, ~/~/ Нарушений ускорения
4425 + "brakingViolations": 0, ~/~/ Нарушений торможения
4426 + "turningViolations": 0, ~/~/ Нарушений опасного поворота
4427 + "dangerousDrivingViolations": 0, ~/~/ Нарушений резкого вождения
4428 + "sensorViolations": 0 ~/~/ Нарушений по датчику
4429 + },
4430 +
4431 + "startDate": "2024-11-18T13:23:38.516Z",  ~/~/ Дата начала поездки
4432 + "endDate": "2024-11-18T13:23:38.516Z", ~/~/ Дата окончания поездки
4433 + "moveTime": 0, ~/~/ Продолжительность движения, сек
4434 + "mileage": 0, ~/~/ Пробег, м
4435 + "motohours": 0, ~/~/ Моточасы, секунды
4436 + "maxSpeed": 0, ~/~/ Максимальная скорость за рейс
4437 + "startAddress": "string", ~/~/ Адрес начала рейса
4438 + "endAddress": "string", ~/~/ Адрес конца рейса
4439 + "drivers": [  ~/~/ Список водителей
4440 + {
4441 + "driverGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/GUID водителя
4442 + "driverName": "string", ~/~/ФИО водителя
4443 + "driverRfid": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/GUID радиометки
4444 + }
4445 + ]
4446 + }
4447 + ]
4448 + }
4449 + ]
4450 +}
4451 +
4452 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Топливные карты**(%%) =
4453 +
4454 +== (% style="color:#000000; font-size:16px" %)**Запрос транзакций по топливным картам**(%%) ==
4455 +
4456 +Транзакции по топливным картам можно получить при наличии права «Транзакции ТК». Метод позволяет получить транзакции по нескольким топливным картам.
4457 +
4458 +(% class="box infomessage" %)
4459 +(((
4460 +**POST /api/v3/fuelcards/transactions**
4461 +)))
4462 +
4463 +Метод запроса: POST
4464 +
4465 +URL запроса: https:~/~/hosting.glonasssoft.ru/api/v3/fuelcards/transactions
4466 +\\В заголовках запроса: X-Auth: Токен авторизации
4467 +
4468 +Параметры в теле запроса (JSON):
4469 +
4470 +{
4471 + "startDate": "2024-04-11T10:32:02.395Z", ~/~/ Начало периода
4472 + "endDate": "2024-04-11T10:32:02.395Z", ~/~/ Конец периода
4473 + "ids": [ 
4474 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Идентификаторы топливных карт
4475 + ],
4476 + "timezone": 0 ~/~/ Часовой пояс
4477 +}
4478 +
4479 +
4480 +Ответ:
4481 + {
4482 + "date": "2024-04-11T10:41:02.265Z", ~/~/ Дата и время транзакции
4483 + "driver": "string", ~/~/ Водители, привязанные к ТК
4484 + "object": "string", ~/~/ Наименование ТС
4485 + "amount": 0, ~/~/ Количество топлива
4486 + "amountDut": 0, ~/~/ Количество по ДУТ
4487 + "amountDiff": 0, ~/~/ Разница, л
4488 + "amountDiffPerc": 0, ~/~/ Разница, %
4489 + "summa": 0, ~/~/ Стоимость, руб
4490 + "serviceName": "string", ~/~/ Тип топлива
4491 + "price": 0, ~/~/ Цена за литр, руб
4492 + "cardName": "string", ~/~/ Наименование ТК
4493 + "cardNum": "string", ~/~/ Номер ТК
4494 + "operator": "string", ~/~/ Оператор ТК
4495 + "address": "string" ~/~/ Адрес АЗС
4496 + }
4497 +
4498 +== (% style="color:#000000; font-size:16px" %)**Получение списка топливных карт**(%%) ==
4499 +
4500 +(% class="box infomessage" %)
4501 +(((
4502 +**GET /api/v3/fuelcards**
4503 +)))
4504 +
4505 +Метод запроса: GET
4506 +
4507 +URL запроса: https:~/~/hosting.glonasssoft.ru/api/v3/fuelcards?ownerId=ID_клиента ~/~/ ID клиента у которого нужно запросить список
4508 +
4509 +Ответ:
4510 +
4511 +[
4512 + {
4513 + "Name": "string", ~/~/ Определяет наименование карты.
4514 + "OperatorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Определяет идентификатор оператора.
4515 + "Number": "string", ~/~/ Определяет № карты.
4516 + "Enabled": true, ~/~/ Определяет признак активности карты.
4517 + "Description": "string", ~/~/ Определяет описание карты.
4518 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID карты
4519 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid родителя
4520 + "deleted": true ~/~/ Признак удаления
4521 + }
4522 +]
4523 +
4524 += (% style="color:#000000; font-size:18.6667px" %)Раздел: (%%)**Методы публичного API для ретрансляторов** =
4525 +
4526 +
4527 +== **Получение полных данных о ретрансляторе** ==
4528 +
4529 +(% class="box infomessage" %)
4530 +(((
4531 +**GET ** **/api/v3/retranslations/{id}**
4532 +)))
4533 +
4534 +id - Идентификатор ретранслятора
4535 +
4536 +
4537 +Пример ответа:
4538 +
4539 +{  
4540 +"description": "", ~/~/ Поле описания ретранслятора
4541 +"subscriberId": "", ~/~/ Идентификатор подписчика (клиента, чьи объекты будут ретранслироваться)
4542 +"protocolType": 0, ~/~/ Тип протокола ретрансляции
4543 +"isEnabled": true, ~/~/ Признак включения ретранслятора, Включен, true - включен, false - отключен
4544 +"address": "string", ~/~/ Адрес и порт принимающего сервера
4545 +"objects": [ ~/~/ Объекты для ретрансляции
4546 +{      
4547 +"id": "",  ~/~/ Идентификатор объекта ретрансляции
4548 +"name": "", ~/~/ Наименование объекта ретрансляции
4549 +"imei": "", ~/~/ IMEI объекта  ретрансляции
4550 +"isEnabled": true ~/~/ Признак включения объекта ретрансляции: true - включен, false - отключен
4551 +}
4552 + ],  
4553 +"id": "", ~/~/ Идентификатор ретранслятора 
4554 +"parentId": "", ~/~/ Идентификатор родителя (вышестоящего клиента)
4555 +"deleted": "" ~/~/ Признак удаления ретранслятора: true - включен, false - отключен
4556 +}
4557 +
4558 +
4559 +== **Удаление данных ретранслятора** ==
4560 +
4561 +(% class="box infomessage" %)
4562 +(((
4563 +**DELETE** **/api/v3/retranslations/{id}**
4564 +)))
4565 +
4566 +id - Идентификатор ретранслятора
4567 +
4568 +
4569 +== **Создание ретранслятора** ==
4570 +
4571 +(% class="box infomessage" %)
4572 +(((
4573 +**POST ** **/api/v3/retranslations/{id}**
4574 +)))
4575 +
4576 +Запрос:
4577 +
4578 +{  
4579 +"description": "", ~/~/ Поле описания ретранслятора
4580 +"subscriberId": "", ~/~/ Идентификатор подписчика
4581 +"protocolType": 0, ~/~/ Тип протокола ретрансляции
4582 +"address": "", ~/~/ Адрес и порт принимающего сервера
4583 +"isEnabled": "", ~/~/ Признак включения ретранслятора, true - включен, false - отключен
4584 +"objects": [ ~/~/Объекты для ретрансляции
4585 +{      
4586 +"id": "", ~/~/ Идентификатор ретранслятора 
4587 +"imei": "", ~/~/ IMEI объекта ретрансляции
4588 +"isEnabled": ""  ~/~/ Признак включения объекта ретрансляции: true - включен, false - отключен
4589 +}
4590 + ]
4591 +}
4592 +
4593 +
4594 +Ответ:
4595 +
4596 +{  
4597 +"description": "", ~/~/ Поле описания ретранслятора
4598 +"subscriberId": "", ~/~/ Идентификатор подписчика (клиента, чьи объекты будут ретранслироваться)
4599 +"protocolType": 0, ~/~/ Тип протокола ретрансляции
4600 +"isEnabled": true, ~/~/ Признак включения ретранслятора: true - включен, false - отключен
4601 +"address": "string", ~/~/ Адрес и порт принимающего сервера
4602 +"objects": [ ~/~/ Объекты для ретрансляции
4603 +{      
4604 +"id": "", ~/~/ Идентификатор объекта ретрансляции     
4605 +"name": "string", ~/~/ Наименование объекта ретрансляции    
4606 +"imei": "", ~/~/ IMEI объекта ретрансляции
4607 +"isEnabled": true ~/~/ Признак включения объекта ретрансляции: true - включен, false - отключен  
4608 +}
4609 + ],
4610 +"id": "", ~/~/ Идентификатор ретранслятора   
4611 +"parentId": "", ~/~/ Идентификатор родителя (вышестоящего клиента)
4612 +"deleted": true ~/~/ Признак удаления ретранслятора: true - удален, false - не удален
4613 +}
4614 +
4615 +
4616 +== **Редактирование ретранслятора** ==
4617 +
4618 +(% class="box infomessage" %)
4619 +(((
4620 +**PUT** **/api/v3/retranslations**
4621 +)))
4622 +
4623 +Пример запроса:
4624 +
4625 +{  
4626 +"id": "", ~/~/ Идентификатор ретранслятора   
4627 +"description": "string", ~/~/ Поле описания ретранслятора
4628 +"subscriberId": "", ~/~/ Идентификатор подписчика
4629 +"protocolType": 0, ~/~/ Тип протокола ретрансляции
4630 +"isEnabled": true, ~/~/ Признак включения ретранслятора: true - включен, false - отключен
4631 +"address": "string", ~/~/ Адрес и порт принимающего сервера
4632 +"objects": ~/~/ Объекты для ретрансляции
4633 +[    
4634 +{      
4635 +"id": "",  ~/~/ Идентификатор объекта ретрансляции 
4636 +"imei": "", ~/~/ IMEI объекта ретрансляции
4637 +"isEnabled": true ~/~/ Признак включения объекта ретрансляции: true - включен, false - отключен
4638 +}
4639 + ]
4640 +}
4641 +
4642 +
4643 +Пример ответа:
4644 +
4645 +{  
4646 +"description": "", ~/~/ Поле описания ретранслятора
4647 +"subscriberId": "", ~/~/ Идентификатор подписчика (клиента, чьи объекты будут ретранслироваться)
4648 +"protocolType": 0, ~/~/ Тип протокола ретрансляции
4649 +"isEnabled": true, ~/~/ Признак включения ретранслятора: true - включен, false - отключен
4650 +"address": "string", ~/~/ Адрес и порт принимающего сервера
4651 +"objects": [ ~/~/ Объекты для ретрансляции
4652 +{      
4653 +"id": "", ~/~/ Идентификатор объекта ретрансляции     
4654 +"name": "string", ~/~/ Наименование объекта ретрансляции    
4655 +"imei": "", ~/~/ IMEI объекта ретрансляции
4656 +"isEnabled": true ~/~/ Признак включения объекта ретрансляции: true - включен, false - отключен  
4657 +}
4658 + ],
4659 +"id": "", ~/~/ Идентификатор ретранслятора   
4660 +"parentId": "", ~/~/ Идентификатор родителя (вышестоящего клиента)
4661 +"deleted": true ~/~/ Признак удаления ретранслятора: true - удален, false - не удален
4662 +}
4663 +
4664 +
4665 +== **Получение списка ретранслятора клиента** ==
4666 +
4667 +(% class="box infomessage" %)
4668 +(((
4669 +**POST /api/v3/retranslations/find**
4670 +)))
4671 +
4672 +Пример запроса:
4673 +
4674 +{  
4675 +"id": "", ~/~/ Идентификатор ретранслятора   
4676 +"search": "string", ~/~/ Строка поиска. Поиск производится по имени подписчика, описанию, типу протокола и адресу
4677 +"parentId": "" ~/~/ Идентификатор родительского агента, для которого надо получить данные (обязательный параметр).
4678 +}
4679 +
4680 +Ответ:
4681 +
4682 +[ 
4683 +{    
4684 +"description": "", ~/~/ Поле описания ретранслятора
4685 +"subscriberId": "", ~/~/ Идентификатор подписчика (клиента, чьи объекты будут ретранслироваться)
4686 +"protocolType": 0, ~/~/ Тип протокола ретрансляции
4687 +"isEnabled": true, ~/~/ Признак включения ретранслятора: true - включен, false - отключен
4688 +"address": "string", ~/~/ Адрес и порт принимающего сервера
4689 +"id": "", ~/~/ Идентификатор ретранслятора   
4690 +"parentId": "", ~/~/ Идентификатор родителя (вышестоящего клиента)
4691 +"deleted": true ~/~/ Признак удаления ретранслятора: true - удален, false - не удален
4692 +}
4693 +]
4694 +
4695 +
4696 += (% style="color:#000000; font-size:18.6667px" %)**Раздел: Отчеты**(%%) =
4697 +
4698 +== **API для отчета по выгрузке комбайнов** ==
4699 +
4700 +(% class="box infomessage" %)
4701 +(((
4702 +**POST /api/v3/Reports/harvesterUnloading**
4703 +)))
4704 +
4705 +Пример запроса:
4706 +
4707 +{
4708 + "byTime": 0, ~/~/ Объединение событий по времени
4709 + "byDist": 0, ~/~/ Объединение событий по расстоянию
4710 + "filterByTime": 0, ~/~/ Фильтрация событий по времени нахождения
4711 + "filterByHalfPerimeter": true, ~/~/ Фильтрация событий по пробегу половины периметра
4712 + "showNearestObjects": true, ~/~/Показывать объекты рядом?
4713 + "vehicleIds": [ ~/~/ Список id объектов для анализа
4714 + 0
4715 + ],
4716 + "from": "", ~/~/ Дата и время начало запроса
4717 + "to": "", ~/~/ Дата и время окончания запроса
4718 + "timezone": 0 ~/~/ Временная зона. Если не указана, то по умолчанию UTC+3
4719 +}
4720 +
4721 +Пример ответа:
4722 +
4723 +[ 
4724 + {
4725 + "harvesterName": "", ~/~/Комбайн, номер
4726 + "harvesterId": 0, ~/~/Комбайн, id
4727 +"harvesterModel": "", ~/~/ Модель комбайна
4728 +"hopperCapacity": 0, ~/~/ Объем бункера м3
4729 + "hopperDischargeSpeed": 0, ~/~/ Скорость выгрузки из бункера, л/сек
4730 + "events": [ ~/~/Список событий в разрезе комбайна
4731 + {
4732 + "driverId": "", ~/~/Идентификатор водителя
4733 + "driverName": "", ~/~/Водитель комбайна, ФИО
4734 + "RFID": "", ~/~/ идентификатор карты-метки
4735 + "rfidName": "", ~/~/Водитель комбайна, имя метки
4736 + "vehicleId": 0, ~/~/идентификатор объекта
4737 + "vehicleName": "string", ~/~/ Имя объекта
4738 + "modelName": "string", ~/~/ Имя модели объекта
4739 + "nearestVehicles": [ ~/~/Объекты рядом
4740 + {
4741 + "vehicleId": 0, ~/~/идентификатор объекта
4742 + "vehicleName": "string" ~/~/ Имя объекта
4743 + }
4744 + ],
4745 + "fields": [ ~/~/Поля, где происходила выгрузка
4746 + {
4747 + "id": 0, ~/~/ идентификатор пользователя 
4748 + "name": "string" ~/~/ имя пользователя 
4749 + }
4750 + ],
4751 + "event": "string", ~/~/Событие
4752 + "start": "2024-07-19T06:41:57.821Z", ~/~/ Начало периода
4753 + "end": "2024-07-19T06:41:57.821Z", ~/~/ Окончание периода
4754 + "durationSeconds": 0, ~/~/Продолжительность события, в секундах
4755 + "cultureName": "string", ~/~/ название культуры
4756 + "bunkerLowLevelStart": 0, ~/~/Бункер, нижний уровень (на начало события)
4757 + "bunkerLowLevelEnd": 0, ~/~/ Бункер, нижний уровень (на конец события)
4758 + "bunkerHighLevelStart": 0, ~/~/Бункер, верхний уровень (на начало события)
4759 + "bunkerHighLevelEnd": 0, ~/~/Бункер, верхний уровень (на конец события)
4760 + "reapingAggregateValueStart": 0, ~/~/Жатка (на начало события)
4761 + "reapingAggregateValueEnd": 0, ~/~/Жатка (на конец события)
4762 + "issued": 0, ~/~/Выдано, бункеров
4763 + "issuedByBunkerSensors": 0, ~/~/Отдано бункеров (расчет по датчикам бункера)
4764 + "latitude": 0, ~/~/Широта
4765 + "longitude": 0, ~/~/ Долгота
4766 + "litresAway": 0, ~/~/Отдано, л
4767 + "m3Away": 0 ~/~/Отдано, м3
4768 + }
4769 + ]
4770 + }
4771 +]
4772 +
4773 +
4774 +== **Отчет трек-датчики** ==
4775 +
4776 +(% class="box infomessage" %)
4777 +(((
4778 +**POST /api/v3/Reports/sensorsWorks**
4779 +)))
4780 +
4781 +**Пример запроса:**
4782 +
4783 +{
4784 + "vehicleIds": [ ~/~/ Список ID объектов
4785 + 0
4786 + ],
4787 + "from": "2025-02-20T06:39:23.888Z",  ~/~/ Начало периода (локальное время клиента)
4788 + "to": "2025-02-20T06:39:23.888Z", ~/~/  Конец периода (локальное время клиента)
4789 + "timezone": 0 ~/~/ Таймзона клиента, в часах (double). Если не передана - то считается как +3, MSK
4790 +}
4791 +
4792 +**Пример ответа:**
4793 +
4794 +(((
4795 +{
4796 + "vehicleSensorWorks": [  ~/~/ Интервалы работы оборудования для конкретного ТС
4797 + {
4798 + "vehicleId": 0, ~/~/ Идентификатор ТС
4799 + "sensorWorks": [ ~/~/ Интервалы работы оборудования. 
4800 + {
4801 + "start": "2025-02-20T06:39:23.979Z", ~/~/ Начало интервала работы оборудования.
4802 + "end": "2025-02-20T06:39:23.979Z", ~/~/ Конец интервала работы оборудования.
4803 + "duration": 0, ~/~/  Продолжительность интервала в секундах.
4804 + "name": "string", ~/~/ Наименование оборудования.
4805 + "mileage": 0, ~/~/ Пробег за время работы оборудования.
4806 + "totalMileage": 0, ~/~/ Общий пробег.
4807 + "avgSpeed": 0 ~/~/ Средняя скорость.
4808 + }
4809 + ]
4810 + }
4811 + ]
4812 +}
4813 +)))
4814 +
4815 += (% style="color:#000000; font-size:18.6667px" %)**Раздел: Сельскохозяйственные поля **(%%) =
4816 +
4817 +
4818 +== **Запрос списка полей** ==
4819 +
4820 +(% class="box successmessage" %)
4821 +(((
4822 +**POST /api/v3/agroLands/find**
4823 +)))
4824 +
4825 +Пример запроса:
4826 +
4827 +(((
4828 +(((
4829 +(((
4830 +{
4831 + "year": 0, ~/~/ Фильтр по году
4832 + "name": "string", ~/~/ Фильтр по названию
4833 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Фильтр по подразделению
4834 +}
4835 +)))
4836 +)))
4837 +
4838 +
4839 +)))
4840 +
4841 +Пример ответа:
4842 +
4843 +(((
4844 +[
4845 + {
4846 + "sqPlan": 0, ~/~/ Определяет площадь поля, Га.
4847 + "year": 0, ~/~/ Год поля
4848 + "startDate": "2024-12-20T12:27:07.523Z", ~/~/ Начало года урожая
4849 + "endDate": "2024-12-20T12:27:07.523Z", ~/~/ Конец года урожая
4850 + "status": 0, ~/~/ Статус с/х поля 0 - нет, 1 - открыто, 2 - закрыто
4851 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор культуры
4852 + "cultureTechnologyId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор технологии
4853 + "counts": { ~/~/ Счётчики с/х поля 
4854 + "fieldOperations": 0, ~/~/ Количество операций на поле
4855 + "actualFieldOperations": 0, ~/~/ Кол-во актуальных операций на поле
4856 + "facts": 0 ~/~/ Счётчик факта
4857 + },
4858 + "planState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой
4859 + "actualPlanState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой
4860 + "factState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой
4861 + "taskState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой
4862 + "fieldId": 0, ~/~/ Ссылка на группирующее с/х поле
4863 + "sourceId": 0, ~/~/ Ссылка на участок прошлого года
4864 + "planComment": "string", ~/~/ Комментарий к полю
4865 + "productivity": 0, ~/~/ Урожайность.
4866 + "id": 0, ~/~/ Идентификатор объекта геозоны
4867 + "name": "string", ~/~/ Название объекта геозоны
4868 + "type": 0, ~/~/ Тип объекта геозоны
4869 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение
4870 + "fname": "string", ~/~/ Имя файла
4871 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента
4872 + "beginCalc": "2024-12-20T12:27:07.523Z", ~/~/ Дата начала расчетов для геозоны
4873 + "endCalc": "2024-12-20T12:27:07.523Z", ~/~/ Дата окончания расчетов для геозоны
4874 + "description": "string", ~/~/ Описание объекта геозоны
4875 + "area": 0, ~/~/ Площадь, м2
4876 + "perimetr": 0, ~/~/ Периметр, м
4877 + "createDate": "2024-12-20T12:27:07.523Z" ~/~/ Дата создания в бд
4878 + }
4879 +]
4880 +
4881 +
4882 +== **Создание нового поля ** ==
4883 +
4884 +(% class="box successmessage" %)
4885 +(((
4886 +**POST /api/v3/agroLands**
4887 +)))
4888 +
4889 +Если необходимо указывать конкретного клиента, в котором нужно создать поле, то в заголовке надо прописать 
4890 +X-agent  - ID клиента
4891 +
4892 +Пример запроса:
4893 +
4894 +(((
4895 +{
4896 + "extId": "string", 
4897 + "shape": "{\"type\":\"Polygon\",\"coordinates\":~[~[[50.299112,54.769317],[50.299369,54.76691],[50.303702,54.767878],[50.299112,54.769317]]]}", ~/~/ Форма поля
4898 + "shapeFormat": "geojson", ~/~/ Формат, в котором представлена форма поля
4899 + "display": "string", ~/~/ Настройки отображения
4900 + "year": 0, ~/~/ Год поля
4901 + "name": "string", ~/~/ Наименование
4902 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение
4903 + "startDate": "2024-12-20T08:19:59.635Z", ~/~/ Начало года урожая
4904 + "endDate": "2024-12-20T08:19:59.635Z", ~/~/ Конец года урожая
4905 + "planComment": "string", ~/~/ Комментарий к полю
4906 + "cropRotations": [ ~/~/ Данные по севообороту
4907 + {
4908 + "landId": 0, ~/~/ ID поля
4909 + "landName": "string", ~/~/ Название поля
4910 + "year": 0, ~/~/ Год урожая
4911 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры
4912 + "cultureName": "string", ~/~/ Название культуры
4913 + "productivity": 0, ~/~/ Урожайность
4914 + "area": 0, ~/~/ Площадь поля, Га
4915 + "total": 0, ~/~/ Валовый сбор
4916 + "productivityFact": 0, ~/~/ Фактическая урожайность
4917 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га.
4918 + "totalFact": 0, ~/~/ Фактический валовый сбор
4919 + "start": "2024-12-20T08:19:59.635Z", ~/~/ Дата начала работ
4920 + "sowing": "2024-12-20T08:19:59.635Z", ~/~/ Дата сева
4921 + "harvesting": "2024-12-20T08:19:59.635Z", ~/~/ Дата уборки урожая
4922 + "isyearplan": true, ~/~/ Годовой план 
4923 + "comment": "string" ~/~/ Комментарий
4924 + }
4925 + ]
4926 +}
4927 +)))
4928 +
4929 +(((
4930 +
4931 +)))
4932 +
4933 +Пример ответа:
4934 +
4935 +(((
4936 +(((
4937 +{
4938 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  ~/~/ Идентификатор культуры
4939 + "cultureTechnologyId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор технологии
4940 + "fieldId": 0, ~/~/ Ссылка на группирующее с/х поле
4941 + "sourceId": 0, ~/~/ Ссылка на участок прошлого года
4942 + "cropRotations": [ ~/~/ Данные по севообороту
4943 + {
4944 + "landId": 0, ~/~/ ID поля
4945 + "landName": "string", ~/~/ Название поля
4946 + "year": 0, ~/~/ Год урожая 
4947 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры
4948 + "cultureName": "string", ~/~/ Название культуры
4949 + "productivity": 0, ~/~/ Урожайность
4950 + "area": 0, ~/~/ Площадь поля, Га.
4951 + "total": 0, ~/~/ Валовый сбор
4952 + "productivityFact": 0, ~/~/ Фактическая урожайность
4953 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га.
4954 + "totalFact": 0, ~/~/ Фактический валовый сбор
4955 + "start": "2024-12-20T08:19:59.743Z", ~/~/ Дата начала работ
4956 + "sowing": "2024-12-20T08:19:59.743Z", ~/~/ Дата сева
4957 + "harvesting": "2024-12-20T08:19:59.743Z", ~/~/ Дата уборки урожая
4958 + "isyearplan": true, ~/~/ годовой план 
4959 + "comment": "string" ~/~/ Комментарий
4960 + }
4961 + ],
4962 + "cropVegetation": [ ~/~/ История вегетации поля
4963 + {
4964 + "values": [  ~/~/ Данные вегетации и состояния посева
4965 + {
4966 + "date": "2024-12-20T08:19:59.743Z", ~/~/ Дата
4967 + "ndvi": 0 ~/~/ Индекс вегетации
4968 + }
4969 + ],
4970 + "resources": [ ~/~/ Данные о снимках для каждого значения NDVI
4971 + {
4972 + "date": "2024-12-20T08:19:59.743Z", ~/~/ Дата
4973 + "type": "string", ~/~/ Тип
4974 + "pictureid": "string" ~/~/ Идентификатор ресурса
4975 + }
4976 + ],
4977 + "states": [ ~/~/ Ключевые даты развития поля
4978 + {
4979 + "date": "2024-12-20T08:19:59.743Z", ~/~/ Дата
4980 + "state": 0 ~/~/ Статус  0 - Всходы, 1 - Вершина, 2 - Сбор урожая
4981 + }
4982 + ]
4983 + }
4984 + ],
4985 + "endDate": "2024-12-20T08:19:59.743Z", ~/~/ Дата закрытия года урожая
4986 + "counts": {
4987 + "fieldOperations": 0, ~/~/ Количество операций на поле
4988 + "actualFieldOperations": 0, ~/~/ Кол-во актуальных операций на поле
4989 + "facts": 0 ~/~/ Счётчик факта
4990 + },
4991 + "planComment": "string", ~/~/ Комментарий к полю
4992 +)))
4993 +
4994 +(((
4995 + "productivity": 0, ~/~/ Урожайность.
4996 + "sqPlan": 0, ~/~/ Определяет площадь поля, Га.
4997 + "startDate": "2024-12-20T08:19:59.743Z", ~/~/ Дата открытия года урожая
4998 + "year": 0, ~/~/ Год поля
4999 + "planState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой
5000 + "actualPlanState": 0, ~/~/ Актуальный статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой
5001 + "factState": 0, ~/~/ Фактический статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой
5002 + "taskState": 0, ~/~/ Статус задачи годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой
5003 + "status": 0, ~/~/ Статус с/х поля 0 - Нет, 1 - Открыто, 2 - Закрыто
5004 + "id": 0, ~/~/ Идентификатор объекта геозоны
5005 + "name": "string", ~/~/ Название объекта геозоны
5006 + "type": 0, ~/~/ Тип объекта геозоны
5007 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение
5008 + "fname": "string", ~/~/ Имя файла
5009 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента
5010 + "beginCalc": "2024-12-20T08:19:59.743Z", ~/~/ Дата начала расчетов для геозоны
5011 + "endCalc": "2024-12-20T08:19:59.743Z", ~/~/ Дата окончания расчетов для геозоны
5012 + "description": "string", ~/~/ Описание объекта геозоны
5013 + "area": 0, ~/~/ Площадь, м2
5014 + "perimetr": 0, ~/~/ Периметр, м
5015 + "createDate": "2024-12-20T08:19:59.743Z" ~/~/ Дата создания в бд
5016 +}
5017 +
5018 +
5019 +)))
5020 +)))
5021 +)))
5022 +
5023 +== **Получение поля по id** ==
5024 +
5025 +(% class="box infomessage" %)
5026 +(((
5027 +**GET /api/v3/agroLands/{id}**
5028 +)))
5029 +
5030 +Пример запроса:
5031 +id  ~/~/ Идентификатор поля
5032 +
5033 +Пример ответа:
5034 +
5035 +(((
5036 +{
5037 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  ~/~/ Идентификатор культуры
5038 + "cultureTechnologyId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор технологии
5039 + "fieldId": 0, ~/~/ Ссылка на группирующее с/х поле
5040 + "sourceId": 0, ~/~/ Ссылка на участок прошлого года
5041 + "cropRotations": [ ~/~/ Данные по севообороту
5042 + {
5043 + "landId": 0, ~/~/ ID поля
5044 + "landName": "string", ~/~/ Название поля
5045 + "year": 0, ~/~/ Год урожая
5046 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры
5047 + "cultureName": "string", ~/~/ Название культуры
5048 + "productivity": 0, ~/~/ Урожайность
5049 + "area": 0, ~/~/ Площадь поля, Га
5050 + "total": 0, ~/~/ Валовый сбор
5051 + "productivityFact": 0, ~/~/ Фактическая урожайность
5052 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га.
5053 + "totalFact": 0, ~/~/ Фактический валовый сбор
5054 + "start": "2024-12-20T07:45:52.611Z", ~/~/ Дата начала работ
5055 + "sowing": "2024-12-20T07:45:52.611Z", ~/~/ Дата сева
5056 + "harvesting": "2024-12-20T07:45:52.611Z", ~/~/ Дата уборки урожая
5057 + "isyearplan": true, ~/~/ План года 
5058 + "comment": "string" ~/~/ Комментарий
5059 + }
5060 + ],
5061 + "cropVegetation": [ ~/~/ История вегетации поля
5062 + {
5063 + "values": [ ~/~/ Данные вегетации и состояния посева
5064 + {
5065 + "date": "2024-12-20T07:45:52.611Z", ~/~/ Дата
5066 + "ndvi": 0 ~/~/ Индекс вегетации
5067 + }
5068 + ],
5069 + "resources": [  ~/~/ Данные о снимках для каждого значения NDVI
5070 + {
5071 + "date": "2024-12-20T07:45:52.611Z", ~/~/ Дата
5072 + "type": "string", ~/~/ Тип 
5073 + "pictureid": "string" ~/~/ Идентификатор ресурса
5074 + }
5075 + ],
5076 + "states": [ ~/~/ Ключевые даты развития поля
5077 + {
5078 + "date": "2024-12-20T07:45:52.611Z", ~/~/ Дата 
5079 + "state": 0 ~/~/ Статус 0 - Посев, 1 - Всходы, 2 - Сбор урожая
5080 + }
5081 + ]
5082 + }
5083 + ],
5084 + "endDate": "2024-12-20T07:45:52.611Z", ~/~/ Дата закрытия года урожая
5085 + "counts": {
5086 + "fieldOperations": 0, ~/~/ Количество операций на поле
5087 + "actualFieldOperations": 0,  ~/~/ Кол-во актуальных операций на поле
5088 + "facts": 0 ~/~/ Счётчик факта
5089 + },
5090 + "planComment": "string", ~/~/ Комментарий к полю
5091 + "productivity": 0, ~/~/ Урожайность.
5092 + "sqPlan": 0, ~/~/ Определяет площадь поля, Га.
5093 +)))
5094 +
5095 +(((
5096 +(((
5097 + "startDate": "2024-12-20T07:45:52.611Z", ~/~/ Дата открытия года урожая
5098 + "year": 0, ~/~/ Год поля
5099 + "planState": 0, ~/~/ Статус годового планирования участка (0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой) 
5100 + "actualPlanState": 0, ~/~/ Статус годового планирования участка (0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой)
5101 + "factState": 0, ~/~/ Статус годового планирования участка (0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой)
5102 + "taskState": 0, ~/~/ Статус годового планирования участка (0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой)
5103 + "status": 0,  ~/~/ Статус с/х поля (0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой)
5104 + "id": 0, ~/~/ Идентификатор объекта геозоны
5105 + "name": "string", ~/~/ Название объекта геозоны
5106 + "type": 0, ~/~/ Тип объекта геозоны 
5107 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение
5108 + "fname": "string", ~/~/ Имя файла
5109 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента
5110 + "beginCalc": "2024-12-20T07:45:52.611Z", ~/~/ Дата начала расчетов для геозоны
5111 + "endCalc": "2024-12-20T07:45:52.611Z", ~/~/ Дата окончания расчетов для геозоны
5112 + "description": "string", ~/~/ Описание объекта геозоны
5113 + "area": 0, ~/~/ Площадь, м2
5114 + "perimetr": 0, ~/~/ Периметр, м
5115 + "createDate": "2024-12-20T07:45:52.611Z" ~/~/ Дата создания в бд
5116 +}
5117 +)))
5118 +
5119 +
5120 +== **Удаление существующего поля** ==
5121 +
5122 +(% class="box errormessage" %)
5123 +(((
5124 +**DELETE /api/v3/agroLands/{id}**
5125 +)))
5126 +
5127 +Пример запроса:
5128 +id  ~/~/ Идентификатор поля
5129 +
5130 +Пример ответа:
5131 +
5132 +(((
5133 +200 ~/~/ Успех
5134 +)))
5135 +
5136 +(((
5137 +
5138 +)))
5139 +
5140 +(((
5141 +(((
5142 +(((
5143 +
5144 +)))
5145 +
5146 +(((
5147 +== **Изменение поля** ==
5148 +
5149 +(% class="box infomessage" %)
5150 +(((
5151 +**PUT /api/v3/agroLands**
5152 +)))
5153 +
5154 +Пример запроса:
5155 +
5156 +(((
5157 +(((
5158 +{
5159 + "id": 0, ~/~/ Идентификатор поля
5160 + "extId": "string", ~/~/ ExtId
5161 + "shape": "string", ~/~/ Форма поля
5162 + "shapeFormat": "string", ~/~/ Формат, в котором представлена форма поля
5163 + "display": "string", ~/~/ Настройки отображения
5164 + "year": 0, ~/~/ Год поля
5165 + "name": "string", ~/~/ Наименование
5166 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение
5167 + "startDate": "2024-12-20T10:11:59.425Z", ~/~/ Начало года урожая
5168 + "endDate": "2024-12-20T10:11:59.425Z", ~/~/ Конец года урожая
5169 + "planComment": "string", ~/~/Комментарий к полю
5170 + "cropRotations": [  ~/~/ Данные по севообороту
5171 + {
5172 + "landId": 0, ~/~/ ID поля
5173 + "landName": "string", ~/~/ Название поля
5174 + "year": 0, ~/~/ Год урожая
5175 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры
5176 + "cultureName": "string", ~/~/ Название культуры
5177 + "productivity": 0, ~/~/ Урожайность
5178 + "area": 0, ~/~/ Площадь поля, Га.
5179 + "total": 0, ~/~/ Валовый сбор
5180 + "productivityFact": 0, ~/~/ Фактическая урожайность
5181 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га.
5182 + "totalFact": 0, ~/~/ Фактический валовый сбор
5183 + "start": "2024-12-20T10:11:59.425Z", ~/~/ Дата начала работ
5184 + "sowing": "2024-12-20T10:11:59.425Z", ~/~/ Дата сева
5185 + "harvesting": "2024-12-20T10:11:59.425Z", ~/~/ Дата уборки урожая
5186 + "isyearplan": true, 
5187 + "comment": "string" ~/~/ Комментарий
5188 + }
5189 + ],
5190 + "deleteStatistic": true ~/~/ Нужно ли удалять статистику
5191 +}
5192 +)))
5193 +)))
5194 +
5195 +(((
5196 +
5197 +)))
5198 +
5199 +Пример ответа:
5200 +
5201 +(((
5202 +(((
5203 +(((
5204 +{
5205 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор культуры
5206 + "cultureTechnologyId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор технологии
5207 + "fieldId": 0, ~/~/ Ссылка на группирующее с/х поле
5208 + "sourceId": 0, ~/~/ Ссылка на участок прошлого года
5209 + "cropRotations": [ ~/~/ Данные по севообороту
5210 + {
5211 + "landId": 0, ~/~/ ID поля
5212 + "landName": "string", ~/~/ Название поля
5213 + "year": 0, ~/~/  Год урожая
5214 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры
5215 + "cultureName": "string", ~/~/ Название культуры
5216 + "productivity": 0, ~/~/ Урожайность
5217 + "area": 0, ~/~/ Площадь поля, Га
5218 + "total": 0, ~/~/ Валовый сбор
5219 + "productivityFact": 0, ~/~/ Фактическая урожайность
5220 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га.
5221 + "totalFact": 0, ~/~/ Фактический валовый сбор
5222 + "start": "2024-12-20T10:11:59.533Z", ~/~/ Дата начала работ
5223 + "sowing": "2024-12-20T10:11:59.533Z", ~/~/ Дата сева
5224 + "harvesting": "2024-12-20T10:11:59.533Z", ~/~/ Дата уборки урожая
5225 + "isyearplan": true, ~/~/ 
5226 + "comment": "string" ~/~/ Комментарий
5227 + }
5228 + ],
5229 + "cropVegetation": [ ~/~/ История вегетации поля
5230 + {
5231 + "values": [ ~/~/ Данные вегетации и состояния посева
5232 + {
5233 + "date": "2024-12-20T10:11:59.533Z", ~/~/ Дата
5234 + "ndvi": 0 ~/~/ Индекс вегетации
5235 + }
5236 + ],
5237 + "resources": [ ~/~/ Данные о снимках для каждого значения NDVI
5238 + {
5239 + "date": "2024-12-20T10:11:59.533Z", ~/~/ Дата
5240 + "type": "string", ~/~/ Тип
5241 + "pictureid": "string" ~/~/ Идентификатор ресурса
5242 + }
5243 + ],
5244 + "states": [ ~/~/ Ключевые даты развития поля 
5245 + {
5246 + "date": "2024-12-20T10:11:59.533Z", ~/~/ Дата
5247 + "state": 0 ~/~/ Статус 0 - Всходы, 1 - Вершина, 2 - Сбор урожая
5248 + }
5249 + ]
5250 + }
5251 + ],
5252 + "endDate": "2024-12-20T10:11:59.533Z", ~/~/ Дата закрытия года урожая
5253 + "counts": { 
5254 + "fieldOperations": 0, ~/~/ Количество операций на поле
5255 + "actualFieldOperations": 0, ~/~/ Кол-во актуальных операций на поле
5256 + "facts": 0 ~/~/ Счётчик факта
5257 + },
5258 + "planComment": "string", ~/~/ Комментарий к полю
5259 + "productivity": 0, ~/~/ Урожайность.
5260 + "sqPlan": 0, ~/~/ Определяет площадь поля, Га.
5261 + "startDate": "2024-12-20T10:11:59.533Z", ~/~/ Дата открытия года урожая
5262 + "year": 0, ~/~/ Год поля
5263 + "planState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой
5264 + "actualPlanState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой
5265 + "factState": 0,  ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой
5266 + "taskState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой
5267 + "status": 0, ~/~/ Статус с/х поля 0 - нет, 1 - открыто, 2 - закрыто 
5268 + "id": 0, ~/~/ Идентификатор объекта геозоны
5269 + "name": "string", ~/~/ Название объекта геозоны
5270 + "type": 0, ~/~/ Тип объекта геозоны
5271 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение
5272 + "fname": "string", ~/~/ Имя файла
5273 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента
5274 + "beginCalc": "2024-12-20T10:11:59.533Z", ~/~/ Дата начала расчетов для геозоны
5275 + "endCalc": "2024-12-20T10:11:59.533Z", ~/~/ Дата окончания расчетов для геозоны
5276 + "description": "string", ~/~/ Описание объекта геозоны
5277 + "area": 0, ~/~/ Площадь, м2
5278 + "perimetr": 0, ~/~/ Периметр, м
5279 + "createDate": "2024-12-20T10:11:59.533Z" ~/~/ Дата создания в бд
5280 +}
5281 +)))
5282 +)))
5283 +)))
5284 +)))
5285 +)))
5286 +
5287 +
5288 +== **Редактирование года урожая ** ==
5289 +
5290 +(% class="box successmessage" %)
5291 +(((
5292 +**POST /api/v3/agroLands/updateOpenCloseYear**
5293 +)))
5294 +
5295 +Пример запроса:
5296 +
5297 +(((
5298 +(((
5299 +{
5300 + "agroLandIds": [  ~/~/ Идентификаторы полей для которых меняется год урожая
5301 + 0
5302 + ],
5303 + "newStartDate": "2024-12-20T11:43:43.921Z", ~/~/ Новая дата начала урожая
5304 + "newEndDate": "2024-12-20T11:43:43.921Z" ~/~/ Новая дата закрытия урожая
5305 +}
5306 +)))
5307 +
5308 +
5309 +)))
5310 +
5311 +Пример ответа:
5312 +
5313 +(((
5314 +(((
5315 +{
5316 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор культуры
5317 + "cultureTechnologyId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор технологии
5318 + "fieldId": 0, ~/~/ Ссылка на группирующее с/х поле
5319 + "sourceId": 0, ~/~/ Ссылка на участок прошлого года
5320 + "cropRotations": [ ~/~/ Данные по севообороту
5321 + {
5322 + "landId": 0, ~/~/ ID поля
5323 + "landName": "string", ~/~/ Название поля
5324 + "year": 0, ~/~/ Год урожая
5325 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры
5326 + "cultureName": "string", ~/~/ Название культуры
5327 + "productivity": 0, ~/~/ Урожайность
5328 + "area": 0, ~/~/ Площадь поля, Га.
5329 + "total": 0, ~/~/ Валовый сбор
5330 + "productivityFact": 0, ~/~/ Фактическая урожайность
5331 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га.
5332 + "totalFact": 0, ~/~/ Фактический валовый сбор
5333 + "start": "2024-12-20T11:43:44.091Z", ~/~/ Дата начала работ
5334 + "sowing": "2024-12-20T11:43:44.091Z", ~/~/ Дата сева
5335 + "harvesting": "2024-12-20T11:43:44.091Z", ~/~/ Дата уборки урожая
5336 + "isyearplan": true, ~/~/ 
5337 + "comment": "string" ~/~/ Комментарий
5338 + }
5339 + ],
5340 + "cropVegetation": [ ~/~/ История вегетации поля
5341 + {
5342 + "values": [ ~/~/ Данные вегетации и состояния посева
5343 + {
5344 + "date": "2024-12-20T11:43:44.091Z", ~/~/ Дата
5345 + "ndvi": 0 ~/~/ Индекс вегетации
5346 + }
5347 + ],
5348 + "resources": [ ~/~/ Данные о снимках для каждого значения NDVI
5349 + {
5350 + "date": "2024-12-20T11:43:44.091Z", ~/~/ Дата
5351 + "type": "string", ~/~/ Тип
5352 + "pictureid": "string" ~/~/ Идентификатор ресурса
5353 + }
5354 + ],
5355 + "states": [ ~/~/ Ключевые даты развития поля
5356 + {
5357 + "date": "2024-12-20T11:43:44.091Z", ~/~/ Дата 
5358 + "state": 0 ~/~/ Статус 0 - Всходы, 1 - Вершина, 2 - Сбор урожая
5359 + }
5360 + ]
5361 + }
5362 + ],
5363 + "endDate": "2024-12-20T11:43:44.091Z", ~/~/ Дата закрытия года урожая
5364 + "counts": { 
5365 + "fieldOperations": 0, ~/~/ Количество операций на поле
5366 + "actualFieldOperations": 0, ~/~/ Кол-во актуальных операций на поле
5367 + "facts": 0 ~/~/ Счётчик факта
5368 + },
5369 + "planComment": "string", ~/~/ Комментарий к полю
5370 + "productivity": 0, ~/~/ Урожайность.
5371 + "sqPlan": 0, ~/~/ Определяет площадь поля, Га.
5372 + "startDate": "2024-12-20T11:43:44.091Z", ~/~/ Дата открытия года урожая
5373 + "year": 0, ~/~/ Год поля
5374 + "planState": 0,  ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой
5375 + "actualPlanState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой
5376 + "factState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой
5377 + "taskState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой
5378 + "status": 0, ~/~/ Статус с/х поля 0 - нет, 1 - открыто, 2 - закрыто
5379 + "id": 0, ~/~/ Идентификатор объекта геозоны
5380 + "name": "string", ~/~/ Название объекта геозоны
5381 + "type": 0, ~/~/ Тип объекта геозоны
5382 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение
5383 + "fname": "string", ~/~/ Имя файла
5384 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента
5385 + "beginCalc": "2024-12-20T11:43:44.091Z", ~/~/ Дата начала расчетов для геозоны
5386 + "endCalc": "2024-12-20T11:43:44.091Z", ~/~/ Дата окончания расчетов для геозоны
5387 + "description": "string", ~/~/ Описание объекта геозоны
5388 + "area": 0, ~/~/ Площадь, м2
5389 + "perimetr": 0, ~/~/ ериметр, м
5390 + "createDate": "2024-12-20T11:43:44.091Z" ~/~/ Дата создания в бд
5391 +}
5392 +)))
5393 +
5394 +
5395 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Корзина**(%%) =
5396 +)))
5397 +)))
5398 +)))
5399 +
5400 +== (% style="color:#000000; font-size:16px" %)**Запрос на получение списка всех объектов в корзине**(%%) ==
5401 +
5402 +
5403 +(% class="box infomessage" %)
5404 +(((
5405 +**GET api/v3/Vehicles/recyclebin/all**
5406 +)))
5407 +
5408 +Метод возвращает полную информацию о списках всех объектов в корзине по пользователям, доступным агенту
5409 +
5410 +Параметр запроса: {parentId} - идентификатор агента
5411 +
5412 +В заголовках запроса: X-Auth: Токен авторизации
5413 +
5414 +Ответ:
5415 +
5416 +[ 
5417 + {
5418 + "recordTime": "", ~/~/Время записи
5419 + "userId": "", ~/~/Guid пользователя, добавившего объект в корзину
5420 + "parentId": "", ~/~/Guid агента объекта, помещённого в корзину
5421 + "objectId": 0, ~/~/ID объекта, помещённого в корзину
5422 + "objectGuid": "", ~/~/Guid объекта, помещённого в корзину
5423 + "objectType": 1, ~/~/Тип объекта, помещённого в корзину
5424 + "details": { ~/~/Список деталей объекта, помещённого в корзину
5425 + "items": [ ~/~/ 
5426 +nullable: true ~/~/Детали
5427 + {
5428 + "name": "string", ~/~/наименование столбца
5429 + "value": "string" ~/~/содержание столбца
5430 + }
5431 + ]
5432 + },
5433 + "errors": [ ~/~/Список ошибок удаления/восстановления объекта
5434 + "string"
5435 + ]
5436 + }
5437 +]
5438 +
5439 +
5440 +== (% style="color:#000000; font-size:16px" %)**Запрос на удаление объектов из корзины**(%%) ==
5441 +
5442 +(% class="box infomessage" %)
5443 +(((
5444 +**POST api/v3/Vehicles/recyclebin/erase**
5445 +)))
5446 +
5447 +В заголовках запроса: X-Auth: Токен авторизации
5448 +
5449 +Пример запроса:
5450 +
5451 +[
5452 +0
5453 +]
5454 +
5455 +
5456 +Пример ответа:
5457 +
5458 +[ 
5459 +{
5460 + "recordTime": "", ~/~/Время записи
5461 + "userId": "", ~/~/Guid пользователя, добавившего объект в корзину
5462 + "parentId": "", ~/~/Guid агента объекта, помещённого в корзину
5463 + "objectId": 0, ~/~/ID объекта, помещённого в корзин
5464 + "objectGuid": "", ~/~/Guid объекта, помещённого в корзину
5465 + "objectType": 1, ~/~/Тип объекта, помещённого в корзину
5466 + "details": { ~/~/Список деталей объекта, помещённого в корзину
5467 + "items": [ ~/~/Детали
5468 + {
5469 + "name": "", ~/~/Имя свойства
5470 + "value": "" ~/~/Значение свойства
5471 + }
5472 + ]
5473 + },
5474 + "errors": [ ~/~/Список ошибок удаления/восстановления объекта
5475 + ""
5476 + ]
5477 + }
5478 +]
5479 +
5480 +Ответ: В случае успешного выполнения запроса вернется HTTP ответ «200».
5481 +
5482 +== (% style="color:#000000; font-size:16px" %)**Запрос на восстановление объектов из корзины**(%%) ==
5483 +
5484 +(% class="box infomessage" %)
5485 +(((
5486 +**POST api/v3/Vehicles/recyclebin/restore**
5487 +)))
5488 +
5489 +В заголовках запроса: X-Auth: Токен авторизации
5490 +
5491 +Параметры в теле запроса (JSON):
5492 +
5493 +Восстанавливает объекты из корзины. Возвращает те объекты которые не получилось восстановить.
5494 +
5495 +В заголовках запроса: X-Auth: Токен авторизации
5496 +
5497 +
5498 +Пример запроса:
5499 +
5500 +(((
5501 +[
5502 +)))
5503 +
5504 +(((
5505 + 0
5506 +)))
5507 +
5508 +(((
5509 +]
5510 +)))
5511 +
5512 +
5513 +Пример ответа:
5514 +
5515 +[
5516 +{
5517 + "recordTime": "2024-07-19T07:58:19.305Z", ~/~/Время записи
5518 + "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/Guid пользователя, добавившего объект в корзину
5519 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/Guid агента объекта, помещённого в корзину
5520 + "objectId": 0, ~/~/ID объекта, помещённого в корзину
5521 + "objectGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/Guid объекта, помещённого в корзину
5522 + "objectType": 1, ~/~/Тип объекта, помещённого в корзину
5523 + "details": { ~/~/Список деталей объекта, помещённого в корзину
5524 + "items": [ ~/~/Детали
5525 + {
5526 + "name": "string", ~/~/Имя свойства
5527 + "value": "string" ~/~/Значение свойства
5528 + }
5529 + ]
5530 + },
5531 + "errors": [ ~/~/Список ошибок удаления/восстановления объекта
5532 + "string"
5533 + ]
5534 + }
5535 +]
5536 +
5537 +
5538 += **Раздел: Журнал заданий ** =
5539 +
5540 +
5541 +== **Создание задания в Журнале заданий** ==
5542 +
5543 +(% class="box infomessage" %)
5544 +(((
5545 +**POST /api/v3/vehicletasks**
5546 +)))
5547 +
5548 +Пример запроса:
5549 +
5550 +(((
5551 +{
5552 + "vehicleId": 0, ~/~/ Идентификатор ТС
5553 + "description": "string", ~/~/ Описание
5554 + "trailerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агрегата
5555 + "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя
5556 + "startDate": "2025-02-25T12:11:04.874Z", ~/~/ Начало работы
5557 + "endDate": "2025-02-25T12:11:04.874Z", ~/~/ Окончание работы
5558 + "techOperationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Вид работ
5559 + "techOperationDataId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Тех. операция
5560 + "trailerModelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Модель агрегата
5561 + "minWidth": 0, ~/~/ Минимальная ширина агрегата, м
5562 + "maxWidth": 0, ~/~/ Максимальная ширина агрегата, м
5563 + "minSpeed": 0, ~/~/ Минимальная скорость, км/ч
5564 + "maxSpeed": 0, ~/~/ Максимальная скорость, км/ч
5565 + "cost": { 
5566 + "Guid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор
5567 + "Name": "string", ~/~/ Наименование
5568 + "Type": 0, ~/~/ Тим ТМЦ (0 - Seed, 1 - Crop, 2 - Fertilizer, 3 - PlantProtection )
5569 + "MeasureType": 0, ~/~/ Единицы измерения (0 - Кг, 1 - Тонн, 2 - Центнеры, 3 - Литры) 
5570 + "Norm": 0 ~/~/ Норма внесения
5571 + },
5572 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Id 
5573 + "owner": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid родителя
5574 + "created": "2025-02-25T12:11:04.874Z", ~/~/ Дата создания
5575 + "updated": "2025-02-25T12:11:04.874Z", ~/~/ Дата обновления
5576 + "deleted": true, ~/~/ Признак удаления
5577 + "extId": "string", 
5578 + "GeoIds": [ ~/~/ Cвязанные поля
5579 + 0
5580 + ]
5581 +}
5582 +)))
5583 +
5584 +
5585 +Пример ответа:
5586 +
5587 +{
5588 + "vehicleId": 0, ~/~/ Идентификатор ТС
5589 + "description": "string", ~/~/ Описание
5590 + "trailerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агрегата
5591 + "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя
5592 + "startDate": "2025-02-25T12:11:04.964Z", ~/~/ Начало работы
5593 + "endDate": "2025-02-25T12:11:04.964Z", ~/~/ Окончание работы
5594 + "techOperationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Вид работ
5595 + "techOperationDataId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Тех. операция
5596 + "trailerModelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Модель агрегата
5597 + "minWidth": 0, ~/~/ Минимальная ширина агрегата, м
5598 + "maxWidth": 0, ~/~/ Максимальная ширина агрегата, м
5599 + "minSpeed": 0, ~/~/ Минимальная скорость, км/ч
5600 + "maxSpeed": 0, ~/~/ Максимальная скорость, км/ч
5601 + "cost": { 
5602 + "Guid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор
5603 + "Name": "string", ~/~/ Наименование
5604 + "Type": 0, ~/~/ Тим ТМЦ (0 - Seed, 1 - Crop, 2 - Fertilizer, 3 - PlantProtection)
5605 + "MeasureType": 0, ~/~/ Единицы измерения (0 - Кг, 1 - Тонн, 2 - Центнеры, 3 - Литры) 
5606 + "Norm": 0 ~/~/ Норма внесения
5607 + },
5608 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID
5609 + "owner": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid родителя
5610 + "created": "2025-02-25T12:11:04.964Z", ~/~/ Дата создания
5611 + "updated": "2025-02-25T12:11:04.964Z", ~/~/ Дата обновления
5612 + "deleted": true, ~/~/ Признак удаления
5613 + "extId": "string", ~/~/ ExtId
5614 + "GeoIds": [ ~/~/ Связанные поля
5615 + 0
5616 + ]
5617 +}
5618 +
5619 +
5620 +== **Редактирование задания в Журнале заданий** ==
5621 +
5622 +(% class="box successmessage" %)
5623 +(((
5624 +**PUT /api/v3/vehicletasks**
5625 +)))
5626 +
5627 +Пример запроса:
5628 +
5629 +(((
5630 +{
5631 + "vehicleId": 0, ~/~/ Идентификатор ТС
5632 + "description": "string", ~/~/ Описание
5633 + "trailerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агрегата
5634 + "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя
5635 + "startDate": "2025-02-25T12:25:51.090Z", ~/~/ Начало работы
5636 + "endDate": "2025-02-25T12:25:51.090Z", ~/~/ Окончание работы
5637 + "techOperationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Вид работ
5638 + "techOperationDataId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Тех. операция
5639 + "trailerModelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Модель агрегата
5640 + "minWidth": 0, ~/~/ Минимальная ширина агрегата, м
5641 + "maxWidth": 0, ~/~/ Максимальная ширина агрегата, м
5642 + "minSpeed": 0, ~/~/ Минимальная скорость, км/ч
5643 + "maxSpeed": 0, ~/~/ Максимальная скорость, км/ч
5644 + "cost": { 
5645 + "Guid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор
5646 + "Name": "string", ~/~/ Наименование
5647 + "Type": 0, ~/~/ Тим ТМЦ (0 - Seed, 1 - Crop, 2 - Fertilizer, 3 - PlantProtection)
5648 + "MeasureType": 0,  ~/~/ Единицы измерения (0 - Кг, 1 - Тонн, 2 - Центнеры, 3 - Литры) 
5649 + "Norm": 0 ~/~/ Норма внесения
5650 + },
5651 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID
5652 + "owner": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid родителя
5653 + "created": "2025-02-25T12:25:51.090Z", ~/~/ Дата создания
5654 + "updated": "2025-02-25T12:25:51.090Z", ~/~/ Дата обновления
5655 + "deleted": true, ~/~/ Признак удаления
5656 + "extId": "string", ~/~/ ExtId
5657 + "GeoIds": [ ~/~/ Связанные поля
5658 + 0
5659 + ]
5660 +}
5661 +)))
5662 +
5663 +
5664 +Пример ответа:
5665 +
5666 +{
5667 + "vehicleId": 0, ~/~/ Идентификатор ТС
5668 + "description": "string", ~/~/ Описание
5669 + "trailerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агрегата
5670 + "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя
5671 + "startDate": "2025-02-25T12:11:04.964Z", ~/~/ Начало работы
5672 + "endDate": "2025-02-25T12:11:04.964Z", ~/~/ Окончание работы
5673 + "techOperationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Вид работ
5674 + "techOperationDataId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Тех. операция
5675 + "trailerModelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Модель агрегата
5676 + "minWidth": 0, ~/~/ Минимальная ширина агрегата, м
5677 + "maxWidth": 0, ~/~/ Максимальная ширина агрегата, м
5678 + "minSpeed": 0, ~/~/ Минимальная скорость, км/ч
5679 + "maxSpeed": 0, ~/~/ Максимальная скорость, км/ч
5680 + "cost": { 
5681 + "Guid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор
5682 + "Name": "string", ~/~/ Наименование
5683 + "Type": 0, ~/~/ Тим ТМЦ (0 - Seed, 1 - Crop, 2 - Fertilizer, 3 - PlantProtection)
5684 + "MeasureType": 0, ~/~/ Единицы измерения (0 - Кг, 1 - Тонн, 2 - Центнеры, 3 - Литры) 
5685 + "Norm": 0 ~/~/ Норма внесения
5686 + },
5687 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID
5688 + "owner": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid родителя
5689 + "created": "2025-02-25T12:11:04.964Z", ~/~/ Дата создания
5690 + "updated": "2025-02-25T12:11:04.964Z", ~/~/ Дата обновления
5691 + "deleted": true, ~/~/ Признак удаления
5692 + "extId": "string", ~/~/ ExtId
5693 + "GeoIds": [ ~/~/ Связанные поля
5694 + 0
5695 + ]
5696 +}
5697 +
5698 +
5699 +== **Удаление задания в Журнале заданий** ==
5700 +
5701 +(% class="box warningmessage" %)
5702 +(((
5703 +**DELETE /api/v3/vehicletasks**
5704 +)))
5705 +
5706 +Пример запроса:
5707 +
5708 +(((
5709 +[
5710 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Идентификатор 
5711 +]
5712 +)))
5713 +
5714 +(((
5715 +
5716 +)))
5717 +
5718 +Пример ответа:
5719 +
5720 +{
5721 + "vehicleId": 0, ~/~/ Идентификатор ТС
5722 + "description": "string", ~/~/ Описание
5723 + "trailerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агрегата
5724 + "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя
5725 + "startDate": "2025-02-25T12:11:04.964Z", ~/~/ Начало работы
5726 + "endDate": "2025-02-25T12:11:04.964Z", ~/~/ Окончание работы
5727 + "techOperationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Вид работ
5728 + "techOperationDataId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Тех. операция
5729 + "trailerModelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Модель агрегата
5730 + "minWidth": 0, ~/~/ Минимальная ширина агрегата, м
5731 + "maxWidth": 0, ~/~/ Максимальная ширина агрегата, м
5732 + "minSpeed": 0, ~/~/ Минимальная скорость, км/ч
5733 + "maxSpeed": 0, ~/~/ Максимальная скорость, км/ч
5734 + "cost": { 
5735 + "Guid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор
5736 + "Name": "string", ~/~/ Наименование
5737 + "Type": 0, ~/~/ Тим ТМЦ (0 - Seed, 1 - Crop, 2 - Fertilizer, 3 - PlantProtection)
5738 + "MeasureType": 0, ~/~/ Единицы измерения (0 - Кг, 1 - Тонн, 2 - Центнеры, 3 - Литры) 
5739 + "Norm": 0 ~/~/ Норма внесения
5740 + },
5741 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID
5742 + "owner": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid родителя
5743 + "created": "2025-02-25T12:11:04.964Z", ~/~/ Дата создания
5744 + "updated": "2025-02-25T12:11:04.964Z", ~/~/ Дата обновления
5745 + "deleted": true, ~/~/ Признак удаления
5746 + "extId": "string", ~/~/ ExtId
5747 + "GeoIds": [ ~/~/ Связанные поля
5748 + 0
5749 + ]
5750 +}
5751 +
5752 +
5753 +== **Получение списка Журнала заданий** ==
5754 +
5755 +(% class="box infomessage" %)
5756 +(((
5757 +**POST /api/v3/vehicletasks/getbyperiod**
5758 +)))
5759 +
5760 +Пример запроса:
5761 +
5762 +(((
5763 +{
5764 + "Start": "2025-02-25T12:35:31.107Z", ~/~/ Начало периода.
5765 + "End": "2025-02-25T12:35:31.107Z", ~/~/ Окончание периода.
5766 + "TimeZone": 0, ~/~/ Часовой пояс.
5767 + "OperationsIds": [  ~/~/ Идентификаторы видов работ для фильтрации журнала
5768 + "3fa85f64-5717-4562-b3fc-2c963f66afa6"
5769 + ],
5770 + "GeoIds": [ ~/~/ Идентификаторы полей для фильтрации журнала
5771 + 0
5772 + ],
5773 + "VehiclesIds": [ ~/~/ Идентификаторы ТС для фильтрации журнала
5774 + 0
5775 + ],
5776 + "Offset": 0, ~/~/ Смещение от начала результата. Количество записей журнала для пропуска.
5777 + "Limit": 0 ~/~/ Размер страницы (количество записей на странице) 
5778 +}
5779 +)))
5780 +
5781 +
5782 +Пример ответа:
5783 +
5784 +(((
5785 +{
5786 + "total": 0,  ~/~/ Общее количество записей
5787 + "pages": 0,  ~/~/ Общее количество страниц
5788 + "currentPage": 0, ~/~/ Текущая страница
5789 + "items": [  ~/~/ Записи 
5790 + {
5791 + "taskId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор задания
5792 + "isGroup": true,  ~/~/ Вид задания (true - групповое, иначе - одиночное).
5793 + "name": "string", ~/~/ Название задания.
5794 + "startDate": "2025-02-25T12:35:31.110Z", ~/~/ Начало, utc
5795 + "endDate": "2025-02-25T12:35:31.110Z", ~/~/ Окончание, utc
5796 + "workKind": "string", ~/~/ Вид работ
5797 + "techOp": "string", ~/~/ Тех. операция
5798 + "trailerModel": "string", ~/~/ Модель агрегата
5799 + "width": "string", ~/~/ Ширина, м
5800 + "speed": "string", ~/~/ Тех. скорость
5801 + "fields": "string", ~/~/ Поля
5802 + "fieldsInfo": "string", ~/~/ Количество полей (суммарная площадь га)
5803 + "vehicles": "string", ~/~/ Объект-модель
5804 + "vehiclesCount": 0, ~/~/ Объектов (суммарное количество объектов)
5805 + "drivers": "string", ~/~/ Водители
5806 + "tmc": "string", ~/~/ ТМЦ
5807 + "client": "string", ~/~/  Клиент
5808 + "clientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор задания
5809 + "dep": "string", ~/~/ Подразделение
5810 + "geoIds": [ ~/~/  Связанные поля
5811 + 0
5812 + ]
5813 + }
5814 + ]
5815 +}
5816 +)))
5817 +
5818 +
5819 += **Раздел: Локатор ** =
5820 +
5821 +
5822 +== **Получение списка локаторов, доступных пользователю ** ==
5823 +
5824 +(% class="box infomessage" %)
5825 +(((
5826 +**GET /api/v3/locators**
5827 +)))
5828 +
5829 +В заголовках запроса: X-Auth: Токен авторизации
5830 +
5831 +
5832 +Пример ответа:
5833 +
5834 +(((
5835 +[
5836 + {
5837 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  ~/~/ Идентификатор локатора.
5838 + "agentGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента.
5839 + "agentName": "string", ~/~/ Наименование агента.
5840 + "isEnabled": true, ~/~/ Активен 
5841 + "created": "2025-03-12T06:48:41.254Z", ~/~/ Дата создания
5842 + "updated": "2025-03-12T06:48:41.254Z", ~/~/ Дата обновления
5843 + "name": "string", ~/~/ Наименование
5844 + "status": 0, ~/~/ 
5845 + "activationMode": 0, ~/~/ Определяет статус пользователя локатора (0 - Активный, 1 - Запланированный, 2 - Неактивный) 
5846 + "activationTime": "2025-03-12T06:48:41.254Z", ~/~/ Определяет вид активации локаторов. ( 0 - сейчас, 1 - время активации) 
5847 + "validity": 0, ~/~/ Срок действия в днях (1-90).
5848 + "autoProlongation": true, ~/~/ Автопродление срока действия.
5849 + "creatorUserId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID пользователя, создавшего локатор.
5850 + "creatorUserName": "string", ~/~/ Имя пользователя, создавшего локатор.
5851 + "url": "string", ~/~/ Ссылка
5852 + "language": 0, ~/~/ Язык.
5853 + "vehiclesCount": 0, ~/~/ Количество объектов.
5854 + "geozonesCount": 0, ~/~/ Количество геозон.
5855 + "fieldsCount": 0 ~/~/ Количество полей.
5856 + }
5857 +]
5858 +)))
5859 +
5860 +
5861 +
5862 +== **Создание локатора** ==
5863 +
5864 +(% class="box successmessage" %)
5865 +(((
5866 +**POST /api/v3/locators**
5867 +)))
5868 +
5869 +Пример запроса:
5870 +
5871 +(((
5872 +{
5873 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор локатора
5874 + "isEnabled": true, ~/~/ Активность
5875 + "name": "string", ~/~/ Наименование локатора
5876 + "activationMode": 0, ~/~/ Определяет вид активации локаторов (0 - Сейчас, 1 - Запустить ко времени)
5877 + "activationTime": "2025-03-12T07:00:08.272Z", ~/~/  Время активации
5878 + "validity": 0, ~/~/ Срок действия в днях (1-90)
5879 + "autoProlongation": true, ~/~/ Автопродление срока действия.
5880 + "url": "string", ~/~/ Ссылка
5881 + "language": 0 ~/~/ Язык
5882 +}
5883 +)))
5884 +
5885 +
5886 +Пример ответа:
5887 +
5888 +(((
5889 +3fa85f64-5717-4562-b3fc-2c963f66afa6 ~/~/ Идентификатор локатора
5890 +)))
5891 +
5892 +
5893 +
5894 +== **Изменение локатора** ==
5895 +
5896 +(% class="box infomessage" %)
5897 +(((
5898 +**PUT /api/v3/locators**
5899 +)))
5900 +
5901 +Пример запроса:
5902 +
5903 +(((
5904 +{
5905 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор локатора
5906 + "isEnabled": true, ~/~/ Активность 
5907 + "name": "string", ~/~/ Наименование
5908 + "activationMode": 0, ~/~/ Определяет вид активации локаторов (0 - сейчас, 1 - Запустить ко времени ) 
5909 + "activationTime": "2025-03-12T07:07:53.002Z", ~/~/ Время активации
5910 + "validity": 0, ~/~/ Срок действия в днях (1-90)
5911 + "autoProlongation": true, ~/~/ Автопродление срока действия
5912 + "url": "string", ~/~/ Ссылка
5913 + "language": 0 ~/~/ Язык
5914 +}
5915 +)))
5916 +
5917 +
5918 +Пример ответа:
5919 +
5920 +200 ~/~/ Success
5921 +
5922 +
5923 +== **Удалить локатор** ==
5924 +
5925 +(% class="box warningmessage" %)
5926 +(((
5927 +**DELETE /api/v3/locators**
5928 +)))
5929 +
5930 +Пример запроса:
5931 +
5932 +(((
5933 +[
5934 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Идентификатор локатора
5935 +]
5936 +)))
5937 +
5938 +
5939 +
5940 +
1413 1413  (% class="box" lang="en-US" style="text-align: center;" %)
1414 1414  (((
1415 1415  (% 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]] **
Icon image-20231020124453-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.krainovim
Размер
... ... @@ -1,0 +1,1 @@
1 +268.0 KB
Содержимое Icon

Меню

ГЛОНАССSoft wiki - 2024 г.