PHP对接淘宝客api完成APP引流优惠券
淘宝客现在对多数人来说已经耳熟能详了,属于CPS(Cost Per Sale),一种网络广告收费标准,以实际销售产品数量来换算广告刊登金额。其他收费标准还有常见的CPC(Cost Per Click 按点击次数收费),和按周期展示收费,周期过后下架等。以前接触这方面也比较少,这里就不详细介绍了,下面开始进入如何从懵圈到把接口对接到APP通过应用的流量实现佣金收入。
注册账号
首先在没有对接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上就可以了,如果有遇到什么问题可以关注下面公众号提问。

PHP对接淘宝客api完成APP引流优惠券的更多相关文章
- thinkphp接收阿里淘宝客数据
坑在于淘宝客api返回的数据对象是SimpleXMLElement Object类型,不转为php的json array类型数据直接扔到thinkphp循环输出中会达不到要的效果,奇奇怪怪的数组,一度 ...
- 关于淘宝的数据来源,针对做淘宝客网站的淘宝api调用方法
上次写了个淘宝返利模式的博客,直接被移除首页,不知道何故啊.可能是真的跟技术不太刮边. 众所周知,能够支撑一个网站运营的最基础不是程序写的多么好.也不是有多么牛X的运营人员,最主要的是数据,如果没有数 ...
- 淘宝客知道这几个ID,收入将会提高50%
基础问题天天说,天天有人问.这篇文章写点基础的.特别对新手的帮助会很大哦. 1,PID,做淘宝客不知道PID,赚到钱也会被冻结. 如何手动获取PID 2,单品ID,淘宝商品的唯一识别编号,和身份证一样 ...
- 屏蔽全部统计代码(51.la cnzz 百度统计 谷歌分析师adsense、屏蔽淘宝客广告代码)的方法
支持百度统计 .51.la统计.cnzz统计.51yes统计.谷歌分析师.阿里妈妈淘宝客广告.chinaz弹窗.假设有很多其它的须要屏蔽的,欢迎联系 default7#zbphp.com 改动etc的 ...
- destoon系统商城加淘宝客按钮方法
destoon系统很多喜欢运营B2B的站长都在用,其中的商城模块常常被用来做淘宝客,其中的难点是如何把购买按钮做成淘宝客地址,这个问题的修改在论坛上被叫价50元,下面小编把这个实用的方法分享下,希望对 ...
- 巧用ecshop做淘宝客
一.第一步 下载文件,可以在http://www.ecshop.com/下载ecshop各个版本的安装包,安装好ECSHOP,然后通过PTF工具下载2个文件到本地进行修改.这个2个文件分别是goods ...
- 【淘宝客】根据淘客联盟精选清单(淘宝天猫内部优惠券)随机显示淘宝天猫优惠券dome
也许大家在生活中经常淘宝看到[淘宝天猫内部优惠券]的网站,或者在微博中经常有博主发券,让大家生活中购物便宜许多,作为一个站长,我们也希望自己的网站也能有这样的一个功能,现在就分享给大家,还是免后台哦. ...
- Python模拟简易版淘宝客服机器人
对于用Python制作一个简易版的淘宝客服机器人,大概思路是:首先从数据库中用sql语句获取相关数据信息并将其封装成函数,然后定义机器问答的主体函数,对于问题的识别可以利用正则表达式来进行分析,结合现 ...
- App引流增长技术:Deeplink(深度链接)技术
移动互联网时代,信息的分享传播无疑是 App 引流增长的关键,与其花费大量精力和成本找渠道.硬推广,不如从细节下手,用最快最简便的方法实现 Deeplink(深度链接)技术,打破信息孤岛.缩短分享路径 ...
随机推荐
- 深入理解java反射原理
反射是java的一个特性,这一特性也使得它给了广大的第三方框架和开发过者很大的想像空间. 通过反射,java可以动态的加载未知的外部配置对象,临时生成字节码进行加载使用,从而使代码更灵活!可以极大地提 ...
- 选择IT事业,意味着终身学习
八月,炎阳如火. 前几天书记找我交流,问我离职的原因,我跟他仔细的分析了一下我的职业发展规划和我对于未来的预期,书记也向我分析了一下他所认为的原因,他说,无外乎是三个原因:第一个是钱的问题:第二个是行 ...
- remote: Incorrect username or password ( access token )
解决问题 进入控制面板 用户账号,选择管理您的凭据 修改凭据 修改完成后,保存即可
- [原创]k8exe2bat任意文件转Bat工具(WebShell无法上传EXE解决方案)
http://qqhack8.blog.163.com/blog/static/114147985201126105626755/ 这是我2011年的东西了,当时用此方法可免杀很多马,至今依然有很大的 ...
- [python]使用virtualenvWrapper
什么是virtualenv virtualenv是python的环境管理工具,用于隔离python的运行环境.也就是说,一个项目可以有一个属于这个项目的运行环境,从而避免了因为依赖不同的模块而产生的错 ...
- 近期遇到的计(算)算(法)题及解(JavaScript)
以下是近期遇到的三个计(算)算(法)题... 提到这些问题的时候简单理了下思路,后面又以JavaScript代码实现并顺便记个笔记... 至于是什么场景下遇到这些题的么... :) 问题一:从无序数组 ...
- FineUI开源版(ASP.Net)初学手册-部分JS整理
有人老找JS,我吧FineUI自己写的JS沾过来方便大家看看,在实现前端的时候更灵活 JS 实例 注释 控件 F.ready F.ready(function(){}); 就是ready 很多方法 ...
- MySQL中间件之ProxySQL(10):读写分离方法论
返回ProxySQL系列文章:http://www.cnblogs.com/f-ck-need-u/p/7586194.html 1.不同类型的读写分离 数据库中间件最基本的功能就是实现读写分离,Pr ...
- NLP入门(五)用深度学习实现命名实体识别(NER)
前言 在文章:NLP入门(四)命名实体识别(NER)中,笔者介绍了两个实现命名实体识别的工具--NLTK和Stanford NLP.在本文中,我们将会学习到如何使用深度学习工具来自己一步步地实现N ...
- NET(C#)接入Dubbo服务,Zookeeper作为Dubbo服务的注册中心,实现thrift协议访问接口(3)
如何引用Zookeeper.dll 下载最新版本的Zookeeper 地址:http://mirrors.cnnic.cn/apache/zookeeper/ 没有.NET代码 dotnet代码下载 ...