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 图片地址