Skip to content

API Description


1. Access Control

1.1 Get access token

1.1.1 Description

Client(distributor’s server) should stored the access_token locally, do NOT get access_token per request, instead, use the local access_token before it become invalid. JIMI server will not allow to access if the request frequency is too high from client.

Note:

The access token can be used for about 2 hours(depend on the value for expires_in parameter), do NOT try to get token for every request.

1.1.2 Request URL

See the unique request URL.
Method = jimi.oauth.token.get

1.1.3 HTTP Request method

POST

1.1.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

NameTypeRequiredDescriptionRemarkDefault
user_idStringYesUser IDUser’s account
user_pwd_md5StringYesuser’s password (md5)Lowercase md5 value.
expires_innumberYesaccess token expired seconds.60-7200

1.1.5 Response

KeyTypeDescription
codeintReturn code:
0: return correctly
Other failure: Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
resultObjectResult

Result

keyTypeDescription
accessTokenstringaccess token, required by any other following interfaces.
expiresInstringaccess token expired seconds.
accountstringuser’s account.
appKeystringappKey from JIMI.
refreshTokenstringRefresh token, which is used for updating accessToken
timestringToken generated time.

Correct return example:

json
{
    "code": 0,
    "message": "success",
    "result": {
        "appKey": "8FB345B8693CCD003CC2DAB61EC8791D",
        "account": "jimitest",
        "accessToken": "7da3330ec28e3996b6ef4a7e3390ba71",
        "expiresIn": 60,
        "refreshToken": "7da3330ec28e3996b6ef4a7e3390ba71",
        "time": "2017-06-15 10:00:00"
    }
}

Return error example:

json
{
    "code":"xxx",
    "message": "Incorrect user name or password"
}

Postman demo:


Note:

Here is the Open API account information required for your integration work:

account:JMTEST123
password:21218cca77804d2ba1922c33e0151105
appKey:8FB345B8693CCD00CE073CAB5F094009339A22A4105B6558
appSecret:c0aa0226fddc4365a3c67fef45427f8a

⚠️user_id = your tracksolid account.
⚠️user_pwd_md5 = md5(your tracksolid account password).
⚠️Sign = md5(<app_secrect>your alphabet ordered parameters keyvalue, without equal-sign, comma and not include sign field<app_secrect>).

<app_secrect>app_key<app_key>expires_in<expires_in>formatjsonmethodjimi.oauth.token.getsign_methodmd5timestamp<timestamp>user_id<account>user_pwd_md5<password_md5>v1.0<app_secrect>

⚠️Note that sign is a 32-length upper case string.
For example:

  1. Replace the content in <> with your account information,and you will get a string like this :

c0aa0226fddc4365a3c67fef45427f8aapp_key8FB345B8693CCD00CE073CAB5F094009339A22A4105B6558expires_in7200formatjsonmethodjimi.oauth.token.getsign_methodmd5timestamp2025-05-19 10:23:00user_idJMTEST123user_pwd_md521218cca77804d2ba1922c33e0151105v1.0c0aa0226fddc4365a3c67fef45427f8a

  1. Sign = md5(c0aa0226fddc4365a3c67fef45427f8aapp_key8FB345B8693CCD00CE073CAB5F094009339A22A4105B6558expires_in7200formatjsonmethodjimi.oauth.token.getsign_methodmd5timestamp2025-05-19 08:10:00user_idJMTEST123user_pwd_md521218cca77804d2ba1922c33e0151105v1.0c0aa0226fddc4365a3c67fef45427f8a)

4EE067D88EA65FF2AFD4890955E042CB

1.2 Refresh access token

1.2.1 Description

This interface is used to update token manually when access token is about to be invalid.

1.2.2 Request URL

See the unique request URL.
Method = jimi.oauth.token.refresh

1.2.3 HTTP Request method

POST

1.2.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredDescriptionRemarkDefault
access_tokenStringYESAccess token
refresh_tokenStringYESAuthorized refresh access token
expires_innumberYESaccess token expired seconds60 - 7200

1.2.5 Response

KeyTypeDescription
codeintReturn code:
0: return correctly
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
resultObjectresult

result

keyTypeDescription
accessTokenstringAccess token, required for subsequently interface access.
expiresInstringAccess token expired seconds.
accountstringRequested account
appKeystringFrom JIMI
refreshTokenstringRefresh token for updating access token
timestringToken generated time

Correct return example:

json
{
    "code": 0,
    "message": "success",
    "result": {
        "appKey": "8FB345B8693CCD003CC2DAB61EC8791D",
        "account": "jimitest",
        "accessToken": "7da3330ec28e3996b6ef4a7e3390ba71",
        "expiresIn": 60,
        "refreshToken": "7da3330ec28e3996b6ef4a7e3390ba71",
        "time": "2017-06-15 10:00:00"
    }
}

Return error example:

json
{
    "code": "xxx",
    "message": "Illegal request,token is invalid"
}

2. Device Management

2.1 List all devices of sub-account

2.1.1 Description

Query all devices of a specified account.

2.1.2 Request URL

See the unique request URL.
Method = jimi.user.device.list

2.1.3 HTTP Request method

POST

2.1.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYesAccess token for security access JIMI Server.
targetstringYes-The specified account for inquired.

2.1.5 Response

KeyTypeDescription
codeintReturn code:
0: return correctly
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
resultArray[Object]The returned data

result

keyTypeDescription
imeistringDevice IMEI
deviceNamestringDevice name
mcTypestringDevice model
mcTypeUseScopestringAutomobile, electromobile, personal, pet, plane, others
simstringSim card number
expirationstringPlatform expiration date
activationTimestringActivation time
reMarkstringRemarks
vehicleNamestringVehicle name
vehicleIconstringVehicle icon
vehicleNumberstringLicense plate number
vehicleModelsstringBrand
carFramestringVIN
driverNamestringDriver name
driverPhonestringDriver phone number
enabledFlagintAvailable or not (1:Available,0:not available)
engineNumberstringEngine number
deviceGroupIdstringDevice group ID
deviceGroupstringDevice group name

Correct return example:

json
{
    "code": 0,
    "message": "success",
    "result": [
        {
            "imei": "868120145233604",
            "deviceName": "868120145233604",
            "mcType": "GT300L",
            "mcTypeUseScope": "personal",
            "sim": "415451",
            "expiration": "2037-04-01 23:59:59",
            "activationTime": "2017-04-01 11:02:20",
            "reMark": "test",
            "vehicleName": null,
            "vehicleIcon": "bus",
            "vehicleNumber": "粤 B3604",
            "vehicleModels": null,
            "carFrame": "2235",
            "driverName": "driver",
            "driverPhone": "13825036579",
            "enabledFlag": 1,
            "engineNumber": "8565674",
            "deviceGroupId": "b54ab3c430864e31a64e54de44c79a1d",
            "deviceGroup": "default group"
        }
    ]
}

Return error example:

json
{
    "code": "xxx",
    "message": "Account queried doesn’t exist"
}

2.2 Get device detail information

2.2.1 Description

Get device detail information for specific IMEI.

2.2.2 Request URL

See the unique request URL.
Method = jimi.track.device.detail

2.2.3 HTTP Request method

POST

2.2.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYes-Access token for security access JIMI Server.
imeistringYes-The specified IMEI for inquired.

2.2.5 Response

KeyTypeDescription
codeintReturn code:
0: return correctly
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
resultObjectThe returned data

result

keyTypeDescription
imeistringDevice IMEI
deviceNamestringDevice name
accountstringThe account the device belongs to
customerNamestringThe customer name of the account that the device belongs to
mcTypestringDevice model
mcTypeUseScopestringAutomobile, electromobile, personal, pet, plane, others
simstringSim card number
expirationstringPlatform expiration date
user_expirationstringUser expiration date, format as: account1,2019 - 01 - 01 account2,2019 - 02 - 02
activationTimestringActivation time
reMarkstringRemarks
vehicleNamestringVehicle name
vehicleIconstringVehicle icon
vehicleNumberstringLicense plate number
vehicleModelsstringVehicle Model
carFramestringVIN
driverNamestringDriver name
driverPhonestringDriver phone number
enabledFlagintAvailable or not (1:Available,0:not available)
engineNumberstringEngine number
iccidstring
importTimestring
imsistring
licensePlatNostring
vinstringVehicle frame number
vehicleBrandstring
fuel_100kmstringFuel consumption for per 100km.
statusstring0 - disable 1 - enable
currentMileagestringThe current mileage of the device (km)
deviceGroupIdstringDevice group ID
deviceGroupstringDevice group name

Correct return example:

json

{
    "code": 0,
    "message": "success",
    "result": {
        "imei": "868120145233604",
        "deviceName": "868120145233604",
        "mcType": "GT300L",
        "mcTypeUseScope": "personal",
        "sim": "415451",
        "expiration": "2037-04-01 23:59:59",
        "activationTime": "2017-04-01 11:02:20",
        "reMark": "test",
        "vehicleName": null,
        "vehicleIcon": "bus",
        "vehicleNumber": "粤B3604",
        "vehicleModels": null,
        "carFrame": "2235",
        "driverName": "driver",
        "driverPhone": "13825036579",
        "enabledFlag": 1,
        "engineNumber": "8565674",
        "iccid": "xxxxxxx",
        "imsi": "xxxx",
        "importTime": "2017-04-01 11:02:20",
        "licensePlatNo": "8565674",
        "VIN": "xxxxxxx",
        "vehicleBrand": "xxxx",
        "fuel_100km": "9",
        "status": "8565674",
        "currentMileage": "102.5",
        "deviceGroupId": "b54ab3c430864e31a64e54de44c79a1d",
        "deviceGroup": "default group"
    }
}

Return error example:

json

{
    "code": "xxx",
    "message": "Account queried doesn’t exist"
}

2.3 Update user expiration date

2.3.1 Description

Update user expiration date of devices.

2.3.2 Request URL

See the unique request URL.
Method = jimi.user.device.expiration.update

2.3.3 HTTP Request method

POST

2.3.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYesaccess token: used to security access JIMI server.
imei_liststringYes-One or multiple devices IMEI.
new_expirationstringYesNew user expiration date for devices.

2.3.5 Response

KeyTypeDescription
codeintReturn code:
0: return correctly
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
resultstringThe returned data

result list:

KeyTypeDescription
imeistringIMEI of device
update_resultstring0-success, 1-failure
update_msgstringResult information, success and failure reasons

Correct return example:

json
{
    "code": 0,
    "message": "success",
    "result": [
        {
            "imei": "868120145233604",
            "update_result": "0",
            "update_msg": "update success"
        },
        {
            "imei": "868120145233605",
            "update_result": "1",
            "update_msg": "update failed, reason:xxxxxx"
        }
    ]
}

Return error example:

json
{
    "code":xxx,
    "message": "Illegal device"
}

2.4 Update vehicle information by IMEI

2.4.1 Description

