淘寶客如今對多數人來講已經耳熟能詳了,屬於CPS(Cost Per Sale),一種網絡廣告收費標準,以實際銷售產品數量來換算廣告刊登金額。其餘收費標準還有常見的CPC(Cost Per Click 按點擊次數收費),和按週期展現收費,週期事後下架等。之前接觸這方面也比較少,這裏就不詳細介紹了,下面開始進入如何從懵圈到把接口對接到APP經過應用的流量實現佣金收入。php
首先在沒有對接api前須要去註冊一個阿里幾個平臺的帳號,也能夠直接用我的/企業 淘寶帳號直接登陸。android
1.淘寶聯盟: https://pub.alimama.com/ios
2.淘寶開放平臺: http://open.taobao.com/web
登陸進淘寶聯盟,點擊「活動推廣」,而後選擇「推廣管理」,這裏看你要作的是什麼,是web就選擇網站管理,app就選擇APP管理。不過不論是網站仍是APP都是要有雛形已經上線,網站須要內容足夠豐富且有備案,APP須要在某應用市場上架,最後就是新建推廣填寫表單提交審覈便可。數據庫
提交完成大概一到三個工做日會有結果,成功後點擊「查看權限」這時候就能夠把App key記錄下來,安卓和蘋果是分開的,也就是後面調用接口要按系統傳入不一樣的key和secret了。而後點擊「查看」就會進入到淘寶開放平臺指定的應用詳情,通常是展現key和secret和接口使用的權限等信息。最後就選擇下載SDK,按本身使用的服務器語言。json
編碼前,須要先建立推廣位,安卓和蘋果最好分開創建推廣位,後面的一些商品推廣在是在對應的推廣位上,能很好統計點擊率和佣金等信息api
建立推廣位方法:數組
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上就能夠了,若是有遇到什麼問題能夠關注下面公衆號提問。