[[TOC]] == 一.基本约定 == {{{ 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版本,返回数据不增加新数据 测试接口:http://dev40.pcbaby.com.cn/v2/qzbd/home/1?v=2.1.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&expertId=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 崔玉涛专栏 === {{{ 备注:崔玉涛专栏(接口已完成,使用请连开发机代理) mrobot接口url:http://mrobot.pcbaby.com.cn/v2/qzbd/cytHome 后端接口url: http://www.pcbaby.com.cn/app/qzbd2/cyt/ http://ivy.pconline.com.cn/adpuba/show?id=pc.khd.zx.btxfldxj.&media=js HTTP请求方式:get 是否需要登录:否 返回格式:JSON 是否有缓存:有 缓存时间:15分钟 请求参数:无 返回参数: { "status": 0, //状态码 0正常返回 非0请求错误 "desc": "", //提示信息 status=0提示信息为空;status非0,给出对应的出错提示信息 "authorInformation" : //专家信息 { "face" : "" //专家头像 "name" : "" // 专家姓名 "title" : "" //职称 "position" : "" //职务 "introduction" : "" //专家介绍 }, "ads": //广告 [ { "image": "" //广告图片 "toUri" : "" //跳转uri } ], "hot": //育儿热点 { "title":"育儿热点", "section":[ { "categoryId": //分类id "title": //分类标题 "image": //图片 } ... ] }, "video": //在线视频 { "title":"在线视频", "section":[ { "articleId": "1987318", "date": "2014-12-11", "image": "http://img0.pcbaby.com.cn/pcbaby/zhuanjia/jtye/shipin/1412/yekebuting.jpg", "title": "亲子课堂:孩子夜咳不停怎么回事?" } ... ] }, "question": //问答专栏 { "title":"问答专栏", "section":[ { "articleId": "2042246", "columnsId": "3", "date": "2015-01-06", "expertId": "29003920", "image": "http://www1.pcbaby.com.cn/03daodu.jpg", "title": "孩子经常发烧怎么办?" } ... ] }, "article": //育儿文章 { "title":"育儿文章", "section":[ { "articleId": "2048505", "date": "2015-01-06", "image": "http://img0.pcbaby.com.cn/pcbaby/1501/06/g_2048505_1420534505891.jpg", "preview": "育儿路上烦恼多,怎么才能护理好孩子的日常起居?怎么可以培养孩子的各项能力?遇到了这些问题就赶紧来提问吧!除了能得到专家的答疑,还有机会赢得崔玉涛医生的育儿书籍一本哦。", "title": "【提问有礼】赢崔玉涛育儿书" } ... ] } } }}} === 3.0 育儿热点 === {{{ 备注:育儿热点(接口已完成,使用请连开发机代理) mrobot接口url:http://mrobot.pcbaby.com.cn/v2/qzbd/cytList?type=hot&pageNo=1&pageSize=20 后端接口url:http://www.pcbaby.com.cn/app/qzbd2/cyt/hot/ HTTP请求方式:get 是否需要登录:否 返回格式:JSON 是否有缓存:有 缓存时间:15分钟 请求参数: pageNo //第几页 pageSize //每页显示多少条 type //类型,此次type=hot 返回参数: { "data": [ { "categoryId": "3", //分类id "image": "", //图片 "title": "母乳喂养" //分类标题 }, { "categoryId": "2", "image": "", "title": "肠道健康" } ], "pageCount": 1, "pageNo": 1, "pageSize": 20, "total": 8 } }}} ==== 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视频终端页 ==== {{{ 备注:视频终端页(接口已完成,使用请连开发机代理) mrobot接口url:http://mrobot.pcbaby.com.cn/v3/cms/articles/1987318?pageNo=1&size=18&picRule=0 后端接口url: http://v.pcbaby.com.cn/interface/common/video_video.jsp?vid=1947 http://192.168.10.68:8006/interface/pcbaby/mrobot_articles_v3.jsp?id=1987318&pageNo=1 HTTP请求方式:get 是否需要登录:否 返回格式:html 是否有缓存:有 缓存时间:1小时 请求参数: pageNo //第几页 size //页面字体大小 picRule //图片显示方式,0:文字链,1:小图,2:大图,此处此参数可不设 返回结果:HTML页面 点击播放视频跳转协议:pcbabybrowser://baby-video/ 用于视频播放的数据,需要在里面加入json /*@_HTML_META_START_ { "title": //视频标题 "videoUrl": // 视频播放url "adTime": // (int类型) 广告倒计时 "adDetailUrl": // 广告详情链接 "adVideoUrl": // mp4广告url "adImg": //预留暂停时动/静态广告图 "adImgDetailUrl": //暂停图片点击时的跳转 } _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问答详情) 接口开发:陈子洋,吴全贵 mrobot接口:http://mrobot.pcbaby.com.cn/v2/qzbd/askDetail?qId=591151 后端原始URL:http://kuaiwen.pcbaby.com.cn/intf/app/question_detail.jsp?qId=591151 HTTP请求方式:get 是否需要登录:否 返回格式:HTML页面 是否缓存:是 缓存时间:15分钟 请求参数: qId: // 问题id,必须 原始接口返回参数: { "ret":0-正常返回数据 -1-无数据返回, "msg":ret=-1时的错误信息, "qId":问题id, "title":问题标题, "des":问题详情, "qTime":问题发布时间, "adsId":对应的广告标识, "answers":[ { "aId":问题id, "answer":回答内容, "authorFace":回答专家头像(180x180), "authorId":专家id, "department":专家所属科目, "authorName":专家姓名, "hospital":医院名, "aTime":问题时间 } ] } 附: 用于浮层广告的数据,需要在里面加入json /*@_HTML_META_START_ { cc-uri: "", image: "", seq: 1, title: "广告", to-uri: "", updateAt: 1408678837215, vc-uri: "" } _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://mrobot.pcbaby.com.cn/v2/qzbd/baikeAlbums?reqCode=303&albumsId=24068&pageNo=1&pageSize=20 后端URL: http://pp.pcbaby.com.cn/template/pcbaby/Content_Albums_List.jsp?REQUEST_CODE=303&albumsId=24068 HTTP请求方式:get 是否需要登录:否 返回格式:JSON 是否有缓存:有 缓存时间:15分钟 请求参数: reqCode //请求状态码 albumsId //图集id pageNo //第几页 pageSize //每页显示多少条 返回参数: { "RESPONSE_CODE": 303, //返回状态码,与reqCode相同 "RESPONSE_STATUS": 100, //网络请求状态码 100正常 非100错误 "RESPONSE_INFO": { "ablumsList": //图集数据 [ { "imageContent": //图片描述 "imageId": //图片id "imageTitle": //图集标题 "thumb": //小图url "url": //图片url } ... ] "total": 15, //当前图集中图片总数 "pageNo": 1, "pageSize": 15, "pageCount":1, } }}} ==== 7.1 百科一二级、三四级列表 ==== {{{ 备注:获取百科一二级、三四级列表数据(接口已完成,使用请连开发机代理) 接口开发:陈子洋、吴全贵 mrobot接口URL:http://mrobot.pcbaby.com.cn/v2/qzbd/catalog?type={type}&cId={cId} 后端原始URL: 一二级:http://baike.pcbaby.com.cn/intf/app/3.0/content_wiki_101.jsp 三四级:http://baike.pcbaby.com.cn/intf/app/3.0/content_wiki_102.jsp?cId={cId} HTTP请求方式:get 是否需要登录:否 返回格式:JSON 是否缓存:是 缓存时间:15分钟 请求参数: type:type=one-two表示一二级列表,type=three-four表示三四级列表 cId:二级分类id,当type=three-four时,需要传cId 返回参数: 一二级: { "status": 0, 状态码 0正常返回 非0请求错误 "desc": "", 提示信息 status=0提示信息为空;status非0,给出对应的出错提示信息 "count": 一级分类数量 "list": [ { "name": string,一级分类名 "hasChildren": bool,是否有二级分类 "id": 一级分类id "url": string,一级分类页对应url,如果isHaveSecondSort为false必须提供 "childrenCount": int,二级分类数量,如果isHaveSecondSort为true必须提供 "list":[ { "name": sting,二级分类名 "hasChildren": bool,是否有三级分类 "url": string,二级分类页对应url, 如果hasChildren为false必须提供 "id": 二级分类id "childrenCount": int,三级分类数量如果hasChildren为true必须提供 } …… ] } ...... ] } 三四级: { "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":[ { "id": 文章id "cmtUrl": string,评论链接 "name": sting,四级分类名(文章名) "url": string,四级分类链接(文章链接) } …… ] } ...... ] } }}} ==== 7.3 百科搜索 ==== {{{ 备注:百科搜索(接口已完成,使用请连开发机代理) mrobot接口url:http://mrobot.pcbaby.com.cn/v3/cms/searchBaike?reqCode=310&q=孕前&v=2.1.0 后端URL: http://baike.pcbaby.com.cn/intf/app/content_wiki_search_310.jsp?REQUEST_CODE=310&keywords=孕前 HTTP请求方式:get 是否需要登录:否 返回格式:JSON 是否有缓存:有 缓存时间:15分钟 请求参数: reqCode //请求id q // 搜索内容 v //版本号 返回参数: { "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:http://mrobot.pcbaby.com.cn/v2/qzbd/collectionList?type=0&intfType=2&pageNo=1&pageSize=20 HTTP请求方式:get 是否需要登录:是 返回格式:JSON 是否缓存:是 缓存时间:15分钟 请求参数: 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, "user-notice": "参数为空或不合法,或未登录" } }}}