Update vehicle information by IMEI

2.4.2 Request URL

See the unique request URL.
Method = jimi.open.device.update

2.4.3 HTTP Request method

POST

2.4.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYesAccess token: used to identify legal client.
imeistringYes-Device IMEI
device_namestringNo-Device name
vehicle_namestringNo-Vehicle name
vehicle_iconstringNo-Vehicle icon
vehicle_numberstringNo-Vehicle plate number
vehicle_modelsstringNo-Vehicle brand
driver_namestringNo-Driver name
driver_phonestringNo-Driver phone
device_statusstringNo0 - disable/1-enable.
Enable/Disable devices.
simstringNoSIM card number
remarksstringNoRemarks
oilWearstringNoFuel consumption per 100 kilometers
deviceGroupIdstringNoDevice group id

⚠️ Vehicle Icon

Icon keyDescription
automobileCar
busBus
perPeople
mtcMotorcycle
truck
taxi
plane
schoolBus
excavator
ship
tricycle
policeMtcPolice Motorcycle
tractor
policeCar
cow
other

2.4.5 Response

KeyTypeDescription
codeintReturn code:
0: return correctly
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
resultstringThe returned data

Correct return example:

json
{
    "code": 0,
    "message": "Vehicle information modification successful",
    "result": null
}

Return error example:

json
{
    "code":xxx,
    "message": "imei doesn’t exists"
}

2.5 Move devices

2.5.1 Description

Move devices from one sub-account to another sub-account.

2.5.2 Request URL

See the unique request URL.
Method = jimi.open.device.move

2.5.3 HTTP Request method

POST

2.5.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYes-accesstoken: used for identifying legal third party
src_accountstringYes-Transfer device from account
dest_accountstringYes-Transfer device to account
imeisstringYes-Device imei
cleanBindFlagstringNo-1: clear data, 0: Do not clear data

2.5.5 Response

KeyTypeDescription
codeintReturn code:
0: return correctly
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
resultArrayThe returned parameters

Correct return example:

json
{
    "code": 1112,
    "message": " device already exists ",
    "result": [
        "202205454545454"
    ],
    "data": null
}

or

{
    "code": 0,
    "message": " Transfer/Sell Equipment Successfully ",
    "result": null,
    "data": null
}

Return error example:

json

{
    "code":xxx,
    "message": "no permissions"
}

2.6 Bind app user

2.6.1 Description

Bind the device to the app user.

2.6.2 Request URL

See the unique request URL.
Method = jimi.open.device.bind

2.6.3 HTTP Request method

POST

2.6.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYes-accesstoken: used for identifying legal third party
imeistringYes-The account to which the geofences belong
user_idstringYes-The app user account to be bound

2.6.5 Response

keyTypeDescription
codeintReturn code:
0: return correctly
10:The device has been bound to a user
1001: Illegal parameters
1002: User or device is incorrect, see message for specific errors
1100: Business exception
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message

Correct return example:

json

{
    "code": 0,
    "message": "success"
}

Return error example:

json

{
    "code": 1100,
    "message": "The system is busy ",
    "result": null,
    "data": null
}

2.7 Unbind app user

2.7.1 Description

Unbind the device from the app use

2.7.2 Request URL

See the unique request URL.
Method = jimi.open.device.unbind

2.7.3 HTTP Request method

POST

2.7.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYes-accesstoken: used for identifying legal third party
imeistringYes-The account to which the geofences belong
user_idstringyes-The app user account you want to unbind

2.7.5 Response

keyTypeDescription
codeintReturn code:
0: return correctly
10:The device has been bound to a user
1001: Illegal parameters
1002: User or device is incorrect, see message for specific errors
1100: Business exception
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message

Correct return example:

json

{
    "code": 0,
    "message": "success"
}

Return error example:

json

{
    "code": 1100,
    "message": "The system is busy ",
    "result": null,
    "data": null
}

2.8 Create device group

2.8.1 Description

Add device groups.
Users can divide devices into different groups for easier management.

2.8.2 Request URL

See the unique request URL.
Method = jimi.device.group.create

2.8.3 HTTP Request method

POST

2.8.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYes-accesstoken: used for identifying legal third party
accountstringYes-The account that the created device group belongs to
group_namestringYesgroup name

2.8.5 Response

keyTypeDescription
codeintReturn code:
0: return correctly
1100:Business exception
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
dataobjectThe returned data.

result

KeyTypescription
group_idstringID of the new device group
group_namestringName of the new device group

Correct return example:

json

{
    "code": 0,
    "message": "success",
    "result": {
        "group_id": "534d23f1b28c44319f4f8ba0cda5b7e6",
        "group_name": "device group 1"
    }
}

Return error example:

json

2.9 Edit device group

2.9.1 Description

Edit device groups.

2.9.2 Request URL

See the unique request URL.
Method = jimi.device.group.update

2.9.3 HTTP Request method

POST

2.9.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYes-accesstoken: used for identifying legal third party
group_idstringYes-ID of the device group being edited
group_namestringYesName of the device group being edited

2.9.5 Response

keyTypeDescription
codeintReturn code:
0: return correctly
1100:Business exception
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message

Correct return example:

json

{
    "code": 0,
    "message": "success"
}

Return error example:

json

2.10 Delete device group

2.10.1 Description

Delete device groups.

2.10.2 Request URL

See the unique request URL.
Method = jimi.device.group.delete

2.10.3 HTTP Request method

POST

2.10.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYes-accesstoken: used for identifying legal third party
group_idstringYes-ID of the device group being deleted

2.10.5 Response

keyTypeDescription
codeintReturn code:
0: return correctly
1100:Business exception
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message

Correct return example:

json

{
    "code": 0,
    "message": "success"
}

Return error example:

json

2.11 Get device group list of an account

2.11.1 Description

Query the device groups of an account.

2.11.2 Request URL

See the unique request URL.
Method = jimi.device.group.list

2.11.3 HTTP Request method

POST

2.11.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYes-accesstoken: used for identifying legal third party
accountstringYes-The account that the device groups belong to

2.11.5 Response

keyTypeDescription
codeintReturn code:
0: return correctly
1100:Business exception
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
dataarray[object]The returned data.

rows list:

keyTypeDescription
group_idstringID of the new device group
group_namestringName of the new device group

Correct return example:

json

{
    "code": 0,
    "message": "success",
    "result": [
        {
            "group_id": "b2ac10536171474eb0c151c7bb606f3d",
            "group_name": "Default group"
        },
        {
            "group_id": "298b949bacbb4badae597ba1fdb629be",
            "group_name": "22221"
        },
        {
            "group_id": "05cbdd380ca14c2e89b2ab59904f51b7",
            "group_name": "CVCVXCV"
        }
    ]
}

Return error example:

json

3. Tracking Function

3.1 Get location of devices by account

3.1.1 Description

Get the latest location for all devices under an account.

3.1.2 Request URL

See the unique request URL.
Method = jimi.user.device.location.list

3.1.3 HTTP Request method

POST

3.1.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYesAccess token for security access JIMI Server.
targetstringYes-Specify the account for inquired.
map_typestringNo-map_type=GOOGLE, calibrated by google calibration.
map_type=null, return origin latitude and longitude

3.1.5 Response

KeyTypeDescription
codeintReturn code:
0: return correctly
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
resultArray[Object]The returned data

Result data:

KeyTypeDescription
imeistringDevice IMEI
deviceNamestringDevice name
iconstringVehicle icon
statusstringDevice status 0 - offline; 1 - online
latdoubleLongitude (if the device is expired, the value is 0)
lngdoubleLatitude (if the device is expired, the value is 0)
expireFlagstringExpired or not: 1- not expired; 0 - expired
activationFlagstringActivate or not :1 - Activate; 0 - Not active
posTypestringGPS, LBS, WIFI,BEACON
locDescstringLocation information while the device is positioned by Bluetooth
gpsTimestringGPS positioning time
hbTimestringHeartbeat time
speedstringSpeed (unit: km / h)
accStatusstringACC 0-OFF; 1-ON
electQuantitystringThe power will be calculated based on the model configuration and voltage.
powerValuestringExternal voltage(0-100), some models are not supported
distancestringdistance from device.
temperaturestringtemperature (unit:℃)
trackerOilstringOil quantity of the car(Original voltage value)
gpsSignalstringGSM signal strength level
0 - No signal
1 - Extremely week
2 - Week
3 - Strong
4 - Extremely strong
gpsNumstringNumber of satellites
directionstringMoving azimuth angle, 0-360, -1 represents unknown, for example: 100.12
currentMileagestringCurrent mileage
batteryPowerValStringInternal voltage

Correct return example:

json
{
    "code": 0,
    "message": "success",
    "result": [
        {
            "imei": "868120145233604",
            "deviceName": "868120145233604",
            "icon": "bus",
            "status": "0",
            "posType": "GPS",
            "lat": 22.577282,
            "lng": 113.916604,
            "hbTime": "2017-04-26 09:14:50",
            "accStatus": "0",
            "speed": "0",
            "gpsTime": "2017-04-26 09:17:46",
            "activationFlag": "1",
            "expireFlag": "1",
            "electQuantity": "60",
            "locDesc": null,
            "powerValue": null,
            "temperature": "86.5",
            "trackerOil": null
        }
    ]
}

Return error example:

json
{
    "code": "xxx",
    "message": "The account does not exist"
}

3.2 Get the location of device(s)

3.2.1 Description

Get the latest location for one or multiple devices.

3.2.2 Request URL

See the unique request URL.
Method = jimi.device.location.get

3.2.3 HTTP Request method

POST

3.2.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYesaccess token: used to security access JIMI server.
imeisstringYes_Device IMEI. Separate imei by comma; POST is recommended if too many devices (maximum 100 IMEI)
map_typestringNo_map_type=GOOGLE, calibrated by google calibration.
map_type=null, return origin latitude and longitude

3.2.5 Response

KeyTypeDescription
codeintReturn code:
0: return correctly
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
resultArray[Object]The returned data

Result list:

KeyTypeDescription
imeistringDevice IMEI
deviceNamestringDevice name
accountstringThe account the device belongs to
customerNamestringThe customer name of the account that the device belongs to
iconstringVehicle icon
statusstringDevice status 0, offline; 1, online
latdoubleLongitude (if the device expires, the value is 0)
lngdoubleLatitude (if the device expires, the value is 0)
expireFlagstring1- not expired; 0 - expired
activationFlagstring1 - Activate; 0 - Not active
posTypestringGPS, LBS, WIFI, BEACON
locDescstringLocation information
gpsTimestringGPS positioning time
hbTimestringHeartbeat time
speedstringSpeed (unit: km / h)
accStatusstringACC 0- off ;1- on
batteryPowerValstringbattery(0-100), Some device models are not supported
powerValuestringExternal voltage(0-100), Some device models are not supported
distancestringdistance from device.
temperaturestringtemperature (unit:℃)
trackerOilstringVehicle remaining fuel
currentMileagestringThe current mileage of the device (km)
gpsNumstringNumber of satellites
gpsSignalstringGSM signal strength level
0 - No signal
1 - Extremely week
2 - Week
3 - Strong
4 - Extremely strong
directionstringMoving azimuth angle, 0-360, -1 represents unknown, for example: 100.12
electQuantitystringThe power will be calculated based on the model configuration and voltage.

