自从淘宝联盟推广新规渠道ID以来,必须采用H5手淘授权,这时如果你在联盟开通的网站应用中,设置的是自己的网站地址,在手淘中授权时,会被手淘APP或天猫APP提示外部网址而弹出到手机浏览器,体验感很差。
对于主营微信公众号或网站的客户,这样在移动端授权就很麻烦。
维易淘客接口特意为会员准备一份礼物:
可以直接在手淘APP内接收淘宝授权后回传参数的回调网址。
【使用场景】
在手机淘宝APP内进行渠道授权或其它淘宝H5授权,并在手淘APP完成完成授权后手淘回传的code参数和state参数接收。
【接口权限】
所有月卡,年卡接口的会员均可调用。但点卡暂时无法使用。
【接口调用】
API地址如下:
http://api.vephp.com/authrecall?vekey=xxxx&url=你要接收授权回传的code和state参数的网址
参数:
url:就是你自己的网站网页地址,用于接收授权回传的code参数和state参数,务必看下面的用法
【接口原理】
通过使用我们提供的可以在手淘内打开的域名白名单网址做为您的应用的回调URL,然后在手淘内授权后,手淘会跳到该网址,从而把接收到的code参数和state参数,并根据以下两种场景向你的url参数指定的网址回传这两个值:
1、如果是在手淘内授权,则用POST方式发送到你提供的url参数指向的网址。
2、如果是在浏览器等授权,则直接跳转到url参数指向的网址,并把授权值code和state携带在网址中传递。
【API返回值】
返回如下内容,其中recall_url 就是您要设置成你的应用回调网址:
{
"error": "0",
"msg": "手淘授权网址白名单注册成功...", //用法提示
"data": {
"recall_url": "http://xxx.yyyy.com/outwebtkl/cauth.php?v=VkdSMlNg"
}
}
了解了接口,接下来详细使用流程务必了解一下:
请务必按以下流程操作,流程其实很简单:
1、调用上面authrecall接口,得到recall_url网址就是可以在手淘APP内打开的域名白名单网址。
比如你调用接口传的url值是 http://wsd.591hufu.com/auth.php (这个网址将用于接收参数),
你可以在这个网址中添加一些动态参数,比如 http://wsd.591hufu.com/auth.php?userid=21 把你的会员ID做参数附加到网址后。
调用接口后,得到data如上节白名单网址"http://xxx.yyyy.com/outwebtkl/cauth.php?v=VkdSMlNg"(示例)
2、把这个白名单网址设置为您在淘宝开放平台“应用管理”下的“基本信息—回调URL”,
如图:
3、组合你的授权网址,如下:
https://oauth.taobao.com/authorize?response_type=code&view=web&client_id=xxx&redirect_uri=http%3A%2F%2Fxxx.yyyy.com%2Foutwebtkl%2Fcauth.php%3Fv%3DVkdSMlNg&state=1233
有关授权参数参考 http://wsd.591hufu.com/taokelianmeng/385.html
上面的redirect_uri就是接口中得到的 http://xxx.yyyy.com/outwebtkl/cauth.php?v=VkdSMlNg,务必要urlencode编码处理。
4、把网址https://oauth.taobao.com/authorize....生成淘口令或喵口令,在手淘内授权后,淘宝APP会把code和你自定义的state值,传到我们的域名白名单网址中 http://xxx.yyyy.com/outwebtkl/cauth.php?v=VkdSMlNg&code=xxxxxx&state=123 ,
5、当http://xxx.yyyy.com/outwebtkl/cauth.php收到手淘回传的参数后,分2种场景以不同方式回传给你调用接口时传的url参数地址,如上文的http://wsd.591hufu.com/auth.php?userid=21 ,
【场景1】你的客户是在手淘APP内授权的,这时因为不能直接跳到你自己的网站(否则会提示外部网址而弹出到手机流星器),因为,为了保持在手淘内处理完授权后续事宜,这种场景下,将使用POST方式把code参数和state参数回传到你的ULR网址。
【场景2】你的客户是在浏览器授权的,这时http://xxx.yyyy.com/outwebtkl/cauth.php将会直接以跳转方式跳到你的url网址,比如:
http://wsd.591hufu.com/auth.php?userid=21&code=xxxxxxx&state=123 请用GET方式获取参数。
6、你的接收参数的网址(即调用接口的url网址)同样也分2种接收参数方式并做不同的响应:
【场景1】如果是接收到POST参数(code和state)则表示该授权是在手淘内完成的,当你把code参选处理转化成session和user_id和user_nick等值后,请直接输出以下响应值,我们的域名白名单网址http://xxx.yyyy.com/outwebtkl/cauth.php将根据你的响应值做不同客户提示:
1-你的网址如果处理成功,请输出“1”,那么白名单网址将会在手淘内提示客户“授权成功,可返回淘宝”。
0-如果处理失败,则请输出“0”,那么白名单网址将在手淘APP内提示“授权失败,请联系客服或重试”
其它值-任何非0或1的值,白名单网址均提示“授权完毕”
【场景2】如果你的客户直接在浏览器登录,则白名单网址会直接跳转到你的URL参数指定的网址,这时请用GET方式获取code和state参数,后续自行处理响应,因为白名单网址跳转到你的网址后,控制权已交回你自己的网址了。