开放平台接口协议
通信协议
- 开放平台门户与运营管理平台均采用前后台分离开发,其涉及应用管理,网站运营需通过Http协议与后台系统交互,后台系统提供Rest风格接口,以降低开发的复杂性,提高系统的可伸缩性。
- 除开官网开放数据,其所有接口需要经过长虹用户中心统一认证,以下接口没有特殊说明,接口调用都需要带上用户中心认证的Token。Token统一放在请求的Header中,名称为X-Auth-Token和X-Openid。(以/user开头的接口均需要token认证)
- 所有接口接收与返回数据采用Json格式,错误信息会提供统一错误码表
状态码:正常返回1000,其他状态则表示请求未正常执行,具体参照错误码表
协议接口规范
前台模块功能
获取首页轮播
- 功能描述:获取门户首页轮播图片。
- 请求URL:GET /public/banner
- 参数及样例:
URL参数
参数 | 类型 | 描述 |
---|---|---|
pageNo | Int (可选) | 页码,默认为1 |
pageSize | Int (可选) | 页大小,默认为10,最大100 |
orderBy | String (可选) | 排序字段,默认根据sortBy排序 |
sortOrder | String (可选) | 排序方式,默认desc降序排列。 |
请求参数
无
返回参数
参数 | 类型 | 描述 |
---|---|---|
id | Int | 海报编号 |
sortBy | Int | 排序序列,越大,越在前面显示 |
url | String | 海报图片地址 |
linkTo | String | 海报链接地址 |
样例:
请求样例
http://domain:port/public/banner?pageNo=1&pageSize=2&orderBy=sortBy&sortOrder=asc
返回样例
{
"code": 1000,
"total":12,
"banners":[
{
"createBy":"李潇东",
"createTime":"2016-01-18 09:53:07",
"id":31,
"linkTo":"http://www.changhong.com",
"shelfState":2,
"sortBy":11,
"updateBy":"test1",
"updateTime":"2016-05-14 16:57:34",
"url":"116-0-27-14-35-17-676-412494.jpg"
},
{
"createBy":"Admin",
"createTime":"2016-01-07 10:44:13",
"id":17,
"linkTo":"http://www.changhong.com",
"shelfState":2,
"sortBy":10,
"updateBy":"李潇东",
"updateTime":"2016-05-13 16:11:46",
"url":"116-4-13-16-10-3-67-488307.jpg"
}
]
}
获取平台动态
- 功能描述:获取平台已发布所有动态。
- 请求URL:GET /public/dynamic
- 参数及样例:
URL参数
参数 | 类型 | 描述 |
---|---|---|
pageNo | Int (可选) | 页码,默认为1 |
pageSize | Int (可选) | 页大小,默认为10,最大100 |
orderBy | String (可选) | 排序字段,默认根据sort排序 |
sortOrder | String (可选) | 排序方式,默认desc降序排列。 |
请求参数
无
返回参数
参数 | 二级参数 | 类型 | 描述 |
---|---|---|---|
code | Int | 消息码 | |
dynamicPage | id | Int | 动态资讯编号 |
sort | Int | 排序序列,越大,越在前面显示 | |
content | String | 动态资讯内容 | |
createBy | String | 创建人 | |
createTime | String | 创建时间 | |
published | Boolean | 是否已经发布 | |
title | String | 标题 | |
updateBy | String | 更新人 | |
updateTime | String | 更新日期 |
样例:
请求样例
http://domain:port/public/dynamic?pageNo=1&pageSize=6&orderBy=sort&sortOrder=asc
返回样例
{
"code": 1000,
"total":22,
"dynamics": [
{
"content": "...",
"createBy": "罗静",
"createTime": "2016-05-17 09:58:53",
"id": 76,
"published": true,
"sort": 0,
"title": "点滴美图华美上线,纵享自由",
"updateBy": "罗静",
"updateTime": "2016-05-24 11:12:22"
},
{
"content":"...",
"createBy": "罗静",
"createTime": "2016-05-17 10:13:49",
"id": 81,
"published": true,
"sort": 0,
"title": "妥妥医将在2016年全线布局 ",
"updateBy": "罗静",
"updateTime": "2016-05-24 11:11:02"
},
{
"content": "...",
"createBy": "罗静",
"createTime": "2016-05-17 10:23:37",
"id": 82,
"published": true,
"sort": 0,
"title": "长虹开放平台项目展示,购食汇",
"updateBy": "罗静",
"updateTime": "2016-05-24 11:08:49"
},
{
"content": "...",
"createBy": "Admin",
"createTime": "2016-07-07 11:20:37",
"id": 85,
"published": true,
"sort": 0,
"title": "心心相印",
"updateBy": null,
"updateTime": null
}
]
}
获取指定动态平台详情
- 功能描述:根据动态资讯编号id获取动态详情。
- 请求URL:GET /public/dynamic/{id}
- 参数及样例:
URL参数
参数 | 类型 | 描述 |
---|---|---|
id | Int (必须) | 动态资讯编号 |
请求参数
无
返回参数
参数 | 二级参数 | 类型 | 描述 |
---|---|---|---|
code | String | 请求返回码 | |
dynamic | id | Int | 动态资讯编号 |
sort | Int | 排序序列,越大,越在前面显示 | |
content | String | 动态资讯内容 | |
createBy | String | 创建人 | |
createTime | String | 创建时间 | |
published | Boolean | 是否已经发布 | |
title | String | 标题 | |
updateBy | String | 更新人 | |
updateTime | String | 更新日期 |
样例:
请求样例
http://domain:port/public/dynamic/85
返回样例
{
"dynamic": {
"content": "...",
"createBy": "Admin",
"createTime": "2016-07-07 11:20:37",
"id": 85,
"published": true,
"sort": 0,
"title": "心心相印",
"updateBy": null,
"updateTime": null
},
"code": 1000
}
获取平台新闻资讯
- 功能描述:获取平台所有新闻资讯。
- 请求URL:GET /public/news
- 参数及样例:
URL参数
参数 | 类型 | 描述 |
---|---|---|
pageNo | Int (可选) | 页码,默认为1 |
pageSize | Int (可选) | 页大小,默认为10,最大100 |
orderBy | String (可选) | 排序字段,默认根据sort排序 |
sortOrder | String (可选) | 排序方式,默认desc降序排列。 |
请求参数
无
返回参数
参数 | 二级参数 | 类型 | 描述 |
---|---|---|---|
code | Int | 消息码 | |
newsPage | id | Int | 新闻资讯编号 |
sort | Int | 排序序列,越大,越在前面显示 | |
content | String | 新闻资讯内容 | |
createBy | String | 创建人 | |
createTime | String | 创建时间 | |
title | String | 标题 | |
updateBy | String | 更新人 | |
updateTime | String | 更新日期 |
样例:
请求样例
http://domain:port/public/news?pageNo=1&pageSize=2&orderBy=sort&sortOrder=asc
返回样例
{
"code": 1000,
"total":12,
"news": [
{
"content": "...",
"createBy": "罗静",
"createTime": "2016-02-02 09:15:16",
"id": 42,
"sort": 1,
"title": "“IPP”让您的智慧生活随想象发生",
"updateBy": "罗静",
"updateTime": "2016-05-24 13:13:02"
},
{
"content": "...",
"createBy": "罗静",
"createTime": "2016-05-17 10:40:58",
"id": 59,
"sort": 0,
"title": "长虹Q3T:大长腿天天在家都看他呢啊",
"updateBy": "罗静",
"updateTime": "2016-05-24 13:12:19"
}
]
}
获取指定新闻资讯
- 功能描述:根据新闻资讯编号id获取新闻资讯。
- 请求URL:GET /public/news/{id}
- 参数及样例:
URL参数
参数 | 类型 | 描述 |
---|---|---|
id | Int (必须) | 新闻资讯编号 |
请求参数
无
返回参数
参数 | 二级参数 | 类型 | 描述 |
---|---|---|---|
code | String | 请求返回码 | |
newsInfo | id | Int | 新闻资讯编号 |
sort | Int | 排序序列,越大,越在前面显示 | |
content | String | 新闻资讯内容 | |
createBy | String | 创建人 | |
createTime | String | 创建时间 | |
title | String | 标题 | |
updateBy | String | 更新人 | |
updateTime | String | 更新日期 |
样例:
请求样例
http://domain:port/public/news/42
返回样例
{
"code": 1000,
"news": {
"content": "...",
"createBy": "罗静",
"createTime": "2016-02-02 09:15:16",
"id": 42,
"sort": 1,
"title": "“IPP”让您的智慧生活随想象发生",
"updateBy": "罗静",
"updateTime": "2016-05-24 13:13:02"
}
}
获取成功案例
- 功能描述:获取所有成功案例信息。
- 请求URL:POST /public/success
- 参数及样例:
URL参数
参数 | 类型 | 描述 |
---|---|---|
pageNo | Int (可选) | 页码,默认为1 |
pageSize | Int (可选) | 页大小,默认为10,最大100 |
orderBy | String (可选) | 排序字段,默认根据sort排序 |
sortOrder | String (可选) | 排序方式,默认desc降序排列 |
type | Int(可选) | 案例类型(1为移动应用,2为网页应用,3为硬件类型),默认为所有类型 |
请求参数
参数 | 类型 | 描述 |
---|---|---|
title | String(可选) | 标题,默认为所有,支持模糊查询 |
返回参数
参数 | 二级参数 | 类型 | 描述 |
---|---|---|---|
code | Int | 消息码 | |
successes | id | Int | 成功案例编号 |
sort | Int | 排序序列,越大,越在前面显示 | |
url | String | 图片路径 | |
createBy | String | 创建人 | |
createTime | String | 创建时间 | |
title | String | 标题 | |
updateBy | String | 更新人 | |
updateTime | String | 更新日期 | |
link | String | 案例链接地址 | |
content | String | 案例详细介绍 |
样例:
请求样例
POST http://domain:port/public/success?type=1&pageSize=11
{
"title": "点点帮"
}
返回样例
{
"successes": [
{
"createBy": "李潇东",
"createTime": "2016-01-26 15:05:20",
"id": 18,
"link": "http://www.chddb.com/",
"sort": 6,
"title": "点点帮",
"updateBy": null,
"updateTime": null,
"content":"<span>test</span>",
"url": "116-0-26-15-1-50-495-325501.png"
}
],
"total":12,
"code": 1000
}
获取指定成功案例信息
- 功能描述:根据成功案例编号id获取成功案例。
- 请求URL:GET /public/success/{id}
- 参数及样例:
URL参数
参数 | 类型 | 描述 |
---|---|---|
id | Int (必须) | 成功案例编号 |
请求参数
无
返回参数
参数 | 二级参数 | 类型 | 描述 |
---|---|---|---|
code | Int | 消息码 | |
successe | id | Int | 成功案例编号 |
sort | Int | 排序序列,越大,越在前面显示 | |
url | String | 图片路径 | |
createBy | String | 创建人 | |
createTime | String | 创建时间 | |
title | String | 标题 | |
updateBy | String | 更新人 | |
updateTime | String | 更新日期 | |
link | String | 案例链接地址 | |
content | String | 案例详细介绍 |
样例:
请求样例
http://domain:port/public/success/11
返回样例
{
"success": {
"createBy": "李潇东",
"createTime": "2016-01-12 10:25:03",
"id": 11,
"link": "http://www.tuotuoyi.com/",
"sort": 1,
"title": "妥妥医",
"updateBy": "李潇东",
"updateTime": "2016-01-26 15:00:36",
"content":"<span>test</span>",
"url": "116-0-26-15-1-8-203-717658.png"
},
"code": 1000
}
获取相关平台
- 功能描述:获取所有已经发布相关平台。
- 请求URL:GET /public/related
- 参数及样例:
URL参数
参数 | 类型 | 描述 |
---|---|---|
pageNo | Int (可选) | 页码,默认为1 |
pageSize | Int (可选) | 页大小,默认为10,最大100 |
orderBy | String (可选) | 排序字段,默认根据sort排序 |
sortOrder | String (可选) | 排序方式,默认desc降序排列。 |
请求参数
无
返回参数
参数 | 二级参数 | 类型 | 描述 |
---|---|---|---|
code | Int | 消息码 | |
relatedInfo | id | Int | 平台相关资讯编号 |
sort | Int | 排序序列,越大,越在前面显示 | |
url | String | 附件存储路径 | |
createBy | String | 创建人 | |
createTime | String | 创建时间 | |
name | String | 文档名 | |
updateBy | String | 更新人 | |
updateTime | String | 更新日期 | |
link | String | 链接地址 | |
content | String | 文档描述 |
样例:
请求样例
http://domain:port/public/related?pageNo=1&pageSize=2&orderBy=sort&sortOrder=asc
返回样例
{
"relatedPlatforms": [
{
"content": "http://sh.meiling.com",
"createBy": "Admin",
"createTime": "2016-01-26 14:57:50",
"id": 13,
"link": "http://sh.meiling.com",
"name": "购食汇",
"sort": 2,
"updateBy": "Admin",
"updateTime": "2016-01-27 16:12:08",
"url": "116-0-27-16-13-18-190-143582.png"
},
{
"content": "http://www.chddb.com/",
"createBy": "Admin",
"createTime": "2016-01-26 15:04:33",
"id": 15,
"link": "http://www.chddb.com/",
"name": "点点帮",
"sort": 4,
"updateBy": "Admin",
"updateTime": "2016-05-10 16:47:34",
"url": "116-0-27-16-12-45-912-541710.png"
}
],
"total":12,
"code": 1000
}
获取指定相关平台详情
- 功能描述:根据平台相关资讯编号id获取平台相关详情。
- 请求URL:GET /public/related/{id}
- 参数及样例:
URL参数
参数 | 类型 | 描述 |
---|---|---|
id | Int (必须) | 平台相关资讯编号 |
请求参数
无
返回参数
参数 | 二级参数 | 类型 | 描述 |
---|---|---|---|
code | Int | 消息码 | |
relatedInfo | id | Int | 平台相关资讯编号 |
sort | Int | 排序序列,越大,越在前面显示 | |
url | String | 附件存储路径 | |
createBy | String | 创建人 | |
createTime | String | 创建时间 | |
name | String | 文档名 | |
updateBy | String | 更新人 | |
updateTime | String | 更新日期 | |
link | String | 链接地址 | |
content | String | 文档描述 |
样例:
请求样例
http://domain:port/public/related/11
返回样例
{
"relatedPlatform": {
"content": "http://www.changhong.com",
"createBy": "Admin",
"createTime": "2016-01-08 11:35:53",
"id": 11,
"link": "http://www.changhong.com",
"name": "长虹官网",
"sort": 10,
"updateBy": "李潇东",
"updateTime": "2016-05-16 09:05:36",
"url": "116-0-27-16-13-32-781-907133.png"
},
"code": 1000
}
获取文档树
- 功能描述:获取文档中心数据。
- 请求URL:GET /public/doc
- 参数及样例:
URL参数
无
请求参数
无
返回参数
参数 | 类型 | 描述 |
---|---|---|
id | Int | 文档唯一编码 |
resourceName | String | 文档目录或者文档名称 |
resourceType | String | 文档类型,1为文档目录,2为文档 |
parentId | int | 父节点 |
docUri | String | 文档地址 |
sort | int | 权重,越大排在越前面,文档目录下的文档也按照从大到小的权重进行排序 |
样例:
请求样例
http://domain:port/public/doc
返回样例
{
"doc": [{
"createTime": "2016-08-04 11:05:16",
"docUri": "a.md",
"id": 76,
"parentId": 75,
"resourceName": "应用接入",
"resourceType": 2,
"sort": 99
}]
"code": 1000
}
获取七牛上传token
- 功能描述:获取七牛上传文件所需的token参数。
- 请求URL:GET /console/qiniu/token
- 参数及样例:
URL参数
无
请求参数
无
返回参数
参数 | 类型 | 描述 |
---|---|---|
code | Int | 消息码 |
token | String | token参数 |
样例:
请求样例
http://domain:port/token/get
返回样例
{
"token": "9NNAGFtNQ7SO6CblYkrAOqyPC826EDk3ztxr6UIx:OqNN7KXLqWyjIYIlGlVvP55g7zQ=:eyJzY29wZSI6ImNob3AtcGxhdGZvcm0iLCJkZWFkbGluZSI6MTg5MTQ5MTIwMH0=",
"code": 1000
}
获取平台能力列表
- 功能描述:分页获取所有平台能力。
- 请求URL:POST /public/ability
- 参数及样例:
URL参数
无
请求参数
无
返回参数
参数 | 二级参数 | 类型 | 描述 |
---|---|---|---|
code | Int | 消息码 | |
abilities | id | Int | 能力编号 |
abilityName | String | 能力名称 | |
abilityDesc | String | 能力描述 | |
docId | int | 对应文档编号 | |
icon | String | 能力图标 | |
sort | int | 排序 | |
dirId | String | 服务目录编号 | |
dirName | String | 服务目录 |
样例:
请求样例
GET http://domain:port/public/ability
返回样例
{
"abilities": [
{
"abilityDesc": null,
"abilityName": null,
"createTime": null,
"dirId": "100000011",
"dirName": "user",
"docId": null,
"icon": null,
"id": null,
"sort": null
},
{
"abilityDesc": "长虹通行证",
"abilityName": "用户中心",
"createTime": "2016-09-22 13:17:21",
"dirId": "100000012",
"dirName": "订单中心服务目录",
"docId": 149,
"icon": "116-8-22-13-17-43-499-884429.png",
"id": 52,
"sort": 9
},
{
"abilityDesc": "安全支付",
"abilityName": "支付中心",
"createTime": "2016-09-22 17:23:57",
"dirId": "100000013",
"dirName": "能力中心测试目录",
"docId": 139,
"icon": "116-8-22-13-17-43-499-884429.png",
"id": 55,
"sort": 8
},
{
"abilityDesc": null,
"abilityName": null,
"createTime": null,
"dirId": "100000015",
"dirName": "3rd_service",
"docId": null,
"icon": null,
"id": null,
"sort": null
}
]
}
后台模块功能
开发者资质申请
- 功能描述:开发者通过门户注册后只是普通开发者无法开发应用,需要申请成功个人开发者或者企业开发者。
- 请求URL:PUT /console/developer
- 参数及样例:
URL参数
无
请求参数
参数 | 类型 | 描述 |
---|---|---|
openId | String | 用户编号,长度限制为16 |
userType | Int | 值为:2(个人开发者)、3(企业开发者) |
phone | String | 电话号码,长度限制为11 |
String | 邮箱,长度限制为50 | |
contact | String | 联系人,当userType为企业开发者时需要输入此参数 |
contactAddress | String | 联系地址,长度限制为255 |
certificateNumber | String | 证件号(个人开发者则输入身份证,企业开发者输入营业执照),长度限制为18 |
name | String | 名称,当userType为企业开发者时name为公司名称,否则为个人开发者姓名,长度限制为100 |
certificateImage | String | 证件照地址,长度限制为255 |
返回参数
无
样例:
请求样例
PUT http://domain:port/v2/user/developer
{
"openId": "ef0b24003a284299",
"userType": 3,
"phone": "13688361924",
"email": "270787198@qq.com",
"contactAddress": "联系地址",
"certificateImage": "a3512fgdgfd46dsf4561k.png",
"name": "物联网高科技有限公司",
"contact": "张王",
"certificateNumber": "51070419765473883"
}
返回样例
{
"code": 1000,
"update" : "success"
}
开发者详情
- 功能描述:提供开发者详细信息查询接口。
- 请求URL:PUT /console/developer/{open_id}
- 参数及样例:
URL参数
参数 | 类型 | 描述 |
---|---|---|
open_id | String | 用户编号,长度限制为16 |
请求参数
无
返回参数
参数 | 类型 | 描述 |
---|---|---|
openId | String | 用户编号,长度限制为16 |
userType | Int | 值为:2(个人开发者)、3(企业开发者) |
phone | String | 电话号码,长度限制为11 |
String | 邮箱,长度限制为50 | |
contact | String | 联系人,当userType为企业开发者时需要输入此参数 |
contactAddress | String | 联系地址,长度限制为255 |
certificateNumber | String | 证件号(个人开发者则输入身份证,企业开发者输入营业执照),长度限制为18 |
name | String | 名称,当userType为企业开发者时name为公司名称,否则为个人开发者姓名,长度限制为100 |
certificateImage | String | 证件照地址,长度限制为255 |
verifyStatus | int | 审核状态,null为普通注册用户不存在审核状态,1为待审核,2为审核通过,3为驳回 |
verifyDesc | String | 审核信息,当审核状态为1或者3的时候需要展示此信息 |
样例:
请求样例
PUT http://domain:port/v2/user/developer
{
"openId": "ef0b24003a284299",
"userType": 3,
"phone": "13688361924",
"email": "270787198@qq.com",
"contactAddress": "联系地址",
"certificateImage": "a3512fgdgfd46dsf4561k.png",
"name": "物联网高科技有限公司",
"contact": "张王",
"certificateNumber": "51070419765473883"
}
返回样例
{
"code": 1000,
"update" : "success"
}
开发者提问题
- 功能描述:开发者登录后可提交咨询问题。
- 请求URL:POST /console/question
- 参数及样例:
URL参数
无
请求参数
参数 | 类型 | 描述 |
---|---|---|
questioner | String(必填) | 提问者,长度限制2-32 |
openId | String(必填) | 开发者openId 长度16位 |
questionContent | String(必填) | 问题内容,长度限制5-2000 |
questionTitle | String(必填) | 问题标题,长度限制5-150 |
返回参数
参数 | 类型 | 描述 |
---|---|---|
code | Int |
样例:
请求样例
POST http://domain:port/console/question
{
"questionTitle":"如何在开放平台获取appkey呢,哈哈",
"questionContent":"请问组测后再哪里查询应用的appkey",
"openId":"ah765sd9d8d7s59i",
"questioner":"白伟"
}
返回样例
{
"code": 1000,
"add": "success"
}
错误码定义
错误码 | 错误类型 | 描述 |
---|---|---|
1400 | 请求参数非法 | 缺少必要参数,或者参数值格式不正确,具体错误信息请查看错误描叙 msg 字段。 |
1401 | 鉴权失败 | Token认证失败,请参考用户中心鉴权部分。 |
1403 | 拒绝访问 | 用户帐号没有相应权限等。 |
1404 | 资源不存在 | 资源标识对应的实例不存在 |
1500 | 系统错误 | 服务器内部出现错误 |