Correct return example:

json
{
    "code": 0,
    "message": "success",
    "result": [
        {
            "imei": "868120145233604",
            "deviceName": "868120145233604",
            "icon": "bus",
            "status": "0",
            "posType": "GPS",
            "lat": 22.577282,
            "lng": 113.916604,
            "hbTime": "2017-04-26 09:14:50",
            "accStatus": "0",
            "speed": "0",
            "gpsNum": "11",
            "gpsTime": "2017-04-26 09:17:46",
            "activationFlag": "1",
            "expireFlag": "1",
            "electQuantity": "60",
            "locDesc": null,
            "powerValue": null,
            "temperature": "86.5",
            "trackerOil": null,
            "currentMileage": "86.5"
        }
    ]
}

Return error example:

json
{
    "code": "xxx",
    "message": "Illegal device"
}

3.3 Get sharing location URL

3.3.1 Description

Get the URL of device location showing on the Map.

3.3.2 Request URL

See the unique request URL.
Method = jimi.device.location.URL.share

3.3.3 HTTP Request method

POST

3.3.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYesaccess token: used to security access JIMI server.
imeistringYes_Device IMEI

3.3.5 Response

KeyTypeDescription
codeintReturn code:
0: return correctly
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
resultObjectThe returned data contains URL information.

result Object:

KeyTypeDescription
URLstringDevice location sharing link

Correct return example:

json
{
    "code": 0,
    "message": "success",
    "result": {
        "URL": "data.16180track.com/api/share?ver=2&method=trackDevice_abr&deviceinfo=7ae7c62385f2067f164002db315854a969a40e3888021cb01dc8f2183ca08dbbd8581f6bb86df4c2e3e1b887cb67c21039b4c0ced18fdf8dd08e0460c5edd13ad87e16dca9702ce6"
    }
}

Return error example:

json
{
    "code":xxx,
    "message": "Illegal device"
}

3.4 Get the mileage data of devices

3.4.1 Description

Get device(s) trips data of specified time range.

3.4.2 Request URL

See the unique request URL.
Method = jimi.device.track.mileage

3.4.3 HTTP Request method

POST

3.4.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYes-Access token: used to identify legal client.
imeisstringYes-Device imeis, separate by comma.
begin_timenumberYes-Start time Format: yyyy-MM-dd HH:mm:ss
end_timenumberYes-End time Format: yyyy-MM-dd HH:mm:ss end_time should be earlier than current time
start_rownumberNo-Row number of result set.
page_sizenumberNoRecords in one page.

3.4.5 Response

KeyTypeDescription
codeintReturn code:
0: return correctly
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
resultArray[Object]The returned data
dataArray[Object]Summary information:
IMEI :IMEI of device
totalMileage:The sum of the total mileage of all trips made by the device within the specified time period

result list:

KeyTypeDescription
imeistringIMEI of device
startTimestringStart time
endTimestringEnd time
startLatstringLatitude of start position.
startLngstringLongitude of start position.
endLatstringLatitude of end position.
endLngstringLongitude of end position.
runTimeSecondintSecond of elapsed between start and end position.
distancedoubleDistance(meter) between start and end position.
avgSpeeddoubleAverage speed

Correct return example:

json
{
    "code": 0,
    "message": "success",
    "result": [
        {
            "imei": "3505831983422342",
            "startTime": "2017-04-26 00:00:58",
            "endTime": "2017-04-26 00:03:58",
            "startLat": 22.577144898887813,
            "startLng": 113.91674845964586,
            "endLat": 22.677144898887813,
            "endLng": 113.92674845964586,
            "elapsed": 2130,
            "distance": 25000,
            "avgSpeed": 90
        },
        {
            "imei": "3505831983422342",
            "startTime": "2017-04-26 00:00:58",
            "endTime": "2017-04-26 00:03:58",
            "startLat": 22.577144898887813,
            "startLng": 113.91674845964586,
            "endLat": 22.677144898887813,
            "endLng": 113.92674845964586,
            "elapsed": 2130,
            "distance": 25000,
            "avgSpeed": 90
        }
    ],
    "data": [
        {
            "imei": "3505831983422342",
            "totalMileage": 60000
        },
        {
            "imei": "3505831983422342",
            "totalMileage": 60000
        }
    ]
}

Return error example:

json

3.5 Get the track data of device

3.5.1 Description

Get device track data of not more than 7 days, within 3 months.

3.5.2 Request URL

See the unique request URL.
Method = jimi.device.track.list

3.5.3 HTTP Request method

POST

3.5.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYes-Access token: used to identify legal client.
imeistringYes-Device imei( only 1 each time)
begin_timenumberYes-Start time Format: yyyy-MM-dd HH:mm:ss
end_timenumberYes-End time Format: yyyy-MM-dd HH:mm:ss end_time should be earlier than current time
map_typestringNo-map_type=GOOGLE, calibrated by google calibration.
map_type=null, return origin latitude and longitude

3.5.5 Response

KeyTypeDescription
codeintReturn code:
0: return correctly
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
resultArray[Object]The returned data
dataobjectThe returned data

result list:

KeyTypeDescription
lngdoublelongitude
latdoublelatitude
gpsTimestringGPS positioning time. Format yyyy-MM-dd HH: mm: ss
directionstringDirection, polar coordinates started from due north
gpsSpeedstringGPS speed
posTypestring1-GPS, 2-LBS, 3-WIFI
satellitestringGPS antenna signal strength
ignitionstringIgnition status;ON-ACC ON, OFF-ACC OFF
accStatusstringAcc status

data list:

KeyTypeDescription
mileagestringThe mileage of the track within the query time

Correct return example:

json
{
    "code": 0,
    "message": "success",
    "result": [
        {
            "lat": 22.577144898887813,
            "lng": 113.91674845964586,
            "gpsTime": "2017-04-26 00:00:58",
            "direction": 0,
            "gpsSpeed": -1,
            "posType": 3,
            "satellite": 0,
            "ignition": "ON",
            "accStatus": "ON"
        },
        {
            "lat": 22.57708,
            "lng": 113.916631,
            "gpsTime": "2017-04-26 00:01:30",
            "direction": 184,
            "gpsSpeed": 0,
            "posType": 1,
            "satellite": 0,
            "ignition": "ON",
            "accStatus": "ON"
        }
    ],
    "data": {
        "mileage": 0
    }
}

Return error example:

json
{
    "code":xxx,
    "message": "IMEI does not exist{353419031939627}"
}
{
    " code ":xxx,
    "message": "The device has expired{353419031939627}"
}

3.6 Wi-Fi, Base Station locating analysis

3.6.1 Description

Allocate by total devices under the account (10 times/day/device. All sub-accounts included)

3.6.2 Request URL

See the unique request URL.
Method = jimi.lbs.address.get

3.6.3 HTTP Request method

POST

3.6.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYesaccess token: used to identify legal client.
imeinumberYes-Device Imei
lbsnumberNo-(wifi/LBS: at least one)
LBS inforamtion group (mcc,mnc,lac,cell,rssi), max 7. Each group has five, which should not be null and sorted in order.
MCC, China: 460
MNC
LAC information, 2312 23222
CELL code: 23222
RSSI Semaphore-70
wifistringNo-(wifi/LBS: at least one)
mac1,rssi1 mac2,rssi2
Mac address, no colon in between.
Rssi signal strength

3.6.5 Response

KeyTypeDescription
codeintReturn code:
0: return correctly
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
resultObjectThe returned data

Result list:

KeyTypeDescription
lngstringlongitude
latstringlatitude
accuracystringAccuracy, the greater the value the better

Correct return example:

json
{
    "code": 0,
    "message": "success",
    "result": {
        "lat": 40.65615416521587,
        "lng": 109.89894039833524,
        "accuracy": 0
    }
}

Return error example:

json
{
    "code":xxx,
    "message": "illegal device"
}

3.7 Get parking/idling data of devices

3.7.1 Description

Get device(s) parking/idling data of specified time range.

3.7.2 Request URL

See the unique request URL.
Method = jimi.open.platform.report.parking

3.7.3 HTTP Request method

POST

3.7.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYes-accesstoken: used for identifying legal third party
accountstringYes-The account to which the new fence belongs
imeisstringYes-Example values: 869247060001770,869247060001259,869247060001804
start_timestringYes-Start time Format: yyyy-MM-dd HH:mm:ss
end_timestringYes-End time Format: yyyy-MM-dd HH:mm:ss end_time should be earlier than current time
start_rowstringYes-Row number of result set.
page_sizestringYes-Recordsin one page.
acc_typestringYes-on: get the ldling data;off: get the parking data;

3.7.5 Response

keyTypeDescription
codeintReturn code:
0: return correctly
1100:Business exception
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
resultstringnull
dataobjectThe returned data.

data list:

keyTypeDescription
totalTimestringRequest processing time
dataTotalRowsstringTotal rows
rowsarray[object]Data details

rows list:

keyTypeDescription
imeistringImei of device
startTimestringStart time
endTimestringEnd time
durSecondstringParking time
lngnumberLongitude
latnumberLatitude
addrstringAddress
deviceNamestringDevice name
mcTypestringDevice model
accstringAcc status
stopSecondstringLength of parking

Correct return example:

json
{
    "code": 0,
    "message": "success",
    "result": null,
    "data": {
        "totalTime": "185641",
        "dataTotalRows": "2",
        "rows": [
            {
                "imei": "869247060001739",
                "startTime": "2022-12-10T01:05:33.000Z",
                "endTime": "2022-12-10T04:17:48.000Z",
                "durSecond": "11535",
                "lng": 113.943093,
                "lat": 22.576748,
                "addr": "Shigu Road, 松坪村, Xili Sub-district, Nanshan distri...",
                "deviceName": "JC450Pro-01739",
                "mcType": "JC450Pro",
                "acc": "on",
                "stopSecond": "11535"
            },
            {
                "imei": "869247060001739",
                "startTime": "2022-12-09T22:13:16.000Z",
                "endTime": "2022-12-10T01:04:25.000Z",
                "durSecond": "10269",
                "lng": 113.943002,
                "lat": 22.57649,
                "addr": "Shigu Road, 松坪村, Xili Sub-district, Nanshan distri...",
                "deviceName": "JC450Pro-01739",
                "mcType": "JC450Pro",
                "acc": "on",
                "stopSecond": "10269"
            }
        ]
    }
}

Return error example:

json
{
    "code": 1100,
    "message": "Business exception ",
    "result": null,
    "data": null
}

