NAV Navbar
Logo
HTTPS

介绍

iOTA 提供遵从 REST 规范的 HTTPS API,以供开发者远程调用 iOTA 提供的服务,为开发者的 APP 应用提供管理接口。

为了保证安全,REST API 仅提供 HTTPS 接口。

版本

当对任何 iOTA API 进行向后不兼容的更改时,新版本发布时会变更 URL 前缀;对于旧版本中的具体接口:

  1. 如果依旧可以使用,则不作特殊说明;
  2. 如果不可使用,则会明确声明废弃。
版本 前缀 说明
0.0.4 /v1/api 完成设备模型重构。
0.0.8 /v1/api 增加策略限制;
增加规则;
调整部分接口;
0.0.11 /v1/api 调整部分接口;
0.0.12 /v1/api 新增接口;
0.0.15 /v1/api 指标/告警/设备公开;
0.0.16~0.0.28 /v1/api 调整部分接口/新增公式;

变更记录

日期 变更内容
2017.04.19 0.0.4 版本发布。
2017.07.20 0.0.8 版本。
2017.08.12 0.0.11 版本。
2017.08.22 0.0.12 版本。
2017.09.22 0.0.15 版本。
2018.03.22 0.0.16~0.0.28 版本。

0.0.8

说明 详细内容
请求频率限制 增加频率限制功能,对API请求频率次数进行保护。
资源的共享、公开 iOTA内对资源的在用户间的互通方式说明。
接受用户组邀请接口 修改为GET请求,url修改为/v1/api/user_groups/:userGroupId/invite_users/accept
协议测试 新增协议基本测试接口
新增查询Thing下所部署的所有设备原型接口 通过此接口,可直接查询到在某个Thing里使用到的设备原型信息
Thing部署增加编辑器设置 部署/更新部署 即可增加编辑的settings配置
规则管理接口 支持规则的相关操作
数据查询接口 根据Thing\设备查询其产生的数据

0.0.11

说明 详细内容
新增查询Thing下所部署的所有设备实例接口 通过此接口,可直接查询到在某个Thing里使用到的设备实例信息

0.0.12

说明 详细内容
故障修复
支持资源过滤功能 满足应用筛选所支持的资源
设备查询接口 支持按照接口及接口方向查询设备
设备/能力定义 将原型定义中的协议修改为非必选,在部署的能力维度定义中,支持设议的选择,优先使用此处的协议定义

0.0.15

说明 详细内容
故障修复
指标统计 增加用户类指标统计及接口
基于指标的告警 采集告警/连接状态告警/超量程告警
设备公开功能 设备公开、审核及接口
原查询Thing部署中的设备实例接口 调整路由
新增接口 查询Thing中的Scheme接口
查询用户所有Scheme接口
查询用户所有设备实例接口
查询用户所有使用到的设备原型接口

0.0.16~0.0.28

说明 详细内容
故障修复
增加复制设备接口 快速复制某个设备定义
增加能力公式 可定义能力所使用的公式及其参数
增加能力即时触发接口 可即时对部署设备上的某个能力发起请求
告警模块调整 增加告警管理相关接口
规则模块调整 调整规则模块的接口

基本规则

HTTP状态码

iOTA REST API 遵循 HTTP 状态码规范。

状态码定义

状态码 描述 解释
200 OK 请求成功。
204 请求处理成功 服务器成功处理了请求,但不返回任何实体内容。
302 请求重定向 请求已经被处理,需要重定向至其他页面。
400 错误的请求 该请求是无效的。相应的错误信息会说明原因。
401 未认证 没有认证信息或认证失败。
403 请求被禁止 请求被服务器拒绝。相应的错误信息会说明原因。
404 未找到 资源不存在。相应的错误信息会说明原因。
408 请求超时 未能在指定的时间内返回。
409 请求冲突 由于和被请求的资源的当前状态之间存在冲突,请求无法完成。相应的错误信息会说明原因。
500 内部服务错误 服务器内部错误,请与我们联系:sevice@theiota.cn。
504 代理超时 服务器在运行,但是无法响应请求。请稍后重试。

错误

所有错误都以 JSON 的形式返回,带有 name 和 message,如有详细信息,会有 detail 字段。 所有字段均采用英文。

{
  "name":"错误名称",
  "message":"错误信息",
  "detail":"错误详情"
}

请求

根据 RESTful 设计模式,iOTA API 实现以下 HTTP 动词:

当发起请求时,参数可通过URL Parameters/Query Parameters/表单/JSON(注意使用正确的 Content-Type)传递。 见具体接口的说明。

请求需采用UTF-8编码。

如无特殊说明,发起请求前都必须通过认证。

应答

如无特殊说明,带有返回信息的应答均采用 JSON 格式,UTF-8编码。

分页与排序

如无特殊说明,查询结果中携带 total 字段的接口,均支持分页与排序功能。

HTTP Request

GET /v1/api/meta/devices?limit=20&offset=0&orderBy=createdAt&orderDirection=DESC

在返回结果中,包含 total 字段,表示符合查询条件的资源总数。遍历多页或者所有数据时,需要根据返回结果中的 total 字段,利用 limit 计算 offset ,从而查询其他页面数据。

符合条件的资源,以 资源名s:[] 形式返回,详见具体接口的说明。

Request

GET /v1/api/meta/devices?limit=20&offset=0&orderBy=createdAt&orderDirection=DESC

Response

{
  "total": 100,
  "devices":[
    ...
  ]
}

Query Parameters

参数 类型 默认值 必填 说明
limit integer 20 否 每页数量, 范围:[1, 200]。
offset integer 0 否 在符合条件的记录中偏移的记录数。
orderBy string createdAt 否 排序字段。如无特殊说明,返回结果中主模型的所有字段名均可用于排序。
orderDirection enum DESC 否 排序方向,DESC or ASC。

请求频率限制

一定的时间窗口内,API 允许调用的次数是有限制的,限制可以通过购买服务包调整。 参考 GitHub Rete Limiting。

iOTA有两类限制:

正常请求

POST /v1/api/meta/devices

Request

GET /v1/api/meta/devices HTTP/1.1
...

> Response

```HTTPS
HTTP/1.1 200 OK
X-RateLimit-Limit:60 
X-RateLimit-Remaining :56 
X-RateLimit-Reset:1372700873
{ 
  total:0,
  devices:[]
}

请求超频或者超限

POST /v1/api/meta/devices

Request

GET /v1/api/meta/devices HTTP/1.1
...

> Response

```HTTPS
HTTP/1.1 429 OK
X-RateLimit-Limit:60 
X-RateLimit-Remaining 0
X-RateLimit-Reset:1372700873

Rate limit exceeded, retry in ...

针对不同的场景,有不同的限制策略。

频率限制策略

场景 限制对象 单位时间 次数限制 说明
已登录用户,服务未过期 用户ID 以服务包配置为准
已登录用户,服务已过期 用户ID 待定
未登录用户 IP地址 待定

次数限制策略

场景 限制对象 单位时间 次数限制 说明
已登录用户,服务未过期 用户ID 以服务包配置为准
已登录用户,服务已过期 用户ID 待定
未登录用户 IP地址 待定

认证

iOTA API 主要面向开发者的 APP 应用,因此认证是针对开发者的 APP 应用。实现上基于 OAuth 2 规范的 客户端授权 流程。

术语/关键字段

术语 描述 说明
App ID 开发者为某类应用分配的ID
App Secret 系统为开发者创建的应用所分配的Secret 与App ID组合(编码后)作为认证接口中所需的 Authorization;开发者在 iOTA 控制台->应用管理->应用列表 功能分配或获得 App ID及 App Secret。
grant_type OAuth 2 中规定的授权模式。 客户端授权 流程中主要有两类: client_credentials / refresh_token
access_token 访问令牌 iOTA API 为通过认证的应用分配的访问凭证。
refresh_token 更新令牌 用来获取新的访问令牌。
Authorization 需要在请求认证接口的Headers中提供的凭证。 得到访问令牌前,一般由 App ID/ App Secret组后(编码后)构成;得到访问令牌后,一般填写访问令牌。

流程

在访问 iOTA API 时,除去一些静态资源接口,都必须通过认证,主要流程:

  1. 获取访问令牌 接口进行认证,并得到系统返回的访问令牌;
  2. 然后通过携带 访问令牌 来发起请求;
  3. 默认情况下,为了减少 访问令牌 的危险窗口期,访问令牌的超时时间是30天,访问令牌过期后(过期前亦可),应用可通过 更新访问令牌 接口来重新获得 访问令牌,因此,为了保证应用的长时间运行,应用应有一定 访问令牌 更新策略;
  4. 同时,应用也可以通过 作废访问令牌 接口来废弃 访问令牌。

获取访问令牌

编码 App ID/ App Secret

将应用程序的 App ID 和 App Secret 编码为一组凭据以获取访问令牌:

  1. 根据RFC 1738对 App ID 和 App Secret 进行编码。通常情况下,系统生成的 App ID / App Secret 没有特殊字符,编码前后没有变化;
  2. 将编码后的 App ID 与 App Secret 通过":“连接为一个字符串;
  3. 使用Base64对上一步中的字符串进行编码。

样例

字段 值
App ID 8bfd991124ba4c762ddb6ce0ccc31504e71febb0
App Secret de9e9aa24ec938b0079980b64a6e0537bc4c5b0c
RFC 1738编码 App ID 8bfd991124ba4c762ddb6ce0ccc31504e71febb0
RFC 1738编码 App Secret de9e9aa24ec938b0079980b64a6e0537bc4c5b0c
Authorization 8bfd991124ba4c762ddb6ce0ccc31504e71febb0:de9e9aa24ec938b0079980b64a6e0537bc4c5b0c
Base64 编码 Authorization OGJmZDk5MTEyNGJhNGM3NjJkZGI2Y2UwY2NjMzE1MDRlNzFmZWJiMDpkZTllOWFhMjRlYzkzOGIwMDc5OTgwYjY0YTZlMDUzN2JjNGM1YjBj

认证

使用编码后的 Authorization 通过认证接口获取访问令牌:

HTTP Request

POST /v1/api/oauth2/token

Request

POST /oauth2/token HTTP/1.1
Host: api.theiota.cn
Authorization: Basic OGJmZDk5MTEyNGJhNGM3NjJkZGI2Y2UwY2NjMzE1MDRlNzFmZWJiMDpkZTllOWFhMjRlYzkzOGIwMDc5OTgwYjY0YTZlMDUzN2JjNGM1YjBj 
Content-Type: application/x-www-form-urlencoded;charset=UTF-8
...

grant_type=client_credentials

Response

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
...
Content-Encoding: gzipd

{ 
  "access_token": "5b3827e9e2f25505acb308c23ff7843dcf7a057d83bb1bc63bcbcdc3021a0fbc",
  "token_type": "bearer",
  "expires_in": 2592000000,
  "refresh_token": "753b10f28d4207b44feb13402ef85a5373e5ff4cb970a01b1309fb476fbebf38"
}

接口要求:

  1. 请求必须是HTTP POST请求
  2. Headers 中包含 Authorization 信息, Authorization : Basic <编码后的 Authorization>
  3. Content-Type = application/x-www-form-urlencoded;charset=UTF-8
  4. 请求正文为:grant_type=client_credentials

通过令牌发起请求

获取访问令牌后,即可访问 iOTA API。

Request

GET /v1/api/meta/devices?limit=20&offset=0&orderBy=createdAt&orderDirection=DESC HTTP/1.1
Host: api.theiota.cn
Authorization: Bearer 5b3827e9e2f25505acb308c23ff7843dcf7a057d83bb1bc63bcbcdc3021a0fbc
Accept-Encoding: gzip
...

刷新访问令牌

当令牌过期或其他原因失效时,需应用主动更新令牌:

HTTP Request

POST /v1/api/oauth2/token/refresh

Request

POST /v1/api/oauth2/token/refresh HTTP/1.1
Authorization: Basic OGJmZDk5MTEyNGJhNGM3NjJkZGI2Y2UwY2NjMzE1MDRlNzFmZWJiMDpkZTllOWFhMjRlYzkzOGIwMDc5OTgwYjY0YTZlMDUzN2JjNGM1YjBj
Host: api.theiota.cn
Content-Type: application/x-www-form-urlencoded
...

grant_type=refresh_token&refresh_token=753b10f28d4207b44feb13402ef85a5373e5ff4cb970a01b1309fb476fbebf38

Response

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
...
Content-Encoding: gzipd

{
    "access_token": "be13d5912586be84dc5bcc097eef8774cea0b5be5cc5ce6d7db122b79f522153",
    "token_type": "bearer",
    "expires_in": 2592000000,
    "refresh_token": "1acb34ada2b6f145172c998af6b0c00793f52ac3e07a3ebeb89031e73cac4d71"
}

作废访问令牌

某些情况下,应用需要主动作废访问令牌,可通过以下接口:

HTTP Request

POST /v1/api/oauth2/token/invalidate

Request

POST /v1/api/oauth2/token/invalidate HTTP/1.1
Authorization: Basic OGJmZDk5MTEyNGJhNGM3NjJkZGI2Y2UwY2NjMzE1MDRlNzFmZWJiMDpkZTllOWFhMjRlYzkzOGIwMDc5OTgwYjY0YTZlMDUzN2JjNGM1YjBj
Host: api.theiota.cn
Content-Type: application/x-www-form-urlencoded
...

access_token=5b3827e9e2f25505acb308c23ff7843dcf7a057d83bb1bc63bcbcdc3021a0fbc

Response

HTTP/1.1 204 No Content
Content-Type: application/json; charset=utf-8

资源的共享、公开

iOTA内可通过共享、公开方式设置用户自身的资源的可见性:

可共享的资源

可公开的资源

对相关接口的要求

可见性 Query Parameters

支持共享、公开的资源查询接口,可通过设置 Query Parameters : visibility 的值来指定查询的数据范围。

Query Parameters

参数 类型 必填 说明
visibility string 否 资源可见性: public\shared\private\all

Filtered Query Parameters

为了解决应用在实现自己应用时,过滤掉应用系统不支持的各种资源,增加过滤功能,应用可以设置哪些iOTA的资源在应用系统内可用,同时配合查询参数来获取响应资源。

Query Parameters

参数 类型 必填 说明
filtered string 否 资源可见性: true\false, true 表示应用系统内可用的,false表示应用系统内不可用的

当前用户 标识

非查询接口根据判断 当前用户 标识来控制对相关资源所具备的权限。 当前用户 标识需在接口请求时通过HTTP Header设置,未设置时iOTA认为用户标识为当前登录用户。

主用户可用 当前用户 来操作子用户的资源,主用户对子用户的所有资源有完整的操作权限。

Header字段 说明
iota-user-view 用户当前视图: default\Sub
iota-user-id iota-user-view 为 Sub 时 需填写子用户id

公开资源的限制

公开资源仅支持查询,相关查询接口需使用 Http Query 参数

原型管理

基本类型

查询接口分类

查询接口分类信息。

HTTP Request

GET /v1/api/interface_types

Request

GET /v1/api/interface_types

Response

{
  "interfaceTypes": [
    {
      "id": 1,
      "name": "Serial",
      "key": "serial",
      "desc": "串口",
      "createdAt": "2017-04-14T11:40:46.187Z",
      "updatedAt": "2017-04-14T11:40:46.187Z"
    },
    {
      "id": 2,
      "name": "ZigBee",
      "key": "zigbee",
      "desc": "ZigBee",
      "createdAt": "2017-04-14T11:40:46.218Z",
      "updatedAt": "2017-04-14T11:40:46.218Z"
    },
    {
      "id": 3,
      "name": "LoRa",
      "key": "lora",
      "desc": "低速率广域网",
      "createdAt": "2017-04-14T11:40:46.218Z",
      "updatedAt": "2017-04-14T11:40:46.218Z"
    },
    {
      "id": 4,
      "name": "SoIP",
      "key": "soip",
      "desc": "串口 Over IP",
      "createdAt": "2017-04-14T11:40:46.218Z",
      "updatedAt": "2017-04-14T11:40:46.218Z"
    }
  ]
}

查询属性分类

查询属性分类信息。

HTTP Request

GET /v1/api/property_types

Request

GET /v1/api/property_types

Response

{
  "properties": [
    {
      "id": 1,
      "name": "整型",
      "key": "integer",
      "desc": "Integer",
      "createdAt": "2017-04-14T11:40:46.156Z",
      "updatedAt": "2017-04-14T11:40:46.156Z"
    },
    {
      "id": 2,
      "name": "浮点型",
      "key": "float",
      "desc": "Float",
      "createdAt": "2017-04-14T11:40:46.171Z",
      "updatedAt": "2017-04-14T11:40:46.171Z"
    },
    {
      "id": 3,
      "name": "布尔型",
      "key": "boolean",
      "desc": "Boolean",
      "createdAt": "2017-04-14T11:40:46.171Z",
      "updatedAt": "2017-04-14T11:40:46.171Z"
    },
    {
      "id": 4,
      "name": "枚举",
      "key": "enum",
      "desc": "Enumerate",
      "createdAt": "2017-04-14T11:40:46.171Z",
      "updatedAt": "2017-04-14T11:40:46.171Z"
    },
    {
      "id": 5,
      "name": "字符串",
      "key": "string",
      "desc": "String",
      "createdAt": "2017-04-14T11:40:46.171Z",
      "updatedAt": "2017-04-14T11:40:46.171Z"
    }
  ]
}

查询能力分类

查询能力分类信息。

HTTP Request

GET /v1/api/capability_categories

Request

GET /v1/api/capability_categories

Response

{
  "capabilityCategories": [
    {
      "id": 1,
      "name": "诊断",
      "image": null,
      "desc": null,
      "createdAt": "2017-04-14T11:40:46.250Z",
      "updatedAt": "2017-04-14T11:40:46.250Z",
      "capabilities": []
    },
    {
      "id": 2,
      "name": "控制",
      "image": null,
      "desc": null,
      "createdAt": "2017-04-14T11:40:46.250Z",
      "updatedAt": "2017-04-14T11:40:46.250Z",
      "capabilities": [
        {
          "id": "81e499ba-834b-492c-816c-2cc8cc55cc87",
          "name": "接入IOTA",
          "image": "",
          "desc": "",
          "createdAt": "2017-04-14T11:53:08.372Z",
          "updatedAt": "2017-04-14T11:53:08.372Z",
          "deviceMetaId": "de07a19a-eb81-48b4-9078-8646684e4962",
          "capabilityCategoryId": 2,
          "protocolMetaId": "cc58ebc2-81ec-4275-a665-c9a2c9bda868"
        }
      ]
    },
    {
      "id": 3,
      "name": "采集",
      "image": null,
      "desc": null,
      "createdAt": "2017-04-14T11:40:46.250Z",
      "updatedAt": "2017-04-14T11:40:46.250Z",
      "capabilities": [
        {
          "id": "b5f799ea-a266-48bd-82e9-844aed077738",
          "name": "测斜",
          "image": "",
          "desc": "",
          "createdAt": "2017-04-14T11:54:05.280Z",
          "updatedAt": "2017-04-14T11:54:05.280Z",
          "deviceMetaId": "b1ac10e0-2c67-4463-b822-d9bd02bd8d49",
          "capabilityCategoryId": 3,
          "protocolMetaId": "cc58ebc2-81ec-4275-a665-c9a2c9bda868"
        }
      ]
    }
  ]
}

资源过滤管理

为了解决应用在实现自己应用时,过滤掉应用系统不支持的各种资源,增加过滤功能,应用可以设置哪些iOTA的资源在应用系统内可用,同时配合查询参数来获取响应资源。

添加为过滤资源的表示应用系统内可用,为添加过滤资源的表示应用系统内不可用。

添加过滤资源

添加过滤资源

HTTP Request

POST /v1/api/meta/filtered_resources

Request:

POST /v1/api/meta/filtered_resources
body {
        "resources": [{
          "type": "Device",
          "key": "bda28056-9078-4b25-84a5-2abaa54e2a57"
          "properties": "{}"
        }]
     }

Response:

[
  {
    "type": "Device",
    "properties": "{}",
    "key": "bda28056-9078-4b25-84a5-2abaa54e2a57",
    "id": "2cc1a19e-84a5-447e-9b2c-2abaa54e2a57"
  }
]

Body Parameters

参数 类型 必填 说明
resources array of object 是 添加的资源
type enum 是 资源类型 Protocol/Interface/Device/Thing/Deploy
key string 是 添加的资源的id
properties string of JSON 否 应用可扩展的属性,不提供查询功能

修改过滤资源

修改已经创建的过滤资源。

HTTP Request

PUT /v1/api/meta/filtered_resources/:id

Request:

PUT /v1/api/meta/filtered_resources/2cc1a19e-84a5-447e-9b2c-2abaa54e2a57
body {
        "type": "Device",
        "key": "655b28f3-3945-4f14-a3ae-24e8e666102b",
        "properties": "{"a":1}"
     }

URL Parameters

参数 类型 必填 说明
id string 是 资源id

Body Parameters

参数 类型 必填 说明
type enum 是 资源类型 Protocol/Interface/Device/Thing/Deploy
key string 是 添加的资源的id
properties string of JSON 否 应用可扩展的属性,不提供查询功能

删除过滤资源

删除已经创建的过滤资源。

HTTP Request

DELETE /v1/api/meta/filtered_resources/:id?

Request:

DELETE /v1/api/meta/filtered_resources
body {
        "ids":[
          "2cc1a19e-84a5-447e-9b2c-2abaa54e2a57"
          ]
     }

URL Parameters

参数 类型 必填 说明
id string 否 资源id

Body Parameters

参数 类型 必填 说明
ids array 否 资源id

接口原型管理

查询接口原型

查询接口原型信息。

HTTP Request

GET /v1/api/meta/interfaces

Request

GET /v1/api/meta/interfaces

Response

{
  "total": 2,
  "interfaces": [
    {
      "id": "9a114538-9137-47cf-b0e7-5cef0a101dd0",
      "name": "RS485",
      "createBy": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
      "belongTo": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
      "investor": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
      "public": false,
      "image": null,
      "desc": "",
      "createdAt": "2017-04-14T11:51:48.570Z",
      "updatedAt": "2017-04-14T11:51:48.570Z",
      "interfaceTypeId": 1,
      "interfaceType": {
        "id": 1,
        "name": "Serial",
        "key": "serial",
        "desc": "串口",
        "createdAt": "2017-04-14T11:40:46.187Z",
        "updatedAt": "2017-04-14T11:40:46.187Z"
      },
      "properties": [
        {
          "id": 2,
          "name": "mno",
          "enum": "",
          "defaultValue": "1336",
          "precision": 0,
          "max": "65535",
          "min": "1024",
          "desc": "",
          "createdAt": "2017-04-14T11:51:48.574Z",
          "updatedAt": "2017-04-14T11:58:46.691Z",
          "propertyTypeId": 1,
          "interfaceMetaId": "9a114538-9137-47cf-b0e7-5cef0a101dd0"
        }
      ]
    },
    {
      "id": "b14d3424-59cb-4fdb-ba9c-a8a3c1846a0a",
      "name": "SOIP",
      "createBy": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
      "belongTo": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
      "investor": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
      "public": false,
      "image": null,
      "desc": "",
      "createdAt": "2017-04-14T11:51:02.434Z",
      "updatedAt": "2017-04-14T11:51:02.434Z",
      "interfaceTypeId": 4,
      "interfaceType": {
        "id": 4,
        "name": "SoIP",
        "key": "soip",
        "desc": "串口 Over IP",
        "createdAt": "2017-04-14T11:40:46.218Z",
        "updatedAt": "2017-04-14T11:40:46.218Z"
      },
      "properties": [
        {
          "id": 1,
          "name": "id",
          "enum": "",
          "defaultValue": "2233",
          "precision": 0,
          "max": "65535",
          "min": "1024",
          "desc": "",
          "createdAt": "2017-04-14T11:51:02.439Z",
          "updatedAt": "2017-04-14T12:07:06.439Z",
          "propertyTypeId": 1,
          "interfaceMetaId": "b14d3424-59cb-4fdb-ba9c-a8a3c1846a0a"
        }
      ]
    }
  ]
}

Query Parameters

参数 类型 必填 说明
name string 是 接口名称,模糊查询
interfaceTypeId string 是 接口类型id

查询指定接口原型

查询指定接口原型信息。

HTTP Request

GET /v1/api/meta/interfaces/:id

Request

GET /v1/api/meta/interfaces/9a114538-9137-47cf-b0e7-5cef0a101dd0

Response

{
  "id": "9a114538-9137-47cf-b0e7-5cef0a101dd0",
  "name": "RS485",
  "createBy": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
  "belongTo": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
  "investor": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
  "public": false,
  "image": null,
  "desc": "",
  "createdAt": "2017-04-14T11:51:48.570Z",
  "updatedAt": "2017-04-14T11:51:48.570Z",
  "interfaceTypeId": 1,
  "interfaceType": {
    "id": 1,
    "name": "Serial",
    "key": "serial",
    "desc": "串口",
    "createdAt": "2017-04-14T11:40:46.187Z",
    "updatedAt": "2017-04-14T11:40:46.187Z"
  },
  "properties": [
    {
      "id": 2,
      "name": "mno",
      "enum": "",
      "defaultValue": "1336",
      "precision": 0,
      "max": "65535",
      "min": "1024",
      "desc": "",
      "createdAt": "2017-04-14T11:51:48.574Z",
      "updatedAt": "2017-04-14T11:58:46.691Z",
      "propertyTypeId": 1,
      "interfaceMetaId": "9a114538-9137-47cf-b0e7-5cef0a101dd0"
    }
  ]
}

URL Parameters

参数 类型 必填 说明
id string 是 接口原型id

创建接口原型

创建接口原型。

HTTP Request

POST /v1/api/meta/interfaces

Request

POST  /v1/api/meta/interfaces
body  {
        "name": "新增接口",
        "properties": [
          {
            "name": "测试接口属性"
          }
        ]
      }

Response

{
  "id": "821d3a1f-d4b5-4237-92f9-a9a8476abf40",
  "name": "新增接口",
  "createBy": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
  "belongTo": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
  "investor": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
  "public": false,
  "image": null,
  "desc": null,
  "createdAt": "2017-04-18T10:51:22.777Z",
  "updatedAt": "2017-04-18T10:51:22.777Z",
  "interfaceTypeId": null,
  "interfaceType": null,
  "properties": [
    {
      "id": 6,
      "name": "测试接口属性",
      "enum": null,
      "defaultValue": null,
      "precision": null,
      "max": null,
      "min": null,
      "desc": null,
      "propertyTypeId": null,
      "interfaceMetaId": "821d3a1f-d4b5-4237-92f9-a9a8476abf40"
    }
  ]
}

Body Parameters

参数 类型 必填 说明
name string 是 名称
image string 否 图片地址
desc string 否 描述说明
interfaceTypeId integer 否 接口类型id
properties array of object 否 接口属性
name string 是 属性名称,若增加接口属性则该字段必填
enum string 否 属性枚举类型数据
defaultValue string 否 属性默认值
precision integer 否 属性精度
max string 否 属性最大值
min string 否 属性最小值
desc string 否 属性描述
propertyTypeId integer 否 属性类型id

修改指定接口原型

修改指定接口原型信息。

HTTP Request

PUT /v1/api/meta/interfaces/:id

Request

PUT   /v1/api/meta/interfaces/821d3a1f-d4b5-4237-92f9-a9a8476abf40
body  {
        "name": "更改接口"
      }

URL Parameters

参数 类型 必填 说明
id string 是 接口原型id

Body Parameters

参数 类型 必填 说明
name string 否 名称
image string 否 图片地址
desc string 否 描述说明
interfaceTypeId integer 否 接口类型id
properties array of object 否 接口属性
name string 否 属性名称
enum string 否 属性枚举类型数据
defaultValue string 否 属性默认值
precision integer 否 属性精度
max string 否 属性最大值
min string 否 属性最小值
desc string 否 属性描述
propertyTypeId integer 否 属性类型id

删除指定接口原型

删除指定接口原型。

HTTP Request

DELETE /v1/api/meta/interfaces/:id

Request

DELETE /v1/api/meta/interfaces/821d3a1f-d4b5-4237-92f9-a9a8476abf40

URL Parameters

参数 类型 必填 说明
id string 是 接口原型id

查询接口原型属性

查询指定接口原型的属性信息。

HTTP Request

GET /v1/api/meta/interfaces/:interfaceId/properties

Request

GET /v1/api/meta/interfaces/9a114538-9137-47cf-b0e7-5cef0a101dd0/properties

Response

{
  "properties": [
    {
      "id": 2,
      "name": "mno",
      "enum": "",
      "defaultValue": "1336",
      "precision": 0,
      "max": "65535",
      "min": "1024",
      "desc": "",
      "propertyTypeId": 1,
      "interfaceMetaId": "9a114538-9137-47cf-b0e7-5cef0a101dd0",
      "propertyType": {
        "id": 1,
        "name": "整型",
        "key": "integer",
        "desc": "Integer"
      },
      "interface": {
        "id": "9a114538-9137-47cf-b0e7-5cef0a101dd0",
        "name": "RS485",
        "createBy": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
        "belongTo": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
        "investor": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
        "public": false,
        "image": null,
        "desc": "",
        "interfaceTypeId": 1
      }
    }
  ]
}

URL Parameters

参数 类型 必填 说明
interfaceId string 是 接口原型id

查询指定接口原型指定属性

查询指定接口原型的指定属性信息。

HTTP Request

GET /v1/api/meta/interfaces/:interfaceId/properties/:id

Request

GET /v1/api/meta/interfaces/9a114538-9137-47cf-b0e7-5cef0a101dd0/properties/2

Response

{
  "id": 2,
  "name": "mno",
  "enum": "",
  "defaultValue": "1336",
  "precision": 0,
  "max": "65535",
  "min": "1024",
  "desc": "",
  "propertyTypeId": 1,
  "interfaceMetaId": "9a114538-9137-47cf-b0e7-5cef0a101dd0",
  "propertyType": {
    "id": 1,
    "name": "整型",
    "key": "integer",
    "desc": "Integer"
  },
  "interface": {
    "id": "9a114538-9137-47cf-b0e7-5cef0a101dd0",
    "name": "RS485",
    "createBy": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
    "belongTo": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
    "investor": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
    "public": false,
    "image": null,
    "desc": "",
    "interfaceTypeId": 1
  }
}

URL Parameters

参数 类型 必填 说明
interfaceId string 是 接口原型id
id string 是 接口原型属性id

创建指定接口原型属性

创建指定接口原型属性。

HTTP Request

POST /v1/api/meta/interfaces/:interfaceId/properties

Request

POST  /v1/api/meta/interfaces/9a114538-9137-47cf-b0e7-5cef0a101dd0/properties
body  {
        "name": "新增接口属性"
      }

Response

{
  "id": 7,
  "name": "新增接口属性",
  "enum": null,
  "defaultValue": null,
  "precision": null,
  "max": null,
  "min": null,
  "desc": null,
  "propertyTypeId": null,
  "interfaceMetaId": "9a114538-9137-47cf-b0e7-5cef0a101dd0",
  "updatedAt": "2017-04-19T05:35:04.787Z",
  "createdAt": "2017-04-19T05:35:04.787Z"
}

URL Parameters

参数 类型 必填 说明
interfaceId string 是 接口原型id

Body Parameters

参数 类型 必填 说明
name string 是 名称
enum string 否 枚举类型数据
defaultValue string 否 默认值
precision integer 否 精度
max string 否 最大值
min string 否 最小值
desc string 否 描述说明
propertyTypeId integer 否 属性类型id

修改指定接口原型指定属性

修改指定的接口原型的指定属性。

HTTP Request

PUT /v1/api/meta/interfaces/:interfaceId/properties/:id

Request

PUT   /v1/api/meta/interfaces/9a114538-9137-47cf-b0e7-5cef0a101dd0/properties/7
body  {
        "name": "更改接口属性"
      }

URL Parameters

参数 类型 必填 说明
interfaceId string 是 接口原型id
id string 是 接口原型属性id

Body Parameters

参数 类型 必填 说明
name string 否 名称
enum string 否 枚举类型数据
defaultValue string 否 默认值
precision integer 否 精度
max string 否 最大值
min string 否 最小值
desc string 否 描述说明
propertyTypeId integer 否 属性类型id

删除指定接口原型指定属性

删除指定接口原型的指定属性。

HTTP Request

DELETE /v1/api/meta/interfaces/:interfaceId/properties/:id

Request

DELETE /v1/api/meta/interfaces/9a114538-9137-47cf-b0e7-5cef0a101dd0/properties/7

URL Parameters

参数 类型 必填 说明
interfaceId string 是 接口原型id
id string 是 接口原型属性id

协议原型管理

查询协议原型

查询协议原型信息。

HTTP Request

GET /v1/api/meta/protocols

Request

GET /v1/api/meta/protocols

Response

