百度推广线索api联调

百度搜索推广以及信息流推广为监测数据转化情况,会使用到线索api联调,其共有119种转化方式,转化编号以1-119数字编号命名,具体规则可参照百度转化追踪转化编码类型明细。本文以TP5框架为例说明如何进行联调。

TP5核心代码:

<?php
namespace app\index\controller;
use think\Db;
use think\Session;

class Index extends Common
{
const BAIDU_OCPC_URL = 'https://ocpc.baidu.com/ocpcapi/api/uploadConvertData';
const RETRY_TIMES = 3;
/**
* @param $token
* @param $conversionTypes
* @return bool 发送成功返回true,失败返回false
*/
public function sendConvertData($token, $conversionTypes) {
$reqData = array('token' => $token, 'conversionTypes' => $conversionTypes);
$reqData = json_encode($reqData);
// 发送完整的请求数据
// 向百度发送数据
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_URL, self::BAIDU_OCPC_URL);
curl_setopt($ch, CURLOPT_POSTFIELDS, $reqData);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json; charset=utf-8',
'Content-Length: ' . strlen($reqData)
)
);
// 添加重试,重试次数为3
for ($i = 0; $i < self::RETRY_TIMES; $i++) {
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ($httpCode === 200) {
//  print_r('retry times: ' . $i . ' res: ' . $response . "\n");
$res = json_decode($response, true);
// status为4,代表服务端异常,可添加重试
$status = $res['header']['status'];
if ($status !== 4) {
curl_close($ch);
return $status === 0;
}
}
}
curl_close($ch);
return false;
}
public function index()
{
$bd_vid=input('bd_vid');
Session::set('bd_vid',$bd_vid);
//将bd_vid值以SESSION形式储存,方便在页面上进行事件触发时不再需要从页面往回传值。
//以下是自己的业务逻辑
$search['b.look']=['=','1'];
$infolist=db('form_travel')->alias("a") 
->join('formcon b', 'a.conid = b.vid')
->where($search)
->order('conid desc')->limit(5)
->select();
$this->assign([
'infolist' => $infolist,
]);

Db::table('lecms_block')->where('id', 50)->setInc('content');
$num= db('form_travel')->count(); //获取评论总数
$this->assign('num',$num);
return $this->fetch($this->tpl_file.'index_index.html');
}

//页面上的点击事件,点击后调用联调
public function copylink(){
//从session获取回bd_vid值传给落地页
$newbd_vid=Session::get('bd_vid');
//echo($newbd_vid);
$token = '你的百度token';
// 编辑一条转化数据
$cv = array(
'logidUrl' => "https://www.nmbn.net/?bd_vid=$newbd_vid", // 您的落地页url
'convertType' => 35 // 转化类型请按实际情况填写 35是代表复制微信事件
);
// 此处仅为demo, conversionTypes支持添加更多数据
$conversionTypes = array($cv);
$this->sendConvertData($token, $conversionTypes);
//$info = ['code'=>1,'status'=>'success','msg'=>'联调成功!'];
//return json($info);
}
}

测试成功后的联调状态会变更为联调成功,此时即可正常投放广告。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乐畅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值