3.8 Get the location of TAG device

3.8.1 Description

Query the latest location of TAG.

3.8.2 Request URL

See the unique request URL.
Method = jimi.device.location.getTagMsg

3.8.3 HTTP Request method

POST

3.8.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYes-accesstoken: used for identifying legal third party
imeistringYes-Imei of TAG device

3.8.5 Response

keyTypeDescription
codeintReturn code:
0: return correctly
1100:Business exception
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
resultArray[Object]The returned data.

result list:

keyTypeDescription
lngdoubleLongitude
latdoubleLatitude
gpsTimeLongGPS positioning time
directionsStringcourse
gpsSpeedintSpeed
positionTypeString1:GPS, 2:LBS, 3:WIFI,5:BEACON
gpsNumintNumber of satellites

Correct return example:

json

{
    "code": 0,
    "message": "success",
    "result": [
        {
            "lng": 113.943054,
            "lat": 22.576609,
            "gpsTime": 1734593340,
            "directions": "0",
            "gpsSpeed": -1.0,
            "positionType": "5",
            "gpsNum": 3
        }
    ]
}

Return error example:

json

{
    "code": 1100,
    "message": "Business exception ",
    "result": null,
    "data": null
}

4. Media Function

4.1 Get Device Live Steaming Page URL

4.1.1 Description

Get device live streaming page URL& last position information.

4.1.2 Request URL

See the unique request URL.
Method = jimi.device.live.page.url

4.1.3 HTTP Request method

POST

4.1.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYesAccess token: used to identify legal client.
imeistringYes-Device IMEI
typestringNoDefault type=1Type=1 real-time video
Type=2 Historical video
voicestringNoDefault 10 is disable; 1 is enable

4.1.5 Response

KeyTypeDescription
codeintReturn code:
0: return correctly
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
resultObjectThe returned data

result object:

KeyTypeDescription
lngdoublelongitude
latdoublelatitude
gpsTimestringGPS positioning time. Format yyyy-MM-dd HH: mm: ss
directionstringDirection, polar coordinates started from due north
gpsSpeedstringGPS speed
posTypestring1-GPS, 2-LBS, 3-WIFI
satellitestringGPS antenna signal strength
VINstringVIN
plateNostringLicense Plate Number
UrlCamerastringLive streaming page URL

Correct return example:

json
{
    "code": 0,
    "message": "Vehicle information modification successful",
    "result": {
        "lat": 22.577144898887813,
        "lng": 113.91674845964586,
        "gpsTime": "2017-04-26 00:00:58",
        "direction": 0,
        "gpsSpeed": -1,
        "posType": 3,
        "satellite": 11,
        "VIN": "V12345",
        "plateNo": "ABC-12345",
        "UrlCamera": "https://www.domain.com/device/video/35408343202342345",
    }
}

Return error example:

json
{
    "code":xxx,
    "message": "imei doesn’t exists"
}

4.2 Send media instruction

4.2.1 Description

Send video or photo command to device.

4.2.2 Request URL

See the unique request URL.
Method = jimi.device.meida.cmd.send

4.2.3 HTTP Request method

POST

4.2.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYesAccess token: used to identify legal client.
imeistringYes-Device IMEI
camerastringYesmediaType=1 Only limited 1 or 21-front camera
2- inward camera
3- front + inward camera
mediaTypestringYes1 -photo 2-video
shootTimestringNo0 or 3-10mediaType=2 Recording duration 3-10

4.2.5 Response

KeyTypeDescription
codeintReturn code:
0: return correctly
Other: failure. Refer to the error code description
messagestringDescription of sending command result.
resultJSON{
"code": "100",
"data": "1.3.3",
"msg": "Communication successful response",
"cmdSeqNo": "1"
}
Return code:
225: time out
226: Parameter error
227: The command is not executed correctly
228: The device is not online
229: Network error, connection error, etc.
238: Device interrupted
240: Data format error

Correct return example:

json
{
    "code": 0,
    "message": "Operation successful",
    "result": {
        "code": "255",
        "data": "1.3.3",
        "msg": "通信成功响应",
        "cmdSeqNo": "1"
    }
}

Return error example:

json
{
    "code": -1,
    "message": "Operation successful",
    "result": {
        "code": "228",
        "data": "1.3.3",
        "msg": "设备不在线",
        "cmdSeqNo": "1"
    }
}

4.3 Send history video instruction

4.3.1 Description

Send upload history video file command to device.

4.3.2 Request URL

See the unique request URL.
Method = jimi.device.history.cmd.send

4.3.3 HTTP Request method

POST

4.3.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYesAccess token: used to identify legal client.
imeistringYes-Device IMEI
typestringYes1-Full fragment 2-Event fragment
camerastringYes1-out 2-in
fileNamestringNotype=1 is not nullHistorical video file name
timestringNotype=2 is not nullEvent time point, time format yyyy-MM-dd HH:mm:ss

4.3.5 Response

KeyTypeDescription
codeintReturn code:
0: return correctly
Other: failure. Refer to the error code description
messagestringDescription of sending command result.
resultJSON{
"code": "100",
"data": "1.3.3",
"msg": "Communication successful response",
"cmdSeqNo": "1"
}
Return code:
225: time out
226: Parameter error
227: The command is not executed correctly
228: The device is not online
229: Network error, connection error, etc.
238: Device interrupted
240: Data format error

Correct return example:

json
{
    "code": 0,
    "message": "Operation successful",
    "result": {
        "code": "255",
        "data": "1.3.3",
        "msg": "Successful response",
        "cmdSeqNo": "1"
    }
}

Return error example:

json
{
    "code": -1,
    "message": "Operation successful",
    "result": {
        "code": "228",
        "data": "1.3.3",
        "msg": "Device is offline",
        "cmdSeqNo": "1"
    }
}

4.4 Get Device JIMI Photo or Video URL

4.4.1 Description

Get device photo or video URL which capture by camera.

4.4.2 Request URL

See the unique request URL.
Method = jimi.device.jimi.media.URL

4.4.3 HTTP Request method

POST

4.4.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYesAccess token: used to identify legal client.
imeistringYes-Device IMEI
camerastringYes1-front camera 2- inward camera 3 both
media_typestringYes1 -photo 2-video 3-both
start_timedateNoStart time of photo or video created.
end_timedateNoEnd time of photo or video created.
tokenstringNoToken used to validate whether can access photo or video or not.
page_nointNoZero indexed, 0 by default.
page_sizeintNo10 rows by default.

4.4.5 Response

KeyTypeDescription
codeintReturn code:
0: return correctly
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
resultstringThe returned data,could be multiple rows.

result list:

KeyTypeDescription
thumb_URLstringURL of video or photo thumbnail.
file_URLstringURL of video or photo.
mime_typestringMime type of video or photo
create_timelongCreate time of video or photo.Unix timestamp format
alarm_timelongThe time at which the alarm was triggered, Unix timestamp format
media_typestring1-photo 2-video
camerastring0-front camera 1-inward camera
file_sizeintFile size of photo or video.

⚠️Remark: Unix timestamp; Example: 1611105520 = 2021-01-20 09:18:40

Correct return example:

json
{
    "code": 0,
    "message": "Operation successful",
    "result": [
        {
            "thumb_URL": "http://8.210.205.58:8081/normal/get?fileKey=2021_01_20_09_17_49_I_28.jpg",
            "file_URL": "http://8.210.205.58:8081/normal/get?fileKey=357730090564767_29057540_2021_01_20_09_17_49_I_28_128.mp4",
            "create_time": 1611105520,
            "mime_type": "video/mp4",
            "media_type": 2,
            "alarm_time": 1611105469,
            "camera": 0,
            "file_size": "12108649"
        },
        {
            "thumb_URL": "http://8.210.205.58:8081/normal/get?fileKey=2021_01_20_08_06_13_I_56.jpg",
            "file_URL": "http://8.210.205.58:8081/normal/get?fileKey=357730090564767_00000000_2021_01_20_08_06_13_I_56_146.mp4",
            "create_time": 1611101264,
            "mime_type": "video/mp4",
            "media_type": 2,
            "alarm_time": 1611101173,
            "camera": 0,
            "file_size": "48452069"
        }
    ]
}

Return error example:

json
{
    "code":xxx,
    "message": "imei doesn’t exists"
}

5. Command Management

5.1 Get command list supported by device

5.1.1 Description

Get command list supported by device

5.1.2 Request URL

See the unique request URL.
Method = jimi.open.instruction.list

5.1.3 HTTP Request method

POST

5.1.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYesaccesstoken: used for identifying legal third party
imeistringYes-Device imei

5.1.5 Response

KeyTypeDescription
codeintReturn code:
0: return correctly
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
resultstringThe returned data

Result list:

KeyTypeDescription
idstringCommand code
orderNamestringCommand name
orderContentstringCommand template
orderExplainstringCommand explanation
orderMsgstringprompt
isOffLinestringif support offline command 0-no; 1-yes

Correct return example:

json
{
    "code": 0,
    "message": "success",
    "result": [
        {
            "id": 81,
            "orderName": "SOS setting",
            "orderContent": "SOS,A,{0},{1},{2}#",
            "orderExplain": "SOS is used for receive alerts and SOS alerts. SOS number should have 3-20 numbers.",
            "orderMsg": "",
            "isOffLine": "1"
        }
    ]
}

Return error example:

json
{
    "code":xxx,
    "message": "Illegal device"
}

5.2 Send command to device

5.2.1 Description

Send command to device.

⚠️Before sending instructions to the device, please use the method jimi.open.instruction.list to query the list of instructions supported by the device.

5.2.2 Request URL

See the unique request URL.
Method = jimi.open.instruction.send

5.2.3 HTTP Request method

POST

5.2.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYesaccesstoken: used for identifying legal third party
imeistringYes-Device imei
inst_param_jsonstringYes-Command message json character string

inst_param_json description

ParameterTypeRequiredRemarkDescription
inst_idstringYesCommand code
inst_templatestringYes-Command template
paramsArray[string]Yes-Command params string Array
is_coverBooleanNofalseWhether cover the existed offline command or not true-cover false-not cover

⚠️Example 1

json
Get command list supported by device:
{
    "id": 81,
    "orderName": "Add SOS Number",
    "orderContent": "SOS,A,{0},{1},{2}#",
    "orderExplain": "SOS setting",
    "orderMsg": null,
    "isOffLine": "0"
}
Send command to device:
{"inst_id": "81","inst_template":"SOS,A,{0},{1},{2}#","params":["0528989490","0528989490","0528989490"],"is_cover":"true"}

⚠️Example 2

json
Get command list supported by device:
 {
    "id": 163,
    "orderName": "Fuel/Power Remote Control",
    "orderContent": "RELAY,{0}#",
    "orderExplain": null,
    "orderMsg": null,
    "isOffLine": "0"
}
Send command to device:
{"inst_id": "163","inst_template":"RELAY,{0}#","params":["1"],"is_cover":"true"}

