注册账号
首先在没有对接api前须要去注册一个阿里几个平台的账号,也可以直接用个人/企业 淘宝账号直接登录。
1.淘宝同盟: https://pub.alimama.com/
2.淘宝开放平台: http://open.taobao.com/
申请推广位
登录进淘宝同盟,点击“活动推广”,然后选择“推广管理”,这里看你要做的是什么,是web就选择网站管理,app就选择APP管理。不过不管是网站还是APP都是要有雏形已经上线,网站须要内容足够丰富且有备案,APP须要在某运用市场上架,末了便是新建推广填写表单提交审核即可。
记录key和Secret和下载SDK
提交完成大概一到三个事情日会有结果,成功后点击“查看权限”这时候就可以把App key记录下来,安卓和苹果是分开的,也便是后面调用接口要按系统传入不同的key和secret了。然后点击“查看”就会进入到淘宝开放平台指定的运用详情,一样平常是展示key和secret和接口利用的权限等信息。末了就选择下载SDK,按自己利用的做事器措辞。
编码前准备
编码前,须要先创建推广位,安卓和苹果最好分开建立推广位,后面的一些商品推广在是在对应的推广位上,能很好统计点击率和佣金等信息
创建推广位方法:
1. 进入同盟产品,随便点击栏目,任意找一件商品,点击“立即推广”。
2.推广类型选择“app推广”,投放推广位选择新建推广位
但是,一样平常我们看别人的优惠券运用都有一些9块9,20元封顶或者一些新品优惠之类的类目。这里我们可以利用淘宝客的选品库接口,由于淘宝同盟一样平常会专门开一些9块9,20元封顶之类的栏目,我们就须要在自己的账号下创建几个选品库
创建选品库方法:
1.淘宝同盟首页左上角退出右边的\公众我的同盟\"大众->我的选品库
2.https://pub.alimama.com/manage/selection/list.htm?spm=a219t.7900221/1.a214tr8.5.649075a5NMye6j 进入选品库管理页面点击“新建分组”。
文档查看和接口测试
文档地址: http://open.taobao.com/api.htm?docId=24515&docType=2
测试工具: http://open.taobao.com/doc.htm?spm=a219a.7386653.0.0.7c29669aKwHQ9X&docId=1&docType=15&apiName=taobao.tbk.item.get
前面已经建好了推广位和选品库,这里就既可以测试一些淘宝同盟自动推广的商品接口,还可以测试选品库内自己选择网络的商品。选择商品可以按高佣金或者高发卖量采集。
避坑把稳事变:
1.获取淘宝同盟选品库列表须要把稳的便是要求这个接口时须要传adzone_id(推广位id),以是前面就做好准备建好了推广位,进入推广管理->推广资源管理->推广位管理,下面列表的pid中类似是mm_260870060_224000411_63877050230的字符串,adzone_id便是在_末了的那个,260870060淘宝同盟账户id,224000411推广媒体id(是网站还是app,是安卓亦是苹果),63877050230推广位id。
2.选品库id除了在获取选品库列表接口返回的favorites_id,另一种方法便是进入淘宝同盟的我的选品库选择个中一个库,查看地址栏上的链接,get方法拼接的groupId便是选品库id了。
其他的一些接口就要紧张用户授权和收费标准了。
开始编码
1. 在tp5框架的vendor中放入淘宝客的sdk
2. 参数配置
'tbk' => [ 'android' => [ 'app_key' => '253x9410', 'app_secret' => '4a0d9xxxxxx1068fc46e33dce56a76c8', // 淘宝开放平台获取 'adzone_id' => '6387xx50230', // 推广位 ], 'ios' => [ 'app_key' => '253xx617', 'app_secret' => 'fe8472xxxxxxx6e8d041513beca3b9f', // 淘宝开放平台获取 'adzone_id' => '643092xx050', // 推广位 ], ],
3. 封装要求类
<?php/ Taobaoke.php @author : 小谜弟 @date : 2018.11.28 @desc:淘宝客API @version : v1.0.0.0/namespace app\v1\service\Ebusiness;use \think\Session as Session;use think\Request;use \think\Db;use \think\Log;class Taobaoke{ public $term_id = \"大众\"大众; public $top_client = null; function __construct($term_id) { $this->term_id = $term_id; $this->init(); } / 初始化做事类,添加公共要求参数 / public function init() { vendor(\公众taobaoSdk.TopSdk\"大众); //要求淘宝客API,实例化类 把稳利用\命名空间 $this->top_client = new \TopClient; $term_id = $this->term_id; ($this->top_client)->appkey = config(\"大众tbk.$term_id\"大众)['app_key']; ($this->top_client)->secretKey = config(\"大众tbk.$term_id\"大众)['app_secret']; } / 获取我的选品库列表 @param [string] $[term_id] [无线端标识: android,ios] @param [string] $[base_url] [H5跳转基本地址] @return [选品库类表] / public function TbkUatmFavoritesGetRequest($page=1,$pagesize=20) { $req = new \TbkUatmFavoritesGetRequest; // 选择须要查询的字段信息 $req->setPageNo($page); $req->setPageSize($pagesize); $req->setFields(\"大众favorites_title,favorites_id,type\"大众); $req->setType(\"大众-1\"大众);// 默认值-1;选品库类型,1:普通选品组,2:高佣选品组,-1,同时输出所有类型的选品组 $resp = ($this->top_client)->execute($req); $json_str = json_encode($resp); $json_arr = json_decode($json_str,true); if(empty($json_arr['results'])) { return []; }else { return $json_arr['results']; } } / 获取指定选品库的商品列表 @param [int] $[favoritesId] [选品库id] @param [int] $[page] [页码] @param [int] $[pagesize] [页数] @return [选品库类表] / public function TbkUatmFavoritesItemGetRequest($favoritesId,$page=1,$pagesize=20) { if(empty($favoritesId)) { return false; } $adzone_id = config(\公众tbk.$this->term_id\公众)['adzone_id'];// APP设备对应的广告推广位pid $req = new \TbkUatmFavoritesItemGetRequest; $req->setPlatform(\"大众2\"大众); // 1.PC 2.无线 $req->setPageSize($pagesize); $req->setAdzoneId($adzone_id); $req->setUnid(\公众3456\"大众); // $req->setFavoritesId($favoritesId); $req->setPageNo($page); $req->setFields(\公众num_iid,title,pict_url,small_images,reserve_price,zk_final_price,user_type,provcity,item_url,seller_id,click_url,volume,nick,shop_title,zk_final_price_wap,event_start_time,event_end_time,tk_rate,status,type,category,coupon_click_url,coupon_end_time,coupon_info,coupon_start_time,coupon_total_count,coupon_remain_count\"大众); $resp = ($this->top_client)->execute($req); $json_str = json_encode($resp); $json_arr = json_decode($json_str,true); if(empty($json_arr['results'])) { return []; }else { return $json_arr['results']; } } / 根据商品id获取商品详情【精简,无宝贝详情】 @param [int] $[num_iid] [淘宝商品唯一id] @param [string] $[ip] [客户端ip] @return [商品详情数组] / public function TbkItemInfoGetRequest($num_iid,$ip) { if(empty($num_iid)) { return false; } $req = new \TbkItemInfoGetRequest; $req->setNumIids($num_iid); $req->setPlatform(\公众2\"大众); // 1.pc 2.无线 $req->setIp($ip); // 客户端要求ip $resp = ($this->top_client)->execute($req); $json_str = json_encode($resp); $json_arr = json_decode($json_str,true); if(empty($json_arr['results'])) { return []; }else { return $json_arr['results']; } } / 好券清单列表数据 @param [string] $[query_str] [好券搜索] @param [int] $[page] [页码] @param [int] $[pagesize] [页数] @return [好券清单数据列表] / public function TbkDgItemCouponGetRequest($query_str,$page=1,$pagesize=20) { $adzone_id = config(\"大众tbk.$this->term_id\公众)['adzone_id']; // APP设备对应的广告推广位pid $req = new \TbkDgItemCouponGetRequest; $req->setAdzoneId($adzone_id); $req->setPlatform(\公众2\"大众); // 1.pc 2.无线 //$req->setCat(\"大众11\"大众); $req->setPageSize($pagesize); if(!empty($query_str)) { $req->setQ($query_str); } $req->setPageNo($page); $resp = ($this->top_client)->execute($req); $json_str = json_encode($resp); $json_arr = json_decode($json_str,true); if(empty($json_arr['results'])) { return []; }else { return $json_arr['results']; } }}
小结: 淘宝客接口的要求限定是100,000次/天,以是看你运用的流量,小的可以直接通过客户端要求接口,做事器只利用SDK做一个桥接即可,大的话可以通过定时要求淘宝客接口保存到数据库,客户端在要求自己的接口。其他的拼多多,京东,唯品会也都有推广同盟平台,对接办法也类似,后面就不做演示了,不过拼多多有供应h5的推广办法,只须要建好推广位就可以天生一个推广h5,然后把链接放到app上就可以了,如果有碰着什么问题可以关注下面公众年夜众号提问。