动态-INDUSTRY NEWS-
动态

赤峰百度推广线索api联调

分类:动态 发布时间:2023-06-08

百度搜索推广以及信息流推广为监测数据转化情况,会使用到线索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);
}
}

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

*声明:本站发布的内容以原创、转载、分享网络内容为主,文章观点不代表本站立场,如有侵权,请联系管理员,将及时删除,邮箱:6@60000.net,QQ:4230997