alibaichuan

showLogin logout showPageByURL myOrdersPage setChannel 状态码

开发中遇到问题 —> 问题集锦

1、未变更的接口:,showLogin,,logout

2、参数有变更的接口:,showPageByURL,,openShopPage

3、备用接口,暂时无法使用:

4、新增的接口:setChannel,

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(返利用),,显示以下界面则说明开通成功

alibaichuan - 图1

2、此时再回来查看证书权限管理,是不是已经有了,这个id在调用showTaokeItemById接口的时候需要用到

alibaichuan - 图2

加入淘宝联盟

1、用于查看收益,并把收益转入支付宝,点此加入淘宝联盟

alibaichuan - 图3

这个和开店一样,需要人工审核,审核时间也有点长,一般1-2个工作日

开始开发

1、接口使用参考测试DEMO,里面的widget.zip

注意要在config.xml文件里添加这一句” < preference name=”urlScheme” value=”tbopen23256171”/ > “,其中tbopen23256171是tbopen+appkey, appkey是在阿里百川的平台上可以找到

alibaichuan - 图4

效果

2、引入百川模块

alibaichuan - 图5

3、生成Android版本APP,点击下载,到本地

4、检查是否申请了初级电商权限和开通了后台阿里百川的功能,高级电商非必须

alibaichuan - 图6

5、获取安全图片 yw_1222.jpg,Android的通过apk文件获取(选择V5,再生成图片),iOS需要上传证书,然后通过bundleid获取

alibaichuan - 图7

下载安全图片

替换zip包里的安全图片

android版本的替换如下(替换res/drawable文件夹下的图片),iOS版本替换target目录下的文件

alibaichuan - 图8

4、上传自定义模块,iOS和android两个zip包

alibaichuan - 图9

5、并勾选自定义模块,能在已添加模块中看到即可

正文

initTaeSDK

  1. initTaeSDK(param, function(ret, err))

params

isvcode:

  • 类型:字符串
  • 默认值:无
  • 描述:自定义ISVCode,用于服务器订单跟踪。(如果服务器不做处理,可以随便传)

callback(ret,err)

ret:

  • 类型:JSON对象

内部字段:

  1. {
  2. code : 0 //正确码
  3. message:"success" //初始化成功信息
  4. }

err:

  • 类型:JSON对象

内部字段:

  1. {
  2. code : 1000 //错误码
  3. message:"user is not exist" //错误描述
  4. }

示例代码

  1. var alibaichuan = null;
  2. apiready = function() {
  3. alibaichuan = api.require('alibaichuan');
  4. initSDK();
  5. };
  6. function initSDK() {
  7. var param = {
  8. isvcode : "feelinglife"
  9. };
  10. alibaichuan.initTaeSDK(param,function(ret, err) {
  11. if (ret) {
  12. alert(JSON.stringify(ret));
  13. } else {
  14. alert(JSON.stringify(err));
  15. }
  16. });
  17. }

可用性

  1. Android系统, iOS系統
  2. 可提供的1.1.0及更高版本

showLogin

  1. 打开手淘授权登陆
  2. showLogin(function(ret, err))

callback(ret,err)

ret:

  • 类型:JSON对象

内部字段:

  1. {
  2. "userNick": "sin", //用户昵称
  3. "avatarUrl": "http://wwc...", //用户头像
  4. "userId": "AAEe...", //用户ID
  5. "isLogin": true //是否登陆,true/false
  6. }

err:

  • 类型:JSON对象

内部字段:

  1. {
  2. code : 1000 //错误码
  3. message:"user is not exist" //错误描述
  4. }

示例代码

  1. var alibaichuan = api.require('alibaichuan');
  2. alibaichuan.showLogin(function(ret, err) {
  3. if (ret) {
  4. alert("登录success:" + JSON.stringify(ret));
  5. } else {
  6. alert("登录error:" + JSON.stringify(ret));
  7. }
  8. });

可用性

  1. Android系统, iOS系統
  2. 可提供的1.1.0及更高版本

getUserInfo

  1. 获取已经登陆的用户的相关信息
  2. getUserInfo(function(ret, err))

callback(ret,err)

ret:

  • 类型:JSON对象

内部字段:

  1. {
  2. "userNick": "sin", //用户昵称
  3. "avatarUrl": "http://wwc...", //用户头像
  4. "userId": "AAEe...", //用户ID
  5. "isLogin": true //是否登陆,true/false
  6. }

err:

  • 类型:JSON对象

内部字段:

  1. {
  2. code : 9000 //错误码
  3. message:"Not logged in" //错误描述
  4. }

示例代码

  1. var alibaichuan = api.require('alibaichuan');
  2. alibaichuan.getUserInfo(function(ret, err) {
  3. if (ret) {
  4. alert("用户信息 ret - " + JSON.stringify(ret));
  5. } else {
  6. alert("用户信息 err - " + JSON.stringify(err));
  7. }
  8. });

