wiki:WikiStart/web-intf

Version 22 (modified by xujianyou, 14 years ago) (diff)

--

基本约定

1.当接口处理正常时,HTTP STATUS CODE 返回给200。包括有正常的业务数据和数据为空的情况。

2.当接口处理异常时,HTTP STATUS CODE 返回给500,并且给出具体的错误信息。
    {
	"uri" : "/intf/albums-by-type.jsp",
	"error-code":"20502",
	"error-desc":"Need you follow uid.",
        "user-notice":"给用户的提示放在这里"
    }

    
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.所有接口的URL都必须是小写,参数名称也需要是小写。

1.首页接口---主题列表

原型  http://trac.pc.com.cn/mobile/pototype/ideas/youjiapin/req1.0.0/

URL: http://youpin.pchouse.com.cn/jsp/intf/list_theme.jsp

请求方式:GET

是否需要登录:否

功能说明:搜索主题,已分页形式返回

提交参数:

     "pageNo": 1
     "pageSize": 10


提交参数说明:
pageNo: 分页页码
pageSize: 分页大小

返回参数:

{
    "total":100,
    "pageNo":1,
    "pageSize":10,
    "theme":[
        {
            "id":10,
            "logo":"http:xxxx",
            "name":"天猫双十二真情回馈活动",
            "intro":"topic descript",
            "seq": 1
        },
        {
            "id":11,
            "logo":"http:xxxx",
            "name":"天猫双十二真情回馈活动",
            "intro":"topic descript",
            "seq": 2
        },
    ]
}

返回参数说明:
total:主题总数量
pageNo:分页用页码
pageSize:分页用每页数量
theme:主题数组
id:主题的id
logo:主题图片
name:主题名称
intro:主题描述

2.主题接口

原型  http://trac.pc.com.cn/mobile/pototype/ideas/youjiapin/req1.0.0/

URL: http://youpin.pchouse.com.cn/jsp/intf/theme.jsp

请求方式:GET

是否需要登录:否

功能说明:根据主题id,返回整个主题信息

提交参数:

id:主题id

返回参数:

{
    "id": 1
    "name": "天猫双十二真情回馈活动",
    "logo": "http://xxxx",
    "intro": "this is intro",
    "total":20,
    "line": [
         {
             "id": 1001,
             "style": 1,
             "seq": 1
             "products": [
                {
                    "id": 2202,
                    "name": "田园布艺沙发 sj002",
                    "src": "http://xxx",
                    "link": "http://xxx",
                    "seq": 1,
                    "favorite": 5231
                }
             ]
         },
         {
             "id": 1002,
             "style": 3,
             "seq": 2
             "products": [
                {
                    "id": 2203,
                    "name": "田园布艺沙发 sj002abc",
                    "src": "http://xxx",
                    "link": "http://xxx",
                    "seq": 1,
                    "favorite": 523
                }
             ]
         }
    ]
}

返回参数说明:
total:单品总数量
pageIndex:分页用页码
pageSize:分页用每页数量
products:单品数组
id:单品的id
bigImg:单品图片
name:单品名称
collectCount:单品被收藏的数量

3.单品库首页

原型  http://trac.pc.com.cn/mobile/pototype/ideas/youjiapin/req1.0.0/

URL: http://youpin.pchouse.com.cn/jsp/intf/category.jsp

请求方式:GET

是否需要登录:否

功能说明:返回单品库的类别

提交参数:无

返回参数:

{
    "categories":{
        "1001":{
            "level":1,
            "seq":1,
            "name":"客厅"
        },
        "1002":{
            "level":1,
            "seq":2,
            "name":"卧室"
        },
        "100101":{
            "level":2,
            "seq":1,
            "name":"沙发"
        },
        "100102":{
            "level":2,
            "seq":2,
            "name":"荼几"
        },
       "100103":{
            "level": 3,
            "seq": 1,
            "name":"布艺沙发"         
       }
    },
    "relations":{
        "1001":[
            100101,
            100102
        ],
        "1002":[],
        "100101":[
            100103
        ]
    }
}

返回参数说明:
categories: 包含所有的类别(不分层级)
relations: 描述类别的关联关系(仅下级)

