{
"openapi": "3.0.0",
"info": {
"version": "3.7.4",
"title": "ThingPark X Location Engine Binder API",
"description": "API providing binder configuration and query capabilities on top of the ThingPark Location solution."
},
"externalDocs": {
"description": "For more information, please check the online examples in this documentation.",
"url": "../doc/index.html"
},
"tags": [
{
"name": "Feed",
"description": "Feed operations are used to provide geolocation data (coordinates, payload, solver input) for further processing."
},
{
"name": "BinderConfig",
"description": "Binder configuration operations are used to configure connection between ThingPark Location Engine and LoRa operators. Currently only the ThingPark Location Engine can be configured to push downlink commands to a target HTTP server."
}
],
"paths": {
"/feeds": {
"post": {
"summary": "Feed request",
"description": "Feeds the platform with geolocation data. Data is then dispatched and processed based on available information.",
"x-since-version": "0.1.0",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Feed"
},
"examples": {
"Feed request with coordinates": {
"$ref": "#/components/examples/feedRequestCoordinates"
},
"Feed request with trackerOutput": {
"$ref": "#/components/examples/feedRequestTrackerOutput"
},
"Feed request with payload Generic": {
"$ref": "#/components/examples/feedRequestPayload"
},
"Feed request with input for the WiFi solver": {
"$ref": "#/components/examples/feedRequestWifi"
},
"Feed request with payload for GPS": {
"$ref": "#/components/examples/feedRequestPayloadGPS"
},
"Feed request with payload for AGPS": {
"$ref": "#/components/examples/feedRequestPayloadAGPS"
},
"Feed request with input for the TDoA/RSSI solver": {
"$ref": "#/components/examples/feedRequestTdoarssi"
}
}
},
"application/xml": {
"schema": {
"$ref": "#/components/schemas/Feed"
}
}
},
"description": "Contents of the feed request.",
"required": true
},
"tags": [
"Feed"
],
"responses": {
"201": {
"description": "Feed request performed successfully."
},
"400": {
"description": "Bad request - Invalid Feed object."
},
"401": {
"description": "Unauthorized - invalid api key."
},
"403": {
"description": "Validation Error - device association check failure."
}
},
"security": [
{
"bearerAuth": [],
"Dx-Admin": [],
"keycloak": []
}
]
}
},
"/binderConfigs": {
"get": {
"summary": "Binder configurations retrieval",
"description": "Retrieves the list of existing binder configurations.",
"x-since-version": "1.2.0",
"tags": [
"BinderConfig"
],
"responses": {
"200": {
"description": "Binder with their configurations retrieved successfully.",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BinderConfig"
}
},
"example": [
{
"ref": "4b689889-c6e3-465a-85e2-7b6d346e2c11",
"deviceEUIList": "70B3D53260001A75,70B3D53260001A76,70B3D53260001A77",
"callbackURL": "https://targetpushserver/listener"
}
]
},
"application/xml": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BinderConfig"
}
}
}
}
}
},
"security": [
{
"bearerAuth": [],
"Dx-Admin": [],
"keycloak": []
}
]
},
"post": {
"summary": "Binder configuration creation",
"description": "Creates a new binder configuration.",
"x-since-version": "1.2.0",
"tags": [
"BinderConfig"
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BinderConfig"
},
"example": {
"deviceEUIList": "70B3D53260001A75,70B3D53260001A76,70B3D53260001A77",
"callbackURL": "https://targetpushserver/listener"
}
},
"application/xml": {
"schema": {
"$ref": "#/components/schemas/BinderConfig"
}
}
},
"description": "Contents of the binder configuration to create.",
"required": true
},
"responses": {
"201": {
"description": "Binder configuration created successfully.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BinderConfig"
},
"example": {
"ref": "4b689889-c6e3-465a-85e2-7b6d346e2c11",
"deviceEUIList": "70B3D53260001A75,70B3D53260001A76,70B3D53260001A77",
"callbackURL": "https://targetpushserver/listener"
}
},
"application/xml": {
"schema": {
"$ref": "#/components/schemas/BinderConfig"
}
}
}
},
"400": {
"description": "Bad request - Invalid BinderConfig object."
}
},
"security": [
{
"bearerAuth": [],
"Dx-Admin": [],
"keycloak": []
}
]
},
"delete": {
"summary": "Binder configurations deletion",
"description": "Deletes the all the binder configurations corresponding to the provided user.",
"x-since-version": "3.6.0",
"parameters": [
{
"in": "query",
"name": "deviceEUI",
"description": "the device EUI of the binder configs.",
"required": true,
"schema": {
"type": "string",
"example": "20635F0102000050"
}
},
{
"in": "query",
"name": "dxProfileId",
"description": "Mandatory in case of B2B operator token. In case of B2B subscriber token, it can be left empty, or the same as in the token.",
"required": false,
"schema": {
"type": "string",
"example": "dev1-api"
}
},
{
"in": "query",
"name": "customerId",
"description": "Mandatory in case of B2B operator token. In case of B2B subscriber token, it can be left empty, or the same as in the token.",
"required": false,
"schema": {
"type": "string",
"example": 100001180
}
},
{
"in": "query",
"name": "parentRealmId",
"description": "Mandatory in case of B2C operator token.",
"required": false,
"schema": {
"type": "string",
"example": "tpw-users-dev-ope"
}
},
{
"in": "query",
"name": "realmId",
"description": "Mandatory in case of B2C operator token.",
"required": false,
"schema": {
"type": "string",
"example": "le-lab"
}
},
{
"in": "query",
"name": "userId",
"description": "Mandatory in case of B2C operator token.",
"required": false,
"schema": {
"type": "string",
"example": "4b689889-c6e3-465a-85e2-7b6d346e2c11"
}
}
],
"tags": [
"BinderConfig"
],
"responses": {
"204": {
"description": "Binder configurations are deleted successfully."
},
"400": {
"description": "Bad request - BinderConfig object not found."
},
"401": {
"description": "Permission denied - User doesn't have access to this BinderConfig."
}
},
"security": [
{
"bearerAuth": [],
"Dx-Admin": [],
"keycloak": []
}
]
}
},
"/binderConfigs/{binderConfigRef}": {
"get": {
"summary": "Binder configuration retrieval",
"description": "Retrieves the binder configuration corresponding to the provided ref.",
"x-since-version": "1.2.0",
"parameters": [
{
"in": "path",
"name": "binderConfigRef",
"description": "Ref of the binder configuration to retrieve.",
"required": true,
"schema": {
"type": "string"
}
}
],
"tags": [
"BinderConfig"
],
"responses": {
"200": {
"description": "Binder configuration retrieved successfully.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BinderConfig"
},
"example": {
"ref": "4b689889-c6e3-465a-85e2-7b6d346e2c11",
"deviceEUIList": "70B3D53260001A75,70B3D53260001A76,70B3D53260001A77",
"callbackURL": "https://targetpushserver/listener"
}
},
"application/xml": {
"schema": {
"$ref": "#/components/schemas/BinderConfig"
}
}
}
},
"401": {
"description": "Permission denied - User doesn't have access to this BinderConfig."
}
},
"security": [
{
"bearerAuth": [],
"Dx-Admin": [],
"keycloak": []
}
]
},
"put": {
"summary": "Binder configuration update",
"description": "Updates the binder configuration corresponding to the provided ref.",
"x-since-version": "1.2.0",
"parameters": [
{
"in": "path",
"name": "binderConfigRef",
"description": "Ref of the binder configuration to update.",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BinderConfig"
},
"example": {
"deviceEUIList": "70B3D53260001A75,70B3D53260001A76,70B3D53260001A77",
"callbackURL": "https://newpushserver/other_listener"
}
},
"application/xml": {
"schema": {
"$ref": "#/components/schemas/BinderConfig"
}
}
},
"description": "Contents of the binder configuration to update.",
"required": true
},
"tags": [
"BinderConfig"
],
"responses": {
"200": {
"description": "Binder configuration updated successfully.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BinderConfig"
},
"example": {
"ref": "4b689889-c6e3-465a-85e2-7b6d346e2c11",
"deviceEUIList": "70B3D53260001A75,70B3D53260001A76,70B3D53260001A77",
"callbackURL": "https://newpushserver/other_listener"
}
},
"application/xml": {
"schema": {
"$ref": "#/components/schemas/BinderConfig"
}
}
}
},
"400": {
"description": "Bad request - Missing ref in BinderConfig object, or BinderConfig not found."
},
"401": {
"description": "Permission denied - User doesn't have access to this BinderConfig."
}
},
"security": [
{
"bearerAuth": [],
"Dx-Admin": [],
"keycloak": []
}
]
},
"delete": {
"summary": "Binder configuration deletion",
"description": "Deletes the binder configuration corresponding to the provided ref.",
"x-since-version": "1.2.0",
"parameters": [
{
"in": "path",
"name": "binderConfigRef",
"description": "Ref of the binder configuration to delete.",
"required": true,
"schema": {
"type": "string",
"example": "4b689889-c6e3-465a-85e2-7b6d346e2c11"
}
}
],
"tags": [
"BinderConfig"
],
"responses": {
"204": {
"description": "Binder configuration deleted successfully."
},
"400": {
"description": "Bad request - BinderConfig object not found."
},
"401": {
"description": "Permission denied - User doesn't have access to this BinderConfig."
}
},
"security": [
{
"bearerAuth": [],
"Dx-Admin": [],
"keycloak": []
}
]
}
}
},
"servers": [
{
"url": "{module}/api",
"variables": {
"module": {
"default": ""
}
}
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"description": "Enter your access token here without prefix \"bearer \" ",
"type": "http",
"scheme": "bearer",
"bearerFormat": "JWT"
},
"keycloak": {
"type": "oauth2",
"flows": {
"implicit": {
"authorizationUrl": "https://system.preview.thingpark.com/auth/realms/le-lab/protocol/openid-connect/auth",
"scopes": {}
}
}
},
"Dx-Admin": {
"description": "**This authorization is deprecated. Service account authentication should be used.**\n\nEnter your ThingPark credentials with dx-profile-id as prefix. \n\nExample: dev1-api/test@abeeway.com\n",
"type": "oauth2",
"flows": {
"clientCredentials": {
"tokenUrl": "/admin/latest/api/oauth/token",
"scopes": {}
}
}
}
},
"schemas": {
"Feed": {
"description": "Resource representing a feed to be processed by ThingPark Location. When defining a feed, 'deviceEUI' and 'time' attributes are mandatory. Either 'coordinates' attribute or 'solverInput' attribute should then be defined. The optional 'payload' attribute can be defined to obtain additional feed information from the encoded payload for supported devices.",
"required": [
"deviceEUI",
"time"
],
"properties": {
"deviceEUI": {
"type": "string",
"description": "Unique device identifier."
},
"customerId": {
"type": "string",
"description": "Unique customer identifier sent through Operator Interface."
},
"time": {
"type": "string",
"format": "date-time",
"description": "Time associated with the device position (e.g. time of arrival to the base station), in ISO 8601 format."
},
"b2cFlag": {
"type": "boolean",
"description": "Optional flag indicating if the message should be processed on behalf of a B2C app end user"
},
"modelCfg": {
"type": "string",
"description": "Internal property used for routing purposes."
},
"coordinates": {
"type": "array",
"description": "Device coordinates, to be used 'as is' in the platform. Expected value is an array of coordinates as per the GeoJSON specification, i.e. [longitude, latitude, altitude].",
"items": {
"type": "number",
"format": "double"
}
},
"coordinatesType": {
"type": "string",
"description": "Type of solver that originated device coordinates sent in \"coordinates\" property. Possible values are 'MOBILE_DEVICE_COORDINATES’, ‘RSSI_SOLVER_COORDINATES’ and 'TDOA_SOLVER_COORDINATES’.",
"enum": [
"MOBILE_DEVICE_COORDINATES",
"RSSI_SOLVER_COORDINATES",
"TDOA_SOLVER_COORDINATES"
]
},
"coordinatesAccuracy": {
"type": "number",
"description": "Accuracy in meters of the position provided in \"coordinates\" property"
},
"incomingSubscriberId": {
"type": "string",
"description": "External Suscriber ID to be transparently handled by ThingPark Location."
},
"trackerOutput": {
"$ref": "#/components/schemas/TrackerAsAssetTracker"
},
"trackerParameters": {
"type": "object",
"description": "Resouce representing the tracker's parameters to be set"
},
"solverInput": {
"$ref": "#/components/schemas/FeedInputForGenericSolver"
},
"payload": {
"$ref": "#/components/schemas/FeedPayload"
},
"customerData": {
"type": "object",
"description": "Customer Data from Actility Operator"
}
}
},
"FeedInputForGenericSolver": {
"description": "Resource representing generic information which can be used as input by a solver. To be eventually inherited to define more specific solver input resources. The 'solverInputType' discriminator attribute indicates which type of resource is defined.",
"properties": {
"solverInputType": {
"type": "string",
"description": "Type of solver input eventually extending the FeedInputForGenericSolver resource to allow more specific attributes to be provided.",
"enum": [
"FeedInputForGenericSolver",
"FeedInputForAgpsSolver",
"FeedInputForGpsSolver",
"FeedInputForTdoaRssiSolver",
"FeedInputForWifiSolver"
]
},
"sequenceNumber": {
"type": "integer",
"format": "int64",
"description": "Sequence number of the device uplink."
},
"port": {
"type": "integer",
"format": "int32",
"description": "LoRa port used by the device."
},
"receptionTime": {
"type": "string",
"format": "date-time",
"description": "Time associated with the reception of the device uplink, in ISO 8601 format."
},
"SF": {
"type": "integer",
"format": "int32",
"description": "Spreading factor value of the device."
},
"packets": {
"type": "array",
"description": "List of packets received by base stations and related to the device uplink.",
"items": {
"$ref": "#/components/schemas/FeedPacket"
}
},
"dynamicMotionState": {
"type": "string",
"description": "Motion state provided by the device. Possible values are 'MOVING', 'STATIC' and 'UNKNOWN'.",
"enum": [
"MOVING",
"STATIC",
"UNKNOWN"
]
},
"temperatureMeasure": {
"type": "number",
"format": "float",
"description": "Temperature measured by the device in celsius degrees."
},
"accelerometerMeasures": {
"type": "array",
"description": "Proper acceleration measured by the device in m/s2. Expected value is an array of measures per axis, i.e. [x, y, z].",
"items": {
"type": "number",
"format": "float"
}
},
"gyroscopeMeasures": {
"type": "array",
"description": "Rotational motion measured by the device in degrees/s. Expected value is an array of measures per axis, i.e. [roll, pitch, yaw].",
"items": {
"type": "number",
"format": "float"
}
},
"barometerMeasure": {
"type": "number",
"format": "float",
"description": "Atmospheric pressure measured by the device in mb."
},
"lastContext": {
"type": "string",
"description": "This optional attribute contains the Base64 encoded binary solver state returned with the last calculated position. This attribute may be required if the target solver is configured in stateless mode and this is not the first request for a given deviceEUI."
}
},
"discriminator": {
"propertyName": "solverInputType"
},
"required": [
"solverInputType",
"sequenceNumber",
"port"
]
},
"FeedInputForAgpsSolver": {
"description": "Resource extending RawPositionByGenericSolver with additional information provided by the AGPS solver.",
"allOf": [
{
"$ref": "#/components/schemas/FeedInputForGenericSolver"
}
]
},
"FeedInputForGpsSolver": {
"description": "Resource extending RawPositionByGenericSolver with additional information provided by the GPS solver.",
"allOf": [
{
"$ref": "#/components/schemas/FeedInputForGenericSolver"
}
]
},
"FeedInputForTdoaRssiSolver": {
"description": "Resource extending FeedInputForGenericSolver with additional information to be used for TDoA / RSSI solver resolution.",
"allOf": [
{
"$ref": "#/components/schemas/FeedInputForGenericSolver"
},
{
"type": "object",
"properties": {
"algorithm": {
"type": "string",
"description": "Algorithm to be used by the solver. Possible values are 'TDOA', 'RSSI' or 'TDOA_RSSI' (both).",
"enum": [
"TDOA",
"RSSI",
"TDOA_RSSI"
]
},
"staticMotionIndicator": {
"type": "string",
"description": "Statically configured device motion indicator. Possible values are 'NEAR_STATIC', 'WALKING', 'BICYCLE', 'VEHICLE' and 'RANDOM'.",
"enum": [
"NEAR_STATIC",
"WALKING",
"BICYCLE",
"VEHICLE",
"RANDOM"
]
},
"updateRequired": {
"type": "boolean",
"description": "Indicates if the device location should be updated. Default value is false."
},
"resetRequired": {
"type": "boolean",
"description": "Indicates to reset EKF filter state when previous state is no more relevant, i.e. when device (re)JOINs network. Default value is false."
}
}
}
]
},
"FeedInputForWifiSolver": {
"description": "Resource extending FeedInputForGenericSolver with additional information to be used for WiFi solver resolution.",
"allOf": [
{
"$ref": "#/components/schemas/FeedInputForGenericSolver"
},
{
"type": "object",
"properties": {
"networks": {
"type": "array",
"description": "List of WiFi networks identified around the device.",
"items": {
"$ref": "#/components/schemas/FeedNetwork"
}
}
}
}
]
},
"TrackerAsAssetTracker": {
"description": "Resource representing tracker information obtained directly from the tracker, to be used 'as is'. Currently it only supports Abeeway's Asset Tracker.",
"required": [
"trackingMode",
"batteryLevel"
],
"properties": {
"firmwareVersion": {
"type": "string",
"description": "MCU firmware version of the tracker."
},
"bleFirmwareVersion": {
"type": "string",
"description": "BLE firmware version of the tracker."
},
"eventType": {
"type": "string",
"description": "The possible values for an event message are:
-'UNKNOWN': Not supported value.
- 'GEOLOC_START': The event message is sent when the tracker begins a geolocation sequence.
- 'MOTION_START': The event message is sent when the tracker begins a motion.
-'MOTION_END': The event message is sent when the end of a motion is detected.
-'BLE_CONNECTED': The event message is sent when a tracker is bonded and BLE connected to a another BLE device.
-'BLE_DISCONNECTED': The event message is sent when a tracker is bonded and BLE disconnected to a another BLE device.
-'TEMPERATURE_ALERT': The event message is sent if the measured temperature is below or above a configured threshold.(Supported from Asset Tracker 1.9.0).
-'BLE_BOND_DELETED': The event message is sent when the bond is deleted on the tracker.(Supported from Asset Tracker 1.9.0)
- 'SOS_MODE_START' (Supported from Asset Tracker 2.2.0)
- 'SOS_MODE_END' (Supported from Asset Tracker 2.2.0)
- 'ANGLE_DETECTION': The event message is sent when the tracker angular position reaches a configured critical angle between a reference vector and the current measured vector.(Supported from Asset Tracker 2.2.0).
- 'GEOFENCING': The event message is sent each time a new area is entered. (Supported from Asset Tracker 2.2.0)",
"enum": [
"UNKNOWN",
"GEOLOC_START",
"MOTION_START",
"MOTION_END",
"BLE_CONNECTED",
"BLE_DISCONNECTED",
"TEMPERATURE_ALERT",
"BLE_BOND_DELETED",
"SOS_MODE_START",
"SOS_MODE_END",
"ANGLE_DETECTION",
"GEOFENCING"
]
},
"trackingMode": {
"type": "string",
"description": "Tracking mode applied by the tracker. Possible values are:
- 'OFF': Everything is turned OFF to achieve the lowest possible power consumption.
- 'STAND_BY': The tracker is in idle state. It can use periodic reporting if it is activated, and answers to On-Demand position requests.
- 'MOTION_TRACKING': Tracking state only when moving.
- 'PERMANENT_TRACKING': Always in tracking state.
- 'MOTION_START_END_TRACKING': Motion start and end events.
- 'ACTIVITY_TRACKING': The tracker focuses on detecting movements. Every motion detection increases a counter.
- 'UNKNOWN': Not supported value.",
"enum": [
"UNKNOWN",
"OFF",
"STAND_BY",
"MOTION_TRACKING",
"PERMANENT_TRACKING",
"MOTION_START_END_TRACKING",
"ACTIVITY_TRACKING"
]
},
"dynamicMotionState": {
"type": "string",
"description": "Motion state provided by the device. Possible values are 'MOVING', 'STATIC' and 'UNKNOWN'.",
"enum": [
"MOVING",
"STATIC",
"UNKNOWN"
]
},
"temperatureMeasure": {
"type": "number",
"format": "float",
"description": "Temperature measured by the device in celsius degrees."
},
"gpsScanMode": {
"type": "string",
"description": "GPS scan mode (for power efficiency) applied by the tracker. Not implemented yet.",
"enum": [
"UNKNOWN",
"LOW_POWER",
"STANDARD",
"ACCURACY",
"HIGH_ACCURACY"
]
},
"sensorMode": {
"type": "string",
"description": "Sensor mode applied by the tracker. This field is deprecated. Instead refer to geolocSensorProfile and oneshotGeolocMethod.",
"enum": [
"UNKNOWN",
"WIFI_ONLY",
"GPS_ONLY",
"AGPS_ONLY"
]
},
"periodicPositionInterval": {
"type": "integer",
"format": "int32",
"description": "Interval in seconds of the periodic position report (Supported from Asset Tracker 1.7.0, called 'periodic_pos_period' in configuration file). A value of 0 means reporting is disabled, a value of -1 means the setting is unknown."
},
"batteryLevel": {
"type": "integer",
"format": "int32",
"description": "Percentage of available battery of the tracker."
},
"batteryStatus": {
"type": "string",
"description": "Represents the battery status. Possible values are:
- 'UNKNOWN': Not supported value.
- 'CHARGING': The battery is charging.
- 'OPERATING': In this case, the battery level indicates the battery usage.",
"enum": [
"UNKNOWN",
"CHARGING",
"OPERATING"
]
},
"sosFlag": {
"type": "boolean",
"description": "SOS Flag of the tracker"
},
"activityReportingWindow": {
"type": "array",
"description": "Periodic activity reporting contains the data of activity during 6 windows of the configured period ('periodicActivityPeriod'), one window being 1/6th of Periodic Activity Period.",
"items": {
"type": "integer",
"format": "int32"
}
},
"activityCount": {
"type": "integer",
"format": "int32",
"description": "Activity counter, in case of trackingMode it is 'ACTIVITY_TRACKING'."
},
"nbOfShocks": {
"type": "integer",
"description": "Number of shocks having an accelerometer value above the configured threshold(''shockDetection'')."
},
"accelerometerShockData": {
"type": "array",
"description": "Values measured on X, Y, and Z axes of the accelerometer, corresponding to the biggest shock detected during this period, i.e. [x-axis, y-axis, z-axis]. ",
"items": {
"type": "integer",
"format": "int32"
}
},
"trackerOrientation": {
"type": "array",
"description": "Represents the orientation of the tracker. It is provided only in 'MOTION_END' event message, i.e. [x-axis, y-axis, z-axis].",
"items": {
"type": "integer",
"format": "int32"
}
},
"trackingUlPeriod": {
"type": "integer",
"format": "int32",
"description": "Interval in seconds for position messages while in tracking state (Supported from Asset Tracker 1.7.0, called ''ul_period'' in configuration file)."
},
"loralivePeriod": {
"type": "integer",
"format": "int32",
"description": "Interval in seconds for heartbeat messages in idle state (Supported from Asset Tracker 1.7.0, called ''lora_period'' in configuration file)."
},
"energyStatusPeriod": {
"type": "integer",
"format": "int32",
"description": "Interval in seconds of energy status messages (Supported from Asset Tracker 1.7.0, called ''pw_stat_period'' in configuration file)."
},
"geolocSensorProfile": {
"type": "string",
"description": "(Called 'geoloc_sensor' in configuration file) The geolocation technology to be used for geolocation scans in operating mode. The possible technolgy values are:
- 'UNKNOWN': Not supported value.
- 'WIFI_ONLY': Only the WIFI technology is used (Supported from Asset Tracker 1.7.0).
- 'GPS_ONLY': Only the GPS technology is used (Supported from Asset Tracker 1.7.0).
- 'XGPS_ONLY': Only the Low Power GPS and GPS technologies are used (Supported from Asset Tracker 1.7.0).
- 'WIFI_FALLBACK_XGPS': Swap on failure, alternate WIFI and xGPS (do not use).
- 'SELF_GOVERNING_HISTORY': Self governing with history (do not use).
- 'SELF_GOVERNING_TIMEOUT': Self governing with timeout (superseded by technology WGPS_WXGPS_TIMEOUT).
- 'WGPS_ONLY': The WIFI technology is used first. If the result is not OK, swap to GPS technology in one geolocation cycle (Supported from Asset Tracker 1.7.0).
- 'WXGPS_ONLY': The WIFI technology is used fisrt. If the result is not considered OK, swap to XGPS technology in one geolocation cycle (Supported from Asset Tracker 1.7.0).
- 'WGPS_WXGPS_FAILURE': 'WGPS/WXGPS', change on failure (Supported from Asset Tracker 1.7.0).
- 'WGPS_WXGPS_TIMEOUT': 'WGPS/WXGPS', change on timeout (Supported from Asset Tracker 1.7.0).
- 'BLE': BLE beacon scan only (Supported from Asset Tracker 1.7.0).
- 'BGPS_ONLY': The BLE technology is used first. If the result is not OK, swap to low power GPS technology in one geolocation cycle. (Supported from Asset Tracker 1.8.0).
- 'BXGPS_ONLY': The BLE technology is used first. If the result is not OK, swap to low power GPS technology in one geolocation cycle. (Supported from Asset Tracker 2.2.0).",
"enum": [
"UNKNOWN",
"WIFI_ONLY",
"GPS_ONLY",
"XGPS_ONLY",
"WIFI_FALLBACK_XGPS",
"SELF_GOVERNING_HISTORY",
"SELF_GOVERNING_TIMEOUT",
"WGPS_ONLY",
"WXGPS_ONLY",
"WGPS_WXGPS_FAILURE",
"WGPS_WXGPS_TIMEOUT",
"BLE",
"BGPS_ONLY",
"BXGPS_ONLY"
]
},
"oneshotGeolocMethod": {
"type": "string",
"description": "(Called 'geoloc_method' in configuration file) The geolocation technology to used for geolocation scans only for the periodic and on-demand positions. The possible technolgy values are:
- 'UNKNOWN': Not supported value.
- 'WIFI': Only the WIFI technology is used (Supported from Asset Tracker 1.7.0).
- 'GPS': Only the GPS technology is used (Supported from Asset Tracker 1.7.0).
- 'XGPS': Only the low power GPS technology is used (Supported from Asset Tracker 1.7.0).
- 'WGPS': The WIFI technology is used first. If the result is not OK, swap to GPS technology (Supported from Asset Tracker 1.7.0).
- 'WXGPS': The WIFI technology is used first. If the result is not OK, swap to low power GPS technology (Supported from Asset Tracker 1.7.0).
- 'BLE': BLE beacon scan only (Supported from Asset Tracker 1.7.0).
- 'BGPS': The BLE technology is used first. If the result is not OK, swap to low power GPS technology in one geolocation cycle. (Supported from Asset Tracker 1.8.0).
- 'BXGPS_ONLY': The BLE technology is used first. If the result is not OK, swap to low power GPS technology in one geolocation cycle. (Supported from Asset Tracker 2.2.0).",
"enum": [
"UNKNOWN",
"WIFI",
"GPS",
"XGPS",
"WGPS",
"WXGPS",
"BLE",
"BGPS",
"BXGPS"
]
},
"extAntennaProfile": {
"type": "string",
"description": "The GPS antenna to be used when starting the GPS.( called 'antenna' in configuration file).
* From Asset Tracker 1.7.0 to Asset Tracker 1.9.0:
Possible values are:
-'UNKNOWN': Unknown value.
-'UNSUPPORTED': Not supported value.
- 'PRINTED': use only PRINTED antenna for GPS scans.
- 'CERAMIC': use only ceramic antenna for GPS scans.
- 'DYNAMIC': automatic selection, use ceramic antenna only when facing the sky.
* From Asset Tracker 2.0: Only the value CERAMIC is supported.
",
"enum": [
"UNKNOWN",
"PRINTED",
"CERAMIC",
"DYNAMIC"
]
},
"motionStartEndNbTx": {
"type": "integer",
"format": "int32",
"description": "Number of position messages to send after motion events in Start/End tracking mode (Supported from Asset Tracker 1.7.0, called 'motion_nb_pos' in configuration file)."
},
"gpsTimeout": {
"type": "integer",
"format": "int32",
"description": "Time in seconds for GPS geoloc timeout (Supported from Asset Tracker 1.7.0, called 'gps_timeout' in configuration file)."
},
"xgpsTimeout": {
"type": "integer",
"format": "int32",
"description": "Time in seconds for XGPS geoloc timeout(Supported from Asset Tracker 1.7.0, called 'agps_timeout' in configuration file)."
},
"gpsEHPE": {
"type": "integer",
"format": "int32",
"description": " Horizontal error in meters to decide if a GPS fix in GPS geoloc is acceptable (Supported from Asset Tracker 1.7.0, called 'gps_ehpe' in configuration file)."
},
"gpsConvergence": {
"type": "integer",
"format": "int32",
"description": "Time in seconds to decide a GPS fix if GPS geoloc has converged for enough time (Supported from Asset Tracker 1.7.0, called 'gps_convergence' in configuration file)."
},
"configFlags": {
"$ref": "#/components/schemas/ConfigFlags"
},
"transmitStrat": {
"type": "string",
"description": "Different transmission strategies, applied when the device is in motion (Supported from Asset Tracker 1.7.0, called 'transmit_strat' in configuration file):
-'UNKNOWN': Not supported value.
-'SINGLE_FIXED': always transmit using the predefined datarate (from provisioning).
-'SINGLE_RANDOM_DATARATE': Single transmission, applied to (SF7-12) using Central Limit Theorem.
-'DOUBLE_RANDOM_DATARATE': Double transmission of the same frame using a fast (SF7-8) then a slow datarate (SF9-12), using Central Limit Theorem.
-'DOUBLE_FIXED': first transmission at SF7 or SF8, then at predefined datarate (from provisioning).
-'NETWORK_ADR': Adaptive DataRate, selected by the network. In static, Network ADR is applied.
-'CUSTOM_STRATEGY': Activate the strategy defined with transmitStratCustom parameter.",
"enum": [
"UNKNOWN",
"SINGLE_FIXED",
"SINGLE_RANDOM_DATARATE",
"DOUBLE_RANDOM_DATARATE",
"DOUBLE_FIXED",
"NETWORK_ADR",
"CUSTOM_STRATEGY"
]
},
"bleBeaconCount": {
"type": "integer",
"format": "int32",
"description": "This parameter is used only for a micro tracker. It represents the maximum number of BLE beacons to report, Range [1..4] (Supported from Asset Tracker 1.7.0, called 'ble_beacon_cnt' in configuration file)."
},
"bleBeaconTimeout": {
"type": "integer",
"format": "int32",
"description": "This parameter is used only for a micro tracker. Time in seconds for BLE Beacon geoloc timeout (Supported from Asset Tracker 1.7.0, called 'ble_beacon_timeout' in configuration file)"
},
"gpsStandbyTimeout": {
"type": "integer",
"format": "int32",
"description": "Time in seconds for the GPS to stay in standby mode after being turned ON. At the timeout, the GPS is turned OFF.When 0, the GPS always stays in standby mode (Supported from Asset Tracker 1.7.0, called 'gps_standby_timeout' in configuration file)."
},
"confirmedUlBitmap": {
"type": "integer",
"format": "int32",
"description": "Confirmed uplink bitmap for specific Messages type.
For example, to configure confirmed uplinks for message type 0x00 and 0x03: 2^0 + 2^3 = 9. You need to set 9 (Supported from Asset Tracker 1.7.0, called 'confirmed_ul_bitmap' in configuration file). For more details, please refer firmware reference document."
},
"confirmedUlRetry": {
"type": "integer",
"format": "int32",
"description": "The number of retries for each confirmed uplink, when confirmation is not received (Supported from Asset Tracker 1.7.0, called 'confirmed_ul_retry' in configuration file)."
},
"motionSensitivity": {
"type": "integer",
"format": "int32",
"description": "It is a specific accelerometer configuration. 0 is the default configuration. 1-100 configures the accelerometer in low sensitivity from 1 to 100%. (Supported from Asset Tracker 1.8.0, called 'motion_sensitivity' in configuration file)."
},
"shockDetection": {
"type": "integer",
"format": "int32",
"description": "This parameter provides the configuration of shock detection global vector. It has a range of 0-199, with a step of 20mG (Supported from Asset Tracker 1.8.0, called 'shock_detection' in configuration file)."
},
"periodicActivityPeriod": {
"type": "integer",
"format": "int32",
"description": "Time in seconds to report periodic activity. As the activity is reported on 6 windows, this value has to be a multiple of 6. When 0, the reporting is disabled (Supported from Asset Tracker 1.8.0, called 'periodic_activity_period' in configuration file)."
},
"motionDuration": {
"type": "integer",
"format": "int32",
"description": "Time in seconds for motion duration, minimum time between a start and an end motion event (Supported from Asset Tracker 1.8.0, called 'motion_duration' in configuration file)."
},
"bleRssiFilter": {
"type": "integer",
"format": "int32",
"description": "RSSI value to filter BLE beacons with BLE-GPS geolocation mode (Supported from Asset Tracker 1.8.0, called 'ble_rssi_filter' in configuration file)."
},
"temperatureHigh": {
"type": "number",
"format": "float",
"description": "Configure the high threshold temperature.
255 = disabled
(Supported from Asset Tracker 1.9.0, called 'temperature_high' in configuration file)"
},
"temperatureLow": {
"type": "number",
"format": "float",
"description": "Configure the low threshold temperature.
255 = disabled
(Supported from Asset Tracker 1.9.0, called 'temperature_low' in configuration file)"
},
"temperatureAction": {
"type": "string",
"description": "Configure the action to be done when entering critical state: (Supported from Asset Tracker 1.9.0, called 'temperature_action' in configuration file):
- 'UNKNOWN': Not supported value.
- 'NO_ACTION': No action.
- 'TEMPERATURE_HIGH': Geolocation disabled if temperature_high is reached.
- 'TEMPERATURE_LOW': Geolocation disabled if temperature_low is reached.
- 'TEMPERATURE_LOW_TEMPERATURE_HIGH': Geolocation disabled if temperature_low or temperature_high is reached.",
"enum": [
"UNKNOWN",
"NO_ACTION",
"TEMPERATURE_HIGH",
"TEMPERATURE_LOW",
"TEMPERATURE_LOW_TEMPERATURE_HIGH"
]
},
"bleBond": {
"type": "string",
"description": "BLE Bond status (Supported from Asset Tracker 1.9.0).
- 'UNKNOWN':Unknown state.
- 'NOT_BONDED': The tracker in not bonded.
- 'BONDED':The tracker is bonded.",
"enum": [
"UNKNOWN",
"NOT_BONDED",
"BONDED"
]
},
"transmitStratCustom": {
"$ref": "#/components/schemas/TransmitStratCustom"
},
"measuredTemperature": {
"required": [
"state"
],
"type": "object",
"description": "Provides data about the measured temperature for the event message ''TEMPERATURE_ALERT''(Supported from Asset Tracker 1.9.0).",
"properties": {
"state": {
"type": "string",
"description": "The state of temperature. Possible values are:
-'UNKNOWN':Not supported value.
-'NORMAL'
-'NORMAL'
-'HIGH'
-'LOW'
-'FEATURE_NOT_ACTIVATED'",
"enum": [
"UNKNOWN",
"NORMAL",
"HIGH",
"LOW",
"FEATURE_NOT_ACTIVATED"
]
},
"max": {
"type": "number",
"format": "float",
"description": "Maximum temperature measured by the device"
},
"min": {
"type": "number",
"format": "float",
"description": "Minimum temperature measured by the device"
},
"highCounter": {
"type": "integer",
"format": "int32",
"description": "From the time a high temperature event is sent, this counter is incremented every 10 minutes (can be used to calculate the over temperature time)."
},
"lowCounter": {
"type": "integer",
"format": "int32",
"description": "From the time a low temperature event is sent, this counter is incremented every 10 minutes (can be used to calculate the under temperature time)."
}
}
},
"batteryCapacity": {
"type": "integer",
"format": "int32",
"description": "The battery capacity in mAh (Supported from Asset Tracker 2.0)."
},
"reedSwitchConfiguration": {
"type": "string",
"description": "The reed switch configuration. (Supported from Asset Tracker 2.0).
- 'UNKNOWN':Unknown configuration.
- 'DISABLE_REED_SWITCH'
- 'NORMAL_REED_SWITCH'
- 'BUTTON_REED_SWITCH'
- 'OTHER_REED_SWITCH'",
"enum": [
"UNKNOWN",
"DISABLE_REED_SWITCH",
"NORMAL_REED_SWITCH",
"BUTTON_REED_SWITCH",
"OTHER_REED_SWITCH"
]
},
"collectionScanType": {
"type": "string",
"description": "Provide the type of the collection to be done.(Supported from Asset Tracker 2.0).
- 'UNKNOWN':Unknown collection scan type.
- 'NO_COLLECTION_SCAN': No collection scan
- 'BLE_BEACONS':The collection will be done and BLE beacons will be reported.
- 'WIFI_BSSID': The collection will be done and WIFI BSSIDs will be reported.",
"enum": [
"UNKNOWN",
"NO_COLLECTION_SCAN",
"BLE_BEACONS",
"WIFI_BSSID"
]
},
"collectionBLEFilterType": {
"type": "string",
"description": "BLE filter type used for BLE collection only (Supported from Asset Tracker 2.0).
- 'UNKNOWN': Unknown collection BLE filter type.
- 'NO_FILTER': MAC addresses reported in the collection uplink.
- 'EDDYSTONE_UID': Beacons ID reported in the collection uplink
- 'EDDYSTONE_URL': Eddystone URL only. MAC addresses reported in the collection uplink.
- 'ALL_EDDYSTONE': MAC addresses reported in the collection uplink
- 'IBEACON_ONLY': Beacon IDs reported in the collection uplink
- 'ALTBEACON_ONLY': Beacon IDs reported in the collection uplink",
"enum": [
"UNKNOWN",
"NO_FILTER",
"EDDYSTONE_UID",
"EDDYSTONE_URL",
"ALL_EDDYSTONE",
"IBEACON_ONLY",
"ALTBEACON_ONLY"
]
},
"collectionBLEFilterMain1": {
"type": "integer",
"format": "int32",
"description": "BLE main filter part 1 used for BLE collection only (Supported from Asset Tracker 2.0)."
},
"collectionBLEFilterMain2": {
"type": "integer",
"format": "int32",
"description": "BLE main filter part 2 used for BLE collection only (Supported from Asset Tracker 2.0)."
},
"collectionBLEFilterSecValue": {
"type": "integer",
"format": "int32",
"description": "Value used for the BLE secondary filter (BLE collection only) (Supported from Asset Tracker 2.0)."
},
"collectionBLEFilterSecMask": {
"type": "integer",
"format": "int32",
"description": "Mask used for the BLE secondary filter (BLE collection only) (Supported from Asset Tracker 2.0)."
},
"collectionNbEntry": {
"type": "integer",
"format": "int32",
"description": "Provide the number of entries in the collection (Supported from Asset Tracker 2.0)."
},
"networkTimeoutCheck": {
"type": "integer",
"format": "int32",
"description": "LoRa network monitoring. A timer using this duration is restarted after each last downlink received. Once elapsed, the tracker includes a link check request in all of this uplink. Once the answer is received, the timer restarts. A null value disables this monitoring. Duration expressed in seconds. (Supported from Asset Tracker 2.0)"
},
"networkTimeoutReset": {
"type": "integer",
"format": "int32",
"description": "LoRa network monitoring. A timer using this duration is restarted after each last downlink received. Once elapsed, the tracker resets. Duration expressed in seconds.(Supported from Asset Tracker 2.0)"
},
"gnssConstellation": {
"type": "string",
"description": " Select the GNSS constellation set to be used for making fixes. Possible values are :
- 'UNKNOWN'
- 'GPS_ONLY'
- 'GLONASS_ONLY'
- 'GPS_GLONASS'
- 'GPS_GALILEO'
- 'GPS_GLONASS_GALILEO'
- 'BEIDOU_ONLY'
- 'GPS_BEIDOU'
(Supported from Asset Tracker 2.0) ",
"enum": [
"UNKNOWN",
"GPS_ONLY",
"GLONASS_ONLY",
"GPS_GLONASS",
"GPS_GALILEO",
"GPS_GLONASS_GALILEO",
"BEIDOU_ONLY",
"GPS_BEIDOU"
]
},
"profile": {
"type": "string",
"description": " The profile of the tracker. Should use the format /"
}
}
},
"ConfigFlags": {
"required": [
"framePendingMechanism",
"buttonPressToTurnDeviceOff",
"doubleClickIsSosModeOrAlert",
"downlinkSetParameterConfirmation",
"wifiPayloadWithNoCypher",
"bleAdvertisingAtStart",
"selectWifiScanOrGeolocStartMessage",
"ledBlinkWithGpsFix",
"startMotionEventUplink",
"endMotionEventUplink",
"otaJoinWhenLeavingModeOff",
"rejectAsymmetricBlePairing"
],
"properties": {
"framePendingMechanism": {
"type": "boolean",
"description": "-false: Frame pending mechanism is disabled.
-true: Frame pending mechanism is enabled. Factory default value.
(Supported from Asset Tracker 1.7.0)"
},
"buttonPressToTurnDeviceOff": {
"type": "boolean",
"description": "-false: Cannot turn OFF device with a button press.
-true: Can turn OFF device with a button press. Factory default value.(Supported from Asset Tracker 1.7.0)"
},
"doubleClickIsSosModeOrAlert": {
"type": "boolean",
"description": "-false: Double button click triggers an Alert.
-true: Double button click starts SOS mode, another double click stops it. Factory default value.
(Supported from Asset Tracker 1.7.0)"
},
"downlinkSetParameterConfirmation": {
"type": "boolean",
"description": "-false: Confirmation uplink mechanism is disabled.
-true: Confirmation uplink mechanism is enabled. Factory default value.
(Supported from Asset Tracker 1.7.0)"
},
"wifiPayloadWithNoCypher": {
"type": "boolean",
"description": "-false: Wifi payload is cyphered.
-true: Wifi payload is not cyphered. Factory default value.
(Supported from Asset Tracker 1.7.0)"
},
"bleAdvertisingAtStart": {
"type": "boolean",
"description": "-false: BLE advertising is disabled. Factory default value.
-true: BLE advertising is enabled.
(Supported from Asset Tracker 1.7.0)"
},
"selectWifiScanOrGeolocStartMessage": {
"type": "boolean",
"description": "-false: Enable geoloc start event message when starting a geoloc sequence.
-true: Enable Wifi scan when starting a geoloc sequence. Factory default value.
(Supported from Asset Tracker 1.7.3)"
},
"ledBlinkWithGpsFix": {
"type": "boolean",
"description": "-false: No blink when a GPS fix is received. Factory default value.
-true: LED Blink when a GPS fix is received.
(Supported from Asset Tracker 1.7.3)"
},
"startMotionEventUplink": {
"type": "boolean",
"description": "-false: Start Motion event payload is disabled. Factory default value.
-true: Start Motion event payload is enabled.
(Supported from Asset Tracker 1.8.0)"
},
"endMotionEventUplink": {
"type": "boolean",
"description": "-false: End Motion event payload is disabled. Factory default value.
-true: End Motion event payload is enabled.
(Supported from Asset Tracker 1.8.0)"
},
"otaJoinWhenLeavingModeOff": {
"type": "boolean",
"description": "-false: Disable OTA join when leaving mode OFF. Factory default value.
-true: Enable OTA join when leaving mode OFF.
(Supported from Asset Tracker 1.8.0)"
},
"rejectAsymmetricBlePairing": {
"type": "boolean",
"description": "-false: Accept asymmetric BLE pairing. Factory default value.
-true: Reject asymmetric BLE pairing.
(Supported from Asset Tracker 1.8.0)"
},
"enableLongWifiPayload": {
"type": "boolean",
"description": "-false: Long wifi payload is disabled. Factory default value.
-true: Long wifi payload is enabled.
(Supported from Asset Tracker 1.9.0)"
},
"collectionLongReport": {
"type": "boolean",
"description": "false: The usual payload size is used (36 bytes).
true: The number of entries carried in the uplink is larger and use a payload size of 91 bytes.
(Supported from Asset Tracker 2.0)"
},
"autoStart": {
"type": "boolean",
"description": "false: Once LoRa join succeeds, the user needs to make another long press to actually start in the configured operating mode.
true: Once LoRa join succeeds, the device automatically starts without requiring a long press.
(Supported from Asset Tracker 2.0)"
}
}
},
"TransmitStratCustom": {
"required": [
"ADREnabled",
"transmissionType",
"firstTransmissionDatarateDistribution",
"secondTransmissionDatarateDistribution",
"firstTransmissionDatarate",
"secondTransmissionDatarate"
],
"properties": {
"ADREnabled": {
"type": "boolean",
"description": "ADR activation in static (Supported from Asset Tracker 1.9.0)
-false: ADR is enabled.Factory default value.
-true: ADR is disabled."
},
"transmissionType": {
"type": "string",
"description": "Transmission type (Supported from Asset Tracker 1.9.0)
-'SINGLE': single transmission Factory default value.
-'DOUBLE': double transmission.
",
"enum": [
"SINGLE",
"DOUBLE"
]
},
"firstTransmissionDatarateDistribution": {
"type": "string",
"description": "First transmission data rate distribution (Supported from Asset Tracker 1.9.0). Possible values are:
-'UNKNOWN': Not supported value.
-'RANDOM': Factory default value.
-'BELL'
-'RING'",
"enum": [
"UNKNOWN",
"RANDOM",
"BELL",
"RING"
]
},
"secondTransmissionDatarateDistribution": {
"type": "string",
"description": "Second transmission data rate distribution (Supported from Asset Tracker 1.9.0). Possible values are:
-'UNKNOWN': Not supported value.
-'RANDOM': Factory default value.
-'BELL'
-'RING'",
"enum": [
"UNKNOWN",
"RANDOM",
"BELL",
"RING"
]
},
"firstTransmissionDatarate": {
"$ref": "#/components/schemas/EnableDatarate"
},
"secondTransmissionDatarate": {
"$ref": "#/components/schemas/EnableDatarate"
}
}
},
"EnableDatarate": {
"description": "A bitmap representing each DR to select for the transmission. You Can configure DR from DR0 to DR7. If no DR is selected, default DR will be minimum available DR for the current band. (Supported from Asset Tracker 1.9.0).",
"type": "object",
"properties": {
"dr0": {
"type": "boolean",
"description": "-false: dr0 is disabled.
-true: dr0 is enabled."
},
"dr1": {
"type": "boolean",
"description": "-false: dr1 is disabled.
-true: dr1 is enabled."
},
"dr2": {
"type": "boolean",
"description": "-false: dr2 is disabled.
-true: dr2 is enabled."
},
"dr3": {
"type": "boolean",
"description": "-false: dr3 is disabled.
-true: dr3 is enabled."
},
"dr4": {
"type": "boolean",
"description": "-false: dr4 is disabled.
-true: dr4 is enabled."
},
"dr5": {
"type": "boolean",
"description": "-false: dr5 is disabled.
-true: dr5 is enabled."
},
"dr6": {
"type": "boolean",
"description": "-false: dr6 is disabled.
-true: dr6 is enabled."
},
"dr7": {
"type": "boolean",
"description": "-false: dr7 is disabled.
-true: dr7 is enabled."
}
}
},
"FeedNetwork": {
"description": "Resource representing a generic network.",
"properties": {
"SSID": {
"type": "string",
"description": "SSID of the network."
},
"RSSI": {
"type": "number",
"format": "float",
"description": "RSSI in cBm."
}
}
},
"FeedPacket": {
"description": "Resource representing a generic packet received by a base station.",
"properties": {
"baseStationId": {
"type": "string",
"description": "Id of the base station (aka LRR or gateway) which received the uplink."
},
"antennaId": {
"type": "integer",
"format": "int32",
"description": "Id of the base station antenna which received the uplink. Possible values are 0 (main), 1 (diversity for mono-sector LRRs), or 0 to 2 (for tri-sector LRRs)."
},
"antennaCoordinates": {
"type": "array",
"description": "Coordinates of the base station antenna. Expected value is an array of coordinates as per the GeoJSON specification, i.e. [longitude, latitude, altitude].",
"items": {
"type": "number",
"format": "double"
}
},
"antennaHeight": {
"type": "number",
"format": "float",
"description": "Height of the base station's antenna in cm."
},
"SNR": {
"type": "number",
"format": "float",
"description": "Signal to Noise ratio in dB."
},
"RSSI": {
"type": "number",
"format": "float",
"description": "RSSI in cBm."
},
"barometerMeasure": {
"type": "number",
"format": "float",
"description": "Atmospheric pressure measured by the base station in mb."
},
"arrivalSeconds": {
"type": "integer",
"format": "int32",
"description": "Coarse arrival time on the antenna in seconds."
},
"arrivalAdditionalNanos": {
"type": "integer",
"format": "int32",
"description": "Additional nanoseconds completing the arrival time second."
}
}
},
"FeedPayload": {
"description": "Resource representing a payload to be used to obtain tracker-specific location information.",
"required": [
"deviceProfileId",
"payloadEncoded"
],
"properties": {
"deviceProfileId": {
"type": "string",
"description": "Id of the profile associated with the device, used for decoding properly the payload."
},
"payloadEncoded": {
"type": "string",
"description": "Binary device payload encoded as an hexadecimal string."
}
}
},
"BinderConfig": {
"description": "Resource representing a configuration binding downlink tracker commands.",
"properties": {
"callbackURL": {
"type": "string",
"description": "HTTP url of the target server to which the tracker command should be sent as a callback to the downlink."
},
"ref": {
"type": "string",
"description": "Ref of the module configuration. Generated by the system upon creation."
},
"deviceEUIList": {
"type": "string",
"description": "List of devices EUI managed by the module. Device EUIs must be separated by commas. If the field is *, the config applies to all the trackers of the customer/subscriber. * is not allowed for end users"
}
}
}
},
"examples": {
"feedRequestCoordinates": {
"description": "Feed request example with coordinates",
"value": {
"coordinates": [
7.067404,
43.614945,
0
],
"coordinatesAccuracy": 5,
"coordinatesType": "MOBILE_DEVICE_COORDINATES",
"deviceEUI": "20635f010200176d",
"time": "2020-03-24T10:38:46.110Z"
}
},
"feedRequestPayload": {
"description": "Feed request example with payload and input for the Generic solver",
"value": {
"deviceEUI": "20635F0106000337",
"time": "2020-01-23T10:30:04.239+01:00",
"solverInput": {
"solverInputType": "FeedInputForGenericSolver",
"sequenceNumber": 110,
"receptionTime": "2020-01-23T10:30:04.239+01:00",
"port": 17,
"SF": 10,
"packets": [
{
"baseStationId": "0805022D",
"antennaId": 0,
"antennaCoordinates": [
7.0513,
43.6181
],
"SNR": 10,
"RSSI": -29,
"arrivalSeconds": 1,
"arrivalAdditionalNanos": 7275
}
]
},
"payload": {
"deviceProfileId": "ABEEWAY/MICRO",
"payloadEncoded": "0520fc9500010102c4010003"
}
}
},
"feedRequestPayloadGPS": {
"description": "Feed request example with payload and input for the GPS solver",
"value": {
"deviceEUI": "20635F0106000337",
"time": "2019-01-02T17:00:04.239+01:00",
"solverInput": {
"solverInputType": "FeedInputForGpsSolver",
"sequenceNumber": 100,
"receptionTime": "2019-01-02T17:00:04.239+01:00",
"port": 17,
"SF": 10,
"packets": [
{
"baseStationId": "0805022D",
"antennaId": 0,
"antennaCoordinates": [
7.0513,
43.6181
],
"SNR": 10,
"RSSI": -29,
"arrivalSeconds": 1,
"arrivalAdditionalNanos": 7275
}
]
},
"payload": {
"deviceProfileId": "ABEEWAY/MICRO",
"payloadEncoded": "035cee9b70001a06430449b204"
}
}
},
"feedRequestPayloadAGPS": {
"description": "Feed request example with payload and input for the AGPS solver",
"value": {
"deviceEUI": "70B3D53260001A75",
"time": "2017-08-29T14:31:33+00:00",
"solverInput": {
"solverInputType": "FeedInputForAgpsSolver",
"sequenceNumber": 10,
"port": 2,
"packets": [
{
"baseStationId": "6B001BE7",
"antennaId": 0,
"antennaCoordinates": [
34.38336,
51.553081,
85.901071
],
"SNR": 100,
"RSSI": -1000,
"arrivalSeconds": 1,
"arrivalAdditionalNanos": 7275
},
{
"baseStationId": "6B001BD5",
"antennaId": 0,
"antennaCoordinates": [
34.345027,
51.572273,
76.495455
],
"SNR": 100,
"RSSI": -1000,
"arrivalSeconds": 1,
"arrivalAdditionalNanos": 14362
},
{
"baseStationId": "6B001BD5",
"antennaId": 0,
"antennaCoordinates": [
34.345937,
51.558466,
88.373166
],
"SNR": 100,
"RSSI": -1000,
"arrivalSeconds": 1,
"arrivalAdditionalNanos": 14295
}
]
},
"payload": {
"deviceProfileId": "ABEEWAY/MICRO",
"payloadEncoded": "7b2274696d65223a2232303a31343a3335222c2264617461223a32332e327d"
}
}
},
"feedRequestTdoarssi": {
"description": "Feed request example with input for the TDoA/RSSI solver",
"value": {
"deviceEUI": "70B3D53260001A75",
"time": "2017-08-29T14:31:33+00:00",
"solverInput": {
"solverInputType": "FeedInputForTdoaRssiSolver",
"sequenceNumber": 10,
"algorithm": "TDOA",
"motionIndicator": "NEAR_STATIC",
"accelerometerState": "STATIC",
"updateRequired": true,
"resetRequired": true,
"packets": [
{
"baseStationId": "6B001BE7",
"antennaId": 0,
"antennaCoordinates": [
34.38336,
51.553081,
85.901071
],
"SNR": 100,
"RSSI": -1000,
"arrivalSeconds": 1,
"arrivalAdditionalNanos": 7275
},
{
"baseStationId": "6B001BD5",
"antennaId": 0,
"antennaCoordinates": [
34.345027,
51.572273,
76.495455
],
"SNR": 100,
"RSSI": -1000,
"arrivalSeconds": 1,
"arrivalAdditionalNanos": 14362
},
{
"baseStationId": "6B001BD5",
"antennaId": 0,
"antennaCoordinates": [
34.345937,
51.558466,
88.373166
],
"SNR": 100,
"RSSI": -1000,
"arrivalSeconds": 1,
"arrivalAdditionalNanos": 14295
}
]
}
}
},
"feedRequestWifi": {
"description": "Feed request example with input for the WIFI solver",
"value": {
"deviceEUI": "20635F0106000337",
"time": "2019-01-02T15:00:04.239+01:00",
"solverInput": {
"solverInputType": "FeedInputForWifiSolver",
"sequenceNumber": 100,
"receptionTime": "2019-01-02T15:00:04.239+01:00",
"port": 17,
"packets": [
{
"antennaId": 0,
"antennaCoordinates": [
7.0513,
43.6181
],
"arrivalSeconds": 1,
"arrivalAdditionalNanos": 7275
}
]
},
"payload": {
"deviceProfileId": "ABEEWAY/MICRO",
"payloadEncoded": "0328f08202ceb891aa168ff191c43bf1f09606c4cd1e35dbee492242a2f45d56f1"
}
}
},
"feedRequestTrackerOutput": {
"description": "Feed request example with tracker output",
"value": {
"deviceEUI": "20635f010200176d",
"time": "2020-03-11T11:00:57.087Z",
"trackerOutput": {
"trackingMode": "PERMANENT_TRACKING",
"batteryLevel": 100,
"sosFlag": false
}
}
}
}
}
}