免登录地址接口

一、原理及说明

开发者接入积分商城后,用户从客户端进入兑吧积分商城,需要通过特定的URL链接来访问。

接口定义

免登录地址接口,是由开发者服务端开放给客户端,作为积分商城入口的一个接口地址。
免登录接口的主要功能是:在用户访问积分商城时,通过接收客户端传过来的参数信息生成对应的免登录URL,并返回给客户端做重定向。
兑吧通过该接口生成的免登录URL同步用户的登录状态。

接口地址

https://activity.m.duiba.com.cn/autoLogin/autologin?

二、免登录URL生成

签名规则可参考文档MD5签名规则。对接过程中出现签名问题可通过签名排查工具进行自排查,其他问题,可参考文档常见问题处理

输入参数(Get请求方式传参)

参数 是否必须 参数类型 限制长度 参数说明
uid yes string 255 用户唯一性标识,对应唯一一个用户且不可变 (用not_login作为uid标记游客用户,详见 游客访问
credits yes long 20 用户积分余额(无积分体系独立活动,积分可以传0)
appKey yes string 255 接口appKey,应用的唯一标识
timestamp yes String 20 1970-01-01开始的时间戳,毫秒为单位。
redirect no string 255 登录成功后的重定向地址(需要进行urlencode编码),可以直达积分商城内的任意页面,如果不带redirect参数,默认跳转到积分商城首页
sign yes string 255 MD5签名,详见 签名规则

免登录地址示例

https://activity.m.duiba.com.cn/autoLogin/autologin?uid=test001&credits=100&appKey=jlg88loSQobWDMmGrPLqtmr&sign=fbce303d7ba7ca7b0fe14d576b494769&timestamp=1418625055000

注意事项

  1. redirect 参数在拼装免登录地址时候需要进行URLEncode编码,否则会导致请求解析报错。

  2. 为了确保客户端每次请求到都是最新的免登录url,客户端每次向服务器发的请求不能是固定的,以避免请求被缓存。

  3. 兑吧免登录url经过签名,该url地址5分钟失效,请务必在生成地址后立即使用,使用后页面会重定向进入积分商城,登录状态24小时有效。

  4. 开发者服务器端需要开发一个支持重定向的接口实现动态生成免登录url地址,该接口地址配置在客户端,用户通过点击该地址访问积分商城。

  5. appSecrect 是兑吧签名验证的关键密钥,切勿作为参数加入免登URL,否则将导致appSecrect泄露,由此造成的损失兑吧概不负责。

三、透传参数dbredirect

dbredirect参数是一个双方约定的透传参数,用来透传积分商城的活动或者商品的内页地址(由运营在兑吧后台获取)。
该参数配置在开发者提供的免登录接口中,在免登录接口请求服务端生成免登陆地址时候,赋值给免登录地址的redirect参数

使用和拼接方式
  1. 为了运营可以方便调整直达积分商城内的商品页面,需要开发者实现一个固定的免登录接口入参(dbredirect),根据该参的传值来灵活修改重定向地址。

  2. dbredirect 为兑吧跟开发者共同约定的参数,开发者需要将免登录接口地址填写在兑吧后台(如:http://www.demo.com/api/duiba)。当运营人员在兑吧后台取商品链接时,兑吧会自动把商品链接经过URLEncode编码(UTF-8)后拼接在dbredirect参数上。

(注意!)

如果开发者内部规范或者其他原因,在做运营位置直达时候有自己定义好的透传参数,不使用兑吧默认的dbredirect参数。想在获取链接时候,拼接的透传参数名称是自己定义的,可以向兑吧技术支持申请修改默认透传参数dbredirect

dbredirect流程原理详见下图

四.未登录用户访问

  1. 如果开发者想让用户在未登录情况下可以访问积分商城,浏览商品,在有兑换或者参与活动需求时再让用户登录,从而减轻用户登录步骤,提升商品曝光度。

  2. 针对这种情形,兑吧积分商城支持游客身份登录积分商城。 实现逻辑是在生成免登陆地址时候uid参数设置成 "not_login",用户的 credits 设置成"0",这样定义的用户访问积分商城时,我们将其标记为未登录用户。

  3. 用户在游客访问模式下参与兑换或者参与活动时候,再调起app登录页面实现登录。 详见 游客用户唤起登录

五.接口测试

免登录地址接口开发完成之后,将免登录接口地址配置到兑吧后台,并在商品(或者活动)列表中获取商品(或者活动)链接,链接地址格式为:免登录接口地址+dbredirect+商品链接(链接经过encode编码)。开发者可以将该商品(或者活动)链接配置到客户端投放入口,点击测试访问,看是否可以正常跳转到商城指定页面。如果可以正常跳转,说明接口正常


代码示例

点击下载(java开发包)

java

CreditTool tool=new CreditTool(appKey, appSecret);
Map params=new HashMap();
params.put("uid","userId001");
params.put("credits","100");
if(redirect!=null){
 // redirect是目标页面地址,如果要跳转到积分商城指定页面,redirect地址就是目标页面地址
 //此处请设置成一个外部传进来的参数,方便运营灵活配置
 params.put("redirect", redirect);
}
String url=tool.buildUrlWithSign("https://activity.m.duiba.com.cn/autoLogin/autologin?",params);
//此url即为免登录url

php

开发工具包:
点击打开

$url=buildRedirectAutoLoginRequest($appKey,$appSecret,$uid,$credits,$redirect)

.net

开发工具包:
点击打开

string url = "https://activity.m.duiba.com.cn/autoLogin/autologin";
string uid = "userId001";
int credits = 9999;

Hashtable hshTable = new Hashtable();
hshTable.Add("uid", uid);
hshTable.Add("credits", credits);
if(redirect!=null){
 //redirect为商城直达的目标页面地址,如果要跳转的目标页面不是积分商城首页,改地址必须配置
 hshTable.Add("redirect", redirect);
}
url = duiba.BuildUrlWithSign(url, hshTable, appKey, appSecret);

免登录地址生成工具

为了方便开发者理解和使用,兑吧提供了免登录地址生成工具,通过工具方法,可以生成对应的免登录地址。

免登录地址生成工具:http://wechat.duiba.com.cn/dbtool

免登录地址常见问题处理

在对接免登录地址过程中会遇到一些常见问题,常见问题和解决思路 详见常见问题解决

results matching ""

    No results matching ""