id:节点ID
level:节点的层次,1表示根节点。
seq:节点的顺序,同级节点之间的显示顺序。从1开始
name:节点名称
$node id value:节点ID的值。以节点ID的值作为key,该节点的子节点集合作为value,建立节点之间的关联关系,实现节点的向下遍历。

示例表示:

-客厅

-- 沙发

--- 布艺沙发

-- 荼几

-卧室

4.单品库列表页(搜索结果,猜你喜欢的返回参数一样)

 http://trac.pc.com.cn/mobile/pototype/ideas/youjiapin/req1.0.0/

URL:

请求方式:GET

是否需要登录:否

功能说明:根据主题id,已分页形式返回产品列表

提交参数:

space:睡房
type:床

返回参数:

{
    "total":100,
    "pageIndex":1,
    "pageSize":10,
    "products":[
        {
            "name":"法丽莎家具 欧式床 实木床 田园婚床 双人床 1.8 1.5米",
            "price":"¥2699.00",
            "oldPrice":"¥2899.00",
            "collectCount":1234
        },
        {
            "name":"法丽莎家具 欧式床 实木床 田园婚床 双人床 1.8 1.5米",
            "price":"¥2699.00",
            "oldPrice":"¥2899.00",
            "collectCount":1234
        }
    ]
}

返回参数说明:
total:单品总数量
pageIndex:分页用页码
pageSize:分页用每页数量
products:单品数组
products:产品数组
name:产品名
price:当前价格、优惠价格
oldPrice:旧价格
collectCount:收藏数量

5.测试页

 http://trac.pc.com.cn/mobile/pototype/ideas/youjiapin/req1.0.0/

URL:

请求方式:GET

是否需要登录:否

功能说明:返回测试页内容

提交参数:无

返回参数:

{
    "count":6,
    "tests":[
        {
            "testId":1,
            "testDescription":"请选择上述两款产品中你较喜欢的产品",
            "MultiSelect":0,
            "selection":[
                {
                    "selectionId":11,
                    "image":"http://xxx"
                },
                {
                    "selectionId":12,
                    "image":"http://xxx"
                }
            ]
        },
        {
            "testId":2,
            "testDescription":"请选择上述两款产品中你较喜欢的产品",
            "MultiSelect":1,
            "selection":[
                {
                    "selectionId":21,
                    "image":"http://xxx"
                },
                {
                    "selectionId":22,
                    "image":"http://xxx"
                }
            ]
        }
    ]
}

返回参数说明:
count:测试页数量
tests:测试页数组
testId:测试页id
testDescription:测试页
MultiSelect?:是否多选,1是,0否
selection:选项数组
selectionId:选项id
image:图片url

6.测试结果记录

7.终端页

 http://trac.pc.com.cn/mobile/pototype/ideas/youjiapin/req1.0.0/

URL:

请求方式:GET

是否需要登录:否

功能说明:根据产品id,返回产品的详细信息

提交参数:

pid:产品id

返回参数:

{
    "productName":"法丽莎家具 欧式床 实木床 田园婚床 双人床 1.8 1.5米",
    "price":"¥2699.00",
    "oldPrice":"¥2899.00",
    "seller":"发丽莎家居旗舰店",
    "image":[
        "http://xxxx",
        "http://xxxx",
        "http://xxxx"
    ],
    "commentCount":1234,
    "comments":[
        {
            "nickName":"b_小贝贝",
            "time":"9月3日 15:23",
            "face":"http://asdfasdf",
            "content":"她家的包包看起来还不错,有谁买过的,求推荐!"
        },
        {
            "nickName":"Blanch_213",
            "time":"9月3日 15:53",
            "face":"http://asdfasdf",
            "content":"简单,但太普遍了!"
        }
    ]
}

返回参数说明:
productName:产品名
price:价格、优惠价格
oldPrice:原价格
seller:商家
image:图片数组
commentCount:评论总数
comments:评论数组
nickName:昵称
time:评论时间
face:头像
content:评论内容

8.用户信息

原型 http://trac.pc.com.cn/mobile/pototype/ideas/youjiapin/req1.0.1/

URL:

请求方式:GET

是否需要登录:是

