Changes for page Методы API для работы с ГЛОНАССSoft
Last modified by Андрей Калиновский on 2025/03/19 14:01
Change comment:
There is no comment for this version
Summary
Details
- Page properties
-
- Content
-
... ... @@ -10,7 +10,7 @@ 10 10 11 11 (% style="color:#000000" %)−(%%) Между запросами должна быть пауза в 1 секунду (превышение отвергается системой с уведомлением о превышении частоты запросов). 12 12 13 -(% style="color:#000000" %)−(%%) Для работы со всеми методами API необходимо в заголовок добавлять X-Auth (токен авторизации, получаемый методом auth/login). 13 +(% style="color:#000000" %)−(%%) Для работы со всеми методами API необходимо в заголовок добавлять **X-Auth** (токен авторизации, получаемый методом **auth/login**). 14 14 15 15 Пример: X-Auth: 34f4919a-099b-4b7d-8aa1-f478ec2062de. 16 16 ... ... @@ -31,7 +31,7 @@ 31 31 32 32 (% style="color:#000000" %)URL запроса: (%%)[[https:~~/~~/hosting.glonasssoft.ru/api/v3/auth/login?username=demo&password=demo>>url:https://hosting.glonasssoft.ru/api/v3/auth/login?username=demo&password=demo]] 33 33 34 -(% style="color:#000000" %)В случае успешного выполнения метода, поле «AuthId» содержит токен авторизации «X-Auth». 34 +(% style="color:#000000" %)В случае успешного выполнения метода, поле «__**AuthId**__» содержит токен авторизации «__**X-Auth**__». 35 35 36 36 (% lang="en-US" %) 37 37 (% style="color:#000000" %)**Ответ:** ... ... @@ -82,13 +82,13 @@ 82 82 83 83 (% style="color:#000000" %)− возвращается информация о клиенте, которому принадлежит авторизованный пользователь, и его дочерних клиентах; 84 84 85 -(% style="color:#000000" %)− информация о клиенте типа «Партнер» и его подклиентов возвращается при наличии права «Доступ к партнёрским клиентам». 85 +(% style="color:#000000" %)− информация о клиенте типа «Партнер» и его подклиентов возвращается при наличии права «__**Доступ к партнёрским клиентам**__». 86 86 87 87 (% style="color:#000000" %)Метод запроса: **GET** 88 88 89 89 (% 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> 90 90 91 -(% style="color:#000000" %)Параметр запроса: <parentId> - идентификатор клиента-родителя (опционально) 91 +(% style="color:#000000" %)Параметр запроса: <__**parentId**__> - идентификатор клиента-родителя (опционально) 92 92 93 93 (% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации 94 94 ... ... @@ -99,14 +99,11 @@ 99 99 "parentId": "", ~/~/ идентификатор клиента-родителя 100 100 "name": "", ~/~/ наименование клиента 101 101 "fullName": "", ~/~/ полное наименование клиента 102 - "agentInfoType": "", ~/~/ тип клиента1 102 + "agentInfoType": "", ~/~/ тип клиента (0- Клиент, 1 - Партнер, 2 - Группа, 3 - Административная группа, 4 - Тестовый клиент, 5 - Договор) 103 103 "status": "", ~/~/ статус клиента 104 - 104 +} 105 105 106 106 107 -(% style="color:#000000" %)**Примечание:** возможные значение параметра agentInfoType: (% lang="en-US" %)[(% style="color:#000000; font-family:Liberation Serif,serif; font-size:12pt; font-style:normal; font-variant:normal; font-weight:normal" %)0 – Клиент, 1 – Партнер, 2 – Группа, 3 - Административная группа, 4 - Тестовый клиент, 5 - договор(% style="color:#000000" %)] 108 - 109 - 110 110 (% class="box" style="text-align: center;" %) 111 111 ((( 112 112 (% style="color:#000000; font-size:14pt" %)**Раздел Пользователи** ... ... @@ -145,13 +145,13 @@ 145 145 "kind": "", ~/~/ тип аутентификации (None - выключена, Email - по email) 146 146 "target": "" , ~/~/ в случае аутентификации по email - email-адрес 147 147 "groups": "" , ~/~/ группы пользователя, названия групп 148 - 145 +} 149 149 150 150 (% style="text-align:left" %) 151 151 (% style="color:#000000; font-weight:normal" %)Ответ: 152 152 153 153 (% style="text-align:left" %) 154 -(% style="color:#000000; font-weight:normal" %){ 151 +(% style="color:#000000; font-weight:normal" %){ 155 155 156 156 (% style="text-align:left" %) 157 157 (% style="color:#000000; font-weight:normal" %) "id": "" , ~/~/ ID пользователя ... ... @@ -189,8 +189,10 @@ 189 189 190 190 (% style="color:#000000" %)URL запроса: (%%)[[https:~~/~~/hosting.glonasssoft.ru/api/v3/users/find>>url:https://hosting.glonasssoft.ru/api/v3/users/find]] 191 191 192 -(% style="color:#000000" %)Условия фильтрации объектов задаются в теле запроса. Параметры в теле запроса (JSON):189 +(% style="color:#000000" %)Условия фильтрации объектов задаются в теле запроса. 193 193 191 +(% style="color:#000000" %)Параметры в теле запроса (JSON): 192 + 194 194 (% style="color:#000000" %){ 195 195 196 196 "parentId": "375a1f06-c384-43f8-8562-1c3d79a32303", ~/~/ GUID агента, для которого надо получить данные, null - для текущего агента ... ... @@ -202,9 +202,9 @@ 202 202 203 203 (% style="color:#000000" %)Ответ: 204 204 205 -(% style="color:#000000" %){ 204 +(% style="color:#000000" %){ (%%) 206 206 207 - (%style="color:#000000"%)206 + "id": "" , ~/~/ идентификатор пользователя 208 208 "lastName": "" , ~/~/ фамилия 209 209 "firstName": "" , ~/~/ имя 210 210 "position": "" , ~/~/ должность ... ... @@ -214,16 +214,13 @@ 214 214 "organization": "" , ~/~/ организация 215 215 "login": "" , ~/~/ логин 216 216 "email": "" , ~/~/ E-mail 216 + "sessionDuration":"", ~/~/ длительность сессии в минутах 217 + "status": "1", ~/~/ статус пользователя 218 + "astLogged": "", ~/~/ дата/время последней авторизации 217 217 218 218 (% style="color:#000000" %)} 219 219 220 -(% class="western" style="margin-bottom:19px" %) 221 -{{{ "sessionDuration":"", // длительность сессии в минутах}}} 222 222 223 -(% lang="en-US" style="text-align:left" %) 224 -(% style="color:#000000" %) **«status»: 1, //статус пользователя «lastLogged»: «» //дата/время последней авторизации }, … ]** 225 - 226 - 227 227 (% class="box warningmessage" %) 228 228 ((( 229 229 (% style="color:#000000; line-height:100%" %)**Редактирование пользователя — **(% lang="en-US" %)**PUT /api/v3/users** ... ... @@ -238,9 +238,63 @@ 238 238 (% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации 239 239 240 240 (% lang="en-US" style="text-align:left" %) 241 -(% lang="ru-RU" style="color:#000000; font-weight:normal" %)Параметры в теле запроса (JSON): { «id»: «», // ID пользователя «lastName»: «», // фамилия «firstName»: «», // имя «position»: «», // должность «phone»: «», // телефон «organization»: «», // организация «login»: «», // логин «password»: «», // пароль (при добавлении - обязателен, при редактировании, если null - менять пароль не надо) «email»: «», // email «description»: «», // описание «isEnabled»: «», // признак включения «parentId»: «», // Guid родительского агента «leaderId»: «», // Guid руководителя (null - не задан) «sessionDuration»: «», // продолжительность сессии, в минутах (null - по умолчанию, 30 минут) «doubleAuth»: { // параметры двухфакторной аутентификации «kind»: «», // тип аутентификации (None - выключена, Email - по email) «target»: «« // в случае аутентификации по email - email-адрес }, »groups»: [ // группы пользователя «», //названия групп «», «» ] } Ответ: { «id»: «», //ID пользователя «lastName»: «», //Фамилия , «firstName»: «», //Имя «position»: «», //Должность «phone»: «», //Телефон «organization»: «», //Организация «login»: «», //Логин «password»: «», //Пароль «email»: «», //Email «description»: «», //Описание «isEnabled»: «», //Признак включения «parentId»: «», //Guid родительского агента «sessionDuration»: «», //Продолжительность сессии, в минутах «doubleAuth»: { //параметры двухфакторной аутентификации «kind»: «», //тип аутентификации «target»: «» //в случае аутентификации по email - email-адрес }, «groups»: [ // группы пользователя «user» //названия групп ] } //237 +(% lang="ru-RU" style="color:#000000; font-weight:normal" %)Параметры в теле запроса (JSON): 242 242 239 +(% lang="en-US" style="text-align:left" %) 240 +(% lang="ru-RU" style="color:#000000; font-weight:normal" %){ 243 243 242 +(% lang="en-US" style="text-align:left" %) 243 +(% lang="ru-RU" style="color:#000000; font-weight:normal" %) "id": "" , ~/~/ ID пользователя 244 + "lastName": "" , ~/~/ фамилия 245 + "firstName": "" , ~/~/ имя 246 + "position": "" , ~/~/ должность 247 + "phone": "" , ~/~/ телефон 248 + "organization": "" , ~/~/ организация 249 + "login": "" , ~/~/ логин 250 + "password": "" , ~/~/ пароль (при добавлении - обязателен, при редактировании, если null - менять пароль не надо) 251 + "email": "" , ~/~/ email 252 + "description": "" , ~/~/ описание 253 + "isEnabled": "" , ~/~/ признак включения 254 + "parentId": "" , ~/~/ Guid родительского агента 255 + "leaderId": "" , ~/~/ Guid руководителя (null - не задан) 256 + "sessionDuration": "" , ~/~/ продолжительность сессии, в минутах (null - по умолчанию, 30 минут) 257 + "doubleAuth": "" , ~/~/ параметры двухфакторной аутентификации 258 + "kind": "" , ~/~/ тип аутентификации 259 + "target": "" , ~/~/ в случае аутентификации по email - email-адрес 260 + "groups": "" , ~/~/ группы пользователя, «user» названия группы пользователя 261 + 262 +(% lang="en-US" style="text-align:left" %) 263 +(% lang="ru-RU" style="color:#000000; font-weight:normal" %)__}__ 264 + 265 +(% lang="en-US" style="text-align:left" %) 266 +(% lang="ru-RU" style="color:#000000; font-weight:normal" %)//Ответ~:// 267 + 268 +(% lang="en-US" style="text-align:left" %) 269 +(% lang="ru-RU" style="color:#000000; font-weight:normal" %){ 270 + 271 +(% lang="en-US" style="text-align:left" %) 272 +(% lang="ru-RU" style="color:#000000; font-weight:normal" %) "id": "" , ~/~/ идентификатор пользователя 273 + "lastName": "" , ~/~/ фамилия 274 + "firstName": "" , ~/~/ имя 275 + "position": "" , ~/~/ должность 276 + "phone": "" , ~/~/ телефон 277 + "organization": "" , ~/~/ организация 278 + "login": "" , ~/~/ логин 279 + "password": "" , ~/~/ пароль 280 + "email": "" , ~/~/ email 281 + "description": "" , ~/~/ описание 282 + "isEnabled": "" , ~/~/ признак включения 283 + "parentId": "" , ~/~/ Guid родительского агента 284 + "sessionDuration": "" , ~/~/ продолжительность сессии, в минутах 285 + "doubleAuth": "" , ~/~/ параметры двухфакторной аутентификации 286 + "kind": "" , ~/~/ тип аутентификации 287 + "target": "" , ~/~/ в случае аутентификации по email - email-адрес 288 + "groups": "" , ~/~/ группы пользователя, «user» названия группы пользователя 289 + 290 +(% lang="en-US" style="text-align:left" %) 291 +(% lang="ru-RU" style="color:#000000; font-weight:normal" %)} 292 + 293 + 244 244 (% class="box warningmessage" %) 245 245 ((( 246 246 (% style="color:#000000" %)**Изменение статуса пользователя**// //**— **(% lang="en-US" %)**PUT /api/v3/users/status/{id}** ... ... @@ -250,14 +250,20 @@ 250 250 251 251 (% style="color:#000000" %)Метод запроса: **PUT** 252 252 253 -(% style="color:#000000" %)URL запроса: (%%)[[https:~~/~~/hosting.glonasssoft.ru/api/v3/users/status/>>url:https://hosting.glonasssoft.ru/api/v3/users/status/]](% style="color:#000000" %){id} Параметр запроса:303 +(% style="color:#000000" %)URL запроса: (%%)[[https:~~/~~/hosting.glonasssoft.ru/api/v3/users/status/>>url:https://hosting.glonasssoft.ru/api/v3/users/status/]](% style="color:#000000" %){id} 254 254 255 -(% style="color:#000000" %) {id} - Guid пользователя В заголовках запроса: X-Auth: Токен авторизацииПараметрыв телезапроса(JSON): {«status»~:// «»,//статуспользователя(0 - новый, 1 - подтверждён, 2 - активен, 3 - уточнить, 4 - блокирован)305 +(% style="color:#000000" %)Параметр запроса: {__**id**__} - Guid пользователя 256 256 257 -(% class="western" %) 258 -{{{ "description": "", // описание 259 - "data": "" // данные, связанные со сменой статуса}}} 307 +(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации 260 260 309 +(% style="color:#000000" %)Параметры в теле запроса (JSON): 310 + 311 +(% style="color:#000000" %){ 312 + 313 + "status": "" , ~/~/ статус пользователя (0 - новый, 1 - подтверждён, 2 - активен, 3 - уточнить, 4 - блокирован) 314 + "description": "" , ~/~/ описание 315 + "data": "" , ~/~/ данные, связанные со сменой статуса 316 + 261 261 (% style="color:#000000" %)} 262 262 263 263 (% style="text-align:left" %) ... ... @@ -275,8 +275,10 @@ 275 275 276 276 (% style="color:#000000" %)URL запроса: (%%)[[https:~~/~~/hosting.glonasssoft.ru/api/v3/users/>>url:https://hosting.glonasssoft.ru/api/v3/users/]](% style="color:#000000" %){id} 277 277 278 -(% style="color:#000000" %)Параметр запроса: {id} - Guid пользователя В заголовках запроса: X-Auth: Токен авторизации334 +(% style="color:#000000" %)Параметр запроса: {**__id__**} - Guid пользователя 279 279 336 +(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации 337 + 280 280 (% style="text-align:left" %) 281 281 (% style="color:#000000" %)**Ответ: В случае успешного выполнения запроса вернется HTTP ответ «200».** 282 282 ... ... @@ -297,13 +297,13 @@ 297 297 298 298 (% style="color:#000000" %)− возвращается информация об объекте клиента-родителя авторизованного пользователя и объекте его дочерних клиентов; 299 299 300 -(% style="color:#000000" %)− информация о ТО предоставляется с учётом прав на **«Просмотр заданий на техобслуживание»**. 358 +(% style="color:#000000" %)− информация о ТО предоставляется с учётом прав на **«__Просмотр заданий на техобслуживание__»**. 301 301 302 302 (% style="color:#000000" %)Метод запроса: **GET** 303 303 304 304 (% 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> 305 305 306 -(% style="color:#000000" %)Параметр запроса: <vehicleid> - идентификатор объекта (опционально) 364 +(% style="color:#000000" %)Параметр запроса: <__**vehicleid**__> - идентификатор объекта (опционально) 307 307 308 308 (% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации 309 309 ... ... @@ -311,24 +311,20 @@ 311 311 312 312 (% style="color:#000000" %){ 313 313 314 -(% class="western" %) 315 -{{{ "vehicleId": “”, // идентификатор объекта 316 - "name": "", // имя объекта 317 - "imei": "", // IMEI объекта 318 - "deviceTypeId": “”, // идентификатор устройства объекта 319 - "deviceTypeName": "" // наименование устройства объекта 320 - "parentId": "", // идентификатор клиента-родителя 321 - "parentName": "" // наименование клиента-родителя, 322 - "modelId": "", // идентификатор модели объекта 323 - "modelName": "" // наименование модели объекта, 324 - "unitId": "", // идентификатор подразделения 325 - "unitName": "", // наименование подразделения 326 - "status": “”, // статус объекта 327 - ... 328 - }, 329 - ...}}} 372 + "vehicleId": "" , ~/~/ идентификатор объекта 373 + "name": "" , ~/~/ имя объекта 374 + "imei": "" , ~/~/ IMEI объекта 375 + "deviceTypeId": "" , ~/~/ идентификатор устройства объекта 376 + "deviceTypeName": "" , ~/~/ наименование устройства объекта 377 + "parentId": "" , ~/~/ идентификатор клиента-родителя 378 + "parentName": "" , ~/~/ наименование клиента-родителя, 379 + "modelId": "" , ~/~/ идентификатор модели объекта 380 + "modelName": "" , ~/~/ наименование модели объекта, 381 + "unitId": "" , ~/~/ идентификатор подразделения 382 + "unitName": "" , ~/~/ наименование подразделения 383 + "status": "" , ~/~/ статус объекта 330 330 331 - (% style="color:#000000" %)}385 +} 332 332 333 333 (% style="text-align:left" %) 334 334 Параметр «status» содержит id статуса объекта в системе, соответствие id и текстовое названия статуса приведены ниже: ... ... @@ -350,95 +350,92 @@ 350 350 351 351 (% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации 352 352 353 -(% style="color:#000000" %)Параметры в теле запроса (JSON): //Обязательные параметры наименование и модель объекта //В теле запроса - объект JSON {407 +(% style="color:#000000" %)Параметры в теле запроса (JSON): //Обязательные параметры наименование и модель объекта //В теле запроса - объект JSON 354 354 355 -(% class="western" %) 356 -{{{ "parentId": "", // ID клиента 357 - "name": "", // имя ТС 358 - "imei": "", // IMEI 359 - "deviceTypeId": "",// ID типа устройства 360 - "modelId": "", 361 - "unitId": "", // ID подразделения 362 - "sim1": "", // Номер SIM 1 363 - "sim2": "", // Номер SIM2 364 - "consumptionPer100Km" : "", // Расход топлива на 100 км (если заполнено, то consumptionPerHour не может быть заполнено) 365 - "consumptionPerHour": "", // Расход топлива за моточас (если заполнено, то consumptionPer100Km не может быть заполнено) 366 - "consumptionIdle": "",// Расход топлива на холостом ходу 367 - "counters": { 368 - "mileage": "", // пробег 369 - "mileageEnabled": true, // флаг активности счётчика "пробег" 370 - "motohours":"", // моточасы 371 - "motohoursEnabled": true // флаг активности счётчика "моточасы" 372 - }, 373 - "cmsv6Parameters": { // параметры CMSv6 374 - "enabled": true, // флаг включения 375 - //"id": "", // идентификатор 376 - "host": "", // IP-адрес или доменное имя из URL веб-сайта CMSV6 377 - "login": "", // имя учетной записи 378 - "password": "" // пароль учетной записи 409 +(% style="color:#000000" %){ 410 + 411 + "parentId": "" , ~/~/ ID клиента 412 + "name": "" , ~/~/ имя ТС 413 + "imei": "" , ~/~/ IMEI 414 + "deviceTypeId": "" , ~/~/ ID типа устройства 415 + "modelId": "" , ~/~/ ID модели 416 + "unitId": "" , ~/~/ ID подразделения 417 + "sim1": "" , ~/~/ Номер SIM 1 418 + "sim2": "" , ~/~/ Номер SIM2 419 + "consumptionPer100Km": "" , ~/~/ Расход топлива на 100 км (если заполнено, то consumptionPerHour не может быть заполнено) 420 + "consumptionPerHour": "" , ~/~/ Расход топлива за моточас (если заполнено, то consumptionPer100Km не может быть заполнено) 421 + "consumptionIdle": "" , ~/~/ Расход топлива на холостом ходу 422 + "counters": { 423 + "mileage": "" , ~/~/ пробег 424 + "mileageEnabled": true, ~/~/ флаг активности счётчика "пробег" 425 + "motohours": "" , ~/~/ моточасы 426 + "motohoursEnabled": true ~/~/ флаг активности счётчика "моточасы" 379 379 }, 380 - "inspectionTasks": [ // задания на ТО 381 - { 382 - "enabled": "", // Признак включения 383 - "name": "", // Имя задания 384 - "description": "", // Описание задания 385 - "mileageCondition": "", // Условие по пробегу (в метрах, null - условие не работает) 386 - "lastMileage": "", // Пробег (в метрах) на момент последнего ТО (null - неважно) 387 - "motohoursCondition": "", // Условие по моточасам (в секундах, null - условие не работает) 388 - "lastMotohours": "", // Моточасы (в секундах) на момент последнего ТО (null - неважно) 389 - "periodicCondition": "", // Условие периодичности по времени (null - условие не работает) 390 - "kind": "", // Вид периодичности по времени (дни - Days, месяцы - Months, года - Years, null - условие не работает) 391 - "lastInspectionDate": "", // Дата последнего ТО (null - не указано) 392 - "maxQuantity": "" // Сколько раз выполнить задание (null - однократно) 428 + "cmsv6Parameters": { ~/~/ параметры CMSv6 429 + "enabled": true, ~/~/ флаг включения 430 + "id": "" , ~/~/ идентификатор 431 + "host": "" , ~/~/ IP-адрес или доменное имя из URL веб-сайта CMSV6 432 + "login": "" , ~/~/ имя учетной записи 433 + "password": "" ~/~/ пароль учетной записи 393 393 }, 394 - ]}}} 435 + "inspectionTasks": ~/~/ задания на ТО 436 + { 437 + "enabled": "" , ~/~/ Признак включения 438 + "name": "" , ~/~/ Имя задания 439 + "description": "" , ~/~/ Описание задания 440 + "mileageCondition": "" , ~/~/ Условие по пробегу (в метрах, null - условие не работает) 441 + "lastMileage": "" , ~/~/ Пробег (в метрах) на момент последнего ТО (null - неважно) 442 + "motohoursCondition": "" , ~/~/ Условие по моточасам (в секундах, null - условие не работает) 443 + "lastMotohours": "" , ~/~/ Моточасы (в секундах) на момент последнего ТО (null - неважно) 444 + "periodicCondition": "" , ~/~/ Условие периодичности по времени (null - условие не работает) 445 + "kind": "" , ~/~/ Вид периодичности по времени (дни - Days, месяцы - Months, года - Years, null - условие не работает) 446 + "lastInspectionDate": "" , ~/~/ Дата последнего ТО (null - не указано) 447 + "maxQuantity": "" ~/~/ Сколько раз выполнить задание (null - однократно) 448 + } 395 395 396 -(% style="color:#000000" %) …}450 +(% style="color:#000000" %) } 397 397 398 398 (% style="color:#000000" %)Ответ: 399 399 400 400 (% style="color:#000000" %){ 401 401 402 -(% class="western" %) 403 -{{{ "vehicleId": "", //ID ТС 404 - "parentId": "", //Guid владельца ТС 405 - "name": "", //Имя объекта 406 - "imei": "", //IMEI 407 - "deviceTypeId": "", //ID типа устройства 408 - "modelId": "", //ID модели 409 - "unitId": "", //ID подразделения 410 - "sim1": "", //SIM1 411 - "sim2": "", //SIM2 412 - "consumptionPer100Km": "", //Расход топлива на 100 км 413 - "consumptionIdle": "", //Расход топлива на холостом ходу 414 - "counters": { //Счётчики 415 - "mileageEnabled": true, 416 - "motohoursEnabled": true, 417 - "mileage": "", 418 - "motohours": 345.0 419 - }, 420 - "cmsv6Parameters": { //Параметры CmsV6 421 - "id": null, 422 - "enabled": true, //флаг включения 423 - "host": "", // IP-адрес или доменное имя из URL веб-сайта CMSV6 424 - "login": "", // имя учетной записи 425 - "password": "" // пароль учетной записи 426 - }, 427 - "inspectionTasks": [ // задания на ТО 428 - { 429 - "id": "", // ID задачи 430 - "enabled": false, // Признак включения 431 - "name": "", // Имя задания 432 - "description": "", // Описание задания 433 - "mileageCondition": "", // Условие по пробегу 434 - "lastMileage": "", // Пробег (в метрах) 435 - "motohoursCondition": "", // Условие по моточасам 436 - "lastMotohours": "", // Моточасы 437 - "periodicCondition": "", // Условие периодичности по времени 438 - "kind": "", // Вид периодичности по времени 439 - "maxQuantity": "" // Сколько раз выполнить задание (null - однократно) 440 - } 441 - ]}}} 456 + "vehicleId": "", ~/~/ID ТС 457 + "parentId": "", ~/~/Guid владельца ТС 458 + "name": "", ~/~/Имя объекта 459 + "imei": "", ~/~/IMEI 460 + "deviceTypeId": "", ~/~/ID типа устройства 461 + "modelId": "", ~/~/ID модели 462 + "unitId": "", ~/~/ID подразделения 463 + "sim1": "", ~/~/SIM1 464 + "sim2": "", ~/~/SIM2 465 + "consumptionPer100Km": "", ~/~/Расход топлива на 100 км 466 + "consumptionIdle": "", ~/~/Расход топлива на холостом ходу 467 + "counters": { ~/~/Счётчики 468 + "mileageEnabled": true, 469 + "motohoursEnabled": true, 470 + "mileage": "", 471 + "motohours": 345.0 472 + }, 473 + "cmsv6Parameters": { ~/~/Параметры CmsV6 474 + "id": null, 475 + "enabled": true, ~/~/флаг включения 476 + "host": "", ~/~/ IP-адрес или доменное имя из URL веб-сайта CMSV6 477 + "login": "", ~/~/ имя учетной записи 478 + "password": "" ~/~/ пароль учетной записи 479 + }, 480 + "inspectionTasks": { ~/~/ задания на ТО 481 + "id": "", ~/~/ ID задачи 482 + "enabled": false, ~/~/ Признак включения 483 + "name": "", ~/~/ Имя задания 484 + "description": "", ~/~/ Описание задания 485 + "mileageCondition": "", ~/~/ Условие по пробегу 486 + "lastMileage": "", ~/~/ Пробег (в метрах) 487 + "motohoursCondition": "", ~/~/ Условие по моточасам 488 + "lastMotohours": "", ~/~/ Моточасы 489 + "periodicCondition": "", ~/~/ Условие периодичности по времени 490 + "kind": "", ~/~/ Вид периодичности по времени 491 + "maxQuantity": "" ~/~/ Сколько раз выполнить задание (null - однократно) 492 + } 442 442 443 443 (% style="text-align:left" %) 444 444 (% style="color:#000000" %)} ... ... @@ -457,11 +457,11 @@ 457 457 458 458 (% style="color:#000000" %)− возвращает информацию об объектах с учетом заданных настроек видимости объектов; 459 459 460 -(% style="color:#000000" %)− информация предоставляется с учетом наличия прав на просмотр объектов заблокированных договоров (объекты, принадлежащие заблокированному договору возвращаются при наличии любого из прав «Видимость объектов заблокированных договоров в панели управления» или «Видимость объектов заблокированных договоров в мониторинге»; 511 +(% style="color:#000000" %)− информация предоставляется с учетом наличия прав на просмотр объектов заблокированных договоров (объекты, принадлежащие заблокированному договору возвращаются при наличии любого из прав **«__Видимость объектов заблокированных договоров в панели управления__»** или **«__Видимость объектов заблокированных договоров в мониторинге__»**; 461 461 462 -(% style="color:#000000" %)− информация о телефонах SIM1/SIM2 предоставляется при наличии права «Просмотр номеров телефонов объектов»; 513 +(% style="color:#000000" %)− информация о телефонах SIM1/SIM2 предоставляется при наличии права **«__Просмотр номеров телефонов объектов__»**; 463 463 464 -(% style="color:#000000" %)− информация о статусе объекта предоставляется при наличии права «Просмотр статуса объекта». 515 +(% style="color:#000000" %)− информация о статусе объекта предоставляется при наличии права **«__Просмотр статуса объекта__»**. 465 465 466 466 (% style="color:#000000" %)Метод запроса: **POST** 467 467 ... ... @@ -469,26 +469,52 @@ 469 469 470 470 (% style="color:#000000" %)В заголовках запроса: 471 471 472 -(% style="color:#000000" %)− Content-Type: application/json 523 +(% style="color:#000000" %)− Content-Type: __**application/json**__ 473 473 474 474 (% style="color:#000000" %)− X-Auth: Токен авторизации 475 475 476 -(% style="color:#000000" %)Условия фильтрации объектов задаются в теле запроса. Параметры в теле запроса (JSON):527 +(% style="color:#000000" %)Условия фильтрации объектов задаются в теле запроса. 477 477 478 -(% class="western" style="color:#000000" %)##{"vehicleId": null,~/~/84350, ~/~/ ID ТС (int, опционально) "name": null, ~/~/ ИмяТС(string,опционально)"imei":null,~/~/"710179307",##529 +(% style="color:#000000" %)Параметры в теле запроса (JSON): 479 479 480 -(% class="western" style="color:#000000" %)## ~/~/ IMEI (string, опционально) "sim": null, ~/~/"938112", ~/~/ Номер телефона (string, опционально) "deviceTypeId": null,~/~/5##531 +(% class="western" style="color:#000000" %)##{## 481 481 482 -(% class="western" style="color:#000000" %)##~/~/ ID типа устройства (short, опционально) "parentId": null, ~/~/ ID клиента (Guid, опционально) "unitId": null## 533 +(% class="western" style="color:#000000" %)## "vehicleId": null, ~/~/ 84350, ID ТС (int, опционально) 534 + "name": null, ~/~/ Имя ТС (string, опционально) 535 + "imei": null, ~/~/ "710179307", ~/~/ IMEI (string, опционально) 536 + "sim": null, ~/~/ "938112", ~/~/ Номер телефона (string, опционально) 537 + "deviceTypeId": null, ~/~/ 5, ID типа устройства (short, опционально) 538 + "parentId": null, ~/~/ ID клиента (Guid, опционально) 539 + "unitId": null ~/~/ "b33548c3-73c3-40e4-8b78-81470ae744ed", ID подразделения (Guid, опционально)##(%%) 540 +(% style="color:#000000" %)} 483 483 484 -(% class="western" style="color:#000000" %)##~/~/"b33548c3-73c3-40e4-8b78-81470ae744ed"~/~/IDподразделения(Guid,опционально)##(%style="color:#000000"%)}542 +(% style="color:#000000" %) Фильтрация осуществляется по точному совпадению значений параметров «__**vehicleId**__», «__**deviceTypeId**__», «__**parentId**__», «__**unitId**__», и по частичному - «__**name**__», «__**imei**__», «__**sim**__». Фильтрация по значению параметра «__**sim**__» осуществляется при наличии у авторизованного пользователя права **«__Просмотр номеров телефонов объектов__»**. 485 485 486 -(% style="color:#000000" %) Фильтрация осуществляется по точному совпадению значений параметров «vehicleId», «deviceTypeId», «parentId», «unitId», и по частичному - «name», «imei», «sim». Фильтрация по значению параметра «sim» осуществляется при наличии у авторизованного пользователя права «Просмотр номеров телефонов объектов».544 +(% style="color:#000000" %)Ответ: 487 487 488 -(% style="color:#000000" %) Ответ: [{«vehicleId»: «», //идентификатор объекта «name»: «», // наименование объекта «imei»: «», // IMEI объекта «deviceTypeId»: «», // идентификатор типа устройства «deviceTypeName»: «», // наименование типа устройства «sim1»: «», // первый номер телефона «sim2»: «», //второй номер телефона «parentId»: «», //идентификатор клиента-родителя «parentName»: «», //наименование клиента-родителя «modelId»: «», //идентификатор модели объекта «modelName»: «», //наименование модели объекта «unitId»: «», //идентификатор подразделения «unitName»: «», //наименование подразделения «status»: «», // статус объекта //«//createdAt//»: «» дата создания объектов //}, … ]546 +(% style="color:#000000" %){ 489 489 490 -(% style="color:#000000" %) Параметры «sim1» и «sim2» содержатся в ответе при наличии у авторизованного пользователя права **«Просмотр номеров телефонов объектов»**. Параметр «status» содержится в ответе при наличии у авторизованного пользователя права **«Просмотр статуса объекта»**. Параметр «status» содержит id статуса объекта в системе, соответствие id и текстовое названия статуса приведены ниже: 548 +(% style="color:#000000" %) "vehicleId": "" ~/~/ идентификатор объекта 549 + "name": "" ~/~/ наименование объекта 550 + "imei": "" ~/~/ IMEI объекта 551 + "deviceTypeId": "" ~/~/ идентификатор типа устройства 552 + "deviceTypeName": "" ~/~/ наименование типа устройства 553 + "sim1": "" ~/~/ первый номер телефона 554 + "sim2": "" ~/~/ второй номер телефона 555 + "parentId": "" ~/~/ идентификатор клиента-родителя 556 + "parentName": "" ~/~/ наименование клиента-родителя 557 + "modelId": "" ~/~/ идентификатор модели объекта 558 + "modelName": "" ~/~/ наименование модели объекта 559 + "unitId": "" ~/~/ идентификатор подразделения 560 + "unitName": "" ~/~/ наименование подразделения 561 + "status": "" ~/~/ статус объекта 562 + "createdAt": "" ~/~/ дата создания объектов (%%) 563 +(% style="color:#000000" %)} 491 491 565 +(% style="color:#000000" %) Параметры «__**sim1**__» и «__**sim2**__» содержатся в ответе при наличии у авторизованного пользователя права **«__Просмотр номеров телефонов объектов__»**. Параметр «__**status**__» содержится в ответе при наличии у авторизованного пользователя права **«__Просмотр статуса объекта__»**. 566 + 567 +(% style="color:#000000" %)Параметр «__**status**__» содержит id статуса объекта в системе, соответствие id и текстовое названия статуса приведены ниже: 568 + 492 492 0 - «Блокировка» 1 - «Активен», 2 - «Отменен», 3 - «Оборудован», 4 - «Диагностика», 5 - «Сервис», 6 - «Демонтаж», 7 - «Монтаж», 8 - «Дозаказ», 9 - «Обслужен», 10 - «Списан», 11 - «Неисправен», 12 - «Проверен», 13 - «Не эксплуатируется». 493 493 494 494 ... ... @@ -503,36 +503,38 @@ 503 503 504 504 (% style="color:#000000" %)URL запроса: (%%)[[https:~~/~~/hosting.glonasssoft.ru/api/v3/vehicles/changeStatus/>>url:https://hosting.glonasssoft.ru/api/v3/vehicles/changeStatus/]](% style="color:#000000" %){vehicleId} 505 505 506 -(% style="color:#000000" %)Параметр запроса: {vehicleId} - ID ТС 583 +(% style="color:#000000" %)Параметр запроса: {__**vehicleId**__} - ID ТС 507 507 508 508 (% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации 509 509 510 -(% style="color:#000000" %)Параметры в теле запроса (JSON): {587 +(% style="color:#000000" %)Параметры в теле запроса (JSON): 511 511 512 -(% class="western" %) 513 -{{{ "status": "", // значение статуса (-1 - Новый, 0 - Блокировка, 1 - Активен, 2 - Отменен, 3 - Оборудован, 4 - Диагностика, 514 - // 5 - Сервис, 6 - Демонтаж, 7 - Монтаж, 8 - Дозаказ, 9 - Обслужен, 10 - Списан, 515 - // 11 - Неисправен, 12 - Проверен, 13 - Не эксплуатируется) 516 - "date": "", // Дата смены статуса (null если сменить немедленно) 517 - "description": "", // Описание 518 - "data": "", // Данные 519 - "overwrite": false, // Флаг перезаписи 520 - "stage": "", // Состояние, может быть null}}} 589 +(% style="color:#000000" %){ 521 521 591 + "status": "", ~/~/ значение статуса (-1 - Новый, 0 - Блокировка, 1 - Активен, 2 - Отменен, 3 - Оборудован, 4 - Диагностика, 592 + ~/~/ 5 - Сервис, 6 - Демонтаж, 7 - Монтаж, 8 - Дозаказ, 9 - Обслужен, 10 - Списан, 593 + ~/~/ 11 - Неисправен, 12 - Проверен, 13 - Не эксплуатируется) 594 + "date": "", ~/~/ Дата смены статуса (null если сменить немедленно) 595 + "description": "", ~/~/ Описание 596 + "data": "", ~/~/ Данные 597 + "overwrite": false, ~/~/ Флаг перезаписи 598 + "stage": "", ~/~/ Состояние, может быть null 599 + 522 522 (% style="color:#000000" %)} 523 523 524 -(% style="color:#000000" %)Ответ: {602 +(% style="color:#000000" %)Ответ: 525 525 526 -(% class="western" %) 527 -{{{ "status": "", // значение статуса 528 - "date": "", // Дата смены статуса 529 - "description": "", // Описание 530 - "data": "", // Данные 531 - "overwrite": false, // Флаг перезаписи 532 - "stage": "", // Состояние}}} 604 +(% style="color:#000000" %){ 533 533 606 + "status": "", ~/~/ значение статуса 607 + "date": "", ~/~/ Дата смены статуса 608 + "description": "", ~/~/ Описание 609 + "data": "", ~/~/ Данные 610 + "overwrite": false, ~/~/ Флаг перезаписи 611 + "stage": "", ~/~/ Состояние 612 + 534 534 (% style="text-align:left" %) 535 -(% style="color:#000000" %)} 614 +(% style="color:#000000" %) } 536 536 537 537 538 538 (% class="box warningmessage" %) ... ... @@ -550,14 +550,102 @@ 550 550 551 551 (% style="color:#000000" %)Параметры в теле запроса (JSON): 552 552 553 -(% style="color:#000000" %) //Обязательные параметры наименование и модель объекта //В теле запроса - объект JSON{«vehicleId»:«», //ID ТС «parentId»:«», //ID клиента «name»:«», //имя ТС «imei»:«»,//IMEI «deviceTypeId»: «», //ID типа устройства «modelId»: «», «unitId»: «», //ID подразделения «sim1»: «», //SIM 1 «sim2»: «», //SIM2 «consumptionPer100Km»: «», //Расход топлива на 100 км «consumptionIdle»: «», //Расход топлива на холостом ходу «counters»: { «mileageEnabled»: true, //флаг активности счётчика «пробег» «motohoursEnabled»: true, //флаг активности счётчика «моточасы» «mileage»: «», //пробег «motohours»: «» //моточасы }, «cmsv6Parameters»: { //параметры CMSv6 «id»: «», //идентификатор «enabled»: true, //флаг включения «host»: «», //IP-адрес или доменное имя из URL веб-сайта CMSV6 «login»: «», //имя учетной записи «password»: «» //пароль учетной записи }, «inspectionTasks»: [ //задания на ТО { «id»: «», //ID задания «enabled»: false, //Признак включения «name»: «», //Имя задания «description»: «», //Описание задания «mileageCondition»: «», //Условие по пробегу (в метрах, null - условие не работает) «lastMileage»: «», //Пробег (в метрах) на момент последнего ТО (null - неважно) «motohoursCondition»: «», //Условие по моточасам (в секундах, null - условие не работает) «lastMotohours»: «», //Моточасы (в секундах) на момент последнего ТО (null - неважно) «periodicCondition»: «», //Условие периодичности по времени (null - условие не работает) «kind»: «», //Вид периодичности по времени «maxQuantity»: «» //Сколько раз выполнить задание } ] }632 +(% style="color:#000000" %){ 554 554 634 +(% style="color:#000000" %) "vehicleId": "", ~/~/ ID ТС 635 + "parentId": "", ~/~/ ID клиента 636 + "name": "", ~/~/ имя ТС 637 + "imei": "", ~/~/ IMEI 638 + "deviceTypeId": "", ~/~/ ID типа устройства 639 + "modelId": "", ~/~/ , ID модели 640 + "unitId": "", ~/~/ подразделения 641 + "sim1": "", ~/~/ SIM 1 642 + "sim2": "", ~/~/ SIM2 643 + "consumptionPer100Km": "", ~/~/ Расход топлива на 100 км 644 + "consumptionIdle": "", ~/~/ Расход топлива на холостом ходу 645 + "counters": 646 + { 647 + "mileageEnabled": true, ~/~/ флаг активности счётчика «пробег» 648 + "motohoursEnabled": true, ~/~/ флаг активности счётчика «моточасы» 649 + "mileage": «», пробег 650 + "motohours": «» моточасы 651 + } 652 + "cmsv6Parameters": ~/~/ параметры CMSv6 653 + { 654 + "id": "", ~/~/ идентификатор 655 + "enabled": true, ~/~/ флаг включения 656 + "host": "", ~/~/ IP-адрес или доменное имя из URL веб-сайта CMSV6 657 + "login": "", ~/~/ имя учетной записи 658 + "password": "", ~/~/ пароль учетной записи 659 + } 660 + "inspectionTasks": ~/~/ задания на ТО 661 + { 662 + "id": "", ~/~/ ID задания 663 + "enabled": false, ~/~/ Признак включения 664 + "name": "", ~/~/ Имя задания 665 + "description": "", ~/~/ Описание задания 666 + "mileageCondition": "", ~/~/ Условие по пробегу (в метрах, null - условие не работает) 667 + "lastMileage": "", ~/~/ Пробег (в метрах) на момент последнего ТО (null - неважно) 668 + "motohoursCondition": "", ~/~/ Условие по моточасам (в секундах, null - условие не работает) 669 + "lastMotohours": "", ~/~/ Моточасы (в секундах) на момент последнего ТО (null - неважно) 670 + "periodicCondition": "", ~/~/ Условие периодичности по времени (null - условие не работает) 671 + "kind": "", ~/~/ Вид периодичности по времени 672 + "maxQuantity": "", ~/~/ Сколько раз выполнить задание 673 + } 674 + 675 +(% style="color:#000000" %)} 676 + 555 555 (% style="color:#000000" %)Ответ: 556 556 557 557 (% lang="en-US" style="text-align:left" %) 558 -(% lang="ru-RU" style="color:#000000; font-weight:normal" %){ «vehicleId»:«», //ID ТС «parentId»:«», //ID клиента «name»:«», //имя ТС «imei»:«»,//IMEI «deviceTypeId»: «», //ID типа устройства «modelId»: «», «unitId»: «», //ID подразделения «sim1»: «», //SIM 1 «sim2»: «», //SIM2 «consumptionPer100Km»: «», //Расход топлива на 100 км «consumptionIdle»: «», //Расход топлива на холостом ходу «counters»: { «mileageEnabled»: true, //флаг активности счётчика «пробег» «motohoursEnabled»: true, //флаг активности счётчика «моточасы» «mileage»: «», //пробег «motohours»: «» //моточасы }, «cmsv6Parameters»: { //параметры CMSv6 «id»: «», //идентификатор «enabled»: true, //флаг включения «host»: «», //IP-адрес или доменное имя из URL веб-сайта CMSV6 «login»: «», //имя учетной записи «password»: «» //пароль учетной записи }, «inspectionTasks»: [ //задания на ТО { «id»: «», //ID задания «enabled»: false, //Признак включения «name»: «», //Имя задания «description»: «», //Описание задания «mileageCondition»: «», //Условие по пробегу «lastMileage»: «», //Пробег (в метрах) на момент последнего ТО «motohoursCondition»: «», //Условие по моточасам «lastMotohours»: «», //Моточасы «periodicCondition»: «», //Условие периодичности по времени «kind»: «», //Вид периодичности по времени «maxQuantity»: «» //Сколько раз выполнить задание } ] }680 +(% lang="ru-RU" style="color:#000000; font-weight:normal" %){ 559 559 682 +(% lang="en-US" style="text-align:left" %) 683 + "vehicleId": "", ~/~/ ID ТС 684 + "parentId": "", ~/~/ ID клиента 685 + "name": "", ~/~/ имя ТС 686 + "imei": "", ~/~/ IMEI 687 + "deviceTypeId": "", ~/~/ типа устройства 688 + "modelId": "", ~/~/ ID модели 689 + "unitId": "", ~/~/ ID подразделения 690 + "sim1": "", ~/~/ SIM 1 691 + "sim2": "", ~/~/ SIM2 692 + "consumptionPer100Km": "", ~/~/ Расход топлива на 100 км 693 + "consumptionIdle": "", ~/~/ Расход топлива на холостом ходу 694 + "counters": 695 + { 696 + "mileageEnabled": true, ~/~/ флаг активности счётчика «пробег» 697 + "motohoursEnabled": true, ~/~/ флаг активности счётчика «моточасы» 698 + "mileage": "", ~/~/ пробег 699 + "motohours": "", ~/~/ моточасы 700 + } 701 + "cmsv6Parameters": ~/~/ параметры CMSv6 702 + { 703 + "id": ~/~/ идентификатор 704 + "enabled": true, ~/~/ флаг включения 705 + "host": "", ~/~/ IP-адрес или доменное имя из URL веб-сайта CMSV6 706 + "login": "", ~/~/ имя учетной записи 707 + "password": "", ~/~/ пароль учетной записи 708 + } 709 + "inspectionTasks": ~/~/ задания на ТО 710 + { 711 + "id": "", ~/~/ ID задания 712 + "enabled": false, ~/~/ Признак включения 713 + "name": "", ~/~/ Имя задания 714 + "description": "", ~/~/ Описание задания 715 + "mileageCondition": "", ~/~/ Условие по пробегу 716 + "lastMileage": "", ~/~/ Пробег (в метрах) на момент последнего ТО 717 + "motohoursCondition": "", ~/~/ Условие по моточасам 718 + "lastMotohours": "", ~/~/ Моточасы 719 + "periodicCondition": "", ~/~/ Условие периодичности по времени 720 + "kind": "", ~/~/ Вид периодичности по времени 721 + "maxQuantity": "", ~/~/ Сколько раз выполнить задание 722 + } 560 560 724 +(% lang="en-US" style="text-align:left" %) 725 +(% lang="ru-RU" style="color:#000000; font-weight:normal" %)} 726 + 727 + 561 561 (% class="box errormessage" %) 562 562 ((( 563 563 (% style="color:#000000; line-height:100%" %)**Удаление объекта — **(% lang="en-US" %)**DELETE /api/v3/vehicles/{vehicleId}** ... ... @@ -569,7 +569,7 @@ 569 569 570 570 (% style="color:#000000" %)URL запроса: (%%)[[https:~~/~~/hosting.glonasssoft.ru/api/v3/vehicles/>>url:https://hosting.glonasssoft.ru/api/v3/vehicles/]](% style="color:#000000" %){vehicleId} 571 571 572 -(% style="color:#000000" %)Параметр запроса: {id} - Guid объекта 739 +(% style="color:#000000" %)Параметр запроса: {__**id**__} - Guid объекта 573 573 574 574 (% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации 575 575 ... ... @@ -595,16 +595,15 @@ 595 595 596 596 (% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации 597 597 598 -(% style="color:#000000" %)Ответ: [765 +(% style="color:#000000" %)Ответ: 599 599 600 -(% class="western" %) 601 -{{{ { 602 - "deviceTypeId" : "", // ID типа устройства 603 - "deviceTypeName" : "" // Название типа устройства 604 - },}}} 767 +(% style="color:#000000" %){ 605 605 769 + "deviceTypeId" : "", ~/~/ ID типа устройства 770 + "deviceTypeName" : "" ~/~/ Название типа устройства 771 + 606 606 (% style="text-align:left" %) 607 -(% style="color:#000000" %) …** **]773 +(% style="color:#000000" %)} 608 608 609 609 610 610 (% class="box" style="text-align: center;" %) ... ... @@ -625,19 +625,16 @@ 625 625 626 626 (% style="color:#000000" %)В заголовках запроса:X-Auth: Токен авторизации 627 627 628 -(% style="color:#000000" %)Ответ: [794 +(% style="color:#000000" %)Ответ: 629 629 630 -(% class="western" style="margin-bottom:19px" %) 631 -{{{ {}}} 796 +(% style="color:#000000" %){ 632 632 633 -(% style="color:#000000" %)«id»: «», //ID типа датчика «name»: «», //Название 798 + "id": "", ~/~/ ID типа датчика 799 + "name": "", ~/~/ Название 800 + "description": "", ~/~/ Описание 634 634 635 -(% class="western" %) 636 -{{{ "description": "" // Описание 637 - },}}} 638 - 639 639 (% style="text-align:left" %) 640 -(% style="color:#000000" %) … ]803 +(% style="color:#000000" %)} 641 641 642 642 643 643 (% class="box" lang="en-US" style="text-align: center;" %)