wiki:baby3_developers/interface

Version 52 (modified by fuxingfang, 11 years ago) (diff)

--

一.基本约定

  1.基本约定
  
  1.当接口处理正常时,HTTP STATUS CODE 返回给200。包括有正常的业务数据和数据为空的情况。
  
  2.当接口处理异常时,HTTP STATUS CODE 返回非200,并且给出具体的错误信息。
      {
         "desc":"给用户的提示放在这里"
      }
      
  3.接口默认的字符编码是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);
          }
  
  4.所有有写操作的数据接口,必须用POST方式提交,在接口里需要判断提交方式,拒绝GET的调用请求。
  
  5.接口中的JSON字符串,key都用双引号("")包裹,value是字符串类型时,也用双引号("")包裹;是数字类型时,不用引号
  
  6.需要分页的接口,统一返回以下字段:  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版本,返回数据不增加新数据
  mrobot请求URL:
  1)开发环境:
     备孕首页:http://dev40.pcbaby.com.cn/v2/qzbd/home/1?v=2.1.0
     怀孕首页:http://dev40.pcbaby.com.cn/v2/qzbd/home/2?v=2.1.0
     育儿首页:http://dev40.pcbaby.com.cn/v2/qzbd/home/3?v=2.1.0
  2)测试环境:
  3)线上:

  HTTP请求方式:get
  是否需要登录:否
  返回格式:JSON
  缓存方式:无
  缓存时间:无
  请求参数:
  v = 2.1.0   //版本号
  
  返回参数:
  {
   focus:[  //焦点图数据(增加视频类文章页、问答专栏详情的推广)
     {
       id:  // id=234&112( 推“专栏详情”的推广时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问题列表

  备注:问题列表
  接口开发:
  原始URL:
  请求URL:
  HTTP请求方式:get
  是否需要登录:否
  返回格式:JSON
  缓存方式:无
  缓存时间:无
  请求参数:
  categoryId  //分类id
  pageNo
  pageSize

  返回参数:
{
   "status":   //状态码  0正常返回   非0请求错误
   "desc": ""  //提示信息    status=0提示信息为空;status非0,给出对应的出错提示信息
   "datas": //问答数据
       [
          {
            "id":  // 问题id
            "question": //问题描述
            "answer":  // 回答内容
          },
          ...
      ]
  "total": 20,  //问答总数
  "pageNo": 1, //当前页码
  "pageSize": 20, //每页条数

}

4.0视频列表

  备注:视频列表
  接口开发:
  原始URL:
  请求URL:
  HTTP请求方式:get
  是否需要登录:否
  返回格式:JSON
  缓存方式:无
  缓存时间:无
  请求参数:
  pageNo
  pageSize

  返回参数:
{
    status: 0, //状态码  0正常返回   非0请求错误
    desc: "",  //提示信息    status=0提示信息为空;status非0,给出对应的出错提示信息
   "total": 20,  //列表总数
   "pageNo": 1, //当前页码
   "pageSize": 20, //每页条数
   "data": //返回数据
       [
             {
                "id":"" //  文章id
                "title":"" //  视频标题
                "date":123  //  视频时间(时间戳)
                "image":"" //  列表图片
                "type": //视频分类标签,用于app端统计视频点击播放情况
             }
             ...
      ]
}

4.1视频终端页

  备注:获取视频终端页
  原始URL:
  请求URL:
  HTTP请求方式:get
  是否需要登录:否
  缓存方式:无
  缓存时间:无
  请求参数:
  id // 文章id

  返回结果:HTML页面
  点击播放视频跳转协议:pcbabybrowser://PCBabyVideo/
  用于视频播放的数据,需要在里面加入json
  /*@_HTML_META_START_
  {
    "videoUrl": //  视频播放url
    "adType" ://  广告分类标签,用于app端统计广告点击情况
    "adTime":  //  广告倒计时
    "adDetailUrl": // 广告详情链接
    "adUrl":  // mp4广告url
 }
 _HTML_META_END_@*/

5.0问答专栏

  备注:问答专栏
  接口开发:
  原始URL:
  请求URL:
  HTTP请求方式:get
  是否需要登录:否
  返回格式:JSON
  缓存方式:无
  缓存时间:无
  请求参数:
  pageNo
  pageSize

  返回参数:
{
    status: 0, //状态码  0正常返回   非0请求错误
    desc: "",  //提示信息    status=0提示信息为空;status非0,给出对应的出错提示信息
   "total": 20,  //列表总数
   "pageNo": 1, //当前页码
   "pageSize": 20, //每页条数
   "data": //返回数据
       [
             {
                "columnsId":""    //  专栏期数id
                "qId"   //   问答系统id
                "title":"" //  专栏标题
                "detail":  //  专栏简介
                "date":123  //  时间
                "image": "" //  专栏图片
             }
             ...
      ]
}

5.1专栏详情

  备注:专栏详情
  接口说明:只有请求第一页的问答数据(questionDatas)时才返回专栏数据(columnData),其他页时返回为空
  接口开发:
  原始URL:
  请求URL:
  HTTP请求方式:get
  是否需要登录:否
  返回格式:JSON
  缓存方式:无
  缓存时间:无
  请求参数:
  columnsId  //专栏期数id
  qId // 问答系统id

  返回参数:
{
   "status":   //状态码  0正常返回   非0请求错误
   "desc": ""  //提示信息    status=0提示信息为空;status非0,给出对应的出错提示信息
   "columnData": //专栏数据
   {
     "columnId":  //  专栏期数id
     "title":   //  专栏标题
     "expertFace": //专家头像
     "authorName":  //专家名
     "department"://专家所在部门
     "hospital":    //专家所在医院名称
     "expertId":  //专家id
     "detail":   //专栏详情介绍
   }
   "questionDatas": //问答数据
       [
          {
            "questionId":  // 问题id
            "authorFace":  // 用户头像
            "authorName":  // 用户名称
            "question":   // 问题描述
            "answer":  // 回答内容
            "authorId":  //用户id
          },
             ...
      ]
  "total": 20,  //问答总数
  "pageNo": 1, //当前页码
  "pageSize": 20, //每页条数

}
5.1.2提问
  备注:提问,默认为崔玉涛专栏的提问
  请求URL:http://kuaiwen.pcbaby.com.cn/intf/app/ask.jsp
  HTTP请求方式:post
  是否需要登录:是
  返回格式:JSON
  缓存方式:无
  缓存时间:无
  请求参数:
     req_enc:请求预设编码
     resp_enc:结果集预设编码
     windowname:跨域时赋值
     callback:回调函数名
     title:问题标题
     des:问题描述
     typeid:问题分类ID
     specialistid:专家ID(可选)
    设置header  Cookie = "common_session_id=xxxx";

  返回参数
     {"result":(0-提问成功 -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 文章列表

  备注:文章列表
  接口开发:
  原始URL:
  请求URL:
  HTTP请求方式:get
  是否需要登录:否
  返回格式:JSON
  缓存方式:无
  缓存时间:无
  请求参数:
  pageNo
  pageSize

  返回参数:
{
    status: 0, //状态码  0正常返回   非0请求错误
    desc: "",  //提示信息    status=0提示信息为空;status非0,给出对应的出错提示信息
   "total": 20,  //列表总数
   "pageNo": 1, //当前页码
   "pageSize": 20, //每页条数
   "data": //返回数据
       [
             {
                "articleId":"" //  文章id
                "title":"" //  文章标题
                "detail":  //  文章简介
                "date":""  //  时间
                "image":"" //  文章图片
             }
             ...
      ]
}

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,给出对应的出错提示信息
   "wikiSortCount": //一级分类数量
   "wikiSortList":
     [
       {
          "wikiSortName": //string,一级分类名
          "isHaveSecondSort": //bool,是否有二级分类
          "wikiSortUrl": //string,一级分类页对应url,如果isHaveSecondSort为false必须提供
          "wikiSecondSortCount": //int,二级分类数量,如果isHaveSecondSort为true必须提供
          "wikiSecondSortList":[
             {
               "wikiSecondSortName":  //string,二级分类名
                "isHaveThirdSort”:    //bool,是否有三级分类
                "wikiSecondSortUrl":  //string,二级分类页对应url, 如果isHaveThirdSort为false必须提供
                "wikiSecondSortId": //二级分类id
                "wikiThirdSortCount": //int,三级分类数量如果isHaveThirdSort为true必须提供
              } ……
          ]
       } ......
    ]
}

7.2 百科三四级列表

  备注:获取百科三四级列表数据
  接口开发:吴全贵
  原始URL:
  请求URL:
  HTTP请求方式:get
  是否需要登录:否
  返回格式:JSON
  缓存方式:无
  缓存时间:无
  请求参数:
  wikiSecondSortId //二级分类id

  返回参数:
{
   "status": 0, //状态码  0正常返回   非0请求错误
   "desc": "",  //提示信息    status=0提示信息为空;status非0,给出对应的出错提示信息
   "wikiThirdSortCount": //三级分类数量
   "wikiThirdSortList":
     [
       {
          "wikiThirdSortName": //string,三级分类名
          "isHaveThirdSort": //bool,是否有四级分类
          "wikiThirdSortUrl": //string,三级分类页对应url,如果isHaveThirdSort为false必须提供
          "wikiFourthSortCount": //int,四级分类数量,如果isHaveThirdSort为true必须提供
          "wikiFourthSortList":[
             {
               "wikiFourthSortCmtUrl": //string,评论链接
               "wikiFourthSortName":   //sting,四级分类名(文章名)
               "wikiFourthSortUrl":    //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
        }......
     ]
}

7.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": "参数为空或不合法,或未登录"
 }