{ 
  "total": 1,
  "protocols": [
    {
      "id": "cc58ebc2-81ec-4275-a665-c9a2c9bda868",
      "name": "测斜1506",
      "image": null,
      "desc": "",
      "version": "1.1",
      "enableTime": "2017-04-14",
      "belongTo": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
      "investor": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
      "public": false,
      "createBy": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
      "impl": "Lua",
      "resource": null,
      "marshall": null,
      "unmarshall": null,
      "createdAt": "2017-04-14T11:49:52.695Z",
      "updatedAt": "2017-04-14T11:49:52.695Z"
    }
  ]
}

Query Parameters

参数 类型 必填 说明
name string 是 协议名称,模糊查询
impl string 是 实现方式

查询指定协议原型

查询指定协议原型信息。

HTTP Request

GET /v1/api/meta/protocols/:id

Request

GET /v1/api/meta/protocols/cc58ebc2-81ec-4275-a665-c9a2c9bda868

Response

{
  "id": "cc58ebc2-81ec-4275-a665-c9a2c9bda868",
  "name": "测斜1506",
  "image": null,
  "desc": "",
  "version": "1.1",
  "enableTime": "2017-04-14",
  "belongTo": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
  "investor": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
  "public": false,
  "createBy": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
  "impl": "Lua",
  "resource": null,
  "marshall": null,
  "unmarshall": null,
  "createdAt": "2017-04-14T11:49:52.695Z",
  "updatedAt": "2017-04-14T11:49:52.695Z"
}

URL Parameters

参数 类型 必填 说明
id string 是 协议原型id

创建协议原型

创建协议原型。

HTTP Request

POST /v1/api/meta/protocols

Request

POST  /v1/api/meta/protocols
body  {
        "name": "新增协议"
      }

Response

{
  "id": "9a684d5d-8546-4d38-9efc-e603cdc61933",
  "name": "新增协议",
  "image": null,
  "desc": null,
  "version": null,
  "enableTime": null,
  "belongTo": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
  "investor": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
  "public": false,
  "createBy": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
  "impl": null,
  "resource": null,
  "marshall": null,
  "unmarshall": null,
  "createdAt": "2017-04-19T06:44:03.895Z",
  "updatedAt": "2017-04-19T06:44:03.895Z"
}

Body Parameters

参数 类型 必填 说明
name string 是 名称
enableTime string 否 启用时间
impl enum 否 Lua/Python/JS(三选一)
version string 否 版本
desc string 否 描述说明

删除指定协议原型

删除指定协议原型。

HTTP Request

DELETE /v1/api/meta/protocols/:id

Request

DELETE /v1/api/meta/protocols/9a684d5d-8546-4d38-9efc-e603cdc61933

URL Parameters

参数 类型 必填 说明
id string 是 协议原型id

协议测试接口

对新建或已有协议做基本的测试。

HTTP Request

POST /v1/api/meta/protocols/scripts/validate

Request

POST /v1/api/meta/protocols/scripts/validate
body  {
          userId: 9a684d5d-8546-4d38-9efc-e603cdc61933,
          testId: 9603cd5d-8546-4d38-9efc-a684edc61933
          cmd: "RUN", //固定
          protocol: {
              resource: '',
              impl: 'Lua',
              resType: 'INLINE' 
          }
      }

Response

以应答为准

Body Parameters

参数 类型 必填 说明
userid string 是 用户id
testId string 是 测试id,与用户id一起唯一标识一次测试
cmd string 是 固定为 RUN
protocol object 是
resource string 是 被测协议代码
impl string 是 实现语言,Lua\Javascript\Python
resType string 是 固定为 INLINE

设备原型管理

查询设备原型

查询设备原型信息。

HTTP Request

GET /v1/api/meta/devices

Request

GET /v1/api/meta/devices

Response

{
  "total": 2,
  "devices": [
    {
      "id": "b1ac10e0-2c67-4463-b822-d9bd02bd8d49",
      "name": "测斜仪",
      "createBy": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
      "belongTo": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
      "investor": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
      "public": false,
      "image": "",
      "model": "FS",
      "createdAt": "2017-04-14T11:54:05.223Z",
      "updatedAt": "2017-04-14T11:54:05.223Z",
      "properties": [],
      "capabilities": [
        {
          "id": "b5f799ea-a266-48bd-82e9-844aed077738",
          "name": "侧斜",
          "image": "",
          "desc": "",
          "deviceMetaId": "b1ac10e0-2c67-4463-b822-d9bd02bd8d49",
          "capabilityCategoryId": 3,
          "protocolMetaId": "cc58ebc2-81ec-4275-a665-c9a2c9bda868",
          "properties": [],
          "capabilityCategory": {
            "id": 3,
            "name": "采集",
            "image": null,
            "desc": null
          },
          "protocol": {
            "id": "cc58ebc2-81ec-4275-a665-c9a2c9bda868",
            "name": "测斜1506",
            "image": null,
            "desc": "",
            "version": "1.1",
            "enableTime": "2017-04-14",
            "belongTo": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
            "investor": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
            "public": false,
            "createBy": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
            "impl": "Lua",
            "resource": null,
            "marshall": null,
            "unmarshall": null
          },
          "interfaces": [
            {
              "id": "a988b877-4734-4a7c-b414-a90c18ca29f7",
              "capabilityMetaId": "b5f799ea-a266-48bd-82e9-844aed077738",
              "deviceMetaInterfaceId": "2eb61402-905c-4e7d-acce-b2776c602257"
            }
          ]
        }
      ],
      "interfaces": [
        {
          "id": "2eb61402-905c-4e7d-acce-b2776c602257",
          "directType": 1,
          "deviceMetaId": "b1ac10e0-2c67-4463-b822-d9bd02bd8d49",
          "interfaceMetaId": "9a114538-9137-47cf-b0e7-5cef0a101dd0",
          "interfaceMeta": {
            "id": "9a114538-9137-47cf-b0e7-5cef0a101dd0",
            "name": "RS485",
            "createBy": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
            "belongTo": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
            "investor": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
            "public": false,
            "image": null,
            "desc": "",
            "interfaceTypeId": 1,
            "interfaceType": {
              "id": 1,
              "name": "Serial",
              "key": "serial",
              "desc": "串口"
            },
            "properties": [
              {
                "id": 2,
                "name": "mno",
                "enum": "",
                "defaultValue": "1336",
                "precision": 0,
                "max": "65535",
                "min": "1024",
                "desc": "",
                "propertyTypeId": 1,
                "interfaceMetaId": "9a114538-9137-47cf-b0e7-5cef0a101dd0"
              }
            ]
          }
        }
      ]
    },
    {
      "id": "de07a19a-eb81-48b4-9078-8646684e4962",
      "name": "DTU",
      "createBy": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
      "belongTo": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
      "investor": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
      "public": false,
      "image": "",
      "model": "CM",
      "createdAt": "2017-04-14T11:53:08.306Z",
      "updatedAt": "2017-04-14T11:53:08.306Z",
      "properties": [],
      "capabilities": [
        {
          "id": "81e499ba-834b-492c-816c-2cc8cc55cc87",
          "name": "接入IOTA",
          "image": "",
          "desc": "",
          "deviceMetaId": "de07a19a-eb81-48b4-9078-8646684e4962",
          "capabilityCategoryId": 2,
          "protocolMetaId": "cc58ebc2-81ec-4275-a665-c9a2c9bda868",
          "properties": [],
          "capabilityCategory": {
            "id": 2,
            "name": "控制",
            "image": null,
            "desc": null
          },
          "protocol": {
            "id": "cc58ebc2-81ec-4275-a665-c9a2c9bda868",
            "name": "测斜1506",
            "image": null,
            "desc": "",
            "version": "1.1",
            "enableTime": "2017-04-14",
            "belongTo": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
            "investor": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
            "public": false,
            "createBy": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
            "impl": "Lua",
            "resource": null,
            "marshall": null,
            "unmarshall": null
          },
          "interfaces": [
            {
              "id": "a2efa2a9-5771-49a6-b71b-9a5ca186a35c",
              "capabilityMetaId": "81e499ba-834b-492c-816c-2cc8cc55cc87",
              "deviceMetaInterfaceId": "dd34330c-3f86-4cd5-b772-918b086ca0ff"
            }
          ]
        }
      ],
      "interfaces": [
        {
          "id": "dd34330c-3f86-4cd5-b772-918b086ca0ff",
          "directType": 1,
          "deviceMetaId": "de07a19a-eb81-48b4-9078-8646684e4962",
          "interfaceMetaId": "b14d3424-59cb-4fdb-ba9c-a8a3c1846a0a",
          "interfaceMeta": {
            "id": "b14d3424-59cb-4fdb-ba9c-a8a3c1846a0a",
            "name": "SOIP",
            "createBy": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
            "belongTo": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
            "investor": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
            "public": false,
            "image": null,
            "desc": "",
            "interfaceTypeId": 4,
            "interfaceType": {
              "id": 4,
              "name": "SoIP",
              "key": "soip",
              "desc": "串口 Over IP"
            },
            "properties": [
              {
                "id": 1,
                "name": "id",
                "enum": "",
                "defaultValue": "2233",
                "precision": 0,
                "max": "65535",
                "min": "1024",
                "desc": "",
                "propertyTypeId": 1,
                "interfaceMetaId": "b14d3424-59cb-4fdb-ba9c-a8a3c1846a0a"
              }
            ]
          }
        },
        {
          "id": "a8f105d4-7f7d-4fdc-be8f-9c876594aecf",
          "directType": 2,
          "deviceMetaId": "de07a19a-eb81-48b4-9078-8646684e4962",
          "interfaceMetaId": "9a114538-9137-47cf-b0e7-5cef0a101dd0",
          "interfaceMeta": {
            "id": "9a114538-9137-47cf-b0e7-5cef0a101dd0",
            "name": "RS485",
            "createBy": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
            "belongTo": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
            "investor": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
            "public": false,
            "image": null,
            "desc": "",
            "interfaceTypeId": 1,
            "interfaceType": {
              "id": 1,
              "name": "Serial",
              "key": "serial",
              "desc": "串口"
            },
            "properties": [
              {
                "id": 2,
                "name": "mno",
                "enum": "",
                "defaultValue": "1336",
                "precision": 0,
                "max": "65535",
                "min": "1024",
                "desc": "",
                "propertyTypeId": 1,
                "interfaceMetaId": "9a114538-9137-47cf-b0e7-5cef0a101dd0"
              }
            ]
          }
        }
      ]
    }
  ]
}

Query Parameters

参数 类型 必填 说明
nameOrModel string 否 设备名称或者型号,模糊查询
interfaceTypeIds string 否 接口类型id,输入多个时以’,‘分隔
capabilityCategoryIds string 否 能力分类id,输入多个时以’,‘分隔
protocolMetaIds string 否 协议id,输入多个时以’,‘分隔
interfaceMetas string 否 接口id_directType, 输入多个时以’,‘ 分隔, 例如 interfaceMetas=xxx_1,yyy_2

查询指定设备原型

查询指定设备原型信息。

HTTP Request

GET /v1/api/meta/devices/:id

Request

GET /v1/api/meta/devices/de07a19a-eb81-48b4-9078-8646684e4962

Response

{
  "id": "de07a19a-eb81-48b4-9078-8646684e4962",
  "name": "DTU",
  "createBy": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
  "belongTo": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
  "investor": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
  "public": false,
  "image": "",
  "model": "CM",
  "createdAt": "2017-04-14T11:53:08.306Z",
  "updatedAt": "2017-04-14T11:53:08.306Z",
  "properties": [],
  "capabilities": [
    {
      "id": "81e499ba-834b-492c-816c-2cc8cc55cc87",
      "name": "接入IOTA",
      "image": "",
      "desc": "",
      "deviceMetaId": "de07a19a-eb81-48b4-9078-8646684e4962",
      "capabilityCategoryId": 2,
      "protocolMetaId": "cc58ebc2-81ec-4275-a665-c9a2c9bda868",
      "properties": [],
      "capabilityCategory": {
        "id": 2,
        "name": "控制",
        "image": null,
        "desc": null
      },
      "protocol": {
        "id": "cc58ebc2-81ec-4275-a665-c9a2c9bda868",
        "name": "测斜1506",
        "image": null,
        "desc": "",
        "version": "1.1",
        "enableTime": "2017-04-14",
        "belongTo": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
        "investor": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
        "public": false,
        "createBy": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
        "impl": "Lua",
        "resource": null,
        "marshall": null,
        "unmarshall": null
      },
      "interfaces": [
        {
          "id": "a2efa2a9-5771-49a6-b71b-9a5ca186a35c",
          "capabilityMetaId": "81e499ba-834b-492c-816c-2cc8cc55cc87",
          "deviceMetaInterfaceId": "dd34330c-3f86-4cd5-b772-918b086ca0ff"
        }
      ]
    }
  ],
  "interfaces": [
    {
      "id": "dd34330c-3f86-4cd5-b772-918b086ca0ff",
      "directType": 1,
      "deviceMetaId": "de07a19a-eb81-48b4-9078-8646684e4962",
      "interfaceMetaId": "b14d3424-59cb-4fdb-ba9c-a8a3c1846a0a",
      "interfaceMeta": {
        "id": "b14d3424-59cb-4fdb-ba9c-a8a3c1846a0a",
        "name": "SOIP",
        "createBy": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
        "belongTo": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
        "investor": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
        "public": false,
        "image": null,
        "desc": "",
        "interfaceTypeId": 4,
        "interfaceType": {
          "id": 4,
          "name": "SoIP",
          "key": "soip",
          "desc": "串口 Over IP"
        },
        "properties": [
          {
            "id": 1,
            "name": "id",
            "enum": "",
            "defaultValue": "2233",
            "precision": 0,
            "max": "65535",
            "min": "1024",
            "desc": "",
            "propertyTypeId": 1,
            "interfaceMetaId": "b14d3424-59cb-4fdb-ba9c-a8a3c1846a0a"
          }
        ]
      }
    },
    {
      "id": "a8f105d4-7f7d-4fdc-be8f-9c876594aecf",
      "directType": 2,
      "deviceMetaId": "de07a19a-eb81-48b4-9078-8646684e4962",
      "interfaceMetaId": "9a114538-9137-47cf-b0e7-5cef0a101dd0",
      "interfaceMeta": {
        "id": "9a114538-9137-47cf-b0e7-5cef0a101dd0",
        "name": "RS485",
        "createBy": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
        "belongTo": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
        "investor": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
        "public": false,
        "image": null,
        "desc": "",
        "interfaceTypeId": 1,
        "interfaceType": {
          "id": 1,
          "name": "Serial",
          "key": "serial",
          "desc": "串口"
        },
        "properties": [
          {
            "id": 2,
            "name": "mno",
            "enum": "",
            "defaultValue": "1336",
            "precision": 0,
            "max": "65535",
            "min": "1024",
            "desc": "",
            "propertyTypeId": 1,
            "interfaceMetaId": "9a114538-9137-47cf-b0e7-5cef0a101dd0"
          }
        ]
      }
    }
  ]
}

URL Parameters

参数 类型 必填 说明
id string 是 设备原型id

创建设备原型

创建设备原型。

HTTP Request

POST /v1/api/meta/devices

Request

POST   /v1/api/meta/devices
body   {
        "name": "新增设备",
        "properties": [
          {
            "name": "新增设备属性"
          }
        ],
        "interfaces": [
          {
            "interfaceMetaId": "9a114538-9137-47cf-b0e7-5cef0a101dd0"
          }
        ],
        "capabilities": [
          {
            "name": "新增设备能力",
            "protocolMetaId": "cc58ebc2-81ec-4275-a665-c9a2c9bda868",
            "capabilityCategoryId": 1,
            "interfaces": [
              0
            ],
            "properties": [
              {
                "name": "新增设备能力属性"
              }
            ]
          }
        ]
      }

Response

{
  "name": "新增设备",
  "properties": [
    {
      "id": 1,
      "name": "新增设备属性",
      "deviceMetaId": "da08d9f0-eace-4a09-b4bd-05fb7613e8c1",
      "updatedAt": "2017-04-19T08:19:14.158Z",
      "createdAt": "2017-04-19T08:19:14.158Z",
      "image": null,
      "enum": null,
      "defaultValue": null,
      "precision": null,
      "max": null,
      "min": null,
      "desc": null,
      "propertyTypeId": null
    }
  ],
  "interfaces": [
    {
      "id": "3546a0b2-cfcf-46db-a7e6-cd8f57861947",
      "directType": 1,
      "interfaceMetaId": "9a114538-9137-47cf-b0e7-5cef0a101dd0",
      "deviceMetaId": "da08d9f0-eace-4a09-b4bd-05fb7613e8c1",
      "updatedAt": "2017-04-19T08:19:14.111Z",
      "createdAt": "2017-04-19T08:19:14.111Z"
    }
  ],
  "capabilities": [
    {
      "name": "新增设备能力",
      "protocolMetaId": "cc58ebc2-81ec-4275-a665-c9a2c9bda868",
      "capabilityCategoryId": 1,
      "interfaces": [
        {
          "id": "92733c3d-1d99-4d69-ad0e-2249fd503cbb",
          "capabilityMetaId": "3741ced1-0265-4c79-8771-64a1b7aaf60f",
          "deviceMetaInterfaceId": "3546a0b2-cfcf-46db-a7e6-cd8f57861947",
          "updatedAt": "2017-04-19T08:19:14.158Z",
          "createdAt": "2017-04-19T08:19:14.158Z"
        }
      ],
      "properties": [
        {
          "id": 1,
          "name": "新增设备能力属性",
          "updatedAt": "2017-04-19T08:19:14.111Z",
          "createdAt": "2017-04-19T08:19:14.111Z",
          "image": null,
          "enum": null,
          "defaultValue": null,
          "precision": null,
          "max": null,
          "min": null,
          "desc": null,
          "capabilityMetaId": null,
          "propertyTypeId": null
        }
      ],
      "id": "3741ced1-0265-4c79-8771-64a1b7aaf60f"
    }
  ],
  "createBy": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
  "belongTo": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
  "investor": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
  "id": "da08d9f0-eace-4a09-b4bd-05fb7613e8c1"
}

Body Parameters

参数 类型 必填 说明
name string 是 名称
model string 否 型号
image string 否 图片地址
desc string 否 描述说明
properties array of object 是 设备属性
name string 是 属性名称
enum string 否 属性枚举类型数据
defaultValue string 否 属性默认值
precision integer 否 属性精度
max string 否 属性最大值
min string 否 属性最小值
desc string 否 属性描述
propertyTypeId integer 否 属性类型id
interfaces array of object 是 设备接口
interfaceMetaId string 是 接口原型id
directType enum 否 1/2(接口方向,1为上行,2为下行)
capabilities array of object 是 设备能力
name string 是 能力名称
image string 否 能力图片地址
desc string 否 能力描述说明
interfaces array 是 能力接口(数组元素为设备接口数据的数组索引)
protocolMetaId string 否 协议原型id,可选,以解决部分设备的数据处理交由其上级设备处理的情形
capabilityCategoryId integer 是 能力类别id
properties array of object 是 能力属性
name string 是 属性名称
enum string 否 属性枚举类型数据
defaultValue string 否 属性默认值
precision integer 否 属性精度
max string 否 属性最大值
min string 否 属性最小值
desc string 否 属性描述
propertyTypeId integer 否 属性类型id

修改指定设备原型

修改指定设备原型信息。

HTTP Request

PUT /v1/api/meta/devices/:id

Request

PUT   /v1/api/meta/devices/da08d9f0-eace-4a09-b4bd-05fb7613e8c1
body  {
        "name": "更改设备"
      }

URL Parameters

参数 类型 必填 说明
id string 是 设备原型id

Body Parameters

参数 类型 必填 说明
name string 否 名称
model string 否 型号
image string 否 图片地址
desc string 否 描述说明

删除指定设备原型

删除指定设备原型。

HTTP Request

DELETE /v1/api/meta/devices/:id

Request

DELETE /v1/api/meta/devices/da08d9f0-eace-4a09-b4bd-05fb7613e8c1

URL Parameters

参数 类型 必填 说明
id string 是 设备原型id

复制设备原型

复制设备原型。

HTTP Request

POST /v1/api/meta/devices/:id

Request

POST   /v1/api/meta/devices/da08d9f0-eace-4a09-b4bd-05fb7613e8c1

Response

{
  "name": "新增设备",
  "properties": [
    {
      "id": 1,
      "name": "新增设备属性",
      "deviceMetaId": "da08d9f0-eace-4a09-b4bd-05fb7613e8c1",
      "updatedAt": "2017-04-19T08:19:14.158Z",
      "createdAt": "2017-04-19T08:19:14.158Z",
      "image": null,
      "enum": null,
      "defaultValue": null,
      "precision": null,
      "max": null,
      "min": null,
      "desc": null,
      "propertyTypeId": null
    }
  ],
  "interfaces": [
    {
      "id": "3546a0b2-cfcf-46db-a7e6-cd8f57861947",
      "directType": 1,
      "interfaceMetaId": "9a114538-9137-47cf-b0e7-5cef0a101dd0",
      "deviceMetaId": "da08d9f0-eace-4a09-b4bd-05fb7613e8c1",
      "updatedAt": "2017-04-19T08:19:14.111Z",
      "createdAt": "2017-04-19T08:19:14.111Z"
    }
  ],
  "capabilities": [
    {
      "name": "新增设备能力",
      "protocolMetaId": "cc58ebc2-81ec-4275-a665-c9a2c9bda868",
      "capabilityCategoryId": 1,
      "interfaces": [
        {
          "id": "92733c3d-1d99-4d69-ad0e-2249fd503cbb",
          "capabilityMetaId": "3741ced1-0265-4c79-8771-64a1b7aaf60f",
          "deviceMetaInterfaceId": "3546a0b2-cfcf-46db-a7e6-cd8f57861947",
          "updatedAt": "2017-04-19T08:19:14.158Z",
          "createdAt": "2017-04-19T08:19:14.158Z"
        }
      ],
      "properties": [
        {
          "id": 1,
          "name": "新增设备能力属性",
          "updatedAt": "2017-04-19T08:19:14.111Z",
          "createdAt": "2017-04-19T08:19:14.111Z",
          "image": null,
          "enum": null,
          "defaultValue": null,
          "precision": null,
          "max": null,
          "min": null,
          "desc": null,
          "capabilityMetaId": null,
          "propertyTypeId": null
        }
      ],
      "id": "3741ced1-0265-4c79-8771-64a1b7aaf60f"
    }
  ],
  "createBy": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
  "belongTo": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
  "investor": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
  "id": "da08d9f0-eace-4a09-b4bd-05fb7613e8c1"
}

URL Parameters

参数 类型 必填 说明
id string 是 待拷贝的设备原型id

申请设备原型公开

用户在通过企业认证的情况下,申请设备公开。 这样设备即作为定型设备,可供系统内其他用户选用。

HTTP Request

POST /v1/api/accounts/certifications/devices

Request

POST /v1/api/accounts/certifications/devices
{deviceMetaId: "180c854a-5ace-4044-babd-b270f98fde6b"}

Body Parameters

参数 类型 必填 说明
deviceMetaId string 是 设备原型id

重新发起设备原型公开申请

未审核通过的情况下,修改后再次发起申请

HTTP Request

PUT /v1/api/accounts/certifications/devices

Request

PUT /v1/api/accounts/certifications/devices
{deviceMetaId: "180c854a-5ace-4044-babd-b270f98fde6b"}

Body Parameters

参数 类型 必填 说明
deviceMetaId string 是 设备原型id

查询指定设备原型属性

查询指定设备原型的属性信息。

HTTP Request

GET /v1/api/meta/devices/:deviceId/properties

Request

GET /v1/api/meta/devices/25d6e030-8111-4d9f-89a4-91c47e94e598/properties

Response

[
  {
    "id": 3,
    "name": "新增设备属性11",
    "image": null,
    "enum": null,
    "defaultValue": null,
    "precision": null,
    "max": null,
    "min": null,
    "desc": null,
    "deviceMetaId": "25d6e030-8111-4d9f-89a4-91c47e94e598",
    "propertyTypeId": null
  },
  {
    "id": 2,
    "name": "新增设备属性",
    "image": null,
    "enum": null,
    "defaultValue": null,
    "precision": null,
    "max": null,
    "min": null,
    "desc": null,
    "deviceMetaId": "25d6e030-8111-4d9f-89a4-91c47e94e598",
    "propertyTypeId": null
  }
]

URL Parameters

参数 类型 必填 说明
deviceId string 是 设备原型id

查询指定设备原型指定属性

查询指定设备原型的指定属性信息。

HTTP Request

GET /v1/api/meta/devices/:deviceId/properties/:id

Request

GET /v1/api/meta/devices/25d6e030-8111-4d9f-89a4-91c47e94e598/properties/2

Response

{
  "id": 2,
  "name": "新增设备属性",
  "image": null,
  "enum": null,
  "defaultValue": null,
  "precision": null,
  "max": null,
  "min": null,
  "desc": null,
  "deviceMetaId": "25d6e030-8111-4d9f-89a4-91c47e94e598",
  "propertyTypeId": null
}

URL Parameters

参数 类型 必填 说明
deviceId string 是 设备原型id
id string 是 设备原型属性id

创建指定设备原型属性

创建指定设备原型属性

HTTP Request

POST /v1/api/meta/devices/:deviceId/properties

Request

POST  /v1/api/meta/devices/25d6e030-8111-4d9f-89a4-91c47e94e598/properties
body  {
        "name": "新增设备属性11"
      }

Response

{
  "id": 3,
  "name": "新增设备属性11",
  "deviceMetaId": "25d6e030-8111-4d9f-89a4-91c47e94e598",
  "updatedAt": "2017-04-19T09:11:21.449Z",
  "createdAt": "2017-04-19T09:11:21.449Z",
  "image": null,
  "enum": null,
  "defaultValue": null,
  "precision": null,
  "max": null,
  "min": null,
  "desc": null,
  "propertyTypeId": null
}

URL Parameters

参数 类型 必填 说明
deviceId string 是 设备原型id

Body Parameters

参数 类型 必填 说明
name string 是 属性名称
enum string 否 属性枚举类型数据
defaultValue string 否 属性默认值
precision integer 否 属性精度
max string 否 属性最大值
min string 否 属性最小值
desc string 否 属性描述
propertyTypeId integer 否 属性类型id

修改指定设备原型指定属性

修改指定设备原型的指定属性信息。

HTTP Request

PUT /v1/api/meta/devices/:deviceId/properties/:id

Request

PUT /v1/api/meta/devices/25d6e030-8111-4d9f-89a4-91c47e94e598/properties/3
body  {
        "name": "修改设备属性"
      }

URL Parameters

参数 类型 必填 说明
deviceId string 是 设备原型id
id string 是 设备原型属性id

Body Parameters

参数 类型 必填 说明
name string 否 属性名称
enum string 否 属性枚举类型数据
defaultValue string 否 属性默认值
precision integer 否 属性精度
max string 否 属性最大值
min string 否 属性最小值
desc string 否 属性描述
propertyTypeId integer 否 属性类型id

删除指定设备原型指定属性

删除指定设备原型的指定属性。

HTTP Request

DELETE /v1/api/meta/devices/:deviceId/properties/:id

Request

DELETE /v1/api/meta/devices/25d6e030-8111-4d9f-89a4-91c47e94e598/properties/3

URL Parameters

参数 类型 必填 说明
deviceId string 是 设备原型id
id string 是 设备原型属性id

查询指定设备原型能力

查询指定设备原型的能力信息。

HTTP Request

GET /v1/api/meta/devices/:deviceId/capabilities

Request

GET /v1/api/meta/devices/25d6e030-8111-4d9f-89a4-91c47e94e598/capabilities

Response

{
  "total": 1,
  "capabilityMetas": [
    {
      "id": "1a5cd2cd-9b5f-4278-a621-aa83d5018b5b",
      "name": "新增设备能力",
      "image": null,
      "desc": null,
      "createdAt": "2017-04-19T09:03:07.302Z",
      "deviceMetaId": "25d6e030-8111-4d9f-89a4-91c47e94e598",
      "capabilityCategoryId": 1,
      "protocolMetaId": "9a51184f-8f72-4da2-b1cc-1d4052d7e4b2",
      "properties": [],
      "capabilityCategory": {
        "id": 1,
        "name": "诊断",
        "image": null,
        "desc": null,
        "createdAt": "2017-04-19T08:51:11.675Z"
      },
      "protocol": {
        "id": "9a51184f-8f72-4da2-b1cc-1d4052d7e4b2",
        "name": "Modbus",
        "image": null,
        "desc": "Modbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。",
        "version": "1.0",
        "enableTime": "2017-03-18",
        "belongTo": "72ec5c70-043e-4242-851f-756bbca0c38e",
        "investor": "72ec5c70-043e-4242-851f-756bbca0c38e",
        "public": false,
        "createBy": "72ec5c70-043e-4242-851f-756bbca0c38e",
        "impl": null,
        "resource": null,
        "marshall": null,
        "unmarshall": null,
        "createdAt": "2017-04-19T08:51:11.613Z"
      },
      "interfaces": [
        {
          "id": "719dcc30-837b-4e78-968e-31f875bfa57d",
          "name": "MsgHandler",
          "createBy": "72ec5c70-043e-4242-851f-756bbca0c38e",
          "belongTo": "72ec5c70-043e-4242-851f-756bbca0c38e",
          "investor": "72ec5c70-043e-4242-851f-756bbca0c38e",
          "public": false,
          "image": null,
          "desc": "消息处理接口",
          "createdAt": "2017-04-19T08:51:11.660Z",
          "updatedAt": "2017-04-19T08:51:11.660Z",
          "interfaceTypeId": 1,
          "interfaceType": {
            "id": 1,
            "name": "Serial",
            "key": "serial",
            "desc": "串口"
          },
          "properties": [],
          "deviceMetaInterfaceId": "ae563bf7-bb33-4afd-aff8-b29b5bf6a7d9",
          "interfaceMetaId": "5a3450f4-53f4-4336-8c3e-0c746e7c01e2"
        }
      ]
    }
  ]
}

URL Parameters

参数 类型 必填 说明
deviceId string 是 设备原型id

查询指定设备原型指定能力

查询指定设备原型的指定能力信息。

HTTP Request

GET /v1/api/meta/devices/:deviceId/capabilities/:id

Request

GET /v1/api/meta/devices/25d6e030-8111-4d9f-89a4-91c47e94e598/capabilities/1a5cd2cd-9b5f-4278-a621-aa83d5018b5b

Response

{
  "id": "1a5cd2cd-9b5f-4278-a621-aa83d5018b5b",
  "name": "新增设备能力",
  "image": null,
  "desc": null,
  "createdAt": "2017-04-19T09:03:07.302Z",
  "deviceMetaId": "25d6e030-8111-4d9f-89a4-91c47e94e598",
  "capabilityCategoryId": 1,
  "protocolMetaId": "9a51184f-8f72-4da2-b1cc-1d4052d7e4b2",
  "properties": [],
  "capabilityCategory": {
    "id": 1,
    "name": "诊断",
    "image": null,
    "desc": null,
    "createdAt": "2017-04-19T08:51:11.675Z"
  },
  "protocol": {
    "id": "9a51184f-8f72-4da2-b1cc-1d4052d7e4b2",
    "name": "Modbus",
    "image": null,
    "desc": "Modbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。",
    "version": "1.0",
    "enableTime": "2017-03-18",
    "belongTo": "72ec5c70-043e-4242-851f-756bbca0c38e",
    "investor": "72ec5c70-043e-4242-851f-756bbca0c38e",
    "public": false,
    "createBy": "72ec5c70-043e-4242-851f-756bbca0c38e",
    "impl": null,
    "resource": null,
    "marshall": null,
    "unmarshall": null,
    "createdAt": "2017-04-19T08:51:11.613Z"
  },
  "interfaces": [
    {
      "id": "719dcc30-837b-4e78-968e-31f875bfa57d",
      "name": "MsgHandler",
      "createBy": "72ec5c70-043e-4242-851f-756bbca0c38e",
      "belongTo": "72ec5c70-043e-4242-851f-756bbca0c38e",
      "investor": "72ec5c70-043e-4242-851f-756bbca0c38e",
      "public": false,
      "image": null,
      "desc": "消息处理接口",
      "createdAt": "2017-04-19T08:51:11.660Z",
      "updatedAt": "2017-04-19T08:51:11.660Z",
      "interfaceTypeId": 1,
      "interfaceType": {
        "id": 1,
        "name": "Serial",
        "key": "serial",
        "desc": "串口"
      },
      "properties": [],
      "deviceMetaInterfaceId": "ae563bf7-bb33-4afd-aff8-b29b5bf6a7d9",
      "interfaceMetaId": "5a3450f4-53f4-4336-8c3e-0c746e7c01e2"
    }
  ]
}

URL Parameters

参数 类型 必填 说明
deviceId string 是 设备原型id
id string 是 设备原型能力id

