后端技术 · Develop

百度营销通线索实时导入第三方客户系统接口调用

•̀.̫•́✧ · 4月5日 · 2020年 · ·

该功能用于全账户所有页面设置统一接口地址接收线索数据到广告主的数据管理平台,便于广告主线索管理,如您已针对单个页面设置接口地址,则会被全账户设置覆盖。

百度营销通线索实时导入第三方客户系统接口调用-歪?是3.1415926吗

百度方面虽然提供了,用户提交表单通知到绑定邮箱,但是某些情况下我们还需要统计这些数据。这时就需要调用营销通提供的接口来接收这些数据。

一.说明:

首先,要保证客户的服务正常运行(http response status code 为200),并且为梧桐平台/营销通线索数据提供post接口。

所填url即为要接收线索数据的post接口,当有线索到达时数据就会被推送到这个接口。

客户通过该接口接收到线索数据后可以按自己的需求进行后续处理。

客户填url如果可以保存成功,这时候我们已经模拟一条线索数据发送到客户的系统,请注意。

二.示范:

1. Java代码示范demo

百度营销通线索实时导入第三方客户系统接口调用-歪?是3.1415926吗

2. PHP代码示范

百度营销通线索实时导入第三方客户系统接口调用-歪?是3.1415926吗

3. post参数(Json串格式)说明

site_id梧桐站点id 
page_id梧桐页面id 
data用户提交的表单数据此节点的取值为数组,数组中每个元素对应营销页表单的一项,实例如下图:
百度营销通线索实时导入第三方客户系统接口调用-歪?是3.1415926吗

4. 数据库设计demo

因每个表单所包含的表单项不同,故此demo把表单项数据(上述参数data节点)以json串方式存入一个数据字段(下图中formdata字段)。

百度营销通线索实时导入第三方客户系统接口调用-歪?是3.1415926吗

三 . 答疑:

1. 填写url,提示”接口格式错误,请检查”

遇到这样的情况,可以先通过自测的方式确认自己的服务是否可以正常接收到post请求。当您填写url并确认的时候,我们会模拟向您提供的urlpost一条线索数据,如果您的服务可以正常接收则填写url成功。

如果遇到线索数据存在多条重复的情况下,请检查下自己的服务是否出现故障。在推送每条线索时,如果推送失败,我们会进行重试,所以在您的服务存在问题的情况下可能会出现多条线索数据重复的问题。

php调用成功代码

注意:json_encode($requestBody['data']) 接收到的中文会以ASCII编码形式展现,比如:\u8fd9\u662f\u4e00\u4e2a\u4f8b\u5b50,转码方式 json_encode($requestBody['data'][2]["value"],JSON_UNESCAPED_UNICODE); 此方法仅php5.4版本以上支持。

<?php
header("content-type:text/html;charset=utf-8");
header('Access-Control-Allow-Origin:*');
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods:HEAD,POST,GET,PUT,DELETE,OPTIONS");
header('Access-Control-Allow-Headers:x-requested-with,content-type');

$input = file_get_contents("php://input");
$requestBody = json_decode($input,true);
if (!is_array($requestBody) || !is_array($requestBody['data'])) {
header('HTTP/1.1 400 BadRequest');
exit;
}

$data = array(
	'site_id' =>$requestBody['site_id'],
	'page_id' =>$requestBody['page_id'],
	'formdata' => json_encode($requestBody['data'])
);

$site_id = $requestBody['site_id'];

$page_id = $requestBody['page_id'];

$bq = json_encode($requestBody['data'][0]["value"],JSON_UNESCAPED_UNICODE);

$name = json_encode($requestBody['data'][1]["value"],JSON_UNESCAPED_UNICODE);

$phone = json_encode($requestBody['data'][2]["value"],JSON_UNESCAPED_UNICODE);

$date = date('Y-m-d h:i:s', time());

$con = mysql_connect( "localhost", "数据库帐号", "数据库密码" );

if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
mysql_select_db( "数据库名字");
mysql_query( "set names utf8" );
$arr = array();
$result = mysql_query("SELECT * FROM ocpc WHERE phone='$phone'");
$num=mysql_num_rows($result);
if($num == '0'){
	$query = "insert into ocpc(site_id,page_id,bq,name,phone,date) values('$site_id','$page_id','$bq','$name','$phone','$date')";
	  $inse= mysql_query($query);
	  if(!$inse){
		 echo "数据插入".mysql_error();
	  }
}else{
  while($row = mysql_fetch_array($result))
           {
          echo $row['bq'];
           }
    }
?>
百度营销通线索实时导入第三方客户系统接口调用-歪?是3.1415926吗
0 条回应