Only this pageAll pages
Powered by GitBook
Couldn't generate the PDF for 251 pages, generation stopped at 100.
Extend with 50 more pages.
1 of 100

Navixy API

General information

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Platform API

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...

API automation tools

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.

Tools in this section:

  • 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.

Navixy Developer Documentation

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.

How to use this documentation

The documentation is organized into sections, each addressing a specific aspect of the Navixy platform:

Postman
Zapier
: Introduction, Navixy API Sandbox, No-code automation, and contribution guidelines.
  • 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.

  • Navigation

    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.

    Documentation structure

    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.

    API call descriptions

    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.

    API Limits

    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 API Sandbox

    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.

    Get involved

    Help improve the Navixy developer documentation or assist with language translations. Your contributions make the Navixy platform even better for the community.

    Navixy
    SquareGPS
    General

    Device management

    Fleet management

    Field service management

    Places

    Beacon

    Route

    Tracking

    Listing

    Settings

    Status

    Sensor

    Track

    Rules

    Command

    Special

    Resources

    Welcome to the Navixy API resources section. Here you'll find detailed information about all available resources.

    Waybill

    Rules and notifications

    Stats

    Translate Navixy

    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.

    Currently Supported Languages

    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.

    How to Become a Contributor

    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.

    Step 1: Get Access to Crowdin

    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.

    Step 2: Choose Your Translation Method

    There are two primary methods to localize the Navixy platform:

    1. Crowdin In-context Translation (Web UI Only)

    2. Crowdin UI Translation

    Crowdin In-context Translation (Web UI Only)

    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.

    Crowdin UI Translation

    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:

    1. Common Server properties, API server properties, Tracking server properties, SMS server properties: Translation strings for backend (mainly for reports, SMS, and email notifications).

    2. Future Web UI, Legacy Web UI: Translation strings for Navixy Web UI.

    3. 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.

    Contributing to New or Existing Languages

    Adding a New Language

    If you want to add a new language:

    1. Obtain a Crowdin account by contacting your manager.

    2. Use either the In-context translation method or the Crowdin UI to start translating.

    3. Notify your manager once the translation is complete. The development team will then add the new language to the platform.

    Improving Existing Translations

    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.

    Translation Delivery

    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.

    Changing Employee Statuses

    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.

    Create

    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.

    Example Request to Create a Working Status List

    Example Response

    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."

    Example Request to Add a Working Status

    Example Response

    Repeat the above request for each working status you need to add to the list.

    Assign

    To assign the working status list to devices, use the tracker_id and listing_id.

    Example Request to Assign a Status List to a Tracker

    Example Response

    Usage

    Once assigned, drivers and supervisors can change working statuses. Here are some use cases:

    1. 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."

    2. 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.

    Waybill settings

    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 actions

    API base path: track/waybill/settings/.

    read

    Gets last waybill number.

    Examples

    Response

    Errors

    • 201 - Not found in the database – if user have never downloaded a waybill.

    Tracker's working status list

    Contains API call which link together trackers and working status lists.

    Contains api call which link together trackers and working status lists.

    API actions

    API base path: /status/listing/tracker.

    Managing Geofences

    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.

    Geofence Creation

    To create a geofence, use the API call. There are several types of geofences, and the creation process varies between them.

    Guides and Examples

    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.

    Device Management

    • Learn how to activate a device on the Navixy platform to start tracking and monitoring.

    Contact Us

    Contact Navixy Team

    Need Assistance?

    If you have any questions or need support, our team is here to help. Reach out to us through any of the following methods:

    • Phone:

    Navixy platform API

    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.

    Avatar for the tracker

    Contains API call to upload avatar for the tracker.

    API actions

    API base path: /tracker/avatar.

    upload

    Datalogger

    API call for uploading datalogger information.

    API actions

    API base path: /tracker/datalogger.

    upload

    APN settings by tracker ID

    Contains API call to get APN settings by tracker ID.

    This resource contains API call to get APN settings by tracker ID. APN is short of Access Point Name and provides a device with the information needed to connect to wireless service.

    API actions

    API base path: /tracker/apn_settings.

    Contact

    API call to get user's trackers with special grouping by "contacts"

    Deprecated! This API action deprecated and should not be used.

    API actions

    API base path: /tracker/contact

    Crowdin

    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.

  • Tracking and Data Retrieval

    • 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.

    Geofences and Points of Interest

    • 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.

    Notifications and Rules

    • 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.

    Fleet Management

    • 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.

    Field Service Management

    • 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.

    Activating a Device

    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.

  • Raw IoT Data API
    Backend functionality

    Data retrieval

    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=a6aa75587e5c59c32d347da438505fc3
    assign

    Assigns a working status list (or remove assignment) to the tracker.

    required sub-user rights: tracker_update.

    Parameters

    name
    description
    type
    format

    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

    Examples

    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=12345

    Response

    Errors

    • 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 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.

    Circle Geofence

    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.

    Polygon Geofence

    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 Geofence

    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."

    Getting Geofence Name by a Tracker's Location

    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.

    zone/create
    Uploads avatar image for specified tracker. Then it will be available from 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

    Parameters

    name
    description
    type

    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

    Response

    • value - avatar file name.

    Errors

    • 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.

    Uploads track data for specified tracker. Tracker must be a datalogger.

    MUST be a POST multipart request (multipart/form-data), with one of the parts being a CSV file upload (with the name "file").

    Parameters

    name
    description
    type

    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

    Response

    Errors

    • 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.

    read

    Gets the APN name/user/password and mobile operator of device by a tracker_id.

    Parameters

    name
    description
    type
    format

    tracker_id

    ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.

    int

    999199

    Examples

    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=a6aa75587e5c59c32d347da438505fc3

    Response

    Errors

    • 201 – 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.

    .

    list

    Gets all user's trackers with special grouping by "contacts".

    Examples

    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=a6aa75587e5c59c32d347da438505fc3

    Response

    • contacts - 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.

    Errors

    • 201 – Not found in the database.

    cURL
    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
    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
    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
    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
    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
    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>}]
    }
    Email: [email protected]

    Stay Connected

    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.

    Call Us

    Working with Notifications

    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.

    Obtain a List of History Entries

    All Unread Events of a User

    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:

    Events for Specific Trackers and Time Period

    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.

    Required Parameters

    • 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.

    Optional Parameters

    • 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.

    All Events of a User for a Specific Time Period

    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.

    Required Parameters

    • from: A string containing the start for the search.

    • to: A string containing the end for the search. Must be after the from date.

    Optional Parameters

    • 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.

    Alarm mode for tracker

    Contains API calls to read and set alarm mode of device.

    API actions

    API base path: /tracker/alarm_mode.

    read

    Gets the state of alarm mode of device.

    Parameters

    name
    description
    type
    format

    Examples

    Response

    • enabled - true if alarm mode enabled.

    Errors

    • 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.

    set

    Changes the state of alarm mode of device. The device must be online.

    Parameters

    name
    description
    type
    format

    Examples

    Response

    Errors

    • 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.

    Getting route

    API call for getting the route to destination point.

    API call for getting the route to destination point.

    API actions

    API path: /route.

    get

    Gets route points via specified route provider.

    Parameters

    name
    description
    type
    • location object described in .

    Example

    cURL

    Response

    • distance - int. Length in meters.

    • time - int. Duration in seconds.

    • list - list of route points. Location objects.

    Errors

    • 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.

    Unconfirmed commands

    API calls for to interact with unconfirmed SMS commands in the queue of the specified tracker.

    API actions

    API path: /tracker/command/unconfirmed.

    count

    Gets number of commands in queue for the specified tracker.

    Parameters

    name
    description
    type
    format

    Examples

    Response

    • count - int. Number of unconfirmed commands in a queue.

    Errors

    • 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.

    reset

    Removes all pending SMS commands from the queue for the specified tracker.

    required sub-user rights: tracker_update.

    Parameters

    name
    description
    type
    format

    Examples

    Response

    Errors

    • 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.

    Sending Commands to a GPS Tracker via IP protocol (OTA)

    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.

    Sending a Command

    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.

    Example: Reconfiguring a Teltonika FMB140 Device

    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

    API Request

    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.

    Using Postman with Navixy

    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.

    Using Driver Journals

    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.

    Getting route with Progorod

    API call for getting the route to destination point using .

    API actions

    API path: /route/progorod.

    Engine immobilizer

    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 actions

    API base path: /tracker/engine_immobilizer.

    LBS settings

    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 actions

    API base path: /tracker/settings/lbs.

    Receiving Push Notifications in Your App

    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.

    Mobile Apps

    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:

    Tracker settings actions

    API calls to get and change tracker's label and group.

    API actions

    API base path: /tracker/settings.

    read

    Mobile app register

    API call to register a mobile application. Deprecated.

    Deprecated! This API action deprecated and should not be used.

    API call to register a mobile application. Use with plugin_id 35.

    Trusted number

    API calls to interact with list of trusted numbers for trackers.

    API actions

    API base path: /tracker/trusted_number.

    list

    Instagram
    YouTube
    .
    .
    history/unread/list
    date/time
    information
    history/tracker/list
    list of tracker IDs
    date/time
    date/time
    tracker/history/type
    history entries
    history/user/list
    date/time
    date/time
    tracker/history/type
    history entries

    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=a6aa75587e5c59c32d347da438505fc3

    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

    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=123456
    raw_command/send
    Working with Driver Journals

    Retrieving All Trips for a Period

    To generate a driver journal, first retrieve a list of possible trips using the fleet/driver_journal/proposal/list API call.

    API Request

    Example Response

    Creating Journal Entries

    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.

    API Request

    Example Response

    Downloading the Driver Journal

    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.

    read

    Requests to read the state of engine immobilizer.

    Parameters

    name
    description
    type
    format

    tracker_id

    ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.

    int

    123456

    Examples

    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=a6aa75587e5c59c32d347da438505fc3

    Response

    • enabled - boolean. true if engine immobilizer enabled.

    Errors

    • 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.

    set

    Requests to change the engine immobilizer state of the device. The device must be online.

    required sub-user rights: tracker_set_output.

    Parameters

    name
    description
    type
    format

    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

    Examples

    Response

    Errors

    • 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.

    read

    Gets LBS settings for the specified tracker.

    Parameters

    name
    description
    type
    format

    tracker_id

    ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.

    int

    123456

    Examples

    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=123456

    Response

    • max_radius - int. Max allowed radius for LBS points in meters. Min=0, max=10000.

    Errors

    • 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.

    update

    Updates LBS settings for the specified tracker.

    Parameters

    name
    description
    type
    format

    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

    Examples

    Response

    Errors

    • 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.

  • Web Apps

    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.

    Gets list of trusted numbers for the specified tracker.

    Parameters

    name
    description
    type
    format

    tracker_id

    ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.

    int

    999199

    Examples

    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=a6aa75587e5c59c32d347da438505fc3

    Response

    • list - List of strings containing trusted phone numbers in the international format without "+" sign.

    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.

    update

    Replaces the list of trusted numbers for a specified tracker with the new one.

    required sub-user rights: tracker_update.

    Parameters

    name
    description
    type
    format

    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"]

    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.

    cURL
    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
    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
    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
    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
    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
    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-7rE637udxtfGRUfXshjfCgatSNqNtRp5HjwEukACcdhIPMwPc9Ch7UsZXxY
    return 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

    data types description section
    Getting Started with Postman

    What is Postman?

    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.

    Installing Postman

    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.

    Setting Up Postman

    1. Open Postman: After installation, open the Postman application.

    2. 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.

    3. Import Navixy Collections: Use the link provided above to import the Navixy Postman collections into your workspace.

    Your First Request

    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.

    Steps to Make Your First Request

    1. Select a Request Method:

      Select request method in Postman

      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.

    2. 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/

    3. 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:

    4. 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:

    Managing Parameters

    If your request has multiple parameters listed, you can easily enable and disable them to prevent errors:

    Enter params

    Request History

    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:

    Enter params

    Examples in Documentation

    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:

    Enter params

    Importing cURL Examples into Postman

    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:

    Enter params

    See Also

    • How to work with Navixy API Sandbox on Postman

    • Streamline development with Navixy API and Postman

    • Developer-Friendly Telematics API: Navixy API Sandbox in Postman

    get

    Gets route points using Progorod router.

    Parameters

    name
    description
    type

    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.

    Response

    • 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.

    Errors

    • 215 - External service error.

    • 218 - Malformed external service parameters – Contains info about error:

    • type - enum. Type of error. One of: "not_set", "malformed" and "isolated".

    • point - enum. Error point. One of: "start", "end", "waypoint" and "all".

    • index - int. Passed only for a waypoint. Index of bad point in waypoints array.

    Progorod router
    Gets base settings for the specified tracker.

    Parameters

    name
    description
    type
    format

    tracker_id

    ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.

    int

    123456

    Examples

    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=123456

    Response

    • label - 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.

    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.

    update

    Updates the settings of the specified tracker.

    required sub-user rights: tracker_update.

    Parameters

    name
    description
    type
    format

    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

    Examples

    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.

    • 204 – Entity not found - if there is no group with the specified group id.

    API actions

    API base path: /tracker/mobile.

    register

    Registers new mobile client application.

    required sub-user rights: tracker_register.

    Parameters

    Part of parameters are registration plugin-specific. See "Registration plugins" section.

    Common parameters are:

    name
    description
    type
    format

    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

    Response

    For tracker object structure, see tracker/.

    Errors

    • 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.

    tracker/register

    Managing Vehicles and Service Works

    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.

    Vehicle Creation

    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.

    Example

    Creating a Ford Transit cargo van vehicle object:

    The platform will respond with:

    Service Work Creation

    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.

    Example

    Creating service works for oil change, brakes replacement, and spark plug replacement.

    Oil Change

    Brakes Replacement

    The platform will respond with the ID of the created service work:

    Getting Track Points

    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.

    Prerequisites

    Obtain API Key Hash

    First, you need to .

    Get Tracker ID

    Next, . This ID is essential as the platform needs to know which device's points to return.

    Retrieve Track Points

    With the API key hash and tracker ID in hand, you can now get all points for a specified period using the API method.

    Required Parameters

    • 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.

    Example Response

    The platform will respond with the following data:

    Response Fields

    • limit_exceeded - boolean. true if the requested time period exceeds the limit specified in the tracker's tariff.

    • lat - float. Latitude.

    • lng - float. Longitude.

    Download Track Points as KML File

    You can also a KML file. This file can be used with map services to visualize all points on a map.

    Example Request

    Additional Parameters

    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.

    Getting route with OSRM

    API call for getting the route to destination point using OSRM API.

    API actions

    API path: /route/osrm.

    get

    Gets route points via OSRM API.

    Parameters

    name
    description
    type

    Where location described in .

    Examples

    cURL

    Response

    • distance - int. Length in meters.

    • time - int. Duration in seconds.

    • list - list of route points. Location objects.

    Errors

    • 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.

    Working with Check-ins

    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.

    Check-ins are normally created using X-GPS Tracker mobile app. The description below is necessary only for non-standard use, such as creating your own Mobile Tracker app that works with the Navixy platform.

    Creation steps

    To create check-ins in the Navixy platform, follow these steps:

    1

    Create a Form from a Template

    Use the API call to create a form based on a template. In the X-GPS Tracker, the form is created when the template is selected by a user.

    2

    File Upload Process

    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.

    Internal Storage Example

    The platform provides the location and token for the file upload:

    Upload the file using the provided URL and token:

    Amazon S3 Example

    For the Cloud version of the platform using Amazon S3:

    Upload the file using the provided URL and fields:

    Assigning employee to tracker

    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 actions

    API base path: /tracker/employee.

    assign

    Assigns another employee ("driver") to the tracker.

    required sub-user rights: employee_update.required tariff feature: app_fleet.

    Parameters

    name
    description
    type
    format

    Examples

    Response

    Errors

    • 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.

    read

    Requests to read the current employee (driver) assigned to tracker, and when it was assigned.

    Parameters

    name
    description
    type
    format

    Examples

    Response

    • 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

    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.

    LED

    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 actions

    API base path: /tracker/led.

    read

    Gets LED status for the specified tracker.

    Parameters

    name
    description
    type
    format

    Examples

    Response

    • value - boolean. LED status, true - ON, false - OFF.

    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.

    update

    Switches LED state for a specified tracker.

    Parameters

    name
    description
    type
    format

    Examples

    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.

    Tracking mode

    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 actions

    API base path: /tracker/settings/tracking.

    read

    Gets tracking settings for the specified tracker.

    Parameters

    name
    description
    type
    format

    Examples

    Response

    Returned fields may differ from model to model. See tracking profiles for more information.

    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 - if device model has no tracking settings at all.

    update

    Sends new tracking settings to the specified tracker.

    required sub-user rights: tracker_configure.

    Parameters

    name
    description
    type

    Examples

    cURL

    Response

    Returned fields may differ from model to model. See tracking profiles for more information.

    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 - 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

    Specific portlets that are used for models of three device manufacturers:

    • Engine event behavior for ATrack.

    • Guard mode for Yatut.

    • Harsh behavior for Suntech.

    engine_control_atrack

    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_mode_yatut

    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_behavior_suntech

    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.

    Parking detection

    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 actions

    API base path: /tracker/settings/trip_detection.

    read

    Gets parking detection settings for the specified tracker.

    Parameters

    name
    description
    type
    format

    Examples

    Response

    • 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.

    Errors

    • 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.

    update

    Updates parking detection settings for the specified tracker.

    required sub-user rights: tracker_update.

    Parameters

    name
    description
    type
    format

    Examples

    Response

    Errors

    • 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).

    APN settings

    API call to get APN settings by device's phone number.

    API actions

    API base path: /apn_settings.

    read

    Gets the APN name/user/password and mobile operator for registered device by phone number.

    Parameters

    name
    description
    type
    format

    Examples

    Response

    Errors

    • 201 – The phone number not found in the database.

    Getting List of GPS Trackers

    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.

    Prerequisites

    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.

    Using Tags

    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.

    Case

    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.

    Using Task Forms

    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.

    Creating Forms

    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.

    Working status

    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 .

    Status object structure

    • id

    Managing POIs

    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.

    Creating Custom Fields and POIs

    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 .

    Using Rules

    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.

    Creating a Rule

    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.

    Map layer

    Contains map layer object structure and API calls to interact with it.

    Contains map layer object structure and API calls to interact with it.

    Map layer object structure:

    • id - int. Map layer entity ID.

    Output control

    API calls for output control.

    API calls for output control. Some device models work with set_all and some with set calls.

    API actions

    API base path: /tracker/output.

    Waybill

    This resource contains information to download waybill report for tracks.

    API actions

    API path: /track/waybill.

    download

    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/navixyapisandbox
    https://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"

    enum

    "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

    group/list
    tracker/list_models
    tracker/list request
    Enter URL
    Enter params
    Enter params
    Enter params
    Enter params
    Enter params
    Enter params

    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.

  • obtain the hash of an API key
    retrieve your tracker_id
    /track/read
    tracker/list
    date/time
    date/time
    /track/read
    download
    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

    data types description section
    Create Files for Photos

    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.

    3

    Create Form Files

    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.

    4

    Create the Check-in

    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.

    checkin/form/create
    - deprecated. Always
    null
    .
  • new_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=a6aa75587e5c59c32d347da438505fc3

    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

    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=265489

    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

    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=123456

    off_duration_seconds - duration in seconds that must elapse before the engine state change accepted. Min=0, max=600, default=5 seconds.

    - string time. Format=
    HH:mm-HH:mm
    , default="10:00-17:00" Required for
    motion_sensor_mode
    in double_period.
  • motion_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.
    enum

    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=123456

    3

    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=1234567890
  • Text 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.

  • API Request:

    Example Response:

    Filling Forms

    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.

    Assigning Forms

    A form can be assigned to an existing task with the task update call or used during task creation.

    create_form parameter should be false to add an already created form.

    Retrieving Information from Submitted Forms

    You can analyze the submitted forms in several ways:

    Specific Forms Submitted with Tasks

    • 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.

    • Use the task_id to download or read the form.

    Alternatively:

    • Get a list of tasks to find a specific task and obtain the form_id.

    • Use the form_id to read and download the forms.

    Specific Forms Submitted with Check-ins

    • Obtain a list of check-ins to get the form_id.

    • Use the form_id to read and download the forms.

    Generating Reports

    To get summarized information in a report format:

    • Generate a form completion report with plugin_id 70.

    • Download the report.

    created
    here
    - int. A unique identifier of the working status. Read-only.
  • label - string. Human-readable label for the working status.

  • color - string. Hex-representation of RGB color used to display this working status.

  • API actions

    API base path: /status/.

    create

    Creates new possible working status for the specified working status list.

    required sub-user rights: tracker_update.

    Parameters

    name
    description
    type

    listing_id

    ID of the list for this working status to attach to.

    int

    status

    Status object without ID field.

    JSON object

    Example

    cURL

    Response

    • id - int. ID of the created working status.

    Errors

    • 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.

    delete

    Deletes working status entry.

    required sub-user rights: tracker_update.

    Parameters

    name
    description
    type

    status_id

    ID of the working status belonging to authorized user.

    int

    Examples

    Response

    Errors

    • 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.

    list

    Gets working statuses belonging to the specified status list.

    Parameters

    name
    description
    type

    listing_id

    ID of the list for this working status to attach to.

    int

    Examples

    Response

    • list - ordered array of objects.

    Errors

    • 236 - Feature unavailable due to tariff restrictions – if there are no trackers with "statuses" tariff feature available.

    update

    Updates working status properties.

    required sub-user rights: tracker_update.

    Parameters

    name
    description
    type

    status

    Status object with ID field.

    JSON object

    Example

    cURL

    Response

    Errors

    • 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.

    guides
    Example Fields for a CRM System

    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.

    Creating Custom Fields

    Some fields are default and cannot be changed (Label, Address, Description, and Tags). All other necessary fields should be created manually.

    Custom fields added here will be available for all places.

    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:

    Creating POIs

    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.

    Obtaining and Updating Information about Places

    • To retrieve information about place objects (e.g., to sync this data with your CRM), use the place/list API call.

    • To get a count of visits to places, generate a report with ID 85.

    • To update information about a place, use the place/update API call.

    Getting POI Name by a Tracker's Location

    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.

    here
    cURL
    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
    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
    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
    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
    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=123
    curl -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
    curl -X POST 'https://api.eu.navixy.com/v2/entity/list' \
         -H 'Content-Type: application/json' \
         -d '{"hash": "a6aa75587e5c59c32d347da438505fc3"}'
    cURL
        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
    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
    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
    }
    Make the API request

    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.

    API endpoint

    https://api.{region}.navixy.com/v2/tracker/list

    API request to retrieve all trackers in account

    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_hash

    Response

    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).

    API request to retrieve filtered list of trackers by label

    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.

    API key for authentication
    Creation

    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.

    Assigning

    Next, assign this tag to your objects. You can do this when updating or creating objects by adding the "tags" parameter:

    • Place - update/create

    • Task - update/create

    • Task schedule - update/create

    • Employee - update/create

    • - /

    • - /

    • - Use the tags/set method

    Searching Objects with Tags

    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:

    Response
    Required Parameters

    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 .

    API Request

    The platform will respond with the ID of the created rule.

    Binding and Unbinding Rules

    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.

    Required Parameters

    • 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.

    API Requests

    Updating a Rule

    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.

    Required Parameters

    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.

    API Request

    Suspending a Rule

    To suspend a rule, use the rule/update call and change only the suspended parameter to true. All other parameters should remain unchanged.

    API Request

    rule/create

    label - string. Map layer name.

    API actions

    API path: /map_layer.

    read

    Reads the body of the specified layer.

    Parameters

    name
    description
    type
    format

    id

    ID of the map layer.

    int

    123456

    Examples

    Response

    Layer body with content-type: application/vnd.google-earth.kml+xml; charset=utf-8.

    Errors

    • 201 - Not found in the database – if there is no map layer with such ID belonging to current user.

    list

    Returns metadata for all map layers for the user.

    Parameters

    Only API key hash.

    Examples

    Response

    Errors

    No specific errors.

    upload

    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").

    Parameters

    name
    description
    type

    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

    Response

    • id - int. ID of the created layer.

    Errors

    • 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.

    update

    Updates metadata for the specified map layer.

    Parameters

    name
    description
    type

    layer

    Map layer object described

    JSON object

    Response

    Errors

    • 201 - Not found in the database – if there is no map layer with such ID belonging to current user.

    delete

    Deletes specified layer.

    Parameters

    name
    description
    type
    format

    id

    ID of the map layer.

    int

    123456

    Examples

    Response

    Errors

    • 201 - Not found in the database – if there is no map layer with such ID belonging to current user.

    set_all

    Request to change the states of all digital outputs of the device. The device must be online.

    required sub-user rights: tracker_set_output.

    Parameters

    name
    description
    type
    format

    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]

    Examples

    cURL

    Response

    Errors

    • 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.

    set

    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.

    Parameters

    name
    description
    type
    format

    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

    Examples

    Response

    Errors

    • 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.

    Downloads a waybill report DOCX file for tracks of the specified tracker and time period.

    Parameters

    name
    description
    type
    format

    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.

    Example

    cURL

    Response

    A docx file with the waybill.

    Errors

    • 236 - Feature unavailable due to tariff restrictions – if one of the trackers has tariff without "app_fleet" feature.

    Geocoder

    API calls to search address and location using geocoder

    API calls to search address and location using geocoder.

    Geocoder types

    • google.

    • yandex.

    • progorod.

    • osm.

    • locationiq.

    API actions

    API path: /geocoder.

    search_address

    Performs a forward geocoding. Returns a list of locations matching the given address. Items in the list sorted by relevance.

    Parameters

    name
    description
    type
    format

    Example

    cURL

    Response

    • lat - double. Latitude.

    • lng - double. Longitude.

    • address - string. Address.

    search_location

    Search address by location using geocoder.

    Parameters

    name
    description
    type
    format

    Examples

    cURL

    Response

    • value - string. Address.

    • details - optional details object.

      • country - optional string.

    Working status list

    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.

    Status listing object structure

    • 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 actions

    API base path: /status/listing/.

    create

    Creates new empty working status list.

    required sub-user rights: tracker_update.

    Parameters

    name
    description
    type

    Examples

    cURL

    Response

    • id - int. ID of the created working status list.

    Errors

    • 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.

    delete

    Deletes working status list.

    required sub-user rights: tracker_update.

    Parameters

    name
    description
    type

    Examples

    Response

    Errors

    • 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.

    list

    Gets working status lists belonging to authorized user.

    Parameters

    Only API key hash.

    Examples

    Response

    • list - ordered array of objects.

    Errors

    • 236 - Feature unavailable due to tariff restrictions – if there are no trackers with "statuses" tariff feature available.

    update

    Updates working status list properties.

    required sub-user rights: tracker_update.

    entries field allows changing order of statuses attached to this working status list.

    Parameters

    name
    description
    type

    Examples

    cURL

    Response

    Errors

    • 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.

    Zapier Integration

    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.

    What is Zapier?

    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.

    Benefits of using Zapier with Navixy

    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

    Creating your first Zap

    1. Sign Up for Zapier First, ensure you have .

    2. 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.

    3. Access Navixy Triggers and Actions Open the to access Navixy triggers and actions. Click "Accept invite & Build a Zap."

    4. Dashboard Overview

    Setting Up a Trigger

    1. Select App Search for and select the Navixy app.

    2. 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).

    3. Specify Trigger Details

    Setting Up an Action

    Choose one of the following actions based on your device and use case.

    1. Set Output For devices that change one output at a time. Provide:

      • Tracker ID

      • Output number

      • Output state (enable/disable)

    Results

    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 .

    Retranslator

    Contains tracker retranslator binding object and API calls to bind/unbind it to tracker or get already binded one.

    Tracker retranslator binding object

    • 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 actions

    API base path: /tracker/retranslator.

    bind

    Creates or updates binding.

    required sub-user rights: admin (available only to master users).

    Parameters

    name
    description
    type
    format

    Examples

    Response

    Errors

    • 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

    List tracker retranslators bound to tracker with ID=tracker_id.

    Parameters

    name
    description
    type
    format

    Examples

    Response

    Errors

    • 208 - Device blocked – if tracker exists but was blocked due to tariff restrictions, or some other reason.

    unbind

    Unbinds a tracker from retranslator.

    required sub-user rights: admin (available only to master users).

    Parameters

    name
    description
    type
    format

    Examples

    Response

    Errors

    • 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.

    BLE beacon data

    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.

    BLE beacon data entry

    • 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 actions

    API path: /beacon/data/read.

    read

    List of beacon data history between from date/time and to date/time sorted by get_time field.

    Parameters

    name
    description
    type

    Example

    cURL

    Response

    • list - list of zero or more beacon_data_entry objects which is described in .

    API path: /beacon/data/last_values.

    last values

    List of last BLE beacon data visible on the trackers.

    Parameters

    name
    description
    type

    Example

    cURL

    Response

    • list - list of zero or more beacon_data_entry objects which is described in .

    Group

    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.

    Group object structure:

    • id - int. Group ID. Used to reference group in objects and API calls. Read-only, assigned automatically by the server.

    Delivery info

    API calls to get delivery states and tasks by IDs.

    API actions

    API base path: /delivery.

    read

    How to Create and Assign Tasks

    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.

    How Do Tasks Operate?

    1. 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.

    Sensor calibration data

    API calls to read and set sensor calibration data.

    Contains API calls to read and set sensor calibration data which is used for calibration received data from sensors to the convenient format. For example, analog fuel sensor provides Volts that should be calibrated to Liters.

    API actions

    API path: /tracker/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
    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
    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
    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=123456
    curl -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=a6aa75587e5c59c32d347da438505fc3
    curl -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=true
    curl -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

    Vehicle
    update
    create
    Zone
    update
    create
    Tracker
    rule types
    rule types
    rule object
    rule object
    rule types
    here

    "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".

    enum

    "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"

    date/time
    date/time

    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

    status_listing

    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

    date/time
    Beacon data entry
    Beacon data entry

    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.

    Single Task

    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.

    Example

    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:

    Example Response

    Route Task

    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.

    Example

    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:

    Example Response

    Route Optimization

    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.

    Example Request

    Example Response

    Association with Address

    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
    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
    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
    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.

    enum

    "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.

    enum

    "google"

    lang

    Optional. ISO 639 language code.

    enum

    {"nw":{"lat":37.9,"lng":-122.4},"se":{"lat":37.8,"lng":-122.3}}

    "en_US"

    The dashboard displays all your Zaps. You can create, update, and manage your Zaps here.
  • 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 output settings
  • 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)

    Set outputs settings
  • 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)

    Set send GPRS command settings
  • signed up for a Zapier account
    invitation link
    authentication
    Navixy documentation
    Search for Navixy app
    New account connect
    Choose set output

    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 actions

    API base path: /tracker/group.

    assign

    Assigns multiple trackers to the specified group.

    required sub-user rights: admin (available only to master users).

    Parameters

    name
    description
    type
    format

    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]

    Example

    cURL

    Response

    Errors

    • 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).

    create

    Creates a new empty group.

    required sub-user rights: admin (available only to master users).

    Parameters

    name
    description
    type
    format

    title

    Ser-specified group title, 1 to 60 printable characters.

    string

    "Employees"

    color

    Group color.

    string

    "FF6DDC"

    Examples

    Response

    • id - int. An ID of created group, e.g. 222.

    Errors

    General types only.

    delete

    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).

    Parameters

    name
    description
    type
    format

    id

    ID of group to delete.

    int

    167

    Examples

    Response

    Errors

    • 201 - Not found in the database – if no group found with the specified ID (or group belongs to another user).

    list

    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.

    Examples

    Response

    Errors

    General types only.

    update

    Updates specified tracker group. Group must belong to the authorized user.

    required sub-user rights: admin (available only to master users).

    Parameters

    name
    description
    type
    format

    id

    ID of group to update.

    int

    167

    title

    Ser-specified group title, 1 to 60 printable characters.

    string

    "Employees"

    color

    Group color.

    string

    Examples

    Response

    Errors

    • 201 - Not found in the database – if no group found with the specified ID (or group belongs to another user).

    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. If multiple tasks or checkpoints found, then return first task, otherwise checkpoint.

    session types:

    In addition to standard user session, this call supports special DELIVERY session type.

    Parameters

    name
    description
    type
    format

    external_id

    An external ID of task.

    int

    259876

    Examples

    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=259876

    Response

    • user_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.

    Errors

    • 201 – Not found in the database - when there is no task or checkpoint with specified conditions.

    list

    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.

    session types:

    in addition to standard user session, this call supports special DELIVERY session type.

    Parameters

    name
    description
    type
    format

    external_id

    An external ID of task.

    int

    259876

    Examples

    Response

    • 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.

    Errors

    • 201 – Not found in the database - when there is no task or checkpoint with specified conditions.

    read

    Gets calibration data for sensor.

    Parameters

    name
    description
    type
    format

    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

    Examples

    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=12345

    Response

    • value - list of objects containing calibration data.

    Errors

    • 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).

    update

    Replaces the calibration data for a sensor.

    required sub-user rights: tracker_update.

    Parameters

    name
    description
    type
    format

    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

    Examples

    cURL

    Response

    Errors

    • 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.

    upload_omnicomm

    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").

    Parameters

    name
    description
    type

    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

    Response

    Errors

    • 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.

    Backend functionality

    Getting started with Navixy Backend API

    Introduction

    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.

    Overview

    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.

    Standard Workflow

    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.

    1. 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;

    API Base URL

    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 Format

    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

    Examples

    HTTP POST application/json

    HTTP POST application/x-www-form-urlencoded

    HTTP GET

    Request and Response Format

    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.

    Ensuring Compatibility

    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.

    Authorization and Access Levels

    Unless otherwise noted, every API call requires a valid API Key hash. This hash can be passed in one of the following ways:

    1. As a hash parameter of the request body (root-level property for application/json).

    2. As a hash parameter of the HTTP query string.

    3. As a value of the HTTP header

    Data Types

    Type
    Description

    String Validation Rules

    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 Formats

    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:

    1. iso_datetime parameter of the request body (root-level property for application/json).

    2. iso_datetime parameter of the HTTP query string.

    3. HTTP header NVX-ISO-DateTime.

    Example

    JSON request body parameter

    Form request parameter

    HTTP Header

    Response Example with Fixed Offset Date/Time

    Response Example with UTC Date/Time

    Next Steps

    • : Learn how to authenticate and obtain a user key

    • : Understand how to handle errors in the Navixy API

    Retranslator

    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.

    Retranslator protocol object

    • 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.

    Retranslator object

    • id - int. Retranslator ID.

    • name - string. Zone label.

    • protocol_id - int. Protocol ID.

    API actions

    API path: /retranslator.

    create

    Creates new retranslator.

    required sub-user rights: admin (available only to master users).

    Parameters

    name
    description
    type

    Example

    cURL

    Response

    • id - int. ID of the created retranslator.

    Errors

    • 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.

    delete

    Deletes user's retranslator with specified retranslator_id.

    required sub-user rights: admin (available only to master users).

    Parameters

    name
    description
    type
    format

    Examples

    Response

    Errors

    • 201 - Not found in the database.

    list

    Get all users' retranslators.

    Examples

    Response

    • id - int. Retranslator ID.

    • name - string. Zone label.

    • protocol_id - int. Protocol ID.

    update

    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).

    Parameters

    name
    description
    type

    Example

    cURL

    Response

    Errors

    • 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.

    protocol/list

    Returns all available retranslator protocols.

    Parameters

    Only API key hash.

    Examples

    Response

    • id - int. Protocol ID.

    • name - string. Protocol name.

    • has_login - boolean. true if this protocol use login.

    Tracker's working status

    This resource contains methods to read and assign working status of a particular tracker.

    API actions

    API base path: /status/tracker/.

    assign

    Assign a working status to the tracker.

    Parameters

    name
    description
    type
    format

    Examples

    Response

    • 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.

    Errors

    • 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.

    list

    Gets current assigned statuses for the specified trackers.

    Parameters

    name
    description
    type
    format

    Examples

    cURL

    Response

    • 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.

    Errors

    • 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.

    read

    Gets current assigned working status of the tracker.

    Parameters

    name
    description
    type
    format

    Examples

    Response

    • 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.

    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.

    • 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

    Get involved into improving documentation and translations of the Navixy Platform

    Contributing to Developer documentation

    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:

    1. Creating an issue with a detailed description of the problem.

    2. .

    In each case, a GitHub account is required. If you prefer not to register on GitHub, you can with any feedback or suggestions.

    Quick edits in the browser

    For simple, quick edits, you can use the built-in GitHub editor:

    1. On any documentation page, find the pencil icon in the upper right corner and click it.

    2. You will be prompted to create a fork of the repository if you haven't already.

    3. Click the green "Create fork" button. This will open the source code of the page in an editable format.

    4. 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.

    Local editing

    For more comprehensive edits, or if you need to work on multiple pages, you can set up the documentation locally:

    Prerequisites

    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

    Editing documentation

    1

    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.

    2

    Working with markdown files

    The documentation consists primarily of Markdown files with GFM (GitHub Flavored Markdown) extensions:

    The content of the docyumentation reflects the page tree in the repository, no additional actions are needed for Table of Contents.

    Documentation style guidelines

    Documentation structure

    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.

    API call descriptions

    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

    Example API documentation format (MD reference)

    Ensure your documentation is accurate and all examples work as described.

    For actual examples, refer to and .

    Platform authentication

    The Navixy platform API supports two authentication methods:

    1. User session hash: The basic, mandatory authentication method obtained through user login

    2. API key: The recommended, more secure method for ongoing API access and integrations

    1. User session hash (basic authentication)

    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

    Obtaining a session hash

    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.

    2. API keys (recommended authentication)

    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:

    Feature
    API Keys
    Session Hashes

    API key limitations:

    • Every user account may have up to 20 API keys

    • Only account Owners have access to API keys functionality

    Creating API keys

    API keys should be created through the Navixy web interface:

    1. Login to the Web Interface:

      • Access the Navixy user interface via the web.

      • Use your credentials to log in.

    2. Navigate to the API Key Section:

    Using authentication in API requests

    You can include your authentication credentials in requests trough three different methods. Each method has specific use cases and security considerations.

    1. As a request header (recommended)

    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.

    2. In the request body

    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.

    3. As a query parameter (testing only)

    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.

    Managing API keys

    These endpoints allow you to manage your API keys through the API itself using a valid session hash.

    Listing API keys

    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.

    Deleting an API key

    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.

    Recommended authentication flow

    After understanding the available authentication methods, follow this recommended progression for integrating with Navixy platform API:

    1. 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

    Authentication errors

    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.

    Best practices

    Follow these guidelines to ensure secure and effective authentication:

    1. Log in to the needed Navixy account to access the system initially - Owner account role is needed

    2. Create and use API keys for all ongoing integration needs - they provide more stable, secure access

    3. Use separate keys for different integrations for better management and security isolation

    4. Add descriptive labels to easily identify the purpose of each key when viewing your key list

    Activate device

    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=FF6DDC
    curl -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=167
    curl -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=a6aa75587e5c59c32d347da438505fc3
    curl -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}]

    user/get_tariff_restrictions
    user/get_tariff_restrictions
    language code
    enum
    enum
    Dashboard Zap
    Tracker ID admin panel
    Tracker ID user interface
    Choose set outputs
    Choose send GPRS command
    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=5

    Provide 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.

  • Navigate to the folder containing the documentation you want to edit
  • Open the relevant .md files in your preferred text editor

  • Make your changes following the GitHub Flavored Markdown conventions

  • 3

    Working with API specifications

    If you're updating API endpoint documentation:

    1. Locate the relevant OpenAPI specification files (.yaml or .json)

    2. Edit them using Stoplight Studio for the best experience, or manually in an IDE of choice

    3. Ensure your changes maintain the correct OpenAPI syntax

    4. Test your changes for validity if possible (try out requests)

    4

    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.

    - 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, 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

  • Editing a single page in a browser
    Local editing and making multiple commits before creating a pull request.
    contact us
    Git
    GitHub Account
    repository
    user
    tracker

    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&param2&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_key
    Authorization: NVX 22eac1c27af4be7b9d04da2ce1af111b
    # missing space after NVX
    
    Authorization: NVX22eac1c27af4be7b9d04da2ce1af111b
    curl -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_key
    curl -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.

  • Obtain hash of an API key:

    • 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:

  • Authorization
    in the following form:

    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].

    [ISO 8601]
    Authentication
    Errors
    API call.

    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.

    GPS tracker activation

    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.

    Activation with optional activation code

    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.

    Activation with mandatory activation code

    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.

    Activation without sending activation commands

    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.

    Troubleshooting GPS tracker activation

    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.

    Mobile app activation

    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.

    Activation with optional activation code

    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.

    Activation with mandatory activation code

    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.

    supported models
    list_models

    Obtaining Report Information

    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.

    Generate Report

    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:

    Retrieve Report

    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:

    Response

    Deleting Reports

    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:

    Tracking Stationary Objects with BLE Tags

    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 .

    What you need to track stationary objects

    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:

    1. A GPS device that can read BLE tags and is supported by the platform.

    2. 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.

    3. 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.

    How to get information about BLE beacons near the GPS device

    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.

    API calls to get information about BLE tags

    There are two API calls that allow you to get all the necessary information about BLE beacons:

    Historical data from BLE tags

    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

    Last data from BLE tags

    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.

    Obtaining information on trip details and usage time

    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:

    Overall trip info

    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.

    Detailed trip info

    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.

    Other examples of using BLE tags

    Here are some other examples of how to use BLE tags with a short algorithm to get the necessary results need:

    Child seats

    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.

    Agricultural machinery

    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.

    Use on construction sites

    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.

    Indoor tracking

    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.

    Tracking goods with BLE beacons

    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.

    Chat

    API calls to work with chat module.

    API calls to work with chat module. A chat module allows remote employees and supervisors quickly exchange their ideas and feedback, as well as helps employers to boost team culture. This can prove to be a useful communication tool.

    API actions

    API base path: /tracker/chat.

    Getting the route with Google

    API call for getting the route to destination point using .

    API actions

    API path: /route/google.

    $ 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 SessionHashValue
    curl -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=passwd
    curl -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=internet
    curl -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&notification_phone=999877459965
    curl -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&notification_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
      }
    }
    list_models
    ID type field
    list_models
    group/list
    plugins list for the user
    group/list
    plugins list for the user
    [ISO 639 alpha-2]
    ISO 3166 alpha-2
    date/time
    date/time
    tracker IDs
    employee IDs
    report plugins

    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.

  • Expert Center
    historical data from devices
    currently connected beacons
    track/list
    cURL
    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
    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
    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
    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
    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
        }
      ]
    }
    list

    Gets a list of chat messages.

    Parameters

    name
    description
    type
    format

    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.

    Examples

    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=a6aa75587e5c59c32d347da438505fc3

    Response

    • list - 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.

    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.

    • 236 – Feature unavailable due to tariff restrictions (if one of the trackers has tariff without "chat" feature).

    mark_read_all

    Marks all incoming chat messages as read for all or for given user trackers.

    Parameters

    name
    description
    type
    format

    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]

    Examples

    Response

    Errors

    • 201 – Not found in the database.

    mark_read

    Marks incoming chat message as read by message_id or array of message_ids.

    Parameters

    name
    description
    type
    format

    message_id

    ID of incoming message.

    int

    123

    message_ids

    IDs of incoming messages.

    int array

    [123,213]

    Use only one parameter.

    Examples

    Response

    Errors

    • 201 – Not found in the database.

    send

    Sends chat message to a specified tracker.

    Parameters

    name
    description
    type
    format

    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"

    Example

    cURL

    Response

    • id - ID of the submitted message.

    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.

    • 236 – Feature unavailable due to tariff restrictions - if one of the trackers has tariff with disabled reports ("has_reports" is false).

    broadcast

    Sends chat message to specified trackers.

    Parameters

    name
    description
    type
    format

    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"

    Example

    cURL

    Response

    • sent_to - list of tracker IDs to whom the message sent.

    • not_sent_to - list of tracker IDs, who failed to send the message.

    Errors

    • 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.

    updated/list

    Gets date-times of last messages in chat of trackers.

    Parameters

    name
    description
    type
    format

    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]

    Example

    cURL

    Response

    • value - map of tracker IDs to date-times.

    Errors

    • 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.

    unread/count

    Gets count of user's unread chat messages grouped by tracker ID.

    Examples

    Response

    • value - map of tracker IDs to counts.

    Errors

    • 236 – Feature unavailable due to tariff restrictions - if there is no tracker which has a tariff with "chat" feature.

    get

    Gets route points using Google Directions API.

    Parameters

    name
    description
    type

    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.

    Example

    cURL

    Response

    • 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.

    Errors

    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.

    Google Directions API

    Sensor readings

    API call to get last values for all metering sensors and state values. Includes CAN, OBD, and fuel.

    Described getting data from sensors in our .

    API actions

    API base path: /tracker/readings.

    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=a6aa75587e5c59c32d347da438505fc3
    curl -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=123
    curl -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

    date/time
    date/time
    list

    Gets last values for all sensors, state values and counters.

    Parameters

    name
    description
    type
    format

    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

    Examples

    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=265489

    Response

    • 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.

    Errors

    • 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.

    batch_list

    Gets last values for all sensors, state values and counters on multiple trackers.

    Parameters

    name
    description
    type
    format

    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

    Examples

    Response

    readings batch object

    • 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.

    Errors

    • 217 - List contains nonexistent entities.

    guides

    Counters

    This resource contains counter specific actions

    Find information on how to get counters data .

    Resource specific actions

    Actions with counter 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

    metering sensor type
    metering sensor type
    metering sensor type
    virtual sensor type
    metering sensor type
    virtual sensor type

    /tracker/counter/update

    Actions with counter values:

    • /tracker/get_counters

    • /tracker/counter/value/get

    • /tracker/counter/value/list

    • /tracker/counter/value/set

    read

    Reads counter of passed type.

    Parameters

    name
    description
    type
    format

    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"

    Examples

    Response

    Errors

    • 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.

    update

    Updates counter of passed type.

    required sub-user rights: tracker_update.

    Parameters

    name
    description
    type
    format

    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

    Examples

    Response

    Errors

    • 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.

    get_counters

    Gets last values of the tracker's counters.

    Parameters

    name
    description
    type
    format

    tracker_id

    Tracker ID (aka "object_id").

    int

    999119

    Examples

    Response

    • 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.

    Errors

    • 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.

    value/get

    Gets actual value of specified type of sensor.

    Parameters

    name
    description
    type
    format

    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"

    Examples

    Response

    • value - float. The last valuer of counter.

    Errors

    • 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.

    value/list

    Get actual values for counters of passed type and trackers.

    Parameters

    name
    description
    type
    format

    trackers

    List of the tracker's ID belonging to authorized user.

    int array

    [123456, 234567]

    type

    Counter type. One of ["odometer", "engine_hours"].

    "odometer"

    Example

    cURL

    Response

    • value - a map with tracker's IDs as keys.

    Errors

    • 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.

    value/set

    Creates new counter of passed type (if not) and update its value.

    Parameters

    name
    description
    type
    format

    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

    Example

    cURL

    Response

    Errors

    • 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.

    data/read

    Returns counter values for a period.

    Parameters

    name
    description
    type
    format

    tracker_id

    Tracker ID (aka "object_id").

    int

    123456

    type

    Counter type. One of ["odometer", "engine_hours"].

    "odometer"

    from

    Requested period start.

    date/time

    Example

    cURL

    Response

    Errors

    • 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.

    here
    /tracker/counter/read
    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=odometer
    curl -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=1234
    curl -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=265489
    curl -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"

    /tracker/counter/data/read
    enum
    enum
    enum
    enum
    enum
    enum

    Errors

    This section provides detailed information on error handling in the Navixy API, including example error responses and descriptions of error codes.

    Error Handling

    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.

    Example 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.

    Error Codes

    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.

    Common Error Codes

    Code
    Description
    HTTP Code

    Best Practices for Error Handling

    • 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.

    Rule

    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.

    Rule object

    • 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 actions

    API base path: /tracker/rule.

    bind

    Binds rule with rule_id to trackers list.

    required sub-user rights: tracker_rule_update.

    Parameters

    name
    description
    type

    Example

    cURL

    Response

    Errors

    • 201 - Not found in the database – if rule with rule_id does not exist or owned by other user.

    create

    Creates rule and scheduled intervals.

    required sub-user rights: tracker_rule_update.

    Parameters

    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 .

    name
    description
    type

    Example

    cURL

    Response

    • id - int. An ID of created rule.

    Errors

    • 204 - Entity not found – when associated zone is not exist.

    delete

    Deletes rule with rule_id and all related objects from the database.

    required sub-user rights: tracker_rule_update.

    Parameters

    name
    description
    type

    Examples

    Response

    Errors

    • 201 - Not found in the database – if rule with rule_id does not exist or owned by other user.

    list

    List tracker rules bound to tracker with an ID=tracker_id or all users' tracker rules if tracker_id not passed.

    Examples

    Response

    • list - list of rules

    unbind

    Unbinds trackers from rule with rule_id.

    required sub-user rights: tracker_rule_update.

    Parameters

    name
    description
    type

    Examples

    cURL

    Response

    Errors

    • 201 - Not found in the database – if rule with rule_id does not exist or owned by other user.

    update

    Updates rule and scheduled intervals.

    required sub-user rights: tracker_rule_update.

    Parameters

    Presented parameters are common for all rules, but there are specific parameters that can be found in .

    name
    description
    type

    Example

    cURL

    Response

    Errors

    • 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

    : For transient errors (e.g., service unavailable, rate limits), implement retry logic with exponential backoff.
  • 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

    rule types
    rule types
    rule types
    data types description section
    rule types
    rule types

    Sensor actions

    API calls to interact with sensors.

    Contains API calls to interact with sensors.

    Sensor sub-types

    Metering sensor

    {
      "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
    }
    rule types
    enum
    rule types
    above
    above
    rule types
    rule types
    enum
    rule types
    above
    above
    rule types

    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.

  • Metering sensor type values

    • fuel

    • temperature

    • rpm

    • custom

    • fuel_consumption

    • instant_consumption

    • power

    • speed

    • flow_meter

    • acceleration

    Discrete input

    • 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.

    Discrete sensor type values

    • ignition

    • sos_button

    • power

    • engine

    • car_alarm

    • door

    • charge

    • detach

    • custom

    Virtual sensor

    • 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.

    Virtual sensor type values

    • 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 actions

    API base path: /tracker/sensor.

    batch_list

    List tracker sensors bound to trackers with specified identifiers (parameter trackers).

    There exists a similar method for working with a single tracker - list.

    Parameters

    Name
    Description
    Type

    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

    Examples

    Response

    Contains a map, where keys are IDs from trackers parameter and values are lists of sensor objects.

    Errors

    • 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.

    create

    Creates a sensor.

    required sub-user rights: tracker_update.

    Parameters

    name
    description
    type

    tracker_id

    ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.

    int

    sensor

    .

    JSON object

    Examples

    cURL

    Response

    • id - int. An ID of created sensor.

    Errors

    • 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.

    delete

    Deletes a sensor with sensor_id from the database.

    required sub-user rights: tracker_update.

    Parameters

    name
    description
    type
    format

    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

    Examples

    Response

    Errors

    • 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

    List tracker sensors bound to tracker with specified ID (tracker_id parameter).

    Parameters

    name
    description
    type
    format

    tracker_id

    ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.

    int

    123456

    Examples

    Response

    • list - list of sensor objects. See sensor object description.

    Errors

    • 208 - Device blocked – if tracker exists but was blocked due to tariff restrictions, or some other reason.

    update

    Updates sensor.

    required sub-user rights: tracker_update.

    Parameters

    name
    description
    type

    tracker_id

    ID of the tracker (aka "object_id"). Tracker must belong to authorized user and not be blocked.

    int

    sensor

    .

    JSON object

    Example

    cURL

    Response

    Errors

    • 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.

    batch_copy

    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.

    Parameters

    name
    description
    type
    format

    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]

    Example

    cURL

    Response

    Errors

    • 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.

    data/read

    Gets all metering or virtual sensor readings with values and time per requested period. It can't be used with discrete sensor.

    Parameters

    name
    description
    type
    format

    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.

    Example

    cURL

    Response

    • 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.

    Errors

    • 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.

    Retrieving Sensor and Counter Data

    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.

    Sensor types

    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=23456
    curl -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.

    date/time

    "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

    tracker model
    tracker model
    enum
    Sensor object
    Sensor object
    date/time

    Physical sensors

    Within the category of Physical sensors, Navixy differentiates three categories of sensors:

    1. 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.

    2. 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.

    3. 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.

    Managing physical sensors

    There are two primary methods for creating physical sensors on the Navixy platform: automatic sensor creation and manual sensor creation.

    Automatic 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.

    Manual sensor creation

    For sensors that require manual creation, follow these steps:

    1. Configure Data Sending: Ensure that the sensor is configured to send data from the device side.

    2. Verify Data Reception: Use AirConsole to verify that the platform is receiving the data correctly.

    3. 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.

    Retrieving physical sensor data

    Current sensor values

    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

    Comprehensive sensor data

    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.

    Batch retrieval for multiple devices

    To optimize requests for multiple devices, use the tracker/readings/batch_list API call.

    Historical sensor data

    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.

    Using counters

    Counters are tools for monitoring specific metrics, such as odometer (mileage) and engine hours.

    Counter creation

    To create a counter, use the value/set API call.

    Example for creating an odometer counter:

    Example for creating an engine hours counter:

    Retrieving counter values

    • Get all counter values: get_counters

    • Get specific counter type for one device: value/get

    • Get counter values for multiple devices: value/list

    Historical counter data

    To retrieve counter values with timestamps for a specific period, use the data/read API call.

    Example response:

    Aggregated counter data

    To retrieve counted values for a specific period:

    • Mileage: stats/mileage

    • Engine hours: stats/engine_hours

    Virtual sensors

    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:

    Field
    Type
    Description

    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.

    Use cases for virtual sensors

    Monitoring parameter boundaries (in_range)

    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.

    Condition
    Output
    Description

    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:

    Mapping nominal sensor values (identity)

    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:

    Type
    Description
    Examples

    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:

    1. Received value 1 = Defined value A

    2. Received value 2 = Defined value B

    3. 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:

    Raw Value
    Meaning

    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:

    1. Each unit (driver/equipment/trailer) is assigned a unique tag.

    2. The tag serves as a hardware key recognizable by the platform.

    3. When a unit connects to the device, its key is transmitted to the platform.

    4. 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.

    Event Code
    Description

    DMS_001

    Driver fatigue detected

    DMS_002

    Driver distraction detected

    DMS_003

    Smoking detected

    DMS_004

    Phone usage detected

    Decoding binary data (bit_index)

    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):

    Bit
    Value
    Meaning

    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.

    Managing virtual sensors

    Creating a virtual sensor

    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.

    Updating a virtual sensor

    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.

    Retrieving virtual sensor data

    1. Historical data Use the tracker/sensor/data/read API call.

      Example:

    2. Current values Use the tracker/readings/batch_list API call for multiple devices.

      Example:

    Reports

    Various reports can be generated to analyze sensor and counter data:

    1. Equipment working time report

      • Plugin ID: 12

      • Shows operational times of units linked to discrete or virtual inputs.

      Example:

    2. Engine hours report

      • Plugin ID: 7

      • Shows working duration for ignition-based sensors.

      Example:

    3. Measuring sensors report

      • Plugin ID: 9

      • Displays data from measurement sensors or virtual sensors with source value calculation method.

      Example:

    4. 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}]}}'

    Track

    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 actions

    API path: /track.

    download

    This method allows you to download track points as a KML/KMZ file which can be used in other apps to show tracks.

    Parameters

    name
    description
    type
    format

    Example

    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

    Response

    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:

    Errors

    • 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.

    list

    This method retrieves a list of tracks for a given tracker within a specified time period.

    Parameters

    name
    description
    type
    format

    Example

    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

    Response

    • 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.

    Errors

    • 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.

    read

    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.

    Parameters

    name
    description
    type
    format

    Example

    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

    Response

    • 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 .

    point info

    • lat - float. Represents latitude.

    • lng - float. Represents longitude.

    • alt - int. Indicates the altitude in meters.

    Errors

    • 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.

    visit/list

    This method fetches IDs of zones and places that contain at least one track point.

    Parameters

    name
    description
    type
    format

    Example

    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

    Response

    • zones - int array. List of zones IDs.

    • places - int array. List of places IDs.

    Errors

    • 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.

    date/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.

    date/time

    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.

    date/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.

    date/time

    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.

    date/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.

    date/time

    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.

    date/time

    "2024-01-10 00:00:00"

    to

    End date/time for searching. Must be after from date.

    date/time

    date/time
    date/time
    date/time
    date/time
    date/time
    point info

    "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
        ]
      }
    }
    enum

    About special settings

    About special settings. Some trackers provide additional specific kind of control which is defined with `special_control` field of tracker model.

    About special settings

    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 actions

    API base path: /tracker/settings/special.

    read

    Gets special settings for the specified tracker.

    Parameters

    name
    description
    type
    format

    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.

    update

    Sets special settings for a specified tracker with the new one.

    required sub-user rights: tracker_configure.

    Parameters

    name
    description
    type

    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.

    enum

    "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

    api/tracker/settings/special/read
    api/tracker/settings/special/update
    api/tracker/send_command
    enum
    enum
    enum
    enum
    enum
    enum
    enum
    enum
    enum
    enum
    enum
    enum
    enum
    enum
    enum
    JSON-schema
    enum
    enum
    enum
    enum
    enum
    enum
    enum
    enum
    enum
    enum
    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
    }

    Input name

    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.

    API actions

    list

    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.

    Parameters

    Only API key hash.

    Examples

    Response

    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 ).

    Example response

    Errors

    types only.

    Tracking profiles

    Tracking profiles of all device models with description.

    Contains tracking profiles of all device models with description.

    albatross_s6

    Tracking profile for Albatross S6.

    • tracking_interval - int. Interval in seconds, e.g. 30 means that the device will send tracking data every 30 seconds. Min=30, max=65535.

    sensor object
    locale settings
    General
    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.

    albatross_s8_5

    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.

    apkcom

    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.

    arknav_x8

    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.

    arnavi2

    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.

    arnavi4

    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.

    atlanta

    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.

    atlanta_pt100

    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

    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

    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.

    autoleaders_st901

    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.

    autoseeker_at17

    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.

    avlsat_neos

    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.

    bitrek310

    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.

    bofan_pt521

    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".

    box

    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.

    boxfinder

    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.

    bsj

    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.

    c2stek_fl

    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.

    calamp

    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.

    cantrack_t80

    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.

    careu

    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.

    cargo

    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.

    carscop_cctr800

    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.

    carscop_cctr830

    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.

    castel_idd

    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.

    castel_interval

    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

    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_asset

    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'

    concox_distance_interval

    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.

    concox_gt350

    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.

    concox_gt700

    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.

    concox_interval

    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.

    concox_jv200

    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.

    concox_qbit

    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".

    concoxgt02

    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.

    concoxgt06

    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

    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_angle

    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

    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).

    defenstar_007

    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.

    defenstar_008

    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.

    digitalsystems_dsf22

    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.

    distance_interval

    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.

    distance_interval_angle_ps

    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.

    distance_interval_angle

    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.

    eelink

    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.

    eelink_tk116

    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.

    eelink_v2

    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.

    enfora

    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.

    esino

    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.

    etrack_tlt2h

    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.

    fifotrack

    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.

    genesis_g36

    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.

    gl200

    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.

    gl500

    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).

    gt300

    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.

    gotoptk206_amgps_freko

    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.

    gv500

    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.

    gv55lite

    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.

    gubloost1

    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.

    haicom_hi603x

    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.

    helioversal_m1

    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.

    hhd_g

    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.

    howen_herome

    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.

    hua_sheng_hs3000g

    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.

    huabao

    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.

    intellitrac_x1

    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".

    interval

    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.

    interval_angle

    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.

    interval_angle_powersave

    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.

    interval_powersave

    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.

    jimi_jc100

    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.

    jinsheng_js810

    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.

    jointech_gp

    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".

    jointech_jt701

    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.

    jointech_jt703

    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.

    jointech_jt707

    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.

    keson_ks168

    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.

    laipacs911

    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".

    lk200

    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.

    logosoft

    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.

    m7

    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.

    maxtrack_140

    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.

    megastek_gvt430

    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.

    megastek_mt

    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.

    megastek_mt100

    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".

    meiligaovt

    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

    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.

    meitrack_asset

    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.

    meitrack_vehicle

    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.

    meitrack_without_ps

    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.

    mictrack_mp90

    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.

    mika_g1

    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.

    mrd_100

    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.

    mwp008_a

    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.

    myrope_m500

    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.

    navisetgt

    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.

    noran

    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.

    oigo_ar2

    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.

    orange_tk103

    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.

    piccolo_atx

    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.

    piccolo_distance_interval_angle

    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.

    piccolo_plus

    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.

    redview_vt680

    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.

    sanfone

    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.

    satsol

    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.

    senseitp211

    • 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.

    sheriff_awax12

    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.

    sinowell_g102

    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.

    skypatrol_tt8750plus

    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.

    sleep_active

    Tracking profile for СКАТ-Маяк.

    • active_time - int. Min=300, max=599940 seconds.

    • sleep_time - int. Min=300, max=599940 seconds.

    spetrotec_iwatcher

    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".

    stab_liner

    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.

    starcom_helios

    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.

    starline_m17

    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.

    suntech_distance_interval_angle

    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.

    suntech_interval

    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.

    syrus

    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.

    telfm

    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".

    telfm5x

    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.

    topfly

    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.

    topshine_distance_interval

    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.

    topshine_distance_interval_angle

    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.

    topten

    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.

    totarget

    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.

    totem

    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.

    trackertech_msp320

    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.

    trackertech_msp340

    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.

    trackertech_msp350

    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.

    tramigo

    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".

    tramigo_with_seconds

    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".

    tt1

    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.

    ulbotech_t300

    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.

    vjoy

    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.

    xirgo

    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.

    xirgo_48

    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.

    xirgo_dist

    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.

    yatut_poisk

    "Я ТУТ ПОИСК" 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
    }
    enum
    enum
    enum
    enum
    enum
    enum
    enum
    enum
    enum

    Tracker

    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.

    Tracker object structure

    • 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.

    Tracker output info

    • number - int. Output number.

    • title - string. User-defined output name.

    Tracker input types

    • 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 actions

    API base path: /tracker.

    read

    Gets tracker info by ID.

    Parameters

    name
    description
    type
    format

    Examples

    Response

    See tracker object structure description .

    Errors

    • 201 - Not found in the database – if tracker not found.

    list

    Gets user's trackers with optional filtering by labels. We described this API call in the .

    Parameters

    name
    description
    type
    format

    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.

    Examples

    Response

    See tracker object structure description .

    Errors

    types only.

    corrupt

    Marks tracker as deleted and corrupt its source, device_id and phone.

    required sub-user rights: tracker_register.

    Parameters

    name
    description
    type
    format

    Examples

    Response

    Errors

    • 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.

    delete

    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).

    Parameters

    name
    description
    type
    format

    Examples

    Response

    Errors

    • 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.

    change_phone

    Changes tracker's phone and setup new apn.

    required sub-user rights: tracker_configure.

    Parameters

    name
    description
    type
    format

    Examples

    cURL

    Response

    Errors

    • 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.

    get_diagnostics

    Gets last CAN and OBD sensors and states values received from the device.

    Parameters

    name
    description
    type
    format

    Examples

    Response

    • 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.

    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.

    get_fuel

    Gets current fuel level (in liters) of tracker's fuel tanks.

    Parameters

    name
    description
    type
    format

    Examples

    Response

    • 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.

    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.

    get_inputs

    Gets current state of tracker's digital inputs and "semantic" inputs (ignition, buttons, car alarms, etc.) bound to them (if any).

    Parameters

    name
    description
    type
    format

    Examples

    Response

    • 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.

    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.

    batch_get_inputs

    Gets current state of trackers' digital inputs and "semantic" inputs (ignition, buttons, car alarms, etc.) bound to them (if any).

    Parameters

    name
    description
    type
    format

    Examples

    Response

    • 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

    Errors

    • 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.

    get_outputs

    Gets tracker's outputs info

    Parameters

    name
    description
    type
    format

    Examples

    === "HTTP GET"

    Response

    • result - array of objects. Array of output info objects described .

    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.

    batch_get_outputs

    Gets trackers' outputs info

    Parameters

    name
    description
    type
    format

    Examples

    Response

    • result - object. Array of output info objects described mapped to tracker ids.

    Errors

    • 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.

    output/update

    Updates tracker's outputs info

    Parameters

    name
    description
    type

    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.

    get_last_gps_point

    Gets last point of the tracker located by GPS. Points located by GSM LBS are excluded from consideration.

    Parameters

    name
    description
    type
    format

    Examples

    Response

    • value - track point object.

      • get_time - . GPS timestamp of the point, in user's timezone.

      • heading - int. Direction bearing in degrees (0-360).

    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.

    get_readings

    Gets last sensor values for sensors that are:

    • metering.

    • not can- or obd-based.

    • not "fuel" sensors.

    Parameters

    name
    description
    type
    format

    Examples

    Response

    • 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]).

    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.

    get_state

    Gets current tracker state (gps, gsm, outputs, etc.).

    name
    description
    type
    format

    Examples

    Response

    • user_time - . Current time in user's timezone.

    • source_id - int. Tracker data source ID (from "sources" table).

    • gps - gps object.

    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).

    get_states

    Gets current states (gps, gsm, outputs, etc.) for several trackers.

    Parameters

    name
    description
    type
    format

    Examples

    cURL

    Response

    • 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.

    Errors

    • 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).

    list_models

    Gets all integrated tracker models (from "models" table).

    Parameters

    name
    description
    type
    format

    Examples

    Response

    • id - int. Model ID.

    • vendor - string. Vendor name.

    • code - string. Model text code

    ID type

    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".

    Errors

    types only.

    tags/set

    Set tags for a tracker. Tags must be created.

    Parameters

    name
    description
    type
    format

    Examples

    cURL

    Response

    Errors

    types only.

    location_request

    Execute this command to get current position of the device. The device must support requesting function.

    Parameters

    name
    description
    type
    format

    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

    Examples

    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.

    • 213 – Cannot perform action: the device is offline.

    • 214 – Requested operation or parameters are not supported by the device.

    register

    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.

    Parameters

    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:

    name
    description
    type
    format

    Examples

    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.

    Response

    For tracker object structure, see .

    Errors

    • 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.

    register_retry

    Resends registration commands to the device. The panel must have installed SMS gateway.

    required sub-user rights: tracker_register.

    Parameters

    name
    description
    type
    format

    Examples

    Response

    For tracker object structure, see .

    Errors

    • 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.

    register_quick

    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.

    Parameters

    name
    description
    type
    format

    Examples

    Response

    For tracker object structure, see .

    Errors

    • 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.

    replace

    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.

    Parameters

    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:

    name
    description
    type
    format

    Examples

    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.

    Response

    For tracker object structure, see .

    Errors

    • 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.


    replace_quick

    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.

    Parameters

    name
    description
    type
    format

    Examples

    Response

    For tracker object structure, see .

    Errors

    • 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.


    replace_retry

    Resends registration commands to the new device. The panel must have installed SMS gateway.

    required sub-user rights: tracker_configure.

    Parameters

    name
    description
    type
    format

    Examples

    Response

    For tracker object structure, see .

    Errors

    • 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.


    send_command

    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:

    special control
    available commands

    command types

    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

    Parameters

    name
    description
    type
    format

    Examples

    cURL

    Response

    For tracker object structure, see .

    Errors

    types only.

    raw_command/send

    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.

    Parameters

    name
    description
    type

    Example

    cURL

    Response

    Errors

    • 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.

  • n,m – n-digit generated ID starting with M. This means that device has configurable ID and our platform generates and configures it automatically. You don't need to pass any identifier during device registration in this case.
    status.

    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.

    output info

    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.

    enum

    "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

    tracker/list
    here
    guide
    here
    General
    date/time
    tracker/sensor/input_name/list
    date/time
    date/time
    date/time
    enum
    input types
    here
    here
    date/time
    date/time
    date/time
    date/time
    tracker/get_state
    tracker/register
    Wikipedia article
    Wikipedia article
    General
    General
    there
    Registration plugins
    Plugin description
    tracker/
    group/list
    tracker/
    tracker/
    Registration plugins
    Plugin description
    tracker/
    group/list
    tracker/
    tracker/
    enum
    tracker/settings/special/update
    special settings JSON object
    tracker/
    General
    instructions

    "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"
        }
      ]
    }
    date/time
    Registration plugins
    tracker/list_models
    Registration plugins

    Rule types

    Rule types with all parameters to create. The rule availability depends on the device, connected and configured equipment and rule integration for it.

    Geofence entrance or exit

    A rule that triggers on device entering/exiting created on platform geofences.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Parking state detection

    A rule that triggers on detection of parking state calculated based on .

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Speeding (hardware related)

    A rule that triggers on speed exceeding determined by hardware. Based on the configs on the device side.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Speeding (platform related)

    A rule that triggers on speed exceeding determined by the platform. Based on received speed from device.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Deviation from the route

    A rule that triggers on deviations from the route. Only the geofence may be assigned.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Driving time

    A rule that triggers when your employee drives more than allowed. The driving time is calculated based on .

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Parking time

    A rule that triggers when your employee standstill more than allowed. The parking time is calculated based on .

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Task performance

    A rule that triggers when assigned to a tracker changes its status.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Work status change

    A rule that triggers when tracker changes. Choose specific status IDs from a currently assigned to tracker .

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Excessive idling (hardware related)

    A rule that triggers on excessive idling registered by hardware. Based on the configs on the device side.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Excessive idling (platform related)

    A rule that triggers on excessive idling registered by the platform. The idling time is calculated based on and ignition state.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Fuel level change

    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.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    tracker_params

    name
    description
    type

    Harsh driving

    A rule that triggers on harsh driving. Based on the configs on the device side.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Advanced driver assistance systems (ADAS)

    A rule that triggers on warnings from driver-assistance systems (ADAS). Detected by camera and based on the configs on the device side.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Auto geofencing (unauthorized movement detected by location change)

    A rule that triggers on auto geofencing. When a car's ignition is off, and it outs the automatically created radius around it.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Autocontrol related rules

    Autocontrol related tracked rules like alarm, battery, doors and others. Based on the configs on the device side.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type
    Map of sub-rules settings

    Car crash

    A rule that triggers when device's sensors detect car crash. Based on the configs on the device side.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Cruise control switched ON/OFF

    A rule that triggers when a device provides cruise control switching event. Based on the configs on the device side.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Distance between objects

    A rule that triggers a change in distance between objects. The distance is measured by the last valid GPS coordinates between chosen objects.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Driver absence

    A rule that triggers when driver lefts or enters cabin. Detected by camera and based on the configs on the device side.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Driver change

    A rule that triggers on driver change automatically by the key or manually in widget with driver from a .

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Driver distraction

    A rule that triggers when driver distracts from the road. Detected by camera and based on the configs on the device side.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Fall detection

    A rule that triggers when g-sensor or accelerometer detects falling.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Fatigue driving

    A rule that triggers on fatigue driving. Detected by camera and based on the configs on the device side.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Identification via RFID/iButton/Camera

    A rule that triggers on a driver identification with help of RFID, iButton or Camera. Based on the configs on the device side.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    No movement

    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.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Pressing SOS button

    A rule that triggers on SOS button pressing. Based on the configs on the device side.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Social distancing monitoring

    A rule that triggers on social distancing violation. Similar to distance between objects but related based on the configs on the device side.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Unauthorized movement (determined by accelerometer)

    A rule that triggers on unauthorized movement detected by accelerometer when ignition is off. Based on the configs on the device side.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Backup battery low

    A rule that triggers on backup battery low. Based on the configs on the device side.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Bracelet sensor

    A rule that triggers on bracelet sensor opening/closing. Based on the configs on the device side.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Call button pressed

    A rule that triggers on call button pressing. Based on the configs on the device side.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Car alarm triggered

    A rule that triggers on car alarm. Based on the configs on the device side.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Case intrusion

    A rule that triggers on case intrusion. Based on the configs on the device side.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Check engine (MIL)

    A rule that triggers on check engine (MIL) events. Based on the configs on the device side.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Connection/disconnection to the OBDII port

    A rule that triggers on connection/disconnection to the OBD2 port. Based on the configs on the device side.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Door opening in alarm mode

    A rule that triggers on door opening in alarm mode. Based on the configs on the device side.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    External device connection

    A rule that triggers on connection/disconnection of an external device. Based on the configs on the device side.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    External power cut

    A rule that triggers when device disconnects from car's battery. Based on the configs on the device side.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    GPS antenna disconnected

    A rule that triggers on GPS antenna disconnect. Based on the configs on the device side.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    GPS jamming (signal dump)

    A rule that triggers when device determines GPS jamming. Based on the configs on the device side.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    GPS signal lost/recover

    A rule that triggers on GPS signal lost/recover. Based on the configs on the device side.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    GSM jamming (signal dump)

    A rule that triggers on GSM jamming. Based on the configs on the device side.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Hood opening in alarm mode

    A rule that triggers on hood opening in alarm mode. Based on the configs on the device side.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Ignition start in alarm mode

    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.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Light sensor

    A rule that triggers on when light sensor detects bright/dark environment. Based on the configs on the device side.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Location report on demand

    A rule that triggers on location requests.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Locking/unlocking (padlock)

    A rule that triggers on locking/unlocking(padlock). Based on the configs on the device side.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Low battery

    A rule that triggers on low internal battery. Based on the device's battery voltage and value specified for the model on the platform.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Padlock tampering

    A rule that triggers on padlock tampering. Based on the configs on the device side.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Tracker detach from the objects

    A rule that triggers when someone detach tracker from the object. Based on the configs on the device side.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Tracker switch ON/OFF

    A rule that triggers on tracker switch ON/OFF. Based on the configs on the device side.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Tracker switched OFF or lost connection

    A rule that triggers when tracker loses connection with the server - gets red offline status and keeps it for X minutes.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Tracker switched ON

    A rule that triggers on tracker switch ON. Based on the configs on the device side.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Vibration sensor

    A rule that triggers when vibration sensor determines vibration. Based on the configs on the device side.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Inputs triggering.

    A rule that triggers when the input state changes.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Outputs triggering

    A rule that triggers when the output state changes.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    Parameter in range

    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.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    tracker_params

    name
    description
    type

    Example:

    State field value

    A rule that triggers when specified value of a chosen state field sensor detected.

    Parameters

    name
    description
    type

    extended parameters

    name
    description
    type

    tracker_params

    name
    description
    type

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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"].

    enum

    control_distance_meters

    Distance for control in meters.

    int

    emergency

    If true enables emergency notification.

    boolean

    type

    driver_enter_absence for this rule type.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    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.

    enum

    virtual_sensor_id

    ID of virtual sensor. Only specified if state_field is not specified.

    int

    parking detection settings
    route (sausage) type
    parking detection settings
    parking detection settings
    task
    work status
    status listing
    parking detection settings
    drivers list
    {
      "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
        }
      ]
    }