alibaichuan
来自于:开发者立即使用
initTaeSDK showLogin getUserInfo logout showTaokeItemById showPageByURL openMyCart myOrdersPage openShopPage setChannel setISVVersion 状态码
概述
开发中遇到问题 —> 问题集锦
1、未变更的接口:initTaeSDK,showLogin,getUserInfo,logout
2、参数有变更的接口:showTaokeItemById,showPageByURL,openMyCart,openShopPage
3、备用接口,暂时无法使用:myOrdersPage
4、新增的接口:setChannel,setISVVersion
5、废弃的接口:addToCartPage
敲黑板
1、初始化失败可能是,大概率是安全图片不对,注意系统设置的PackageName和安全图片;详情参考官方答疑
2、v4.0及以上版本的模块,编译的时候必须选择“使用升级环境编译”,而且云编辑-高级设置-固件要求-Android版本>=5.1.1;
3、v4.0以下版本,编译的时候不能选择“使用升级环境编译”;但是不支持v5安全图片,所以基本废弃;
4、iOS版本建议使用自己的证书,本小菜可以协助生成iOS证书,以及代理上架appstore;
5、其他疑难杂症可以加Q:83967200,验证消息:“渡劫道友”;
开发者入驻
1、首先需要加入百川,http://baichuan.taobao.com/,按要求一步一步填写过来,成功后如下图
开通阿里妈妈
1、开通阿里妈妈会员,获取淘客PID(返利用),打开阿里妈妈传送门,显示以下界面则说明开通成功
2、此时再回来查看证书权限管理,是不是已经有了,这个id在调用showTaokeItemById接口的时候需要用到
加入淘宝联盟
1、用于查看收益,并把收益转入支付宝,点此加入淘宝联盟http://pub.alimama.com/?spm=0.0.0.0.CrMksN
这个和开店一样,需要人工审核,审核时间也有点长,一般1-2个工作日
开始开发
1、接口使用参考测试DEMO,里面的widget.zip
注意要在config.xml文件里添加这一句” < preference name=”urlScheme” value=”tbopen23256171”/ > “,其中tbopen23256171是tbopen+appkey, appkey是在阿里百川的平台上可以找到
效果
<feature name="alibaichuan">
<param name="urlScheme" value="tbopen23256171"/>
</feature>
//这一句也很重要,决定了是否能拉起手淘APP
<preference name="querySchemes" value="tmall,tbopen" />
2、引入百川模块
3、生成Android版本APP,点击下载,到本地
4、检查是否申请了初级电商权限和开通了后台阿里百川的功能,高级电商非必须
5、获取安全图片 yw_1222.jpg,Android的通过apk文件获取(选择V5,再生成图片),iOS需要上传证书,然后通过bundleid获取
下载安全图片
替换zip包里的安全图片自定义模块
android版本的替换如下(替换res/drawable文件夹下的图片),iOS版本替换target目录下的文件
重新压缩自定义模块,直接在commonkey文件夹上点击压缩,并上传到自定义模块,iOS版本的压缩包最好在mac下压缩
4、上传自定义模块,iOS和android两个zip包
5、并勾选自定义模块,能在已添加模块中看到即可
正文
initTaeSDK
初始化模块信息,打开页面require完成就去执行
initTaeSDK(param, function(ret, err))
params
isvcode:
- 类型:字符串
- 默认值:无
- 描述:自定义ISVCode,用于服务器订单跟踪。(如果服务器不做处理,可以随便传)
callback(ret,err)
ret:
- 类型:JSON对象
内部字段:
{
code : 0 //正确码
message:"success" //初始化成功信息
}
err:
- 类型:JSON对象
内部字段:
{
code : 1000 //错误码
message:"user is not exist" //错误描述
}
示例代码
var alibaichuan = null;
apiready = function() {
alibaichuan = api.require('alibaichuan');
initSDK();
};
function initSDK() {
var param = {
isvcode : "feelinglife"
};
alibaichuan.initTaeSDK(param,function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
}
可用性
Android系统, iOS系統
可提供的1.1.0及更高版本
showLogin
打开手淘授权登陆
showLogin(function(ret, err))
callback(ret,err)
ret:
- 类型:JSON对象
内部字段:
{
"userNick": "sin", //用户昵称
"avatarUrl": "http://wwc...", //用户头像
"userId": "AAEe...", //用户ID
"isLogin": true //是否登陆,true/false
}
err:
- 类型:JSON对象
内部字段:
{
code : 1000 //错误码
message:"user is not exist" //错误描述
}
示例代码
var alibaichuan = api.require('alibaichuan');
alibaichuan.showLogin(function(ret, err) {
if (ret) {
alert("登录success:" + JSON.stringify(ret));
} else {
alert("登录error:" + JSON.stringify(ret));
}
});
可用性
Android系统, iOS系統
可提供的1.1.0及更高版本
getUserInfo
获取已经登陆的用户的相关信息
getUserInfo(function(ret, err))
callback(ret,err)
ret:
- 类型:JSON对象
内部字段:
{
"userNick": "sin", //用户昵称
"avatarUrl": "http://wwc...", //用户头像
"userId": "AAEe...", //用户ID
"isLogin": true //是否登陆,true/false
}
err:
- 类型:JSON对象
内部字段:
{
code : 9000 //错误码
message:"Not logged in" //错误描述
}
示例代码
var alibaichuan = api.require('alibaichuan');
alibaichuan.getUserInfo(function(ret, err) {
if (ret) {
alert("用户信息 ret - " + JSON.stringify(ret));
} else {
alert("用户信息 err - " + JSON.stringify(err));
}
});
可用性
Android系统, iOS系統
可提供的1.1.0及更高版本
logout
退出登陆
logout(function(ret, err))
callback(ret,err)
ret:
- 类型:JSON对象
内部字段:
{
code : 0 //正确码
message:"success" //描述
}
err:
- 类型:JSON对象
内部字段:
{
code : 9000 //错误码
message:"Not logged in" //错误描述
}
示例代码
var alibaichuan = api.require('alibaichuan');
alibaichuan.logout(function(ret, err) {
if (ret) {
alert("ret - " + JSON.stringify(ret));
} else {
alert("err - " + JSON.stringify(err));
}
});
可用性
Android系统, iOS系統
可提供的1.1.0及更高版本
showTaokeItemById
通过itemid打开宝贝,以下是正常使用,如果需要使用高佣转链功能,请参考[问题集锦](http://community.apicloud.com/bbs/forum.php?mod=viewthread&tid=59901&extra=)
showTaokeItemById({params}, function(ret, err))
params
clientType:
- 类型:字符串
- 默认值:无
- 描述:表示唤端类型:taobao—-唤起淘宝客户端;tmall—-唤起天猫客户端
backUrl:
- 类型:字符串
- 默认值:无
- 描述:小把手,唤端返回的scheme,(如果不传默认将不展示小把手;如果想展示小把手,可以自己传入自定义的scheme,或者传入百川提供的默认scheme:”alisdk://“)
nativeOpenFailedMode:
- 类型:字符串
- 默认值:无
描述:目前原阿里系页面需要拉回手机淘宝、未安装手机淘宝,默认会跳转到对应的应用下载页。媒体可以根据需要自定义唤起手淘的失败处理方式,目前提供“降级H5应用內打开” 和 “跳转应用下载页”。注:降级H5应用內打开,由于安全策略升级,暂不支持完成整个电商交易流程,请悉知。
注:“NONE”:默认下载页,“BROWER”:打开浏览器,“DOWNLOAD”:跳转应用下载页,“H5”:降级H5应用内打开;
pid:
- 类型:字符串
- 默认值:无
- 描述:获取pid
itemid:
- 类型:字符串
- 默认值:无
- 描述:宝贝的id,itemid为打开宝贝详情后,看到浏览器里有id一项,如”https://item.taobao.com/item.htm?id=45535180986”,这里的id就是itemid
callback(ret,err)
ret:
- 类型:因为阿里不支持完成整个电商交易流程,所以4.0后不再有返回信息。
err:
- 类型:因为阿里不支持完成整个电商交易流程,所以4.0后不再有返回信息。
示例代码
var alibaichuan = api.require('alibaichuan');
var param = {
clientType: "taobao",
backUrl: api.systemType == "ios"?"":"tbopen********",
nativeOpenFailedMode: "BROWER",
pid: "mm_112712463_17294774_66324446",
itemid: "601227868629"
};
alibaichuan.showTaokeItemById(param, function(ret, err) {
if (ret) {
alert("ret - " + JSON.stringify(ret));
} else {
alert("err - " + JSON.stringify(err));
}
});
可用性
Android系统, iOS系統
可提供的1.1.0及更高版本
showPageByURL
通过URL打开宝贝详情,此方法主要以url的自带佣金为准,当然也可传入高佣转链的隐藏参数,[传送门](http://community.apicloud.com/bbs/forum.php?mod=viewthread&tid=59901&extra=)
showPageByURL({params}, function(ret, err))
params
url:
- 类型:字符串
- 默认值:无
- 描述:商品URL地址, 或者优惠券地址
clientType:
- 类型:字符串
- 默认值:无
- 描述:表示唤端类型:taobao—-唤起淘宝客户端;tmall—-唤起天猫客户端
backUrl:
- 类型:字符串
- 默认值:无
- 描述:小把手,唤端返回的scheme,(如果不传默认将不展示小把手;如果想展示小把手,可以自己传入自定义的scheme,或者传入百川提供的默认scheme:”alisdk://“)
nativeOpenFailedMode:
- 类型:字符串
- 默认值:无
描述:目前原阿里系页面需要拉回手机淘宝、未安装手机淘宝,默认会跳转到对应的应用下载页。媒体可以根据需要自定义唤起手淘的失败处理方式,目前提供“降级H5应用內打开” 和 “跳转应用下载页”。注:降级H5应用內打开,由于安全策略升级,暂不支持完成整个电商交易流程,请悉知。
注:“NONE”:默认下载页,“BROWER”:打开浏览器,“DOWNLOAD”:跳转应用下载页,“H5”:降级H5应用内打开;
pid:
- 类型:字符串
- 默认值:无
- 描述:获取pid
callback(ret,err)
ret:
- 类型:因为阿里不支持完成整个电商交易流程,所以4.0后不再有返回信息。
err:
- 类型:因为阿里不支持完成整个电商交易流程,所以4.0后不再有返回信息。
示例代码
function showPageByURL() {
var param = {
url: "https://s.click.taobao.com/Kgzqm0w",
clientType: "taobao",
backUrl: api.systemType == "ios"?"":"tbopen********",
nativeOpenFailedMode: "BROWER",
pid: "mm_112712463_17294774_66324446"
};
alibaichuan.showPageByURL(param, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
}
可用性
Android系统,iOS系统
可提供的1.0.3及更高版本
openMyCart
打开我的购物车
openMyCart(function(ret, err))
params
clientType:
- 类型:字符串
- 默认值:无
- 描述:表示唤端类型:taobao—-唤起淘宝客户端;tmall—-唤起天猫客户端
backUrl:
- 类型:字符串
- 默认值:无
- 描述:小把手,唤端返回的scheme,(如果不传默认将不展示小把手;如果想展示小把手,可以自己传入自定义的scheme,或者传入百川提供的默认scheme:”alisdk://“)
nativeOpenFailedMode:
- 类型:字符串
- 默认值:无
描述:目前原阿里系页面需要拉回手机淘宝、未安装手机淘宝,默认会跳转到对应的应用下载页。媒体可以根据需要自定义唤起手淘的失败处理方式,目前提供“降级H5应用內打开” 和 “跳转应用下载页”。注:降级H5应用內打开,由于安全策略升级,暂不支持完成整个电商交易流程,请悉知。
注:“NONE”:默认下载页,“BROWER”:打开浏览器,“DOWNLOAD”:跳转应用下载页,“H5”:降级H5应用内打开;
pid:
- 类型:字符串
- 默认值:无
- 描述:获取pid
callback(ret,err)
ret:
- 类型:JSON对象
内部字段:
{
code : 0 //正确码
message:"success" //描述
}
err:
- 类型:JSON对象
内部字段:
{
code : 9000 //错误码
message:"Not logged in" //错误描述
}
示例代码
function openMyCart() {
var param = {
clientType: "taobao",
backUrl: api.systemType == "ios"?"":"tbopen********",
nativeOpenFailedMode: "BROWER",
pid: "mm_112712463_17294774_66324446"
};
alibaichuan.openMyCart(param, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
}
可用性
Android系统,iOS系统
可提供的1.1.0及更高版本
myOrdersPage
打开我的订单
myOrdersPage({params}, function(ret, err))
params
status:
- 类型:数字
- 默认值:无
- 描述:默认跳转页面, 0:全部;1:待付款;2:待发货;3:待收货;4:待评价。 若传入的不是这几个数字,则跳转到“全部”页面且“allOrder”失效
isAllOrder:
- 类型:boolean
- 默认值:无
- 描述:true:显示全部订单,建议填true,不管status传什么都填true
clientType:
- 类型:字符串
- 默认值:无
- 描述:表示唤端类型:taobao—-唤起淘宝客户端;tmall—-唤起天猫客户端
backUrl:
- 类型:字符串
- 默认值:无
- 描述:小把手,唤端返回的scheme,(如果不传默认将不展示小把手;如果想展示小把手,可以自己传入自定义的scheme,或者传入百川提供的默认scheme:”alisdk://“)
nativeOpenFailedMode:
- 类型:字符串
- 默认值:无
描述:目前原阿里系页面需要拉回手机淘宝、未安装手机淘宝,默认会跳转到对应的应用下载页。媒体可以根据需要自定义唤起手淘的失败处理方式,目前提供“降级H5应用內打开” 和 “跳转应用下载页”。注:降级H5应用內打开,由于安全策略升级,暂不支持完成整个电商交易流程,请悉知。
注:“NONE”:默认下载页,“BROWER”:打开浏览器,“DOWNLOAD”:跳转应用下载页,“H5”:降级H5应用内打开;
pid:
- 类型:字符串
- 默认值:无
- 描述:获取pid
pageType:
- 类型:字符串
- 默认值:无
- 描述:此功能阿里暂未支持,待支持后可以在这里传人pageType:如商品详情“detail”,购物车“cart”,具体看官方的更新:2-(2)-b 传送门
callback(ret,err)
ret:
- 类型:JSON对象
内部字段:
{
code : 0 //正确码
message:"success" //描述
}
err:
- 类型:JSON对象
内部字段:
{
code : 9000 //错误码
message:"Not logged in" //错误描述
}
示例代码
function myOrdersPage() {
var param = {
status: 0,
isAllOrder: true,
clientType: "taobao",
backUrl: api.systemType == "ios"?"":"tbopen********",
nativeOpenFailedMode: "BROWER",
pid: "mm_112712463_17294774_66324446",
pageType:"order"
};
alibaichuan.myOrdersPage(param, function(ret, err) {
if (ret) {
alert("ret - " + JSON.stringify(ret));
} else {
alert("err - " + JSON.stringify(err));
}
});
}
可用性
Android系统,iOS系统
可提供的1.2.1及更高版本
openShopPage
打开商家店铺
openShopPage({params}, function(ret, err))
params
shopid:
- 类型:字符串
- 默认值:无
- 描述:商家店铺ID
clientType:
- 类型:字符串
- 默认值:无
- 描述:表示唤端类型:taobao—-唤起淘宝客户端;tmall—-唤起天猫客户端
backUrl:
- 类型:字符串
- 默认值:无
- 描述:小把手,唤端返回的scheme,(如果不传默认将不展示小把手;如果想展示小把手,可以自己传入自定义的scheme,或者传入百川提供的默认scheme:”alisdk://“)
nativeOpenFailedMode:
- 类型:字符串
- 默认值:无
描述:目前原阿里系页面需要拉回手机淘宝、未安装手机淘宝,默认会跳转到对应的应用下载页。媒体可以根据需要自定义唤起手淘的失败处理方式,目前提供“降级H5应用內打开” 和 “跳转应用下载页”。注:降级H5应用內打开,由于安全策略升级,暂不支持完成整个电商交易流程,请悉知。
注:“NONE”:默认下载页,“BROWER”:打开浏览器,“DOWNLOAD”:跳转应用下载页,“H5”:降级H5应用内打开;
pid:
- 类型:字符串
- 默认值:无
- 描述:获取pid
sellerId:
- 类型:字符串
- 默认值:无
- 描述:卖家ID,淘宝联盟-联盟产品-单品店铺推广-店铺推广里的user_number_id:如“https://handuyishe.tmall.com/shop/view_shop.htm?user_number_id=263817957&ali_trackid=2%3Amm_112712463_17294774_66324446%3A1568700525_248_1572113213”
callback(ret,err)
ret:
- 类型:JSON对象
内部字段:
{
code : 0 //正确码
message:"success" //描述
}
err:
- 类型:JSON对象
内部字段:
{
code : 9001 //错误码
message:"Parameter is null" //错误描述
}
示例代码
function openShopPage() {
var param = {
shopid: "64185146",
clientType: "taobao",
backUrl: api.systemType == "ios"?"":"tbopen********",
nativeOpenFailedMode: "BROWER",
pid: "mm_112712463_17294774_66324446",
sellerId: "903621783"
};
alibaichuan.openShopPage(param, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
}
可用性
Android系统,iOS系统
可提供的1.2.1及更高版本
setChannel
设置渠道信息(如果有特殊渠道专享价,需要设置,默认不要使用),初始化完成后调用才能生效
setChannel({params}, function(ret, err))
params
typeName:
- 类型:字符串
- 默认值:无
- 描述:渠道类型(默认为:0)
channelName:
- 类型:字符串
- 默认值:无
- 描述:渠道名称(默认为空:””)
callback(ret,err)
ret:
- 类型:JSON对象
内部字段:
{
code : 0 //正确码
message:"success" //描述
}
err:
- 类型:JSON对象
内部字段:
{
code : 9001 //错误码
message:"Parameter is null" //错误描述
}
示例代码
function setChannel() {
var param = {
typeName: "0",
channelName: ""
};
alibaichuan.setChannel(param, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
}
可用性
Android系统,iOS系统
可提供的1.2.1及更高版本
setISVVersion
设置isv版本,提供isvcode全局接口,设置isv的版本 ,默认1.0.0,初始化完成后调用才能生效
setISVVersion({params}, function(ret, err))
params
isvVersion:
- 类型:字符串
- 默认值:无
- 描述:isvVersion (默认1.0.0)
callback(ret,err)
ret:
- 类型:JSON对象
内部字段:
{
code : 0 //正确码
message:"success" //描述
}
err:
- 类型:JSON对象
内部字段:
{
code : 9001 //错误码
message:"Parameter is null" //错误描述
}
示例代码
function setISVVersion() {
var param = {
isvVersion: "1.0.0"
};
alibaichuan.setISVVersion(param, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
}
可用性
Android系统,iOS系统
可提供的1.2.1及更高版本
错误码
code | 描述 |
---|---|
0 | 请求成功 |
999 | 交易成功 |
9000 | 用户未登陆 |
9001 | 参数为空 |
其他 | 阿里返回的code和错误提示 |