wiki:WikiStart/web-intf

Version 33 (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",
    "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
                },
               {
                    "id": 2204,
                    "name": "田园布艺沙发 sj002abc123",
                    "src": "http://xxx",
                    "link": "http://xxx",
                    "seq": 2,
                    "favorite": 52
                }
             ]
         }
    ]
}

返回参数说明:
id:主题id
name: 主题名称
logo: 主题封面
intro: 主题描述
line: 主题每行信息

id: 行id
style: 行模版 1一行一图 2一行二图 4一行四图 5一行五图 7一行七图
seq: 行排序
products: 行所包含的产品数组

id: 产品id
name: 产品名称
src: 产品封面
link: 产品链接
seq: 排序
favorite: 收藏数

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":"客厅",
            "logo":"http://",
            "intro":""
        },
        "1002":{
            "level":1,
            "seq":2,
            "name":"卧室",
            "logo":"http://",
            "intro":""
        },
        "100101":{
            "level":2,
            "seq":1,
            "name":"沙发",
            "logo":"http://",
            "intro":""
        },
        "100102":{
            "level":2,
            "seq":2,
            "name":"荼几",
            "logo":"http://",
            "intro":""
        },
       "100103":{
            "level": 3,
            "seq": 1,
            "name":"布艺沙发",
            "logo":"http://",
            "intro":""
       }
    },
    "relations":{
        "1001":[
            100101,
            100102
        ],
        "1002":[],
        "100101":[
            100103
        ]
    }
}

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

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

示例表示:

-客厅

-- 沙发

--- 布艺沙发

-- 荼几

-卧室

4.搜索接口(搜索结果跟猜你喜欢的返回参数一样)

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

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

请求方式:GET

是否需要登录:否

功能说明:根据条件获取产品列表

提交参数:

categoryId: 1,2
optionId: 1,3,4,6
q: 沙发
pageNo: 1
pageSize: 50

提交参数说明:
categoryId: 类别id
optionId: 选项id
q: 关键字
pageNo: 页码
pageSize: 分页大小

返回参数:

{
    "total":100,
    "pageNo":1,
    "pageSize":10,
    "items":[
        {
            "type": 1
            "id": 1
            "name":"天猫双十二真情回馈专题",
            "src":"http://"
        },
        {
            "type": 2
            "id": 1
            "name":"法丽莎家具 欧式床 实木床 田园婚床 双人床 1.8 1.5米",
            "price":"¥2699.00",
            "price2":"¥2000.00",
            "src": "http://",
            "favorite":1234
        }
    ]
}

返回参数说明:
total:单品总数量
pageNo:分页用页码
pageSize:分页用每页数量
items: 搜索结果数组

type: 1为主题 2为产品 name:type为1时,是主题名;type为2时,是产品名
price:产品原价,仅当type为2时生效
price2: 折后价(可能为空),仅当type为2时生效
favorite:收藏数量
src: 图片(无须区分主题、产品)

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: http://youpin.pchouse.com.cn/jsp/intf/product.jsp

请求方式:GET

是否需要登录:否

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

提交参数:

id:产品id

返回参数:

{
    "name":"法丽莎家具 欧式床 实木床 田园婚床 双人床 1.8 1.5米",
    "price":"¥2699.00",
    "pric2":"¥2000.00",
    "nick":"发丽莎家居旗舰店",
    "picUrl":"http://xxxx",
    "detailUrl":"http://",
    "image":[
        "http://xxxx",
        "http://xxxx",
        "http://xxxx"
    ],
    "favorite": 123
}

返回参数说明:
name:产品名
price:原价
price2:折后价
nick:商家名称
picUrl: 商品主图
detailUrl: 淘宝终端页
image:图片数组

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