⚠️Example 3

json
User-defined command:
Get command list supported by device:
{
    "id": 99,
    "orderName": "User defined command",
    "orderContent": "{0}",
    "orderExplain": null,
    "orderMsg": null,
    "isOffLine": "0"
}
Send command to device:
{"inst_id": "99","inst_template":"{0}","params":["RELAY,1#"],"is_cover":"true"}

5.2.5 Response

KeyTypeDescription
codeintReturn code:
0: return correctly
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
resultstringThe returned parameters

Correct return example:

json
{
    "code": 0,
    "message": "command is successfully sent.",
    "result": null
}

Return error example:

json
{
    "code": 12005,
    "message": "Fail to send command. Result code:226",
    "result": null
}

5.3 Get results of command execution

5.3.1 Description

Get results of sending command.

5.3.2 Request URL

See the unique request URL.
Method = jimi.open.instruction.result

5.3.3 HTTP Request method

POST

5.3.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYesaccesstoken: used for identifying legal third party
imeistringYes-Device imei

5.3.5 Response

KeyTypeDescription
codeintReturn code:
0: return correctly
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
resultstringThe returned data

Result list:

KeyTypeDescription
codeIdstringCommand code
codestringCommand sent
contentstringContent replied by device
isExecutestringcommand status:
0: execution failed,
1: successful execution,
3: to be sent,
4: canceled
sendTimestringTime, format:yyyy-MM-dd HH:mm:ss
senderstringsender
receiveDevicestringReceived imei
isOffLinestring0: online 1: offline
idsourcestringCommand description

Correct return example:

json
{
    "code": 0,
    "message": "success",
    "result": [
        {
            "codeId": "99",
            "code": "status#",
            "content": "Parameter error",
            "isExecute": "4",
            "sendTime": "2017-06-19 11:46:00",
            "sender": "jimitest",
            "receiveDevice": "868120111111117",
            "isOffLine": "1",
            "idsource": "User-defined command"
        }
    ]
}

Return error example:

json
{
    "code":xxx,
    "message": "Illegal device"
}

5.4 Send raw command data to device

5.4.1 Description

Send raw command to device.

5.4.2 Request URL

See the unique request URL.
Method = jimi.open.instruction.raw.send

5.4.3 HTTP Request method

POST

5.4.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYesaccesstoken: used for identifying legal third party
imeiStringYes-Device imei
raw_cmdstringYes-Raw command data(hex string)

⚠️ Raw Command Example: 0B02C3A405060708

5.4.5 Response

KeyTypeDescription
codeintReturn code:
0: return correctly
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
resultstringThe returned parameters

Correct return example:

json
{
    "code": 0,
    "message": "command is successfully sent.",
    "result": null
}

Return error example:

json
{
    "code": 12005,
    "message": "Fail to send command. Result code:226",
    "result": null
}

6. Geofencing Function

6.1 Create Geo-fence for IMEI

6.1.1 Description

Create Geo-fence for IMEI

6.1.2 Request URL

See the unique request URL.
Method = jimi.open.device.fence.create

6.1.3 HTTP Request method

POST

6.1.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYesaccesstoken: used for identifying legal third party
imeistringYes-Device Imei
fence_namestringYes-Geo-fence name
alarm_typestringYes-Alarm type (in / out / in, out)
report_modestringYes-Alarm reporting mode, 0: GPRS,1: SMS+GPRS
alarm_switchstringYes-Fence alarm switch(ON/OFF)
lngstringYes-Longitude
latstringYes-latitude
radiusstringYes-Fence radius(1~9999;unit: 100 meters)
zoom_levelstringYes-Zoom level (3-19)
map_typestringYes-Map (GOOGLE)

6.1.5 Response

KeyTypeDescription
codeintReturn code:
0: return correctly
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
resultstringThe returned data. Fence serial number returned if succeed.

Correct return example:

json
{
    "code": 0,
    "message": "Successfully create geo-fence.",
    "result": "5"
}

Return error example:

json
{
    "code": 41003,
    "message": "Device is not online, geo-fence creation failed ",
    "result": null
}

6.2 Delete Geo-fence for device

6.2.1 Description

Delete Geo-fence for device.

6.2.2 Request URL

See the unique request URL.
Method = jimi.open.device.fence.delete

6.2.3 HTTP Request method

POST

6.2.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYesaccesstoken: used for identifying legal third party
imeistringYes-Device imei
instruct_nostringYes-Geo-fence command serial number

6.2.5 Response

KeyTypeDescription
codeintReturn code:
0: return correctly
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
resultstringThe returned data

Correct return example:

json
{
    "code": 0,
    "message": "delete the geo-fence successfully",
    "result": null
}

Return error example:

json
{
    "code": 41003,
    "message": "The device is not online and geo-fence can’t be deleted",
    "result": null
}

6.3 Create platform Geo-fence

6.3.1 Description

Create a platform geofence,the newly created platform geofence belongs to the default group.

6.3.2 Request URL

See the unique request URL.
Method = jimi.open.platform.fence.create

6.3.3 HTTP Request method

POST

6.3.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYes-accesstoken: used for identifying legal third party
accountstringYes-The account to which the new fence belongs
fence_namestringYes-The name of the new fence
fence_typestringYescircle or polygonFence type (circle/polygon)
fence_colorstringNodefault: #3B7AFFFence color, standard RGB16 color column such as red #FF0000
geomstringYes-Collection of coordinate points
Polygon: Latitude and longitude are separated by commas, and multiple locations are separated by '#', such as: 22.581714259546697,113.89460067944759#22.57323797629247,113.92 341832019817 (Need to transcode to Mars coordinate system)
Round: 22.57540001979625, 113.88814802356858
Note: latitude comes before longitude
radiusstringNo200-5000 default: 200Fence radius, in m, range 200m~5000m,When it is a circle, it needs to be passed in, otherwise it will become a polygon
descriptionstringNo-fence description

6.3.5 Response

keyTypeDescription
codeintReturn code:
0: return correctly
1114: Fence name already exists
-1:The system is busy
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
resultstringnull
datastringThe returned data. fence_id returned if succeed.

Correct return example:

json
{
    "code": 0,
    "message": "success",
    "result": null,
    "data": "c33b80d46d2b41d588a5afbd6f8b6285"
}

Return error example:

json
{
    "code": 1114,
    "message": "That name already exists ",
    "result": null,
    "data": null
}

6.4 Edit platform Geo-fence

6.4.1 Description

Edit platform geofence informatio.

6.4.2 Request URL

See the unique request URL.
Method = jimi.open.platform.fence.create

6.4.3 HTTP Request method

POST

6.4.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYes-accesstoken: used for identifying legal third party
accountstringYes-The account to which the fence belongs
fence_idstringYes-Fence id that needs to be edited
fence_namestringYes-The name of the new fence
fence_typestringYescircle or polygonFence type (circle/polygon)
fence_colorstringNodefault: #3B7AFFFence color, standard RGB16 color column such as red #FF0000
geomstringYes-Collection of coordinate points Polygon: Latitude and longitude are separated by commas, and multiple locations are separated by '#', such as: 22.581714259546697,113.89460067944759#22.57323797629247,113.92 341832019817 (Need to transcode to Mars coordinate system)
Round: 22.57540001979625, 113.88814802356858
Note: latitude comes before longitude
radiusstringNo200-5000 default: 200Fence radius, in m, range 200m~5000m,When it is a circle, it needs to be passed in, otherwise it will become a polygon
descriptionstringNo-fence description

6.4.5 Response

keyTypeDescription
codeintReturn code:
0: return correctly
-1:The system is busy
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
resultstringnull
datastringThe returned data. fence_id returned if succeed.

Correct return example:

json
{
    "code": 0,
    "message": "success",
    "result": null,
    "data": "c33b80d46d2b41d588a5afbd6f8b6285"
}

Return error example:

json
{
    "code": -1,
    "message": "The system is busy ",
    "result": null,
    "data": null
}

6.5 Delete platform Geo-fence

6.5.1 Description

Delete platform geofence.

6.5.2 Request URL

See the unique request URL.
Method = jimi.open.platform.fence.delete

6.5.3 HTTP Request method

POST

6.5.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYes-accesstoken: used for identifying legal third party
accountstringYes-The account to which the new fence belongs
fence_idstringYes-Fence id that needs to be deleted

6.5.5 Response

keyTypeDescription
codeintReturn code:
0: return correctly
-1:The system is busy
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
resultstringnull
datastringnull

Correct return example:

json
{
    "code": 0,
    "message": "success",
    "result": null,
    "data": null
}

Return error example:

json

{
    "code": -1,
    "message": " The system is busy ",
    "result": null,
    "data": null
}

6.6.1 Description

Geofence related device.

6.6.2 Request URL

See the unique request URL.
Method = jimi.open.platform.fence.bind

6.6.3 HTTP Request method

POST

6.6.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYes-accesstoken: used for identifying legal third party
fence_idstringYes-
imeisstringNo-Example values:869247060001770,869247060001259,869247060001804
alert_typestringNo-Alarm types, if multiple alarms are configured at the same time, separate them with commas ","
1.in: into the fence;
2.out: out of the fence;
3.stayTimeIn: If you do not enter the fence for more than N days, the alarm will be triggered;
4.stayTimeOut: If you do not leave the fence for more than N days, the alarm will be triggered;
stay_time_inintNo-Do not enter the fence for more than N days to trigger an alarm. When there is a value here, you need to pass in stayTimeIn in the alert_type.
stay_time_outintNoDo not leave the fence for more than N days to trigger an alarm.When there is a value here, you need to pass in stayTimeOut in alert_type.

6.6.5 Response

keyTypeDescription
codeintReturn code:
0: return correctly
1100:Business exception
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
resultstringnull
datastringThe returned data. the number of related devices returned if succeed.

Correct return example:

json

{
    "code": 0,
    "message": "success",
    "result": null,
    "data": "3"
}

Return error example:

json

{
    "code": 1100,
    "message": "Business exception ",
    "result": null,
    "data": null
}

6.7 List platform geofences of an account

6.7.1 Description

Query platform geofences of a specified account.

6.7.2 Request URL

See the unique request URL.
Method = jimi.open.platform.fence.list

6.7.3 HTTP Request method

POST

6.7.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYes-accesstoken: used for identifying legal third party
accountstringYes-The account to which the geofences belong
page_nonumberNo>=1 default:1Page number
page_sizenumberNo1-50 default:10Records in one page.

6.7.5 Response

keyTypeDescription
codeintReturn code:
0: return correctly
1100:Business exception
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
resultobjectNumber of fences belonging to the account and details of each fence

result:

ParameterTypeDescription
totalstringNumber of fences belonging to the account
rowsArray[Object]The returned data

Rows list:

