Asynchronous Control

The Invoke Asynchronous Multipoint Service executes the asynchronous multi-point control.

Request Format

PUT http://{apigw-address}/dataService/devices/multiInvoke?orgId={}

Request Parameters (URI)

Request parameters (URI)

Name

Location (Path/Query)

Required or not

Data type

Description

orgId

Query

Yes

String

Organization ID which the asset belongs to. How to get orgId>>

Request Parameters (Body)

Request parameters (Body)

Name

Required or not

Data type

Description

data

True

Object

Request data object. See the table below for its structure

data object

Name

Required or not

Data type

Description

requestId

True

String

Request ID.

orgId

True

String

OU ID

callType

False

String

Its value must be ASYNC, which indicates asynchronous mode

controlChannelId

True

String

Created control channel ID.

productKey

True

String

Product key of the product that the measurement point belongs to, which is used to specify a device asset along with the deviceKey

deviceKey

True

String

Device key of the product that the measurement point belongs to, which is used to specify a device asset along with the productKey

assetId

True

String

Asset ID of the device asset that the measurement point belongs to, which is used to specify a device asset

serviceId

True

String

Invoked service ID

callbackUrl

False

String

Callback function URL

inputData

False

Object

JSON object consisting of the key-value pairs of input value

timeout

False

long

Timetout in milliseconds. Its default value is 30000 and maximum value 300000.

gmtServiceRequest

False

long

Timestamp when the request is made. If it is not specified, the system timestamp will be used.

Note

In the data object, you may use either `assetId or the combination of productKey and deviceKey to identify a device asset. If all the three parameters exist in the subscribePointList, the assetId will be used to identify the device.

Response Parameters

Response parameters

Name

Data type

Description

status

Int

Status code

msg

String

Response message

submsg

String

Response sub-message

data

Object

Response data object, the structure of which is in the table below

data object

Name

Data type

Description

requestId

String

Service request ID

messageId

String

Service message ID

requestMethod

String

Service request method

callType

String

Service request type, where SYNC means synchronous while the value ASYNC means asynchronous

controlChannelId

String

Control channel ID

productKey

String

Product key of the product that the measurement point belongs to, which is used to specify a device asset along with the deviceKey

deviceKey

String

Device key of the product that the measurement point belongs to, which is used to specify a device asset along with the productKey

assetId

String

Asset ID of the device asset that the measurement point belongs to, which is used to specify a device asset

serviceName

String

Service name

serviceId

String

Service ID

callbackUrl

String

Callback function URL

inputData

Object

Object consisting of the key-value pairs of input data

outputData

Object

Object consisting of the key-value pairs of output data

status

Int

Control status, where 0 means success and other values mean failure

msg

String

Response message

submsg

String

Response sub-message

timeout

long

Timeout

gmtServiceRequest

long

Service request time

gmtServiceReply

long

Service response time

gmtDeviceReply

long

Device response time

Note

In the subscribePointList object, the assetId is preferred to identify a device. If assetId does not exist, the combination of deviceKey and productKey will be used to identify a device.

Samples

Request Sample

PUT http://{apigw-address}/dataService/devices/multiInvoke?orgId=o15434988531231
{
   "data":[
      {
         "requestId":"dfsadfdsafdsaf",
         "orgId":null,
         "callType":"ASYNC",
         "controlChannelId":"DATASVC.CONTROL.afdasfasdf",
         "productKey":"dfasdf",
         "deviceKey":"dsfa",
         "assetId":"aaa",
         "serviceId":"bbb",
         "callbackUrl":null,
         "inputData":{
            "arg":10
         },
         "timeout":30000,
         "gmtServiceRequest":132132465464
      },
      {
         "requestId":"erwerwradf",
         "orgId":null,
         "callType":"ASYNC",
         "controlChannelId":"DATASVC.CONTROL.afdasfasdf",
         "productKey":"dfasdf",
         "deviceKey":"dsfa",
         "assetId":"aaa",
         "serviceId":"ccc",
         "callbackUrl":null,
         "inputData":{
            "arg":10
         },
         "timeout":30000,
         "gmtServiceRequest":132132465464
      }
   ]
}

Response Sample

{
   "status":0,
   "msg":"Success",
   "submsg":null,
   "data":[
      {
         "requestId":"testRequestId1",
         "messageId":null,
         "requestMethod":"thing.service.d",
         "callType":"ASYNC",
         "controlChannelId":"DATASVC.CONTROL.controlChannelId1",
         "productKey":"6Bt59ySj",
         "deviceKey":"zBAofs6D4s",
         "assetId":"YCdyvNmc",
         "serviceName":"testService",
         "serviceId":"d",
         "callbackUrl":null,
         "inputData":{
            "testArg":1.0
         },
         "outputData":{

         },
         "status":1000,
         "msg":"para error",
         "submsg":"para error",
         "timeout":30000,
         "gmtServiceRequest":1536638267507,
         "gmtServiceReply":1536638267509,
         "gmtDeviceReply":-1
      },
      {
         "requestId":"testRequestId2",
         "messageId":null,
         "requestMethod":"thing.service.d",
         "callType":"ASYNC",
         "controlChannelId":"DATASVC.CONTROL.controlChannelId1",
         "productKey":"6Bt59ySj",
         "deviceKey":"zBAofs6D4s",
         "assetId":"YCdyvNmc",
         "serviceName":"testService",
         "serviceId":"d",
         "callbackUrl":null,
         "inputData":{
            "testArg":1.0
         },
         "outputData":{

         },
         "status":1000,
         "msg":"para error",
         "submsg":"para error",
         "timeout":30000,
         "gmtServiceRequest":1536638267507,
         "gmtServiceReply":1536638267509,
         "gmtDeviceReply":-1
      }
   ]
}