一.基本约定
1.开发机、测试机代理地址:
mrobot开发机代理:192.168.10.199 端口:1080
mrobot测试机代理:192.168.10.198 端口:1080
2.当接口处理正常时,HTTP STATUS CODE 返回给200。包括有正常的业务数据和数据为空的情况。
3.当接口处理异常时,HTTP STATUS CODE 返回非200,并且给出具体的错误信息。
{
"desc":"给用户的提示放在这里"
}
4.接口默认的字符编码是UTF-8,接口需要实现对req-enc和resp-enc参数的支持。在JSP的最顶部,实现类似下面的代码:
String queryString = request.getQueryString();
String requestEncoding = getParam(queryString,"req_enc");
String responseEncoding = getParam(queryString,"resp_enc");
if(isNotBlank(requestEncoding)){
request.setCharacterEncoding(requestEncoding);
}
if(isNotBlank(responseEncoding)){
response.setCharacterEncoding(responseEncoding);
}
5.所有有写操作的数据接口,必须用POST方式提交,在接口里需要判断提交方式,拒绝GET的调用请求。
6.接口中的JSON字符串,key都用双引号("")包裹,value是字符串类型时,也用双引号("")包裹;是数字类型时,不用引号
7.需要分页的接口,统一返回以下字段: pageNo,pageSize,total
二.接口列表
1.0首页
备注:首页接口(接口已完成,使用请连开发机代理)
接口说明:参照亲子V2.0接口--1.0首页(http://trac.pc.com.cn/iphone/wiki/baby/interface#a1.0首页),添加参数v=2.1.0,
根据参数 v >=2.1.0,则焦点图增加视频类文章页、问答专栏详情的推广,热门栏目增加崔玉涛专栏;不传参数v默认为2.0版本,返回数据不增加新数据
1)mrobot接口url:
备孕首页:http://mrobot.pcbaby.com.cn/v2/qzbd/home/1?v=2.1.0
怀孕首页:http://mrobot.pcbaby.com.cn/v2/qzbd/home/2?v=2.1.0
育儿首页:http://mrobot.pcbaby.com.cn/v2/qzbd/home/3?v=2.1.0
2)后端url:
备孕首页:http://www.pcbaby.com.cn/app/qzbd2/bysy/jctj/
怀孕首页:http://www.pcbaby.com.cn/app/qzbd2/hysy/jctj/
育儿首页:http://www.pcbaby.com.cn/app/qzbd2/yesy/jctj/
HTTP请求方式:get
是否需要登录:否
返回格式:JSON
是否有缓存:有
缓存时间:15分钟
请求参数:
{id} //栏目id
v = 2.1.0 //版本号
返回参数:
{
focus:[ //焦点图数据(增加视频类文章页、问答专栏详情的推广)
{
id: // id:"articeId=234&qId=112&columnsId=111"( 推“专栏详情”的推广时id为文章id&问答系统id&专栏期数id)
image:
title:
type:论坛(1列表、2终端);亲子学院(3列表、4终端);活动(5列表、6终端);工具(7终端);食谱(8终端);资讯(9终端);
问答(10终端);百科(11终端);崔玉涛视频(12视频文章终端);专栏详情(13)
url:(活动、工具终端打开需要url,不需要时为空字符串)
}
],
recommend:[ //四个推荐位内容
{
id:
image:
title:
type:论坛(1列表、2终端);亲子学院(3列表、4终端);活动(5列表、6终端);工具(7终端);食谱(8终端);资讯(9终端);问答(10终端);百科(11终端)
url:(活动、工具终端打开需要url,不需要时为空字符串)
}
],
recommendChannel:[ //热门栏目(增加崔玉涛专栏)
{
title: //根据栏目名称跳转至对应模块
type: //热门栏目类型(type=5表示崔玉涛专栏)
}
],
topFocus: [ //焦点图广告
{
cc-uri: "",
image: "http://www1.pcbaby.com.cn/appguanggao/1.jpg?IVY_LEVEL_1?481456_307375",
seq: 1,
title: "广告",
to-uri: "http://ivy.pconline.com.cn/adpuba/click?adid=307375&id=test.gjz.zicong.",
updateAt: 1408678837215,
vc-uri: "none"
}
]
}
2.0 崔玉涛专栏
备注:崔玉涛专栏
接口开发:
原始URL:
请求URL:
HTTP请求方式:get
是否需要登录:否
返回格式:JSON
缓存方式:无
缓存时间:无
请求参数:
返回参数:
{
"status": 0, //状态码 0正常返回 非0请求错误
"desc": "", //提示信息 status=0提示信息为空;status非0,给出对应的出错提示信息
"authorInformation" : //专家信息
{
"face" : "" //专家头像
"name" : "" // 专家姓名
"title" : "" //职称
"position" : "" //职务
"introduction" : "" //专家介绍
},
"ad": //广告
{
"image": ""
"adUrl" : ""
},
"hot": //育儿热点
{
"title":"育儿热点",
"section":[
{
"categoryId": //分类id
"title": //分类标题
"image": //图片
}
...
]
},
"video": //在线视频
{
"title":"在线视频",
"section":[
{
"id":"" // 文章id
"title":"" // 视频标题
"date":123 // 视频时间(时间戳)
"image":"" // 列表图片
"type": //视频分类标签,用于app端统计视频点击播放情况
}
...
]
},
"question": //问答专栏
{
"title":"问答专栏",
"section":[
{
"columnsId":"" // 专栏期数id
"qId" // 问答系统id
"title":"" // 专栏标题
"preview": // 专栏简介
"date":123 // 时间
"image": "" // 专栏图片
}
...
]
},
"article": //育儿文章
{
"title":"育儿文章",
"section":[
{
"articleId": // 文章id
"title": // 文章标题
"preview": // 文章简介
"date": //时间
"image": // 文章图片
}
...
]
}
}
3.0 育儿热点
备注:育儿热点
接口开发:
原始URL:
请求URL:
HTTP请求方式:get
是否需要登录:否
返回格式:JSON
缓存方式:无
缓存时间:无
请求参数:
返回参数:
{
status: 0, //状态码 0正常返回 非0请求错误
desc: "", //提示信息 status=0提示信息为空;status非0,给出对应的出错提示信息
"total": 20, //分类总数
"datas": //返回数据
[
{
"categoryId": // 分类id
"title": // 标题
"image": //图片
}
...
]
}
3.1问题列表
备注:问题列表(接口已完成,使用请连开发机代理)
接口开发:陈子洋,吴全贵
mrobot接口url: http://mrobot.pcbaby.com.cn/v2/qzbd/getQuestionList?categoryId=1&pageNo=1&pageSize=20
后端url: http://kuaiwen.pcbaby.com.cn/intf/forCMS/getQuestionsByAdType.jsp?categoryId=1&pageNo=1&pageSize=20
HTTP请求方式:get
是否需要登录:否
返回格式:JSON
是否有缓存:有
缓存时间:15分钟
请求参数:
categoryId //分类id,必须传,不传返回400
pageNo //第几页
pageSize //每页数量
返回参数:
{
"ret":0-正常返回数据 -1-无数据返回,
"total":总记录数,
"pageNo":当前页码,
"pageSize":每页返回条数,
"questions":[
{
"id":问题id,
"title":问题标题,
"content":问题内容,
"url":问题url,
"accountName":提问用户名,
"accountPic":提问用户头像url,
"accountUrl":提问用户个人页面url,
"createTime":提问时间,
"answer":答案
}
]
}
4.0视频列表
备注:视频列表(接口已完成,使用请连开发机代理)
mrobot接口url:http://mrobot.pcbaby.com.cn/v2/qzbd/cytList?type=video&pageNo=1&pageSize=20
后端接口url:http://www.pcbaby.com.cn/app/qzbd2/cyt/video/
HTTP请求方式:get
是否需要登录:否
返回格式:JSON
是否有缓存:有
缓存时间:15分钟
请求参数:
pageNo //第几页
pageSize //每页显示多少条
type //类型,此次type=video
返回参数:
{
"data": [
{
"articleId": "1987318",
"date": "2014-12-11",
"image": "http://img0.pcbaby.com.cn/pcbaby/zhuanjia/jtye/shipin/1412/yekebuting.jpg",
"title": "亲子课堂:孩子夜咳不停怎么回事?"
}
],
"pageCount": 1,
"pageNo": 1,
"pageSize": 20,
"total": 1
}
4.1视频终端页
备注:获取视频终端页
原始URL:
请求URL:
HTTP请求方式:get
是否需要登录:否
缓存方式:无
缓存时间:无
请求参数:
id // 文章id
返回结果:HTML页面
点击播放视频跳转协议:pcbabybrowser://baby-video/
用于视频播放的数据,需要在里面加入json
/*@_HTML_META_START_
{
"title": //视频标题
"videoUrl": // 视频播放url
"adType" :// 广告分类标签,用于app端统计广告点击情况
"adTime": // (int类型) 广告倒计时
"adDetailUrl": // 广告详情链接
"adUrl": // mp4广告url
}
_HTML_META_END_@*/
5.0问答专栏
备注:问答专栏(接口已完成,使用请连开发机代理)
mrobot接口url:http://mrobot.pcbaby.com.cn/v2/qzbd/cytList?type=ask&pageNo=1&pageSize=20
后端接口url: http://www.pcbaby.com.cn/app/qzbd2/cyt/ask/
HTTP请求方式:get
是否需要登录:否
返回格式:JSON
是否有缓存:有
缓存时间:15分钟
请求参数:
pageNo //第几页
pageSize //每页显示多少条
type //类型,此次type=ask
{
"data": [
{
"articleId": "2042246",
"columnsId": "3",
"date": "2015-01-06",
"expertId": "29003920",
"image": "http://www1.pcbaby.com.cn/03daodu.jpg",
"title": "孩子经常发烧怎么办?"
},
{
"articleId": "2019404",
"columnsId": "2",
"date": "2014-12-22",
"expertId": "29003920",
"image": "http://www1.pcbaby.com.cn/02200150dao.jpg",
"title": "冬季宝宝怎样护肤?"
}
],
"pageCount": 2,
"pageNo": 1,
"pageSize": 2,
"total": 3
}
5.1专栏详情
备注:专栏详情(接口已完成,使用请连开发机代理)
mrobot接口url:http://mrobot.pcbaby.com.cn/v2/qzbd/columnDetail?articleId=2042246&expertId=29003920&num=3&pageNo=1&pageSize=20
后端URL:
http://kuaiwen.pcbaby.com.cn/intf/forCMS/page_talk_que_info.jsp?expertId=29003920&num=3&pageNo=1&pageSize=20
http://192.168.10.68:8006/interface/pcbaby/mrobot_articles_v3.jsp?id=2042246
HTTP请求方式:get
是否需要登录:否
返回格式:JSON
是否有缓存:有
缓存时间:15分钟
请求参数:
articleId //文章id
expertId // 专家id
num //期数
pageNo //第几页
pageSize //每页显示多少条
返回参数:
{
"expertDepart": "儿科", //专家所在部门
"expertHospital": "北京和睦家医院", //专家所在医院
"expertId": 29003920, //专家id
"expertName": "崔玉涛", //专家名称
"expertPic": "http://img.pcbaby.com.cn/images/upload/upc/tx/pcbabyfk/1412/18/c0/787598_1418840708253_80x80.jpg", //专家头像
"list": [
{
"accountId": "7745045", //提问用户id
"accountName": "joy0597", //提问用户名称
"accountPic": "http://i1.3conline.com/images/upload/upc/face/77/45/04/5/7745045_50x50", //提问用户头像
"accountUrl": "http://kuaiwen.pcbaby.com.cn/7745045",
"answerAccountId": "29003920", //回答用户id
"answerAccountName": "崔玉涛", //回答用户名称
"answerAccountPic": "http://img.pcbaby.com.cn/images/upload/upc/tx/pcbabyfk/1412/18/c0/787598_1418840708253_50x50.jpg", //回答用户头像
"answerAccountUrl": "http://kuaiwen.pcbaby.com.cn/29003920",
"answerIntro": "发热是一种症状,多由感染,常见由病毒感染所致。退热剂只针对高热,可促使身体暂时降温,是一种治表的方法。...", //答案
"questionId": "595065", //问题id
"title": "婴儿发热应如何治愈?", //问题描述
"url": "http://kuaiwen.pcbaby.com.cn/question/595065.html"
}
],
"pageNo": 1,
"pageSize": 3,
"ret": 0,
"summary": "宝宝生病是最让家长担忧的。宝宝的身体很敏感,抵抗力不够强,稍稍不注意都会引起发热感冒等疾病。如何应对宝宝发烧?请崔医生为我们解答。", //专栏详情介绍
"title": "孩子经常发烧怎么办?", //专栏标题
"total": 131
}
5.1.2提问
备注:提问,默认为崔玉涛专栏的提问
请求URL: http://kuaiwen.pcbaby.com.cn/intf/forCMS/question_talk_do.jsp
HTTP请求方式:post
是否需要登录:是
返回格式:JSON
缓存方式:无
缓存时间:无
请求参数:
windowname 跨域时赋值
callback 回调函数名
title 问题标题(必须)
picUrl 问题图片路径
content 问题内容(必须)
questionTypeId 问题分类ID
crowd 求助类型
toExpert 单个专家ID(必须)
toExpertType 分类专家类型ID
useQuestionType 在搜索页面对专家提问,取提问时选择的分类
设置header Cookie = "common_session_id=xxxx";
返回参数
{
"code":"1" //1,提问成功 -1,提问失败
"msg":"" //具体信息
}
5.2 问答终端
备注:问答终端
接口说明:参照亲子V2.0接口--5.2问答详情(http://trac.pc.com.cn/iphone/wiki/baby/interface#a5.2问答详情)
接口开发:
原始URL:
请求URL:
HTTP请求方式:get
是否需要登录:否
返回格式:HTML页面
缓存方式:无
缓存时间:无
请求参数:
qId: // 问题id
返回参数:
{
"qId": //问题id
"title": //问题标题
"des": //问题详情
"qTime" //问题发布时间
"answers":[
{
"aId": //回答id
"authorFace":// 回答医生头像
"aTime":"//回答时间
"department":"妇科", //所属科目
"authorName": //医生姓名
"hospital":" //医院名
"answer": // 回答详情
"authorId": //医生id
}
]
}
附:
用于浮层广告的数据,需要在里面加入json
/*@_HTML_META_START_
{
"image": ""
"adUrl" : ""
}
_HTML_META_END_@*/
6.0 文章列表
备注:文章列表(接口已完成,使用请连开发机代理)
mrobot接口url:http://mrobot.pcbaby.com.cn/v2/qzbd/cytList?type=article&pageNo=1&pageSize=20
后端接口url: http://www.pcbaby.com.cn/app/qzbd2/cyt/article/
HTTP请求方式:get
是否需要登录:否
返回格式:JSON
是否有缓存:有
缓存时间:15分钟
请求参数:
pageNo //第几页
pageSize //每页显示多少条
type //类型,此次type=article
返回参数:
{
"data": [
{
"articleId": "2048505",
"date": "2015-01-06",
"image": "http://img0.pcbaby.com.cn/pcbaby/1501/06/g_2048505_1420534505891.jpg",
"preview": "育儿路上烦恼多,怎么才能护理好孩子的日常起居?怎么可以培养孩子的各项能力?遇到了这些问题就赶紧来提问吧!除了能得到专家的答疑,还有机会赢得崔玉涛医生的育儿书籍一本哦。",
"title": "【提问有礼】赢崔玉涛育儿书"
},
{
"articleId": "1979009",
"date": "2014-12-09",
"image": "http://img0.pcbaby.com.cn/pcbaby/yuer/yuer_zt/shengxiao/1406/28.jpg",
"preview": "腹泻尚且会导致可怕的脱水,而宝宝肠道内没有充足的水分,同样也会导致宝宝肠道健康问题,这是与腹泻相反而且同样让妈妈头疼的疾病——便秘。便秘还会导致宝宝肛裂等严重问题,对于便秘的界定也是让很多妈妈困惑的。",
"title": "宝宝排便间隔久不等于便秘"
}
],
"pageCount": 13,
"pageNo": 1,
"pageSize": 2,
"total": 25
}
6.1 文章终端
备注:文章终端
接口说明:同二胎宝典接口--4.资讯文章终端接口 (mrobot):
http://trac.pc.com.cn/iphone/wiki/2ndchild/interface#a4.资讯文章终端接口mrobot
7.0 百科图集 ===(接口已经有了,只需mrobot做中转)
备注:百科图集
接口开发:陈旭
原始URL:http://pp.pcbaby.com.cn/template/pcbaby/Content_Albums_List.jsp?REQUEST_CODE=303&albumsId=24068
请求URL:
HTTP请求方式:get
是否需要登录:否
返回格式:JSON
缓存方式:无
缓存时间:无
请求参数:
REQUEST_CODE=303 //请求代码
albumsId=24068 //图集id
返回参数:
{
status: 0, //状态码 0正常返回 非0请求错误
desc: "", //提示信息 status=0提示信息为空;status非0,给出对应的出错提示信息
"total": 15, //当前图集中图片总数
"pageNo": 1,
"pageSize": 15,
"pageCount":1,
"ablumsList": //图集数据
[
{
"imageContent": //图片描述
"imageId": //图片id
"imageTitle": //图集标题
"thumb": //小图url
"url": //图片url
}
...
]
}
7.1 百科一二级列表
备注:获取百科一二级列表数据
接口开发:吴全贵
原始URL:
请求URL:
HTTP请求方式:get
是否需要登录:否
返回格式:JSON
缓存方式:无
缓存时间:无
请求参数:
返回参数:
{
"status": 0, //状态码 0正常返回 非0请求错误
"desc": "", //提示信息 status=0提示信息为空;status非0,给出对应的出错提示信息
"count": //一级分类数量
"list":
[
{
"name": //string,一级分类名
"hasChildren": //bool,是否有二级分类
"id": //一级分类id
"url": //string,一级分类页对应url,如果hasChildren为false必须提供
"childrenCount": //int,二级分类数量,如果hasChildren为true必须提供
"list":[
{
"name": //string,二级分类名
"hasChildren”: //bool,是否有三级分类
"url": //string,二级分类页对应url, 如果hasChildren为false必须提供
"id": //二级分类id
"childrenCount": //int,三级分类数量如果hasChildren为true必须提供
} ……
]
} ......
]
}
7.2 百科三四级列表
备注:获取百科三四级列表数据
接口开发:吴全贵
原始URL:
请求URL:
HTTP请求方式:get
是否需要登录:否
返回格式:JSON
缓存方式:无
缓存时间:无
请求参数:
id //二级分类id
返回参数:
{
"status": 0, //状态码 0正常返回 非0请求错误
"desc": "", //提示信息 status=0提示信息为空;status非0,给出对应的出错提示信息
"count": //三级分类数量
"list":
[
{
"name": //string,三级分类名
"hasChildren": //bool,是否有四级分类
"id": //三级分类id
"url": //string,三级分类页对应url,如果hasChildren为false必须提供
"count": //int,四级分类数量,如果hasChildren为true必须提供
"list":[
{
"id": //文章id
"cmtUrl": //string,评论链接
"name": //sting,四级分类名(文章名)
"sortUrl": //string,四级分类链接(文章链接)
} ……
]
} ......
]
}
7.3 百科搜索
备注:百科搜索
接口开发:吴全贵
原始URL:http://baike.pcbaby.com.cn/intf/app/content_wiki_search_310.jsp
请求URL:
HTTP请求方式:get
是否需要登录:否
返回格式:JSON
缓存方式:无
缓存时间:无
请求参数:
“REQUEST_CODE” : 310 [请求代码]
“keywords”:[string 搜索的关键字]
返回参数:
{
"status": 0, //状态码 0正常返回 非0请求错误
"desc": "", //提示信息 status=0提示信息为空;status非0,给出对应的出错提示信息
"wikiThirdSortList":
[
{
"wikiThirdSortCmtUrl": //string,评论链接
"wikiThirdSortName": //sting,文章名
"wikiThirdSortUrl": //string,文章url
}......
]
}
8.0 获取收藏列表 ===(接口已经有了,只需mrobot做中转)
备注:我的收藏
接口开发:
应用端请求url: http://my.pcbaby.com.cn/collection/intf/collection/app/collection_list.jsp
mrobot请求url:
测试url:
HTTP请求方式:get
是否需要登录:是
返回格式:JSON
缓存方式:无
缓存时间:无
请求参数:
common_session_id:登录用户id
type 收藏对象类型,默认查所有类型(0CMS文章;1百科知识;2百科文章;3频道;4工具;5帖子;6问答;7亲子学院;8图库;9聚超值)
intfType 接口类型,(1:APP,2:炫版,默认为2)
pageSize 每页显示数
pageNo 当前页数
返回参数
示例1:有收藏数据
{
"pageNo":"第几页",
"pageSize":"每页显示最大数量",
"total":"总的数据量",
"RESPONSE_STATUS":"响应状态",
"result":"0/1,0返回失败/1返回成功",
"collections":[
{
"objectId":"收藏对象标识码",
"title":"文章标题"
}
]
}
示例2:无收藏
{
"RESPONSE_STATUS" = 200;
msg = "找不到已收藏的列表";
result = 0;
}
示例3:错误请求
{
"RESPONSE_STATUS": 500,
"error-desc": "internal accountId,type",
"uri": "intf/app/2.0/favor_list_101.jsp",
"user-notice": "参数为空或不合法,或未登录"
}