Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
In today's fast-paced development landscape, automation is key to efficiency. Whether you're testing API endpoints, integrating services, or building custom workflows, the right tools can make the process seamless. This section introduces powerful automation solutions that help developers interact with Navixy’s API more efficiently.
Here, you'll find guides on how to use industry-standard tools to streamline API requests, automate interactions, and enhance system integrations with Navixy. As we continue expanding, more tools will be added to this collection, providing you with a growing set of resources to optimize your API-driven workflows.
A popular API client for testing and interacting with Navixy’s endpoints. Learn how to send requests, authenticate, and explore the full potential of Navixy’s API in a controlled environment.
A no-code automation platform that connects Navixy with thousands of apps. Set up triggers and actions to automate workflows without writing a single line of code.
Getting started with Navixy API
is a comprehensive GPS/Vehicle telematics platform developed by . This documentation provides detailed information on integrating third-party solutions with the Navixy platform, including API and technical documentation tailored for developers and partners.
The documentation is organized into sections, each addressing a specific aspect of the Navixy platform:
Navixy platform API: API calls for user interface functionalities like raw device data, tracking, reports, tasks, and much more.
Admin Panel API: API calls for admin panel functionalities such as platform config and user management.
Navigate the documentation sections using the left sidebar. Use the internal menu on the right for quick navigation within the page.
You can access the related GitHub repository directly via link on the left sidebar.
The documentation includes two types of files: Documents, and API calls. Documents are divided into semantic parts, starting with an introduction that summarizes the content.
Resources sections represent API reference for the related functionality and have a common structure:
Introduction - General information and purpose of the API call.
Object structure - Describes the object structure used in the calls (optional).
API Actions - Base API call and associated actions, including:
Action description - Purpose of the API action.
Requirements - Necessary permissions (optional).
Parameters table - Lists parameters for the API call with descriptions and data types.
Examples - API call examples with parameters. Includes a copy button for easy use.
Response - Example of a successful server response with field descriptions.
Errors - Specific errors related to the API action, plus a general error list.
To ensure system stability for all customers, the platform limits API requests to 50 requests per second per user and per IP address (for applications serving multiple users). These limits are applied based on user session hash and API keys.
Navixy provides a powerful Postman collection, the Navixy API Sandbox, for working with API documentation, exploring, and testing API queries using real or demo data. This collection offers a familiar environment for many developers and simplifies the process of building customized solutions. For detailed information on using Postman with Navixy, please refer to the Postman Guide.
Help improve the Navixy developer documentation or assist with language translations. Your contributions make the Navixy platform even better for the community.
Welcome to the Navixy API resources section. Here you'll find detailed information about all available resources.
Instructions to add localizations for Navixy Platform
Navixy is dedicated to global accessibility, offering support for a wide range of languages to cater to users worldwide. The platform is designed to be versatile, accommodating both left-to-right and right-to-left languages. We continually expand our language support through contributions from our vibrant community of translators. If the language you need isn't yet supported, we invite you to join us and help expand our multilingual capabilities.
Navixy currently supports dozens of languages, with more being added regularly. For the most up-to-date list of supported languages, visit our regional settings documentation.
We welcome and appreciate all contributions. By joining our community of translators, you help make Navixy more accessible and user-friendly for people around the world. Start translating today and become part of a global effort to enhance the Navixy platform.
To start contributing, you will need access to our Crowdin project. is an online translation service developed specifically for team-based translation projects. Contact your Navixy representative and provide your Crowdin account details to be associated with the Navixy Crowdin project.
There are two primary methods to localize the Navixy platform:
Crowdin In-context Translation (Web UI Only)
Crowdin UI Translation
This method is the most convenient way to translate the Navixy Web UI. Use the following link to launch the Crowdin In-context service:
<https://demo.navixy.com/?locale=ach#/login>
After logging in, the standard Navixy UI will appear in a special translation mode. Click on the small icon next to each text item to open the translation dialog and make your edits.
For a more comprehensive translation experience, use the Crowdin UI. This method is essential for translating backend components and mobile apps. Translations in Crowdin are organized into several directories:
Common Server properties, API server properties, Tracking server properties, SMS server properties: Translation strings for backend (mainly for reports, SMS, and email notifications).
Future Web UI, Legacy Web UI: Translation strings for Navixy Web UI.
android-client, android-tracker, navixy-tracker-ios, navixy-viewer-ios: Translation strings for mobile apps.
Each directory contains specific strings for translation, which you can edit directly in the Crowdin interface.
If you want to add a new language:
Obtain a Crowdin account by contacting your manager.
Use either the In-context translation method or the Crowdin UI to start translating.
Notify your manager once the translation is complete. The development team will then add the new language to the platform.
To improve existing translations, follow the same steps as above, but focus on refining and enhancing the current language packs. Your contributions will be reviewed and, once approved, will be automatically deployed to the production environment.
Deploying translations to the production environment typically takes about a week. For on-premise installations and mobile apps, this timing depends on their respective release schedules. Once your translation work is complete, notify your Navixy representative to ensure your contributions are integrated into the platform.
Employee statuses track the current activity of employees via their tracking devices. Examples include "busy" and "not busy." Each tracker can have a different status list assigned.
To manage employee activities effectively, create working status lists and assign them to devices. For instance, a status list for a delivery service allows drivers and supervisors to change their working status using the X-GPS app or the UI.
To create a working status list, use the status/listing/create method. You need to provide the listing parameter, which is a status_listing object without the "id" and "entries" fields.
Next, add individual working statuses to the list. For example, you might have the following statuses: "Free," "Break," "Pick up the goods from storage," and "Deliver goods."
Repeat the above request for each working status you need to add to the list.
To assign the working status list to devices, use the tracker_id and listing_id.
Once assigned, drivers and supervisors can change working statuses. Here are some use cases:
Automated Task Assignment: Create a script to assign a new task to a driver with the working status "Free." After assigning the task, the script changes the working status to "Pick up the goods from storage."
Task Completion: When a task is completed, a script changes the working status to "Free" and retrieves fields from the ERP system to create a new task and assign it to the driver.
This flexible system allows for efficient management of employee activities and can be integrated with various business processes for automation.
Contains API call to get the last waybill number.
Contains API call to get the last waybill number. Waybill number saved when new waybill had downloaded. If it had only digits, then it was incremented before saving.
API base path: track/waybill/settings/.
Gets last waybill number.
201 - Not found in the database – if user have never downloaded a waybill.
Geofences are virtual perimeters for real geographic areas. The Navixy platform can monitor whether an object equipped with a GPS tracker crosses a geofence border (either entering or exiting). All such events are logged, enabling users to obtain geofence reports and receive alerts. Furthermore, various rules can be assigned to events related to specific geofences. For instance, you might want to receive speeding alerts only within a certain area, such as a city or along a specific route.
To create a geofence, use the API call. There are several types of geofences, and the creation process varies between them.
The "Guides and Examples" section of the Navixy API documentation is designed to provide you with practical, step-by-step instructions for common tasks you can perform with the Navixy API. Whether you're managing devices, tracking data, setting up geofences, or handling notifications, these guides will help you make the most of the Navixy platform.
Learn how to activate a device on the Navixy platform to start tracking and monitoring.
Welcome to the Navixy User Interface API documentation. This section contains all the sections for requesting information that users have access to in the user interface.
Here are the following sections:
: In this section, you will learn how to access raw data from trackers received by the platform.
: In this section, you will find API calls that allow you to retrieve all the information available to users on the platform. This includes data and actions related to trackers, their trips, sensor and counter data, reports, vehicles, drivers and employees, tasks, and much more information that your integrations may need.
Contains API call to get APN settings by tracker ID.
Sending Commands to a Device Find out how to send GPRS commands to devices for remote control and management.
Using BLE Beacons with Trackers Discover how to monitor semi-stationary equipment with BLE beacons.
Getting Tracker List Retrieve a list of all trackers associated with your account for easy management.
Retrieving Track Points Learn how to get detailed track points data for comprehensive movement analysis.
Fetching Sensors and Counters Data Access data from various sensors and counters installed on your tracking devices.
Obtaining Report Information Generate and retrieve detailed reports for insights into fleet performance.
Managing Geofences Set up geofences to define virtual boundaries for tracking and alerts.
Managing Points of Interest (POIs) Create and manage points of interest with custom fields for better location tracking.
Working with Notifications Configure and manage notifications to stay informed about important events.
Receiving Push Notifications Set up push notifications to receive real-time alerts on your mobile devices.
Implementing Rules Define and use rules to automate actions based on specific conditions.
Using Tags for Organization Organize your devices and data using tags for easier management and filtering.
Handling Maintenance Service Works Manage maintenance schedules and service works to keep your fleet in top condition.
Utilizing Driver Journals Track driver activities and maintain detailed logs using driver journals.
Creating and Assigning Tasks Create tasks and assign them to field workers to streamline your operations.
Creating Forms for Tasks Design and implement custom forms for tasks to capture all necessary information.
Managing Task Statuses Monitor and update task statuses to keep track of progress and completion.
Frontend extentions: In this section, you will find information on how to add your application to the Navixy web interface, as well as how to add the Navixy interface to your website.
Eco-Fleet API: In this section, you will find calls to determine the accuracy of your fuel sensors.
curl -X POST 'https://api.eu.navixy.com/v2/track/waybill/settings/read' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b"}'https://api.eu.navixy.com/v2/track/waybill/settings/read?hash=a6aa75587e5c59c32d347da438505fc3Assigns a working status list (or remove assignment) to the tracker.
required sub-user rights: tracker_update.
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
123456
listing_id
ID of the working status list. Omit this parameter completely, if you want remove the assignment.
int
12345
curl -X POST 'https://api.eu.navixy.com/v2/status/listing/tracker/assign' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 123456, "listing_id": 12345}'https://api.eu.navixy.com/v2/status/listing/tracker/assign?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=123456&listing_id=12345201 - Not found in the database – if there is no tracker with such ID belonging to authorized user.
204 - Entity not found – if there is no working status list with such ID.
208 - Device blocked – if tracker exists but was blocked due to tariff restrictions or some other reason.
219 - Not allowed for clones of the device – if specified tracker is a clone.
236 - Feature unavailable due to tariff restrictions – if there are no trackers with "statuses" tariff feature available.
The simplest geofence to create is the circle geofence, which requires only a center point and a radius. The platform will automatically calculate the borders.
For example, to create a geofence with a 50-meter radius around a business park to track employees, you can use the following API request. This geofence can trigger alerts when employees arrive at or leave work.
API Request:
The platform will respond with the status and the created geofence ID. This ID can be used to create a rule.
A polygon geofence is more complex as it requires specifying multiple points where the geofence border changes direction. The maximum number of points is 100 to maintain computational efficiency. For example, to track the maximum speed of vehicles within Rome, you can create a geofence that covers the city.
API Request:
The platform will respond with the geofence ID. Follow the next instruction to create rules.
Corridor geofences are used for roads. They need to be accurate, and their calculated area is not as computationally intensive as polygons. Therefore, the maximum number of points is 1024.
For example, to create geofences for street cleaning vehicles to ensure they follow the correct route, you can use the following API request with the sausage parameter in it:
API Request:
The platform will provide the status and geofence ID.
Corridor geofences can also be used to create special routes for vehicles carrying valuable cargo, such as cash collectors, or for patrol cars. In such cases, use the rule "deviation from the route."
To get the geofence name or ID where a device is located, use the zone/search_location API call. For example, to determine which geofence a device is in or to count how many devices are in a specific zone, first request the device's state and location. With the received latitude and longitude parameters, you can then check the geofences.
https://api.eu.navixy.com/v2/[api_static_path]/tracker/avatars/<file_name>
e.g. https://api.eu.navixy.com/v2/static/tracker/avatars/abcdef123456789.png.required sub-user rights: tracker_update.
MUST be a POST multipart request (multipart/form-data), with one of the parts being an image file upload (with the name "file").
File part mime type must be one of (see: [source:api-server/src/main/java/com/navixy/common/util/ImageFormats.java ImageFormats.IMAGE_FORMATS]):
image/jpeg
image/pjpeg
image/png
image/gif
image/webp
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
file
image file.
string
redirect_target
Optional. URL to redirect If redirect_target passed return redirect to ?response=.
URL
value - avatar file name.
201 – Not found in the database - when tracker with a tracker_id not found in the database.
208 – Device blocked.
233 – No data file - if file part not passed.
234 – Invalid data format - if passed file with unexpected mime type.
254 – Cannot save file - on some file system errors.
MUST be a POST multipart request (multipart/form-data), with one of the parts being a CSV file upload (with the name "file").
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
file
A CSV file upload containing datalogger track data.
file
201 – Not found in the database - if there is no tracker with such ID belonging to authorized user.
219 – Not allowed for clones of the device - if tracker is clone.
233 – No data file - if file part is missing.
214 – Requested operation or parameters are not supported by the device - if specified tracker is not datalogger.
Gets the APN name/user/password and mobile operator of device by a tracker_id.
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
999199
curl -X POST 'https://api.eu.navixy.com/v2/tracker/apn_settings/read' \
-H 'Content-Type: application/json' \
-d '{"tracker_id": 123456, "hash": "a6aa75587e5c59c32d347da438505fc3"}'https://api.eu.navixy.com/v2/tracker/apn_settings/read?tracker_id=123456&hash=a6aa75587e5c59c32d347da438505fc3201 – Not found in the database - if tracker or APN settings not found.
208 – Device blocked.
214 – Requested operation not supported by the device - if the tracker does not have a GSM module or uses a bundled SIM card, the number of which is hidden from the user.
Gets all user's trackers with special grouping by "contacts".
curl -X POST 'https://api.eu.navixy.com/v2/tracker/contact/list' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3"}'https://api.eu.navixy.com/v2/tracker/contact/list?hash=a6aa75587e5c59c32d347da438505fc3contacts - all established contacts.
trackers - normal trackers belonging to current user.
where contact object is:
user_id - ID of the user with which "contact" is established.
trackers - trackers belonging to "contact" which locations shared with current user.
Click to see descriptions of type tracker.
201 – Not found in the database.
curl -X POST 'https://api.eu.navixy.com/v2/status/listing/create' \
-H 'Content-Type: application/json' \
-d '{
"hash": "22eac1c27af4be7b9d04da2ce1af111b",
"listing": {
"label": "Delivery_service",
"employee_controlled": true,
"supervisor_controlled": true
}
}'{
"success": true,
"id": 1111
}curl -X POST 'https://api.eu.navixy.com/v2/status/create' \
-H 'Content-Type: application/json' \
-d '{
"hash": "22eac1c27af4be7b9d04da2ce1af111b",
"listing_id": 1111,
"status": {
"label": "Free",
"color": "E57373"
}
}'{
"success": true,
"id": 1
}curl -X POST 'https://api.eu.navixy.com/v2/status/listing/tracker/assign' \
-H 'Content-Type: application/json' \
-d '{
"hash": "22eac1c27af4be7b9d04da2ce1af111b",
"tracker_id": 615487,
"listing_id": 111
}'{
"success": true
}{
"success": true,
"value": {
"number": "test123"
}
}{
"success": true
}curl -X POST 'https://tracker.navixy.com/v2/zone/create' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "zone": {"label": "Circle Geofence", "type": "circle", "center": {"lat": 61.49504550221769, "lng": 23.775476217269897}, "radius": 50, "tags": [179227], "color": "03A9F4", "address":"Address"}}'curl -X POST 'https://tracker.navixy.com/v2/zone/create' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "zone": {"label": "Speed Limit in Rome", "type": "polygon", "color": "27A9E3", "address": "Address"}, "points": [{"lat": 41.80970819375622, "lng": 12.576599121093752, "node": true}, {"lat": 41.79128073728445, "lng": 12.522354125976564, "node": true}, {"lat": 41.80970819375622, "lng": 12.38983154296875, "node": true}, {"lat": 41.86649282301996, "lng": 12.369232177734375, "node": true}, {"lat": 41.90943147946872, "lng": 12.38090515136719, "node": true}, {"lat": 41.956426414614235, "lng": 12.379531860351562, "node": true}, {"lat": 41.98501507352485, "lng": 12.435150146484375, "node": true}, {"lat": 41.98807738309159, "lng": 12.50724792480469, "node": true}, {"lat": 41.97531678812783, "lng": 12.54913330078125, "node": true}, {"lat": 41.95795827518022, "lng": 12.580718994140627, "node": true}, {"lat": 41.92322706102551, "lng": 12.61161804199219, "node": true}, {"lat": 41.902277040963696, "lng": 12.619171142578127, "node": true}, {"lat": 41.86904950322354, "lng": 12.607498168945312, "node": true}]}'curl -X POST 'https://tracker.navixy.com/v2/zone/create' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "zone": {"label": "Clean Street 1", "type": "sausage", "radius": 20, "color": "27A9E3", "address": "Address"}, "points": [{"lat":21.5337018035,"lng":-104.8700889945,"node":true},{"lat":21.5336107362,"lng":-104.8691622913,"node":true},{"lat":21.5336444186,"lng":-104.8674470186,"node":true},{"lat":21.5336494086,"lng":-104.8656499386,"node":true},{"lat":21.5341084873,"lng":-104.8656606674,"node":true},{"lat":21.5341434171,"lng":-104.8661112785,"node":true},{"lat":21.534742213,"lng":-104.8656713963,"node":true},{"lat":21.5350266402,"lng":-104.8659932613,"node":true},{"lat":21.5336593886,"lng":-104.8669320345,"node":true},{"lat":21.5336469136,"lng":-104.8691529036,"node":true},{"lat":21.5337367335,"lng":-104.8700594902,"node":true},{"lat":21.5338427707,"lng":-104.8705852032,"node":true},{"lat":21.5341184672,"lng":-104.8718833923,"node":true},{"lat":21.5344577853,"lng":-104.873329103,"node":true},{"lat":21.5346199591,"lng":-104.8735275865,"node":true},{"lat":21.532277154,"lng":-104.8760032654,"node":true},{"lat":21.5312941127,"lng":-104.8770868778,"node":true},{"lat":21.5301214405,"lng":-104.8784118891,"node":true},{"lat":21.5291383846,"lng":-104.8793131113,"node":true},{"lat":21.5287790935,"lng":-104.8795759678,"node":true},{"lat":21.5284647131,"lng":-104.8797154427,"node":true},{"lat":21.5280804693,"lng":-104.8797905445,"node":true},{"lat":21.5276413324,"lng":-104.879822731,"node":true},{"lat":21.5273668712,"lng":-104.8799729347,"node":true}]}'{
"success": true,
"value": "file name"
}{
"success": true
}{
"success": true,
"value": {
"name": "fast.tmobile.com",
"user": "tmobile",
"password": "tmobile"
}
}{
"success": true,
"contacts": [{<contact1>}, {<contact n>}],
"trackers": [{<tracker1>}, {<tracker n>}]
}{
"user_id": 12059,
"first_name": "Adam",
"middle_name": "James",
"last_name": "Williams",
"trackers": [{<tracker1>}, {<tracker n>}]
}Keep up with the latest updates and connect with us on social media:
GitHub: Follow our repository for the latest code and updates.
LinkedIn: Connect with us professionally and stay informed about our business updates.
Twitter: Follow us for real-time updates and announcements.
Facebook: Join our community and engage with us.
: See our latest posts and stories.
: Watch our videos for tutorials, updates, and more.
For further information and detailed inquiries, visit our Contact Page.
Notifications are a crucial part of tracking. A created rule tracks the triggering of specified conditions and sends events to emails and phones. Notifications alert users when a condition is triggered. Sometimes, it is necessary to store these notifications and history entries for special reports or for use in scripts built on APIs. This guide will show you how to work with them using the Navixy API.
Use the call to get all unread events.
This call contains only two optional parameters:
limit: An integer specifying the maximum count of entries in the response.
from: A string containing the start for the search. Without this parameter, you will get all unread entries for the last 30 days.
Example: To obtain no more than 100 entries for the last month (assuming today's date is 2021-01-26), the API request will be:
The response will contain a list of history entries with that can be used for various purposes:
Use the call to get all events for specific trackers over a specified time period. This call can also return specific event types sorted by time if necessary.
trackers: An array of integers. A for which events will be searched.
from: A string containing the start for the search.
to: A string containing the end for the search. Must be after the from date.
events: An array of strings with the necessary event types. All other events will be ignored. Default is all. To get a list of events, use the call.
limit: An integer specifying the maximum count of entries in the result.
ascending: A boolean that sorts the results in ascending order by time when true and descending when false
Example: To obtain no more than 100 entries for December for one device, sorted in descending order by time, and to know only when the device entered and exited the geofence, the API request will be:
The response will contain the that match the request.
To obtain a list of all tracker events for a user received between the specified "from" and "to" dates, use the method. You can also filter the results to include only the necessary event types.
from: A string containing the start for the search.
to: A string containing the end for the search. Must be after the from date.
events: An array of strings with the necessary event types. All other events will be ignored. Default is all. To get a list of events, use the call.
limit: An integer specifying the maximum number of entries in the result.
ascending: A boolean that sorts the results in ascending order by time when true and descending when false
Example: To get state field events for the last five minutes on all trackers of a user, use to=CURRTIME and from=CURRTIME-5 minutes. Filter by state_field_control events.
The response will contain the that match the request.
Contains API calls to read and set alarm mode of device.
API base path: /tracker/alarm_mode.
Gets the state of alarm mode of device.
enabled - true if alarm mode enabled.
204 – Entity not found - if there is no tracker with such ID belonging to authorized user.
208 – Device blocked - if tracker exists but was blocked due to tariff restrictions or some other reason.
214 – Requested operation or parameters are not supported by the device - if device does not support alarm mode.
Changes the state of alarm mode of device. The device must be online.
204 – Entity not found - if there is no tracker with such ID belonging to authorized user.
208 – Device blocked - if tracker exists but was blocked due to tariff restrictions or some other reason.
213 – Cannot perform action: the device is offline - if corresponding tracker is not connected to the server.
214 – Requested operation or parameters are not supported by the device - if device does not support alarm mode.
API call for getting the route to destination point.
API call for getting the route to destination point.
API path: /route.
Gets route points via specified route provider.
location object described in .
cURL
distance - int. Length in meters.
time - int. Duration in seconds.
list - list of route points. Location objects.
215 - External service error.
218 - Malformed external service parameters.
236 - Feature unavailable due to tariff restrictions – if there is at least one tracker without "routing" tariff feature.
API calls for to interact with unconfirmed SMS commands in the queue of the specified tracker.
API path: /tracker/command/unconfirmed.
Gets number of commands in queue for the specified tracker.
count - int. Number of unconfirmed commands in a queue.
204 – Entity not found - if there is no tracker with such ID belonging to authorized user.
208 – Device blocked - if tracker exists but was blocked due to tariff restrictions or some other reason.
Removes all pending SMS commands from the queue for the specified tracker.
required sub-user rights: tracker_update.
204 – Entity not found - if there is no tracker with such ID belonging to authorized user.
208 – Device blocked - if tracker exists but was blocked due to tariff restrictions or some other reason.
Most modern GPS tracking devices can be reconfigured remotely using IP commands sent over-the-air (OTA). With the Navixy API, you can easily change device configurations or develop applications that allow users to send commands directly from the UI. These commands can also be integrated into automation rules, status changes, or parameter triggers, offering extensive flexibility and customization for managing your telematics solutions.
To send a command to a device, you only need the following parameters:
tracker_id: The ID of the device to which you want to send the command.
command: The text or hexadecimal representation of the command in a protocol-dependent manner.
Suppose you have a Teltonika FMB140 device with an ID of 231402 on the platform, and you want to reconfigure its IP address to 52.57.1.136. According to the protocol, the command should be:
setparam 2004:52.57.1.136
To send this command, use the API request :
Upon successful execution, the platform will confirm that the command has been sent.
This method provides a reliable and efficient way to manage and control your GPS tracking devices via IP, ensuring seamless and real-time updates to device configurations.
Testing API with Postman
When working with API requests, developers have a wide range of tools at their disposal, from simple browser inputs to advanced software solutions. One of the preferred tools among developers is Postman, a robust platform for API development. Postman excels in various tasks, including simple request testing, API creation, and ongoing maintenance.
Navixy streamlines API integration by offering ready-made Postman collections. These collections allow developers to quickly import, test, and modify API requests without manual setup, enhancing efficiency and simplifying the process of interacting with Navixy's platform.
Navixy Postman Collections URL:
Navixy API Sandbox in Postman URL:
For this guide, we will focus on using Postman as an API client.
Driver Journals log all trips made by an employee within a selected period, categorizing them by status: business, private, or other. Users can view a summary of all trips, highlighting their statuses, or filter to show only specific types. This data can be exported as PDF/Excel files or printed directly.
Driver Journals provide detailed trip information, including mileage, location, date, and time, enabling clients to differentiate between business and personal miles accurately. This helps in deducting business-related expenses. For ambiguous cases, trips can be marked as "other" and later reviewed for proper categorization.
All trip data is securely stored digitally, eliminating the need for physical paperwork. However, supporting receipts for expenses like fuel should be kept for verification.
For example, to generate a bill for fuel payment, you may need to categorize all trips of a device for the previous day. These records include important trip details such as driver, start/end dates, locations, trip length, and odometer readings, which can be used in your CRM.
API requests to read the state of immobilizer and to set the new state.
API calls to read the state of immobilizer and to set the new state. Engine immobilizer is an electronic security device fitted to a motor vehicle that prevents the engine from running unless it must run. This prevents the vehicle from being "hot wired" after entry has been achieved and thus reduces motor vehicle theft. This API call allows manipulating with immobilizer state.
API base path: /tracker/engine_immobilizer.
API calls for reading and changing LBS settings.
Contains API calls for reading and changing LBS settings. It is responsible for the LBS detection radius portlet in devices and settings tab in the UI. LBS (Location-based service) technology allows to determine the tracker's location without using standard location services such as GPS, GLONASS, Galileo or Beidou. LBS locates the position using cellular base stations or Wi-Fi access points.
API base path: /tracker/settings/lbs.
Push notifications enable your app to receive new events instantly without requiring continuous polling via API calls. These notifications can be leveraged to trigger actions such as updates to trackers, configurations, tasks, or even to send alerts to platforms like Telegram.
Whether your app is mobile or web-based, the subscription process for push notifications varies. Below, we outline the specific steps for each case.
The Navixy platform supports Firebase Cloud Messaging (FCM).
To get push notifications on mobile devices, follow these steps to obtain the app's push token:
219 – Not allowed for clones of the device - if tracker is clone.
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
999199
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
999199
enabled
true if alarm mode should be enabled.
boolean
true/false
curl -X POST 'https://api.eu.navixy.com/v2/tracker/alarm_mode/read' \
-H 'Content-Type: application/json' \
-d '{"tracker_id": 123456, "hash": "a6aa75587e5c59c32d347da438505fc3"}'https://api.eu.navixy.com/v2/tracker/alarm_mode/read?tracker_id=123456&hash=a6aa75587e5c59c32d347da438505fc3tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
123456
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
123456
curl -X POST 'https://api.eu.navixy.com/v2/tracker/command/unconfirmed/count' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 123456}'https://api.eu.navixy.com/v2/tracker/command/unconfirmed/count?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=123456To generate a driver journal, first retrieve a list of possible trips using the fleet/driver_journal/proposal/list API call.
Once you have a list of all trips, create driver journal entries. Specify the type of entry and optionally add a comment for each trip.
After creating the entries, you can download the driver journal in the desired format using the download API call. To display the journal in an application, use the list request.
For detailed API documentation, refer to the Navixy API reference.
Requests to read the state of engine immobilizer.
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
123456
curl -X POST 'https://api.eu.navixy.com/v2/tracker/engine_immobilizer/read' \
-H 'Content-Type: application/json' \
-d '{"tracker_id": 123456, "hash": "a6aa75587e5c59c32d347da438505fc3"}'https://api.eu.navixy.com/v2/tracker/engine_immobilizer/read?tracker_id=123456&hash=a6aa75587e5c59c32d347da438505fc3enabled - boolean. true if engine immobilizer enabled.
204 – Entity not found - if there is no tracker with such ID belonging to authorized user.
208 – Device blocked - if tracker exists but was blocked due to tariff restrictions or some other reason.
214 – Requested operation or parameters are not supported by the device - if device does not support alarm mode.
Requests to change the engine immobilizer state of the device. The device must be online.
required sub-user rights: tracker_set_output.
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
123456
enabled
true if immobilizer should be enabled.
boolean
true/false
204 – Entity not found - if there is no tracker with such ID belonging to authorized user.
208 – Device blocked - if tracker exists but was blocked due to tariff restrictions or some other reason.
213 – Cannot perform action: the device is offline - if corresponding tracker is not connected to the server.
214 – Requested operation or parameters are not supported by the device - if device does not support alarm mode.
219 – Not allowed for clones of the device - if tracker is clone.
Gets LBS settings for the specified tracker.
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
123456
curl -X POST 'https://api.eu.navixy.com/v2/tracker/settings/lbs/read' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 123456}'https://api.eu.navixy.com/v2/tracker/settings/lbs/read?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=123456max_radius - int. Max allowed radius for LBS points in meters. Min=0, max=10000.
204 – Entity not found - if there is no tracker with such ID belonging to authorized user.
208 – Device blocked - if tracker exists but was blocked due to tariff restrictions or some other reason.
Updates LBS settings for the specified tracker.
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
123456
max_radius
Max allowed radius for LBS points in meters. Min=0, max=10000.
int
1000
204 – Entity not found - if there is no tracker with such ID belonging to authorized user.
208 – Device blocked - if tracker exists but was blocked due to tariff restrictions or some other reason.
Firebase projects support Google service accounts, which you can use to call Firebase server APIs from the app server. To authenticate a service account and authorize it to access Firebase services, you must generate a private key file in JSON format.
Contact our support team at [email protected] with the generated private key, platform (Android/iOS), and your app's name.
We will provide you with the application ID for an API call to bind your app.
Obtain the push token of your app from Google Play Market or App Store.
Use the push_token/bind API call from your app. Substitute the push token and the application ID received from our support team.
To start receiving push notifications in your web application, follow these steps:
When creating a subscription, you must specify the applicationServerKey. It should be in bytes, not as a base64 string.
Our public key in base64 is:
Here is a function example:
Take the endpoint and keys p256dh and auth from the pushSubscription object.
Example:
Use the push_token/bind API call with parameters:
application=w3c_pushapi
token=whole endpoint from pushSubscription, full URL like https://fcm.googleapis.com/fcm/send/f6kicrBn7S0:APA91b......
parameters=object with keys from pushSubscription {"p256dh": "...", "auth":"..."}
You will receive the notification in event.data in JSON format.
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
999199
curl -X POST 'https://api.eu.navixy.com/v2/tracker/trusted_number/list' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3"}'https://api.eu.navixy.com/v2/tracker/trusted_number/list?hash=a6aa75587e5c59c32d347da438505fc3list - List of strings containing trusted phone numbers in the international format without "+" sign.
201 – Not found in the database - if there is no tracker with such ID belonging to authorized user.
208 – Device blocked - if tracker exists but was blocked due to tariff restrictions or some other reason.
Replaces the list of trusted numbers for a specified tracker with the new one.
required sub-user rights: tracker_update.
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
999199
list
Array of phone numbers (10-15 digits) represented as strings.
string array
["496156680001", "496156680000"]
cURL
201 – Not found in the database - if there is no tracker with such ID belonging to authorized user.
208 – Device blocked - if tracker exists but was blocked due to tariff restrictions or some other reason.
curl -X POST 'https://api.eu.navixy.com/v2/history/unread/list' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "limit": 100, "from": "2020-12-26 00:00:00"}'{
"success": true,
"list": [
{
"id": 1,
"type": "tracker",
"is_read": false,
"message": "Alarm",
"time": "2020-12-31 00:00:00",
"event": "offline",
"tracker_id": 2,
"rule_id": 3,
"track_id": 4,
"location": {
"lat": 50.0,
"lng": 60.0,
"precision": 50
},
"address": "address",
"extra": {
"task_id": null,
"parent_task_id": null,
"counter_id": null,
"service_task_id": null,
"checkin_id": null,
"place_ids": null,
"last_known_location": false,
"tracker_label": "Tracker label",
"emergency": false,
"employee_id": 4563
}
}
]
}curl -X POST 'https://api.eu.navixy.com/v2/history/tracker/list' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "trackers": [123985], "from": "2020-12-01 00:00:00", "to": "2020-12-31 23:59:59", "events": ["inzone", "outzone"], "limit": 100, "ascending": false}'curl -X POST 'https://api.eu.navixy.com/v2/history/user/list' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "from": "2023-06-13 18:42:10", "to": "2023-06-13 18:47:10", "events": ["state_field_control"], "limit": 100, "ascending": true}'{
"success": true,
"enabled": true
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/alarm_mode/set' \
-H 'Content-Type: application/json' \
-d '{"tracker_id": 123456, "enabled": true, "hash": "a6aa75587e5c59c32d347da438505fc3"}'https://api.eu.navixy.com/v2/tracker/alarm_mode/set?tracker_id=123456&enabled=true&hash=a6aa75587e5c59c32d347da438505fc3{
"success": true
}{
"success": true,
"count": 0
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/command/unconfirmed/reset' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 123456}'https://api.eu.navixy.com/v2/tracker/command/unconfirmed/reset?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=123456{
"success": true
}curl -X POST 'https://tracker.navixy.com/v2/tracker/raw_command/send' \
-H 'Content-Type: application/json' \
-d '{
"hash": "a6aa75587e5c59c32d347da438505fc3",
"tracker_id": 231402,
"command": "setparam 2004:52.57.1.136"
}'curl -X POST 'https://api.eu.navixy.com/v2/driver/journal/proposal/list' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "from": "2021-10-26 00:00:00", "to": "2021-10-26 23:59:59", "tracker_id": 311852}'{
"success": true,
"list": [
{
"tracker_id": 311852,
"employee_id": 2183,
"start_date": "2021-10-26 00:00:00",
"end_date": "2021-10-26 01:39:22",
"start_location": {
"address": "123 Main St, Los Angeles, CA 90012",
"lat": 34.052235,
"lng": -118.243683
},
"end_location": {
"address": "456 Elm St, Los Angeles, CA 90012",
"lat": 34.052235,
"lng": -118.243683
},
"length": 70.83,
"start_odometer": 620741.0,
"end_odometer": 620812.0
},
{
"tracker_id": 311852,
"employee_id": 2183,
"start_date": "2021-10-26 01:47:22",
"end_date": "2021-10-26 03:30:58",
"start_location": {
"address": "456 Elm St, Los Angeles, CA 90012",
"lat": 34.052235,
"lng": -118.243683
},
"end_location": {
"address": "789 Oak St, Los Angeles, CA 90012",
"lat": 34.052235,
"lng": -118.243683
},
"length": 45.32,
"start_odometer": 620812.0,
"end_odometer": 620856.0
},
{
"tracker_id": 311852,
"employee_id": 2183,
"start_date": "2021-10-26 03:37:58",
"end_date": "2021-10-26 04:53:18",
"start_location": {
"address": "789 Oak St, Los Angeles, CA 90012",
"lat": 34.052235,
"lng": -118.243683
},
"end_location": {
"address": "101 Pine St, Los Angeles, CA 90012",
"lat": 34.052235,
"lng": -118.243683
},
"length": 77.6,
"start_odometer": 620856.0,
"end_odometer": 620934.0
}
]
}curl -X POST 'https://api.eu.navixy.com/v2/driver/journal/entry/create' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "entries": [{"tracker_id": 311852, "employee_id": 2183, "start_date": "2021-10-26 00:00:00", "end_date": "2021-10-26 01:39:22", "start_location": {"address": "123 Main St, Los Angeles, CA 90012", "lat": 34.052235, "lng": -118.243683}, "end_location": {"address": "456 Elm St, Los Angeles, CA 90012", "lat": 34.052235, "lng": -118.243683}, "length": 70.83, "start_odometer": 620741.0, "end_odometer": 620812.0, "type": "work", "comment": "order_ID=23415"}, {"tracker_id": 311852, "employee_id": 2183, "start_date": "2021-10-26 01:47:22", "end_date": "2021-10-26 03:30:58", "start_location": {"address": "456 Elm St, Los Angeles, CA 90012", "lat": 34.052235, "lng": -118.243683}, "end_location": {"address": "789 Oak St, Los Angeles, CA 90012", "lat": 34.052235, "lng": -118.243683}, "length": 45.32, "start_odometer": 620812.0, "end_odometer": 620856.0, "type": "personal", "comment": "trip to a cafe"}, {"tracker_id": 311852, "employee_id": 2183, "start_date": "2021-10-26 03:37:58", "end_date": "2021-10-26 04:53:18", "start_location": {"address": "789 Oak St, Los Angeles, CA 90012", "lat": 34.052235, "lng": -118.243683}, "end_location": {"address": "101 Pine St, Los Angeles, CA 90012", "lat": 34.052235, "lng": -118.243683}, "length": 77.6, "start_odometer": 620856.0, "end_odometer": 620934.0, "type": "work", "comment": "order_ID=31024"}]}'{
"success": true
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/engine_immobilizer/set' \
-H 'Content-Type: application/json' \
-d '{"tracker_id": 123456, "enabled": true, "hash": "a6aa75587e5c59c32d347da438505fc3"}'https://api.eu.navixy.com/v2/tracker/engine_immobilizer/set?tracker_id=123456&enabled=true&hash=a6aa75587e5c59c32d347da438505fc3{
"success": true,
"enabled": true
}{
"success": true
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/settings/lbs/update' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 123456, "max_radius": 1000}'https://api.eu.navixy.com/v2/tracker/settings/lbs/update?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=123456&max_radius=1000{
"success": true,
"max_radius": 300
}{
"success": true
}BKPE9clw-_CxWE-WlqSkVpLnHT-7rE637udxtfGRUfXshjfCgatSNqNtRp5HjwEukACcdhIPMwPc9Ch7UsZXxYreturn navigator.serviceWorker
.register('/service-worker.js')
.then(function (registration) {
const subscribeOptions = {
userVisibleOnly: true,
applicationServerKey: urlBase64ToUint8Array(
'BKPE9clw-_CxWE-WlqSkVpLnHT-7rE637udxtfGRUfXshjfCgatSNqNtRp5HjwEukACcdhIPMwPXc9Ch7UsZXxY'
),
};
return registration.pushManager.subscribe(subscribeOptions);
})
.then(function (pushSubscription) {
console.log(
'Received PushSubscription: ',
JSON.stringify(pushSubscription),
);
return pushSubscription;
});{
"endpoint": "https://some.pushservice.com/something-unique",
"keys": {
"p256dh": "BIPUL12DLfytvTajnryr2PRdAgXS3HGKiLqndGcJGabyhHheJYlNGCeXl1dn18gSJ1WAkAPIxr4gK0_dQds4yiI=",
"auth": "FPssNDTKnInHVndSTdbKFw=="
}
}{
"success": true,
"list": ["496156680000", "496156680001"]
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/trusted_number/update' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "tracker_id": 265489, "list": ["496156680001", "496156680000"]}'{
"success": true
}provider_type
Optional. If not specified, the default user provider is used. One of "progorod", or "google", "osrm".
key_points - list of points corresponding to start point, waypoints and end point (in that sequence).id - int. index in points list.
lat - float. Latitude.
lng - float. Longitude.
start
Location JSON object. Start of route.
JSON object
end
Location JSON object. End of route.
JSON object
waypoints
Optional. List of transitional points. [{locationA},{locationN}].
array of JSON objects
point_limit
Optional. If specified, the returned route will be simplified to contain this number of points (or less). Min=2.
int
Postman is a collaboration platform for API development, used by over 10 million developers worldwide. It simplifies the process of building, testing, and maintaining APIs, offering a user-friendly interface for sending requests and receiving responses.
To get the latest version of the Postman app, visit the download page and click “Download” for your platform. Follow the installation instructions specific to your operating system.
Open Postman: After installation, open the Postman application.
Create an Account: Sign up for a Postman account if you don't already have one. This will allow you to save your work and sync it across devices.
Import Navixy Collections: Use the link provided above to import the Navixy Postman collections into your workspace.
The Postman API client simplifies sending API requests and ensures that parameters are correctly formatted. This is particularly useful for handling complex or large requests.
Select a Request Method:
Each API request uses an HTTP method. The most common methods for the Navixy API are GET and POST. GET retrieves data from the API, while POST sends new data.
Enter the Base Request URL with the Resource and Sub-resource:
In our example, we will use user/auth and tracker/list requests. Base request URLs are:
For EU server - https://api.eu.navixy.com/v2/
For US server - https://api.us.navixy.com/v2/
Click on the Params Button:
Fill in the fields - Key (parameter name from documentation) and value. For the user/auth request, we have 2 keys that should be transmitted - login and password.
Once you fill out the parameter name, it is automatically added to the request line.
Similarly, with values and additional parameters:
Press Send:
You will see the reply, already split and highlighted for easier reading:
In this case, we have received a hash that should be copied and used for future requests.
Example:
If your request has multiple parameters listed, you can easily enable and disable them to prevent errors:
Postman keeps a history of your requests on the left side of the application. You can revisit and re-execute previous requests with a simple double-click, opening them in a new tab:
The Navixy API documentation includes both the structure of requests and examples. You can copy these examples into Postman, where parameters will be automatically parsed for convenient editing:
You can also import cURL examples from our documentation into Postman. Copy the cURL example, open the import tab in Postman, choose Raw Text, paste the example, and save it:
Gets route points using Progorod router.
start
Location JSON object. Start of route.
JSON object
end
Location JSON object. End of route.
JSON object
waypoints
Optional. List of transitional points. [{locationA},{locationN}].
array of JSON objects
point_limit
Optional. If specified, the returned route will be simplified to contain this number of points (or less). Min=2.
int
Where location described in data types description section. Order of waypoints may be changed.
distance - int. Length in meters.
time - int. Duration in seconds.
list - list of route points. Location objects.
key_points - list of points corresponding to start point, waypoints and end point (in that sequence).
id - int. index in points list.
lat - float. Latitude.
lng - float. Longitude.
215 - External service error.
218 - Malformed external service parameters – Contains info about error:
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
123456
curl -X POST 'https://api.eu.navixy.com/v2/tracker/settings/read' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 123456}'https://api.eu.navixy.com/v2/tracker/settings/read?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=123456label - string. User-defined label for this tracker, e.g. "Courier".
group_id - int. Tracker group id. 0 if tracker does not belong to any group.
201 – Not found in the database - if there is no tracker with such ID belonging to authorized user.
208 – Device blocked - if tracker exists but was blocked due to tariff restrictions or some other reason.
Updates the settings of the specified tracker.
required sub-user rights: tracker_update.
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
123456
group_id
Tracker group ID. 0 if tracker does not belong to any group. The specified group must exist.
int
1
label
User-defined label for this tracker, e.g. "Courier". Must consist of printable characters and have length between 1 and 60. Cannot contain < and > symbols.
string
201 – Not found in the database - if there is no tracker with such ID belonging to authorized user.
208 – Device blocked - if tracker exists but was blocked due to tariff restrictions or some other reason.
204 – Entity not found - if there is no group with the specified group id.
API base path: /tracker/mobile.
Registers new mobile client application.
required sub-user rights: tracker_register.
Part of parameters are registration plugin-specific. See "Registration plugins" section.
Common parameters are:
label
User-defined label for this tracker. Must consist of printable characters and have length between 1 and 60.
string
"Courier"
group_id
Tracker group id, 0 if tracker does not belong to any group. The specified group must exist. See .
int
0
device_id
Must be specified if device model uses fixed device id. See .
string
For tracker object structure, see tracker/.
13 – Operation not permitted – if user has insufficient rights.
204 – Entity not found - if specified group does not exist.
221 – Device limit exceeded - if device limit set for the user's dealer has been exceeded.
224 – Device ID already in use - if specified device ID already registered in the system.
225 – Not allowed for this legal type - if tariff of the new device is not compatible with user's legal type.
In the Navixy API, the vehicle object stores comprehensive information about a vehicle, such as its VIN, chassis number, license plate, type, dimensions, load capacity, fuel consumption, insurance details, and more. You can link a vehicle to a tracker to monitor various parameters like fuel consumption per trip and schedule timely maintenance based on mileage or engine hours.
Service works are crucial for cost and risk management in vehicle maintenance. Regular maintenance helps prevent breakdowns, ensuring vehicles remain operational and safe. For example, replacing spare parts based on usage, scheduling tire replacements, and ordering necessary parts in advance can prevent delays and reduce the risk of cargo loss.
To create a vehicle object, specify all relevant information about the vehicle. You can link the vehicle to a tracker by providing its ID in the tracker_id parameter.
Creating a Ford Transit cargo van vehicle object:
The platform will respond with:
After creating a vehicle object and assigning a device, you can create service works to manage vehicle maintenance. Each service work represents a specific maintenance task with conditions based on mileage or engine hours.
Creating service works for oil change, brakes replacement, and spark plug replacement.
The platform will respond with the ID of the created service work:
In many scenarios, it becomes essential to retrieve all location points of a track to gain comprehensive insights into the movements of an object equipped with a GPS tracker. This guide will demonstrate how to accomplish this using the Navixy API.
First, you need to .
Next, . This ID is essential as the platform needs to know which device's points to return.
With the API key hash and tracker ID in hand, you can now get all points for a specified period using the API method.
tracker_id - Obtained from the call. Only one tracker_id per call. It should be an integer.
from - A string containing the start .
to - A string containing the end .
For a full description of the parameters, see the API method.
The platform will respond with the following data:
limit_exceeded - boolean. true if the requested time period exceeds the limit specified in the tracker's tariff.
lat - float. Latitude.
lng - float. Longitude.
You can also a KML file. This file can be used with map services to visualize all points on a map.
All parameters are the same as in track/read plus two new optional parameters:
format – string. File format, either "kml" or "kmz". Default is "kml".
split – boolean. If true, splits tracks by folders with start/end placemarks and track line. Default is false.
By following these steps, you can effectively retrieve and utilize track points for detailed analysis of device movements.
API call for getting the route to destination point using OSRM API.
API path: /route/osrm.
Gets route points via OSRM API.
Where location described in .
cURL
distance - int. Length in meters.
time - int. Duration in seconds.
list - list of route points. Location objects.
215 - External service error.
218 - Malformed external service parameters.
236 - Feature unavailable due to tariff restrictions – if there is at least one tracker without "routing" tariff feature.
In Navixy, check-ins are a feature used to record and report the location and status of employees in the field. They allow employees to send real-time updates about their location, accompanied by additional data such as forms, photos, and comments. These check-ins can be used for various purposes, including verifying task completion, providing updates on job progress, and collecting field data. Check-ins are typically created using the X-GPS Tracker mobile app and can be integrated into workflows to ensure accurate and timely information from field employees.
To create check-ins in the Navixy platform, follow these steps:
Here's how to upload files to the platform. If you have multiple files to upload, add a brief delay between each upload to ensure a smooth process.
Using the API calls checkin/image/create and checkin/form/file, the app requests permission to upload a file. The platform responds with the location and token for the file upload.
The platform provides the location and token for the file upload:
Upload the file using the provided URL and token:
For the Cloud version of the platform using Amazon S3:
Upload the file using the provided URL and fields:
API calls for assigning employee ("driver") to a device and reading who is already assigned.
Allows assigning employee ("driver") to a device. Also, read who is on a vehicle now, hardware key and when, where it was assigned.
API base path: /tracker/employee.
Assigns another employee ("driver") to the tracker.
required sub-user rights: employee_update.required tariff feature: app_fleet.
201 – Not found in the database - if there is no tracker or employee with such ID belonging to authorized user.
208 – Device blocked - if tracker exists but was blocked due to tariff restrictions or some other reason.
263 – No change needed, old and new values are the same - if new employee matches a currently assigned employee.
Requests to read the current employee (driver) assigned to tracker, and when it was assigned.
current - current employee (driver) info, standard employee object, can be null.
last_change - information about the employee's last assignment, can be null.
old_employee_id
201 – Not found in the database - if there is no tracker with such ID belonging to authorized user.
208 – Device blocked - if tracker exists but was blocked due to tariff restrictions or some other reason.
API calls to get and update LED state of the tracker.
API calls to get and update LED state of the tracker. LED switch should be available for the device.
API base path: /tracker/led.
Gets LED status for the specified tracker.
value - boolean. LED status, true - ON, false - OFF.
201 – Not found in the database - if there is no tracker with such ID belonging to authorized user.
208 – Device blocked - if tracker exists but was blocked due to tariff restrictions or some other reason.
214 – Requested operation or parameters are not supported by the device.
Switches LED state for a specified tracker.
201 – Not found in the database - if there is no tracker with such ID belonging to authorized user.
208 – Device blocked - if tracker exists but was blocked due to tariff restrictions or some other reason.
214 – Requested operation or parameters are not supported by the device.
API calls for setting data transmission and operating modes of devices.
API calls for reading and setting data transmission and operating modes of devices. It is responsible for the tracking mode portlet in devices and settings tab in the UI. The list of settings can vary depending on model of the used tracker, the principle of its work and its functionality.
API base path: /tracker/settings/tracking.
Gets tracking settings for the specified tracker.
Returned fields may differ from model to model. See tracking profiles for more information.
201 – Not found in the database - if there is no tracker with such ID belonging to authorized user.
208 – Device blocked - if tracker exists but was blocked due to tariff restrictions or some other reason.
214 – Requested operation or parameters are not supported by the device - if device model has no tracking settings at all.
Sends new tracking settings to the specified tracker.
required sub-user rights: tracker_configure.
cURL
Returned fields may differ from model to model. See tracking profiles for more information.
201 – Not found in the database - if there is no tracker with such ID belonging to authorized user.
208 – Device blocked - if tracker exists but was blocked due to tariff restrictions or some other reason.
214 – Requested operation or parameters are not supported by the device - if device model has no tracking settings at all.
219 – Not allowed for clones of the device - if specified tracker is clone of another tracker.
Specific portlets that are used for models of three device manufacturers:
Engine event behavior for ATrack.
Guard mode for Yatut.
Harsh behavior for Suntech.
Special settings to set the engine event behavior for ATrack.
power_voltage_high_level - int. Voltage in 0.001 volts for detecting engine ON state. Min=0, max=30000,
default=13800 mV.
on_duration_seconds - int. Duration in seconds that must elapse before the engine state change accepted.
Min=0, max=600, default=1 second.
power_voltage_low_level - int. Voltage in 0.001 volts for detecting engine OFF state. Min=0, max=30000,
default=12800 mV.
Guard special settings for "Я ТУТ ПОИСК".
motion_sensor_mode - . Can be "off" | "permanent" | "single_period" | "double_period". Default="off".
motion_sensor_first_period - string time. Format=HH:mm-HH:mm, default="23:00-07:00" Required
for motion_sensor_mode in single_period/double_period.
motion_sensor_second_period
Harsh driving settings for Suntech.
mode - string. Can be "enable" | "disable".
max_acceleration_force - double. Can be 0.05 – 3.0 g.
max_braking_force - double. Can be 0.05 – 3.0 g.
API calls for getting and changing parking detection for the tracker.
Contains API calls for getting and changing parking detection for the tracker. It is responsible for the parking detection function in the UI. The monitoring system automatically detects the facts of parking (states without movement), for the following purposes:
To split a movement trajectory to separate trips - for clear illustration and easy viewing in tabular reports;
To capture "Trip end" / "Trip start" events - with possibility of Email/SMS notification.
API base path: /tracker/settings/trip_detection.
Gets parking detection settings for the specified tracker.
min_idle_duration_minutes - int. Number of minutes the device must be idle before a trip considered finished.
idle_speed_threshold - int. Speed (km/h) below which the device marked as being idle.
ignition_aware - boolean. Check ignition state to detect a trip.
204 – Entity not found - if there is no tracker with such ID belonging to authorized user.
208 – Device blocked - if tracker exists but was blocked due to tariff restrictions or some other reason.
Updates parking detection settings for the specified tracker.
required sub-user rights: tracker_update.
204 – Entity not found (if there is no tracker with such ID belonging to authorized user).
208 – Device blocked (if tracker exists but was blocked due to tariff restrictions or some other reason).
API call to get APN settings by device's phone number.
This guide describes how to obtain a list of GPS devices linked to a user account via the Navixy API. Accessing this information is fundamental for efficiently managing and monitoring multiple devices in the Navixy system.
Before you begin, make sure you have an active Navixy account and a valid . This key is required to access the API and perform authorized requests within the system.
Tags in the Navixy system are labels that facilitate quick and convenient searches for places, geofences, employees, tasks, trackers, and vehicles. You can create custom tags according to your needs, and each object can have multiple tags assigned.
To streamline searching for objects, assign specific tags to related items. For example, if a team of employees services several places and uses specific vehicles, you can assign a unique tag to these objects. This way, you can easily find tasks assigned to these teams.
Task forms are versatile tools that can be utilized across various business functions such as delivery, sales, inspections, customer surveys, and field reports. The data collected through these forms can be instrumental in enhancing different aspects of your business, focusing on specific areas, or conducting market analysis. Employees can fill out these forms using the X-GPS tracker application during task completion or check-ins.
To enable employees to fill out forms and for users to assign these forms to tasks, form templates must be . Let's create a form for a delivery service, where employees deliver products like trackers and provide additional services if needed. Detailed form field types can be found .
For instance, we need a form that is submitted only within the task zone to ensure task completion is recorded only after the employee has visited the task location. All fields are required except one.
Contains status object and API calls to interact with them.
Contains status object and API calls to interact with them. Working statuses used to track current activity for employees (in fact, of tracking devices owned by employees). The simplest example is "busy" | "not busy". This is a status listing consisting of two elements. Different trackers can be assigned different status lists.
Find details on working status usage in our .
id
Points of Interest (POI), or places, can serve various purposes, such as organizing a list of frequently visited clients, simplifying task management, and analyzing business data through reports. Custom fields can be added to these places to store additional information about locations and customers, enabling the creation of custom CRM or ERP systems and easy integration with third-party systems. These fields can include phone numbers, emails, and other relevant customer data, as well as assign specific employees to customers for better management.
This guide will describe how to create and use places with custom fields using the Navixy API.
Before using fields and POIs, we need to create them. Our goal is to create a new customer record with all necessary information and assign an employee to this customer. The employee will be able to view all information in their mobile app. The place object is described .
Rules are used to set up conditions according to which the system logs events and sends notifications to users.
When a server receives new data from a device, it checks whether the set conditions are true or false for this data. If they are true, the server generates an event in history, logs it, immediately sends an SMS, push message, or email, and saves the event in history.
To start working with rules, you must first create one. This involves setting up conditions under which the platform will generate events and scheduling intervals during which the rule should be active using the API call. The user must have access to rule updates.
curl -X POST 'https://api.eu.navixy.com/v2/route/get' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "start": {"lat": 34.178868, "lng": -118.599672}, "end": {"lat": 31.738386, "lng": -106.453854}}'{
"success": true,
"distance": 1340584,
"time": 43500,
"list": [
{
"lat": 34.178868,
"lng": -118.599672
},
{
"lat": 31.738386,
"lng": -106.453854
}
],
"key_points": [
{
"id": 123,
"lat": 35.365948,
"lng": -108.112104
}
]
}https://www.postman.com/navixyapisandboxhttps://www.postman.com/navixyapisandbox/workspace/navixy-api-sandbox/overview{
"success": true,
"distance": 1340584,
"time": 43500,
"list": [
{
"lat": 34.178868,
"lng": -118.599672
},
{
"lat": 31.738386,
"lng": -106.453854
}
],
"key_points": [
{
"id": 123,
"lat": 35.365948,
"lng": -108.112104
}
]
}{
"success": false,
"status": {
"code": 218,
"description": "Malformed external service parameters"
},
"errors": [
{
"type": "malformed",
"point": "start",
"index": 3
}
]
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/settings/update' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 123456, "group_id": 1, "label": "Courier"}'https://api.eu.navixy.com/v2/tracker/settings/update?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=123456&group_id=1&label=Courier{
"success": true,
"settings": {
"label": "Courier",
"group_id": 1
}
}{
"success": true
}{
"success": true,
"value": {<tracker>}
}minsize
Optional. Default=5. Smoothing parameter in conventional meters. Not recommended to set it less than distance between two neighbouring pixels on current zoom.
double
use_traffic
Optional. Default=false If it is false then use mode=optimal and use traffic=0, else mode=comfort and use traffic=1.
boolean
"Courier"
"4568005588562"
send_register_commands
Indicates send or not to send activation commands to device (via SMS or GPRS channel). If parameter is not specified or equals null will be used the platform settings. Default: null.
boolean
true/false












alt - int. Altitude in meters.
satellites - int. Number of satellites used for this point.
get_time - date/time. GPS timestamp of the point, in the user's timezone.
address - string. Point address. Will be "" if no address is recorded.
heading - int. Bearing in degrees (0..360).
speed - int. Speed in km/h.
precision - optional int. Precision in meters.
gsm_lbs - optional boolean. true if the location is detected by GSM LBS.
parking - optional boolean. true if the point does not belong to the track.
key_points - list of points corresponding to start point, waypoints and end point (in that sequence).id - int. index in points list.
lat - float. Latitude.
lng - float. Longitude.
start
Location JSON object. Start of route.
JSON object
end
Location JSON object. End of route.
JSON object
waypoints
Optional. List of transitional points. [{locationA},{locationN}].
array of JSON objects
point_limit
Optional. If specified, the returned route will be simplified to contain this number of points (or less). Min=2.
int
Use the checkin/image/create API call to create files for check-in photos and upload the photo data. In the X-GPS Tracker, check-in photos are created as each photo is added.
Use the checkin/form/file/create API call to create form files and upload their data. In the X-GPS Tracker, form files are created when they are added while filling out the form.
Use the checkin/create API call to create the check-in, attaching all the necessary data. If the form includes optional fields that should be left empty for your check-in, simply refrain from adding these fields to the form submission object.
nullnew_employee_id - ID of an employee assigned to the tracker. Can be null.
location - an address where it was. Can be null.
lat - latitude.
lng - longitude.
address - an address where it was. Can be null.
origin - supervisor (if the assignment was made through the API) or tracker
(if the assignment was made through the hardware/driver key).
hardware_key - hardware key used to change employee.
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
123456
new_employee_id
ID of the new employee.
int
12345
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
123456
curl -X POST 'https://api.eu.navixy.com/v2/tracker/employee/assign' \
-H 'Content-Type: application/json' \
-d '{"tracker_id": 123456, "new_employee_id": 12345, "hash": "a6aa75587e5c59c32d347da438505fc3"}'https://api.eu.navixy.com/v2/tracker/employee/assign?tracker_id=123456&new_employee_id=12345&hash=a6aa75587e5c59c32d347da438505fc3tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
999199
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
999199
value
The new LED state, true – ON, false – OFF.
boolean
true/false
curl -X POST 'https://api.eu.navixy.com/v2/tracker/led/read' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "tracker_id": 265489}'https://api.eu.navixy.com/v2/tracker/led/read?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=265489tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
123456
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
tracking_settings
Set of fields which differ from model to model. See tracking profiles for more information.
JSON object
curl -X POST 'https://api.eu.navixy.com/v2/tracker/settings/tracking/read' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 123456}'https://api.eu.navixy.com/v2/tracker/settings/tracking/read?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=123456off_duration_seconds - duration in seconds that must elapse before the engine state change accepted.
Min=0, max=600, default=5 seconds.
HH:mm-HH:mmmotion_sensor_modemotion_sensor_amplitude - int. Min=1, max=255, default=5 Required for motion_sensor_mode != off.
motion_sensor_duration - int. Min=1, max=255, default=5 seconds. Required for motion_sensor_mode != off.
motion_sensor_ignore_time - int. Min=5, max=99, default=5 minutes. Required for motion_sensor_mode != off.
motion_sensor_double_check - boolean. Default=false. Required for motion_sensor_mode != off.
perimeter_mode - enum. Can be "off" | "once_triggering" | "permanent" | "point_displacement". Default="off".
perimeter_diameter - int. Min=1, max=999, default=1 kilometer. Required for perimeter_mode != off.
max_cornering_force - double. Can be 0.05 – 3.0 g.motion_sensor_aware - boolean. Check motion sensor state to detect a trip.
ignition_aware
Check ignition state to detect a trip.
boolean
false
motion_sensor_aware
Check motion sensor state to detect a trip.
boolean
false
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
123456
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
123456
min_idle_duration_minutes
Number of minutes the device must be idle before a trip considered finished. Min=1, max=1440.
int
5
idle_speed_threshold
Speed (km/h) below which the device marked as being idle. Min=0, max=200. If 0 - will never idle.
int
curl -X POST 'https://api.eu.navixy.com/v2/tracker/settings/trip_detection/read' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 123456}'https://api.eu.navixy.com/v2/tracker/settings/trip_detection/read?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=1234563
phone
string representing valid international phone number without + sign.
string
"1234567890"
curl -X POST 'https://api.eu.navixy.com/v2/apn_settings/read' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "phone": "1234567890"}'https://api.eu.navixy.com/v2/apn_settings/read?hash=a6aa75587e5c59c32d347da438505fc3&phone=1234567890Text Field 1: Customer's and company's name.
Text Field 2: Information about delivered products.
Checkbox Field: Additional services provided (minimum 1, maximum 3 options, not required).
Signature Field: Customer's signature to confirm receipt of the order.
Forms can be filled in two ways:
Check-in: An employee sends their location with a filled form. Any employee can choose a created form to send with check-ins without additional assignment.
Task Completion: An employee completes a task and submits a form as a progress report. The form should be assigned to the task beforehand.
A form can be assigned to an existing task with the task update call or used during task creation.
You can analyze the submitted forms in several ways:
Obtain a list of templates to get the template_id of the desired form.
Retrieve the list of tasks with the specific template_id and time period.
Alternatively:
Get a list of tasks to find a specific task and obtain the form_id.
To get summarized information in a report format:
Generate a form completion report with plugin_id 70.
Download the report.
label - string. Human-readable label for the working status.
color - string. Hex-representation of RGB color used to display this working status.
API base path: /status/.
Creates new possible working status for the specified working status list.
required sub-user rights: tracker_update.
listing_id
ID of the list for this working status to attach to.
int
status
Status object without ID field.
JSON object
cURL
id - int. ID of the created working status.
201 - Not found in the database – if listing with the specified ID does not exist.
236 - Feature unavailable due to tariff restrictions – if there are no trackers with "statuses" tariff feature available.
268 - Over quota – if the user's quota for working statuses exceeded.
Deletes working status entry.
required sub-user rights: tracker_update.
status_id
ID of the working status belonging to authorized user.
int
201 - Not found in the database – if working status with the specified ID does not exist.
236 - Feature unavailable due to tariff restrictions – if there are no trackers with "statuses" tariff feature available.
Gets working statuses belonging to the specified status list.
listing_id
ID of the list for this working status to attach to.
int
list - ordered array of objects.
236 - Feature unavailable due to tariff restrictions – if there are no trackers with "statuses" tariff feature available.
Updates working status properties.
required sub-user rights: tracker_update.
status
Status object with ID field.
JSON object
cURL
201 - Not found in the database – if working status with the specified ID does not exist.
236 - Feature unavailable due to tariff restrictions – if there are no trackers with "statuses" tariff feature available.
For our CRM system, we need the following fields:
Label: The customer's name.
Address: The full address of the customer.
Description: Additional information about the customer, such as working hours or specific details.
Tags: Useful for searching and task management in the UI.
E-mail: The customer's email address.
Phone: The customer's phone number.
The last visit date: To track the last visit date and notify employees if the customer hasn't been visited in a while.
The last order №: To easily find the last order ID of the customer.
The last visit result: A text field for employees to specify the results of their last visit.
Responsible employee: To assign a place to a responsible employee who can see and update necessary information using their mobile app.
Some fields are default and cannot be changed (Label, Address, Description, and Tags). All other necessary fields should be created manually.
First, get the entity ID to identify which entity to update and where to add fields.
API Request:
The response will provide the necessary entity ID with existing fields. Add new fields to this entity. Only add fields that do not already exist.
API Request:
The platform will confirm the update with:
Once we have the field IDs, we can change their order in the entity. Update the entity accordingly.
API Request:
With the fields set up, we can now create a location. The field names indicate the information we want to capture for each place. Fill in the parameters based on the client's data.
API Request:
The platform will confirm creation with:
id: The ID of the created place. It can be used for obtaining and updating the place object.
To retrieve information about place objects (e.g., to sync this data with your CRM), use the place/list API call.
To update information about a place, use the place/update API call.
To get the POI name or ID where a device is located, use the place/search_location API call. For example, you may want to determine which place a device is located in or count how many devices are in a particular place.
To get this information, first request the device's state and location. Using the received latitude and longitude parameters, you can check the relevant places.
curl -X POST 'https://api.eu.navixy.com/v2/vehicle/create' \
-H 'Content-Type: application/json' \
-d '{
"hash": "a6aa75587e5c59c32d347da438505fc3",
"vehicle": {
"additional_info": "January 2021",
"avatar_file_name": null,
"chassis_number": "",
"color": "Blue",
"frame_number": "",
"free_insurance_policy_number": "",
"free_insurance_valid_till": null,
"fuel_cost": 4,
"fuel_grade": "",
"fuel_tank_volume": 80,
"fuel_type": "diesel",
"garage_id": null,
"gross_weight": null,
"icon_color": "1E96DC",
"icon_id": null,
"label": "Ford 53196",
"liability_insurance_policy_number": "54687965555er2152",
"liability_insurance_valid_till": "2022-01-12",
"manufacture_year": 2019,
"max_speed": 100,
"model": "Transit",
"norm_avg_fuel_consumption": 8.3,
"passengers": 3,
"payload_height": 2550,
"payload_length": 5531,
"payload_weight": 1529,
"payload_width": 2059,
"reg_number": "A53196BC",
"subtype": "minivan",
"tags": [],
"tracker_id": 841400,
"trailer": null,
"type": "truck",
"tyre_size": "R15",
"tyres_number": 4,
"vin": "XTA235KM35698512",
"wheel_arrangement": "4x2"
}
}'{
"success": true,
"id": 96175
}curl -X POST 'https://api.eu.navixy.com/v2/vehicle/service_task/create' \
-H 'Content-Type: application/json' \
-d '{
"hash": "a6aa75587e5c59c32d347da438505fc3",
"task": {
"vehicle_id": 96175,
"comment": "Oil Ford Formula F 5W30",
"conditions": {
"engine_hours": {
"limit": 328,
"notification_interval": 18
}
},
"cost": 28,
"description": "Oil Change",
"file_ids": [],
"notifications": {
"sms_phones": ["79995699997"],
"emails": ["[email protected]"],
"push_enabled": true
},
"repeat": false,
"unplanned": false
}
}'curl -X POST 'https://api.eu.navixy.com/v2/vehicle/service_task/create' \
-H 'Content-Type: application/json' \
-d '{
"hash": "a6aa75587e5c59c32d347da438505fc3",
"task": {
"vehicle_id": 96175,
"comment": "ATE",
"conditions": {
"mileage": {
"limit": 78000,
"notification_interval": 75000
}
},
"cost": 200,
"description": "Brakes Change",
"file_ids": [],
"notifications": {
"sms_phones": ["79995699997"],
"emails": ["[email protected]"],
"push_enabled": true
},
"repeat": false,
"unplanned": false
}
}'{
"success": true,
"id": 42401
}{
"success": true,
"limit_exceeded": true,
"list": [
{
"lat": 53.445181,
"lng": -2.276432,
"alt": 10,
"satellites": 8,
"get_time": "2011-06-18 03:39:44",
"address": "4B Albany Road, Manchester, Great Britain",
"heading": 298,
"speed": 70,
"precision": 100,
"gsm_lbs": true,
"parking": true
}
]
}curl -X POST 'https://api.eu.navixy.com/v2/track/download' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 123456, "from": "2020-09-23 03:24:00", "to": "2020-09-23 06:24:00", "format": "kml", "split": false}'curl -X POST 'https://api.eu.navixy.com/v2/route/osrm/get' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "start": {34.178868, "lng": -118.599672}, "end": {35.365948, "lng": -108.112104}}'{
"success": true,
"distance": 1340584,
"time": 43500,
"list": [
{
"lat": 34.178868,
"lng": -118.599672
},
{
"lat": 31.738386,
"lng": -106.453854
}
],
"key_points": [
{
"id": 123,
"lat": 35.365948,
"lng": -108.112104
}
]
}{
"success": false,
"status": {
"code": 218,
"description": "Malformed external service parameters"
},
"errors": [
{
"status": "NOT_FOUND",
"status_code": 207,
"message": "Cannot find route between points"
}
]
}* `status` - [enum](../../../getting-started/introduction.md#data-types).
* `NOT_FOUND` – indicates at least one of the locations specified in the request's origin, destination, or
waypoints could not be geocoded, or OSRM cannot find route.
* `UNKNOWN_ERROR` – unexpected OSRM error code.
* `status_code` - int. OSRM status code (don't rely on it).
* `message` - string. OSRM error message (don't rely on it).{
"success": true,
"value": {
"file_id": 111,
"url": "http://example.org/upload",
"expires": "2020-02-03 03:04:00",
"file_field_name": "example.png",
"fields": {
"token": "a43f43ed4340b86c808ac"
}
}
}POST /upload HTTP/1.1
Host: example.org
Content-Length: 1325
Origin: http://example.org
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryePkpFF7tjBAqx29L
------WebKitFormBoundaryePkpFF7tjBAqx29L
Content-Disposition: form-data; name="token"
a43f43ed4340b86c808ac
------WebKitFormBoundaryePkpFF7tjBAqx29L
Content-Disposition: form-data; name="example.png"; filename="example.png"
Content-Type: image/png
... contents of file go here ...
------WebKitFormBoundaryePkpFF7tjBAqx29L--{
"success": true,
"value": {
"file_id": 111,
"url": "https://example.s3.amazonaws.com/",
"expires": "2020-02-03 03:04:00",
"file_field_name": "file",
"fields": {
"policy": "<Base64-encoded policy string>",
"key": "user/user1/${filename}",
"success_action_status": "200",
"x-amz-algorithm": "AWS4-HMAC-SHA256",
"x-amz-credential": "AKIAIOSFODNN7EXAMPLE/20151229/us-east-1/s3/aws4_request",
"x-amz-date": "20151229T000000Z",
"x-amz-signature": "<signature-value>",
"x-amz-server-side-encryption": "AES256",
"content-type": "image/png"
}
}
}POST / HTTP/1.1
Host: example.s3.amazonaws.com
Content-Length: 1972
Origin: https://example.s3.amazonaws.com/
Content-Type: multipart/form-data; boundary=WebAppBoundary
--WebAppBoundary
Content-Disposition: form-data; name="policy"
Content-Type: text/plain
<Base64-encoded policy string>
--WebAppBoundary
Content-Disposition: form-data; name="key"
Content-Type: text/plain
user/user1/actual_file_name.png
--WebAppBoundary
Content-Disposition: form-data; name="success_action_status"
Content-Type: text/plain
200
--WebAppBoundary
Content-Disposition: form-data; name="x-amz-algorithm"
Content-Type: text/plain
AWS4-HMAC-SHA256
--WebAppBoundary
Content-Disposition: form-data; name="x-amz-credential"
Content-Type: text/plain
AKIAIOSFODNN7EXAMPLE/20151229/us-east-1/s3/aws4_request
--WebAppBoundary
Content-Disposition: form-data; name="x-amz-date"
Content-Type: text/plain
20151229T000000Z
--WebAppBoundary
Content-Disposition: form-data; name="x-amz-signature"
Content-Type: text/plain
<signature-value>
--WebAppBoundary
Content-Disposition: form-data; name="x-amz-server-side-encryption"
Content-Type: text/plain
AES256
--WebAppBoundary
Content-Disposition: form-data; name="file"; filename="actual_file_name.png"
Content-Type: image/png
... contents of file go here ...
--WebAppBoundary--{
"success": true
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/employee/read' \
-H 'Content-Type: application/json' \
-d '{"tracker_id": 123456, "hash": "a6aa75587e5c59c32d347da438505fc3"}'https://api.eu.navixy.com/v2/tracker/employee/read?tracker_id=123456&hash=a6aa75587e5c59c32d347da438505fc3{
"success": true,
"current": {
"id": 1,
"icon_id": 55,
"tracker_id": 560,
"first_name": "John",
"middle_name": "M",
"last_name": "Johnson",
"email": "",
"phone": "",
"driver_license_number": "34534545",
"driver_license_cats": "AB, sgeg",
"driver_license_issue_date": "2005-06-04",
"driver_license_valid_till": "2015-06-04",
"hardware_key": "ab8def",
"department_id": null,
"location": {
"lat": 0.0,
"lng": 0.0,
"address": ""
}
},
"last_change": {
"old_employee_id": null,
"new_employee_id": 1,
"location": {
"lat": 11.0,
"lng": 22.0,
"address": "Haraze-Mangueigne"
},
"changed": "2016-11-17 17:01:20",
"origin": "tracker",
"hardware_key": "ab8def"
}
}{
"success": true,
"value": true
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/led/update' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "tracker_id": 265489, "value": true}'https://api.eu.navixy.com/v2/tracker/led/update?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=265489&value=true{
"success": true
}{
"success": true,
"value": {<tracking settings>}
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/settings/tracking/update' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 123456, "tracking_settings": {"tracking_angle": 30, "tracking_distance": 100, "tracking_interval": 60, "on_stop_tracking_interval": 180, "sleep_mode": "disabled", "stop_detection": "ignition"}}'{
"success": true
}{
"power_voltage_high_level": 13800,
"on_duration_seconds": 120,
"power_voltage_low_level": 12800,
"off_duration_seconds": 300
}{
"motion_sensor_mode": "double_period",
"motion_sensor_first_period": "23:00-07:00",
"motion_sensor_second_period": "10:00-17:00",
"motion_sensor_amplitude": 10,
"motion_sensor_duration": 30,
"motion_sensor_ignore_time": 50,
"motion_sensor_double_check": false,
"perimeter_mode": "once_triggering",
"perimeter_diameter": 1
}{
"mode": "enable",
"max_acceleration_force": 1.5,
"max_braking_force": 0.05,
"max_cornering_force": 3,
"type": "harsh_behavior_suntech"
}{
"success": true,
"min_idle_duration_minutes": 5,
"idle_speed_threshold": 3,
"ignition_aware": false,
"motion_sensor_aware": false
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/settings/trip_detection/update' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 123456, "min_idle_duration_minutes": "5", "idle_speed_threshold": "3", "ignition_aware": false, "motion_sensor_aware": false}'https://api.eu.navixy.com/v2/tracker/settings/trip_detection/update?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=123456&min_idle_duration_minutes=5&idle_speed_threshold=3&ignition_aware=false&motion_sensor_aware=false{
"success": true
}{
"success": true,
"value": {
"name": "internet",
"user": "",
"password": "",
"operator_name": "Deutsche Telekom"
}
}curl -X POST 'https://api.eu.navixy.com/v2/form/template/create' \
-H 'Content-Type: application/json' \
-d '{
"hash": "22eac1c27af4be7b9d04da2ce1af111b",
"template": {
"label": "Trackers Delivery",
"description": "Employee, fill this form with every delivery",
"fields": [
{
"id": "Text-1",
"type": "text",
"label": "Customer\'s name",
"required": true,
"description": "Specify here customer\'s and company\'s name",
"max_length": 1000,
"min_length": 1
},
{
"id": "Text-2",
"type": "text",
"label": "Delivered",
"required": true,
"description": "Specify here all delivered models and their amounts",
"max_length": 1000,
"min_length": 1
},
{
"id": "Checkbox",
"type": "checkbox_group",
"label": "Additional options",
"description": "Specify here all provided additional options",
"group": [
{"label": "Presentation and training"},
{"label": "Additional configuration"},
{"label": "Installation"}
],
"max_checked": 3,
"min_checked": 1,
"required": false
},
{
"id": "Signature",
"type": "signature",
"label": "Customer\'s signature",
"description": "Let a customer add their signature to confirm receipt of the order",
"required": true
}
],
"submit_in_zone": true,
"default": true
}
}'{
"success": true,
"id": 111
}curl -X POST 'https://api.eu.navixy.com/v2/status/delete' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "status_id": 123}'https://api.eu.navixy.com/v2/status/delete?hash=a6aa75587e5c59c32d347da438505fc3&status_id=123curl -X POST 'https://api.eu.navixy.com/v2/status/list' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "listing_id": 12345}'https://api.eu.navixy.com/v2/status/list?hash=a6aa75587e5c59c32d347da438505fc3&listing_id=12345{
"id": 5,
"label": "Busy",
"color": "E57373"
}curl -X POST 'https://api.eu.navixy.com/v2/status/create' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "listing_id": 12345, "status": {"label": "Busy", "color": "E57373"}}'{
"success": true,
"id": 111
}{
"success": true
}{
"success": true,
"list": [
{
"id": 5,
"label": "Busy",
"color": "E57373"
}, {
"id": 6,
"label": "Free",
"color": "A27373"
}
]
}curl -X POST 'https://api.eu.navixy.com/v2/status/update' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "status": {"id": 5, "label": "Busy", "color": "E57373"}}'{
"success": true
}curl -X POST 'https://api.eu.navixy.com/v2/entity/list' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3"}' curl -X POST 'https://api.eu.navixy.com/v2/entity/fields/update' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "delete_missing": true, "entity_id": 520, "fields": [{"label": "E-mail", "required": false, "type": "email", "description": "Customer\'s email"}, {"label": "Phone", "required": false, "type": "phone", "description": "Customer\'s phone"}, {"label": "The last visit date", "required": false, "type": "text", "description": null}, {"label": "The last order №", "required": false, "type": "text", "description": null}, {"label": "The last visit result", "required": false, "type": "text", "description": null}, {"label": "Responsible employee", "params": {"responsible": true}, "required": false, "type": "employee", "description": null}]}'{
"success": true,
"list": [
{
"id": 2327,
"label": "E-mail",
"required": false,
"description": "Customer's email",
"type": "email"
},
{
"id": 2328,
"label": "Phone",
"required": false,
"description": "Customer's phone",
"type": "phone"
},
{
"id": 2329,
"label": "The last visit date",
"required": false,
"description": null,
"type": "text"
},
{
"id": 2330,
"label": "The last order №",
"required": false,
"description": null,
"type": "text"
},
{
"id": 2331,
"label": "The last visit result",
"required": false,
"description": null,
"type": "text"
},
{
"id": 2332,
"label": "Responsible employee",
"required": false,
"description": null,
"params": {
"responsible": true
},
"type": "employee"
}
]
}curl -X POST 'https://api.eu.navixy.com/v2/entity/update' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "entity": {"allowed": true, "id": 520, "type": "place", "settings": {"layout": {"sections": [{"label": "Places", "field_order": ["label", "location", "description", "tags", "2327", "2328", "2329", "2330", "2331", "2332"]}]}}}}'curl -X POST 'https://api.eu.navixy.com/v2/place/create' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "place": {"label": "Company1", "description": "Accepted one more deal for 7 devices next week", "files": [], "fields": {"2327": {"value": "[email protected]", "type": "email"}, "2328": {"value": "555231415221", "type": "phone"}, "2329": {"value": "10/10/2021", "type": "text"}, "2330": {"value": "87292", "type": "text"}, "2331": {"value": "Sold 10 devices", "type": "text"}, "2332": {"value": 71247, "type": "employee"}}, "location": {"address": "Lovell House, 6 Archway, Hulme, Manchester M15 5RN, UK", "lat": 53.46583133200717, "lng": -2.2464680671691895, "radius": 50}, "tags": [218916]}}{
"success": true,
"id": 1521307
}To retrieve the list of trackers, send a POST request to the /tracker/list endpoint. The following sections provide detailed information and examples to guide you through this process.
https://api.{region}.navixy.com/v2/tracker/list
cURL
curl -X POST 'https://api.navixy.com/v2/tracker/list' \
-H 'Content-Type: application/json' \
-d '{"hash": "your_api_key_hash"}'https://api.navixy.com/v2/tracker/list?hash=your_api_key_hashResponse
If the request is successful, the response will return a list of trackers linked to your account.
id (integer): The unique identifier of each tracker object within the list. This identifier, known as the tracker_id or object_id, uniquely distinguishes the tracker on the platform and is used in all subsequent API calls related to trackers.
label (string): The name of the tracker object.
group_id (integer): Indicates the group to which the tracker belongs.
source (object): Provides information about the data source for the tracker object, associating the platform tracker with a specific physical device.
creation_date (string, ISO 8601 date): The date the tracker was created on the platform.
blocked (boolean): Indicates if the tracker is blocked due to user tariff restrictions.
tag_bindings (array of integers): Lists all tag IDs assigned to the tracker.
clone (boolean): Indicates if the tracker is a clone (true) or original (false).
If an account contains many trackers but you only need specific ones, you can use an optional filter parameter in the request to return only the matching records.
To do this, include the labels parameter in your request body. This parameter is an array of tracker label filters. When specified, the response will include only trackers whose labels contain any of the specified filter values. The filtering logic applies a logical OR between the items, meaning trackers matching any of the specified labels will be returned. Partial matching on tracker names is supported.
The labels parameter has the following constraints:
Array size: minimum 1, maximum 1024 items
Item length: minimum 1 character, maximum 60 characters
No null or duplicate items are allowed
In our previous example we received 4 trackers. Let's assume we need only "Chevrolet Equinox" and "Peterbilt 579" trackers to be received within the filtered list. Then we should add parameter labels, which will contain at least part of their names.
Usage notes
The /tracker/list endpoint requires a POST request with a valid API key for authentication.
Use the id field returned in the response to reference trackers in subsequent API calls as tracker_id or object_id.
The labels filter supports partial matching on tracker names and can be used to efficiently narrow down results when dealing with large numbers of trackers.
Tracker objects in the response represent logical entities within the platform, each linked to a specific physical device identified by device_id, which can be an IMEI or serial number.
First, create the tag using the tag/create method. Let's name it "team1."
API request:
curl -X POST 'https://api.eu.navixy.com/v2/tag/create' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tag": {"name": "team1", "color": "#00BFFF"}}'https://api.eu.navixy.com/v2/tag/create?hash=a6aa75587e5c59c32d347da438505fc3&tag={"name": "team1", "color": "#00BFFF"}The platform will reply with the created tag ID. You can find this tag using the tag/list method.
Next, assign this tag to your objects. You can do this when updating or creating objects by adding the "tags" parameter:
- /
- /
- Use the tags/set method
To find all objects with a specific tag, use the tag/search method.
API request:
The platform will respond with objects that have the assigned tag:
Availability of some parameters depends on the rule type used:
name: A string containing the name of the created rule.
description: A string containing the rule's description.
zone_ids: An array of integers. A list of zones where the rule will be active. Leave it empty if the rule should work everywhere. zone_ids is not allowed for the offline rule and is required for route and inoutzone rule types.
trackers: An array of integers. A list of tracker IDs that belong to the user for which the rule will work.
type: A string containing one of the predefined rule types. See .
primary_text: A string with the primary text of the rule notification when the condition is true.
secondary_text: An optional string with the secondary text of the rule notification when the condition is false. The availability of this parameter depends on the rule type.
param: An optional integer for common integer conditions. The availability of this parameter depends on the rule type. See .
alerts: An object with destinations for notifications. Defines who and how notifications will be received. Described in the .
suspended: A boolean that starts and stops the rule. true if the rule is suspended.
schedule: An optional object that configures the time when the rule works. Described in the .
extended_params: An optional object specified for a particular rule type. See .
The platform will respond with the ID of the created rule.
Once a rule is created, you can bind devices to it using the rule/bind call. For instance, if a newly registered device needs to follow an existing rule, bind it to the rule without creating a new one. Similarly, use the rule/unbind call to remove devices from a rule when it is no longer needed for them.
rule_id: The ID of the rule. You can get rule IDs using the rule/list call.
trackers: An array of integers. List of tracker IDs. Trackers that do not exist, are owned by another user, or are deleted will be ignored without errors.
If a rule needs to be updated, such as adding another phone number for SMS notifications, use the rule/update call. This method is more efficient than deleting an existing rule and creating a new one.
The list of necessary parameters is the same as in the rule/create call, plus the id parameter.
id: An integer with the ID of the rule to be updated. You can get rule IDs using the rule/list call.
To suspend a rule, use the rule/update call and change only the suspended parameter to true. All other parameters should remain unchanged.
label - string. Map layer name.
API path: /map_layer.
Reads the body of the specified layer.
id
ID of the map layer.
int
123456
Layer body with content-type: application/vnd.google-earth.kml+xml; charset=utf-8.
201 - Not found in the database – if there is no map layer with such ID belonging to current user.
Returns metadata for all map layers for the user.
Only API key hash.
No specific errors.
Uploads new map layer.
MUST be a POST multipart request (multipart/form-data), with one of the parts being a KML file upload (with the name "file").
label
Label for a new map layer.
string
file
A KML file upload containing map_layer data.
File upload
redirect_target
Optional. URL to redirect. If redirect_target passed return redirect to <redirect_target>?response=<urlencoded_response_json>
string
id - int. ID of the created layer.
233 - No data file – if file part is missing.
234 - Invalid data format – if file has wrong mime type.
242 - Validation error – if uploaded file is not valid KML.
268 - Over quota – if the user's quota for map layers exceeded.
Updates metadata for the specified map layer.
layer
Map layer object described
JSON object
201 - Not found in the database – if there is no map layer with such ID belonging to current user.
Deletes specified layer.
id
ID of the map layer.
int
123456
201 - Not found in the database – if there is no map layer with such ID belonging to current user.
Request to change the states of all digital outputs of the device. The device must be online.
required sub-user rights: tracker_set_output.
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
999199
outputs
Array of desired states of all digital outputs, e.g. [true, true, false] means output 1 is on, output 2 is on, output 3 is off.
array of boolean
[true, true, false]
cURL
204 – Entity not found - if there is no tracker with such ID belonging to authorized user.
208 – Device blocked - if tracker exists but was blocked due to tariff restrictions or some other reason.
213 – Cannot perform action: the device is offline - if corresponding tracker is not connected to the server.
214 – Requested operation or parameters are not supported by the device - if device does not support batch mode, or has a different number of outputs.
219 – Not allowed for clones of the device - if tracker is clone.
Request to change the state of the specified digital output of the device. The device must be online.
required sub-user rights: tracker_set_output.
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
999199
output
The number of the output to control, starting from 1.
int
1
enable
true if the requested output should be enabled, or false if it should be disabled.
boolean
204 – Entity not found - if there is no tracker with such ID belonging to authorized user.
208 – Device blocked - if tracker exists but was blocked due to tariff restrictions or some other reason.
213 – Cannot perform action: the device is offline - if corresponding tracker is not connected to the server.
214 – Requested operation or parameters are not supported by the device - if device does not support controlling single output, does not have specified digital output, or the specified output reserved to "engine block" feature. In this case, output cannot be controlled by this command for safety reasons.
219 – Not allowed for clones of the device - if tracker is clone.
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
123456
from
From date/time.
"2020-09-23 03:24:00"
to
To date/time. Specified date must be after "from" date.
cURL
A docx file with the waybill.
236 - Feature unavailable due to tariff restrictions – if one of the trackers has tariff without "app_fleet" feature.
API calls to search address and location using geocoder
API calls to search address and location using geocoder.
google.
yandex.
progorod.
osm.
locationiq.
API path: /geocoder.
Performs a forward geocoding. Returns a list of locations matching the given address. Items in the list sorted by relevance.
cURL
lat - double. Latitude.
lng - double. Longitude.
address - string. Address.
Search address by location using geocoder.
cURL
value - string. Address.
details - optional details object.
country - optional string.
Contains status listing object and API calls to interact with working status list.
Contains status listing object and API calls to interact with status listings. Status listings are lists of possible statuses that can be assigned to trackers.
id - int. A unique identifier of this working status list. Read-only.
label - string. Human-readable label for the working status list.
employee_controlled - boolean. If true employees can change their own working status, e.g. using mobile tracking app.
supervisor_controlled - boolean. If true supervisors can change working status, e.g. using mobile monitoring app.
entries - int array. List of IDs of working statuses which belong to this list. Order matters, and is preserved.
API base path: /status/listing/.
Creates new empty working status list.
required sub-user rights: tracker_update.
cURL
id - int. ID of the created working status list.
236 - Feature unavailable due to tariff restrictions – if there are no trackers with "statuses" tariff feature available.
268 - Over quota – if the user's quota for working status lists exceeded.
Deletes working status list.
required sub-user rights: tracker_update.
201 - Not found in the database – if working status list with the specified ID does not exist.
236 - Feature unavailable due to tariff restrictions – if there are no trackers with "statuses" tariff feature available.
Gets working status lists belonging to authorized user.
Only API key hash.
list - ordered array of objects.
236 - Feature unavailable due to tariff restrictions – if there are no trackers with "statuses" tariff feature available.
Updates working status list properties.
required sub-user rights: tracker_update.
entries field allows changing order of statuses attached to this working status list.
cURL
201 - Not found in the database – if working status list with the specified ID does not exist.
236 - Feature unavailable due to tariff restrictions – if there are no trackers with "statuses" tariff feature available.
262 - Entries list is missing some entries or contains nonexistent entries – if entries does not contain full set of status IDs associated with this working status list, or if it contains nonexistent status IDs.
Work with API using Zapier.
Automate repetitive tasks and enhance productivity by integrating Navixy with Zapier. Zapier is a powerful automation tool that connects different applications, enabling you to streamline workflows without any coding. By using triggers and actions, Zapier allows you to automate processes, reducing manual effort and increasing efficiency.
Zapier is a web-based service that automates actions between different apps. It follows a simple "When this happens, do that" logic. When an event occurs in one app (trigger), Zapier can make another app perform a specified action. This allows you to create seamless automated workflows, known as Zaps, to handle routine tasks.
By integrating Navixy with Zapier, you can:
Automate responses to events from your tracking devices
Streamline communication and data flow between Navixy and other platforms
Save time and reduce the potential for errors in manual tasks
Enhance your operational efficiency and responsiveness
Example use cases include:
Sending a GPRS command or activating an output on a schedule
Sending a Slack message when a tracker event occurs
Deactivating a tracker based on specific events
Sign Up for Zapier First, ensure you have .
Conceptualize Your Zap Think about what you want to automate. For instance, you might want to deactivate equipment automatically when it leaves a specific geofence.
Access Navixy Triggers and Actions Open the to access Navixy triggers and actions. Click "Accept invite & Build a Zap."
Dashboard Overview
Select App Search for and select the Navixy app.
Configure Trigger Choose "New Tracker Event" as the trigger. Connect your account by providing a User Session Key or an API key.
Obtain a User Session Key from Navixy Admin Panel -> Users -> User -> Get session key. For API keys, refer to .
Select the correct server (US for accounts starting with 1000xxxx, otherwise EU).
Specify Trigger Details
Choose one of the following actions based on your device and use case.
Set Output For devices that change one output at a time. Provide:
Tracker ID
Output number
Output state (enable/disable)
Activate your Zap to start the automation. Ensure your device is online to receive commands.
Switching off the engine of a moving vehicle can lead to serious accidents and is extremely dangerous. This action should only be performed under safe conditions, such as when the vehicle is stationary and secured. Navixy is not liable for any accidents, injuries, or damages resulting from the improper use of this functionality.
For detailed steps and more examples, refer to the .
Contains tracker retranslator binding object and API calls to bind/unbind it to tracker or get already binded one.
retranslator_id - int. An ID of the retranslator.
fake_device_id - string. Optional. If this field is set retranslator use it instead of real device ID to forward data.
API base path: /tracker/retranslator.
Creates or updates binding.
required sub-user rights: admin (available only to master users).
201 - Not found - either tracker or retranslator are not found by provided ID
208 - Device blocked – if tracker exists but was blocked due to tariff restrictions or some other reason.
219 - Not allowed for clones of the device – if tracker is a clone.
236 - Feature unavailable due to tariff restrictions – if there are no trackers with "retranslation" tariff feature available.
List tracker retranslators bound to tracker with ID=tracker_id.
208 - Device blocked – if tracker exists but was blocked due to tariff restrictions, or some other reason.
Unbinds a tracker from retranslator.
required sub-user rights: admin (available only to master users).
208 - Device blocked – if tracker exists but was blocked due to tariff restrictions, or some other reason.
219 - Not allowed for clones of the device – if tracker is a clone.
Contains list of methods to get BLE beacon data.
Methods for obtaining collected BLE beacon data. BLE beacon data is data about radio tags (BLE beacons) visible to a tracker, e.g. iBeacon, Teltonika EYE Beacon\Sensor, Eddystone.
tracker_id - int. An ID of the tracker (aka "object_id").
hardware_id - string. An ID of the beacon.
rssi - int. RSSI stands for received signal strength indicator and represents the power of received signal on a device. According to it, you can understand how far away the beacon is from the tracker.
get_time - . When this data received.
latitude - float. Latitude.
longitude - float. Longitude.
ext_data - object. Additional beacon data.
API path: /beacon/data/read.
List of beacon data history between from date/time and to date/time sorted by get_time field.
cURL
list - list of zero or more beacon_data_entry objects which is described in .
API path: /beacon/data/last_values.
List of last BLE beacon data visible on the trackers.
cURL
list - list of zero or more beacon_data_entry objects which is described in .
Contains group object structure and API calls to interact with them.
Contains group object structure and API calls to interact with them. Tracker group used to organize trackers in user interface. Currently, its function is purely visual.
id - int. Group ID. Used to reference group in objects and API calls. Read-only, assigned automatically by the server.
Tasks in Navixy are a feature used to plan and monitor the activities of field workers. They help in organizing and managing various operations such as service, delivery, transportation, merchandising, and trade. Tasks provide employees with detailed information including date, time, addresses, task descriptions, and contact numbers.
Creation: Tasks are created with specific details such as the location, time, and description. They can be single-point tasks or route tasks with multiple checkpoints.
API calls to read and set sensor calibration data.
{
"list": [
{
"id": 10191086,
"label": "Chevrolet Equinox",
"group_id": 0,
"source": {
"status_listing_id": null,
"id": 10118726,
"creation_date": "2023-03-08",
"blocked": false,
"device_id": "359632100002001",
"tariff_id": 5856,
"model": "telfmm00a",
"tariff_end_date": "2025-12-01",
"phone": "359632100002001"
},
"tag_bindings": [],
"clone": false
},
{
"id": 10191087,
"label": "Peterbilt 579",
"group_id": 0,
"source": {
"status_listing_id": null,
"id": 10118727,
"creation_date": "2023-03-08",
"blocked": false,
"device_id": "359632100002002",
"tariff_id": 5856,
"model": "ruptela_pro5",
"tariff_end_date": "2025-12-01",
"phone": "359632100002002"
},
"tag_bindings": [],
"clone": false
},
{
"id": 10191088,
"label": "X-GPS",
"group_id": 0,
"source": {
"status_listing_id": null,
"id": 10118728,
"creation_date": "2023-03-08",
"blocked": false,
"device_id": "156616052918",
"tariff_id": 5856,
"model": "iosnavixytracker_xgps",
"tariff_end_date": "2025-12-01",
"phone": null
},
"tag_bindings": [],
"clone": false
},
{
"id": 10191089,
"label": "Ford Fiesta",
"group_id": 0,
"source": {
"status_listing_id": null,
"id": 10118821,
"creation_date": "2023-03-08",
"blocked": false,
"device_id": "359632100002003",
"tariff_id": 5856,
"model": "eelink_got8",
"tariff_end_date": "2025-12-01",
"phone": "3463463456456456"
},
"tag_bindings": [],
"clone": false
}
],
"success": true
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/list' \
-H 'Content-Type: application/json' \
-d '{"hash": "your_api_key_hash", "labels": ["Chevrolet", "Peterbilt"]}'curl -X POST 'https://api.eu.navixy.com/v2/tag/search' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tag_ids": [179227]}'https://api.eu.navixy.com/v2/tag/search?hash=22eac1c27af4be7b9d04da2ce1af111b&tag_ids=[179227]{
"success": true,
"result": {
"place": [
{
"id": 1446571,
"location": {
"lat": 34.178868,
"lng": -118.599672,
"address": "21550 W Oxnard St, Woodland Hills, CA 91367, USA",
"radius": 100
},
"label": "New place",
"description": "",
"external_id": null,
"tags": [
179227
]
}
],
"task": [
{
"id": 8280866,
"user_id": 184541,
"tracker_id": 669673,
"status": "assigned",
"status_change_date": "2021-06-17 12:41:52",
"tags": [
179227
],
"label": "New task ",
"description": "",
"external_id": null,
"creation_date": "2021-06-17 12:41:37",
"origin": "manual",
"location": {
"lat": 33.492830,
"lng": -112.177673,
"address": "3836-3820 N 55th Ave, Phoenix, AZ 85031, USA",
"radius": 152
},
"from": "2021-06-17 00:00:00",
"to": "2021-06-17 23:59:59",
"arrival_date": null,
"stay_duration": 0,
"min_stay_duration": 0,
"min_arrival_duration": 0,
"max_delay": 0,
"type": "task"
}
],
"employee": [
{
"id": 55693,
"tracker_id": 669673,
"first_name": "Andrew",
"middle_name": "",
"last_name": "",
"email": "",
"phone": "",
"driver_license_number": "",
"driver_license_cats": "",
"driver_license_issue_date": null,
"driver_license_valid_till": null,
"hardware_key": null,
"department_id": null,
"location": {
"lat": 39.801066,
"lng": -105.028685,
"address": "5735 Hooker St, Denver, CO 80221, United States",
"radius": 150
},
"personnel_number": "1235341231",
"tags": [
179227
]
}
]
}
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/rule/bind' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "rule_id": 123, "trackers": [265489]}'curl -X POST 'https://api.eu.navixy.com/v2/tracker/rule/unbind' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "rule_id": 123, "trackers": [265489]}'curl -X POST 'https://api.eu.navixy.com/v2/tracker/rule/create' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "rule": {"description": "", "type": "work_status_change", "primary_text": "status changed", "alerts": {"push_enabled": true, "emails": ["[email protected]"], "emergency": false, "sms_phones": ["745494878945"], "phones": []}, "suspended": false, "name": "Status changing", "trackers": [123456], "extended_params": {"emergency": false, "zone_limit_inverted": false, "status_ids": [319281,319282,319283]}, "schedule": [{"from": {"weekday": 1, "time": "00:00:00"}, "to": {"weekday": 7,"time": "23:59:59"}, "type": "weekly"}], "zone_ids": []}}'{
"success": true,
"id": 123
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/rule/update' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "rule": {"id": 123, "description": "", "type": "work_status_change", "primary_text": "status changed", "alerts": {"push_enabled": true, "emails": ["[email protected]"], "emergency": false, "sms_phones": ["745494878945"], "phones": []}, "suspended": false, "name": "Status changing", "trackers": [123456], "extended_params": {"emergency": false, "zone_limit_inverted": false, "status_ids": [319281,319282,319283]}, "schedule": [{"from": {"weekday": 1, "time": "00:00:00"}, "to": {"weekday": 7, "time": "23:59:59"}, "type": "weekly"}], "zone_ids": []}}'curl -X POST 'https://api.eu.navixy.com/v2/tracker/rule/update' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "rule": {"id": 123, "description": "", "type": "work_status_change", "primary_text": "status changed", "alerts": {"push_enabled": true, "emails": ["[email protected]"], "emergency": false, "sms_phones": ["745494878945"], "phones": []}, "suspended": true, "name": "Status changing", "trackers": [123456], "extended_params": {"emergency": false, "zone_limit_inverted": false, "status_ids": [319281,319282,319283]}, "schedule": [{"from": {"weekday": 1, "time": "00:00:00"}, "to": {"weekday": 7, "time": "23:59:59"}, "type": "weekly"}], "zone_ids": []}}'curl -X POST 'https://api.eu.navixy.com/v2/map_layer/read' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "id": 123456}'https://api.eu.navixy.com/v2/map_layer/read?hash=a6aa75587e5c59c32d347da438505fc3&id=123456curl -X POST 'https://api.eu.navixy.com/v2/map_layer/list' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b"}'https://api.eu.navixy.com/v2/map_layer/listd?hash=a6aa75587e5c59c32d347da438505fc3curl -X POST 'https://api.eu.navixy.com/v2/map_layer/delete' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "id": 123456}'https://api.eu.navixy.com/v2/map_layer/delete?hash=a6aa75587e5c59c32d347da438505fc3&id=123456{
"id": 123456,
"label": "test"
}{
"success": true,
"list": [
{
"id": 123456,
"label": "test"
}
]
}{
"success": true,
"id": 163
}{
"success": true
}{
"success": true
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/output/set' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", tracker_id: 265489, "output": 1, "enable": true}'https://api.eu.navixy.com/v2/tracker/output/set?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=265489&output=1&enable=truecurl -X POST 'https://api.eu.navixy.com/v2/tracker/output/set_all' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "tracker_id": 265489, "outputs": [true, true, false]}'{
"success": true
}{
"success": true
}curl -X POST 'https://api.eu.navixy.com/v2/track/waybill/download' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 123456, "from": "2020-09-23 03:24:00", "to": "2020-09-23 06:24:00", "type": "form4c", "fill_history": false, "number": "1234567"}'{
"id": 1,
"label": "Taxi driver statuses",
"employee_controlled": true,
"supervisor_controlled": false,
"entries": [5, 2, 1, 4, 6]
}{
"retranslator_id": 4548,
"fake_device_id": "AI568T"
}{
"tracker_id": 10181654,
"hardware_id": "7cf9501df3d6924e423cabcde4c924ff",
"rssi": -101,
"get_time": "2023-04-17 17:14:42",
"latitude": 50.3487321,
"longitude": 7.58238,
"ext_data": {
"voltage": 3.075,
"temperature": 24.0
}
}device_id (string): The ID used to register the physical device; may be IMEI, serial number, or manually assigned ID depending on the device model.
tariff_id (integer): The tariff plan assigned to the device.
model (string): The tracker device model code, which determines available settings, rules, and sensors.
tariff_end_date (string, ISO 8601 date): The date when the next tariff charge is due.
phone (string|null): The last known phone number for the tracker, used by the platform to send SMS commands.
true/false
"2020-09-23 06:24:00"
filter
Optional, default=true. If true, tracks which are too short (in terms of length and number of points) will be omitted from resulting list.
boolean
true
split
Optional, default=true. If false, all tracks will be merged into single one.
boolean
false
include_gsm_lbs
Optional, default=true. If false, GSM LBS tracks will be filtered out.
boolean
false
cluster_single_reports
Optional, default=false. If true, single point reports will be clustered by its coordinates.
boolean
false
type
Should be one of "form3", "form3ext", "form4c".
"form4c"
fill_history
If false, only basic info about driver/garage/vehicle will be filled (no trips or parkings).
boolean
false
fill_odometer
Optional, default=false. If true, mileage readings will be inserted in appropriate fields of the document.
boolean
false
series
Optional. Waybill series.
string
"A-1"
number
Waybill number.
string
"123456789"
listing
status_listing object without "id" and "entries" fields.
JSON object
listing_id
ID of the working status list for this status to attach to.
int
listing
status_listing object with "id" and "entries" fields.
JSON object
242 - There were errors during content validation – if fake_device_id is invalid for the retranslator protocol.
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
999199
retranslator_id
Retranslator ID.
int
123
fake_device_id
Optional. If set the retranslator will use this value instead of real device ID to forward data.
string
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
999199
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
999199
retranslator_id
Retranslator ID.
int
123
"AI568T"
from
Start date/time for searching.
string date/time
to
End date/time for searching. Must be after "from" date.
string date/time
trackers
Optional. Default: null. List of trackers.
int array
beacons
Optional. Default: null. List of beacons IDs. All IDs must not be empty and not more than 64 characters.
string array
trackers
Optional. Default: null. List of trackers.
int array
skip_older_than_seconds
Optional. Default: 3600. Skip entries older than the specified number of seconds.
int
Assignment: Tasks are assigned to employees, typically those equipped with tracking devices. The tasks appear on their X-GPS tracker app, providing all necessary details.
Execution: Employees perform the tasks, updating their status and providing real-time information through the app. This can include check-ins, status updates, and form submissions.
Monitoring: Supervisors can monitor the progress of tasks, track the location of employees, and ensure that tasks are completed within the specified parameters.
Completion: Once tasks are completed, the system logs the details, allowing for reporting and analysis of field operations.
Tasks can be either single-point tasks or route tasks with multiple checkpoints. This guide explains how to create and assign both types of tasks using the Navixy API.
To create a new single task, use the task/create method. You need to provide a JSON object that contains all the necessary information about the task. Optionally, you can create a form for the task by setting the create_form parameter to true.
Let's create a task for George to deliver new devices to an office on March 16th, from 12 PM to 2 PM. George's car has a tracker with ID 203190. He may be late by up to one hour due to potential traffic jams, and he needs at least 30 minutes at the office to complete the delivery and paperwork.
API request:
To create a new route task, use the task/route/create method. You need to provide a JSON object that contains all the necessary information about the route and its checkpoints.
Let's create a route task for John to deliver products to three customers on March 18th, from 10 AM to 4 PM. John's car has a tracker with ID 669673. Each checkpoint should be completed on time, and John needs at least 10 minutes at each location to hand over the goods and complete the paperwork.
API request:
To optimize a route for minimizing transit time and costs, reorder the checkpoints before creating the route. Use the task/route/points/optimize method to perform this optimization.
To associate a task or checkpoint with an address, include the address in the location object. Use the geocoder/search_location method to obtain an address when you have a location.
curl -X POST 'https://api.eu.navixy.com/v2/status/listing/create' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "listing": {"label": "Taxi driver statuses", "employee_controlled": false, "supervisor_controlled": true}'{
"success": true,
"id": 111
}curl -X POST 'https://api.eu.navixy.com/v2/status/listing/delete' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "listing_id": 12345}'https://api.eu.navixy.com/v2/status/listing/delete?hash=a6aa75587e5c59c32d347da438505fc3&listing_id=12345{
"success": true
}curl -X POST 'https://api.eu.navixy.com/v2/status/listing/list' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b"}'https://api.eu.navixy.com/v2/status/listing/list?hash=a6aa75587e5c59c32d347da438505fc3{
"success": true,
"list": [
{
"id": 1,
"label": "Taxi driver statuses",
"employee_controlled": true,
"supervisor_controlled": false,
"entries": [5, 2, 1, 4, 6]
}
]
}curl -X POST 'https://api.eu.navixy.com/v2/status/listing/update' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "listing": {"id": 12345, "label": "Taxi driver statuses", "employee_controlled": false, "supervisor_controlled": true, "entries": [ 5, 2, 1, 4, 6]}'{
"success": true
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/retranslator/bind' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "tracker_id": 265489, "retranslator_id": 123}'https://api.eu.navixy.com/v2/tracker/retranslator/bind?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=265489&retranslator_id=123{
"success": true
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/retranslator/list' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "tracker_id": 265489}'https://api.eu.navixy.com/v2/tracker/retranslator/list?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=265489{
"success": true,
"list": [
{
"retranslator_id": 4548,
"fake_device_id": "AI568T"
}
]
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/retranslator/unbind' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "tracker_id": 265489, "retranslator_id": 123}'https://api.eu.navixy.com/v2/tracker/retranslator/unbind?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=265489&retranslator_id=123{
"success": true
}curl -X POST 'https://api.eu.navixy.com/v2/beacon/data/read' \
-H 'Content-Type: application/json' \
-d '{
"hash":"59be129c1855e34ea9eb272b1e26ef1d",
"from": "2023-04-17 17:00:00",
"to": "2023-04-17 18:00:00",
"beacons": ["ffffffffd86f4f75868d55aa831afa1f", "7cf9501df3d6924e423cabcde4c924ff"],
"trackers": [10181654]
}'{
"list": [
{
"tracker_id": 10181654,
"hardware_id": "ffffffffd86f4f75868d55aa831afa1f",
"rssi": -96,
"get_time": "2023-04-17 17:14:20",
"latitude": 50.3487301,
"longitude": 7.58207,
"ext_data": {
"minor": "0055",
"major": "3138"
}
},
{
"tracker_id": 10181654,
"hardware_id": "7cf9501df3d6924e423cabcde4c924ff",
"rssi": -101,
"get_time": "2023-04-17 17:14:42",
"latitude": 50.3487321,
"longitude": 7.58238,
"ext_data": {
"voltage": 3.075,
"temperature": 24.0
}
}
],
"success": true
}curl -X POST 'https://api.eu.navixy.com/v2/beacon/data/last_values' \
-H 'Content-Type: application/json' \
-d '{
"hash":"59be129c1855e34ea9eb272b1e26ef1d",
"trackers": [10181654],
"skip_older_than_seconds": 3600
}'{
"list": [
{
"tracker_id": 10181654,
"hardware_id": "7cf9501df3d6924e423cabcde4c924ff",
"rssi": -101,
"get_time": "2023-04-17 17:14:42",
"latitude": 50.3487321,
"longitude": 7.58238,
"ext_data": {
"voltage": 3.075,
"temperature": 24.0
}
}
],
"success": true
}curl -X POST 'https://api.eu.navixy.com/v2/task/create' \
-H 'Content-Type: application/json' \
-d '{
"hash": "22eac1c27af4be7b9d04da2ce1af111b",
"task": {
"tracker_id": 203190,
"location": {
"lat": 34.178868,
"lng": -118.599672,
"radius": 150
},
"label": "New devices to office",
"description": "16 new devices",
"from": "2021-03-16 12:00:00",
"to": "2021-03-16 14:00:00",
"max_delay": 60,
"min_stay_duration": 30
},
"create_form": false
}'{
"success": true,
"id": 111
}curl -X POST 'https://api.eu.navixy.com/v2/task/route/create' \
-H 'Content-Type: application/json' \
-d '{
"hash": "22eac1c27af4be7b9d04da2ce1af111b",
"route": {
"tracker_id": 669673,
"label": "Products delivery",
"description": "12 trackers of model 1 and 37 trackers of model 2",
"from": "2020-03-18 10:00:00",
"to": "2020-03-18 16:00:00"
},
"checkpoints": [
{
"tracker_id": 669673,
"location": {
"lat": 34.178868,
"lng": -118.599672,
"radius": 100
},
"label": "Company1",
"description": "5 trackers of model 1 and 15 trackers of model 2",
"from": "2021-03-18 10:00:00",
"to": "2021-03-18 12:00:00",
"external_id": "10100",
"max_delay": 0,
"min_stay_duration": 10,
"tags": [1, 4],
"form_template_id": 132985
},
{
"tracker_id": 669673,
"location": {
"lat": 33.492830,
"lng": -112.177673,
"radius": 100
},
"label": "Company2",
"description": "4 trackers of model 1 and 12 trackers of model 2",
"from": "2021-03-18 12:00:00",
"to": "2021-03-18 14:00:00",
"external_id": "10101",
"max_delay": 0,
"min_stay_duration": 10,
"tags": [2, 4],
"form_template_id": 132985
},
{
"tracker_id": 669673,
"location": {
"lat": 39.801066,
"lng": -105.028685,
"radius": 100
},
"label": "Company3",
"description": "3 trackers of model 1 and 10 trackers of model 2",
"from": "2021-03-18 14:00:00",
"to": "2021-03-18 16:00:00",
"external_id": "10102",
"max_delay": 0,
"min_stay_duration": 10,
"tags": [3, 4],
"form_template_id": 132985
}
],
"create_form": false
}'{
"success": true,
"result": {
"id": 7115375,
"user_id": 184541,
"tracker_id": 669673,
"label": "Products delivery",
"description": "12 trackers of model 1 and 37 trackers of model 2",
"from": "2021-03-18 10:00:00",
"to": "2021-03-18 16:00:00",
"creation_date": "2021-03-17 14:45:49",
"status": "assigned",
"status_change_date": "2021-03-17 14:45:49",
"origin": "manual",
"checkpoint_ids": [
7115376,
7115377,
7115378
],
"external_id": null,
"type": "route"
}
}curl -X POST 'https://api.eu.navixy.com/v2/task/route/points/optimize' \
-H 'Content-Type: application/json' \
-d '{
"hash": "22eac1c27af4be7b9d04da2ce1af111b",
"start_point": {
"lat": 34.178868,
"lng": -118.599672,
"departure": "2021-03-18 10:00:00"
},
"route_points": [
{
"location": {
"lat": 33.492830,
"lng": -112.177673
},
"from": "2021-03-18 10:00:00",
"to": "2021-03-18 12:00:00"
},
{
"location": {
"lat": 39.801066,
"lng": -105.028685
},
"from": "2021-03-18 12:00:00",
"to": "2021-03-18 14:00:00"
},
{
"location": {
"lat": 35.365948,
"lng": -108.112104
},
"from": "2021-03-18 14:00:00",
"to": "2021-03-18 16:00:00"
}
]
}'{
"success": true,
"result": [0, 1, 2]
}lang
Optional. Language in which results should be. ISO 639 .
"en_US"
with_details
Optional. If true then the response will contain details.
boolean
true
details - details object.country - optional string.
province - optional string.
locality - optional string.
street - optional string.
house - optional string.
postcode - optional string.
bounds - optional object, the bounding box which can fully contain the returned result.
nw - North West corner.
se - South East corner.
with_details
Optional. If true then the response will contain details.
boolean
true
goal
Helps to choose the target geocoder. Now supported ui, ui_user_action. Use ui_user_action for requests initiated by user, otherwise ui.
"ui"
province - optional string.
locality - optional string.
street - optional string.
house - optional string.
postcode - optional string.
bounds - optional object, the bounding box which can fully contain the returned result.
nw - North West corner.
se - South East corner.
q
Address (or place) or coordinates to geocode.
string/location
"750 Avenue E,San Francisco,CA 94130,USA"
geocoder
Optional. Geocoder type that will be preferably used for searching. Google geocoder is always used for users with the premium GIS.
"google"
bounds
Optional. JSON object. The bounding box, specified by coordinates of northwest and southeast corners. Geocoder will preferably return results from within these bounds. That is the parameter influences the priority of results, so if more relevant results exist outside of bounds, they may be included.
bounds_object
location
Location coordinates (see: data types description section section).
location
{"lat": , "lng": }
geocoder
Optional. Geocoder type that will be preferably used for searching. Google geocoder is always used for users with the premium GIS.
"google"
lang
Optional. ISO 639 language code.
{"nw":{"lat":37.9,"lng":-122.4},"se":{"lat":37.8,"lng":-122.3}}
"en_US"
Tracker IDs: Find them in the admin panel or user interface.
Event Types: Specify one or multiple event types separated by comma from the provided list by click on the parameter name in Zapier or using history/type/list API request.
Account's Time Zone: Specify the time zone (e.g., UTC+3 as 3).
Time Interval: Set the interval for event checks in minutes (e.g., 15 minutes).
Set Outputs
For devices that change multiple outputs with one command. Provide:
Tracker ID
Output states (e.g., true,true,false for outputs 1, 2, and 3)
Send GPRS Command
For sending specific commands to a device, such as switching a digital output.
Provide:
Tracker ID
Command (protocol-related command for the device)



title - string. User-specified group title, 1 to 60 printable characters, e.g. "Employees".
color - string. Group color in web format (without #), e.g. "FF6DDC". Determines the color of tracker markers on the map.
API base path: /tracker/group.
Assigns multiple trackers to the specified group.
required sub-user rights: admin (available only to master users).
id
Group ID, or 0 if trackers should be removed from any group.
int
167
trackers
Array of IDs of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int array
[999199, 999919]
cURL
201 - Not found in the database – if no group found with the specified ID (or group belongs to another user).
217 - List contains nonexistent entities – if one or more of tracker IDs belong to nonexistent tracker (or to a tracker belonging to different user).
Creates a new empty group.
required sub-user rights: admin (available only to master users).
title
Ser-specified group title, 1 to 60 printable characters.
string
"Employees"
color
Group color.
string
"FF6DDC"
id - int. An ID of created group, e.g. 222.
General types only.
Deletes group with the specified ID. The group must belong to authorized user. All trackers from this group will be assigned to default group (0).
required sub-user rights: admin (available only to master users).
id
ID of group to delete.
int
167
201 - Not found in the database – if no group found with the specified ID (or group belongs to another user).
Gets all user tracker groups. There is always "default" unnamed group with ID = 0. It cannot be modified, deleted, and is not returned by this API call.
General types only.
Updates specified tracker group. Group must belong to the authorized user.
required sub-user rights: admin (available only to master users).
id
ID of group to update.
int
167
title
Ser-specified group title, 1 to 60 printable characters.
string
"Employees"
color
Group color.
string
201 - Not found in the database – if no group found with the specified ID (or group belongs to another user).
In addition to standard user session, this call supports special DELIVERY session type.
external_id
An external ID of task.
int
259876
curl -X POST 'https://api.eu.navixy.com/v2/delivery/read' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "external_id": 259876}'https://api.eu.navixy.com/v2/delivery/read?hash=a6aa75587e5c59c32d347da438505fc3&external_id=259876user_id - master ID of the user to which the task belongs to.
task - a task object, for more info see /task
object structure.
tracker - corresponding tracker object, for more info seetracker/ object structure.
restrictions - tariff restrictions object, for more info see.
first_name - string. The first name of employee assigned to the task, or null if missing.
middle_name - string. The middle name of employee assigned to the task, or null if missing.
last_name - string. The last name of employee assigned to the task, or null if missing.
vehicle_label - string. A label of the vehicle assigned to the task, or null if missing.
estimated_time - int. Estimated time of arrival in seconds, or null if unavailable.
201 – Not found in the database - when there is no task or checkpoint with specified conditions.
External_id can be repeated, so this request will return all matching delivery. Returns info sufficient for tracking certain task state, and the tracker assigned to it. Search conducted only among tasks and checkpoints, which have start date less than or equal now and have statuses: arrived, assigned or delayed.
in addition to standard user session, this call supports special DELIVERY session type.
external_id
An external ID of task.
int
259876
task - a task object, for more info see /task object
structure.
tracker - corresponding tracker object, for more info seetracker/ object structure.
first_name - string. The first name of employee assigned to the task, or null if missing.
middle_name - string. The middle name of employee assigned to the task, or null if missing.
last_name - string. The last name of employee assigned to the task, or null if missing.
vehicle_label - string. A label of the vehicle assigned to the task, or null if missing.
estimated_time - int. Estimated time of arrival in seconds, or null if unavailable.
user_id - master ID of the user to which the task belongs to.
restrictions - tariff restrictions object, for more info see.
201 – Not found in the database - when there is no task or checkpoint with specified conditions.
Gets calibration data for sensor.
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
123456
sensor_id
ID of the sensor.
int
12345
curl -X POST 'https://api.eu.navixy.com/v2/tracker/sensor/calibration_data/read' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 123456, "sensor_id": 12345}'https://api.eu.navixy.com/v2/tracker/sensor/calibration_data/read?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=123456&sensor_id=12345value - list of objects containing calibration data.
201 – Not found in the database (if there is no tracker with such ID belonging to authorized user).
228 – Not supported by the sensor (if sensor doesn't support calibration).
Replaces the calibration data for a sensor.
required sub-user rights: tracker_update.
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
123456
sensor_id
ID of the sensor.
int
12345
data
Array of calibration data objects.
array of JSON object
cURL
201 – Not found in the database - if there is no tracker with such ID belonging to authorized user.
228 – Not supported by the sensor - if sensor doesn't support calibration.
228 – Not supported by the sensor - if sensor doesn't support calibration.
219 – Not allowed for clones of the device - if tracker is clone.
Replaces the calibration data for a sensor from Omnicomm LLS monitor's XML configuration file. If XML file contains information about multiple sensors, user must specify which sensor number to use.
required sub-user rights: tracker_update.
MUST be a POST multipart request (multipart/form-data), with one of the parts being an XML file upload (with the name "file").
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
sensor_id
ID of the sensor.
int
file
A file upload containing LLS monitor XML file.
file upload
201 – Not found in the database - if there is no tracker with such ID belonging to authorized user.
228 – Not supported by the sensor - if sensor doesn't support calibration.
219 – Not allowed for clones of the device - if tracker is clone.
233 – No data file - if file part is missing.
234 – Invalid data format - if supplied file is not a valid LLS monitor XML file.
235 – Missing calibration data - if there is no calibration data for the specified sensor number.
Getting started with Navixy Backend API
Welcome to the Navixy Backend API documentation. This guide is designed to help developers integrate third-party solutions with the Navixy platform. Here, you will find comprehensive information on API calls, workflows, and best practices.
The Navixy API provides a set of RESTful endpoints that allow you to interact with various entities such as geofences, rules, objects, and more. The API calls for CRUD and other operations with these entities follow a consistent naming convention, making it easier to understand and use.
To give you a clear idea of how to work with the Navixy API, let's go through a standard workflow using a common example – requesting track points data.
Determine the URL to API calls:
Depending on the physical location of the platform, the base URL will be:
https://api.eu.navixy.com/v2 for European Navixy platform;
Depending on the physical location of the platform, use one of the following base URLs:
European Navixy platform:https://api.eu.navixy.com/v2
North American Navixy platform:https://api.us.navixy.com/v2
Self-hosted (On-Premise) installations:https://api.your_domain
For example, to make a user/auth API call on the European Navixy ServerMate platform, you should use the URLhttps://api.eu.navixy.com/v2/user/auth
API calls follow a consistent notation:
/resource/sub_resource/action(parameter1, parameter2, [parameter3])
Parameters can be passed in different ways:
HTTP POST application/json: Recommended
HTTP POST application/x-www-form-urlencoded: Parameters in the request body
HTTP GET: Not recommended, should be used only for idempotent requests with small parameter size
HTTP POST application/json
HTTP POST application/x-www-form-urlencoded
HTTP GET
To make an API call, send a POST request to:[api_base_url]/resource/action/
The response will be given with application/json content type, even for errors. Response fields and object structure are specific to the API call.
Our API evolves over time, and new methods and JSON object fields are added. We strive to maintain backward compatibility with legacy API clients. However, you must ensure that any unsupported JSON object fields by your app are ignored, and that your application can handle new JSON fields without breaking. Also, to reduce response size, JSON fields that are NULL are omitted. Your JSON parser should handle missing JSON fields as if they were NULL.
Unless otherwise noted, every API call requires a valid API Key hash. This hash can be passed in one of the following ways:
As a hash parameter of the request body (root-level property for application/json).
As a hash parameter of the HTTP query string.
As a value of the HTTP header
This validation ensures that the provided string adheres to specific content rules. The rules may vary depending on the particular field being validated. The string is checked for the following criteria:
Empty strings or null values: may be allowed or restricted depending on the specific field.
Character types:
Regular spaces are always allowed (Unicode category "Zs").
Other whitespace characters (tabs, line breaks, etc.): may be allowed or restricted depending on the specific field.
Date/time type can be represented with the following formats:
yyyy-MM-dd HH:mm:ss format (in user's timezone), default
yyyy-MM-dd'T'HH:mm:ssZZ
To use ISO 8601 date/time format, pass true to:
iso_datetime parameter of the request body (root-level property for application/json).
iso_datetime parameter of the HTTP query string.
HTTP header NVX-ISO-DateTime.
JSON request body parameter
Form request parameter
HTTP Header
: Learn how to authenticate and obtain a user key
: Understand how to handle errors in the Navixy API
Retranslator
Retranslator and retranslator protocol objects and CRUD actions for retranslators. They can be used to redirect the data that comes from a device to the platform to some third-party application specified by the user.
id - int. Protocol ID.
name - string. Protocol name.
has_login - boolean. true if this protocol use login.
has_password - boolean. true if this protocol use password.
fake_device_id_pattern - optional string. Regex pattern for fake_device_id validation.
required_login - boolean. true if for this protocol login required.
required_password - boolean. true if for this protocol password required.
id - int. Retranslator ID.
name - string. Zone label.
protocol_id - int. Protocol ID.
API path: /retranslator.
Creates new retranslator.
required sub-user rights: admin (available only to master users).
cURL
id - int. ID of the created retranslator.
247 - Entity already exists - if retranslator with this address, port and login already exists.
7 - Invalid parameters - if retranslator have required fields (login or password), but was send empty.
268 - Over quota – if the user's quota for retranslators exceeded.
Deletes user's retranslator with specified retranslator_id.
required sub-user rights: admin (available only to master users).
201 - Not found in the database.
Get all users' retranslators.
id - int. Retranslator ID.
name - string. Zone label.
protocol_id - int. Protocol ID.
Updates retranslator parameters for the specified retranslator. Note that retranslator must exist, and must belong to the current user.
required sub-user rights: admin (available only to master users).
cURL
201 - Not found in the database – if retranslator with the specified ID cannot be found or belongs to another user.
247 - Entity already exists – if retranslator with this address, port and login already exists.
Returns all available retranslator protocols.
Only API key hash.
id - int. Protocol ID.
name - string. Protocol name.
has_login - boolean. true if this protocol use login.
This resource contains methods to read and assign working status of a particular tracker.
API base path: /status/tracker/.
Assign a working status to the tracker.
last_change - object describing last change of the status. May be null.
old_status_id - int. Previous status ID. May be null.
new_status_id - int. Current status ID. May be null.
13 - Operation not permitted – if status list does not allow for a supervisor to change status.
201 - Not found in the database – if there is no tracker with such ID belonging to authorized user.
204 - Entity not found – if there is no status list assigned to this tracker containing with such ID.
208 - Device blocked – if tracker exists but was blocked due to tariff restrictions or some other reason.
Gets current assigned statuses for the specified trackers.
cURL
value - Map with a tracker's IDs as keys.
current_status - Status object showing current status of tracker. May be null.
last_change - Object describing last change of the status. May be null.
217 - List contains nonexistent entities - if one or more of tracker IDs belong to nonexistent tracker (or to a tracker belonging to different user).
221 - Device limit exceeded – if device limit set for the user's dealer has been exceeded.
236 - Feature unavailable due to tariff restrictions – if there are no trackers with "statuses" tariff feature available.
Gets current assigned working status of the tracker.
current_status - status object showing current status of tracker. May be null.
last_change - object describing last change of the status. May be null.
old_status_id - int. Previous status ID. May be null.
201 - Not found in the database – if there is no tracker with such ID belonging to authorized user.
208 - Device blocked – if tracker exists but was blocked due to tariff restrictions, or some other reason.
219 - Not allowed for clones of the device – if specified tracker is a clone.
236 - Feature unavailable due to tariff restrictions – if there are no trackers with "statuses" tariff feature available.
Get involved into improving documentation and translations of the Navixy Platform
Join us in enhancing Navixy developer documentation! Your contributions are highly valued and appreciated. Whether you’ve spotted an inaccuracy, found a typo, or have additional information to share, your help is appreciated. All our documentation is publicly available on GitHub, and you can get involved in several ways to make it better:
.
In each case, a GitHub account is required. If you prefer not to register on GitHub, you can with any feedback or suggestions.
For simple, quick edits, you can use the built-in GitHub editor:
On any documentation page, find the pencil icon in the upper right corner and click it.
You will be prompted to create a fork of the repository if you haven't already.
Click the green "Create fork" button. This will open the source code of the page in an editable format.
Make your edits directly in the browser.
We will review your pull request and, once approved, merge it into the main branch. This method is best for minor, single-page edits.
For more comprehensive edits, or if you need to work on multiple pages, you can set up the documentation locally:
Before you start contributing to the Navixy API documentation in Stoplight, ensure you have the following tools installed:
– Required for version control and managing your contributions
– Needed for submitting your changes
Getting started
Fork the , clone it to your local machine, and create a new branch for your changes. This keeps your contributions organized and makes the review process smoother.
Working with markdown files
The documentation consists primarily of Markdown files with GFM (GitHub Flavored Markdown) extensions:
The documentation includes two types of files:
Documents (.md)
API calls (.json or .yaml)
Documents are divided into semantic parts, starting with an introduction that summarizes the content.
Each API call should include the following sections:
Introduction - General information and purpose of the API call
Object structure - Describes the object structure used in the calls (optional)
API Actions - Base API call and associated actions, including:
Action description
Ensure your documentation is accurate and all examples work as described.
For actual examples, refer to and .
The Navixy platform API supports two authentication methods:
User session hash: The basic, mandatory authentication method obtained through user login
API key: The recommended, more secure method for ongoing API access and integrations
A session hash is the basic authentication token in the Navixy system and serves as the starting point for authentication workflows.
Use session hashes for:
Initial system access
User interface operations
Short-term scripts
Session hash limitations:
Expires after periods of inactivity (30 days)
Invalidated when logging out or changing password
Requires periodic renewal for longer sessions
Less secure for automated processes
To get a session hash, send a POST request to the user authentication endpoint {baseURL}/v2/user/auth providing your account's login and password as parameters:
Successful response:
Copy the hash parameter value and save it, you will use it for authenticating your further requests.
API keys are a more stable and secure authentication method, it is recommended for long-term use with all production integrations and automated systems. Here's a comparison with session hash to highlight API key advantages:
API key limitations:
Every user account may have up to 20 API keys
Only account Owners have access to API keys functionality
API keys should be created through the Navixy web interface:
Login to the Web Interface:
Access the Navixy user interface via the web.
Use your credentials to log in.
Navigate to the API Key Section:
You can include your authentication credentials in requests trough three different methods. Each method has specific use cases and security considerations.
Include the hash in the Authorization header
This is the most secure method and follows API best practices. It keeps authentication separate from request data and works well with all HTTP methods.
Include your authentication directly in the JSON body of your request as hash parameter:
This method works only with POST requests and mixes authentication with request parameters. It can be useful for testing but is less ideal for production use.
Append your authentication hash to the URL as a query parameter:
This method is for testing purposes only as it exposes your authentication credentials in URLs, server logs, and browser history. Never use this method in production environments.
These endpoints allow you to manage your API keys through the API itself using a valid session hash.
Get a complete list of all API keys associated with your account:
This endpoint returns all your active API keys with their labels and creation dates, helping you manage and audit your integrations.
Immediately revoke an API key when it's no longer needed or if it may have been compromised:
Any application using this key will immediately lose access and need to be reconfigured with a new key.
After understanding the available authentication methods, follow this recommended progression for integrating with Navixy platform API:
Initial authentication
Log in to the needed user account in Navixy UI with username/password
Make sure that you hace Owner role in the account
Now you are ready to create API keys
Understanding authentication errors helps you troubleshoot issues and implement proper error handling in your integration:
Common authentication error codes:
Code 3: Wrong hash - Your API key or session hash is invalid or has been revoked
Code 4: User or API key not found or session ended - User or session hash don't exist or expired
Code 7: Invalid parameters - Inserted request parameters are incorrect
Your integration should handle these errors appropriately, possibly by prompting for re-authentication or alerting administrators about potential issues.
Follow these guidelines to ensure secure and effective authentication:
Log in to the needed Navixy account to access the system initially - Owner account role is needed
Create and use API keys for all ongoing integration needs - they provide more stable, secure access
Use separate keys for different integrations for better management and security isolation
Add descriptive labels to easily identify the purpose of each key when viewing your key list
This guide offers detailed, step-by-step instructions on using the Navixy API to activate GPS tracking devices and X-GPS Mobile Apps on the platform.
Within a user account, you can activate:
Any GPS tracking device listed in the list
X-GPS Mobile Apps
Follow these steps to successfully activate your device on the platform:
Step 1: Verify device model support
Ensure that the platform supports the device model using the
curl -X POST 'https://api.eu.navixy.com/v2/geocoder/search_address' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "q": "750 Avenue E,San Francisco,CA 94130,USA", "lang": "en", "geocoder": "google"}'{
"success": true,
"locations": [
{
"lat": 37.825014712963565,
"lng": -122.37202062079945,
"address": "750 Avenue E,San Francisco",
"details": {
"country": "USA",
"province": "CA",
"locality": "San Francisco",
"street": "Avenue E",
"house": "750",
"postcode": "94130",
"bounds": {
"nw": {
"lat": 37.825064712964,
"lng": -122.3720706208
},
"se": {
"lat": 37.824964712964,
"lng": -122.3719706208
}
}
}
}
]
}curl -X POST 'https://api.eu.navixy.com/v2/geocoder/search_location' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "location": "{"lat": 37.825429, "lng": -122.371982}}'{
"success": true,
"value": "750 Avenue E,San Francisco,CA 94130,USA",
"details": {
"country": "USA",
"province": "CA",
"locality": "San Francisco",
"street": "Avenue E",
"house": "750",
"postcode": "94130",
"bounds": {
"nw": {
"lat": 37.825064712964,
"lng": -122.3720706208
},
"se": {
"lat": 37.824964712964,
"lng": -122.3719706208
}
}
}
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/group/create' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "title": "Employees", "color": "FF6DDC"}'https://api.eu.navixy.com/v2/tracker/group/create?hash=a6aa75587e5c59c32d347da438505fc3&title=Employees&color=FF6DDCcurl -X POST 'https://api.eu.navixy.com/v2/tracker/group/delete' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "id": 167}'https://api.eu.navixy.com/v2/tracker/group/delete?hash=a6aa75587e5c59c32d347da438505fc3&id=167curl -X POST 'https://api.eu.navixy.com/v2/tracker/group/list' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3"}'https://api.eu.navixy.com/v2/tracker/group/list?hash=a6aa75587e5c59c32d347da438505fc3curl -X POST 'https://api.eu.navixy.com/v2/tracker/group/update' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "id": 167, "title": "Employees", "color": "FF6DDC"}'https://api.eu.navixy.com/v2/tracker/group/update?hash=a6aa75587e5c59c32d347da438505fc3&id=167&title=Employees&color=FF6DDC{
"id": 167,
"title": "Main office",
"color": "FF6DDC"
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/group/assign' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "trackers": [999199, 991999], "id": 167}'{
"success": true
}{
"success": true,
"id": 222
}{
"success": true
}{
"success": true,
"list": [
{
"title": "test",
"color": "FF6DDC",
"id": 129301
}
]
}{
"success": true
}curl -X POST 'https://api.eu.navixy.com/v2/delivery/list' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "external_id": 259876}'https://api.eu.navixy.com/v2/delivery/list?hash=a6aa75587e5c59c32d347da438505fc3&external_id=259876{
"success": true,
"user_id": 3,
"task" : {<task_object>},
"tracker" : {<tracker_object>},
"restrictions": {<restrictions_object>},
"first_name": "John",
"middle_name": "Micheel",
"last_name": "Johnson",
"vehicle_label": "Service car 002",
"estimated_time": 1122
}{
"success": true,
"list": [
{
"task": {
"id": 111,
"user_id": 3,
"tracker_id": 22,
"location": {
"lat": 51.283546,
"lng": 7.301086,
"address": "Fichtenstrasse 11",
"radius": 150
},
"label": "Deliver parcels",
"description": "Quickly",
"creation_date": "2014-01-02 03:04:05",
"from": "2014-02-03 04:05:06",
"to": "2014-03-04 05:06:07",
"external_id": null,
"status": "assigned",
"status_change_date": "2014-01-02 03:04:05",
"max_delay": 5,
"min_stay_duration": 0,
"arrival_date": "2014-01-02 03:04:05",
"stay_duration": 0,
"origin": "imported",
"tags": [1, 2],
"type": "task"
},
"tracker": {
"id": 123456,
"label": "tracker label",
"clone": false,
"group_id": 167,
"avatar_file_name": "file name",
"source": {
"id": 234567,
"device_id": 9999999988888,
"model": "telfmb920",
"blocked": false,
"tariff_id": 345678,
"status_listing_id": null,
"creation_date": "2011-09-21",
"tariff_end_date": "2016-03-24",
"phone": "+71234567890"
},
"tag_bindings": [
{
"tag_id": 456789,
"ordinal": 4
}
]
},
"first_name": "John",
"middle_name": "Micheel",
"last_name": "Johnson",
"vehicle_label": "Service car 002",
"estimated_time": 1122
}
],
"user_id": 3,
"restrictions": {"restrictions_object":}
}{
"success": true,
"value": [
{
"in": 0.0,
"out": 0.0
},
{
"in": 0.7,
"out": 60.0
}
]
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/sensor/calibration_data/update' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 123456, "sensor_id": 12345, "data": [{"in":0.0,"out":0.0},{"in":0.7,"out":60.0}]}'{
"success": true
}{
"success": true
}{
"id": 123456,
"name": "protocol",
"has_login": true,
"has_password": false,
"fake_device_id_pattern": "id_pattern",
"required_login": true,
"required_password": false
}"FF6DDC"
[{"in":0.0,"out":0.0},{"in":0.7,"out":60.0}]






address - string. Network address, e.g. 127.0.0.1 or localhost.port - int. Port number.
login - optional string.
password - optional string.
enabled - boolean. Status.
address - string. Network address, e.g. 127.0.0.1 or localhost.port - int. Port number.
login - optional string.
password - optional string.
enabled - boolean. Status.
has_password - boolean. true if this protocol use password.
fake_device_id_pattern - optional string. Regex pattern for fake_device_id validation.
required_login - boolean. true if for this protocol login required.
required_password - boolean. true if for this protocol password required.
retranslator
Retranslator object without id field.
JSON object
retranslator_id
ID of the retranslator that will be deleted.
int
123456
retranslator
Retranslator object without id field.
JSON object
location - object. Location and address at which status change occurred.
lat - int. Latitude.
lng - int. Longitude.
address - string. Address of last change.
changed - date/time. Change date and time.
origin - enum. Origin – who changed the status ("employee" or "supervisor").
219 - Not allowed for clones of the device – if specified tracker is a clone.
236 - Feature unavailable due to tariff restrictions – if there are no trackers with "statuses" tariff feature available.
263 - No change needed, old and new values are the same – if new status is equal to current status of tracker.
old_status_id - int. Previous status ID. May be null.
new_status_id - int. Current status ID. May be null.
location - Location and address at which status change occurred.
changed - date/time. Date and time of change.
origin - enum. Origin – who changed the status ("employee" or "supervisor").
new_status_id - int. Current status ID. May be null.
location - Location and address at which status change occurred.
changed - date/time. Date and time of change.
origin - enum. Origin – who changed the status ("employee" or "supervisor").
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
123456
new_status_id
ID of the working status. Must belong to status list assigned to this tracker.
int
5
trackers
List of the tracker's IDs belonging to authorized user.
int array
[123456, 234567]
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
123456
curl -X POST 'https://api.eu.navixy.com/v2/status/tracker/assign' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 123456, "new_status_id": 5}'https://api.eu.navixy.com/v2/status/tracker/assign?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=123456&new_status_id=5Provide a brief description of your changes in the commit message box.
Click the "Propose changes" button to create a new branch in your fork.
Submit a pull request from your fork to the main repository.
Open the relevant .md files in your preferred text editor
Make your changes following the GitHub Flavored Markdown conventions
Working with API specifications
If you're updating API endpoint documentation:
Locate the relevant OpenAPI specification files (.yaml or .json)
Edit them using Stoplight Studio for the best experience, or manually in an IDE of choice
Ensure your changes maintain the correct OpenAPI syntax
Test your changes for validity if possible (try out requests)
Submitting your changes
Commit your changes with clear, descriptive messages in English. Push to your fork on GitHub and create a pull request with a detailed description of your changes.
When creating your pull request, make sure to select master as the target branch. All contributions should be submitted against the master branch unless specifically instructed otherwise.
The repository maintainers will review your contribution and may request modifications or clarifications before merging.
Requirements - Necessary permissions (optional)
Parameters table - Lists parameters for the API call with descriptions and data types
Examples - API call examples with parameters, including copy functionality
Response - Example of a successful server response with field descriptions
Errors - Specific errors related to the API action, plus a general error list
Revocation
Individual keys can be revoked
All sessions terminated together
Integration segmentation
One key per integration
All use same credentials
Periodic renewal
Not required
Required for long sessions
Once logged in, click on your username.
Find and select the API Keys section.
Generate a New API Key:
Click on the plus button on the top left corner.
Provide a name for the API key to easily identify it later.
Click Save.
Copy the API Key Hash:
Once the key is generated, you will see it in the API keys table, including the label, creation date, and the API key hash.
Use this hash in your API requests.
API key creation
Create one or more API keys in A=ccount settings -> API keys
Create separate API keys for different integrations
Give each key a descriptive name to identify its purpose
Ongoing API access
Use API keys for all subsequent API calls
Store API keys securely in your integration
Implement the API key in headers for maximum security
API key management
Periodically rotate API keys for security
Revoke compromised or unused API keys
Monitor key usage for unusual patterns
Revoke compromised keys promptly to maintain security of your account
Transmit authentication credentials only over HTTPS to prevent interception of keys
Store credentials securely server-side, never in client-side code or public repositories
Implement proper error handling for authentication failures, including automatic recovery where appropriate
Expiration
Don't automatically expire
Expire after 30 days
Password changes
Not affected
Immediately invalidated
User logout
Not affected
Immediately invalidated
Credential storage
Only store the API key
Must store/access username & password
{
"id": 1,
"name": "Some server",
"protocol_id": 123456,
"address": "127.0.0.1",
"port": 15000,
"login": "login",
"password": "password",
"enabled": true
}curl -X POST 'https://api.eu.navixy.com/v2/retranslator/create' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "retranslator": {"name": "Some server", "protocol_id": 123456, "address": "127.0.0.1", "port": 15000, "login": "proto", "password": "qewtyr", "enabled": true}}'{
"success": true,
"id": 123456
}curl -X POST 'https://api.eu.navixy.com/v2/retranslator/delete' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "retranslator_id": 123456}'https://api.eu.navixy.com/v2/retranslator/delete?hash=a6aa75587e5c59c32d347da438505fc3&retranslator_id=123456{
"success": true
}curl -X POST 'https://api.eu.navixy.com/v2/retranslator/list' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b"}'https://api.eu.navixy.com/v2/retranslator/list?hash=a6aa75587e5c59c32d347da438505fc3{
"success": true,
"list": [
{
"id": 1,
"name": "Some server",
"protocol_id": 123456,
"address": "127.0.0.1",
"port": 15000,
"login": "login",
"password": "password",
"enabled": true
}
]
}curl -X POST 'https://api.eu.navixy.com/v2/retranslator/update' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "retranslator": {"name": "Some server", "protocol_id": 123456, "address": "127.0.0.1", "port": 15000, "login": "proto", "password": "qewtyr", "enabled": true}}'{
"success": true
}curl -X POST 'https://api.eu.navixy.com/v2/retranslator/protocol/list' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b"}'https://api.eu.navixy.com/v2/retranslator/protocol/list?hash=a6aa75587e5c59c32d347da438505fc3{
"success": true,
"list": [
{
"id": 123456,
"name": "protocol",
"has_login": true,
"has_password": false,
"fake_device_id_pattern": "id_pattern",
"required_login": true,
"required_password": false
}
]
}{
"success": true,
"last_change": {
"id": 11,
"old_status_id": null,
"new_status_id": 2,
"location": {
"lat": 11.0,
"lng": 22.0,
"address": "Jones st, 4"
},
"changed": "2015-11-22 02:02:02",
"origin": "supervisor"
}
}curl -X POST 'https://api.eu.navixy.com/v2/status/tracker/list' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "trackers": [123456,234567]}'{
"success": true,
"value": {
"5344": {
"current_status": {
"id": 66,
"label": "Busy",
"color": "FFC107"
},
"last_change": {
"id": 441,
"old_status_id": 65,
"new_status_id": 66,
"location": {
"lat": 35.365948,
"lng": -108.112104,
"address": "Navajo Nation Off-Reservation Trust Land, Chinle, NM, USA"
},
"changed": "2017-05-02 07:40:39",
"origin": "supervisor"
}
},
"15595": {
"current_status": null,
"last_change": {
"id": 123,
"old_status_id": 67,
"new_status_id": null,
"location": {
"lat": 34.178868,
"lng": -118.599672,
"address": ""
},
"changed": "2016-03-14 04:58:32",
"origin": "employee"
}
}
}
}curl -X POST 'https://api.eu.navixy.com/v2/status/tracker/read' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 123456}'https://api.eu.navixy.com/v2/status/tracker/read?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=123456{
"success": true,
"current_status": {
"id": 2,
"label": "On duty",
"color": "FFFF99"
},
"last_change": {
"id": 11,
"old_status_id": null,
"new_status_id": 2,
"location": {
"lat": 11.0,
"lng": 22.0,
"address": "Jones st, 4"
},
"changed": "2015-11-22 02:02:02",
"origin": "supervisor"
}
}# Resource name
Resource description.
## Object name
Object and its description.
## API actions
Path: `/path/to/resource/`.
### method_name
Method description.
#### Parameters
| name | description | type | restrictions |
|:-------|:-------------|:--------|:---------------------|
| param1 | description. | int | `[1..100]`, not null |
| param2 | description. | boolean | not null |
#### Examples
<!--title: "cURL"-->
```shell
curl -X POST 'https://api.navixy.com/v2/resource/sub_resource/action' \
-H 'Content-Type: application/json' \
-d '{"param1": "value1", "param2": "value2", "hash": "a6aa75587e5c59c32d347da438505fc3"}'
```
<!--title: "HTTP GET"-->
```http
https://api.navixy.com/v2/resource/sub_resource/action?param1=value1¶m2&hash=a6aa75587e5c59c32d347da438505fc3
```
#### Response
```json
{
"success": true
}
```
#### Errors
Special error codes.curl -X POST "https://your.server.com/v2/user/auth" \
-H "Content-Type: application/json" \
-d '{
"login": "[email protected]",
"password": "your_password"
}'{
"success": true,
"hash": "22eac1c27af4be7b9d04da2ce1af111b"
}Authorization: NVX your_hash_or_api_keyAuthorization: NVX 22eac1c27af4be7b9d04da2ce1af111b# missing space after NVX
Authorization: NVX22eac1c27af4be7b9d04da2ce1af111bcurl -X POST "https://api.eu.navixy.com/v2/tracker/list/" \
-H "Content-Type: application/json" \
-d '{"hash": "1dc2b813769d846c2c15030884948117"}'https://api.navixy.com/v2/tracker/list?hash=your_hash_or_api_keycurl -X POST "https://api.eu.navixy.com/v2/user/api_key/list" \
-H "Content-Type: application/json" \
-d '{
"hash": "your_session_hash"
}'curl -X POST "https://api.eu.navixy.com/v2/user/api_key/delete" \
-H "Content-Type: application/json" \
-d '{
"hash": "your_session_hash",
"api_key": "api_key_to_delete"
}'{
"success": false,
"status": {
"code": 3,
"description": "Access denied"
}
}https://api.us.navixy.com/v2 for North American Navixy Splatform;https://api.your_domain for self-hosted (On-Premise) installations.
Authenticate and obtain a user key via the authentication call.
Get objects lists with tracker/list:
Example API call:
Get track lists with track/list:
Example API call:
Get the track itself with track/read:
Example API call:
double
Signed 64 bits float number [1.7976931348623157 x 10^308, 4.9406564584124654 x 10^-324].
string
String literals. See validation rules below.
enum
String literals from a predefined set.
date/time
String containing date/time in defined formats.
local_time
String containing local time in HH:mm:ss format.
location
JSON object containing geographical coordinates, e.g., {"lat": 34.178868, "lng": -118.599672}.
locale
String in format language[_country], where language is an language code, and country is an country code, e.g., en_US or de.
Control characters (category "Cc" except whitespace characters): not allowed.
Private Use characters (category "Co"): not allowed.
Surrogate characters (category "Cs"): not allowed.
Characters requiring more than 3 bytes in UTF-8 encoding (e.g., some emojis): may be allowed or restricted depending on the specific field.
All other characters are allowed.
Strings consisting entirely of whitespace may be considered invalid for some fields.
bool
Boolean: logical type (true or false).
byte
Signed 8 bits integer in range [-128 .. 128].
short
Signed 16 bits integer in range [-32,768 .. 32,767].
int
Signed 32 bits integer in range [-2,147,483,648 .. 2,147,483,647].
long
Signed 64 bits integer in range [-9,223,372,036,854,775,808 .. 9,223,372,036,854,775,807].
float
Signed 32 bits float number [3.40282347 x 10^38, 1.40239846 x 10^-45].
Step 2: Check available plugins
Check all plugins available for the user with the plugin/list request. The following plugin IDs are used for activation:
44 - Device activation with optional activation code.
37 - Device activation with mandatory activation code.
35 - Mobile app activation with optional activation code.
68 - Mobile app activation with mandatory activation code.
Full information about activation codes and their purposes is available here.
Step 3: Activate the device
Activate the device using the tracker/register action.
This section provides information about activating GPS trackers using plugins 44 and 37, and the tracker/register action.
Common parameters
phone - Device's phone number with country code and without the + sign.
apn_name - The APN that depends on your device's SIM GSM carrier. Max length 40.
apn_user - This depends on your device's SIM too. Max length 40, can be empty.
apn_password - This parameter depends on the GSM carrier as the two previous parameters. Max length 40, can be empty.
device_id - Device's ID. The ID type used in your device can be found with the action and .
model - Name of the model in the platform's code. It can be found in the request too.
label - Label for the device.
group_id - Tracker group ID, 0 if the tracker does not belong to any group. The specified group must exist. See .
plugin_id - Parameter ID to use. It must be listed in the available .
activation_code - Optional string with activation code. Not necessary for plugin 44 and mandatory for plugin 37.
By using plugin 44, the activation process is simplified, as the activation code is not mandatory, making it easier to manage multiple devices without needing individual codes for each.
For example, let's consider a Teltonika FMB 140 device with IMEI 986575154632586. The device's SIM phone number is 999999999969 and its APN settings are internet, user, and passwd. This device is supported on the platform, and the user has plugin 44, which allows for device activation with an optional activation code.
In this case, we don't need to assign the device to a specific group, so group_id will be set to 0. For convenience, the device label can be set to a descriptive name, such as a car's plate number, e.g., T571TO.
After sending, the platform will respond with the following information:
Tracker object fields are described here.
When activation codes are required for device activation, use plugin 37.
For example, we have a Teltonika FMB 140 device with IMEI 986575154632586. The device's SIM phone number is 999999999969, and its APN settings are internet, with apn_user and apn_password left empty. This device is supported on the platform, and the user has plugin 37, which mandates the use of an activation code.
The API call will be as follows:
The platform will confirm with the same information as for plugin 44.
The register_quick API endpoint allows for the rapid registration of a new tracker using only its IMEI. This method is designed for situations where the device is already preconfigured and does not require automatic SMS commands to be sent for activation. It is particularly useful for managing bundles of devices efficiently.
Why use register_quick
Using the register_quick method streamlines the activation process by minimizing the parameters required for registration. This is ideal for scenarios where a large number of preconfigured GPS devices need to be activated quickly, without the need for additional configuration or SMS commands.
How to use register_quick
To use the register_quick API call, ensure that you have the necessary sub-user rights (tracker_register). The following parameters are required:
label: A user-defined label for the tracker. It must consist of printable characters and have a length between 1 and 60.
group_id: The ID of the tracker group. Use 0 if the tracker does not belong to any group. The specified group must exist (see group/list).
imei: The IMEI of the tracker.
Example Request:
Example Response:
For more details on the tracker object structure, see tracker.
Using the register_quick endpoint can significantly speed up the process of activating multiple preconfigured devices, making it an essential tool for managing device bundles efficiently.
There could be several reasons why a device doesn't activate. If we exclude SMS gateway issues, and it is functioning correctly, all other potential issues are listed here.
After eliminating all possible issues and ensuring everything is working properly, you can send the tracker/register_retry request to avoid creating the same unit again for the user. Additionally, it is not possible to activate two devices with the same ID on the platform.
X-GPS Tracker mobile app allow for real-time monitoring of employees with smartphones and tablets. This section provides information about adding mobile devices with X-GPS Tracker mobile apps to a user account using the tracker/register action.
Common parameters
notification_email - Optional parameter. A notification with an invitation to install the app will be sent to the specified email.
notification_phone - Optional parameter. An invitation to install the app will be sent to the specified phone. The phone should be specified in international format without the + sign.
model - Enum with model always set to mobile_unknown_xgps.
label - String with the name of your device.
group_id - Tracker group ID, 0 if the tracker does not belong to any group. The specified group must exist. See .
plugin_id - Parameter ID to use. It must be listed in the available .
activation_code - Optional string with an activation code. Not necessary for plugin 35 and mandatory for plugin 68.
For example, we need to activate the app for our employee Andrew. To make it convenient, we can name the mobile device after him. Additionally, we will send an invitation via SMS using his phone number.
The platform will notify us about success and with information about this device. The platform will automatically assigndevice_id to the app.
If a user is required to use activation codes (plugin 68), we should use this parameter when activating a new device.
The platform will respond with the same information as for plugin 35.
Reports offer essential insights to effectively manage your fleet or mobile workforce. At times, you may need to extract report data for use in external applications or to generate custom business reports, such as those detailing trip information alongside fuel consumption, drains, and refills. Follow these steps to obtain report information using the Navixy API.
To receive data for processing, you first need to generate the report. This can be done using the report/tracker/generate call.
Necessary parameters for this call:
from - A string containing . Data in the report will be from this moment.
to - A string containing . The specified date must be after the from date. Data in the report will be up to this moment.
title - Report title. If null, the default title will be used.
trackers - List of to be included in the report (if the report is by trackers).
employees - List of to be included in the report (if the report is by employees).
time_filter - An object containing daily time and weekday limits for processed data, e.g., {"to":"18:00", "from":"12:00", "weekdays":[1,2,3,4,5]}.
plugin - A plugin object. See the list of all .
API request:
The response will include the generated report ID:
To obtain the generated report data in JSON format, use the report/tracker/retrieve call.
Use the report_id from the previous call response.
API request:
You will receive the report in JSON format:
Once you have received and processed the report information, you can delete the generated report to clean up resources. Use the report/tracker/delete call.
Use the report_id from the generate call response.
API request:
Integrating objects into the Internet of Things (IoT) is simplified with the Navixy platform, which supports tracking both movable and stationary objects. Examples of stationary objects include heavy equipment, agricultural machinery, cargo, goods, and security equipment. Installing GPS devices on each of these objects can be very expensive. A more cost-effective solution is to install one device on a vehicle or site and track the rest using inexpensive Bluetooth Low Energy (BLE) tags.
In this tutorial, we will guide you through the process of tracking stationary objects. We will discuss the following:
How to organize tracking for stationary objects
Which GPS devices and BLE tags to use for data collection
Step-by-step setup instructions, using truck trailers as an example
How to obtain information about trips and usage for subsequent service work
The API calls needed to retrieve information about the tags
Additional use cases based on real-world scenarios
Additionally, you can read more about configuration examples in our .
Various devices are able to read data from BLE beacons: Galileosky, Quecklink, Ruptela, Teltonika, TopFlyTech. In this example, we will use the Teltonika FMB920 model and the BLE beacon Eye Sensor. To begin tracking stationary objects, you'll need the following:
A GPS device that can read BLE tags and is supported by the platform.
BLE tags that are compatible with the GPS device. Many BLE tags can transmit information about temperature, humidity, and their battery charge, enhancing their tracking capabilities. For our purposes, we will focus on stationary objects specifically.
Platform APIs that provide information about which GPS device a particular tag is near. To create custom solutions for your users using these APIs, you will need developers. Clients typically hire their own developers or contract third-party teams.
Now let's examine the procedure for implementing a real-world case study: tracking truck trailers for trip and usage information and subsequent service work.
You can read information from it:
tracker_id - int. The ID of the tracker (also known as “object_id”).
hardware_id - string. The ID of the beacon.
rssi - int. RSSI stands for received signal strength indicator and represents the power of the received signal on a device. This value helps determine the distance between the beacon and the tracker.
There are two API calls that allow you to get all the necessary information about BLE beacons:
The first call retrieves . You can set the from and to parameters for obtaining data during a specific period about connected BLE beacons. Since we need the information from the BLE tags' point of view, i.e., the trailers, let's request the information using the beacons parameter.
Request example:
This will show which devices were in the vicinity of this BLE beacon during period
The second call retrieves information about to a specific device. For example, if you want to know which trailer is currently near the device, use the following request:
Request example:
This will provide information that there is a trailer with the identifier 7cf9501df3d6924e423cabcde4c924ff located next to the device.
We've already gathered historical data using the first of the presented API calls, which showed on which devices the trailer was displayed at a specific time. To get information about the journeys and usage time of this trailer, we simply need to use one of the two API calls:
API call to get trip information for the period. This will provide general information about the trips, such as where and when they started and ended, maximum speed, mileage, and more.
Request example:
Response:
From this data, we can see that the trip lasted nearly 35 minutes (end_date - start_date), with an average speed of 49 km/h and a maximum speed of 62 km/h. The trip length was 18.91 km. This information allows us to determine how much to pay the driver for transporting the cargo, whether the contractual speed was exceeded, and other details. Additionally, the trip length can be used in the future to calculate the number of kilometers until the next maintenance of the trailer.
If you want a detailed track record of the trailer where the beacon is installed for displaying it in a report, for example, you can use the track/read request. This will give us data on all the points received by the platform during the journey.
Request example:
Response:
You can use these points together with your preferred maps API to display them on a map.
Here are some other examples of how to use BLE tags with a short algorithm to get the necessary results need:
Child seats are mandatory for passengers traveling with children. If you or the user operates a passenger transportation service, knowing whether a child seat is available in a vehicle can help you quickly determine which drivers are suitable for certain passengers and avoid wasting time and fuel. You can also find out which driver currently has a child seat installed in their vehicle. Additionally, it's important to consider passengers with two or more children and identify cars equipped with more than one child seat.
To address this, you'll need to install a BLE beacon on each child seat. Next, let's say your transport booking app needs to request information from all drivers who have a child seat installed. To do this, use the beacon/last_values API call to gather information about which drivers can be assigned to a particular order.
You can also use the RSSI parameter to determine if the seat is located inside the vehicle or in the trunk. To accomplish this, you'll need to conduct a few tests. For example, if the RSSI value is lower in the passenger compartment than in the trunk, the seat is likely in the trunk. As a result, you can prioritize your search for vehicles – first, those with a child seat in the passenger compartment, and then those with a child seat in the trunk. This approach ensures that you efficiently match passengers with appropriate vehicles and drivers.
Suppose your client has agricultural machinery that can be connected to various equipment. How can you track which tractor is using a seeder and which has a plow? This information will help you understand the frequency and extent of tool usage, and also determine their current location. This way, workers can spend more time working in the field rather than searching for equipment. To achieve this, install devices on tractors and combines, as well as in tool storage areas. Place one BLE beacon on each tool in a secure spot where it is difficult to remove, preventing it from getting lost during work. Next, to determine how long the tools have been in use, query the beacon/read API call. The information from the response will be helpful, just like with the trailers in our detailed example. To determine the location of a specific tool, query beacon/last_values with a search for beacons to identify where and on which device the tool is installed. This approach ensures efficient tracking and utilization of your agricultural equipment, ultimately increasing productivity.
Construction sites often have numerous tools and expensive equipment. While installing a beacon for tracking purposes is beneficial, another concern arises – how can you ensure that the equipment is tracked frequently, and that the GPS tracker doesn't run out of power? To monitor the usage and location of the equipment, BLE beacons can also come in handy.
The solution for construction sites can be similar to that of agricultural machinery – install devices on the machinery as well as on storage sites. This approach allows you to effectively track your valuable equipment, ensuring that it's being used efficiently and minimizing the risk of loss or misplacement. By keeping a close eye on your tools and machinery, you can optimize productivity at the construction site.
You can effectively track items indoors using the platform and BLE tags. All you need to do is install GPS devices in different parts of the warehouse or building and tag the objects you want to track. Here are a few examples:
Tracking employees in various areas of a warehouse or store: This allows you to know which area an employee is in or how many sales assistants are near the information desk. Having this information helps improve efficiency and ensures that staff members are where they need to be.
Tracking goods or machinery in different areas of the warehouse: Knowing the location of goods or equipment saves time, as you don't have to search for them throughout the warehouse. This streamlines the retrieval process, making your operations more efficient.
Utilizing BLE beacons for tracking can greatly benefit transport companies by allowing them to determine which truck is carrying a specific pallet of goods at any given moment. This method not only enables the tracking of goods' paths but also helps calculate transport costs more accurately.
By adopting this innovative approach, transport companies can enhance their operations, making them more efficient and precise. This ultimately leads to better service for clients and more streamlined business processes.
API calls to work with chat module.
$ curl -X POST 'https://api.navixy.com/v2/tracker/list' \
-H 'Content-Type: application/json' \
-d '{
"hash": "your_api_key_hash"
}'$ curl -X POST 'https://api.navixy.com/v2/track/list' \
-H 'Content-Type: application/json' \
-d '{
"hash": "your_api_key_hash",
"tracker_id": 12345
}'$ curl -X POST 'https://api.navixy.com/v2/track/read' \
-H 'Content-Type: application/json' \
-d '{
"hash": "your_api_key_hash",
"track_id": 67890
}'$ curl -X POST '[api_base_url]/resource/sub_resource/action' \
-H 'Content-Type: application/json' \
-d '{"param1": "value1", "hash": "a6aa75587e5c59c32d347da438505fc3"}'$ curl -X POST '[api_base_url]/resource/sub_resource/action' \
-d 'param1=value' \
-d 'hash=a6aa75587e5c59c32d347da438505fc3'$ curl '[api_base_url]/resource/sub_resource/action?param1=value1&hash=a6aa75587e5c59c32d347da438505fc3'$ curl -X POST '[api_base_url]/resource/sub_resource/action' \
-H 'Content-Type: application/json' \
-d '{"iso_datetime": true, "hash": "a6aa75587e5c59c32d347da438505fc3"}'$ curl -X POST '[api_base_url]/resource/sub_resource/action' \
-d 'iso_datetime=true' \
-d 'hash=a6aa75587e5c59c32d347da438505fc3'$ curl -X POST '[api_base_url]/resource/sub_resource/action' \
-H 'Content-Type: application/json' \
-H 'NVX-ISO-DateTime: true' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3"}'{
"success": true,
"user_time": "2014-07-09T07:50:58+05:00",
"list": [
{
"type": "odometer",
"value": 100500.1,
"update_time": "2014-03-06T13:57:00+05:00"
}
]
}{
"success": true,
"user_time": "2014-07-09T02:50:58Z",
"list": [
{
"type": "odometer",
"value": 100500.1,
"update_time": "2014-03-06T17:57:00Z"
}
]
}Authorization: NVX SessionHashValuecurl -X POST 'https://api.eu.navixy.com/v2/tracker/register' \
-H 'Content-Type: application/json' \
-d '{
"hash": "a6aa75587e5c59c32d347da438505fc3",
"label": "T571TO",
"group_id": 0,
"plugin_id": 44,
"model": "telfmb140",
"phone": "999999999969",
"device_id": "986575154632586",
"apn_name": "internet",
"apn_user": "user",
"apn_password": "passwd"
}'https://api.eu.navixy.com/v2/tracker/register?hash=a6aa75587e5c59c32d347da438505fc3&label=T571TO&group_id=0&plugin_id=44&model=telfmb140&phone=999999999969&device_id=986575154632586&apn_name=internet&apn_user=user&apn_password=passwdcurl -X POST 'https://api.eu.navixy.com/v2/tracker/register' \
-H 'Content-Type: application/json' \
-d '{
"hash": "a6aa75587e5c59c32d347da438505fc3",
"label": "T571TO",
"group_id": 0,
"plugin_id": 37,
"activation_code": "6045325592",
"model": "telfmb140",
"phone": "999999999969",
"device_id": "986575154632586",
"apn_name": "internet"
}'https://api.eu.navixy.com/v2/tracker/register?hash=a6aa75587e5c59c32d347da438505fc3&label=T571TO&group_id=0&plugin_id=37&activation_code=6045325592&model=telfmb140&phone=999999999969&device_id=986575154632586&apn_name=internetcurl -X POST 'https://api.eu.navixy.com/v2/tracker/register' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "label": "Andrew", "group_id": 0, "plugin_id": 35, "model": "mobile_unknown_xgps", "notification_phone": "999877459965"}'https://api.eu.navixy.com/v2/tracker/register?hash=a6aa75587e5c59c32d347da438505fc3&label=Andrew&group_id=0&plugin_id=35&model=mobile_unknown_xgps¬ification_phone=999877459965curl -X POST 'https://api.eu.navixy.com/v2/tracker/register' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "label": "Andrew", "group_id": 0, "plugin_id": 68, "activation_code": "6045325592", "model": "mobile_unknown_xgps", "notification_phone": "999877459965"}'https://api.eu.navixy.com/v2/tracker/register?hash=a6aa75587e5c59c32d347da438505fc3&label=Andrew&group_id=0&plugin_id=68&activation_code=6045325592&model=mobile_unknown_xgps¬ification_phone=999877459965{
"success": true,
"value": {
"id": 833389,
"label": "T571TO",
"group_id": 0,
"source": {
"id": 526383,
"device_id": "986575154632586",
"model": "telfmb140",
"blocked": false,
"tariff_id": 12163,
"phone": "999999999969",
"status_listing_id": null,
"creation_date": "2021-06-03",
"tariff_end_date": "2021-06-17"
},
"clone": false
}
}curl -X POST 'https://api.navixy.com/v2/tracker/register_quick' \
-H 'Content-Type: application/json' \
-d '{
"hash": "a6aa75587e5c59c32d347da438505fc3",
"label": "Courier",
"group_id": 0,
"imei": "35645587458999"
}'{
"success": true,
"value": {
"id": 123456,
"label": "tracker label",
"clone": false,
"group_id": 167,
"avatar_file_name": "file name",
"source": {
"id": 234567,
"device_id": 9999999988888,
"model": "telfmb920",
"blocked": false,
"tariff_id": 345678,
"status_listing_id": null,
"creation_date": "2011-09-21",
"tariff_end_date": "2016-03-24",
"phone": "71234567890"
},
"tag_bindings": [
{
"tag_id": 456789,
"ordinal": 4
}
]
}
}{
"success": true,
"value": {
"id": 833997,
"label": "Andrew",
"group_id": 0,
"source": {
"id": 526785,
"device_id": "186196632419",
"model": "mobile_unknown_xgps",
"blocked": false,
"tariff_id": 12163,
"phone": null,
"status_listing_id": null,
"creation_date": "2021-06-04",
"tariff_end_date": "2021-06-18"
},
"clone": false
}
}get_time - date/time. The timestamp when this data was received.
latitude - float. Latitude coordinate.
longitude - float. Longitude coordinate.
ext_data - object. Additional beacon data, such as:
voltage - float. The voltage of the beacon.
temperature - float. The temperature reading from the beacon.
curl -X POST 'https://api.eu.navixy.com/v2/report/tracker/generate' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "title": "Trip report", "trackers": [669673], "from": "2020-10-05 00:00:00", "to": "2020-10-06 23:59:59", "time_filter": {"from": "00:00:00", "to": "23:59:59", "weekdays": [1,2,3,4,5,6,7]}, "plugin": {"hide_empty_tabs": true, "plugin_id": 4, "show_seconds": false, "include_summary_sheet_only": false, "split": true, "show_idle_duration": false, "show_coordinates": false, "filter": true, "group_by_driver": false}}'{
"success": true,
"id": 222
}curl -X POST 'https://api.eu.navixy.com/v2/report/tracker/retrieve' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "report_id": 1234567}'https://api.eu.navixy.com/v2/report/tracker/retrieve?hash=a6aa75587e5c59c32d347da438505fc3&report_id=1234567{
"success": true,
"report": {
"created": "2020-10-06 16:01:46",
"time_filter": {
"from": "00:00:00",
"to": "23:59:59",
"weekdays": [
1,
2,
3,
4,
5,
6,
7
]
},
"title": "Trip report",
"id": 5602232,
"sheets": [
{
"header": "Samantha (Ford Focus)",
"sections": [
{
"data": [
{
"rows": [
{
"to": {
"v": "02:39 - Downtown Los Angeles, CA, USA",
"raw": 1601941188000.0,
"type": "value",
"location": {
"lat": 34.040713,
"lng": -118.246769
}
},
"from": {
"v": "00:47 - Santa Monica, CA, USA",
"raw": 1601934439000.0,
"type": "value",
"location": {
"lat": 34.019454,
"lng": -118.491191
}
},
"time": {
"v": "01:52",
"raw": 6749.0,
"type": "value"
},
"length": {
"v": "24.30",
"raw": 24.30,
"type": "value"
},
"avg_speed": {
"v": "13",
"raw": 13.0,
"type": "value"
},
"max_speed": {
"v": "27",
"raw": 27.0,
"type": "value"
}
},
{
"to": {
"v": "05:10 - Hollywood, Los Angeles, CA, USA",
"raw": 1601950218000.0,
"type": "value",
"location": {
"lat": 34.092809,
"lng": -118.328661
}
},
"from": {
"v": "03:11 - Downtown Los Angeles, CA, USA",
"raw": 1601943083000.0,
"type": "value",
"location": {
"lat": 34.040713,
"lng": -118.246769
}
},
"time": {
"v": "01:58",
"raw": 7135.0,
"type": "value"
},
"length": {
"v": "8.5",
"raw": 8.5,
"type": "value"
},
"avg_speed": {
"v": "4.3",
"raw": 4.3,
"type": "value"
},
"max_speed": {
"v": "19",
"raw": 19.0,
"type": "value"
}
}
],
"total": {
"text": "In total:",
"time": {
"v": "03:50",
"raw": 13740.0,
"type": "value"
},
"length": {
"v": "32.8",
"raw": 32.8,
"type": "value"
},
"avg_speed": {
"v": "8.5",
"raw": 8.5,
"type": "value"
},
"max_speed": {
"v": "27",
"raw": 27.0,
"type": "value"
}
},
"header": "Oct 6, 2020 (Tue) : 2"
}
],
"type": "table",
"header": "Trips",
"columns": [
{
"align": "left",
"field": "from",
"title": "Movement start",
"width": 4,
"weight": 3,
"highlight_min_max": false
},
{
"align": "left",
"field": "to",
"title": "Movement end",
"width": 4,
"weight": 3,
"highlight_min_max": false
},
{
"align": "right",
"field": "length",
"title": "Total trips length,\nkm",
"width": 1,
"weight": 0,
"highlight_min_max": false
},
{
"align": "right",
"field": "time",
"title": "Travel time",
"width": 1,
"weight": 0,
"highlight_min_max": false
},
{
"align": "right",
"field": "avg_speed",
"title": "Average speed,\nkm/h",
"width": 1,
"weight": 0,
"highlight_min_max": false
},
{
"align": "right",
"field": "max_speed",
"title": "Max. speed,\nkm/h",
"width": 1,
"weight": 0,
"highlight_min_max": false
}
],
"column_groups": []
},
{
"rows": [
{
"v": "2",
"raw": 2.0,
"name": "Trips",
"highlight": false
},
{
"v": "32.8",
"raw": 32.8,
"name": "Total trips length, km",
"highlight": false
},
{
"v": "03:50",
"raw": 230.0,
"name": "Travel time",
"highlight": false
},
{
"v": "8.5",
"raw": 8.5,
"name": "Average speed, km/h",
"highlight": false
},
{
"v": "27",
"raw": 27.0,
"name": "Max. speed, km/h",
"highlight": false
},
{
"v": "515855",
"raw": 515855.0,
"name": "Odometer value *, km",
"highlight": false
}
],
"type": "map_table",
"header": "Summary"
},
{
"text": "Odometer value at the end of the selected period.",
"type": "text",
"style": "small_print"
}
],
"entity_ids": [
311852
],
"additional_field": ""
}
],
"from": "2020-10-06 00:00:00",
"to": "2020-10-06 23:59:59"
}curl -X POST 'https://api.eu.navixy.com/v2/report/tracker/delete' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "report_id": 1234567}'https://api.eu.navixy.com/v2/report/tracker/delete?hash=a6aa75587e5c59c32d347da438505fc3&report_id=1234567{
"tracker_id": 10181654,
"hardware_id": "7cf9501df3d6924e423cabcde4c924ff",
"rssi": -101,
"get_time": "2023-04-17 17:14:42",
"latitude": 50.3487321,
"longitude": 7.58238,
"ext_data": {
"voltage": 3.075,
"temperature": 24.0
}
}curl -X POST 'https://api.navixy.com/v2/beacon/data/read' \
-H 'Content-Type: application/json' \
-d '{
"hash": "59be129c1855e34ea9eb272b1e26ef1d",
"from": "2023-04-17 17:00:00",
"to": "2023-04-17 18:00:00",
"beacons": ["7cf9501df3d6924e423cabcde4c924ff"]
}'{
"list": [
{
"tracker_id": 10181654,
"hardware_id": "7cf9501df3d6924e423cabcde4c924ff",
"rssi": -101,
"get_time": "2023-04-17 17:05:42",
"latitude": 50.3487321,
"longitude": 7.58238,
"ext_data": {
"voltage": 3.075,
"temperature": 24.0
}
},
{
"tracker_id": 10181654,
"hardware_id": "7cf9501df3d6924e423cabcde4c924ff",
"rssi": -101,
"get_time": "2023-04-17 17:40:22",
"latitude": 55.348890,
"longitude": 6.59403,
"ext_data": {
"voltage": 3.075,
"temperature": 24.0
}
}
],
"success": true
}curl -X POST 'https://api.navixy.com/v2/beacon/data/last_values' \
-H 'Content-Type: application/json' \
-d '{
"hash": "59be129c1855e34ea9eb272b1e26ef1d",
"trackers": [10181654],
"skip_older_than_seconds": 1200
}'{
"list": [
{
"tracker_id": 10181654,
"hardware_id": "7cf9501df3d6924e423cabcde4c924ff",
"rssi": -101,
"get_time": "2023-04-17 17:40:22",
"latitude": 55.348890,
"longitude": 6.59403,
"ext_data": {
"voltage": 3.075,
"temperature": 24.0
}
}
],
"success": true
}curl -X POST 'https://api.navixy.com/v2/beacon/data/last_values' \
-H 'Content-Type: application/json' \
-d '{
"hash": "59be129c1855e34ea9eb272b1e26ef1d",
"trackers": [10181654],
"skip_older_than_seconds": 1200
}'{
"id": 11672,
"start_date": "2023-04-17 17:05:42",
"start_address": "10470, County Road, Town of Clarence, Erie County, New York, United States, 14031",
"max_speed": 62,
"end_date": "2023-04-17 17:40:22",
"end_address": "Fast Teddy's, 221, Main Street, City of Tonawanda, New York, United States, 14150",
"length": 18.91,
"points": 59,
"avg_speed": 49,
"event_count": 3,
"norm_fuel_consumed": 6.32,
"type": "regular",
"gsm_lbs": false
}curl -X POST 'https://api.navixy.com/v2/track/read' \
-H 'Content-Type: application/json' \
-d '{
"hash": "22eac1c27af4be7b9d04da2ce1af111b",
"tracker_id": 10181654,
"from": "2023-04-17 17:00:00",
"to": "2023-04-17 18:00:00",
"filter": true
}'{
"success": true,
"limit_exceeded": true,
"list": [
{
"address": "10470, County Road, Town of Clarence, Erie County, New York, United States, 14031",
"satellites": 10,
"mileage": 0,
"heading": 173,
"speed": 42,
"get_time": "2023-04-17 17:05:42",
"alt": 0,
"lat": 43.0318683,
"lng": -78.5985733
}
]
}Gets a list of chat messages.
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
999199
from
Optional. Start date/time of searching. Default value is now minus 7 days.
yyyy-MM-dd HH:mm:ss
to
Optional. End date/time for searching. Default value is now.
curl -X POST 'https://api.eu.navixy.com/v2/tracker/chat/list' \
-H 'Content-Type: application/json' \
-d '{"tracker_id": 123456, "hash": "a6aa75587e5c59c32d347da438505fc3"}'https://api.eu.navixy.com/v2/tracker/chat/list?tracker_id=123456&hash=a6aa75587e5c59c32d347da438505fc3list - array of messages.
Where message object is:
submit_time - time when the message submitted.
update_time - delivering time for outgoing messages.
type - INCOMING or OUTGOING.
status - PENDING or DELIVERED.
employee_id - optional, nullable employee identifier.
201 – Not found in the database (if there is no tracker with such ID belonging to authorized user).
208 – Device blocked (if tracker exists but was blocked due to tariff restrictions or some other reason).
214 – Requested operation or parameters are not supported by the device.
236 – Feature unavailable due to tariff restrictions (if one of the trackers has tariff without "chat" feature).
Marks all incoming chat messages as read for all or for given user trackers.
trackers
Optional array of IDs of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int array
[999199, 999919]
201 – Not found in the database.
Marks incoming chat message as read by message_id or array of message_ids.
message_id
ID of incoming message.
int
123
message_ids
IDs of incoming messages.
int array
[123,213]
Use only one parameter.
201 – Not found in the database.
Sends chat message to a specified tracker.
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
123456
message
Message text, not null, max size - 20000.
string
"Hello World"
cURL
id - ID of the submitted message.
201 – Not found in the database - if there is no tracker with such ID belonging to authorized user.
208 – Device blocked - if tracker exists but was blocked due to tariff restrictions or some other reason.
214 – Requested operation or parameters are not supported by the device.
236 – Feature unavailable due to tariff restrictions - if one of the trackers has tariff with disabled reports ("has_reports" is false).
Sends chat message to specified trackers.
trackers
Array of IDs of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked. Max size - 300.
int array
[999199, 999919]
message
Message text, not null, max size - 20000.
string
"Hello World"
cURL
sent_to - list of tracker IDs to whom the message sent.
not_sent_to - list of tracker IDs, who failed to send the message.
217 – The list contains non-existent entities – if one of the specified trackers does not exist, is blocked or doesn't have required tariff features.
221 – Device limit exceeded - if device limit set for the user's dealer has been exceeded.
Gets date-times of last messages in chat of trackers.
trackers
Array of IDs of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked. Max size - 300.
int array
[999199, 999919]
cURL
value - map of tracker IDs to date-times.
217 – The list contains non-existent entities – if one of the specified trackers does not exist, is blocked or doesn't have required tariff features.
221 – Device limit exceeded - if device limit set for the user's dealer has been exceeded.
Gets count of user's unread chat messages grouped by tracker ID.
value - map of tracker IDs to counts.
236 – Feature unavailable due to tariff restrictions - if there is no tracker which has a tariff with "chat" feature.
Gets route points using Google Directions API.
start
Location JSON object. Start of route.
JSON object
end
Location JSON object. End of route.
JSON object
waypoints
Optional. List of transitional points. [{locationA},{locationN}].
array of JSON objects
point_limit
Optional. If specified, the returned route will be simplified to contain this number of points (or less). Min=2.
int
Where location described in data types description section.
cURL
distance - int. Length in meters.
time - int. Duration in seconds.
list - list of route points. Location objects.
key_points - list of points corresponding to start point, waypoints and end point (in that sequence).
id - int. index in points list.
lat - float. Latitude.
lng - float. Longitude.
215 - External service error.
errors - enum array. Status.
OVER_QUERY_LIMIT – indicates the service has received too many requests from your application within the
allowed time period.
REQUEST_DENIED – indicates that the service denied use of the directions service by your application.
UNKNOWN_ERROR – indicates directions request could not be processed due to a server error. The request may
succeed if you try again.
218 - Malformed external service parameters.
errors - enum array. Status.
NOT_FOUND – indicates at least one of the locations specified in the request's origin, destination, or
waypoints could not be geocoded.
ZERO_RESULTS – indicates no route could be found between the origin and destination.
MAX_WAYPOINTS_EXCEEDED – indicates that too many waypoints provided in the request. The maximum allowed
waypoints is 8, plus the origin, and destination. Google Maps API for Business customers may contain requests with
up to 23 waypoints.
INVALID_REQUEST – indicates that the provided request was invalid. Common causes of this status include
an invalid parameter or parameter value.
236 - Feature unavailable due to tariff restrictions – if there is at least one tracker without "routing" tariff feature.
curl -X POST 'https://api.eu.navixy.com/v2/tracker/chat/mark_read_all' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3"}'https://api.eu.navixy.com/v2/tracker/chat/mark_read_all?hash=a6aa75587e5c59c32d347da438505fc3curl -X POST 'https://api.eu.navixy.com/v2/tracker/chat/mark_read' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "message_id": 123}'https://api.eu.navixy.com/v2/tracker/chat/mark_read?hash=a6aa75587e5c59c32d347da438505fc3&message_id=123curl -X POST 'https://api.eu.navixy.com/v2/tracker/chat/unread/count' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3"}'https://api.eu.navixy.com/v2/tracker/chat/unread/count?hash=a6aa75587e5c59c32d347da438505fc3{
"success": true,
"list": [{<message1>}, {<message2>}]
}{
"id": 1,
"submit_time": "2014-04-15 09:02:24",
"update_time": null,
"text": "text of message",
"type": "INCOMING",
"status": "PENDING",
"employee_id": 123456
}{
"success": true
}{
"success": true
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/chat/send' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "tracker_id": 123456, "message": "Hello World"}'{
"success": true,
"id": 222
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/chat/broadcast' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "trackers": [999199, 991999], "message": "Hello World"}'{
"success": true,
"sent_to": [14],
"not_sent_to": [5234]
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/chat/updated/list' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "trackers": [999199, 991999]}'{
"success": true,
"value": {
"101": "2016-02-29 00:23:00",
"122": "2017-02-28 00:23:00"
}
}{
"success": true,
"value": {
"1": 123,
"2": 321
}
}curl -X POST 'https://api.eu.navixy.com/v2/route/google/get' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "start": {"lat": 34.178868, "lng": -118.599672}, "end": {"lat": 31.738386, "lng": -106.453854}}'{
"success": true,
"distance": 1340584,
"time": 43500,
"list": [
{
"lat": 34.178868,
"lng": -118.599672
},
{
"lat": 31.738386,
"lng": -106.453854
}
],
"key_points": [
{
"id": 123,
"lat": 35.365948,
"lng": -108.112104,
"distance": 1052511,
"time": 37800
}
]
}{
"success": false,
"status": {
"code": 215,
"description": "External service error"
},
"errors": ["OVER_QUERY_LIMIT"]
}{
"success": false,
"status": {
"code": 218,
"description": "Malformed external service parameters"
},
"errors": ["NOT_FOUND"]
}distance - int. Length of full path from start in meters (0 for start point).
time - int. Duration of full path from start in seconds (0 for start point).
yyyy-MM-dd HH:mm:ss
limit
Optional. Limit of messages in list. Default and max limit is 1024.
int
1024
ascending
Optional. Ascending order direction from the first message to last. Default value is true.
boolean
true/false
Gets last values for all sensors, state values and counters.
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
999199
sensor_type
Optional. If specified, state values and counters will be omitted. Used to filter sensors by type.
string or
"fuel"
include_components
Optional. Default is true. If set to false, parts of composite sensors will be excluded.
boolean
curl -X POST 'https://api.eu.navixy.com/v2/tracker/readings/list' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "tracker_id": 265489}'https://api.eu.navixy.com/v2/tracker/readings/list?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=265489inputs - an array of JSON objects containing information about the tracker sensors readings.
sensor_id - int. The ID of the sensor.
value - float. The value of the sensor.
label - string. The label of the sensor.
units - string. The units in which the sensor value is measured.
name - string. The name of the sensor.
type - . The type of the sensor.
units_type - string. The type of the units in which the sensor value is measured.
update_time - date/time. The time when the sensor value was updated.
min_value - optional float. The minimum value of the sensor.
max_value - optional float. The maximum value of the sensor.
converted_units_type - nullable string. The type of the units in which the sensor value is converted.
converted_value - nullable float. The converted value of the sensor reading.
composite_sensor_ids - optional array of int. The IDs of the composite sensors that include sensor.
states - an array of JSON objects containing information about the tracker state readings.
field - string. The field name of the state.
value - can be string, int, float, boolean, or null. The value of the field.
virtual_sensors - an array of JSON objects containing information about the tracker virtual sensors readings.
sensor_id - int. The ID of the virtual sensor.
value - string. The value of the virtual sensor.
counters - an array of JSON objects containing information about the tracker counter readings.
type - string. The type of the counter.
value - float. The value of the counter.
204 – Entity not found - if there is no tracker with such ID belonging to authorized user.
208 – Device blocked - if tracker exists but was blocked due to tariff restrictions or some other reason.
Gets last values for all sensors, state values and counters on multiple trackers.
trackers
An array of tracker IDs (aka "object_id"). Trackers must belong to authorized user.
int
[999199,991999]
sensor_type
Optional. If specified, state values and counters will be omitted. Used to filter sensors by type.
string or
"fuel"
include_components
Optional. Default is true. If set to false, parts of composite sensors will be excluded.
boolean
inputs - an array of JSON objects containing information about the tracker sensors readings.
sensor_id - int. The ID of the sensor.
value - float. The value of the sensor.
label - string. The label of the sensor.
units - string. The units in which the sensor value is measured.
name - string. The name of the sensor.
type - . The type of the sensor.
units_type - string. The type of the units in which the sensor value is measured.
update_time - date/time. The time when the sensor value was updated.
min_value - optional float. The minimum value of the sensor.
max_value - optional float. The maximum value of the sensor.
converted_units_type - nullable string. The type of the units in which the sensor value is converted.
converted_value - nullable float. The converted value of the sensor reading.
composite_sensor_ids - optional array of int. The IDs of the composite sensors that include sensor.
states - an array of JSON objects containing information about the tracker state readings.
field - string. The field name of the state.
value - can be string, int, float, boolean, or null. The value of the field.
virtual_sensors - an array of JSON objects containing information about the tracker virtual sensors readings.
sensor_id - int. The ID of the virtual sensor.
value - string. The value of the virtual sensor.
counters - an array of JSON objects containing information about the tracker counter readings.
type - string. The type of the counter.
value - float. The value of the counter.
217 - List contains nonexistent entities.
curl -X POST 'https://api.eu.navixy.com/v2/tracker/readings/batch_list' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "trackers": [10181215,10038816]}'https://api.eu.navixy.com/v2/tracker/readings/batch_list?hash=a6aa75587e5c59c32d347da438505fc3&trackers=[10181215,10038816]{
"success": true,
"inputs": [
{
"sensor_id": 37641,
"value": 5.66,
"label": "label",
"units": "litres",
"name": "fuel_level",
"type": "fuel",
"units_type": "custom",
"update_time": "2023-06-28 06:05:59",
"composite_sensor_ids": [
37651,
37652
]
}
],
"states": [
{
"field": "obd_mil_status",
"value": 12345.23,
"update_time": "2023-06-28 06:05:59"
}
],
"virtual_sensors": [
{
"sensor_id": 37643,
"label": "Virtual Ignition",
"value": "On",
"type": "virtual_ignition",
"update_time": "2023-06-28 06:05:59"
},
{
"sensor_id": 37645,
"label": "Hood state",
"value": "Closed",
"type": "state",
"update_time": "2023-06-28 06:05:59"
}
],
"counters": [
{
"type": "odometer",
"value": 3232.9923342688653,
"update_time": "2023-06-28 06:05:59"
}
]
}
{
"result": {<readings_batch>},
"success": true
}{
"10181215": {
"inputs": [
{
"sensor_id": 37641,
"label": "Tank 1",
"units": "",
"name": "lls_level_1",
"type": "fuel",
"min_value": 0.0,
"max_value": 480.0,
"value": 225.71,
"units_type": "litre",
"converted_units_type": null,
"converted_value": null,
"update_time": "2023-06-28 06:13:09",
"composite_sensor_ids": [37651, 37652]
},
{
"sensor_id": 37642,
"label": "Tank 2",
"units": "",
"name": "lls_level_6",
"type": "fuel",
"min_value": 0.0,
"max_value": 300.0,
"value": 113.52,
"units_type": "litre",
"converted_units_type": null,
"converted_value": null,
"update_time": "2023-05-11 00:35:16"
},
{
"sensor_id": 37643,
"label": "Fuel",
"units": "",
"name": "composite",
"type": "fuel",
"min_value": 0.0,
"max_value": 700.0,
"value": 175.31,
"units_type": "litre",
"converted_units_type": null,
"converted_value": null,
"update_time": "2023-05-11 00:35:26"
}
],
"states": [
{
"field": "input_status",
"value": 0,
"update_time": "2023-06-28 06:13:09"
},
{
"field": "output_status",
"value": 0,
"update_time": "2023-06-28 06:13:09"
}
],
"virtual_sensors": [
{
"sensor_id": 37644,
"label": "Virtual Ignition",
"value": "On",
"type": "virtual_ignition",
"update_time": "2023-06-28 06:05:59"
},
{
"sensor_id": 37645,
"label": "Hood state",
"value": "Closed",
"type": "state",
"update_time": "2023-06-28 06:05:59"
}
],
"counters": [
{
"type": "odometer",
"value": 3232.9923342688653,
"update_time": "2023-06-28 06:05:59"
}
]
},
"10038816": {
"inputs": [],
"states": [
{
"field": "input_status",
"value": 0,
"update_time": "2023-06-28 06:13:23"
},
{
"field": "output_status",
"value": 0,
"update_time": "2023-06-28 06:13:23"
}
],
"counters": [
{
"type": "odometer",
"value": 20854.422727641213,
"update_time": "2023-06-28 06:12:23"
}
]
}
}update_time - date/time. The time when the field value was updated.
label - string. The label of the virtual sensor.
type - virtual sensor type. The type of the virtual sensor.
update_time - date/time. The time when the virtual sensor value was updated.
update_time - date/time. The time when the counter value was updated.update_time - date/time. The time when the field value was updated.
label - string. The label of the virtual sensor.
type - virtual sensor type. The type of the virtual sensor.
update_time - date/time. The time when the virtual sensor value was updated.
update_time - date/time. The time when the counter value was updated.true
true
Actions with counter values:
Reads counter of passed type.
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
123456
type
Counter type. One of ["odometer", "engine_hours"].
"odometer"
204 - Entity not found – if there is no tracker with such ID belonging to authorized user.
208 - Device blocked – if tracker exists but was blocked due to tariff restrictions or some other reason.
219 - Not allowed for clones of the device – if specified tracker is a clone.
Updates counter of passed type.
required sub-user rights: tracker_update.
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
123456
type
Counter type. One of ["odometer", "engine_hours"].
"odometer"
multiplier
A new value of counter multiplier.
float
8 - Queue service error, try again later – cannot set counter value, try later.
204 - Entity not found – if there is no tracker with such ID belonging to authorized user.
208 - Device blocked – if tracker exists but was blocked due to tariff restrictions, or some other reason.
219 - Not allowed for clones of the device – if specified tracker is a clone.
7 - Invalid parameters –
if type is not "odometer" and sensor_id is not null.
if sensor with specified sensor_id is not a metering sensor.
if sensor with specified sensor_id belongs to another tracker.
Gets last values of the tracker's counters.
tracker_id
Tracker ID (aka "object_id").
int
999119
user_time - date/time. Current time in user's timezone.
list - array of counter value objects.
type - enum. One of predefined semantic counter types (see below).
value - double. Counter value.
update_time - date/time. Date and time when the data updated.
List of counter types:
odometer - odometer.
engine_hours - engine hours.
204 – Entity not found - if there is no tracker with such ID belonging to authorized user.
208 – Device blocked - if tracker exists but was blocked due to tariff restrictions or some other reason.
Gets actual value of specified type of sensor.
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
123456
type
Counter type. One of ["odometer", "engine_hours"].
"odometer"
value - float. The last valuer of counter.
204 - Entity not found – if there is no tracker with such ID belonging to authorized user, counter does not exist or there are no values yet. use /tracker/counter/set to create new counter (if not exist) and save some value.
208 - Device blocked – if tracker exists but was blocked due to tariff restrictions or some other reason.
Get actual values for counters of passed type and trackers.
trackers
List of the tracker's ID belonging to authorized user.
int array
[123456, 234567]
type
Counter type. One of ["odometer", "engine_hours"].
"odometer"
cURL
value - a map with tracker's IDs as keys.
204 - Entity not found – if one of the specified counter does not exist or there are no values yet. Use/tracker/counter/set to create new counter (if not exist) and save some value.
217 - List contains nonexistent entities – if one of the specified trackers does not exist or is blocked.
Creates new counter of passed type (if not) and update its value.
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
123456
type
Counter type. One of ["odometer", "engine_hours"].
"odometer"
value
A new value of counter.
float
cURL
8 - Queue service error, try again later - can't set counter value, try later.
204 - Entity not found – if there is no tracker with such ID belonging to authorized user.
208 - Device blocked – if tracker exists but was blocked due to tariff restrictions or some other reason.
219 - Not allowed for clones of the device – if specified tracker is a clone.
Returns counter values for a period.
tracker_id
Tracker ID (aka "object_id").
int
123456
type
Counter type. One of ["odometer", "engine_hours"].
"odometer"
from
Requested period start.
date/time
cURL
204 - Entity not found – if there is no tracker or counter belonging to authorized user.
211 - Requested time span is too big – if interval between "from" and "to" is too big (maximum value specified in API config)
208 - Device blocked – if tracker exists but was blocked due to tariff restrictions or some other reason.
7 - Invalid parameters –
if from is after to;
if between from and to more than 31 days.
curl -X POST 'https://api.eu.navixy.com/v2/tracker/counter/read' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 123456, "type": "odometer"}'https://api.eu.navixy.com/v2/tracker/counter/read?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=123456&type=odometercurl -X POST 'https://api.eu.navixy.com/v2/tracker/counter/update' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 123456, "type": "odometer", "multiplier": 3.14, "sensor_id": 1234}'https://api.eu.navixy.com/v2/tracker/counter/update?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=123456&type=odometer&multiplier=3.14&sensor_id=1234curl -X POST 'https://api.eu.navixy.com/v2/tracker/get_counters' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "tracker_id": 265489}'https://api.eu.navixy.com/v2/tracker/get_counters?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=265489curl -X POST 'https://api.eu.navixy.com/v2/tracker/counter/value/get' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 123456, "type": "odometer"}'https://api.eu.navixy.com/v2/tracker/counter/value/get?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=123456&type=odometer{
"success": true,
"value": {
"id": 111,
"type": "odometer",
"multiplier": 1.0
}
}{
"success": true
}{
"success": true,
"user_time": "2014-07-09 07:50:58",
"list": [
{
"type": "odometer",
"value": 100500.1,
"update_time": "2014-03-06 13:57:00"
}
]
}{
"success": true,
"value": 18.9
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/counter/value/list' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "trackers": [123456, 234567], "type": "odometer"}'{
"success": true,
"value": {
"14": 18.9
}
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/counter/value/set' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 123456, "type": "odometer", "value": 233.21}'{
"success": true
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/counter/data/read' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 123456, "type": "odometer", "from": "2021-02-01 00:00:00", "to": "2021-02-01 03:00:00"}'{
"success": true,
"list": [
{
"value": 3835.52,
"update_time": "2021-02-01 02:52:55"
}, {
"value": 3835.7,
"update_time": "2021-02-01 02:57:18"
}
]
}if sensor_id is negative.
if sensor with such a sensor_id is not exists.
if type value is not one of list above.
1.34
sensor_id
ID of the sensor, which must be used as the source of odometer data (in case when parameter "type" equals "odometer"). If "type" is not "odometer", "sensor_id" must be null.
int
123
233.21
"2021-02-25 12:21:17"
to
Requested period end.
date/time
"2021-03-25 12:21:17"
This section provides detailed information on error handling in the Navixy API, including example error responses and descriptions of error codes.
If an error occurs, the API returns a special error response. You can detect an error by checking the HTTP response code. If it is not 200 OK, you should parse and handle the response body as an error response.
When an error occurs, the response will be in the following format:
success (boolean): Indicates if the request was successful.
status (object): Contains details about the error.
code (integer): The error code.
Default HTTP code is 400. Common error codes (should be handled for all API calls) are 1-100, and resource or action-specific errors are 101-300.
Check HTTP Status Codes: Always check the HTTP status code of the response to determine if the request was successful.
Parse the Error Response: If the status code indicates an error, parse the response body to obtain the error details.
Handle Specific Error Codes: Implement handling for common error codes and resource-specific error codes to provide meaningful feedback to the user.
Retry Logic
By following these guidelines, you can effectively handle errors in your application and provide a better experience for your users.
API calls to interact with tracker's rules. Rules used to set up conditions according to which the system logs the events and sends notifications to user.
Contains API calls to interact with tracker's rules. Rules used to set up conditions according to which the system logs the events and sends notifications to user.
Described creation and using rules step-by-step in the guide.
id - int. An ID of a rule.
name - string. Name of a rule.
type - enum. One of pre-defined types of rules. See .
description - string. Rule's description.
zone_ids - int array. List of geofence IDs.
trackers - int array. List of bound tracker IDs.
primary_text - string. Primary text of rule notification.
secondary_text - string. Secondary text of rule notification.
param - int. A common parameter. See .
alerts - object with destinations for notifications.
sms_phones - string array. Phones for SMS notifications.
phones - string array. Phones for voice calls.
suspended - boolean. true if the rule suspended.
auto_created - optional, boolean. true means that the rule created automatically.
shedule - optional object. The rule will work in specified period.
extended_params - optional. An object specified for concrete rule type. See .
schedule_interval is one of:
weekly_schedule_interval
fixed_schedule_interval
date/time and local_time types described at
the .
API base path: /tracker/rule.
Binds rule with rule_id to trackers list.
required sub-user rights: tracker_rule_update.
cURL
201 - Not found in the database – if rule with rule_id does not exist or owned by other user.
Creates rule and scheduled intervals.
required sub-user rights: tracker_rule_update.
Presented parameters are common for all rule types. However, there are specific parameters primary_text and secondary_text
that are described for every rule type if exist in .
cURL
id - int. An ID of created rule.
204 - Entity not found – when associated zone is not exist.
Deletes rule with rule_id and all related objects from the database.
required sub-user rights: tracker_rule_update.
201 - Not found in the database – if rule with rule_id does not exist or owned by other user.
List tracker rules bound to tracker with an ID=tracker_id or all users' tracker rules if tracker_id not passed.
list - list of rules
Unbinds trackers from rule with rule_id.
required sub-user rights: tracker_rule_update.
cURL
201 - Not found in the database – if rule with rule_id does not exist or owned by other user.
Updates rule and scheduled intervals.
required sub-user rights: tracker_rule_update.
Presented parameters are common for all rules, but there are specific parameters that can be found in .
cURL
201 - Not found in the database – if rule is not exists or owned by other user.
204 - Entity not found – when new associated zone is not exists.
{
"id": 668054,
"name": "Lock is opened/closed",
"type": "locking_unlocking",
"description": "This rule was created automatically",
"zone_ids": [18928],
"trackers": [10029750, 10030168, 10031971],
"primary_text": "Lock is opened",
"secondary_text": "Lock is closed",
"param": 0,
"alerts": {
"sms_phones": [],
"phones": [],
"emails": [],
"push_enabled": true
},
"suspended": false,
"auto_created": true,
"schedule": [
{
"type": "weekly",
"from": {
"weekday": 1,
"time": "00:00:00"
},
"to": {
"weekday": 7,
"time": "23:59:59"
},
"interval_id": 48732
}
],
"extended_params": {
"emergency": false,
"zone_limit_inverted": false,
"private_rule": true
}
}description (string): A description of the error.
5
Wrong request format
6
Unexpected error
500
7
Invalid parameters
8
Queue service error, try again later
503
9
Too large request
412
11
Access denied
403
12
Dealer not found
13
Operation not permitted
403
14
Database unavailable
503
15
Too many requests (rate limit exceeded)
429
101
In demo mode this function is disabled
403
102
Wrong login or password
103
User not activated
111
Wrong handler
112
Wrong method
201
Not found in database
202
Too many points in zone
203
Delete entity associated with
204
Entity not found
404
206
Login already in use
207
Invalid captcha
208
Device blocked
403
209
Failed sending email
210
Geocoding failed
211
Requested time span is too big
212
Requested limit is too big
213
Cannot perform action: the device is offline
214
Requested operation or parameters are not supported by the device
215
External service error
217
List contains nonexistent entities
218
Malformed external service parameters
219
Not allowed for clones of the device
403
220
Unknown device model
221
Device limit exceeded
403
222
Plugin not found
223
Phone number already in use
224
Device ID already in use
225
Not allowed for this legal type
403
226
Wrong ICCID
227
Wrong activation code
228
Not supported by sensor
229
Requested data is not ready yet
404
230
Not supported for this entity type
231
Entity type mismatch
409
232
Input already in use
233
No data file
234
Invalid data format
235
Missing calibration data
236
Feature unavailable due to tariff restrictions
402
237
Invalid tariff
238
Changing tariff is not allowed
403
239
New tariff does not exist
404
240
Not allowed to change tariff too frequently
403
241
Cannot change phone to bundled sim. Contact tech support.
242
There were errors during content validation
243
Device already connected.
244
Duplicate entity label.
245
New password must be different
246
Invalid user ID
247
Entity already exists
409
248
Wrong password
249
Operation available for clones only
403
250
Not allowed for deleted devices
403
251
Insufficient funds
403
252
Device already corrupted
253
Device has clones
254
Cannot save file
500
255
Invalid task state
256
Location already actual
257
Registration forbidden
403
258
Bundle not found
404
259
Payments count not comply with summary
260
Payments sum not comply with summary
261
Entity has external links
403
262
Entries list is missing some entries or contains nonexistent entries
263
No change needed, old and new values are the same
264
Timeout not reached
403
265
Already done
403
266
Cannot perform action for the device in current status
403
267
Too many entities
268
Over quota
402
269
Invalid file state
270
Too many sensors of same type already exist
271
File over max size
413
272
Trackers must have same models
273
Duplicate login
274
Empty data file
275
User is blocked
403
276
Action is forbidden for received session type
403
277
Security group has users in it
409
278
Security group is a default one
409
279
Invalid task period
280
Invalid import request state
281
This resource is closed
284
Not enough points for the specified zone type
Logging: Log error responses for debugging and monitoring purposes.
1
Database error
500
2
Service Auth error
403
3
Wrong hash
4
User or API key not found or session ended
{
"success": false,
"status": {
"code": 1,
"description": "Database error"
}
}emails - string array. Emails for notifications.push_enabled - boolean. If true push notifications available.
emergency - boolean. If true notifications will be marked as emergency with color and sound.
type
One of pre-defined types of rules. See .
param
A common parameter that responsible for integer conditions. See .
int
alerts
An object with destinations for notifications. Described .
JSON object
suspended
Starts or stops tracking the rule. true if the rule suspended.
boolean
schedule
An optional object. Configures the time - when the rule works. Described .
JSON object
extended_params
An optional object. Specified for concrete rule type. See .
JSON object
trackers
List of tracker IDs belong to user for which the rule will work.
int array
type
One of pre-defined types of rules. See .
param
A common parameter that responsible for integer conditions. See .
int
alerts
An object with destinations for notifications. Described .
JSON object
suspended
Starts and stops tracking the rule. true if the rule suspended.
boolean
schedule
An optional object. Configures the time - when the rule works. Described .
JSON object
extended_params
An optional object. Specified for concrete rule type. See .
JSON object
rule_id
ID of a rule.
int
trackers
IDs of trackers. Trackers which do not exist, owned by other user or deleted ignored without errors.
int array
name
The name of created rule.
string
description
Rule's description.
string
trackers
List of tracker IDs belong to user for which the rule will work.
int array
zone_ids
List of zones to bind where the rule will work. Leave it empty if rule should work everywhere. Parameter zone_ids is not allowed for rule offline and can't be empty for route and inoutzone rule types.
int array
rule_id
ID of a rule.
int
rule_id
ID of a rule.
int
trackers
IDs of trackers. Trackers which do not exist, owned by other user or deleted ignored without errors.
int array
id
ID of a rule. You can get IDs using the rule/list call.
int
name
The name of created rule.
string
description
Rule's description.
string
zone_ids
List of zones to bind where the rule will work. Leave it empty if rule should work everywhere. Parameter zone_ids is not allowed for rule offline and required for route and inoutzone rule types (there can be exactly one item).
int array
{
"type": "weekly",
"from": {
"weekday": 1,
"time": "00:00:00"
},
"to": {
"weekday": 7,
"time": "23:59:59"
},
"interval_id": 1
}{
"type": "fixed",
"from": "2014-07-09 07:50:58",
"to": "2014-07-10 07:50:58",
"interval_id": 3
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/rule/bind' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "rule_id": 123, "trackers": [265489]}'{
"success": true
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/rule/create' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "rule": {"description": "", "type": "work_status_change", "primary_text": "status changed", "secondary_text": "", "alerts": {"push_enabled": true, "emails": ["[email protected]"], "emergency": false, "sms_phones": ["745494878945"], "phones": []}, "suspended": "", "name": "Status changing", "trackers": [123456], "extended_params": {"emergency": false, "zone_limit_inverted": false, "append_zone_title": "", "status_ids": [319281,319282,319283]}, "param": "", "schedule": [{"from": {"weekday": 1, "time": "00:00:00"}, "to": {"weekday": 7, "time": "23:59:59"}, "type": "weekly"}], "zone_ids": [], "group_id": 1}}'{
"success": true,
"id": 123
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/rule/delete' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "rule_id": 123}'https://api.eu.navixy.com/v2/tracker/rule/delete?hash=a6aa75587e5c59c32d347da438505fc3&rule_id=123{
"success": true
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/rule/list' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3"}'https://api.eu.navixy.com/v2/tracker/rule/list?hash=a6aa75587e5c59c32d347da438505fc3{
"success": true,
"list": [
{
"id": 667281,
"name": "Case intrusion",
"type": "case_intrusion",
"description": "This rule was created automatically",
"zone_id": 0,
"trackers": [10029448, 10030168],
"primary_text": "Case is opened",
"secondary_text": "Case is closed",
"param": 0,
"alerts": {
"sms_phones": [],
"phones": [],
"emails": [],
"push_enabled": true
},
"suspended": false,
"auto_created": true,
"schedule": [
{
"type": "weekly",
"from": {
"weekday": 1,
"time": "00:00:00"
},
"to": {
"weekday": 7,
"time": "23:59:59"
},
"interval_id": 46892
}
]
}
]
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/rule/unbind' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "rule_id": 123, "trackers": [265489]}'{
"success": true
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/rule/update' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "rule": {"id": 123, "description": "", "type": "work_status_change", "primary_text": "status changed", "secondary_text": "", "alerts": {"push_enabled": true, "emails": ["[email protected]"], "emergency": false, "sms_phones": ["745494878945"], "phones": []}, "suspended": "", "name": "Status changing", "trackers": [123456], "extended_params": {"emergency": false, "zone_limit_inverted": false, "append_zone_title": "", "status_ids": [319281,319282,319283]}, "param": "", "schedule": [{"from": {"weekday": 1, "time": "00:00:00"}, "to": {"weekday": 7, "time": "23:59:59"}, "type": "weekly"}], "zone_ids": [], "group_id": 1}}'{
"success": true
}type - string. Always "metering".
id - int. Sensor's id.
sensor_type - metering sensor type. Type of the sensor.
name - string, max size 100. A name of sensor.
input_name - string, max size 64.
divider - double.
accuracy - double. The minimum=0.0, maximum=100.0 with step 0.25.
units - string.
units_type - enum. Units type for a sensor.
parameters - optional object with additional parameters.
parent_ids - optional. int array. Array of parent_ids for composite sensor.
volume - optional. Double. Volume for composite sensor.
min - optional. Double. Min acceptable raw value for a sensor.
max - optional. Double. Max acceptable raw value for a sensor.
max_lowering_by_time - optional. Double. Maximum legal value lowering per hour.
max_lowering_by_mileage - optional. Double. Maximum legal value lowering per 100 km.
ignore_drains_in_move - optional. Boolean. Default is false. If true, the fuel drains will not be detected during movement.
ignore_refuels_in_move - optional. Boolean. Default is false. If true, the refuels will not be detected during movement.
refuel_gap_minutes - optional. Integer. Default is 5. The time in minutes after the start of the movement, refuels will be detected during movement.
custom_field_name - optional. Boolean. Default false. The parameter determines whether the input_name field is a custom value was entered by user.
This makes sense only if the has the feature has_custom_fields.
fuel
temperature
rpm
custom
fuel_consumption
instant_consumption
power
speed
flow_meter
acceleration
type - string. Always "discrete".
id - int. An ID of a sensor.
sensor_type - discrete sensor type. Type of the sensor.
name - string, max size 100.
input_number - int, [1..8]. Assigned input number.
ignition
sos_button
power
engine
car_alarm
door
charge
detach
custom
type - string. Always "virtual".
id - int. Sensor's id.
sensor_type - virtual sensor type. Type of the sensor. "virtual_ignition" for virtual ignition or "state" for others.
name - string, max size 100. A name of sensor.
input_name - string, max size 64. A source input field name (identifier).
custom_field_name - optional. Boolean. Default false. The parameter determines whether the input_name field is a custom value was entered by user.
This makes sense only if the has the feature has_custom_fields.
parameters - optional object with additional parameters.
calc_method - . A method of sensor value calculation. One of this: "in_range", "identity", "bit_index".
range_from - double. Low bound of range. It is used only with "in_range" calc method.
state – custom virtual sensor
virtual_ignition – virtual ignition sensor
Some requirements:
There can be only one virtual sensor with type virtual_ignition for tracker.
One or both field range_from and range_to must be present for the calc method "in_range".
Field bit_index must be present for the calc method "bit_index".
There can be no more than 100 value titles.
All values must be unique within value_titles.
Described work with virtual sensors in our instructions.
API base path: /tracker/sensor.
List tracker sensors bound to trackers with specified identifiers (parameter trackers).
There exists a similar method for working with a single tracker - list.
trackers
Set of tracker identifiers. Each of the relevant trackers must be accessible to the authorized user and not be blocked. Number of trackers (length of array) is limited to a maximum of 500 (this number may be changed in future).
int array
Contains a map, where keys are IDs from trackers parameter and values are lists of sensor objects.
217 - List contains nonexistent entities - if one of trackers either does not exist or is blocked.
221 - Device limit exceeded - if too many IDs were passed in trackers parameter.
Creates a sensor.
required sub-user rights: tracker_update.
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
sensor
.
JSON object
cURL
id - int. An ID of created sensor.
232 - Input already in use – if given input number (for discrete input) or input name (for metering sensor) already in use.
208 - Device blocked – if tracker exists but was blocked due to tariff restrictions, or some other reason.
219 - Not allowed for clones of the device – if tracker is clone.
270 - Too many sensors of same type - the number of tracker's sensors, having same sensor_type is limited.
Deletes a sensor with sensor_id from the database.
required sub-user rights: tracker_update.
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
123456
sensor_id
Sensor ID.
int
234567
201 - Not found in the database - if sensor with a sensor_id does not exist or owned by another user.
208 – Device blocked - if tracker exists but was blocked due to tariff restrictions or some other reason.
219 – Not allowed for clones of the device - if tracker is a clone.
List tracker sensors bound to tracker with specified ID (tracker_id parameter).
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
123456
list - list of sensor objects. See sensor object description.
208 - Device blocked – if tracker exists but was blocked due to tariff restrictions, or some other reason.
Updates sensor.
required sub-user rights: tracker_update.
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
sensor
.
JSON object
cURL
201 - Not found in the database – if sensor does not exist or owned by another user.
232 - Input already in use – if given input number (for discrete input) or input name (for metering sensor) already in use.
208 - Device blocked – if tracker exists but was blocked due to tariff restrictions, or some other reason.
219 - Not allowed for clones of the device – if tracker is a clone.
Copies sensors from one tracker to another.
Important! This operation will delete sensors of target trackers, and some sensor data could be lost!
required sub-user rights: tracker_update.
base_tracker_id
ID of the base tracker (aka "object_id") from which you want to copy sensors. Tracker must belong to authorized user and not be blocked.
int
123456
trackers
ID of trackers. Target trackers for copying sensors.
[int]
[12345, 54321]
cURL
201 – Not found in the database - if there is no tracker with such ID belonging to authorized user.
272 – Trackers must have the same model - if base tracker and one of target trackers has a different model.
Gets all metering or virtual sensor readings with values and time per requested period.
It can't be used with discrete sensor.
tracker_id
ID of the base tracker (aka "object_id") from which you want to read sensor's data. Tracker must belong to authorized user and not be blocked.
int
123456
sensor_id
Sensor ID.
int
234567
from
Start date and time for searching.
cURL
value - a value of sensor data. It can be double, int or string depending on the sensor type.
get_time - time when value was received.
201 – Not found in the database - if there is no tracker with such ID belonging to authorized user.
211 – Requested time span is too big - if interval between "from" and "to" is too big. Maximum period is maxReportTimeSpan.
228 – Not supported by the sensor - if sensor is not a metering or virtual sensor.
This guide provides comprehensive instructions on retrieving and manipulating sensor data and counter information using the Navixy API. It includes detailed steps on working with various sensors, generating reports, and setting up rules based on sensor data.
In the Navixy software, the concept of a sensor represents an abstraction used to monitor and collect data from various IoT sensing devices. This abstraction seamlessly integrates both the software and hardware perspectives. From a hardware standpoint, a sensor can range from a simple thermometer that measures temperature to a sophisticated dash cam that analyzes in-vehicle video footage. In the software, these sensors are treated as data sources that provide valuable information for monitoring and analysis.
Navixy supports both Physical sensors and Virtual sensors. Physical sensors include measurement sensors (e.g., temperature, voltage), discrete sensors (e.g., ignition on/off, door open/closed), and counters (e.g., odometer, engine hours). Virtual sensors, on the other hand, help to further transform and interpret the values from physical sensors, enabling advanced data processing and custom metrics creation.
curl -X POST 'https://api.eu.navixy.com/v2/tracker/sensor/batch_list' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "trackers": [204104, 181451]}'https://api.eu.navixy.com/v2/tracker/sensor/batch_list?hash=a6aa75587e5c59c32d347da438505fc3&trackers=[204104, 181451]curl -X POST 'https://api.eu.navixy.com/v2/tracker/sensor/delete' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 123456, "sensor_id": 23456}'https://api.eu.navixy.com/v2/tracker/sensor/delete?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=123456&sensor_id=23456curl -X POST 'https://api.eu.navixy.com/v2/tracker/sensor/list' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 123456}'https://api.eu.navixy.com/v2/tracker/sensor/list?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=123456{
"type": "metering",
"id": 860250,
"sensor_type": "temperature",
"name": "OBD Coolant temperature",
"input_name": "obd_coolant_t",
"divider": 1.0,
"accuracy": 0.0,
"units": "",
"units_type": "celsius",
"parameters": {
"parent_ids": [123042, 123566],
"volume": 0.7,
"min": 0.0,
"max": 12.0,
"max_lowering_by_time": 120.0,
"max_lowering_by_mileage": 120.0,
"ignore_drains_in_move": true,
"ignore_refuels_in_move": false,
"refuel_gap_minutes": 11,
"custom_field_name": false
}
}{
"type": "discrete",
"id": 888951,
"sensor_type": "ignition",
"name": "Ignition",
"input_number": 4
}{
"type": "virtual",
"id": 1700049,
"sensor_type": "virtual_ignition",
"name": "Virtual Ignition",
"input_name": "board_voltage",
"custom_field_name": false,
"parameters": {
"calc_method": "in_range",
"range_from": 13.4,
"value_titles": [
{
"value": "0",
"title": "Off"
}, {
"value": "1",
"title": "On"
}
]
}
}{
"success": true,
"result": {
"11": [
{
"id": 1,
"type": "discrete",
"sensor_type": "fuel",
"name": "Main tank",
"input_name": "fuel_level",
"group_type": null,
"divider": 1,
"accuracy": 0.0,
"units": null,
"units_type": "litre"
}
]
}
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/sensor/create' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 123456, "sensor": {"type": "metering", "id": 860250,"sensor_type": "temperature", "name": "OBD Coolant temperature", "input_name": "obd_coolant_t", "divider": 1.0, "accuracy": 0.0, "units": "", "units_type": "celsius"}'{
"success": true,
"id": 937
}{
"success": true
}{
"success": true,
"list": [
{
"type": "metering",
"id": 860250,
"sensor_type": "temperature",
"name": "OBD Coolant temperature",
"input_name": "obd_coolant_t",
"divider": 1.0,
"accuracy": 0.0,
"units": "",
"units_type": "celsius"
}
]
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/sensor/update' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 123456, "sensor": {"type": "metering", "id": 860250, "sensor_type": "temperature", "name": "OBD Coolant temperature", "input_name": "obd_coolant_t", "divider": 1.0, "accuracy": 0.0, "units": "", "units_type": "celsius"}'{
"success": true
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/sensor/batch_copy' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "base_tracker_id": 123456, "trackers": [56789, 54321]}'{
"success": true
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/sensor/data/read' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 123456, "sensor_id": 1456789, "from": "2022-02-28 00:00:00", "to": "2022-03-28 23:59:00"}'{
"success": true,
"list": [
{
"value": 100500,
"get_time": "2022-02-28 00:00:00"
},
{
"value": 100501,
"get_time": "2022-02-28 00:00:30"
}
]
}range_to - double. High bound of range. It is used only with "in_range" calc method.
bit_index - int, [1..N]. A bit index in input field source value. It is used only with "bit_index" calc method.
value_titles - mapping for bind special titles for sensor values, if it is necessary.
value - string, max size 64. Sensor value.
title - string, max size 64. Title for the sensor value.
"2022-02-28 00:00:00"
to
End date and time for searching. Must be after from date. Maximum period is maxReportTimeSpan, default 30 days.
"2022-03-28 23:59:00"
raw_data
If true then the response will contain raw data without any calibration and multiplication. Affects only metering sensors. Default value is false for backward compatibility.
boolean
false
Within the category of Physical sensors, Navixy differentiates three categories of sensors:
Measurement sensors: These sensors measure and report continuous data points such as temperature, voltage, or fuel level. For example, a coolant temperature sensor that monitors the engine coolant temperature.
Discrete sensors: These sensors detect and report binary states such as on/off or open/close. For instance, an ignition sensor that indicates whether the vehicle ignition is on or off, or a door sensor that shows if a door is open or closed.
Counters: These sensors track cumulative data over time, such as distance traveled or operating hours. Examples include an odometer that measures the total distance a vehicle has traveled, or an engine hours counter that logs the total operating time of an engine.
For a comprehensive list of supported sensors, refer to the input_name documentation.
There are two primary methods for creating physical sensors on the Navixy platform: automatic sensor creation and manual sensor creation.
Some sensors are automatically created by the platform when a new device is activated. The list of such sensors depends on the model capabilities. These automatically created sensors provide immediate and valuable data without requiring additional setup, enabling a seamless and efficient monitoring experience for IoT and telematics applications.
Example: When an OBDII tracker is activated, the platform can automatically create a variety of sensors depending on the device's model and capabilities. These sensors can include:
Ignition sensor
Fuel level sensor
Coolant temperature sensor
Engine RPM sensor
etc.
For sensors that require manual creation, follow these steps:
Configure Data Sending: Ensure that the sensor is configured to send data from the device side.
Verify Data Reception: Use AirConsole to verify that the platform is receiving the data correctly.
Calibrate the Sensor: If necessary, calibrate the sensor (for analog sensors or those sending uncalibrated values) to ensure accurate data readings.
By using these methods, you can effectively manage both automatically and manually created physical sensors, ensuring comprehensive and reliable data collection for your IoT and telematics applications.
To retrieve current sensor values, use the following API calls:
Input states: get_inputs
CAN and OBD sensor data: get_diagnostics
Fuel sensor data: get_fuel
Other metering sensor readings: get_readings
To retrieve data from all sensors, states, and counters of a device, use the tracker/readings/list API call.
Example response:
Note: The input_status and output_status fields provide binary information in decimal form. For example, an output_status of 3 (binary 11) indicates that both output 1 and output 2 are ON.
To optimize requests for multiple devices, use the tracker/readings/batch_list API call.
To retrieve historical data from measurement sensors (up to 30 days), use the tracker/sensor/data/read API call. Specify the sensor ID, which can be obtained using the sensor/list request.
Counters are tools for monitoring specific metrics, such as odometer (mileage) and engine hours.
To create a counter, use the value/set API call.
Example for creating an odometer counter:
Example for creating an engine hours counter:
Get all counter values: get_counters
Get specific counter type for one device: value/get
Get counter values for multiple devices: value/list
To retrieve counter values with timestamps for a specific period, use the data/read API call.
Example response:
To retrieve counted values for a specific period:
Mileage: stats/mileage
Engine hours: stats/engine_hours
Virtual sensors provide an additional server-side layer where users can process input values to produce derived output values. They can be configured to analyze and manipulate data from other sensors, creating custom metrics or alerts.
By interpreting and translating raw data from physical sensors, virtual sensors make information more comprehensible and actionable. They are particularly useful for monitoring ignition states, translating complex sensor values, and working with predefined sets of values.
Virtual sensor object structure:
Key parameters:
type
string
Must be set as virtual for virtual sensors.
id
int
The sensor's ID.
sensor_type
enum
Must be "virtual_ignition" for virtual ignition sensor or "state" for others.
name
string
Name of the sensor. May contain up to 100 characters.
Notes:
Only one virtual sensor of the type virtual_ignition is allowed per GPS device.
For the in_range calculation method, at least one of range_from or range_to must be specified.
The bit_index field is required for the bit_index calculation method, and all values within "value_titles" must be unique.
One of the common uses for Virtual sensor functionality is monitoring and maintaining critical parameters within specified boundaries. This sensor type is particularly useful for:
Virtual ignition monitoring
Temperature control
Humidity regulation
Fuel level management
Operational principle:
A virtual sensor with the in_range type operates by evaluating whether the sensor value falls within predefined boundaries. Based on this evaluation, it outputs either A value for normal operation or B value to signal a potential issue.
Sensor value falls within defined boundaries
Value A
Indicates that the sensor is operating within the expected range, signaling safe or optimal levels.
Sensor value is outside defined boundaries
Value B
Signals that the sensor has detected a value outside the predefined range, alerting to potential issues.
Example 1. Virtual ignition (evaluated on the server side)
A particular case of a sensor the type in_range is the virtual ignition implementation calculated on the server side. This is useful for GPS tracking devices lacking a dedicated ignition input or with all physical inputs occupied. A virtual ignition sensor can be configured to detect the ignition state by monitoring significant increases in the vehicle's onboard voltage during engine startup.
Implementation details:
Typical threshold for vehicles with 12V on-board electrical system : 13.2V
When board voltage exceeds threshold: Engine operational
When board voltage falls below threshold: Engine off
Example 2. Sensor value normalization
The 'Value in Range' approach can be applied to normalize various sensor readings, transforming raw data into more comprehensible and user-friendly formats. For instance, temperature data from an uncalibrated analog sensor can be translated into a more meaningful temperature scale that users can easily understand.
Let's consider an example where we have a raw temperature sensor output that needs to be normalized. The raw output from the sensor might be uncalibrated and not in a human-readable format. By configuring a virtual sensor, we can translate these raw values into comprehensible temperature readings.
Raw sensor output: 1020 = -10°C, 1900 = 0°C
Virtual sensor configuration:
type: virtual
sensor_type: state
name: Normalized Temperature Sensor
input_name: raw_temp_sensor
parameters: { ... } (additional parameters if needed)
calc_method: in_range
range_from: 1020
range_to: 1900
value_titles:
Configuration:
Virtual sensors in Navixy also allow for custom definitions of received values, making them ideal for scenarios where predefined sets of nominal values (or strings) are used. You can map nominal input values into predefined output values using the identity type of virtual sensor.
Applications:
Binary States
Easily handle simple on/off or true/false states.
Ignition on/off, door open/closed
Multi-State Systems
Manage states that have more than two conditions.
Security system armed/disarmed, window open/closed/locked
Enumerated States
Work with a predefined set of named states.
Device states like state1/state2/state3 or key1/key2/key3
This flexibility guarantees that you can accurately capture and interpret the operational status of connected equipment, providing clear insights and actionable data for IoT and telematics applications.
Operational principle:
Received value 1 = Defined value A
Received value 2 = Defined value B
Received value 3 = Defined value C, etc.
Note: For historical data on these sensors, utilize the state field value alert with the "Report on All Events" feature.
Example 1. PTO drive engagement sensor
Consider a truck equipped with a Power Take-Off (PTO) drive engagement sensor outputting the following values:
0
No PTO drive engaged
1
At least one PTO drive engaged
2
Error
3
Not available
A virtual sensor can translate these raw values into meaningful status information.
Example 2. Hardware driver / asset identificators readings
Certain telematics devices can identify drivers, equipment, or trailers using:
iButtons
RFID keys
Bluetooth sensors
The platform identifies the nearest entity to the device, and a Virtual Sensor can display the corresponding names.
Implementation:
Each unit (driver/equipment/trailer) is assigned a unique tag.
The tag serves as a hardware key recognizable by the platform.
When a unit connects to the device, its key is transmitted to the platform.
The virtual sensor displays the associated name or identifier.
This method ensures clear identification of the unit currently interacting with the telematics device.
Example 3. Hardware event codes reading
The Navixy platform can process and display the most recent event code received from a device. This feature is particularly useful for systems with predefined event codes.
Example: For a dash camera, you can access and display Driver Monitoring System (DMS) events through a virtual sensor. By mapping event codes with descriptions, you can log important events in a meaningful, user-friendly format.
DMS_001
Driver fatigue detected
DMS_002
Driver distraction detected
DMS_003
Smoking detected
DMS_004
Phone usage detected
Virtual sensors in Navixy also allow decoding complex data packets from IoT devices in binary format, where multiple parameters are consolidated into a single value. For this purpose, you should use the bit_index sensor type.
Operational principle: The virtual sensor interprets specific bits within the transmitted value, allowing for the extraction of individual parameters. This method is particularly useful for telematics applications where data efficiency and clarity are critical.
Example: Given a transmitted value of 011 (interpreted in little-endian format):
1 (rightmost)
1
Driver's seat belt: 0 = fastened, 1 = unfastened
2
1
Driver's door: 0 = closed, 1 = open
3
0
Hood: 0 = closed, 1 = open
To utilize this data effectively, create a separate virtual sensor for each parameter you wish to monitor. By decoding the specific bits, you can track various states and conditions of a vehicle in a precise and efficient manner, making your telematics solution more robust and insightful.
To create a virtual sensor, use the tracker/sensor/create API call. This allows you to define and configure virtual sensors based on specific input parameters. Virtual sensors can be used to monitor various conditions and provide meaningful insights.
Example for creating a virtual ignition sensor:
This example demonstrates how to create a virtual ignition sensor that monitors the board voltage to determine the ignition state. The sensor will output "Off" when the voltage is below 13.4V and "On" when it is above.
To update an existing virtual sensor, use the tracker/sensor/update API call. This is useful for modifying the parameters or configuration of an already created sensor to reflect new thresholds or settings.
Example for updating a virtual ignition sensor:
This example shows how to update a virtual ignition sensor, changing the voltage threshold from 13.4V to 13.7V. The sensor will now use the updated threshold to determine the ignition state, ensuring that the monitoring criteria are current and accurate.
Historical data Use the tracker/sensor/data/read API call.
Example:
Current values Use the tracker/readings/batch_list API call for multiple devices.
Example:
Various reports can be generated to analyze sensor and counter data:
Equipment working time report
Plugin ID: 12
Shows operational times of units linked to discrete or virtual inputs.
Example:
Engine hours report
Plugin ID: 7
Shows working duration for ignition-based sensors.
Example:
Measuring sensors report
Plugin ID: 9
Displays data from measurement sensors or virtual sensors with source value calculation method.
Example:
Vehicle readings report
Plugin ID: 22
Shows data from vehicle instruments via CAN/OBD or virtual sensors.
Example:
curl -X POST 'https://api.navixy.com/v2/tracker/sensor/data/read' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 123456, "sensor_id": 965837, "from": "2023-07-24 00:00:00", "to": "2023-07-24 23:59:00", "raw_data": false}'curl -X POST 'https://api.eu.navixy.com/v2/tracker/readings/batch_list' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "trackers": [10181215,10038816]}'curl -X POST 'https://api.eu.navixy.com/v2/report/tracker/generate' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "title": "Equipment working time", "trackers": [642546], "from": "2023-07-27 00:00:00", "to": "2023-07-27 23:59:59", "time_filter": {"from": "00:00:00", "to": "23:59:59", "weekdays": [1,2,3,4,5,6,7]}, "plugin": {"hide_empty_tabs":true,"plugin_id":12,"show_seconds":false,"min_working_period_duration":60,"show_idle_percent":true,"filter":false,"sensors":[{"tracker_id":642546,"sensor_id":1931610}]}}'{
"success": true,
"inputs": [
{
"label": "Board voltage",
"units": "V",
"name": "board_voltage",
"type": "power",
"value": 26.13,
"units_type": "custom",
"converted_units_type": null,
"converted_value": null,
"update_time": "2021-06-01 15:23:03"
},
{
"label": "Analog sensor #1",
"units": "",
"name": "analog_1",
"type": "fuel",
"min_value": 0.0,
"max_value": 450.0,
"value": 269.82,
"units_type": "litre",
"converted_units_type": null,
"converted_value": null,
"update_time": "2021-06-01 15:23:03"
}
],
"states": [
{
"field": "battery_level",
"value": 4.01,
"update_time": "2021-06-01 15:23:03"
},
{
"field": "input_status",
"value": 0,
"update_time": "2021-06-01 15:23:03"
},
{
"field": "output_status",
"value": 3,
"update_time": "2021-06-01 15:23:03"
}
]
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/counter/read' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 311852, "type": "odometer", "value": 98342.1}'curl -X POST 'https://api.eu.navixy.com/v2/tracker/counter/read' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 311852, "type": "engine_hours", "value": 2368.2}'{
"success": true,
"list": [
{
"value": 100500,
"get_time": "2022-02-28 00:00:00"
},
{
"value": 100501,
"get_time": "2022-02-28 00:00:30"
}
]
}{
"type": "virtual",
"id": 1700049,
"sensor_type": "virtual_ignition",
"name": "Virtual Ignition",
"input_name": "board_voltage",
"parameters": {
"calc_method": "in_range",
"range_from": 13.4,
"value_titles": [
{
"value": "0",
"title": "Off"
}, {
"value": "1",
"title": "On"
}
]
}
}{
"type": "virtual",
"id": 456,
"sensor_type": "state",
"name": "Normalized Temperature Sensor",
"input_name": "raw_temp_sensor",
"calc_method": "in_range",
"range_from": 1020,
"range_to": 1900,
"value_titles": {
"1020": "-10°C",
"1900": "0°C"
}
}curl -X POST 'https://api.navixy.com/v2/tracker/sensor/create' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 123456, "sensor": {"type": "virtual", "sensor_type": "virtual_ignition", "name": "Virtual Ignition", "input_name": "board_voltage", "parameters": {"calc_method": "in_range", "range_from": 13.4, "value_titles": [{"value": "0", "title": "Off"}, {"value": "1", "title": "On"}]}}}'curl -X POST 'https://api.navixy.com/v2/tracker/sensor/update' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 123456, "sensor": {"type": "virtual", "sensor_id": 965837, "sensor_type": "virtual_ignition", "name": "Virtual Ignition", "input_name": "board_voltage", "parameters": {"calc_method": "in_range", "range_from": 13.7, "value_titles": [{"value": "0", "title": "Off"}, {"value": "1", "title": "On"}]}}}'input_name
string
Source input field (identifier). Indicates which sensor provides the information to the platform.
parameters
object
Additional parameters for the sensor.
calc_method
enum
Method of sensor value calculation. Must be one of: in_range, identity, bit_index.
range_from
double
Lower boundary of the range (used with "in_range" calculation method).
range_to
double
Upper boundary of the range (used with "in_range" calculation method).
bit_index
int
Bit index in the input field source value (used with "bit_index" calculation method). Range: [1..N].
value_titles
array
Mapping for assigning special titles to sensor values.
value
string
Raw sensor value from the device. Max size: 64 characters.
title
string
Custom title for the sensor value. Max size: 64 characters.
{
"1020": "-10°C",
"1900": "0°C"
}curl -X POST 'https://api.eu.navixy.com/v2/report/tracker/generate' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "title": "Engine hours report", "trackers": [642546], "from": "2023-07-27 00:00:00", "to": "2023-07-27 23:59:59", "time_filter": {"from": "00:00:00", "to": "23:59:59", "weekdays": [1,2,3,4,5,6,7]}, "plugin": {"hide_empty_tabs":true,"plugin_id":7,"show_seconds":false,"show_detailed":true,"include_summary_sheet":true,"include_summary_sheet_only":false,"filter":true}}'curl -X POST 'https://api.eu.navixy.com/v2/report/tracker/generate' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "title": "Measuring sensors report", "trackers": [1685505], "from": "2023-07-27 00:00:00", "to": "2023-07-27 23:59:59", "time_filter": {"from": "00:00:00", "to": "23:59:59", "weekdays": [1,2,3,4,5,6,7]}, "plugin": {"hide_empty_tabs": true, "plugin_id": 9, "details_interval_minutes": 5, "graph_type": "time", "smoothing": true, "show_address": false, "filter": true, "sensors": [{"tracker_id": 1685505, "sensor_id": 613753}]}}'curl -X POST 'https://api.eu.navixy.com/v2/report/tracker/generate' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "title": "Vehicle readings report", "trackers": [642546], "from": "2023-07-27 00:00:00", "to": "2023-07-27 23:59:59", "time_filter": {"from": "00:00:00", "to": "23:59:59", "weekdays": [1,2,3,4,5,6,7]}, "plugin": {"hide_empty_tabs": true, "plugin_id": 22, "details_interval_minutes": 5, "graph_type": "time", "smoothing": true, "show_address": false, "filter": true, "sensors": [{"tracker_id": 1685505, "sensor_id": 613753}]}}'Contains API calls to interact with tracks and for getting all track points.
This section includes API calls that allow you to interact with tracks and retrieve track points.
Learn more about the track API by following our instructions.
API path: /track.
This method allows you to download track points as a KML/KMZ file which can be used in other apps to show tracks.
Let's consider an example, where we're looking for a KML file for a tracker with ID 1683258 that doesn't break down by stops. The data should cover trips starting from 3:24 AM to 6:24 AM on November 19, 2023, according to the user's local time.
cURL
In case the available storage period is not exceeded, you will get the file.
For example, if the device's plan has maximum available storage period 3 months (default value) and we request data from 6 months, the response will contain JSON with the next information:
201 - Not found in database – the tracker ID in your request may not match any trackers linked to the user account with this session hash. Ensure the correct tracker_id and hash of an appropriate user are used.
208 - Device blocked – if a tracker exists under this user account but is currently inactive due to tariff plan restrictions or any other reason.
211 - Requested time span is too big – If the interval between the "from" and "to" dates is too large, it may exceed the maximum value defined in the API configuration.
This method retrieves a list of tracks for a given tracker within a specified time period.
For example, if we need to retrieve all trips for tracker 1683258 in November, without applying smart filter, including LBS points recorded, without clustering, separated by parkings, while also counting the number of events that occur during each trip, we only need to specify the "filter" and "count_events" from optional parameters. This is because the other optional settings will provide us with necessary info by default.
cURL
limit_exceeded - boolean. It will be true if the requested time period surpasses the limit set in the tracker's tariff.
For instance, if the device's plan has a maximum storage period of three months (the default value), and we request trips
for six months.
list - an array of JSON objects containing track information. It consists of zero or more JSON objects. Zero objects
indicates that there were no trips based on the track options or the device didn't supply any points to the platform.
where track_info is either regular, single_report, merged or cluster:
regular object:
id - int. Track id.
start_date - . Track start date, in user's timezone.
start_address - string. Track start address.
single_report object is returned when the device operates in "interval" mode or only one point per track is provided
(for example, an M7 tracker operating in interval mode):
id - int. Track id.
start_date - . Date when the tracker registered the point, in user's timezone.
start_address - string. Point address.
merged object. Only returned if "split" is set to false:
start_date - . Track start date, in user's timezone.
It signifies the initial point identified as a track for a specified time period.
start_address - string. Track start address.
max_speed - int. Maximum speed registered during period in km/h.
cluster object. Can be returned only if "split" is set to true:
start_date - . Track start date, in user's timezone.
start_address - string. Track start address.
end_date - . Track end date, in user's timezone.
201 - Not found in database – the tracker ID in your request may not match any trackers linked to the user account with this session hash. Ensure the correct tracker_id and hash of an appropriate user are used.
208 - Device blocked – if a tracker exists under this user account but is currently inactive due to tariff plan restrictions or any other reason.
211 - Requested time span is too big – If the interval between the "from" and "to" dates is too large, it may exceed the maximum value defined in the API configuration.
This method fetches all track points that a GPS tracker has recorded and sent to the platform within a specified time frame. The timestamp for each point corresponds to when the tracker recorded the point, adjusted to the user's time zone.
For instance, if we need to obtain track points for tracker 1683258 that fall within November 1, and are solely part of
track ID 923150, without applying a smart filter, LBS points and simplifier. Since these optional parameters by default
are true, we should list them in our request.
cURL
limit_exceeded - boolean. It will be true if the requested time period surpasses the limit set in the tracker's tariff.
For instance, if the device's plan has a maximum storage period of three months (the default value), and we request trips
for six months.
list - array of JSON objects. A list of .
lat - float. Represents latitude.
lng - float. Represents longitude.
alt - int. Indicates the altitude in meters.
201 - Not found in database – the tracker ID in your request may not match any trackers linked to the user account with this session hash. Ensure the correct tracker_id and hash of an appropriate user are used.
208 - Device blocked – if a tracker exists under this user account but is currently inactive due to tariff plan restrictions or any other reason.
211 - Requested time span is too big – If the interval between the "from" and "to" dates is too large, it may exceed the maximum value defined in the API configuration.
This method fetches IDs of zones and places that contain at least one track point.
For instance, if we need to obtain IDs of zones and places that contain at least one track point related to tracker 1683258 in January.
cURL
zones - int array. List of zones IDs.
places - int array. List of places IDs.
204 - Entity not found – the tracker ID in your request may not match any trackers linked to the user account with this session hash. Ensure the correct tracker_id and hash of an appropriate user are used.
track_ids
Optional. If specified, the file will only contain points from selected tracks. If not, it includes all valid points between the "from" and "to" times.
int array
[123456, 234567]
include_gsm_lbs
Optional. If set to false without specified track_ids, GSM LBS points will be excluded. Default is true.
boolean
true
simplify
Optional. If set to true, tracks in the returned file will be simplified with fewer points, optimized for uploading to other apps. Default is true.
boolean
true
point_limit
Optional. If it is specified and simplify=true, the returned tracks in a file will be reduced to contain that specified number of points. The minimum value is 2, and the maximum is 3000. If it is not specified, the server's default settings for simplifying tracks will be applied. This is not a strict limit; the returned file can potentially contain more points than specified.
int
300
filter
Optional. If this is set to true, the returned tracks in a file will be filtered. This is currently only applicable to LBS tracks.
boolean
true
format
File format can be "kml" or "kmz". Default is "kml".
"kml"
split
If set to true, tracks in the file will be split by stops into folders with start/end markers. Default isfalse.
boolean
false
filter
Optional. Default is true. If set to true, any tracks that are deemed too short, based on their length and number of points, will be excluded from the final list.
boolean
true
split
Optional. Default is true. If set to false, all the tracks will be combined into one single track within the period.
boolean
true
include_gsm_lbs
Optional. Default is true. If set to false, GSM LBS points will be excluded.
boolean
true
cluster_single_reports
Optional. Default is false. If set to true, trips consisting of a single point will be grouped together based on their coordinates.
boolean
false
count_events
Optional. Default is false. If set to true, the system will return the count of events that occurred during each track that isn't a single point.
boolean
false
omit_addresses
Optional. Default is false. If set to true, address parameters will be empty.
boolean
false
with_points
Optional. Default is false. If set to true, track point lists will be included.
boolean
false
point_limit
Optional. If specified, the returned data will be reduced to contain that specified number of points. The minimum value is 2, and the maximum is 3000. If it is not specified, the server's default settings for simplifying tracks will be applied. This is not a strict limit; the returned data can potentially contain more points than specified.
int
300
max_speed - int. Maximum speed registered during track in km/h.end_date - date/time. Track end date, in user's timezone.
end_address - string. Track end address.
length - float. Track length in kilometers.
points - int. Total number of points in a track.
avg_speed - int. Average speed in km/h.
event_count - int. Number of events recorded during this track. This field will not be present if "count_events" is set to false.
norm_fuel_consumed - float. Amount of fuel consumed during the track, measured in litres.
This field will not be present if there's no vehicle_object linked to the tracker or
if "normAvgFuelConsumption" is not defined for the linked vehicle object.
type - enum: regular, single_report, merged, cluster. Track type.
gsm_lbs - optional boolean. GSM LBS point flag.
points_list - array of JSON objects. A list of point info.
bounds - object. North-west and south-east coordinates of the bounding box that contains all points.
avg_speed - int. Average speed in km/h.gsm_lbs - optional boolean. GSM LBS point flag.
type - enum: regular, single_report, merged, cluster. Track type.
precision - optional int. Precision of the location in meters. Its presence relies on the device model.
points_list - array of JSON objects. A list of point info.
end_date - date/time. Track end date, in user's timezone.
It signifies the last point identified as a track for a specified time period.
end_address - string. Track end address.
length - float. Track length in kilometers.
points - int. Total number of points in a track.
avg_speed - int. Average speed in km/h.
event_count - int. Number of events recorded during period. This field will not be present if "count_events" is set to false.
norm_fuel_consumed - float. Amount of fuel consumed during period, measured in litres.
This field will not be present if there's no vehicle_object linked to the tracker or
if "normAvgFuelConsumption" is not defined for the linked vehicle object.
type - enum: regular, single_report, merged, cluster. Track type.
gsm_lbs - optional boolean. GSM LBS point flag.
points_list - array of JSON objects. A list of point info.
bounds - object. North-west and south-east coordinates of the bounding box that contains all points.
precision - optional int. Precision of the location in meters. Its presence relies on the device model.
points - array of point objects in a cluster.
type - enum: regular, single_report, merged, cluster. Track type.
gsm_lbs - optional boolean. GSM LBS flag. true if a cluster contains only GSM LBS points.
bounds - object. North-west and south-east coordinates of the bounding box that contains all points.
track_id
Optional. If a specific track is identified, only points related to that track will be provided. If no track is specified, all valid track points recorded within the specified "from" and "to" timeframe will be returned.
int
234567
include_gsm_lbs
Optional. Default is true. If the value is false && a track_id is not provided, the GSM LBS points will be excluded from the results.
boolean
true
simplify
Optional. Default is true. If set to true, the returned data will be simplified, resulting in fewer points.
boolean
true
point_limit
Optional. If it is specified and simplify=true, the returned data will be reduced to contain that specified number of points. The minimum value is 2, and the maximum is 3000. If it is not specified, the server's default settings for simplifying tracks will be applied. This is not a strict limit; the returned data can potentially contain more points than specified.
int
300
filter
Optional. If this is set to true, the returned tracks will be filtered. This is currently only applicable to LBS tracks. If set to false, the response will include parking points.
boolean
false
satellites - int. Shows the number of GPS satellites used to determine this point.mileage - float. Represents mileage.
get_time - date/time. This is the GPS timestamp of the point, adjusted to the user's timezone.
address - string. Represents the location's address. Will be "" if no address recorded. If no address has been recorded, it will appear as "". An address is recorded when it marks the beginning or end of a trip, or when an event occurs.
heading - int. A value that represents the direction in degrees, with a range of 0 to 360. 0 corresponds to North.
speed - int. A value representing speed in kilometers per hour.
precision - optional int. A value indicating precision in meters. Its presence relies on the device model.
gsm_lbs - optional boolean. It returns true if the location was detected by GSM LBS.
parking - optional boolean. It will return true if the point does not correspond to a trip. Parking detection feature on the platform influences the categorization of points as either trip or parking states.
buffered - optional boolean. It will return true if the point was initially saved in the device's memory and then sent to the server later. This parameter may vary based on the tracker model.
include_zones
Optional. Default is true. If the value is false, zones IDs will be excluded.
boolean
true
include_places
Optional. Default is true. If the value is false, places IDs will be excluded.
boolean
true
tracker_id
ID of the tracker (aka "object_id"). The tracker must be associated with the user whose hash is being used for the request, and not tariff-blocked.
int
123456
from
The start date/time for your KML file's track points. The file begins with the next point after this time.
"2020-09-23 03:24:00"
to
An end date/time for your KML file's track points. The file concludes with the last point before this time. Ensure this date is later than the "from" date.
tracker_id
ID of the tracker (aka "object_id"). The tracker must be associated with the user whose hash is being used for the request, and not tariff-blocked.
int
123456
from
The start date/time for trips. The response begins with the next trip point after this time.
"2020-09-23 03:24:00"
to
An end date/time for trips. The response concludes with the last point before this time. Ensure this date is later than the "from" date.
tracker_id
ID of the tracker (aka "object_id"). The tracker must be associated with the user whose hash is being used for the request, and not tariff-blocked.
int
123456
from
The start date/time for trips. The response begins with the next trip point after this time.
"2020-09-23 03:24:00"
to
An end date/time for trips. The response concludes with the last point before this time. Ensure this date is later than the "from" date.
tracker_id
ID of the tracker (aka "object_id"). The tracker must be associated with the user whose hash is being used for the request, and not tariff-blocked.
int
123456
from
Start date/time for searching.
"2024-01-10 00:00:00"
to
End date/time for searching. Must be after from date.
"2020-09-23 06:24:00"
"2020-09-23 06:24:00"
"2020-09-23 06:24:00"
"2024-01-20 00:00:00"
curl -X POST 'https://api.eu.navixy.com/v2/track/download' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 1683258, "from": "2023-11-19 03:24:00", "to": "2023-11-19 06:24:00", "format": "kml", "split": false}' <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:xal="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0">
<Document>
<name>track-John (Scania) 2023-11-19 03:24:00</name>
<Placemark>
<name>point #1</name>
<visibility>1</visibility>
<description>2023-11-19 03:24:03</description>
<TimeStamp>
<when>2023-11-19T03:24:03.000-06:00</when>
</TimeStamp>
<ExtendedData>
<Data name="speed">
<value>37</value>
</Data>
<Data name="heading">
<value>27</value>
</Data>
</ExtendedData>
<Point>
<coordinates>-78.768105,43.1172216</coordinates>
</Point>
</Placemark>
<Placemark>
<name>point #2</name>
<visibility>1</visibility>
<description>2023-11-19 03:27:11</description>
<TimeStamp>
<when>2023-11-19T03:27:11.000-06:00</when>
</TimeStamp>
<ExtendedData>
<Data name="speed">
<value>57</value>
</Data>
<Data name="heading">
<value>13</value>
</Data>
</ExtendedData>
<Point>
<coordinates>-78.7549233,43.1356483</coordinates>
</Point>
</Placemark>
</Document>
</kml>{
"list": [],
"limit_exceeded": true,
"success": true
}curl -X POST 'https://api.eu.navixy.com/v2/track/list' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 1683258, "from": "2023-11-01 03:24:00", "to": "2023-11-30 06:24:00", "filter": false, "count_events": true}'{
"success": true,
"limit_exceeded": false,
"list": [track_info]
}{
"id": 123456,
"start_date": "2023-11-23 03:39:44",
"start_address": "1255 6th Ave, New York, NY 10020, USA",
"max_speed": 62,
"end_date": "2023-11-23 06:39:44",
"end_address": "888 5th Ave, New York, NY 10021, USA",
"length": 5.5,
"points": 327,
"avg_speed": 49,
"event_count": 3,
"norm_fuel_consumed": 1.07,
"type": "regular",
"gsm_lbs": false,
"points_list": [point_info],
"bounds": {
"nw": {
"lat": 57.151005,
"lng": 59.92729333
},
"se": {
"lat": 56.47945333,
"lng": 61.19021833
}
}
}{
"id": 123456,
"start_date": "2023-11-24 03:39:44",
"start_address": "1255 6th Ave, New York, NY 10020, USA",
"avg_speed": 34,
"gsm_lbs": false,
"type": "single_report",
"precision": 10,
"points_list": [point_info]
}{
"start_date": "2023-11-24 03:39:44",
"start_address": "1255 6th Ave, New York, NY 10020, USA",
"max_speed": 62,
"end_date": "2023-11-24 06:39:44",
"end_address": "888 5th Ave, New York, NY 10021, USA",
"length": 5.5,
"points": 327,
"avg_speed": 49,
"event_count": 3,
"norm_fuel_consumed": 1.07,
"type": "merged",
"gsm_lbs": false,
"points_list": [point_info],
"bounds": {
"nw": {
"lat": 57.151005,
"lng": 59.92729333
},
"se": {
"lat": 56.47945333,
"lng": 61.19021833
}
}
}{
"start_date": "2023-11-24 03:39:44",
"start_address": "1255 6th Ave, New York, NY 10020, USA",
"end_date": "2020-09-24 06:39:44",
"precision": 500,
"points": [
{
"lat": 34.178868,
"lng": -118.599672
},
{
"lat": 31.738386,
"lng": -106.453854
}
],
"bounds": {
"nw": {
"lat": 57.151005,
"lng": 59.92729333
},
"se": {
"lat": 56.47945333,
"lng": 61.19021833
}
},
"type": "cluster",
"gsm_lbs": false
}curl -X POST 'https://api.eu.navixy.com/v2/track/read' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 1683258, "track_id": 923150, "from": "2023-11-01 00:00:00", "to": "2023-11-01 23:59:59", "filter": false, "simplify": false, "include_gsm_lbs": false}'{
"success": true,
"limit_exceeded": true,
"list": [point_info]
}{
"lat": 43.0375133,
"lng": -79.226505,
"alt": 0,
"satellites": 10,
"mileage": 43.93,
"get_time": "2023-11-01 04:38:39",
"address": "Kottmeier Road, Thorold, Golden Horseshoe, Ontario, Canada, L3B 5N6",
"heading": 280,
"speed": 53,
"precision": 100,
"gsm_lbs": false,
"parking": false,
"buffered": true
}curl -X POST 'https://api.eu.navixy.com/v2/track/visit/list' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 1683258, "from": "2024-01-01 00:00:00", "to": "2024-01-31 00:00:00"}'{
"success": true,
"value": {
"zones": [
54865,
35284
],
"places": [
18404
]
}
}About special settings. Some trackers provide additional specific kind of control which is defined with `special_control` field of tracker model.
Some trackers provide additional specific kind of control which is defined with special_control field of tracker model.
This field contains type, which identifies a certain kind of settings. (For example "pwr_off_key" or "sos_key", which
you can see below)special_control = "none" means that tracker doesn't have specific kind of control. In other cases you can:
read special settings with ,
update special settings with ,
perform special control with .
Such control assumes tracker special settings
API base path: /tracker/settings/special.
Gets special settings for the specified tracker.
Parameters
Examples
Responses
If parameter type is present:
value - settings object.
If parameter type omitted:
list - array of objects. Settings object array.
Settings object structures by type:
electronic_lock_password
password - string. Nullable.
hhd_lock_password
password - string. Nullable. 8 digits.
jointech_lock_password
password - string. Nullable. 6 non-space, non-comma symbols.
vg_lock_password
password - string. Nullable. 6 digits.
autofon_sms_alerts
low_battery_mode - . Can be "enable" | "disable".
ext_input_mode - . Can be "enable" | "disable".
sos_button_mode - . Can be "enable" | "disable".
auto_geofence_telfm
mode - . Can be "enable" | "disable".
activation_timeout - int. 0-65535 seconds.
radius - int. 50 - 10000 meters.
bce_tacho_control
function - . Can be "slot1" | "slot2" | "vu_activities" | "vu_no_activities"
call_button
items - Array of phone numbers (10-15 digits) represented as strings.
phone - string. Phone number in the international format without "+" sign.
call_buttons_v40
items - Array of phone numbers (10-15 digits) represented as strings.
phone - string. Phone number in the international format without "+" sign.
careu_psm
sleep_when_ignition_off - boolean.
sleep_when_no_motion - boolean.
sleep_when_no_communication - boolean.
castel_alarms
report - boolean. If true will send notification to server upon an event.
beep - boolean. If true will sound upon an event.
threshold - double. Normal values range where event does not occur. Each unit equals 1 g.
castel_obd
enable_pid_reports - boolean.
pid_data_records_per_message - int. Count of records per one message. Can be 1 - 20.
pid_data_collect_interval - int. Data collect interval in seconds. Can be 30 - 600.
charging_gmt100
mode - . Can be "on_need" | "ign_on_only" | "ign_on" | "low_charge".
ddd_emails
emails - string array. Valid emails. Maximum size 5.
digital_password
password - string. 6 digits.
fcc_telfm
fuel_type - . Can be "gasoline" | "diesel" | "lpg".
engine_volume - double. Can be 0.0 - 10.0.
multiplier - double. Can be 0.0 - 10.0.
galileo_tacho_control
galileo_hds
mode - . Can be "enable" | "disable".
max_acceleration_force - double. It is a max allowed acceleration force which can be reached while accelerating without
triggering harsh acceleration event.Can be 0 - 2.55.
max_braking_force - double. It is a max allowed braking force which can be reached while braking without triggering
harsh braking event. Can be 0 - 2.55.
harsh_behavior_hua_sheng
mode - . Can be "enable" | "disable".
max_acceleration_force - double. It is a max allowed acceleration force which can be reached while accelerating without
triggering harsh acceleration event.Can be 0.1 - 1.0.
max_braking_force - double. It is a max allowed braking force which can be reached while braking without triggering
harsh braking event. Can be 0.1 - 1.0.
hbm_telfm
mode - . Can be "enable" | "disable".
max_acceleration_force - double. It is a max allowed acceleration force which can be reached while accelerating without
triggering harsh acceleration event. Can be 0.25 - 0.85 g.
max_braking_force - double. It is a max allowed braking force which can be reached while braking without triggering
harsh braking event. Can be 0.25 - 0.85 g.
hbm_telfm5x
max_acceleration_force – double. It is a max allowed acceleration force which can be reached while accelerating without
triggering harsh acceleration event. Can be 0.5 - 10.0 g.
max_braking_force – double. It is a max allowed braking force which can be reached while braking without triggering
harsh braking event. Can be 0.5 - 10.0 g.
max_angular_velocity – double. It is a max allowed cornering angle which can be reached while cornering without triggering
harsh cornering event. Can be 0.5 - 10.0 rad/s.
hbm_ql
mode - . Can be "enable" | "disable".
high_speed - int. Can be 100 - 400.
high_speed_braking_delta - int. Can be 0 - 100.
hbm_ms_ql
mode - . Can be "disable" | "gps_only" | "motion_sensor_only" | "gps_and_motion_sensor".
high_speed - int. Can be 100 - 400.
high_speed_braking_delta - int. Can be 0 - 100.
harsh_behavior_bce
is_switched_off - boolean.
acceleration_limit - double. Can be 0.04 - 3.
braking_limit - double. Can be 0.04 - 3.
harsh_behavior_concox_x1
acc_speed - int. Can be 0 - 100.
acc_detection_time - int. Can be 0 - 10.
braking_speed - int. Can be 0 - 100.
harsh_behavior_tramigo
mode - . Can be "enable" | "disable".
max_acceleration_force - double. Can be 0.1 - 8.
max_braking_force - double. Can be 0.1 - 8.
harsh_behavior_ruptela
braking_limit - int. Can be 0 - 100.
acceleration_limit - int. Can be 0 - 100.
nimbelink_accel
mode - . Can be "enable" | "disable".
x - double. Can be 0 - 2.55.
y - double. Can be 0 - 2.55.
hua_sheng_vibration_sensitivity
sensitivity - . Can be "easy" | "normal" | "hard" | "hardest".
ign_ruptela
For Ruptela devices. Represents configuration parameters related to ignition detection ("Engine detection" and "Custom ignition", as Ruptela documentation calls them).
:
ign_src_suntech
mode - . Can be "power_voltage" | "din1" | "movement".
power_voltage_low_level - int. Can be 0 - 30000.
power_voltage_high_level - int. Can be 0 - 30000.
ign_src_telfm
mode - . Can be "power_voltage" | "din1" | "movement".
power_voltage_low_level - int. Can be 0 - 30000.
power_voltage_high_level - int. Can be 0 - 30000.
locus_sec
signature - string. Length 1 - 32.
sms_password - string. Length 1 - 32.
reset - boolean.
phonebook_gt300
items - array of contacts.
name - string. Contact name.
phone - string. Phone number in the international format without "+" sign.
phonebook_pt100
items - array of contacts.
name - string. Contact name.
phone - string. Phone number in the international format without "+" sign.
pwr_off_key
mode - . Can be "enable" | "disable".
scat_mayak_bt_control
function - . Can be "bt_disable" | "bt_enable" | "bt_clear" | "bt_write".
bt_state - boolean.
sos_key
mode - . Can be "report" | "call_report".
phone - string. SOS phone to call. Phone number in the international format without "+" sign.
starcom_impact
strong_duration - int. Required impact duration to trigger strong impact event. Each unit equals 2.5 milliseconds.
Can be 0 - 14.
strong_force - int. Required impact force triggering strong impact event. Each unit equals about 1.1g. Can be 1 - 7.
strong_impact_enabled - boolean.
tacho_company_card
company_card_number - string. 16 HEX digits (0-9A-F).
tacho_remote_download
company_card_number - string. 16 HEX digits (0-9A-F).
vu_download_interval - int. Min = 0.
card_download_interval - int. Min = 0.
teltonika_tacho_request
data_type - . Can be "overview" | "activities" | "eventsAndFaults" | "detailedSpeed" | "technicalData" |
"card1Download" | "card2Download".
activities_start_time - string date. Format = "YYYY-MM-DD", not null only if data_type = "activities".
activities_end_time - string date. Format = "YYYY-MM-DD", not null only if data_type = "activities".
temporary_digital_password
password - string. 6 digits.
duration_in_min - int. Can be 10 - 255.
time_shift
offset - double. Can be -24.0 - 24.0 hours.
tow_detection_ql
mode - . Can be "enable" | "disable".
engine_off_to_tow - int. A time parameter to judge whether the device considered towed after the engine off.
If the motion sensor doesn't detect stillness within the specified time after the engine off the device is being towed.
Can be 0 - 900 seconds.
fake_tow_delay - int. After the engine off and stillness detected, if motion sensor detects moving again, the
device turns into a state called fake tow. If the device keeps in fake tow after a period defined by this parameter,
it is considered towed. Can be 0 - 600 seconds.
tow_detection_ql2
mode - . Can be "enable" | "disable".
engine_off_to_tow - int. A time parameter to judge whether the device considered towed after the engine off.
If the motion sensor doesn't detect stillness within the specified time after the engine off the device is being towed.
Can be 0 - 900 seconds.
fake_tow_delay - int. After the engine off and stillness detected, if motion sensor detects moving again, the
device turns into a state called fake tow. If the device keeps in fake tow after a period defined by this parameter,
it is considered towed. Can be 0 - 600 seconds.
tow_detection_telfm
mode - . Can be "enable" | "disable".
activation_timeout - int. Can be 0 - 65535 minutes.
threshold - double. Can be 0.10 - 5.00.
video_stream_howen
virtual_ign_ql
mode - . Can be "disabled" | "power_voltage" | "motion_sensor".
ign_on_voltage - int. Can be 250 - 28000.
rest_duration_to_off – int. A time parameter to make sure the device enters stillness status, i.e. the status of
the device will be changed to stillness if the motion sensor detects stillness and maintains for a period of time
defined by this parameter. Can be 1 - 255.
no_movement_alarm
timeout - int. Can be 30 - 65500. A time parameter when the device doesn't move.
pre_alarm_duration - int. Can be 0 - 65500. A time parameter when the device continues not to move after timeout.
Errors
201 – Not found in the database (if there is no tracker with such ID belonging to authorized user).
208 – Device blocked (if tracker exists but was blocked due to tariff restrictions or some other reason).
214 – Requested operation or parameters are not supported by the device.
Sets special settings for a specified tracker with the new one.
required sub-user rights: tracker_configure.
Parameters
Examples
cURL
Response
Errors
201 – Not found in the database - if there is no tracker with such ID belonging to authorized user.
208 – Device blocked - if tracker exists but was blocked due to tariff restrictions or some other reason.
214 – Requested operation or parameters are not supported by the device.
sleep_conditions_duration – int. Delay between the moment when conditions met and sleep mode activation in minutes. Can be 1-255.deep_sleep_conditions_duration – int. Delay between sleep mode activation and deep sleep mode activation in minutes. Can be 0-65535.
wake_up_interval – int. Delay before waking up from sleep mode in minutes. Can be 0-65535.
wake_up_from_dsm_interval – int. Delay before waking up from deep sleep mode in hours. Can be 0-255.
0 in these fields means don't switch.
acceleration - 0.2 - 0.8.
deceleration - 0.3 - 1.0.
crash - 1.0 - 2.0.
sharp_turn - 0.3 - 0.9.
max_cornering_force - double. It is a max allowed cornering angle which can be reached while cornering without triggering
harsh cornering event. Can be 0 - 2.55.
max_cornering_force - double. It is a max allowed cornering angle which can be reached while cornering without triggering
harsh cornering event. Can be 0.1 - 1.0.
max_cornering_force - double. It is a max allowed cornering angle which can be reached while cornering without triggering
harsh cornering event. Can be 0.1 - 1.0 rad/s.
high_speed_acceleration_delta - int. Can be 0 - 100.medium_speed - int. Can be 60 - 100.
medium_speed_braking_delta - int. Can be 0 - 100.
medium_speed_acceleration_delta - int. Can be 0 - 100.
low_speed_braking_delta - int. Can be 0 - 100.
low_speed_acceleration_delta - int. Can be 0 - 100.
high_speed_acceleration_delta - int. Can be 0 - 100.medium_speed - int. Can be 60 - 100.
medium_speed_braking_delta - int. Can be 0 - 100.
medium_speed_acceleration_delta - int. Can be 0 - 100.
low_speed_braking_delta - int. Can be 0 - 100.
low_speed_acceleration_delta - int. Can be 0 - 100.
turn_brake_threshold - int. Can be 30 - 70.
turn_brake_duration - int. Can be 320 - 800 milliseconds.
acceleration_threshold - int. Can be 15 - 50.
acceleration_duration - int. Can be 400 - 2000 milliseconds.
cornering_limit - double. Can be 0.04 - 3.braking_detection_time - int. Can be 0 - 10.z - double. Can be 0 - 2.55.weak_duration - int. Required impact duration to trigger weak impact event. Each unit equals 2.5 milliseconds.
Can be 0 - 14.
weak_force - int. Required impact force triggering weak impact event. Each unit equals about 1.1g. Can be 1 - 7.
weak_impact_enabled - boolean.
tow_interval - int. The period to send alarm messages. Can be 0 - 86400 seconds.
rest_duration - int. A time parameter to make sure the device enters stillness status, i.e. the status of the
device will be changed to stillness if the motion sensor detects stillness and maintains for a period defined by
this parameter. Can be 0 - 3825 seconds, step 15.
motion_duration - int. A time parameter to make sure the device enters motion status. Can be 0 - 9900 milliseconds,
step 100.
motion_threshold - int. The threshold for the motion sensor to measure whether the device is moving. Can be 2 - 9.
tow_interval - int. The period to send alarm messages. Can be 0 - 86400 seconds.
rest_duration - int. A time parameter to make sure the device enters stillness status, i.e. the status of the
device will be changed to stillness if the motion sensor detects stillness and maintains for a period defined by this
parameter. Can be 0 - 3825 seconds, step 15.
motion_duration - int. A time parameter to make sure the device enters motion status. Can be 100 - 1000
milliseconds, step 100.
motion_threshold - int. The threshold for the motion sensor to measure whether the device is moving. Can be 2 - 9.
motion_duration_to_on – A time parameter to make sure the device enters motion status. Can be 1 - 255.
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
123456
type
Optional. Type of special object.
"electronic_lock_password"
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
value
Settings object, see above.
JSON object
curl -X POST 'https://api.eu.navixy.com/v2/tracker/settings/special/read' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 123456}'https://api.eu.navixy.com/v2/tracker/settings/special/read?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=123456{
"success": true,
"value": {
"type": "electronic_lock_password",
"password": "4567879",
"remember_password": false
}
}{
"success": true,
"list": [
{
"type": "electronic_lock_password",
"password": "4567879",
"remember_password": false
}, {
"type": "hhd_lock_password",
"password": "25698545",
"remember_password": true
}
]
}{
"type": "electronic_lock_password",
"password": "password",
"remember_password": false
}{
"type": "hhd_lock_password",
"password": "56894567",
"remember_password": true
}{
"type": "jointech_lock_password",
"password": "d45s6w",
"remember_password": false
}{
"type": "vg_lock_password",
"password": "123456",
"remember_password": true
}{
"type": "autofon_sms_alerts",
"low_battery_mode": "enable",
"ext_input_mode": "disable",
"sos_button_mode": "enable"
}{
"type": "auto_geofence_telfm",
"mode": "enable",
"activation_timeout": 300,
"radius": 50
}{
"type": "bce_tacho_control",
"function": "slot1"
}{
"type": "call_button",
"capacity": 1,
"items": [
{
"phone": "45641784111"
}
]
}{
"type": "call_buttons_v40",
"capacity": 4,
"items": [
{
"phone": "45641784111"
}
]
}{
"type": "careu_psm",
"sleep_when_ignition_off": true,
"sleep_when_no_motion": true,
"sleep_when_no_communication": true,
"sleep_conditions_duration": 1,
"deep_sleep_conditions_duration": 300,
"wake_up_interval": 30,
"wake_up_from_dsm_interval": 2
}{
"type": "castel_alarms",
"acceleration": {
"report": true,
"beep": true,
"threshold": 0.4
},
"deceleration": {
"report": false,
"beep": false,
"threshold": 0.7
},
"crash": {
"report": true,
"beep": true,
"threshold": 1.0
},
"sharp_turn": {
"report": true,
"beep": true,
"threshold": 0.3
}
}{
"type": "castel_obd",
"enable_pid_reports": true,
"pid_data_records_per_message": 1,
"pid_data_collect_interval": 30
}{
"type": "charging_gmt100",
"mode": "on_need"
}{
"type": "ddd_emails",
"emails": ["[email protected]", "[email protected]"]
}{
"type": "digital_password",
"password": "123456"
}{
"type": "fcc_telfm",
"fuel_type": "gasoline",
"engine_volume": 10.0,
"multiplier": 0.0
}{
"type": "galileo_tacho_control",
"function": "download"
}{
"type": "galileo_hds",
"mode": "enable",
"max_acceleration_force": 1.26,
"max_braking_force": 1.59,
"max_cornering_force": 0.75
}{
"type": "harsh_behavior_hua_sheng",
"mode": "enable",
"max_acceleration_force": 1.0,
"max_braking_force": 0.5,
"max_cornering_force": 0.1
}{
"type": "hbm_telfm",
"mode": "enable",
"max_acceleration_force": 0.3,
"max_braking_force": 0.85,
"max_angular_velocity": 0.1
}{
"type": "hbm_telfm5x",
"mode": "enable",
"max_acceleration_force": 0.5,
"max_braking_force": 3.0,
"max_angular_velocity": 10.0
}{
"type": "hbm_ql",
"mode": "enable",
"high_speed": 100,
"high_speed_braking_delta": 50,
"high_speed_acceleration_delta": 50,
"medium_speed": 70,
"medium_speed_braking_delta": 50,
"medium_speed_acceleration_delta": 50,
"low_speed_braking_delta": 50,
"low_speed_acceleration_delta": 50
}{
"type": "hbm_ms_ql",
"mode": "gps_only",
"high_speed": 100,
"high_speed_braking_delta": 50,
"high_speed_acceleration_delta": 50,
"medium_speed": 60,
"medium_speed_braking_delta": 50,
"medium_speed_acceleration_delta": 50,
"low_speed_braking_delta": 50,
"low_speed_acceleration_delta": 50,
"turn_brake_threshold": 30,
"turn_brake_duration": 320,
"acceleration_threshold": 15,
"acceleration_duration": 1200
}{
"type": "harsh_behavior_bce",
"is_switched_off": false,
"acceleration_limit": 0.04,
"braking_limit": 1.21,
"cornering_limit": 2.38
}{
"type": "harsh_behavior_concox_x1",
"acc_speed": 40,
"acc_detection_time": 4,
"braking_speed": 60,
"braking_detection_time": 2
}{
"type": "harsh_behavior_tramigo",
"mode": "enable",
"max_acceleration_force": 0.5,
"max_braking_force": 1.3
}{
"type": "harsh_behavior_ruptela",
"braking_limit": 30,
"acceleration_limit": 60
}{
"type": "nimbelink_accel",
"mode": "enable",
"x": 1.12,
"y": 0.8,
"z": 2.33
}{
"type": "hua_sheng_vibration_sensitivity",
"sensitivity": "easy"
}{
"$schema" : "http://json-schema.org/draft-07/schema#",
"type" : "object",
"properties" : {
"mode" : {
"$ref" : "ruptela_ignition_mode.json"
},
"use_voltage" : {
"type" : [ "boolean", "null" ]
},
"voltage" : {
"type" : [ "number", "null" ]
}
},
"required" : [ "mode" ],
"$id" : "ruptela-ignition.json"
}
{
"$schema" : "http://json-schema.org/draft-07/schema#",
"type" : "string",
"enum" : [ "always_on", "din", "movement_sensor", "custom" ],
"$id" : "ruptela_ignition_mode.json"
}{
"type": "ign_src_suntech",
"mode": "power_voltage",
"power_voltage_low_level": 12000,
"power_voltage_high_level": 19000
}{
"type": "ign_src_telfm",
"mode": "power_voltage",
"power_voltage_low_level": 12000,
"power_voltage_high_level": 24000
}{
"type": "locus_sec",
"signature": "signature",
"sms_password": "23145",
"reset": false
}{
"type": "phonebook_gt300",
"capacity": 20,
"items": [
{
"name": "Karl",
"phone": "555469874"
}
]
}{
"type": "phonebook_pt100",
"capacity": 3,
"items": [
{
"name": "Karl",
"phone": "555469874"
}
]
}{
"type": "pwr_off_key",
"mode": "enable"
}{
"type": "scat_mayak_bt_control",
"function": "bt_disable",
"bt_state": true
}{
"type": "sos_key",
"mode": "report",
"phone": "55548875236"
}{
"type": "starcom_impact",
"strong_duration": 12,
"strong_force": 4,
"strong_impact_enabled": true,
"weak_duration": 9,
"weak_force": 6,
"weak_impact_enabled": true
}{
"type": "tacho_company_card",
"company_card_number": "A2332BF23EC3245A"
}{
"type": "tacho_remote_download",
"company_card_number": "A2332BF23EC3245A",
"vu_download_interval": 10,
"card_download_interval": 2
}{
"type": "teltonika_tacho_request",
"data_type": "activities",
"activities_start_time": "2020-09-01",
"activities_end_time": "2020-09-16"
}{
"type": "temporary_digital_password",
"password": "231578",
"duration_in_min": 17
}{
"type": "time_shift",
"offset": 3.0
}{
"type": "tow_detection_ql",
"mode": "enable",
"engine_off_to_tow": 300,
"fake_tow_delay": 300,
"tow_interval": 12000,
"rest_duration": 90,
"motion_duration": 8300,
"motion_threshold": 3
}{
"type": "tow_detection_ql2",
"mode": "enable",
"engine_off_to_tow": 300,
"fake_tow_delay": 300,
"tow_interval": 12000,
"rest_duration": 90,
"motion_duration": 400,
"motion_threshold": 3
}{
"type": "tow_detection_telfm",
"mode": "enable",
"activation_timeout": 5,
"threshold": 0.30
}{
"type": "video_stream_howen"
}{
"type": "virtual_ign_ql",
"mode": "motion_sensor",
"ign_on_voltage": 12000,
"rest_duration_to_off": 120,
"motion_duration_to_on": 75
}{
"type": "no_movement_alarm",
"enabled": true,
"timeout": 300,
"pre_alarm_duration": 120
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/settings/special/update' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 123456, "value": {"type": "time_shift", "offset": 3.0}}'{
"success": true
}API call to get descriptions of all sensor inputs existing in the system.
API base path: /tracker/sensor/input_name.
API call to get all sensor inputs and state fields existing in the system and their descriptions.
This will provide translations of all sensor inputs and state fields present in the system.
These translations (field description in response) will be given in the language according to the user's locale.
For state fields, the value type and descriptions (translations) of possible values are also provided if available.
Only API key hash.
For every input following properties returned: input_name and description.
input_name is an enum member, same as in .
description is made in current user's language (according to ).
types only.
Tracking profiles of all device models with description.
curl -X POST 'https://api.eu.navixy.com/v2/tracker/sensor/input_name/list' \
-H 'Content-Type: application/json' \
-d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b"}'https://api.eu.navixy.com/v2/tracker/sensor/input_name/list?hash=a6aa75587e5c59c32d347da438505fc3{
"list": [
{
"input_name": "acceleration",
"description": "Acceleration"
},
{
"input_name": "air_pressure",
"description": "Air pressure"
},
{
"input_name": "alt_large_assign",
"description": "ALT large assign [N]"
},
{
"input_name": "alt_medium_assign",
"description": "ALT medium assign [N]"
},
{
"input_name": "alt_small_assign",
"description": "ALT small assign [N]"
},
{
"input_name": "analog",
"description": "Analog sensor [N]"
},
{
"input_name": "avl_io",
"description": "AVL IO [N]"
},
{
"input_name": "axis_x",
"description": "Acceleration by X axis"
},
{
"input_name": "axis_y",
"description": "Acceleration by Y axis"
},
{
"input_name": "axis_z",
"description": "Acceleration by Z axis"
},
{
"input_name": "battery_current",
"description": "Battery current"
},
{
"input_name": "battery_level",
"description": "Battery level"
},
{
"input_name": "battery_level_of",
"description": "Battery level [N]"
},
{
"input_name": "battery_voltage",
"description": "Battery voltage"
},
{
"input_name": "ble_analog",
"description": "BLE: Analog [N]"
},
{
"input_name": "ble_battery_level",
"description": "BLE: Battery level [N]"
},
{
"input_name": "ble_battery_voltage",
"description": "BLE: Battery voltage [N]"
},
{
"input_name": "ble_frequency",
"description": "BLE: LLS frequency [N]"
},
{
"input_name": "ble_humidity",
"description": "BLE: Humidity sensor [N]"
},
{
"input_name": "ble_input_status",
"description": "BLE: Input status [N]"
},
{
"input_name": "ble_lls_height",
"description": "BLE: LLS height [N]"
},
{
"input_name": "ble_lls_level",
"description": "BLE: LLS level [N]"
},
{
"input_name": "ble_lls_level_raw",
"description": "BLE: LLS level raw [N]"
},
{
"input_name": "ble_lls_pressure",
"description": "BLE: LLS pressure [N]"
},
{
"input_name": "ble_lls_temperature",
"description": "BLE: LLS temperature [N]"
},
{
"input_name": "ble_luminosity",
"description": "BLE: Luminosity [N]"
},
{
"input_name": "ble_output_status",
"description": "BLE: Output status [N]"
},
{
"input_name": "ble_pitch",
"description": "BLE: Pitch angle [N]"
},
{
"input_name": "ble_roll",
"description": "BLE: Roll angle [N]"
},
{
"input_name": "ble_signal_strength",
"description": "BLE: Signal strength [N]"
},
{
"input_name": "ble_temp_sensor",
"description": "BLE: Temperature sensor [N]"
},
{
"input_name": "ble_tire_pressure",
"description": "BLE: Tire pressure [N]"
},
{
"input_name": "ble_tire_temperature",
"description": "BLE: Tire air temperature [N]"
},
{
"input_name": "ble_user_data",
"description": "BLE: Custom user data [N]"
},
{
"input_name": "board_voltage",
"description": "Board voltage"
},
{
"input_name": "braking",
"description": "Braking"
},
{
"input_name": "calamp_accum",
"description": "CalAmp Accumulator [N]"
},
{
"input_name": "can_16bit_r",
"description": "CAN16BITR [N]"
},
{
"input_name": "can_32bit_r",
"description": "CAN32BITR [N]"
},
{
"input_name": "can_8bit_r",
"description": "CAN8BITR [N]"
},
{
"input_name": "can_adblue_level",
"description": "CAN: Level of AdBlue fluid"
},
{
"input_name": "can_alternator_current",
"description": "CAN: Alternator current"
},
{
"input_name": "can_alternator_voltage",
"description": "CAN: Alternator voltage"
},
{
"input_name": "can_ambient_air_temp",
"description": "CAN: Ambient air temperature"
},
{
"input_name": "can_avg_fuel_economy",
"description": "CAN: Average fuel economy"
},
{
"input_name": "can_axle_load",
"description": "CAN: Axle load [N]"
},
{
"input_name": "can_barometric_pressure",
"description": "CAN: Barometric pressure"
},
{
"input_name": "can_battery_level",
"description": "CAN: Battery level (SoC)"
},
{
"input_name": "can_battery_potential",
"description": "CAN: Battery potential"
},
{
"input_name": "can_battery_temperature",
"description": "CAN: Battery temperature"
},
{
"input_name": "can_battery_voltage",
"description": "CAN: Battery voltage"
},
{
"input_name": "can_bellow_press_front_left",
"description": "CAN: Bellow pressure front left"
},
{
"input_name": "can_bellow_press_front_right",
"description": "CAN: Bellow pressure front right"
},
{
"input_name": "can_bellow_press_rear_left",
"description": "CAN: Bellow pressure rear left"
},
{
"input_name": "can_bellow_press_rear_right",
"description": "CAN: Bellow pressure rear right"
},
{
"input_name": "can_brake_pedal_position",
"description": "CAN: Brake pedal position"
},
{
"input_name": "can_cab_interior_temp",
"description": "CAN: Cab interior temperature"
},
{
"input_name": "can_cargo_ambient_temp",
"description": "CAN: Cargo ambient temperature"
},
{
"input_name": "can_charging_system_voltage",
"description": "CAN: Charging system potential (voltage)"
},
{
"input_name": "can_consumption",
"description": "CAN: Total fuel used"
},
{
"input_name": "can_consumption_relative",
"description": "CAN: Fuel consumed (counter)"
},
{
"input_name": "can_coolant_level",
"description": "CAN: Coolant level"
},
{
"input_name": "can_coolant_t",
"description": "CAN: Coolant temperature"
},
{
"input_name": "can_e_battery_health",
"description": "CAN: Battery health (SoH)"
},
{
"input_name": "can_e_charger_current",
"description": "CAN: Charger current"
},
{
"input_name": "can_e_charger_current_actual",
"description": "CAN: Charger current actual"
},
{
"input_name": "can_e_charger_energy",
"description": "CAN: Charger energy"
},
{
"input_name": "can_e_charger_voltage",
"description": "CAN: Charger voltage"
},
{
"input_name": "can_e_charger_voltage_actual",
"description": "CAN: Charger voltage actual"
},
{
"input_name": "can_e_current_range",
"description": "CAN: Current Range"
},
{
"input_name": "can_e_electric_consumption",
"description": "CAN: Power Consumption"
},
{
"input_name": "can_e_full_battery_capacity",
"description": "CAN: Full battery capacity"
},
{
"input_name": "can_e_remain_battery_capacity",
"description": "CAN: Remaining battery capacity"
},
{
"input_name": "can_e_remaining_charge_time",
"description": "CAN: Remaining charge time"
},
{
"input_name": "can_eco_duration",
"description": "CAN: ECO duration"
},
{
"input_name": "can_eco_score",
"description": "CAN: ECO score"
},
{
"input_name": "can_engine_hours",
"description": "CAN: Engine hours"
},
{
"input_name": "can_engine_hours_relative",
"description": "CAN: Relative engine hours"
},
{
"input_name": "can_engine_load",
"description": "CAN: Engine load"
},
{
"input_name": "can_engine_manifold_pressure",
"description": "CAN: Engine intake manifold pressure"
},
{
"input_name": "can_engine_manifold_temp",
"description": "CAN: Engine intake manifold temperature"
},
{
"input_name": "can_engine_oil_level",
"description": "CAN: Engine oil level"
},
{
"input_name": "can_engine_percent_torque",
"description": "CAN: Actual engine percent torque"
},
{
"input_name": "can_engine_revolutions",
"description": "CAN: Total engine revolutions"
},
{
"input_name": "can_engine_temp",
"description": "CAN: Engine temp."
},
{
"input_name": "can_fuel",
"description": "CAN: Fuel level [N]"
},
{
"input_name": "can_fuel_economy",
"description": "CAN: Fuel economy"
},
{
"input_name": "can_fuel_litres",
"description": "CAN: Fuel (litres)"
},
{
"input_name": "can_fuel_rate",
"description": "CAN: Instant fuel rate"
},
{
"input_name": "can_fuel_temperature",
"description": "CAN: Fuel temperature"
},
{
"input_name": "can_gross_combo_vehicle_weight",
"description": "CAN: Gross combination vehicle weight"
},
{
"input_name": "can_idle_consumption",
"description": "CAN: Total fuel used in idle"
},
{
"input_name": "can_idle_engine_hours",
"description": "CAN: Idle engine hours"
},
{
"input_name": "can_intake_air_t",
"description": "CAN: Intake air temp."
},
{
"input_name": "can_intercooler_temperature",
"description": "CAN: Intercooler temperature"
},
{
"input_name": "can_mileage",
"description": "CAN: Mileage"
},
{
"input_name": "can_mileage_relative",
"description": "CAN: Relative mileage"
},
{
"input_name": "can_oil_pressure",
"description": "CAN: Engine oil pressure"
},
{
"input_name": "can_oil_temperature",
"description": "CAN: Engine oil temperature"
},
{
"input_name": "can_param",
"description": "CAN [N]"
},
{
"input_name": "can_pto_duration",
"description": "CAN: Total duration of PTO when stand still"
},
{
"input_name": "can_pto_fuel_used",
"description": "CAN: Total fuel used during PTO when stand still"
},
{
"input_name": "can_pto_oil_temperature",
"description": "CAN: PTO oil temperature"
},
{
"input_name": "can_r_prefix",
"description": "CAN: R-prefix"
},
{
"input_name": "can_road_surface_temp",
"description": "CAN: Road surface temperature"
},
{
"input_name": "can_rpm",
"description": "CAN: RPM"
},
{
"input_name": "can_service_brake_pressure",
"description": "CAN: The pneumatic pressure in the service brake circuit or reservoir [N]"
},
{
"input_name": "can_service_distance",
"description": "CAN: Service distance"
},
{
"input_name": "can_sli_battery_net_current",
"description": "CAN: SLI battery net current [N]"
},
{
"input_name": "can_speed",
"description": "CAN: Speed"
},
{
"input_name": "can_tacho_performance",
"description": "CAN: Tachograph performance"
},
{
"input_name": "can_throttle",
"description": "CAN: Throttle"
},
{
"input_name": "can_total_fuel_used",
"description": "CAN: Engine total fuel used"
},
{
"input_name": "can_total_fuel_used_gas",
"description": "CAN: Total fuel used (gas)"
},
{
"input_name": "can_total_power_takeoff_hours",
"description": "CAN: Total power takeoff hours"
},
{
"input_name": "can_transmission_oil_level",
"description": "CAN: Transmission oil level"
},
{
"input_name": "can_transmission_oil_pressure",
"description": "CAN: Transmission oil pressure"
},
{
"input_name": "can_transmission_oil_temp",
"description": "CAN: Transmission oil temperature"
},
{
"input_name": "can_trip_fuel_used",
"description": "CAN: Engine trip fuel"
},
{
"input_name": "can_trip_fuel_used_gas",
"description": "CAN: Trip fuel (gaseous)"
},
{
"input_name": "can_turbo_oil_temperature",
"description": "CAN: Turbo oil temperature"
},
{
"input_name": "can_washer_fluid_level",
"description": "CAN: Washer fluid level"
},
{
"input_name": "cornering",
"description": "Cornering"
},
{
"input_name": "cornering_rad",
"description": "Cornering"
},
{
"input_name": "counter",
"description": "Counter [N]"
},
{
"input_name": "custom_param",
"description": "Custom [N]"
},
{
"input_name": "ext_battery_voltage",
"description": "External battery voltage"
},
{
"input_name": "ext_temp_sensor",
"description": "External temperature [N]"
},
{
"input_name": "field",
"description": "Field [N]"
},
{
"input_name": "flex_id",
"description": "Flex ID [N]"
},
{
"input_name": "flex_id_signed",
"description": "Flex ID (signed) [N]"
},
{
"input_name": "freq",
"description": "Frequency sensor [N]"
},
{
"input_name": "fuel_consumption",
"description": "Fuel consumption"
},
{
"input_name": "fuel_frequency",
"description": "LLS: Frequency"
},
{
"input_name": "fuel_level",
"description": "LLS: Level"
},
{
"input_name": "fuel_temperature",
"description": "LLS: Temperature"
},
{
"input_name": "humidity",
"description": "Relative humidity sensor [N]"
},
{
"input_name": "humidity_internal",
"description": "Relative humidity"
},
{
"input_name": "hw_mileage",
"description": "Mileage"
},
{
"input_name": "illuminance_internal",
"description": "Illuminance"
},
{
"input_name": "impulse_counter",
"description": "Impulse counter [N]"
},
{
"input_name": "io_port",
"description": "I/O port [N]"
},
{
"input_name": "lls_level",
"description": "LLS: Level [N]"
},
{
"input_name": "lls_level_raw",
"description": "LLS: Level (raw) [N]"
},
{
"input_name": "lls_temperature",
"description": "LLS: Temperature [N]"
},
{
"input_name": "modbus",
"description": "Modbus [N]"
},
{
"input_name": "obd_absolute_load_value",
"description": "OBD: Absolute load value"
},
{
"input_name": "obd_barometric_pressure",
"description": "OBD: Barometric pressure"
},
{
"input_name": "obd_consumption",
"description": "OBD: Fuel consumption"
},
{
"input_name": "obd_control_module_voltage",
"description": "OBD: Control module voltage"
},
{
"input_name": "obd_coolant_t",
"description": "OBD: Coolant temperature"
},
{
"input_name": "obd_custom_fuel_litres",
"description": "OBD: Real Fuel (litres)"
},
{
"input_name": "obd_custom_odometer",
"description": "OBD: Odometer"
},
{
"input_name": "obd_engine_load",
"description": "OBD: Engine load"
},
{
"input_name": "obd_fuel",
"description": "OBD: Fuel"
},
{
"input_name": "obd_intake_air_pressure",
"description": "OBD: Intake air pressure"
},
{
"input_name": "obd_intake_air_t",
"description": "OBD: Intake air temp."
},
{
"input_name": "obd_mil_run_time",
"description": "OBD: Time run with MIL on"
},
{
"input_name": "obd_oil_temperature",
"description": "OBD: Oil temperature"
},
{
"input_name": "obd_rpm",
"description": "OBD: RPM"
},
{
"input_name": "obd_speed",
"description": "OBD: Speed"
},
{
"input_name": "obd_throttle",
"description": "OBD: Throttle"
},
{
"input_name": "obd_time_since_engine_start",
"description": "OBD: Run time since engine start"
},
{
"input_name": "passengers_entered",
"description": "Passenger counter: Entry [N]"
},
{
"input_name": "passengers_exit",
"description": "Passenger counter: Exit [N]"
},
{
"input_name": "passengers_remaining",
"description": "Passenger counter: Remaining"
},
{
"input_name": "pdop",
"description": "PDOP"
},
{
"input_name": "physiologic_blood_pressure_dt",
"description": "Diastolic blood pressure"
},
{
"input_name": "physiologic_blood_pressure_st",
"description": "Systolic blood pressure"
},
{
"input_name": "physiologic_heart_rate",
"description": "Heart rate"
},
{
"input_name": "raw_can",
"description": "CAN: Raw data [N]"
},
{
"input_name": "raw_obd",
"description": "OBD: Raw data [N]"
},
{
"input_name": "rs232",
"description": "RS-232 [N]"
},
{
"input_name": "rs485",
"description": "RS-485 [N]"
},
{
"input_name": "stt_large_assign",
"description": "STT large assign [N]"
},
{
"input_name": "stt_medium_assign",
"description": "STT medium assign [N]"
},
{
"input_name": "stt_small_assign",
"description": "STT small assign [N]"
},
{
"input_name": "tacho_mileage",
"description": "TACHO: Mileage"
},
{
"input_name": "tacho_speed",
"description": "TACHO: Speed"
},
{
"input_name": "temp_sensor",
"description": "Temperature"
},
{
"input_name": "tire_pressure",
"description": "Tire pressure [N]"
},
{
"input_name": "tire_sensor_battery_voltage",
"description": "Tire sensor voltage [N]"
},
{
"input_name": "tire_sensor_status",
"description": "Tire sensor status [N]"
},
{
"input_name": "tire_temperature",
"description": "Tire air temperature [N]"
},
{
"input_name": "total_passengers_entered",
"description": "Passenger counter: Entry total [N]"
},
{
"input_name": "total_passengers_exit",
"description": "Passenger counter: Exit total [N]"
},
{
"input_name": "uds_adblue_tanklevel_absolut",
"description": "UDS: Level of AdBlue fluid"
},
{
"input_name": "uds_adblue_tanklevel_percent",
"description": "UDS: Level of AdBlue fluid (percent)"
},
{
"input_name": "uds_ambient_air_temp",
"description": "UDS: Ambient air temperature"
},
{
"input_name": "uds_battery_state_percent",
"description": "UDS: Battery level"
},
{
"input_name": "uds_battery_voltage",
"description": "UDS: Battery voltage"
},
{
"input_name": "uds_consumption",
"description": "UDS: Fuel consumption"
},
{
"input_name": "uds_consumption_average",
"description": "UDS: Average fuel consumption"
},
{
"input_name": "uds_consumption_average_high",
"description": "UDS: Average high fuel consumption"
},
{
"input_name": "uds_consumption_average_low",
"description": "UDS: Average low fuel consumption"
},
{
"input_name": "uds_consumption_since_reset",
"description": "UDS: Fuel consumption since reset"
},
{
"input_name": "uds_eco_co2_score",
"description": "UDS: Environmental score"
},
{
"input_name": "uds_engine_coolant_temp",
"description": "UDS: Coolant temperature"
},
{
"input_name": "uds_engine_oil_temperature",
"description": "UDS: Oil temperature"
},
{
"input_name": "uds_fuel_tank_level_absolute",
"description": "UDS: Fuel level"
},
{
"input_name": "uds_fuel_tank_level_percent",
"description": "UDS: Fuel level (percent)"
},
{
"input_name": "uds_odometer",
"description": "UDS: Odometer"
},
{
"input_name": "uds_rpm",
"description": "UDS: RPM"
},
{
"input_name": "uds_service_days_since_last",
"description": "UDS: Days since last service"
},
{
"input_name": "uds_service_distance_snc_lst",
"description": "UDS: Km since last service"
},
{
"input_name": "uds_service_interval_days",
"description": "UDS: Days till next service"
},
{
"input_name": "uds_service_interval_distance",
"description": "UDS: Distance to drive till next service"
},
{
"input_name": "uds_service_max_days",
"description": "UDS: Max days of service interval"
},
{
"input_name": "uds_service_max_distance",
"description": "UDS: Max km of service interval"
},
{
"input_name": "uds_speed",
"description": "UDS: Speed"
},
{
"input_name": "uds_steer_angle",
"description": "UDS: Steer angle"
},
{
"input_name": "uds_tank_level_cng_percent",
"description": "UDS: Cng fuel tank level (percent)"
},
{
"input_name": "uds_throttle",
"description": "UDS: Throttle"
},
{
"input_name": "uds_time_since_engine_start",
"description": "UDS: Run time since engine start"
},
{
"input_name": "uds_tire_pressure_front_left",
"description": "UDS: Tire pressure front left"
},
{
"input_name": "uds_tire_pressure_front_right",
"description": "UDS: Tire pressure front right"
},
{
"input_name": "uds_tire_pressure_rear_left",
"description": "UDS: Tire pressure rear left"
},
{
"input_name": "uds_tire_pressure_rear_right",
"description": "UDS: Tire pressure rear right"
},
{
"input_name": "user_data",
"description": "Custom user data [N]"
},
{
"input_name": "val",
"description": "VAL [N]"
},
{
"input_name": "vdop",
"description": "VDOP"
},
{
"input_name": "remote_ip",
"description": "remote_ip",
"value_type": "String"
},
{
"input_name": "chat_availability",
"description": "chat_availability",
"value_type": "Boolean"
},
{
"input_name": "stt_mode",
"description": "STT mode",
"value_type": "Integer"
},
{
"input_name": "alt_mode",
"description": "ALT mode",
"value_type": "Integer"
},
{
"input_name": "event_code",
"description": "Event code",
"value_type": "String"
},
{
"input_name": "sub_event_code",
"description": "Subevent code",
"value_type": "String"
},
{
"input_name": "event_id",
"description": "Event ID",
"value_type": "Integer"
},
{
"input_name": "status",
"description": "Status (state)",
"value_type": "String"
},
{
"input_name": "ext_status",
"description": "Extended status (state)",
"value_type": "String"
},
{
"input_name": "hardware_key",
"description": "Hardware key",
"value_type": "String"
},
{
"input_name": "new_driver_name",
"description": "Driver name",
"value_type": "String"
},
{
"input_name": "driver_ident_state",
"description": "Driver identified",
"value_type": "Boolean"
},
{
"input_name": "driver_code",
"description": "driver_code",
"value_type": "Boolean"
},
{
"input_name": "moving",
"description": "Moving",
"value_type": "Boolean"
},
{
"input_name": "strap_bolt_cut",
"description": "Seal opened",
"value_type": "Boolean"
},
{
"input_name": "external_power_state",
"description": "External power state",
"value_type": "Boolean"
},
{
"input_name": "charging_status",
"description": "Charging status",
"value_type": "Integer"
},
{
"input_name": "gps_status",
"description": "GPS status",
"value_type": "Boolean"
},
{
"input_name": "battery_health_1",
"description": "Battery health 1",
"value_type": "Boolean"
},
{
"input_name": "battery_health_2",
"description": "Battery health 2",
"value_type": "Boolean"
},
{
"input_name": "battery_health_3",
"description": "Battery health 3",
"value_type": "Boolean"
},
{
"input_name": "battery_health_4",
"description": "Battery health 4",
"value_type": "Boolean"
},
{
"input_name": "backup_battery_health",
"description": "Backup battery health",
"value_type": "Boolean"
},
{
"input_name": "ble_beacon_id",
"description": "BLE: ID",
"value_type": "String"
},
{
"input_name": "ble_mac",
"description": "BLE: MAC address",
"value_type": "String"
},
{
"input_name": "ble_magnet_sensor_1",
"description": "Magnetic Bluetooth sensor 1",
"value_type": "Boolean"
},
{
"input_name": "ble_magnet_sensor_2",
"description": "Magnetic Bluetooth sensor 2",
"value_type": "Boolean"
},
{
"input_name": "ble_magnet_sensor_3",
"description": "Magnetic Bluetooth sensor 3",
"value_type": "Boolean"
},
{
"input_name": "ble_magnet_sensor_4",
"description": "Magnetic Bluetooth sensor 4",
"value_type": "Boolean"
},
{
"input_name": "ble_magnet_sensor_5",
"description": "Magnetic Bluetooth sensor 5",
"value_type": "Boolean"
},
{
"input_name": "ble_magnet_sensor_6",
"description": "Magnetic Bluetooth sensor 6",
"value_type": "Boolean"
},
{
"input_name": "ble_magnet_sensor_7",
"description": "Magnetic Bluetooth sensor 7",
"value_type": "Boolean"
},
{
"input_name": "ble_magnet_sensor_8",
"description": "Magnetic Bluetooth sensor 8",
"value_type": "Boolean"
},
{
"input_name": "ble_magnet_sensor_9",
"description": "Magnetic Bluetooth sensor 9",
"value_type": "Boolean"
},
{
"input_name": "ble_magnet_sensor_10",
"description": "Magnetic Bluetooth sensor 10",
"value_type": "Boolean"
},
{
"input_name": "lock_state",
"description": "Lock state",
"value_type": "String"
},
{
"input_name": "lock_status",
"description": "Lock status",
"value_type": "String"
},
{
"input_name": "lock_state_raw",
"description": "Raw lock status: Raw data",
"value_type": "Integer"
},
{
"input_name": "lock_command_result",
"description": "Lock/unlock command result",
"value_type": "String"
},
{
"input_name": "door_state_1",
"description": "Door state 1",
"value_type": "Boolean"
},
{
"input_name": "door_state_2",
"description": "Door state 2",
"value_type": "Boolean"
},
{
"input_name": "door_state_3",
"description": "Door state 3",
"value_type": "Boolean"
},
{
"input_name": "door_state_4",
"description": "Door state 4",
"value_type": "Boolean"
},
{
"input_name": "door_state_5",
"description": "Door state 5",
"value_type": "Boolean"
},
{
"input_name": "door_state_6",
"description": "Door state 6",
"value_type": "Boolean"
},
{
"input_name": "door_state_7",
"description": "Door state 7",
"value_type": "Boolean"
},
{
"input_name": "door_state_8",
"description": "Door state 8",
"value_type": "Boolean"
},
{
"input_name": "door_state_9",
"description": "Door state 9",
"value_type": "Boolean"
},
{
"input_name": "door_state_10",
"description": "Door state 10",
"value_type": "Boolean"
},
{
"input_name": "door_state_11",
"description": "Door state 11",
"value_type": "Boolean"
},
{
"input_name": "door_state_12",
"description": "Door state 12",
"value_type": "Boolean"
},
{
"input_name": "door_state_13",
"description": "Door state 13",
"value_type": "Boolean"
},
{
"input_name": "door_state_14",
"description": "Door state 14",
"value_type": "Boolean"
},
{
"input_name": "door_state_15",
"description": "Door state 15",
"value_type": "Boolean"
},
{
"input_name": "door_state_16",
"description": "Door state 16",
"value_type": "Boolean"
},
{
"input_name": "door_status_1",
"description": "Door status 1",
"value_type": "Integer"
},
{
"input_name": "door_status_2",
"description": "Door status 2",
"value_type": "Integer"
},
{
"input_name": "door_status_3",
"description": "Door status 3",
"value_type": "Integer"
},
{
"input_name": "door_status_4",
"description": "Door status 4",
"value_type": "Integer"
},
{
"input_name": "light_state_1",
"description": "Light sensor status 1",
"value_type": "Boolean"
},
{
"input_name": "light_state_2",
"description": "Light sensor status 2",
"value_type": "Boolean"
},
{
"input_name": "light_state_3",
"description": "Light sensor status 3",
"value_type": "Boolean"
},
{
"input_name": "light_state_4",
"description": "Light sensor status 4",
"value_type": "Boolean"
},
{
"input_name": "light_state_5",
"description": "Light sensor status 5",
"value_type": "Boolean"
},
{
"input_name": "light_state_6",
"description": "Light sensor status 6",
"value_type": "Boolean"
},
{
"input_name": "light_state_7",
"description": "Light sensor status 7",
"value_type": "Boolean"
},
{
"input_name": "light_state_8",
"description": "Light sensor status 8",
"value_type": "Boolean"
},
{
"input_name": "light_state_9",
"description": "Light sensor status 9",
"value_type": "Boolean"
},
{
"input_name": "light_state_10",
"description": "Light sensor status 10",
"value_type": "Boolean"
},
{
"input_name": "light_state_11",
"description": "Light sensor status 11",
"value_type": "Boolean"
},
{
"input_name": "light_state_12",
"description": "Light sensor status 12",
"value_type": "Boolean"
},
{
"input_name": "light_state_13",
"description": "Light sensor status 13",
"value_type": "Boolean"
},
{
"input_name": "light_state_14",
"description": "Light sensor status 14",
"value_type": "Boolean"
},
{
"input_name": "light_state_15",
"description": "Light sensor status 15",
"value_type": "Boolean"
},
{
"input_name": "light_state_16",
"description": "Light sensor status 16",
"value_type": "Boolean"
},
{
"input_name": "tacho_vin",
"description": "TACHO: VIN",
"value_type": "String"
},
{
"input_name": "tacho_card1_sn",
"description": "TACHO: Card 1 number",
"value_type": "String"
},
{
"input_name": "tacho_card2_sn",
"description": "TACHO: Card 2 number",
"value_type": "String"
},
{
"input_name": "tacho_vin_last_download",
"description": "tacho_vin_last_download",
"value_type": "String"
},
{
"input_name": "tacho_card1_last_download",
"description": "tacho_card1_last_download",
"value_type": "String"
},
{
"input_name": "tacho_card2_last_download",
"description": "tacho_card2_last_download",
"value_type": "String"
},
{
"input_name": "obd_vin",
"description": "VIN",
"value_type": "String"
},
{
"input_name": "obd_mil_status",
"description": "OBD: MIL status (check engine)",
"value_type": "Boolean"
},
{
"input_name": "obd_dtc_number",
"description": "Errors",
"value_type": "Integer"
},
{
"input_name": "obd_dtc_codes",
"description": "DTC",
"value_type": "String"
},
{
"input_name": "obd_dtc_cleared_distance",
"description": "OBD: Mileage after DTC reset",
"value_type": "Double"
},
{
"input_name": "obd_mil_activated_distance",
"description": "OBD: Distance with MIL on",
"value_type": "Double"
},
{
"input_name": "obd_four_wheel_drive",
"description": "OBD: 4x4",
"value_type": "Boolean"
},
{
"input_name": "obd_electronic_lock_status",
"description": "OBD: Electronic lock status",
"value_type": "Integer"
},
{
"input_name": "can_hand_brake_state",
"description": "Car is on handbrake",
"value_type": "Boolean"
},
{
"input_name": "can_hood_state",
"description": "Hood",
"value_type": "Boolean",
"value_titles": {
"0": "Closed",
"1": "Opened"
}
},
{
"input_name": "can_airbag_state",
"description": "Airbag",
"value_type": "Boolean",
"value_titles": {
"0": "Not used",
"1": "Fired"
}
},
{
"input_name": "can_trunk_state",
"description": "Trunk",
"value_type": "Boolean",
"value_titles": {
"0": "Closed",
"1": "Opened"
}
},
{
"input_name": "can_seat_belt_driver_state",
"description": "Driver seat belt",
"value_type": "Boolean",
"value_titles": {
"0": "Locked",
"1": "Unlocked"
}
},
{
"input_name": "can_seat_belt_passenger_state",
"description": "Passenger seat belt",
"value_type": "Boolean",
"value_titles": {
"0": "Locked",
"1": "Unlocked"
}
},
{
"input_name": "can_door_state",
"description": "Door",
"value_type": "Boolean",
"value_titles": {
"0": "Closed",
"1": "Opened"
}
},
{
"input_name": "can_door_driver_state",
"description": "Driver door",
"value_type": "Boolean",
"value_titles": {
"0": "Closed",
"1": "Opened"
}
},
{
"input_name": "can_door_passenger_state",
"description": "Passenger door",
"value_type": "Boolean",
"value_titles": {
"0": "Closed",
"1": "Opened"
}
},
{
"input_name": "can_cruise_control",
"description": "CAN: Cruise Control",
"value_type": "Boolean"
},
{
"input_name": "can_brake_state",
"description": "CAN: Brake pedal",
"value_type": "Boolean"
},
{
"input_name": "can_selected_gear",
"description": "CAN: Selected Gear",
"value_type": "Integer"
},
{
"input_name": "can_retarder_location",
"description": "CAN: Retarder location",
"value_type": "Integer"
},
{
"input_name": "can_e_fast_charge",
"description": "CAN: Fast charge",
"value_type": "Boolean"
},
{
"input_name": "can_e_active_charge_mode",
"description": "CAN: Active charge mode",
"value_type": "Integer"
},
{
"input_name": "can_e_charger_control_mode",
"description": "CAN: Charger control mode",
"value_type": "Integer"
},
{
"input_name": "can_e_charger_status",
"description": "CAN: Charger status",
"value_type": "Integer"
},
{
"input_name": "can_e_charger_internal_fault",
"description": "CAN: Charger internal fault",
"value_type": "Boolean"
},
{
"input_name": "can_e_charger_plugged",
"description": "CAN: Charger plugged",
"value_type": "Boolean"
},
{
"input_name": "can_e_powertrain_state",
"description": "CAN: Powertrain state",
"value_type": "Integer"
},
{
"input_name": "can_e_charging_active",
"description": "CAN: Charging active",
"value_type": "Boolean"
},
{
"input_name": "can_park_brake",
"description": "CAN: Park brake active",
"value_type": "Boolean"
},
{
"input_name": "can_helmet_status",
"description": "CAN: Helmet status",
"value_type": "Boolean"
},
{
"input_name": "can_top_case_sensor",
"description": "CAN: Top case sensor",
"value_type": "Boolean"
},
{
"input_name": "can_driving_direction",
"description": "CAN: Driving direction",
"value_type": "Boolean"
},
{
"input_name": "can_ignition_state",
"description": "CAN: Ignition state",
"value_type": "Boolean"
},
{
"input_name": "can_engine_state",
"description": "CAN: Engine state",
"value_type": "Boolean"
},
{
"input_name": "can_footbrake_state",
"description": "CAN: Footbrake state",
"value_type": "Boolean"
},
{
"input_name": "can_webasto_state",
"description": "CAN: Webasto",
"value_type": "Boolean"
},
{
"input_name": "can_roof_state",
"description": "CAN: Roof",
"value_type": "Boolean"
},
{
"input_name": "can_front_left_door",
"description": "CAN: Front left door",
"value_type": "Boolean"
},
{
"input_name": "can_front_right_door",
"description": "CAN: Front right door",
"value_type": "Boolean"
},
{
"input_name": "can_rear_left_door",
"description": "CAN: Rear left door",
"value_type": "Boolean"
},
{
"input_name": "can_rear_right_door",
"description": "CAN: Rear right door",
"value_type": "Boolean"
},
{
"input_name": "can_oil_pressure_or_level",
"description": "CAN: Oil pressure/level",
"value_type": "Boolean"
},
{
"input_name": "can_coolant_temp_or_level",
"description": "CAN: Coolant liquid temperature/level",
"value_type": "Boolean"
},
{
"input_name": "can_eps_state",
"description": "CAN: EPS state",
"value_type": "Boolean"
},
{
"input_name": "can_lights_failure",
"description": "CAN: Lights failure",
"value_type": "Boolean"
},
{
"input_name": "can_low_tire_pressure",
"description": "CAN: Low tire pressure",
"value_type": "Boolean"
},
{
"input_name": "can_brake_pad_wear",
"description": "CAN: Wear of brake pads",
"value_type": "Boolean"
},
{
"input_name": "can_warning",
"description": "CAN: Warning",
"value_type": "Boolean"
},
{
"input_name": "can_abs_state",
"description": "CAN: ABS state",
"value_type": "Boolean"
},
{
"input_name": "can_low_fuel",
"description": "CAN: Low fuel",
"value_type": "Boolean"
},
{
"input_name": "can_glow_plug_indicator",
"description": "CAN: Glow plug indicator",
"value_type": "Boolean"
},
{
"input_name": "can_electronics_power_control",
"description": "CAN: Electronic Power Control",
"value_type": "Boolean"
},
{
"input_name": "can_parking_lights",
"description": "CAN: Parking lights",
"value_type": "Boolean"
},
{
"input_name": "can_dipped_headlights",
"description": "CAN: Dipped headlights",
"value_type": "Boolean"
},
{
"input_name": "can_full_beam_headlights",
"description": "CAN: Full beam headlights",
"value_type": "Boolean"
},
{
"input_name": "can_ready_to_drive",
"description": "CAN: Ready to drive",
"value_type": "Boolean"
},
{
"input_name": "can_automatic_retarder",
"description": "CAN: Automatic retarder",
"value_type": "Boolean"
},
{
"input_name": "can_manual_retarder",
"description": "CAN: Manual retarder",
"value_type": "Boolean"
},
{
"input_name": "can_air_conditioning",
"description": "CAN: Air conditioning",
"value_type": "Boolean"
},
{
"input_name": "can_rear_fog_lights",
"description": "CAN: Rear fog lights",
"value_type": "Boolean"
},
{
"input_name": "can_front_fog_lights",
"description": "CAN: Front fog lights",
"value_type": "Boolean"
},
{
"input_name": "can_additional_front_fog_lights",
"description": "CAN: Additional front fog lights",
"value_type": "Boolean"
},
{
"input_name": "can_additional_rear_lights",
"description": "CAN: Additional rear lights",
"value_type": "Boolean"
},
{
"input_name": "can_light_signal",
"description": "CAN: Light signal",
"value_type": "Boolean"
},
{
"input_name": "can_rear_left_seat_belt_state",
"description": "Rear left passenger belt",
"value_type": "Boolean",
"value_titles": {
"0": "Locked",
"1": "Unlocked"
}
},
{
"input_name": "can_rear_right_seat_belt_state",
"description": "Rear right passenger belt",
"value_type": "Boolean",
"value_titles": {
"0": "Locked",
"1": "Unlocked"
}
},
{
"input_name": "can_rear_centre_seat_belt_state",
"description": "Rear center passenger belt",
"value_type": "Boolean",
"value_titles": {
"0": "Locked",
"1": "Unlocked"
}
},
{
"input_name": "can_front_passenger_presence",
"description": "CAN: Front passenger presence",
"value_type": "Boolean"
},
{
"input_name": "can_front_diff_locked",
"description": "CAN: Front differential locked",
"value_type": "Boolean"
},
{
"input_name": "can_rear_diff_locked",
"description": "CAN: Rear differential locked",
"value_type": "Boolean"
},
{
"input_name": "can_central_diff_4hi_locked",
"description": "CAN: Central differential (4HI) locked",
"value_type": "Boolean"
},
{
"input_name": "can_central_diff_4lo_locked",
"description": "CAN: Central differential with reductor (4LO) locked",
"value_type": "Boolean"
},
{
"input_name": "can_trailer_axle_lift_active_1",
"description": "CAN: Trailer axle lift 1",
"value_type": "Boolean"
},
{
"input_name": "can_trailer_axle_lift_active_2",
"description": "CAN: Trailer axle lift 2",
"value_type": "Boolean"
},
{
"input_name": "can_clutch_state",
"description": "CAN: Clutch state",
"value_type": "Boolean"
},
{
"input_name": "can_pto_drive_engagement",
"description": "CAN: PTO drive engagement",
"value_type": "String"
},
{
"input_name": "can_adblue_status",
"description": "CAN: AdBlue status",
"value_type": "String"
},
{
"input_name": "can_mil_indicator",
"description": "CAN: MIL indicator",
"value_type": "String"
},
{
"input_name": "can_current_gear",
"description": "CAN: Current gear",
"value_type": "Integer"
},
{
"input_name": "can_pto_state",
"description": "CAN: PTO state",
"value_type": "String"
},
{
"input_name": "can_j1939_fault_codes",
"description": "CAN: J1939 DTC",
"value_type": "String"
},
{
"input_name": "can_j1708_fault_codes",
"description": "can_j1708_fault_codes",
"value_type": "String"
},
{
"input_name": "can_e_charger_bms_com_timeout",
"description": "CAN: Charger BMS COM timeout",
"value_type": "Boolean"
},
{
"input_name": "can_e_charger_crc_violation",
"description": "CAN: Charger CRC violation",
"value_type": "Boolean"
},
{
"input_name": "can_e_charger_mc_violation",
"description": "CAN: Charger MC violation",
"value_type": "Boolean"
},
{
"input_name": "can_e_malfunction_indicator",
"description": "CAN: Malfunction indicator",
"value_type": "Boolean"
},
{
"input_name": "can_vehicle_available",
"description": "CAN: Vehicle available",
"value_type": "Boolean"
},
{
"input_name": "can_e_kill_switch_active",
"description": "CAN: Kill switch active",
"value_type": "Boolean"
},
{
"input_name": "can_e_kickstand_release",
"description": "CAN: Kickstand release",
"value_type": "Boolean"
},
{
"input_name": "can_e_over_under_temperature",
"description": "CAN: Over/under temperature",
"value_type": "Boolean"
},
{
"input_name": "can_e_battery_on_off",
"description": "CAN: Battery on/off",
"value_type": "Boolean"
},
{
"input_name": "can_e_warning_undervoltage",
"description": "CAN: Undervoltage",
"value_type": "Boolean"
},
{
"input_name": "can_e_warning_overvoltage",
"description": "CAN: Overvoltage",
"value_type": "Boolean"
},
{
"input_name": "can_e_warning_overcurrent",
"description": "CAN: Overcurrent",
"value_type": "Boolean"
},
{
"input_name": "uds_vin",
"description": "UDS: VIN",
"value_type": "String"
},
{
"input_name": "uds_sb_lock_status_front_left",
"description": "UDS: Lock status of the front left seatbelt",
"value_type": "Boolean",
"value_titles": {
"0": "unlocked",
"1": "locked"
}
},
{
"input_name": "uds_sb_lock_status_front_right",
"description": "UDS: Lock status of the front right seatbelt",
"value_type": "Boolean",
"value_titles": {
"0": "unlocked",
"1": "locked"
}
},
{
"input_name": "uds_sb_lock_status_rear_left",
"description": "UDS: Lock status of the back left seatbelt",
"value_type": "Boolean",
"value_titles": {
"0": "unlocked",
"1": "locked"
}
},
{
"input_name": "uds_sb_lock_status_rear_right",
"description": "UDS: Lock status of the back right seatbelt",
"value_type": "Boolean",
"value_titles": {
"0": "unlocked",
"1": "locked"
}
},
{
"input_name": "uds_sb_lock_status_rear_middle",
"description": "UDS: Lock status of the back rear middle seatbelt",
"value_type": "Boolean",
"value_titles": {
"0": "unlocked",
"1": "locked"
}
},
{
"input_name": "uds_sb_indicator_lamp",
"description": "UDS: Seatbelt unfastened warning lamp",
"value_type": "Boolean",
"value_titles": {
"0": "off",
"1": "on"
}
},
{
"input_name": "uds_dtc_service_codes",
"description": "UDS: DTC",
"value_type": "String"
},
{
"input_name": "uds_park_brake_status",
"description": "UDS: Handbrake status",
"value_type": "Integer",
"value_titles": {
"0": "in rest position",
"1": "pulled",
"2": "pressed",
"3": "fault"
}
},
{
"input_name": "uds_boot_status",
"description": "UDS: State of boot",
"value_type": "Boolean",
"value_titles": {
"0": "closed",
"1": "open"
}
},
{
"input_name": "uds_hood_status",
"description": "UDS: State of hood",
"value_type": "Boolean",
"value_titles": {
"0": "closed",
"1": "open"
}
},
{
"input_name": "uds_mil",
"description": "UDS: MIL status (check engine)",
"value_type": "Boolean"
},
{
"input_name": "uds_general_door_status",
"description": "UDS: Door state",
"value_type": "Integer",
"value_titles": {
"0": "closed",
"1": "open",
"2": "not installed"
}
},
{
"input_name": "uds_door_status_front_left",
"description": "UDS: Door front left",
"value_type": "Integer",
"value_titles": {
"0": "closed",
"1": "open",
"2": "not installed"
}
},
{
"input_name": "uds_door_status_front_right",
"description": "UDS: Door front right",
"value_type": "Integer",
"value_titles": {
"0": "closed",
"1": "open",
"2": "not installed"
}
},
{
"input_name": "uds_door_status_rear_left",
"description": "UDS: Door rear left",
"value_type": "Integer",
"value_titles": {
"0": "closed",
"1": "open",
"2": "not installed"
}
},
{
"input_name": "uds_door_status_rear_right",
"description": "UDS: Door rear right",
"value_type": "Integer",
"value_titles": {
"0": "closed",
"1": "open",
"2": "not installed"
}
},
{
"input_name": "uds_pass_airbag_switch",
"description": "UDS: Passenger airbag",
"value_type": "Boolean",
"value_titles": {
"0": "closed",
"1": "open"
}
},
{
"input_name": "uds_airbag_warning_lamp",
"description": "UDS: Warning lamp for airbag",
"value_type": "Boolean",
"value_titles": {
"0": "off",
"1": "on"
}
},
{
"input_name": "uds_warn_brake_lining_wear",
"description": "UDS: Brake lining wear",
"value_type": "Integer",
"value_titles": {
"0": "OK or none active",
"1": "active or 1 stage reached",
"2": "2 stage reached"
}
},
{
"input_name": "uds_warn_brake_fluid_level_low",
"description": "UDS: Brake fluid level low",
"value_type": "Boolean",
"value_titles": {
"0": "no",
"1": "yes"
}
},
{
"input_name": "uds_warn_coolant_level_low",
"description": "UDS: Coolant level low",
"value_type": "Boolean",
"value_titles": {
"0": "no",
"1": "yes"
}
},
{
"input_name": "presence_device_absent",
"description": "Identifier of the absent presence device",
"value_type": "String"
},
{
"input_name": "absent_device_recovered",
"description": "Identifier of the absent device that was recovered",
"value_type": "String"
}
],
"success": true
}tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=50, max=65535.
Tracking profile for Albatross S8.5.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=65535.
psm_interval - optional int. Duration in seconds for the device to stay in the deep sleep mode. Min=600, max=65535.
psm_mode - int. Define the sleep level. Min=0, max=1.
Tracking profile for АПК КОМ ASC-2 GLONASS/GPS, АПК КОМ ASC-6 GLONASS/GPS, АПК КОМ ASC-7, АПК КОМ ASC-8.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=5, max=180.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=10, max=300.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=50, max=5000.
Tracking profile for Arknav RX8.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=10, max=180.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=10, max=65534.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=50, max=65534.
Arnavi 2 tracking profile.
tracking_angle – int. Degrees 10-255, the device will send tracking data when course changing more than defined value.
tracking_distance – int. Distance in meters 50-65535, e.g. 100 means that the device will send data every 100 meters.
min_tracking_interval – int. Min interval in seconds 30-255, e.g. 30 means that the device will send tracking data no more frequently than every 30 seconds.
max_tracking_interval – int. Max interval in seconds 30-65535, e.g. 30 means that the device will send tracking data not less frequently than every 30 seconds.
speed_change – int. Kph 3-255, the device will send tracking data when speed changing more than defined value.
freeze_by_speed – boolean. Freeze coordinates when speed is less than 2kph.
freeze_by_motion – boolean. Freeze coordinates when motion sensor detects no motion.
freeze_by_ignition – boolean. Freeze coordinates when ignition is OFF.
Tracking profile for Arnavi 4, Arnavi 5, Arnavi Integral, Arnavi Integral-2, Arnavi Integral-3.
max_tracking_interval – int. Max interval in seconds 30-65535, e.g. 30 means that the device will send tracking data not less frequently than every 30 seconds.
min_tracking_interval – int. Min interval in seconds 30-255, e.g. 30 means that the device will send tracking data no more frequently than every 30 seconds.
speed_change – int. Kph 3-255, the device will send tracking data when speed changing more than defined value.
tracking_angle – int. Degrees 10-255, the device will send tracking data when course changing more than defined value.
tracking_distance – int. Distance in meters 50-65535, e.g. 100 means that the device will send data every 100 meters.
Tracking profile for Atlanta L-100, Atlanta O-300, Atlanta PT-100, Atlanta W-track, Atlanta WP-30C.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=50, max=65534.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=18000.
Tracking profile for Atlanta PT-100.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=300, max=18000.
ATrack tracking profile.
control_mode - optional enum. Mode of tracking by the ACC or engine status. Can be "acc" | "engine_status".
tracking_interval - optional int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=65535x10, default=300.
tracking_distance - optional int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=50, max=65535, default=100.
tracking_angle - optional int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=10, max=80, default=10.
psm_mode - optional int. Define the sleep level, 0 – no sleeping, 1- light sleep (GPS Off, GPRS On, G-sensor On), 2- deep sleep (GPS Off, GPRS Off, G-sensor On). Min=0, max=2, default=0.
psm_interval - optional int. Duration in seconds for the device to stay in the deep sleep mode. Min=30, max=65535x60, default=90x60.
on_stop_tracking_interval - int. Minimum time in seconds that must elapse before reporting next position while the ACC is in Off status. "acc" in control_mode must be set in order to use this time interval. Min=1, max=65535x10, default=15x60.
Autofon profile.
type - enum. Tracking type "interval" or "power_save".
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=240.
online_on_ext_power - boolean. Connect to server when external power connected.
timer1_time - date/time. Date/time for timer1 for checking incoming SMS commands.
timer1_interval - int. Interval to wakeup for timer1, minutes, min=15.
timer2_time - date/time. Date/time for timer2 for sending location.
timer2_interval - int. Interval to wakeup for timer1, minutes, min=15.
Tracking profile for Auto Leaders ST-901, Auto Leaders ST-901M.
psm_interval - int. Duration in seconds for the device to stay in the deep sleep mode. Min=30, max=18000.
psm_mode - int. Define the sleep level. Min=0, max=1.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=18000.
Tracking profile for Autoseeker AT-17.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=1, max=18000.
Tracking profile for AVLSAT NEO-S.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=60, max=599940.
Tracking profile for BI 310 CICADA, NaviTrek 310 Cicada.
psm_interval - int. Duration in seconds for the device to stay in the deep sleep mode. Min=300, max=86400.
psm_mode - int. Define the sleep level. Min=0, max=1.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=720, max=21600.
Tracking profile for Bofan PT502, Bofan PT521.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=10, max=90.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=50, max=5000.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=10, max=1200.
type - . Can be "interval" | "distance" | "power_save" | "distance_interval_angle" | "interval_angle" | "intelligent".
Tracking profile for BOX-tracker, BOXtracker 2, Galileosky Boxfinder v1.0.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=10, max=359.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=4294968.
Tracking profile for Galileosky Boxfinder v1.0.
shock_value - double. Can be min=0.5, max=4 g.
sleep_timeout - int. Can be min=1, max=1440 minutes.
Tracking profile for BSJ KM-01/02, Gosafe G1C.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=5, max=180.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=86400.
Tracking profile for C2STEK FL10, C2STEK FL2000G.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=0, max=360.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=0, max=9999.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=0, max=9999.
Tracking profile for CalAmp ATU-620, CalAmp LMU-1100, CalAmp LMU-1200, CalAmp LMU-200, CalAmp LMU-2030, CalAmp LMU-2600, CalAmp LMU-2630, CalAmp LMU-2720, CalAmp LMU-300, CalAmp LMU-3030, CalAmp LMU-3640, CalAmp LMU-400, CalAmp LMU-4200, CalAmp LMU-4230, CalAmp LMU-4520, CalAmp LMU-5530, CalAmp LMU-700, CalAmp LMU-800, CalAmp LMU-900, CalAmp TTU-1200, CalAmp TTU-2830, CalAmp TTU-700.
psm_interval - int. Duration in seconds for the device to stay in the deep sleep mode. Min=30, max=86400.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=5, max=180.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=50, max=5000.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=86400.
Tracking profile for Cantrack T80.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=10, max=1000.
Tracking profile for CAREU U1 Lite Plus, CAREU U1 Plus, CAREU UT1, CAREU UW1, CAREU Ucan, CAREU Ueco, CAREU Ugo, IntelliTrac A1, Intellitrac S1.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=5, max=180.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=25, max=50000.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=10, max=65535.
Tracking profile for Cargo Light 2, Cargo Mini 2, Cargo Pro 2.
psm_interval - int. Duration in seconds for the device to stay in the deep sleep mode. Min=30, max=86400.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=5, max=180.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=50, max=5000.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=86400.
Tracking profile for Carscop CCTR-808S, Carscop CCTR-809.
psm_interval - int. Duration in seconds for the device to stay in the deep sleep mode. Min=3600, max=432000.
psm_mode - int. Define the sleep level. Min=0, max=1.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=999.
Tracking profile for Carscop CCTR-830, Toptracking CCTR-830G.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=999.
Tracking profile for Sinocastel IDD-213.
sleep_report_interval - int. Interval in minutes, e.g. 10 means that the device will send tracking data every 10 minutes in a sleep mode. Min=10, max=1440.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=10, max=90.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=50, max=5000.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=600.
upload_records_count - int. Count of uploaded records. Min =1, max=10.
Tracking profile for Sinocastel MPIP-620, Sinocastel PT-690, Sinocastel PT-718S.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=10, max=18000.
cGuard tracking profile.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=0, max=65535, default=60.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=0, max=65535, default=100.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=0, max=180, default=15.
psm_interval - int. Duration in seconds for the device to stay in the deep sleep mode. Min=0, max=65535, default=300.
cGuard tracking profile for asset trackers. name: 'cguard_asset'
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=0, max=65535, default=60.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=0, max=65535, default=100.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=0, max=180, default=45.
psm_interval - int. Duration in seconds for the device to stay in the deep sleep mode. Min=0, max=65535, default=300.
mode - . Device working mode. TRACKER means that device work in the continuous mode. ASSET means that device work in the periodical mode and wakes up on schedule or by period.
wakeup_type - . Can be "SCHEDULED" | "PERIODICAL". How device wakes up in ASSET mode. default="PERIODICAL".
wakeup_day - . Can be "EVERYDAY" | "MONDAY" | "TUESDAY" | "WEDNESDAY" | "THURSDAY" | "FRIDAY" | "SATURDAY" | "SUNDAY", default="EVERYDAY". What day to wake up if wakeup_type = SCHEDULED.
wakeup_time - string. Specifies the time in minutes to wake up if wakeup_type = SCHEDULED. Format HH:mm, default="12:00"
wakeup_period - int. Wakeup period in minutes. Min=15, max=65535, default=1440. Required if wakeup_type = PERIODICAL
moving_detection - boolean. If true means that device will be wakes up at the beginning of the movement. Required if mode == 'ASSET'
Tracking profile for Concox X3.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=100, max=10000.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=18000.
Tracking profile for Concox GT350.
psm_interval - int. Duration in seconds for the device to stay in the deep sleep mode. Min=600, max=432000.
psm_mode - int. Define the sleep level. Min=0, max=1.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=10, max=1800.
Tracking profile for Concox AT3, Concox AT4, Concox GT710.
psm_interval - int. Duration in hours for the device to stay in the deep sleep mode. Min=1, max=24. Valid values are 1, 2, 3, 4, 6, 8, 12, 24.
tracking_interval - int. Interval in minutes. Min=1, max=30.
type - enum. Can be "interval" | "distance" | "power_save" | "distance_interval_angle" | "interval_angle" | "intelligent".
wakeup_time - string. Format hh:mm.
Tracking profile for Concox GK309 , Concox GS503, Concox GT03A, Concox GT03C, Concox WeTrack Lite, Concox WeTrack2, Jimi JI09.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=18000.
Tracking profile for Concox JV200.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=18000.
Tracking profile for Concox QBIT.
gps_tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds in gps mode. Min=30, max=18000.
lbs_tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds in lbs mode. Min=30, max=18000.
mode - string. Can be "lbs" | "gps".
Tracking profile for Concox GT02 / TR02.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=18000.
Tracking profile for Concox GV20, Concox X1, Protrack VT05.
psm_interval - int. Duration in seconds for the device to stay in the deep sleep mode. Min=30, max=65535.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=0, max=180.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=50, max=10000.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=65535.
type - . Can be "interval" | "distance" | "power_save" | "distance_interval_angle" | "interval_angle" | "intelligent".
Default tracking profile.
type - enum. Can be "interval" (send tracking data based on time intervals) or "distance" (send tracking data after passing specified distance).
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters.
Default profile with optional angle-based tracking.
type - enum. Can be "interval" (send tracking data based on time intervals) or "distance" (send tracking data after passing specified distance).
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters.
tracking_angle - optional int. If specified, the device will additionally send data when it changes direction to specified angle, e.g. 30 degrees.
Default powersave profile with optional angle-based tracking.
type - enum. Can be "interval" (send tracking data based on time intervals) or "distance" (send tracking data after passing specified distance).
tracking_interval - optional int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds.
tracking_distance - optional int. Distance in meters, e.g. 100 means that the device will send data every 100 meters.
tracking_angle - optional int. If specified, the device will additionally send data when it changes direction to specified angle, e.g. 30 degrees.
psm_interval - optional int. Define the time interval in seconds (60-65535) which the unit stays in the sleeping state when type=power_save.
psm_mode - optional int. Define the sleep level when type != power_save, 0 - no sleeping, 1 - light sleep(GPS Off, GPRS On, G-sensor On), 2 - deep sleep(GPS Off, GPRS Off, G-sensor On).
Tracking profile for Defenstar DS007.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=60, max=65534.
Tracking profile for Defenstar DS008, Gubloos GPS-S1.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=10, max=9999.
Tracking profile for DigitalSystems DSF22.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=10, max=359.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=86400.
Tracking profile with distance and interval.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=50, max=100000.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=86400.
Tracking profile with distance, interval, angle and power save mode.
psm_interval - int. Duration in seconds for the device to stay in the deep sleep mode. Min=30, max=86400.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=10, max=359.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=50, max=100000.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=86400.
Tracking profile with distance, interval and angle.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees.
Tracking profile for Eelink GOT08, Eelink GOT10, Eelink GPT18, Eelink TK-319, Eelink TK116, Eelink TK119.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=10, max=18000.
Tracking profile for Eelink TK116.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=10, max=3600.
Tracking profile for Eelink GPT18, Eelink TK-319.
active_tracking_interval - int. Active tracking interval in seconds. Min=30, max=65535.
gps_working_mode - enum. Can be "always_on" | "auto".
gsm_working_mode - enum. Can be "always_on" | "auto".
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=0, max=180.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=50, max=10000.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=65535.
Tracking profile for Enfora MT-GL (GSM2218), Enfora MT-Gu (GSM2338), Novatel MT4100, SkyPatrol TT8740, SkyPatrol TT8750.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=100, max=10000.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=18000.
Tracking profile for Esino ES-GP34, Esino ES-GT23.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=20, max=3600.
Tracking profile for E-Track TLT-2H.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=10, max=59999.
Tracking profile for Fifotrack A100, fifotrack A100 FW1.15+, fifotrack A300, fifotrack A300 FW1.23+, fifotrack A600 (FW before V1.07), fifotrack A600 FW1.07+.
psm_interval - int. Duration in seconds for the device to stay in the deep sleep mode. Min=0, max=3932100.
psm_mode - int. Define the sleep level when type != power_save, 0 - no sleeping, 1 - light sleep(GPS Off, GPRS On, G-sensor On), 2 - deep sleep (GPS Off, GPRS Off, G-sensor On).
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=10, max=359.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=50, max=65535.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=655350.
Tracking profile for Sinocastel HT-770, Ezlink T28, G36, Orion 7, XiLi Technologies PT100.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=1.
Queclink/Ruslink GL200/GL300 profile
type - enum. Tracking type "distance" or "interval" or "power_save".
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees.
psm_interval - int. Sending interval when the tracking type is "power_save", seconds.
movement_detection - boolean.
non_movement_duration - int. In seconds.
Queclink/Ruslink GL500 profile.
type - enum. Tracking type "interval" or "power save".
tracking_interval - int. Interval in minutes.
wakeup_time - int. Wakeup time for power_save mode in a format "HH:mm".
psm_interval - int. Update interval in power_save mode, hours (1, 2, 3, 4, 6, 8, 12, 24).
Queclink/Ruslink GT300 profile.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=5, max=86400.
start_time - string. Start time of scheduled fix timing report. The valid format is "HHMM" 0000-2359.
end_time - string. End time of scheduled fix timing report. The valid format is "HHMM" 0000-2359.
movement_detection - boolean. Enable suspend reports if the device at rest.
min_speed - int. The speed threshold of movement detect, km/h 0-999.
min_distance - int. The distance threshold of movement detect, meters 1-9099.
Tracking profile for AMGPS Freko.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=10, max=3600.
Queclink/Ruslink GV500 profile.
type - enum. Tracking type when ignition is ON, "distance" or "interval".
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees.
psm_mode - int. Define the sleep level when type != power_save, 0 - no sleeping, 1 - light sleep(GPS Off, GPRS On, G-sensor On), 2 - deep sleep(GPS Off, GPRS Off, G-sensor On).
psm_interval - int. Sending interval when the engine is off, seconds.
Queclink/Ruslink GV55Lite profile.
type - enum. Tracking type when ignition is ON, "distance" or "interval".
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees.
psm_mode - int. Define the sleep level when type != power_save, 0 - no sleeping, 1 - light sleep(GPS Off, GPRS On, G-sensor On), 2 - deep sleep(GPS Off, GPRS Off, G-sensor On).
psm_interval - int. Sending interval when the engine is off, seconds.
Tracking profile for Defenstar GPS668, Gubloos GPS-T1, MiniFinder Pico.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=10, max=9999.
Tracking profile for Haicom HI-603X.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=2592000.
Tracking profile for Helioversal M1.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=86400.
Tracking profile for HHD G-400, HHD G-600.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=20.
Tracking profile for Hero-ME31-08, Hero-ME32-04, Hero-ME41-04.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=86400.
Tracking profile for Hua Sheng HS 3000G.
psm_interval - int. Sending interval when the engine is off, seconds. Min=60, max=86400.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=5, max=250.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=450.
Tracking profile for Huabao HB-T10.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=10, max=9999.
Tracking profile for IntelliTrac X1, IntelliTrac X1+.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=5, max=358.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=100, max=65534.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=65534.
type - . Can be "interval" | "distance" | "power_save" | "distance_interval_angle" | "interval_angle" | "intelligent".
Tracking profile with an interval only.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30.
Tracking profile with an interval and angle.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees.
Tracking profile with an interval, angle and powersave mode.
psm_interval - int. Sending interval when the engine is off, seconds. Min=60, max=86400.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=5, max=355.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=900.
Tracking profile with an interval and powersave mode.
psm_interval - int. Sending interval when the engine is off, seconds. Min=60, max=86400.
psm_mode - int. Define the sleep level when type != power_save, 0 - no sleeping, 1 - light sleep(GPS Off, GPRS On, G-sensor On).
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=10, max=180.
Tracking profile for Jimi JC100.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=18000.
Tracking profile for Jin Sheng JS810, Jin Sheng JS810S.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=65534.
Tracking profile for Jointech GP4000, Jointech GP6000, Jointech GP6000F.
psm_interval - int. Sending interval when the engine is off, seconds. Min=300, max=65535.
psm_mode - int. Define the sleep level when type != power_save, 1 - no sleeping, 2 - light sleep(GPS Off, GPRS On, G-sensor On), 3 - deep sleep(GPS Off, GPRS Off, G-sensor On).
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=10, max=90.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=100, max=65535.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=65535.
type - . Can be "interval" | "distance" | "power_save" | "distance_interval_angle" | "interval_angle" | "intelligent".
Tracking profile for Jointech JT701.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=10, max=60000.
Profile for Jointech JT703B
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=10, max=60000.
sleep_mode - enum. Can be "enabled" | "disabled".
wakeup_timers - optional string. Define wake-up timers when the sleep mode enabled, 1-48 timers. Local time in a standard format HH:mm:ss.
sleep_time_in_minutes - optional int. Define the time interval which the unit stays in the sleeping state when wake-up timers not defined. Min=10, max=1440.
Tracking profile for Jointech JT707.
psm_interval - int. Sending interval when the engine is off, seconds. Min=10, max=1440.
psm_mode - int. Define the sleep level when type != power_save, 0 - no sleeping, 1 - light sleep(GPS Off, GPRS On, G-sensor On).
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=5, max=43200.
Tracking profile for Keson KS168.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=10, max=65535.
Tracking profile for Laipac S911 Lola, Laipac-911BL.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=50, max=100000.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=5, max=43200.
type - enum. Can be "interval" | "distance" | "power_save" | "distance_interval_angle" | "interval_angle" | "intelligent".
Tracking profile for LKGPS LK209A, LKGPS LK209B, LKGPS LK210.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=65535.
Tracking profile for Logosoft Log-101.
type - enum. Tracking type "interval" or "distance" or "intelligent".
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=300.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=10.
Profile for Navixy M7.
type - enum. Can be "interval" (send tracking data based on time intervals), "distance" (send tracking data after passing specified distance).
psm_mode - int. Power save mode, 0 - disable, 1 - powersave without timers, 2 - powersave with timers.
tracking_interval - optional int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds.
tracking_distance - optional int. Distance in meters, e.g. 100 means that the device will send data every 100 meters.
tracking_angle - optional int. If specified, the device will additionally send data when it changes direction to specified angle, e.g. 30 degrees.
psm_interval - optional int. Define the time interval in seconds (600-3932100) which the unit stays in the sleeping state.
wakeup_timer - optional string. Timer 1-3.
Tracking profile for Maxtrack MXT-140.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=10, max=180.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=0, max=25500.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=20, max=65535.
Tracking profile for Megastek GVT-430.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=10, max=60.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=100, max=1000.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=86400.
Tracking profile for Megastek MT-300, Megastek MT-90s, Megastek MT100.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=86400.
Tracking profile for Megastek MT100.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=50, max=100000.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=65535.
type - enum. Can be "interval" | "distance" | "power_save" | "distance_interval_angle" | "interval_angle" | "intelligent".
Tracking profile for GoTop VT360, GoTop VT380, Meiligao VT310, Meitrack VT310, RedView VT310.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=0, max=359.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=50, max=5000.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=10, max=655350.
Meitrack profile.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees.
psm_mode - optional int. Define the sleep level when type != power_save, 0 - no sleeping, 1 - light sleep(GPS Off, GPRS On, G-sensor On), 2 - deep sleep(GPS Off, GPRS Off, G-sensor On).
psm_interval - optional int. Define the time interval in seconds which the unit stays in the sleeping state.
Tracking profile for Meitrack T355v2.
psm_interval - int. Define the time interval in seconds which the unit stays in the sleeping state. Min=0, max=3932100.
psm_mode - optional int. Define the sleep level when type != power_save, 0 - no sleeping, 1 - light sleep(GPS Off, GPRS On, G-sensor On), 2 - deep sleep(GPS Off, GPRS Off, G-sensor On).
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=10, max=359.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=50, max=65535.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=655350.
Tracking profile for Meitrack MVT100, Meitrack MVT340, Meitrack MVT380, Meitrack MVT600, Meitrack T1, Meitrack T3, Meitrack T333, Meitrack T366G, Meitrack T366L, Meitrack T622G, Meitrack TC68S, Meitrack TC68SG.
on_stop_tracking_interval - int. Tracking interval in seconds when the vehicle stopped. Min=0, max=655350.
psm_interval - int. Define the time interval in seconds which the unit stays in the sleeping state. Min=0, max=3932100.
psm_mode - optional int. Define the sleep level when type != power_save, 0 - no sleeping, 1 - light sleep(GPS Off, GPRS On, G-sensor On), 2 - deep sleep(GPS Off, GPRS Off, G-sensor On).
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=10, max=359.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=50, max=65535.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=655350.
Tracking profile for Meitrack P66.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=10, max=359.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=50, max=65535.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=655350.
Tracking profile for MicTrack MP-90.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=20, max=180.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=10, max=65535.
Tracking profile for MIKA G1.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=10000.
Tracking profile for MRD-100.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=20, max=65535.
Tracking profile for Diwei TK116, Moralwinhk P008A, Moralwinhk P168.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=10, max=655350.
Tracking profile for MyRope M528, MyRope M588.
psm_interval - int. Define the time interval in seconds which the unit stays in the sleeping state. Min=60, max=65535.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=1, max=65535.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=1, max=65535.
Tracking profile for Naviset GT-10, Naviset GT-20.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=5, max=180.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=50, max=255.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=10, max=300.
Tracking profile for Noran NR008, Noran NR024, Noran NR100.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=15, max=64800.
Tracking profile for Oigo AR-2GM, Oigo AR-3HU.
psm_interval - int. Define the time interval in seconds which the unit stays in the sleeping state. Min=15, max=604800.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=0, max=180.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=0, max=60000.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=15, max=604800.
Tracking profile for Orange TK-103.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=990.
Tracking profile for Piccolo ATX.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=300, max=86400.
Tracking profile for Piccolo ATX2S, Piccolo Hybrid+, Piccolo STX, Piccolo TMX+.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=30, max=150.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=100, max=10000.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=65535.
Profile Wireless Links for Piccolo Plus
sleep_mode - enum. Can be "disabled" | "engine" | "asset" | "hybrid".
track_by - optional enum. Can be "interval" | "distance". Need for disabled, engine, hybrid modes.
tracking_interval - optional int. Interval in seconds, need for disabled, engine, hybrid modes. Min=60, max=86400.
tracking_distance - optional int. Distance in meters, need for disabled, engine, hybrid modes. Min=100, max=10000.
track_by_angle - optional boolean. Need for disabled, engine, hybrid modes.
tracking_angle - optional int. If specified, the device will additionally send data when it changes direction to specified angle, e.g. 30 degrees, need for disabled, engine, hybrid modes. Min=30, max=150.
asset_moving_interval - optional int. Need for asset and hybrid modes. Min=300, max=86400.
asset_stopped_interval - optional int. Need for asset and hybrid modes. Min=300, max=86400.
Tracking profile for RedView VT680.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=30, max=270.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=10, max=655350.
Tracking profile for Sanfone SF100, Sanfone SF700.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=10, max=360.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=30, max=60000.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=999.
Tracking profile for SAT-LITE 3, SAT-LITE 4, Sat Lite 2, Sat Pro, Super Lite.
psm_interval - int. Define the time interval in seconds which the unit stays in the sleeping state. Min=30, max=86400.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=10, max=359.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=50, max=9999.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=86400.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30.
gps_enabled - boolean.
Tracking profile for Sheriff AWAX12.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=900, max=86400.
Tracking profile for Sinowell G102.
psm_interval - int. Define the time interval in seconds which the unit stays in the sleeping state. Min=10, max=65000.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=5, max=180.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=50, max=1000.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=10, max=1000.
Tracking profile for SkyPatrol TT8750+.
psm_interval - int. Define the time interval in seconds which the unit stays in the sleeping state. Min=30, max=18000.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=10, max=359.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=100, max=10000.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=18000.
Tracking profile for СКАТ-Маяк.
active_time - int. Min=300, max=599940 seconds.
sleep_time - int. Min=300, max=599940 seconds.
Tracking profile for Spetrotec i-WATCHER AVL.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=100, max=100000.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=60, max=86400.
type - enum. Can be "interval" | "distance" | "power_save" | "distance_interval_angle" | "interval_angle" | "intelligent".
Tracking profile for M2M-Cyber GLX, STAB Liner 102.
psm_interval - int. Define the time interval in seconds which the unit stays in the sleeping state. Min=0, max=3600.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=0, max=180.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=50, max=100000.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=0, max=3600.
Tracking profile for Starcom Helios Advanced, Starcom Helios Hybrid, Starcom Helios TT.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=0, max=432000.
Tracking profile for Starline M17.
psm_interval - int. Define the time interval in seconds which the unit stays in the sleeping state. Min=60, max=3540.
psm_mode - int. Define the sleep level when type != power_save, 0 - no sleeping, 1 - light sleep(GPS Off, GPRS On, G-sensor On).
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=0, max=300.
Tracking profile for Suntech ST200, Suntech ST215, Suntech ST300, Suntech ST310U, Suntech ST340LC, Suntech ST600R, Suntech ST600V, Suntech ST650.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=0, max=180.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=50, max=60000.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=20, max=60000.
Tracking profile for Suntech ST940.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=20, max=60000.
Tracking profile for Syrus 2G.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=5, max=90.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=100, max=5000.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=9999.
Teltonika FM tracking profile.
tracking_angle – int. Degrees 10-255, the device will send tracking data when course changing more than defined value.
tracking_distance – int. Distance in meters 50-65535, e.g. 100 means that the device will send data every 100 meters.
tracking_interval – int. Interval in seconds 30-255, e.g. 30 means that the device will send tracking data no more frequently than every 30 seconds.
on_stop_tracking_interval – int. On stop interval in seconds 30-65535, e.g. 30 means that the device will send tracking data not less frequently than every 30 seconds.
sleep_mode – . Can be "disabled" | "soft_sleep".
stop_detection – . Can be "ignition" | "g_sensor" | "gps".
Tracking profile for Teltonika FM5500, Teltonika FM6320, Teltonika FMB630, Teltonika FMB640.
sleep_mode – enum. Can be "disabled" | "soft_sleep".
sleep_timeout - int. Can be min=300, max=2592000 seconds.
tracking_angle – int. Degrees min=0, max=180, the device will send tracking data when course changing more than defined value.
tracking_distance – int. Distance in meters min=50, max=65535, e.g. 100 means that the device will send data every 100 meters.
tracking_interval – int. Interval in seconds min=30, max=2592000, e.g. 30 means that the device will send tracking data no more frequently than every 30 seconds.
Tracking profile for TopFlyTech T8603, TopFlyTech T8608, TopFlyTech T8803, TopFlyTech T8803 Pro, TopFlyTech T8803+, TopFlyTech T8806, TopFlyTech T8806+, TopFlyTech T8806+R, TopFlyTech T8808A, TopFlyTech T8808A+, TopFlyTech T8808B, TopFlyTech T8808B+.
psm_interval - int. Define the time interval in seconds which the unit stays in the sleeping state. Min=0, max=65535.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=0, max=90.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=50, max=65535.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=0, max=65535.
Tracking profile for TopShine MT02, TopShine MT08, TopShine OGT100, TopShine VT1000, TopShine VT200W, TopShine VT900.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=50, max=65535.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=10, max=655350.
Tracking profile for TopShine MT08, TopShine OGT100, TopShine VT1000.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=0, max=359.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=50, max=65535.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=10, max=655350.
Tracking profile for TopTen GT08, TopTen TK-510, TopTen TK228.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=0, max=359.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=10, max=655350.
Tracking profile for TT-08, VG-eLock7A.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=300.
Tracking profile for TotemTech AT05, TotemTech AT07.
psm_interval - int. Define the time interval in seconds which the unit stays in the sleeping state. Min=10, max=18000.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=10, max=180.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=10, max=18000.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=10, max=18000.
Tracking profile for Tracker Technology MSP320.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=86400.
Tracking profile for Tracker Technology MSP340.
psm_interval - int. Define the time interval in seconds which the unit stays in the sleeping state. Min=180, max=86400.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=86400.
Tracking profile for Tracker Technology MSP350.
psm_interval - int. Define the time interval in seconds which the unit stays in the sleeping state. Min=60, max=2147483647.
psm_mode - int. Define the sleep level when type != power_save, 0 - no sleeping, 1 - light sleep(GPS Off, GPRS On, G-sensor On), 2 - deep sleep(GPS Off, GPRS Off, G-sensor On), 3 - ultra deep sleep.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=50, max=100000.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=86400.
Profile for Tramigo models that do not support the interval in seconds
tracking_interval - int. Interval in minutes, e.g. 30 means that the device will send tracking data every 30 minutes. Min=1, max=10080.
tracking_distance - float. Distance in kilometers, e.g. 0.5 means that the device will send data every 500 meters. Min=0.5, max=20.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=20, max=180.
on_stop_tracking_interval - int. Interval in minutes when not in a trip. Min=1, max=10080.
sleep_mode - sting enum. Can be "disabled" | "enabled".
Profile for Tramigo models that do support the interval in seconds
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=604800.
tracking_distance - float. Distance in kilometers, e.g. 0.5 means that the device will send data every 500 meters. Min=0.5, max=20.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=20, max=180.
on_stop_tracking_interval - int. Interval in minutes when not in a trip. Min=1, max=10080.
sleep_mode - sting enum. Can be "disabled" | "enabled".
Profile for Navixy TT-1.
type - enum. Can be "interval" (send tracking data based on time intervals), "distance" (send tracking data after passing specified distance).
psm_mode - int. power save mode, 0 - disable, 1 - powersave mode, 2 - Back-up Battery Power Saving Mode
tracking_interval - optional int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds.
tracking_distance - optional int. Distance in meters, e.g. 100 means that the device will send data every 100 meters.
tracking_angle - optional int. If specified, the device will additionally send data when it changes direction to specified angle, e.g. 30 degrees.
psm_interval - optional int. Define the time interval in seconds (600-3932100) which the unit stays in the sleeping state.
bat_voltage - optional string. Threshold of low back-up battery voltage.
bat_psm_interval - optional int. Sleeping duration when battery voltage below defined threshold, seconds.
Tracking profile for IMTSA TR2-OBD, Ulbotech T361, Ulbotech T381.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=3, max=20.
tracking_distance - int. Distance in meters, e.g. 100 means that the device will send data every 100 meters. Min=0, max=25500.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=900.
Tracking profile for Kingneed C30, Kingneed T0024 / T4024, Kingneed T0026, Kingneed T1124, Kingneed T12, Kingneed T16/T18/T19, Kingneed T300, Kingneed T3124 / T5124, Kingneed T500, Kingneed T6024, Kingneed T6124, Kingneed T630, Kingneed T8124, Kingneed TK10, Kingneed TK101, Kingneed TK20, Kingneed TK5, VJOYCAR T0026G, VJOYCAR T13G, VJOYCAR T13GSE, VJOYCAR T633G, VJOYCAR TK10SDC, VJoy T12, VJoy TK05, VJoy TK10GSE, VJoy TK10GSE Solar, VJoy TK20SE.
continuous_report_interval - int. Min=10, max=5940 seconds.
motion_interval - int. Min=30, max=999 seconds.
psm_mode - int. Define the sleep level when type != power_save, 0 - no sleeping, 1 - light sleep(GPS Off, GPRS On, G-sensor On).
psm_wake_up_interval - int. Min=1, max=99 hours.
Tracking profile for Xirgo XT-2050C, Xirgo XT-2060G, Xirgo XT-2150C, Xirgo XT-2160G, Xirgo XT-2450V, Xirgo XT-2460G, Xirgo XT-4750C, Xirgo XT-4760G, Xirgo XT-4850C.
psm_interval - int. Define the time interval in seconds which the unit stays in the sleeping state. Min=60, max=2592000.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=10, max=180.
tracking_distance - int. Distance in miles, e.g. 100 means that the device will send data every 100 miles. Min=1, max=100.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=2592000.
Tracking profile for Xirgo XT-4850C.
psm_interval - int. Define the time interval in seconds which the unit stays in the sleeping state. Min=60, max=2592000.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=10, max=180.
tracking_distance - int. Distance in miles, e.g. 100 means that the device will send data every 100 miles. Min=1, max=100.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=2592000.
Tracking profile for Xirgo XT-2050C, Xirgo XT-2060G, Xirgo XT-2450V, Xirgo XT-2460G, Xirgo XT-4750C, Xirgo XT-4760G.
psm_interval - int. Define the time interval in seconds which the unit stays in the sleeping state. Min=60, max=2592000.
tracking_angle - int. The device will additionally send data when it changes direction to specified angle, e.g. 30 degrees. Min=10, max=180.
tracking_distance - int. Distance in miles, e.g. 100 means that the device will send data every 100 miles. Min=1, max=100.
tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=2592000.
"Я ТУТ ПОИСК" tracking profile. name: 'yatut_poisk'
mode - enum. Device's working mode. Can be "DAILY" | "TEST" | "SEARCH", default="DAILY".
main_wakeup_time - string. At what time to wake up if mode == "DAILY". Format HH:mm, default="12:00"
wakeup_period - enum. Only values 8, 12 or 24 (hours). Default="24"
gps_determination_period - int. How often to determine the position by satellites (in days). Zero (0) means on each waking up. Min=0, max=30, default=0.
{
"tracking_interval": 30,
"tracking_distance": 100
}{
"tracking_interval": 30,
"psm_interval": 60000,
"psm_mode": 0
}{
"tracking_angle": 30,
"tracking_interval": 30,
"tracking_distance": 100
}{
"tracking_angle": 30,
"tracking_interval": 60,
"tracking_distance": 150
}{
"tracking_angle": 30,
"tracking_distance": 100,
"min_tracking_interval": 30,
"max_tracking_interval": 300,
"speed_change": 50,
"freeze_by_speed": false,
"freeze_by_motion": true,
"freeze_by_ignition": false
}{
"max_tracking_interval": 60,
"min_tracking_interval": 5,
"speed_change": 10,
"tracking_angle": 30,
"tracking_distance": 150
}{
"tracking_distance": 150,
"tracking_interval": 60
}{
"tracking_interval": 300
}{
"control_mode": "acc",
"tracking_interval": 30,
"tracking_distance": 150,
"tracking_angle": 30,
"psm_mode": 0,
"psm_interval": 30,
"on_stop_tracking_interval": 1
}{
"type": "interval",
"tracking_interval": 30,
"online_on_ext_power": true,
"timer1_time": "2020-09-16 03:17:26",
"timer1_interval": 15,
"timer2_time": "2020-09-18 03:17:26",
"timer2_interval": 30
}{
"psm_interval": 60,
"psm_mode": 0,
"tracking_interval": 30
}{
"tracking_interval": 30
}{
"tracking_interval": 60
}{
"psm_interval": 12000,
"psm_mode": 0,
"tracking_interval": 720
}{
"tracking_angle": 30,
"tracking_distance": 100,
"tracking_interval": 60,
"type": "interval"
}{
"tracking_angle": 30,
"tracking_interval": 120
}{
"shock_value": 1.5,
"sleep_timeout": 180
}{
"tracking_angle": 30,
"tracking_interval": 150
}{
"tracking_angle": 30,
"tracking_distance": 300,
"tracking_interval": 120
}{
"psm_interval": 600,
"tracking_angle": 30,
"tracking_distance": 200,
"tracking_interval": 60
}{
"tracking_interval": 10
}{
"tracking_angle": 45,
"tracking_distance": 50,
"tracking_interval": 20
}{
"psm_interval": 600,
"tracking_angle": 60,
"tracking_distance": 100,
"tracking_interval": 30
}{
"psm_interval": 3600,
"psm_mode": 1,
"tracking_interval": 30
}{
"tracking_interval": 40
}{
"sleep_report_interval": 120,
"tracking_angle": 20,
"tracking_distance": 500,
"tracking_interval": 200,
"upload_records_count": 1
}{
"tracking_interval": 60
}{
"tracking_interval": 60,
"tracking_distance": 100,
"tracking_angle": 15,
"psm_interval": 300
}{
"tracking_interval": 60,
"tracking_distance": 100,
"tracking_angle": 45,
"psm_interval": 300,
"mode": "ASSET",
"wakeup_type": "PERIODICAL",
"wakeup_day": "EVERYDAY",
"wakeup_time": "12:00",
"wakeup_period": 1440,
"moving_detection": true
}{
"tracking_distance": 100,
"tracking_interval": 30
}{
"psm_interval": 600,
"psm_mode": 1,
"tracking_interval": 10
}{
"psm_interval": 2,
"tracking_interval": 1,
"type": "interval",
"wakeup_time": "10:20"
}{
"tracking_interval": 30
}{
"tracking_interval": 30
}{
"gps_tracking_interval": 10,
"lbs_tracking_interval": 60,
"mode": "lbs"
}{
"tracking_interval": 30
}{
"psm_interval": 3000,
"tracking_angle": 120,
"tracking_distance": 250,
"tracking_interval": 30,
"type": "intelligent"
}{
"type": "interval",
"tracking_interval": 30,
"tracking_distance": 100
}{
"type": "distance",
"tracking_interval": 30,
"tracking_distance": 100,
"tracking_angle": 30
}{
"type": "power_save",
"tracking_interval": 30,
"tracking_distance": 100,
"tracking_angle": 30,
"psm_interval": 65535,
"psm_mode": 2
}{
"tracking_interval": 65534
}{
"tracking_interval": 1000
}{
"tracking_angle": 10,
"tracking_interval": 120
}{
"tracking_distance": 250,
"tracking_interval": 3600
}{
"psm_interval": 86400,
"tracking_angle": 10,
"tracking_distance": 100,
"tracking_interval": 60
}{
"tracking_interval": 30,
"tracking_distance": 100,
"tracking_angle": 30
}{
"tracking_interval": 30
}{
"tracking_interval": 3600
}{
"active_tracking_interval": 30,
"gps_working_mode": "always_on",
"gsm_working_mode": "auto",
"tracking_angle": 30,
"tracking_distance": 50,
"tracking_interval": 60
}{
"tracking_distance": 100,
"tracking_interval": 60
}{
"tracking_interval": 20
}{
"tracking_interval": 600
}{
"psm_interval": 3600,
"psm_mode": 2,
"tracking_angle": 45,
"tracking_distance": 100,
"tracking_interval": 60
}{
"tracking_interval": 1
}{
"type": "distance",
"tracking_interval": 30,
"tracking_distance": 100,
"tracking_angle": 30,
"psm_interval": 600,
"movement_detection": true,
"non_movement_duration": 420
}{
"type": "interval",
"tracking_interval": 1,
"wakeup_time": "10:00",
"psm_interval": 8
}{
"tracking_interval": 5,
"start_time": "0000",
"end_time": "2359",
"movement_detection": true,
"min_speed": 10,
"min_distance": 20
}{
"tracking_interval": 10
}{
"type": "interval",
"tracking_interval": 30,
"tracking_distance": 100,
"tracking_angle": 30,
"psm_mode": 1,
"psm_interval": 600
}{
"type": "interval",
"tracking_interval": 30,
"tracking_distance": 100,
"tracking_angle": 30,
"psm_mode": 1,
"psm_interval": 600
}{
"tracking_interval": 10
}{
"tracking_interval": 30
}{
"tracking_interval": 30
}{
"tracking_interval": 20
}{
"tracking_interval": 30
}{
"psm_interval": 600,
"tracking_angle": 10,
"tracking_interval": 30
}{
"tracking_interval": 1000
}{
"tracking_angle": 5,
"tracking_distance": 100,
"tracking_interval": 30,
"type": "interval"
}{
"tracking_interval": 30
}{
"tracking_interval": 30,
"tracking_angle": 30
}{
"psm_interval": 60,
"tracking_angle": 55,
"tracking_interval": 30
}{
"psm_interval": 3000,
"psm_mode": 1,
"tracking_interval": 30
}{
"tracking_interval": 30
}{
"tracking_interval": 30
}{
"psm_interval": 3600,
"psm_mode": 1,
"tracking_angle": 45,
"tracking_distance": 150,
"tracking_interval": 30,
"type": "interval"
}{
"tracking_interval": 240
}{
"tracking_interval": 10,
"sleep_mode": "enabled",
"wakeup_timers": ["10:00:00", "16:00:00"],
"sleep_time_in_minutes": 60
}{
"psm_interval": 150,
"psm_mode": 0,
"tracking_interval": 60
}{
"tracking_interval": 10
}{
"tracking_distance": 1000,
"tracking_interval": 30,
"type": "distance"
}{
"tracking_interval": 45
}{
"type": "interval",
"tracking_interval": 30,
"tracking_distance": 300,
"tracking_angle": 10
}{
"type": "interval",
"psm_mode": 1,
"tracking_interval": 30,
"tracking_distance": 100,
"tracking_angle": 30,
"psm_interval": 600,
"wakeup_timer1": "10:00",
"wakeup_timer2": "16:00",
"wakeup_timer3": "22:00"
}{
"tracking_angle": 60,
"tracking_distance": 500,
"tracking_interval": 20
}{
"tracking_angle": 25,
"tracking_distance": 100,
"tracking_interval": 30
}{
"tracking_interval": 30
}{
"tracking_distance": 50,
"tracking_interval": 300,
"type": "intelligent"
}{
"tracking_angle": 30,
"tracking_distance": 200,
"tracking_interval": 10
}{
"tracking_interval": 30,
"tracking_distance": 100,
"tracking_angle": 30,
"psm_mode": 0,
"psm_interval": 3600
}{
"psm_interval": 3932100,
"psm_mode": 0,
"tracking_angle": 10,
"tracking_distance": 50,
"tracking_interval": 30
}{
"on_stop_tracking_interval": 120,
"psm_interval": 300,
"psm_mode": 2,
"tracking_angle": 45,
"tracking_distance": 50,
"tracking_interval": 30
}{
"tracking_angle": 45,
"tracking_distance": 150,
"tracking_interval": 60
}{
"tracking_angle": 20,
"tracking_interval": 60
}{
"tracking_interval": 30
}{
"tracking_interval": 20
}{
"tracking_interval": 10
}{
"psm_interval": 60,
"tracking_distance": 10,
"tracking_interval": 50
}{
"tracking_angle": 120,
"tracking_distance": 150,
"tracking_interval": 240
}{
"tracking_interval": 150
}{
"psm_interval": 60,
"tracking_angle": 45,
"tracking_distance": 300,
"tracking_interval": 15
}{
"tracking_interval": 990
}{
"tracking_interval": 300
}{
"tracking_angle": 30,
"tracking_distance": 100,
"tracking_interval": 30
}{
"sleep_mode": "disabled",
"track_by": "interval",
"tracking_interval": 60,
"tracking_distance": 100,
"track_by_angle": true,
"tracking_angle": 30,
"asset_moving_interval": 300,
"asset_stopped_interval": 86400
}{
"tracking_angle": 60,
"tracking_interval": 10
}{
"tracking_angle": 120,
"tracking_distance": 60,
"tracking_interval": 60
}{
"psm_interval": 30,
"tracking_angle": 10,
"tracking_distance": 50,
"tracking_interval": 30
}{
"tracking_interval": 30,
"gps_enabled": true
}{
"tracking_interval": 900
}{
"psm_interval": 10,
"tracking_angle": 5,
"tracking_distance": 50,
"tracking_interval": 10
}{
"psm_interval": 30,
"tracking_angle": 10,
"tracking_distance": 100,
"tracking_interval": 30
}{
"active_time": 300,
"sleep_time": 300
}{
"tracking_distance": 100,
"tracking_interval": 60,
"type": "interval"
}{
"psm_interval": 3600,
"tracking_angle": 10,
"tracking_distance": 50,
"tracking_interval": 30
}{
"tracking_interval": 10
}{
"psm_interval": 600,
"psm_mode": 0,
"tracking_interval": 100
}{
"tracking_angle": 30,
"tracking_distance": 50,
"tracking_interval": 20
}{
"tracking_interval": 20
}{
"tracking_angle": 5,
"tracking_distance": 200,
"tracking_interval": 30
}{
"tracking_angle": 30,
"tracking_distance": 100,
"tracking_interval": 60,
"on_stop_tracking_interval": 180,
"sleep_mode": "disabled",
"stop_detection": "ignition"
}{
"sleep_mode": "disabled",
"sleep_timeout": 300,
"tracking_angle": 25,
"tracking_distance": 50,
"tracking_interval": 30
}{
"psm_interval": 10000,
"tracking_angle": 60,
"tracking_distance": 50,
"tracking_interval": 30
}{
"tracking_distance": 50,
"tracking_interval": 10
}{
"tracking_angle": 15,
"tracking_distance": 50,
"tracking_interval": 60
}{
"tracking_angle": 25,
"tracking_interval": 30
}{
"tracking_interval": 30
}{
"psm_interval": 15000,
"tracking_angle": 10,
"tracking_distance": 60,
"tracking_interval": 30
}{
"tracking_interval": 30
}{
"psm_interval": 180,
"tracking_interval": 30
}{
"psm_interval": 2147483647,
"psm_mode": 0,
"tracking_distance": 50,
"tracking_interval": 30
}{
"tracking_interval": 1,
"tracking_distance": 0.5,
"tracking_angle": 20,
"on_stop_tracking_interval": 120,
"sleep_mode": "disabled"
}{
"tracking_interval": 30,
"tracking_distance": 20,
"tracking_angle": 180,
"on_stop_tracking_interval": 100,
"sleep_mode": "enabled"
}{
"type": "interval",
"psm_mode": 2,
"tracking_interval": 30,
"tracking_distance": 100,
"tracking_angle": 30,
"psm_interval": 60,
"bat_voltage": "1.5",
"bat_psm_interval": 600
}{
"tracking_angle": 3,
"tracking_distance": 150,
"tracking_interval": 30
}{
"continuous_report_interval": 10,
"motion_interval": 30,
"psm_mode": 1,
"psm_wake_up_interval": 1
}{
"psm_interval": 2592000,
"tracking_angle": 10,
"tracking_distance": 1,
"tracking_interval": 30
}{
"psm_interval": 60,
"tracking_angle": 10,
"tracking_distance": 1,
"tracking_interval": 30
}{
"psm_interval": 60,
"tracking_angle": 10,
"tracking_distance": 2,
"tracking_interval": 60
}{
"mode": "DAILY",
"main_wakeup_time": "12:00",
"wakeup_period": "24",
"gps_determination_period": 0
}This document contains tracker object structure and API calls to interact with it.
This document contains tracker object structure and API calls to interact with it. Tracker is one of the key entities in our API. It represents tracking device registered in our GPS monitoring system. Lots of API calls created for manipulation of tracker and/or its properties.
id - int. Tracker ID aka object_id.
label - string. Tracker label.
clone - boolean. true if this tracker is clone.
group_id - int. Tracker group ID, 0 when no group.
avatar_file_name - string. Optional. Passed only if present.
source - object.
id - int. Source ID.
device_id - string. Device ID aka source_imei.
tag_binding - object. List of attached tags. Appears only for call.
tag_id - int. An ID of tag. Must be unique for a tracker.
ordinal - int. Number that can be used as ordinal or kind of tag. Must be unique for a tracker. Max value is 5.
number - int. Output number.
title - string. User-defined output name.
ignition - Car's ignition. There can be only one sensor of this type.
engine - Engine's working status.
mass - Car's "ground".
car_alarm - Expected to be "on" when car alarm triggered.
API base path: /tracker.
Gets tracker info by ID.
See tracker object structure description .
201 - Not found in the database – if tracker not found.
Gets user's trackers with optional filtering by labels. We described this API call in the .
Constraints for labels:
Labels array size: minimum 1, maximum 1024.
No null items.
No duplicate items.
Item length: minimum 1, maximum 60.
For example, we have trackers with labels "aa1", "bb2", "cc3", if we pass labels=["aa","b"] only trackers
containing "aa1" and "bb2" will be returned.
See tracker object structure description .
types only.
Marks tracker as deleted and corrupt its source, device_id and phone.
required sub-user rights: tracker_register.
13 – Operation not permitted – if tracker already connected to server, or if user has insufficient rights.
243 – Device already connected.
201 – Not found in the database - if tracker not found.
219 – Not allowed for clones of the device - if source tracker is clone itself.
Deletes a tracker if it is "clone". Will not work if specified ID of the original tracker.
required sub-user rights: admin (available only to master users).
201 - Not found in the database – if tracker not found.
249 - Operation available for clones only – if tracker is not clone.
203 - Delete entity associated with – if there are some rules or vehicles associated with tracker.
or
rules - list of associated rule IDs.
vehicles - list of associated vehicle IDs.
Changes tracker's phone and setup new apn.
required sub-user rights: tracker_configure.
cURL
201 - Not found in the database – if tracker not found.
208 – Device blocked - if tracker exists but was blocked due to tariff restrictions or some other reason.
219 – Not allowed for clones of the device - if specified tracker is a clone.
214 – Requested operation or parameters are not supported by the device - if device does not have GSM module.
Gets last CAN and OBD sensors and states values received from the device.
user_time - . Current time in user's timezone.
inputs - list of sensor value objects.
label - string. Sensor's label. E.g. "Sensor #1".
List of available sensor's input names for the object sensor value:
obd_consumption.
obd_rpm.
obd_fuel.
obd_coolant_t.
List of state names for the field states:
obd_vin (value type: string).
obd_dtc_number (DTC codes number; value type: integer).
obd_dtc_codes (DTC codes; value type: string).
obd_dtc_cleared_distance (distance traveled since codes cleared in km; value type: double).
You can locate all inputs, states, and definitions by utilizing the API call.
201 – Not found in the database - if there is no tracker with such ID belonging to authorized user.
208 – Device blocked - if tracker exists but was blocked due to tariff restrictions or some other reason.
Gets current fuel level (in liters) of tracker's fuel tanks.
user_time - . Current time in user's timezone.
inputs - array of last readings of fuel-related sensors. Items are object listed below.
List of available sensor's input names for the object sensor value:
fuel_level.
fuel_frequency.
lls_level_x (range for x: [1 – 16]).
fuel_consumption.
201 – Not found in the database - if there is no tracker with such ID belonging to authorized user.
208 – Device blocked - if tracker exists but was blocked due to tariff restrictions or some other reason.
Gets current state of tracker's digital inputs and "semantic" inputs (ignition, buttons, car alarms, etc.) bound to them (if any).
user_time - . Current time in user's timezone.
inputs - array (boolean) of states of all digital inputs. [true, true, false] means input 1 is on,
input 2 is on, input 3 is off.
states - array of state objects.
201 – Not found in the database - if there is no tracker with such ID belonging to authorized user.
208 – Device blocked - if tracker exists but was blocked due to tariff restrictions or some other reason.
Gets current state of trackers' digital inputs and "semantic" inputs (ignition, buttons, car alarms, etc.) bound to them (if any).
user_time - . Current time in user's timezone.
data - object. Input info mapped to tracker ids.
Input info:
inputs - array (boolean) of states of all digital inputs. [true, true, false] means input 1 is on,
input 2 is on, input 3 is off.
states - array of state objects.
type - . One of predefined semantic
217 - List contains nonexistent entities - if one of trackers either does not exist or is blocked.
221 - Device limit exceeded - if too many IDs were passed in trackers parameter.
Gets tracker's outputs info
=== "HTTP GET"
result - array of objects. Array of output info objects described .
201 – Not found in the database - if there is no tracker with such ID belonging to authorized user.
208 – Device blocked - if tracker exists but was blocked due to tariff restrictions or some other reason.
Gets trackers' outputs info
result - object. Array of output info objects described mapped to tracker ids.
217 - List contains nonexistent entities - if one of trackers either does not exist or is blocked.
221 - Device limit exceeded - if too many IDs were passed in trackers parameter.
Updates tracker's outputs info
cURL
201 – Not found in the database - if there is no tracker with such ID belonging to authorized user.
208 – Device blocked - if tracker exists but was blocked due to tariff restrictions or some other reason.
Gets last point of the tracker located by GPS. Points located by GSM LBS are excluded from consideration.
value - track point object.
get_time - . GPS timestamp of the point, in user's timezone.
heading - int. Direction bearing in degrees (0-360).
201 - Not found in the database – if there is no tracker with such ID belonging to authorized user.
208 - Device blocked – if tracker exists but was blocked due to tariff restrictions or some other reason.
Gets last sensor values for sensors that are:
metering.
not can- or obd-based.
not "fuel" sensors.
user_time - . Current time in user's timezone.
inputs - list of sensor value objects. See below.
label - string. Sensor's label. E.g. "Sensor #1".
List of available sensor's input names for the object sensor value:
composite.
input_status.
analog_x (range for x: [1 – 8]).
freq_x (range for x: [1 – 8]).
201 – Not found in the database - if there is no tracker with such ID belonging to authorized user.
208 – Device blocked - if tracker exists but was blocked due to tariff restrictions or some other reason.
Gets current tracker state (gps, gsm, outputs, etc.).
user_time - . Current time in user's timezone.
source_id - int. Tracker data source ID (from "sources" table).
gps - gps object.
201 – Not found in the database (if there is no tracker with such ID belonging to authorized user).
208 – Device blocked (if tracker exists but was blocked due to tariff restrictions or some other reason).
Gets current states (gps, gsm, outputs, etc.) for several trackers.
cURL
user_time - . Current time in user's timezone.
states - object. A map containing state objects for requested trackers, where the key is the tracker ID
and the value is the state (see state object description in response).
blocked - array of tracker IDs. Returned only if list_blocked=true.
201 – Not found in the database (if tracker corrupted and allow_not_exist = false).
208 – Device blocked (if list_blocked = false and tracker exists but was blocked due to tariff restrictions
or some other reason).
217 – List contains nonexistent entities (if allow_not_exist = false and there are nonexistent trackers
belonging to an authorized user).
Gets all integrated tracker models (from "models" table).
id - int. Model ID.
vendor - string. Vendor name.
code - string. Model text code
An ID type used to determine the information needed to register device in our system (see ).
Possible values are:
imei – means device uses IMEI as its identifier, e.g. "356938035643809". See . When needed, you should pass only digits of IMEI, no spaces, minus signs, etc.
meid means device uses MEID consisting of 14 HEX digits as its identifier, e.g. "A10000009296F2". See .
id,n – means device uses n-digit identifier (factory ID with length N), for example, "id,7" means that you must pass 7-digit number, for example "1234567".
types only.
Set tags for a tracker. Tags must be created.
cURL
types only.
Execute this command to get current position of the device. The device must support requesting function.
Request types:
sms – GNSS data via SMS. Will send an SMS to request location. SMS gateway must be installed for the panel.
gsm – GSM LBS data via GPRS. Device must have online or GPS not updated status.
gprs – GNSS data via GPRS. Device must have online or GPS not updated
201 – Not found in the database - if there is no tracker with such ID belonging to authorized user.
208 – Device blocked - if tracker exists but was blocked due to tariff restrictions or some other reason.
213 – Cannot perform action: the device is offline.
214 – Requested operation or parameters are not supported by the device.
Registers a new tracker device. During registration, device linked with current API user's account and automatically configured to send data to our servers (if device model supports it). The panel must have installed SMS gateway.
Find detailed instructions on tracker registration .
required sub-user rights: tracker_register.
Important! Because of the variety of tracker models and business applications, there are different ways to register tracker in our system. They are called . Each of registration plugins has its own set of additional parameters.
In addition to parameters specified in this section, pass all parameters which are required by the plugin you have chosen. See example below.
Common parameters are:
In this example we use plugin ID = 37 (see ) to register Queclink GV55Lite. We chose to include the device to default group, so group ID is 0. As this device identified by IMEI, we include it as device ID (123451234512346).
Also, we include phone, apn_name, apn_user, apn_password of the sim card installed in device and activation_code since these parameters required by the plugin.
For tracker object structure, see .
13 – Operation not permitted – if user has insufficient rights.
204 – Entity not found - if specified group does not exist. See .
220 – Unknown device model - if specified device model does not exist.
221 – Device limit exceeded - if device limit set for the user's dealer has been exceeded.
Resends registration commands to the device. The panel must have installed SMS gateway.
required sub-user rights: tracker_register.
For tracker object structure, see .
13 – Operation not permitted – if user has insufficient rights.
201 – Not found in the database - if there is no tracker with such ID belonging to authorized user.
208 – Device blocked - if tracker exists but was blocked due to tariff restrictions or some other reason.
219 – Not allowed for clones of the device - if specified tracker is a clone.
Registers a new tracker using only IMEI. Automatic SMS commands will not be sent for a register. The device must be preconfigured. This API call can be used only for bundles.
required sub-user rights: tracker_register.
For tracker object structure, see .
13 – Operation not permitted – if user has insufficient rights.
201 – Not found in the database - if there is no bundle with such IMEI.
204 – Entity not found - if specified group does not exist.
220 – Unknown device model - if specified device model does not exist.
Lets to replace the device without losing its history and some of its settings. Replacement allows you to register a new device with history, sensors (optional), and rules (optional) of the current tracker saved.
required sub-user rights: tracker_configure.
Important! Because of the variety of tracker models and business applications, there are different ways to register a new tracker in our system. They are called . Each of registration plugins has its own set of additional parameters. In addition to parameters specified in this section, pass all parameters which are required by the plugin you have chosen. See example below.
Common parameters are:
In this example we use plugin ID = 37 (see ) to replace device with Queclink GV55Lite. As this device identified by IMEI, we include it as device ID (123451234512346).
Also, we include phone, apn_name, apn_user, apn_password of the sim card installed in device. Activation code is not used when replacing a device.
For tracker object structure, see .
7 – Invalid parameters - if fields violate restrictions described above or one of the models is a mobile app.
13 – Operation not permitted - if user has insufficient rights.
204 – Entity not found - if specified group does not exist. See .
220 – Unknown device model - if specified device model does not exist.
Replaces a device using only IMEI. Automatic SMS commands will not be sent for an activation. The replacement device must be preconfigured. This API call can be used only for bundles.
required sub-user rights: tracker_configure.
For tracker object structure, see .
7 – Invalid parameters - if fields violate restrictions described above or one of the models is a mobile app.
13 – Operation not permitted - if user has insufficient rights.
201 – Not found in the database - if there is no bundle with such IMEI.
204 – Entity not found - if specified group does not exist.
Resends registration commands to the new device. The panel must have installed SMS gateway.
required sub-user rights: tracker_configure.
For tracker object structure, see .
13 – Operation not permitted – if user has insufficient rights.
204 – Entity not found - if there is no tracker with such ID belonging to authorized user.
208 – Device blocked - if tracker exists but was blocked due to tariff restrictions or some other reason.
219 – Not allowed for clones of the device - if specified tracker is a clone.
Sends command to tracker for performing special control, determined with special_control field of tracker model.
required sub-user rights: tracker_configure, tracker_set_output.
common command format is:
name - Command name.
some_parameter - Parameters depend on certain command.
special_settings - optional field. Its structure defined with special_control field of tracker model.
Certain commands which can be used is defined with special_control field of tracker model and corresponds the table below:
electronic_lock_command
This command used to seal/unseal electronic lock.
command_code - . Can be "seal" or "unseal".
special_settings - This command is equivalent to API call .
See
cURL
For tracker object structure, see .
types only.
Sends the GPRS command to the device, processing it in a protocol-dependent manner beforehand.
Find more information about this API call usage in our .
required sub-user rights: tracker_configure, tracker_set_output.
cURL
7 - Invalid parameters.
201 - Not found in the database – if there is no tracker with such device ID belonging to authorized user.
Example response with an error:
{
"id": 123456,
"label": "tracker label",
"clone": false,
"group_id": 167,
"avatar_file_name": "file name",
"source": {
"id": 234567,
"device_id": 9999999988888,
"model": "telfmb920",
"blocked": false,
"tariff_id": 345678,
"status_listing_id": null,
"creation_date": "2011-09-21",
"tariff_end_date": "2016-03-24",
"phone": "71234567890"
},
"tag_bindings": [
{
"tag_id": 456789,
"ordinal": 4
}
]
}model - string. Tracker model name from "models" table.
blocked - boolean. true if tracker blocked due to tariff end.
tariff_id - int. An ID of tracker tariff from "main_tariffs" table.
status_listing_id - int. An ID of the status listing associated with this tracker, or null.
creation_date - date/time. Date when the tracker registered.
tariff_end_date - date/time. Date of next tariff prolongation, or null.
phone - string. Phone of the device. Can be null or empty if device has no GSM module or uses bundled SIM which number hidden from the user.
sos_button - An emergency "red" button.
hood - "on" if engine's hood is open.
door - "on" if car's door is open.
car_lock - "on" if car's central lock is open.
custom - user-defined type. In general, should have non-empty "name" field.
252 – Device already corrupted.
208 – Device blocked.
apn_ user
The user of GPRS APN of the sim card inserted into device. Max length 40, can be empty.
string
"tmobile"
apn_password
The password of GPRS APN of the sim card inserted into device. Max length 40, can be empty.
sting
"tmobile"
223 – Phone number already in use - if specified phone number already used in another device.
241 – Cannot change phone to bundled sim. Contact tech support. If specified phone number belongs tp sim card bundled with the device.
name - enum. Name of sensor's raw input.
type - enum. Type of quantity, measured by a sensor.
value - float. Reading's value, measured in units from an eponymous field. E.g. 100.0.
units_type - enum. Unit of measurement of input to the sensor.
units - string. User label for sensor's units.
converted_units_type - enum. Unit of measurement system preferred by current user
(according to user/settings), suitable for this sensor. Can be null, if there is no need in
conversion (unit of sensor's input (field units_type) belongs to user's measurement system).
converted_value - float. Reading's value in units from field converted_units_type.
Can be null if there is no need in conversion.
states - map of last state values or null (see below).
update_time - date/time. Date and time when the data updated.
obd_intake_air_t.
obd_throttle.
obd_speed.
obd_engine_load.
obd_absolute_load_value (normalised value of air mass per intake stroke in percents).
obd_control_module_voltage (in volts).
obd_time_since_engine_start (run time since engine start in seconds).
obd_mil_run_time (in minutes).
can_engine_temp.
can_engine_hours.
can_mileage.
can_throttle.
can_consumption.
can_rpm.
can_speed.
can_r_prefix.
can_coolant_t.
can_intake_air_t.
can_engine_load.
can_adblue_level.
can_fuel_rate (instant fuel consumption liter/hour).
raw_can_x (range for x: [1 – 16]).
can_axle_load_x (range for x: [1 – 15]).
obd_mil_activated_distance (distance traveled with MIL on in km; value type: double).
hardware_key (driver identification key; value type: string).
external_power_state (connected/disconnected; value type: string).
driver_ident_state (identified/not identified; value type: string).
tacho_vin (value type: string).
tacho_card1_sn (value type: string).
tacho_card2_sn (value type: string).
tacho_vin_last_download (value type: string).
tacho_card1_last_download (value type: string).
tacho_card2_last_download (value type: string).
can_hood_state (value type: string, 0 or 1 means "close" or "open").
can_airbag_state (value type: string, 0 or 1 means "normal" or "malfunction").
can_trunk_state (value type: string, 0 or 1 means "close" or "open").
can_seat_belt_driver_state (value type: string, 0 or 1 means "untied" or "tied").
can_seat_belt_passenger_state (value type: string, 0 or 1 means "untied" or "tied").
can_door_state (value type: string, 0 or 1 means "close" or "open").
can_door_driver_state (value type: string, 0 or 1 means "close" or "open").
can_door_passenger_state (value type: string, 0 or 1 means "close" or "open").
rs232_x (range for x: [1 – 6]).
can_fuel (fuel level in percents or in unknown units).
can_fuel_2 (fuel level in percents or in unknown units).
can_fuel_litres (fuel level in litres).
can_fuel_economy (fuel economy in km/litres).
update_time - date/time. Date and time when the data updated.
type - enum. One of predefined semantic input types
name - string. User-defined name for semantic input, or null if not specified.
status - boolean. True if input is active, false otherwise.
input_number - int. Number of the associated discrete input.
update_time - date/time. Date and time when the data updated.
name - string. User-defined name for semantic input, or null if not specified.
status - boolean. True if input is active, false otherwise.
input_number - int. Number of the associated discrete input.
update_time - date/time. Date and time when the data updated.
lat - float. Latitude.
lng - float. Longitude.
satellites - int. Number of satellites used in fix for this point.
speed - int. Speed in km/h.
precision - int. Optional. Exists if not equal to 0. Precision in meters.
name - enum. Name of sensor's raw input.
type - enum. Type of quantity, measured by a sensor.
value - float. Reading's value, measured in units from an eponymous field. E.g. 100.0.
units_type - enum. Unit of measurement of input to the sensor.
units - string. User label for sensor's units.
converted_units_type - enum. Unit of measurement system preferred by current user
(according to user/settings), suitable for this sensor. Can be null, if there is no need in
conversion (unit of sensor's input (field units_type) belongs to user's measurement system).
converted_value - float. Reading's value in units from field converted_units_type.
Can be null if there is no need in conversion.
update_time - date/time. Date and time when the data updated.
impulse_counter_x (range for x: [1 – 8]).
fuel_temperature.
lls_temperature_x (range for x: [1 – 16]).
rs232_x (range for x: [1 – 6]).
board_voltage.
temp_sensor.
ext_temp_sensor_x (range for x: [1 – 10]).
updated - date/time. Date of last gps coordinates update in a timezone of the user or null if there are
no updates.
signal_level - int. GPS signal level in percent, e.g. 25, or null if device cannot provide such info.
lat - float. Latitude.
lng - float. Longitude.
heading int. Direction bearing in degrees (0-360).
speed - int. Speed in km/h, e.g. 20.
alt - int. Altitude in meters, e.g. 10.
precision - int. Optional. Precision in meters.
gsm_lbs - boolean. Optional. True if location detected by GSM LBS.
connection_status - enum. Device connection status, possible values: "signal_lost",
"just_registered", "just_replaced", "offline", "idle", "active".
movement_status - enum. Movement status, possible values: "moving", "stopped", "parked".
movement_status_update - date/time. The date and time when the movement status was last changed or null if there are no changes.
ignition - boolean. Optional. State of vehicle’s or virtual ignition sensor.
ignition_update - date/time. Optional. The date and time when the ignition state was last changed.
gsm - object. Can be null if device does not support transmission of gsm info.
updated - date/time. Date of last gsm status update in a timezone of the user or null if there are no updates.
signal_level - int. GSM signal level in percent, e.g. 25, or null if device cannot provide such info.
network_name - string. GSM network name, e.g. "T-MOBILE", or null if device cannot provide such info.
roaming - boolean. Roaming state, or null if device cannot provide such info.
last_update - date/time. Date of last device state update in a timezone of the user or null if there are no updates.
battery_level - int. Battery level in percent, e.g. 25, or null if device cannot provide such info.
battery_update - date/time. Date of last battery update in a timezone of the user or null if there are no updates.
inputs - array of boolean. States of all digital inputs. [true, true, false] means input 1 is on, input 2 is on,
input 3 is off.
inputs_update - date/time. Date of last inputs update in a timezone of the user or null if there are no updates.
outputs - array of boolean. States of all digital outputs. [true, true, false] means output 1 is on,
output 2 is on, output 3 is off.
outputs_update - date/time. Date of last outputs update in a timezone of the user or null if there are no updates.
additional - object. map of additional states, keys depends on tracker model.
hardware_key - last scanned hardware key object.
value - int. Hardware key.
updated - . Date of last hardware key update in a timezone of the user or null if
there are no updates.
actual_track_update - date/time. When the last track was updated last time, when device last time moved.
not_exist - array of tracker IDs. Returned only if allow_not_exist=true.
parent_code - string. Can be null.type - enum. Can be "logger", "portable", "vehicle", or "personal".
name - string. Model name.
id_type - string. Identifier type see description below.
has_phone - boolean. true if the tracker has phone.
has_apn_settings - boolean. true if the tracker has APN settings.
register - boolean. true if the tracker is available for registration.
has_auto_registration - boolean. If true device may register by automatic commands from the platform.
port - int, optional. The port number to connect to the tracking server. Can be null if the model does not support anything, or if it supports multiple connection types, the details will be in the connection field.
battery - object. An internal device's battery.
min_charge - float. Minimum battery level. Used to calculate the current battery level.
low_charge - float. Charge level for the "low battery" rule triggers.
max_charge - float. Maximum battery level. Used to calculate the current battery level.
altitude - boolean. true if the tracker supports altitude.
satellites - boolean. true if the tracker supports the number of satellites.
gsm_level - boolean. true if the tracker supports GSM signal level strength.
gsm_network - boolean. true if the tracker supports GSM network name.
gsm_roaming - boolean. true if the tracker supports GSM roaming state.
has_detach_button - boolean. true if the tracker has detaching sensor.
has_fuel_input - boolean. true if the tracker has fuel sensor.
analog_inputs - int. Number of analog inputs.
digital_inputs - int. Number of digital inputs.
digital_outputs - int. Number of digital outputs.
rs232_inputs - int. Number of RS232 inputs.
output_control - enum. Can be "none", "default", "batch", "stateless", "async", "async_offline" or "batch_async".
special_control - string. Additional specific types of tracker control (see settings/special). If multiple are separated by commas.
inputs - array of enum. All available input types.
state_fields - array of enum. All available state fields.
rules - array of enum. Supported rules.
special_settings - array of enum. Additional specific types of tracker control (see settings/special).
sms_control - array of enum. Supported SMS control commands.
has_led_control - boolean. true if a switching LED supported by this tracker.
has_location_request - boolean. true if the tracker has an opportunity to request a location with a command by SMS.
has_gprs_location_request - boolean. true if the tracker has an opportunity to request a location with a command
over a GPRS connection.
has_gsm_lbs_location_request - boolean. true if the tracker has an opportunity to request a location by LBS
with a command over a GPRS connection.
has_chat - boolean. true if chat is available for a device with this model.
has_custom_fields - boolean, optional, default false.true if the protocol of this model supports transmission of fields (attributes) names.
It allows to set a custom input_name for sensors.
has_odometer - boolean. true if the tracker has an integrated odometer.
has_lbs - boolean. true if the tracker sends information about cell info.
has_motion_sensor - boolean. true if the tracker has an integrated motion sensor.
has_hardware_key - boolean. true if the tracker has an opportunity for identification of a driver by a hardware key.
additional_fields - optional. List of descriptions of special fields using for control trackers that
users fill on time of registration.
connection - array of objects, optional. A list of options for connecting the model to the platform.
protocol - string. The name of the application layer protocol.
transport - string. Transport layer protocol.
url - string. Uniform Resource Locator - full details for the connection. Such as protocol, host, port, credentials, etc.
description - string. Connection details.
256 – Location already actual.
plugin_id
An ID of a registration plugin which will be used to register the device. See .
int
37
device_id
Must be specified if device model uses fixed device ID. See .
string
"4568005588562"
send_register_commands
Indicates send or not to send activation commands to device (via SMS or GPRS channel). If parameter is not specified or equals null will be used the platform settings. Default: null.
boolean
true or false
222 – Plugin not found - if specified plugin not found or is not supported by device model.
223 – Phone number already in use - if specified phone number already used in another device.
224 – Device ID already in use - if specified device ID already registered in the system.
225 – Not allowed for this legal type - if tariff of the new device is not compatible with user's legal type.
226 – Wrong ICCID. Plugin specific: if specified ICCID was not found.
227 – Wrong activation code. Plugin specific: if specified activation code not found or is already activated.
258 – Bundle not found. Plugin specific: if bundle not found for specified device ID.
apn_user
The user of GPRS APN of this sim card inserted into device. Max length 40, can be empty.
string
"tmobile"
apn_password
The password of GPRS APN of the sim card inserted into device. Max length 40, can be empty.
string
"tmobile"
send_register_commands
Indicates send or not to send activation commands to device (via SMS or GPRS channel). If parameter is not specified or equals null will be used the platform settings. Default: null.
boolean
true or false
214 – Requested operation or parameters are not supported by the device - if device does not have GSM module.
242 – Device already connected - if tracker connected to the server.
221 – Device limit exceeded - if device limit set for the user's dealer has been exceeded.
222 – Plugin not found - if specified plugin not found or is not supported by device model.
223 – Phone number already in use - if specified phone number already used in another device.
224 – Device ID already in use - if specified device ID already registered in the system.
225 – Not allowed for this legal type - if tariff of the new device is not compatible with user's legal type.
226 – Wrong ICCID - if specified ICCID was not found.
227 – Wrong activation code - if specified activation code not found or is already activated.
plugin_id
An ID of a registration plugin which will be used to register the device. See .
int
37
send_register_commands
Indicates send or not to send activation commands to a new device (via SMS or GPRS channel). If parameter is not specified or equals null will be used the platform settings. Default: null.
boolean
true/false
221 – Device limit exceeded - if device limit set for the user's dealer has been exceeded.
222 – Plugin not found - if specified plugin not found or is not supported by device model.
223 – Phone number already in use - if specified phone number already used in another device.
224 – Device ID already in use - if specified device ID already registered in the system.
225 – Not allowed for this legal type - if tariff of the new device is not compatible with user's legal type.
226 – Wrong ICCID. Plugin specific: if specified ICCID was not found.
258 – Bundle not found. Plugin specific: if bundle not found for specified device ID.
266 – Cannot perform action for the device in current status: if the device is not activated yet
220 – Unknown device model - if specified device model does not exist.
221 – Device limit exceeded - if device limit set for the user's dealer has been exceeded.
222 – Plugin not found - if specified plugin not found or is not supported by device model.
223 – Phone number already in use - if specified phone number already used in another device.
224 – Device ID already in use - if specified device ID already registered in the system.
225 – Not allowed for this legal type - if tariff of the new device is not compatible with user's legal type.
226 – Wrong ICCID - if specified ICCID was not found.
266 – Cannot perform action for the device in current status: if the device is not activated yet
apn_password
The password of GPRS APN of the sim card inserted into device.
string
"tmobile"
214 – Requested operation or parameters are not supported by the device - if device does not have GSM module.
242 – Device already connected - if tracker connected to the server.
266 – Cannot perform action for the device in current status: if the old device is not activated yet
tracker_id
ID of the tracker (aka "object_id")
int
999199
labels
Optional. List of tracker label filters. If specified, only trackers that labels contains any of the given filter will be returned.
string array
["aa", "b"]
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
999119
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
999119
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
999199
phone
The phone number of the sim card inserted into device in international format without "+" sign.
string
"6156680000"
apn_name
The name of GPRS APN of the sim card inserted into device. Max length 40.
string
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
999119
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
999119
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
999119
trackers
IDs of the trackers (aka "object_id"). Each tracker must belong to authorized user and not be blocked.
int array
[999199, 999919]
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
999119
trackers
IDs of the trackers (aka "object_id"). Each tracker must belong to authorized user and not be blocked.
int array
[999199, 999919]
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
tracker_output
Output info object containing number and title.
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
999119
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
999119
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
999119
trackers
The ID of trackers (also called "object_id" or "tracker_id"). Trackers must belong to an authorized user and must not be blocked. There is a limit of 2000 trackers per request. If you have more than 2000 devices, please split them into separate requests.
int array
[999119, 999199]
list_blocked
Optional. If true call returns list of blocked tracker IDs instead of error 208. Default is false.
boolean
true/false
allow_not_exist
Optional. If true call returns list of nonexistent tracker IDs instead of error 217 or 201. Default is false.
boolean
compact_view
Optional. true to compact view. Default is false.
boolean
true/false
compact_index
Optional. true to compact view the indexed inputs: returns only input with max index. Default is false, but this value is deprecated.
boolean
true/false
codes
Optional. Array of model codes. If passed only given models will be returned.
string array
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
999119
tag_bindings
List of tag_binding objects.
array of Json objects
[{"tag_id" : 1, "ordinal" : 1}, {"tag_id" : 2, "ordinal" : 2}]
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
999119
type
Optional. Default type sms.
"sms"
label
User-defined label for this tracker. Must consist of printable characters and have length between 1 and 60.
string
"Courier"
group_id
Tracker group ID, 0 if tracker does not belong to any group. The specified group must exist. See group/list.
int
0
model
A code of one of the supported models. See tracker/list_models.
string
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
999119
device_id
Optional. Device ID that was used to register, e.g. IMEI. It can be used instead of tracker_id for models with a fixed ID.
string
"4568005588562"
apn_name
The name of GPRS APN of this sim card inserted into device. Max length 40.
string
label
User-defined label for this tracker. Must consist of printable characters and have length between 1 and 60.
string
"Courier"
group_id
Tracker group ID, 0 if tracker does not belong to any group. The specified group must exist. See group/list.
int
0
imei
Tracker's IMEI.
string
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
model
A code of one of the supported models. See tracker/list_models.
string
"pt10"
device_id
Must be specified if device model uses fixed device ID. See tracker/list_models.
string
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
imei
IMEI of the new device
string
"35645587458999"
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
999119
apn_name
The name of GPRS APN of this sim card inserted into device.
string
"fast.tmobile.com"
apn_user
The user of GPRS APN of this sim card inserted into device.
string
jointech_lock_password
electronic_lock_command, set_special_settings_command
hhd_lock_password
electronic_lock_command, set_special_settings_command
vg_lock_password
electronic_lock_command, set_special_settings_command
any other special control
set_special_settings_command
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
999119
command
Command that will be sent to device. Not Null.
JSON object
See format above
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
command
Text or hexadecimal representation of the command.
string
type
Optional. text or hex format. Default is text.
string
reliable
Optional. false if the command does not need to be resent when the device is disconnected or if no acknowledgment is received. Default is true.
boolean
"fast.tmobile.com"
true/false
[model_1, model_2, ...]
"pt10"
"fast.tmobile.com"
"35645587458999"
"4568005588562"
"tmobile"
{
"number": 1,
"title": "OUT1"
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/read' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "tracker_id": 123456}'https://api.eu.navixy.com/v2/tracker/read?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=123456{
"success": true,
"value": {
"id": 123456,
"label": "Object 1",
"group_id": 0,
"source": {
"id": 10021901,
"device_id": "123456789009876",
"model": "atrack_ak11",
"blocked": false,
"tariff_id": 1294,
"phone": "79161234533",
"status_listing_id": null,
"creation_date": "2021-09-20",
"tariff_end_date": "2021-09-24"
},
"tag_bindings": [],
"clone": false
}
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/list' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3"}'https://api.eu.navixy.com/v2/tracker/list?hash=a6aa75587e5c59c32d347da438505fc3{
"success": true,
"list": [
{
"id": 123456,
"label": "tracker label",
"clone": false,
"group_id": 167,
"avatar_file_name": "file name",
"source": {
"id": 234567,
"device_id": 9999999988888,
"model": "telfmb920",
"blocked": false,
"tariff_id": 345678,
"status_listing_id": null,
"creation_date": "2011-09-21",
"tariff_end_date": "2016-03-24",
"phone": "+71234567890"
},
"tag_bindings": [
{
"tag_id": 456789,
"ordinal": 4
}
]
}
]
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/corrupt' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "tracker_id": 265489}'https://api.eu.navixy.com/v2/tracker/corrupt?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=265489{
"success": true
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/delete' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "tracker_id": 265489}'https://api.eu.navixy.com/v2/tracker/delete?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=265489{
"success": true
}{
"success": false,
"status": {
"code": 203,
"description": "Delete entity associated with"
},
"rules": [10]
}{
"success": false,
"status": {
"code": 203,
"description": "Delete entity associated with"
},
"vehicles": [11]
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/change_phone' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "tracker_id": 265489, "phone": "6156680000", "apn_name": "fast.tmobile.com", "apn_user": "tmobile", "apn_password": "tmobile"}'{
"success": true
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/get_diagnostics' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "tracker_id": 265489}'https://api.eu.navixy.com/v2/tracker/get_diagnostics?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=265489{
"success": true,
"user_time": "2021-05-20 13:49:09",
"inputs": [
{
"label": "OBD: RPM",
"units": "",
"name": " obd_rpm",
"type": "rpm",
"value": 889.0,
"units_type": "custom",
"converted_units_type": null,
"converted_value": null
}
],
"states": {
"obd_vin": "123",
"obd_mil_status": "0"
},
"update_time": "2021-05-20 13:48:02"
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/get_fuel' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "tracker_id": 265489}'https://api.eu.navixy.com/v2/tracker/get_fuel?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=265489{
"success": true,
"user_time": "2021-05-20 13:49:09",
"inputs": [
{
"label": "Sensor #1",
"name": "can_fuel",
"type": "fuel",
"value": 100.0,
"units_type": "litre",
"units": "litres",
"converted_units_type": null,
"converted_value": null
}
],
"update_time": "2021-05-20 13:48:02"
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/get_inputs' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "tracker_id": 265489}'https://api.eu.navixy.com/v2/tracker/get_inputs?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=265489{
"success": true,
"user_time": "2021-05-20 13:49:09",
"inputs": [true, true, false],
"states": [
{
"type": "ignition",
"name": "DIN1",
"status": true,
"input_number": 1
}
],
"update_time": "2021-05-20 13:48:02"
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/batch_get_inputs' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "trackers": [265489]}'https://api.eu.navixy.com/v2/tracker/batch_get_inputs?hash=a6aa75587e5c59c32d347da438505fc3&trackers=[265489]{
"success": true,
"user_time": "2021-05-20 13:49:09",
"data": {
"265489": {<input info>}
}
}{
"inputs": [true, true, false],
"states": [
{
"type": "ignition",
"name": "DIN1",
"status": true,
"input_number": 1
}
],
"update_time": "2021-05-20 13:48:02"
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/get_outputs' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "tracker_id": 265489}'https://api.eu.navixy.com/v2/tracker/get_outputs?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=265489{
"success": true,
"result": [<output info>]
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/batch_get_outputs' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "trackers": [265489]}'https://api.eu.navixy.com/v2/tracker/batch_get_outputs?hash=a6aa75587e5c59c32d347da438505fc3&trackers=[265489]{
"success": true,
"result": {
"265489": [<output info>]
}
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/output/update' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "tracker_id": 265489, "tracker_output": {"number": 1, "title": "OUT1"}}'{
"success": true
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/get_last_gps_point' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "tracker_id": 265489}'https://api.eu.navixy.com/v2/tracker/get_last_gps_point?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=265489{
"success": true,
"value": {
"get_time": "2012-03-05 12:00:00",
"heading": 11,
"lat": 22.0,
"lng": 33.0,
"satellites": 5,
"speed": 20,
"precision": 100
}
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/get_readings' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "tracker_id": 265489}'https://api.eu.navixy.com/v2/tracker/get_readings?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=265489{
"success": true,
"user_time": "2021-05-20 13:49:09",
"inputs": [
{
"label": "Board voltage",
"units": "V",
"name": "board_voltage",
"type": "power",
"value": 13.562,
"units_type": "custom",
"converted_units_type": null,
"converted_value": null
}
],
"update_time": "2021-05-20 13:48:02"
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/get_state' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "tracker_id": 265489}'https://api.eu.navixy.com/v2/tracker/get_state?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=265489{
"user_time": "2022-08-31 13:47:13",
"state": {
"source_id": 545139,
"gps": {
"updated": "2022-08-31 13:47:09",
"signal_level": 100,
"location": {
"lat": 42.82769,
"lng": -78.26290833333333
},
"heading": 45,
"speed": 0,
"alt": 0
},
"connection_status": "active",
"movement_status": "parked",
"movement_status_update": "2022-08-31 13:40:44",
"ignition": false,
"ignition_update": "2022-08-31 13:40:44",
"gsm": {
"updated": "2022-08-31 13:47:09",
"signal_level": 100,
"network_name": "Mobile",
"roaming": false
},
"last_update": "2022-08-31 13:47:09",
"battery_level": 97,
"battery_update": "2022-08-31 13:47:09",
"inputs": [false, false, false],
"inputs_update": "2022-08-31 13:47:09",
"outputs": [true, false],
"outputs_update": "2022-08-31 13:47:09",
"additional": {
"hardware_key": {
"value": "20910998202956382057",
"updated": "2022-08-31 10:47:09"
}
},
"actual_track_update": "2022-08-31 13:40:44"
},
"success": true
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/get_states' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "trackers": [1234567, 888999, 111333], "allow_not_exist": true, "list_blocked": true}'{
"user_time": "2024-08-01 13:45:23",
"states": {
"1234567": {
"source_id": 227676,
"gps": {
"updated": "2024-08-01 13:45:18",
"signal_level": 100,
"location": {
"lat": 45.0888968,
"lng": 10.0343262
},
"heading": 304,
"speed": 64,
"alt": 270
},
"connection_status": "active",
"movement_status": "moving",
"movement_status_update": "2024-08-01 13:38:55",
"ignition": true,
"ignition_update": "2024-08-01 13:37:34",
"last_update": "2024-08-01 13:45:23",
"gsm": {
"updated": "2024-08-01 13:45:18",
"signal_level": 35,
"network_name": "T-Mobile",
"roaming": null
},
"battery_level": 100,
"battery_update": "2024-08-01 13:45:18",
"inputs": [
false,
false,
true
],
"inputs_update": "2024-08-01 13:45:18",
"outputs": [
true,
false
],
"outputs_update": "2024-08-01 13:45:18",
"additional": {
"moving": {
"value": "1",
"updated": "2024-08-01 13:45:18"
},
"status": {
"value": "82961756",
"updated": "2024-08-01 13:45:18"
}
},
"actual_track_update": "2024-08-01 13:38:55"
}
},
"blocked": [
888999
],
"not_exist": [
111333
],
"success": true
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/list_models' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "compact_index": true}'https://api.eu.navixy.com/v2/tracker/list_models?hash=a6aa75587e5c59c32d347da438505fc3{
"id": 2450,
"vendor": "Navixy",
"code": "navixy_ngp",
"parent_code": null,
"type": "vehicle",
"name": "Navixy Generic Protocol",
"id_type": "ascii,6,64",
"has_phone": false,
"has_apn_settings": false,
"register": true,
"has_auto_registration": false,
"port": null,
"battery": {
"min_charge": 0.0,
"low_charge": 0.1,
"max_charge": 1.0
},
"altitude": true,
"satellites": true,
"gsm_level": true,
"gsm_network": true,
"gsm_roaming": true,
"has_detach_button": false,
"has_fuel_input": true,
"analog_inputs": 32,
"digital_inputs": 8,
"digital_outputs": 8,
"rs232_inputs": 0,
"track_control": "none",
"output_control": "default",
"special_control": "none",
"rules": [
"speedup",
"inoutzone",
"route",
"offline",
"track_change",
"sensor_range",
"driver_change",
"task_status_change",
"fuel_level_leap",
"distance_control",
"excessive_driving",
"excessive_parking",
"state_field_control",
"sos",
"input_change",
"output_change",
"idling_soft"
],
"inputs": [
"analog_32",
"board_voltage",
"ext_temp_sensor_32",
"humidity_32",
"hw_mileage",
"lls_level_32",
"lls_temperature_32",
"temp_sensor"
],
"state_fields": [
"event_id",
"hardware_key",
"moving",
"obd_vin"
],
"special_settings": [
"none"
],
"sms_control": [],
"connection": [
{
"protocol": "NGP",
"transport": "HTTPS",
"url": "https://ngp-tracker.example.com"
}, {
"protocol": "NGP",
"transport": "MQTTS",
"url": "mqtts://ngp_device:[email protected]:8883/ngp",
"description": "Credentials for connection: login: ngp_device, password: secretword, topic: ngp.#"
}
],
"has_led_control": false,
"has_location_request": false,
"has_gprs_location_request": false,
"has_gsm_lbs_location_request": false,
"has_chat": false,
"has_custom_fields": true,
"has_odometer": true,
"has_lbs": true,
"has_motion_sensor": true,
"has_hardware_key": true,
"register_fields": []
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/tags/set' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "tracker_id": 123456, "tag_bindings": "[{"tag_id" : 1, "ordinal" : 1}, {"tag_id" : 2, "ordinal" : 2}]"}'{
"success": true
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/location_request' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "tracker_id": 123456}'https://api.eu.navixy.com/v2/tracker/location_request?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=123456{
"success": true
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/register' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "label": "Courier", "group_id": 0, "plugin_id": 37, "model": "qlgv55lite", "phone": "79123122312", "activation_code": "123123123", "device_id": "123451234512346", "apn_name": "fast.tmobile.com", "apn_user": "tmobile", "apn_password": "tmobile"}'https://api.eu.navixy.com/v2/tracker/register?hash=a6aa75587e5c59c32d347da438505fc3&label=Courier&group_id=0&plugin_id=37&model=qlgv55lite&phone=79123122312&activation_code=123123123&device_id=123451234512346&apn_name=fast.tmobile.com&apn_user=tmobile&apn_password=tmobile{
"success": true,
"value": {
"id": 833389,
"label": "Courier",
"group_id": 0,
"source": {
"id": 526383,
"device_id": "123451234512346",
"model": "qlgv55lite",
"blocked": false,
"tariff_id": 12163,
"phone": "79123122312",
"status_listing_id": null,
"creation_date": "2021-06-03",
"tariff_end_date": "2021-06-17"
},
"clone": false
}
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/register_retry' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "tracker_id": 999119, "apn_name": "fast.tmobile.com", "apn_user": "tmobile", "apn_password": "tmobile", "send_register_commands": true}'https://api.eu.navixy.com/v2/tracker/register_retry?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=999119&apn_name=fast.tmobile.com&apn_user=tmobile&apn_password=tmobile&send_register_commands=true{
"success": true,
"value": {
"id": 123456,
"label": "tracker label",
"clone": false,
"group_id": 167,
"avatar_file_name": "file name",
"source": {
"id": 234567,
"device_id": 9999999988888,
"model": "telfmb920",
"blocked": false,
"tariff_id": 345678,
"status_listing_id": null,
"creation_date": "2011-09-21",
"tariff_end_date": "2016-03-24",
"phone": "+71234567890"
},
"tag_bindings": [
{
"tag_id": 456789,
"ordinal": 4
}
]
}
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/register_quick' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "label": "Courier", "group_id": 0, "imei": "35645587458999"}'https://api.eu.navixy.com/v2/tracker/register_quick?hash=a6aa75587e5c59c32d347da438505fc3&label=Courier&group_id=0&imei=35645587458999{
"success": true,
"value": {
"id": 123456,
"label": "tracker label",
"clone": false,
"group_id": 167,
"avatar_file_name": "file name",
"source": {
"id": 234567,
"device_id": 9999999988888,
"model": "telfmb920",
"blocked": false,
"tariff_id": 345678,
"status_listing_id": null,
"creation_date": "2011-09-21",
"tariff_end_date": "2016-03-24",
"phone": "71234567890"
},
"tag_bindings": [
{
"tag_id": 456789,
"ordinal": 4
}
]
}
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/replace' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "tracker_id": 123456, "plugin_id": 37, "model": "qlgv55lite", "phone": "79123122312", "device_id": "123451234512346", "apn_name": "fast.tmobile.com", "apn_user": "tmobile", "apn_password": "tmobile"}'https://api.eu.navixy.com/v2/tracker/replace?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=123456&plugin_id=37&model=qlgv55lite&phone=79123122312&device_id=123451234512346&apn_name=fast.tmobile.com&apn_user=tmobile&apn_password=tmobile{
"success": true,
"value": {
"id": 833389,
"label": "Courier",
"group_id": 0,
"source": {
"id": 526383,
"device_id": "123451234512346",
"model": "qlgv55lite",
"blocked": false,
"tariff_id": 12163,
"phone": "79123122312",
"status_listing_id": null,
"creation_date": "2021-06-03",
"tariff_end_date": "2021-06-17"
},
"clone": false
}
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/replace_quick' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "tracker_id": 123456, "imei": "35645587458999"}'https://api.eu.navixy.com/v2/tracker/replace_quick?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=123456&imei=35645587458999{
"success": true,
"value": {
"id": 123456,
"label": "tracker label",
"clone": false,
"group_id": 167,
"avatar_file_name": "file name",
"source": {
"id": 234567,
"device_id": 9999999988888,
"model": "telfmb920",
"blocked": false,
"tariff_id": 345678,
"status_listing_id": null,
"creation_date": "2011-09-21",
"tariff_end_date": "2016-03-24",
"phone": "71234567890"
},
"tag_bindings": [
{
"tag_id": 456789,
"ordinal": 4
}
]
}
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/register_retry' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "tracker_id": 999119, "apn_name": "fast.tmobile.com", "apn_user": "tmobile", "apn_password": "tmobile"}'https://api.eu.navixy.com/v2/tracker/register_retry?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=999119&apn_name=fast.tmobile.com&apn_user=tmobile&apn_password=tmobile{
"success": true,
"value": {
"id": 123456,
"label": "tracker label",
"clone": false,
"group_id": 167,
"avatar_file_name": "file name",
"source": {
"id": 234567,
"device_id": 9999999988888,
"model": "telfmb920",
"blocked": false,
"tariff_id": 345678,
"status_listing_id": null,
"creation_date": "2011-09-21",
"tariff_end_date": "2016-03-24",
"phone": "+71234567890"
},
"tag_bindings": [
{
"tag_id": 456789,
"ordinal": 4
}
]
}
}{
"command": {
"name": "command name",
"some_parameter1": 12,
"some_parameter2": "parameter",
"special_settings": {
"type": "settings type",
"some_field1": 10,
"some_field2": 32
}
}
}{
"name": "electronic_lock_command",
"command_code": "unseal",
"special_settings": {<special settings JSON object>}
}{
"name": "set_special_settings_command",
"special_settings": {<special settings JSON object>}
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/send_command' \
-H 'Content-Type: application/json' \
-d '"hash": "a6aa75587e5c59c32d347da438505fc3", "tracker_id": 999119, "command": {name: "electronic_lock_command", command_code: "unseal", special_settings:{"type":"electronic_lock_password", "password": "345892", "remember_password": true}}}'{
"success": true,
"list": [
{
"id": 123456,
"label": "tracker label",
"clone": false,
"group_id": 167,
"avatar_file_name": "file name",
"source": {
"id": 234567,
"device_id": 1234567890,
"model": "telfmb920",
"blocked": false,
"tariff_id": 345678,
"status_listing_id": null,
"creation_date": "2011-09-21",
"tariff_end_date": "2016-03-24",
"phone": "+71234567890"
},
"tag_bindings": [
{
"tag_id": 456789,
"ordinal": 4
}
]
}
]
}curl -X POST 'https://api.eu.navixy.com/v2/tracker/raw_command/send' \
-H 'Content-Type: application/json' \
-d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "tracker_id": 265489, "command": "AT+GTRTO=gv200,A,,,,,,0001$", "type": "text"}'{
"success": true
}{
"success": false,
"status": {
"code": 7,
"description": "Invalid parameters"
},
"errors": [
{
"parameter": "command",
"error": "Non-hex string"
}
]
}Rule types with all parameters to create. The rule availability depends on the device, connected and configured equipment and rule integration for it.
A rule that triggers on device entering/exiting created on platform geofences.
A rule that triggers on detection of parking state calculated based on .
A rule that triggers on speed exceeding determined by hardware. Based on the configs on the device side.
A rule that triggers on speed exceeding determined by the platform. Based on received speed from device.
A rule that triggers on deviations from the route. Only the geofence may be assigned.
A rule that triggers when your employee drives more than allowed. The driving time is calculated based on .
A rule that triggers when your employee standstill more than allowed. The parking time is calculated based on .
A rule that triggers when assigned to a tracker changes its status.
A rule that triggers when tracker changes. Choose specific status IDs from a currently assigned to tracker .
A rule that triggers on excessive idling registered by hardware. Based on the configs on the device side.
A rule that triggers on excessive idling registered by the platform. The idling time is calculated based on and ignition state.
Rule triggered by a drastic change in fuel level. A drastic change is when the fuel level changes faster than the accuracy of the sensor in a span of ten minutes.
A rule that triggers on harsh driving. Based on the configs on the device side.
A rule that triggers on warnings from driver-assistance systems (ADAS). Detected by camera and based on the configs on the device side.
A rule that triggers on auto geofencing. When a car's ignition is off, and it outs the automatically created radius around it.
Autocontrol related tracked rules like alarm, battery, doors and others. Based on the configs on the device side.
A rule that triggers when device's sensors detect car crash. Based on the configs on the device side.
A rule that triggers when a device provides cruise control switching event. Based on the configs on the device side.
A rule that triggers a change in distance between objects. The distance is measured by the last valid GPS coordinates between chosen objects.
A rule that triggers when driver lefts or enters cabin. Detected by camera and based on the configs on the device side.
A rule that triggers on driver change automatically by the key or manually in widget with driver from a .
A rule that triggers when driver distracts from the road. Detected by camera and based on the configs on the device side.
A rule that triggers when g-sensor or accelerometer detects falling.
A rule that triggers on fatigue driving. Detected by camera and based on the configs on the device side.
A rule that triggers on a driver identification with help of RFID, iButton or Camera. Based on the configs on the device side.
A rule that triggers when the device does not detect motion for longer than the time set in its settings. Based on the configs on the device side.
A rule that triggers on SOS button pressing. Based on the configs on the device side.
A rule that triggers on social distancing violation. Similar to distance between objects but related based on the configs on the device side.
A rule that triggers on unauthorized movement detected by accelerometer when ignition is off. Based on the configs on the device side.
A rule that triggers on backup battery low. Based on the configs on the device side.
A rule that triggers on bracelet sensor opening/closing. Based on the configs on the device side.
A rule that triggers on call button pressing. Based on the configs on the device side.
A rule that triggers on car alarm. Based on the configs on the device side.
A rule that triggers on case intrusion. Based on the configs on the device side.
A rule that triggers on check engine (MIL) events. Based on the configs on the device side.
A rule that triggers on connection/disconnection to the OBD2 port. Based on the configs on the device side.
A rule that triggers on door opening in alarm mode. Based on the configs on the device side.
A rule that triggers on connection/disconnection of an external device. Based on the configs on the device side.
A rule that triggers when device disconnects from car's battery. Based on the configs on the device side.
A rule that triggers on GPS antenna disconnect. Based on the configs on the device side.
A rule that triggers when device determines GPS jamming. Based on the configs on the device side.
A rule that triggers on GPS signal lost/recover. Based on the configs on the device side.
A rule that triggers on GSM jamming. Based on the configs on the device side.
A rule that triggers on hood opening in alarm mode. Based on the configs on the device side.
A rule that triggers on ignition start in alarm mode. This rule is not related to usual ignition status change. Based on the configs on the device side.
A rule that triggers on when light sensor detects bright/dark environment. Based on the configs on the device side.
A rule that triggers on location requests.
A rule that triggers on locking/unlocking(padlock). Based on the configs on the device side.
A rule that triggers on low internal battery. Based on the device's battery voltage and value specified for the model on the platform.
A rule that triggers on padlock tampering. Based on the configs on the device side.
A rule that triggers when someone detach tracker from the object. Based on the configs on the device side.
A rule that triggers on tracker switch ON/OFF. Based on the configs on the device side.
A rule that triggers when tracker loses connection with the server - gets red offline status and keeps it for X minutes.
A rule that triggers on tracker switch ON. Based on the configs on the device side.
A rule that triggers when vibration sensor determines vibration. Based on the configs on the device side.
A rule that triggers when the input state changes.
A rule that triggers when the output state changes.
A rule that triggers when value of a chosen measurement sensor gets into or out of specified range. One rule per one sensor and device.
Example:
A rule that triggers when specified value of a chosen state field sensor detected.
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
tracker_params
An optional object. Specifies a list of sensors to be tracked in the rule, including for different trackers.
JSON object
peds_collision_warning_enabled
If true peds collision warning works. It is for peds_collision_warning event type.
boolean
traffic_sign_recognition_enabled
If true traffic sign recognition works. It is for tsr_warning event type.
boolean
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
ignition
Ignition. It is for ignition event type. Described below.
JSON object
parking
Unauthorized movement. It is for parking event type. Described below.
JSON object
gsm_damp
GSM-signal dumping (low signal level). It is for gsm_damp event type. Described below.
JSON object
security_control
Switching ON/OFF security mode. It is for security_control event type. Described below.
JSON object
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
display_value
Show or not the sensor value in a notification text. Default is: true.
boolean
tracker_params
An optional object. Specifies a list of parameters to be tracked in the rule, including for different trackers.
JSON object
virtual_sensor_id
ID of virtual sensor. Only specified if state_field and tracker_params are not specified.
int
display_value
Show or not the sensor value in a notification text. Default is: false.
boolean
tracker_params
An optional object. Specifies a list of parameters to be tracked in the rule, including for different trackers.
JSON object
type
inoutzone for this rule type.
primary_text
Text of rule notification on entering geofence. It is for inzone event type.
string
secondary_text
Text of rule notification on exiting geofence. It is for outzone event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
append_zone_title
Show or not the zone labels in a notification text.
boolean
type
track_change for this rule type.
primary_text
Text of rule notification on parking start. It is for track_end event type.
string
secondary_text
Text of rule notification on parking end. It is for track_start event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
type
over_speed_reported for this rule type.
primary_text
Text of rule notification when speeding detected. It is for over_speed_reported event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
speedup for this rule type.
param
Speed limit. It is for speedup event type.
int
primary_text
Text of rule notification when speed exceeds the specified param value.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
route for this rule type.
primary_text
Text of rule notification when device outs the route zone. It is for outroute event type.
string
allow_exit_at_endpoints
If true disables notifications on deviations from the start and end points of a route.
boolean
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
append_zone_title
Show or not the zone labels in a notification text.
boolean
type
excessive_driving for this rule type.
primary_text
Text of rule notification when driving time exceeded. It is for excessive_driving_start event type.
string
secondary_text
Text of rule notification on driving time exceeding end. It is for excessive_driving_end event type.
string
max_driving_time
Allowed driving time. How much time your employee can drive a car
int
min_parking_time
Minimum parking time to reset the timer. How much time your employee must wait until he can continue driving
int
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
type
excessive_parking for this rule type.
primary_text
Text of rule notification when parking time exceeded. It is for excessive_parking event type.
string
secondary_text
Text of rule notification on parking time exceeding end. It is for excessive_parking_finished event type.
string
max_parking_duration
Allowed parking time. How much time a car can standstill
int
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
type
task_status_change for this rule type.
primary_text
Text of rule notification when task changes its status to a chosen one or form is submitted or resubmitted.
string
statuses
List of tracked statuses. Possible statuses are "arrived", "done","delayed", "failed".
string array
on_form_submission
If true form submission will track.
boolean
on_repeated_form_submission
If true form resubmission will track.
boolean
emergency
If true enables emergency notification.
boolean
type
work_status_change for this rule type.
primary_text
Text of rule notification when work status changes to a chosen one. It is for work_status_change event type.
string
status_ids
List of tracked status IDs. Choose specific status IDs from a currently assigned to tracker status listing.
int array
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
type
idling for this rule type.
primary_text
Text of rule notification when excessive idling detected by device.
string
secondary_text
Text of rule notification when excessive idling end detected by a device.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
idling_soft for this rule type.
primary_text
Text of rule notification when excessive idling detected by platform. It is for idle_start event type.
string
secondary_text
Text of rule notification when excessive idling end detected by platform. It is for idle_end event type.
string
param
Idle duration to send notification.
int
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
fuel_level_leap for this rule type.
primary_text
Text of rule notification on drastically fuel level increase. It is for fueling event type.
string
secondary_text
Text of rule notification on drastically fuel level decrease. It is for drain event type.
string
sensor_id
ID of tracked sensor. Should be a fuel level sensor. Only specified if tracker_params is not specified.
int
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
display_value
Show or not the fuel level in a notification text. Default is: false.
boolean
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
sensor_id
ID of tracked sensor. Should be a fuel level sensor.
int
type
harsh_driving for this rule type.
primary_text
Text of rule notification when device detects harsh driving. It is for harsh_driving event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
driver_assistance for this rule type.
primary_text
Text of rule notification when device detects some of chosen ADAS events.
string
lane_departure_enabled
If true lane departure tracked. It is for lane_departure event type.
boolean
forward_collision_enabled
If true forward collision tracked. It is for forward_collision_warning event type.
boolean
headway_warning_enabled
If true headway warning tracked. It is for headway_warning event type.
boolean
peds_in_danger_zone_enabled
If true peds in danger zone tracked. It is for peds_in_danger_zone event type.
boolean
type
auto_geofence for this rule type.
primary_text
Text of rule notification when device outs automatically created geofence around it. It is for auto_geofence_out event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
autocontrol for this rule type.
primary_text
Text of rule notification when device determines one of chosen autocontrol related rules.
string
alarmcontrol
Activation of car alarms. It is for alarmcontrol event type. Described below.
JSON object
battery_off
Disabling of external power supply. It is for battery_off event type. Described below.
JSON object
door_alarm
Opening doors/trunk. It is for door_alarm event type. Described below.
JSON object
hood_alarm
Opening hood. It is for hood_alarm event type. Described below.
JSON object
type
crash_alarm for this rule type.
primary_text
Text of rule notification when device determines crash by its accelerometer. It is for crash_alarm event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
cruise_control for this rule type.
primary_text
Text of rule notification when cruise control switch on. It is for cruise_control_on event type.
string
secondary_text
Text of rule notification when cruise control switch off. It is for cruise_control_off event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
distance_control for this rule type.
primary_text
Text of rule notification when distance is breached. It is for distance_breached event type.
string
secondary_text
Text of rule notification when distance is restored. It is for distance_restored event type.
string
observed_trackers
List of observed tracker IDs.
int array
control_type
Type of distance control. One of ["moving_away", "approaching"].
control_distance_meters
Distance for control in meters.
int
emergency
If true enables emergency notification.
boolean
type
driver_enter_absence for this rule type.
primary_text
Text of rule notification when driver lefts a cabin. It is for driver_absence event type.
string
secondary_text
Text of rule notification when driver enters a cabin. It is for driver_enter event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
driver_change for this rule type.
primary_text
Text of rule notification when a new driver assigned to a device. It is for driver_changed event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
driver_distraction for this rule type.
primary_text
Text of rule notification when driver distraction detected. It is for driver_distraction_started event type.
string
secondary_text
Text of rule notification when driver distraction ends. It is for driver_distraction_finished event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
g_sensor for this rule type.
primary_text
Text of rule notification when g-sensor detects falling. It is for g_sensor event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
fatigue_driving for this rule type.
primary_text
Text of rule notification when fatigue driving is detected. It is for fatigue_driving event type.
string
secondary_text
Text of rule notification when fatigue driving ends. It is for fatigue_driving_finished event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
driver_identification for this rule type.
primary_text
Text of rule notification when the driver tag has been identified. It is for driver_identified event type.
string
secondary_text
Text of rule notification when the driver tag was not identified. It is for driver_not_identified event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
no_movement for this rule type.
primary_text
Text of rule notification when a device does not detect motion for longer than the time set in its settings. It is for no_movement event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
sos for this rule type.
primary_text
Text of rule notification when SOS button pressed. It is for sos event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
proximity_violation for this rule type.
primary_text
Text of rule notification when safety distance breached. It is for proximity_violation_start event type.
string
secondary_text
Text of rule notification when safety distance restored. It is for proximity_violation_end event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
parking for this rule type.
primary_text
Text of rule notification when movement detected by device's accelerometer. It is for parking event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
backup_battery_low for this rule type.
primary_text
Text of rule notification when backup battery charge is low. It is for backup_battery_low event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
bracelet for this rule type.
primary_text
Text of rule notification when bracelet opened. It is for bracelet_open event type.
string
secondary_text
Text of rule notification when bracelet closed. It is for bracelet_close event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
call_button_pressed for this rule type.
primary_text
Text of rule notification when call button pressed. It is for call_button_pressed event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
alarmcontrol for this rule type.
primary_text
Text of rule notification when car alarm triggers. It is for alarmcontrol event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
case_intrusion for this rule type.
primary_text
Text of rule notification when device determines case intrusion. It is for case_opened event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
check_engine_light for this rule type.
primary_text
Text of rule notification when check engine (MIL) detected by a device. It is for check_engine_light event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
obd_plug_unplug for this rule type.
primary_text
Text of rule notification when device connected to OBDII port. It is for obd_plug_in event type.
string
secondary_text
Text of rule notification when device disconnected from OBDII port. It is for obd_unplug event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
door_alarm for this rule type.
primary_text
Text of rule notification when door opens in alarm mode. It is for door_alarm event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
external_device_connection for this rule type.
primary_text
Text of rule notification when external device connected to tracker. It is for external_device_connected event type.
string
secondary_text
Text of rule notification when external device disconnected from tracker. It is for external_device_disconnected event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
battery_off for this rule type.
primary_text
Text of rule notification when external power disconnects. It is for battery_off event type.
string
secondary_text
Text of rule notification when external power connects. It is for battery_on event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
antenna_disconnect for this rule type.
primary_text
Text of rule notification when device determines GPS antenna disconnection. It is for antenna_disconnect event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
gps_damp for this rule type.
primary_text
Text of rule notification when device determines GPS jamming. It is for gps_damp event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
gps_lost_recover for this rule type.
primary_text
Text of rule notification when GPS signal lost. It is for gps_lost event type.
string
secondary_text
Text of rule notification when GPS signal recovers. It is for gps_recover event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
gsm_damp for this rule type.
primary_text
Text of rule notification when device determines GSM jamming. It is for gsm_damp event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
hood_alarm for this rule type.
primary_text
Text of rule notification when hood opens in alarm mode. It is for hood_alarm event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
ignition for this rule type.
primary_text
Text of rule notification when ignition starts in alarm mode. It is for ignition event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
light_sensor for this rule type.
primary_text
Text of rule notification when environment bright. It is for light_sensor_bright event type.
string
secondary_text
Text of rule notification when environment dark. It is for light_sensor_dark event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
location_response for this rule type.
primary_text
Text of rule notification when location is requested manually from device. It is for location_response event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
locking_unlocking for this rule type.
primary_text
Text of rule notification when lock opens. It is for lock_opened event type.
string
secondary_text
Text of rule notification when lock closes. It is for lock_closed event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
lowpower for this rule type.
primary_text
Text of rule notification when device's battery charge is low. It is for lowpower event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
strap_bolt for this rule type.
primary_text
Text of rule notification when padlock has been forced. It is for strap_bolt_cut event type.
string
secondary_text
Text of rule notification when padlock has been installed. It is for strap_bolt_ins event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
detach for this rule type.
primary_text
Text of rule notification when device determines detach from the object. It is for detach event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
on_off for this rule type.
primary_text
Text of rule notification when tracker switched off. It is for poweroff event type.
string
secondary_text
Text of rule notification when tracker switched on. It is for poweron event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
offline for this rule type.
primary_text
Text of rule notification when tracker switched off or lost connection. It is for gps_lost event type.
string
secondary_text
Text of rule notification when tracker switched on or connection restored. It is for gps_recover event type.
string
param
Offline time to notification in minutes.
int
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
type
poweron for this rule type.
primary_text
Text of rule notification when tracker switches on. It is for poweroff event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
vibration for this rule type.
primary_text
Text of rule notification when vibration starts. It is for vibration_start event type.
string
secondary_text
Text of rule notification when vibration ends. It is for vibration_end event type.
string
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
input_change for this rule type. Both events for switch on/off will have input_change event type.
primary_text
Text of rule notification when input switches on.
string
secondary_text
Text of rule notification when input switches off.
string
param
Discrete input number.
int
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
output_change for this rule type. Both events for switch on/off will have output_change event type.
primary_text
Text of rule notification when output switches on.
string
secondary_text
Text of rule notification when output switches off.
string
param
Output number.
int
emergency
If true enables emergency notification.
boolean
private_rule
Affects only sub users. If true then the rule and notifications are visible only to sub user.
boolean
zone_limit_inverted
The rule tracked inside of zones if false or outside if true. Default is: false.
boolean
append_zone_title
Show or not the zone labels in a notification text. Must be null or false if the zone_limit_inverted param set to true.
boolean
type
sensor_range for this rule type.
primary_text
Text of rule notification when sensor value goes out range. It is for sensor_outrange event type.
string
secondary_text
Text of rule notification when sensor value goes into range. It is for sensor_inrange event type.
string
sensor_id
ID of a tracked sensor. Only specified if tracker_params is not specified.
int
threshold
A threshold for a sensor. If the parameter is omitted or null, the default value 0.03 is used. Ignored if tracker_params is specified.
double
min
A minimum range value. Ignored if tracker_params is specified.
double
max
A maximum range value. Ignored if tracker_params is specified.
double
sensor_id
ID of a tracked sensor.
int
threshold
A threshold for a sensor. If the parameter is omitted or null, the default value 0.03 is used.
double
min
A minimum range value.
double
max
A maximum range value.
double
type
state_field_control for this rule type.
primary_text
Text of rule notification when state field determines chosen value. It is for state_field_control event type.
string
allow_repeat
Allows notification repeating even if state field value doesn't change.
bool
repeat_delay_seconds
How many seconds must pass with the same value before notification will be generated again.
int
trigger_value
Expected value to trigger the rule. Only specified if tracker_params is not specified.
string
state_field
State field code. Only specified if virtual_sensor_id and tracker_params are not specified.
tracker_id
ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.
int
trigger_value
Expected value to trigger the rule.
string
state_field
State field code. Only specified if virtual_sensor_id is not specified.
virtual_sensor_id
ID of virtual sensor. Only specified if state_field is not specified.
int
{
"tracker_params": [
{
"tracker_id": 10038820,
"sensor_id": 279421
},
{
"tracker_id": 10038821,
"sensor_id": 279422
}
]
}{
"alarmcontrol": {
"enabled": true,
"sms": false,
"call": false,
"email": true,
"push": true,
"always_notify": false
},
"battery_off": {
"enabled": true,
"sms": true,
"call": false,
"email": true,
"push": true
},
"door_alarm": {
"enabled": true,
"sms": false,
"call": false,
"email": true,
"push": true
},
"hood_alarm": {
"enabled": true,
"sms": false,
"call": false,
"email": true,
"push": true
},
"ignition": {
"enabled": true,
"sms": false,
"call": false,
"email": true,
"push": true
},
"parking": {
"enabled": true,
"sms": false,
"call": false,
"email": true,
"push": true
},
"gsm_damp": {
"enabled": true,
"sms": false,
"call": false,
"email": true,
"push": true
},
"security_control": {
"enabled": true,
"sms": false,
"call": false,
"email": true,
"push": true
}
}{
"tracker_params": [
{
"tracker_id": 10181445,
"trigger_value": "1",
"state_field": "ble_magnet_sensor_3"
}, {
"tracker_id": 10181446,
"trigger_value": "1",
"virtual_sensor_id": 21212
}
]
}{
"tracker_params": [
{
"tracker_id": 10181445,
"trigger_value": "1",
"state_field": "ble_magnet_sensor_3"
}, {
"tracker_id": 10181446,
"trigger_value": "1",
"virtual_sensor_id": 21212
}
]
}