ParameterTypeDescription
fence_idstringFence_id
fence_namestringThe name of the geofence
fence_typestringFence type (circle/polygon)
fence_colorstringdefault: #3B7AFF
coordinatesstringCollection of coordinate points Polygon: Latitude and longitude are separated by commas, and multiple locations are separated by ';', such as: 22.581714259546697,113.89460067944759;22.57323797629247,113.92 341832019817 (Need to transcode to Mars coordinate system)
Round: 22.57540001979625, 113.88814802356858
Note: latitude comes before longitude
radiusstringFence radius, in m, range 200m~5000m,When it is a circle, it needs to be passed in, otherwise it will become a polygon
descriptionstringfence description
imeisstringExample values:869247060001770,869247060001259,869247060001804
alert_typestringAlarm types, separated by commas
1.in: into the fence;
2.out: out of the fence;
3.stayTimeIn: If you do not enter the fence for more than N days, the alarm will be triggered;
4.stayTimeOut: If you do not leave the fence for more than N days, the alarm will be triggered;
stay_time_inintDo not enter the fence for more than N days to trigger an alarm. When there is a value here, you need to pass in stayTimeIn in the alert_type.
stay_time_outintDo not leave the fence for more than N days to trigger an alarm. When there is a value here, you need to pass in stayTimeOut in alert_type.
accountstringaccount

Correct return example:

json

{
    "code": 0,
    "message": "success",
    "result": {
        "total": 294,
        "rows": [
            {
                "fence_id": "dfab43ea3e7a40e987056c857cccae7b",
                "fence_name": "test fence",
                "fence_type": "circle",
                "fence_color": "#3b7aff",
                "coordinates": "22.544382,114.004037",
                "radius": "4153",
                "description": "",
                "imeis": "231011234567990,869247060001655,868598060001827,869247060001259",
                "alert_type": "in",
                "stay_time_out": null,
                "stay_time_in": null,
                "account": "hao001"
            }
        ]
    }
}

Return error example:

json

{
    "code": -1,
    "message": "The system is busy ",
    "result": null,
    "data": null
}

6.8 Query single fence information

6.8.1 Description

Query single fence information based on fence id

6.8.2 Request URL

See the unique request URL.
Method = jimi.open.platform.fence.detail

6.8.3 HTTP Request method

POST

6.8.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYes-accesstoken: used for identifying legal third party
fence_idstringYes-Unique id of fence

6.8.5 Response

keyTypeDescription
codeintReturn code:
0: return correctly
1100:Business exception
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
resultobjectDetailed information of fence

result:

ParameterTypeDescription
fence_idstringFence_id
fence_namestringThe name of the geofence
fence_typestringFence type (circle/polygon)
fence_colorstringdefault: #3B7AFF
coordinatesstringCollection of coordinate points Polygon: Latitude and longitude are separated by commas, and multiple locations are separated by ';', such as: 22.581714259546697,113.89460067944759;22.57323797629247,113.92 341832019817 (Need to transcode to Mars coordinate system)
Round: 22.57540001979625, 113.88814802356858
Note: latitude comes before longitude
radiusstringFence radius, in m, range 200m~5000m,When it is a circle, it needs to be passed in, otherwise it will become a polygon
descriptionstringfence description
imeisstringExample values:869247060001770,869247060001259,869247060001804
alert_typestringAlarm types, separated by commas
1.in: into the fence;
2.out: out of the fence;
3.stayTimeIn: If you do not enter the fence for more than N days, the alarm will be triggered;
4.stayTimeOut: If you do not leave the fence for more than N days, the alarm will be triggered;
stay_time_inintDo not enter the fence for more than N days to trigger an alarm. When there is a value here, you need to pass in stayTimeIn in the alert_type.
stay_time_outintDo not leave the fence for more than N days to trigger an alarm. When there is a value here, you need to pass in stayTimeOut in alert_type.
accountstringaccount

Correct return example:

json

{
    "code": 0,
    "message": "success",
    "result": {
        "fence_id": "dfab43ea3e7a40e987056c857cccae7b",
        "fence_name": "test fence",
        "fence_type": "circle",
        "fence_color": "#3b7aff",
        "coordinates": "22.544382,114.004037",
        "radius": "4153",
        "description": "",
        "imeis": "231011234567990,869247060001655,868598060001827,869247060001259",
        "alert_type": "in",
        "stay_time_out": null,
        "stay_time_in": null,
        "account": "hao001"
    }
}

Return error example:

json

{
    "code": -1,
    "message": "The system is busy ",
    "result": null,
    "data": null
}

7. Push Function

7.1 Receive Notification

7.1.1 Description

Third-party platform should provide an URL address to receive the notification(please contact us and provide the URL manually), JIMI server will push the notification by sending a HTTP request using this URL.

7.1.2 Message service List

Message TypeDescription
jimi.push.device.alarmAlarm data

Request content:

KeyTypeDescription
msgTypeStringMessage type, corresponding to the message service list
dataStringThe content of the message, corresponding to msgType

7.1.3 Message content ( jimi.push.device.alarm)

Alarms pushed are as follows

KeyTypeDescription
imeistringDevice imei
deviceNamestringDevice name
alarmTypestringAlarm type
alarmNamestringAlarm name
latstringLatitude
lngstringLongitude
alarmTimestringAlarm time, format (yyyy-MM-dd HH: mm: ss)
E.g:
Parameter1:
Key = msgType
Value = jimi.push.device.alarm
Parameter2:
Key = data
Value = {
"imei": "868120145233604",
"deviceName": "868120145233604",
"alarmType": "2",
"alarmName": "Power off alarm",
"lat": 40.65615416521587,
"lng": 109.89894039833524,
"alarmTime": "2017-05-08 12:00:00"
}

7.2 Push Received Raw Data

7.2.1 Description

Third-party platform should provide an URL(same as messages push URL) to receive the raw data(please contact us and provide the URL manually), JIMI server will push the raw data by sending a HTTP request using this URL.

7.2.2 Message service List

Message TypeDescription
jimi.open.instruction.raw.receiveRaw data receive message type, different from alarm message.

Request content:

KeyTypeDescription
msgTypestringMessage type, corresponding to the message service list
datastringThe content of the message, corresponding to msgType

7.2.3 Message content ( jimi.open.instruction.raw.receive)

Alarms pushed are as follows:

KeyTypeDescription
imeistringDevice imei
deviceNamestringDevice name
raw_datastringraw data from device.(hex string)
E.g:
Parameter1:
Key = msgType
Value = jimi.open.instruction.raw.receive
Parameter2:
Key = data
Value = {
"imei": "868120145233604",
"deviceName": "868120145233604",
"raw_data": "0A0C0F01182E0101"
}

8. OBD

8.1 Get the OBD data of devices

8.1.1 Description

Query CAN bus diagnosis data reported by OBD device.

8.1.2 Request URL

See the unique request URL.
Method = jimi.device.obd.list

8.1.3 HTTP Request method

POST

8.1.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYes-accesstoken: used for identifying legal third party
accountstringYes-The account to which the new fence belongs
imeisstringYes-Device imei(s), separate by comma. No more than 100 each time.Supports querying the data of the account and its sub-account devices.Example values:869247060001770,869247060001259,869247060001804
start_timestringYes-Start time Format: yyyy-MM-dd HH:mm:ss
end_timestringYes-End time Format: yyyy-MM-dd HH:mm:ss End_time should be earlier than current time.
Query up to 31 days of data at a time.
page_nointYes>=1 default:1Page number
page_sizeintYes1-100 default:10Recordsin one page.

8.1.5 Response

keyTypeDescription
codeintReturn code:
0: return correctly
1100:Business exception
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
dataobjectThe returned data.

data list:

keyTypeDescription
currentPageintThe current page, same as page_no.
pageSizeintRecordsin one page, same as page_size.
totalRecordintTotal rows
resultarray[object]Data details

result list:

keyTypeDescription
imeistringImei of device
dataReportTimestringThe time the data was reported
odometerReadingstringVehicle meter mileage(Unit: KM)
deviceAccumulatedMileagestringMileage counted by the device
remainingFuelstringOil volume
remainingFuelPercentagestringOil percentage The data reported by different vehicles and devices are different. The Oil volume or Oil percentage is displayed based on the data actually reported by the device.
coolantTemperaturestringCoolant temperature(Unit: ℃)
vehicleBatterVoltagestringExternal input voltage
currentRPMstringInstantaneous engine speed
currentSpeedstringCurrent driving speed
vinstringVehicle Identification Number

Correct return example:

json

{
    "code": 0,
    "message": "success",
    "data": {
        "currentPage": 1,
        "pageSize": 2,
        "startRow": 0,
        "endRow": 0,
        "totalRecord": 2684,
        "totalPage": 0,
        "result": [
            {
                "imei": "158511020000028",
                "dataReportTime": "2024-05-09 10:25:00",
                "odometerReading": "2049.6",
                "deviceAccumulatedMileage": "142.9",
                "remainingFuel": null,
                "remainingFuelPercentage": "58",
                "coolantTemperature": "77",
                "vehicleBatterVoltage": "118",
                "currentRPM": "5016",
                "currentSpeed": "88.5",
                "vin": "LC0CG4CF1H0029191"
            },
            {
                "imei": "158511020000028",
                "dataReportTime": "2024-05-09 1:27:23",
                "odometerReading": "2048.6",
                "deviceAccumulatedMileage": "143.9",
                "remainingFuel": null,
                "remainingFuelPercentage": "56",
                "coolantTemperature": "78",
                "vehicleBatterVoltage": "118",
                "currentRPM": "5016",
                "currentSpeed": "95.5",
                "vin": "LC0CG4CF1H0029191"
            }
        ]
    }
}

Return error example:

json

{
    "code": 1100,
    "message": "Business exception ",
    "result": null,
    "data": null
}

8.2 Get the OBD fault data of devices

8.2.1 Description

Query CAN bus fault code information reported by OBD device.

8.2.2 Request URL

See the unique request URL.
Method = jimi.device.obd.fault

8.2.3 HTTP Request method

POST

8.2.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYes-accesstoken: used for identifying legal third party
accountstringYes-The account to which the new fence belongs
imeisstringYes-Device imei(s), separate by comma. No more than 100 each time.Supports querying the data of the account and its sub-account devices.Example values:869247060001770,869247060001259,869247060001804
start_timestringYes-Start time Format: yyyy-MM-dd HH:mm:ss
end_timestringYes-End time Format: yyyy-MM-dd HH:mm:ss End_time should be earlier than current time.
Query up to 31 days of data at a time.
page_nointYes>=1 default:1Page number
page_sizeintYes1-100 default:10Recordsin one page.

8.2.5 Response

keyTypeDescription
codeintReturn code:
0: return correctly
1100:Business exception
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
dataobjectThe returned data.

data list:

keyTypeDescription
currentPageintThe current page, same as page_no.
pageSizeintRecordsin one page, same as page_size.
totalRecordintTotal rows
resultarray[object]Data details

result list:

