Changes for page Методы API для работы с ГЛОНАССSoft
Last modified by Андрей Калиновский on 2025/02/25 16:35
Change comment:
There is no comment for this version
Summary
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Artem1 +XWiki.krainovim - Content
-
... ... @@ -1,31 +1,31 @@ 1 1 (% class="western" id="H41E43F43844143043D43843541341B41E41D410421421SoftPublicAPI" %) 2 -== Описание ГЛОНАССSoft Public API 3.0 == 3 - 4 -== == 5 - 6 -(% class="box" style="text-align: center;" %) 7 7 ((( 8 - (% style="color:#000000; font-size:18.6667px" %)**Действующиеограничения**3 +**Содержание страницы:** 9 9 ))) 10 10 11 - (% style="color:#000000" %)−(%%) Между запросами должна быть пауза в 1 секунду (превышение отвергается системой с уведомлением о превышении частоты запросов).6 +{{toc/}} 12 12 8 + 9 += (% style="color:#000000; font-size:16px" %)**Действующие ограничения**(%%) = 10 + 11 +(% style="color:#000000" %)−(%%) **Между запросами должна быть пауза в 1 секунду** (превышение отвергается системой с уведомлением о превышении частоты запросов). 12 + 13 13 (% style="color:#000000" %)−(%%) Для работы со всеми методами API необходимо в заголовок добавлять __**X-Auth**__ (токен авторизации, получаемый методом __**auth/login**__). 14 14 15 15 Пример: X-Auth: 34f4919a-099b-4b7d-8aa1-f478ec2062de. 16 - 17 17 18 -(% class="box" style="text-align: center;" %) 19 -((( 20 -(% style="color:#000000; font-size:14pt" %)**Раздел Авторизация** 21 -))) 17 +(% style="color:#000000" %)− (%%)При редактировании необходимо передавать все параметры пользователя в теле запроса! Те параметры, значения которых не будут переданы - будут стерты! 22 22 23 -(% class="box successmessage" %) 19 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Авторизация**(%%) = 20 + 21 +== (% style="color:#000000; font-size:16px" %)**Авторизация**(%%) == 22 + 23 +(% class="box infomessage" %) 24 24 ((( 25 - style="color:#000000; line-height:100%" %)**Авторизация **(% style="color:#000000" %)**— **(% lang="en-US" %)**POST /api/v3/auth/login**25 +(% lang="en-US" %)**POST /api/v3/auth/login** 26 26 ))) 27 27 28 -(% style="color:#000000" %) 28 +(% style="color:#000000" %)Метод позволяет получить токен авторизации, который необходимо добавлять в заголовок для работы со всеми методами API. В параметрах метода передается имя пользователя и пароль. 29 29 30 30 (% style="color:#000000" %)Метод запроса: **POST** 31 31 ... ... @@ -38,9 +38,9 @@ 38 38 (% style="color:#000000" %){ 39 39 "login": "testuser", 40 40 "password": "testuser" 41 -}(%%) 42 - 41 +} 43 43 43 + 44 44 (% style="color:#000000" %)**Ответ:** 45 45 46 46 (% lang="en-US" %) ... ... @@ -55,13 +55,14 @@ 55 55 56 56 **Примечание: **Время жизни токена авторизации задается в настройках пользователя, там есть параметр длительность сессии. При каждом запросе токен пролонгируется. 57 57 58 +== (% style="color:#000000; font-size:16px" %)**Проверка авторизации**(%%) == 58 58 59 59 (% class="box infomessage" %) 60 60 ((( 61 -(% style="color:#000000; line-height:100%" %)**Проверка авторизации **(% style="color:#000000" %)**— **(% lang="en-US" %)**GET /api/v3/auth/check**62 +(% lang="en-US" %)**GET /api/v3/auth/check** 62 62 ))) 63 63 64 -(% style="color:#000000" %) (обязательный параметр в заголовках запроса - токен авторизации **«__X-Auth__»**).65 +(% style="color:#000000" %)Метод позволяет проверить статус авторизации. Метод позволяет проверить активен токен авторизации или нет. 65 65 66 66 (% style="color:#000000" %)Метод запроса: **GET** 67 67 ... ... @@ -72,18 +72,58 @@ 72 72 (% lang="en-US" %) 73 73 (% style="color:#000000" %)**Ответ: В случае если сессия активна HTTP ответ «200». В случае если сессия разорвана HTTP ответ «401».** 74 74 76 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Клиенты**(%%) = 75 75 76 -(% class="box" style="text-align: center;" %) 78 +== (% style="color:#000000; font-size:16px" %)**Получение информации о клиенте**(%%) == 79 + 80 +(% class="box infomessage" %) 77 77 ((( 78 - (%style="color:#000000; font-size:14pt" %)**Раздел Клиенты**82 +**GET api/v3/agents/{id}** 79 79 ))) 80 80 85 +Метод позволяет получить параметры выбранного клиента(% style="color:#000000" %): наименование, полное наименование, тип, статус и идентификатор клиента-родителя и т.д. Метод возвращает информацию о клиентах с учетом настроек авторизованного пользователя, указанного в запросе: 86 + 87 +(% style="color:#000000" %)− информация о клиенте предоставляется при наличии права «Просмотр клиентов»; 88 + 89 +(% style="color:#000000" %)Метод запроса: **GET** 90 + 91 +(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/api/v3/agents/{id} 92 + 93 +Запрос должен содержать данные параметра "**agentId**" 94 + 95 +(% style="color:#000000" %)Ответ: 96 +А 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" ~/~/ Корр. счет 118 + } 119 + 120 +== (% style="color:#000000; font-size:16px" %)**Получение параметров дочерних клиентов**(%%) == 121 + 81 81 (% class="box infomessage" %) 82 82 ((( 83 -(% style="color:#000000" %)**Получение основных параметров клиента — **(% lang="en-US" %)**GET **(%%)**/(% lang="en-US" %)api/v3/agents(%%)**124 +(% lang="en-US" %)**POST **(%%)**/(% lang="en-US" %)api/v3/agents/find(%%)** 84 84 ))) 85 85 86 -(% style="color:#000000" %) основныепараметры клиентов: наименование, полное наименование, тип, статус и идентификатор клиента-родителя. Метод возвращает информацию о клиентах с учетом настроек авторизованного пользователя, указанного в запросе(обязательный параметр в заголовках запроса - токен авторизации **«__X-Auth__»**):127 +(% style="color:#000000" %)Метод позволяет получить параметры всех дочерних клиентов: наименование, полное наименование, тип, статус и идентификатор клиента-родителя и т.д. Метод возвращает информацию о клиентах с учетом настроек авторизованного пользователя, указанного в запросе: 87 87 88 88 (% style="color:#000000" %)− информация о клиентах предоставляется при наличии права «Просмотр клиентов»; 89 89 ... ... @@ -91,37 +91,184 @@ 91 91 92 92 (% style="color:#000000" %)− информация о клиенте типа «Партнер» и его подклиентов возвращается при наличии права «__**Доступ к партнёрским клиентам**__». 93 93 94 -(% style="color:#000000" %)Метод запроса: ** GET**135 +(% style="color:#000000" %)Метод запроса: **POST** 95 95 96 -(% style="color:#000000" %)URL запроса: (%%) [[https:~~/~~/hosting.glonasssoft.ru/api/v3/agents?parentId=>>url:https://hosting.glonasssoft.ru/api/v3/agents?parentId=]](% style="color:#000000" %)<parentId>137 +(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/api/v3/agents/find 97 97 98 -(% style="color:#000000" %)Параметр запроса: <__**parentId**__> - идентификатор клиента-родителя (опционально)139 +(% style="color:#000000" %)Параметр запроса: 99 99 100 -(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации 141 +(% style="color:#000000" %){ 142 + "parentId": "string" 143 +} 101 101 102 102 (% style="color:#000000" %)Ответ: 103 103 104 -(% style="color:#000000" %){ 105 - "agentId": "", ~/~/ идентификатор клиента 106 - "parentId": "", ~/~/ идентификатор клиента-родителя 107 - "name": "", ~/~/ наименование клиента 108 - "fullName": "", ~/~/ полное наименование клиента 109 - "agentInfoType": "", ~/~/ тип клиента (0- Клиент, 1 - Партнер, 2 - Группа, 3 - Административная группа, 4 - Тестовый клиент, 5 - Договор) 110 - "status": "", ~/~/ статус клиента (0- Новый, 1 - Потенциальный, 2 - В разработке, 3 - Тест, 4 - На оформлении, 5 - Внедрение, 6 - Работает, 7 - Работал, 8 - Потерян, 9 - Отказ) 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 - Отказ) 111 111 } 112 112 157 +== (% style="color:#000000; font-size:16px" %)**Добавление клиента**(%%) == 113 113 114 -(% class="box "style="text-align: center;" %)159 +(% class="box successmessage" %) 115 115 ((( 116 - (%style="color:#000000; font-size:14pt"%)**Раздел Пользователи**161 +**POST /api/v3/agents ** 117 117 ))) 118 118 164 +Метод позволяет добавить клиента, указанного в запросе. 165 + 166 +Метод запроса: **POST** 167 + 168 +URL запроса: [[https:~~/~~/hosting.glonasssoft.ru/api/v3/agents>>https://hosting.glonasssoft.ru/api/v3/agents]] 169 + 170 +В заголовках запроса: X-Auth: Токен авторизации 171 + 172 +Параметры в теле запроса (JSON): 173 + 174 +{ 175 + "parentId": "00000000-0000-0000-0000-000000000000", ~/~/ идентификатор клиента-родителя 176 + "name": "string", ~/~/ имя 177 + "fullName": "string", ~/~/ полное наименование 178 + "agentInfoType": 0, (% style="color:#000000" %)~/~/ тип клиента (0- Клиент, 1 - Партнер, 2 - Группа, 3 - Административная группа, 4 - Тестовый клиент, 5 - Договор)(%%) 179 + "isForeign": true, ~/~/ иностранный контрагент 180 + "district": "string", ~/~/ округ 181 + "region": "string", ~/~/ регион 182 + "city": "string", ~/~/ город 183 + "inn": "string", ~/~/ ИНН 184 + "kpp": "string", ~/~/ КПП 185 + "address": "string", ~/~/ юридический адрес 186 + "addressFact": "string", ~/~/ фактический адрес 187 + "email": "string", ~/~/ email 188 + "director": "string", ~/~/ ФИО руководителя 189 + "bankName": "string", ~/~/ банк 190 + "bankBIK": "string", ~/~/ БИК 191 + "bankRS": "string", ~/~/ номер счёта 192 + "bankKS": "string" ~/~/ корр. счёт 193 +} 194 + 195 + 196 +Ответ: 197 + 198 +{ 199 + "agentId": "00000000-0000-0000-0000-000000000000", ~/~/ идентификатор клиента 200 + "parentId": "00000000-0000-0000-0000-000000000000", ~/~/ идентификатор клиента-родителя 201 + "name": "string", ~/~/ имя 202 + "fullName": "string", ~/~/ полное наименование 203 + "agentInfoType": 0, (% style="color:#000000" %)~/~/ тип клиента (0- Клиент, 1 - Партнер, 2 - Группа, 3 - Административная группа, 4 - Тестовый клиент, 5 - Договор)(%%) 204 + "isForeign": true, ~/~/ иностранный контрагент 205 + "district": "string", ~/~/ округ 206 + "region": "string", ~/~/ регион 207 + "city": "string", ~/~/ город 208 + "inn": "string", ~/~/ ИНН 209 + "kpp": "string", ~/~/ КПП 210 + "address": "string", ~/~/ юридический адрес 211 + "addressFact": "string", ~/~/ фактический адрес 212 + "email": "string", ~/~/ email 213 + "director": "string", ~/~/ ФИО руководителя 214 + "bankName": "string", ~/~/ банк 215 + "bankBIK": "string", ~/~/ БИК 216 + "bankRS": "string", ~/~/ номер счёта 217 + "bankKS": "string" ~/~/ корр. счёт 218 +} 219 + 220 +== (% style="color:#000000; font-size:16px" %)**Редактирование клиента**(%%) == 221 + 222 +(% class="box warningmessage" %) 223 +((( 224 +**PUT /api/v3/agents** 225 +))) 226 + 227 +Метод позволяет отредактировать клиента, указанного в запросе. 228 + 229 +Метод запроса: **PUT** 230 + 231 +URL запроса: [[https:~~/~~/hosting.glonasssoft.ru/api/v3/agents>>https://hosting.glonasssoft.ru/api/v3/agents]] 232 + 233 +В заголовках запроса: X-Auth: Токен авторизации 234 + 235 + 236 +Параметры в теле запроса (JSON): 237 + 238 +{ 239 + "agentId": "00000000-0000-0000-0000-000000000000", ~/~/ идентификатор клиента 240 + "parentId": "00000000-0000-0000-0000-000000000000", ~/~/ идентификатор клиента-родителя 241 + "name": "string", ~/~/ имя 242 + "fullName": "string", ~/~/ полное наименование 243 + "agentInfoType": 0, (% style="color:#000000" %)~/~/ тип клиента (0- Клиент, 1 - Партнер, 2 - Группа, 3 - Административная группа, 4 - Тестовый клиент, 5 - Договор)(%%) 244 + "isForeign": true, ~/~/ иностранный контрагент 245 + "district": "string", ~/~/ округ 246 + "region": "string", ~/~/ регион 247 + "city": "string", ~/~/ город 248 + "inn": "string", ~/~/ ИНН 249 + "kpp": "string", ~/~/ КПП 250 + "address": "string", ~/~/ юридический адрес 251 + "addressFact": "string", ~/~/ фактический адрес 252 + "email": "string", ~/~/ email 253 + "director": "string", ~/~/ ФИО руководителя 254 + "bankName": "string", ~/~/ банк 255 + "bankBIK": "string", ~/~/ БИК 256 + "bankRS": "string", ~/~/ номер счёта 257 + "bankKS": "string" ~/~/ корр. счёт 258 +} 259 + 260 + 261 +Ответ: 262 + 263 +{ 264 + "agentId": "00000000-0000-0000-0000-000000000000", ~/~/ идентификатор клиента 265 + "parentId": "00000000-0000-0000-0000-000000000000", ~/~/ идентификатор клиента-родителя 266 + "name": "string", ~/~/ имя 267 + "fullName": "string", ~/~/ полное наименование 268 + "isForeign": true, ~/~/ иностранный контрагент 269 + "district": "string", ~/~/ округ 270 + "region": "string", ~/~/ регион 271 + "city": "string", ~/~/ город 272 + "inn": "string", ~/~/ ИНН 273 + "kpp": "string", ~/~/ КПП 274 + "address": "string", ~/~/ юридический адрес 275 + "addressFact": "string", ~/~/ фактический адрес 276 + "email": "string", ~/~/ email 277 + "director": "string", ~/~/ ФИО руководителя 278 + "bankName": "string", ~/~/ банк 279 + "bankBIK": "string", ~/~/ БИК 280 + "bankRS": "string", ~/~/ номер счёта 281 + "bankKS": "string" ~/~/ корр. счёт 282 +} 283 + 284 +== (% style="color:#000000; font-size:16px" %)**Удаление клиента**(%%) == 285 + 286 +(% class="box errormessage" %) 287 +((( 288 +**DELETE /api/v3/agents/{clientId}** 289 +))) 290 + 291 +Метод позволяет удалить клиента, указанного в строке запроса. 292 + 293 +Метод запроса: **DELETE** 294 + 295 +URL запроса: [[https:~~/~~/hosting.glonasssoft.ru/api/v3/agents/>>https://hosting.glonasssoft.ru/api/v3/agents/]]**{clientId}** 296 + 297 +Параметр запроса: **{clientId}** - Guid пользователя 298 + 299 +В заголовках запроса: X-Auth: Токен авторизации 300 + 301 +Ответ: В случае успешного выполнения запроса вернется HTTP ответ «200». 302 + 303 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Пользователи**(%%) = 304 + 305 +== (% style="color:#000000; font-size:16px" %)**Добавление пользователя**(%%) == 306 + 119 119 (% class="box successmessage" %) 120 120 ((( 121 -(% style="color:#000000; line-height:100%" %)**Добавление пользователя — **(% lang="en-US" %)**POST /api/v3/users**309 +(% lang="en-US" %)**POST /api/v3/users** 122 122 ))) 123 123 124 -(% style="color:#000000" %) (обязательный параметр в заголовках запроса - токен авторизации **«__X-Auth__»**).312 +(% style="color:#000000" %)Метод позволяет добавить пользователя. Метод позволяет добавить пользователя, указанного в запросе. 125 125 126 126 (% style="color:#000000" %)Метод запроса: **POST** 127 127 ... ... @@ -131,26 +131,51 @@ 131 131 132 132 (% style="color:#000000" %)Параметры в теле запроса (JSON): 133 133 134 -(% style="color:#000000" %){ 322 +(% style="color:#000000" %) 323 +{ 135 135 "lastName": "", ~/~/ фамилия 136 136 "firstName": "", ~/~/ имя 137 137 "position": "", ~/~/ должность 138 138 "phone": "", ~/~/ телефон 139 139 "organization": "", ~/~/ организация 140 - "login": "", ~/~/ логин 141 - "password": "", ~/~/ пароль (при добавлении - обязателен, при редактировании, если null - менять пароль не надо) 142 - "email": "", ~/~/ email 143 - "description": "", ~/~/ описание 144 - "isEnabled": "", ~/~/ признак включения 329 + "login": "", ~/~/ логин (обязателен) 330 + "password": "", ~/~/ пароль (обязателен) 331 + "email": "", ~/~/ email (обязателен) 332 + "description": "string", ~/~/ Описание 333 + "isReadOnly": true, ~/~/ Право только на чтение, true - включено, false - отключено 334 + "isDisabledMobile": true, ~/~/ Запретить использовать мобильное приложение, true - включен, false - отключен 335 + "isEnabled": true, ~/~/ Включен, true - включен, false - отключен 145 145 "parentId": "", ~/~/ Guid родительского агента 146 - "leaderId": "", ~/~/ Guid руководителя (null - не задан) 147 - "sessionDuration": "", ~/~/ продолжительность сессии, в минутах (null - по умолчанию, 30 минут) 148 - "doubleAuth": "" , ~/~/ параметры двухфакторной аутентификации 149 - "kind": "", ~/~/ тип аутентификации (None - выключена, Email - по email) 150 - "target": "" , ~/~/ в случае аутентификации по email - email-адрес 151 - "groups": "" , ~/~/ группы пользователя, названия групп 337 + "leaderId": "", ~/~/ Guid руководителя (null - не задан) 338 + "sessionDuration": 0, ~/~/ продолжительность сессии, в минутах (null - по умолчанию, 30 минут) 339 + "doubleAuth": 340 + { 341 + "kind": 0, ~/~/ Состояние двухэтапной аутентификации, email - включен, None - отключен 342 + "target": "string" ~/~/ Адрес электронной почты двухэтапной аутентификации 343 + }, 344 + "groups": 345 + [ 346 + "string" ~/~/ группы пользователя, перечисление названия системных ролей 347 + ], 348 + "customGroups": 349 + [ 350 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ группы пользователя, перечисление названия клиентских ролей 351 + ], 352 + "language": 0 ~/~/ Язык интерфейса пользователя 1 - Русский, 2 - Английский, 3 - Азербайджанский 152 152 } 153 153 355 +{ 356 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 357 + "lastName": "string", 358 + "firstName": "string", 359 + "position": "string", 360 + "phone": "string", 361 + "organization": "string", 362 + "login": "string", 363 + "password": "string", 364 + "email": "string", 365 + 366 + 154 154 (% style="text-align:left" %) 155 155 (% style="color:#000000; font-weight:normal" %)Ответ: 156 156 ... ... @@ -174,18 +174,19 @@ 174 174 "doubleAuth": "" , ~/~/ параметры двухфакторной аутентификации 175 175 "kind": "" , ~/~/ тип аутентификации 176 176 "target": "" , ~/~/ в случае аутентификации по email - email-адрес 177 - "groups": группы пользователя,«user»названия группыпользователя390 + "groups": (% style="color:#000000" %)["", ""] (% style="color:#000000; font-weight:normal" %), ~/~/ роли пользователя, перечислены названия групп пользователя 178 178 179 179 (% style="text-align:left" %) 180 180 (% style="color:#000000; font-weight:normal" %)} 181 181 395 +== (% style="color:#000000; font-size:16px" %)**Получение списка пользователей**(%%) == 182 182 183 -(% class="box successmessage" %)397 +(% class="box infomessage" %) 184 184 ((( 185 -(% style="color:#000000; line-height:100%" %)**Получение списка пользователей — **(% lang="en-US" %)**POST /api/v3/users/find**399 +(% lang="en-US" %)**POST /api/v3/users/find** 186 186 ))) 187 187 188 -(% style="color:#000000" %) 402 +(% style="color:#000000" %)Метод позволяет получить основные параметры пользователей: логин, имя, адрес электронной почты, номер телефона, статус, идентификатор клиента-родителя и прочее. 189 189 190 190 (% style="color:#000000" %)Метод возвращает информацию о пользователях клиента-родителя авторизованного пользователя и пользователях его дочерних клиентов. Информация о пользователях предоставляется при наличии права **«__Просмотр пользователей__»**. 191 191 ... ... @@ -222,17 +222,70 @@ 222 222 "email": "" , ~/~/ E-mail 223 223 "sessionDuration":"", ~/~/ длительность сессии в минутах 224 224 "status": "1", ~/~/ статус пользователя 225 - "astLogged": "", ~/~/ дата/время последней авторизации 439 + "lastLogged": "", ~/~/ дата/время последней авторизации 226 226 227 227 (% style="color:#000000" %)} 228 228 443 +== (% style="color:#000000; font-size:16px" %)**Получение информации о пользователе**(%%) == 229 229 445 +(% class="box infomessage" %) 446 +((( 447 +(% lang="en-US" %)**GET /api/v3/users/{GUID}** 448 +))) 449 + 450 +(% style="color:#000000" %)Метод возвращает подробную информацию о пользователе клиента-родителя авторизованного пользователя или пользователя его дочерних клиентов. Информация о пользователе предоставляется при наличии права **«__Просмотр пользователей__»**. 451 + 452 +(% style="color:#000000" %)Метод запроса: **GET** 453 + 454 +(% style="color:#000000" %)URL запроса: (%%)[[https:~~/~~/hosting.glonasssoft.ru/api/v3/(% lang="en-US" %)users/{GUID}>>https://hosting.glonasssoft.ru/api/v3/users/{GUID}]] 455 + 456 +(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации 457 + 458 +(% style="color:#000000" %)Ответ: 459 + 460 +((( 461 +((( 462 +{ 463 + "id": "", ~/~/ GUID пользователя 464 + "lastName": "", ~/~/ Фамилия 465 + "firstName": "", ~/~/ Имя 466 + "position": "", ~/~/ Должность 467 + "phone": "", ~/~/ Номер телефона 468 + "parentId": "", ~/~/ GUID клиента, которому принадлежит пользователь 469 + "parentName": "", Наименование клиента, которому принадлежит пользователь 470 + "organization": "", ~/~/ Организация 471 + "login": "", ~/~/ Логин пользователя 472 + "email": "", ~/~/ Адрес электронной почты 473 + "language": , ~/~/ Язык интерфейса пользователя 1 - Русский, 2 - Английский, 3 - Азербайджанский 474 + "isReadOnly": , ~/~/ Право только на чтение, true - включено, false - отключено 475 + "description": "", ~/~/ Описание 476 + "isEnabled": , ~/~/ Включен, true - включен, false - отключен 477 + "doubleAuth": 478 + { 479 + "kind": "None", ~/~/ Состояние двухэтапной аутентификации, email - включен, None - отключен 480 + "target": "string" ~/~/ Адрес электронной почты двухэтапной аутентификации 481 + }, 482 + "isDisabledMobile": false, ~/~/ Запретить использовать мобильное приложение, true - включен, false - отключен 483 + "sessionDuration": 30, ~/~/ Длительность сессии в минутах 484 + "status": 0, ~/~/ Статус пользователя, 0 - новый, 1 - подтвержден, 2 - активен, 3 - уточнить, 4 - блокирован 485 + "lastLogged": "2022-08-22T06:57:51.002129Z", ~/~/ Дата и время последнего входа пользователя 486 + "groups": [], ~/~/ Список ролей пользователя 487 + "customGroups": [], ~/~/ Список клиентских ролей пользователя 488 + "authDevices": [ ], ~/~/ Список авторизованных устройств 489 + "mobileDoubleAuthDevices": [], ~/~/ Список авторизованных мобильных устройств 490 + "pushNotificationsDevices": [] ~/~/ Список мобильных устройств которые были подписаны на мобильные уведомления 491 +} 492 +))) 493 +))) 494 + 495 +== (% style="color:#000000; font-size:16px" %)**Редактирование пользователя**(%%) == 496 + 230 230 (% class="box warningmessage" %) 231 231 ((( 232 -(% style="color:#000000; line-height:100%" %)**Редактирование пользователя — **(% lang="en-US" %)**PUT /api/v3/users**499 +(% lang="en-US" %)**PUT /api/v3/users** 233 233 ))) 234 234 235 -(% style="color:#000000" %) (обязательный параметр в заголовках запроса - токен авторизации **«__X-Auth__»**).502 +(% style="color:#000000" %)Метод позволяет отредактировать пользователя. Метод позволяет отредактировать пользователя, указанного в запросе. 236 236 237 237 (% style="color:#000000" %)Метод запроса: **PUT** 238 238 ... ... @@ -253,17 +253,22 @@ 253 253 "position": "" , ~/~/ должность 254 254 "phone": "" , ~/~/ телефон 255 255 "organization": "" , ~/~/ организация 256 - "login": "" , ~/~/ логин 257 - "password": "" , ~/~/ пароль (при добавлении - обязателен, при редактировании, если null - менять пароль не надо) 258 - "email": "" , ~/~/ email 259 - "description": "" , ~/~/ описание 523 + "login": "" , ~/~/ логин (% style="color:#000000" %)(Если null - менять не надо)(%%) 524 +(% lang="ru-RU" style="color:#000000; font-weight:normal" %) "password": "" , ~/~/ пароль (Если null - менять не надо) 525 + "language": , ~/~/ Язык интерфейса пользователя 1 - Русский, 2 - Английский, 3 - Азербайджанский 526 + "isReadOnly": , ~/~/ Право только на чтение, true - включено, false - отключено 527 + "email": "" , ~/~/ email (% style="color:#000000" %)(Если null - менять не надо)(%%) 528 +(% lang="ru-RU" style="color:#000000; font-weight:normal" %) "description": "" , ~/~/ описание 260 260 "isEnabled": "" , ~/~/ признак включения 261 261 "parentId": "" , ~/~/ Guid родительского агента 262 262 "leaderId": "" , ~/~/ Guid руководителя (null - не задан) 263 263 "sessionDuration": "" , ~/~/ продолжительность сессии, в минутах (null - по умолчанию, 30 минут) 264 - "doubleAuth": "" , ~/~/ параметры двухфакторной аутентификации 265 - "kind": "" , ~/~/ тип аутентификации 266 - "target": "" , ~/~/ в случае аутентификации по email - email-адрес 533 + "doubleAuth": 534 + { 535 + "kind": "None", ~/~/ Состояние двухэтапной аутентификации, email - включен, None - отключен 536 + "target": "string" ~/~/ Адрес электронной почты двухэтапной аутентификации 537 + }, 538 + "isDisabledMobile": false, ~/~/ Запретить использовать мобильное приложение, true - включен, false - отключен 267 267 "groups": "" , ~/~/ группы пользователя, «user» названия группы пользователя 268 268 269 269 (% lang="en-US" style="text-align:left" %) ... ... @@ -289,8 +289,12 @@ 289 289 "isEnabled": "" , ~/~/ признак включения 290 290 "parentId": "" , ~/~/ Guid родительского агента 291 291 "sessionDuration": "" , ~/~/ продолжительность сессии, в минутах 292 - "doubleAuth": "" , ~/~/ параметры двухфакторной аутентификации 293 - "kind": "" , ~/~/ тип аутентификации 564 + "doubleAuth": 565 + { 566 + "kind": "None", ~/~/ Состояние двухэтапной аутентификации, email - включен, None - отключен 567 + "target": "string" ~/~/ Адрес электронной почты двухэтапной аутентификации 568 + }, 569 + "isDisabledMobile": false, ~/~/ Запретить использовать мобильное приложение, true - включен, false - отключен 294 294 "target": "" , ~/~/ в случае аутентификации по email - email-адрес 295 295 "groups": "" , ~/~/ группы пользователя, «user» названия группы пользователя 296 296 ... ... @@ -297,13 +297,14 @@ 297 297 (% lang="en-US" style="text-align:left" %) 298 298 (% lang="ru-RU" style="color:#000000; font-weight:normal" %)} 299 299 576 +== (% style="color:#000000; font-size:16px" %)**Изменение статуса пользователя**(%%) == 300 300 301 301 (% class="box warningmessage" %) 302 302 ((( 303 -(% style="color:#000000" %) **Изменение статуса пользователя**// //**— **(% lang="en-US" %)**PUT /api/v3/users/status/{id}**580 +(% style="color:#000000" %)// //(% lang="en-US" %)**PUT /api/v3/users/status/{id}** 304 304 ))) 305 305 306 -(% style="color:#000000" %) . Метод позволяет изменить статус пользователя, указанного в запросе(обязательный параметр в заголовках запроса - токен авторизации **«__X-Auth__»**).583 +(% style="color:#000000" %)Метод позволяет изменить статус пользователя, указанного в запросе. 307 307 308 308 (% style="color:#000000" %)Метод запроса: **PUT** 309 309 ... ... @@ -326,13 +326,73 @@ 326 326 (% style="text-align:left" %) 327 327 (% style="color:#000000" %)**Ответ: В случае успешного выполнения запроса вернется HTTP ответ «200»** 328 328 606 +== (% style="color:#000000; font-size:16px" %)**Блокировка пользователей**(%%) == 329 329 608 +(% class="box warningmessage" %) 609 +((( 610 +**POST /api/v3/users/disable** 611 +))) 612 + 613 +Метода позволяет выполнить массовую блокировку пользователей(% style="color:#000000" %). 614 + 615 +(% style="color:#000000" %)Метод запроса: (% style="color:#000000; line-height:100%" %)**POST** 616 + 617 +(% style="color:#000000" %)URL запроса: (%%)[[https:~~/~~/hosting.glonasssoft.ru/api/v3/users/disable>>https://hosting.glonasssoft.ru/api/v3/users/disable]] 618 + 619 +(% style="color:#000000" %)В теле запроса перечисляете массив id пользователей (JSON): 620 + 621 + [ 622 + "8ed730d3-c61c-4c3a-ae4f-f41d9e710abc", 623 + "415f9ea3-8bc0-4e87-8d78-0852b0c0a4f1" 624 + ] 625 + 626 +(% style="color:#000000" %)**Ответ: В случае успешного выполнения запроса вернется HTTP ответ «200»** 627 + 628 +== (% style="color:#000000; font-size:16px" %)**Разблокировка пользователей**(%%) == 629 + 630 +(% class="box warningmessage" %) 631 +((( 632 +**POST /api/v3/users/enable** 633 +))) 634 + 635 +Метода позволяет выполнить массовую разблокировку пользователей(% style="color:#000000" %). 636 + 637 +(% style="color:#000000" %)Метод запроса: (% style="color:#000000; line-height:100%" %)**POST** 638 + 639 +(% style="color:#000000" %)URL запроса: (%%)[[https:~~/~~/hosting.glonasssoft.ru/api/v3/users/enable>>https://hosting.glonasssoft.ru/api/v3/users/enable]] 640 + 641 +(% style="color:#000000" %)В теле запроса перечисляете массив id пользователей (JSON): 642 + 643 + [ 644 + "8ed730d3-c61c-4c3a-ae4f-f41d9e710abc", 645 + "415f9ea3-8bc0-4e87-8d78-0852b0c0a4f1" 646 + ] 647 + 648 +(% style="color:#000000" %)**Ответ: В случае успешного выполнения запроса вернется HTTP ответ «200»**(%%) 649 +\\(% style="color:#000000" %)__Для двух, описанных выше, методов если не получилось выполнить включение или отключение некоторых пользователей из переданного списка возвращается ответ - 206 Partial Content__ 650 + 651 +((( 652 +В теле ответа: 653 +{ 654 + "errorMessages": [ 655 + "Agent 0f8c2a8b-4b71-48d0-b780-341053089874 cannot access to object Agents d493fd88-60c8-465d-afad-912f5ac9d719." 656 + ], 657 + "users": [ 658 + "415f9ea3-8bc0-4e87-8d78-0852b0c0a4f1" 659 + ] 660 +} 661 +\\\\"errorMessages" - массив ошибок, из-за которых не выполнилось действие с пользователями. 662 +"users" - массив id пользователей, которых не удалось включить или отключить. 663 +))) 664 + 665 +== (% style="color:#000000; font-size:16px" %)**Удаление пользователя**(%%) == 666 + 330 330 (% class="box errormessage" %) 331 331 ((( 332 -(% style="color:#000000; line-height:100%" %)**Удаление пользователя — **(% lang="en-US" %)**DELETE /api/v3/users/{id}**669 +(% lang="en-US" %)**DELETE /api/v3/users/{id}** 333 333 ))) 334 334 335 -(% style="color:#000000" %) (обязательный параметр в заголовках запроса - токен авторизации **«__X-Auth__»**).672 +(% style="color:#000000" %)Метод позволяет удалить пользователя. Метод позволяет удалить пользователя, указанного в строке запроса. 336 336 337 337 (% style="color:#000000" %)Метод запроса: **DELETE** 338 338 ... ... @@ -345,20 +345,18 @@ 345 345 (% style="text-align:left" %) 346 346 (% style="color:#000000" %)**Ответ: В случае успешного выполнения запроса вернется HTTP ответ «200».** 347 347 685 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Транспортные средства**(%%) = 348 348 349 -(% class="box" style="text-align: center;" %) 350 -((( 351 -(% style="color:#000000; font-size:14pt" %)**Раздел Транспортные средства** 352 -))) 687 +== (% style="color:#000000; font-size:16px" %)**Получение информации об объекте**(%%) == 353 353 354 354 (% class="box infomessage" %) 355 355 ((( 356 -(% style="color:#000000; line-height:100%" %)**Получение информации об объекте — **(% lang="en-US" %)**GET /api/v3/vehicles/{vehicleId}**691 +(% lang="en-US" %)**GET /api/v3/vehicles/{vehicleId}** 357 357 ))) 358 358 359 -(% style="color:#000000" %) 694 +(% style="color:#000000" %)Метод позволяет получить всю информацию из карточки объекта: ID, имя объекта, imei, тип устройства, SIM1, SIM2, ID клиента, название клиента, ID модели, наименование модели объекта, ID подразделения, водители, ТО, текущий пробег, моточасы, нормы расхода, полную историю статусов со всеми комментариями, список датчиков (тип, наименование, тип входа, номер входа, псевдоним, тип датчика, тип тарировки, тарировка, состояние чекбоксов «отображается в подсказке» и «отображать последнее валидное значение». 360 360 361 -(% style="color:#000000" %) (обязательный параметр в заголовках запроса - токен авторизации **«__X-Auth__»**):696 +(% style="color:#000000" %)Метод возвращает информацию об объекте с учетом настроек авторизованного пользователя, указанного в запросе: 362 362 363 363 (% style="color:#000000" %)− возвращается информация об объекте клиента-родителя авторизованного пользователя и объекте его дочерних клиентов; 364 364 ... ... @@ -366,30 +366,192 @@ 366 366 367 367 (% style="color:#000000" %)Метод запроса: **GET** 368 368 369 -(% 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>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} 370 370 371 -(% style="color:#000000" %)Параметр запроса: <__**vehicleid**__>- идентификатор объекта (опционально)706 +(% style="color:#000000" %)Параметр запроса: {__**vehicleid}**__ - идентификатор объекта (integer($int32)) 372 372 373 373 (% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации 374 374 375 375 (% style="color:#000000" %)Ответ: 376 376 377 -(% style="color:#000000" %){ 712 +((( 713 +{ 714 + "vehicleId": "", ~/~/ ID объекта 715 + "name": "", ~/~/ Имя объекта 716 + "imei": "", ~/~/ IMEI объекта 717 + "deviceTypeId": , ~/~/ ID типа устройства 718 + "deviceTypeName": "", ~/~/ Название типа устройства 719 + "sim1": "", ~/~/ Номер SIM1 720 + "sim2": "", ~/~/ Номер SIM2 378 378 379 - "vehicleId": "" , ~/~/ идентификатор объекта 380 - "name": "" , ~/~/ имя объекта 381 - "imei": "" , ~/~/ IMEI объекта 382 - "deviceTypeId": "" , ~/~/ идентификатор устройства объекта 383 - "deviceTypeName": "" , ~/~/ наименование устройства объекта 384 - "parentId": "" , ~/~/ идентификатор клиента-родителя 385 - "parentName": "" , ~/~/ наименование клиента-родителя, 386 - "modelId": "" , ~/~/ идентификатор модели объекта 387 - "modelName": "" , ~/~/ наименование модели объекта, 388 - "unitId": "" , ~/~/ идентификатор подразделения 389 - "unitName": "" , ~/~/ наименование подразделения 390 - "status": "" , ~/~/ статус объекта 722 + "parentId": "", ~/~/ ID клиента-родителя 723 + "parentName": "", ~/~/ Наименование клиента-родителя 724 + "modelId": "", ~/~/ ID модели объекта 725 + "modelName": "", ~/~/ Имя модели объекта 391 391 727 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID подразделения 728 + "unitName": "string", ~/~/ Наименование подразделения 729 + "status": 0, ~/~/ Статус объекта 730 + 731 + "createdAt": "", ~/~/ Дата создания объекта 732 + }, 733 + 734 +"customFields": [ ~/~/ Произвольные поля 735 + { 736 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID поля 737 + "name": "string", ~/~/ Имя поля 738 + "value": "string", ~/~/ Значение поля 739 + "forClient": true, ~/~/ Не используемая функция 740 + "forTooltip": true, ~/~/ Отображать в подсказке 741 + "forReport": true ~/~/ Отображать в отчете 742 + } 743 + 744 +], ~/~/ Данные с вкладки нормы 745 + "consumptionPer100Km": "" , ~/~/ Расход топлива на 100 км (если заполнено, то consumptionPerHour не может быть заполнено) 746 + "consumptionPerHour": "" , ~/~/ Расход топлива за моточас (если заполнено, то consumptionPer100Km не может быть заполнено) 747 + "consumptionIdle": "" , ~/~/ Расход топлива на холостом ходу 748 + "consumptionPer100KmSeasonal": 0, ~/~/ Сезонный расход топлива на 100 км 749 + "consumptionPerHourSeasonal": 0, ~/~/ Сезонный расход топлива на моточас 750 + "consumptionIdleSeasonal": 0, ~/~/ Сезонный расход топлива на холостом ходу 751 + "consumptionPer100KmSeasonalBegin": "" , ~/~/ День/месяц начала работы сезонной нормы расхода на 100 км 752 + "consumptionPer100KmSeasonalEnd": "" , ~/~/ День/месяц окончания работы сезонной нормы расхода на 100 км 753 + "consumptionPerHourSeasonalBegin": "" , ~/~/ День/месяц начала работы сезонной нормы расхода на моточас 754 + "consumptionPerHourSeasonalEnd": "" , ~/~/ День/месяц окончания работы сезонной нормы расхода на моточас 755 + "consumptionIdleSeasonalBegin": "" , ~/~/ День/месяц начала работы сезонной нормы расхода на х/х 756 + "consumptionIdleSeasonalEnd": "" , ~/~/ День/месяц окончания работы сезонной нормы расхода на х/х 757 + 758 + "mileageCalcMethod": 0, ~/~/ Метод расчета пробега, 0 - gps, 1 - датчик зажигания 759 + "mileageCoeff": 0, ~/~/ коэффициент пробега 760 + "locationByCellId": true, ~/~/ определение местоположения по данным LBS, true - активна, false - не активна 761 + "dottedLineTrackWhenNoCoords": true, ~/~/ Обозначать пунктиром трек при отсутствии координат, true - активна, false - не активна 762 + "counters": { ~/~/ Счетчики 763 + "mileageEnabled": true, ~/~/ Считать текущий пробег, true - активна, false - не активна 764 + "motohoursEnabled": true, ~/~/ Считать текущие моточасы, true - активна, false - не активна 765 + "mileage": 0, ~/~/ Текущий пробег 766 + "motohours": 0, ~/~/ Текущие моточасы 767 + "mileageTime": "2023-05-22T09:57:39.562Z", ~/~/ Дата пересчета последнего пробега 768 + "motohoursTime": "2023-05-22T09:57:39.562Z" ~/~/ Дата пересчета последних моточасов 769 + }, 770 + 771 +"cmsv6Parameters": { ~/~/ Настройки видеомониторинга 772 + "id": "string", ~/~/ ID объекта 773 + "enabled": true, ~/~/ Включить, true - активна, false - не активна 774 + "host": "string", ~/~/ CMSV6 Web Host 775 + "login": "string", ~/~/ CMSV6 Account 776 + "password": "string" ~/~/ CMSV6 Password 777 + }, 778 + 779 +"commandTemplates": [ ~/~/ Шаблоны команд 780 + { 781 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID команды 782 + "name": "string", ~/~/ Наименование команды 783 + "command": "string", ~/~/ Текст команды 784 + "retries": 0 ~/~/ Количество попыток 785 + } 786 + ], 787 + 788 + "sensors": [ ~/~/ Датчики 789 + { 790 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID датчика 791 + "kind": 0, ~/~/ Тип, Simple - простой, Composite - виртуальный 792 + "type": 0, ~/~/ Тип датчика 793 + "name": "string", ~/~/ Имя датчика 794 + "inputType": 0, ~/~/ Тип входа, Analog, Digital, Impulse, ImpulseFrequency, Diagnosis, Rs485, Rs232, Wire, FMS, BLE 795 + "inputNumber": 0, ~/~/ Номер входа 796 + "pseudonym": "string", ~/~/ Псевдоним 797 + "medianDegree": 0, ~/~/ Медианная фильтрация 798 + "isInverted": true, ~/~/ Инвертировать, true - Вкл., false - Выкл. 799 + "disabled": true, ~/~/ Состояние: Отключен, true - Вкл., false - Выкл. 800 + "gradeType": 0, ~/~/ Тип тарировки, 0 - Default, 1 - Digital, 2 - GradeTable, 3 - CounterSummary, 4 - CounterDiffs 801 + "gradesTables": [ ~/~/ Массив таблиц тарировки 802 + { 803 + "grades": [ ~/~/ Таблица тарировки 1 804 + { 805 + "input": 0, ~/~/ Входящее значение 806 + "output": 0 ~/~/ Выходящее значение 807 + } 808 + ], 809 + "relevanceTime": "2023-05-22T09:57:39.562Z" ~/~/ Дата/время начала применения тарировочной таблицы 810 + } 811 + ], 812 + "showInTooltip": true, ~/~/ Отображать в подсказке 813 + "showLastValid": true, ~/~/ Отображать последнее валидное значение 814 + "showAsDutOnGraph": true, ~/~/ Отображать на графике как датчик уровня топлива 815 + "showWithoutIgn": true, ~/~/ Отображать трек без включенного зажигания 816 + "agrFunction": 0, ~/~/ Функция, SUM, AVG, EXPRESSION 817 + "expr": "string", ~/~/ Формула 818 + "children": [ ~/~/ массив дочерних датчиков 819 + "string" 820 + ], 821 + "customParams": { ~/~/ прочие произвольные параметры 822 + "additionalProp1": "string", 823 + "additionalProp2": "string", 824 + "additionalProp3": "string" 825 + }, 826 + 827 +~/~/ Характерные для произвольного: 828 + 829 +~/~/ "EventsEnabled": "off", ~/~/ Фиксировать события работы: on, off 830 + 831 +~/~/ "EventsTemplateName": "Работа Произвольный", ~/~/ Наименование события работы 832 + 833 +~/~/ "EventsCountEnabled": "off", ~/~/ Фиксировать количество срабатываний: on, off 834 + 835 +~/~/ "EventsCountTemplateName": "Количество срабатываний Произвольный", ~/~/Наименование ~/~/события количества срабатываний 836 + 837 +~/~/ "MapDisplayEnabled": "off", ~/~/ Отображать на карте: on, off 838 + 839 +~/~/ "ChartDisplayEnabled": "off", ~/~/ Отображать на графике объекта: on, off 840 + 841 +~/~/ "PayloadChartDisplayEnabled": "off", ~/~/ Отображать на графике полезной нагрузки: on, off 842 + 843 +~/~/ "DrawType": ~/~/ тип отрисовки line, bar (Линия, Область) 844 + 845 +~/~/ Характерные для таблицы тарировки Вкл./Выкл.: 846 + 847 +~/~/ "ValueOn": "Вкл.", 848 + 849 +~/~/ "ValueOff": "Выкл." 850 + "summaryMaxValue": 0 ~/~/ Макс. значение 851 + } 852 + 853 + "drivers": [ ~/~/ Водители 854 + { 855 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 856 + "name": "string", ~/~/ Наименование 857 + "description": "string", 858 + "isDefault": true ~/~/ По умолчанию 859 + } 860 + ], 861 + 862 + "inspectionTasks": [ ~/~/ Задания на тех. обслуживание 863 + { 864 + "id": "", ~/~/ ID задания 865 + "enabled": "", ~/~/ Флаг активности задания (true - включен, false - отключен) 866 + "name": "", ~/~/ Наименование задания 867 + "description": "", ~/~/ Описание задания 868 + "mileageCondition": "", ~/~/ Условие по пробегу (в метрах, null - условие не работает) 869 + "lastMileage": "", ~/~/ Пробег (в метрах) на момент последнего ТО (null - неважно) 870 + "motohoursCondition": "", ~/~/ Условие по моточасам (в секундах, null - условие не работает) 871 + "lastMotohours": "", ~/~/ Моточасы (в секундах) на момент последнего ТО (null - неважно) 872 + "periodicCondition": "", ~/~/ Условие периодичности по времени (null - условие не работает) 873 + "kind": "", ~/~/ Вид периодичности по времени (дни - Days, месяцы - Months, года - Years, null - условие не работает) 874 + "lastInspectionDate": "" ~/~/ Дата последнего ТО (null - не указано) 875 + "maxQuantity": "" ~/~/ Сколько раз выполнить задание (null - однократно) 876 + } 877 + ], 878 + 879 + "statusHistory": [ ~/~/ История статусов 880 + { 881 + "status": 0, 882 + "date": "2023-05-22T09:57:39.562Z", 883 + "description": "string", 884 + "additionalInfo": "string" 885 + } 886 + ] 887 + 392 392 } 889 +))) 393 393 394 394 (% style="text-align:left" %) 395 395 Параметр «status» содержит id статуса объекта в системе, соответствие id и текстовое названия статуса приведены ниже: ... ... @@ -397,13 +397,14 @@ 397 397 (% style="text-align:left" %) 398 398 0 - «Блокировка» 1 - «Активен», 2 - «Отменен», 3 - «Оборудован», 4 - «Диагностика», 5 - «Сервис», 6 - «Демонтаж», 7 - «Монтаж», 8 - «Дозаказ», 9 - «Обслужен», 10 - «Списан», 11 - «Неисправен», 12 - «Проверен», 13 - «Не эксплуатируется». 399 399 897 +== (% style="color:#000000; font-size:16px" %)**Добавление объекта**(%%) == 400 400 401 401 (% class="box successmessage" %) 402 402 ((( 403 -(% style="color:#000000; line-height:100%" %)**Добавление объекта — **(% lang="en-US" %)**POST /api/v3/vehicles**901 +(% lang="en-US" %)**POST /api/v3/vehicles** 404 404 ))) 405 405 406 -(% style="color:#000000" %) . Метод позволяет добавить объект, указанный в запросе(обязательный параметр в заголовках запроса - токен авторизации **«__X-Auth__»**, //Content-Type//: __**application/json**__; //charset//=__**utf-8**__).904 +(% style="color:#000000" %)Метод позволяет добавить объект, указанный в запросе. 407 407 408 408 (% style="color:#000000" %)Метод запроса: **POST** 409 409 ... ... @@ -435,6 +435,11 @@ 435 435 "consumptionPerHourSeasonalEnd": "" , ~/~/ День/месяц окончания работы сезонной нормы расхода на моточас 436 436 "consumptionIdleSeasonalBegin": "" , ~/~/ День/месяц начала работы сезонной нормы расхода на х/х 437 437 "consumptionIdleSeasonalEnd": "" , ~/~/ День/месяц окончания работы сезонной нормы расхода на х/х 936 + 937 + "mileageCalcMethod": 0, 938 + "mileageCoeff": 0, 939 + "locationByCellId": true, 940 + "dottedLineTrackWhenNoCoords": true, 438 438 "counters": ~/~/ счетчики 439 439 { 440 440 "mileage": "" , ~/~/ пробег ... ... @@ -464,8 +464,98 @@ 464 464 "maxQuantity": "" ~/~/ Сколько раз выполнить задание (null - однократно) 465 465 } 466 466 467 -(% style="color:#000000" %) } 970 +"drivers": [ ~/~/ Водители 971 + { 972 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 973 + "isDefault": true 974 + } 975 + ], 976 + "commandTemplates": [ ~/~/ Шаблон команды 977 + { 978 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 979 + "name": "string", 980 + "command": "string", 981 + "retries": 0 982 + } 983 + ], 468 468 985 + "sensors": [ ~/~/ Датчики 986 + { 987 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID датчика 988 + "kind": 0, ~/~/ Тип, Simple - простой, Composite - виртуальный 989 + "type": 0, ~/~/ Тип датчика 990 + "name": "string", ~/~/ Имя датчика 991 + "inputType": 0, ~/~/ Тип входа, Analog, Digital, Impulse, ImpulseFrequency, Diagnosis, Rs485, Rs232, Wire, FMS, BLE 992 + "inputNumber": 0, ~/~/ Номер входа 993 + "pseudonym": "string", ~/~/ Псевдоним 994 + "medianDegree": 0, ~/~/ Медианная фильтрация 995 + "isInverted": true, ~/~/ Инвертировать, true - Вкл., false - Выкл. 996 + "disabled": true, ~/~/ Состояние: Отключен, true - Вкл., false - Выкл. 997 + "gradeType": 0, ~/~/ Тип тарировки, 0 - Default, 1 - Digital, 2 - GradeTable, 3 - CounterSummary, 4 - CounterDiffs 998 + "gradesTables": [ ~/~/ Массив таблиц тарировки 999 + { 1000 + "grades": [ ~/~/ Таблица тарировки 1 1001 + { 1002 + "input": 0, ~/~/ Входящее значение 1003 + "output": 0 ~/~/ Выходящее значение 1004 + } 1005 + ], 1006 + "relevanceTime": "2023-05-22T09:57:39.562Z" ~/~/ Дата/время начала применения тарировочной таблицы 1007 + } 1008 + ], 1009 + "showInTooltip": true, ~/~/ Отображать в подсказке 1010 + "showLastValid": true, ~/~/ Отображать последнее валидное значение 1011 + "showAsDutOnGraph": true, ~/~/ Отображать на графике как датчик уровня топлива 1012 + "showWithoutIgn": true, ~/~/ Отображать трек без включенного зажигания 1013 + "agrFunction": 0, ~/~/ Функция, SUM, AVG, EXPRESSION 1014 + "expr": "string", ~/~/ Формула 1015 + "children": [ ~/~/ массив дочерних датчиков 1016 + "string" 1017 + ], 1018 + "customParams": { ~/~/ прочие произвольные параметры 1019 + "additionalProp1": "string", 1020 + "additionalProp2": "string", 1021 + "additionalProp3": "string" 1022 + }, 1023 + 1024 +~/~/ Характерные для произвольного: 1025 + 1026 +~/~/ "EventsEnabled": "off", ~/~/ Фиксировать события работы: on, off 1027 + 1028 +~/~/ "EventsTemplateName": "Работа Произвольный", ~/~/ Наименование события работы 1029 + 1030 +~/~/ "EventsCountEnabled": "off", ~/~/ Фиксировать количество срабатываний: on, off 1031 + 1032 +~/~/ "EventsCountTemplateName": "Количество срабатываний Произвольный", ~/~/Наименование ~/~/события количества срабатываний 1033 + 1034 +~/~/ "MapDisplayEnabled": "off", ~/~/ Отображать на карте: on, off 1035 + 1036 +~/~/ "ChartDisplayEnabled": "off", ~/~/ Отображать на графике объекта: on, off 1037 + 1038 +~/~/ "PayloadChartDisplayEnabled": "off", ~/~/ Отображать на графике полезной нагрузки: on, off 1039 + 1040 +~/~/ "DrawType": ~/~/ тип отрисовки line, bar (Линия, Область) 1041 + 1042 +~/~/ Характерные для таблицы тарировки Вкл./Выкл.: 1043 + 1044 +~/~/ "ValueOn": "Вкл.", 1045 + 1046 +~/~/ "ValueOff": "Выкл." 1047 + "summaryMaxValue": 0 ~/~/ Макс. значение 1048 + } 1049 + ], 1050 + "customFields": [ ~/~/ Произвольные поля 1051 + { 1052 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 1053 + "name": "string", 1054 + "value": "string", 1055 + "forClient": true, 1056 + "forTooltip": true, 1057 + "forReport": true 1058 + } 1059 + ] 1060 +} 1061 + 469 469 (% style="color:#000000" %)Ответ: 470 470 471 471 (% style="color:#000000" %){ ... ... @@ -516,15 +516,16 @@ 516 516 - сезонные начало и окончание могут быть заданы только если задана соответствующая сезонная норма; 517 517 - при задании сезонной нормы обязательны соответствующие даты начала/окончания. 518 518 1112 +== (% style="color:#000000; font-size:16px" %)**Получение параметров объектов**(%%) == 519 519 520 -(% class="box successmessage" %)1114 +(% class="box infomessage" %) 521 521 ((( 522 -(% style="color:#000000; line-height:100%" %)**Получение параметров объектов — **(% lang="en-US" %)**POST /api/v3/vehicles/find**1116 +(% lang="en-US" %)**POST /api/v3/vehicles/find** 523 523 ))) 524 524 525 -(% style="color:#000000" %) 1119 +(% style="color:#000000" %)Метод позволяет получить основные параметры объектов: наименование, IMEI, тип устройства, модель объекта, подразделение, номера телефонов и идентификатор клиента, к которому прикреплен объект (клиент-родитель). 526 526 527 -(% style="color:#000000" %) (обязательный параметр в заголовках запроса - токен авторизации **«__X-Auth__»**):1121 +(% style="color:#000000" %)Метод возвращает информацию об объектах с учетом настроек авторизованного пользователя, указанного в запросе: 528 528 529 529 (% style="color:#000000" %)− возвращается информация об объектах клиента-родителя авторизованного пользователя и объектах его дочерних клиентов; 530 530 ... ... @@ -550,19 +550,19 @@ 550 550 551 551 (% style="color:#000000" %)Параметры в теле запроса (JSON): 552 552 553 -(% class="western" style="color:#000000" %)##{## 1147 +{ 1148 + "vehicleId": null, ~/~/ 84350, ID ТС (int, опционально) 1149 + "name": null, ~/~/ Имя ТС (string, опционально) 1150 + "imei": null, ~/~/ "710179307", ~/~/ IMEI (string, опционально) 1151 + "sim": null, ~/~/ "938112", ~/~/ Номер телефона (string, опционально) 1152 + "deviceTypeId": null, ~/~/ 5, ID типа устройства (short, опционально) 1153 + "parentId": null, ~/~/ ID клиента (Guid, опционально) 1154 + "unitId": null, ~/~/ "b33548c3-73c3-40e4-8b78-81470ae744ed", ID подразделения (Guid, опционально) 1155 + "customFields": null ~/~/ значение любого из произвольных полей ТС 1156 +} 554 554 555 -(% class="western" style="color:#000000" %) "vehicleId": null, ~/~/ 84350, ID ТС (int, опционально) 556 - "name": null, ~/~/ Имя ТС (string, опционально) 557 - "imei": null, ~/~/ "710179307", ~/~/ IMEI (string, опционально) 558 - "sim": null, ~/~/ "938112", ~/~/ Номер телефона (string, опционально) 559 - "deviceTypeId": null, ~/~/ 5, ID типа устройства (short, опционально) 560 - "parentId": null, ~/~/ ID клиента (Guid, опционально) 561 - "unitId": null ~/~/ "b33548c3-73c3-40e4-8b78-81470ae744ed", ID подразделения (Guid, опционально)(%%) 562 -(% style="color:#000000" %)} 1158 +(% style="color:#000000" %)Фильтрация осуществляется по точному совпадению значений параметров «__**vehicleId**__», «__**deviceTypeId**__», «__**parentId**__», «__**unitId**__», и по частичному - «__**name**__», «__**imei**__», «__**sim**__». Фильтрация по значению параметра «__**sim**__» осуществляется при наличии у авторизованного пользователя права **«__Просмотр номеров телефонов объектов__»**. 563 563 564 -(% style="color:#000000" %) Фильтрация осуществляется по точному совпадению значений параметров «__**vehicleId**__», «__**deviceTypeId**__», «__**parentId**__», «__**unitId**__», и по частичному - «__**name**__», «__**imei**__», «__**sim**__». Фильтрация по значению параметра «__**sim**__» осуществляется при наличии у авторизованного пользователя права **«__Просмотр номеров телефонов объектов__»**. 565 - 566 566 (% style="color:#000000" %)Ответ: 567 567 568 568 (% style="color:#000000" %){ ... ... @@ -583,18 +583,28 @@ 583 583 "status": "" ~/~/ статус объекта (%%)(-1 - Новый, 0 - Блокировка, 1 - Активен, 2 - Отменен, 3 - Оборудован, 4 - Диагностика, 584 584 ~/~/ 5 - Сервис, 6 - Демонтаж, 7 - Монтаж, 8 - Дозаказ, 9 - Обслужен, 10 - Списан, 585 585 ~/~/ 11 - Неисправен, 12 - Проверен, 13 - Не эксплуатируется) 586 -(% style="color:#000000" %) "createdAt": "" ~/~/ дата создания объектов (%%) 1180 +(% style="color:#000000" %) "createdAt": "" ~/~/ дата создания объектов 1181 + "customFields": [ 1182 + { 1183 + "id": "", ~/~/ идентификатор произвольного поля 1184 + "name": "", ~/~/ имя произвольного поля 1185 + "value": "", ~/~/ значение произвольного поля 1186 + "forClient": true, ~/~/ право на отображение у клиента 1187 + "forTooltip": false, ~/~/ право на отображение в подсказке 1188 + "forReport": false ~/~/ право на отображение в отчетах 1189 + }(%%) 587 587 (% style="color:#000000" %)} 588 588 589 589 (% style="color:#000000" %) Параметры «__**sim1**__» и «__**sim2**__» содержатся в ответе при наличии у авторизованного пользователя права **«__Просмотр номеров телефонов объектов__»**. Параметр «__**status**__» содержится в ответе при наличии у авторизованного пользователя права **«__Просмотр статуса объекта__»**. 590 590 1194 +== (% style="color:#000000; font-size:16px" %)**Изменение статуса объекта**(%%) == 591 591 592 592 (% class="box successmessage" %) 593 593 ((( 594 -(% style="color:#000000; line-height:100%" %)**Изменение статуса объекта — **(% lang="en-US" %)**POST /api/v3/vehicles/changeStatus/{vehicleId}**1198 +(% lang="en-US" %)**POST /api/v3/vehicles/changeStatus/{vehicleId}** 595 595 ))) 596 596 597 -(% style="color:#000000" %) (обязательный параметр в заголовках запроса - токен авторизации **«__X-Auth__»**).1201 +(% style="color:#000000" %)Метод позволяет изменить статус объекта. Метод позволяет изменить статус объекта, указанного в запросе. 598 598 599 599 (% style="color:#000000" %)Метод запроса: **POST** 600 600 ... ... @@ -633,13 +633,14 @@ 633 633 (% style="text-align:left" %) 634 634 (% style="color:#000000" %) } 635 635 1240 +== (% style="color:#000000; font-size:16px" %)**Редактирование объекта**(%%) == 636 636 637 637 (% class="box warningmessage" %) 638 638 ((( 639 -(% style="color:#000000; line-height:100%" %)**Редактирование объекта — **(% lang="en-US" %)**PUT /api/v3/vehicles**1244 +(% lang="en-US" %)**PUT /api/v3/vehicles** 640 640 ))) 641 641 642 -(% style="color:#000000" %) . Метод позволяет отредактировать объект, указанный в запросе(обязательный параметр в заголовках запроса - токен авторизации **«__X-Auth__»**).1247 +(% style="color:#000000" %)Метод позволяет отредактировать объект, указанный в запросе. 643 643 644 644 (% style="color:#000000" %)Метод запроса: **PUT** 645 645 ... ... @@ -649,18 +649,16 @@ 649 649 650 650 (% style="color:#000000" %)Параметры в теле запроса (JSON): 651 651 652 -(% style="color:#000000" %){ 653 - 654 -((( 655 -(% style="color:#000000" %) "vehicleId": "", ~/~/ ID ТС 656 - "parentId": "", ~/~/ ID клиента 657 - "name": "", ~/~/ имя ТС 658 - "imei": "", ~/~/ IMEI 659 - "deviceTypeId": "", ~/~/ ID типа устройства 660 - "modelId": "", ~/~/ , ID модели 661 - "unitId": "", ~/~/ подразделения 662 - "sim1": "", ~/~/ SIM 1 663 - "sim2": "", ~/~/ SIM2 (%%) 1257 +(% style="color:#000000" %){ 1258 + "vehicleId": 276356, 1259 + "parentId": "" , ~/~/ ID клиента 1260 + "name": "" , ~/~/ имя ТС 1261 + "imei": "" , ~/~/ IMEI 1262 + "deviceTypeId": "" , ~/~/ ID типа устройства 1263 + "modelId": "" , ~/~/ ID модели 1264 + "unitId": "" , ~/~/ ID подразделения 1265 + "sim1": "" , ~/~/ Номер SIM 1 1266 + "sim2": "" , ~/~/ Номер SIM2 664 664 "consumptionPer100Km": "" , ~/~/ Расход топлива на 100 км (если заполнено, то consumptionPerHour не может быть заполнено) 665 665 "consumptionPerHour": "" , ~/~/ Расход топлива за моточас (если заполнено, то consumptionPer100Km не может быть заполнено) 666 666 "consumptionIdle": "" , ~/~/ Расход топлива на холостом ходу ... ... @@ -673,39 +673,132 @@ 673 673 "consumptionPerHourSeasonalEnd": "" , ~/~/ День/месяц окончания работы сезонной нормы расхода на моточас 674 674 "consumptionIdleSeasonalBegin": "" , ~/~/ День/месяц начала работы сезонной нормы расхода на х/х 675 675 "consumptionIdleSeasonalEnd": "" , ~/~/ День/месяц окончания работы сезонной нормы расхода на х/х 676 -(% style="color:#000000" %) "counters": 677 - { 678 - "mileageEnabled": true, ~/~/ флаг активности счётчика «пробег» 679 - "motohoursEnabled": true, ~/~/ флаг активности счётчика «моточасы» 680 - "mileage": «», пробег 681 - "motohours": «» моточасы 682 - } 683 - "cmsv6Parameters": ~/~/ параметры CMSv6 684 - { 685 - "id": "", ~/~/ идентификатор 686 - "enabled": true, ~/~/ флаг включения 687 - "host": "", ~/~/ IP-адрес или доменное имя из URL веб-сайта CMSV6 688 - "login": "", ~/~/ имя учетной записи 689 - "password": "", ~/~/ пароль учетной записи 690 - } 691 - "inspectionTasks": ~/~/ задания на ТО 692 - { 693 - "id": "", ~/~/ ID задания 694 - "enabled": false, ~/~/ Признак включения 695 - "name": "", ~/~/ Имя задания 696 - "description": "", ~/~/ Описание задания 697 - "mileageCondition": "", ~/~/ Условие по пробегу (в метрах, null - условие не работает) 698 - "lastMileage": "", ~/~/ Пробег (в метрах) на момент последнего ТО (null - неважно) 699 - "motohoursCondition": "", ~/~/ Условие по моточасам (в секундах, null - условие не работает) 700 - "lastMotohours": "", ~/~/ Моточасы (в секундах) на момент последнего ТО (null - неважно) 701 - "periodicCondition": "", ~/~/ Условие периодичности по времени (null - условие не работает) 702 - "kind": "", ~/~/ Вид периодичности по времени 703 - "maxQuantity": "", ~/~/ Сколько раз выполнить задание 704 - } 705 -))) 706 706 707 -(% style="color:#000000" %)} 1280 + "mileageCalcMethod": 0, 1281 + "mileageCoeff": 0, 1282 + "locationByCellId": true, 1283 + "dottedLineTrackWhenNoCoords": true, 1284 + "counters": ~/~/ счетчики 1285 + { 1286 + "mileage": "" , ~/~/ пробег 1287 + "mileageEnabled": true, ~/~/ флаг активности счётчика "пробег" 1288 + "motohours": "" , ~/~/ моточасы 1289 + "motohoursEnabled": true ~/~/ флаг активности счётчика "моточасы" 1290 + }, 1291 + "cmsv6Parameters": { ~/~/ параметры CMSv6 1292 + "enabled": true, ~/~/ флаг включения 1293 + "id": "" , ~/~/ идентификатор 1294 + "host": "" , ~/~/ IP-адрес или доменное имя из URL веб-сайта CMSV6 1295 + "login": "" , ~/~/ имя учетной записи 1296 + "password": "" ~/~/ пароль учетной записи 1297 + }, 1298 + "inspectionTasks": ~/~/ задания на ТО 1299 + { 1300 + "enabled": "" , ~/~/ Признак включения 1301 + "name": "" , ~/~/ Имя задания 1302 + "description": "" , ~/~/ Описание задания 1303 + "mileageCondition": "" , ~/~/ Условие по пробегу (в метрах, null - условие не работает) 1304 + "lastMileage": "" , ~/~/ Пробег (в метрах) на момент последнего ТО (null - неважно) 1305 + "motohoursCondition": "" , ~/~/ Условие по моточасам (в секундах, null - условие не работает) 1306 + "lastMotohours": "" , ~/~/ Моточасы (в секундах) на момент последнего ТО (null - неважно) 1307 + "periodicCondition": "" , ~/~/ Условие периодичности по времени (null - условие не работает) 1308 + "kind": "" , ~/~/ Вид периодичности по времени (дни - Days, месяцы - Months, года - Years, null - условие не работает) 1309 + "lastInspectionDate": "" , ~/~/ Дата последнего ТО (null - не указано) 1310 + "maxQuantity": "" ~/~/ Сколько раз выполнить задание (null - однократно) 1311 + } 708 708 1313 +"drivers": [ ~/~/ Водители 1314 + { 1315 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 1316 + "isDefault": true 1317 + } 1318 + ], 1319 + "commandTemplates": [ ~/~/ Шаблон команды 1320 + { 1321 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 1322 + "name": "string", 1323 + "command": "string", 1324 + "retries": 0 1325 + } 1326 + ], 1327 + 1328 + "sensors": [ ~/~/ Датчики 1329 + { 1330 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID датчика 1331 + "kind": 0, ~/~/ Тип, Simple - простой, Composite - виртуальный 1332 + "type": 0, ~/~/ Тип датчика 1333 + "name": "string", ~/~/ Имя датчика 1334 + "inputType": 0, ~/~/ Тип входа, Analog, Digital, Impulse, ImpulseFrequency, Diagnosis, Rs485, Rs232, Wire, FMS, BLE 1335 + "inputNumber": 0, ~/~/ Номер входа 1336 + "pseudonym": "string", ~/~/ Псевдоним 1337 + "medianDegree": 0, ~/~/ Медианная фильтрация 1338 + "isInverted": true, ~/~/ Инвертировать, true - Вкл., false - Выкл. 1339 + "disabled": true, ~/~/ Состояние: Отключен, true - Вкл., false - Выкл. 1340 + "gradeType": 0, ~/~/ Тип тарировки, 0 - Default, 1 - Digital, 2 - GradeTable, 3 - CounterSummary, 4 - CounterDiffs 1341 + "gradesTables": [ ~/~/ Массив таблиц тарировки 1342 + { 1343 + "grades": [ ~/~/ Таблица тарировки 1 1344 + { 1345 + "input": 0, ~/~/ Входящее значение 1346 + "output": 0 ~/~/ Выходящее значение 1347 + } 1348 + ], 1349 + "relevanceTime": "2023-05-22T09:57:39.562Z" ~/~/ Дата/время начала применения тарировочной таблицы 1350 + } 1351 + ], 1352 + "showInTooltip": true, ~/~/ Отображать в подсказке 1353 + "showLastValid": true, ~/~/ Отображать последнее валидное значение 1354 + "showAsDutOnGraph": true, ~/~/ Отображать на графике как датчик уровня топлива 1355 + "showWithoutIgn": true, ~/~/ Отображать трек без включенного зажигания 1356 + "agrFunction": 0, ~/~/ Функция, SUM, AVG, EXPRESSION 1357 + "expr": "string", ~/~/ Формула 1358 + "children": [ ~/~/ массив дочерних датчиков 1359 + "string" 1360 + ], 1361 + "customParams": { ~/~/ прочие произвольные параметры 1362 + "additionalProp1": "string", 1363 + "additionalProp2": "string", 1364 + "additionalProp3": "string" 1365 + }, 1366 + 1367 +~/~/ Характерные для произвольного: 1368 + 1369 +~/~/ "EventsEnabled": "off", ~/~/ Фиксировать события работы: on, off 1370 + 1371 +~/~/ "EventsTemplateName": "Работа Произвольный", ~/~/ Наименование события работы 1372 + 1373 +~/~/ "EventsCountEnabled": "off", ~/~/ Фиксировать количество срабатываний: on, off 1374 + 1375 +~/~/ "EventsCountTemplateName": "Количество срабатываний Произвольный", ~/~/Наименование ~/~/события количества срабатываний 1376 + 1377 +~/~/ "MapDisplayEnabled": "off", ~/~/ Отображать на карте: on, off 1378 + 1379 +~/~/ "ChartDisplayEnabled": "off", ~/~/ Отображать на графике объекта: on, off 1380 + 1381 +~/~/ "PayloadChartDisplayEnabled": "off", ~/~/ Отображать на графике полезной нагрузки: on, off 1382 + 1383 +~/~/ "DrawType": ~/~/ тип отрисовки line, bar (Линия, Область) 1384 + 1385 +~/~/ Характерные для таблицы тарировки Вкл./Выкл.: 1386 + 1387 +~/~/ "ValueOn": "Вкл.", 1388 + 1389 +~/~/ "ValueOff": "Выкл." 1390 + "summaryMaxValue": 0 ~/~/ Макс. значение 1391 + } 1392 + ], 1393 + "customFields": [ ~/~/ Произвольные поля 1394 + { 1395 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 1396 + "name": "string", 1397 + "value": "string", 1398 + "forClient": true, 1399 + "forTooltip": true, 1400 + "forReport": true 1401 + } 1402 + ] 1403 +} 1404 + 709 709 (% style="color:#000000" %)Ответ: 710 710 711 711 (% lang="en-US" style="text-align:left" %) ... ... @@ -756,18 +756,19 @@ 756 756 (% lang="en-US" style="text-align:left" %) 757 757 (% lang="ru-RU" style="color:#000000; font-weight:normal" %)} 758 758 759 -** валидация:**1455 +**Валидация:** 760 760 - сезонный параметр может быть задан только если задана соответствующая обычная норма; 761 761 - сезонные начало и окончание могут быть заданы только если задана соответствующая сезонная норма; 762 762 - при задании сезонной нормы обязательны соответствующие даты начала/окончания. 763 763 1460 +== (% style="color:#000000; font-size:16px" %)**Удаление объекта**(%%) == 764 764 765 765 (% class="box errormessage" %) 766 766 ((( 767 -(% style="color:#000000; line-height:100%" %)**Удаление объекта — **(% lang="en-US" %)**DELETE /api/v3/vehicles/{vehicleId}**1464 +(% lang="en-US" %)**DELETE /api/v3/vehicles/{vehicleId}** 768 768 ))) 769 769 770 -(% style="color:#000000" %) . Метод позволяет удалить объект, указанный в строке запроса(обязательный параметр в заголовках запроса - токен авторизации **«__X-Auth__»**).1467 +(% style="color:#000000" %)Метод позволяет удалить объект, указанный в строке запроса. 771 771 772 772 (% style="color:#000000" %)Метод запроса: **DELETE** 773 773 ... ... @@ -780,18 +780,16 @@ 780 780 (% style="text-align:left" %) 781 781 (% style="color:#000000" %)**Ответ: В случае успешного выполнения запроса вернется HTTP ответ «200».** 782 782 1480 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Устройства**(%%) = 783 783 784 -(% class="box" lang="en-US" style="text-align: center;" %) 785 -((( 786 -(% style="color:#000000; font-size:14pt" %)**Раздел Устройства** 787 -))) 1482 +== (% style="color:#000000; font-size:16px" %)**Получение списка типов устройств**(%%) == 788 788 789 789 (% class="box infomessage" %) 790 790 ((( 791 -(% style="color:#000000; line-height:100%" %)** Получениесписка типов устройств**(%style="color:#000000" %)**— **(% lang="en-US" %)**GET /api/v3/devices/types**1486 +(% style="color:#000000; line-height:100%" %)** **(% lang="en-US" %)**GET /api/v3/devices/types** 792 792 ))) 793 793 794 -(% style="color:#000000" %) (обязательный параметр в заголовках запроса - токен авторизации **«__X-Auth__»**).1489 +(% style="color:#000000" %)Метод позволяет получить список типов устройств. Метод возвращает информацию о типах устройств с учетом настроек авторизованного пользователя, указанного в запросе. 795 795 796 796 (% style="color:#000000" %)Метод запроса: **GET** 797 797 ... ... @@ -809,24 +809,22 @@ 809 809 (% style="text-align:left" %) 810 810 (% style="color:#000000" %)} 811 811 1507 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Датчики**(%%) = 812 812 813 -(% class="box" style="text-align: center;" %) 814 -((( 815 -(% style="color:#000000; font-size:14pt" %)**Раздел Датчики** 816 -))) 1509 +== (% style="color:#000000; font-size:16px" %)**Получение списка типов датчиков**(%%) == 817 817 818 818 (% class="box infomessage" %) 819 819 ((( 820 -(% style="color:#000000; line-height:100%" %)** Получениесписка типов датчиков**(%style="color:#000000" %)**— **(% lang="en-US" %)**GET /api/v3/sensors/types**1513 +(% style="color:#000000; line-height:100%" %)** **(% lang="en-US" %)**GET /api/v3/sensors/types** 821 821 ))) 822 822 823 -(% style="color:#000000" %) (обязательный параметр в заголовках запроса - токен авторизации **«__X-Auth__»**).1516 +(% style="color:#000000" %)Метод позволяет получить список типов датчиков. Метод возвращает информацию о типах датчиков с учетом настроек авторизованного пользователя, указанного в запросе. 824 824 825 825 (% style="color:#000000" %)Метод запроса: **GET** 826 826 827 827 (% style="color:#000000" %)URL запроса: (%%)[[https:~~/~~/hosting.glonasssoft.ru/api/v3/sensors/types>>url:https://hosting.glonasssoft.ru/api/v3/sensors/types]] 828 828 829 -(% style="color:#000000" %)В заголовках запроса:X-Auth: Токен авторизации 1522 +(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации 830 830 831 831 (% style="color:#000000" %)Ответ: 832 832 ... ... @@ -839,7 +839,991 @@ 839 839 (% style="text-align:left" %) 840 840 (% style="color:#000000" %)} 841 841 1535 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Сообщения**(%%) = 842 842 1537 +== (% style="color:#000000; font-size:16px" %)**Данные об активности объекта**(%%) == 1538 + 1539 +(% class="box infomessage" style="text-align: left;" %) 1540 +((( 1541 +**POST /api/v3/terminalMessages/count** 1542 +))) 1543 + 1544 +(% style="text-align: left;" %) 1545 +Метод возвращает количество сообщений отправленных терминалом на сервер за указанный период. 1546 + 1547 +(% style="text-align: left;" %) 1548 +Метод запроса **POST** 1549 + 1550 +(% style="text-align: left;" %) 1551 +(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/api/v3/terminalMessages/count 1552 + 1553 +(% style="text-align: left;" %) 1554 +(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации 1555 + 1556 +(% style="text-align: left;" %) 1557 +{ 1558 + "vehicleIds": [ 1559 + id ~/~/ здесь передается список идентификаторов объектов 1560 + ], 1561 + "from": "2023-03-12T07:09:02.364Z", ~/~/ от какой даты выполнять запрос 1562 + "to": "2023-03-14T07:09:02.364Z" ~/~/ до какой даты выполнять запрос 1563 +} 1564 + 1565 +(% style="text-align: left;" %) 1566 +Ответ: 1567 + 1568 +(% style="text-align: left;" %) 1569 +[ 1570 + { 1571 + "vehicleId": 0, ~/~/ идентификатор объекта 1572 + "count": 0 ~/~/ количество сообщений за период 1573 + } 1574 +] 1575 + 1576 +== (% style="color:#000000; font-size:16px" %)**Запрос списка сообщений**(%%) == 1577 + 1578 +(% class="box infomessage" %) 1579 +((( 1580 +**POST /api/v3/terminalMessages** 1581 +))) 1582 + 1583 +Метод возвращает список сообщений терминала объекта за выбранный период. 1584 + 1585 +(% style="text-align: left;" %) 1586 +Метод запроса **POST** 1587 + 1588 +(% style="text-align: left;" %) 1589 +(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/api/v3/terminalMessages 1590 + 1591 +(% style="text-align: left;" %) 1592 +(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации 1593 + 1594 +{ 1595 + "vehicleId": 0, ~/~/ id объекта 1596 + "from": "2023-03-29T09:14:46.107Z", ~/~/ начало периода запроса 1597 + "to": "2023-03-29T09:14:46.107Z" ~/~/ конец периода запроса 1598 +} 1599 + 1600 +Ответ: 1601 + 1602 +[ 1603 + { 1604 + "messages": [ 1605 + { 1606 + "deviceTime": "2023-03-29T09:14:46.125Z", ~/~/ Время устройства 1607 + "serverTime": "2023-03-29T09:14:46.125Z", ~/~/ Время сервера 1608 + "speed": 0, ~/~/ Скорость, км/ч 1609 + "altitude": 0, ~/~/ Высота, м 1610 + "latitude": 0, ~/~/ Широта [-90°;90°] 1611 + "longitude": 0, ~/~/ Долгота [-180°;180°] 1612 + "satellites": 0, ~/~/ Кол-во спутников 1613 + "voltage": 0, ~/~/ Напряжение 1614 + "parameters": { ~/~/ список параметров датчиков передаваемых терминалом 1615 + "additionalProp1": "string", 1616 + "additionalProp2": "string", 1617 + "additionalProp3": "string" 1618 + }, 1619 + "photoCount": 0 ~/~/ Кол-во фото 1620 + } 1621 + ] 1622 + } 1623 +] 1624 + 1625 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Уведомления**(%%) = 1626 + 1627 +== (% style="color:#000000; font-size:16px" %)**Запрос списка уведомлений клиента**(%%) == 1628 + 1629 +(% class="box infomessage" %) 1630 +((( 1631 +**POST /api/v3/notifications/find** 1632 +))) 1633 + 1634 +Метод возвращает информацию об уведомлениях переданного клиента и его клиентов ниже по иерархии. 1635 + 1636 +(% style="text-align: left;" %) 1637 +Метод запроса **POST** 1638 + 1639 +(% style="text-align: left;" %) 1640 +(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/api/v3/notifications/find 1641 + 1642 +(% style="text-align: left;" %) 1643 +(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации 1644 + 1645 +{ 1646 + "parentId": "" ~/~/ id клиента 1647 +} 1648 + 1649 +Ответ: 1650 + 1651 +[ 1652 + { 1653 + "id": 0, ~/~/ ID уведомления 1654 + "name": "string", ~/~/ Название уведомления 1655 + "active": true, ~/~/ Состояние true - активен, false - деактивирован 1656 + "type": 0, ~/~/ Шаблон события 0 - Въезд и выезд из геозоны, 2 - Превышение скорости, 4 - Слив, 5 - Заправка, 6 - Сработка тревожной кнопки, 7 - Потеря связи с объектом, 8 - Сработка дискретного датчика, 9 - Значение аналогового датчика, 10 - Адрес, 11 - Простой, 12 - Выполнение ТО 1657 + "userId": "", ~/~/ Пользователь, создавший уведомление 1658 + "parentId": "", ~/~/ Идентификатор клиента 1659 + "parentName": "string" ~/~/ Имя клиента 1660 + } 1661 +] 1662 + 1663 +== (% style="color:#000000; font-size:16px" %)**Запрос настроек уведомления**(%%) == 1664 + 1665 +(% class="box infomessage" %) 1666 +((( 1667 +**GET /api/v3/notifications/{id}** 1668 +))) 1669 + 1670 +Метод возвращает данные правил формирования выбранного уведомления. 1671 + 1672 +(% style="text-align: left;" %) 1673 +Метод запроса **GET** 1674 + 1675 +(% style="text-align: left;" %) 1676 +(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/api/v3/notifications/{id} 1677 + 1678 +(% style="text-align: left;" %) 1679 +(% style="color:#000000" %)Параметр запроса: {**__id__**} - (%%)id уведомления 1680 + 1681 +(% style="text-align: left;" %) 1682 +(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации 1683 + 1684 +(% style="text-align: left;" %) 1685 +(% style="color:#000000" %)Ответ: 1686 + 1687 +(% style="text-align: left;" %) 1688 +(% style="color:#000000" %){ 1689 + "id": 0, ~/~/ (%%)id уведомления 1690 +(% style="color:#000000" %) "type": 0, (%%)~/~/ Шаблон события 0 - Въезд и выезд из геозоны, 2 - Превышение скорости, 4 - Слив, 5 - Заправка, 6 - Сработка тревожной кнопки, 7 - Потеря связи с объектом, 8 - Сработка дискретного датчика, 9 - Значение аналогового датчика, 10 - Адрес, 11 - Простой, 12 - Выполнение ТО 1691 +(% style="color:#000000" %) "userId": "", /(%%)/ Пользователь, создавший уведомление 1692 +(% style="color:#000000" %) "parentId": "", (%%)~/~/ Идентификатор клиента 1693 +(% style="color:#000000" %) "parentName": "string", (%%)~/~/ Имя клиента 1694 +(% style="color:#000000" %) "name": "string", (%%)~/~/ Название уведомления 1695 +(% style="color:#000000" %) "active": true, (%%)~/~/ Состояние true - активен, false - деактивирован 1696 +(% style="color:#000000" %) "vehicleIds": [ ~/~/ (%%)Список id объектов для анализа 1697 +(% style="color:#000000" %) 0 1698 + ], 1699 + "geoids": [ ~/~/ (%%)Список id геообъектов для анализа 1700 +(% style="color:#000000" %) 0 1701 + ], 1702 + "fieldids": [ ~/~/ (%%)Список id полей для анализа 1703 +(% style="color:#000000" %) 0 1704 + ], 1705 + "settings": { ~/~/ Список параметров уведомления 1706 + "additionalProp1": "string", 1707 + "additionalProp2": "string", 1708 + "additionalProp3": "string" 1709 + }, 1710 + "toEmail": true, ~/~/ (%%)Флаг, что активна настройка "Отправка уведомлений на эл. почту пользователям системы" 1711 +(% style="color:#000000" %) "recipientIds": [ ~/~/ (%%)Список Guid пользователей, которым надо отправить сообщение на почту при срабатывании правила 1712 +(% style="color:#000000" %) "" 1713 + ], 1714 + "enableSideEmails": true, ~/~/ (%%)Флаг, что активна настройка "Отправка сообщений на эл. почту сторонним пользователям" 1715 +(% style="color:#000000" %) "sideEmails": [ ~/~/ (%%)Список электронных адресов для отсылки уведомлений 1716 +(% style="color:#000000" %) "string" 1717 + ], 1718 + "toTelegram": true, ~/~/ (%%)Флаг активности отправки в Telegram 1719 +(% style="color:#000000" %) "telegrams": [ ~/~/ (%%)Список получателя уведомлений в Telegram. 1720 +(% style="color:#000000" %) { 1721 + "id": 0, ~/~/ (%%)Идентификатор участника чата 1722 +(% style="color:#000000" %) "info": "string" ~/~/ (%%)Дополнительные сведения 1723 +(% style="color:#000000" %) } 1724 + ], 1725 + "toMobile": true, ~/~/ (%%)Флаг активности отправки в мобильное приложение 1726 +(% style="color:#000000" %) "toClient": true, ~/~/ (%%)Флаг активности отправки в интерфейсе системы 1727 +(% style="color:#000000" %) "stored": true, ~/~/ (%%)Определяет необходимость сохранять уведомления, производные от этого правила, в журнале истории уведомлений. 1728 +(% style="color:#000000" %) "kind": 0, ~/~/ (%%)Определяет вид уведомления 1729 +(% style="color:#000000" %) "activationMode": 0, ~/~/ (%%)Вид активации уведомления 0 - Сейчас, 1 - В определенную дату и время 1730 +(% style="color:#000000" %) "activationTime": "2023-03-29T09:57:48.932Z", ~/~/ (%%)Дата/время активации правила (UTC) 1731 +(% style="color:#000000" %) "timezone": 0, ~/~/ (%%)Сдвиг часового пояса 1732 +(% style="color:#000000" %) "validity": 0, ~/~/ (%%)Срок действия в днях (1-90) 1733 +(% style="color:#000000" %) "autoProlongation": true ~/~/ (%%)Автопродление срока действия 1734 +(% style="color:#000000" %)} 1735 + 1736 +== (% style="color:#000000; font-size:16px" %)**Редактирование уведомления**(%%) == 1737 + 1738 +(% class="box warningmessage" %) 1739 +((( 1740 +**PUT /api/v3/notifications/** 1741 +))) 1742 + 1743 +Метод позволяет отредактировать уведомление. 1744 + 1745 +Метод запроса **PUT** 1746 + 1747 +URL запроса: https:~/~/hosting.glonasssoft.ru/api/v3/notifications 1748 + 1749 +В заголовках запроса: X-Auth: Токен авторизации 1750 + 1751 +Тело запроса: 1752 +{ 1753 + "id": 0, ~/~/ id уведомления 1754 + "type": 0, ~/~/ Шаблон события 0 - Въезд и выезд из геозоны, 2 - Превышение скорости, 4 - Слив, 5 - Заправка, 6 - Сработка тревожной кнопки, 7 - Потеря связи с объектом, 8 - Сработка дискретного датчика, 9 - Значение аналогового датчика, 10 - Адрес, 11 - Простой, 12 - Выполнение ТО 1755 + "userId": "", ~/~/ Пользователь, создавший уведомление 1756 + "parentId": "", ~/~/ Идентификатор клиента 1757 + "parentName": "string", ~/~/ Имя клиента 1758 + "name": "string", ~/~/ Название уведомления 1759 + "active": true, ~/~/ Состояние true - активен, false - деактивирован 1760 + "vehicleIds": [ ~/~/ Список id объектов для анализа 1761 + 0 1762 + ], 1763 + "geoids": [ ~/~/ Список id геообъектов для анализа 1764 + 0 1765 + ], 1766 + "fieldids": [ ~/~/ Список id полей для анализа 1767 + 0 1768 + ], 1769 + "settings": { ~/~/ Список параметров уведомления 1770 + "additionalProp1": "string", 1771 + "additionalProp2": "string", 1772 + "additionalProp3": "string" 1773 + }, 1774 + "toEmail": true, ~/~/ Флаг, что активна настройка "Отправка уведомлений на эл. почту пользователям системы" 1775 + "recipientIds": [ ~/~/ Список Guid пользователей, которым надо отправить сообщение на почту при срабатывании правила 1776 + "" 1777 + ], 1778 + "enableSideEmails": true, ~/~/ Флаг, что активна настройка "Отправка сообщений на эл. почту сторонним пользователям" 1779 + "sideEmails": [ ~/~/ Список электронных адресов для отсылки уведомлений 1780 + "string" 1781 + ], 1782 + "toTelegram": true, ~/~/ Флаг активности отправки в Telegram 1783 + "telegrams": [ ~/~/ Список получателя уведомлений в Telegram. 1784 + { 1785 + "id": 0, ~/~/ Идентификатор участника чата 1786 + "info": "string" ~/~/ Дополнительные сведения 1787 + } 1788 + ], 1789 + "toMobile": true, ~/~/ Флаг активности отправки в мобильное приложение 1790 + "toClient": true, ~/~/ Флаг активности отправки в интерфейсе системы 1791 + "stored": true, ~/~/ Определяет необходимость сохранять уведомления, производные от этого правила, в журнале истории уведомлений. 1792 + "kind": 0, ~/~/ Определяет вид уведомления 1793 + "activationMode": 0, ~/~/ Вид активации уведомления 0 - Сейчас, 1 - В определенную дату и время 1794 + "activationTime": "2023-03-29T09:57:48.932Z", ~/~/ Дата и время активации правила (UTC) 1795 + "timezone": 0, ~/~/ Сдвиг часового пояса 1796 + "validity": 0, ~/~/ Срок действия в днях (1-90) 1797 + "autoProlongation": true ~/~/ Автопродление срока действия 1798 +} 1799 + 1800 +Ответ: 1801 + 1802 +Success 1803 + 1804 +== (% style="color:#000000; font-size:16px" %)**Удаление уведомления**(%%) == 1805 + 1806 +(% class="box errormessage" %) 1807 +((( 1808 +**DELETE /api/v3/notifications/{id}** 1809 +))) 1810 + 1811 +Метод позволяет удалить выбранное уведомление. 1812 + 1813 +Метод запроса **DELETE** 1814 + 1815 +URL запроса: https:~/~/hosting.glonasssoft.ru/api/v3/notifications/{id} 1816 + 1817 +Передаваемый параметр: {id} - id уведомления 1818 + 1819 +В заголовках запроса: X-Auth: Токен авторизации 1820 + 1821 +Ответ: 1822 + 1823 +Success 1824 + 1825 + 1826 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Водители**(%%) = 1827 + 1828 +== (% style="color:#000000; font-size:16px" %)**Получить список водителей клиента**(%%) == 1829 + 1830 +(% class="box infomessage" %) 1831 +((( 1832 +**POST /api/v3/Drivers/find** 1833 +))) 1834 + 1835 +Передается параметр: parentId - ID клиента-родителя 1836 + 1837 +Ответ: 1838 + 1839 +[ 1840 + { 1841 + "name": "string", ~/~/ Определяет наименование 1842 + "description": "string", ~/~/ Определяет описание 1843 + "hiredate": "2023-06-30T09:37:58.407Z", ~/~/ Определяет дату найма 1844 + "chopdate": "2023-06-30T09:37:58.407Z", ~/~/ Определяет дату увольнения 1845 + "exclusive": true, ~/~/ Определяет признак "Исключительный" 1846 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID водителя 1847 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid родителя 1848 + "deleted": true ~/~/ Признак удаления 1849 + } 1850 +] 1851 + 1852 +== (% style="color:#000000; font-size:16px" %)**Получить данные о водителе**(%%) == 1853 + 1854 +(% class="box infomessage" %) 1855 +((( 1856 +**GET /api/v3/Drivers/{driverGuid}** 1857 +))) 1858 + 1859 +Передается параметр: ID водителя 1860 + 1861 +Ответ: 1862 + 1863 +{ 1864 + "name": "string", ~/~/ Определяет наименование 1865 + "description": "string", ~/~/ Определяет описание 1866 + "hiredate": "2023-06-30T09:33:33.083Z", ~/~/ Определяет дату найма 1867 + "chopdate": "2023-06-30T09:33:33.083Z", ~/~/ Определяет дату увольнения 1868 + "exclusive": true, ~/~/ Определяет признак "Исключительный" 1869 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID водителя 1870 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid родителя 1871 + "deleted": true ~/~/ Признак удаления 1872 +} 1873 + 1874 +== (% style="color:#000000; font-size:16px" %)**Добавить водителя**(%%) == 1875 + 1876 +(% class="box successmessage" %) 1877 +((( 1878 +**POST /api/v3/Drivers** 1879 +))) 1880 + 1881 +Запрос: 1882 + 1883 +{ 1884 + "name": "string", 1885 + "description": "string", 1886 + "hiredate": "2023-06-30T12:50:54.020Z", 1887 + "chopdate": "2023-06-30T12:50:54.020Z", 1888 + "exclusive": true, 1889 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 1890 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 1891 + "deleted": true 1892 +} 1893 + 1894 +Ответ: 1895 + 1896 +{ 1897 + "name": "string", 1898 + "description": "string", 1899 + "hiredate": "2023-06-30T12:50:54.051Z", 1900 + "chopdate": "2023-06-30T12:50:54.051Z", 1901 + "exclusive": true, 1902 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 1903 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 1904 + "deleted": true 1905 +} 1906 + 1907 + 1908 +== (% style="color:#000000; font-size:16px" %)**Редактировать водителя**(%%) == 1909 + 1910 +(% class="box warningmessage" %) 1911 +((( 1912 +**PUT /api/v3/Drivers** 1913 +))) 1914 + 1915 +Запрос: 1916 + 1917 +{ 1918 + "name": "string", 1919 + "description": "string", 1920 + "hiredate": "2023-06-30T12:50:27.910Z", 1921 + "chopdate": "2023-06-30T12:50:27.910Z", 1922 + "exclusive": true, 1923 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 1924 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 1925 + "deleted": true 1926 +} 1927 + 1928 +Ответ: 1929 + 1930 +{ 1931 + "name": "string", 1932 + "description": "string", 1933 + "hiredate": "2023-06-30T12:50:27.929Z", 1934 + "chopdate": "2023-06-30T12:50:27.929Z", 1935 + "exclusive": true, 1936 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 1937 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 1938 + "deleted": true 1939 +} 1940 + 1941 + 1942 +== (% style="color:#000000; font-size:16px" %)**Удалить водителя**(%%) == 1943 + 1944 +(% class="box errormessage" %) 1945 +((( 1946 +**DELETE /api/v3/Drivers/{driverGuid}** 1947 +))) 1948 + 1949 +Передается параметр: ID водителя 1950 + 1951 +Ответ: 1952 + 1953 +Success 1954 + 1955 + 1956 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Журнал назначений**(%%) = 1957 + 1958 +== (% style="color:#000000; font-size:18.6667px" %)**Назначение водителя на объект**(%%) == 1959 + 1960 +=== (% style="color:#000000; font-size:16px" %)**Получить назначения водителей запросом к водителю**(%%) === 1961 + 1962 +(% class="box infomessage" %) 1963 +((( 1964 +**POST /api/v3/DriversVehiclesAssignments/GetByDrivers** 1965 +))) 1966 + 1967 +Запрос: 1968 + 1969 +{ 1970 + "Ids": [ 1971 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" 1972 + ], 1973 + "BeginTime": "2023-06-30T12:49:04.365Z", 1974 + "EndTime": "2023-06-30T12:49:04.365Z" 1975 +} 1976 + 1977 +Ответ: 1978 + 1979 +[ 1980 + { 1981 + "VehicleId": 0, 1982 + "CreateTime": "2023-06-30T09:52:31.240Z", 1983 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 1984 + "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 1985 + "BeginTime": "2023-06-30T09:52:31.240Z", 1986 + "EndTime": "2023-06-30T09:52:31.240Z" 1987 + } 1988 +] 1989 + 1990 + 1991 +=== (% style="color:#000000; font-size:16px" %)**Получить назначения водителей запросом к объекту**(%%) === 1992 + 1993 +(% class="box infomessage" %) 1994 +((( 1995 +**POST /api/v3/DriversVehiclesAssignments/GetByVehicles** 1996 +))) 1997 + 1998 +Запрос: 1999 + 2000 +{ 2001 + "Ids": [ 2002 + 0 2003 + ], 2004 + "BeginTime": "2023-06-30T12:48:39.419Z", 2005 + "EndTime": "2023-06-30T12:48:39.419Z" 2006 +} 2007 + 2008 +Ответ: 2009 + 2010 +[ 2011 + { 2012 + "VehicleId": 0, 2013 + "CreateTime": "2023-06-30T09:54:01.631Z", 2014 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2015 + "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2016 + "BeginTime": "2023-06-30T09:54:01.631Z", 2017 + "EndTime": "2023-06-30T09:54:01.631Z" 2018 + } 2019 +] 2020 + 2021 + 2022 +=== (% style="color:#000000; font-size:16px" %)**Создать назначение водителя на объект**(%%) === 2023 + 2024 +(% class="box successmessage" %) 2025 +((( 2026 +**POST /api/v3/DriversVehiclesAssignments** 2027 +))) 2028 + 2029 +Передается массив назначений 2030 + 2031 +Запрос: 2032 + 2033 +[ 2034 + { 2035 + "VehicleId": 0, ~/~/ Идентификатор объекта 2036 + "CreateTime": "2023-06-30T11:04:46.902Z", ~/~/ Момент времени создания назначения 2037 + "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя 2038 + "BeginTime": "2023-06-30T11:04:46.902Z", ~/~/ Момент времени начала назначения 2039 + "EndTime": "2023-06-30T11:04:46.902Z" ~/~/ Момент времени окончания назначения. Необязательно. 2040 + } 2041 +] 2042 + 2043 +Ответ: 2044 + 2045 +[ 2046 + { 2047 + "VehicleId": 0, 2048 + "CreateTime": "2023-06-30T11:04:46.903Z", 2049 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2050 + "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2051 + "BeginTime": "2023-06-30T11:04:46.903Z", 2052 + "EndTime": "2023-06-30T11:04:46.903Z" 2053 + } 2054 +] 2055 + 2056 + 2057 +=== (% style="color:#000000; font-size:16px" %)**Изменить назначения водителей на объекты**(%%) === 2058 + 2059 +(% class="box warningmessage" %) 2060 +((( 2061 +**PUT /api/v3/DriversVehiclesAssignments** 2062 +))) 2063 + 2064 +Запрос: 2065 + 2066 +[ 2067 + { 2068 + "VehicleId": 0, 2069 + "CreateTime": "2023-06-30T11:14:08.117Z", 2070 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор назначения 2071 + "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2072 + "BeginTime": "2023-06-30T11:14:08.117Z", 2073 + "EndTime": "2023-06-30T11:14:08.117Z" 2074 + } 2075 +] 2076 + 2077 +Ответ: 2078 + 2079 +[ 2080 + { 2081 + "VehicleId": 0, 2082 + "CreateTime": "2023-06-30T11:14:53.349Z", 2083 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2084 + "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2085 + "BeginTime": "2023-06-30T11:14:53.349Z", 2086 + "EndTime": "2023-06-30T11:14:53.349Z" 2087 + } 2088 +] 2089 + 2090 + 2091 +=== (% style="color:#000000; font-size:16px" %)**Удалить назначения водителей на объекты**(%%) === 2092 + 2093 +(% class="box errormessage" %) 2094 +((( 2095 +**DELETE /api/v3/DriversVehiclesAssignments** 2096 +))) 2097 + 2098 +Запрос: 2099 + 2100 +[ 2101 + "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2102 +] 2103 + 2104 +Ответ: 2105 + 2106 +Success 2107 + 2108 + 2109 +== (% style="color:#000000; font-size:18.6667px" %)**Назначение карты-метки водителю**(%%) == 2110 + 2111 +=== (% style="color:#000000; font-size:16px" %)**Получить назначения меток запросом к водителю**(%%) === 2112 + 2113 +(% class="box infomessage" %) 2114 +((( 2115 +**POST /api/v3/DriversRfidsAssignments/GetByDrivers** 2116 +))) 2117 + 2118 +Запрос: 2119 + 2120 +{ 2121 + "Ids": [ 2122 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" 2123 + ], 2124 + "BeginTime": "2023-06-30T12:47:12.162Z", 2125 + "EndTime": "2023-06-30T12:47:12.162Z" 2126 +} 2127 + 2128 +Ответ: 2129 + 2130 +[ 2131 + { 2132 + "Rfid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор метки 2133 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор назначения 2134 + "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя 2135 + "BeginTime": "2023-06-30T11:19:40.703Z", 2136 + "EndTime": "2023-06-30T11:19:40.703Z" 2137 + } 2138 +] 2139 + 2140 + 2141 +=== (% style="color:#000000; font-size:16px" %)**Получить назначения меток запросом к карте-метке**(%%) === 2142 + 2143 +(% class="box infomessage" %) 2144 +((( 2145 +**POST /api/v3/DriversRfidsAssignments/GetByRfids** 2146 +))) 2147 + 2148 +Запрос: 2149 + 2150 +{ 2151 + "Ids": [ 2152 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" 2153 + ], 2154 + "BeginTime": "2023-06-30T12:47:12.162Z", 2155 + "EndTime": "2023-06-30T12:47:12.162Z" 2156 +} 2157 + 2158 +Ответ: 2159 + 2160 +[ 2161 + { 2162 + "Rfid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор метки 2163 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор назначения 2164 + "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя 2165 + "BeginTime": "2023-06-30T11:19:40.703Z", 2166 + "EndTime": "2023-06-30T11:19:40.703Z" 2167 + } 2168 +] 2169 + 2170 + 2171 +=== (% style="color:#000000; font-size:16px" %)**Добавить назначения меток на водителей**(%%) === 2172 + 2173 +(% class="box successmessage" %) 2174 +((( 2175 +**POST /api/v3/DriversRfidsAssignments** 2176 +))) 2177 + 2178 +Запрос: 2179 + 2180 +[ 2181 + { 2182 + "Rfid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2183 + "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2184 + "BeginTime": "2023-06-30T11:27:08.635Z", 2185 + "EndTime": "2023-06-30T11:27:08.635Z" 2186 + } 2187 +] 2188 + 2189 +Ответ: 2190 + 2191 +[ 2192 + { 2193 + "Rfid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2194 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2195 + "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2196 + "BeginTime": "2023-06-30T11:27:08.677Z", 2197 + "EndTime": "2023-06-30T11:27:08.677Z" 2198 + } 2199 +] 2200 + 2201 + 2202 +=== (% style="color:#000000; font-size:16px" %)**Изменить назначения меток на водителей**(%%) === 2203 + 2204 +(% class="box warningmessage" %) 2205 +((( 2206 +**PUT /api/v3/DriversRfidsAssignments** 2207 +))) 2208 + 2209 +Запрос: 2210 + 2211 +[ 2212 + { 2213 + "Rfid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2214 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2215 + "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2216 + "BeginTime": "2023-06-30T11:28:43.330Z", 2217 + "EndTime": "2023-06-30T11:28:43.330Z" 2218 + } 2219 +] 2220 + 2221 +Ответ: 2222 + 2223 +[ 2224 + { 2225 + "Rfid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2226 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2227 + "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2228 + "BeginTime": "2023-06-30T11:28:43.331Z", 2229 + "EndTime": "2023-06-30T11:28:43.331Z" 2230 + } 2231 +] 2232 + 2233 + 2234 +=== (% style="color:#000000; font-size:16px" %)**Удалить назначения меток на водителей**(%%) === 2235 + 2236 +(% class="box errormessage" %) 2237 +((( 2238 +**DELETE /api/v3/DriversRfidsAssignments** 2239 +))) 2240 + 2241 +Запрос: 2242 + 2243 +[ 2244 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" 2245 +] 2246 + 2247 +Ответ: 2248 + 2249 +Success 2250 + 2251 + 2252 +== (% style="color:#000000; font-size:18.6667px" %)**Назначение топливной карты водителю**(%%) == 2253 + 2254 +=== (% style="color:#000000; font-size:16px" %)**Получить назначения топливных карт запросом к водителю**(%%) === 2255 + 2256 +(% class="box infomessage" %) 2257 +((( 2258 +**POST /api/v3/DriversFuelCardsAssignments/GetByDrivers** 2259 +))) 2260 + 2261 +Запрос: 2262 + 2263 +{ 2264 + "Ids": [ 2265 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" 2266 + ], 2267 + "BeginTime": "2023-06-30T12:45:10.852Z", 2268 + "EndTime": "2023-06-30T12:45:10.852Z" 2269 +} 2270 + 2271 +Ответ: 2272 + 2273 +[ 2274 + { 2275 + "CardId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2276 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2277 + "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2278 + "BeginTime": "2023-06-30T11:58:04.695Z", 2279 + "EndTime": "2023-06-30T11:58:04.695Z" 2280 + } 2281 +] 2282 + 2283 + 2284 +=== (% style="color:#000000; font-size:16px" %)**Получить назначения топливных карт запросом к топливной карте**(%%) === 2285 + 2286 +(% class="box infomessage" %) 2287 +((( 2288 +**POST /api/v3/DriversFuelCardsAssignments/GetByCards** 2289 +))) 2290 + 2291 +Запрос: 2292 + 2293 +{ 2294 + "Ids": [ 2295 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" 2296 + ], 2297 + "BeginTime": "2023-06-30T12:45:10.852Z", 2298 + "EndTime": "2023-06-30T12:45:10.852Z" 2299 +} 2300 + 2301 +Ответ: 2302 + 2303 +[ 2304 + { 2305 + "CardId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2306 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2307 + "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2308 + "BeginTime": "2023-06-30T11:58:04.695Z", 2309 + "EndTime": "2023-06-30T11:58:04.695Z" 2310 + } 2311 +] 2312 + 2313 + 2314 +=== (% style="color:#000000; font-size:16px" %)**Добавить назначение топливной карты водителю**(%%) === 2315 + 2316 +(% class="box successmessage" %) 2317 +((( 2318 +**POST /api/v3/DriversFuelCardsAssignments** 2319 +))) 2320 + 2321 +Запрос: 2322 + 2323 +[ 2324 + { 2325 + "CardId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2326 + "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2327 + "BeginTime": "2023-06-30T12:09:53.175Z", 2328 + "EndTime": "2023-06-30T12:09:53.175Z" 2329 + } 2330 +] 2331 + 2332 +Ответ: 2333 + 2334 +[ 2335 + { 2336 + "CardId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2337 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2338 + "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2339 + "BeginTime": "2023-06-30T12:09:53.201Z", 2340 + "EndTime": "2023-06-30T12:09:53.201Z" 2341 + } 2342 +] 2343 + 2344 + 2345 +=== (% style="color:#000000; font-size:16px" %)**Редактировать назначение топливной карты водителю**(%%) === 2346 + 2347 +(% class="box warningmessage" %) 2348 +((( 2349 +**PUT /api/v3/DriversFuelCardsAssignments** 2350 +))) 2351 + 2352 +Запрос: 2353 + 2354 +[ 2355 + { 2356 + "CardId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2357 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2358 + "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2359 + "BeginTime": "2023-06-30T12:09:53.201Z", 2360 + "EndTime": "2023-06-30T12:09:53.201Z" 2361 + } 2362 +] 2363 + 2364 +Ответ: 2365 + 2366 +[ 2367 + { 2368 + "CardId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2369 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2370 + "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2371 + "BeginTime": "2023-06-30T12:09:53.201Z", 2372 + "EndTime": "2023-06-30T12:09:53.201Z" 2373 + } 2374 +] 2375 + 2376 + 2377 +=== (% style="color:#000000; font-size:16px" %)**Удалить назначение топливной карты водителю**(%%) === 2378 + 2379 +(% class="box errormessage" %) 2380 +((( 2381 +**DELETE /api/v3/DriversFuelCardsAssignments** 2382 +))) 2383 + 2384 +Запрос: 2385 + 2386 +[ 2387 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" 2388 +] 2389 + 2390 +Ответ: 2391 + 2392 +Success 2393 + 2394 + 2395 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Карты-метки**(%%) = 2396 + 2397 +== (% style="color:#000000; font-size:16px" %)**Получить список карт-меток определенного клиента**(%%) == 2398 + 2399 +(% class="box infomessage" %) 2400 +((( 2401 +**POST /api/v3/Rfids/find** 2402 +))) 2403 + 2404 +Запрос: 2405 + 2406 +{ 2407 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" 2408 +} 2409 + 2410 +Ответ: 2411 + 2412 +[ 2413 + { 2414 + "name": "string", 2415 + "number": 0, 2416 + "period": 0, ~/~/ Частота трансляции радиометки 2417 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2418 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2419 + "deleted": true 2420 + } 2421 +] 2422 + 2423 + 2424 +== (% style="color:#000000; font-size:16px" %)**Получить данные карты-метки**(%%) == 2425 + 2426 +(% class="box infomessage" %) 2427 +((( 2428 +**GET /api/v3/Rfids/{rfidGuid}** 2429 +))) 2430 + 2431 +Передаем параметр rfidGuid - идентификатор карты-метки 2432 + 2433 +Ответ: 2434 + 2435 +[ 2436 + { 2437 + "name": "string", 2438 + "number": 0, 2439 + "period": 0, ~/~/ Частота трансляции радиометки 2440 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2441 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2442 + "deleted": true 2443 + } 2444 +] 2445 + 2446 + 2447 +== (% style="color:#000000; font-size:16px" %)**Добавить карту-метку**(%%) == 2448 + 2449 +(% class="box successmessage" %) 2450 +((( 2451 +**POST /api/v3/Rfids** 2452 +))) 2453 + 2454 +Запрос: 2455 + 2456 +{ 2457 + "name": "string", 2458 + "number": 0, 2459 + "period": 0, 2460 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2461 + "deleted": true 2462 +} 2463 + 2464 +Ответ: 2465 + 2466 +{ 2467 + "name": "string", 2468 + "number": 0, 2469 + "period": 0, 2470 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2471 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2472 + "deleted": true 2473 +} 2474 + 2475 + 2476 +== (% style="color:#000000; font-size:16px" %)**Редактировать карту-метку**(%%) == 2477 + 2478 +(% class="box warningmessage" %) 2479 +((( 2480 +**PUT /api/v3/Rfids** 2481 +))) 2482 + 2483 +Запрос: 2484 + 2485 +{ 2486 + "name": "string", 2487 + "number": 0, 2488 + "period": 0, 2489 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2490 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2491 + "deleted": true 2492 +} 2493 + 2494 +Ответ: 2495 + 2496 +{ 2497 + "name": "string", 2498 + "number": 0, 2499 + "period": 0, 2500 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2501 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 2502 + "deleted": true 2503 +} 2504 + 2505 + 2506 +== (% style="color:#000000; font-size:16px" %)**Удалить карту-метку**(%%) == 2507 + 2508 +(% class="box errormessage" %) 2509 +((( 2510 +**DELETE /api/v3/Rfids/{rfidGuid}** 2511 +))) 2512 + 2513 +Передаем параметр rfidGuid - идентификатор карты-метки 2514 + 2515 +Ответ: 2516 + 2517 +Success 2518 + 2519 + 843 843 (% class="box" lang="en-US" style="text-align: center;" %) 844 844 ((( 845 845 (% 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]] **