All pages
Powered by GitBook
Couldn't generate the PDF for 202 pages, generation stopped at 100.
Extend with 50 more pages.
1 of 100

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Device management

Rules and notifications

Resources

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

Field service management

Data retrieval

Route

Fleet management

Places

Beacon

Tracking

Track

Special

Listing

Settings

Waybill

Command

Billing

Rules

Stats

Status

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.

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.

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

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

Datalogger

API call for uploading datalogger information.

API actions

API base path: /tracker/datalogger.

upload

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

    Sensor

    raw_command/send
    read

    Gets last waybill number.

    Examples

    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

    Response

    Errors

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

    .

    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.

    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.

    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"
        }'
    {
      "success": true,
      "value": {
        "number": "test123"
      }
    }
    {
      "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>}]
    }
    {
      "success": true
    }

    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.

    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:

    1. Firebase projects support Google , 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 .

    2. Contact our support team at [email protected] with the generated private key, platform (Android/iOS), and your app's name.

    3. We will provide you with the application ID for an API call to bind your app.

    4. Obtain the push token of your app from Google Play Market or App Store.

    5. 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 . It should be in bytes, not as a base64 string.

    Our public key in base64 is:

    Here is a function example:

    Take the endpoint and keys p256dh and auth from the pushSubscription object.

    Example:

    Use the push_token/bind API call with parameters:

    • application=w3c_pushapi

    • token=whole endpoint from pushSubscription, full URL like https://fcm.googleapis.com/fcm/send/f6kicrBn7S0:APA91b......

    • parameters=object with keys from pushSubscription {"p256dh": "...", "auth":"..."}

    You will receive the notification in event.data in JSON format.

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

    assign

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

    required sub-user rights: tracker_update.

    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.

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

    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.

    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.

    Trusted number

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

    API actions

    API base path: /tracker/trusted_number.

    list

    Gets list of trusted numbers for the specified tracker.

    Parameters

    name
    description
    type
    format

    Examples

    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

    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.

    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.

    read

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

    Parameters

    name
    description
    type
    format

    Examples

    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.

    Engine hours

    API call to read engine hours (time when engine is on) counted for the specified period.

    API actions

    API base path: /tracker/stats/engine_hours.

    read

    Returns engine hours counted for the specified period.

    Parameters

    name
    description
    type
    format

    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.

    • 211 – Requested time span is too big - if interval between "from" and "to" is too big (maximum value specified in API config).

    • 214 – Requested operation or parameters are not supported by the device - if device does not have ignition input.

    Mileage

    API call to get mileage in kilometers in specified period grouped by trackers and day.

    API actions

    API base path: /tracker/stats/mileage.

    read

    Returns mileage in kilometers in specified period grouped by trackers and day.

    Parameters

    name
    description
    type

    Examples

    cURL

    Response

    Errors

    • 211 – Requested time span is too big - if interval between "from" and "to" is too big (maximum value specified in API config).

    • 217 – List contains nonexistent entities.

    • 221 – Device limit exceeded.

    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

    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.

    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.

    Avatar for the tracker

    Contains API call to upload avatar for the tracker.

    API actions

    API base path: /tracker/avatar.

    upload

    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.

    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.

    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.

    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.

    Subscription

    API calls to interact with payment subscriptions

    API actions

    API path: /subscription.

    /subscription/avangate/

    service accounts
    generate a private key file in JSON format
    applicationServerKey

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

    tracker_id

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

    int

    123456

    listing_id

    ID of the working status list. Omit this parameter completely, if you want remove the assignment.

    int

    12345

    curl -X POST 'https://api.eu.navixy.com/v2/status/listing/tracker/assign' \
        -H 'Content-Type: application/json' \
        -d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 123456, "listing_id": 12345}'
    https://api.eu.navixy.com/v2/status/listing/tracker/assign?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=123456&listing_id=12345

    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

    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

    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

    list

    Array of phone numbers (10-15 digits) represented as strings.

    string array

    ["496156680001", "496156680000"]

    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

    tracker_id

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

    int

    999199

    curl -X POST 'https://api.eu.navixy.com/v2/tracker/apn_settings/read' \
        -H 'Content-Type: application/json' \
        -d '{"tracker_id": 123456, "hash": "a6aa75587e5c59c32d347da438505fc3"}'
    https://api.eu.navixy.com/v2/tracker/apn_settings/read?tracker_id=123456&hash=a6aa75587e5c59c32d347da438505fc3

    219 – Not allowed for clones of the device - if specified tracker is a clone.

    tracker_id

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

    int

    123456

    from

    From date/time.

    date/time

    "2020-09-24 03:24:00"

    to

    To date/time. Specified date must be after "from" date.

    date/time

    "2020-09-24 06:24:00"

    trackers

    Array of tracker IDs (aka "object_id"). Trackers must belong to authorized user and not be blocked. Maximum 128 trackers per request.

    int array

    from

    From date/time.

    date/time

    to

    To date/time. Specified date must be after "from" date.

    date/time

    First, you need to obtain the hash of an API key.

    Get Tracker ID

    Next, retrieve your tracker_id. 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 /track/read API method.

    Required Parameters

    • tracker_id - Obtained from the tracker/list call. Only one tracker_id per call. It should be an integer.

    • from - A string containing the start date/time.

    • to - A string containing the end date/time.

    For a full description of the parameters, see the /track/readAPI 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.

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

    Download Track Points as KML File

    You can also download 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.

    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.

    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 LED status 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/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

    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

    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

    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.

    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.

    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
    }
    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
    }
    {
      "success": true,
      "value": {
        "name": "internet",
        "user": "",
        "password": "",
        "operator_name": "Deutsche Telekom"
      }
    }
    {
      "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
    }
    {
      "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
    }
    {
      "success": true,
      "value": {
        "name": "fast.tmobile.com",
        "user": "tmobile",
        "password": "tmobile"
      }
    }
    curl -X POST 'https://api.eu.navixy.com/v2/tracker/stats/engine_hours/read' \
        -H 'Content-Type: application/json' \
        -d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "tracker_id": 123456, "from": "2020-09-24 03:24:00", "to": "2020-09-24 06:24:00"}'
    {
      "success": true,
      "value": 42.0
    }
    curl -X POST 'https://api.eu.navixy.com/v2/tracker/stats/mileage/read' \
        -H 'Content-Type: application/json' \
        -d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "trackers": [123456], "from": "2020-09-24 03:24:00", "to": "2020-09-24 06:24:00"}'
    {
      "success": true,
      "result": {
        "123456": {
          "2000-01-01": {
            "mileage": 0.0
          },
          "2000-01-02": {
            "mileage": 0.0
          },
          "2000-01-03": {
            "mileage": 199.09
          }
        }
      },
      "limit_exceeded": false
    }
    {
      "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}'
    {
      "success": true,
      "value": "file name"
    }
    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/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,
      "value": 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
    }
    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
    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
    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.

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

    guard_mode_yatut

    Guard special settings for "Я ТУТ ПОИСК".

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

    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.

    • max_cornering_force - double. Can be 0.05 – 3.0 g.

    Working with 2Checkout (formerly Avangate) subscriptions (renewals).

    cancel

    Unsubscribe from auto-renewal by reference.

    required sub-user rights: payment_create.

    Parameters

    name
    description
    type

    reference

    Internal 2Checkout (formerly Avangate) subscription code. Get it from call.

    string

    Examples

    curl -X POST 'https://api.eu.navixy.com/v2/subscription/avangate/cancel' \
        -H 'Content-Type: application/json' \
        -d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "reference": "5EAD4B0B2F"}'
    https://api.eu.navixy.com/v2/subscription/avangate/cancel?hash=a6aa75587e5c59c32d347da438505fc3&reference=5EAD4B0B2F

    Response

    Errors

    • 215 – External service error.

    list

    List active 2Checkout formerly Avangate subscriptions (renewals).

    required sub-user rights: payment_create.

    Parameters

    Only API key hash.

    Examples

    Response

    • reference - string. Internal 2Checkout (formerly Avangate) subscription code. Pass it to /subscription/avangate/cancel.

    • code - string. 2Checkout (formerly Avangate) product code.

    • quantity - int. Count.

    • expiration_date - . Next renew date/time.

    Errors

    • 215 – External service error.

    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

    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.

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

    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.

    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 zone/create API call. There are several types of geofences, and the creation process varies between them.

    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 .

    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 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 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 . With the received latitude and longitude parameters, you can then check the geofences.

    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.

    Tracker settings actions

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

    API actions

    API base path: /tracker/settings.

    read

    Gets base settings for the specified tracker.

    Parameters

    name
    description
    type
    format

    Examples

    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

    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.

    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.

    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.

    Geofence point

    All actions to retrieve and manipulate points of the geofence.

    All actions to retrieve and manipulate points of the geofence. Note that circle geofence type can't have points.

    Point object structure

    • lat - float. Point latitude.

    • lng - float. Point latitude.

    • node - boolean. Will be true if this point is a route node.

    API actions

    API base path: /zone/point.

    list

    Get points of user's geofence with zone_id.

    Parameters

    name
    description
    type
    format

    Examples

    Response

    • list - array of objects. List of point objects.

    Errors

    • 201 - Not found in the database – if geofence with the specified ID cannot be found or belongs to another user.

    • 230 - Not supported for this entity type – if geofence cannot have any points associated with it (e.g. if geofence is circle).

    update

    Update points for user's geofence with zone_id.

    required sub-user rights: zone_update.

    Parameters

    name
    description
    type

    Example

    cURL

    Response

    Errors

    • 201 - Not found in the database – if geofence with the specified ID cannot be found or belongs to another user.

    • 202 - Too many points in a geofence – if "points" array size exceeds limit for this geofence type. Max allowed points count for a geofence is 500 for a polygon or 1024 for a sausage.

    • 230 - Not supported for this entity type – if geofence cannot have any points associated with it (e.g., if geofence is circle).

    • 284 - Not enough points for the zone. The minimum number of points for polygon: 3; the minimum for sausage: 2.

    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.

    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.

    Getting the route with Google

    API call for getting the route to destination point using .

    API actions

    API path: /route/google.

    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

    Bill

    Bill object description and API calls for work with user's bills.

    Bill object

    • order_id - int. Unique bill ID.

    • created

    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.

    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.

    Delivery info

    API calls to get delivery states and tasks by IDs.

    API actions

    API base path: /delivery.

    read

    Getting route with Progorod

    API call for getting the route to destination point using .

    API actions

    API path: /route/progorod.

    Payment system

    Payment system settings object and API calls for working with payment systems and make payments.

    Payment system settings object

    • type - string. Payment system type.

    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": []}}'
    {
      "success": true,
      "value": {<tracker>}
    }
    {
      "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"
    }
    curl -X POST 'https://api.eu.navixy.com/v2/subscription/avangate/list' \
        -H 'Content-Type: application/json' \
        -d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b"}'
    https://api.eu.navixy.com/v2/subscription/avangate/list?hash=a6aa75587e5c59c32d347da438505fc3
    {
      "success": true
    }
    {
      "success": true,
      "list": [
        {
          "reference": "5EAD4B0B2F",
          "code": "4679109",
          "quantity": 123,
          "expiration_date": "2021-01-28 13:32:11"
        }
      ]
    }
    {
      "retranslator_id": 4548,
      "fake_device_id": "AI568T"
    }
    {
      "lat": 11.0,
      "lng": 22.0,
      "node": true
    }
    rule types
    rule types
    rule object
    rule object
    rule types
    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
    date/time
    list
    .
    .
    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
    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
    - 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
    create a rule
    next instruction
    zone/search_location
    state and location

    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

    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

    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

    "Courier"

    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"

    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

    zone_id

    ID of a geofence.

    int

    1234567

    count

    Optional. If specified, the returned list will be simplified to contain this number of points.

    int

    300

    zone_id

    ID of a geofence.

    int

    points

    Array of new points for this geofence. Must contain at least 3 elements. Maximum number of points depends on geofence type.

    array of JSON objects

    -
    . When the bill created.
  • sum - float. A bill sum in default currency of the panel.

  • status - enum. Bill order status. Can be one of:

    • created – but not settled.

    • settled.

    • canceled.

  • positions - string array. List of position names. Usually contains one element for a bill.

  • link - string. URL to order.

  • API actions

    API path: /bill.

    create

    Creates a new bill for the user.

    required sub-user rights: payment_create.

    Parameters

    name
    description
    type

    payer

    Some payer description.

    string

    sum

    A bill sum in default currency of the panel.

    double

    Example

    cURL

    Response

    • value - int. Created bill ID.

    Errors

    • 222 – Plugin not found - when plugin 29 not available for user.

    list

    Shows list of bills with their parameters in array.

    required sub-user rights: payment_create.

    Parameters

    name
    description
    type

    limit

    Optional. A maximum number of bills in list. Maximum and default is 10 000.

    int

    offset

    Optional. Get bills starting from offset. Default 0.

    int

    Examples

    Response

    • count - int. Total number of bills.

    • bills - array of objects. A list of bill objects.

    If bill created using /bill/create call then positions will contain exactly one element.

    For Standalone version base part of link may be changed by billing.orders.baseUrl config option.

    Errors

    • 222 – Plugin not found - when plugin 29 not available for user.

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

    url - string. URL to send payment info.
  • account - optional string. Dealer account in payment system (eshopId for RBK).

  • currency - string. 3-letter ISO 4217 currency code.

  • payment_code - optional string. Code for payments.

  • subscription_code - string. Subscription code. The same as "payment_code" for 2Checkout (formerly Avangate) but for subscriptions.

  • methods - optional string array. List of available payment methods (it may be empty).

  • prices - optional object with prices. For type == ios_inapp only.

  • API actions

    API path: /payment_system.

    list

    Returns list of payment systems available for specified user.

    required sub-user rights: payment_create.

    Examples

    Response

    • list - array of objects. List of payment system objects.

    Errors

    • 201 – Not found in the database.

    estimate/get

    Returns the estimate of the monthly payment amount

    required sub-user rights: payment_create.

    Examples

    Response

    • value - float. Payment amount, rounded up to hundreds for rubles or to tens for other currencies.

    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}'
    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
    }
    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
    }
    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"
      }
    }
    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,
      "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,
      "settings": {
        "label": "Courier",
        "group_id": 1
      }
    }
    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
    }
    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
    }
    {
      "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
    }
    curl -X POST 'https://api.eu.navixy.com/v2/zone/point/list' \
        -H 'Content-Type: application/json' \
        -d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "zone_id": 1234567}'
    https://api.eu.navixy.com/v2/zone/point/list?hash=a6aa75587e5c59c32d347da438505fc3&zone_id=1234567
    {
      "success": true,
      "list": [
        {
          "lat": 11.0,
          "lng": 22.0,
          "node": true
        }
      ]
    }
    curl -X POST 'https://api.eu.navixy.com/v2/zone/point/update' \
        -H 'Content-Type: application/json' \
        -d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "zone_id": 1234567, "points": [{"lat": 11.0, "lng": 22.0, "node": true},{"lat": 11.2, "lng": 22.2, "node": true},{"lat": 11.4, "lng": 22.4, "node": true}]}'
    {
      "success": true
    }
    curl -X POST 'https://api.eu.navixy.com/v2/bill/list' \
        -H 'Content-Type: application/json' \
        -d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b"}'
    https://api.eu.navixy.com/v2/bill/list?hash=a6aa75587e5c59c32d347da438505fc3
    {
      "order_id": 63602,
      "created": "2012-03-05 11:55:03",
      "sum": 150.0,
      "status": "created",
      "positions": ["The subscription fee for the services of Account W3"],
      "link": "http://bill.navixy.com/xK1QEYK"
    }
    curl -X POST 'https://api.eu.navixy.com/v2/bill/create' \
        -H 'Content-Type: application/json' \
        -d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "payer": "Jon Doe", "sum": 100.0}'
    {
      "success": true,
      "value": 6421
    }
    {
      "success": true,
      "count": 7,
      "bills": [
        {
          "order_id": 63602,
          "created": "2012-03-05 11:55:03",
          "sum": 150.0,
          "status": "created",
          "positions": ["The subscription fee for the services of Account W3"],
          "link": "http://bill.navixy.com/xK1QEYK"
        }
      ]
    }
    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/payment_system/list' \
        -H 'Content-Type: application/json' \
        -d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b"}'
    https://api.eu.navixy.com/v2/payment_system/list?hash=a6aa75587e5c59c32d347da438505fc3
    curl -X POST 'https://api.eu.navixy.com/v2/payment_system/estimate/get' \
        -H 'Content-Type: application/json' \
        -d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b"}'
    https://api.eu.navixy.com/v2/payment_system/estimate/get?hash=a6aa75587e5c59c32d347da438505fc3
    {
      "type": "rbkmoney",
      "url": "https:rbkmoney.com/acceptpurchase.aspx",
      "account": "John Doe",
      "currency": "EUR",
      "payment_code": "Navixy Demo",
      "subscription_code": "4671292",
      "methods": ["method1", "method2"],
      "prices": {
        "Loccate_default_pay_1": 0.99,
        "Loccate_default_pay_5": 4.99,
        "Loccate_default_pay_10": 9.99,
        "Loccate_default_pay_20": 19.99
      }
    }
    {
      "success": true,
      "list": [
        {
          "type": "bill"
        }
      ]
    }
    {
      "success": true,
      "value": 400.0
    }
    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

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

    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.

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

    API actions

    API base path: /tracker/settings/trip_detection.

    read

    Gets parking detection 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/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

    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.

    • motion_sensor_aware - boolean. Check motion sensor 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

    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

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

    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.

    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

    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.

    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.

    Creation

    First, create the tag using the tag/create method. Let's name it "team1."

    API request:

    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:

    • - /

    • - /

    • - /

    • - /

    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

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

    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.

    • 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 call or used during .

    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 to get the template_id of the desired form.

    • Retrieve the with the specific template_id and time period.

    • Use the task_id to or the form.

    Alternatively:

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

    • Use the form_id to and the forms.

    Specific Forms Submitted with Check-ins

    • Obtain a list of to get the form_id.

    • Use the form_id to and the forms.

    Generating Reports

    To get summarized information in a report format:

    • a form completion report with .

    • the report.

    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:

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

    Status object structure

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

    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

    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

    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

    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.

    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.

    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 .

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

    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.

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

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

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

    Getting POI Name by a Tracker's Location

    To get the POI name or ID where a device is located, use the 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 . Using the received latitude and longitude parameters, you can check the relevant places.

    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.

    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.

    $ 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/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
        }
      ]
    }
    {
      "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/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/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"]
    }
    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"}'
    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,
      "min_idle_duration_minutes": 5,
      "idle_speed_threshold": 3,
      "ignition_aware": false,
      "motion_sensor_aware": false
    }
    {
      "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,
      "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
        }
      ]
    }
    {
      "id": 5,
      "label": "Busy",
      "color": "E57373"
    }
    {
      "id": 1,
      "label": "Taxi driver statuses",
      "employee_controlled": true,
      "supervisor_controlled": false,
      "entries": [5, 2, 1, 4, 6]
    }
    {
      "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.

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

  • true/false

    3

    ignition_aware

    Check ignition state to detect a trip.

    boolean

    false

    motion_sensor_aware

    Check motion sensor state to detect a trip.

    boolean

    false

    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

    user/get_tariff_restrictions
    user/get_tariff_restrictions
    [ISO 639 alpha-2]
    ISO 3166 alpha-2
    enum
    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

    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

    Vehicle - update/create

  • Zone - update/create

  • Tracker - Use the tags/set method

  • Place
    update
    create
    Task
    update
    create
    Task schedule
    update
    create
    Employee
    update
    create
    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"}
    task update
    task creation
    list of templates
    list of tasks
    download
    read
    list of tasks
    read
    download
    check-ins
    read
    download
    Generate
    plugin_id 70
    Download
    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

    listing_id

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

    int

    status

    Status object without ID field.

    JSON object

    status_id

    ID of the working status belonging to authorized user.

    int

    listing_id

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

    int

    status

    Status object with ID field.

    JSON object

    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

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

  • place/list
    generate
    ID 85
    place/update
    place/search_location
    state and location

    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.

    {
      "success": false,
      "status": {
        "code": 1,
        "description": "Database error"
      }
    }
    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
    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
    }
    {
      "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--
    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
    }
    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
    {
      "success": true
    }
    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
    {
      "success": true,
      "list": [
        {
          "id": 5,
          "label": "Busy",
          "color": "E57373"
        }, {
          "id": 6,
          "label": "Free",
          "color": "A27373"
        }
      ]
    }
    curl -X POST 'https://api.eu.navixy.com/v2/status/update' \
        -H 'Content-Type: application/json' \
        -d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "status": {"id": 5, "label": "Busy", "color": "E57373"}}'
    {
      "success": true
    }
    curl -X POST 'https://api.eu.navixy.com/v2/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/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/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
    }
    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]
    }
    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.

    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.

    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.

    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

    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.

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

    [{"in":0.0,"out":0.0},{"in":0.7,"out":60.0}]

    address - string. Network address, e.g. 127.0.0.1 or localhost.
  • port - int. Port number.

  • login - optional string.

  • password - optional string.

  • enabled - boolean. Status.

  • address - string. Network address, e.g. 127.0.0.1 or localhost.
  • port - int. Port number.

  • login - optional string.

  • password - optional string.

  • enabled - boolean. Status.

  • has_password - boolean. true if this protocol use password.

  • fake_device_id_pattern - optional string. Regex pattern for fake_device_id validation.

  • required_login - boolean. true if for this protocol login required.

  • required_password - boolean. true if for this protocol password required.

  • retranslator

    Retranslator object without id field.

    JSON object

    retranslator_id

    ID of the retranslator that will be deleted.

    int

    123456

    retranslator

    Retranslator object without id field.

    JSON object

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

    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"

    Assign a working status to the 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

    new_status_id

    ID of the working status. Must belong to status list assigned to this tracker.

    int

    5

    Examples

    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

    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.

      • location - object. Location and address at which status change occurred.

      • lat - int. Latitude.

      • lng - int. Longitude.

      • address - string. Address of last change.

      • changed - . Change date and time.

      • origin - . Origin – who changed the status ("employee" or "supervisor").

    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.

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

    list

    Gets current assigned statuses for the specified trackers.

    Parameters

    name
    description
    type
    format

    trackers

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

    int array

    [123456, 234567]

    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.

      • 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 and time of change.

      • origin - . Origin – who changed the status ("employee" or "supervisor").

    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

    tracker_id

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

    int

    123456

    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.

      • new_status_id - int. Current status ID. May be null.

      • location - Location and address at which status change occurred.

      • changed - . Date and time of change.

      • origin - . Origin – who changed the status ("employee" or "supervisor").

    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.

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

    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 supported models 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 list_models API call.

    Step 2: Check available plugins

    Check all plugins available for the user with the 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 .

    Step 3: Activate the device

    Activate the device using the action.

    GPS tracker activation

    This section provides information about activating GPS trackers using plugins 44 and 37, and the 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.

    Activation with optional activation code

    By using plugin 44, the activation process is simplified, as the 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 .

    Activation with mandatory activation code

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

    Example Request:

    Example Response:

    For more details on the tracker object structure, see .

    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 .

    After eliminating all possible issues and ensuring everything is working properly, you can send the 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 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

    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 (plugin 68), we should use this parameter when activating a new device.

    The platform will respond with the same information as for plugin 35.

    Asset groups

    Contains API calls to interact with asset groups.

    Asset group entry

    • id - int. ID of the group.

    • name - string. Name of the group.

    • assets - list of asset objects described . Can be empty.

    Asset group object entry

    • asset - asset described .

    • group_id - int. ID of the group.

    Asset entry

    • id - int. ID of the asset.

    • type - string. Type of the asset. Can be one of employee, vehicle.

    API actions

    API path: /asset_group.

    create

    Create new asset group.

    Parameters

    name
    description
    type

    Example

    Response

    • id - int. ID of the group.

    • reassigned_assets - list of asset group objects described that were removed during reassignment. Optional.

    Errors

    • 291 - All assets in the request must be accessible - if there are assets in the request that are not accessible to the user.

    • 290 - Asset already assigned to a group - if force_reassign is false and asset is already assigned to a group. Response will contain assigned_assets - list of asset group objects described that are already assigned to a group.

    list

    List asset groups by ids or asset.

    Parameters

    name
    description
    type
    • Exactly one parameter must be specified: group_ids or asset.

    Example

    Response

    • list - object array. Asset groups described .

    set

    Set assets to existing group.

    Parameters

    name
    description
    type

    Example

    Response

    • reassigned_assets - list of asset group objects described that were removed during reassignment. Optional.

    Errors

    • 201 - Not found in the database - if there is no group in the db.

    • 291 - All assets in the request must be accessible - if there are assets in the request that are not accessible to the user.

    • 290 - Asset already assigned to a group - if force_reassign is false and asset is already assigned to a group. Response will contain assigned_assets - list of asset group objects described that are already assigned to a group.

    remove

    Remove assets from group.

    Parameters

    name
    description
    type

    Example

    Response

    Errors

    • 201 - Not found in the database - if there is no group in the db.

    • 286 - All assets must be present in the group - if not all assets are present in the group.

    • 287 - if the group contains no assets accessible to the user.

    update

    Update asset group name.

    Parameters

    name
    description
    type

    Example

    Response

    Errors

    • 201 - Not found in the database - if there is no group in the db.

    • 287 - At least 1 asset in the group must be accessible - if the group contains no assets accessible to the user.

    delete

    Delete asset group.

    Parameters

    name
    description
    type
    • The group will be marked as deleted, but its history will remain intact.

    Example

    Response

    Errors

    • 201 - Not found in the database - if there is no group in the db.

    • 289 - All assets in the group must be accessible - if there are assets in the group that are not accessible to the user.

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

    Necessary parameters for this call:

    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.

    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

    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/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,
      "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"
          }
        }
      }
    }
    {
      "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"
      }
    }
    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
    }
    {
      "id" : 64584,
      "name" : "group_1",
      "assets" : [<asset>]
    }

    "FF6DDC"

    date/time
    enum
    date/time
    enum
    date/time
    enum
    language code
    enum
    enum

    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 list_models action and ID type field.

  • model - Name of the model in the platform's code. It can be found in the list_models 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 group/list.

  • plugin_id - Parameter ID to use. It must be listed in the available plugins list for the user.

  • activation_code - Optional string with activation code. Not necessary for plugin 44 and mandatory for plugin 37.

  • : The IMEI of the tracker.
    .
  • 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 group/list.

  • plugin_id - Parameter ID to use. It must be listed in the available plugins list for the user.

  • activation_code - Optional string with an activation code. Not necessary for plugin 35 and mandatory for plugin 68.

  • plugin/list
    here
    tracker/register
    tracker/register
    activation code
    here
    activation codes
    register_quick
    tracker
    here
    tracker/register_retry
    tracker/register
    activation codes

    name

    Optional. If not set, defaults to the new entry ID. Name of the group.

    string

    assets

    Assets to include to group. Only one assets of each type is allowed.

    array of assets

    force_reassign

    Optional. Default is false. If true, assets will be assigned even if they were assigned to another group, and their previous assignments will be removed.

    boolean

    group_ids

    IDs of the groups to search by

    int array

    asset

    Asset to search by

    asset object

    id

    ID of the group.

    int

    assets

    Assets to set to group. Only one assets for each type is allowed.

    array of assets

    force_reassign

    Optional. Default is false. If true, assets will be assigned even if they were assigned to another group, and their previous assignments will be removed.

    boolean

    id

    ID of the group.

    int

    assets

    Assets to remove from group. Only one assets for each type is allowed.

    array of assets

    id

    ID of the group.

    int

    name

    New name for the group.

    string

    id

    ID of the group.

    int

    below
    below
    here
    here
    here
    here
    here
    from - A string containing date/time. Data in the report will be from this moment.
  • to - A string containing date/time. 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 tracker IDs to be included in the report (if the report is by trackers).

  • employees - List of employee IDs 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 report plugins.

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

    report/tracker/generate

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

    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.

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

    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 historical data from devices. 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 currently connected beacons 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 track/list 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.

    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
    {
      "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.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.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
          }
        ]
      }
    }
    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
    {
      "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
      }
    }
    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
    {
      "asset" : {<asset>},
      "group_id" : 64584
    }
    {
      "id" : 36558,
      "type" : "employee"
    }
    cURL
    curl -X POST '{{ extra.api_example_url }}/asset_group/create' \
        -H 'Content-Type: application/json' \
        -d '{
    "hash":"59be129c1855e34ea9eb272b1e26ef1d",
    "assets": [{"id": 36558, "type": "employee"}, {"id": 45685, "type": "vehicle"}]
    }'
    {
      "id": 25684,
      "reassigned_assets": [<asset_group_object>],
      "success": true
    }
    cURL
    curl -X POST '{{ extra.api_example_url }}/asset_group/list' \
        -H 'Content-Type: application/json' \
        -d '{
    "hash":"59be129c1855e34ea9eb272b1e26ef1d",
    "group_ids": [25684, 25685]
    }'
    {
      "list": [<asset_group>],
      "success": true
    }
    cURL
    curl -X POST '{{ extra.api_example_url }}/asset_group/set' \
        -H 'Content-Type: application/json' \
        -d '{
    "hash":"59be129c1855e34ea9eb272b1e26ef1d",
    "id": 25684,
    "assets": [{"id": 36558, "type": "employee"}, {"id": 45685, "type": "vehicle"}]
    }'
    {
      "success": true,
      "reassigned_assets": [<asset_group_object>]
    }
    cURL
    curl -X POST '{{ extra.api_example_url }}/asset_group/remove' \
        -H 'Content-Type: application/json' \
        -d '{
    "hash":"59be129c1855e34ea9eb272b1e26ef1d",
    "id": 25684,
    "assets": [{"id": 36558, "type": "employee"}, {"id": 45685, "type": "vehicle"}]
    }'
    {
      "success": true
    }
    cURL
    curl -X POST '{{ extra.api_example_url }}/asset_group/update' \
        -H 'Content-Type: application/json' \
        -d '{
    "hash":"59be129c1855e34ea9eb272b1e26ef1d",
    "id": 25684,
    "name": "new_name"
    }'
    {
      "success": true
    }
    curl -X POST '{{ extra.api_example_url }}/asset_group/delete' \
        -H 'Content-Type: application/json' \
        -d '{
    "hash":"59be129c1855e34ea9eb272b1e26ef1d",
    "id": 25684,
    }'
    {
      "success": true
    }
    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
    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
    }
    {
      "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.

    Sensor actions

    API calls to interact with sensors.

    Contains API calls to interact with sensors.

    Sensor sub-types

    Metering sensor

    • type - string. Always "metering".

    • id - int. Sensor's id.

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

    Metering sensor type values

    • fuel

    • temperature

    • rpm

    • custom

    Discrete input

    • type - string. Always "discrete".

    • id - int. An ID of a sensor.

    • sensor_type - . Type of the sensor.

    Discrete sensor type values

    • ignition

    • sos_button

    • power

    • engine

    Virtual sensor

    • type - string. Always "virtual".

    • id - int. Sensor's id.

    • sensor_type - . Type of the sensor. "virtual_ignition" for virtual ignition or "state" for others.

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

    Described work with virtual sensors in our .

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

    Parameters

    Name
    Description
    Type

    Examples

    Response

    Contains a map, where keys are IDs from trackers parameter and values are lists of 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

    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

    delete

    Deletes a sensor with sensor_id from the database.

    required sub-user rights: tracker_update.

    Parameters

    name
    description
    type
    format

    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

    Examples

    Response

    • list - list of sensor objects. See 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

    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

    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

    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.

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

    API actions

    API base path: /tracker/readings.

    list

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

    Parameters

    name
    description
    type
    format

    Examples

    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.

    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

    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.

    Errors

    • 217 - List contains nonexistent entities.

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

    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

    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 tracker model has the feature has_custom_fields.

  • fuel_consumption

  • instant_consumption

  • power

  • speed

  • flow_meter

  • acceleration

  • name - string, max size 100.
  • input_number - int, [1..8]. Assigned input number.

  • car_alarm

  • door

  • charge

  • detach

  • custom

  • 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 tracker model has the feature has_custom_fields.

  • parameters - optional object with additional parameters.

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

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

  • There can be no more than 100 value titles.

  • All values must be unique within value_titles.

  • is limited.

    to

    End date and time for searching. Must be after from date. Maximum period is maxReportTimeSpan, default 30 days.

    "2022-03-28 23:59:00"

    raw_data

    If true then the response will contain raw data without any calibration and multiplication. Affects only metering sensors. Default value is false for backward compatibility.

    boolean

    false

    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

    tracker_id

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

    int

    sensor

    Sensor object.

    JSON object

    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

    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

    sensor

    Sensor object.

    JSON object

    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]

    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.

    date/time

    metering sensor type
    enum
    discrete sensor type
    virtual sensor type
    instructions
    list
    sensor
    sensor

    "2022-02-28 00:00:00"

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

    • update_time - date/time. The time when the field value was updated.

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

    • label - string. The label of the virtual sensor.

    • type - . The type of the virtual sensor.

    • update_time - date/time. The time when the virtual sensor value was updated.

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

    • update_time - date/time. The time when the counter value was updated.

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

    • update_time - date/time. The time when the field value was updated.

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

    • label - string. The label of the virtual sensor.

    • type - . The type of the virtual sensor.

    • update_time - date/time. The time when the virtual sensor value was updated.

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

    • update_time - date/time. The time when the counter value was updated.

  • 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 metering sensor type or virtual sensor type

    "fuel"

    include_components

    Optional. Default is true. If set to false, parts of composite sensors will be excluded.

    boolean

    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 metering sensor type or virtual sensor type

    "fuel"

    include_components

    Optional. Default is true. If set to false, parts of composite sensors will be excluded.

    boolean

    curl -X POST 'https://api.eu.navixy.com/v2/tracker/readings/list' \
        -H 'Content-Type: application/json' \
        -d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "tracker_id": 265489}'
    https://api.eu.navixy.com/v2/tracker/readings/list?hash=a6aa75587e5c59c32d347da438505fc3&tracker_id=265489

    true

    true

    Counters

    This resource contains counter specific actions

    Find information on how to get counters data .

    Resource specific actions

    Actions with counter entities:

    {
      "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"
          }
        ]
      }
    }
    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]
    {
      "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
    }
    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
    {
      "success": true
    }
    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
    {
      "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"
        }
      ]
    }
    {
      "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"
        }
      ]
    }
    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]
    
    {
      "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"
          }
        ]
      }
    }
    virtual sensor type
    virtual sensor type
    date/time

    /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

    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.

    Geo Links

    API calls for working with Geo Links.

    API calls for working with Geo Links. These are special sessions to share the location of mobile objects. This is a new API replacing Weblocator.

    API actions

    API path: /tracker/location/link.

    create

    Creates new Geo Link. There may be up to 10000 geo-links per user account.

    required sub-user rights: weblocator_session_create.

    Parameters

    name
    description
    type
    restrictions

    lifetime object

    tracker object

    params object

    Example

    cURL

    Response

    Errors

    • 13 – Operation not permitted – if a user has insufficient rights.

    • 204 – Entity not found – if one or more of zones or places are not found.

    • 217 – List contains nonexistent entities – if one or more of tracker IDs belong to nonexistent tracker (or to a tracker belonging to different user).

    • 236 – Feature unavailable due to tariff restrictions – if there is at least one tracker without weblocator

    update

    Updates Geo Link.

    Parameters

    name
    description
    type
    restrictions

    Example

    cURL

    Response

    Errors

    • 13 – Operation not permitted – if a user has insufficient rights.

    • 201 – Not found in the database – if link with such an ID does not exist or does not belong to current user.

    • 204 – Entity not found – if one or more of zones or places are not found.

    • 217 – List contains nonexistent entities – if one or more of tracker IDs belong to nonexistent tracker (or to a tracker belonging to different user).

    status/change

    Lets to activate and deactivate a link.

    Parameters

    name
    description
    type

    Example

    cURL

    Response

    Errors

    • 201 – Not found in the database – if link with such an ID does not exist or does not belong to current user.

    read

    Returns a link with a specified ID.

    Parameters

    name
    description
    type

    Example

    Response

    Errors

    • 201 – Not found in the database – if link with such an ID does not exist or does not belong to current user.

    list

    Returns a list of a user's links.

    Parameters

    name
    description
    type

    condition fields

    • trackers – labels of all trackers

    • aliases – aliases of all trackers

    • creator – full name of creator (only for master user)

    sort fields

    • id

    • create_date

    • expire_date

    • trackers

    Example

    Response

    delete

    Deletes a link with a specified ID.

    Parameters

    name
    description
    type

    Example

    cURL

    Response

    Errors

    • 201 – Not found in the database – if link with such an ID does not exist or does not belong to current user.

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

    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

    params

    Link parameters.

    JSON object

    tariff feature.
  • 268 – Link cannot be created due to quota violation.

  • trackers

    List of tracker IDs with parameters for each tracker.

    array of JSON objects

    Allowed length 1 to 100.

    params

    Link parameters.

    JSON object

    236 – Feature unavailable due to tariff restrictions – if there is at least one tracker without weblocator tariff feature.

    sort

    Optional. Each option is a pair of field name and sorting direction, e.g. ["creator=asc", "id=desc"]. Possible fields listed below.

    string array

    description
    – labels of all trackers
  • aliases – aliases of all trackers

  • status – enabled < inactive < expired < disabled

  • creator – full name of creator (only for master user)

  • description

  • If no sort param is specified, then sort option will be "id=asc".

  • lifetime

    Start and end of the session.

    JSON object

    Optional.

    description

    Link's description.

    string

    Only printable characters. Max length: 255.

    trackers

    List of tracker IDs with parameters for each tracker.

    array of JSON objects

    id

    Session ID.

    int

    lifetime

    Optional. Start and end of the session.

    JSON object

    Optional.

    description

    Link's description.

    string

    id

    Session ID.

    int

    is_active

    If false, a link is deactivated

    boolean

    id

    Session ID.

    int

    filter

    Optional. Filter for all fields. If used with conditions, both filter and conditions must match for every returned links.

    string

    conditions

    Optional. Search conditions to apply to list. Array of search conditions, see Search conditions. Possible fields listed below.

    array of objects

    offset

    Optional. Offset, default is 0.

    int

    limit

    Optional. Limit, default is 10,000.

    int

    id

    Session ID.

    int

    Allowed length 1 to 100.

    Only printable characters. Max length: 255.

    {
      "from": "2024-01-29 01:00:00", // optional
      "to": "2024-01-30 01:00:00" // optional
    }
    {
      "alias": "John Doe", // optional
      "tracker_id": 14,
      "params": {
        "object_data": ["speed", "address"] // speed, address, movement_status, connection_status, driver_name, driver_phone, vehicle_label, vehicle_reg_number
      }
    }
    {
      "bounding_zone_ids": [123,...], // 0..100 zone IDs
      "bounding_mode": "inside", // or outside, optional when no bounding zones
      "place_ids": [234,...], // 0..100 place IDs
      "shorten_url": false, // optional, false by default
      "display_options": {
        "map": "roadmap", // or satellite, hybrid, or any other available map
        "autoscale": false, // optional, true by default
        "show_icons": false, // optional, false by default
        "show_driver_info": false, // optional, false by default
        "show_vehicle_info": false, // optional, false by default
        "trace_duration": 30 // in seconds, optional, 5 by default
      }
    }
    curl -X POST "https://api.eu.navixy.com/v2/tracker/location/link/create" \
        -H "Content-Type: application/json" \
        --data-binary @- << EOF
    {
      "hash": "a6aa75587e5c59c32d347da438505fc3",
      "lifetime": {
        "from": "2024-01-29 01:00:00",
        "to": "2024-01-30 01:00:00"
      },
      "description": "One tracker link",
      "trackers": [
        {
          "alias": "John Doe",
          "tracker_id": 14,
          "params": {
            "object_data": ["speed", "address"]
          }
        }
      ],
      "params": {
        "bounding_zone_ids": [123, 234],
        "bounding_mode": "inside",
        "place_ids": [987, 654],
        "display_options": {
          "map": "roadmap",
          "autoscale": false,
          "show_icons": false,
          "show_driver_info": false,
          "show_vehicle_info": false,
          "trace_duration": 30
        }
      }
    }
    EOF
    {
      "success": true,
      "value": 104
    }
    curl -X POST "https://api.eu.navixy.com/v2/tracker/location/link/update" \
        -H "Content-Type: application/json" \
        --data-binary @- << EOF
    {
      "hash": "a6aa75587e5c59c32d347da438505fc3",
      "id": 104,
      "lifetime": {
        "from": "2024-01-29 01:00:00",
        "to": "2024-01-30 01:00:00"
      },
      "description": "One tracker link",
      "trackers": [
        {
          "alias": "John Doe",
          "tracker_id": 14,
          "params": {
            "object_data": ["speed", "address"]
          }
        }
      ],
      "params": {
        "bounding_zone_ids": [123, 456],
        "bounding_mode": "inside",
        "place_ids": [987, 654],
        "shorten_url": false,
        "display_options": {
          "map": "roadmap",
          "autoscale": false,
          "show_icons": false,
          "show_driver_info": false,
          "show_vehicle_info": false,
          "trace_duration": 30
        }
      }
    }
    EOF
    {
      "success": true
    }
    curl -X POST 'https://api.eu.navixy.com/v2/tracker/location/link/status/change' \
        -H 'Content-Type: application/json' \
        -d '{"hash":"a6aa75587e5c59c32d347da438505fc3","id":104,"is_active":false}'
    {
      "success": true
    }
    curl -X POST 'https://api.eu.navixy.com/v2/tracker/location/link/read' \
        -H 'Content-Type: application/json' \
        -d '{"hash":"a6aa75587e5c59c32d347da438505fc3","id":103}'
    https://api.eu.navixy.com/v2/tracker/location/link/read?hash=a6aa75587e5c59c32d347da438505fc3&id=103
    {
      "success": true,
      "value": {
        "create_date": "2024-01-29 03:00:00",
        "creator_id": 3,
        "description": "Another one tracker",
        "enabled": true,
        "hash": "700d4a5400000000600d4a5400000103",
        "id": 103,
        "lifetime": {
          "from": "2024-01-30 00:00:00",
          "to": "2024-01-30 03:00:00"
        },
        "params": {
          "bounding_mode": "outside",
          "bounding_zone_ids": [
            51
          ],
          "display_options": {
            "autoscale": false,
            "map": "osm",
            "show_driver_info": false,
            "show_icons": false,
            "show_vehicle_info": false,
            "trace_duration": 0
          },
          "place_ids": null
        },
        "trackers": [
          {
            "alias": "Jane Doe",
            "params": {
              "object_data": []
            },
            "tracker_id": 15
          }
        ]
      }
    }
    curl -X POST 'https://api.eu.navixy.com/v2/tracker/location/link/list' \
        -H 'Content-Type: application/json' \
        -d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "offset": 0, "limit": 1000}'
    https://api.eu.navixy.com/v2/tracker/location/link/list?hash=a6aa75587e5c59c32d347da438505fc3&offset=0&limit=1000
    {
      "success": true,
      "list": [
        {
          "create_date": "2024-01-29 03:00:00",
          "creator_id": 3,
          "description": "Another one tracker",
          "enabled": true,
          "hash": "700d4a5400000000600d4a5400000103",
          "id": 103,
          "lifetime": {
            "from": "2024-01-30 00:00:00",
            "to": "2024-01-30 03:00:00"
          },
          "params": {
            "bounding_mode": "outside",
            "bounding_zone_ids": [51],
            "display_options": {
              "autoscale": false,
              "map": "osm",
              "show_driver_info": false,
              "show_icons": false,
              "show_vehicle_info": false,
              "trace_duration": 0
            },
            "place_ids": null
          },
          "trackers": [
            {
              "alias": "Jane Doe",
              "params": {
                "object_data": []
              },
              "tracker_id": 15
            }
          ]
        }
      ]
    }
    curl -X POST 'https://api.eu.navixy.com/v2/tracker/location/link/delete' \
        -H 'Content-Type: application/json' \
        -d '{"hash": "a6aa75587e5c59c32d347da438505fc3", "id": 103}'
    {
      "success": true
    }
    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

    Asset

    This section includes API calls that allow you to interact with tracks and retrieve track points for assets.


    API actions

    API path: asset/track.

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

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

    Parameters

    name
    description
    type
    format

    asset

    An object containing identifier and type to define a list of tracker identifiers. The list of tracker identifiers will be generated as a list of identifiers of trackers related to object with specified identifier and type. Permitted types: vehicle, employee.

    string

    "asset": {"id": 123, "type": "employee"}

    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

    Example

    For example, if we need to retrieve all trips for employee 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.

    Response

    • tracker_id – int. Tracker identifier.

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

    • from – date/time. This is timestamp of the start of the interval when the asset was attached to the tracker.

    • to date/time. This is timestamp of the end of the interval when the asset was attached to the tracker.

    • tracks an array of JSON objects containing track information.

    • total – result for all tracks:

      • count – int. Track count

      • length – float. Sum of the lengths of all tracks

    where track_info is either regular, single_report, merged or cluster:

    regular object:

    • id - int. Track id.

    • start_date - date/time. Track start date, in user's timezone.

    • start_address - string. Track start address.

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

    • bounds - object. North-west and south-east coordinates of the bounding box that contains all points.

    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/time. Date when the tracker registered the point, in user's timezone.

    • start_address - string. Point address.

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

    merged object. Only returned if "split" is set to false:

    • start_date - date/time. 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.

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

    • bounds - object. North-west and south-east coordinates of the bounding box that contains all points.

    cluster object. Can be returned only if "split" is set to true:

    • start_date - date/time. Track start date, in user's timezone.

    • start_address - string. Track start address.

    • end_date - date/time. Track end date, in user's timezone.

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

    Errors

    • 201 - Not found in database – the asset with ID from your request does not exist.

    • 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 trackers related to asset have 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

    asset

    An object containing identifier and type to define a list of tracker identifiers. The list of tracker identifiers will be generated as a list of identifiers of trackers related to object with specified identifier and type. Permitted types: vehicle, employee.

    string

    "asset": {"id": 123, "type": "employee"}

    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

    Example

    For instance, if we need to obtain track points for employee 1683258 that fall within November 1, without applying a smart filter, LBS points and simplifier. Since these optional parameters by default are true, we should list them in our request.

    Response

    • tracker_id - int. Tracker identifier.

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

    • from - date/time. This is timestamp of the start of the interval when the asset was attached to the tracker.

    • to - date/time. This is timestamp of the end of the interval when the asset was attached to the tracker.

    • track_points - array of JSON objects. A list of .

    point info

    • lat - float. Represents latitude.

    • lng - float. Represents longitude.

    • alt - int. Indicates the altitude in meters.

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

    errors

    • 201 - Not found in database – The asset with ID from your request does not exist.

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

    cURL
    curl -X POST '{{ extra.api_example_url }}/track/list' \
        -H 'Content-Type: application/json' \
        -d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "asset": {"id": 1683258, "type": "employee"}, "from": "2023-11-01 03:24:00", "to": "2023-11-30 06:24:00", "filter": false, "count_events": true}'
    {
      "success": true,
      "list": [
        {
          "tracker_id": 2793258,
          "limit_exceeded": false,
          "interval": {
            "from": "2023-11-01 03:00:00",
            "to": "2023-11-30 03:00:00"
          },
          "tracks": [track_info]
        }
      ],
      "total": {
        "count": 2,
        "length": 100.500,
        "trips_duration": "PT1D",
        "parking_duration": "PT1H",
        "norm_fuel_consumed": 11.08
      }
    }
    {
      "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 '{{ extra.api_example_url }}/track/read' \
        -H 'Content-Type: application/json' \
        -d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "asset": {"id": 1683258, "type": "employee"}, "from": "2023-11-01 00:00:00", "to": "2023-11-01 23:59:59", "filter": false, "simplify": false, "include_gsm_lbs": false}'
    {
      "success": true,
      "list": [
        {
          "tracker_id": 2793258,
          "limit_exceeded": false,
          "interval": {
            "from": "2023-11-01 03:00:00",
            "to": "2023-11-01 23:00:00"
          },
          "track_points": [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
    }
    trips_duration – ISO 8601 duration. Travel time
  • parking_duration – ISO 8601 duration. Parking duration

  • norm_fuel_consumed – optional float. Amount of fuel consumed during all tracks, measured in liters.

  • "2020-09-23 06:24:00"

    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

    "2020-09-23 06:24:00"

    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

    point info
    point info
    point info
    point info
    Parking detection

    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.

    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 .

    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

    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 to verify that the platform is receiving the data correctly.

    3. Calibrate the Sensor: If necessary, (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:

    • CAN and OBD sensor data:

    • Fuel sensor data:

    • Other metering sensor readings:

    Comprehensive sensor data

    To retrieve data from all sensors, states, and counters of a device, use the 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 API call.

    Historical sensor data

    To retrieve historical data from measurement sensors (up to 30 days), use the API call. Specify the sensor ID, which can be obtained using the 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 API call.

    Example for creating an odometer counter:

    Example for creating an engine hours counter:

    Retrieving counter values

    • Get all counter values:

    • Get specific counter type for one device:

    • Get counter values for multiple devices:

    Historical counter data

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

    Example response:

    Aggregated counter data

    To retrieve counted values for a specific period:

    • Mileage:

    • 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

    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

    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

    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

    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

    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

    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

    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

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

      Example:

    2. Current values Use the 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

    etc.

    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.

    field is required for the
    bit_index
    calculation method, and all values within "value_titles" must be unique.
    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:

    • Plugin ID: 7

    • Shows working duration for ignition-based sensors.

    Example:

  • Measuring sensors report

    • Plugin ID: 9

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

    Example:

  • Vehicle readings report

    • Plugin ID: 22

    • Shows data from vehicle instruments via CAN/OBD or virtual sensors.

    Example:

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

    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.

    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

    0

    No PTO drive engaged

    1

    At least one PTO drive engaged

    2

    Error

    3

    Not available

    DMS_001

    Driver fatigue detected

    DMS_002

    Driver distraction detected

    DMS_003

    Smoking detected

    DMS_004

    Phone usage detected

    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

    input_name documentation
    AirConsole
    calibrate the sensor
    get_inputs
    get_diagnostics
    get_fuel
    get_readings
    tracker/readings/list
    tracker/readings/batch_list
    tracker/sensor/data/read
    sensor/list
    value/set
    get_counters
    value/get
    value/list
    data/read
    stats/mileage
    stats/engine_hours
    tracker/sensor/create
    tracker/sensor/update
    tracker/sensor/data/read
    tracker/readings/batch_list
    {
      "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": "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}]}}'
    {
      "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"}]}}}'
    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}]}}'
    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}}'

    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 .

    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

    tracker_id

    ID of the tracker (aka "object_id"). The tracker must be associated with the user whose hash is being used for the request, and not tariff-blocked.

    int

    123456

    from

    The start date/time for your KML file's track points. The file begins with the next point after this time.

    "2020-09-23 03:24:00"

    to

    An end date/time for your KML file's track points. The file concludes with the last point before this time. Ensure this date is later than the "from" date.

    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

    tracker_id

    ID of the tracker (aka "object_id"). The tracker must be associated with the user whose hash is being used for the request, and not tariff-blocked.

    int

    123456

    from

    The start date/time for trips. The response begins with the next trip point after this time.

    "2020-09-23 03:24:00"

    to

    An end date/time for trips. The response concludes with the last point before this time. Ensure this date is later than the "from" date.

    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 - date/time. Track start date, in user's timezone.

    • start_address - string. Track start address.

    • max_speed - int. Maximum speed registered during track in km/h.

    • end_date - . 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 linked to the tracker or if "normAvgFuelConsumption" is not defined for the linked vehicle object.

    • type - : regular, single_report, merged, cluster. Track type.

    • gsm_lbs - optional boolean. GSM LBS point flag.

    • points_list - array of JSON objects. A list of .

    • bounds - object. North-west and south-east coordinates of the bounding box that contains all points.

    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/time. Date when the tracker registered the point, in user's timezone.

    • start_address - string. Point address.

    • avg_speed - int. Average speed in km/h.

    • gsm_lbs - optional boolean. GSM LBS point flag.

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

    merged object. Only returned if "split" is set to false:

    • start_date - date/time. 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.

    • end_date - . 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 linked to the tracker or if "normAvgFuelConsumption" is not defined for the linked vehicle object.

    • type - : regular, single_report, merged, cluster. Track type.

    • gsm_lbs - optional boolean. GSM LBS point flag.

    • points_list - array of JSON objects. A list of .

    • bounds - object. North-west and south-east coordinates of the bounding box that contains all points.

    cluster object. Can be returned only if "split" is set to true:

    • start_date - date/time. Track start date, in user's timezone.

    • start_address - string. Track start address.

    • end_date - date/time. Track end date, in user's timezone.

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

    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

    tracker_id

    ID of the tracker (aka "object_id"). The tracker must be associated with the user whose hash is being used for the request, and not tariff-blocked.

    int

    123456

    from

    The start date/time for trips. The response begins with the next trip point after this time.

    "2020-09-23 03:24:00"

    to

    An end date/time for trips. The response concludes with the last point before this time. Ensure this date is later than the "from" date.

    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.

    point info

    • lat - float. Represents latitude.

    • lng - float. Represents longitude.

    • alt - int. Indicates the altitude in meters.

    • satellites - int. Shows the number of GPS satellites used to determine this point.

    • mileage - float. Represents mileage.

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

    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

    tracker_id

    ID of the tracker (aka "object_id"). The tracker must be associated with the user whose hash is being used for the request, and not tariff-blocked.

    int

    123456

    from

    Start date/time for searching.

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

    to

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

    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.

    instructions
    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
        ]
      }
    }

    "2020-09-23 06:24:00"

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

    enum

    "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

    "2020-09-23 06:24:00"

    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

    "2020-09-23 06:24:00"

    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

    "2024-01-20 00:00:00"

    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

    date/time
    vehicle_object
    enum
    point info
    enum
    point info
    date/time
    vehicle_object
    enum
    point info
    enum
    date/time
    Parking detection
    date/time
    date/time
    date/time
    date/time
    date/time
    date/time
    date/time
    date/time

    Zone

    This document contains zone object description and CRUD actions for geofences.

    Working with geofences

    Geofences used in rules to limit rule area of activity. Also, geofence names shown in reports after the address, if an event happened inside the geofence.

    This document describes CRUD actions for geofences. Note that geofence points handled separately because they are represented by big arrays of data.

    Find instructions on working with geofences of different types .

    Entity description

    zone is JSON object with one of types: sausage, circle or polygon.

    circle:

    • id - int. Geofence ID.

    • label - string. Geofence label.

    • address - string. Geofence address.

    • color - string. Geofence color in 3-byte RGB hex format.

    • radius - int. Circle radius in meters.

    • center - location object. Location of circle center.

    • bounds - object. North-west and south-east coordinates of the axis-aligned minimum bounding box.

    • tags - int array. Array of tag IDs.

    polygon:

    • id - int. Geofence ID.

    • label - string. Geofence label.

    • address - string. Geofence address.

    • color - string. Geofence color in 3-byte RGB hex format.

    • points - optional array of objects.

    • bounds - object. North-west and south-east coordinates of the axis-aligned minimum bounding box that contains all points.

    • tags - int array. Array of tag IDs.

    sausage:

    Represents all points within certain distance to the specified polyline.

    • id - int. Geofence ID.

    • label - string. Geofence label.

    • address - string. Geofence address.

    • color - string. Geofence color in 3-byte RGB hex format.

    • radius - int. Polyline radius in meters.

    • points - optional array of objects.

    • bounds - object. North-west and south-east coordinates of the axis-aligned minimum bounding box that contains all points with a radius.

    • tags - int array. Array of tag IDs.

    API actions

    API base path: /zone.

    batch_convert

    Convert batch of tab-delimited circle geofences and return list of checked geofences with errors.

    required sub-user rights: zone_update.

    Parameters

    name
    description
    type

    batch

    Batch of tab-delimited places.

    string

    file_id

    ID of file preloaded with method.

    string

    fields

    Optional, array of field names, default is ["label", "address", "lat", "lng", "radius", "tags"].

    array

    geocoder

    Optional. Geocoder type.

    If 'file_id' is set – 'batch' parameter will be ignored.

    For batch parameter:

    • address - required if coordinates are not specified.

    • lat - required if address is not specified.

    • lng - required if address is not specified.

    Example

    cURL

    Response

    • id - int. Geofence ID.

    • label - string. Geofence label.

    • address - string. Geofence address.

    • color - string. Geofence color in 3-byte RGB hex format.

    • radius - int. Circle radius in meters.

    • center - location object. Location of the circle center.

    • bounds - object. North-west and south-east coordinates of the axis-aligned minimum bounding box.

    • tags - int array. Array of tag IDs.

    • limit_exceeded - boolean. true if given batch constrained by limit.

    Response with errors object

    • errors - optional object. It appears if parameters are incorrect.

      • parameter - string. Parameter name.

      • error - string. Error description.

    Errors

    • 234 - Invalid data format.

    create

    Creates a new geofence.

    required sub-user rights: zone_update.

    Parameters

    name
    description
    type

    zone

    zone JSON-object without id and color fields.

    JSON object

    points

    Array of new for this geofence. Must contain at least 3 elements. MUST be omitted if zone does not support points (e.g. circle).

    array of zone point objects

    zone.color

    Optional. Geofence color in 3-byte RGB hex format. Default is "27A9E3".

    string

    Example

    cURL

    Response

    • id - int. An ID of the created geofence.

    Errors

    • 202 - Too many points in a geofence – max allowed count of points for a geofence is 500 for a polygon or 1024 for sausage.

    • 230 - Not supported for this entity type – if "points" were specified, but geofence cannot have any points associated with it (e.g. if geofence is circle).

    • 268 - Over quota – if the user's quota for geofences exceeded.

    • 284 - Not enough points for the zone. The minimum number of points for polygon: 3; the minimum for sausage: 2.

    delete

    Deletes user's geofence by zone_id or array of zone_ids.

    required sub-user rights: zone_update.

    Parameters

    name
    description
    type
    format

    zone_id

    ID of a geofence.

    int

    1234567

    zone_ids

    Array of geofence IDs.

    int array

    [1234567, 2345678]

    • Use only one parameter zone_id or zone_ids.

    Examples

    Response

    Errors

    • 201 - Not found in the database.

    • 203 - Delete entity associated with.

    • ids - int array. List IDs of the rules which uses the specified geofence.

    list

    Gets all user geofences.

    Parameters

    name
    description
    type

    filter

    Optional. Filter for geofences label and description.

    string

    tag_ids

    Optional. Tag IDs assigned to the geofences. The zones found must include all the tags from the list.

    int array

    offset

    Optional. Offset from start of the found geofences for pagination.

    int

    limit

    Optional. Limit of the found geofences for pagination.

    int

    Examples

    Response

    • list - array of objects. Geofence objects with optional points field.

    read

    Gets geofence by specified ID.

    Parameters

    name
    description
    type

    zone_id

    ID of a geofence.

    int

    with_points

    Optional, default=false. If true, return geofence with its

    boolean

    Examples

    Response

    • value - Geofence object with optional points field.

    search_location

    Gets all geofence IDs and names within which a specified coordinates are located inside.

    Parameters

    name
    description
    type

    location

    Location coordinates (see: section).

    JSON object

    Example

    cURL

    Response

    • id - int. Geofence ID that containing a searched location.

    • label - string. Geofence name.

    update

    Update geofence parameters for the specified geofence.

    Notes:

    • The geofence must exist, belong to the current user, and its type cannot be modified. For example, if you already have a geofence with ID=1 of type "circle", you cannot submit a geofence with the same ID but of type "polygon".

    • If the zone object is of type sausage or polygon and contains an array of points, these points will be updated. Alternatively, you can update the points using the zone/point/update endpoint.

    required sub-user rights: zone_update.

    Parameters

    name
    description
    type

    zone

    Geofence JSON-object with id and color fields.

    JSON object

    zone.color

    Optional. Geofence color in 3-byte RGB hex format. Default is "27A9E3".

    string

    Example

    cURL

    Response

    Errors

    • 201 - Not found in the database: if the geofence with specified ID cannot be found or belongs to another user.

    • 231 - Entity type mismatch: if the type of submitted geofence differs from the type of geofence currently stored in the database.

    upload

    Import geofences from a KML file.

    required sub-user rights: zone_update.

    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

    file

    A KML file upload containing geofences data.

    file upload

    default_radius

    Default radius for circle and route geofence in meters. Min 20, default 150.

    int

    dry_run

    If true returns ready to create geofences or creates it and returns list of IDs otherwise. Default true.

    boolean

    redirect_target

    Optional. URL to redirect. If redirect_target passed return redirect to <redirect_target>?response=<urlencoded_response_json>

    string

    Responses

    if dry_run=true:

    if dry_run=false:

    Errors

    • 202 - Too many points in a geofence – max allowed count of points for a geofence is 500 for a polygon or 1024 for sausage.

    • 233 - No data file – if file part is missing.

    • 234 - Invalid data format.

    • 268 - Over quota – if the user's quota for geofences exceeded.

    • 284 - Not enough points for the zone. The minimum number of points for polygon: 3; the minimum for sausage: 2.

    From Placemark with Point geometry will be created circle geofence using the radius from extended data or the default value if not specified.

    From Placemark with LineString geometry will be created route geofence using the radius from extended data or the default value if not specified.

    From Placemark with Polygon geometry will be created polygon geofence. Polygons with holes are not supported. In that case, only the outer boundary will be imported and the inner boundary, holes, ignored.

    From Placemark with MultiGeometry geometry will be created several geofences. If Placemark.name defined it will be used as geofence name with respect of hierarchy of Folder and Document.

    download

    Download geofences as KML File.

    Parameters

    name
    description
    type

    format

    Optional. File format, either "kml" or "kmz". Default is "kml".

    zone_ids

    Optional. Array of geofence IDs. If null, all available geofences will be downloaded.

    int array

    Example

    cURL

    Response

    A KML/KMZ file with the points (standard file download).

    here
    curl -X POST 'https://api.eu.navixy.com/v2/zone/delete' \
        -H 'Content-Type: application/json' \
        -d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "zone_id": 1234567}'
    https://api.eu.navixy.com/v2/zone/delete?hash=a6aa75587e5c59c32d347da438505fc3&zone_id=1234567
    curl -X POST 'https://api.eu.navixy.com/v2/zone/list' \
        -H 'Content-Type: application/json' \
        -d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b"}'
    https://api.eu.navixy.com/v2/zone/list?hash=a6aa75587e5c59c32d347da438505fc3
    curl -X POST 'https://api.eu.navixy.com/v2/zone/read' \
        -H 'Content-Type: application/json' \
        -d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "zone_id": 12345}'
    https://api.eu.navixy.com/v2/zone/read?hash=a6aa75587e5c59c32d347da438505fc3&zone_id=12345
    {
      "id": 985472,
      "type": "circle",
      "label": "Zone name",
      "address": "Karlsplatz, 2",
      "color": "27A9E3",
      "radius": 150,
      "center": {
        "lat": 48.200940,
        "lng": 16.369856
      },
      "bounds": {
        "nw": {
          "lat": 48.202289,
          "lng": 16.367832
        },
        "se": {
          "lat": 48.199591,
          "lng": 16.371880
        }
      },
      "tags": [127, 15]
    }
    {
      "id": 124597,
      "type": "polygon",
      "label": "Geofence name",
      "address": "Karlsplatz, 2",
      "color": "27A9E3",
      "points": [<point>, ...],
      "bounds": {
        "nw": {
          "lat": 48.202289,
          "lng": 16.367832
        },
        "se": {
          "lat": 48.199591,
          "lng": 16.371880
        }
      },
      "tags": [1, 236]
    }
    {
      "id": 12345,
      "type": "sausage",
      "label": "Geofence name",
      "address": "Karlsplatz, 2",
      "color": "27A9E3",
      "radius": 150,
      "points": [<point>, ...],
      "bounds": {
        "nw": {
          "lat": 48.202289,
          "lng": 16.367832
        },
        "se": {
          "lat": 48.199591,
          "lng": 16.371880
        }
      },
      "tags": [289]
    }
    curl -X POST 'https://api.eu.navixy.com/v2/zone/batch_convert' \
        -H 'Content-Type: application/json' \
        -d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "batch": "Geofence for test Karlsplatz, 2"}'
    {
      "success": true,
      "list": [
        {
          "id": null,
          "type": "circle",
          "label": "Geofence name",
          "address": "Karlsplatz, 2",
          "color": "27A9E3",
          "radius": 100,
          "center": {
            "lat": 48.2009935,
            "lng": 16.3699642
          },
          "bounds": {
            "nw": {
              "lat": 48.202289,
              "lng": 16.367832
            },
            "se": {
              "lat": 48.199591,
              "lng": 16.371880
            }
          },
          "tags": []
        }
      ],
      "limit_exceeded": false
    }
    {
      "success": true,
      "list": [
        {
          "id": null,
          "label": "Geofence name",
          "address": "incorrect address",
          "color": "27A9E3",
          "radius": 100,
          "center": {
            "lat": 0.0,
            "lng": 0.0
          },
          "errors": [
            {
              "parameter": "zone.center",
              "error": "Location should be correct with 'lat' and 'lng' not null"
            }
          ],
          "tags": []
        }
      ],
      "limit_exceeded": false
    }
    curl -X POST 'https://api.eu.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"}}'
    {
      "success": true,
      "id": 1234567
    }
    {
      "success": true
    }
    {
      "success": false,
      "status": {
        "code": 203,
        "description": "Delete entity associated with"
      },
      "entities": [
        {
          "type": "rules",
          "ids": [12345, 23456]
        }
      ]
    }
    {
      "success": true,
      "list": [
        {
          "id": 12345,
          "type": "sausage",
          "label": "Zone name",
          "address": "Karlsplatz, 2",
          "color": "27A9E3",
          "radius": 150,
          "points": [<point>, ...],
          "tags": [289]
        }
      ]
    }
    {
      "success": true,
      "value": {
        "id": 12345,
        "type": "sausage",
        "label": "Zone name",
        "address": "Karlsplatz, 2",
        "color": "27A9E3",
        "radius": 150,
        "points": [<point>, ...],
        "tags": [289]
      }
    }
    curl -X POST 'https://api.eu.navixy.com/v2/zone/search_location' \
        -H 'Content-Type: application/json' \
        -d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "location": {"lat": 34.178868, "lng": -118.599672}}'
    {
      "list": [
        {
          "id": 18404,
          "label": "geofence 1"
        },
        {
          "id": 35284,
          "label": "geofence 2"
        }
      ],
      "success": true
    }
    curl -X POST 'https://api.eu.navixy.com/v2/zone/update' \
        -H 'Content-Type: application/json' \
        -d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "zone": {"id": 231512 "label": "Circle geofence", "type": "circle", "center": {"lat": 61.49504550221769, "lng": 23.775476217269897}, "radius": 50, "tags": [179227], "color": "03A9F4", "address":"Address"}}'
    {
      "success": true
    }
    {
      "success": true,
      "list": [
        {
          "id": null,
          "label": "Simple line 1",
          "address": "",
          "color": "27A9E3",
          "points": [
            {
              "lat": 37.818844,
              "lng": -122.366278,
              "node": true
            },
            {
              "lat": 37.819267,
              "lng": -122.365248,
              "node": false
            },
            {
              "lat": 37.819861,
              "lng": -122.36564,
              "node": false
            },
            {
              "lat": 37.819429,
              "lng": -122.366669,
              "node": true
            }
          ],
          "radius": 150,
          "type": "sausage"
        }
      ]
    }
    {
      "success": true,
      "list": [1, 2]
    }
    <?xml version="1.0" encoding="UTF-8"?>
    <kml xmlns="http://www.opengis.net/kml/2.2">
        <Document>
            <name>Points</name>
            <ExtendedData>
                <Data name="radius">
                    <value>300</value>
                </Data>
            </ExtendedData>
            <Placemark>
                <name>named point</name>
                <Point>
                    <coordinates>
                        -122.366278,37.818844,30
                    </coordinates>
                </Point>
            </Placemark>
        </Document>
    </kml>
    <?xml version="1.0" encoding="UTF-8"?>
    <kml xmlns="http://www.opengis.net/kml/2.2">
        <Document>
            <name>Simple line</name>
            <ExtendedData>
                <Data name="radius">
                    <value>300</value>
                </Data>
            </ExtendedData>
            <Placemark>
                <LineString>
                    <coordinates>
                        -122.366278,37.818844,30
                        -122.365248,37.819267,30
                        -122.365640,37.819861,30
                        -122.366669,37.819429,30
                    </coordinates>
                </LineString>
            </Placemark>
        </Document>
    </kml>
    <?xml version="1.0" encoding="UTF-8"?>
    <kml xmlns="http://www.opengis.net/kml/2.2">
        <Document>
            <name>Simple polygon</name>
            <Placemark>
                <name>hollow box</name>
                <Polygon>
                    <outerBoundaryIs>
                        <LinearRing>
                            <coordinates>
                                -122.366278,37.818844,30
                                -122.365248,37.819267,30
                                -122.365640,37.819861,30
                                -122.366669,37.819429,30
                                -122.366278,37.818844,30
                            </coordinates>
                        </LinearRing>
                    </outerBoundaryIs>
                </Polygon>
            </Placemark>
        </Document>
    </kml>
    curl -X POST 'https://api.eu.navixy.com/v2/zone/download' \
        -H 'Content-Type: application/json' \
        -d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b"}'
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <kml xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:xal="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0">
        <Document>
            <name>zones</name>
            <Placemark>
                <name>polygon_zone</name>
                <visibility>1</visibility>
                <Polygon>
                    <outerBoundaryIs>
                        <LinearRing>
                            <coordinates>44.7489290062,41.7201261755 44.7572878562,41.7208046390 44.7562364303,41.7190268459</coordinates>
                        </LinearRing>
                    </outerBoundaryIs>
                </Polygon>
            </Placemark>
            <Placemark>
                <name>circle_zone</name>
                <visibility>1</visibility>
                <ExtendedData>
                    <Data name="radius">
                        <value>300</value>
                    </Data>
                </ExtendedData>
                <Point>
                    <coordinates>44.7463912723,41.7096716534</coordinates>
                </Point>
            </Placemark>
            <Placemark>
                <name>sausage_zone</name>
                <visibility>1</visibility>
                <ExtendedData>
                    <Data name="radius">
                        <value>300</value>
                    </Data>
                </ExtendedData>
                <LineString>
                    <coordinates>44.7288827746,41.7176609187 44.7340679137,41.7181063157 44.7384917427,41.7187820845</coordinates>
                </LineString>
            </Placemark>
        </Document>
    </kml>

    default_radius

    Optional. Radius for point, default is 100.

    int

    with_points

    Optional, default=false. If true, return geofence with its points

    boolean

    Geofence points
    Geofence points
    /data/spreadsheet/parse
    enum
    enum
    points
    points
    data types description section
    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 api/tracker/settings/special/read,

  • update special settings with api/tracker/settings/special/update,

  • perform special control with api/tracker/send_command.

  • 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

    tracker_id

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

    int

    123456

    type

    Optional. Type of special object.

    "electronic_lock_password"

    Examples

    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

    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 - enum. Can be "enable" | "disable".

    • ext_input_mode - enum. Can be "enable" | "disable".

    • sos_button_mode - enum. Can be "enable" | "disable".

    auto_geofence_telfm

    • mode - enum. Can be "enable" | "disable".

    • activation_timeout - int. 0-65535 seconds.

    • radius - int. 50 - 10000 meters.

    bce_tacho_control

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

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

    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.

      • acceleration - 0.2 - 0.8.

      • deceleration - 0.3 - 1.0.

      • crash - 1.0 - 2.0.

      • sharp_turn

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

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

    harsh_behavior_hua_sheng

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

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

    hbm_telfm

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

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

    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 - enum. Can be "enable" | "disable".

    • high_speed - int. Can be 100 - 400.

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

    hbm_ms_ql

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

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

    harsh_behavior_bce

    • is_switched_off - boolean.

    • acceleration_limit - double. Can be 0.04 - 3.

    • braking_limit - double. Can be 0.04 - 3.

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

    • braking_detection_time - int. Can be 0 - 10.

    harsh_behavior_tramigo

    • mode - enum. 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 - enum. Can be "enable" | "disable".

    • x - double. Can be 0 - 2.55.

    • y - double. Can be 0 - 2.55.

    • z - double. Can be 0 - 2.55.

    hua_sheng_vibration_sensitivity

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

    JSON-schema:

    ign_src_suntech

    • mode - enum. 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 - enum. 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 - enum. Can be "enable" | "disable".

    scat_mayak_bt_control

    • function - enum. Can be "bt_disable" | "bt_enable" | "bt_clear" | "bt_write".

    • bt_state - boolean.

    sos_key

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

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

    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 - enum. 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 - enum. 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_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_detection_ql2

    • mode - enum. 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_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.

    tow_detection_telfm

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

    • motion_duration_to_on – A time parameter to make sure the device enters motion status. 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

    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

    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.

    {
      "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
    }
    - 0.3 - 0.9.
    enum

    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.

    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.

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

    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.

    • 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 when the tracker registered.

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

  • tag_binding - object. List of attached tags. Appears only for tracker/list 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.

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

    API actions

    API base path: /tracker.

    read

    Gets tracker info by ID.

    Parameters

    name
    description
    type
    format

    tracker_id

    ID of the tracker (aka "object_id")

    int

    999199

    Examples

    Response

    See tracker object structure description here.

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

    Parameters

    name
    description
    type
    format

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

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

    Errors

    General 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

    tracker_id

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

    int

    999119

    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.

    • 252 – Device already corrupted.

    • 208 – Device blocked.

    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

    tracker_id

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

    int

    999119

    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

    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

    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.

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

    get_diagnostics

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

    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

    999119

    Examples

    Response

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

    • inputs - list of sensor value objects.

      • label - string. Sensor's label. E.g. "Sensor #1".

      • name - . Name of sensor's raw input.

      • type - . 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 - . Unit of measurement of input to the sensor.

      • units - string. User label for sensor's units.

      • converted_units_type - . 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 and time when the data updated.

    List of available sensor's input names for the object sensor value:

    • obd_consumption.

    • obd_rpm.

    • obd_fuel.

    • obd_coolant_t.

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

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

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

    You can locate all inputs, states, and definitions by utilizing the tracker/sensor/input_name/list 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

    tracker_id

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

    int

    999119

    Examples

    Response

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

    • 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 and time when the data updated.

    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

    tracker_id

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

    int

    999119

    Examples

    Response

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

      • type - . One of predefined semantic

      • 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 and time when the data updated.

    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

    trackers

    IDs of the trackers (aka "object_id"). Each tracker must belong to authorized user and not be blocked.

    int array

    [999199, 999919]

    Examples

    Response

    • user_time - date/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 - 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 and time when the data updated.

    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

    tracker_id

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

    int

    999119

    Examples

    === "HTTP GET"

    Response

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

    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

    trackers

    IDs of the trackers (aka "object_id"). Each tracker must belong to authorized user and not be blocked.

    int array

    [999199, 999919]

    Examples

    Response

    • result - object. Array of output info objects described here 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

    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.

    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

    tracker_id

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

    int

    999119

    Examples

    Response

    • value - track point object.

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

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

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

    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

    tracker_id

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

    int

    999119

    Examples

    Response

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

    • inputs - list of sensor value objects. See below.

      • label - string. Sensor's label. E.g. "Sensor #1".

      • name - . Name of sensor's raw input.

      • type - . 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 - . Unit of measurement of input to the sensor.

      • units - string. User label for sensor's units.

      • converted_units_type - . 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 and time when the data updated.

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

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

    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

    tracker_id

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

    int

    999119

    Examples

    Response

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

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

    • gps - gps object.

      • updated - . 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 - . Device connection status, possible values: "signal_lost", "just_registered", "just_replaced", "offline", "idle", "active".

    • movement_status - . Movement status, possible values: "moving", "stopped", "parked".

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

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

    • actual_track_update - . When the last track was updated last time, when device last time moved.

    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

    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

    Examples

    cURL

    Response

    • user_time - date/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 tracker/get_state response).

    • blocked - array of tracker IDs. Returned only if list_blocked=true.

    • not_exist - array of tracker IDs. Returned only if allow_not_exist=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

    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

    Examples

    Response

    • id - int. Model ID.

    • vendor - string. Vendor name.

    • code - string. Model text code

    • parent_code - string. Can be null.

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

    • 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 - . Can be "none", "default", "batch", "stateless", "async", "async_offline" or "batch_async".

    • special_control - string. Additional specific types of tracker control (see ). If multiple are separated by commas.

    • inputs - array of . All available input types.

    • state_fields - array of . All available state fields.

    • rules - array of . Supported rules.

    • special_settings - array of . Additional specific types of tracker control (see ).

    • sms_control - array of . 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 .

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

    ID type

    An ID type used to determine the information needed to register device in our system (see tracker/register).

    Possible values are:

    • imei – means device uses IMEI as its identifier, e.g. "356938035643809". See Wikipedia article. 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 Wikipedia article.

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

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

    Errors

    General types only.

    tags/set

    Set tags for a tracker. Tags must be created.

    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

    999119

    tag_bindings

    List of tag_binding objects.

    array of Json objects

    [{"tag_id" : 1, "ordinal" : 1}, {"tag_id" : 2, "ordinal" : 2}]

    Examples

    cURL

    Response

    Errors

    General 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

    tracker_id

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

    int

    999119

    type

    Optional. Default type sms.

    "sms"

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

    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.

    • 256 – Location already actual.

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

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

    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

    model

    A code of one of the supported models. See .

    string

    Examples

    In this example we use plugin ID = 37 (see Plugin description) 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 tracker/.

    Errors

    • 13 – Operation not permitted – if user has insufficient rights.

    • 204 – Entity not found - if specified group does not exist. See group/list.

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

    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

    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

    Examples

    Response

    For tracker object structure, see tracker/.

    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.

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

    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

    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

    imei

    Tracker's IMEI.

    string

    Examples

    Response

    For tracker object structure, see tracker/.

    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.

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

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

    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 .

    string

    "pt10"

    device_id

    Must be specified if device model uses fixed device ID. See .

    string

    Examples

    In this example we use plugin ID = 37 (see Plugin description) 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 tracker/.

    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 group/list.

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


    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

    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"

    Examples

    Response

    For tracker object structure, see tracker/.

    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.

    • 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


    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

    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

    Examples

    Response

    For tracker object structure, see tracker/.

    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.

    • 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


    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

    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

    command types

    electronic_lock_command

    This command used to seal/unseal electronic lock.

    • command_code - enum. Can be "seal" or "unseal".

    • special_settings - This command is equivalent to API call tracker/settings/special/update.

    See special settings JSON object

    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

    999119

    command

    Command that will be sent to device. Not Null.

    JSON object

    See format above

    Examples

    cURL

    Response

    For tracker object structure, see tracker/.

    Errors

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

    required sub-user rights: tracker_configure, tracker_set_output.

    Parameters

    name
    description
    type

    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

    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:

    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
    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
    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
    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
    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
    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
    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
    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]
    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
    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]
    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
    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
    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
    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
    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
    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
    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
    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
    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
    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
    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
    {
      "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
        }
      ]
    }
    {
      "number": 1,
      "title": "OUT1"
    }
    {
      "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
      }
    }
    {
      "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
            }
          ]
        }
      ]
    }
    {
      "success": true
    }
    {
      "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
    }
    {
      "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"
    }
    {
      "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"
    }
    {
      "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"
    }
    {
      "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"
    }
    {
      "success": true,
      "result": [<output info>]
    }
    {
      "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
    }
    {
      "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
      }
    }
    {
      "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"
    }
    {
      "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
    }
    {
      "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
    }
    {
      "success": true
    }
    {
      "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
      }
    }
    {
      "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": 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": 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
      }
    }
    {
      "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": 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"
        }
      ]
    }

    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.

  • updated - date/time. Date of last hardware key update in a timezone of the user or null if there are no updates.

    max_charge - float. Maximum battery level. Used to calculate the current battery level.

    url - string. Uniform Resource Locator - full details for the connection. Such as protocol, host, port, credentials, etc.

  • description - string. Connection details.

  • "fast.tmobile.com"

    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"

    true/false

    [model_1, model_2, ...]

    "pt10"

    plugin_id

    An ID of a registration plugin which will be used to register the device. See Registration plugins.

    int

    37

    device_id

    Must be specified if device model uses fixed device ID. See tracker/list_models.

    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

    "fast.tmobile.com"

    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

    "35645587458999"

    "4568005588562"

    plugin_id

    An ID of a registration plugin which will be used to register the device. See Registration plugins.

    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

    "tmobile"

    apn_password

    The password of GPRS APN of the sim card inserted into device.

    string

    "tmobile"

    date/time
    date/time
    enum
    enum
    enum
    enum
    date/time
    date/time
    enum
    input types
    date/time
    date/time
    enum
    enum
    enum
    enum
    date/time
    date/time
    enum
    enum
    date/time
    date/time
    date/time
    date/time
    date/time
    date/time
    date/time
    date/time
    enum
    enum
    settings/special
    enum
    enum
    enum
    enum
    settings/special
    enum
    sensors
    output info
    enum
    group/list
    tracker/list_models
    group/list
    tracker/list_models
    tracker/list_models

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