alibaichuan

来自于:开发者立即使用

概述

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

1、未变更的接口:initTaeSDKshowLogingetUserInfologout

2、参数有变更的接口:showTaokeItemByIdshowPageByURLopenMyCartopenShopPage

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:

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:

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和错误提示