【平台介绍】
唯品会成立于2008年,在中国开创了“名牌折扣+限时抢购+正品保障”的创新电商模式,并持续深化为“精选品牌+深度折扣+限时抢购”的正品时尚特卖模式,在线销售服饰鞋包、美妆、母婴、居家等各类名品。
唯品会率先在国内开创了特卖这一独特的商业模式,加上其“零库存”的物流管理以及与电子商务的无缝对接模式,唯品会得以在短时间内在电子商务领域生根发芽。
【授权说明】
唯品会平台是授权型平台。
ThirdAppKey:第三方平台
AppKeyThird AppSecret:第三方平台
AppSecret SessionKey:授权号
【获取方式】
1.创建应用,注册成为开发者
1)登录唯品会开放平台的后台,并请使用唯品会账户进行登录
2) 选择加入开放平台
3) 点击注册
4) 填写基本信息(*号为必填项)
5) 注册成功
6) 填写开发者认证信息(填写了认证信息才可以提交应用审核)
2.创建应用
1) 进入控制台
2) 创建应用
3) 填写应用信息
目前VOP支持应用包括类型,请根据合作类型填写相应资料
买家无线应用:为买家提供无线端唯品会商品导购服务(如市场管理中心等合作项目,请确定选择合作部门,保证应用审核正常通过)
买家网站应用:和外部合作网站提供唯品会流量引入、商品导购、品牌推荐、活动推广、海外业务等服务,为买家提供在第三方平台上运行的 唯品会特卖商品查询和抢购工具
供应商--自研应:具有信息技术能力的供应商直接和唯品会进行系统对接(供应商ID请向对接商务索取)
供应商--服务商应用:ISV为供应商提供应用服务
3.审核授权
进入应用详情
应用提交审核前,必须先完善开发者认证信息。提交审核后,审核期间的应用基本信息不可以修改。审核通过将获得生产环境中接口调用权限(沙箱可直接使用)
4.获取授权
一、引言
您的应用和唯品会开放平台对接后,需要获取有关用户(包括供应商)受限访问的隐私数据(如:商品、订单等),为保证用户数据的安全性与隐私性,您的应用需要取得用户的授权。在这种情况下,您的应用需要引导用户完成“使用唯品会帐号登录并授权”的流程。
目前的授权过程采用OAuth2.0协议,如果想了解这个协议更多的技术细节请参见官方说明:http://oauth.net/2/。
如果您是ISV软件商需要引导用户到授权页面,并且这个用户拥有一个唯品会的账号和密码,同时完成此账号和供应商ID的绑定认证。步骤如下:
1,ISV软件商完成应用审核和沙箱联调
2,使用ISV软件的供应商到VOP站点完成 供应商身份的认证操作
3,ISV软件引导供应商完成授权
4,供应商可以正常使用ISV软件
您可以根据自己的应用场景,选择适用的授权流程:
Server-side flow 此流程适合Web应用,要求ISV应用有Web Server应用,能够保存应用本身的密钥以及状态,可以通过https直接访问授权服务器。
Native Application 此流程适合Mobile应用,同时应用无法与浏览器交互,但是可以外调用浏览器。
二、Server-side flow
此流程适合Web应用,要求ISV应用有Web Server应用,能够保存应用本身的密钥以及状态,可以通过https直接访问授权服务器。 授权流程分为两个步骤:
1)引导需要授权的用户到如下地址: https://auth.vip.com/oauth2/authorize?client_id=YOUR_CLIENT_ID&response_type=code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI 如果用户同意授权,页面跳转至 YOUR_REGISTERED_REDIRECT_URI/?code=CODE
2)换取访问令牌 (http Post )
https://auth.vip.com/oauth2/tokenclient_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&grant_type=authorizatio
ncode&redirect_uri=YOUR_REGISTERED_REDIRECT_URI&request_client_ip=127.0.0.1&code=CODE
返回值包含access_token
使用获取到的access_token调用API
示例
1)登录页
用户操作:用户在登录页输入唯品会的用户名、密码和验证码,登录。
2)授权页 用户操作:授权或取消授权
若用户点“授权”按钮后,会跳转到回调地址,地址上同时附有code,应用可以获取并使用该code去换取access_token
若用户点击“取消”按钮,会跳转到回调地址,地址上同时附有error为错误码,error_description为错误描述
三、Native Application
此流程适合Mobile应用,同时应用无法与浏览器交互,但是可以外调用浏览器。
当redirect_uri=urn:ietf:wg:oauth:2.0:oob的时候,调用Native Application流程。
授权过程:
1)获取授权码:https://auth.vip.com/oauth2/authorize
2)换取访问令牌:https://auth.vip.com/oauth2/token
示例
1)请求授权登录
https://auth.vip.com/oauth2/authorize?client_id=YOUR_CLIENT_ID&response_type=code&redirect_uri=urn:ietf:wg:oauth:2.0:oob&state=1212&display=mobile
用户操作:用户在登录页输入唯品会的用户名、密码和验证码,登录。
2)请求授权用户授权
用户操作:授权或者取消授权
如果点击“授权”,页面回调到默认页面,同时授权码显示在页面上
4)获取访问令牌
四、应用的验证授权流程
引导需要授权的用户到如下地址:
https://auth.vip.com/oauth2/authorize?client_id=YOUR_CLIENT_ID&response_type=code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI
如果用户同意授权,页面跳转至 YOUR_REGISTERED_REDIRECT_URI/?code=CODE
换取Access Token
https://auth.vip.com/oauth2/token? client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&grant_type=authorization_code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI&request_client_ip=127.0.0.1&code=CODE
返回值包含access_token
使用获取到的access_token调用API
五、使用OAuth 2.0调用API
直接使用参数传递参数名为 access_token
http://myi.vip.com/api/account/info?access_token=abcd
六、授权有效期
程序调用接口时需判断接口的返回值,如果用户的access_token失效,需要引导用户重新授权。失效原因有以下几个: 用户取消了对应用的授权
access_token自然过期,access_token有效期为30天。
用户修改了密码,冻结了对应用的授权
唯品会发现用户帐号被盗,冻结了用户对应用的授权
七、接口说明
接口 | 说明 |
OAuth2/authorize | 请求用户授权token |
OAuth2/token | 获取授权过的access token |
OAuth2/token_info | 授权信息查询接口 |
OAuth2/revoke_token | 授权回收接口 |
/oauth2/authorize
1) 说明 请求用户授权token
2) URL https://auth.vip.com/oauth2/authorize
3) HTTP请求方式 GET
4) 请求参数
5) 返回数据
6) 示例
//请求:
https://auth.vip.com/oauth2/authorize? client_id=0123456789&response_type=code&redirect_uri=http://myi.vip.com/index.html
//同意授权后会重定向:http://myi.vip.com/index.html&code=23456
/oauth2/token
1) 说明 获取授权过的access token
2) URL https://auth.vip.com/oauth2/token
3) HTTP请求方式 POST
4) 请求参数
5) 返回数据
6) 示例
//请求:
https://auth.vip.com/oauth2/token? grant_type=authorization_code&client_id=12345&client_secret=abcde&redirect_uri=myi.vip.com/index.h tml&request_client_ip=127.0.0.1&code=23456
//返回结果: {
"access_token": "63945DC",
"expires_in": 12340,
"open_id": "69BA0D4"
}
/oauth2/token_info
1) 说明 授权信息查询接口
2) URL https://auth.vip.com/oauth2/token_info
3) HTTP请求方式 POST
4) 请求参数
5) 返回数据
6) 示例
//请求:
https://auth.vip.com/oauth2/token_info?access_token=63945DC
//正常返回结果:
{
"access_token": "63945DC4F3A5AA8DF537833900713E8341EF430C",
"create_at": "2015-03-13 17:24:20",
"expires_in": 12340,
"expires_time": "2015-03-13 20:50:00",
"open_id": "69BA0D43AF9E3821EE93F72D3BB14724",
"token_type": "Bearer"
}
//如果令牌已经被回收
{
"code": 0,
"msg": "token revoked"
}
/oauth2/revoke_token
1) 说明 授权回收接口
2) URL https://auth.vip.com/oauth2/revoke_token
3) HTTP请求方式 POST
4) 请求参数
5) 返回数据
6) 示例
//请求:
https://auth.vip.com/oauth2/ revoke_token?access_token=63945DC
//正常返回结果:
{
"code": 0,
"msg": "success"
}
//如果令牌无效
{
"code": 30111,
"msg": "access token invalid"
}