Last modified by Андрей Калиновский on 2023/04/24 16:42

Show last authors
1 (% class="western" id="H41E43F43844143043D43843541341B41E41D410421421SoftPublicAPI" %)
2 (((
3 **Page content:**
4 )))
5
6 {{toc/}}
7
8
9 = (% style="color:#000000; font-size:16px" %)**Current restrictions**(%%) =
10
11 (% style="color:#000000" %)− (%%)**There must be a pause of 1 second between requests** (exceeding is rejected by the system with a notification that the request rate is exceeded).
12
13 (% style="color:#000000" %)−(%%) To work with all API methods, you need to add to the header__**X-Auth**__(authorization token obtained by the method__**auth/login**__).
14
15 Example: X-Auth: 34f4919a-099b-4b7d-8aa1-f478ec2062de.
16
17 (% style="color:#000000" %)− (%%) When editing, it is necessary to transfer all user parameters in the request body! Those parameters, the values ​​of which will not be transferred, will be erased!
18
19 = (% style="color:#000000; font-size:18.6667px" %)Section: **Authorization**(%%) =
20
21 == (% style="color:#000000; font-size:16px" %)**Authorization**(%%) ==
22
23 (% class="box infomessage" %)
24 (((
25 (% lang="en-US" %)**POST /api/v3/auth/login**
26 )))
27
28 (% style="color:#000000" %)The method allows you to get an authorization token, which must be added to the header to work with all API methods. The username and password are passed in the method parameters.
29
30 (% style="color:#000000" %)Request method: **POST**
31
32 (% style="color:#000000" %)Request URL:  (%%)[[https:~~/~~/hosting.glonasssoft.ru/api/v3/auth/login>>https://hosting.glonasssoft.ru/api/v3/auth/login]]
33
34 (% style="color:#000000" %)In case of successful execution of the method, the field "__**AuthId**__" contains the authorization token "__**X-Auth**__".
35
36 (% style="color:#000000" %)Parameters in the request body (JSON):
37
38 (% style="color:#000000" %){
39 "login": "testuser",
40 "password": "testuser"
41 }
42
43
44 (% style="color:#000000" %)**Answer:**
45
46 (% lang="en-US" %)
47 (% style="color:#000000" %){
48
49 (% lang="en-US" %)
50 (% style="color:#000000" %) "AuthId": "(%%) 93c6jg79-b88b-4a35-a2d0-70dg9jc2898b (% style="color:#000000" %)" , ~/~/ authorization token
51 "User": "testuser" , ~/~/ username
52
53 (% lang="en-US" %)
54 }
55
56 **Note: ** The lifetime of the authorization token is set in the user settings, there is a session duration parameter. With each request, the token is rolled over.
57
58 == (% style="color:#000000; font-size:16px" %)**Authorization check**(%%) ==
59
60 (% class="box infomessage" %)
61 (((
62 (% lang="en-US" %)**GET /api/v3/auth/check**
63 )))
64
65 (% style="color:#000000" %)The method allows you to check the authorization status. The method allows you to check if the authorization token is active or not.
66
67 (% style="color:#000000" %)Request method: **GET**
68
69 (% style="color:#000000" %)Request URL:  (%%)[[https:~~/~~/hosting.glonasssoft.ru/api/v3/auth/check>>url:https://hosting.glonasssoft.ru/api/v3/auth/check]]
70
71 (% style="color:#000000" %)In Request Headers: X-Auth: Authorization Token
72
73 (% lang="en-US" %)
74 (% style="color:#000000" %)**Answer: If the session is active HTTP response is "200". If the session is terminated HTTP response "401".**
75
76 = (% style="color:#000000; font-size:18.6667px" %)Section: **Clients**(%%) =
77
78 == (% style="color:#000000; font-size:16px" %)**Getting information about a client**(%%) ==
79
80 (% class="box infomessage" %)
81 (((
82 **GET api/v3/agents/{id}**
83 )))
84
85 The method allows you to get the parameters of the selected client (% style="color:#000000" %): name, full name, type, status and identifier of the parent client, etc. The method returns information about clients based on the settings of the authorized user specified in the request:
86
87 (% style="color:#000000" %)− information about the client is provided if you have the “View clients” right;
88
89 (% style="color:#000000" %)Request method: **GET**
90
91 (% style="color:#000000" %)Request URL: (%%) https:~/~/hosting.glonasssoft.ru/api/v3/agents/{id}
92
93 The request must contain the " **agentId** " parameter data
94
95 (% style="color:#000000" %)Answer:
96 A
97 {
98 "agentId": "", ~/~/ client ID    (%%)
99 "parentId": "",  (% style="color:#000000" %)~/~/ parent client ID(%%)
100 "parentName": "string", ~/~/  (% style="color:#000000" %)parent client(%%)
101 name "name": "string",  (% style="color:#000000" %)~/~/ name of the client  (%%)
102 "fullName": "string",  (% style="color:#000000" %)~/~/ full name of the client(%%)
103 "agentInfoType": 0,  (% style="color:#000000" %)~/~/ client type (0 - Client, 1 - Partner, 2 - Group, 3 - Administrative group, 4 - Test client, 5 - Agreement)(%%)
104 "isForeign": true/false, ~/~/ Foreign counterparty
105 "district": "string", ~/~/ district
106 "region": "string", ~/~/ region
107 "city": "string", ~/~/ city
108 "inn": "string", ~/~/ client's TIN
109 "kpp": "string", ~/~/ client KPP
110 "address": "string", ~/~/ legal address
111 "addressFact": "string", ~/~/ actual address
112 "email": "string", ~/~/ mail
113 "director" : "string", ~/~/ Head's full name
114 "bankName": "string", ~/~/ Bank
115 "bankBIK": "string", ~/~/ BIC
116 "bankRS": "string", ~/~/ Account number
117 "bankKS": "string" ~/~/ Corr. account
118 }
119
120 == (% style="color:#000000; font-size:16px" %)**Retrieving child client settings**(%%) ==
121
122 (% class="box infomessage" %)
123 (((
124 (% lang="en-US" %)**POST **(%%)** / (% lang="en-US" %)api/v3/agents/find(%%)**
125 )))
126
127 (% style="color:#000000" %)The method allows you to get the parameters of all child clients: name, full name, type, status and identifier of the parent client, etc. The method returns information about clients based on the settings of the authorized user specified in the request:
128
129 (% style="color:#000000" %)− information about clients is provided if you have the “View clients” right;
130
131 (% style="color:#000000" %)− returns information about the client to which the authorized user belongs and its child clients;
132
133 (% style="color:#000000" %)− information about a "Partner" type client and its sub-clients is returned if the "__**Access to partner clients**__".
134
135 (% style="color:#000000" %)Request method: **POST**
136
137 (% style="color:#000000" %)Request URL: (%%) https:~/~/hosting.glonasssoft.ru/api/v3/agents/find
138
139 (% style="color:#000000" %)Request parameter:
140
141 (% style="color:#000000" %){
142 "parentId": "string"
143 }
144
145 (% style="color:#000000" %)Answer:
146
147 {
148 "agentId": "",  (% style="color:#000000" %)~/~/ client ID    (%%)
149 "parentId": "",  (% style="color:#000000" %)~/~/ parent client ID(%%)
150 "parentName": "string", ~/~/  (% style="color:#000000" %)parent client(%%)
151 name "name": "string",  (% style="color:#000000" %)~/~/ name client  (%%)
152 "fullName": "string",  (% style="color:#000000" %)~/~/ full name of the client(%%)
153 "agentInfoType": 0,  (% style="color:#000000" %)~/~/ client type (0 - Client, 1 - Partner, 2 - Group, 3 - Administrative group, 4 - Test client, 5 - Contract )
154 "status": "",~/~/ client status (0- New, 1 - Potential, 2 - In development, 3 - Testing, 4 - In progress, 5 - Implementation, 6 - Working, 7 - Working, 8 - Lost ,9 - Refusal)
155 }
156
157 == (% style="color:#000000; font-size:16px" %)**Adding a client**(%%) ==
158
159 (% class="box successmessage" %)
160 (((
161 **POST /api/v3/agents **
162 )))
163
164 The method allows you to add the client specified in the request.
165
166 Request method: **POST**
167
168 Request URL: [[https:~~/~~/hosting.glonasssoft.ru/api/v3/agents>>https://hosting.glonasssoft.ru/api/v3/agents]]
169
170 In Request Headers: X-Auth: Authorization Token
171
172 Parameters in the request body (JSON):
173
174 {
175 "parentId": "00000000-0000-0000-0000-000000000000", ~/~/ parent client ID 
176 "name": "string", ~/~/ name
177 "fullName": "string", ~/~/ full name
178 "agentInfoType": 0,  (% style="color:#000000" %)~/~/ client type (0- Client, 1 - Partner, 2 - Group, 3 - Administrative group, 4 - Test client, 5 - Contract) "isForeign(%%)
179 ": true, ~/~/ foreign counterparty
180 "district": "string" , ~/~/ county
181 "region": "string", ~/~/ region
182 "city": "string", ~/~/ city
183 "inn": "string", ~/~/ TIN
184 "kpp": "string", ~/~/ checkpoint
185 "address ": "string",~/~/ legal address
186 "addressFact": "string", ~/~/ actual address
187 "email": "string", ~/~/ email
188 "director": "string", ~/~/ full name of the head
189 "bankName": "string", ~/~/ bank
190 "bankBIK": "string", ~/~/ BIC
191 "bankRS": "string", ~/~/ account number
192 "bankKS": "string" ~/~/ corr. account
193 }
194
195
196 Answer:
197
198 {
199 "agentId": "00000000-0000-0000-0000-000000000000", ~/~/ client ID
200 "parentId": "00000000-0000-0000-0000-000000000000", ~/~/ parent client ID 
201 "name": "string" , ~/~/ name
202 "fullName": "string", ~/~/ full name
203 "agentInfoType": 0,  (% style="color:#000000" %)~/~/ client type (0 - Client, 1 - Partner, 2 - Group, 3 - Administrative group, 4 - Test client, 5 - Agreement)(%%)
204 "isForeign": true, ~/~/ foreign counterparty
205 "district": "string", ~/~/ county
206 "region": "string", ~/~/ region
207 "city": "string", ~/~/ city
208 "inn": "string",~/~/ TIN
209 "kpp": "string", ~/~/ KPP
210 "address": "string", ~/~/ legal address
211 "addressFact": "string", ~/~/ actual address
212 "email": "string", ~/~/ email
213 "director": "string", ~/~/ full name of the head
214 "bankName": "string", ~/~/ bank
215 "bankBIK": "string", ~/~/ BIC
216 "bankRS": " string", ~/~/ account number
217 "bankKS": "string" ~/~/ corr. account
218 }
219
220 == (% style="color:#000000; font-size:16px" %)**Editing a Client**(%%) ==
221
222 (% class="box warningmessage" %)
223 (((
224 **PUT /api/v3/agents**
225 )))
226
227 The method allows editing the client specified in the request.
228
229 Request method: **PUT**
230
231 Request URL: [[https:~~/~~/hosting.glonasssoft.ru/api/v3/agents>>https://hosting.glonasssoft.ru/api/v3/agents]]
232
233 In Request Headers: X-Auth: Authorization Token
234
235
236 Parameters in the request body (JSON):
237
238 {
239 "agentId": "00000000-0000-0000-0000-000000000000", ~/~/ client ID
240 "parentId": "00000000-0000-0000-0000-000000000000", ~/~/ parent client ID 
241 "name": "string" , ~/~/ name
242 "fullName": "string", ~/~/ full name
243 "agentInfoType": 0,  (% style="color:#000000" %)~/~/ client type (0 - Client, 1 - Partner, 2 - Group, 3 - Administrative group, 4 - Test client, 5 - Agreement)(%%)
244 "isForeign": true, ~/~/ foreign counterparty
245 "district": "string", ~/~/ county
246 "region": "string", ~/~/ region
247 "city": "string", ~/~/ city
248 "inn": "string",~/~/ TIN
249 "kpp": "string", ~/~/ KPP
250 "address": "string", ~/~/ legal address
251 "addressFact": "string", ~/~/ actual address
252 "email": "string", ~/~/ email
253 "director": "string", ~/~/ full name of the head
254 "bankName": "string", ~/~/ bank
255 "bankBIK": "string", ~/~/ BIC
256 "bankRS": " string", ~/~/ account number
257 "bankKS": "string" ~/~/ corr. account
258 }
259
260
261 Answer:
262
263 {
264 "agentId": "00000000-0000-0000-0000-000000000000", ~/~/ client ID
265 "parentId": "00000000-0000-0000-0000-000000000000", ~/~/ parent client ID 
266 "name": "string" , ~/~/ name
267 "fullName": "string", ~/~/ full name
268 "isForeign": true, ~/~/ foreign counterparty
269 "district": "string", ~/~/ district
270 "region": "string", ~/~/ region
271 "city ": "string", ~/~/ city
272 "inn": "string", ~/~/ TIN
273 "kpp": "string", ~/~/ checkpoint
274 "address": "string", ~/~/ legal address
275 "addressFact": "string", ~/~/ actual address
276 "email": "string", ~/~/ email
277 "director": "string", ~/~/ full name of the head
278 "bankName": "string", ~/~/ bank
279 "bankBIK": "string", ~/~/ BIC
280 "bankRS": "string", ~/~/ account number
281 "bankKS": "string" ~/~/ corr. account
282 }
283
284 == (% style="color:#000000; font-size:16px" %)**Deleting a client**(%%) ==
285
286 (% class="box errormessage" %)
287 (((
288 **DELETE /api/v3/agents/{clientId}**
289 )))
290
291 The method allows you to remove the client specified in the query string.
292
293 Request method: **DELETE**
294
295 Request URL: [[https:~~/~~/hosting.glonasssoft.ru/api/v3/agents/{clientId >>https://hosting.glonasssoft.ru/api/v3/agents/]]**}**
296
297 Request parameter: **{clientId}** - User Guid
298
299 In Request Headers: X-Auth: Authorization Token
300
301 Answer: If the request is successful, an HTTP response "200" will be returned.
302
303 = (% style="color:#000000; font-size:18.6667px" %)Section: **Users**(%%) =
304
305 == (% style="color:#000000; font-size:16px" %)**Adding a user**(%%) ==
306
307 (% class="box successmessage" %)
308 (((
309 (% lang="en-US" %)**POST /api/v3/users**
310 )))
311
312 (% style="color:#000000" %)The method allows you to add a user. The method allows you to add the user specified in the request.
313
314 (% style="color:#000000" %)Request method: **POST**
315
316 (% style="color:#000000" %)Request URL:  (%%)[[https:~~/~~/hosting.glonasssoft.ru/api/v3/users>>url:https://hosting.glonasssoft.ru/api/v3/users]]
317
318 (% style="color:#000000" %)In Request Headers: X-Auth: Authorization Token
319
320 (% style="color:#000000" %)Parameters in the request body (JSON):
321
322 (% style="color:#000000" %)
323
324 "lastName": "", ~/~/ last name
325 "firstName": "", ~/~/ first name
326 "position": "", ~/~/ position
327 "phone": "", ~/~/ phone
328 "organization": "", ~/~/ organization
329 "login": "", ~/~/ login (required)
330 "password": "", ~/~/ password (required)
331 "email": "", ~/~/ email (required)
332 "description": "string", ~/~/ Description
333 "isReadOnly": true, ~/~/ Read-only right, true - enabled, false - disabled
334 "isDisabledMobile": true, ~/~/ Prohibit using the mobile application, true - enabled,false - disabled
335 "isEnabled": true, ~/~/ Enabled, true - enabled, false - disabled
336 "parentId": "", ~/~/ Parent agent Guid
337 "leaderId": "", ~/~/ Leader Guid (null - not set)
338 "sessionDuration": 0, ~/~/ session duration, in minutes (null - default, 30 minutes)
339 "doubleAuth":
340 {
341 "kind": 0, ~/~/ 2-Step Verification status, email - enabled, None - disabled
342 "target": "string" ~/~/ 2-Step Verification email address
343 },
344 "groups":
345 [
346 "string" ~/~/ user groups, listing system role names
347 ],
348 "customGroups ":
349 [
350 "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ user groups,listing the name of client roles
351 ],
352 "language": 0 ~/~/ User interface language 1 - Russian, 2 - English, 3 - Azerbaijani
353 }
354
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
367 (% style="text-align:left" %)
368 (% style="color:#000000; font-weight:normal" %)Answer:
369
370 (% style="text-align:left" %)
371 (% style="color:#000000; font-weight:normal" %){    
372
373 (% style="text-align:left" %)
374 (% style="color:#000000; font-weight:normal" %) "id": "" , ~/~/ User ID
375 "lastName": "" , ~/~/ Last name ,
376 "firstName": "" , ~/~/ First name
377 "position": "" , ~/~/ Position
378 "phone": "" , / / Phone
379 "organization": "" , ~/~/ Organization
380 "login": "" , ~/~/ Login
381 "password": "" , ~/~/ Password
382 "email": "" , ~/~/ Email
383 "description": "" , / / Description
384 "isEnabled": "" , ~/~/ Enable flag
385 "parentId": "" , ~/~/ Parent agent Guid
386 "sessionDuration": "" , ~/~/ Session duration, in minutes
387 "doubleAuth": "" , ~/~/ two-factor authentication parameters
388 "kind": "" , ~/~/ authentication type
389 "target": "" , ~/~/ in case of email authentication - email address
390 "groups":  (% style="color:#000000" %)["", ""]  (% style="color:#000000; font-weight:normal" %), ~/~/ user roles, names of user groups are listed
391
392 (% style="text-align:left" %)
393 (% style="color:#000000; font-weight:normal" %)}
394
395 == (% style="color:#000000; font-size:16px" %)**Getting a list of users**(%%) ==
396
397 (% class="box infomessage" %)
398 (((
399 (% lang="en-US" %)**POST /api/v3/users/find**
400 )))
401
402 (% style="color:#000000" %)The method allows you to get the main user parameters: login, name, email address, phone number, status, parent client ID, and so on.
403
404 (% style="color:#000000" %)The method returns information about the users of the authorized user's parent client and the users of its child clients. Information about users is provided subject to the right **"__View Users__»** .
405
406 (% style="color:#000000" %)Request method: **POST**
407
408 (% style="color:#000000" %)Request URL:  (%%)[[https:~~/~~/hosting.glonasssoft.ru/api/v3/users/find>>url:https://hosting.glonasssoft.ru/api/v3/users/find]]
409
410 (% style="color:#000000" %)Object filtering conditions are specified in the request body.
411
412 (% style="color:#000000" %)Parameters in the request body (JSON):
413
414 (% style="color:#000000" %){
415
416 "parentId": "375a1f06-c384-43f8-8562-1c3d79a32303", ~/~/ GUID of the agent to get data for, null - for the current agent
417 "userId": "11111111-c384-43f8-8562-1c3d79a32303", ~/~/ ID of user filtered by, null - doesn't matter
418 "login": "qqqqqq", ~/~/ Login of user filtered by, null - doesn't matter
419 "email": "eee", ~/~/ Email of user filtered by, null - doesn't matter
420
421 (% style="color:#000000" %)}
422
423 (% style="color:#000000" %)Answer:
424
425 (% style="color:#000000" %){         (%%)
426
427 "id": "" , ~/~/ user ID
428 "lastName": "" , ~/~/ last name
429 "firstName": "" , ~/~/ first name
430 "position": "" , ~/~/ position
431 "phone": "" , ~/~/ phone number
432 "parentId": "" , ~/~/ parent client ID
433 "parentName": "" , ~/~/ parent client name
434 "organization": "" , ~/~/ organization
435 "login": "" , ~/~/ login
436 "email" : "" , ~/~/ Email
437 "sessionDuration":"",~/~/ session duration in minutes
438 "status": "1", ~/~/ user status
439 "astLogged": "", ~/~/ date/time of last authorization
440
441 (% style="color:#000000" %)}
442
443 == (% style="color:#000000; font-size:16px" %)**Getting information about a user**(%%) ==
444
445 (% class="box infomessage" %)
446 (((
447 (% lang="en-US" %)**GET /api/v3/users/{GUID}**
448 )))
449
450 (% style="color:#000000" %)The method returns detailed information about the user of the parent client of the authorized user or the user of its child clients. User information is provided subject to the right **"__View Users__»** .
451
452 (% style="color:#000000" %)Request method: **GET**
453
454 (% style="color:#000000" %)Request URL:  (%%)[[https:~~/~~/hosting.glonasssoft.ru/api/v3/users/{GUID (% lang="en-US" %)}>>https://hosting.glonasssoft.ru/api/v3/users/{GUID}]]
455
456 (% style="color:#000000" %)In Request Headers: X-Auth: Authorization Token
457
458 (% style="color:#000000" %)Answer:
459
460 (((
461 (((
462 {
463 "id": "", ~/~/ User GUID
464 "lastName": "", ~/~/ Last name 
465 "firstName": "", ~/~/ First name
466 "position": "", ~/~/ Position
467 "phone": "", / / Phone number
468 "parentId": "", ~/~/ GUID of the client that owns the user
469 "parentName": "", Name of the client that owns the user
470 "organization": "", ~/~/ Organization
471 "login": "", ~/~/ User login
472 "email": "", ~/~/ Email address
473 "language": , ~/~/ User interface language 1 - Russian, 2 - English,3 - Azerbaijani
474 "isReadOnly": , ~/~/ Read-only permission, true - enabled, false - disabled
475 "description": "", ~/~/ Description
476 "isEnabled": , ~/~/ Enabled, true - enabled, false - disabled
477 "doubleAuth":
478 {
479 "kind": "None", ~/~/ Two-step verification status, email - enabled, None - disabled
480 "target": "string" / / 2-Step Verification email address
481 },
482 "isDisabledMobile": false, ~/~/ Disable the use of the mobile app, true - enabled, false - disabled
483 "sessionDuration": 30, ~/~/ Session duration in minutes
484 "status": 0, ~/~/ User status , 0 - new, 1 - confirmed, 2 - active, 3 - update, 4 - blocked
485 "lastLogged": "2022-08-22T06:57:51.002129Z",~/~/ Date and time of the last login of the user
486 "groups": [], ~/~/ List of user roles
487 "customGroups": [], ~/~/ List of user client roles
488 "authDevices": [ ], ~/~/ List of authorized devices
489 "mobileDoubleAuthDevices": [], ~/~/ List of authorized mobile devices
490 "pushNotificationsDevices": [] ~/~/ List of mobile devices that subscribed to mobile notifications
491 }
492 )))
493 )))
494
495 == (% style="color:#000000; font-size:16px" %)**User editing**(%%) ==
496
497 (% class="box warningmessage" %)
498 (((
499 (% lang="en-US" %)**PUT /api/v3/users**
500 )))
501
502 (% style="color:#000000" %)The method allows you to edit the user. The method allows editing the user specified in the request.
503
504 (% style="color:#000000" %)Request method: **PUT**
505
506 (% style="color:#000000" %)Request URL:  (%%)[[https:~~/~~/hosting.glonasssoft.ru/api/v3/users>>url:https://hosting.glonasssoft.ru/api/v3/users]]
507
508 (% style="color:#000000" %)In Request Headers: X-Auth: Authorization Token
509
510 (% lang="en-US" style="text-align:left" %)
511 (% lang="ru-RU" style="color:#000000; font-weight:normal" %)Parameters in the request body (JSON):
512
513 (% lang="en-US" style="text-align:left" %)
514 (% lang="ru-RU" style="color:#000000; font-weight:normal" %){  
515
516 (% lang="en-US" style="text-align:left" %)
517 (% lang="ru-RU" style="color:#000000; font-weight:normal" %) "id": "" , ~/~/ user ID 
518 "lastName": "" , ~/~/ last name
519 "firstName": "" , ~/~/ first name
520 "position": "" , ~/~/ position
521 "phone": "" , ~/~/ phone number
522 "organization": "" , ~/~/ organization
523 "login": "" , ~/~/ login    (% style="color:#000000" %)(If null - do not change) (%%)
524 (% lang="ru-RU" style="color:#000000; font-weight:normal" %) "password": "" , ~/~/ password (If null - do not change)
525 "language" : , ~/~/ User interface language 1 - Russian, 2 - English, 3 - Azerbaijani
526 "isReadOnly": , ~/~/ Read-only permission, true - enabled, false - disabled
527 "email": ""   , ~/~/ email (% style="color:#000000" %)(If null - do not change) (%%)
528 (% lang="ru-RU" style="color:#000000; font-weight:normal" %) "description": "" , ~/~/ description
529 "isEnabled": "" , ~/~/ enable flag
530 "parentId": "" , ~/~/ Parent agent Guid
531 "leaderId": "" , ~/~/ Leader Guid (null - not set)
532 "sessionDuration": "" , ~/~/ session duration, in minutes (null - default, 30 minutes)
533 "doubleAuth":
534 {
535 "kind": "None", ~/~/ 2-Step Verification status, email - enabled, None - disabled
536 "target": "string" ~/~/ 2-Step Verification email address
537 },
538 "isDisabledMobile": false, ~/~/ Prohibit the use of the mobile application, true - enabled, false - disabled
539 "groups": "" , ~/~/ user groups,"user" user group name
540
541 (% lang="en-US" style="text-align:left" %)
542 (% lang="ru-RU" style="color:#000000; font-weight:normal" %)__}__
543
544 (% lang="en-US" style="text-align:left" %)
545 (% lang="ru-RU" style="color:#000000; font-weight:normal" %)//Answer~://
546
547 (% lang="en-US" style="text-align:left" %)
548 (% lang="ru-RU" style="color:#000000; font-weight:normal" %){    
549
550 (% lang="en-US" style="text-align:left" %)
551 (% lang="ru-RU" style="color:#000000; font-weight:normal" %) "id": "" , ~/~/ user ID
552 "lastName": "" , ~/~/ last name
553 "firstName": "" , ~/~/ first name
554 "position": "" , ~/~/ position
555 "phone": "" , ~/~/ phone number
556 "organization": "" , ~/~/ organization
557 "login": "" , ~/~/ login
558 "password": "" , ~/~/ password 
559 "email": "" , ~/~/ email
560 "description": "" , ~/~/ description
561 "isEnabled": "" , ~/~/ enable sign
562 "parentId": "" , ~/~/ Parent agent Guid
563 "sessionDuration": "" , ~/~/ session duration, in minutes 
564 "doubleAuth":
565 {
566 "kind": "None", ~/~/ 2-Step Verification status, email - enabled, None - disabled
567 "target": "string" ~/~/ 2-Step Verification email address
568 },
569 "isDisabledMobile": false, ~/~/ Disable mobile application, true - enabled, false - disabled
570 "target": "" , ~/~/ in case of email authentication - email address
571 "groups": "" , ~/~/ user groups, "user" user group name
572
573 (% lang="en-US" style="text-align:left" %)
574 (% lang="ru-RU" style="color:#000000; font-weight:normal" %)}
575
576 == (% style="color:#000000; font-size:16px" %)**Changing user status**(%%) ==
577
578 (% class="box warningmessage" %)
579 (((
580 (% style="color:#000000" %)// //(% lang="en-US" %)**PUT /api/v3/users/status/{id}**
581 )))
582
583 (% style="color:#000000" %)The method allows you to change the status of the user specified in the request.
584
585 (% style="color:#000000" %)Request method: **PUT**
586
587 (% style="color:#000000" %)Request URL:  (%%)[[https:~~/~~/hosting.glonasssoft.ru/api/v3/users/status/ >>url:https://hosting.glonasssoft.ru/api/v3/users/status/]](% style="color:#000000" %){id}
588
589 (% style="color:#000000" %)Request parameter: {__**id**__} - User's GUID
590
591 (% style="color:#000000" %)In Request Headers: X-Auth: Authorization Token
592
593 (% style="color:#000000" %)Parameters in the request body (JSON):
594
595 (% style="color:#000000" %){
596
597 "status": "" , ~/~/ user status (0 - new, 1 - confirmed, 2 - active, 3 - check, 4 - blocked) "description": "" , ~/~/ description "
598 data
599 ": "" , / / data related to status change
600
601 (% style="color:#000000" %)}
602
603 (% style="text-align:left" %)
604 (% style="color:#000000" %)**Response: If the request is successful, an HTTP response "200" will be returned.**
605
606 == (% style="color:#000000; font-size:16px" %)**Blocking users**(%%) ==
607
608 (% class="box warningmessage" %)
609 (((
610 **POST /api/v3/users/disable**
611 )))
612
613 The method allows you to perform mass blocking of users (% style="color:#000000" %).
614
615 (% style="color:#000000" %)Request method:  (% style="color:#000000; line-height:100%" %)**POST**
616
617 (% style="color:#000000" %)Request URL:  (%%)[[https:~~/~~/hosting.glonasssoft.ru/api/v3/users/disable>>https://hosting.glonasssoft.ru/api/v3/users/disable]]
618
619 (% style="color:#000000" %)In the body of the request, list the array of user ids (JSON):
620
621
622 "8ed730d3-c61c-4c3a-ae4f-f41d9e710abc",
623 "415f9ea3-8bc0-4e87-8d78-0852b0c0a4f1"
624 ]
625
626 (% style="color:#000000" %)**Response: If the request is successful, an HTTP response "200" will be returned.**
627
628 == (% style="color:#000000; font-size:16px" %)**Unblocking users**(%%) ==
629
630 (% class="box warningmessage" %)
631 (((
632 **POST /api/v3/users/enable**
633 )))
634
635 The method allows you to perform mass unblocking of users (% style="color:#000000" %).
636
637 (% style="color:#000000" %)Request method:  (% style="color:#000000; line-height:100%" %)**POST**
638
639 (% style="color:#000000" %)Request URL:  (%%)[[https:~~/~~/hosting.glonasssoft.ru/api/v3/users/enable>>https://hosting.glonasssoft.ru/api/v3/users/enable]]
640
641 (% style="color:#000000" %)In the body of the request, list the array of user ids (JSON):
642
643
644 "8ed730d3-c61c-4c3a-ae4f-f41d9e710abc",
645 "415f9ea3-8bc0-4e87-8d78-0852b0c0a4f1"
646 ]
647
648 (% style="color:#000000" %)**Response: If the request is successful, an HTTP response "200" will be returned.**(%%)
649 \\(% style="color:#000000" %)__For the two methods described above, if it was not possible to enable or disable some users from the passed list, a response is returned - 206 Partial Content__
650
651 (((
652 In response body:
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" - an array of errors that caused the user action to fail.
662 "users" - an array of user ids that could not be enabled or disabled.
663 )))
664
665 == (% style="color:#000000; font-size:16px" %)**Deleting a user**(%%) ==
666
667 (% class="box errormessage" %)
668 (((
669 (% lang="en-US" %)**DELETE /api/v3/users/{id}**
670 )))
671
672 (% style="color:#000000" %)The method allows you to delete a user. The method allows you to delete the user specified in the query string.
673
674 (% style="color:#000000" %)Request method: **DELETE**
675
676 (% style="color:#000000" %)Request URL:  (%%)[[https:~~/~~/hosting.glonasssoft.ru/api/v3/users/{id >>url:https://hosting.glonasssoft.ru/api/v3/users/]](% style="color:#000000" %)}
677
678 (% style="color:#000000" %)Request parameter: {**__id__**} - User's GUID
679
680 (% style="color:#000000" %)In Request Headers: X-Auth: Authorization Token
681
682 (% style="text-align:left" %)
683 (% style="color:#000000" %)**Answer: If the request is successful, an HTTP response "200" will be returned.**
684
685 = (% style="color:#000000; font-size:18.6667px" %)Section: **Vehicles**(%%) =
686
687 == (% style="color:#000000; font-size:16px" %)**Getting information about an object**(%%) ==
688
689 (% class="box infomessage" %)
690 (((
691 (% lang="en-US" %)**GET /api/v3/vehicles/{vehicleId}**
692 )))
693
694 (% style="color:#000000" %)The method allows you to get all the information from the object card: ID, object name, imei, device type, SIM1, SIM2, client ID, client name, model ID, object model name, department ID, drivers, maintenance, current mileage, engine hours, consumption rates , a complete history of statuses with all comments, a list of sensors (type, name, input type, input number, alias, sensor type, calibration type, calibration, the state of the checkboxes "displayed in the tooltip" and "display the last valid value".
695
696 (% style="color:#000000" %)The method returns information about the object, taking into account the settings of the authorized user specified in the request:
697
698 (% style="color:#000000" %)− information is returned about the authorized user's parent client object and the object of its child clients;
699
700 (% style="color:#000000" %)− information about maintenance is provided taking into account the rights to **“__Viewing Maintenance Jobs__»** .
701
702 (% style="color:#000000" %)Request method: **GET**
703
704 (% style="color:#000000" %)Request URL:  (%%)[[https:~~/~~/hosting.glonasssoft.ru/api/v3/vehicles/ >>url:https://hosting.glonasssoft.ru/api/v3/vehicles/]](% style="color:#000000" %)< (% lang="en-US" %)v(%%) ehicleID>
705
706 (% style="color:#000000" %)Request parameter: <__**vehicleid**__> - object identifier (optional)
707
708 (% style="color:#000000" %)In Request Headers: X-Auth: Authorization Token
709
710 (% style="color:#000000" %)Answer:
711
712 (((
713 {
714 "vehicleId": "", ~/~/ object ID
715 "name": "", ~/~/ object name
716 "imei": "", ~/~/ object IMEI
717 "deviceTypeId": , ~/~/ device type ID
718 "deviceTypeName": "" , ~/~/ Device type name
719 "sim1": "", ~/~/ SIM1 number
720 "parentId": "", SIM2 number
721 "parentName": "", Parent client name
722 "modelId": "", object model ID
723 "modelName" : "", Object model name
724 "createdAt": "", Object creation date
725 "mileageCalcMethod": "",Selected mileage calculation method
726 "counters": { ~/~/ Rates
727 "mileageEnabled": "", ~/~/ Counter activity flag "Mileage" (true - enabled, false - disabled)
728 "motohoursEnabled": "", ~/~/ "Motor hours" counter activity flag (true - enabled, false - disabled)
729 "mileage": "", ~/~/ Mileage according to the norms in meters
730 "motohours": "" ~/~/ Moto hours according to the norms, in seconds
731 "mileageTime": "2023-03-14T11:18:52.696Z", ~/~/ odometer edit/update timestamp
732 "motohoursTime": "2023-03-14T11:18:52.696Z" ~/~/ edit timestamp/ updating the hour meter
733 },
734 "inspectionTasks": [ ~/~/ Tasks for tech. maintenance
735 {
736 "id": "", ~/~/ job ID
737 "enabled": "",
738 \\ "description": "", ~/~/ Task description
739 "mileageCondition": "", ~/~/ Mileage condition (in meters, null - the condition does not work)
740 "lastMileage": "", ~/~/ Mileage (in meters) at the moment of the last MOT (null - doesn't matter)
741 "motohoursCondition": "", ~/~/ Motohours condition (in seconds, null - the condition doesn't work)
742 "lastMotohours": "", ~/~/ Motohours (in seconds) at the moment of the last MOT (null - doesn't matter )
743 "periodicCondition": "", ~/~/ Time periodicity condition (null - the condition does not work)
744 "kind": "", ~/~/ Time periodicity type (days - Days, months - Months, years - Years,null - condition does not work)
745 "lastInspectionDate": "" ~/~/ Date of the last MOT (null - not specified)
746 "maxQuantity": "" ~/~/ How many times to execute the task (null - once)
747 }
748 ]
749 }
750 )))
751
752 (% style="text-align:left" %)
753 The "status" parameter contains the id of the object's status in the system, the correspondence to the id and the textual name of the status are given below:
754
755 (% style="text-align:left" %)
756 0 - "Block" 1 - "Active", 2 - "Canceled", 3 - "Equipped", 4 - "Diagnosis", 5 - "Service", 6 - "Dismantling", 7 - "Installation", 8 - " Reorder", 9 - "Serviced", 10 - "Decommissioned", 11 - "Faulty", 12 - "Checked", 13 - "Not operated".
757
758 == (% style="color:#000000; font-size:16px" %)**Adding an object**(%%) ==
759
760 (% class="box successmessage" %)
761 (((
762 (% lang="en-US" %)**POST /api/v3/vehicles**
763 )))
764
765 (% style="color:#000000" %)The method allows you to add the object specified in the request.
766
767 (% style="color:#000000" %)Request method: **POST**
768
769 (% style="color:#000000" %)Request URL:  (%%)[[https:~~/~~/hosting.glonasssoft.ru/api/v3/vehicles>>url:https://hosting.glonasssoft.ru/api/v3/vehicles]]
770
771 (% style="color:#000000" %)In Request Headers: X-Auth: Authorization Token
772
773 (% style="color:#000000" %)Parameters in the request body (JSON): //Required parameters object name and model // In the request body - JSON object
774
775 (% style="color:#000000" %){
776
777 "parentId": "" , ~/~/ client ID
778 "name": "" , ~/~/ vehicle name
779 "imei": "" , ~/~/ IMEI
780 "deviceTypeId": "" , ~/~/ device type ID
781 "modelId": "" , ~/~/ Model ID
782 "unitId": "" , ~/~/ Unit ID
783 "sim1": "" , ~/~/ SIM 1 number
784 "sim2": "" , ~/~/ SIM2 number
785 "consumptionPer100Km": "" , ~/~/ Fuel consumption per 100 km (if filled, then consumptionPerHour cannot be filled)
786 "consumptionPerHour": "" , ~/~/ Fuel consumption per hour (if filled, then consumptionPer100Km cannot be filled)
787 "consumptionIdle": "" , ~/~/ Fuel consumption at idle
788 "consumptionPer100KmSeasonal": 0, ~/~/ Seasonal fuel consumption per 100 km
789 "consumptionPerHourSeasonal": 0, ~/~/ Seasonal fuel consumption per engine hour
790 "consumptionIdleSeasonal": 0, ~/~/ Seasonal fuel consumption at idle 
791 "consumptionPer100KmSeasonalBegin": "" , ~/~/ Starting day/month of the seasonal consumption rate per 100 km
792 "consumptionPer100KmSeasonalEnd" : "" , ~/~/ Day/month of the end of the seasonal consumption rate per 100 km
793 "consumptionPerHourSeasonalBegin": "" , ~/~/ Day/month of the beginning of the seasonal consumption rate per engine hour
794 "consumptionPerHourSeasonalEnd": "" , ~/~/ Day/month of the end of work seasonal consumption rate per hour
795 "consumptionIdleSeasonalBegin": "" ,~/~/ Day/month of the beginning of the seasonal consumption rate for x/x
796 " consumptionIdleSeasonalEnd " : "" , ~/~/
797 Day /month of the end of the seasonal consumption rate for x/x "mileage" "motohours": "" , ~/~/ motohours "motohoursEnabled": true ~/~/ "motohours" counter activity flag }, "cmsv6Parameters": { ~/~/ CMSv6 parameters "enabled": true, ~/~/ enable flag "id" : "" , ~/~/ id "host": "" , ~/~/ IP address or domain name from CMSV6 website URL "login": "" , ~/~/ account name "password": "" ~/~/ account password },
798 \\\\\\\\\\\\\\\\\\\\\\\\\\ "inspectionTasks": ~/~/ maintenance tasks
799 {
800 "enabled": "" , ~/~/ Enable flag
801 "name": "" , ~/~/ Task name
802 "description": "" , ~/~/ Task description
803 "mileageCondition": "" , ~/~/ Mileage condition (in meters, null - the condition does not work)
804 "lastMileage": "" , ~/~/ Mileage (in meters) at the time of the last maintenance (null - doesn't matter)
805 "motohoursCondition": "" , ~/~/ Condition for engine hours (in seconds, null - condition does not work)
806 "lastMotohours": "" , ~/~/ Motor hours (in seconds) at the moment of the last maintenance (null - doesn't matter)
807 "periodicCondition": "" ,~/~/ Periodicity condition in time (null - the condition does not work)
808 "kind": "" , ~/~/ Periodicity type by time (days - Days, months - Months, years - Years, null - the condition does not work) "
809 lastInspectionDate": "" , ~/~/ Date of the last maintenance (null - not specified)
810 "maxQuantity": "" ~/~/ How many times to execute the task (null - once)
811 }
812
813 (% style="color:#000000" %) }
814
815 (% style="color:#000000" %)Answer:
816
817 (% style="color:#000000" %){
818
819 "vehicleId": "", ~/~/Vehicle ID 
820 "parentId": "", ~/~/Guid of the vehicle owner
821 "name": "", ~/~/Object name
822 "imei": "", ~/~/IMEI
823 "deviceTypeId": "" , ~/~/Device type ID
824 "modelId": "", ~/~/Model ID
825 "unitId": "", ~/~/Unit ID
826 "sim1": "", ~/~/SIM1
827 "sim2": "", ~/~/SIM2
828 "consumptionPer100Km ": "", ~/~/Fuel consumption per 100 km
829 "consumptionIdle": "", ~/~/Fuel consumption at idle
830 "counters": { ~/~/Counters
831 "mileageEnabled": true,
832 "motohoursEnabled": true,
833 "mileage": "",
834 "motohours": 345.0
835 },
836 "cmsv6Parameters": { ~/~/CmsV6 parameters
837 "id": null,
838 "enabled": true, ~/~/enable flag
839 "host": "", ~/~/ IP address or domain name from CMSV6 website URL
840 "login": "", ~/~/ account name
841 "password": "" / / account password
842 },
843 "inspectionTasks": { ~/~/ Maintenance tasks
844 "id": "", ~/~/ Task ID
845 "enabled": false, ~/~/ Enable flag
846 "name": "", ~/~/ Task name
847 "description ": "", ~/~/ Task description
848 "mileageCondition": "", ~/~/ Mileage condition
849 "lastMileage": "", ~/~/ Mileage (in meters)
850 "motohoursCondition": "",~/~/ Motohours condition
851 "lastMotohours": "", ~/~/ Motohours
852 "periodicCondition": "", ~/~/ Time periodicity condition
853 "kind": "", ~/~/ Type of periodicity in time 
854 "maxQuantity": "" ~/~/ How many times to execute the task (null - once)
855 }
856
857 (% style="text-align:left" %)
858 (% style="color:#000000" %)}
859
860 **Validation:**
861 - the seasonal parameter can only be set if the corresponding normal rate is set;
862 - seasonal start and end can be set only if the corresponding seasonal rate is set;
863 - when setting the seasonal norm, the corresponding start/end dates are required.
864
865 == (% style="color:#000000; font-size:16px" %)**Getting Object Parameters**(%%) ==
866
867 (% class="box infomessage" %)
868 (((
869 (% lang="en-US" %)**POST /api/v3/vehicles/find**
870 )))
871
872 (% style="color:#000000" %)The method allows you to get the main parameters of objects: name, IMEI, device type, object model, department, phone numbers and identifier of the client to which the object is attached (client-parent).
873
874 (% style="color:#000000" %)The method returns information about objects, taking into account the settings of the authorized user specified in the request:
875
876 (% style="color:#000000" %)- returns information about the objects of the client-parent of the authorized user and the objects of his child clients;
877
878 (% style="color:#000000" %)− returns information about objects, taking into account the specified object visibility settings;
879
880 (% style="color:#000000" %)− information is provided taking into account the availability of rights to view objects of blocked contracts (objects belonging to a blocked contract are returned if any of the rights **"__Visibility of objects of blocked contracts in the control panel__"** or **"__Visibility of objects of blocked contracts in monitoring__»** ;
881
882 (% style="color:#000000" %)− information about SIM1/SIM2 phones is provided if you have the right **"__View phone numbers of objects__»** ;
883
884 (% style="color:#000000" %)− information about the status of an object is provided if there is a right **"__View object status__»** .
885
886 (% style="color:#000000" %)Request method: **POST**
887
888 (% style="color:#000000" %)Request URL:  (%%)[[https:~~/~~/hosting.glonasssoft.ru/api/v3/vehicles/find>>url:https://hosting.glonasssoft.ru/api/v3/vehicles/find]]
889
890 (% style="color:#000000" %)In request headers:
891
892 (% style="color:#000000" %)− Content-Type:__**application/json**__
893
894 (% style="color:#000000" %)− X-Auth: Authorization Token
895
896 (% style="color:#000000" %)Object filtering conditions are specified in the request body.
897
898 (% style="color:#000000" %)Parameters in the request body (JSON):
899
900 {
901 "vehicleId": null, ~/~/ 84350, Vehicle ID (int, optional)
902 "name": null, ~/~/ Vehicle name (string, optional)
903 "imei": null, ~/~/ "710179307", ~/~/ IMEI (string , optional)
904 "sim": null, ~/~/ "938112", ~/~/ Phone number (string, optional)
905 "deviceTypeId": null, ~/~/ 5, device type ID (short, optional)
906 "parentId": null, ~/~/ Client ID (Guid, optional)
907 "unitId": null, ~/~/ "b33548c3-73c3-40e4-8b78-81470ae744ed", Unit ID (Guid, optional)
908 "customFields": null ~/~/ value of any of the custom fields of the vehicle
909 }
910
911 (% style="color:#000000" %)Filtering is carried out by the exact match of the values ​​of the parameters "__**vehicleId**__","__**deviceTypeId**__","__**parentId**__","__**unitId**__", and partially -"__**name**__","__**imei**__","__**sim**__". Filtering by parameter value «__**sim**__» is carried out if the authorized user has the right **«__View phone numbers of objects__»** .
912
913 (% style="color:#000000" %)Answer:
914
915 (% style="color:#000000" %){
916
917 (% style="color:#000000" %) "vehicleId": "" ~/~/ object identifier
918 "name": "" ~/~/ object name
919 "imei": "" ~/~/ object IMEI
920 "deviceTypeId": "" ~/~/ device type identifier
921 "deviceTypeName": "" ~/~/ name device type
922 "sim1": "" ~/~/ first phone number
923 "sim2": "" ~/~/ second phone number
924 "parentId": "" ~/~/ parent client ID
925 "parentName": "" ~/~/ parent client name
926 "modelId ": "" ~/~/ object model identifier
927 "modelName": "" ~/~/ object model name
928 "unitId": "" ~/~/ unit identifier
929 "unitName": "" ~/~/ unit name
930 "status": "" ~/~/ object status         (%%) (-1 - New, 0 - Locked, 1 - Active, 2 - Canceled, 3 - Equipped, 4 - Diagnostics, 
931 ~/~/ 5 - Service, 6 - Dismantling, 7 - Installation, 8 - Re-order, 9 - Serviced, 10 - Decommissioned, 
932 ~/~/ 11 - Defective, 12 - Checked, 13 - Out of service)
933 (% style="color:#000000" %) "createdAt": "" ~/~/ creation date of  
934 "customFields" objects ": [ 
935 {
936 "id": "", ~/~/ custom field identifier
937 "name": "",~/~/ custom field name
938 "value": "", ~/~/ custom field value
939 "forClient": true, ~/~/ the right to display in the client
940 "forTooltip": false, ~/~/ the right to display in the tooltip
941 "forReport": false ~/~/ the right to display in reports
942 } (%%)
943 (% style="color:#000000" %)}
944
945 (% style="color:#000000" %) Options "__**sim1**__" And "__**sim2**__” are contained in the response if the authorized user has the right **“__View phone numbers of objects__»** . Parameter "__**status**__” is contained in the response if the authorized user has the right **“__View object status__»** .
946
947 == (% style="color:#000000; font-size:16px" %)**Changing the status of an object**(%%) ==
948
949 (% class="box successmessage" %)
950 (((
951 (% lang="en-US" %)**POST /api/v3/vehicles/changeStatus/{vehicleId}**
952 )))
953
954 (% style="color:#000000" %)The method allows you to change the status of an object. The method allows you to change the status of the object specified in the request.
955
956 (% style="color:#000000" %)Request method: **POST**
957
958 (% style="color:#000000" %)Request URL:  (%%)[[https:~~/~~/hosting.glonasssoft.ru/api/v3/vehicles/changeStatus/ >>url:https://hosting.glonasssoft.ru/api/v3/vehicles/changeStatus/]](% style="color:#000000" %){vehicleId}
959
960 (% style="color:#000000" %)Request parameter: {__**vehicleId**__} - Vehicle ID
961
962 (% style="color:#000000" %)In Request Headers: X-Auth: Authorization Token
963
964 (% style="color:#000000" %)Parameters in the request body (JSON):
965
966 (% style="color:#000000" %){
967
968 "status": "", ~/~/ status value (-1 - New, 0 - Blocking, 1 - Active, 2 - Canceled, 3 - Equipped, 4 - Diagnostics, ~/~/ 5 - Service, 6 - Dismantling, 7 - 
969 Mounting , 8 - Reorder, 9 - Serviced, 10 - Decommissioned, 
970 ~/~/ 11 - Faulty, 12 - Checked, 13 - Out of service)
971 "date": "", ~/~/ Status change date (null if change immediately)
972 "description": "", ~/~/ Description
973 "data": "", ~/~/ Data
974 "overwrite": false, ~/~/ Overwrite flag
975 "stage": "", ~/~/ State, can be null
976
977 (% style="color:#000000" %)}
978
979 (% style="color:#000000" %)Answer:
980
981 (% style="color:#000000" %){
982
983 "status": "", ~/~/ status value
984 "date": "", ~/~/ Status change date 
985 "description": "", ~/~/ Description
986 "data": "", ~/~/ Data
987 "overwrite": false, / / Rewrite flag
988 "stage": "", ~/~/ State
989
990 (% style="text-align:left" %)
991 (% style="color:#000000" %) }
992
993 == (% style="color:#000000; font-size:16px" %)**Editing an object**(%%) ==
994
995 (% class="box warningmessage" %)
996 (((
997 (% lang="en-US" %)**PUT /api/v3/vehicles**
998 )))
999
1000 (% style="color:#000000" %)The method allows you to edit the object specified in the request.
1001
1002 (% style="color:#000000" %)Request method: **PUT**
1003
1004 (% style="color:#000000" %)Request URL:  (%%)[[https:~~/~~/hosting.glonasssoft.ru/api/v3/vehicles>>url:https://hosting.glonasssoft.ru/api/v3/vehicles]]
1005
1006 (% style="color:#000000" %)In Request Headers: X-Auth: Authorization Token
1007
1008 (% style="color:#000000" %)Parameters in the request body (JSON):
1009
1010 (% style="color:#000000" %){    
1011
1012 (((
1013 (% style="color:#000000" %) "vehicleId": "", ~/~/ Vehicle ID
1014 "parentId": "", ~/~/ Client ID
1015 "name": "", ~/~/ Vehicle name
1016 "imei": "", ~/~/ IMEI
1017 "deviceTypeId": "", ~/~/ device type ID
1018 "modelId": "", ~/~/ , model ID    
1019 "unitId": "", ~/~/ units
1020 "sim1": "", ~/~/ SIM 1
1021 "sim2": "", ~/~/ SIM2     (%%)
1022 "consumptionPer100Km ": "" , ~/~/ Fuel consumption per 100 km (if filled, then consumptionPerHour cannot be filled)
1023 "consumptionPerHour": "" , ~/~/ Fuel consumption per engine hour (if filled,then consumptionPer100Km cannot be filled)
1024 "consumptionIdle": "" , ~/~/ Fuel consumption at idle
1025 "consumptionPer100KmSeasonal": 0, ~/~/ Seasonal fuel consumption per 100 km 
1026 "consumptionPerHourSeasonal": 0, ~/~/ Seasonal fuel consumption per engine hour
1027 "consumptionIdleSeasonal": 0, ~/~/ Seasonal fuel consumption at idle 
1028 "consumptionPer100KmSeasonalBegin": "" , ~/~/ Day/month of the start of the seasonal consumption rate per 100 km
1029 "consumptionPer100KmSeasonalEnd": "" , ~/~/ Day/month of the end of the seasonal consumption rate per 100 km
1030 "consumptionPerHourSeasonalBegin": "" , ~/~/ Day/month of the start of the seasonal consumption rate per engine hour
1031 "consumptionPerHourSeasonalEnd": "" , ~/~/ End day/month of the seasonal consumption rate per engine hour
1032 "consumptionIdleSeasonalBegin": "" , ~/~/ Start day/month of the seasonal consumption rate on x/x
1033 "consumptionIdleSeasonalEnd": "" , ~/~/ Day/month of the end of the seasonal consumption rate on x/x
1034 (% style="color:#000000" %) "counters": 
1035 {
1036 "mileageEnabled" : true, ~/~/ "mileage" counter active flag
1037 "motohoursEnabled": true, ~/~/ "motohours" counter active flag
1038 "mileage": "", ~/~/ mileage, in meters 
1039 "motohours": "" ~/~/ motor hours, in seconds
1040 }
1041 "cmsv6Parameters": ~/~/ CMSv6 parameters
1042 {       
1043 "id": "", ~/~/ identifier
1044 "enabled": true, ~/~/ enable flag
1045 "host": "", ~/~/ IP address or domain name from CMSV6 website URL
1046 "login": "", ~/~/ account name
1047 "password": "", ~/~/ account password
1048 }
1049 "inspectionTasks": ~/~/ maintenance jobs
1050 {
1051 "id": "", ~/~/ job ID
1052 "enabled": false, ~/~/ Enable flag
1053 "name": "", ~/~/ Job name
1054 "description": "", ~/~/ Job description
1055 " mileageCondition": "", ~/~/ Mileage condition (in meters, null - condition does not work)
1056 "lastMileage": "", ~/~/ Mileage (in meters) at the time of the last maintenance (null - doesn't matter)
1057 "motohoursCondition": "", ~/~/ Condition for motor hours (in seconds, null - the condition does not work)
1058 "lastMotohours": " ", ~/~/ Engine hours (in seconds) at the moment of the last maintenance (null - doesn't matter)
1059 "periodicCondition": "", ~/~/ Time periodicity condition (null - the condition does not work)
1060 "kind": "", ~/~/ Type of periodicity by time
1061 "maxQuantity": "", ~/~/ How many times to execute the task
1062
1063 )))
1064
1065 (% style="color:#000000" %)}
1066
1067 (% style="color:#000000" %)Answer:
1068
1069 (% lang="en-US" style="text-align:left" %)
1070 (% lang="ru-RU" style="color:#000000; font-weight:normal" %){    
1071
1072 (% lang="en-US" style="text-align:left" %)
1073 "vehicleId": "", ~/~/ Vehicle ID
1074 "parentId": "", ~/~/ Client ID
1075 "name": "", ~/~/ Vehicle name
1076 "imei": "", ~/~/ IMEI
1077 "deviceTypeId": "", ~/~/ device type
1078 "modelId": "", ~/~/ model ID
1079 "unitId": "", ~/~/ unit ID
1080 "sim1": "", ~/~/ SIM 1
1081 "sim2": "", ~/~/ SIM2
1082 "consumptionPer100Km" : "", ~/~/ Fuel consumption per 100 km
1083 "consumptionIdle": "", ~/~/ Fuel consumption at idle
1084 "counters":
1085 {
1086 "mileageEnabled": true, ~/~/ "mileage" counter activity flag
1087 "motohoursEnabled": true, ~/~/ "motohours" counter activity flag
1088 "mileage": "", ~/~/ mileage
1089 "motohours": "", ~/~/ engine hours
1090 }
1091 "cmsv6Parameters": ~/~/ CMSv6 parameters
1092 {
1093 "id": ~/~/ identifier
1094 "enabled": true, ~/~/ enable flag
1095 "host" : "", ~/~/ IP address or domain name from CMSV6 website URL
1096 "login": "", ~/~/ account name
1097 "password": "", ~/~/ account password
1098 }
1099 "inspectionTasks": ~/~/ tasks on TO
1100 {
1101 "id": "", ~/~/ Job ID
1102 "enabled": false, ~/~/ Enable flag
1103 "name": "", ~/~/ Job name
1104 "description": "", ~/~/ Job description
1105 "mileageCondition": "", ~/~/ Mileage condition
1106 "lastMileage": "", ~/~/ Mileage (in meters) at the moment last maintenance
1107 "motohoursCondition": "", ~/~/ Motohours condition
1108 "lastMotohours": "", ~/~/ Motohours
1109 "periodicCondition": "", ~/~/ Time periodicity condition
1110 "kind": "", ~/~/ Type of time periodicity
1111 "maxQuantity": "", ~/~/ How many times to run the task
1112 }
1113
1114 (% lang="en-US" style="text-align:left" %)
1115 (% lang="ru-RU" style="color:#000000; font-weight:normal" %)}
1116
1117 **Validation:**
1118 - the seasonal parameter can only be set if the corresponding normal rate is set;
1119 - seasonal start and end can be set only if the corresponding seasonal rate is set;
1120 - when setting the seasonal norm, the corresponding start/end dates are required.
1121
1122 == (% style="color:#000000; font-size:16px" %)**Deleting an object**(%%) ==
1123
1124 (% class="box errormessage" %)
1125 (((
1126 (% lang="en-US" %)**DELETE /api/v3/vehicles/{vehicleId}**
1127 )))
1128
1129 (% style="color:#000000" %)The method allows you to delete the object specified in the query string.
1130
1131 (% style="color:#000000" %)Request method: **DELETE**
1132
1133 (% style="color:#000000" %)Request URL:  (%%)[[https:~~/~~/hosting.glonasssoft.ru/api/v3/vehicles/ >>url:https://hosting.glonasssoft.ru/api/v3/vehicles/]](% style="color:#000000" %){vehicleId}
1134
1135 (% style="color:#000000" %)Request parameter: {__**id**__} - Guid of the object
1136
1137 (% style="color:#000000" %)In Request Headers: X-Auth: Authorization Token
1138
1139 (% style="text-align:left" %)
1140 (% style="color:#000000" %)**Answer: If the request is successful, an HTTP response "200" will be returned.**
1141
1142 = (% style="color:#000000; font-size:18.6667px" %)Section: **Devices**(%%) =
1143
1144 == (% style="color:#000000; font-size:16px" %)**Get a list of device types**(%%) ==
1145
1146 (% class="box infomessage" %)
1147 (((
1148 (% style="color:#000000; line-height:100%" %)** **(% lang="en-US" %)**GET /api/v3/devices/types**
1149 )))
1150
1151 (% style="color:#000000" %)The method allows to get a list of device types. The method returns information about device types based on the settings of the authorized user specified in the request.
1152
1153 (% style="color:#000000" %)Request method: **GET**
1154
1155 (% style="color:#000000" %)Request URL:  (%%)[[https:~~/~~/hosting.glonasssoft.ru/api/v3/users/api/v3/devices/types>>url:https://hosting.glonasssoft.ru/api/v3/users/api/v3/devices/types]]
1156
1157 (% style="color:#000000" %)In Request Headers: X-Auth: Authorization Token
1158
1159 (% style="color:#000000" %)Answer:
1160
1161 (% style="color:#000000" %){
1162
1163 "deviceTypeId" : "", ~/~/ device type ID
1164 "deviceTypeName" : "" ~/~/ device type name
1165
1166 (% style="text-align:left" %)
1167 (% style="color:#000000" %)}
1168
1169 = (% style="color:#000000; font-size:18.6667px" %)Section: **Sensors**(%%) =
1170
1171 == (% style="color:#000000; font-size:16px" %)**Getting a list of sensor types**(%%) ==
1172
1173 (% class="box infomessage" %)
1174 (((
1175 (% style="color:#000000; line-height:100%" %)** **(% lang="en-US" %)**GET /api/v3/sensors/types**
1176 )))
1177
1178 (% style="color:#000000" %)The method allows to get a list of sensor types. The method returns information about sensor types based on the settings of the authorized user specified in the request.
1179
1180 (% style="color:#000000" %)Request method: **GET**
1181
1182 (% style="color:#000000" %)Request URL:  (%%)[[https:~~/~~/hosting.glonasssoft.ru/api/v3/sensors/types>>url:https://hosting.glonasssoft.ru/api/v3/sensors/types]]
1183
1184 (% style="color:#000000" %)In Request Headers: X-Auth: Authorization Token
1185
1186 (% style="color:#000000" %)Answer:
1187
1188 (% style="color:#000000" %){
1189
1190 "id": "", ~/~/ Sensor type ID 
1191 "name": "", ~/~/ Name
1192 "description": "", ~/~/ Description
1193
1194 (% style="text-align:left" %)
1195 (% style="color:#000000" %)}
1196
1197 = (% style="color:#000000; font-size:18.6667px" %)Section: **Messages**(%%) =
1198
1199 == (% style="color:#000000; font-size:16px" %)**Object activity data**(%%) ==
1200
1201 (% class="box infomessage" style="text-align: left;" %)
1202 (((
1203 **POST /api/v3/terminalMessages/count**
1204 )))
1205
1206 (% style="text-align: left;" %)
1207 The method returns the number of messages sent by the terminal to the server for the specified period.
1208
1209 (% style="text-align: left;" %)
1210 **POST** request method
1211
1212 (% style="text-align: left;" %)
1213 (% style="color:#000000" %)Request URL: (%%) https:~/~/hosting.glonasssoft.ru/api/v3/terminalMessages/count
1214
1215 (% style="text-align: left;" %)
1216 (% style="color:#000000" %)In Request Headers: X-Auth: Authorization Token
1217
1218 (% style="text-align: left;" %)
1219 {
1220 "vehicleIds": [
1221 id ~/~/ a list of object identifiers is passed here
1222 ],
1223 "from": "2023-03-12T07:09:02.364Z", ~/~/ from which date to execute the request
1224 "to": "2023-03-14T07 :09:02.364Z" ~/~/ until what date to execute the request
1225 }
1226
1227 (% style="text-align: left;" %)
1228 Answer:
1229
1230 (% style="text-align: left;" %)
1231 [
1232 {
1233 "vehicleId": 0, ~/~/ object identifier
1234 "count": 0 ~/~/ number of messages per period
1235 }
1236 ]
1237
1238 == (% style="color:#000000; font-size:16px" %)**Message List Request**(%%) ==
1239
1240 (% class="box infomessage" %)
1241 (((
1242 **POST /api/v3/terminalMessages**
1243 )))
1244
1245 The method returns a list of object's terminal messages for the selected period.
1246
1247 (% style="text-align: left;" %)
1248 **POST** request method
1249
1250 (% style="text-align: left;" %)
1251 (% style="color:#000000" %)Request URL: (%%) https:~/~/hosting.glonasssoft.ru/api/v3/terminalMessages
1252
1253 (% style="text-align: left;" %)
1254 (% style="color:#000000" %)In Request Headers: X-Auth: Authorization Token
1255
1256 {
1257 "vehicleId": 0, ~/~/ object id
1258 "from": "2023-03-29T09:14:46.107Z", ~/~/ start of request period
1259 "to": "2023-03-29T09:14:46.107Z" / / end of request period
1260 }
1261
1262 Answer:
1263
1264 [
1265 {
1266 "messages": [
1267 {
1268 "deviceTime": "2023-03-29T09:14:46.125Z", ~/~/ Device time
1269 "serverTime": "2023-03-29T09:14:46.125Z", ~/~/ Server time
1270 "speed": 0, ~/~/ Speed, km/h
1271 "altitude": 0, ~/~/ Altitude, m
1272 "latitude": 0, ~/~/ Latitude [-90°;90°]
1273 "longitude": 0, ~/~/ Longitude [-180°;180°]
1274 "satellites": 0, ~/~/ Number of satellites
1275 "voltage": 0, ~/~/ Voltage
1276 "parameters": { ~/~/ list of sensor parameters transmitted by the terminal
1277 "additionalProp1": "string",
1278 "additionalProp2": "string",
1279 "additionalProp3": "string"
1280 },
1281 "photoCount": 0 ~/~/ Number of photos
1282 }
1283 ]
1284 }
1285 ]
1286
1287 = (% style="color:#000000; font-size:18.6667px" %)Section: **Notifications**(%%) =
1288
1289 == (% style="color:#000000; font-size:16px" %)**Request a list of client notifications**(%%) ==
1290
1291 (% class="box infomessage" %)
1292 (((
1293 **POST /api/v3/notifications/find**
1294 )))
1295
1296 The method returns notification information about the passed client and its clients down the hierarchy.
1297
1298 (% style="text-align: left;" %)
1299 **POST** request method
1300
1301 (% style="text-align: left;" %)
1302 (% style="color:#000000" %)Request URL: (%%) https:~/~/hosting.glonasssoft.ru/api/v3/notifications/find
1303
1304 (% style="text-align: left;" %)
1305 (% style="color:#000000" %)In Request Headers: X-Auth: Authorization Token
1306
1307 {
1308 "parentId": "" ~/~/ client id
1309 }
1310
1311 Answer:
1312
1313 [
1314 {
1315 "id": 0, ~/~/ Notification ID
1316 "name": "string", ~/~/ Notification name
1317 "active": true, ~/~/ Status true - active, false - deactivated
1318 "type": 0, ~/~/ Event Template 0 - Entering and leaving the geofence, 2 - Excess speed, 4 - Drain, 5 - Refueling, 6 - Panic button activation, 7 - Loss of connection with the object, 8 - Discrete sensor activation, 9 - Analog sensor value, 10 - Address, 11 - Simple, 12 - Perform TO
1319 "userId": "", ~/~/ User who created notification
1320 "parentId": "", ~/~/ Client ID
1321 "parentName": "string" ~/~/ Client name
1322 }
1323 ]
1324
1325 == (% style="color:#000000; font-size:16px" %)**Request notification settings**(%%) ==
1326
1327 (% class="box infomessage" %)
1328 (((
1329 **GET /api/v3/notifications/{id}**
1330 )))
1331
1332 The method returns data on the rules for generating the selected notification.
1333
1334 (% style="text-align: left;" %)
1335 **GET** request method
1336
1337 (% style="text-align: left;" %)
1338 (% style="color:#000000" %)Request URL: (%%) https:~/~/hosting.glonasssoft.ru/api/v3/notifications/{id}
1339
1340 (% style="text-align: left;" %)
1341 (% style="color:#000000" %)Request parameter: {**__id__**} - (%%) notification id
1342
1343 (% style="text-align: left;" %)
1344 (% style="color:#000000" %)In Request Headers: X-Auth: Authorization Token
1345
1346 (% style="text-align: left;" %)
1347 (% style="color:#000000" %)Answer:
1348
1349 (% style="text-align: left;" %)
1350 (% style="color:#000000" %){
1351 "id": 0, ~/~/ (%%) notification id
1352 (% style="color:#000000" %) "type": 0, (%%) ~/~/ Event template 0 - Entering and leaving the geofence, 2 - Speeding, 4 - Drain, 5 - Refueling, 6 - Panic button activation, 7 - Loss of communication with the object, 8 - Discrete sensor triggering, 9 - Analog sensor value, 10 - Address, 11 - Idle, 12 - Maintenance execution
1353 (% style="color:#000000" %) "userId": "", /(%%) / ​​User who created the notification
1354 (% style="color:#000000" %) "parentId": "", (%%) / / Client ID
1355 (% style="color:#000000" %) "parentName": "string", (%%) ~/~/ Client name
1356 (% style="color:#000000" %) "name": "string", (%%) ~/~/ Notification name
1357 (% style="color:#000000" %) "active": true, (%%) ~/~/ Status true - active, false - deactivated
1358 (% style="color:#000000" %) " (%%)vehicleIds": [ ~/~/ List of object ids to parse
1359 (% style="color:#000000" %) 0
1360 ],
1361 "geoids": [ ~/~/ (%%) List of id geo objects for analysis
1362 (% style="color:#000000" %) 0
1363 ],
1364 "fieldids": [ ~/~/ (%%) List of field ids for analysis
1365 (% style="color:#000000" %) 0
1366 ],
1367 "settings": { ~/~/ List of notification parameters
1368 "additionalProp1": "string",
1369 "additionalProp2": "string",
1370 "additionalProp3": "string"
1371 },
1372 "toEmail": true, ~/~/ (%%) Flag that the "Send email notifications to system users" setting is active
1373 (% style="color:#000000" %) "recipientIds": [ ~/~/ (%%) List of Guid users , who need to send a message to the mail when the rule
1374 (% style="color:#000000" %) ""
1375 ],
1376 "enableSideEmails": true, ~/~/ (%%)Flag that the setting "Sending messages to e-mails to third-party users" is active
1377 (% style="color:#000000" %) "sideEmails": [ ~/~/ (%%) List of e-mail addresses for sending notifications
1378 (% style="color:#000000" %) "string"
1379 ],
1380 "toTelegram": true, ~/~/ (%%) Flag for sending messages to Telegram
1381 (% style="color:#000000" %) "telegrams": [ ~/~/ (%%) List of recipients of notifications in Telegram.
1382 (% style="color:#000000" %) {
1383 "id": 0, ~/~/ (%%) Chat participant ID
1384 (% style="color:#000000" %) "info": "string" ~/~/ (%%) Additional information
1385 (% style="color:#000000" %) }
1386 ],
1387 "toMobile": true, ~/~/ (%%) Activity flag for sending to the mobile application
1388 (% style="color:#000000" %) "toClient": true, (%%)
1389 Specifies whether notifications derived from this rule should be stored in the notification history log.
1390 (% style="color:#000000" %) "kind": 0, ~/~/ (%%) Defines the type of notification
1391 (% style="color:#000000" %) "activationMode": 0, ~/~/ (%%) Type of notification activation 0 - Now, 1 - At a specific date and time
1392 (% style="color:#000000" %) "activationTime": "2023-03-29T09:57:48.932Z", ~/~/ (%%) Rule activation date/time (UTC)
1393 (% style="color:#000000" %) "timezone": 0, ~/~/ (%%) Time zone offset
1394 (% style="color:#000000" %) "validity": 0, ~/~/ (%%) Validity in days (1-90)
1395 (% style="color:#000000" %) "autoProlongation": true ~/~/ (%%) Auto-renewal
1396 (% style="color:#000000" %)}
1397
1398 == (% style="color:#000000; font-size:16px" %)**Editing a notification**(%%) ==
1399
1400 (% class="box warningmessage" %)
1401 (((
1402 **PUT /api/v3/notifications/**
1403 )))
1404
1405 The method allows you to edit the notification.
1406
1407 **PUT** request method
1408
1409 Request URL: https:~/~/hosting.glonasssoft.ru/api/v3/notifications
1410
1411 In Request Headers: X-Auth: Authorization Token
1412
1413 Request body:
1414 {
1415 "id": 0, ~/~/ notification id
1416 "type": 0, ~/~/ Event template 0 - Entering and leaving the geofence, 2 - Speeding, 4 - Drain, 5 - Refueling, 6 - Panic button activation , 7 - Loss of connection with the object, 8 - Discrete sensor triggering, 9 - Analog sensor value, 10 - Address, 11 - Idle, 12 - Perform maintenance "userId": "", ~/~/
1417 User who created the notification
1418 "parentId": " ", ~/~/ Client ID
1419 "parentName": "string", ~/~/ Client name
1420 "name": "string", ~/~/ Notification name
1421 "active": true, ~/~/ Status true - active, false - deactivated
1422 "vehicleIds":[ ~/~/ List of id objects for analysis
1423 0
1424 ],
1425 "geoids": [ ~/~/ List of id geo objects for analysis
1426 0
1427 ],
1428 "fieldids": [ ~/~/ List of field ids to parse
1429 0
1430 ],
1431 "settings": { ~/~/ List of notification parameters
1432 "additionalProp1": "string",
1433 "additionalProp2": "string",
1434 "additionalProp3": "string "
1435 },
1436 "toEmail": true, ~/~/ Flag that the setting "Sending notifications to e-mail to system users" is active
1437 "recipientIds": [ ~/~/ List of Guid users who need to send a message to e-mail when the rule
1438 ""
1439 ],
1440 "enableSideEmails": true, ~/~/ Flag that the setting "Sending messages to e-mails" is active.mail to third-party users"
1441 "sideEmails": [ ~/~/ List of email addresses for sending notifications
1442 "string"
1443 ],
1444 "toTelegram": true, ~/~/ Flag of sending activity to Telegram
1445 "telegrams": [ ~/~/ List of recipients of notifications in Telegram.
1446 {
1447 "id": 0, ~/~/ Chat participant ID
1448 "info": "string" ~/~/ Additional information
1449 }
1450 ],
1451 "toMobile": true, ~/~/ Activity flag for sending to the mobile app
1452 "toClient": true, ~/~/ Activity flag sending in the system interface
1453 "stored": true, ~/~/ Determines whether notifications derived from this rule should be stored in the notification history log.
1454 "kind": 0, ~/~/ Defines the type of notification
1455 "activationMode": 0,
1456 "activationTime": "2023-03-29T09:57:48.932Z", ~/~/ Date and time of rule activation (UTC)
1457 "timezone": 0, ~/~/ Time zone offset
1458 "validity": 0, ~/~/ Validity in days (1-90)
1459 "autoProlongation": true ~/~/ Auto-renewal
1460 }
1461
1462 Answer:
1463
1464 success
1465
1466 == (% style="color:#000000; font-size:16px" %)**Removing a notification**(%%) ==
1467
1468 (% class="box errormessage" %)
1469 (((
1470 **DELETE /api/v3/notifications/{id}**
1471 )))
1472
1473 The method allows you to delete the selected notification.
1474
1475 **DELETE** request method
1476
1477 Request URL: https:~/~/hosting.glonasssoft.ru/api/v3/notifications/{id}
1478
1479 Passed parameter: {id} - notification id
1480
1481 In Request Headers: X-Auth: Authorization Token
1482
1483 Answer:
1484
1485 success
1486
1487 (% class="box" lang="en-US" style="text-align: center;" %)
1488 (((
1489 (% lang="ru-RU" style="color:#000000; font-family:Liberation Serif,serif; font-size:14pt; font-style:normal; font-variant:normal" %)**For questions regarding the operation of PUBLIC API 3.0, please **(% lang="ru-RU" style="color:#000000; font-size:14pt" %)** contact [[(% lang="ru-RU" style="color: rgb(0, 0, 0); font-size: 14pt; color: rgb(0, 0, 0); font-size: 14pt" %)support@glonasssoft.ru>>mailto:support@glonasssoft.ru]](%%)**(%%)** **
1490 )))

Меню

GLONASSSoft wiki - 2023 г