功能说明:登录后,返回用户信息

提交参数:

tid:主题id

返回参数:

http://trac.pc.com.cn/mobile/pototype/ideas/youjiapin/req1.0.1/
{
    "username":"imoveto1",
    "session":"xxxx",
    "userid":"userid",
    "remark":"坚持世上一切美好的事物,哈哈!",
    "face":"http://xxxx",
    "collectCount":34,
    "readHistory":134
}

username:用户名
session:session
userid:用户id
remark:备注
face:头像
collectCount:收藏夹数量
readHistory:浏览历史

9.用户信息修改接口

原型 http://trac.pc.com.cn/mobile/pototype/ideas/youjiapin/req1.0.1/

URL:

请求方式:POST

是否需要登录:是

功能说明:修改用户信息接口

提交参数:

username:用户名[[BR]]
session:session[[BR]]
userid:用户id[[BR]]
remark:备注[[BR]]
face:头像[[BR]]

返回参数:

10.登录接口(可以是分成3个URL)

原型 http://trac.pc.com.cn/mobile/pototype/ideas/youjiapin/req1.0.1/

URL:

请求方式:POST

功能说明:已新浪微博,腾讯微博,淘宝账号登录

提交参数:

type:区分新浪微博,腾讯微博,淘宝账号

返回参数:

11.注销接口

12.收藏接口

原型 http://trac.pc.com.cn/mobile/pototype/ideas/youjiapin/req1.0.1/

URL:

请求方式:POST

是否需要登录:是

功能说明:登录后记录用户收藏的内容

提交参数:

返回参数:

13.收藏列表

14.浏览记录

原型 http://trac.pc.com.cn/mobile/pototype/ideas/youjiapin/req1.0.1/

URL:

请求方式:POST

是否需要登录:是

功能说明:发送用户浏览过的产品

提交参数:

pid:产品id

返回参数:

15.搜索

原型 http://trac.pc.com.cn/mobile/pototype/ideas/youjiapin/req1.0.1/

URL:

请求方式:POST

是否需要登录:否

功能说明:根据条件搜索,已分页形式返回产品列表

提交参数:

返回参数:

16.发送评论

原型 http://trac.pc.com.cn/mobile/pototype/ideas/youjiapin/req1.0.1/

URL:

请求方式:GET

是否需要登录:否

功能说明:根据主题id,已分页形式返回产品列表

提交参数:

返回参数:

17.获取评论(视情况而定,是否在页面终端页中加入)

原型 http://trac.pc.com.cn/mobile/pototype/ideas/youjiapin/req1.0.1/

URL:

请求方式:GET

是否需要登录:否

功能说明:根据主题id,已分页形式返回产品列表

提交参数:

返回参数:

18.猜你喜欢

用户行为接口

家居优品项目希望通过对用户一些行为的收集,分析和识别出用户的一些特征。系统利用用户特征,能够较为准确的给网友进行商品推荐。系统主要对下列

用户的行为进行采集:搜索关键词、测试结果关键词、浏览商品、浏览主题、收藏商品。其中浏览商品和浏览主题的信息保存在客户端上,需要客户端提交给服务器, 其余信息在网友操作过程中,服务器能够自动采集。

浏览商品

采集频率:应用切换回前台时提交
数据格式:[{"mac-id":"004443fdd433434","uid":"233223","pid":"xxxxx","t-time":233]

mac-id:网卡的mac地址,必须提交。[[BR]] uid:登录用户的ID,未登录时为空。[[BR]] pid:商品ID[[BR]] v-time:商品页停留时间=离开商品终端页的时间 - 进入商品终端页的时间;单位是秒,毫秒尾数进行四舍五入。

存储方式:文件

浏览主题

采集频率:应用切换回前台时提交
数据格式:[{"mac-id":"004443fdd433434","uid":"233223","tid":"xxxxx","t-time":2323}]

mac-id:网卡的mac地址,必须提交。[[BR]] uid:登录用户的ID,未登录时为空。[[BR]] tid:商品ID[[BR]] v-time:主题页停留时间=离开主题页的时间 - 进入主题页的时间;单位是秒,毫秒尾数进行四舍五入。

存储方式:文件

Attachments