API methods for working with GLONASSSoft
Page content:
- Current restrictions
- Section: Authorization
- Section: Clients
- Section: Users
- Section: Vehicles
- Section: Devices
- Section: Sensors
- Section: Messages
- Section: Notifications
Current restrictions
− 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).
− To work with all API methods, you need to add to the headerX-Auth(authorization token obtained by the methodauth/login).
Example: X-Auth: 34f4919a-099b-4b7d-8aa1-f478ec2062de.
− 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!
Section: Authorization
Authorization
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.
Request method: POST
Request URL: https://hosting.glonasssoft.ru/api/v3/auth/login
In case of successful execution of the method, the field "AuthId" contains the authorization token "X-Auth".
Parameters in the request body (JSON):
{
"login": "testuser",
"password": "testuser"
}
Answer:
{
"AuthId": " 93c6jg79-b88b-4a35-a2d0-70dg9jc2898b " , // authorization token
"User": "testuser" , // username
}
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.
Authorization check
The method allows you to check the authorization status. The method allows you to check if the authorization token is active or not.
Request method: GET
Request URL: https://hosting.glonasssoft.ru/api/v3/auth/check
In Request Headers: X-Auth: Authorization Token
Answer: If the session is active HTTP response is "200". If the session is terminated HTTP response "401".
Section: Clients
Getting information about a client
The method allows you to get the parameters of the selected client : 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:
− information about the client is provided if you have the “View clients” right;
Request method: GET
Request URL: https://hosting.glonasssoft.ru/api/v3/agents/{id}
The request must contain the " agentId " parameter data
Answer:
A
{
"agentId": "", // client ID
"parentId": "", // parent client ID
"parentName": "string", // parent client
name "name": "string", // name of the client
"fullName": "string", // full name of the client
"agentInfoType": 0, // client type (0 - Client, 1 - Partner, 2 - Group, 3 - Administrative group, 4 - Test client, 5 - Agreement)
"isForeign": true/false, // Foreign counterparty
"district": "string", // district
"region": "string", // region
"city": "string", // city
"inn": "string", // client's TIN
"kpp": "string", // client KPP
"address": "string", // legal address
"addressFact": "string", // actual address
"email": "string", // mail
"director" : "string", // Head's full name
"bankName": "string", // Bank
"bankBIK": "string", // BIC
"bankRS": "string", // Account number
"bankKS": "string" // Corr. account
}
Retrieving child client settings
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:
− information about clients is provided if you have the “View clients” right;
− returns information about the client to which the authorized user belongs and its child clients;
− information about a "Partner" type client and its sub-clients is returned if the "Access to partner clients".
Request method: POST
Request URL: https://hosting.glonasssoft.ru/api/v3/agents/find
Request parameter:
{
"parentId": "string"
}
Answer:
{
"agentId": "", // client ID
"parentId": "", // parent client ID
"parentName": "string", // parent client
name "name": "string", // name client
"fullName": "string", // full name of the client
"agentInfoType": 0, // client type (0 - Client, 1 - Partner, 2 - Group, 3 - Administrative group, 4 - Test client, 5 - Contract )
"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)
}
Adding a client
The method allows you to add the client specified in the request.
Request method: POST
Request URL: https://hosting.glonasssoft.ru/api/v3/agents
In Request Headers: X-Auth: Authorization Token
Parameters in the request body (JSON):
{
"parentId": "00000000-0000-0000-0000-000000000000", // parent client ID
"name": "string", // name
"fullName": "string", // full name
"agentInfoType": 0, // client type (0- Client, 1 - Partner, 2 - Group, 3 - Administrative group, 4 - Test client, 5 - Contract) "isForeign
": true, // foreign counterparty
"district": "string" , // county
"region": "string", // region
"city": "string", // city
"inn": "string", // TIN
"kpp": "string", // checkpoint
"address ": "string",// legal address
"addressFact": "string", // actual address
"email": "string", // email
"director": "string", // full name of the head
"bankName": "string", // bank
"bankBIK": "string", // BIC
"bankRS": "string", // account number
"bankKS": "string" // corr. account
}
Answer:
{
"agentId": "00000000-0000-0000-0000-000000000000", // client ID
"parentId": "00000000-0000-0000-0000-000000000000", // parent client ID
"name": "string" , // name
"fullName": "string", // full name
"agentInfoType": 0, // client type (0 - Client, 1 - Partner, 2 - Group, 3 - Administrative group, 4 - Test client, 5 - Agreement)
"isForeign": true, // foreign counterparty
"district": "string", // county
"region": "string", // region
"city": "string", // city
"inn": "string",// TIN
"kpp": "string", // KPP
"address": "string", // legal address
"addressFact": "string", // actual address
"email": "string", // email
"director": "string", // full name of the head
"bankName": "string", // bank
"bankBIK": "string", // BIC
"bankRS": " string", // account number
"bankKS": "string" // corr. account
}
Editing a Client
The method allows editing the client specified in the request.
Request method: PUT
Request URL: https://hosting.glonasssoft.ru/api/v3/agents
In Request Headers: X-Auth: Authorization Token
Parameters in the request body (JSON):
{
"agentId": "00000000-0000-0000-0000-000000000000", // client ID
"parentId": "00000000-0000-0000-0000-000000000000", // parent client ID
"name": "string" , // name
"fullName": "string", // full name
"agentInfoType": 0, // client type (0 - Client, 1 - Partner, 2 - Group, 3 - Administrative group, 4 - Test client, 5 - Agreement)
"isForeign": true, // foreign counterparty
"district": "string", // county
"region": "string", // region
"city": "string", // city
"inn": "string",// TIN
"kpp": "string", // KPP
"address": "string", // legal address
"addressFact": "string", // actual address
"email": "string", // email
"director": "string", // full name of the head
"bankName": "string", // bank
"bankBIK": "string", // BIC
"bankRS": " string", // account number
"bankKS": "string" // corr. account
}
Answer:
{
"agentId": "00000000-0000-0000-0000-000000000000", // client ID
"parentId": "00000000-0000-0000-0000-000000000000", // parent client ID
"name": "string" , // name
"fullName": "string", // full name
"isForeign": true, // foreign counterparty
"district": "string", // district
"region": "string", // region
"city ": "string", // city
"inn": "string", // TIN
"kpp": "string", // checkpoint
"address": "string", // legal address
"addressFact": "string", // actual address
"email": "string", // email
"director": "string", // full name of the head
"bankName": "string", // bank
"bankBIK": "string", // BIC
"bankRS": "string", // account number
"bankKS": "string" // corr. account
}
Deleting a client
The method allows you to remove the client specified in the query string.
Request method: DELETE
Request URL: https://hosting.glonasssoft.ru/api/v3/agents/{clientId }
Request parameter: {clientId} - User Guid
In Request Headers: X-Auth: Authorization Token
Answer: If the request is successful, an HTTP response "200" will be returned.
Section: Users
Adding a user
The method allows you to add a user. The method allows you to add the user specified in the request.
Request method: POST
Request URL: https://hosting.glonasssoft.ru/api/v3/users
In Request Headers: X-Auth: Authorization Token
Parameters in the request body (JSON):
{
"lastName": "", // last name
"firstName": "", // first name
"position": "", // position
"phone": "", // phone
"organization": "", // organization
"login": "", // login (required)
"password": "", // password (required)
"email": "", // email (required)
"description": "string", // Description
"isReadOnly": true, // Read-only right, true - enabled, false - disabled
"isDisabledMobile": true, // Prohibit using the mobile application, true - enabled,false - disabled
"isEnabled": true, // Enabled, true - enabled, false - disabled
"parentId": "", // Parent agent Guid
"leaderId": "", // Leader Guid (null - not set)
"sessionDuration": 0, // session duration, in minutes (null - default, 30 minutes)
"doubleAuth":
{
"kind": 0, // 2-Step Verification status, email - enabled, None - disabled
"target": "string" // 2-Step Verification email address
},
"groups":
[
"string" // user groups, listing system role names
],
"customGroups ":
[
"3fa85f64-5717-4562-b3fc-2c963f66afa6" // user groups,listing the name of client roles
],
"language": 0 // User interface language 1 - Russian, 2 - English, 3 - Azerbaijani
}
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"lastName": "string",
"firstName": "string",
"position": "string",
"phone": "string",
" organization": "string",
"login": "string",
"password": "string",
"email": "string",
Answer:
{
"id": "" , // User ID
"lastName": "" , // Last name ,
"firstName": "" , // First name
"position": "" , // Position
"phone": "" , / / Phone
"organization": "" , // Organization
"login": "" , // Login
"password": "" , // Password
"email": "" , // Email
"description": "" , / / Description
"isEnabled": "" , // Enable flag
"parentId": "" , // Parent agent Guid
"sessionDuration": "" , // Session duration, in minutes
"doubleAuth": "" , // two-factor authentication parameters
"kind": "" , // authentication type
"target": "" , // in case of email authentication - email address
"groups": ["", ""] , // user roles, names of user groups are listed
}
Getting a list of users
The method allows you to get the main user parameters: login, name, email address, phone number, status, parent client ID, and so on.
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» .
Request method: POST
Request URL: https://hosting.glonasssoft.ru/api/v3/users/find
Object filtering conditions are specified in the request body.
Parameters in the request body (JSON):
{
"parentId": "375a1f06-c384-43f8-8562-1c3d79a32303", // GUID of the agent to get data for, null - for the current agent
"userId": "11111111-c384-43f8-8562-1c3d79a32303", // ID of user filtered by, null - doesn't matter
"login": "qqqqqq", // Login of user filtered by, null - doesn't matter
"email": "eee", // Email of user filtered by, null - doesn't matter
}
Answer:
{
"id": "" , // user ID
"lastName": "" , // last name
"firstName": "" , // first name
"position": "" , // position
"phone": "" , // phone number
"parentId": "" , // parent client ID
"parentName": "" , // parent client name
"organization": "" , // organization
"login": "" , // login
"email" : "" , // Email
"sessionDuration":"",// session duration in minutes
"status": "1", // user status
"astLogged": "", // date/time of last authorization
}
Getting information about a user
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» .
Request method: GET
Request URL: https://hosting.glonasssoft.ru/api/v3/users/{GUID }
In Request Headers: X-Auth: Authorization Token
Answer:
{
"id": "", // User GUID
"lastName": "", // Last name
"firstName": "", // First name
"position": "", // Position
"phone": "", / / Phone number
"parentId": "", // GUID of the client that owns the user
"parentName": "", Name of the client that owns the user
"organization": "", // Organization
"login": "", // User login
"email": "", // Email address
"language": , // User interface language 1 - Russian, 2 - English,3 - Azerbaijani
"isReadOnly": , // Read-only permission, true - enabled, false - disabled
"description": "", // Description
"isEnabled": , // Enabled, true - enabled, false - disabled
"doubleAuth":
{
"kind": "None", // Two-step verification status, email - enabled, None - disabled
"target": "string" / / 2-Step Verification email address
},
"isDisabledMobile": false, // Disable the use of the mobile app, true - enabled, false - disabled
"sessionDuration": 30, // Session duration in minutes
"status": 0, // User status , 0 - new, 1 - confirmed, 2 - active, 3 - update, 4 - blocked
"lastLogged": "2022-08-22T06:57:51.002129Z",// Date and time of the last login of the user
"groups": [], // List of user roles
"customGroups": [], // List of user client roles
"authDevices": [ ], // List of authorized devices
"mobileDoubleAuthDevices": [], // List of authorized mobile devices
"pushNotificationsDevices": [] // List of mobile devices that subscribed to mobile notifications
}
User editing
The method allows you to edit the user. The method allows editing the user specified in the request.
Request method: PUT
Request URL: https://hosting.glonasssoft.ru/api/v3/users
In Request Headers: X-Auth: Authorization Token
Parameters in the request body (JSON):
{
"id": "" , // user ID
"lastName": "" , // last name
"firstName": "" , // first name
"position": "" , // position
"phone": "" , // phone number
"organization": "" , // organization
"login": "" , // login (If null - do not change)
"password": "" , // password (If null - do not change)
"language" : , // User interface language 1 - Russian, 2 - English, 3 - Azerbaijani
"isReadOnly": , // Read-only permission, true - enabled, false - disabled
"email": "" , // email (If null - do not change)
"description": "" , // description
"isEnabled": "" , // enable flag
"parentId": "" , // Parent agent Guid
"leaderId": "" , // Leader Guid (null - not set)
"sessionDuration": "" , // session duration, in minutes (null - default, 30 minutes)
"doubleAuth":
{
"kind": "None", // 2-Step Verification status, email - enabled, None - disabled
"target": "string" // 2-Step Verification email address
},
"isDisabledMobile": false, // Prohibit the use of the mobile application, true - enabled, false - disabled
"groups": "" , // user groups,"user" user group name
}
Answer:
{
"id": "" , // user ID
"lastName": "" , // last name
"firstName": "" , // first name
"position": "" , // position
"phone": "" , // phone number
"organization": "" , // organization
"login": "" , // login
"password": "" , // password
"email": "" , // email
"description": "" , // description
"isEnabled": "" , // enable sign
"parentId": "" , // Parent agent Guid
"sessionDuration": "" , // session duration, in minutes
"doubleAuth":
{
"kind": "None", // 2-Step Verification status, email - enabled, None - disabled
"target": "string" // 2-Step Verification email address
},
"isDisabledMobile": false, // Disable mobile application, true - enabled, false - disabled
"target": "" , // in case of email authentication - email address
"groups": "" , // user groups, "user" user group name
}
Changing user status
The method allows you to change the status of the user specified in the request.
Request method: PUT
Request URL: https://hosting.glonasssoft.ru/api/v3/users/status/ {id}
Request parameter: {id} - User's GUID
In Request Headers: X-Auth: Authorization Token
Parameters in the request body (JSON):
{
"status": "" , // user status (0 - new, 1 - confirmed, 2 - active, 3 - check, 4 - blocked) "description": "" , // description "
data
": "" , / / data related to status change
}
Response: If the request is successful, an HTTP response "200" will be returned.
Blocking users
The method allows you to perform mass blocking of users .
Request method: POST
Request URL: https://hosting.glonasssoft.ru/api/v3/users/disable
In the body of the request, list the array of user ids (JSON):
[
"8ed730d3-c61c-4c3a-ae4f-f41d9e710abc",
"415f9ea3-8bc0-4e87-8d78-0852b0c0a4f1"
]
Response: If the request is successful, an HTTP response "200" will be returned.
Unblocking users
The method allows you to perform mass unblocking of users .
Request method: POST
Request URL: https://hosting.glonasssoft.ru/api/v3/users/enable
In the body of the request, list the array of user ids (JSON):
[
"8ed730d3-c61c-4c3a-ae4f-f41d9e710abc",
"415f9ea3-8bc0-4e87-8d78-0852b0c0a4f1"
]
Response: If the request is successful, an HTTP response "200" will be returned.
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
In response body:
{
"errorMessages": [
"Agent 0f8c2a8b-4b71-48d0-b780-341053089874 cannot access to object Agents d493fd88-60c8-465d-afad-912f5ac9d719."
],
"users": [
"415f9ea3-8bc0-4e87-8d78-0852b0c0a4f1"
]
}
"errorMessages" - an array of errors that caused the user action to fail.
"users" - an array of user ids that could not be enabled or disabled.
Deleting a user
The method allows you to delete a user. The method allows you to delete the user specified in the query string.
Request method: DELETE
Request URL: https://hosting.glonasssoft.ru/api/v3/users/{id }
Request parameter: {id} - User's GUID
In Request Headers: X-Auth: Authorization Token
Answer: If the request is successful, an HTTP response "200" will be returned.
Section: Vehicles
Getting information about an object
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".
The method returns information about the object, taking into account the settings of the authorized user specified in the request:
− information is returned about the authorized user's parent client object and the object of its child clients;
− information about maintenance is provided taking into account the rights to “Viewing Maintenance Jobs» .
Request method: GET
Request URL: https://hosting.glonasssoft.ru/api/v3/vehicles/ < v ehicleID>
Request parameter: <vehicleid> - object identifier (optional)
In Request Headers: X-Auth: Authorization Token
Answer:
{
"vehicleId": "", // object ID
"name": "", // object name
"imei": "", // object IMEI
"deviceTypeId": , // device type ID
"deviceTypeName": "" , // Device type name
"sim1": "", // SIM1 number
"parentId": "", SIM2 number
"parentName": "", Parent client name
"modelId": "", object model ID
"modelName" : "", Object model name
"createdAt": "", Object creation date
"mileageCalcMethod": "",Selected mileage calculation method
"counters": { // Rates
"mileageEnabled": "", // Counter activity flag "Mileage" (true - enabled, false - disabled)
"motohoursEnabled": "", // "Motor hours" counter activity flag (true - enabled, false - disabled)
"mileage": "", // Mileage according to the norms in meters
"motohours": "" // Moto hours according to the norms, in seconds
"mileageTime": "2023-03-14T11:18:52.696Z", // odometer edit/update timestamp
"motohoursTime": "2023-03-14T11:18:52.696Z" // edit timestamp/ updating the hour meter
},
"inspectionTasks": [ // Tasks for tech. maintenance
{
"id": "", // job ID
"enabled": "",
"description": "", // Task description
"mileageCondition": "", // Mileage condition (in meters, null - the condition does not work)
"lastMileage": "", // Mileage (in meters) at the moment of the last MOT (null - doesn't matter)
"motohoursCondition": "", // Motohours condition (in seconds, null - the condition doesn't work)
"lastMotohours": "", // Motohours (in seconds) at the moment of the last MOT (null - doesn't matter )
"periodicCondition": "", // Time periodicity condition (null - the condition does not work)
"kind": "", // Time periodicity type (days - Days, months - Months, years - Years,null - condition does not work)
"lastInspectionDate": "" // Date of the last MOT (null - not specified)
"maxQuantity": "" // How many times to execute the task (null - once)
}
]
}
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:
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".
Adding an object
The method allows you to add the object specified in the request.
Request method: POST
Request URL: https://hosting.glonasssoft.ru/api/v3/vehicles
In Request Headers: X-Auth: Authorization Token
Parameters in the request body (JSON): Required parameters object name and model In the request body - JSON object
{
"parentId": "" , // client ID
"name": "" , // vehicle name
"imei": "" , // IMEI
"deviceTypeId": "" , // device type ID
"modelId": "" , // Model ID
"unitId": "" , // Unit ID
"sim1": "" , // SIM 1 number
"sim2": "" , // SIM2 number
"consumptionPer100Km": "" , // Fuel consumption per 100 km (if filled, then consumptionPerHour cannot be filled)
"consumptionPerHour": "" , // Fuel consumption per hour (if filled, then consumptionPer100Km cannot be filled)
"consumptionIdle": "" , // Fuel consumption at idle
"consumptionPer100KmSeasonal": 0, // Seasonal fuel consumption per 100 km
"consumptionPerHourSeasonal": 0, // Seasonal fuel consumption per engine hour
"consumptionIdleSeasonal": 0, // Seasonal fuel consumption at idle
"consumptionPer100KmSeasonalBegin": "" , // Starting day/month of the seasonal consumption rate per 100 km
"consumptionPer100KmSeasonalEnd" : "" , // Day/month of the end of the seasonal consumption rate per 100 km
"consumptionPerHourSeasonalBegin": "" , // Day/month of the beginning of the seasonal consumption rate per engine hour
"consumptionPerHourSeasonalEnd": "" , // Day/month of the end of work seasonal consumption rate per hour
"consumptionIdleSeasonalBegin": "" ,// Day/month of the beginning of the seasonal consumption rate for x/x
" consumptionIdleSeasonalEnd " : "" , //
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 },
"inspectionTasks": // maintenance tasks
{
"enabled": "" , // Enable flag
"name": "" , // Task name
"description": "" , // Task description
"mileageCondition": "" , // Mileage condition (in meters, null - the condition does not work)
"lastMileage": "" , // Mileage (in meters) at the time of the last maintenance (null - doesn't matter)
"motohoursCondition": "" , // Condition for engine hours (in seconds, null - condition does not work)
"lastMotohours": "" , // Motor hours (in seconds) at the moment of the last maintenance (null - doesn't matter)
"periodicCondition": "" ,// Periodicity condition in time (null - the condition does not work)
"kind": "" , // Periodicity type by time (days - Days, months - Months, years - Years, null - the condition does not work) "
lastInspectionDate": "" , // Date of the last maintenance (null - not specified)
"maxQuantity": "" // How many times to execute the task (null - once)
}
}
Answer:
{
"vehicleId": "", //Vehicle ID
"parentId": "", //Guid of the vehicle owner
"name": "", //Object name
"imei": "", //IMEI
"deviceTypeId": "" , //Device type ID
"modelId": "", //Model ID
"unitId": "", //Unit ID
"sim1": "", //SIM1
"sim2": "", //SIM2
"consumptionPer100Km ": "", //Fuel consumption per 100 km
"consumptionIdle": "", //Fuel consumption at idle
"counters": { //Counters
"mileageEnabled": true,
"motohoursEnabled": true,
"mileage": "",
"motohours": 345.0
},
"cmsv6Parameters": { //CmsV6 parameters
"id": null,
"enabled": true, //enable flag
"host": "", // IP address or domain name from CMSV6 website URL
"login": "", // account name
"password": "" / / account password
},
"inspectionTasks": { // Maintenance tasks
"id": "", // Task ID
"enabled": false, // Enable flag
"name": "", // Task name
"description ": "", // Task description
"mileageCondition": "", // Mileage condition
"lastMileage": "", // Mileage (in meters)
"motohoursCondition": "",// Motohours condition
"lastMotohours": "", // Motohours
"periodicCondition": "", // Time periodicity condition
"kind": "", // Type of periodicity in time
"maxQuantity": "" // How many times to execute the task (null - once)
}
}
Validation:
- the seasonal parameter can only be set if the corresponding normal rate is set;
- seasonal start and end can be set only if the corresponding seasonal rate is set;
- when setting the seasonal norm, the corresponding start/end dates are required.
Getting Object Parameters
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).
The method returns information about objects, taking into account the settings of the authorized user specified in the request:
- returns information about the objects of the client-parent of the authorized user and the objects of his child clients;
− returns information about objects, taking into account the specified object visibility settings;
− 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» ;
− information about SIM1/SIM2 phones is provided if you have the right "View phone numbers of objects» ;
− information about the status of an object is provided if there is a right "View object status» .
Request method: POST
Request URL: https://hosting.glonasssoft.ru/api/v3/vehicles/find
In request headers:
− Content-Type:application/json
− X-Auth: Authorization Token
Object filtering conditions are specified in the request body.
Parameters in the request body (JSON):
{
"vehicleId": null, // 84350, Vehicle ID (int, optional)
"name": null, // Vehicle name (string, optional)
"imei": null, // "710179307", // IMEI (string , optional)
"sim": null, // "938112", // Phone number (string, optional)
"deviceTypeId": null, // 5, device type ID (short, optional)
"parentId": null, // Client ID (Guid, optional)
"unitId": null, // "b33548c3-73c3-40e4-8b78-81470ae744ed", Unit ID (Guid, optional)
"customFields": null // value of any of the custom fields of the vehicle
}
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» .
Answer:
{
"vehicleId": "" // object identifier
"name": "" // object name
"imei": "" // object IMEI
"deviceTypeId": "" // device type identifier
"deviceTypeName": "" // name device type
"sim1": "" // first phone number
"sim2": "" // second phone number
"parentId": "" // parent client ID
"parentName": "" // parent client name
"modelId ": "" // object model identifier
"modelName": "" // object model name
"unitId": "" // unit identifier
"unitName": "" // unit name
"status": "" // object status (-1 - New, 0 - Locked, 1 - Active, 2 - Canceled, 3 - Equipped, 4 - Diagnostics,
// 5 - Service, 6 - Dismantling, 7 - Installation, 8 - Re-order, 9 - Serviced, 10 - Decommissioned,
// 11 - Defective, 12 - Checked, 13 - Out of service)
"createdAt": "" // creation date of
"customFields" objects ": [
{
"id": "", // custom field identifier
"name": "",// custom field name
"value": "", // custom field value
"forClient": true, // the right to display in the client
"forTooltip": false, // the right to display in the tooltip
"forReport": false // the right to display in reports
}
}
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» .
Changing the status of an object
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.
Request method: POST
Request URL: https://hosting.glonasssoft.ru/api/v3/vehicles/changeStatus/ {vehicleId}
Request parameter: {vehicleId} - Vehicle ID
In Request Headers: X-Auth: Authorization Token
Parameters in the request body (JSON):
{
"status": "", // status value (-1 - New, 0 - Blocking, 1 - Active, 2 - Canceled, 3 - Equipped, 4 - Diagnostics, // 5 - Service, 6 - Dismantling, 7 -
Mounting , 8 - Reorder, 9 - Serviced, 10 - Decommissioned,
// 11 - Faulty, 12 - Checked, 13 - Out of service)
"date": "", // Status change date (null if change immediately)
"description": "", // Description
"data": "", // Data
"overwrite": false, // Overwrite flag
"stage": "", // State, can be null
}
Answer:
{
"status": "", // status value
"date": "", // Status change date
"description": "", // Description
"data": "", // Data
"overwrite": false, / / Rewrite flag
"stage": "", // State
}
Editing an object
The method allows you to edit the object specified in the request.
Request method: PUT
Request URL: https://hosting.glonasssoft.ru/api/v3/vehicles
In Request Headers: X-Auth: Authorization Token
Parameters in the request body (JSON):
{
"vehicleId": "", // Vehicle ID
"parentId": "", // Client ID
"name": "", // Vehicle name
"imei": "", // IMEI
"deviceTypeId": "", // device type ID
"modelId": "", // , model ID
"unitId": "", // units
"sim1": "", // SIM 1
"sim2": "", // SIM2
"consumptionPer100Km ": "" , // Fuel consumption per 100 km (if filled, then consumptionPerHour cannot be filled)
"consumptionPerHour": "" , // Fuel consumption per engine hour (if filled,then consumptionPer100Km cannot be filled)
"consumptionIdle": "" , // Fuel consumption at idle
"consumptionPer100KmSeasonal": 0, // Seasonal fuel consumption per 100 km
"consumptionPerHourSeasonal": 0, // Seasonal fuel consumption per engine hour
"consumptionIdleSeasonal": 0, // Seasonal fuel consumption at idle
"consumptionPer100KmSeasonalBegin": "" , // Day/month of the start of the seasonal consumption rate per 100 km
"consumptionPer100KmSeasonalEnd": "" , // Day/month of the end of the seasonal consumption rate per 100 km
"consumptionPerHourSeasonalBegin": "" , // Day/month of the start of the seasonal consumption rate per engine hour
"consumptionPerHourSeasonalEnd": "" , // End day/month of the seasonal consumption rate per engine hour
"consumptionIdleSeasonalBegin": "" , // Start day/month of the seasonal consumption rate on x/x
"consumptionIdleSeasonalEnd": "" , // Day/month of the end of the seasonal consumption rate on x/x
"counters":
{
"mileageEnabled" : true, // "mileage" counter active flag
"motohoursEnabled": true, // "motohours" counter active flag
"mileage": "", // mileage, in meters
"motohours": "" // motor hours, in seconds
}
"cmsv6Parameters": // CMSv6 parameters
{
"id": "", // identifier
"enabled": true, // enable flag
"host": "", // IP address or domain name from CMSV6 website URL
"login": "", // account name
"password": "", // account password
}
"inspectionTasks": // maintenance jobs
{
"id": "", // job ID
"enabled": false, // Enable flag
"name": "", // Job name
"description": "", // Job description
" mileageCondition": "", // Mileage condition (in meters, null - condition does not work)
"lastMileage": "", // Mileage (in meters) at the time of the last maintenance (null - doesn't matter)
"motohoursCondition": "", // Condition for motor hours (in seconds, null - the condition does not work)
"lastMotohours": " ", // Engine hours (in seconds) at the moment of the last maintenance (null - doesn't matter)
"periodicCondition": "", // Time periodicity condition (null - the condition does not work)
"kind": "", // Type of periodicity by time
"maxQuantity": "", // How many times to execute the task
}
}
Answer:
{
"vehicleId": "", // Vehicle ID
"parentId": "", // Client ID
"name": "", // Vehicle name
"imei": "", // IMEI
"deviceTypeId": "", // device type
"modelId": "", // model ID
"unitId": "", // unit ID
"sim1": "", // SIM 1
"sim2": "", // SIM2
"consumptionPer100Km" : "", // Fuel consumption per 100 km
"consumptionIdle": "", // Fuel consumption at idle
"counters":
{
"mileageEnabled": true, // "mileage" counter activity flag
"motohoursEnabled": true, // "motohours" counter activity flag
"mileage": "", // mileage
"motohours": "", // engine hours
}
"cmsv6Parameters": // CMSv6 parameters
{
"id": // identifier
"enabled": true, // enable flag
"host" : "", // IP address or domain name from CMSV6 website URL
"login": "", // account name
"password": "", // account password
}
"inspectionTasks": // tasks on TO
{
"id": "", // Job ID
"enabled": false, // Enable flag
"name": "", // Job name
"description": "", // Job description
"mileageCondition": "", // Mileage condition
"lastMileage": "", // Mileage (in meters) at the moment last maintenance
"motohoursCondition": "", // Motohours condition
"lastMotohours": "", // Motohours
"periodicCondition": "", // Time periodicity condition
"kind": "", // Type of time periodicity
"maxQuantity": "", // How many times to run the task
}
}
Validation:
- the seasonal parameter can only be set if the corresponding normal rate is set;
- seasonal start and end can be set only if the corresponding seasonal rate is set;
- when setting the seasonal norm, the corresponding start/end dates are required.
Deleting an object
The method allows you to delete the object specified in the query string.
Request method: DELETE
Request URL: https://hosting.glonasssoft.ru/api/v3/vehicles/ {vehicleId}
Request parameter: {id} - Guid of the object
In Request Headers: X-Auth: Authorization Token
Answer: If the request is successful, an HTTP response "200" will be returned.
Section: Devices
Get a list of device types
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.
Request method: GET
Request URL: https://hosting.glonasssoft.ru/api/v3/users/api/v3/devices/types
In Request Headers: X-Auth: Authorization Token
Answer:
{
"deviceTypeId" : "", // device type ID
"deviceTypeName" : "" // device type name
}
Section: Sensors
Getting a list of sensor types
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.
Request method: GET
Request URL: https://hosting.glonasssoft.ru/api/v3/sensors/types
In Request Headers: X-Auth: Authorization Token
Answer:
{
"id": "", // Sensor type ID
"name": "", // Name
"description": "", // Description
}
Section: Messages
Object activity data
The method returns the number of messages sent by the terminal to the server for the specified period.
POST request method
Request URL: https://hosting.glonasssoft.ru/api/v3/terminalMessages/count
In Request Headers: X-Auth: Authorization Token
{
"vehicleIds": [
id // a list of object identifiers is passed here
],
"from": "2023-03-12T07:09:02.364Z", // from which date to execute the request
"to": "2023-03-14T07 :09:02.364Z" // until what date to execute the request
}
Answer:
[
{
"vehicleId": 0, // object identifier
"count": 0 // number of messages per period
}
]
Message List Request
The method returns a list of object's terminal messages for the selected period.
POST request method
Request URL: https://hosting.glonasssoft.ru/api/v3/terminalMessages
In Request Headers: X-Auth: Authorization Token
{
"vehicleId": 0, // object id
"from": "2023-03-29T09:14:46.107Z", // start of request period
"to": "2023-03-29T09:14:46.107Z" / / end of request period
}
Answer:
[
{
"messages": [
{
"deviceTime": "2023-03-29T09:14:46.125Z", // Device time
"serverTime": "2023-03-29T09:14:46.125Z", // Server time
"speed": 0, // Speed, km/h
"altitude": 0, // Altitude, m
"latitude": 0, // Latitude [-90°;90°]
"longitude": 0, // Longitude [-180°;180°]
"satellites": 0, // Number of satellites
"voltage": 0, // Voltage
"parameters": { // list of sensor parameters transmitted by the terminal
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
},
"photoCount": 0 // Number of photos
}
]
}
]
Section: Notifications
Request a list of client notifications
The method returns notification information about the passed client and its clients down the hierarchy.
POST request method
Request URL: https://hosting.glonasssoft.ru/api/v3/notifications/find
In Request Headers: X-Auth: Authorization Token
{
"parentId": "" // client id
}
Answer:
[
{
"id": 0, // Notification ID
"name": "string", // Notification name
"active": true, // Status true - active, false - deactivated
"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
"userId": "", // User who created notification
"parentId": "", // Client ID
"parentName": "string" // Client name
}
]
Request notification settings
The method returns data on the rules for generating the selected notification.
GET request method
Request URL: https://hosting.glonasssoft.ru/api/v3/notifications/{id}
Request parameter: {id} - notification id
In Request Headers: X-Auth: Authorization Token
Answer:
{
"id": 0, // notification id
"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
"userId": "", / / User who created the notification
"parentId": "", / / Client ID
"parentName": "string", // Client name
"name": "string", // Notification name
"active": true, // Status true - active, false - deactivated
" vehicleIds": [ // List of object ids to parse
0
],
"geoids": [ // List of id geo objects for analysis
0
],
"fieldids": [ // List of field ids for analysis
0
],
"settings": { // List of notification parameters
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
},
"toEmail": true, // Flag that the "Send email notifications to system users" setting is active
"recipientIds": [ // List of Guid users , who need to send a message to the mail when the rule
""
],
"enableSideEmails": true, // Flag that the setting "Sending messages to e-mails to third-party users" is active
"sideEmails": [ // List of e-mail addresses for sending notifications
"string"
],
"toTelegram": true, // Flag for sending messages to Telegram
"telegrams": [ // List of recipients of notifications in Telegram.
{
"id": 0, // Chat participant ID
"info": "string" // Additional information
}
],
"toMobile": true, // Activity flag for sending to the mobile application
"toClient": true,
Specifies whether notifications derived from this rule should be stored in the notification history log.
"kind": 0, // Defines the type of notification
"activationMode": 0, // Type of notification activation 0 - Now, 1 - At a specific date and time
"activationTime": "2023-03-29T09:57:48.932Z", // Rule activation date/time (UTC)
"timezone": 0, // Time zone offset
"validity": 0, // Validity in days (1-90)
"autoProlongation": true // Auto-renewal
}
Editing a notification
The method allows you to edit the notification.
PUT request method
Request URL: https://hosting.glonasssoft.ru/api/v3/notifications
In Request Headers: X-Auth: Authorization Token
Request body:
{
"id": 0, // notification id
"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": "", //
User who created the notification
"parentId": " ", // Client ID
"parentName": "string", // Client name
"name": "string", // Notification name
"active": true, // Status true - active, false - deactivated
"vehicleIds":[ // List of id objects for analysis
0
],
"geoids": [ // List of id geo objects for analysis
0
],
"fieldids": [ // List of field ids to parse
0
],
"settings": { // List of notification parameters
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string "
},
"toEmail": true, // Flag that the setting "Sending notifications to e-mail to system users" is active
"recipientIds": [ // List of Guid users who need to send a message to e-mail when the rule
""
],
"enableSideEmails": true, // Flag that the setting "Sending messages to e-mails" is active.mail to third-party users"
"sideEmails": [ // List of email addresses for sending notifications
"string"
],
"toTelegram": true, // Flag of sending activity to Telegram
"telegrams": [ // List of recipients of notifications in Telegram.
{
"id": 0, // Chat participant ID
"info": "string" // Additional information
}
],
"toMobile": true, // Activity flag for sending to the mobile app
"toClient": true, // Activity flag sending in the system interface
"stored": true, // Determines whether notifications derived from this rule should be stored in the notification history log.
"kind": 0, // Defines the type of notification
"activationMode": 0,
"activationTime": "2023-03-29T09:57:48.932Z", // Date and time of rule activation (UTC)
"timezone": 0, // Time zone offset
"validity": 0, // Validity in days (1-90)
"autoProlongation": true // Auto-renewal
}
Answer:
success
Removing a notification
The method allows you to delete the selected notification.
DELETE request method
Request URL: https://hosting.glonasssoft.ru/api/v3/notifications/{id}
Passed parameter: {id} - notification id
In Request Headers: X-Auth: Authorization Token
Answer:
success
For questions regarding the operation of PUBLIC API 3.0, please contact support@glonasssoft.ru