alibaichuan

来自于:开发者立即使用

概述

百川是阿里巴巴旗下的无线开放平台,基于世界级的后端服务和成熟的商业组件,快速搭建App和提供卓越用户体验,开拓广告、商品、生活服务等无线新商业。此版本实现了阿里百川的基础功能:手淘授权登陆、退出登陆、获取登录者的信息、打开购物车、打开我的订单、通过itemid打开宝贝详情等

开发者入驻

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文件获取,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打开宝贝

showTaokeItemById({params}, function(ret, err))

params

isvcode:

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

itemid:

mmpid:

  • 类型:字符串
  • 默认值:无
  • 描述:阿里妈妈的pid,如果你还没有开通 阿里妈妈-淘宝联盟账号,要去阿里妈妈开通账号并且补全账号信息以及绑定支付宝, 因为分销的商品最后是返回到阿里妈妈的账号,并通过支付宝提现拿到的

nativeview:

  • 类型:boolean
  • 默认值:false
  • 描述:是否唤起手机淘宝客户端打开详情页,true:使用手淘客户端打开, false:使用H5页面打开

callback(ret,err)

ret:

  • 类型:JSON对象

内部字段:

//如果nativeview为false,且交易成功,则有返回值

{
    "code":999,
    "ordercode":"2551899489323387" //订单编号
}

err:

  • 类型:JSON对象

内部字段:

//如果nativeview为false,且交易失败,则有返回值

{
  "code": 10010,
  "message": "alipay支付失败,信息为:使用支付宝支付失败,支付宝错误码为 4000, 含义为订单支付失败"
}

示例代码

var alibaichuan = api.require('alibaichuan');
var param = {
    isvcode : "feeling",
    itemid : "537687037290", //或openid:AAHyOaTIADoqwaqgX6Kr_lTS
    mmpid : "mm_119457865_0_0",
    nativeview: true
};
alibaichuan.showTaokeItemById(param, function(ret, err) {
    if (ret) {
        alert("ret - " + JSON.stringify(ret));
    } else {
        alert("err - " + JSON.stringify(err));
    }
});

可用性

Android系统, iOS系統

可提供的1.1.0及更高版本

showDetailByURL

通过URL打开宝贝详情

showDetailByURL({params}, function(ret, err))

params

url:

  • 类型:字符串
  • 默认值:无
  • 描述:商品URL地址, 或者优惠券地址

mmpid:

  • 类型:字符串
  • 默认值:无
  • 描述:阿里妈妈的pid,如果你还没有开通 阿里妈妈-淘宝联盟账号,要去阿里妈妈开通账号并且补全账号信息以及绑定支付宝, 因为分销的商品最后是返回到阿里妈妈的账号,并通过支付宝提现拿到的

nativeview:

  • 类型:boolean
  • 默认值:false
  • 描述:是否唤起手机淘宝客户端打开详情页,true:使用手淘客户端打开, false:使用H5页面打开

callback(ret,err)

ret:

  • 类型:JSON对象

内部字段:

//如果nativeview为false,且交易成功,则有返回值

{
    "code":999,
    "ordercode":"2551899489323387" //订单编号
}

err:

  • 类型:JSON对象

内部字段:

{
    code : 9001                    //错误码
    message:"Parameter is null"     //错误描述
}

示例代码

var alibaichuan = api.require('alibaichuan');
var param = {
    url : "http://h5.m.taobao.com/ump/coupon/detail/index.html?sellerId=2081981169&activityId=8314c70c51674cff90a7a010ae7d4274",
    mmpid : "mm_119457865_0_0",
    nativeview:false
};
alibaichuan.showDetailByURL(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

isvcode:

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

nativeview:

  • 类型:boolean
  • 默认值:false
  • 描述:是否唤起手机淘宝客户端打开详情页,true:使用手淘客户端打开, false:使用H5页面打开

callback(ret,err)

ret:

  • 类型:JSON对象

内部字段:

{
    code : 0              //正确码
    message:"success"     //描述
}

err:

  • 类型:JSON对象

内部字段:

{
    code : 9000                //错误码
    message:"Not logged in"     //错误描述
}

示例代码

var alibaichuan = api.require('alibaichuan');
var param = {
    isvcode: "feeling",
    nativeview:false
};
alibaichuan.openMyCart(param, function(ret, err) {
    if (ret) {
        alert("ret - " + JSON.stringify(ret));
    } else {
        alert("err - " + 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

nativeview:

  • 类型:boolean
  • 默认值:false
  • 描述:是否唤起手机淘宝客户端打开详情页,true:使用手淘客户端打开, false:使用H5页面打开

callback(ret,err)

ret:

  • 类型:JSON对象

内部字段:

{
    code : 0              //正确码
    message:"success"     //描述
}

err:

  • 类型:JSON对象

内部字段:

{
    code : 9000                //错误码
    message:"Not logged in"     //错误描述
}

示例代码

var alibaichuan = api.require('alibaichuan');
var param = {
    status: 2,
    isAllOrder:true,
    nativeview:true
};
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

nativeview:

  • 类型:boolean
  • 默认值:false
  • 描述:是否唤起手机淘宝客户端打开详情页,true:使用手淘客户端打开, false:使用H5页面打开

callback(ret,err)

ret:

  • 类型:JSON对象

内部字段:

{
    code : 0              //正确码
    message:"success"     //描述
}

err:

  • 类型:JSON对象

内部字段:

{
    code : 9001                    //错误码
    message:"Parameter is null"     //错误描述
}

示例代码

var alibaichuan = api.require('alibaichuan');
var param = {
    shopid : "64185146",
    nativeview:false
};
alibaichuan.openShopPage(param, function(ret, err) {
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(JSON.stringify(err));
    }
});

可用性

Android系统,iOS系统

可提供的1.2.1及更高版本

addToCartPage

打开添加购物车的页面

addToCartPage({params}, function(ret, err))

params

itemid:

callback(ret,err)

ret:

  • 类型:JSON对象

内部字段:

{
    code : 0              //正确码
    message:"success"     //描述
}

err:

  • 类型:JSON对象

内部字段:

{
    code : 9001                    //错误码
    message:"Parameter is null"     //错误描述
}

示例代码

var alibaichuan = api.require('alibaichuan');
var param = {
    itemid : "540384005662"
};
alibaichuan.addToCartPage(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和错误提示

后序

文档写的不明白,请联系QQ:83967200,备注:仙人指路