创建指定设备原型能力

创建指定设备原型能力。

HTTP Request

POST /v1/api/meta/devices/:deviceId/capabilities

Request

POST  /v1/api/meta/devices/25d6e030-8111-4d9f-89a4-91c47e94e598/capabilities
body  {
        "name": "新增设备能力233",
        "protocolMetaId": "9a51184f-8f72-4da2-b1cc-1d4052d7e4b2",
        "interfaces": [
          "ae563bf7-bb33-4afd-aff8-b29b5bf6a7d9"
        ],
        "capabilityCategoryId": 1
      }

Response

{
  "id": "f8d493d5-be28-4769-911d-3f64c3072532",
  "name": "新增设备能力233",
  "capabilityCategoryId": 1,
  "desc": null,
  "image": null,
  "protocolMetaId": "9a51184f-8f72-4da2-b1cc-1d4052d7e4b2",
  "deviceMetaId": "25d6e030-8111-4d9f-89a4-91c47e94e598",
  "updatedAt": "2017-04-19T09:54:02.333Z",
  "createdAt": "2017-04-19T09:54:02.333Z"
}

URL Parameters

参数 类型 必填 说明
deviceId string 是 设备原型id

Body Parameters

参数 类型 必填 说明
name string 是 名称
image string 否 图片地址
desc string 否 描述说明
interfaces array 是 能力接口(数组元素为设备与接口的关联id)
protocolMetaId string 是 协议原型id
capabilityCategoryId integer 是 能力类别id

修改指定设备原型指定能力

修改指定设备原型的指定能力信息。

HTTP Request

PUT /v1/api/meta/devices/:deviceId/capabilities/:id

Request

PUT   /v1/api/meta/devices/25d6e030-8111-4d9f-89a4-91c47e94e598/capabilities/f8d493d5-be28-4769-911d-3f64c3072532
body  {
        "name": "新增设备能力566",
        "protocolMetaId": "9a51184f-8f72-4da2-b1cc-1d4052d7e4b2",
        "interfaces": [
          "ae563bf7-bb33-4afd-aff8-b29b5bf6a7d9"
        ],
        "capabilityCategoryId": 2
      }

Response
能力接口数组

[
  "03908025-7865-4d50-b765-a7f689803c0c"
]

URL Parameters

参数 类型 必填 说明
deviceId string 是 设备原型id
id string 是 设备原型能力id

Body Parameters

参数 类型 必填 说明
name string 是 名称
image string 否 图片地址
desc string 否 描述说明
interfaces array 是 能力接口(数组元素为设备与接口的关联id)
protocolMetaId string 是 协议原型id
capabilityCategoryId integer 是 能力类别id

删除指定设备原型指定能力

删除指定设备原型的指定能力。

HTTP Request

DELETE /v1/api/meta/devices/:deviceId/capabilities/:id

Request

DELETE /v1/api/meta/devices/25d6e030-8111-4d9f-89a4-91c47e94e598/capabilities/f8d493d5-be28-4769-911d-3f64c3072532

URL Parameters

参数 类型 必填 说明
deviceId string 是 设备原型id
id string 是 设备原型能力id

设备接口管理

查询设备原型接口

查询指定设备原型的接口信息。

HTTP Request

GET /v1/api/meta/devices/:deviceId/interfaces

Request

GET /v1/api/meta/devices/25d6e030-8111-4d9f-89a4-91c47e94e598/interfaces

Response

{
  "total": 1,
  "interfaces": [
    {
      "id": "ae563bf7-bb33-4afd-aff8-b29b5bf6a7d9",
      "directType": 1,
      "createdAt": "2017-04-19T09:03:07.302Z",
      "updatedAt": "2017-04-19T09:03:07.302Z",
      "deviceMetaId": "25d6e030-8111-4d9f-89a4-91c47e94e598",
      "interfaceMetaId": "5a3450f4-53f4-4336-8c3e-0c746e7c01e2",
      "interfaceMeta": {
        "id": "5a3450f4-53f4-4336-8c3e-0c746e7c01e2",
        "name": "MsgHandler",
        "createBy": "72ec5c70-043e-4242-851f-756bbca0c38e",
        "belongTo": "72ec5c70-043e-4242-851f-756bbca0c38e",
        "investor": "72ec5c70-043e-4242-851f-756bbca0c38e",
        "public": false,
        "image": null,
        "desc": "消息处理接口",
        "createdAt": "2017-04-19T08:51:11.660Z",
        "updatedAt": "2017-04-19T08:51:11.660Z",
        "interfaceTypeId": 1
      }
    }
  ]
}

URL Parameters

参数 类型 必填 说明
deviceId string 是 设备原型id

查询设备原型指定接口

查询指定设备原型的指定接口信息。

HTTP Request

GET /v1/api/meta/devices/:deviceId/interfaces/:id

Request

GET /v1/api/meta/devices/25d6e030-8111-4d9f-89a4-91c47e94e598/interfaces/ae563bf7-bb33-4afd-aff8-b29b5bf6a7d9

Response

{
  "id": "ae563bf7-bb33-4afd-aff8-b29b5bf6a7d9",
  "directType": 1,
  "createdAt": "2017-04-19T09:03:07.302Z",
  "updatedAt": "2017-04-19T09:03:07.302Z",
  "deviceMetaId": "25d6e030-8111-4d9f-89a4-91c47e94e598",
  "interfaceMetaId": "5a3450f4-53f4-4336-8c3e-0c746e7c01e2",
  "interfaceMeta": {
    "id": "5a3450f4-53f4-4336-8c3e-0c746e7c01e2",
    "name": "MsgHandler",
    "createBy": "72ec5c70-043e-4242-851f-756bbca0c38e",
    "belongTo": "72ec5c70-043e-4242-851f-756bbca0c38e",
    "investor": "72ec5c70-043e-4242-851f-756bbca0c38e",
    "public": false,
    "image": null,
    "desc": "消息处理接口",
    "createdAt": "2017-04-19T08:51:11.660Z",
    "updatedAt": "2017-04-19T08:51:11.660Z",
    "interfaceTypeId": 1
  }
}

URL Parameters

参数 类型 必填 说明
deviceId string 是 设备原型id
id string 是 设备与接口的关联id

增加设备原型接口

指定设备原型与指定指定接口原型建立关联关系。

HTTP Request

POST /v1/api/meta/devices/:deviceId/interfaces

Request

POST  /v1/api/meta/devices/25d6e030-8111-4d9f-89a4-91c47e94e598/interfaces
body  {
        "interfaceMetaId": "5a3450f4-53f4-4336-8c3e-0c746e7c01e2",
        "directType": 2
      }

Response

{
  "id": "f55bf584-d082-4b6c-b7a3-9a0215b51b13",
  "deviceMetaId": "25d6e030-8111-4d9f-89a4-91c47e94e598",
  "interfaceMetaId": "5a3450f4-53f4-4336-8c3e-0c746e7c01e2",
  "directType": 2,
  "updatedAt": "2017-04-19T10:49:45.671Z",
  "createdAt": "2017-04-19T10:49:45.671Z"
}

URL Parameters

参数 类型 必填 说明
deviceId string 是 设备原型id

Body Parameters

参数 类型 必填 说明
interfaceMetaId string 是 接口原型id
directType enum 是 1/2(接口方向,1为上行,2为下行)

修改设备原型指定接口

修改指定设备原型与指定指定接口原型的关联关系。

HTTP Request

PUT /v1/api/meta/devices/:deviceId/interfaces/:id

Request

PUT   /v1/api/meta/devices/25d6e030-8111-4d9f-89a4-91c47e94e598/interfaces/ae563bf7-bb33-4afd-aff8-b29b5bf6a7d9
body  {
        "interfaceMetaId": "5a3450f4-53f4-4336-8c3e-0c746e7c01e2",
        "directType": 1
      }

URL Parameters

参数 类型 必填 说明
deviceId string 是 设备原型id
id string 是 设备与接口的关联id

Body Parameters

参数 类型 必填 说明
interfaceMetaId string 是 接口原型id
directType enum 是 1/2(接口方向,1为上行,2为下行)

删除设备原型指定接口

解除指定设备原型与指定指定接口原型的关联关系。

HTTP Request

DELETE /v1/api/meta/devices/:deviceId/interfaces/:id

Request

DELETE   /v1/api/meta/devices/25d6e030-8111-4d9f-89a4-91c47e94e598/interfaces/ae563bf7-bb33-4afd-aff8-b29b5bf6a7d9

URL Parameters

参数 类型 必填 说明
deviceId string 是 设备原型id
id string 是 设备与接口的关联id

设备能力管理

查询设备原型能力接口

查询指定设备原型的能力的接口信息。

HTTP Request

GET /v1/api/meta/devices/:deviceId/capabilities/:capabilityId/interfaces

Request

GET /v1/api/meta/devices/25d6e030-8111-4d9f-89a4-91c47e94e598/capabilities/1a5cd2cd-9b5f-4278-a621-aa83d5018b5b/interfaces

Response

{
  "total": 1,
  "interfaces": [
    {
      "id": "56511d4d-3e63-4240-b24b-fb648ba754e1",
      "createdAt": "2017-04-20T02:08:22.984Z",
      "updatedAt": "2017-04-20T02:08:22.984Z",
      "capabilityMetaId": "1a5cd2cd-9b5f-4278-a621-aa83d5018b5b",
      "deviceMetaInterfaceId": "f55bf584-d082-4b6c-b7a3-9a0215b51b13",
      "deviceMetaInterface": {
        "id": "f55bf584-d082-4b6c-b7a3-9a0215b51b13",
        "directType": 2,
        "createdAt": "2017-04-19T10:49:45.671Z",
        "updatedAt": "2017-04-19T10:49:45.671Z",
        "deviceMetaId": "25d6e030-8111-4d9f-89a4-91c47e94e598",
        "interfaceMetaId": "5a3450f4-53f4-4336-8c3e-0c746e7c01e2",
        "interfaceMeta": {
          "id": "5a3450f4-53f4-4336-8c3e-0c746e7c01e2",
          "name": "MsgHandler",
          "createBy": "72ec5c70-043e-4242-851f-756bbca0c38e",
          "belongTo": "72ec5c70-043e-4242-851f-756bbca0c38e",
          "investor": "72ec5c70-043e-4242-851f-756bbca0c38e",
          "public": false,
          "image": null,
          "desc": "消息处理接口",
          "createdAt": "2017-04-19T08:51:11.660Z",
          "updatedAt": "2017-04-19T08:51:11.660Z",
          "interfaceTypeId": 1
        }
      }
    }
  ]
}

URL Parameters

参数 类型 必填 说明
deviceId string 是 设备原型id
capabilityId string 是 能力原型id

查询设备原型能力指定接口

查询指定设备原型的能力的指定接口信息。

HTTP Request

GET /v1/api/meta/devices/:deviceId/capabilities/:capabilityId/interfaces/:id

Request

GET v1/api/meta/devices/25d6e030-8111-4d9f-89a4-91c47e94e598/capabilities/1a5cd2cd-9b5f-4278-a621-aa83d5018b5b/interfaces/56511d4d-3e63-4240-b24b-fb648ba754e1

Response

{
  "id": "56511d4d-3e63-4240-b24b-fb648ba754e1",
  "createdAt": "2017-04-20T02:08:22.984Z",
  "updatedAt": "2017-04-20T02:08:22.984Z",
  "capabilityMetaId": "1a5cd2cd-9b5f-4278-a621-aa83d5018b5b",
  "deviceMetaInterfaceId": "f55bf584-d082-4b6c-b7a3-9a0215b51b13",
  "deviceMetaInterface": {
    "id": "f55bf584-d082-4b6c-b7a3-9a0215b51b13",
    "directType": 2,
    "createdAt": "2017-04-19T10:49:45.671Z",
    "updatedAt": "2017-04-19T10:49:45.671Z",
    "deviceMetaId": "25d6e030-8111-4d9f-89a4-91c47e94e598",
    "interfaceMetaId": "5a3450f4-53f4-4336-8c3e-0c746e7c01e2",
    "interfaceMeta": {
      "id": "5a3450f4-53f4-4336-8c3e-0c746e7c01e2",
      "name": "MsgHandler",
      "createBy": "72ec5c70-043e-4242-851f-756bbca0c38e",
      "belongTo": "72ec5c70-043e-4242-851f-756bbca0c38e",
      "investor": "72ec5c70-043e-4242-851f-756bbca0c38e",
      "public": false,
      "image": null,
      "desc": "消息处理接口",
      "createdAt": "2017-04-19T08:51:11.660Z",
      "updatedAt": "2017-04-19T08:51:11.660Z",
      "interfaceTypeId": 1
    }
  }
}

URL Parameters

参数 类型 必填 说明
deviceId string 是 设备原型id
capabilityId string 是 能力原型id
id string 是 设备能力与设备接口的关联id

增加设备原型能力接口

指定设备原型的指定能力与该设备的指定关联接口建立关联关系。

HTTP Request

POST /v1/api/meta/devices/:deviceId/capabilities/:capabilityId/interfaces

Request

POST  /v1/api/meta/devices/25d6e030-8111-4d9f-89a4-91c47e94e598/capabilities/1a5cd2cd-9b5f-4278-a621-aa83d5018b5b/interfaces
body  {
        "deviceMetaInterfaceId": "f55bf584-d082-4b6c-b7a3-9a0215b51b13"
      }

Response

{
  "id": "56511d4d-3e63-4240-b24b-fb648ba754e1",
  "capabilityMetaId": "1a5cd2cd-9b5f-4278-a621-aa83d5018b5b",
  "deviceMetaInterfaceId": "f55bf584-d082-4b6c-b7a3-9a0215b51b13",
  "updatedAt": "2017-04-20T02:08:22.984Z",
  "createdAt": "2017-04-20T02:08:22.984Z"
}

URL Parameters

参数 类型 必填 说明
deviceId string 是 设备原型id
capabilityId string 是 能力原型id

Body Parameters

参数 类型 必填 说明
deviceMetaInterfaceId string 是 设备原型与接口原型的关联id

修改设备原型能力指定接口

修改指定设备原型的指定能力与该设备的指定关联接口的关联关系。

HTTP Request

PUT /v1/api/meta/devices/:deviceId/capabilities/:capabilityId/interfaces/:id

Request

PUT /v1/api/meta/devices/25d6e030-8111-4d9f-89a4-91c47e94e598/capabilities/1a5cd2cd-9b5f-4278-a621-aa83d5018b5b/interfaces/56511d4d-3e63-4240-b24b-fb648ba754e1
body  {
        "deviceMetaInterfaceId": "f55bf584-d082-4b6c-b7a3-9a0215b51b13"
      }

URL Parameters

参数 类型 必填 说明
deviceId string 是 设备原型id
capabilityId string 是 能力原型id
id string 是 设备能力与设备接口的关联id

Body Parameters

参数 类型 必填 说明
deviceMetaInterfaceId string 是 设备原型与接口原型的关联id

删除设备原型能力指定接口

解除指定设备原型的指定能力与该设备的指定关联接口的关联关系。

HTTP Request

DELETE /v1/api/meta/devices/:deviceId/capabilities/:capabilityId/interfaces/:id

Request

DELETE /v1/api/meta/devices/25d6e030-8111-4d9f-89a4-91c47e94e598/capabilities/1a5cd2cd-9b5f-4278-a621-aa83d5018b5b/interfaces/56511d4d-3e63-4240-b24b-fb648ba754e1

URL Parameters

参数 类型 必填 说明
deviceId string 是 设备原型id
capabilityId string 是 能力原型id
id string 是 设备与接口的关联id

能力属性管理

查询指定能力原型属性

查询能力原型的属性信息。

HTTP Request

GET /v1/api/meta/capabilities/:capabilityId/properties

Request

GET /v1/api/meta/capabilities/1a5cd2cd-9b5f-4278-a621-aa83d5018b5b/properties

Response

[
  {
    "id": 3,
    "name": "新增能力属性",
    "image": null,
    "enum": null,
    "defaultValue": null,
    "precision": null,
    "max": null,
    "min": null,
    "desc": null,
    "capabilityMetaId": "1a5cd2cd-9b5f-4278-a621-aa83d5018b5b",
    "propertyTypeId": null
  }
]

URL Parameters

参数 类型 必填 说明
capabilityId string 是 能力原型id

查询指定能力原型指定属性

查询指定能力原型的指定属性信息。

HTTP Request

GET /v1/api/meta/capabilities/:capabilityId/properties/:id

Request

GET /v1/api/meta/capabilities/1a5cd2cd-9b5f-4278-a621-aa83d5018b5b/properties/3

Response

{
  "id": 3,
  "name": "新增能力属性",
  "image": null,
  "enum": null,
  "defaultValue": null,
  "precision": null,
  "max": null,
  "min": null,
  "desc": null,
  "capabilityMetaId": "1a5cd2cd-9b5f-4278-a621-aa83d5018b5b",
  "propertyTypeId": null
}

URL Parameters

参数 类型 必填 说明
capabilityId string 是 能力原型id
id string 是 能力原型属性id

创建指定能力原型属性

创建指定能力原型属性。

HTTP Request

POST /v1/api/meta/capabilities/:capabilityId/properties

Request

POST  /v1/api/meta/capabilities/1a5cd2cd-9b5f-4278-a621-aa83d5018b5b/properties
body  {
        "name": "新增能力属性"
      }

Response

{
  "id": 3,
  "name": "新增能力属性",
  "updatedAt": "2017-04-20T02:49:46.001Z",
  "createdAt": "2017-04-20T02:49:46.001Z",
  "image": null,
  "enum": null,
  "defaultValue": null,
  "precision": null,
  "max": null,
  "min": null,
  "desc": null,
  "capabilityMetaId": "1a5cd2cd-9b5f-4278-a621-aa83d5018b5b",
  "propertyTypeId": null
}

URL Parameters

参数 类型 必填 说明
capabilityId string 是 能力原型id

Body Parameters

参数 类型 必填 说明
name string 是 名称
enum string 否 枚举类型数据
defaultValue string 否 默认值
precision integer 否 精度
max string 否 最大值
min string 否 最小值
desc string 否 描述说明
propertyTypeId integer 否 属性类型id

修改指定能力原型指定属性

修改指定能力原型的指定属性。

HTTP Request

PUT /v1/api/meta/capabilities/:capabilityId/properties/:id

Request

PUT   /v1/api/meta/capabilities/1a5cd2cd-9b5f-4278-a621-aa83d5018b5b/properties/3
body  {
        "name": "修改能力属性"
      }

URL Parameters

参数 类型 必填 说明
capabilityId string 是 能力原型id
id string 是 能力原型属性id

Body Parameters

参数 类型 必填 说明
name string 否 名称
enum string 否 枚举类型数据
defaultValue string 否 默认值
precision integer 否 精度
max string 否 最大值
min string 否 最小值
desc string 否 描述说明
propertyTypeId integer 否 属性类型id

删除指定能力原型指定属性

删除指定能力原型的指定属性。

HTTP Request

DELETE /v1/api/meta/capabilities/:capabilityId/properties/:id

Request

DELETE /v1/api/meta/capabilities/1a5cd2cd-9b5f-4278-a621-aa83d5018b5b/properties/3

URL Parameters

参数 类型 必填 说明
capabilityId string 是 能力原型id
id string 是 能力原型属性id

设备公式管理

查询指定设备原型公式

查询指定设备原型的公式信息。

HTTP Request

GET /v1/api/meta/devices/:deviceId/formulas

Request

GET /v1/api/meta/devices/3de549ec-16dc-4648-9a21-9c34035debe1/formulas

Response

