# HTTP API

# 概述

卡莱特平台(CLTPlatform)对外提供的绝大部分功能通过 HTTP API 实现。

现阶段一个功能的 HTTP API 一般包含三种:

  • 探测接口,从设备获取信息。

    此类接口一般以 /detect... 命名。例如:

    探测设备常规信息:/v2/device/detectNormalInfo

  • 获取信息接口

    此类接口一般以 /get... 命名。例如:

    获取设备常规信息:/v2/device/getNormalInfo

  • 设置接口

    此类接口一般以 /set... 命名。例如:

    设置设备名称:/v2/device/setDeviceName

# 接口格式

{URI-scheme}://{endpoint}/{api_version}/{module}/{resouce_path}?{query_string}

其中:

标识 说明
URI-scheme 统一使用 http
endpoint 服务域名或ip:端口号
api_version api版本号,用于管理api版本
module 功能模块
resource_path 资源路径
query_string 查询参数,非必须

# 请求方式

支持的请求方式如下

  • POST

请求中 Content-Type 需使用 application/json

TIP

接口设计中,所有的功能请求都通过POST实现。

# 参数规范

  • GET 请求:参数位置在query中

  • POST 请求:参数位为请求体中,为json格式。

    POST 请求的参数固定格式如下,其中 data 表示此次请求的参数,command 表示此次请求指令类型,一般与请求url相同。

    {
        "command": "指令类型",
        "data": {
            "param1": "参数1",
            "param2": "参数2"
        }
    }
    

    例如获取设备常规信息的请求 /v2/device/getNormalInfo 请求体参数如下:

    {
        "command": "/v2/device/getNormalInfo",
        "data": {
            "deviceIndex": 0
        }
    }
    

# Response规范

请求应答的参数固定格式如下,其中 data 表示返回此次请求的数据,一般请求设备信息时返回。command 表示此次请求指令类型,同上。codemessage 表示此次请求结果。

{
    "command": "指令类型",
    "code": "状态码",
    "message": "消息",
    "data": {
        "data1": "数据1",
        "data2": "数据2"
    }
}

# 错误码

详情查看API接口的错误说明。