keyTypeDescription
imeistringImei of device
deviceNamestringDevice name
faultCodestringThe fault code of the fault
faultDetailstringFault detailed description
eventTimestringTime when the fault was reported

Correct return example:

json

{
    "code": 0,
    "message": "success",
    "result": null,
    "data": {
        "currentPage": 1,
        "pageSize": 4,
        "startRow": 0,
        "endRow": 0,
        "totalRecord": 6,
        "totalPage": 0,
        "result": [
            {
                "imei": "202509999999994",
                "deviceName": "VL502_E-99994",
                "faultCode": "P1502",
                "faultDetail": "High speed state of the vehicle - the front axle is faster than the rear axle",
                "eventTime": "2024-07-03 08:16:49"
            },
            {
                "imei": "202509999999994",
                "deviceName": "VL502_E-99994",
                "faultCode": "B0074",
                "faultDetail": "2nd row center seat belt pretensioner - start control (sub-error)",
                "eventTime": "2024-07-03 08:26:49"
            },
            {
                "imei": "202509999999994",
                "deviceName": "VL502_E-99994",
                "faultCode": "P2407",
                "faultDetail": "Fuel evaporative emission system leak detection pump sensing circuit is intermittent/unstable",
                "eventTime": "2024-07-03 08:36:49"
            },
            {
                "imei": "202509999999994",
                "deviceName": "VL502_E-99994",
                "faultCode": "U0464",
                "faultDetail": "Invalid data received from the navigation control module",
                "eventTime": "2024-07-03 08:46:49"
            }
        ]
    }
}

Return error example:

json

{
    "code": 1100,
    "message": "Business exception ",
    "result": null,
    "data": null
}

9. Reports

9.1 Get entry and exit fence data of devices

9.1.1 Description

Query the report data of the device's entry and exit fence.

9.1.2 Request URL

See the unique request URL.
Method = jimi.open.platform.fence.duration

9.1.3 HTTP Request method

POST

9.1.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYes-accesstoken: used for identifying legal third party
accountstringYes-The account to which the new fence belongs
imeisstringYes-Example values: 869247060001770,869247060001259,869247060001804
start_timestringYes-Start time Format: yyyy-MM-dd HH:mm:ss
end_timestringYes-End time Format: yyyy-MM-dd HH:mm:ss
end_time should be earlier than current time
start_rowstringYes-Row number of result set.
page_sizestringYes-Recordsin one page.

9.1.5 Response

keyTypeDescription
codeintReturn code:
0: return correctly
1100:Business exception
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
dataobjectThe returned data.

data list:

keyTypeDescription
totalTimestringRequest processing time
dataTotalRowsstringTotal rows
rowsarray[object]Data details

rows list:

keyTypeDescription
imeistringImei of device
deviceNamestringDevice name
fenceNamestringFence name
enterTimestringEnter fence time
exitTimenumberLeave fence time
durationnumberDuration

Correct return example:

json

{
    "code": 0,
    "message": "success",
    "result": null,
    "data": {
        "totalTime": "0",
        "dataTotalRows": "2",
        "rows": [
            {
                "imei": "869247060001739",
                "deviceName": "JC450Pro-01739",
                "fenceName": "geofence1",
                "enterTime": "2022-12-10T01:05:33.000Z",
                "exitTime": "2022-12-10T04:17:48.000Z",
                "duration": "11535"
            },
            {
                "imei": "869247060001739",
                "deviceName": "JC450Pro-01739",
                "fenceName": "geofence1",
                "enterTime": "2022-12-10T01:05:33.000Z"
            }
        ]
    }
}

Return error example:

json

{
    "code": 1100,
    "message": "Business exception ",
    "result": null,
    "data": null
}

9.2 Get the trips report data of devices

9.2.1 Description

Query the trips report data of devices.

9.2.2 Request URL

See the unique request URL.
Method = jimi.open.platform.report.trips

9.2.3 HTTP Request method

POST

9.2.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYes-accesstoken: used for identifying legal third party
accountstringYes-The account to which the new fence belongs
imeisstringYes-Example values: 869247060001770,869247060001259,869247060001804
typestringYes-day/list
When type is day, the device itinerary data is assembled by day.
When it is list, the detailed data of the device itinerary is summarized and returned.
start_timestringYes-Start time Format: yyyy-MM-dd HH:mm:ss
end_timestringYes-End time Format: yyyy-MM-dd HH:mm:ss
end_time should be earlier than current time
start_rowstringYes-Row number of result set.
page_sizestringYes-Recordsin one page.

9.2.5 Response

keyTypeDescription
codeintReturn code:
0: return correctly
1100:Business exception
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
dataobjectThe returned data.

data list:

keyTypeDescription
dayListarray[object]When type = list, the array is returned
datDatasarray[object]When type = day, the array is returned

datDatas list:

keyTypeDescription
deviceNamestringDevice Name
deviceImeistringDevice imei
dataobject

datDatas.data:

keyTypeDescription
datestringDate
totalTripsstringTotal number of trips on the day
averageSpeedstringAverage speed
fuelstringFuel consumption
maxSpeedstringMaximum speed
oilWearstringFuel consumption per 100 kilometers
totalMileagestringTotal mileage
travelTimestringTotal trip time

dayList list:

keyTypeDescription
imeistringImei of device
deviceNamestringDevice name
tripsDataArray[object]Trip information, see the table below for details
inTotalobjectTrip information summary:
allTrips: total number of trips
totalDis: total mileage
travelTime: total running time
totalTime: formatted total running time
totalAvgSpeed: average speed
allTotalMaxSpeed: maximum average speed
totalFuel: total fuel consumption
oilWear: fuel consumption per 100 kilometers

dayList.tripsData:

keyTypeDescription
Searchdatestringdate
tripNumnumberNumber of trips on the day
inTotalobjectData summary for the day :
totalDis: total mileage
travelTime: total running time
totalTime: formatted total running time
totalAvgSpeed: average speed
allTotalMaxSpeed: maximum average speed
totalFuel: total fuel consumption
oilWear: fuel consumption per 100 kilometers
dayDataArray[object]For each itinerary information, please see the table below for detailed information

dayList.tripsData.dayData:

keyTypeDescription
imeistringDevice imei
startTimestringStart time of the trip
endTimestringEnd time of the trip
startLatstringStart latitude of the trip
startLngstringStart longitude of the trip
endLatstringEnd latitude of the trip
endLngstringEnd longitude of the trip
totalMileagestringMileage of the trip
travelTimestringTime
averageSpeedstringAverage speed
maxSpeedstringMaximum speed
oilWearstringFuel consumption per 100 kilometers
fuelstringFuel consumption
startMileagestringStart mileage
endMileagestringEnd mileage

Correct return example:

json

Return error example:

json

{
    "code": 1100,
    "message": "Business exception ",
    "result": null,
    "data": null
}

9.3 Get device alarm list

9.3.1 Description

Get device alarm list. Time range of searching criteria should be within 1 month. Return maximum 1000 rows.

9.3.2 Request URL

See the unique request URL.
Method = jimi.device.alarm.list

9.3.3 HTTP Request method

POST

9.3.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYesaccesstoken: used for identifying legal third party
imeistringYes-Device imei: This field can be used when querying a single device.
alertTypeIdstringNoIf not specify alertTypeId, all alert type will return.
begin_timedateNoif not provide begin_time & end_time, returns latest 50 alerts of last 1 month.
end_timedateNo
imeisstringYesDevice imei(s), separate by comma.Query single or multiple devices No more than 100 each time. Select one of the IMEI and IMEIS fields to fill in.
page_nointYes>=1 default:1Page number
page_sizeintYes1-100 default:50Recordsin one page.

9.3.5 Response

KeyTypeDescription
codeintReturn code:
0: return correctly
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
resultstringThe returned data

Result list:

KeyTypeDescription
deviceNamestringDevice Name
imeistringIMEI
modelstringDevice Model
accountstringAccount
alertTypeIdstringAlert type ID
alertTypeNamestringAlert type name
alertTimestringAlert time
positioningTimestringTime of alert positioning
lngdoublelongitude
latdoublelatitude
speedstringspeed
geoidstringFence ID

Correct return example:

json
{
    "code": 0,
    "message": "success",
    "result": [
        {
            "deviceName": "ABC-34352",
            "imei": "343503422910345",
            "model": "GT06N",
            "account": "test1234",
            "alertTypeId": "1002",
            "alarmTypeName": "ACC On",
            "alertTime": "2019-03-14 14:02:03",
            "positioningTime": "2019-03-14 14:02:03",
            "lat": 22.577144898887813,
            "lng": 113.91674845964586,
            "speed": "10",
            "geoid": "se8yg081p0qh5vnniqrakr1nr0tdh6a0"
        }
    ]
}

Return error example:

json
{
    "code":xxx,
    "message": "Illegal device"
}

9.4 Get RFID reporting information

9.4.1 Description

Query the RFID information reported within a certain period of time.

9.4.2 Request URL

See the unique request URL.
Method = jimi.open.device.rfid.list

9.4.3 HTTP Request method

POST

9.4.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYes-accesstoken: used for identifying legal third party
accountstringYes-The account to which the device belongs. If the device to be queried belongs to multiple different users, please enter the common superior account of these users here.
imeisstringNo-Device imei(s), separate by comma.No more than 100 each time If neither imei nor card id is entered, all RFID reporting records within the query time period will be queried.
card_idsstringNo-RFID(s),separate by comma.No more than 100 each time If neither imei nor card id is entered, all RFID reporting records within the query time period will be queried.
begin_timenumberYes-Start time Format: yyyy-MM-dd HH:mm:ss
end_timenumberYes-End time Format: yyyy-MM-dd HH:mm:ss end_time should be earlier than current time Query up to 1 month of data at a time
page_nointno>=1 default:1Page number
page_sizeintno1-100 default:10Records in one page.

9.4.5 Response

KeyTypeDescription
codeintReturn code:
0: return correctly
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
dataobjectThe returned parameters

data object:

KeyTypeDescription
currentPagenumberCurrent page code
pageSizenumberRecords in one page.
totalRecordnumberTotal amount of data that meets the conditions
resultArray[Object]The returned data

result list:

KeyTypeDescription
cardIdstringThe corresponding RFID in the reporting record
imeistringRFID record reporting corresponding imei
photostringPhoto taken by the device during RFID reporting
operationTimestringRFID record reporting time

Correct return example:

json

{
    "code": 0,
    "message": "success",
    "data": {
        "currentPage": 1,
        "pageSize": 10,
        "startRow": 1,
        "endRow": 10,
        "totalRecord": 34,
        "totalPage": 4,
        "result": [
            {
                "imei": "890768902346789",
                "cardId": "278907",
                "operationTime": "2024-04-22 09:12:23",
                "photo":
            }
        ]
    }
}

Return error example:

json

{
    "code":"xxx",
    "message": "no permissions"
}

10. Account Management

