[[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参数的支持。 5.所有有写操作的数据接口,必须用POST方式提交,在接口里需要判断提交方式,拒绝GET的调用请求。 6.接口中的JSON字符串,key都用双引号("")包裹,value是字符串类型时,也用双引号("")包裹;是数字类型时,不用引号 7.需要分页的接口,统一返回以下字段: pageNo,pageSize,total 8.涉及接口都需要传请求参数:v = 240 //版本号(数字) }}} == 二.接口列表 == == 1.首页接口调整== **说明:** >首页旧接口调整 **开发人员:** >mrobot ,少凡 **HTTP请求方式:** >get **是否需要登录:** >否 **返回格式:** >JSON **缓存方式:** >有 **缓存时间:** >无 **请求参数** ||参数名||类型||必须||说明|| ||id ||int ||不是 ||栏目id || ||v ||int ||不是 ||版本号) || || lemmaId ||int ||是 ||时间轴id) || || agent ||int ||是 ||客户端标识,IOS:2,Android:3) || || month ||int ||是 ||//怀孕、育儿所在阶段的第几个月,例如,育儿第一个月month=1,当育儿1~6的时候month=13) || {{{ { extend:[ //推广的文字链,文字链只分阶段不分时间轴,如果没有则返回空 { title:"这里是文字链啊,分阶段不分时间轴,这个文字链的文字客户端一定要分行显示完整啊囧,不完整不行啊", url:"http://www.baidu.com", } ], focus:[ //焦点图数据 { id: // id:"articleId=234&expertId=112&num=111"( 推“专栏详情”的推广时id为文章id&专家id&专栏期数id) image: title: type:论坛(1列表、2终端);亲子学院(3列表、4终端);活动(5列表、6终端);工具(7终端);食谱(8终端);资讯(9终端); 问答(10终端);百科(11终端);崔玉涛视频(12视频文章终端);专栏详情(13) url:(活动、工具终端打开需要url,不需要时为空字符串) } ], //新增推荐位,根据时间节点一天返回3套数据,一套3条数据 "recommendTimeline": [ [ { "content": "新生儿一天要睡20-22个小时,脸上还会有不同的表情。", "id": 15403, "image": "http://www1.pcbaby.com.cn/baby/4.jpg", "title": "发育指标", "type": 内容类型(type=1 图集,type=2 视频,type=3 专家视点,type=4 问答专栏(已去除),type=5 精彩活动,type=6 资讯文章,type=7 百科文章,type=8 生活圈帖子,type=9 私密圈帖子,type=10 html页) }, { "content": "物理按摩、中药、快速下奶。", "id": 15775, "title": "吃什么下奶", "type": "11" }, { "content": "新生儿吐奶后,妈妈要把他要减少到平时的一半,缓解吐奶症状。", "id": 16147, "title": "新生儿吐奶怎么办", "type": "11" } ], ...... ...... ], "timeline": { }, recommendChannel:[ //热门栏目 ], recommendContent: (推荐位) //(1-2岁育儿,根据时间轴id,一次性返回31条数据) //(2-6岁育儿,根据时间轴id,一次性返回31条数据) //(0-1岁育儿,跟旧版保持不变,每天返回一条数据,考虑旧版本兼容) [ ], topics:[ //精彩话题(生活圈与私密圈帖子一共出5条数据,两者出现的顺序与数目不固定,但总数目不变: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.验证序列号是否有效接口== **说明:** >验证序列号是否有效接口 **开发人员:** >后端 ** HTTP请求方式:** >post **是否需要登录:** >是 **返回格式:** >JSON **缓存方式:** >无 **缓存时间:** >无 **请求参数:** ||参数名||类型||必须||说明|| || common_session_id ||string ||是 ||登录用户id || || serial_no ||string ||是 ||系列号 || || type ||int ||是 ||设备种类(1:胎语仪,2:体重秤) || {{{ 返回参数: { “status”:0, //处理状态 “message”:"序列号正确!" //相关状态信息 } }}} == 3.激活设备序列号:== **开发人员** >( 后端) **HTTP请求方式:** >post **是否需要登录:** >是 **返回格式:** >JSON **缓存方式:** >无 **缓存时间:** >无 **请求参数:** ||参数名||类型||必须||说明|| || common_session_id ||string ||是 ||用户id|| || phone_number ||string ||是 ||手机号|| || serial_no ||string ||是 ||系列号|| || type ||int ||是 ||设备种类(1:胎语仪,2:体重秤)|| {{{ 返回参数: 返回(json格式): { “status”:0, //处理状态 “message”:"序列号正确!" //相关状态信息 } }}} == 4.找回序列号: == **开发人员** >( 后端) **HTTP请求方式:** >post **是否需要登录:** >是 **返回格式:** >JSON **缓存方式:** >无 **缓存时间:** >无 **请求参数:** ||参数名||类型||必须||说明|| || common_session_id ||string ||是 ||用户id|| || phoneNum ||string ||是 ||手机号|| || type ||int ||是 ||设备种类(1:胎语仪,2:体重秤)|| {{{ 返回参数: 返回(json格式): { “status”:0, //处理状态 “message”:"已发送系列号到手机" //相关状态信息 } }}} == 5.获取手机验证码接口: == **开发人员** >( 后端) **HTTP请求方式:** >post **是否需要登录:** >是 **返回格式:** >JSON **缓存方式:** >无 **缓存时间:** >无 **请求参数:** ||参数名||类型||必须||说明|| || phone_number ||string ||是 ||手机号|| {{{ 返回参数: { “status”:0, //处理状态 “message”:”用户操作成功”, //相关状态信息 “verify_code”:”123456” //客户端用于校验的验证码,格式为6位随机数字 } }}} == 6. 保存(备份)体重秤记录 (后端,要参考快妈接口 ):== **开发人员** >( 后端) **HTTP请求方式:** >post **是否需要登录:** >是 **返回格式:** >JSON **缓存方式:** >无 **缓存时间:** >无 **请求参数:** ||参数名||类型||必须||说明|| || common_session_id ||string ||是 ||用户id|| || lemaId ||int ||是 ||时间轴id|| || height ||float ||不是 ||身高|| || beforeWeight ||float ||不是 ||孕前体重|| || weight ||float ||是 ||当前体重|| || babyWeight ||float ||不是 ||婴儿体重|| || date ||string ||是 ||当天日期(2016-05-02)|| {{{ 返回参数: { “status”:0,(0代表成功,-1代表失败) //处理状态 “message”: (描述信息), “height”: 175, (身高,可以为空) “beforeWeight”:50.0 (孕前体重,可以为空) } }}} == 7. 删除体重秤接口: == **开发人员** >( 后端) **HTTP请求方式:** >post **是否需要登录:** >是 **返回格式:** >JSON **缓存方式:** >无 **缓存时间:** >无 **请求参数:** ||参数名||类型||必须||说明|| || common_session_id ||string ||是 ||用户id|| || lemanId ||iny||是 ||时间轴id|| || date ||string ||是 ||当天日期(2016-05-02)|| {{{ 返回参数: { status:”0”(0代表正常,-1代表异常) message:”删除成功” } }}} == 8. 体重分析wap页面: == **开发人员** >mrobot,制作 **HTTP请求方式:** >get **是否需要登录:** >否 **返回格式:** >html页面 **缓存方式:** >无 **缓存时间:** >无 **请求参数:** ||参数名||类型||必须||说明|| || lemaId ||int ||是 ||时间轴id|| || height ||float ||不是 ||身高|| || beforeWeight ||float ||不是 ||孕前体重|| || weight ||float ||是 ||当前体重|| || date ||string ||是 ||当天日期(2016-05-02)|| || BMIType ||int ||是 ||BMI指数类型(4孕前正常,5孕前偏瘦,6孕前偏重,7孕前超重)|| || week ||int ||是 ||怀孕第几周,如week=16为怀孕第16周|| ||weightRange ||string ||是 ||建议的标准体重(51~59)|| ||isBabyWeight ||string ||是 ||是否为宝宝体重,isBabyWeight=1为宝宝体重|| == 9. 胎语仪分享页: == **开发人员** >( 烧饭) **HTTP请求方式:** >post **是否需要登录:** >是 **返回格式:** >JSON **缓存方式:** >无 **缓存时间:** >无 **请求参数:** ||参数名||类型||必须||说明|| || common_session_id ||string ||是 ||用户id|| || date ||string ||是 ||123456(时间戳)|| {{{ 返回参数: { “status”:0,(0代表成功,-1代表失败) //处理状态 "url": "音频url", } }}} == 10. 删除胎语音频接口: == **开发人员** >(后端,UPA) **HTTP请求方式:** >post **是否需要登录:** >是 **返回格式:** >JSON **缓存方式:** >无 **缓存时间:** >无 **请求参数:** ||参数名||类型||必须||说明|| || common_session_id ||string ||是 ||用户id|| || record_time ||string ||是 ||123456(时间戳)|| {{{ 返回参数: { status:”0”(0代表正常,-1代表异常), message:”删除成功” } }}} == 11. 上传胎语音频文件接口: == **开发人员** >( UPA) **HTTP请求方式:** >post **是否需要登录:** >是 **返回格式:** >JSON **缓存方式:** >无 **缓存时间:** >无 **请求参数:** ||参数名||类型||必须||说明|| || common_session_id ||string ||是 ||用户id|| || upload_file ||string ||是 ||音频文件路径(必须在post form中)|| ||recTime ||int ||是 ||记录时间(时间戳)|| {{{ 返回参数: { “status”:0, //处理状态 “message”:”OK”, //相关状态信息 “file_url”:”test.icarenewlife.com/abcd” //音频URL(只有status=0时才有值) } }}} == 12. 上传(备份)胎语记录数据接口 == **开发人员** >( 后端) **HTTP请求方式:** >post **是否需要登录:** >是 **返回格式:** >JSON **缓存方式:** >无 **缓存时间:** >无 **请求参数:** ||参数名||类型||必须||说明|| || common_session_id ||string ||是 ||用户id|| {{{ 请求参数: record_data_array:(用户记录数据集,Json数组格式) [ {//一条记录格式 //公共项 recTime: // 记录时间(时间戳) occurTime: // 发生时间(时间戳) recType: // 记录类型 comments: // 备注 file_url: // 音频文件url upload_category: // 指定上传操作种类(1胎心,23成人心跳) sequence_no; // 上传文件序列号(胎语默认设为1) //胎语 avgRate_fetalBeat: // 平均心率 duration_fetalBeat: // 时长 beatValue_fetalBeat: // 胎心数据 beatTime_fetalBeat: // 对应胎心数据的时间, 单位为秒 tagTime_fetalBeat: // 胎心时间 单位为秒 //成人心跳 avgRate_adultBeat: // 平均心率 duration_adultBeat: // 时长 beatValue_adultBeat: // 胎心数据 beatTime_adultBeat: // 对应胎心数据的时间, 单位为秒 tagTime_adultBeat: // 成人心跳时间 单位为秒 } …. ] }}} {{{ 返回结果: { “status”:0, //处理状态 “message”:”OK”, //相关状态信息 “upload_success_count”:100, //上传成功记录条数 “upload_success_array”: //上传成功数据的记录类型和记录时间数组 [ { "recTime": “148959560000”, //记录时间 "recType": "1", //记录类型 } ... ] } }}} == 13. 下载胎心音频文件接口: == **开发人员** >( 后端) **HTTP请求方式:** >post **是否需要登录:** >是 **返回格式:** >JSON **缓存方式:** >无 **缓存时间:** >无 **请求参数:** ||参数名||类型||必须||说明|| || common_session_id ||string ||是 ||用户id|| || record_type ||string ||是 || 用户记录类型(胎语默认为1) || ||recTime ||int ||是 ||记录时间(时间戳)|| {{{ 返回参数: { "status":0, //处理状态 "message":"OK", //相关状态信息 "download_record_data": { //公共项 recTime: // 记录时间 occurTime: // 发生时间 recType: // 记录类型 comments: // 备注 //胎语 avgRate_fetalBeat: // 平均心率 duration_fetalBeat: // 时长 beatValue_fetalBeat: // 胎心数据 beatTime_fetalBeat: // 对应胎心数据的时间, 单位为秒 tagTime_fetalBeat: // 胎心时间 单位为秒 audioPath_fetalBeat: // 胎心音频路径 //成人心跳 avgRate_adultBeat: // 平均心率 duration_adultBeat: // 时长 beatValue_adultBeat: // 胎心数据 beatTime_adultBeat: // 对应胎心数据的时间, 单位为秒 tagTime_adultBeat: // 成人心跳时间 单位为秒 audioPath_adultBeat: // 成人心跳音频路径 } } }}} == 14. 获取孕周和体重记录: == **开发人员** >mrobot ,李峰 **HTTP请求方式:** >get **是否需要登录:** >是 **返回格式:** >JSON **缓存方式:** >无 **缓存时间:** >无 **请求参数:** ||参数名||类型||必须||说明|| || common_session_id ||string ||是 ||用户id|| {{{ 返回参数: { “status”:(0正常,-1异常) "msg":"数据获取成功" //提示信息 "BMIType":4 //BMI指数类型(4孕前正常,5孕前偏瘦,6孕前偏重,7孕前超重) "data": [ { "lemmaId": 281, //时间节点id “date”:2016-05-01, "weight": 58.0, // 体重 “desc” :”偏重” }, { "lemmaId": 282, //时间节点id “date”:2016-05-01, "weight": 59.0 // 体重 “desc” :”偏轻” } ... ] } }}} == 15. 胎语纪录分析页,推荐内容接口: == **开发人员** >mrobot ,制作 **HTTP请求方式:** >get **是否需要登录:** >否 **返回格式:** >JSON **缓存方式:** >无 **缓存时间:** >无 **请求参数:** ||参数名||类型||必须||说明|| || date ||string ||是 ||当前日期(2016-3-30)|| || v ||string ||不是 ||版本号(300)|| {{{ 返回参数: { status : (0代表正常,-1代表异常) data:[ { articleId:198 //文章id imgUrl:”文章导读图”, title:”宝宝心跳,带给孕妈的感动”, desc: “描述” }, { qId:200 //问答id title: “忽略4件事 胎儿小心脏或有缺陷” }, { qId:201 //问答id title: “胎儿性别早知道 从胎心看男女” } ] } }}} == 16.获取我的记录接口: == **开发人员** >mrobot ,李锋 **HTTP请求方式:** >get **是否需要登录:** >是 **返回格式:** >JSON **缓存方式:** >无 **缓存时间:** >无 **请求参数:** ||参数名||类型||必须||说明|| || common_session_id ||string ||是 ||用户id|| {{{ 返回参数: { "pageNo": 1, "pageSize": 20, "record": [ { "data": “2016-2-2”, "weight": "59.0kg", "tip": “专家提醒:良好的生活习惯继续保持。进行有效的锻炼,有助于孕妇控制体重", recordTime:”1432579845” (保存胎语记录时间,时间戳) "heartBeat": “110~160次/分”,(怀孕阶段才出来) “babyWeight” : 10 (婴儿体重) "babyTip": “专家提醒:良好的生活习惯继续保持。进行有效的锻炼,有助于孕妇控制体重" }, { "data": “2016-2-2”, "weight": "59.0kg", "tip": “专家提醒:良好的生活习惯继续保持。进行有效的锻炼,有助于孕妇控制体重", recordTime:”1432579845” (保存胎语记录时间,时间戳) "heartBeat": “110~160次/分", “babyWeight” : 10 (婴儿体重) "babyTip": “专家提醒:良好的生活习惯继续保持。进行有效的锻炼,有助于孕妇控制体重" } ...... ], "total": 100 } }}}