淘宝联盟开放平台使用PHP调用淘宝客API生成二合一淘口令教程
开发筹备
- 创建淘宝开放平台账号,点我登录
- 创建应用,并获取相关API权限,如下图,申请填写狗一百个字即可获取。
- 获取SDK,选择版本,生成新的SDK,注:获取新的权限后需要更新SDK!
- 淘宝联盟账号,点我登录
- 淘宝联盟推广pid,格式为:mm_1xxx_2xxx_3xxx,(含义 1xxx:淘宝联盟账号ID ,2xxx:媒体ID,3xxx:推广位ID,后续代码会用到推广位ID)
开发文档
熟读开发文档,可以在线调试自己想要的API以及查询具体错误信息,文档链接
调用方式
- SDK调用
- API调用
- 本文使用SDK调用,也会写出API调用的示例
SDK方式代码调用
-
SDK安装
本文采用的框架为ThinkPHP6,SDK解压包复制到extend目录下即可。 -
代码
`public function index($id = '')
{
\(c = new \TopClient(\)this->appkey, $this->secretKey);
$rep = new \TbkItemInfoGetRequest();
\(rep->setNumIids(\)id);
$good = \(c->execute(\)rep);
// 查询商品是否存在
if (key_exists('results', $good)) {
// 根据商品名称查询阿里妈妈推广物料
$rep = new \TbkDgMaterialOptionalRequest();
\(rep->setQ(\)good['results']['n_tbk_item'][0]['title']);
unset($good);
\(rep->setAdzoneId(\)this->adzone_id);
// 物料列表
$list = \(c->execute(\)rep);
if (key_exists('result_list', \(list)) { // 物料查询出来的比较多,根据商品id,判断是否是用户想要的查询的商品 foreach (\)list['result_list']['map_data'] as \(v) { // 判断商品是否存在优惠券,coupon_share_url为我们的推广二合一链接 if (\)v['item_id'] == $id && key_exists('coupon_share_url', $v)) {
// 生成淘口令
$rep = new \TbkTpwdCreateRequest();
$rep->setText('快来领取优惠券吧');
// 补全淘口令跳转链接
$rep->setUrl('https:' . $v['coupon_share_url']);
// 淘口令打开显示图
\(rep->setLogo(\)v['pict_url']);
$res = \(c->execute(\)rep);
// 对淘口令改造,IOS14以后¥LgK9cCt1wPS¥此类淘口令无法打开,需已数字开头,\结尾,或者完整的淘口令 {淘口令}{短链接}{商品名}
$res['data']['password_simple'] = mt_rand(10, 99) / 10 . $res['data']['password_simple'] . '/';
$v['tkl'] = $res['data'];#todo 录入数据库商品信息 return json_data($v); } else { throw new Error(['msg' => '没有查询到优惠券']); } } }else{ throw new Error(['msg' => $list['sub_msg'], 'errcode' => $list['sub_code']]); } } else { throw new Error(['msg' => $good['sub_msg'], 'errcode' => $good['sub_code']]); }
}`