10.1 List all sub-account

10.1.1 Description

List all sub-account of a specified account.

10.1.2 Request URL

See the unique request URL.
Method = jimi.user.child.list

10.1.3 HTTP Request method

POST

10.1.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYes-Access token for security access JIMI Server.
targetstringYes-The specified account for inquired.

10.1.5 Response

KeyTypeDescription
codeintReturn code:
0: return correctly
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
resultArray[Object]The returned parameters

result

keyTypeDescription
accountstringlog in account
namestringname
typeIntAccount Type
3:App user
8:Distributor
9:ordinary users
10:ordinary distributor
11:sales
displayFlagIntAvailable or not (1:Available,0:not available)
addressstringlocation
birthstringbirthday
companyNamestringCompany Name
emailstringmailbox
phonestringcontact number
languagestringLanguage (zh,en)
sexintGender 0 male,1 female
enabledFlagIntFlag:1 Available, 0not available
remarkstringRemark

Correct return example:

json
{
    "code": 0,
    "message": "success",
    "result": [
        {
            "account": "123123",
            "name": "test",
            "type": 8,
            "displayFlag": 1,
            "address": null,
            "birth": "2017-04-22 00:00:00",
            "companyName": "",
            "email": "",
            "phone": "",
            "language": "zh",
            "sex": 0,
            "enabledFlag": 1,
            "remark": null
        }
    ]
}

Return error example:

json
{
    "code": "xxx",
    "message": "The account does not exist"
}

10.2 Create sub-account

10.2.1 Description

Create a sub-account of a specified account.

10.2.2 Request URL

See the unique request URL.
Method = jimi.user.child.create

10.2.3 HTTP Request method

POST

10.2.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYes-Access token for security access JIMI Server.
super_accountstringNo-The specified parent account. If not provided, use API account instead.
account_idstringYesAccount id, length of 3~30 characters. Support special characters like “_@.” as well as a - Z, 0 - 9.
nick_namestringYesNick name or customer name
account_typeintYes1 - Distributor 2 - End User 3 - Sales
passwordstringYesPassword with md5.
telephonestringNo
EmailstringYesUser could retrieve password if forgot it.
contact_personstringNo
company_namestringNo
permissionsstringYes6 permissions can be set:
Web Login
App Login
Send Command
Set Working Mode
Edit by Web
Edit by App
0 - disable, 1 - enable, 6 digital represents 6 kinds of permissions enable/disable perssion. For example, 111000

10.2.5 Response

KeyTypeDescription
codeintReturn code:
0: return correctly
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
resultstringThe returned parameters

Correct return example:

json
{
    "code": 0,
    "message": "Vehicle information modification successful",
    "result": null
}

Return error example:

json
{
    "code": "xxx",
    "message": "The account does not exist"
}

10.3 Move account

10.3.1 Description

Move account from one sub-account to another sub-account.

10.3.2 Request URL

See the unique request URL.
Method = jimi.user.child.move

10.3.3 HTTP Request method

POST

10.3.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYes-Access token for security access JIMI Server.
accountstringYes-The account will be moved.
target_accountstringYesThe target account to move in.

10.3.5 Response

KeyTypeDescription
codeintReturn code:
0: return correctly
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
resultstringThe returned parameters

Correct return example:

json
{
    "code": 0,
    "message": "Vehicle information modification successful",
    "result": null
}

Return error example:

json
{
    "code": "xxx",
    "message": "no permissions"
}

10.4 Remove sub-account

10.4.1 Description

Remove a sub-account of a specified account.

10.4.2 Request URL

See the unique request URL.
Method = jimi.user.child.del

10.4.3 HTTP Request method

POST

10.4.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYes-Access token for security access JIMI Server.
super_accountstringNo-The specified parent account. If not provided, use API account instead.
account_idstringYesAccount id, length of 3~30 characters. Support special characters like “_@.” as well as a - Z, 0 - 9.

10.4.5 Response

KeyTypeDescription
codeintReturn code:
0: return correctly
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
resultstringThe returned parameters

Correct return example:

json
{
    "code": 0,
    "message": "Vehicle information modification successful",
    "result": null
}

Return error example:

json
{
    "code": "xxx",
    "message": "no permissions"
}

10.5 Edit user information

10.5.1 Description

Edit the user information of the platform, only edit the user's nickname, mobile phone number, email address, contact person, company name and permissions.

10.5.2 Request URL

See the unique request URL.
Method = jimi.user.child.update

10.5.3 HTTP Request method

POST

10.5.4 Request parameters

(1)Common parameters
(2)Private parameters as follow:

ParameterTypeRequiredRemarkDescription
access_tokenstringYes-Access token for security access JIMI Server.
edit_accountStringYesAccount name, length of 3~30 characters. Support special characters like “_@.” as well as a-Z, 0-9.
nick_nameStringYesNick name or customer name
telephoneStringNo
EmailStringYesUser could retrieve password if forgot it.
contact_personStringNocontact
company_nameStringNoCompany name
permissionsStringYesWeb Login App Login Send Command Set Working Mode Edit by Web Edit by App
6 digital represents enable/disable perssion.

10.5.5 Response

KeyTypeDescription
codeintReturn code:
0: return correctly
Other: failure. Refer to the error code description
messagestringIf code is not 0, there will be a corresponding error message
resultstringThe returned data,could be multiple rows.

Remark: Unix timestamp; Example: 1611105520 = 2021-01-20 09:18:40* Correct return example:

json
{
    "code": 0,
    "message": "Account update success!",
    "result": null,
    "data": null
}

Return error example:

json

11.Appendix

Device alarm type(alarm type Id)

The alarm type ID of the alarm type actively reported by the device is a number. The alarm type ID of the alarm generated after platform logic judgment is English text.

alertTypeIdalertType
1SOS alert
10Enter GPS blind zone alert
100Cancel Notification for Temperature Alert
101Cancel Notification for Collision Alert
11Exit GPS blind zone alert
113Increase in oil level
114Install alert
115Oil Sence Timeout
119High voltage at ADC1
12Booting notification
120Low voltage at ADC1
126High humidity
127Low humidity
128DVR vibration alert
13GPS first fix notification
135Overspeed alert(DVR)
136Power off alert(DVR)
138Immobilization ON
139Immobilization OFF
14Low external power alert
140Close eyes Alert
141Switch Land Transport Mode Alarm
142Environmental Anomaly Alarm
143Distraction Alert
144Sudden Acceleration Alert(DVR)
145Sudden Deceleration Alert(DVR)
146Sharp Turn Alert(DVR)
147Collision Alert(DVR)
148No Face Alert
149Switch Ocean Transport Mode Alarm
15Low power protection alert
150Switch Static Transport Mode Alarm
151Phone Calling Alert
154Smoking Alert
16Sim card change alert
160Yawn Alert
163Head lowered
165RFID reporting event
168Engine failure
169Undervoltage
17Power off alert
170Drinking
171Light detected alert
172Bluetooth MAC searched
173Bluetooth MAC lost
18Airplane mode after low power protection
19Disassembly alert
191Device Plug-out Alert
197Engine ON
198Engine OFF
199Overtime driving alert
2Power cut off alert
20Door detection alert
202overspeed warning
203Overtime parking warning
204Forward collision warning
205Lane departure warning
206Vehicle too close warning
207pedestrian collision warning
208DMS fatigue warning
21Battery low power shutdown
22Voice alarm
224Device Plug-in Alert
227Overheating
230INPUT1 was activated
231INPUT1 was deactivated
232INPUT2 was activated
233INPUT2 was deactivated
24Cover Move Alert
25Internal low battery alert
254Ignition on
256Fence entry alarm (Bluetooth)
257Exit fence alarm (Bluetooth)
258Fence entry alarm (WIFI)
259Exit fence alarm (WIFI)
260long periods of stillness
261Start exercise reminder
262Stop exercise reminder
263LTE Jamming Detected
266LTE Jamming Ended
267GPS Jamming Detected
268GPS Jamming Ended
28Door open alert
29Door close alert
3Vibration alert
35Fall Alert
36Plug in charger
39Unauthorized Open Alert
4Enter geo-fence(terminal)
40Initiative Offline(Power Off) Alert
41Sudden Acceleration Alert
42Sharp Turn Left Alert
43Sharp Turn Right Alert
44Collision Alert
45Vehicle Turn Over Alarm
48Sudden Deceleration Alert
5Exit geo-fence(terminal)
50Device Pull Out Alarm
55Collision Alert
58Cancel Notification for Unauthorized Open Alert
6Overspeed alert(terminal)
71Fatigue driving alert
76Sharp turn alarm
77Abrupt lane switching alarm
78Vehicle stability
79Vehicle angle abnormality
80Door close alert
81Door open alert
82Temperature Alert
83Stealing oil alarm
86Start charging
87Stop charging/remove charger
89full of reminders
9Displacement alert(terminal)
90Low battery alert
91High Temperature Alert(terminal)
92Low Temperature Alert(terminal)
ACC_OFFACC OFF
ACC_ONACC ON
burglarStatus_0Disarm
burglarStatus_1Arm
burglarStatus_2Alert
carFaultVehicle fault alert
displacementAlarmNight Driving Alert
DMSAlertDMS Alert
drivingBehaviorAlertDriving Behavior Alert
drivingBehaviorAlertDVRDriving Behavior Alert(DVR)
fenceOverspeedFence Overspeed alert
geozoneGeo-fence alert
high_temp_alarmHigh Temperature Alert(platform)
inEnter geo-fence
laneshiftRoute Deviation Alert
low_temp_alarmLow Temperature Alert(platform)
mileageAlarmMaintenance alert
obdOBD alert
offlineOffline alert
otherOther alerts
outExit geo-fence
overSpeedOverspeed alert(platform)
sensitiveAreasFenceSensitive areas fence
statusLeftFrontDoors_0Left front door close
statusLeftFrontDoors_1Left front door open
statusLeftFrontWindows_0Left front window close
statusLeftFrontWindows_1Left front window open
statusLeftRearWindows_0Left rear door close
statusLeftRearWindows_1Left rear door open
statusRightFrontDoors_0Right front door close
statusRightFrontDoors_1Right front door open
statusRightFrontWindows_0Right front window close
statusRightFrontWindows_1Right front window open
statusRightRearDoors_0Right rear door close
statusRightRearDoors_1Right rear door open
statusRightRearWindows_0Right rear window close
statusRightRearWindows_1Right rear window open
statusTrunk_0Trunk close
statusTrunk_1Trunk open
stayAlertParking alert
stayAlertOnIdling alert
stayTimeInLong time not enter the Geo-fence
stayTimeOutLong time not exit the Geo-fence
ubiAcceHarsh acceleration
ubiCollCollision
ubiDeceHarsh braking
ubiLaneSudden lane change
ubiRollRollover
ubiSattRoll and pitch
ubiStabSkidding
ubiTurnHarsh cornering
Download

Last updated: