Welcome to the Labeeb IoT APIs and Web Services space!
This page is dedicated to the Labeeb IoT Platform APIs and Web Services space.
The Labeeb IoT platform exposes a comprehensive set of RestFul/JSON web services which could be used to develop new IoT services and applications, or to integrate existing systems with Labeeb IoT. All the features which are available on the Labeeb IoT Portal are also exposed as web services.
This page describes the list of all existing web services and how to use them.
1.Purpose
Retrieves a human-readable description of the service. This also verifies that the service exists, without interacting with the resources that it provides.
Labeeb IoT web services and APIs are accessible on the following URL:
MEA Deployment Environment:http://mea.labeeb-iot.com/iot-uam/rest/application.wadl
- DEMO Deployment Environment:http://demo.labeeb-iot.com/iot-uam/rest/application.wadl
- If you want to call any of the below web services, you need to use the following URLs:
- MEA Deployment Environment: http://mea.labeeb-iot.com/iot-uam/rest/UamCommunicationInterface/
- DEMO Deployment Environment: http://demo.labeeb-iot.com/iot-uam/rest/UamCommunicationInterface/
- For example, if you want to call the authenticate web service from your application, you should use this URL on the DEMO environment: http://demo.labeeb-iot.com/iot-uam/rest/UamCommunicationInterface/authenticate
2. Web Services
2.1 User Services
2.1.1 Authenticate
Title | Authenticate |
---|---|
URL | /authenticate |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | json { "enterpriseName": "QMIC", "userName": "user1", "password": "password1" } |
Accept |
|
Success Response |
json { "companyName":null, "enterpriseId": 5, "enterpriseName": "QMIC", "lastLock": { }, "numberOfFailedAuthenticationBeforeSuccessfulLogin": 0, "permissions": [ { "description": "Permission to access updateDataTypeAssignment web service", "name": "updateDataTypeAssignment", "permissionId": null, "type": "WEB_SERVICE" }, { "description": "Permission to access updateDevice web service", "name": "updateDevice", "permissionId": null, "type": "WEB_SERVICE" }, { "description": "Permission to access updateDeviceTemplate web service", "name": "updateDeviceTemplate", "permissionId": null, "type": "WEB_SERVICE" } ], "person": { "personId": 1, "firstName": "elyes", "fullName": null, "lastName": "elyes", "personTitle": null }, "userAcoountIpId": 1, "userName": "qmic" } |
Error Response |
|
2.1.2 Logout
Title | Logout |
---|---|
URL | /logout |
Method | GET |
URL Params | - |
Content-Type | - |
Data Params | - |
Sample Request | - |
Accept |
|
Success Response |
json { "status": 200, "message": "Logout with Success" } |
Error Response | - |
2.2 Data Services
2.2.1 Get Dashboard Data
Title | getDashBoardData |
---|---|
URL | /getDashBoardData |
Method | GET |
URL Params |
|
Content-Type | - |
Data Params | - |
Sample Request | /getDashBoardData?startDate=01-01-2012%2000:00:00.000&endDate=31-12-2015%2000:00:00.000&type=USERS_COUNT&type=DEVICES_COUNT |
Accept |
|
Success Response |
json { "devicesCount": 4, "storedDataRecordsCount": 0, "filteredDataRecords": 0, "behaviorAlertCount": { "availabilitycount": { "deviceOfflineCount": 0, "deviceOnlineCount": 0, "unknownCount": 0 }, "statusCount": { "blacklistedCount": 0, "malfunctioningCount": 0, "unknownCount": 0, "workingCount": 0 }, "totalAlerts": 0, "unseenAlerts": 0 } } |
Error Response | Code: 500 json { "message": "User not Authenticated", "code": "UNALLOWED_OPERATION" } |
2.2.2 Get Activity Logs
Title | Get Activity Logs |
---|---|
URL | /getActivityLogs |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | json { "startDate" : "2016-03-01T12:00:00+01:00", "endDate" : "2016-03-01T12:00:00+01:00", "sourceModuleEnum" : "MDD", "severityEnum" : "CRITICAL", } |
Accept |
|
Success Response |
json [ { "alerts": [ { "alertDetail": null, "alertId": 220, "alertMessage": " OLD Status : 3 NEW status 3", "alertSeverity": "ALERT", "alertSourceType": "DEVICE_BEHAVIOR_MONITOR", "alertTime": 1431417153423, "availability": null, "dataModelId": "GPS", "dataTypeId": "speed", "deviceId": "device1", "deviceTemplateId": "capteur_template", "enterpriseId": "QMIC1", "seen": true, "status": "UNKNOWN" }, { "alertDetail": null, "alertId": 219, "alertMessage": " OLD Status : 3 NEW status 3", "alertSeverity": "ALERT", "alertSourceType": "DEVICE_BEHAVIOR_MONITOR", "alertTime": 1431417153420, "availability": null, "dataModelId": "GPS", "dataTypeId": "speed", "deviceId": "device2", "deviceTemplateId": "capteur_template", "enterpriseId": "QMIC1", "seen": true, "status": "UNKNOWN" } ] |
Error Response |
|
2.2.3 Get Data
Title | Get Data |
---|---|
URL | /getData |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | json { "fromDate" : "2016-03-01T12:00:00+01:00", "toDate" : "2016-03-01T12:00:00+01:00", "dataModelName" : "model1", "dataTypeName" : "type1", "deviceName" : "device1", "maxDataRecords" : "100", "operatorEnum" : "GREATER_THAN", "thresholdValue" : "0", } |
Accept |
|
Success Response |
json { "altitudeInMeters" : 0, "booleanValue" : , "dataModelId" : "TH_DM", "dataSource" : "GENERIC_MQTT_M_2_M_DEVICES", "dataTime" : "2016-07-31T13:36:58+03:00", "dataTypeId" : "temp", "deviceId" : "test_device", "doubleValue" : "1", "latitude" : "0", "longitude" : "0", "receiveTime" : "2016-07-31T13:36:58.676+03:00", "storeTime" : "2016-07-31T13:36:58.684+03:00", "stringValue" : "" } |
Error Response |
|
2.3 Device Services
2.3.1 Get Devices
Title | getDevices |
---|---|
URL | /getDevices |
Method | GET |
URL Params |
|
Content-Type | - |
Data Params | - |
Sample Request | /getDevices?deviceStatusEnum=WORKING&deviceStatusEnum=MALFUNCTIONING&deviceAvailibiltyEnum=ONLINE&deviceName =dv1 |
Accept |
|
Success Response |
json [ { "deviceStatusEnum": null, "deviceAvailibiltyEnum": "OFFLINE", "deviceHeartbeatProfile": { "intelligenceAlgo": "PERIODIC", "numberPackets": 1, "timeMeasure": "MINUTE", "timePeriod": 1 }, "deviceName": "device2", "deviceTemplateId": "capteur_template", "deviceTypeEnum": null, "latestLocation": { "altitudeInMeters": 0, "description": null, "latitude": 25.3139252, "locationName": null, "longitude": 51.43558502 }, "latestIp": null, "latestConnectionTime": 1428820905000, "alertsCount": 99, "description": "", "serialNumber": "", "firmwareVersion": "", "deviceManufacture": null, "deviceModel": null, "simCard": [ { "iccid": null, "phoneNumber": 0, "pin": null } ], "ipAddresses": null, "timeZone": null, "locationTimeStamp": null, "enterpriseId": "QMIC1", "mqttLogin": "Ahmed", "mqttPassword": null, "modelTypeStatus": { "entry": [ { "key": { "dataModelId": "GPS", "dataTypeId": "speed" }, "value": { "dataModelId": "GPS", "dataTypeId": "speed", "status": "UNKNOWN", "behaviorTime": 1431417153370, "location": null, "raison": null, "startTime": null, "endTime": null } } ] }, "availabilityDetails": { "availability": "OFFLINE", "endTime": null, "location": null, "raison": null, "behaviorTime": 1431326913693, "startTime": null } } ] |
Error Response | Code: 500 json { "message": "User not Authenticated", "code": "UNALLOWED_OPERATION" } |
2.3.2 Change Device Status
Title | changeDeviceStatus |
---|---|
URL | /changeDeviceStatus |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | json [ { "deviceId": "device1", "deviceTemplateId": "capteur_template", "status": "MALFUNCTIONING" } ] |
Accept |
|
Success Response |
json { "status": 200, "message": "Success" } |
Error Response |
|
2.3.3 Update Device
Title | updateDevice |
---|---|
URL | /updateDevice |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | json { "deviceStatusEnum" : "MALFUNCTIONING", "deviceAvailibiltyEnum" : "ONLINE", "deviceHeartbeatProfile" : { "intelligenceAlgo" : null, "numberPackets" : 0, "timeMeasure" : null, "timePeriod" : null }, "deviceName" : "testDevice", "deviceTemplateId" : "deviceTemplateId", "deviceTypeEnum" : "PHONE", "latestLocation" : { "altitudeInMeters" : null, "description" : null, "latitude" : null, "locationName" : null, "longitude" : null }, "latestIp" : "latestIp", "latestConnectionTime" : 1433060399913, "alertsCount" : 1, "description" : "device desc", "serialNumber" : "32151212321", "firmwareVersion" : "321354444", "deviceManufacture" : "deviceManufacture", "deviceModel" : "deviceModel", "simCard" : [ ], "ipAddresses" : null, "timeZone" : "GMT", "locationTimeStamp" : 1433060399913, "mqttLogin" : "111", "mqttPassword" : "9999" } |
Accept |
|
Success Response |
json { "status": 200, "message": "Success" } |
Error Response |
|
2.3.4 Delete Device
Title | deleteDevice |
---|---|
URL | /deleteDevice |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | json { "deviceName" : "dv001" } |
Accept |
|
Success Response |
json { "status": 200, "message": "Success" } |
Error Response |
|
2.3.5 Create Device
Title | createDevice |
---|---|
URL | /createDevice |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | json { "deviceStatusEnum" :"MALFUNCTIONING", "deviceAvailibiltyEnum" : "ONLINE", "deviceHeartbeatProfile" : { "intelligenceAlgo" :"PERIODIC", "numberPackets" : 0, "timeMeasure" : "SECOND", "timePeriod" : 0 }, "deviceName" : "testDevice", "deviceTemplateId" : "temp", "deviceTypeEnum" : "PHONE", "latestLocation" : { "altitudeInMeters" : null, "description" : null, "latitude" : null, "locationName" : null, "longitude" : null }, "latestIp" : "latestIp", "latestConnectionTime" : 1433060399913, "alertsCount" : 1, "description" : "device desc", "serialNumber" : "32151212321", "firmwareVersion" : "321354444", "deviceManufacture" : "deviceManufacture", "deviceModel" : "deviceModel", "simCard" : [ ], "ipAddresses" : null, "timeZone" : "GMT", "locationTimeStamp" : 1433060399913, "mqttLogin" : "111", "mqttPassword" : "9999" } |
Accept |
|
Success Response |
json { "status": 200, "message": "Success" } |
Error Response |
|
2.3.6 Get Data Type
Title | getDataType |
---|---|
URL | /getDataType |
Method | GET |
URL Params |
|
Content-Type | - |
Data Params | - |
Sample Request | /getDataType?dataTypeId=speed |
Accept |
|
Success Response |
json { "deviceStatusEnum" : "MALFUNCTIONING", "deviceAvailibiltyEnum" : "ONLINE", "deviceHeartbeatProfile" : { "intelligenceAlgo" : "PERIODIC", "numberPackets" : 0, "timeMeasure" : "SECOND", "timePeriod" : 0 }, "deviceName" : "testDevice", "deviceTemplateId" : "temp", "deviceTypeEnum" : "PHONE", "latestLocation" : { "altitudeInMeters" : null, "description" : null, "latitude" : null, "locationName" : null, "longitude" : null }, "latestIp" : "latestIp", "latestConnectionTime" : 1433060399913, "alertsCount" : 1, "description" : "device desc", "serialNumber" : "32151212321", "firmwareVersion" : "321354444", "deviceManufacture" : "deviceManufacture", "deviceModel" : "deviceModel", "simCard" : [ ], "ipAddresses" : null, "timeZone" : "GMT", "locationTimeStamp" : 1433060399913, "mqttLogin" : "111", "mqttPassword" : "9999"} |
Error Response | Code: 500 json { "message": "User not Authenticated", "code": "UNALLOWED_OPERATION" } |
2.3.7 Create Data Type
Title | createDataType |
---|---|
URL | /createDataType |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | json { "dataTypeName" : "dt1", "dataTypeUnit" : { "description" : "desc", "unitName" : "unit" }, "description" : null, "filterExpression" : "expression", "primitiveDataTypeEnum" : "DOUBLE", "accuracyProfile" : { "accuracyLevel" : 0.0, "action" : null, "algo" : null, "timeMeasure" : null, "timePeriod" : null } } |
Accept |
|
Success Response |
json { "status": 200, "message": "Success" } |
Error Response |
|
2.3.8 Update Data Type
Title | updateDataType |
---|---|
URL | /updateDataType |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | json { "dataTypeName" : "dt1", "dataTypeUnit" : { "description" : "desc", "unitName" : "unit" }, "description" : null, "filterExpression" : "expression", "primitiveDataTypeEnum" : "DOUBLE", "accuracyProfile" : { "accuracyLevel" : 0.0, "action" : null, "algo" : null, "timeMeasure" : null, "timePeriod" : null } } |
Accept |
|
Success Response |
json { "status": 200, "message": "Success" } |
Error Response |
|
2.3.9 Get Data Model Names
Title | getDataModelNames |
---|---|
URL | /getDataModelNames |
Method | GET |
URL Params | - |
Content-Type | - |
Data Params | - |
Sample Request | - |
Accept |
|
Success Response |
json [ "Test Data", "GPS" ] |
Error Response |
json { "message": "User not Authenticated", "code": "UNALLOWED_OPERATION" } |
2.3.10 Get Data Type Names
Title | getDataTypeNames |
---|---|
URL | /getDataTypeNames |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | json [ "GPS","DM1" ] |
Accept |
|
Success Response |
json [ "dt1", "speed" ] |
Error Response | - |
2.3.11 Get Data Model
Title | getDataModel |
---|---|
URL | /getDataModel |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | json { "dataModelName" : { "isCaseSensitive" : true, "searchString" : "GPS", "stringSearchTypeEnum" : "EXACT" }, "withDataTypes" : true, "withLtDataModelDataTypes" : true } |
Accept |
|
Error Response |
|
2.3.12 Create Data Model
Title | createDataModel |
---|---|
URL | /createDataModel |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | json { "dataModelName" : "GPS", "description" : "desc", "dataAccuracyProfile" : { "accuracyLevel" : 0.0, "action" : null, "algo" : null, "timeMeasure" : null, "timePeriod" : null }, "dataModelTypes" : [ { "dataTypeName" : "dataType1", "typeEnum" : "FLOAT", "dataAccuracyProfile" : { "accuracyLevel" : 0.0, "action" : null, "algo" : null, "timeMeasure" : null, "timePeriod" : null }, "valueFilter" : { "expression" : null, "action" : null }, "timeMetadataFilter" : { "expression" : null, "action" : null }, "locationMetadataFilter" : { "expression" : null, "action" : null }, "storageOptions" : { "storageTypeEnum" : null, "frequency" : null, "measureEnum" : null, "ruleEnum" : null, "scopeEnum" : null, "recordsNumber" : null }, "unit" : "unit1" } ] } |
Accept |
|
Error Response |
|
2.3.13 Delete Data Model
Title | deleteDataModel |
---|---|
URL | /deleteDataModel |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | GPS : required |
Accept |
|
Success Response |
json { "status": 200, "message": "Success" } |
Error Response | Code: 500 json { "message": "Data Model GPS is still asigned to other device templates", "code": "TECHNICAL_PROBLEM" } |
2.3.14 Get Device Names
Title | getDeviceNames |
---|---|
URL | /getDeviceNames |
Method | GET |
URL Params | - |
Content-Type | - |
Data Params | - |
Sample Request | - |
Accept |
|
Success Response |
json [ "DD", "ddd", "DDD", "device1", "device1", "device2", "device3", "device4", "pp" ] |
Error Response | - |
2.3.15 Get Device Template
Title | getDeviceTemplate |
---|---|
URL | /getDeviceTemplate |
Method | GET |
URL Params |
|
Content-Type | - |
Data Params | - |
Sample Request | /getDeviceTemplate?deviceSource=GENERIC_MQTT_M_2_M_DEVICES&deviceTemplateName=test |
Accept |
|
Success Response |
|
Error Response | Code: 500 json { "message":"Error while getting Device Templates", "code":"TECHNICAL_PROBLEM" } |
2.3.16 Update Device Template
Title | updateDeviceTemplate |
---|---|
URL | /updateDeviceTemplate |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | json { "deviceTemplateName" : "dtn1", "description" : "testdt", "dataSourceEnum" : "GENERIC_MQTT_M_2_M_DEVICES", "location" : { "altitudeInMeters" : null, "description" : null, "latitude" : null, "locationName" : null, "longitude" : null }, "timeZone" : "0", "deviceHeartbeatProfile" : { "intelligenceAlgo" : "PERIODIC", "numberPackets" : 1000, "timeMeasure" : "HOUR", "timePeriod" : 100 }, "login" : null, "password" : null } |
Accept |
|
Success Response |
json { "deviceTemplateName": "dtn1", "description": "testdt", "dataSourceEnum": "GENERIC_MQTT_M_2_M_DEVICES", "location": null, "dataModelNames": [ ], "timeZone": "0", "deviceHeartbeatProfile": { "intelligenceAlgo": "PERIODIC", "numberPackets": 1000, "timeMeasure": "HOUR", "timePeriod": 100 }, "login": null, "password": null } |
Error Response |
|
2.3.17 Create Device Template
Title | createDeviceTemplate |
---|---|
URL | /createDeviceTemplate |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | json { "deviceTemplateName" : "dtn1", "description" : "testdt", "dataSourceEnum" : "GENERIC_MQTT_M_2_M_DEVICES", "location" : { "altitudeInMeters" : null, "description" : null, "latitude" : null, "locationName" : null, "longitude" : null }, "timeZone" : "0", "deviceHeartbeatProfile" : { "intelligenceAlgo" : "PERIODIC", "numberPackets" : 1000, "timeMeasure" : "HOUR", "timePeriod" : 100 }, "login" : null, "password" : null } |
Accept |
|
Success Response |
json { "deviceTemplateName": "dtn1", "description": "testdt", "dataSourceEnum": "GENERIC_MQTT_M_2_M_DEVICES", "location": null, "dataModelNames": [ ], "timeZone": "0", "deviceHeartbeatProfile": { "intelligenceAlgo": "PERIODIC", "numberPackets": 1000, "timeMeasure": "HOUR", "timePeriod": 100 }, "login": null, "password": null } |
Error Response |
|
2.3.18 Delete Device Template
Title | deleteDeviceTemplate |
---|---|
URL | /deleteDeviceTemplate |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | dtn01 |
Accept |
|
Success Response |
json { "status": 200, "message": "Success" } |
Error Response |
|
2.3.19 Get Device Behavior
Title | getDeviceBehavior |
---|---|
URL | /getDeviceBehavior |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | json { "availabilities" : ["ONLINE"], "deviceIds" : null, "deviceTemplateIds" : null, "endTime" : 1451595600000, "startTime" : 946674000000, "status" : [ ] } |
Accept |
|
Success Response |
json [ { "behaviors": [ { "alertCount": null, "availability": "ONLINE", "behaviorTime": 1428573797236, "dataModelId": null, "dataTypeId": null, "deviceId": "device2", "deviceTemplateId": "capteur_template", "endTime": null, "enterpriseId": "QMIC1", "gpsAltitude": null, "gpsLatitude": null, "gpsLongitude": null, "raison": null, "startTime": null, "status": null } { "alertCount": null, "availability": "ONLINE", "behaviorTime": 1428577517280, "dataModelId": null, "dataTypeId": null, "deviceId": "device1", "deviceTemplateId": "capteur_template", "endTime": null, "enterpriseId": "QMIC1", "gpsAltitude": null, "gpsLatitude": null, "gpsLongitude": null, "raison": null, "startTime": null, "status": null } ] } ] |
Error Response |
|
2.3.20 Get Latest Device Behavior
Title | getLatestDeviceBehavior |
---|---|
URL | /getLatestDeviceBehavior |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | json { "deviceIds" : [ "device1" ], "statusFilter" : [ "MALFUNCTIONING", "WORKING" ], "availabilityFilter" : [ "ONLINE", "OFFLINE" ] } |
Accept |
|
Success Response |
json [ { "behaviors": [ { "alertCount": null, "availability": "ONLINE", "behaviorTime": 1428573797236, "dataModelId": null, "dataTypeId": null, "deviceId": "device2", "deviceTemplateId": "capteur_template", "endTime": null, "enterpriseId": "QMIC1", "gpsAltitude": null, "gpsLatitude": null, "gpsLongitude": null, "raison": null, "startTime": null, "status": null } { "alertCount": null, "availability": "ONLINE", "behaviorTime": 1428577517280, "dataModelId": null, "dataTypeId": null, "deviceId": "device1", "deviceTemplateId": "capteur_template", "endTime": null, "enterpriseId": "QMIC1", "gpsAltitude": null, "gpsLatitude": null, "gpsLongitude": null, "raison": null, "startTime": null, "status": null } ] } ] |
Error Response |
|
2.3.21 Get Device Template Names
Title | getDeviceTemplateNames |
---|---|
URL | /getDeviceTemplateNames |
Method | GET |
URL Params | - |
Content-Type | - |
Data Params | - |
Sample Request | /getDeviceTemplateNames |
Accept |
|
Success Response |
json [ "capteur_template", "tp2" ] |
Error Response | - |
2.3.22 Update Data Model
Title | updateDataModel |
---|---|
URL | /updateDataModel |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | json { "oldDataModelDetails" : { "dataModelName" : "GPS", "description" : "", "dataModelTypeDetails" : [ ], "dataAccuracyProfile" : { "accuracyLevel" : 0.0, "action" : null, "algo" : null, "timeMeasure" : null, "timePeriod" : null } }, "newDataModelDetails" : { "dataModelName" : "GPS", "description" : "", "dataModelTypeDetails" : [ ], "dataAccuracyProfile" : { "accuracyLevel" : 0.0, "action" : null, "algo" : null, "timeMeasure" : null, "timePeriod" : null } } } |
Accept |
|
Success Response |
json { "status": 200, "message": "Success" } |
Error Response |
|
2.3.23 Create Application
Title | CreateApplication |
---|---|
URL | /createApplication |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | json { "name" : "app22", "description" : "desc", "password" : "pass22", "applicationAcls" : [ { "accessType" : 1, "dataModel" : "+", "dataType" : "+", "device" : "+", "deviceTemplate" : "+" } ] } |
Accept |
|
Success Response |
json { "name": "app22", "description": "desc", "password": "YES", "applicationAcls": [ { "accessType": 1, "dataModel": "+", "dataType": "+", "device": "+", "deviceTemplate": "+" } ] } |
Error Response |
|
2.3.24 Update Application
Title | UpdateApplication |
---|---|
URL | /updateApplication |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | json { "name" : "app22", "description" : "desc", "password" : "pass22", "applicationAcls" : [ { "accessType" : 1, "dataModel" : "+", "dataType" : "+", "device" : "+", "deviceTemplate" : "+" } ] } |
Accept |
|
Success Response |
json { "name": "app22", "description": "desc", "password": "YES", "applicationAcls": [ { "accessType": 1, "dataModel": "+", "dataType": "+", "device": "+", "deviceTemplate": "+" } ] } |
Error Response |
|
2.3.25 Delete Application
Title | DeleteApplication |
---|---|
URL | /deleteApplication |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | json { "name" : "app22" } |
Accept |
|
Success Response |
json { "status": 200, "message": "Success" } |
Error Response |
|
2.3.26 Get Application Names
Title | GetApplicationNames |
---|---|
URL | /getApplicationNames |
Method | GET |
URL Params | - |
Content-Type | - |
Data Params | - |
Sample Request |
|
Accept |
|
Success Response |
json [ "app10", "app13", "app15", "app1x5", "app22", "app3", "app7", "app8", "app9" ] |
Error Response |
|
2.3.27 Get Applications
Title | GetApplications |
---|---|
URL | /getApplications |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request |
|
Accept |
|
Success Response |
json [ { "name": "app10", "description": "fdff", "password": "NO", "applicationAcls": [ { "accessType": 1, "dataModel": "GPS", "dataType": "speed", "device": "+", "deviceTemplate": "capteur_template" } ] }, { "name": "app13", "description": "desc", "password": "NO", "applicationAcls": [ { "accessType": 1, "dataModel": "+", "dataType": "+", "device": "+", "deviceTemplate": "+" } ] }, { "name": "app15", "description": "desc", "password": "NO", "applicationAcls": [ { "accessType": 1, "dataModel": "+", "dataType": "+", "device": "+", "deviceTemplate": "+" } ] }, { "name": "app1x5", "description": "desc", "password": "NO", "applicationAcls": [ { "accessType": 1, "dataModel": "+", "dataType": "+", "device": "+", "deviceTemplate": "+" } ] } ] |
Error Response |
|
2.4 Holder Services
2.4.1 Create Holder
Title | createHolder |
---|---|
URL | /createHolder |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | json { "holderId":"holder0101", "description":"holder1-desc", "contactOwner":{ "drivingLicense":"drv23", "firstName":"Ahmed", "idCard":"28578800000", "lastName":"Khemiri", "passport":"R312852" }, "deviceAssignment":[ "device1", "device2" ], "location":{ "altitudeInMeters":366.0, "latitude":55.555, "longitude":47.6656 } } |
Accept |
|
Success Response |
json { "contactOwner": { "addresses": null, "emails": null, "languages": null, "mailingAddresses": null, "phones": null, "contactOwner": { "addresses": null, "emails": null, "languages": null, "mailingAddresses": null, "phones": null, "contactOwner": null, "description": null, "deviceAssignment": null, "holderAssignment": null, "holderId": null, "holderType": null, "location": null, "drivingLicense": null, "firstName": null, "fullName": null, "idCard": null, "lastName": null, "passport": null, "personTitle": null, "photography": null, "personId": 0 } , "description": null, "deviceAssignment": null, "holderAssignment": null, "holderId": null, "holderType": null, "location": null, "drivingLicense": null, "firstName": "Ahmed", "fullName": "Ahmed Khemiri", "idCard": null, "lastName": "Khemiri", "passport": null, "personTitle": null, "photography": null, "personId": 13 } , "description": "holder2-desc", "deviceAssignment": null, "holderAssignment": null, "holderId": "holder0202", "holderType": "GENERIC", "location": { "altitudeInMeters": 366, "description": null, "latitude": 55.555, "locationName": "holder_holder0202_loc", "longitude": 47.6656 } } |
Error Response | Error code : 500 json { "message": "holderId", "code": "Internal error" } |
2.4.2 Create Person
Title | createPerson |
---|---|
URL | /createPerson |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | { "description":"person description", |
Accept |
|
Success Response |
json 14 |
Error Response | Error code : 500 json { "message": "holderId", "code": "Internal error" } |
2.4.3 Create Vehicle
Title | createVehicle |
---|---|
URL | /createVehicle |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | json { "holderId":"vehicle-holder-0101", "description":"vehicle description", "type":"SEDAN", "color":"BLUE", "plateNumber":"plate-0202", "serialNumber":"serial-0202", "deviceAssignment":[ "device1", "device2" ], "services":[ { "nextService":20000, "serviceDate":"2017-01-31", "serviceValue":10000 }, { "nextService":30000, "serviceDate":"2017-06-25", "serviceValue":20000 } ] } |
Accept |
|
Success Response |
json { "color": "BLUE", "plateNumber": "plate-0202", "serialNumber": "serial-0202", "services": null, "type": "SEDAN", "vehicleId": 5, "contactOwner": null, "description": "vehicle description", "deviceAssignment": null, "holderAssignment": null, "holderId": "vehicle-holder-0101", "holderType": "VEHICLE", "location": null } |
Error Response | Error code : 500 json { "message": "holderId", "code": "Internal error" } |
2.4.4 Create Area
Title | createArea |
---|---|
URL | /createArea |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | json { "holderId":"area-holder-010656561", "description":"area description", "adress":"Tunis Tunisia", "areaSize":3000 } |
Accept |
|
Success Response |
json { "adress": "Tunis Tunisia", "areaId": 1, "areaSize": 3000, "contactOwner": null, "description": "area description", "deviceAssignment": null, "holderAssignment": null, "holderId": "area-holder-010656561", "holderType": "AREA", "location": null } |
Error Response | Error code : 500 json { "message": "holderId", "code": "Internal error" } |
2.4.5 Create Building
Title | createBuilding |
---|---|
URL | /createBuilding |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | json { "description":"building description", "holderId":"building-holder-0266662", "adress":"doha Qatar", "floorNumber":3, "officeNumber":3, "planPhotography":"", "location":{ "altitudeInMeters":366.0, "latitude":55.555, "longitude":47.6656 } } |
Accept |
|
Success Response |
json { "adress": "doha Qatar", "buildingId": 1, "floorNumber": 3, "officeNumber": 3, "planPhotography": "", "contactOwner": null, "description": "building description", "deviceAssignment": null, "holderAssignment": null, "holderId": "building-holder-0266662", "holderType": "BUILDING", "location": { "altitudeInMeters": 366, "description": null, "latitude": 55.555, "locationName": "holder_building-holder-0266662_loc", "longitude": 47.6656 } } |
Error Response | Error code : 500 json { "message": "holderId", "code": "Internal error" } |
2.4.6 Get Vehicle
Title | getVehicle |
---|---|
URL | /getVehicle |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | json { "deviceAssignment":[ "device1" ], "plateNumber":{ "isCaseSensitive":false, "searchString":"plate", "stringSearchTypeEnum":"PARTIAL" } } |
Accept |
|
Success Response |
json { "color": "BLUE", "plateNumber": "plate-0202", "serialNumber": "serial-0202", "services": null, "type": "SEDAN", "vehicleId": 5, "contactOwner": null, "description": "vehicle description", "deviceAssignment": null, "holderAssignment": null, "holderId": "vehicle-holder-0101", "holderType": null, "location": null } |
Error Response | Error code : 500 |
2.4.7 Get Building
Title | getBuilding |
---|---|
URL | /getBuilding |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | json { "deviceAssignment":[ "device1" ], "adress":{ "isCaseSensitive":false, "searchString":"doha", "stringSearchTypeEnum":"PARTIAL" } } |
Accept |
|
Success Response |
json { "adress":"doha Qatar", "buildingId":1, "floorNumber":3, "officeNumber":3, "planPhotography":"", "contactOwner":null, "description":"building description", "deviceAssignment":null, "holderAssignment":null, "holderId":"building-holder-0266662", "holderType":null, "location":{ "altitudeInMeters":366, "description":null, "latitude":55.555, "locationName":"holder_building-holder-0266662_loc", "longitude":47.6656 } } |
Error Response | Error code : 500 |
2.4.8 Get Area
Title | getArea |
---|---|
URL | /getArea |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | json { "adress":{ "isCaseSensitive":false, "searchString":"Tunis", "stringSearchTypeEnum":"PARTIAL" } } |
Accept |
|
Success Response |
json { "adress":"Tunis Tunisia", "areaId":1, "areaSize":3000, "contactOwner":null, "description":"area description", "deviceAssignment":null, "holderAssignment":null, "holderId":"area-holder-010656561", "holderType":null, "location":null } |
Error Response | Error code : 500 |
2.4.9 Delete Holder
Title | deleteHolder |
---|---|
URL | /deleteHolder |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | json holder-0101 |
Accept |
|
Success Response |
json { "status": 200, "message": "Success" } |
Error Response | Error code : 500 |
2.4.10 Delete Vehicle
Title | deleteVehicle |
---|---|
URL | /deleteVehicle |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | json holder-vehicle-0101 |
Accept |
|
Success Response |
json { "status": 200, "message": "Success" } |
Error Response | Error code : 500 |
2.4.11 Delete Building
Title | deleteBuilding |
---|---|
URL | /deleteBuilding |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | json holder-building-0101 |
Accept |
|
Success Response |
json { "status": 200, "message": "Success" } |
Error Response | Error code : 500 |
2.4.12 Delete Area
Title | deleteArea |
---|---|
URL | /deleteArea |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | json holder-area-0101 |
Accept |
|
Success Response |
json { "status": 200, "message": "Success" } |
Error Response | Error code : 500 |
2.4.13 Delete Person
Title | deletePerson |
---|---|
URL | /deletePerson |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | json holder-person-0101 |
Accept |
|
Success Response |
json { "status": 200, "message": "Success" } |
Error Response | Error code : 500 |
2.4.14 Update Holder
Title | updateHolder |
---|---|
URL | /updateHolder |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | json { "holder": { "contactOwner": null, "description": "new holder", "holderId": "holder2", "holderSurId": null, "holderType": null, "location": null, "locationSurId": null, "personSurId": null }, "deviceToAdd": [ "device1", "device2" ], "deviceToRemove": [ "device3" ], "holderToAdd": [ { "holderName": "holder1", "holderType": "AREA", "relationName": "relation1" } ], "holderToRemove": [ "holder1" ] } |
Accept |
|
Success Response |
json { "status": 200, "message": "Success" } |
Error Response | Error code : 500 |
2.4.15 Update Vehicle
Title | updateVehicle |
---|---|
URL | /updateVehicle |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | json { "holder": { "description": "new holder", "deviceAssignment": [ ], "holderAssignment": [ ], "holderId": "holder2", "plateNumber": "20215", "serialNumber": null, "type": "SEDAN" }, "deviceToAdd": [ "device1", "device2" ], "deviceToRemove": [ "device3" ], "holderToAdd": [ { "holderName": "holder1", "holderType": "AREA", "relationName": "relation1" } ], "holderToRemove": [ "holder1" ] } |
Accept |
|
Success Response |
json { "status": 200, "message": "Success" } |
Error Response | Error code : 500 |
2.4.16 Update Building
Title | updateBuilding |
---|---|
URL | /updateBuilding |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | json { "holder": { "description": "new holder", "deviceAssignment": [ ], "holderAssignment": [ ], "holderId": "holder2", "adress": "new adress" }, "deviceToAdd": [ "device1", "device2" ], "deviceToRemove": [ "device3" ], "holderToAdd": [ { "holderName": "holder1", "holderType": "AREA", "relationName": "relation1" } ], "holderToRemove": [ "holder1" ] } |
Accept |
|
Success Response |
json { "status": 200, "message": "Success" } |
Error Response | Error code : 500 |
2.4.17 Update Area
Title | updateArea |
---|---|
URL | /updateArea |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | json { "holder": { "description": "new holder", "deviceAssignment": [ ], "holderAssignment": [ ], "holderId": "holder2", "adress": "new adress" }, "deviceToAdd": [ "device1", "device2" ], "deviceToRemove": [ "device3" ], "holderToAdd": [ { "holderName": "holder1", "holderType": "AREA", "relationName": "relation1" } ], "holderToRemove": [ "holder1" ] } |
Accept |
|
Success Response |
json { "status": 200, "message": "Success" } |
Error Response | Error code : 500 |
2.4.18 Update Person
Title | updatePerson |
---|---|
URL | /updatePerson |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | json { "holder": { "description": "new holder", "deviceAssignment": [ ], "holderAssignment": [ ], "holderId": "holder2", "firstName": "new name", "lastName": "last name" }, "deviceToAdd": [ "device1", "device2" ], "deviceToRemove": [ "device3" ], "holderToAdd": [ { "holderName": "holder1", "holderType": "AREA", "relationName": "relation1" } ], "holderToRemove": [ "holder1" ] } |
Accept |
|
Success Response |
|
Error Response | Error code : 500 |
2.4.19 Create Holders Relation
Title | createHoldersRelation |
---|---|
URL | /createHoldersRelation |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | json { "description": "relation description", "holdedRoleName": "holded Role Name", "holdedType": "BUILDING", "holderRoleName": "holder Role Name", "holderType": "AREA", "name": "depends on relation" } |
Accept |
|
Success Response |
|
Error Response | Error code : 500 |
2.4.20 Update Holders Relation
Title | updateHoldersRelation |
---|---|
URL | /updateHoldersRelation |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | json { "description": "relation description", "holdedRoleName": "holded Role Name", "holdedType": "AREA", "holderRoleName": "holder Role Name", "holderType": "AREA", "name": "depends on relation" } |
Accept |
|
Success Response |
|
Error Response | Error code : 500 |
2.4.21 Get Holders Relation By Name
Title | getHoldersRelationByName |
---|---|
URL | /getHoldersRelationByName |
Method | GET |
URL Params |
|
Content-Type |
|
Data Params | - |
Sample Request | /getHoldersRelationByName/depends%20on%20relation |
Accept |
|
Success Response |
|
Error Response | Error code : 500 |
2.4.22 Delete Holders Relation
Title | deleteHoldersRelation |
---|---|
URL | /deleteHoldersRelation |
Method | POST |
URL Params | - |
Content-Type |
|
Data Params |
|
Sample Request | json depends on relation |
Accept |
|
Success Response |
|
Error Response | Error code : 500 |
{
"deviceStatusEnum" : "MALFUNCTIONING",
"deviceAvailibiltyEnum" : "ONLINE",
"deviceHeartbeatProfile" : {
"intelligenceAlgo" : "PERIODIC",
"numberPackets" : 0,
"timeMeasure" : "SECOND",
"timePeriod" : 0
},
"deviceName" : "testDevice",
"deviceTemplateId" : "temp",
"deviceTypeEnum" : "PHONE",
"latestLocation" : {
"altitudeInMeters" : null,
"description" : null,
"latitude" : null,
"locationName" : null,
"longitude" : null
},
"latestIp" : "latestIp",
"latestConnectionTime" : 1433060399913,
"alertsCount" : 1,
"description" : "device desc",
"serialNumber" : "32151212321",
"firmwareVersion" : "321354444",
"deviceManufacture" : "deviceManufacture",
"deviceModel" : "deviceModel",
"simCard" : [ ],
"ipAddresses" : null,
"timeZone" : "GMT",
"locationTimeStamp" : 1433060399913,
"mqttLogin" : "111",
"mqttPassword" : "9999"
}