调用边缘端OpenAPI时,需要遵循请求规范和响应规范。

边缘端OpenAPI对外提供服务的端口号为9999。为保证传输安全,所有接口仅支持HTTPS协议。

认证授权

目前支持通过Cookie认证方式访问OpenAPI。开发者必须通过CreateAuthCookie接口获取认证Cookie才能进一步调用其它API。具体步骤如下所示。

  1. 通过访问如下地址,登录边缘网关控制台,配置API访问权限。
    https://{ip}:9999

    其中,{ip}为网关所在机器的IP地址。

    说明 登录边缘网关控制台相关操作,请参见登录边缘网关控制台
  2. 调用CreateAuthCookie接口创建认证Cookie。
    CreateAuthCookie接口采用Basic Authentication认证方式,即通过HTTP请求头部Authorization字段传递认证标识。

    Authorization字段格式如下所示。

    Authorization: Basic <base64(username:password)>

    其中,base64(username:password)<登录边缘网关控制台的用户名:密码>的Base64编码字符串。

    例如,登录边缘网关控制台的用户名为admin,密码为admin1234,则Authorization字段内容如下所示。

    Authorization: Basic YWRtaW46YWRtaW4xMjM0
  3. CreateAuthCookie接口的HTTP响应头中,获取Set-Cookie参数的值。
    Set-Cookie字段格式如下所示。
    Set-Cookie: token=d71020ad5cb58faf04a6fd81d6df9680582b987eb6d0ce7b33bc3a3e4f******; Max-Age=3600; Path=/
  4. CreateAuthCookie接口响应头的Set-Cookie参数值,当做其它API HTTP请求头的Cookie参数值。
    HTTP请求头的Cookie参数格式如下所示。
    Cookie: token=d71020ad5cb58faf04a6fd81d6df9680582b987eb6d0ce7b33bc3a3e4f******; Max-Age=3600; Path=/
  5. 调用除CreateAuthCookie之外的其它OpenAPI时,通过HTTP请求头的Cookie字段传递认证标识Token,Link IoT Edge会验证该认证标识Token是否具有对应API的访问权限。

响应规范

  • 状态码:响应状态码遵循HTTP规范。详细状态码,请参见状态码
  • 响应头:响应头需要包含如下字段默认值。
    Server: openresty/1.13.6.2
    Date: Thu, 31 Oct 2019 07:51:57 GMT
    Content-Type: application/json; charset=utf-8
    Transfer-Encoding: chunked
    Connection: keep-alive
  • 响应消息体:响应消息体为JSON格式内容,或者为空。
    • 当调用API成功时,每个API返回的格式和内容都不同,详情请参见具体API接口文档。
    • 当调用API出错时,即响应状态码为非2**开头的状态码(例如302400等),响应消息体为错误信息内容,格式如下所示。
      {
        "Code": "string", // What kind of error, such as InvalidParameter.
        "Message": "string" // Detailed description about the error.
      }