CallThingServices

使用该接口进行设备的服务调用。

请求语法

POST /2019-09-30/things/ProductKey/DeviceName/services HTTP/1.1
Cookie: Cookie

Payload

请求参数

参数名称 类型 是否必选 描述
ProductKey String 设备所属产品的唯一标识符。可从物联网平台控制台获取。
DeviceName String 设备的名称。可从物联网平台控制台获取。
Cookie String 调用CreateAuthCookie接口创建的认证Cookie。
Payload JSON 被调用的服务的名称和参数。必须与在物联网平台控制台,为设备所属产品自定义产品功能时设置的,服务名称和参数保持一致。格式请见表格下方请求Payload格式。

请求Payload格式如下所示。

{
  "Services": [
    {
      "Name": "string",
      "Args": args // Optional arguments for the service.
    }
  ]
}

返回语法

HTTP/1.1 StatusCode
Content-Type: application/json

Payload

返回参数

参数名称 类型 描述
StatusCode Number 接口返回码。返回200表示成功,返回其它状态码表示失败。错误码详情请参见状态码
Payload JSON 调用服务的返回信息。

返回Payload格式如下所示。

{
  "Code": 200,
  "Message": "sucess|reason for failure",
  "Data": {
    "Services": [
      {
        "Name": "string",
        "Returns": {
          "Message": "success|reason for failure",
          "Data": string|boolean|number|array|object, // A optional data that returned from the underlying call services call.
        }
      }
    ],
      "Timestamp": 1568262117344
  }
}

完整示例

$ curl -i -b token.cookie -d '{"Services":[{"Name":"setColor","Args": {"color":"red"}}]}' -k -X POST https://127.0.0.1:9999/2019-09-30/things/a1WabAEC***/N0hB9tiVWWZFMpALK***/services

HTTP/1.1 200 OK
Server: openresty/1.13.6.2
Date: Thu, 31 Oct 2019 11:17:47 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive

{"Data":{"Services":[{"Name":"setColor","Returns":{"Message":"success","Data":[]}}],"Timestamp":1572520667899},"Code":200,"Message":"success"}