{
    "total": 3,
    "formulaMetas": {
        "count": 3,
        "rows": [
            {
                "id": "ebfd043e-f4f8-44f4-b278-874105784e0a",
                "name": "test",
                "formula": "111122",
                "key": null,
                "desc": "",
                "createdAt": "2018-03-08T07:04:02.065Z",
                "deviceMetaId": "3de549ec-16dc-4648-9a21-9c34035debe1",
                "properties": []
            },
            {
                "id": "f3e3c574-7d1d-490f-af9c-5a3200cd370f",
                "name": "aa",
                "formula": "aa",
                "key": null,
                "desc": "",
                "createdAt": "2018-03-08T07:02:12.708Z",
                "deviceMetaId": "3de549ec-16dc-4648-9a21-9c34035debe1",
                "properties": []
            },
            {
                "id": "b6303c30-5223-4168-b34a-59f29fecd9d2",
                "name": "test",
                "formula": "ddddd",
                "key": null,
                "desc": "test",
                "createdAt": "2018-01-17T15:38:12.297Z",
                "deviceMetaId": "3de549ec-16dc-4648-9a21-9c34035debe1",
                "properties": [
                    {
                        "id": 28,
                        "name": "AAA",
                        "showName": null,
                        "category": "Output",
                        "image": null,
                        "enum": null,
                        "defaultValue": null,
                        "precision": null,
                        "max": null,
                        "min": null,
                        "unit": null,
                        "desc": "",
                        "required": true,
                        "createdAt": "2018-03-16T07:42:45.509Z",
                        "formulaMetaId": "b6303c30-5223-4168-b34a-59f29fecd9d2",
                        "propertyTypeId": 1
                    },
                    {
                        "id": 5,
                        "name": "A",
                        "showName": null,
                        "category": "Variable",
                        "image": null,
                        "enum": null,
                        "defaultValue": "",
                        "precision": null,
                        "max": null,
                        "min": null,
                        "unit": "",
                        "desc": "",
                        "required": true,
                        "createdAt": "2018-01-17T15:38:31.854Z",
                        "formulaMetaId": "b6303c30-5223-4168-b34a-59f29fecd9d2",
                        "propertyTypeId": 5
                    }
                ]
            }
        ]

URL Parameters

参数 类型 必填 说明
deviceId string 是 设备原型id

查询指定设备原型指定公式

查询指定设备原型的指定公式信息。

HTTP Request

GET /v1/api/meta/devices/:deviceId/formulas/:id

Request

GET /v1/api/meta/devices/3de549ec-16dc-4648-9a21-9c34035debe1/formulas/b6303c30-5223-4168-b34a-59f29fecd9d2

Response

{
    "id": "b6303c30-5223-4168-b34a-59f29fecd9d2",
    "name": "test",
    "formula": "ddddd",
    "key": null,
    "desc": "test",
    "createdAt": "2018-01-17T15:38:12.297Z",
    "deviceMetaId": "3de549ec-16dc-4648-9a21-9c34035debe1",
    "properties": [
        {
            "id": 28,
            "name": "AAA",
            "showName": null,
            "category": "Output",
            "image": null,
            "enum": null,
            "defaultValue": null,
            "precision": null,
            "max": null,
            "min": null,
            "unit": null,
            "desc": "",
            "required": true,
            "createdAt": "2018-03-16T07:42:45.509Z",
            "formulaMetaId": "b6303c30-5223-4168-b34a-59f29fecd9d2",
            "propertyTypeId": 1
        },
        {
            "id": 5,
            "name": "A",
            "showName": null,
            "category": "Variable",
            "image": null,
            "enum": null,
            "defaultValue": "",
            "precision": null,
            "max": null,
            "min": null,
            "unit": "",
            "desc": "",
            "required": true,
            "createdAt": "2018-01-17T15:38:31.854Z",
            "formulaMetaId": "b6303c30-5223-4168-b34a-59f29fecd9d2",
            "propertyTypeId": 5
        }
    ]
}

URL Parameters

参数 类型 必填 说明
deviceId string 是 设备原型id
id string 是 设备原型公式id

创建指定设备原型公式

创建指定设备原型公式。

HTTP Request

POST /v1/api/meta/devices/:deviceId/formulas

Request

POST  /v1/api/meta/devices/3de549ec-16dc-4648-9a21-9c34035debe1/formulas
body  {
            "formula":"a=b+1",
            "name":"test",
            "desc":"test"
      }

Response

{
    "id": "88af77b4-d9b2-4567-9b1b-91e64214ca6b",
    "name": "test",
    "desc": "test",
    "formula": "a=b+1",
    "key": null,
    "deviceMetaId": "f41cc527-1b34-4699-a2dc-0a748b5c255b",
    "updatedAt": "2018-03-22T02:53:46.675Z",
    "createdAt": "2018-03-22T02:53:46.675Z"
}

URL Parameters

参数 类型 必填 说明
deviceId string 是 设备原型id

Body Parameters

参数 类型 必填 说明
name string 是 名称
formula string 否 公式说明
desc string 否 描述说明

修改指定设备原型指定公式

修改指定设备原型的指定公式信息。

HTTP Request

PUT /v1/api/meta/devices/:deviceId/formulas/:id

Request

PUT   /v1/api/meta/devices/3de549ec-16dc-4648-9a21-9c34035debe1/formulas/88af77b4-d9b2-4567-9b1b-91e64214ca6b
body  {
            "formula":"a=b+2",
            "name":"test",
            "desc":"test"
      }

URL Parameters

参数 类型 必填 说明
deviceId string 是 设备原型id
id string 是 设备原型公式id

Body Parameters

参数 类型 必填 说明
name string 是 名称
formula string 否 公式说明
desc string 否 描述说明

删除指定设备原型指定公式

删除指定设备原型的指定公式。

HTTP Request

DELETE /v1/api/meta/devices/:deviceId/formulas/:id

Request

DELETE /v1/api/meta/devices/3de549ec-16dc-4648-9a21-9c34035debe1/formulas/88af77b4-d9b2-4567-9b1b-91e64214ca6b

URL Parameters

参数 类型 必填 说明
deviceId string 是 设备原型id
id string 是 设备原型公式id

查询指定公式原型属性

查询公式原型的属性信息。

HTTP Request

GET /v1/api/meta/formulas/:formulaId/properties

Request

GET /v1/api/meta/formulas/1a5cd2cd-9b5f-4278-a621-aa83d5018b5b/properties

Response

[
  {
    "id": 3,
    "name": "新增公式属性",
    "image": null,
    "enum": null,
    "defaultValue": null,
    "precision": null,
    "max": null,
    "min": null,
    "desc": null,
    "capabilityMetaId": "1a5cd2cd-9b5f-4278-a621-aa83d5018b5b",
    "propertyTypeId": null
  }
]

URL Parameters

参数 类型 必填 说明
formulaId string 是 公式原型id

查询指定公式原型指定属性

查询指定公式原型的指定属性信息。

HTTP Request

GET /v1/api/meta/formulas/:formulaId/properties/:id

Request

GET /v1/api/meta/formulas/1a5cd2cd-9b5f-4278-a621-aa83d5018b5b/properties/3

Response

{
  "id": 3,
  "name": "新增公式属性",
  "image": null,
  "enum": null,
  "defaultValue": null,
  "precision": null,
  "max": null,
  "min": null,
  "desc": null,
  "capabilityMetaId": "1a5cd2cd-9b5f-4278-a621-aa83d5018b5b",
  "propertyTypeId": null
}

URL Parameters

参数 类型 必填 说明
formulaId string 是 公式原型id
id string 是 公式原型属性id

创建指定公式原型属性

创建指定公式原型属性。

HTTP Request

POST /v1/api/meta/formulas/:formulaId/properties

Request

POST  /v1/api/meta/formulas/1a5cd2cd-9b5f-4278-a621-aa83d5018b5b/properties
body  {
        "name": "新增公式属性"
      }

Response

{
  "id": 3,
  "name": "新增公式属性",
  "updatedAt": "2017-04-20T02:49:46.001Z",
  "createdAt": "2017-04-20T02:49:46.001Z",
  "image": null,
  "enum": null,
  "defaultValue": null,
  "precision": null,
  "max": null,
  "min": null,
  "desc": null,
  "capabilityMetaId": "1a5cd2cd-9b5f-4278-a621-aa83d5018b5b",
  "propertyTypeId": null
}

URL Parameters

参数 类型 必填 说明
formulaId string 是 公式原型id

Body Parameters

参数 类型 必填 说明
name string 是 名称
enum string 否 枚举类型数据
defaultValue string 否 默认值
precision integer 否 精度
max string 否 最大值
min string 否 最小值
desc string 否 描述说明
propertyTypeId integer 否 属性类型id

修改指定公式原型指定属性

修改指定公式原型的指定属性。

HTTP Request

PUT /v1/api/meta/formulas/:formulaId/properties/:id

Request

PUT   /v1/api/meta/formulas/1a5cd2cd-9b5f-4278-a621-aa83d5018b5b/properties/3
body  {
        "name": "修改公式属性"
      }

URL Parameters

参数 类型 必填 说明
formulaId string 是 公式原型id
id string 是 公式原型属性id

Body Parameters

参数 类型 必填 说明
name string 否 名称
enum string 否 枚举类型数据
defaultValue string 否 默认值
precision integer 否 精度
max string 否 最大值
min string 否 最小值
desc string 否 描述说明
propertyTypeId integer 否 属性类型id

删除指定公式原型指定属性

删除指定公式原型的指定属性。

HTTP Request

DELETE /v1/api/meta/formulas/:formulaId/properties/:id

Request

DELETE /v1/api/meta/formulas/1a5cd2cd-9b5f-4278-a621-aa83d5018b5b/properties/3

URL Parameters

参数 类型 必填 说明
formulaId string 是 公式原型id
id string 是 公式原型属性id

Things

Thing 在 iOTA 在中, 是对通过各种传感设备进行"监控"的物体的抽象。

iOTA 中的Thing,包含:

iOTA 中,定义完Thing后,可以基于原型设备,对Thing进行监控设备的部署。

Thing

查询所有

查询所有Things。

HTTP Request

GET /v1/api/things

Request

GET /v1/api/things

Response

{
  "total": 1,
  "things": [
    {
      "id": "5a7af032-2f62-41cb-a9e3-01ed94fe6285",
      "name": "云南澜沧江大桥",
      "desc": "为云南澜沧江大桥建立在线监测系统,涵盖桥梁9个监测内容,全面掌握桥梁健康状况。",
      "image": null,
      "lng": null,
      "lat": null,
      "createBy": "72ec5c70-043e-4242-851f-756bbca0c38e",
      "belongTo": "72ec5c70-043e-4242-851f-756bbca0c38e",
      "investor": "72ec5c70-043e-4242-851f-756bbca0c38e",
      "public": false,
      "createdAt": "2017-04-19T08:51:11.691Z",
      "updatedAt": "2017-04-19T08:51:11.691Z",
      "enable": false,
      "release": false,
      "dimensions": [
        {
          "id": "7aeb9b07-6e28-4b4d-8e15-b82569c8c241",
          "name": "环境",
          "desc": "环境维度",
          "createdAt": "2017-04-19T08:56:00.741Z",
          "updatedAt": "2017-04-19T08:56:25.260Z",
          "thingId": "5a7af032-2f62-41cb-a9e3-01ed94fe6285"
        },
        {
          "id": "df573d2c-6285-4c41-968f-b32d4db2ae76",
          "name": "变形",
          "desc": "变形维度",
          "createdAt": "2017-04-19T08:56:07.539Z",
          "updatedAt": "2017-04-19T08:56:31.339Z",
          "thingId": "5a7af032-2f62-41cb-a9e3-01ed94fe6285"
        }
      ]
    }
  ]
}

Query Parameters

参数 类型 必填 说明
name string 否 名称,模糊查询

查询指定

通过id查询指定的Thing。

HTTP Request

GET /v1/api/things/:id

GET /v1/api/things/5a7af032-2f62-41cb-a9e3-01ed94fe6285

Response

{
    "id": "5a7af032-2f62-41cb-a9e3-01ed94fe6285",
    "name": "云南澜沧江大桥",
    "desc": "为云南澜沧江大桥建立在线监测系统,涵盖桥梁9个监测内容,全面掌握桥梁健康状况。",
    "image": null,
    "lng": null,
    "lat": null,
    "createBy": "72ec5c70-043e-4242-851f-756bbca0c38e",
    "belongTo": "72ec5c70-043e-4242-851f-756bbca0c38e",
    "investor": "72ec5c70-043e-4242-851f-756bbca0c38e",
    "public": false,
    "createdAt": "2017-04-19T08:51:11.691Z",
    "updatedAt": "2017-04-19T08:51:11.691Z",
    "enable": false,
    "release": false,
    "dimensions": [
    {
        "id": "7aeb9b07-6e28-4b4d-8e15-b82569c8c241",
        "name": "环境",
        "desc": "环境维度",
        "createdAt": "2017-04-19T08:56:00.741Z",
        "updatedAt": "2017-04-19T08:56:25.260Z",
        "thingId": "5a7af032-2f62-41cb-a9e3-01ed94fe6285"
    },
    {
        "id": "df573d2c-6285-4c41-968f-b32d4db2ae76",
        "name": "变形",
        "desc": "变形维度",
        "createdAt": "2017-04-19T08:56:07.539Z",
        "updatedAt": "2017-04-19T08:56:31.339Z",
        "thingId": "5a7af032-2f62-41cb-a9e3-01ed94fe6285"
    }
    ]
}

URL Parameters

参数 类型 必填 说明
id string 是 Thing id

创建

创建Thing及其维度。

HTTP Request

POST /v1/api/things

Request

POST /v1/api/things
body  {
    "name": "云南澜沧江大桥",
    "desc": "",
    "image": null,
    "lng": 100.365688,
    "lat": 24.747521,
    "enable": false,
    "release": false,
    "dimensions": [{
        "name": "环境",
        "desc": "环境维度"
    }, {
        "name": "变形",
        "desc": "变形维度"
    }]
}

Response

{
    "id": "a15c8bcb-9837-48c0-8925-a6e0424bde0c",
    "name": "云南澜沧江大桥",
    "desc": "",
    "image": null,
    "lng": 100.365688,
    "lat": 24.747521,
    "createBy": "1e169a6a-baf9-465d-95ed-4baa70881bf0",
    "belongTo": "1e169a6a-baf9-465d-95ed-4baa70881bf0",
    "investor": "1e169a6a-baf9-465d-95ed-4baa70881bf0",
    "public": false,
    "createdAt": "2017-04-19T09:15:56.046Z",
    "updatedAt": "2017-04-19T09:15:56.046Z",
    "enable": false,
    "release": false,
    "dimensions": [{
        "id": "f4cf2867-0570-470c-9d75-5f31a1bdfdaa",
        "name": "环境",
        "desc": "环境维度",
        "createdAt": "2017-04-19T09:15:56.052Z",
        "updatedAt": "2017-04-19T09:15:56.056Z",
        "thingId": "a15c8bcb-9837-48c0-8925-a6e0424bde0c"
    }, {
        "id": "92372623-1837-4ab0-877d-65bd5519c080",
        "name": "变形",
        "desc": "变形维度",
        "createdAt": "2017-04-19T09:15:56.073Z",
        "updatedAt": "2017-04-19T09:15:56.076Z",
        "thingId": "a15c8bcb-9837-48c0-8925-a6e0424bde0c"
    }]
}

Body Parameters

参数 类型 必填 说明
name string 是 名称
desc string 否 描述
image string 否 示意图(上传后的uri)
lng string 否 经度
lat string 否 纬度
enable bool 否 是否启用
release bool 否 是否发布
dimensions array of object 否 维度信息
name string 是 维度名称
desc string 否 维度描述

修改基本信息

修改Thing的名称、描述、示意图及位置。

HTTP Request

PUT /v1/api/things/:id

Request

PUT /v1/api/things/5a7af032-2f62-41cb-a9e3-01ed94fe6285
body {
    "lng": 100.365688,
    "lat": 24.747521,
    "name": "云南澜沧江大桥",
    "desc": "",
    "image": null,
    "enable": false,
    "release": false,
}

URL Parameters

参数 类型 必填 说明
id string 是 Thing id

Body Parameters

参数 类型 必填 说明
name string 是 名称
desc string 否 描述
image string 否 示意图(上传后的uri)
lng string 否 经度
lat string 否 纬度
enable bool 否 是否启用
release bool 否 是否发布

删除

删除指定的Thing。

Request

DELETE /v1/api/things/5a7af032-2f62-41cb-a9e3-01ed94fe6285

HTTP Request

DELETE /v1/api/things/:id

URL Parameters

参数 类型 必填 说明
id string 是 Thing id

维度管理

查询所有维度

查询Thing的所有维度。

HTTP Request

GET /v1/api/things/:thingId/dimensions

Request

GET /v1/api/things/5a7af032-2f62-41cb-a9e3-01ed94fe6285/dimensions

Response

{
  "total": 2,
  "dimensions": [
    {
        "id": "7aeb9b07-6e28-4b4d-8e15-b82569c8c241",
        "name": "环境",
        "desc": "环境维度",
        "createdAt": "2017-04-19T08:56:00.741Z",
        "updatedAt": "2017-04-19T08:56:25.260Z",
        "thingId": "5a7af032-2f62-41cb-a9e3-01ed94fe6285"
    },
    {
        "id": "df573d2c-6285-4c41-968f-b32d4db2ae76",
        "name": "变形",
        "desc": "变形维度",
        "createdAt": "2017-04-19T08:56:07.539Z",
        "updatedAt": "2017-04-19T08:56:31.339Z",
        "thingId": "5a7af032-2f62-41cb-a9e3-01ed94fe6285"
    }
  ]
}

Query Parameters

参数 类型 必填 说明
thingId string 是 Thing ID

查询指定维度

查询Thing的所有维度。

HTTP Request

GET /v1/api/things/:thingId/dimensions/:id

Query Parameters

参数 类型 必填 说明
thingId string 是 Thing ID
id string 是 维度 ID

Request

GET /v1/api/things/5a7af032-2f62-41cb-a9e3-01ed94fe6285/dimensions/7aeb9b07-6e28-4b4d-8e15-b82569c8c241

Response

{
    "id": "7aeb9b07-6e28-4b4d-8e15-b82569c8c241",
    "name": "环境",
    "desc": "环境维度",
    "createdAt": "2017-04-19T08:56:00.741Z",
    "updatedAt": "2017-04-19T08:56:25.260Z",
    "thingId": "5a7af032-2f62-41cb-a9e3-01ed94fe6285"
}

创建维度

创建Thing的新维度。

HTTP Request

POST /v1/api/things/:thingId/dimensions

Request

POST  /v1/api/things/5a7af032-2f62-41cb-a9e3-01ed94fe6285/dimensions

body {
    "name": "受力",
    "desc": "受力维度",
}

Response

{
    "id": "7cf57764-2461-48e2-a4dd-081d81a0ecf8",
    "name": "受力",
    "desc": "受力维度",
    "thingId": "5a7af032-2f62-41cb-a9e3-01ed94fe6285",
    "updatedAt": "2017-04-19T09:42:45.019Z",
    "createdAt": "2017-04-19T09:42:45.019Z"
}

URL Parameters

参数 类型 必填 说明
thingId string 是 Thing ID
id string 是 维度 ID

Body Parameters

参数 类型 必填 说明
name string 是 名称

修改维度

修改Thing的某一维度的名称、描述。

HTTP Request

PUT /v1/api/things/:thingId/dimensions/:id

Request

PUT /v1/api/things/5a7af032-2f62-41cb-a9e3-01ed94fe6285/dimensions/f4cf2867-0570-470c-9d75-5f31a1bdfdaa
body {
    "name": "受力",
    "desc": "受力维度",
}

URL Parameters

参数 类型 必填 说明
thingId string 是 Thing ID
id string 是 维度 ID

Body Parameters

参数 类型 必填 说明
name string 是 名称
desc string 否 描述

删除维度

删除指定的Thing。

HTTP Request

DELETE /v1/api/things/:thingId/dimensions/:id

Request

DELETE /v1/api/things/5a7af032-2f62-41cb-a9e3-01ed94fe6285/dimensions/f4cf2867-0570-470c-9d75-5f31a1bdfdaa

URL Parameters

参数 类型 必填 说明
thingId string 是 Thing ID
id string 是 维度 ID

部署

iOTA 中,通过可视化拖拽方式实现 Thing 的传感器部署。

应用如果采用其他部署方式,需将部署信息转为此接口要求的结构。

查询Thing中的Scheme

查询Thing中的Scheme

HTTP Request

GET /v1/api/things/:thingId/deploys/schemes

Request

GET /v1/api/things/a15c8bcb-9837-48c0-8925-a6e0424bde0c/deploys/schemes

Response

{
    "total": 1,
    "schemes": [{
        "id": "a2e30724-ffe2-45d5-9bec-221d631366c3",
        "name": "",
        "mode": "L",
        "interval": null,
        "unit": null,
        "repeats": null,
        "beginTime": "2017-09-22T07:57:18.000Z",
        "endTime": null,
        "notifyMode": 2,
        "capabilityNotifyMode": 1,
        "createdAt": "2017-09-22T07:57:18.797Z",
        "updatedAt": "2017-09-22T07:57:41.684Z",
        "dimensionId": "a2e30724-ffe2-45d5-9bec-221d631366c3",
        "dimension": {
            "id": "a2e30724-ffe2-45d5-9bec-221d631366c3",
            "name": "test-D2",
            "desc": "",
            "createdAt": "2017-09-22T07:56:51.774Z",
            "updatedAt": "2017-09-22T07:56:51.778Z",
            "thingId": "87aff2cf-b57a-4e43-bc57-283441ef9c7c"
        }
    }]
}

URL Parameters

参数 类型 必填 说明
thingId string 是 Thing ID

查询用户所有的Scheme

查询用户所有的Scheme

HTTP Request

GET /v1/api/things/deploys/schemes/:id?

Request

GET /v1/api/things/deploys/schemes

Response HTTPS 同上

URL Parameters

参数 类型 必填 说明
id string 否 Scheme ID

Query Parameters

参数 类型 必填 说明
thingIds string 否 Thing ID, “,"分割

查询Thing部署中所使用到的设备原型

查询所有在指定Thing中所使用的设备原型

HTTP Request

GET /v1/api/meta/things/:thingId/devices

Request

GET /v1/api/meta/things/a15c8bcb-9837-48c0-8925-a6e0424bde0c/devices

Response

{
  "total": 2,
  "devices": [
    {
      "id": "b1ac10e0-2c67-4463-b822-d9bd02bd8d49",
      "name": "测斜仪",
      "createBy": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
      "belongTo": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
      "investor": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
      "public": false,
      "image": "",
      "model": "FS",
      "createdAt": "2017-04-14T11:54:05.223Z",
      "updatedAt": "2017-04-14T11:54:05.223Z",
      "properties": [],
      "capabilities": [
        {
          "id": "b5f799ea-a266-48bd-82e9-844aed077738",
          "name": "侧斜",
          "image": "",
          "desc": "",
          "deviceMetaId": "b1ac10e0-2c67-4463-b822-d9bd02bd8d49",
          "capabilityCategoryId": 3,
          "protocolMetaId": "cc58ebc2-81ec-4275-a665-c9a2c9bda868",
          "properties": [],
          "capabilityCategory": {
            "id": 3,
            "name": "采集",
            "image": null,
            "desc": null
          },
          "protocol": {
            "id": "cc58ebc2-81ec-4275-a665-c9a2c9bda868",
            "name": "测斜1506",
            "image": null,
            "desc": "",
            "version": "1.1",
            "enableTime": "2017-04-14",
            "belongTo": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
            "investor": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
            "public": false,
            "createBy": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
            "impl": "Lua",
            "resource": null,
            "marshall": null,
            "unmarshall": null
          },
          "interfaces": [
            {
              "id": "a988b877-4734-4a7c-b414-a90c18ca29f7",
              "capabilityMetaId": "b5f799ea-a266-48bd-82e9-844aed077738",
              "deviceMetaInterfaceId": "2eb61402-905c-4e7d-acce-b2776c602257"
            }
          ]
        }
      ],
      "interfaces": [
        {
          "id": "2eb61402-905c-4e7d-acce-b2776c602257",
          "directType": 1,
          "deviceMetaId": "b1ac10e0-2c67-4463-b822-d9bd02bd8d49",
          "interfaceMetaId": "9a114538-9137-47cf-b0e7-5cef0a101dd0",
          "interfaceMeta": {
            "id": "9a114538-9137-47cf-b0e7-5cef0a101dd0",
            "name": "RS485",
            "createBy": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
            "belongTo": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
            "investor": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
            "public": false,
            "image": null,
            "desc": "",
            "interfaceTypeId": 1,
            "interfaceType": {
              "id": 1,
              "name": "Serial",
              "key": "serial",
              "desc": "串口"
            },
            "properties": [
              {
                "id": 2,
                "name": "mno",
                "enum": "",
                "defaultValue": "1336",
                "precision": 0,
                "max": "65535",
                "min": "1024",
                "desc": "",
                "propertyTypeId": 1,
                "interfaceMetaId": "9a114538-9137-47cf-b0e7-5cef0a101dd0"
              }
            ]
          }
        }
      ]
    },
    {
      "id": "de07a19a-eb81-48b4-9078-8646684e4962",
      "name": "DTU",
      "createBy": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
      "belongTo": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
      "investor": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
      "public": false,
      "image": "",
      "model": "CM",
      "createdAt": "2017-04-14T11:53:08.306Z",
      "updatedAt": "2017-04-14T11:53:08.306Z",
      "properties": [],
      "capabilities": [
        {
          "id": "81e499ba-834b-492c-816c-2cc8cc55cc87",
          "name": "接入IOTA",
          "image": "",
          "desc": "",
          "deviceMetaId": "de07a19a-eb81-48b4-9078-8646684e4962",
          "capabilityCategoryId": 2,
          "protocolMetaId": "cc58ebc2-81ec-4275-a665-c9a2c9bda868",
          "properties": [],
          "capabilityCategory": {
            "id": 2,
            "name": "控制",
            "image": null,
            "desc": null
          },
          "protocol": {
            "id": "cc58ebc2-81ec-4275-a665-c9a2c9bda868",
            "name": "测斜1506",
            "image": null,
            "desc": "",
            "version": "1.1",
            "enableTime": "2017-04-14",
            "belongTo": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
            "investor": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
            "public": false,
            "createBy": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
            "impl": "Lua",
            "resource": null,
            "marshall": null,
            "unmarshall": null
          },
          "interfaces": [
            {
              "id": "a2efa2a9-5771-49a6-b71b-9a5ca186a35c",
              "capabilityMetaId": "81e499ba-834b-492c-816c-2cc8cc55cc87",
              "deviceMetaInterfaceId": "dd34330c-3f86-4cd5-b772-918b086ca0ff"
            }
          ]
        }
      ],
      "interfaces": [
        {
          "id": "dd34330c-3f86-4cd5-b772-918b086ca0ff",
          "directType": 1,
          "deviceMetaId": "de07a19a-eb81-48b4-9078-8646684e4962",
          "interfaceMetaId": "b14d3424-59cb-4fdb-ba9c-a8a3c1846a0a",
          "interfaceMeta": {
            "id": "b14d3424-59cb-4fdb-ba9c-a8a3c1846a0a",
            "name": "SOIP",
            "createBy": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
            "belongTo": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
            "investor": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
            "public": false,
            "image": null,
            "desc": "",
            "interfaceTypeId": 4,
            "interfaceType": {
              "id": 4,
              "name": "SoIP",
              "key": "soip",
              "desc": "串口 Over IP"
            },
            "properties": [
              {
                "id": 1,
                "name": "id",
                "enum": "",
                "defaultValue": "2233",
                "precision": 0,
                "max": "65535",
                "min": "1024",
                "desc": "",
                "propertyTypeId": 1,
                "interfaceMetaId": "b14d3424-59cb-4fdb-ba9c-a8a3c1846a0a"
              }
            ]
          }
        },
        {
          "id": "a8f105d4-7f7d-4fdc-be8f-9c876594aecf",
          "directType": 2,
          "deviceMetaId": "de07a19a-eb81-48b4-9078-8646684e4962",
          "interfaceMetaId": "9a114538-9137-47cf-b0e7-5cef0a101dd0",
          "interfaceMeta": {
            "id": "9a114538-9137-47cf-b0e7-5cef0a101dd0",
            "name": "RS485",
            "createBy": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
            "belongTo": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
            "investor": "5e008cb0-72a2-4179-87d2-5d9a6bde041a",
            "public": false,
            "image": null,
            "desc": "",
            "interfaceTypeId": 1,
            "interfaceType": {
              "id": 1,
              "name": "Serial",
              "key": "serial",
              "desc": "串口"
            },
            "properties": [
              {
                "id": 2,
                "name": "mno",
                "enum": "",
                "defaultValue": "1336",
                "precision": 0,
                "max": "65535",
                "min": "1024",
                "desc": "",
                "propertyTypeId": 1,
                "interfaceMetaId": "9a114538-9137-47cf-b0e7-5cef0a101dd0"
              }
            ]
          }
        }
      ]
    }
  ]
}

URL Parameters

参数 类型 必填 说明
thingId string 是 Thing ID

查询用户所有使用的设备原型

查询用户所有使用的设备原型

HTTP Request

GET /v1/api/meta/things/devices/:id?

Request

GET /v1/api/meta/things/devices

Response HTTPS 同上

URL Parameters

参数 类型 必填 说明
id string 否 设备原型ID

Query Parameters

参数 类型 必填 说明
thingIds string 否 Thing ID, ”,“分割

查询Thing部署中的设备实例

查询Thing部署中的设备实例

HTTP Request

GET /v1/api/things/:thingId/deploys/devices

Request

GET /v1/api/things/3934ae8e-71da-48fd-b460-5f1ed3d6f9d4/devices

Response

{
    "total": 3,
    "devices": [{
        "id": "15692604-7bd5-411c-8ce2-8ffe57408241",
        "name": "采集仪",
        "properties": "{}",
        "createdAt": "2017-08-04T06:40:31.713Z",
        "updatedAt": "2017-08-04T06:40:31.713Z",
        "thingId": "3934ae8e-71da-48fd-b460-5f1ed3d6f9d4",
        "deviceMetaId": "133425b7-4eec-41f1-9ca2-af83fb132405"
    }, {
        "id": "9c971303-443a-4752-b9fb-413e7cd43e03",
        "name": "测斜仪11",
        "properties": "{}",
        "createdAt": "2017-08-04T06:40:31.725Z",
        "updatedAt": "2017-08-04T06:40:31.725Z",
        "thingId": "3934ae8e-71da-48fd-b460-5f1ed3d6f9d4",
        "deviceMetaId": "d09a4d3e-25ed-400e-b61a-83acba8b226a"
    }, {
        "id": "fe768e23-a21e-4d08-81cb-4134c80421fe",
        "name": "Lora噪声仪",
        "properties": "{}",
        "createdAt": "2017-08-04T06:40:31.745Z",
        "updatedAt": "2017-08-04T06:40:31.745Z",
        "thingId": "3934ae8e-71da-48fd-b460-5f1ed3d6f9d4",
        "deviceMetaId": "4d3b2d84-077a-4714-b300-0be83122503a"
    }]
}

查询指定部署信息

查询指定Thing的部署信息。

HTTP Request

GET /v1/api/things/a15c8bcb-9837-48c0-8925-a6e0424bde0c/deploys

Request

GET /v1/api/things/a15c8bcb-9837-48c0-8925-a6e0424bde0c/deploys

Response

{
    "settings": {
        "padding": 40,
        "width": 5120,
        "height": 3072,
        "scale": 10,
        "grid": {
            "step": 20
        },
        "scrollTop": 1086,
        "scrollLeft": 1819
    },
    "instances": {
        "7526b571-2f37-4647-a46c-723eca475440": {
            "instance": {
                "deviceMetaId": "59f9c050-181f-4776-9f6d-f3c887a32c67",
                "visibility": "private",
                "name": "测斜仪",
                "interfaces": {
                    "999fd6b7-072b-46f6-b01a-cae8543091a1": {
                        "capabilities": {
                            "9c14fbc7-6891-44b6-9f79-a588e8634871": {
                                "properties": null,
                                "deviceInterfaceId": "7526b571-2f37-4647-a46c-723eca475440.999fd6b7-072b-46f6-b01a-cae8543091a1",
                                "dimension": {
                                    "dimensionId": "92372623-1837-4ab0-877d-65bd5519c080",
                                    "id": "92372623-1837-4ab0-877d-65bd5519c080",
                                    "repeats": 11,
                                    "qos": 1,
                                    "interval": "1"
                                }
                            }
                        },
                        "id": "7526b571-2f37-4647-a46c-723eca475440.999fd6b7-072b-46f6-b01a-cae8543091a1",
                        "deviceInterfaceMetaId": "999fd6b7-072b-46f6-b01a-cae8543091a1",
                        "properties": {
                            "mno": "1361 "
                        }
                    }
                },
                "properties": {
                    "F1": " "
                }
            },
            "type": "s.d",
            "svg": {
                "isSelected": false,
                "compX": 0,
                "compY": 0,
                "scaleX": 1,
                "scaleY": 1,
                "x": 955,
                "y": 362,
                "rotateAng": 0
            },
            "name": "测斜仪"
        },
        "58dad687-0ca6-4e63-b644-5316483efc6e": {
            "instance": {
                "deviceMetaId": "daf40346-d379-4c3c-a1e2-5802eb0be5b7",
                "visibility": "private",
                "name": "DTU1",
                "interfaces": {
                    "c90670e3-8d68-44c2-aaee-35946dd1ce78": {
                        "capabilities": {
                            "d2fc164a-0d85-4885-8d8a-cce44da5c99e": {
                                "properties": null,
                                "deviceInterfaceId": "58dad687-0ca6-4e63-b644-5316483efc6e.c90670e3-8d68-44c2-aaee-35946dd1ce78",
                                "dimension": {
                                    "dimensionId": null,
                                    "id": null,
                                    "repeats": null,
                                    "qos": null,
                                    "interval": null
                                }
                            }
                        },
                        "id": "58dad687-0ca6-4e63-b644-5316483efc6e.c90670e3-8d68-44c2-aaee-35946dd1ce78",
                        "deviceInterfaceMetaId": "c90670e3-8d68-44c2-aaee-35946dd1ce78",
                        "properties": {
                            "id": "20170418"
                        }
                    },
                    "a0357abd-6960-4749-adb2-28e40bd7d918": {
                        "capabilities": {},
                        "id": "58dad687-0ca6-4e63-b644-5316483efc6e.a0357abd-6960-4749-adb2-28e40bd7d918",
                        "deviceInterfaceMetaId": "a0357abd-6960-4749-adb2-28e40bd7d918",
                        "properties": {
                            "mno": " "
                        }
                    }
                },
                "properties": {}
            },
            "type": "s.d",
            "svg": {
                "isSelected": false,
                "compX": 0,
                "compY": 0,
                "scaleX": 1,
                "scaleY": 1,
                "x": 492,
                "y": 212,
                "rotateAng": 0
            },
            "name": "DTU1"
        },
        "8f892587-ea36-44b8-8f64-1b9331e48479": {
            "type": "s.l",
            "instance": {
                "curve": {
                    "m": {
                        "x": 646,
                        "y": 402.5
                    },
                    "e": {
                        "x": 567,
                        "y": 274.5
                    }
                },
                "from": {
                    "directType": 1,
                    "iType": 1,
                    "ownerShapeType": "s.d",
                    "ownerSvgId": "b8080640-5541-4c4c-9b33-55d7e8f20203",
                    "deviceMetaId": "59f9c050-181f-4776-9f6d-f3c887a32c67",
                    "interfaceMetaId": "924d853a-b705-40e2-a54e-55bdd6a2f1bb",
                    "deviceMetaInterfaceId": "999fd6b7-072b-46f6-b01a-cae8543091a1",
                    "shapeType": "s.a",
                    "aType": "s.d.i",
                    "svgId": "b8080640-5541-4c4c-9b33-55d7e8f20203.999fd6b7-072b-46f6-b01a-cae8543091a1"
                },
                "to": {
                    "directType": 2,
                    "iType": 1,
                    "ownerShapeType": "s.d",
                    "ownerSvgId": "58dad687-0ca6-4e63-b644-5316483efc6e",
                    "deviceMetaId": "daf40346-d379-4c3c-a1e2-5802eb0be5b7",
                    "interfaceMetaId": "924d853a-b705-40e2-a54e-55bdd6a2f1bb",
                    "deviceMetaInterfaceId": "a0357abd-6960-4749-adb2-28e40bd7d918",
                    "shapeType": "s.a",
                    "aType": "s.d.i",
                    "svgId": "58dad687-0ca6-4e63-b644-5316483efc6e.a0357abd-6960-4749-adb2-28e40bd7d918"
                }
            }
        },
        "1d34c9f3-e156-4e81-a551-29ac9e0721c2": {
            "instance": {},
            "type": "s.iota",
            "svg": {
                "isSelected": false,
                "compX": 0,
                "compY": 0,
                "scaleX": 1,
                "scaleY": 1,
                "x": 1215,
                "y": 169,
                "rotateAng": 0
            }
        },
        "e1e2bae0-96a6-4312-a8f3-96c23828bcdf": {
            "type": "s.l",
            "instance": {
                "curve": {
                    "m": {
                        "x": 567,
                        "y": 219.5
                    },
                    "e": {
                        "x": 1295,
                        "y": 204
                    }
                },
                "from": {
                    "directType": 1,
                    "iType": 4,
                    "ownerShapeType": "s.d",
                    "ownerSvgId": "58dad687-0ca6-4e63-b644-5316483efc6e",
                    "deviceMetaId": "daf40346-d379-4c3c-a1e2-5802eb0be5b7",
                    "interfaceMetaId": "cf3a33ff-16b8-44ce-b57b-45f19557d4fc",
                    "deviceMetaInterfaceId": "c90670e3-8d68-44c2-aaee-35946dd1ce78",
                    "shapeType": "s.a",
                    "aType": "s.d.i",
                    "svgId": "58dad687-0ca6-4e63-b644-5316483efc6e.c90670e3-8d68-44c2-aaee-35946dd1ce78"
                },
                "to": {
                    "shapeType": "s.a",
                    "ownerShapeType": "s.d",
                    "ownerSvgId": "1d34c9f3-e156-4e81-a551-29ac9e0721c2"
                }
            }
        },
        "44da4604-7781-46c7-b1c9-3774d447b3c6": {
            "type": "s.l",
            "instance": {
                "curve": {
                    "m": {
                        "x": 966,
                        "y": 217.5
                    },
                    "e": {
                        "x": 1295,
                        "y": 204
                    }
                },
                "from": {
                    "directType": 1,
                    "iType": 4,
                    "ownerShapeType": "s.d",
                    "ownerSvgId": "379967aa-1ec8-4890-9dea-d0689a9165b7",
                    "deviceMetaId": "daf40346-d379-4c3c-a1e2-5802eb0be5b7",
                    "interfaceMetaId": "cf3a33ff-16b8-44ce-b57b-45f19557d4fc",
                    "deviceMetaInterfaceId": "c90670e3-8d68-44c2-aaee-35946dd1ce78",
                    "shapeType": "s.a",
                    "aType": "s.d.i",
                    "svgId": "379967aa-1ec8-4890-9dea-d0689a9165b7.c90670e3-8d68-44c2-aaee-35946dd1ce78"
                },
                "to": {
                    "shapeType": "s.a",
                    "ownerShapeType": "s.d",
                    "ownerSvgId": "1d34c9f3-e156-4e81-a551-29ac9e0721c2"
                }
            }
        },
        "b8080640-5541-4c4c-9b33-55d7e8f20203": {
            "instance": {
                "deviceMetaId": "59f9c050-181f-4776-9f6d-f3c887a32c67",
                "visibility": "private",
                "name": "测斜仪",
                "interfaces": {
                    "999fd6b7-072b-46f6-b01a-cae8543091a1": {
                        "capabilities": {
                            "9c14fbc7-6891-44b6-9f79-a588e8634871": {
                                "properties": null,
                                "deviceInterfaceId": "b8080640-5541-4c4c-9b33-55d7e8f20203.999fd6b7-072b-46f6-b01a-cae8543091a1",
                                "dimension": {
                                    "dimensionId": null,
                                    "id": null,
                                    "repeats": null,
                                    "qos": null,
                                    "interval": null
                                }
                            }
                        },
                        "id": "b8080640-5541-4c4c-9b33-55d7e8f20203.999fd6b7-072b-46f6-b01a-cae8543091a1",
                        "deviceInterfaceMetaId": "999fd6b7-072b-46f6-b01a-cae8543091a1",
                        "properties": {
                            "mno": " 1360"
                        }
                    }
                },
                "properties": {
                    "F1": " "
                }
            },
            "type": "s.d",
            "svg": {
                "isSelected": false,
                "compX": 0,
                "compY": 0,
                "scaleX": 1,
                "scaleY": 1,
                "x": 571,
                "y": 395,
                "rotateAng": 0
            },
            "name": "测斜仪"
        },
        "379967aa-1ec8-4890-9dea-d0689a9165b7": {
            "instance": {
                "deviceMetaId": "daf40346-d379-4c3c-a1e2-5802eb0be5b7",
                "visibility": "private",
                "name": "DTU2",
                "interfaces": {
                    "c90670e3-8d68-44c2-aaee-35946dd1ce78": {
                        "capabilities": {
                            "d2fc164a-0d85-4885-8d8a-cce44da5c99e": {
                                "properties": null,
                                "deviceInterfaceId": "379967aa-1ec8-4890-9dea-d0689a9165b7.c90670e3-8d68-44c2-aaee-35946dd1ce78",
                                "dimension": {
                                    "dimensionId": null,
                                    "id": null,
                                    "repeats": null,
                                    "qos": null,
                                    "interval": null
                                }
                            }
                        },
                        "id": "379967aa-1ec8-4890-9dea-d0689a9165b7.c90670e3-8d68-44c2-aaee-35946dd1ce78",
                        "deviceInterfaceMetaId": "c90670e3-8d68-44c2-aaee-35946dd1ce78",
                        "properties": {
                            "id": "20170419"
                        }
                    },
                    "a0357abd-6960-4749-adb2-28e40bd7d918": {
                        "capabilities": {},
                        "id": "379967aa-1ec8-4890-9dea-d0689a9165b7.a0357abd-6960-4749-adb2-28e40bd7d918",
                        "deviceInterfaceMetaId": "a0357abd-6960-4749-adb2-28e40bd7d918",
                        "properties": {
                            "mno": " "
                        }
                    }
                },
                "properties": {}
            },
            "type": "s.d",
            "svg": {
                "isSelected": false,
                "compX": 0,
                "compY": 0,
                "scaleX": 1,
                "scaleY": 1,
                "x": 891,
                "y": 210,
                "rotateAng": 0
            },
            "name": "DTU2"
        },
        "1d7c4f07-38ba-4fb2-81ef-b8c5c4e82039": {
            "type": "s.l",
            "instance": {
                "curve": {
                    "m": {
                        "x": 1030,
                        "y": 369.5
                    },
                    "e": {
                        "x": 966,
                        "y": 272.5
                    }
                },
                "from": {
                    "directType": 1,
                    "iType": 1,
                    "ownerShapeType": "s.d",
                    "ownerSvgId": "7526b571-2f37-4647-a46c-723eca475440",
                    "deviceMetaId": "59f9c050-181f-4776-9f6d-f3c887a32c67",
                    "interfaceMetaId": "924d853a-b705-40e2-a54e-55bdd6a2f1bb",
                    "deviceMetaInterfaceId": "999fd6b7-072b-46f6-b01a-cae8543091a1",
                    "shapeType": "s.a",
                    "aType": "s.d.i",
                    "svgId": "7526b571-2f37-4647-a46c-723eca475440.999fd6b7-072b-46f6-b01a-cae8543091a1"
                },
                "to": {
                    "directType": 2,
                    "iType": 1,
                    "ownerShapeType": "s.d",
                    "ownerSvgId": "379967aa-1ec8-4890-9dea-d0689a9165b7",
                    "deviceMetaId": "daf40346-d379-4c3c-a1e2-5802eb0be5b7",
                    "interfaceMetaId": "924d853a-b705-40e2-a54e-55bdd6a2f1bb",
                    "deviceMetaInterfaceId": "a0357abd-6960-4749-adb2-28e40bd7d918",
                    "shapeType": "s.a",
                    "aType": "s.d.i",
                    "svgId": "379967aa-1ec8-4890-9dea-d0689a9165b7.a0357abd-6960-4749-adb2-28e40bd7d918"
                }
            }
        }
    }
}

Response说明

字段 类型 说明
settings object 编辑器设置,见后续独立说明
instances object 部署设备实例集合
自动生产的uuid object 单一实例。部署时,由请求端为每个实例生成对象和唯一key;类型有:iOTA服务实例/设备/链路/Scheme,见后面的描述
自动生产的uuid object 同上,有多个

settings

字段 类型 必填 说明
grid object 否
step number 否 网格间隔步长,默认20px
padding number 否 编辑器外边距,默认40px
width number 否 编辑器宽度,默认5120px
height number 否 编辑器高度,默认3072px
scale number 否 编辑器缩放比例,默认1
scrollLeft number 否 编辑器横向滚动位置
scrollTop number 否 编辑器纵向滚动位置

每个实例的可视化属性,通过svg对象描述

svg对象

字段 类型 默认值 必填 说明
x number 0 否 实例在svg中的绝对x坐标
y number 0 否 实例在svg中的绝对x坐标
scaleX number 1 否 X轴缩放比例
scaleY number 1 否 Y轴缩放比例
rotateAng number 0 否 旋转角度
rotateMatrix object undefined 否 旋转、缩放叠加后的transform矩阵
compX number 0 否 被包装组件相对于包装组件的坐标x
compY number 0 否 被包装组件相对于包装组件的坐标y

iOTA服务实例

字段 类型 必填 说明
type string 是 必须是s.iota
svg object 否 在 iOTA 中用来表示可视化编辑中的位置、角度等编辑属性,见svg

设备实例

字段 类型 必填 说明
type string 是 必须是s.d
svg object 否 在 iOTA 中用来表示可视化编辑中的位置、角度等编辑属性,见svg
instance object 是 根据设备原型实例化的信息
name string 是 设备实例名称
deviceMetaId string 是 设备原型id,便于载入时查询
visibility string 是 设备原型对应该用户的可见性:public/private/shared,便于载入时查询
properties object 是 设备原型定义的属性,name:value形式
interfaces object 是 设备接口实例化信息集
deviceMetaIntefaceId object 是 单一设备接口实例化信息,必须使用原型中的接口id作为键值,避免冲突
properties object 是 对应接口原型定义的属性,name:value形式
capabilities object 是 接口支持的能力集
capabilityMetaId object 是 该接口上单一能力实例化信息,必须使用原型中的能力id作为键值,避免冲突
object 是 该接口上单一能力实例化信息,必须使用原型中的能力id作为键值,避免冲突
deviceInterfaceId string 是 能力所使用的设备接口id
protocolMetaId string 当原型处有定义?否:是 能力所使用的协议,这里的协议保留了动态性,可以覆盖在原型定义阶段的协议选择;同时可以不设置,以解决实际协议在父节点的情况
properties object 是 对应能力原型定义的属性,name:value形式
dimension object 是 能力在被关联维度调度时的参数,name:value形式

Scheme

Scheme定义了相应维度的调度策略。

字段 类型 必填 说明
type string 是 必须是e.d
instance object 是 根据设备原型实例化的信息
name string 是 设备实例名称
mode enum 是 模式
unit string 是 间隔时间单位
interval object 是 间隔
beginTime object 是 开始时间
endTime object 是 结束时间
notifyMode object 是 任务结束后的回调模式
capabilityNotifyMode object 是 能力完成后的回调模式

Link描述了接口与接口之间、接口与iOTA的物理连接关系,iOTA在利用某个能力时,通过Link来寻找设备的实际物理链路,从而决策具体的指令、协议等相关信息。

iOTA 中以 Anchor 来实例化呈现接口。

字段 类型 必填 说明
type string 是 必须是s.l
svg object 否 在 iOTA 中用来表示可视化编辑中的位置、角度等编辑属性,见svg
instance object 是 根据设备原型实例化的信息
from string 是 链路起点
svgId string 是 对应的Anchor的全局唯一id,iOTA中自动生成
shapType string 是 必须是s.a
ownerShapeType string 是 锚点归属物的类型,from 固定为 s.d
ownerSvgId string 是 锚点归属物的id
以下为扩展信息 是 from的归属物目前都是设备,扩展信息是统一的
deviceMetaId string 是 归属设备的原型id
deviceMetaIntefaceId string 是 对应的接口id
interfaceMetaId string 是 对应的接口原型id
directType integer 是 接口方向,from 固定为 1
iType integer 是 接口原型类型
aType string 是 Anchor类型,from 固定为 s.d.i
to string 是 链路终点
svgId string 是 对应的Anchor的全局唯一id,iOTA中自动生成
shapType string 是 必须是s.a
ownerShapeType string 是 锚点归属物的类型,s.d 或 s.iota
ownerSvgId string 是 锚点归属物的id
以下为扩展信息 是 当 ownerShapeType 为 s.d 有效
deviceMetaId string 是 归属设备的原型id
deviceMetaIntefaceId string 是 对应的接口id
interfaceMetaId string 是 对应的接口原型id
directType integer 是 接口方向,to 固定为 2
iType integer 是 接口原型类型
aType string 是 Anchor类型,当 ownerShapeType 为 s.d 有效, 固定为 s.d.i
curve object 是 曲线可视化信息
m object 是 曲线起点
x number 是 x坐标
y number 是 y坐标
e object 是 曲线终点
x number 是 x坐标
y number 是 y坐标

部署/更新部署

对指定的Thing进行设备部署或更新。

请求 JSON 参考查询接口。

HTTP Request

POST /v1/api/things/a15c8bcb-9837-48c0-8925-a6e0424bde0c/deploys

Request

POST /v1/api/things/a15c8bcb-9837-48c0-8925-a6e0424bde0c/deploys

Response

{
    "settings": {
        "padding": 40,
        "width": 5120,
        "height": 3072,
        "scale": 10,
        "grid": {
            "step": 20
        },
        "scrollTop": 1086,
        "scrollLeft": 1819
    },
    "instances": {
        "7526b571-2f37-4647-a46c-723eca475440": {
            "instance": {
                "deviceMetaId": "59f9c050-181f-4776-9f6d-f3c887a32c67",
                "visibility": "private",
                "name": "测斜仪",
                "interfaces": {
                    "999fd6b7-072b-46f6-b01a-cae8543091a1": {
                        "capabilities": {
                            "9c14fbc7-6891-44b6-9f79-a588e8634871": {
                                "properties": null,
                                "deviceInterfaceId": "7526b571-2f37-4647-a46c-723eca475440.999fd6b7-072b-46f6-b01a-cae8543091a1",
                                "dimension": {
                                    "dimensionId": "92372623-1837-4ab0-877d-65bd5519c080",
                                    "id": "92372623-1837-4ab0-877d-65bd5519c080",
                                    "repeats": 11,
                                    "qos": 1,
                                    "interval": "1"
                                }
                            }
                        },
                        "id": "7526b571-2f37-4647-a46c-723eca475440.999fd6b7-072b-46f6-b01a-cae8543091a1",
                        "deviceInterfaceMetaId": "999fd6b7-072b-46f6-b01a-cae8543091a1",
                        "properties": {
                            "mno": "1361 "
                        }
                    }
                },
                "properties": {
                    "F1": " "
                }
            },
            "type": "s.d",
            "svg": {
                "isSelected": false,
                "compX": 0,
                "compY": 0,
                "scaleX": 1,
                "scaleY": 1,
                "x": 955,
                "y": 362,
                "rotateAng": 0
            },
            "name": "测斜仪"
        },
        "58dad687-0ca6-4e63-b644-5316483efc6e": {
            "instance": {
                "deviceMetaId": "daf40346-d379-4c3c-a1e2-5802eb0be5b7",
                "visibility": "private",
                "name": "DTU1",
                "interfaces": {
                    "c90670e3-8d68-44c2-aaee-35946dd1ce78": {
                        "capabilities": {
                            "d2fc164a-0d85-4885-8d8a-cce44da5c99e": {
                                "properties": null,
                                "deviceInterfaceId": "58dad687-0ca6-4e63-b644-5316483efc6e.c90670e3-8d68-44c2-aaee-35946dd1ce78",
                                "dimension": {
                                    "dimensionId": null,
                                    "id": null,
                                    "repeats": null,
                                    "qos": null,
                                    "interval": null
                                }
                            }
                        },
                        "id": "58dad687-0ca6-4e63-b644-5316483efc6e.c90670e3-8d68-44c2-aaee-35946dd1ce78",
                        "deviceInterfaceMetaId": "c90670e3-8d68-44c2-aaee-35946dd1ce78",
                        "properties": {
                            "id": "20170418"
                        }
                    },
                    "a0357abd-6960-4749-adb2-28e40bd7d918": {
                        "capabilities": {},
                        "id": "58dad687-0ca6-4e63-b644-5316483efc6e.a0357abd-6960-4749-adb2-28e40bd7d918",
                        "deviceInterfaceMetaId": "a0357abd-6960-4749-adb2-28e40bd7d918",
                        "properties": {
                            "mno": " "
                        }
                    }
                },
                "properties": {}
            },
            "type": "s.d",
            "svg": {
                "isSelected": false,
                "compX": 0,
                "compY": 0,
                "scaleX": 1,
                "scaleY": 1,
                "x": 492,
                "y": 212,
                "rotateAng": 0
            },
            "name": "DTU1"
        },
        "8f892587-ea36-44b8-8f64-1b9331e48479": {
            "type": "s.l",
            "instance": {
                "curve": {
                    "m": {
                        "x": 646,
                        "y": 402.5
                    },
                    "e": {
                        "x": 567,
                        "y": 274.5
                    }
                },
                "from": {
                    "directType": 1,
                    "iType": 1,
                    "ownerShapeType": "s.d",
                    "ownerSvgId": "b8080640-5541-4c4c-9b33-55d7e8f20203",
                    "deviceMetaId": "59f9c050-181f-4776-9f6d-f3c887a32c67",
                    "interfaceMetaId": "924d853a-b705-40e2-a54e-55bdd6a2f1bb",
                    "deviceMetaInterfaceId": "999fd6b7-072b-46f6-b01a-cae8543091a1",
                    "shapeType": "s.a",
                    "aType": "s.d.i",
                    "svgId": "b8080640-5541-4c4c-9b33-55d7e8f20203.999fd6b7-072b-46f6-b01a-cae8543091a1"
                },
                "to": {
                    "directType": 2,
                    "iType": 1,
                    "ownerShapeType": "s.d",
                    "ownerSvgId": "58dad687-0ca6-4e63-b644-5316483efc6e",
                    "deviceMetaId": "daf40346-d379-4c3c-a1e2-5802eb0be5b7",
                    "interfaceMetaId": "924d853a-b705-40e2-a54e-55bdd6a2f1bb",
                    "deviceMetaInterfaceId": "a0357abd-6960-4749-adb2-28e40bd7d918",
                    "shapeType": "s.a",
                    "aType": "s.d.i",
                    "svgId": "58dad687-0ca6-4e63-b644-5316483efc6e.a0357abd-6960-4749-adb2-28e40bd7d918"
                }
            }
        },
        "1d34c9f3-e156-4e81-a551-29ac9e0721c2": {
            "instance": {},
            "type": "s.iota",
            "svg": {
                "isSelected": false,
                "compX": 0,
                "compY": 0,
                "scaleX": 1,
                "scaleY": 1,
                "x": 1215,
                "y": 169,
                "rotateAng": 0
            }
        },
        "e1e2bae0-96a6-4312-a8f3-96c23828bcdf": {
            "type": "s.l",
            "instance": {
                "curve": {
                    "m": {
                        "x": 567,
                        "y": 219.5
                    },
                    "e": {
                        "x": 1295,
                        "y": 204
                    }
                },
                "from": {
                    "directType": 1,
                    "iType": 4,
                    "ownerShapeType": "s.d",
                    "ownerSvgId": "58dad687-0ca6-4e63-b644-5316483efc6e",
                    "deviceMetaId": "daf40346-d379-4c3c-a1e2-5802eb0be5b7",
                    "interfaceMetaId": "cf3a33ff-16b8-44ce-b57b-45f19557d4fc",
                    "deviceMetaInterfaceId": "c90670e3-8d68-44c2-aaee-35946dd1ce78",
                    "shapeType": "s.a",
                    "aType": "s.d.i",
                    "svgId": "58dad687-0ca6-4e63-b644-5316483efc6e.c90670e3-8d68-44c2-aaee-35946dd1ce78"
                },
                "to": {
                    "shapeType": "s.a",
                    "ownerShapeType": "s.d",
                    "ownerSvgId": "1d34c9f3-e156-4e81-a551-29ac9e0721c2"
                }
            }
        },
        "44da4604-7781-46c7-b1c9-3774d447b3c6": {
            "type": "s.l",
            "instance": {
                "curve": {
                    "m": {
                        "x": 966,
                        "y": 217.5
                    },
                    "e": {
                        "x": 1295,
                        "y": 204
                    }
                },
                "from": {
                    "directType": 1,
                    "iType": 4,
                    "ownerShapeType": "s.d",
                    "ownerSvgId": "379967aa-1ec8-4890-9dea-d0689a9165b7",
                    "deviceMetaId": "daf40346-d379-4c3c-a1e2-5802eb0be5b7",
                    "interfaceMetaId": "cf3a33ff-16b8-44ce-b57b-45f19557d4fc",
                    "deviceMetaInterfaceId": "c90670e3-8d68-44c2-aaee-35946dd1ce78",
                    "shapeType": "s.a",
                    "aType": "s.d.i",
                    "svgId": "379967aa-1ec8-4890-9dea-d0689a9165b7.c90670e3-8d68-44c2-aaee-35946dd1ce78"
                },
                "to": {
                    "shapeType": "s.a",
                    "ownerShapeType": "s.d",
                    "ownerSvgId": "1d34c9f3-e156-4e81-a551-29ac9e0721c2"
                }
            }
        },
        "b8080640-5541-4c4c-9b33-55d7e8f20203": {
            "instance": {
                "deviceMetaId": "59f9c050-181f-4776-9f6d-f3c887a32c67",
                "visibility": "private",
                "name": "测斜仪",
                "interfaces": {
                    "999fd6b7-072b-46f6-b01a-cae8543091a1": {
                        "capabilities": {
                            "9c14fbc7-6891-44b6-9f79-a588e8634871": {
                                "properties": null,
                                "deviceInterfaceId": "b8080640-5541-4c4c-9b33-55d7e8f20203.999fd6b7-072b-46f6-b01a-cae8543091a1",
                                "dimension": {
                                    "dimensionId": null,
                                    "id": null,
                                    "repeats": null,
                                    "qos": null,
                                    "interval": null
                                }
                            }
                        },
                        "id": "b8080640-5541-4c4c-9b33-55d7e8f20203.999fd6b7-072b-46f6-b01a-cae8543091a1",
                        "deviceInterfaceMetaId": "999fd6b7-072b-46f6-b01a-cae8543091a1",
                        "properties": {
                            "mno": " 1360"
                        }
                    }
                },
                "properties": {
                    "F1": " "
                }
            },
            "type": "s.d",
            "svg": {
                "isSelected": false,
                "compX": 0,
                "compY": 0,
                "scaleX": 1,
                "scaleY": 1,
                "x": 571,
                "y": 395,
                "rotateAng": 0
            },
            "name": "测斜仪"
        },
        "379967aa-1ec8-4890-9dea-d0689a9165b7": {
            "instance": {
                "deviceMetaId": "daf40346-d379-4c3c-a1e2-5802eb0be5b7",
                "visibility": "private",
                "name": "DTU2",
                "interfaces": {
                    "c90670e3-8d68-44c2-aaee-35946dd1ce78": {
                        "capabilities": {
                            "d2fc164a-0d85-4885-8d8a-cce44da5c99e": {
                                "properties": null,
                                "deviceInterfaceId": "379967aa-1ec8-4890-9dea-d0689a9165b7.c90670e3-8d68-44c2-aaee-35946dd1ce78",
                                "dimension": {
                                    "dimensionId": null,
                                    "id": null,
                                    "repeats": null,
                                    "qos": null,
                                    "interval": null
                                }
                            }
                        },
                        "id": "379967aa-1ec8-4890-9dea-d0689a9165b7.c90670e3-8d68-44c2-aaee-35946dd1ce78",
                        "deviceInterfaceMetaId": "c90670e3-8d68-44c2-aaee-35946dd1ce78",
                        "properties": {
                            "id": "20170419"
                        }
                    },
                    "a0357abd-6960-4749-adb2-28e40bd7d918": {
                        "capabilities": {},
                        "id": "379967aa-1ec8-4890-9dea-d0689a9165b7.a0357abd-6960-4749-adb2-28e40bd7d918",
                        "deviceInterfaceMetaId": "a0357abd-6960-4749-adb2-28e40bd7d918",
                        "properties": {
                            "mno": " "
                        }
                    }
                },
                "properties": {}
            },
            "type": "s.d",
            "svg": {
                "isSelected": false,
                "compX": 0,
                "compY": 0,
                "scaleX": 1,
                "scaleY": 1,
                "x": 891,
                "y": 210,
                "rotateAng": 0
            },
            "name": "DTU2"
        },
        "1d7c4f07-38ba-4fb2-81ef-b8c5c4e82039": {
            "type": "s.l",
            "instance": {
                "curve": {
                    "m": {
                        "x": 1030,
                        "y": 369.5
                    },
                    "e": {
                        "x": 966,
                        "y": 272.5
                    }
                },
                "from": {
                    "directType": 1,
                    "iType": 1,
                    "ownerShapeType": "s.d",
                    "ownerSvgId": "7526b571-2f37-4647-a46c-723eca475440",
                    "deviceMetaId": "59f9c050-181f-4776-9f6d-f3c887a32c67",
                    "interfaceMetaId": "924d853a-b705-40e2-a54e-55bdd6a2f1bb",
                    "deviceMetaInterfaceId": "999fd6b7-072b-46f6-b01a-cae8543091a1",
                    "shapeType": "s.a",
                    "aType": "s.d.i",
                    "svgId": "7526b571-2f37-4647-a46c-723eca475440.999fd6b7-072b-46f6-b01a-cae8543091a1"
                },
                "to": {
                    "directType": 2,
                    "iType": 1,
                    "ownerShapeType": "s.d",
                    "ownerSvgId": "379967aa-1ec8-4890-9dea-d0689a9165b7",
                    "deviceMetaId": "daf40346-d379-4c3c-a1e2-5802eb0be5b7",
                    "interfaceMetaId": "924d853a-b705-40e2-a54e-55bdd6a2f1bb",
                    "deviceMetaInterfaceId": "a0357abd-6960-4749-adb2-28e40bd7d918",
                    "shapeType": "s.a",
                    "aType": "s.d.i",
                    "svgId": "379967aa-1ec8-4890-9dea-d0689a9165b7.a0357abd-6960-4749-adb2-28e40bd7d918"
                }
            }
        }
    }
}

即时能力调用

对指定的能力进行即时的触发请求。

HTTP Request

`POST /v1/api/capabilities/invoke

Request

POST /v1/api/capabilities/invoke
body {
    "deviceId": "ed781c8f-575e-4ef6-a1f5-8b9ffe9afab5",
    "thingId": "3eebc743-63eb-4a7b-9d49-3a19ea123a42",
    "dimCapId": "82e9f82c-67ef-4c03-9ee0-2f02d66877ce",
    "timeout": 10
}

Response 协议返回执行结果或错误信息

Body Parameters

参数 类型 必填 说明
deviceId string 是 能力归属的设备实例id
thingId string 否 设备实例归属的ThingId
dimCapId string 否 定义的能力实例Id
timeout number 否 超时时间,默认10秒

设备数据

原始数据

查询设备原始数据

查询指定Thing中设备所产生的数据。

HTTP Request

GET /v1/api/discover/raw_data

Request

GET /v1/api/discover/raw_data?thingId=''&deviceId=''

Response

{
    "total": 1,
    "rawData": [
        {
            "result": {
                "code": 0,
                "msg": ""
            },
            "userId": "a0dbf164-5388-4ba2-846d-2d06688b1bfb",
            "thingId": "5c6cc186-0b2b-4cda-871d-ff8990f28fb0",
            "dimensionId": "d272c575-4707-419c-baa2-ade1f35d02f9",
            "dimCapId": "96f10562-d92e-47ee-86c6-f826765cd783",
            "deviceId": "1b45fc6c-2eb8-481b-b65c-59edb9b028ad",
            "scheduleId": "f1e843d4-6f7b-4ad4-b185-7c142c3bb6e0",
            "taskId": "5114e735-b579-4637-a0d6-0db6cd2d77fb",
            "jobId": 4,
            "jobRepeatId": 4,
            "triggerTime": "2017-05-24T10:33:24.0009029+08:00",
            "finishTime": "2017-05-24T10:33:24.0868404+08:00",
            "data": {
                "result": {
                    "code": 0,
                    "msg": ""
                },
                "data": [{
                    "Temp": 163.99,
                    "X": -4.743042,
                    "Y": 16.15397
                }]
            }
        }
    ]
}

Query Parameters

参数 类型 必填 说明
thingId string 是 指定Thing id
deviceId string 是 指定设备id
begin string 是 开始时间, 格式:YYYY-MM-DD HH:mm:ss
end string 是 结束时间, 格式:YYYY-MM-DD HH:mm:ss;时间未填写时,默认为最近24小时
timezone string 是 时区,“+08:00” 形式,默认使用服务侧所在时区

告警管理

查询告警分类

查询系统中的告警分类。

HTTP Request

GET /v1/api/alerts/categories

Request

GET /v1/api/alerts/categories

Response

{
    "categories": [
        {
            "id": 1,
            "name": "连接状态",
            "desc": "反映设备与iOTA的连接状态",
            "createdAt": null,
            "updatedAt": null
        },
        {
            "id": 2,
            "name": "数据采集",
            "desc": "反映iOTA通过设备采集数据或设备上报数据的状态",
            "createdAt": null,
            "updatedAt": null
        },
        {
            "id": 3,
            "name": "数据处理",
            "desc": "反映数据处理的状态",
            "createdAt": null,
            "updatedAt": null
        }
    ]
}

查询告警事件类型

查询系统中的告警事件类型。

HTTP Request

GET /v1/api/alerts/event_types

Request

GET /v1/api/alerts/event_types

Response

{
    "eventTypes": [
        {
            "id": 1,
            "name": "连接状态",
            "desc": "反映设备与iOTA的连接状态",
            "createdAt": null,
            "updatedAt": null
        },
        {
            "id": 2,
            "name": "数据采集",
            "desc": "反映iOTA通过设备采集数据或设备上报数据的状态",
            "createdAt": null,
            "updatedAt": null
        },
        {
            "id": 3,
            "name": "数据处理",
            "desc": "反映数据处理的状态",
            "createdAt": null,
            "updatedAt": null
        }
    ]
}

查询告警定义

查询系统中的告警定义。

HTTP Request

GET /v1/api/alerts/definitions

Request

GET /v1/api/alerts/definitions

Response

{
    "definitions": [
        {
            "id": 1,
            "key": "LinkStatus",
            "name": "设备掉线",
            "desc": "设备与iOTA连接中断",
            "severity": 1,
            "createdAt": null,
            "updatedAt": null,
            "alertCategoryId": 1,
            "alertEventTypeId": 1,
            "category": {
                "id": 1,
                "name": "连接状态",
                "desc": "反映设备与iOTA的连接状态",
                "createdAt": null,
                "updatedAt": null
            },
            "eventType": {
                "id": 1,
                "name": "可恢复的事件",
                "desc": "可恢复的事件",
                "recoverMode": "Recoverable",
                "createdAt": null,
                "updatedAt": null
            }
        },
        {
            "id": 2,
            "key": "DacError",
            "name": "采集异常",
            "desc": "设备数据采集异常",
            "severity": 2,
            "createdAt": null,
            "updatedAt": null,
            "alertCategoryId": 2,
            "alertEventTypeId": 1,
            "category": {
                "id": 2,
                "name": "数据采集",
                "desc": "反映iOTA通过设备采集数据或设备上报数据的状态",
                "createdAt": null,
                "updatedAt": null
            },
            "eventType": {
                "id": 1,
                "name": "可恢复的事件",
                "desc": "可恢复的事件",
                "recoverMode": "Recoverable",
                "createdAt": null,
                "updatedAt": null
            }
        },
        {
            "id": 3,
            "key": "OutOfRange",
            "name": "数据超量程",
            "desc": "设备数据超过设备量程范围",
            "severity": 3,
            "createdAt": null,
            "updatedAt": null,
            "alertCategoryId": 3,
            "alertEventTypeId": 1,
            "category": {
                "id": 3,
                "name": "数据处理",
                "desc": "反映数据处理的状态",
                "createdAt": null,
                "updatedAt": null
            },
            "eventType": {
                "id": 1,
                "name": "可恢复的事件",
                "desc": "可恢复的事件",
                "recoverMode": "Recoverable",
                "createdAt": null,
                "updatedAt": null
            }
        }
    ]
}

查询当前告警

查询系统中的告警。

HTTP Request

GET /v1/api/alerts/current

Request

GET /v1/api/alerts/current

Response

{
    "total": 4,
    "alerts": [
        {
            "id": "edef7e763d5e4017cb2f3d6aeae49b5aa96bf939",
            "status": "firing",
            "labels": {
                "alertname": "DacError",
                "deviceId": "",
                "dimensionId": "0eddb4a9-29f5-4e83-924e-e182bbb8c583",
                "instance": "10.244.3.108:19201",
                "job": "iOTA-DAC",
                "kubernetes_pod_name": "iota-dac-0",
                "monitor": "codelab-monitor",
                "thingId": "7b5e5e08-7b33-4538-aa53-22ccba3b4da5",
                "userId": "f16833ab-a4a4-45f5-9b39-ad2c66e488f6"
            },
            "annotations": {
                "summary": "采集异常",
                "description": "Thing:thing1, 维度:100s"
            },
            "startsAt": "2018-03-21T16:36:37.383333093Z",
            "endsAt": "0001-01-01T00:00:00Z",
            "generatorURL": "http://iota-prometheus-5cdbc4f4f8-pn2kb:19090/graph?g0.expr=iota_dac_sustained_error_count+%3E%3D+3&g0.tab=1",
            "latestStartsAt": "2018-03-21T16:36:37.383333093Z",
            "severity": 2,
            "repeatTimes": 1
        },
        {
            "id": "c988d373efaeeddf4e8349bcf5c30dba178f94ff",
            "status": "firing",
            "labels": {
                "alertname": "DacError",
                "deviceId": "7e98bcf7-15a1-4b76-bcac-e892e5aea35d",
                "dimensionId": "0eddb4a9-29f5-4e83-924e-e182bbb8c583",
                "instance": "10.244.3.108:19201",
                "job": "iOTA-DAC",
                "kubernetes_pod_name": "iota-dac-0",
                "monitor": "codelab-monitor",
                "thingId": "7b5e5e08-7b33-4538-aa53-22ccba3b4da5",
                "userId": "f16833ab-a4a4-45f5-9b39-ad2c66e488f6"
            },
            "annotations": {
                "summary": "采集异常",
                "description": "Thing:thing1, 维度:100s, 设备:测斜仪"
            },
            "startsAt": "2018-03-21T14:46:52.383163086Z",
            "endsAt": "0001-01-01T00:00:00Z",
            "generatorURL": "http://iota-prometheus-5cdbc4f4f8-pn2kb:19090/graph?g0.expr=iota_dac_sustained_error_count+%3E%3D+3&g0.tab=1",
            "latestStartsAt": "2018-03-21T14:46:52.383163086Z",
            "severity": 2,
            "repeatTimes": 1
        },
        {
            "id": "66db8b957517410ce5773f23d0d547c2b6edd852",
            "status": "firing",
            "labels": {
                "alertname": "LinkStatus",
                "deviceId": "66fd76fe-cd81-4a68-8429-33923f675ea9",
                "dimensionId": "",
                "instance": "10.244.2.108:19201",
                "job": "iOTA-DAC",
                "kubernetes_pod_name": "iota-dac-2",
                "monitor": "codelab-monitor",
                "thingId": "3eebc743-63eb-4a7b-9d49-3a19ea123a42",
                "userId": "f16833ab-a4a4-45f5-9b39-ad2c66e488f6"
            },
            "annotations": {
                "summary": "设备掉线",
                "description": "Thing:文件提取测试, 设备:工作站"
            },
            "startsAt": "2018-03-20T09:56:21.998401666Z",
            "endsAt": "0001-01-01T00:00:00Z",
            "generatorURL": "http://iota-prometheus-5cdbc4f4f8-pn2kb:19090/graph?g0.expr=iota_dac_device_status+%3D%3D+0&g0.tab=1",
            "latestStartsAt": "2018-03-20T09:56:21.998401666Z",
            "severity": 1,
            "repeatTimes": 1
        },
        {
            "id": "e823979b35c91a6c19be412ccb4406bb4ce7e799",
            "status": "firing",
            "labels": {
                "alertname": "LinkStatus",
                "deviceId": "278d0b97-d9db-4719-a2f4-a45c82cb4ab8",
                "dimensionId": "",
                "instance": "10.244.3.87:19201",
                "job": "iOTA-DAC",
                "kubernetes_pod_name": "iota-dac-0",
                "monitor": "codelab-monitor",
                "thingId": "fe0f2ded-d961-4d81-b891-f9a8304f640b",
                "userId": "f16833ab-a4a4-45f5-9b39-ad2c66e488f6"
            },
            "annotations": {
                "summary": "设备掉线",
                "description": "Thing:监听, 设备:振弦采集仪"
            },
            "startsAt": "2018-03-15T06:43:16.998350011Z",
            "endsAt": "0001-01-01T00:00:00Z",
            "generatorURL": "http://iota-prometheus-75959cf787-c89sh:19090/graph?g0.expr=iota_dac_device_status+%3D%3D+0&g0.tab=1",
            "latestStartsAt": "2018-03-15T06:43:16.998350011Z",
            "severity": 1,
            "repeatTimes": 1
        }
    ]
}

Query Parameters

参数 类型 必填 说明
labels string 是 指定Thing id labels=thingId:3eebc743-63eb-4a7b-9d49-3a19ea123a42,deviceId:ed781c8f-575e-4ef6-a1f5-8b9ffe9afab5
thingId string 是 指定Thing id, 可多选 thingId:3eebc743-63eb-4a7b-9d49-3a19ea123a42
deviceId string 是 指定设备id, 可多选 deviceId:ed781c8f-575e-4ef6-a1f5-8b9ffe9afab5
severities number 是 级别,多选
definitions string 是 告警定义,多选 见告警定义中的key值,目前系统仅支持三类

查询当前告警

查询系统中的历史告警。

HTTP Request

GET /v1/api/alerts/history

Request

GET /v1/api/alerts/history

Response 同当前告警,多恢复时间输出

Query Parameters

参数 类型 必填 说明
labels string 是 指定Thing id labels=thingId:3eebc743-63eb-4a7b-9d49-3a19ea123a42,deviceId:ed781c8f-575e-4ef6-a1f5-8b9ffe9afab5
thingId string 是 指定Thing id, 可多选 thingId:3eebc743-63eb-4a7b-9d49-3a19ea123a42
deviceId string 是 指定设备id, 可多选 deviceId:ed781c8f-575e-4ef6-a1f5-8b9ffe9afab5
severities number 是 级别,多选
definitions string 是 告警定义,多选 见告警定义中的key值,目前系统仅支持三类
begin number 是 开始时间, 格式:1521686519958
end number 是 结束时间, 格式:1521686519958

规则

iOTA 中,通过规则实现对采集到的设备数据进行后续处理。

规则由多个数据流节点定义对数据的处理流程,系统内置以下数据节点:

查询所有

查询所有规则。

HTTP Request

GET /v1/api/rules

Request

GET /v1/api/rules

Response

{
    "total": 2,
    "rules": [{
        "id": "9e30f570-182c-4221-a8cb-5d59c9b24a7a",
        "name": "测试规则2",
        "desc": "",
        "flow": "[{\"id\":\"9e30f570-182c-4221-a8cb-5d59c9b24a7a\",\"type\":\"tab\",\"label\":\"11\"}]",
        "createBy": "66b1b02c-3e6e-47e2-aeee-b5cdff39a653",
        "belongTo": "66b1b02c-3e6e-47e2-aeee-b5cdff39a653",
        "investor": "66b1b02c-3e6e-47e2-aeee-b5cdff39a653",
        "public": false,
        "enable": false,
        "release": false,
        "createdAt": "2017-07-21T01:03:04.185Z",
        "updatedAt": "2017-07-21T01:04:26.852Z"
    }, {
        "id": "fa5c0932-d1f8-4505-a8e3-b4ab532a23fa",
        "name": "测试规则",
        "desc": "",
        "flow": "[{\"id\":\"fa5c0932-d1f8-4505-a8e3-b4ab532a23fa\",\"type\":\"tab\",\"label\":\"测试规则\"},{\"id\":\"6664ee11.fe5bc\",\"type\":\"inject\",\"z\":\"fa5c0932-d1f8-4505-a8e3-b4ab532a23fa\",\"name\":\"\",\"topic\":\"\",\"payload\":\"\",\"payloadType\":\"date\",\"repeat\":\"\",\"crontab\":\"\",\"once\":false,\"x\":420,\"y\":187,\"wires\":[[\"13464ed8.044961\"]]},{\"id\":\"13464ed8.044961\",\"type\":\"debug\",\"z\":\"fa5c0932-d1f8-4505-a8e3-b4ab532a23fa\",\"name\":\"\",\"active\":true,\"console\":\"false\",\"complete\":\"payload\",\"x\":674,\"y\":195,\"wires\":[]},{\"id\":\"c21739cd.6c75b8\",\"type\":\"comment\",\"z\":\"fa5c0932-d1f8-4505-a8e3-b4ab532a23fa\",\"name\":\"注释\",\"info\":\"注释\",\"x\":690,\"y\":120,\"wires\":[]}]",
        "createBy": "66b1b02c-3e6e-47e2-aeee-b5cdff39a653",
        "belongTo": "66b1b02c-3e6e-47e2-aeee-b5cdff39a653",
        "investor": "66b1b02c-3e6e-47e2-aeee-b5cdff39a653",
        "public": false,
        "enable": false,
        "release": false,
        "createdAt": "2017-07-19T08:05:33.367Z",
        "updatedAt": "2017-07-21T01:04:17.239Z"
    }]
}

Query Parameters

参数 类型 必填 说明
name string 否 名称,模糊查询

查询指定

通过id查询指定的规则。

HTTP Request

GET /v1/api/rules/:id

GET /v1/api/rules/fa5c0932-d1f8-4505-a8e3-b4ab532a23fa

Response

{
    "id": "fa5c0932-d1f8-4505-a8e3-b4ab532a23fa",
    "name": "测试规则",
    "desc": "",
    "flow": "[{\"id\":\"fa5c0932-d1f8-4505-a8e3-b4ab532a23fa\",\"type\":\"tab\",\"label\":\"测试规则\"},{\"id\":\"6664ee11.fe5bc\",\"type\":\"inject\",\"z\":\"fa5c0932-d1f8-4505-a8e3-b4ab532a23fa\",\"name\":\"\",\"topic\":\"\",\"payload\":\"\",\"payloadType\":\"date\",\"repeat\":\"\",\"crontab\":\"\",\"once\":false,\"x\":420,\"y\":187,\"wires\":[[\"13464ed8.044961\"]]},{\"id\":\"13464ed8.044961\",\"type\":\"debug\",\"z\":\"fa5c0932-d1f8-4505-a8e3-b4ab532a23fa\",\"name\":\"\",\"active\":true,\"console\":\"false\",\"complete\":\"payload\",\"x\":674,\"y\":195,\"wires\":[]},{\"id\":\"c21739cd.6c75b8\",\"type\":\"comment\",\"z\":\"fa5c0932-d1f8-4505-a8e3-b4ab532a23fa\",\"name\":\"注释\",\"info\":\"注释\",\"x\":690,\"y\":120,\"wires\":[]}]",
    "createBy": "66b1b02c-3e6e-47e2-aeee-b5cdff39a653",
    "belongTo": "66b1b02c-3e6e-47e2-aeee-b5cdff39a653",
    "investor": "66b1b02c-3e6e-47e2-aeee-b5cdff39a653",
    "public": false,
    "enable": false,
    "release": false,
    "createdAt": "2017-07-19T08:05:33.367Z",
    "updatedAt": "2017-07-21T01:04:17.239Z"
}

URL Parameters

参数 类型 必填 说明
id string 是 规则 id

创建

创建规则(仅基本信息)。

HTTP Request

POST /v1/api/rules

Request

POST /v1/api/rules
body  {
    "name": "测试规则3",
    "desc": "",
    "enable": false,
    "release": false,
}

Response

{
    "id": "ff378be5-4994-46ae-adc5-ae74a423d126",
    "name": "测试规则3",
    "desc": "",
    "flow": "[{\"id\":\"ff378be5-4994-46ae-adc5-ae74a423d126\",\"type\":\"tab\",\"label\":\"测试规则3\"}]",
    "createBy": "66b1b02c-3e6e-47e2-aeee-b5cdff39a653",
    "belongTo": "66b1b02c-3e6e-47e2-aeee-b5cdff39a653",
    "investor": "66b1b02c-3e6e-47e2-aeee-b5cdff39a653",
    "public": false,
    "enable": false,
    "release": false,
    "createdAt": "2017-07-21T01:44:58.803Z",
    "updatedAt": "2017-07-21T01:44:58.813Z"
}

Body Parameters

参数 类型 必填 说明
name string 是 名称
desc string 否 描述
enable bool 否 是否启用
release bool 否 是否发布

修改基本信息

修改规则的名称、描述。

HTTP Request

PUT /v1/api/rules/:id

Request

PUT /v1/api/rules/ff378be5-4994-46ae-adc5-ae74a423d126
body {
    "name": "规则名称",
    "desc": "",
    "enable": false,
    "release": false,
}

URL Parameters

参数 类型 必填 说明
id string 是 Thing id

Body Parameters

参数 类型 必填 说明
name string 是 名称
desc string 否 描述
enable bool 否 是否启用
release bool 否 是否发布

删除

删除指定的规则。

Request

DELETE /v1/api/rules/ff378be5-4994-46ae-adc5-ae74a423d126

HTTP Request

DELETE /v1/api/rules/:id

URL Parameters

参数 类型 必填 说明
id string 是 规则 id

Metrics

提供基础的用户指标信息接口。

设备接口

获取用户的私有/公开设备接口,及总数;获取接口被引用的情况。

HTTP Request

GET /v1/api/metrics/meta/interfaces

Request

GET /v1/api/metrics/meta/interfaces

Response

{
    "summary": {
        "total": 3,
        "public": 0,
        "private": 3,
        "referenced": 5
    },
    "referenced": [{
        "count": "2",
        "id": "869625e6-caf9-4955-a663-e5d4e43a145e",
        "name": "SoIP"
    }, {
        "count": "1",
        "id": "558407da-e05c-4df9-af4d-04ae57cf9526",
        "name": "03test-MSP"
    }, {
        "count": "2",
        "id": "a3d17308-e9f7-4d45-8c44-efbbb99de2f7",
        "name": "03-serialcon"
    }]
}

设备协议

获取用户的私有/公开设备协议,及总数;获取协议被引用的情况。

HTTP Request

GET /v1/api/metrics/meta/protocols

Request

GET /v1/api/metrics/meta/protocols

Response

{
    "summary": {
        "total": 2,
        "public": 0,
        "private": 2,
        "referenced": 3
    },
    "referenced": [{
        "count": "2",
        "id": "6b4cb5ca-b699-4824-af6c-254f48c9c9b3",
        "name": "03t-1503"
    }, {
        "count": "1",
        "id": "9204d9cf-ec40-4b24-9396-a3d01a1ce52e",
        "name": "03test-9608"
    }]
}

设备

获取用户的私有/公开设备原型,及总数;获取设备原型被实例化的情况。

HTTP Request

GET /v1/api/metrics/meta/devices

Request

GET /v1/api/metrics/meta/devices

Response

{
    "summary": {
        "total": 4,
        "public": 1,
        "private": 3,
        "instances": 3
    },
    "instances": [{
        "count": "1",
        "id": "a0fced72-7f39-4a5c-9512-f37a65d24759",
        "name": "03test-MSP"
    }, {
        "count": "1",
        "id": "df74b4a2-d361-43ea-9094-8582c6ab0cd7",
        "name": "03test-采集仪"
    }, {
        "count": "1",
        "id": "f69868c6-9918-47e7-a9a7-567f617cadce",
        "name": "03test-测斜仪"
    }]
}

数据采集

获取用户的全部/最近一年/最近一月/最近一周内的数据采集情况。

HTTP Request

GET /v1/api/metrics/raw_data/rates

Request

GET /v1/api/metrics/raw_data/rates

Response

{
    "summary": {
        "total": 751,
        "complete": 726,
        "useful": 725,
        "rates": {
            "complete": "96.67",
            "useful": "96.54"
        }
    }
}

Query Parameters

参数 类型 必填 说明
range string 否 year/week/month
thingIds string 否 Thing ID,",“分割

Things

获取用户Things的状态信息。

HTTP Request

GET /v1/api/metrics/runtime/things

Request

GET /v1/api/metrics/runtime/things

Response

{
    "summary": {
        "total": 1,
        "runningThings": 1,
        "runningDimensions": 0
    },
    "runningThings": [{
        "name": "IOTA",
        "dimensions": [{
            "id": "b7957c87-5eb8-4340-a082-a87e5e5f0021",
            "name": "1",
            "desc": "",
            "createdAt": "2017-09-23T08:11:19.170Z",
            "updatedAt": "2017-09-23T08:11:19.178Z",
            "thingId": "e6a1d207-f75f-4d55-8aca-c4f295fc9c15"
        }]
    }]
}

流量统计

获取用户的设备数据流量信息。

HTTP Request

GET /v1/api/metrics/raw_data/streams

Request

GET /v1/api/metrics/raw_data/streams

Response

{
    "summary": {
        "total": 509,
        "incoming": 239,
        "outgoing": 270
    }
}

授权管理

子用户管理

查询子用户

查询主用户创建的所有子用户。

Request:

HTTP Request

GET /v1/api/users/:parentId/subusers

GET /v1/api/users/8cb27445-99ed-4168-8a8f-876ed83440b2/subusers

Response:

{
  "total": 3,
  "users": [
    {
      "id": "a2e2a70c-6b75-4b7b-a4b9-0719862446ac",
      "username": "iota",
      "email": "iota@theiota.com",
      "mobile": "11111111111",
      "subExt": {
        "id": 3,
        "dependent": true,
        "enable": false,
        "createdAt": "2017-04-18T08:08:48.642Z",
        "updatedAt": "2017-04-18T08:08:48.893Z",
        "parentId": "8cb27445-99ed-4168-8a8f-876ed83440b2",
        "userId": "a2e2a70c-6b75-4b7b-a4b9-0719862446ac"
      }
    }
  ]
}

URL Parameters

参数 类型 必填 说明
parentId string 是 子用户的父用户id

查询指定子用户

查询主用户创建的某个子用户。

HTTP Request

GET /v1/api/users/:parentId/subusers/:id

Request:

GET /v1/api/users/8cb27445-99ed-4168-8a8f-876ed83440b2/subusers/a2e2a70c-6b75-4b7b-a4b9-0719862446ac

Response:

{
  "id": "a2e2a70c-6b75-4b7b-a4b9-0719862446ac",
  "username": "iota",
  "email": "iota@theiota.com",
  "mobile": "11111111111",
  "subExt": {
    "id": 3,
    "dependent": true,
    "enable": false,
    "createdAt": "2017-04-18T08:08:48.642Z",
    "updatedAt": "2017-04-18T08:08:48.893Z",
    "parentId": "8cb27445-99ed-4168-8a8f-876ed83440b2",
    "userId": "a2e2a70c-6b75-4b7b-a4b9-0719862446ac"
  }
}

URL Parameters

参数 类型 必填 说明
parentId string 是 子用户的父用户id
id string 是 子用户id

创建子用户

主用户创建子用户。

HTTP Request

POST /v1/api/users/:parentId/subusers

Request:

POST /v1/api/users/8cb27445-99ed-4168-8a8f-876ed83440b2/subusers
body {
        "username": "iota",
        "password": 123456,
        "email": "iota@theiota.com",
        "mobile": "11111111111"
    }

Response:

{
  "id": "25055945-16e3-4d8a-ae77-35857ce2a2ff",
  "actEmail": false,
  "username": "iota",
  "email": "iota@theiota.com",
  "mobile": "11111111111",
  "type": "Sub",
  "updatedAt": "2017-04-18T09:45:27.821Z",
  "createdAt": "2017-04-18T09:45:27.821Z",
  "gravatar": null,
  "subExt": {
    "enable": true,
    "id": 4,
    "parentId": "8cb27445-99ed-4168-8a8f-876ed83440b2",
    "dependent": false,
    "userId": "25055945-16e3-4d8a-ae77-35857ce2a2ff",
    "updatedAt": "2017-04-18T09:45:27.842Z",
    "createdAt": "2017-04-18T09:45:27.842Z"
  },
  "account": {
    "id": "6bd2c66b-ec5a-4ed6-b404-e648cf1993b7",
    "accountName": "iota",
    "balance": 0
  }
}

URL Parameters

参数 类型 必填 说明
parentId string 是 子用户的父用户id

Body Parameters

参数 类型 必填 说明
username string 是 子用户用户名
password string 是 子用户密码
email string 是 子用户邮箱
mobile string 是 子用户手机号

修改子用户基本信息

修改已经创建的子用户的基本信息。

HTTP Request

PUT /v1/api/users/:parentId/subusers/:id

Request:

PUT /v1/api/users/8cb27445-99ed-4168-8a8f-876ed83440b2/subusers/25055945-16e3-4d8a-ae77-35857ce2a2ff
body {
        "username": "IOTA",
        "email": "IOTA@theiota.com",
        "subExt": {"enable": false, "dependent": true}
     }

URL Parameters

参数 类型 必填 说明
parentId string 是 子用户的父用户id

Body Parameters

参数 类型 必填 说明
username string 否 子用户用户名
email string 否 子用户邮箱
mobile string 否 子用户手机号
subExt object 否 子用户手机号
enable boolean 否 子用户激活状态
dependent boolean 否 子用户独立运维状态

启用子用户

修改子用户状态为启用中。

HTTP Request

POST /v1/api/users/:parentId/subusers/enable

Request:

POST /v1/api/users/8cb27445-99ed-4168-8a8f-876ed83440b2/subusers/enable
body {
       "ids":[
         "25055945-16e3-4d8a-ae77-35857ce2a2ff",
         "cbccc17a-5c6b-4fe1-9f0f-52f2ca60f160"
       ]
     }

URL Parameters

参数 类型 必填 说明
parentId string 是 子用户的父用户id

Body Parameters

参数 类型 必填 说明
ids array 否 子用户id

禁用子用户

修改子用户状态为禁用。

HTTP Request

POST /v1/api/users/:parentId/subusers/disable

Request:

POST /v1/api/users/8cb27445-99ed-4168-8a8f-876ed83440b2/subusers/disable
body {
       "ids":[
         "25055945-16e3-4d8a-ae77-35857ce2a2ff",
         "cbccc17a-5c6b-4fe1-9f0f-52f2ca60f160"
        ]
     }

URL Parameters

参数 类型 必填 说明
parentId string 是 子用户的父用户id

Body Parameters

参数 类型 必填 说明
ids array 否 子用户id

启用子用户独立运维

修改子用户为独立运维。

HTTP Request

POST /v1/api/users/:parentId/subusers/independent

Request:

POST /v1/api/users/8cb27445-99ed-4168-8a8f-876ed83440b2/subusers/independent
body {
       "ids":[
         "25055945-16e3-4d8a-ae77-35857ce2a2ff",
         "cbccc17a-5c6b-4fe1-9f0f-52f2ca60f160"
       ]
     }

URL Parameters

参数 类型 必填 说明
parentId string 是 子用户的父用户id

Body Parameters

参数 类型 必填 说明
ids array 否 子用户id

禁用子用户独立运维

修改子用户为非独立运维。

HTTP Request

POST /v1/api/users/:parentId/subusers/dependent

Request:

POST /v1/api/users/8cb27445-99ed-4168-8a8f-876ed83440b2/subusers/dependent
body {
       "ids":[
         "25055945-16e3-4d8a-ae77-35857ce2a2ff",
         "cbccc17a-5c6b-4fe1-9f0f-52f2ca60f160"
       ]
     }

URL Parameters

参数 类型 必填 说明
parentId string 是 子用户的父用户id

Body Parameters

参数 类型 必填 说明
ids array 否 子用户id

资源组管理

查询资源类型

查询所有资源类型。

HTTP Request

GET /v1/api/resource_types

Request:

GET /v1/api/resource_types

Response:

{
  "resourceTypes": [
    {
      "name": "协议",
      "type": "Protocol",
      "desc": "协议资源",
      "model": "ProtocolMeta",
      "nameField": "name",
      "idField": "id",
      "descField": "desc",
      "key": "protocols",
      "url": "meta/protocols",
      "createdAt": "2017-04-13T11:45:05.980Z",
      "updatedAt": "2017-04-13T11:45:05.980Z",
      "operationTypes": [
        {
          "name": "所有",
          "desc": "",
          "type": "protocol.*",
          "createdAt": "2017-04-13T11:45:06.473Z",
          "updatedAt": "2017-04-13T11:45:06.473Z",
          "resourceTypeKey": "Protocol"
        },
        {
          "name": "查看",
          "desc": "",
          "type": "protocol.view",
          "createdAt": "2017-04-13T11:45:06.482Z",
          "updatedAt": "2017-04-13T11:45:06.482Z",
          "resourceTypeKey": "Protocol"
        },
        {
          "name": "修改",
          "desc": "",
          "type": "protocol.update",
          "createdAt": "2017-04-13T11:45:06.487Z",
          "updatedAt": "2017-04-13T11:45:06.487Z",
          "resourceTypeKey": "Protocol"
        },
        {
          "name": "删除",
          "desc": "",
          "type": "protocol.delete",
          "createdAt": "2017-04-13T11:45:06.492Z",
          "updatedAt": "2017-04-13T11:45:06.492Z",
          "resourceTypeKey": "Protocol"
        }
      ]
    },
    {
      "name": "接口",
      "type": "Interface",
      "desc": "接口资源",
      "model": "InterfaceMeta",
      "nameField": "name",
      "idField": "id",
      "descField": "desc",
      "key": "interfaces",
      "url": "meta/interfaces",
      "createdAt": "2017-04-13T11:45:05.987Z",
      "updatedAt": "2017-04-13T11:45:05.987Z",
      "operationTypes": [
        {
          "name": "所有",
          "desc": "",
          "type": "interface.*",
          "createdAt": "2017-04-13T11:45:06.496Z",
          "updatedAt": "2017-04-13T11:45:06.496Z",
          "resourceTypeKey": "Interface"
        },
        {
          "name": "查看",
          "desc": "",
          "type": "interface.view",
          "createdAt": "2017-04-13T11:45:06.501Z",
          "updatedAt": "2017-04-13T11:45:06.501Z",
          "resourceTypeKey": "Interface"
        },
        {
          "name": "修改",
          "desc": "",
          "type": "interface.update",
          "createdAt": "2017-04-13T11:45:06.506Z",
          "updatedAt": "2017-04-13T11:45:06.506Z",
          "resourceTypeKey": "Interface"
        },
        {
          "name": "删除",
          "desc": "",
          "type": "interface.delete",
          "createdAt": "2017-04-13T11:45:06.512Z",
          "updatedAt": "2017-04-13T11:45:06.512Z",
          "resourceTypeKey": "Interface"
        }
      ]
    },
    {
      "name": "设备",
      "type": "Device",
      "desc": "设备资源",
      "model": "DeviceMeta",
      "nameField": "name",
      "idField": "id",
      "descField": "desc",
      "key": "devices",
      "url": "meta/devices",
      "createdAt": "2017-04-13T11:45:05.991Z",
      "updatedAt": "2017-04-13T11:45:05.991Z",
      "operationTypes": [
        {
          "name": "所有",
          "desc": "",
          "type": "device.*",
          "createdAt": "2017-04-13T11:45:06.516Z",
          "updatedAt": "2017-04-13T11:45:06.516Z",
          "resourceTypeKey": "Device"
        },
        {
          "name": "查看",
          "desc": "",
          "type": "device.view",
          "createdAt": "2017-04-13T11:45:06.520Z",
          "updatedAt": "2017-04-13T11:45:06.520Z",
          "resourceTypeKey": "Device"
        },
        {
          "name": "修改",
          "desc": "",
          "type": "device.update",
          "createdAt": "2017-04-13T11:45:06.525Z",
          "updatedAt": "2017-04-13T11:45:06.525Z",
          "resourceTypeKey": "Device"
        },
        {
          "name": "删除",
          "desc": "",
          "type": "device.delete",
          "createdAt": "2017-04-13T11:45:06.528Z",
          "updatedAt": "2017-04-13T11:45:06.528Z",
          "resourceTypeKey": "Device"
        }
      ]
    },
    {
      "name": "Thing",
      "type": "Thing",
      "desc": "Thing资源",
      "model": "Thing",
      "nameField": "name",
      "idField": "id",
      "descField": "desc",
      "key": "things",
      "url": "things",
      "createdAt": "2017-04-13T11:45:05.999Z",
      "updatedAt": "2017-04-13T11:45:05.999Z",
      "operationTypes": [
        {
          "name": "所有",
          "desc": "",
          "type": "thing.*",
          "createdAt": "2017-04-13T11:45:06.532Z",
          "updatedAt": "2017-04-13T11:45:06.532Z",
          "resourceTypeKey": "Thing"
        },
        {
          "name": "查看",
          "desc": "",
          "type": "thing.view",
          "createdAt": "2017-04-13T11:45:06.536Z",
          "updatedAt": "2017-04-13T11:45:06.536Z",
          "resourceTypeKey": "Thing"
        },
        {
          "name": "修改",
          "desc": "",
          "type": "thing.update",
          "createdAt": "2017-04-13T11:45:06.540Z",
          "updatedAt": "2017-04-13T11:45:06.540Z",
          "resourceTypeKey": "Thing"
        },
        {
          "name": "删除",
          "desc": "",
          "type": "thing.delete",
          "createdAt": "2017-04-13T11:45:06.545Z",
          "updatedAt": "2017-04-13T11:45:06.545Z",
          "resourceTypeKey": "Thing"
        }
      ]
    },
    {
      "name": "Deploy",
      "type": "Deploy",
      "desc": "设备布设",
      "model": "Thing",
      "nameField": "name",
      "idField": "id",
      "descField": "desc",
      "key": "things",
      "url": "things",
      "createdAt": "2017-04-13T11:45:06.007Z",
      "updatedAt": "2017-04-13T11:45:06.007Z",
      "operationTypes": [
        {
          "name": "所有",
          "desc": "",
          "type": "deploy.*",
          "createdAt": "2017-04-13T11:45:06.549Z",
          "updatedAt": "2017-04-13T11:45:06.549Z",
          "resourceTypeKey": "Deploy"
        },
        {
          "name": "查看",
          "desc": "",
          "type": "deploy.view",
          "createdAt": "2017-04-13T11:45:06.553Z",
          "updatedAt": "2017-04-13T11:45:06.553Z",
          "resourceTypeKey": "Deploy"
        },
        {
          "name": "修改",
          "desc": "",
          "type": "deploy.update",
          "createdAt": "2017-04-13T11:45:06.557Z",
          "updatedAt": "2017-04-13T11:45:06.557Z",
          "resourceTypeKey": "Deploy"
        },
        {
          "name": "删除",
          "desc": "",
          "type": "deploy.delete",
          "createdAt": "2017-04-13T11:45:06.561Z",
          "updatedAt": "2017-04-13T11:45:06.561Z",
          "resourceTypeKey": "Deploy"
        }
      ]
    }
  ]
}

查询资源组

查询当前登录主用户创建的所有资源组。

Request:

HTTP Request

GET /v1/api/resource_groups

GET /v1/api/resource_groups

Response:

{
  "total": 1,
  "resourceGroups": [
    {
      "id": "655b28f3-3945-4f14-a3ae-24e8e3ef102b",
      "name": "group1",
      "desc": null,
      "createBy": "2de50bee-f007-47e5-810d-8949c00017c8",
      "createdAt": "2017-04-19T06:13:27.995Z",
      "updatedAt": "2017-04-19T06:13:27.995Z"
    }
  ]
}

查询指定资源组

查询当前登录主用户创建的某个资源组。

HTTP Request

GET /v1/api/resource_groups/:id?

Request:

GET /v1/api/resource_groups/655b28f3-3945-4f14-a3ae-24e8e3ef102b

Response:

{
  "id": "655b28f3-3945-4f14-a3ae-24e8e3ef102b",
  "name": "group1",
  "desc": null,
  "createBy": "2de50bee-f007-47e5-810d-8949c00017c8",
  "createdAt": "2017-04-19T06:13:27.995Z",
  "updatedAt": "2017-04-19T06:13:27.995Z",
}

URL Parameters

参数 类型 必填 说明
id string 是 资源组id

查询指定资源组的资源

查询当前登录主用户创建的某个资源组的资源

HTTP Request

GET /v1/api/resource_groups/:resourceGroupId/resources

Request:

GET /v1/api/resource_groups/655b28f3-3945-4f14-a3ae-24e8e3ef102b/resources

Response:

{
  "total":1,
  "resources": [
    {
      "id": "8634ab7e-558b-47a9-8bc3-51c0f826d8b8",
      "name": "Interface",
      "desc": null,
      "type": "Interface",
      "key": "45950c0a-f953-4867-8b44-73673732fcbf",
      "createBy": "2de50bee-f007-47e5-810d-8949c00017c8",
      "createdAt": "2017-04-19T06:13:28.012Z",
      "updatedAt": "2017-04-19T06:13:28.012Z",
      "resourceGroupId": "655b28f3-3945-4f14-a3ae-24e8e3ef102b"
    }
  ]
}

URL Parameters

参数 类型 必填 说明
resourceGroupId string 是 资源组id

查询指定资源组的指定资源

查询当前登录主用户创建的某个资源组的指定资源

HTTP Request

GET /v1/api/resource_groups/:resourceGroupId/resources/:id

Request:

GET /v1/api/resource_groups/655b28f3-3945-4f14-a3ae-24e8e3ef102b/resources/8634ab7e-558b-47a9-8bc3-51c0f826d8b

Response:

{
  "id": "8634ab7e-558b-47a9-8bc3-51c0f826d8b8",
  "name": "Interface",
  "desc": null,
  "type": "Interface",
  "key": "45950c0a-f953-4867-8b44-73673732fcbf",
  "createBy": "2de50bee-f007-47e5-810d-8949c00017c8",
  "createdAt": "2017-04-19T06:13:28.012Z",
  "updatedAt": "2017-04-19T06:13:28.012Z",
  "resourceGroupId": "655b28f3-3945-4f14-a3ae-24e8e3ef102b"
}

URL Parameters

参数 类型 必填 说明
resourceGroupId string 是 资源组id
id string 是 资源id

查询不在指定资源组内的某类资源

查询当前登录主用户创建的某个资源组中未分配的某类资源。

HTTP Request

GET /v1/api/resource_groups/:resourceGroupId/not_in_gourp/reources/:type

Request:

GET /v1/api/resource_groups/655b28f3-3945-4f14-a3ae-24e8e3ef102b/resources/Protocol

Response:

{
  "total":1,
  "protocols": [
    {
      "id": "551f91d9-553b-42d2-9496-dfb1d928642c",
      "name": "Modbus",
      "desc": "Modbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。"
    }
  ]
}

URL Parameters

参数 类型 必填 说明
resourceGroupId string 是 资源组id
type string 是 资源类型,见查询资源类型接口

创建资源组

当前登录主用户创建资源组。

HTTP Request

POST /v1/api/resource_groups

Request:

POST /v1/api/resource_groups
body {
        "name": "iota",
        "desc": "IOTA",
        "resources": [{
          "type": "Protocol",
          "key": "551f91d9-553b-42d2-9496-dfb1d928642c"
        },{
          "type": "Thing",
          "key": "81fe4df8-6769-4b0e-9df8-5dc3b95a28c7"
        }]
     }

Response:

{
  "name": "iota",
  "desc": "IOTA",
  "resources": [
    {
      "type": "Protocol",
      "key": "551f91d9-553b-42d2-9496-dfb1d928642c",
      "name": "Modbus",
      "desc": "Modbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。"
    },
    {
      "type": "Thing",
      "key": "81fe4df8-6769-4b0e-9df8-5dc3b95a28c7",
      "name": "云南澜沧江大桥",
      "desc": "为云南澜沧江大桥建立在线监测系统,涵盖桥梁9个监测内容,全面掌握桥梁健康状况。"
    }
  ],
  "id": "118f795f-d080-4dae-83ad-408a32ec4d89"
}

Body Parameters

参数 类型 必填 说明
name string 是 资源组名称
desc string 否 资源组描述
resources array of object 是 添加的组内资源
type enum 是 资源类型 Protocol/Interface/Device/Thing/Deploy
key string 是 添加的组内资源的id

修改资源组基本信息

修改已经创建的资源组的基本信息。

HTTP Request

PUT /v1/api/resource_groups/:id

Request:

PUT /v1/api/resource_groups/118f795f-d080-4dae-83ad-408a32ec4d89
body {
        "name": "theIOTA",
        "desc": "theIOTA"
     }

URL Parameters

参数 类型 必填 说明
id string 是 资源组id

Body Parameters

参数 类型 必填 说明
name string 否 资源组名称
desc string 否 资源组描述

删除资源组

删除已经创建的资源组。

HTTP Request

DELETE /v1/api/resource_groups

Request:

DELETE /v1/api/resource_group
body {
        "ids":[
          "118f795f-d080-4dae-83ad-408a32ec4d89",
          "655b28f3-3945-4f14-a3ae-24e8e3ef102b"
          ]
     }

Body Parameters

参数 类型 必填 说明
ids array 否 资源组id

添加资源组内资源

向指定资源组内添加资源。

HTTP Request

POST /v1/api/resource_groups/:resourceGroupId/resources

Request:

POST /v1/api/resource_groups/118f795f-d080-4dae-83ad-408a32ec4d89/resources
body {
        "resources": [{
          "type": "Device",
          "key": "bda28056-9078-4b25-84a5-2abaa54e2a57"
        }]
     }

Response:

[
  {
    "type": "Device",
    "key": "bda28056-9078-4b25-84a5-2abaa54e2a57",
    "id": "2cc1a19e-c344-447e-9b2c-51ff884da1fb"
  }
]

URL Parameters

参数 类型 必填 说明
resourceGroupId string 是 资源组id

Body Parameters

参数 类型 必填 说明
resources array of object 是 添加的组内资源
type enum 是 资源类型 Protocol/Interface/Device/Thing/Deploy
key string 是 添加的组内资源的id

修改资源组内资源

修改已经创建的资源组内的资源。

HTTP Request

PUT /v1/api/resource_groups/:resourceGroupId/resources/:id

Request:

PUT /v1/api/resource_groups/118f795f-d080-4dae-83ad-408a32ec4d89/resources/2cc1a19e-c344-447e-9b2c-51ff884da1fb
body {
        "type": "Device",
        "key": "655b28f3-3945-4f14-a3ae-24e8e666102b"
     }

URL Parameters

参数 类型 必填 说明
resourceGroupId string 是 资源组id
id string 是 资源id

Body Parameters

参数 类型 必填 说明
type enum 是 资源类型 Protocol/Interface/Device/Thing/Deploy
key string 是 添加的组内资源的id

删除资源组内资源

删除已经创建的资源组内的资源。

HTTP Request

DELETE /v1/api/resource_groups/:resourceGroupId/resources

Request:

DELETE /v1/api/resource_groups/118f795f-d080-4dae-83ad-408a32ec4d89/resources
body {
        "ids":[
          "118f795f-d080-4dae-83ad-408a32ec4d89",
          "655b28f3-3945-4f14-a3ae-24e8e3ef102b"
          ]
     }

URL Parameters

参数 类型 必填 说明
resourceGroupId string 是 资源组id

Body Parameters

参数 类型 必填 说明
ids array 否 资源id

角色管理

角色管理包括一些对于角色权限的添加,目前支持的权限操作包括: “protocol.” , “protocol.view” , “protocol.update” , “protocol.delete” , “interface.” , “interface.view” , “interface.update” , “interface.delete” , “device.” , “device.view” , “device.update” , “device.delete” , “thing.” , “thing.view” , “thing.update” , “thing.delete” , “deploy.*” , “deploy.view” , “deploy.update” , “deploy.delete”

查询角色

查询当前登录主用户创建的所有角色。

HTTP Request

GET /v1/api/roles

Request:

GET /v1/api/roles

Response:

{
  "total": 1,
  "roles": [
    {
      "id": "43814894-1f9a-4a77-9b08-bc5aeff3cebf",
      "name": "role1",
      "desc": null,
      "createBy": "2de50bee-f007-47e5-810d-8949c00017c8",
      "createdAt": "2017-04-19T06:13:27.583Z",
      "updatedAt": "2017-04-19T06:13:27.583Z",
      "permissions": [
        {
          "id": "50fac7e6-ca82-4ae0-8c71-4e4a91703150",
          "createdAt": "2017-04-19T06:13:28.025Z",
          "updatedAt": "2017-04-19T06:13:28.025Z",
          "roleId": "43814894-1f9a-4a77-9b08-bc5aeff3cebf",
          "resourceTypeKey": "Interface",
          "operationTypeKey": "interface.*"
        }
      ]
    }
  ]
}

查询指定角色

查询当前登录主用户创建的某个角色。

HTTP Request

GET /v1/api/roles/:id?

Request:

GET /v1/api/roles/:43814894-1f9a-4a77-9b08-bc5aeff3cebf

Response:

{
  "id": "43814894-1f9a-4a77-9b08-bc5aeff3cebf",
  "name": "iota",
  "desc": null,
  "createBy": "2de50bee-f007-47e5-810d-8949c00017c8",
  "createdAt": "2017-04-19T06:13:27.583Z",
  "updatedAt": "2017-04-19T06:13:27.583Z",
  "permissions": [
    {
      "id": "50fac7e6-ca82-4ae0-8c71-4e4a91703150",
      "createdAt": "2017-04-19T06:13:28.025Z",
      "updatedAt": "2017-04-19T06:13:28.025Z",
      "roleId": "43814894-1f9a-4a77-9b08-bc5aeff3cebf",
      "resourceTypeKey": "Interface",
      "operationTypeKey": "interface.*"
    }
  ]
}

URL Parameters

参数 类型 必填 说明
id string 是 角色id

创建角色

当前登录主用户创建角色。

HTTP Request

POST /v1/api/role

Request:

POST /v1/api/role
body {
        "name": "IOTA",
        "desc": "IOTA",
        "permissions": [{
          "resourceTypeKey": "Protocol",
          "operationTypeKey": "protocol.view"
        },
        {
          "resourceTypeKey": "Protocol",
          "operationTypeKey": "protocol.delete"
        }]
     }

Response:

{
  "name": "IOTA",
  "desc": "IOTA",
  "permissions": [
    {
      "resourceTypeKey": "Protocol",
      "operationTypeKey": "protocol.view",
      "roleId": "c155dfda-8b34-4352-9a1b-de33abe17fd9",
      "id": "dabde18f-930c-4700-a845-996c59b72db4"
    },
    {
      "resourceTypeKey": "Protocol",
      "operationTypeKey": "protocol.delete",
      "roleId": "c155dfda-8b34-4352-9a1b-de33abe17fd9",
      "id": "86507621-c132-4f09-9ad3-295d901047e8"
    }
  ],
  "id": "c155dfda-8b34-4352-9a1b-de33abe17fd9"
}

Body Parameters

参数 类型 必填 说明
name string 是 角色名称
desc string 否 角色描述
permissions array of object 是 添加的权限
resourceTypeKey enum 是 资源类型 Protocol/Interface/Device/Thing/Deploy
operationTypeKey enum 是 添加的权限操作

修改角色基本信息

修改已经创建的角色的基本信息。

HTTP Request

PUT /v1/api/roles/:id

Request:

PUT /v1/api/roles/:c155dfda-8b34-4352-9a1b-de33abe17fd9
body {
        "name": "iota",
        "desc": "iota",
     }

URL Parameters

参数 类型 必填 说明
id string 是 角色id

Body Parameters

参数 类型 必填 说明
name string 否 角色名
desc string 否 角色描述

删除角色

删除已经创建的角色。

HTTP Request

DELETE /v1/api/roles

Request:

DELETE /v1/api/roles
body {
        "ids":[
          "118f795f-d080-4dae-83ad-408a32ec4d89",
          "655b28f3-3945-4f14-a3ae-24e8e3ef102b"
        ]
     }

Body Parameters

参数 类型 必填 说明
ids array 否 角色id

更新角色权限

修改已经创建的角色的权限。

HTTP Request

PUT /v1/api/roles/:roleId/permissions

Request:

PUT /v1/api/roles/:c155dfda-8b34-4352-9a1b-de33abe17fd9/permissions
body {
        "permissions": [{
          "resourceTypeKey": "Protocol",
          "operationTypeKey": "protocol.*"
        },
        {
          "resourceTypeKey": "Protocol",
          "operationTypeKey": "protocol.update"
        }]
     }

URL Parameters

参数 类型 必填 说明
id string 是 角色id

Body Parameters

参数 类型 必填 说明
permissions array of object 是 添加的权限
resourceTypeKey enum 是 资源类型 Protocol/Interface/Device/Thing/Deploy
operationTypeKey enum 是 添加的权限操作

用户组管理

查询用户组

查询主用户创建的所有用户组。

HTTP Request

GET /v1/api/user_groups

Request:

GET /v1/api/user_groups

Response:

{
  "total": 1
  "userGroups": [
    {
      "id": "118b9975-3253-44b1-acfd-f543c9d23a2a",
      "name": "userGroup1",
      "desc": null,
      "createdAt": "2017-04-19T06:13:27.563Z"
    }
  ]
}

查询指定用户组

查询主用户创建的某个用户组。

HTTP Request

GET /v1/api/user_groups/id

Request:

GET /v1/api/user_groups/118b9975-3253-44b1-acfd-f543c9d23a2a

Response:

{
  "id": "118b9975-3253-44b1-acfd-f543c9d23a2a",
  "name": "userGroup1",
  "desc": null,
  "createdAt": "2017-04-19T06:13:27.563Z"
}

URL Parameters

参数 类型 必填 说明
id string 是 用户组id

创建用户组

当前登录主账户创建用户组。

HTTP Request

POST /v1/api/user_groups

Request:

POST /v1/api/user_groups
body {
        "name": "iota",
        "desc": "iota",
        "users": [{
            "type": "Sub",
            "key": "0d6ce974-c94d-41fa-878b-bfd56606fc78"
          },
          {
            "type": "Invited",
            "key": "iota@theiota.cn"
          }]
     }

Response:

{
  "name": "iota",
  "desc": "iota",
  "users": [
    {
      "type": "Sub",
      "key": "0d6ce974-c94d-41fa-878b-bfd56606fc78",
      "userId": "0d6ce974-c94d-41fa-878b-bfd56606fc78",
      "username": "IOTA",
      "email": null,
      "id": "50000272-fcf4-48af-a7c3-11324a7c0f26",
      "enable": true,
      "createdAt": "2017-04-19T08:13:55.799Z"
    },
    {
      "type": "Invited",
      "key": "iota@theiota.cn",
      "userId": "35d4da11e2589bf03821ec777ddfe53761fa9b22",
      "username": "iota",
      "email": "iota@theiota.cn",
      "gravatar": null,
      "id": "538197cb-4d55-4ac0-82b7-82f681dc055b",
      "enable": true,
      "createdAt": "2017-04-19T08:13:55.805Z",
      "accept": false
    }
  ],
  "id": "15599e21-166b-4e65-b022-31c8dcba9d1e"
}

Body Parameters

参数 类型 必填 说明
name string 是 用户组名称
desc string 是 用户组描述
users array of object 是 添加的用户
type enum 是 添加的用户类型 Sub/Invited
key string 是 添加的用户key值

修改用户组基本信息

当前登录主账户修改指定的用户组基本信息。

HTTP Request

PUT /v1/api/user_groups/:id

Request:

PUT /v1/api/user_groups/15599e21-166b-4e65-b022-31c8dcba9d1e
body {
        "name": "IOTA",
        "desc": "IOTA"
     }

Body Parameters

参数 类型 必填 说明
name string 是 用户组名称
desc string 是 用户组描述

删除用户组

删除已经创建的用户组。

HTTP Request

DELETE /v1/api/user_groups

Request:

DELETE /v1/api/user_groups
body {
        "ids":[
          "15599e21-166b-4e65-b022-31c8dcba9d1e",
          "ae3b28f3-3945-4g24-a3ae-24e8e3ef10i8"
        ]
     }

Body Parameters

参数 类型 必填 说明
ids array 否 用户组id

查询指定用户组内用户

查询主用户创建的某个用户组内的所有用户。

HTTP Request

GET /v1/api/user_groups/:userGroupId/users

Request:

GET /v1/api/user_groups/118b9975-3253-44b1-acfd-f543c9d23a2a/users

Response:

{
  "total": 1,
  "users": [
    {
      "id": "8e273a16-ba8d-4770-8df6-4d089e0b3e97",
      "userId": "0d6ce974-c94d-41fa-878b-bfd56606fc78",
      "userGroupId": "118b9975-3253-44b1-acfd-f543c9d23a2a",
      "email": null,
      "username": "marboo",
      "accept": false,
      "enable": true,
      "type": "Sub",
      "createdAt": "2017-04-19T06:13:27.573Z"
    }
  ]
}

URL Parameters

参数 类型 必填 说明
userGroupId string 是 用户组id

查询指定用户组内指定用户

查询主用户创建的某个用户组内的某个用户。

HTTP Request

GET /v1/api/user_groups/:userGroupId/users/:id

Request:

GET /v1/api/user_groups/118b9975-3253-44b1-acfd-f543c9d23a2a/users/8e273a16-ba8d-4770-8df6-4d089e0b3e97

Response:

{
  "id": "8e273a16-ba8d-4770-8df6-4d089e0b3e97",
  "userId": "0d6ce974-c94d-41fa-878b-bfd56606fc78",
  "userGroupId": "118b9975-3253-44b1-acfd-f543c9d23a2a",
  "email": null,
  "username": "marboo",
  "accept": false,
  "enable": true,
  "type": "Sub",
  "createdAt": "2017-04-19T06:13:27.573Z"
}

URL Parameters

参数 类型 必填 说明
userGroupId string 是 用户组id
id string 是 用户组内用户id

查询用户组的授权信息

查询主用户创建的某个用户组的某个授权信息。

HTTP Request

GET /v1/api/user_groups/:userGroupId/authorizations/:id

Request:

GET /v1/api/user_groups/118b9975-3253-44b1-acfd-f543c9d23a2a/authorizations/265347af-2c62-4b5c-913e-43fff8c5364a

Response:

{
  "id": "265347af-2c62-4b5c-913e-43fff8c5364a",
  "createBy": "2de50bee-f007-47e5-810d-8949c00017c8",
  "createdAt": "2017-04-19T06:13:28.039Z",
  "updatedAt": "2017-04-19T06:13:28.039Z",
  "userGroupId": "118b9975-3253-44b1-acfd-f543c9d23a2a",
  "resourceGroupId": "655b28f3-3945-4f14-a3ae-24e8e3ef102b",
  "roleId": "43814894-1f9a-4a77-9b08-bc5aeff3cebf",
  "userGroup": {
    "id": "118b9975-3253-44b1-acfd-f543c9d23a2a",
    "name": "userGroup1",
    "desc": null,
    "createBy": "2de50bee-f007-47e5-810d-8949c00017c8",
    "createdAt": "2017-04-19T06:13:27.563Z",
    "updatedAt": "2017-04-19T06:13:27.563Z"
  },
  "resourceGroup": {
    "id": "655b28f3-3945-4f14-a3ae-24e8e3ef102b",
    "name": "group1",
    "desc": null,
    "createBy": "2de50bee-f007-47e5-810d-8949c00017c8",
    "createdAt": "2017-04-19T06:13:27.995Z",
    "updatedAt": "2017-04-19T06:13:27.995Z"
  },
  "role": {
    "id": "43814894-1f9a-4a77-9b08-bc5aeff3cebf",
    "name": "role1",
    "desc": null,
    "createBy": "2de50bee-f007-47e5-810d-8949c00017c8",
    "createdAt": "2017-04-19T06:13:27.583Z",
    "updatedAt": "2017-04-19T06:13:27.583Z"
  }
}

URL Parameters

参数 类型 必填 说明
userGroupId string 是 用户组id
id string 是 用户组的授权信息id

查询用户组授权信息

查询主用户创建的某个用户组的所有授权信息。

HTTP Request

GET /v1/api/user_groups/:userGroupId/authorizations

Request:

GET /v1/api/user_groups/118b9975-3253-44b1-acfd-f543c9d23a2a/authorizations

Response:

{
  "total": 1,
  "authorizations": [
    {
      "id": "265347af-2c62-4b5c-913e-43fff8c5364a",
      "createBy": "2de50bee-f007-47e5-810d-8949c00017c8",
      "createdAt": "2017-04-19T06:13:28.039Z",
      "updatedAt": "2017-04-19T06:13:28.039Z",
      "userGroupId": "118b9975-3253-44b1-acfd-f543c9d23a2a",
      "resourceGroupId": "655b28f3-3945-4f14-a3ae-24e8e3ef102b",
      "roleId": "43814894-1f9a-4a77-9b08-bc5aeff3cebf",
      "userGroup": {
        "id": "118b9975-3253-44b1-acfd-f543c9d23a2a",
        "name": "userGroup1",
        "desc": null,
        "createBy": "2de50bee-f007-47e5-810d-8949c00017c8",
        "createdAt": "2017-04-19T06:13:27.563Z",
        "updatedAt": "2017-04-19T06:13:27.563Z"
      },
      "resourceGroup": {
        "id": "655b28f3-3945-4f14-a3ae-24e8e3ef102b",
        "name": "group1",
        "desc": null,
        "createBy": "2de50bee-f007-47e5-810d-8949c00017c8",
        "createdAt": "2017-04-19T06:13:27.995Z",
        "updatedAt": "2017-04-19T06:13:27.995Z"
      },
      "role": {
        "id": "43814894-1f9a-4a77-9b08-bc5aeff3cebf",
        "name": "role1",
        "desc": null,
        "createBy": "2de50bee-f007-47e5-810d-8949c00017c8",
        "createdAt": "2017-04-19T06:13:27.583Z",
        "updatedAt": "2017-04-19T06:13:27.583Z"
      }
    }
  ]
}

URL Parameters

参数 类型 必填 说明
userGroupId string 是 用户组id

查询不在用户组中的子用户

查询不在某个用户组的所有子用户。

HTTP Request

GET /v1/api/user_groups/:userGroupId/not_in_group/users

Request:

GET /v1/api/user_groups/118b9975-3253-44b1-acfd-f543c9d23a2a/not_in_group/users

Response:

{
  "total": 1,
  "users": [
    {
      "id": "0d6ce974-c94d-41fa-878b-bfd56606fc66",
      "username": "IOTA",
      "email": null,
      "mobile": null,
      "subExt": {
        "id": 2,
        "dependent": true,
        "enable": true,
        "createdAt": "2017-04-19T06:13:27.535Z",
        "updatedAt": "2017-04-19T06:13:27.535Z",
        "parentId": "2de50bee-f007-47e5-810d-8949c00017c8",
        "userId": "0d6ce974-c94d-41fa-878b-bfd56606fc66"
      }
    }
  ]
}

URL Parameters

参数 类型 必填 说明
userGroupId string 是 用户组id

查询用户组未分配资源组

查询某个用户组中未分配的资源组。

HTTP Request

GET /v1/api/user_groups/:userGroupId/resource_groups/not_assigned

Request:

GET /v1/api/user_groups/118b9975-3253-44b1-acfd-f543c9d23a2a/resource_groups/not_assigned

Response:

{
  "total": 1,
  "resourceGroups": [
    {
      "id": "118f795f-d080-4dae-83ad-408a32ec4d89",
      "name": "theIOTA",
      "desc": "theIOTA",
      "createBy": "2de50bee-f007-47e5-810d-8949c00017c8",
      "createdAt": "2017-04-19T06:24:01.995Z",
      "updatedAt": "2017-04-19T06:31:17.685Z",
      "resources": [
        {
          "id": "50ff1437-1e4f-4eda-b759-1bbb3da5748e",
          "name": "Modbus",
          "desc": "Modbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。",
          "type": "Protocol",
          "key": "551f91d9-553b-42d2-9496-dfb1d928642c",
          "createBy": "2de50bee-f007-47e5-810d-8949c00017c8",
          "createdAt": "2017-04-19T06:24:02.010Z",
          "updatedAt": "2017-04-19T06:24:02.010Z",
          "resourceGroupId": "118f795f-d080-4dae-83ad-408a32ec4d89"
        }
      ]
    }
  ]
}

URL Parameters

参数 类型 必填 说明
userGroupId string 是 用户组id

通过邮箱验证用户是否在用户组中

通过邮箱验证指定用户是否在指定用户组中。

HTTP Request

GET /v1/api/user_groups/:userGroupId/emails/verify

Request:

GET /v1/api/user_groups/118b9975-3253-44b1-acfd-f543c9d23a2a/emails/verify?email=iota@theiota.cn

URL Parameters

参数 类型 必填 说明
userGroupId string 是 用户组id

Query Parameters

参数 类型 必填 说明
email string 是 用户邮箱

通过邮箱验证用户是否有效

通过邮箱验证指定用户是否在指定用户组中。

HTTP Request

GET /v1/api/user_groups/emails/verify

Request:

GET /v1/api/user_groups/emails/verify?email=iota@theiota.cn

Query Parameters

参数 类型 必填 说明
email string 是 用户邮箱

新增用户组内用户

向指定用户组内添加用户。

HTTP Request

POST /v1/api/user_groups/:userGroupId/users

Request:

POST /v1/api/user_groups/15599e21-166b-4e65-b022-31c8dcba9d1e/users
body {
        "users": [{
            "type": "Sub",
            "key": "0d6ce974-c94d-41fa-878b-bfd56606fc66"
          },
          {
            "type": "Invited",
            "key": "IOTA@theiota.cn"
          }]
     }

Response:

[
  {
    "type": "Sub",
    "key": "0d6ce974-c94d-41fa-878b-bfd56606fc66",
    "userId": "0d6ce974-c94d-41fa-878b-bfd56606fc66",
    "username": "IOTA",
    "email": null,
    "enable": true,
    "id": "08c4dce8-3139-4c8b-bd40-ca2e57c92449",
    "createdAt": "2017-04-19T08:37:04.948Z"
  },
  {
    "type": "Invited",
    "key": "IOTA@theiota.cn",
    "userId": "35d4da11e2589bf03821ec777ddfe53761fa9b66",
    "username": "",
    "email": "IOTA@theiota.cn",
    "garavatar": null,
    "enable": true,
    "id": "88261264-f505-4ca1-9617-89c03935ed86",
    "createdAt": "2017-04-19T08:37:04.955Z",
    "accept": false
  }
]

URL Parameters

参数 类型 必填 说明
userGroupId string 是 用户组id

Body Parameters

参数 类型 必填 说明
users array of object 是 添加的用户
type enum 是 添加的用户类型 Sub/Invited
key string 是 添加的用户的key值

删除用户组内用户

删除指定用户组内的用户。

HTTP Request

DELETE /v1/api/user_groups/:userGroupId/users

Request:

DELETE /v1/api/user_groups/15599e21-166b-4e65-b022-31c8dcba9d1e/users
body {
        "ids":[
          "15599e21-166b-4e65-b022-31c8dcba9d1e",
          "ae3b28f3-3945-4g24-a3ae-24e8e3ef10i8"
        ]
     }

URL Parameters

参数 类型 必填 说明
userGroupId string 是 用户组id

Body Parameters

参数 类型 必填 说明
ids array 否 用户组内用户id

启用组内用户

启用指定用户组内用户。

HTTP Request

POST /v1/api/user_groups/:userGroupId/users/enable

Request:

POST /v1/api/user_groups/15599e21-166b-4e65-b022-31c8dcba9d1/users/enable
body {
       "ids":[
          "15599e21-166b-4e65-b022-31c8dcba9d1e",
          "ae3b28f3-3945-4g24-a3ae-24e8e3ef10i8"
        ]
     }

URL Parameters

参数 类型 必填 说明
userGroupId string 是 用户组id

Body Parameters

参数 类型 必填 说明
ids 否 用户组内用户id

禁用子用户

禁用指定用户组内用户。

HTTP Request

POST /v1/api/user_groups/:userGroupId/users/disable

Request:

POST /v1/api/user_groups/15599e21-166b-4e65-b022-31c8dcba9d1/users/disable
body {
       "ids":[
          "15599e21-166b-4e65-b022-31c8dcba9d1e",
          "ae3b28f3-3945-4g24-a3ae-24e8e3ef10i8"
        ]
     }

URL Parameters

参数 类型 必填 说明
userGroupId string 是 用户组id

Body Parameters

参数 类型 必填 说明
ids array 否 用户组内用户id

接受用户组邀请

用户通过来自其他用户的邀请加入某个用户组的邀请。

HTTP Request

GET /v1/api/user_groups/:userGroupId/invite_users/accept

Request:

GET /v1/api/user_groups/15599e21-166b-4e65-b022-31c8dcba9d1/users/accept?query=a0cfbac2-7679-41bb-ac53-e333fe93568d

Query Parameters

参数 类型 必填 说明
code string 是 邀请密码

授权

创建授权信息

将用户组,角色,资源组绑定并授权。

HTTP Request

POST /v1/api/authorizations

Request:

POST /v1/api/authorizations
body {
      "userGroupId": "15599e21-166b-4e65-b022-31c8dcba9d1e",
      "resourceGroupId": "118f795f-d080-4dae-83ad-408a32ec4d89",
      "roleId": "76696d3d-e327-432c-8622-7b23bde28aca"
    }

Response:

{
  "userGroupId": "15599e21-166b-4e65-b022-31c8dcba9d1e",
  "resourceGroupId": "118f795f-d080-4dae-83ad-408a32ec4d89",
  "roleId": "76696d3d-e327-432c-8622-7b23bde28aca",
  "createBy": "2de50bee-f007-47e5-810d-8949c00017c8",
  "id": "ff5606e8-1b8e-4677-943e-6efc7076a684",
  "createdAt": "2017-04-19T09:39:33.730Z"
}

Body Parameters

参数 类型 必填 说明
userGroupId string 是 用户组id
resourceGroupId string 是 资源组id
roleId string 是 角色id

删除授权信息

删除已创建的授权信息。

HTTP Request

DELETE /v1/api/authorizations/

Request:

DELETE /v1/api/authorizations/ff5606e8-1b8e-4677-943e-6efc7076a684
body {
      "ids":[
        "ff5606e8-1b8e-4677-943e-6efc7076a684",
        "ae3b28f3-3945-4g24-a3ae-24e8e3ef10i8"
        ]
    }

Body Parameters

参数 类型 必填 说明
ids array 否 授权信息id

应用管理

开发者通过应用管理来管理所开发应用所需的App Id/App Secret。

查询所有应用

查询开发者定义的所有应用,获取App Id/App Secret。

HTTP Request

GET /v1/api/oauth2/apps

Request

GET /v1/api/oauth2/apps

Response

{
    "total": 3,
    "applications": [{
        "id": "aabc7693-d2e9-4e83-82ff-fb9c1caefe4c",
        "name": "Application-App1",
        "key": "301175cba07576e04c0fde4d0b22c11892e7e6f1",
        "secret": "e8389b25439a54a6f2b9dce2826f594a65ee6c87",
        "platform": "Application",
        "extInfo": null,
        "createdAt": "2017-04-19T07:01:04.612Z",
        "updatedAt": "2017-04-19T07:01:04.612Z",
        "userId": "1eb8ccbc-e03c-4906-ba28-baa1ac67027d"
    }, {
        "id": "cbd51d80-fe74-4896-8e10-eeb556a922d6",
        "name": "Android-App2",
        "key": "5a200ab5190cc3ba1516a1ca25b14e15cb221c05",
        "secret": "42bbee5ff8d359013fc31b4146c4f64d8bc8e4d5",
        "platform": "Android",
        "extInfo": null,
        "createdAt": "2017-04-19T07:01:04.628Z",
        "updatedAt": "2017-04-19T07:01:04.628Z",
        "userId": "1eb8ccbc-e03c-4906-ba28-baa1ac67027d"
    }, {
        "id": "3371c7fd-7282-42f6-bea6-a6b902565b16",
        "name": "iOS-App2",
        "key": "b6a8106f551ca481fb8ca62dd1a5938a6b7a8103",
        "secret": "ded5419090aa5d2e123bd05a72b445363dfbddc0",
        "platform": "iOS",
        "extInfo": null,
        "createdAt": "2017-04-19T07:01:04.640Z",
        "updatedAt": "2017-04-19T07:01:04.640Z",
        "userId": "1eb8ccbc-e03c-4906-ba28-baa1ac67027d"
    }]
}

查询指定应用

查询指定的应用以获取 App Id/ App Secret。

HTTP Request

GET /v1/api/oauth2/apps/:id

Request

GET /v1/api/oath2/apps/GET /v1/api/oauth2/apps/:idaabc7693-d2e9-4e83-82ff-fb9c1caefe4

Response

{
    "id": "aabc7693-d2e9-4e83-82ff-fb9c1caefe4c",
    "name": "Application-App1",
    "key": "301175cba07576e04c0fde4d0b22c11892e7e6f1",
    "secret": "e8389b25439a54a6f2b9dce2826f594a65ee6c87",
    "platform": "Application",
    "extInfo": null,
    "createdAt": "2017-04-19T07:01:04.612Z",
    "updatedAt": "2017-04-19T07:01:04.612Z",
    "userId": "1eb8ccbc-e03c-4906-ba28-baa1ac67027d"
}

URL Parameters

参数 类型 必填 说明
id string 是 App Id

创建应用

创建新的应用。

HTTP Request

POST /v1/api/oauth2/apps

Request

POST  /v1/api/oauth2/apps

body {
    "name": "Web",
    "platform": "Web",
}

Response

{
    "id": "a17b92af-7e84-4bba-b18a-7cf07130479f",
    "key": "00837738250ffb99d383c77572a5c059b8ffae74",
    "secret": "2ccc8124d00d8a67d31360881d6c43b534164fce",
    "userId": "1eb8ccbc-e03c-4906-ba28-baa1ac67027d",
    "name": "Web",
    "platform": "Web",
    "updatedAt": "2017-04-20T03:44:20.977Z",
    "createdAt": "2017-04-20T03:44:20.977Z",
    "extInfo": null
}

Body Parameters

参数 类型 必填 说明
name string 是 名称
platform enum 是 应用类型,Web/Android/Application/iOS

删除应用

删除指定的应用。

HTTP Request

DELETE /v1/api/oauth2/apps/:id

Request

DELETE /v1/api/oauth2/apps/a17b92af-7e84-4bba-b18a-7cf07130479

URL Parameters

参数 类型 必填 说明
id string 是 应用Id

账户管理

账户信息

查询当前账户信息

查询当前用户的账户信息

HTTP Request

GET /v1/api/accounts/finance

Request

GET /v1/api/accounts/finance

Response

{
  "id": "912cccc5-29ad-4c1d-8071-2417b7c4cf4e",
  "accountName": "admin",
  "balance": 6000,
  "totalFee": 0,
  "serviceInfo": null
}

个人认证

查询个人认证信息

查询当前用户的个人认证信息。

HTTP Request

GET /v1/api/accounts/certifications/person

Request

GET /v1/api/accounts/certifications/person

Response

{
  "id": "d673cc1b-67ad-4c3a-a232-0ad4fd6675c5",
  "name": "张三",
  "cardId": "429005199303197130",
  "frontImg": "/upload/personcert/upload_cfce57316e85d700ed6214a0cba0e81c.png",
  "reverseImg": "/upload/personcert/upload_554651075cf88363183723b7c26f35b7.png",
  "status": "authenticating",
  "createdAt": "2017-04-19T07:39:02.285Z",
  "updatedAt": "2017-04-19T07:39:02.285Z",
  "userId": "26b087ce-8b28-449e-80d9-986f78e734fa"
}

创建个人认证信息

当前用户创建认证信息

HTTP Request

POST /v1/api/accounts/certifications/person

Request

POST /v1/api/accounts/certifications/person
body {
       "name": "张三",
       "cardId": "429005199303197130",
       "frontImg": "/upload/personcert/upload_cfce57316e85d700ed6214a0cba0e81c.png",
       "reverseImg": "/upload/personcert/upload_554651075cf88363183723b7c26f35b7.png"
     }

Response

{
  "id": "d673cc1b-67ad-4c3a-a232-0ad4fd6675c5",
  "name": "张三",
  "cardId": "429005199303197130",
  "frontImg": "/upload/personcert/upload_cfce57316e85d700ed6214a0cba0e81c.png",
  "reverseImg": "/upload/personcert/upload_554651075cf88363183723b7c26f35b7.png",
  "status": "authenticating",
  "createdAt": "2017-04-19T07:39:02.285Z",
  "updatedAt": "2017-04-19T07:39:02.285Z",
  "userId": "26b087ce-8b28-449e-80d9-986f78e734fa"
}

Body Parameters

参数 类型 必填 说明
name string 是 用户姓名
cardId string 是 用户身份证号
frontImg string 是 身份证正面照(上传的图片地址)
reverseImg string 是 身份证反面照(上传的图片地址)

修改个人认证信息

当前用户认证信息提交后,经审核后不通过的前提下,可以修改个人认证信息。

HTTP Request

PUT /v1/api/accounts/certifications/person

Request

PUT /v1/api/accounts/certifications/person
body {
       "name": "李四",
       "cardId": "429005199303197111",
       "frontImg": "/upload/personcert/upload_cfce57316e85d700ed6214a0cba0e81c.png",
       "reverseImg": "/upload/personcert/upload_554651075cf88363183723b7c26f35b7.png"
     }

Body Parameters

参数 类型 必填 说明
name string 否 用户姓名
cardId string 否 用户身份证号
frontImg string 否 身份证正面照(上传的图片地址)
reverseImg string 否 身份证反面照(上传的图片地址)

企业认证

查询企业认证信息

查询当前用户的企业认证信息。

HTTP Request

GET /v1/api/accounts/certifications/company

Request

GET /v1/api/accounts/certifications/company

Response

{
  "id": "17349e46-ece8-4565-95c5-137457a9a698",
  "type": "company",
  "name": "张三的公司",
  "licenseId": "111111",
  "licenseImg": "/upload/companycert/upload_3c5b493fe3f5c6e30ad1bfcd74c969a7.png",
  "status": "authenticating",
  "adminName": "张三",
  "cardId": "429015199603197111",
  "frontImg": "/upload/companycert/upload_2b3bf955d79ae1a05efa9f529ee2d77f.png",
  "reverseImg": "/upload/companycert/upload_4cabaf22034fa3f570dd4029e9623bd1.png",
  "reason": null,
  "contacts": null,
  "address": null,
  "mobile": null,
  "email": null,
  "desc": null,
  "createdAt": "2017-04-19T08:23:01.304Z",
  "updatedAt": "2017-04-19T08:23:01.304Z",
  "userId": "655d7ac5-5b32-4ca1-82b2-a95bdf69bcef"
}

创建企业认证信息

当前用户提交企业认证信息。

HTTP Request

POST /v1/api/accounts/certifications/company

Request

POST /v1/api/accounts/certifications/company
body {
       "type": "company",
       "name": "张三的公司",
       "licenseId": "111111",
       "licenseImg": "/upload/companycert/upload_3c5b493fe3f5c6e30ad1bfcd74c969a7.png",
       "adminName": "张三",
       "cardId": "429015199603197111",
       "frontImg": "/upload/companycert/upload_2b3bf955d79ae1a05efa9f529ee2d77f.png",
       "reverseImg": "/upload/companycert/upload_4cabaf22034fa3f570dd4029e9623bd1.png"
     }

Response

{
  "id": "f9f50683-f207-48d7-a3bb-64f738b3305d",
  "status": "authenticating",
  "userId": "9623656f-e25b-4055-bc3c-3e3c8da48c5e",
  "type": "company",
  "name": "张三的公司",
  "licenseId": "111111",
  "licenseImg": "/upload/companycert/upload_3c5b493fe3f5c6e30ad1bfcd74c969a7.png",
  "adminName": "张三",
  "cardId": "429015199603197111",
  "frontImg": "/upload/companycert/upload_2b3bf955d79ae1a05efa9f529ee2d77f.png",
  "reverseImg": "/upload/companycert/upload_4cabaf22034fa3f570dd4029e9623bd1.png",
  "updatedAt": "2017-04-19T08:45:18.225Z",
  "createdAt": "2017-04-19T08:45:18.225Z",
  "reason": null,
  "contacts": null,
  "address": null,
  "mobile": null,
  "email": null,
  "desc": null
}

Body Parameters

参数 类型 必填 说明
type string 是 组织类型(企业company or 组织organization)
name string 是 企业名称
licenseId string 是 企业执照注册号(上传的图片地址)
licenseImg string 是 营业执照扫描件(上传的图片地址)
adminName string 是 真实姓名
cardId string 是 身份证号
frontImg string 是 身份证正面照(上传的图片地址)
reverseImg string 是 身份证反面照(上传的图片地址)

修改企业认证信息

当前用户认证信息提交后,经审核不通过的前提下,可以修改企业认证信息。

HTTP Request

PUT /v1/api/accounts/certifications/company

Request

PUT /v1/api/accounts/certifications/company
body {
       "adminName": "李四"
     }

Body Parameters

参数 类型 必填 说明
type string 否 组织类型(企业company or 组织organization)
name string 否 企业名称
licenseId string 否 企业执照注册号(上传的图片地址)
licenseImg string 否 营业执照扫描件(上传的图片地址)
adminName string 否 真实姓名
cardId string 否 身份证号
frontImg string 否 身份证正面照(上传的图片地址)
reverseImg string 否 身份证反面照(上传的图片地址)

修改企业公开信息

当前用户企业认证成功后,可以修改企业的公开信息

HTTP Request

PUT /v1/api/accounts/certifications/company/profile

Request

PUT /v1/api/accounts/certifications/company/profile
body {
         "contacts": "张三",
         "address": "南京",
         "mobile": "15111111111",
         "email": "11@qq.com",
         "desc": "互联网公司",
     }

Body Parameters

参数 类型 必填 说明
contacts string 否 联系人
address string 否 地址
mobile string 否 联系电话
email string 否 邮箱
desc string 否 描述

服务包管理

查询产品服务包

查询所有的产品服务包

HTTP Request

GET /v1/api/services/packages

Request

GET /v1/api/services/packages

Response

{
  "services": [
    {
      "id": "ff931272-68a6-486f-a67e-09b0f65738b3",
      "name": "免费版",
      "serviceType": "FREE",
      "desc": "描述你能干什么",
      "specification": {
        "resources": {
          "thing": {
            "viewType": 1,
            "available": true,
            "name": "创建Thing",
            "desc": "",
            "quota": 1,
            "unit": "个",
            "extend": ""
          },
          "device": {
            "viewType": 1,
            "available": true,
            "name": "创建设备",
            "desc": "您可以创建多少个设备",
            "quota": 1,
            "unit": "个",
            "extend": ""
          },
          "protocol": {
            "viewType": 1,
            "available": true,
            "name": "创建协议",
            "desc": "您可以创建多少条协议",
            "quota": 1,
            "unit": "条",
            "extend": ""
          },
          "interface": {
            "viewType": 1,
            "available": true,
            "name": "创建接口",
            "desc": "您可以创建多少个接口",
            "quota": 1,
            "unit": "个",
            "extend": ""
          }
        },
        "server": {
          "s1": {
            "viewType": 1,
            "available": true,
            "name": "工单响应",
            "desc": "",
            "quota": 24,
            "unit": "小时",
            "extend": "内"
          },
          "s2": {
            "viewType": 2,
            "available": false,
            "name": "一对一技术支持",
            "desc": ""
          },
          "s3": {
            "viewType": 2,
            "available": false,
            "name": "一对一客户服务"
          },
          "s4": {
            "viewType": 2,
            "available": false,
            "name": "支付系统技术指导"
          }
        }
      },
      "price": 0,
      "createdAt": "2017-04-19T06:35:35.576Z",
      "updatedAt": "2017-04-19T06:35:35.576Z"
    },
    {
      "id": "a54de31b-2122-4934-b673-3e97be59e93b",
      "name": "基础版",
      "serviceType": "BASIC",
      "desc": "描述服务包B能干什么",
      "specification": {
        "resources": {
          "thing": {
            "viewType": 1,
            "available": true,
            "name": "创建Thing",
            "desc": "",
            "quota": 5,
            "unit": "个",
            "extend": ""
          },
          "device": {
            "viewType": 1,
            "available": true,
            "name": "创建设备",
            "desc": "您可以创建多少个设备",
            "quota": 10,
            "unit": "个",
            "extend": ""
          },
          "protocol": {
            "viewType": 1,
            "available": true,
            "name": "创建协议",
            "desc": "您可以创建多少条协议",
            "quota": 10,
            "unit": "条",
            "extend": ""
          },
          "interface": {
            "viewType": 1,
            "available": true,
            "name": "创建接口",
            "desc": "您可以创建多少个接口",
            "quota": 10,
            "unit": "个",
            "extend": ""
          }
        },
        "server": {
          "s1": {
            "viewType": 1,
            "available": true,
            "name": "工单响应",
            "desc": "",
            "quota": 24,
            "unit": "小时",
            "extend": "内"
          },
          "s2": {
            "viewType": 2,
            "available": false,
            "name": "一对一技术支持",
            "desc": ""
          },
          "s3": {
            "viewType": 2,
            "available": false,
            "name": "一对一客户服务"
          },
          "s4": {
            "viewType": 2,
            "available": false,
            "name": "支付系统技术指导"
          }
        }
      },
      "price": 0.01,
      "createdAt": "2017-04-19T06:35:35.576Z",
      "updatedAt": "2017-04-19T06:35:35.576Z"
    },
    {
      "id": "fa104288-ac73-468b-b68a-928717f5b754",
      "name": "专业版",
      "serviceType": "PROFESSIONAL",
      "desc": "描述服务包C能干什么",
      "specification": {
        "resources": {
          "thing": {
            "viewType": 1,
            "available": true,
            "name": "创建Thing",
            "desc": "",
            "quota": 10,
            "unit": "个",
            "extend": ""
          },
          "device": {
            "viewType": 1,
            "available": true,
            "name": "创建设备",
            "desc": "您可以创建多少个设备",
            "quota": 20,
            "unit": "个",
            "extend": ""
          },
          "protocol": {
            "viewType": 1,
            "available": true,
            "name": "创建协议",
            "desc": "您可以创建多少条协议",
            "quota": 40,
            "unit": "条",
            "extend": ""
          },
          "interface": {
            "viewType": 1,
            "available": true,
            "name": "创建接口",
            "desc": "您可以创建多少个接口",
            "quota": 40,
            "unit": "个",
            "extend": ""
          }
        },
        "server": {
          "s1": {
            "viewType": 1,
            "available": true,
            "name": "工单响应",
            "desc": "",
            "quota": 60,
            "unit": "分钟",
            "extend": "内"
          },
          "s2": {
            "viewType": 2,
            "available": true,
            "name": "5×10技术支持",
            "desc": ""
          },
          "s3": {
            "viewType": 2,
            "available": true,
            "name": "5×10客户服务"
          },
          "s4": {
            "viewType": 2,
            "available": true,
            "name": "支付系统技术指导"
          }
        }
      },
      "price": 0.01,
      "createdAt": "2017-04-19T06:35:35.598Z",
      "updatedAt": "2017-04-19T06:35:35.598Z"
    },
    {
      "id": "f76245a5-53a7-41f7-b372-245490dcca7e",
      "name": "企业版",
      "serviceType": "CUSTOMIZED",
      "desc": "描述服务包D能干什么",
      "specification": {
        "resources": {
          "thing": {
            "viewType": 1,
            "available": true,
            "name": "创建Thing",
            "desc": "",
            "quota": 20,
            "unit": "个",
            "extend": ""
          },
          "device": {
            "viewType": 1,
            "available": true,
            "name": "创建设备",
            "desc": "您可以创建多少个设备",
            "quota": 40,
            "unit": "个",
            "extend": ""
          },
          "protocol": {
            "viewType": 1,
            "available": true,
            "name": "创建协议",
            "desc": "您可以创建多少条协议",
            "quota": 80,
            "unit": "条",
            "extend": ""
          },
          "interface": {
            "viewType": 1,
            "available": true,
            "name": "创建接口",
            "desc": "您可以创建多少个接口",
            "quota": 80,
            "unit": "个",
            "extend": ""
          }
        },
        "server": {
          "s1": {
            "viewType": 1,
            "available": true,
            "name": "工单响应",
            "desc": "",
            "quota": 15,
            "unit": "分钟",
            "extend": "内"
          },
          "s2": {
            "viewType": 2,
            "available": true,
            "name": "7×10技术支持",
            "desc": ""
          },
          "s3": {
            "viewType": 2,
            "available": true,
            "name": "7×10客户服务"
          },
          "s4": {
            "viewType": 2,
            "available": true,
            "name": "支付系统技术指导"
          }
        }
      },
      "price": 0.01,
      "createdAt": "2017-04-19T06:35:35.598Z",
      "updatedAt": "2017-04-19T06:35:35.598Z"
    }
  ]
}

查询指定产品服务包

查询指定id的产品服务包

HTTP Request

GET /v1/api/services/packages/:id

Request

GET /v1/api/services/packages/f76245a5-53a7-41f7-b372-245490dcca7e

Response

{
  "id": "f76245a5-53a7-41f7-b372-245490dcca7e",
  "name": "企业版",
  "serviceType": "CUSTOMIZED",
  "desc": "描述服务包D能干什么",
  "specification": {
    "resources": {
      "thing": {
        "viewType": 1,
        "available": true,
        "name": "创建Thing",
        "desc": "",
        "quota": 20,
        "unit": "个",
        "extend": ""
      },
      "device": {
        "viewType": 1,
        "available": true,
        "name": "创建设备",
        "desc": "您可以创建多少个设备",
        "quota": 40,
        "unit": "个",
        "extend": ""
      },
      "protocol": {
        "viewType": 1,
        "available": true,
        "name": "创建协议",
        "desc": "您可以创建多少条协议",
        "quota": 80,
        "unit": "条",
        "extend": ""
      },
      "interface": {
        "viewType": 1,
        "available": true,
        "name": "创建接口",
        "desc": "您可以创建多少个接口",
        "quota": 80,
        "unit": "个",
        "extend": ""
      }
    },
    "server": {
      "s1": {
        "viewType": 1,
        "available": true,
        "name": "工单响应",
        "desc": "",
        "quota": 15,
        "unit": "分钟",
        "extend": "内"
      },
      "s2": {
        "viewType": 2,
        "available": true,
        "name": "7×10技术支持",
        "desc": ""
      },
      "s3": {
        "viewType": 2,
        "available": true,
        "name": "7×10客户服务"
      },
      "s4": {
        "viewType": 2,
        "available": true,
        "name": "支付系统技术指导"
      }
    }
  },
  "price": 0.01,
  "createdAt": "2017-04-19T06:35:35.598Z",
  "updatedAt": "2017-04-19T06:35:35.598Z"
}

URL Parameters

参数 类型 必填 说明
id string 是 产品服务包的id

查询用户的服务包

查询当前用户的服务包,包括账户余额、服务包类型、未使用的配额

HTTP Request

GET /v1/api/accounts/services

Request

GET /v1/api/accounts/services

Response

{
  "id": "3a36c424-e5f5-4e68-8299-3051f60d36b7",
  "balance": 6000,
  "createdAt": "2017-04-19T09:29:21.121Z",
  "updatedAt": "2017-04-19T09:29:21.121Z",
  "userId": "be98bcd2-5468-4299-a3f8-b8f83a348318",
  "service": {
    "id": "9af2f6e0-c182-448a-9692-13bc70323def",
    "name": "企业版",
    "price": 0.01,
    "specification": {
      "resources": {
        "thing": {
          "viewType": 1,
          "available": true,
          "name": "创建Thing",
          "desc": "",
          "quota": 20,
          "unit": "个",
          "extend": ""
        },
        "device": {
          "viewType": 1,
          "available": true,
          "name": "创建设备",
          "desc": "您可以创建多少个设备",
          "quota": 40,
          "unit": "个",
          "extend": ""
        },
        "protocol": {
          "viewType": 1,
          "available": true,
          "name": "创建协议",
          "desc": "您可以创建多少条协议",
          "quota": 80,
          "unit": "条",
          "extend": ""
        },
        "interface": {
          "viewType": 1,
          "available": true,
          "name": "创建接口",
          "desc": "您可以创建多少个接口",
          "quota": 80,
          "unit": "个",
          "extend": ""
        }
      },
      "server": {
        "s1": {
          "viewType": 1,
          "available": true,
          "name": "工单响应",
          "desc": "",
          "quota": 15,
          "unit": "分钟",
          "extend": "内"
        },
        "s2": {
          "viewType": 2,
          "available": true,
          "name": "7×10技术支持",
          "desc": ""
        },
        "s3": {
          "viewType": 2,
          "available": true,
          "name": "7×10客户服务"
        },
        "s4": {
          "viewType": 2,
          "available": true,
          "name": "支付系统技术指导"
        }
      }
    },
    "initialSpecification": {
      "resources": {
        "thing": {
          "viewType": 1,
          "available": true,
          "name": "创建Thing",
          "desc": "",
          "quota": 20,
          "unit": "个",
          "extend": ""
        },
        "device": {
          "viewType": 1,
          "available": true,
          "name": "创建设备",
          "desc": "您可以创建多少个设备",
          "quota": 40,
          "unit": "个",
          "extend": ""
        },
        "protocol": {
          "viewType": 1,
          "available": true,
          "name": "创建协议",
          "desc": "您可以创建多少条协议",
          "quota": 80,
          "unit": "条",
          "extend": ""
        },
        "interface": {
          "viewType": 1,
          "available": true,
          "name": "创建接口",
          "desc": "您可以创建多少个接口",
          "quota": 80,
          "unit": "个",
          "extend": ""
        }
      },
      "server": {
        "s1": {
          "viewType": 1,
          "available": true,
          "name": "工单响应",
          "desc": "",
          "quota": 15,
          "unit": "分钟",
          "extend": "内"
        },
        "s2": {
          "viewType": 2,
          "available": true,
          "name": "7×10技术支持",
          "desc": ""
        },
        "s3": {
          "viewType": 2,
          "available": true,
          "name": "7×10客户服务"
        },
        "s4": {
          "viewType": 2,
          "available": true,
          "name": "支付系统技术指导"
        }
      }
    },
    "beginTime": "2017-02-02T00:00:00.000Z",
    "endTime": "2018-02-01T00:00:00.000Z",
    "createdAt": "2017-04-19T09:29:21.422Z",
    "updatedAt": "2017-04-19T09:29:21.422Z",
    "accountId": "3a36c424-e5f5-4e68-8299-3051f60d36b7",
    "servicePackageId": "4197d736-97ca-4da7-9298-5a73e4cb2813"
  }
}

订单管理

查询订单

查询该账户下的所有订单,支持条件查询,包括支付成功、未支付、支付失败的订单

HTTP Request

GET /v1/api/accounts/orders

Request

GET /v1/api/accounts/orders?limit=1

Response

{
  "total": 5,
  "orders": [
    {
      "id": "6b620be6-a0a7-4945-9fa7-45386f62a5af",
      "out_trade_no": "201704189525693295",
      "service_name": "基础版",
      "fee": 0.01,
      "oldBalance": 6050,
      "newBalance": 6050,
      "time_start": "2017-04-18 16:14:47",
      "time_end": "2017-04-18 16:14:47",
      "payChannel": "wechat",
      "paymentState": "prepaid",
      "transaction_id": "200000010203",
      "bank_type": "ICBC",
      "openid": "oUpF8uMEb4qRXf22hE3X68TekukE",
      "standard": null,
      "serviceStartTime": null,
      "serviceEndTime": null,
      "product_id": "12331432",
      "createdAt": "2017-04-18T08:14:47.572Z",
      "updatedAt": "2017-04-18T08:14:47.808Z",
      "accountId": "cc51c58e-21ab-4b41-9b61-e5b8ce3de99d",
      "servicePackageId": "da7c136d-5c19-4809-a321-41b138b2bfc9",
      "accountServicePackageId": "f8f5a7d9-4ade-4ca5-a6ac-95a5c80856d9"
    }
  ]
}

Query Parameters

参数 类型 必填 说明
state enum 否 根据支付状态查询订单,可选范围 ‘prepaid’, ‘failure’, ‘unpaid’

查询指定订单

查询指定id的单个订单

HTTP Request

GET /v1/api/accounts/orders/:id

GET /v1/api/accounts/orders/6b620be6-a0a7-4945-9fa7-45386f62a5af

Response

{
  "id": "6b620be6-a0a7-4945-9fa7-45386f62a5af",
  "out_trade_no": "201704189525693295",
  "service_name": "基础版",
  "fee": 0.01,
  "oldBalance": 6050,
  "newBalance": 6050,
  "time_start": "2017-04-18 16:14:47",
  "time_end": "2017-04-18 16:14:47",
  "payChannel": "wechat",
  "paymentState": "prepaid",
  "transaction_id": "200000010203",
  "bank_type": "ICBC",
  "openid": "oUpF8uMEb4qRXf22hE3X68TekukE",
  "standard": null,
  "serviceStartTime": null,
  "serviceEndTime": null,
  "product_id": "12331432",
  "createdAt": "2017-04-18T08:14:47.572Z",
  "updatedAt": "2017-04-18T08:14:47.808Z",
  "accountId": "cc51c58e-21ab-4b41-9b61-e5b8ce3de99d",
  "servicePackageId": "da7c136d-5c19-4809-a321-41b138b2bfc9",
  "accountServicePackageId": "f8f5a7d9-4ade-4ca5-a6ac-95a5c80856d9",
  "service": null
}

URL Parameters

参数 类型 必填 说明
id string 是 订单的id

创建订单

根据用户提交的信息生成订单

HTTP Request

POST /v1/api/accounts/orders

Request

POST /v1/api/accounts/orders
body {
        "product_id": "123312312",
        "type":"wechat",
         "time_start": "2017-04-18 16:14:47",
         "servicePackageId": "28668f26-90e2-4140-a022-31c3ea48f116"
     }

Response

{
  "result": {
    "return_code": "SUCCESS",
    "return_msg": "OK",
    "appid": "wxd3d1d2131f2b1b43",
    "mch_id": "1439034402",
    "nonce_str": "TFiHb5kfvHG5588r",
    "sign": "49F3DF719518A171A9D6FF64FCC34251",
    "result_code": "SUCCESS",
    "prepay_id": "wx20170418175057155b6139350783190753",
    "trade_type": "NATIVE",
    "code_url": "weixin://wxpay/bizpayurl?pr=Z2Fkx8U"
  },
  "order": {
    "id": "15d0c7a2-9972-4eb0-adae-99c87ef2ed62",
    "paymentState": "unpaid",
    "out_trade_no": "201704188929088826",
    "service_name": "专业版",
    "fee": 0.01,
    "oldBalance": 6000,
    "newBalance": 6000,
    "time_start": "2017-04-18 17:50:57",
    "time_end": "2017-04-18 17:50:57",
    "payChannel": "wechat",
    "transaction_id": null,
    "bank_type": null,
    "openid": null,
    "standard": null,
    "serviceStartTime": null,
    "serviceEndTime": null,
    "servicePackageId": "28668f26-90e2-4140-a022-31c3ea48f116",
    "product_id": "123312312",
    "accountId": "309eaa81-558c-4243-b5d9-12d568e709bf",
    "updatedAt": "2017-04-18T09:50:57.650Z",
    "createdAt": "2017-04-18T09:50:57.650Z",
    "accountServicePackageId": null
  }
}

Body Parameters

参数 类型 必填 说明
type string 是 选择的支付方式
product_id string 当type为wechat时必填 商品id
servicePackageId string 是 服务包的id
subject string 当type为alipay时必填 商品名称
alibody string 当type为alipay时必填 商品描述

余额支付回调

选择余额支付时的回调

HTTP Request

PUT /v1/api/accounts/orders/balance_pay_callback

Request

PUT /v1/api/accounts/orders/balance_pay_callback
body {
        "type":"balance",
         "out_trade_no": "201704192435779724"
     }

Response

{
  "result": "SUCCESS"
}

Body Parameters

参数 类型 必填 说明
type string 是 选择的支付方式
out_trade_no string 是 订单编号

微信订单回调

微信平台调用该接口,请求中包含支付状态订单号等,该接口返回'success'或者'fail’

具体信息参考微信平台开发文档:https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=9_7

HTTP Request

POST /v1/api/accounts/orders/wechat_result_notify

支付宝订单回调

支付宝平台调用该接口,请求中包含支付状态订单号等,该接口返回'success'或者'fail’

具体信息参考支付宝平台开发文档:https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.sBVbC0&treeId=62&articleId=104743&docType=1

HTTP Request

POST /v1/api/accounts/orders/alipay_result_notify

充值记录

查询充值记录

查询该账户下的所有充值记录,支持条件查询,包括支付成功、未支付、支付失败的订单

HTTP Request

GET /v1/api/accounts/recharges

Request

GET /v1/api/accounts/recharges?limit=1

Response

{
  "total": 1,
  "recharges": [
    {
      "id": "df1812a1-adcd-41ce-8d17-5820eb5e1f31",
      "out_trade_no": "201704193502910043",
      "fee": 0.01,
      "oldBalance": 6000,
      "newBalance": 6000,
      "time_start": "2017-04-19 11:40:15",
      "time_end": "2017-04-19 11:40:15",
      "payChannel": "wechat",
      "paymentState": "unpaid",
      "transaction_id": null,
      "bank_type": null,
      "openid": null,
      "product_id": "12331432",
      "createdAt": "2017-04-19T03:40:15.965Z",
      "updatedAt": "2017-04-19T03:40:15.965Z",
      "accountId": "82daf871-330d-4cf4-bb33-1ccb6dbef611"
    }
  ]
}

Query Parameters

参数 类型 必填 说明
state enum 否 根据支付状态查询订单,可选范围 ‘prepaid’, ‘failure’, ‘unpaid’

查询指定充值记录

查询指定id的单个充值记录

HTTP Request

GET /v1/api/accounts/recharges/:id

GET /v1/api/accounts/recharges/df1812a1-adcd-41ce-8d17-5820eb5e1f31

Response

{
  "id": "df1812a1-adcd-41ce-8d17-5820eb5e1f31",
  "out_trade_no": "201704193502910043",
  "fee": 0.01,
  "oldBalance": 6000,
  "newBalance": 6000,
  "time_start": "2017-04-19 11:40:15",
  "time_end": "2017-04-19 11:40:15",
  "payChannel": "wechat",
  "paymentState": "unpaid",
  "transaction_id": null,
  "bank_type": null,
  "openid": null,
  "product_id": "12331432",
  "createdAt": "2017-04-19T03:40:15.965Z",
  "updatedAt": "2017-04-19T03:40:15.965Z",
  "accountId": "82daf871-330d-4cf4-bb33-1ccb6dbef611"
}

URL Parameters

参数 类型 必填 说明
id string 是 充值记录的id

充值

根据用户提交的信息生成充值订单.

HTTP Request

POST /v1/api/accounts/recharges

Request

POST /v1/api/accounts/recharges
body {
        "type":"alipay",
        "fee":"1"
     }

Response

{
  "url": "https://mapi.alipay.com/gateway.do?_input_charset=UTF-8&body=%E5%85%85%E5%80%BC%E5%88%B0%E4%B8%AA%E4%BA%BA%E8%B4%A6%E6%88%B7&notify_url=http%3A%2F%2F139.196.197.39%3A56789%2Fv1%2Fapi%2Faccounts%2Fbalance%2Frecharge%2Falipay_result_notify&out_trade_no=201704195374266624&partner=2088421286728062&payment_type=1&return_url=http%3A%2F%2F139.196.197.39%3A56789%2Fconsole%2Faccount%2Frecharge_list&seller_email=liu.jiangang%40theiota.cn&service=create_direct_pay_by_user&subject=%E4%B8%AA%E4%BA%BA%E8%B4%A6%E6%88%B7%E5%85%85%E5%80%BC&total_fee=1&sign=62b6ccbfd7907d8dcab43f9e4b6ea244&sign_type=MD5",
  "recharge": {
    "id": "0c94cef1-45e6-4bd1-bf9f-8e2d51176102",
    "paymentState": "unpaid",
    "out_trade_no": "201704195374266624",
    "fee": 100,
    "oldBalance": 6050,
    "newBalance": 6050,
    "time_start": "2017-04-19 14:09:04",
    "time_end": "2017-04-19 14:09:04",
    "payChannel": "alipay",
    "product_id": null,
    "accountId": "b70ab03a-21c3-4052-a54d-4540799191ef",
    "updatedAt": "2017-04-19T06:09:04.204Z",
    "createdAt": "2017-04-19T06:09:04.204Z",
    "transaction_id": null,
    "bank_type": null,
    "openid": null
  }
}

Body Parameters

参数 类型 必填 说明
type enum 是 “wechat"或者"alipay”
product_id string 当type为wechat时必填 二维码中包含的商品的id
fee string 是 充值的金额,单位:人民币元

微信充值回调

微信平台调用该接口,请求中包含充值状态、订单号等,该接口返回'success'或者'fail’

具体信息参考微信平台开发文档:https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=9_7

HTTP Request

POST /v1/api/accounts/recharges/wechat_result_notify

支付宝充值回调

支付宝平台调用该接口,请求中包含支付状态、订单号等,该接口返回'success'或者'fail’

具体信息参考支付宝平台开发文档:https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.sBVbC0&treeId=62&articleId=104743&docType=1

HTTP Request

POST /v1/api/accounts/recharges/alipay_result_notify

用户注册

邮箱

激活邮箱

用户在收到的激活邮件中,激活邮箱

HTTP Request

GET /v1/api/accounts/email/active

Request:

GET /v1/api/accounts/email/active?id=054ee7d5-e986-48c0-88af-f82c0e6d4369

Query Parameters

参数 类型 必填 说明
id string 是 验证用户是否有权限激活邮箱的字段

发送激活邮箱邮件

发送激活邮箱的邮件

HTTP Request

POST /v1/api/accounts/email/active

Request:

POST /v1/api/accounts/email/active
body {
    "email": "iota@theiota.cn"
}

Body Parameters

参数 类型 必填 说明
email string 是 待激活的邮箱账号

注册信息校验

获取验证码

获取验证码

HTTP Request

GET /v1/api/validations/codes

Request:

GET /v1/api/validations/codes

验证码校验

校验传入的验证码是否正确

HTTP Request

GET /v1/api/validations/codes/validate

Request:

GET /v1/api/validations/codes/validate?vcode=roynjp

Query Parameters

参数 类型 必填 说明
vcode string 是 验证码

邮箱校验

校验邮箱是否有效

HTTP Request

GET /v1/api/validations/emails/validate

Request:

GET /v1/api/validations/emails/validate?email=test@qq.com

Query Parameters

参数 类型 必填 说明
email string 是 邮箱

验证手机号

校验手机号是否有效

HTTP Request

GET /v1/api/validations/mobiles/validate

Request:

GET /v1/api/validations/mobiles/validate?mobile=13000000000

Query Parameters

参数 类型 必填 说明
mobile string 是 手机号

获取短信验证码

用户发送获取验证码请求后,会收到验证码的短信

HTTP Request

POST /v1/api/validations/smses

Request:

POST /v1/api/validations/smses
body {
    "mobile":"13000000000"
}

Body Parameters

参数 类型 必填 说明
mobile string 是 用户的手机号码,可接受短信的手机号码

验证短信验证码

校验传入的手机验证码是否为有效验证码

HTTP Request

GET /v1/api/validations/smses/validate

Request:

GET /v1/api/validations/smses/validate?mobile=13011110000&captcha=123456

Query Parameters

参数 类型 必填 说明
mobile string 是 手机号
captcha string 是 手机短信验证码

验证用户名

校验传入的用户名是否有效

HTTP Request

GET /v1/api/validations/usernames/validate

Request:

GET /v1/api/validations/usernames/validate?username=kady

Query Parameters

参数 类型 必填 说明
username string 是 用户名

注册

注册用户。

HTTP Request

POST /v1/api/signup

Request

POST /v1/api/signup

Body Parameters

参数 类型 必填 说明
username string 是 用户名
email string 是 邮箱
mobile string 是 手机。邮箱、手机至少填写一个
password string 是 密码
vcode string 是 校验码

登录

登录系统。

HTTP Request

POST /v1/api/signin

Request

POST /v1/api/signin

Body Parameters

参数 类型 必填 说明
username string 是 用户名
email string 是 邮箱
mobile string 是 手机。用户名、邮箱、手机至少填写一个
password string 是 密码

退出

退出系统。

HTTP Request

POST /v1/api/signout

Request

POST /v1/api/signout

用户信息

发送重置密码邮件

用户忘记密码时,可以发送重置密码的邮件

HTTP Request

POST /v1/api/accounts/password/forget

Request:

POST /v1/api/accounts/password/forget
body {
    "email": "iota@theiota.cn"
}

忘记密码

用户收到的重置密码邮件中,发起的回调请求

HTTP Request

GET /v1/api/accounts/password/forget

Request:

GET /v1/api/accounts/password/forget?id=dae2ff13-59e5-4d48-80c0-8a1504529aab

Query Parameters

参数 类型 必填 说明
id string 是 验证是否拥有修改密码权限的字段

重置密码

通过邮箱获取的到重置密码的权限后,允许设置新密码

HTTP Request

POST /v1/api/accounts/password/reset

Request:

POST /v1/api/accounts/password/reset
body {
    "password": "111112",
     "id": "505fe0bb-9887-4696-88b0-4a5467bcbd3b"
}

Body Parameters

参数 类型 必填 说明
password string 是 新密码
id string 是 验证是否拥有修改密码权限的字段

修改密码

用户登录系统后,可以修改密码

HTTP Request

POST /v1/api/accounts/password/change

Request:

POST /v1/api/accounts/password/change     
body {
    "old": "123456",
    "new": "123456"
}

Body Parameters

参数 类型 必填 说明
old string 是 旧密码
new string 是 新密码

查询用户的信息

查询当前登录用户的信息

HTTP Request

GET /v1/api/accounts/profile

Request:

GET /v1/api/accounts/profile

Response:

{
    "authed":true,
    "user":{
        "id":"5e008cb0-72a2-4179-87d2-5d9a6bde041a",
        "username":"admin",
        "email":"iota@theiota.cn",
        "mobile":null,
        "gravatar":null,
        "actEmail":true,
        "type":"Master",
        "subExt":null
        }
}

更新用户信息

当前登录的用户,修改自己的基本信息。例如:用户名、邮箱、手机号

HTTP Request

PUT /v1/api/accounts/profile

Request:

PUT /v1/api/accounts/profile
body {
    "username": "admin", 
    "email": "iota@theiota.cn", 
    "actEmail": 0,
    "mobile":"13012341234"
}

Body Parameters

参数 类型 必填 说明
username string 是 新用户名
email string 是 新邮箱
mobile string 否 用户手机号,修改手机号,需要先行获取短信验证码

OAuth2

iOTA 支持通过 OAuth2 获得第三方应用授权方式访问 iOTA。

微信

扫描回调接口

开发者扫描 iOTA 呈现的二维码,确认授权时的回调接口。

微信回调接口实现

回调结果

  1. 已绑定用户,自动登录
  2. 未绑定用户,跳转至登录并绑定页面,并且通过cookie设置必要的临时参数
  3. 回调失败,跳转至失败提示页面

HTTP Request

GET /v1/api/oauth2/third_parties/wechat

Request

GET /v1/api/oauth2/third_parties/wechat?code=0010dAnl1bytYj08RIjl1y5jnl10dAnu&state=f5bc0f65-e50d-4b48-ae70-ccc6c0aba845

Query Parameters

参数 类型 必填 说明
code string 是 微信授权临时票据
state string 是 用于保持请求和回调的状态,授权请求后原样带回给第三方。该参数可用于防止csrf攻击(跨站请求伪造攻击),iOTA 在扫码界面中生成并提交给微信,微信在回调时原样带回。

登录并绑定

开发者扫描二维码,如果未绑定过用户,跳转至登录并绑定页面,输入已经存在的用户名,密码登录,iOTA 将此用户与微信帐号绑定,后续可扫描自动登录。

HTTP Request

POST /v1/api/oauth2/third_parties/wechat/signin

Request

POST /v1/api/oauth2/third_parties/wechat/signin
body {
    "username":"admin",
    "password":"Iotatest1_"
}
参数 类型 必填 说明
wxk string 是 用于获取缓存的微信用户信息

Body Parameters

参数 类型 必填 说明
username string 是 用户名
email string 是 邮箱
mobile string 是 手机 以上三个至少填写一个
password string 是 密码

注册并绑定

开发者扫描二维码,如果未绑定过用户,跳转至登录并绑定页面,开发者可选择注册新用户,iOTA 将此用户与微信帐号绑定,后续可扫描自动登录。

HTTP Request

POST /v1/api/oauth2/third_parties/wechat/signup

Request

POST /v1/api/oauth2/third_parties/wechat/signup
body {
    "username":"admin",
    "password":"Iotatest1_",
    "email":"admin@theiota.cn"
}
参数 类型 必填 说明
wxk string 是 用于获取缓存的微信用户信息

Body Parameters

参数 类型 必填 说明
username string 是 用户名
email string 是 邮箱
mobile string 是 手机 以上两个至少填写一个
password string 是 密码
vcode string 是 校验码

查询当前用户微信绑定状态

查询当前用户是否已经绑定用户。

HTTP Request

GET /v1/api/accounts/wechat/binding/status

Request

GET /v1/api/accounts/wechat/binding/status

Response

{
    "binding": false
}

当前用户微信绑定

为微信扫码后的回调接口,与前面的区别是对当前登录用户的操作。

HTTP Request

GET /v1/api/accounts/wechat/binding

Request

GET /v1/api/accounts/wechat/binding?code=0010dAnl1bytYj08RIjl1y5jnl10dAnu&state=f5bc0f65-e50d-4b48-ae70-ccc6c0aba845

Query Parameters

参数 类型 必填 说明
code string 是 微信授权临时票据
state string 是 用于保持请求和回调的状态,授权请求后原样带回给第三方。该参数可用于防止csrf攻击(跨站请求伪造攻击),iOTA 在扫码界面中生成并提交给微信,微信在回调时原样带回。

回调结果

  1. 绑定成功,提示绑定成功,更新状态
  2. 绑定失败,提示失败原因:
    1. 微信已经绑定其他用户
    2. 微信已经绑定其他用户

当前用户解除微信绑定

解除当前用户的微信绑定信息。

HTTP Request

POST /v1/api/accounts/wechat/unbind

Request

POST /v1/api/accounts/wechat/unbind

附件

附件上传

上传图片

上传图片成功后返回服务器图片路径。

HTTP Request

POST /v1/api/attachment/:p?

Request

POST  /v1/api/attachment/test
body  form-data

Response

{
  "uploaded": "/upload/test/upload_aa981697dd863ef7e567bac063c87c57.png"
}

URL Parameters

参数 类型 默认值 必填 说明
p string other 否 图片存放的文件夹

修改指定图片

更替服务器图片路径相应的图片资源。

HTTP Request

PUT /v1/api/attachment

Request

PUT   /v1/api/attachment?src=/upload/test/upload_aa981697dd863ef7e567bac063c87c57.png
body  form-data

Response

{
  "uploaded": "/upload/test/upload_bb981697ddasdasdwqe21dfas063c87c57.png"
}

Query Parameters

参数 类型 必填 说明
src string 是 图片地址