可用性

  1. Android系统, iOS系統
  2. 可提供的1.1.0及更高版本

logout

  1. 退出登陆
  2. logout(function(ret, err))

callback(ret,err)

ret:

内部字段:

err:

  • 类型:JSON对象

内部字段:

  1. {
  2. code : 9000 //错误码
  3. message:"Not logged in" //错误描述
  4. }

示例代码

  1. var alibaichuan = api.require('alibaichuan');
  2. alibaichuan.logout(function(ret, err) {
  3. if (ret) {
  4. alert("ret - " + JSON.stringify(ret));
  5. } else {
  6. alert("err - " + JSON.stringify(err));
  7. }
  1. Android系统, iOS系統
  2. 可提供的1.1.0及更高版本

showTaokeItemById

  1. 通过itemid打开宝贝,以下是正常使用,如果需要使用高佣转链功能,请参考[问题集锦](http://community.apicloud.com/bbs/forum.php?mod=viewthread&tid=59901&extra=)
  2. 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一项,如”

callback(ret,err)

ret:

  • 类型:因为阿里不支持完成整个电商交易流程,所以4.0后不再有返回信息。

err:

  • 类型:因为阿里不支持完成整个电商交易流程,所以4.0后不再有返回信息。

示例代码

  1. var alibaichuan = api.require('alibaichuan');
  2. var param = {
  3. clientType: "taobao",
  4. backUrl: api.systemType == "ios"?"":"tbopen********",
  5. nativeOpenFailedMode: "BROWER",
  6. pid: "mm_112712463_17294774_66324446",
  7. itemid: "601227868629"
  8. };
  9. alibaichuan.showTaokeItemById(param, function(ret, err) {
  10. if (ret) {
  11. alert("ret - " + JSON.stringify(ret));
  12. } else {
  13. alert("err - " + JSON.stringify(err));
  14. }
  15. });

可用性

  1. Android系统, iOS系統
  2. 可提供的1.1.0及更高版本

showPageByURL

  1. 通过URL打开宝贝详情,此方法主要以url的自带佣金为准,当然也可传入高佣转链的隐藏参数,[传送门](http://community.apicloud.com/bbs/forum.php?mod=viewthread&tid=59901&extra=)
  2. 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后不再有返回信息。

示例代码

  1. function showPageByURL() {
  2. var param = {
  3. url: "https://s.click.taobao.com/Kgzqm0w",
  4. clientType: "taobao",
  5. backUrl: api.systemType == "ios"?"":"tbopen********",
  6. nativeOpenFailedMode: "BROWER",
  7. pid: "mm_112712463_17294774_66324446"
  8. };
  9. alibaichuan.showPageByURL(param, function(ret, err) {
  10. if (ret) {
  11. alert(JSON.stringify(ret));
  12. } else {
  13. alert(JSON.stringify(err));
  14. }
  15. });
  16. }

可用性

  1. Android系统,iOS系统
  2. 可提供的1.0.3及更高版本

openMyCart

  1. 打开我的购物车
  2. openMyCart(function(ret, err))

params

clientType:

  • 类型:字符串
  • 默认值:无
  • 描述:表示唤端类型:taobao—-唤起淘宝客户端;tmall—-唤起天猫客户端

backUrl:

  • 类型:字符串
  • 默认值:无
  • 描述:小把手,唤端返回的scheme,(如果不传默认将不展示小把手;如果想展示小把手,可以自己传入自定义的scheme,或者传入百川提供的默认scheme:”alisdk://“)
  • 类型:字符串
  • 默认值:无
  • 描述:目前原阿里系页面需要拉回手机淘宝、未安装手机淘宝,默认会跳转到对应的应用下载页。媒体可以根据需要自定义唤起手淘的失败处理方式,目前提供“降级H5应用內打开” 和 “跳转应用下载页”。注:降级H5应用內打开,由于安全策略升级,暂不支持完成整个电商交易流程,请悉知。

  • 注:“NONE”:默认下载页,“BROWER”:打开浏览器,“DOWNLOAD”:跳转应用下载页,“H5”:降级H5应用内打开;

pid:

  • 类型:字符串
  • 默认值:无
  • 描述:

callback(ret,err)

ret:

  • 类型:JSON对象

内部字段:

  1. {
  2. code : 0 //正确码
  3. message:"success" //描述
  4. }

err:

  • 类型:JSON对象

内部字段:

  1. {
  2. code : 9000 //错误码
  3. message:"Not logged in" //错误描述
  4. }

示例代码

  1. function openMyCart() {
  2. var param = {
  3. clientType: "taobao",
  4. backUrl: api.systemType == "ios"?"":"tbopen********",
  5. nativeOpenFailedMode: "BROWER",
  6. pid: "mm_112712463_17294774_66324446"
  7. };
  8. alibaichuan.openMyCart(param, function(ret, err) {
  9. if (ret) {
  10. alert(JSON.stringify(ret));
  11. } else {
  12. alert(JSON.stringify(err));
  13. }
  14. });
  15. }

可用性

  1. Android系统,iOS系统
  2. 可提供的1.1.0及更高版本

myOrdersPage

  1. 打开我的订单
  2. 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

ret:

  • 类型:JSON对象

内部字段:

  1. {
  2. code : 0 //正确码
  3. message:"success" //描述
  4. }

err:

  • 类型:JSON对象

内部字段:

示例代码

  1. function myOrdersPage() {
  2. var param = {
  3. status: 0,
  4. isAllOrder: true,
  5. clientType: "taobao",
  6. backUrl: api.systemType == "ios"?"":"tbopen********",
  7. nativeOpenFailedMode: "BROWER",
  8. pid: "mm_112712463_17294774_66324446",
  9. pageType:"order"
  10. alibaichuan.myOrdersPage(param, function(ret, err) {
  11. if (ret) {
  12. alert("ret - " + JSON.stringify(ret));
  13. } else {
  14. alert("err - " + JSON.stringify(err));
  15. }
  16. });
  17. }

可用性

  1. Android系统,iOS系统
  2. 可提供的1.2.1及更高版本

openShopPage

  1. 打开商家店铺
  2. 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:如“

callback(ret,err)

ret:

  • 类型:JSON对象

内部字段:

  1. {
  2. code : 0 //正确码
  3. message:"success" //描述
  4. }

err:

  • 类型:JSON对象

内部字段:

  1. {
  2. code : 9001 //错误码
  3. message:"Parameter is null" //错误描述
  4. }

示例代码

  1. function openShopPage() {
  2. var param = {
  3. shopid: "64185146",
  4. clientType: "taobao",
  5. backUrl: api.systemType == "ios"?"":"tbopen********",
  6. nativeOpenFailedMode: "BROWER",
  7. pid: "mm_112712463_17294774_66324446",
  8. sellerId: "903621783"
  9. };
  10. alibaichuan.openShopPage(param, function(ret, err) {
  11. if (ret) {
  12. alert(JSON.stringify(ret));
  13. } else {
  14. alert(JSON.stringify(err));
  15. }
  16. });
  17. }

可用性

  1. Android系统,iOS系统
  2. 可提供的1.2.1及更高版本

setChannel

  1. 设置渠道信息(如果有特殊渠道专享价,需要设置,默认不要使用),初始化完成后调用才能生效
  2. setChannel({params}, function(ret, err))

params

typeName:

  • 类型:字符串
  • 默认值:无
  • 描述:渠道类型(默认为:0)

channelName:

  • 类型:字符串
  • 默认值:无
  • 描述:渠道名称(默认为空:””)

callback(ret,err)

ret:

  • 类型:JSON对象

内部字段:

  1. {
  2. code : 0 //正确码
  3. message:"success" //描述
  4. }

err:

  • 类型:JSON对象

内部字段:

  1. {
  2. code : 9001 //错误码
  3. message:"Parameter is null" //错误描述
  4. }

示例代码

  1. function setChannel() {
  2. var param = {
  3. typeName: "0",
  4. channelName: ""
  5. };
  6. alibaichuan.setChannel(param, function(ret, err) {
  7. if (ret) {
  8. alert(JSON.stringify(ret));
  9. } else {
  10. alert(JSON.stringify(err));
  11. }
  12. });
  13. }

可用性

  1. Android系统,iOS系统
  2. 可提供的1.2.1及更高版本

setISVVersion

  1. 设置isv版本,提供isvcode全局接口,设置isv的版本 ,默认1.0.0,初始化完成后调用才能生效
  2. setISVVersion({params}, function(ret, err))

params

isvVersion:

  • 类型:字符串
  • 默认值:无
  • 描述:isvVersion (默认1.0.0)

callback(ret,err)

ret:

  • 类型:JSON对象

内部字段:

  1. {
  2. code : 0 //正确码
  3. message:"success" //描述
  4. }

err:

  • 类型:JSON对象
  1. {
  2. code : 9001 //错误码
  3. message:"Parameter is null" //错误描述
  4. }

示例代码

  1. function setISVVersion() {
  2. var param = {
  3. isvVersion: "1.0.0"
  4. };
  5. alibaichuan.setISVVersion(param, function(ret, err) {
  6. if (ret) {
  7. alert(JSON.stringify(ret));
  8. } else {
  9. alert(JSON.stringify(err));
  10. }
  11. });
  12. }

错误码