物料推送审核
更新日志
编号 | 日期 | 作者 | 修改内容 |
---|---|---|---|
1 | 2019-08-18 | lihuifeng01 | 整合RTB、PDB、PD物料推送,形成统一接口文档 在兼容原PDB&PD物料推送的前提下,新增RTB物料推送和状态获取 新增单独的物料更新接口(update) |
2 | 2019-08-19 | lihuifeng01 | 添加常用错误码 |
3 | 2020-07-09 | lihuifeng01 | 添加开屏物料上传相关说明 |
4 | 2020-09-25 | lihuifeng01 | 开屏物料支持deeplink链接,支持一个创意绑定多个dealid,update接口支持更新开屏物料 |
5 | 2023-09-21 | hushupei | 联调地址更新 |
1 介绍
本文档为程序化提交物料的接口定义, 需求方通过物料推送接口自助添加物料提交审核,审核完成后的物料方可进行在线投放。
物料推送接口适用范围:
1: 信息流PDB&PD
2: 大客户程序化接入(RTB模式)
3: 开屏PDB&PD
关于开屏物料的制作规范和指导, 请移步《附件下载》。
准备物料是投放前的必要工作,在投放期到来前,需求方需要先使用本文档所述接口提交物料、并且确保通过审核,只有通过审核的物料才能在投放期内正常使用。
物料对接的一般流程是: 投放物料需要先上传素材(图片、音视频媒体资源等)到百度服务器,物料中使用的素材都必须从已上传的素材中选取,不允许使用外部资源,新建物料时,物料素材用上传百度服务器后返回的ID来指定,具体流程如下:
2 接口定义
接口使用 http post 方式进行交互,请求消息使用json格式,Content-Type 设为 application/json。
接口Host: feedpdb.baidu.com
2.1 新增物料
新增物料前,需要先将图片、音视频媒体资源上传至百度服务器(参考《2.4 图片素材管理》,《2.5 媒体资源管理》),百度返回对应资源的ID给合作方,合作方使用该ID创建物料,百度内部会将ID转换成外网可访问的资源链接,并写入物料库;
物料创建成功后,将自动提交物料审核,如审核通过且满足投放时间设置,则将自动开始广告投放。
物料创建后,合作方可以通过状态查询接口,实时获取该物料状态。
path: /new
请求参数及含义:
字段名称 | 类型 | 描述 | 字段必填 |
---|---|---|---|
cid | string | 百度下发给合作方的渠道ID | 必填 |
type | string | 接入渠道类型 | 开屏必填 "kp", 其他为空即可 |
dealid | string | 百度下发给合作方的订单编号 | 必填(RTB物料填固定值0,开屏和信息流需要填写对应投放活动的dealid,dealid由负责对接的销售/运营同学告知合作方),开屏支持一个物料同时绑定多个dealid,多个dealid以半角逗号分隔,如"213,214,215" |
goods | array of object | 物料数据,一次请求可新建多个物料,一次请求最多可新建10个物料 | 必填 |
sign | string | 签名(参见《签名规则》) | 必填 |
goods object详细字段及含义:
字段名称 | 类型 | 描述 | 字段必填 |
---|---|---|---|
adv_id | int | 广告主ID, 合作方给该物料的广告主分配的ID | RTB物料必填 |
adv_name | string | 广告主名字, 合作方给该物料的广告主配置的名字 | RTB物料必填 |
trade1 | string | 投放物料对应的一级行业 | RTB物料必填 |
trade2 | string | 投放物料对应的二级行业 | RTB物料必填 |
template_id | string | 广告样式ID(参照《广告样式对照表》) | 必填 |
name | string | 物料名称(该字段不会在广告上展示,百度不会对该字段做限制。相同dealid下,该字段在不同产品线下,是否唯一的要求不同。信息流要求唯一,开屏和RTB不做要求。) | 必填 |
stime | integer | 开始投放时间(UNIX时间戳,秒级别) | 必填(投放到开屏页的广告不需要该字段) |
etime | integer | 结束投放时间(UNIX时间戳,秒级别) | 必填(投放到开屏页的广告不需要该字段) |
nurl | string | 竞胜回调地址(仅信息流PDB&PD支持推送物料时配置win_notice,RTB对接为实时返回) | 选填 |
impurl | array of string | 曝光监测地址 | 选填 |
expurl | array of string | 点击监测地址 | 选填 |
details | string of json | 物料详细数据 | 必填 |
isdefault | integer | 是否为打底物料(0否 1是 默认为0) | 选填 |
is_test | integer | 是否为测试物料(0否 1是 默认为0) | 选填 |
muConstructType | string | 是否为联投物料(SINGLE单频道物料 MATRIX联投物料 默认为SINGLE) | 选填,联投物料必填 |
- stime & etime: 如果是PDB/PD广告,物料投放的起止时间不能超过订单排期,即: stime >= 订单排期开始时间; etime <= 订单排期结束时间; 仅PD长期投放的订单etime可以设置为0
- details 是物料详细信息的json串,json串中包含的内容根据不同的广告样式有所不同,详细的字段要求参见导航目录《物料规格》
- nurl、impurl、expurl分别为广告竞标成功、曝光、点击的回调链接,nurl为检索过程中,广告竞胜时的回调通知,仅支持一条,以上回调均使用HTTP GET方式调用,impurl、expurl分别支持最多3条链接,每条链接限制长度1024为个字符,支持合作方通过宏替换来定义每次竞标的notice url,支持的宏代码详见《宏代码替换》
返回参数及含义
字段名称 | 类型 | 描述 | 字段必填 |
---|---|---|---|
errno | integer | 错误码,0表示成功,其他为失败,参考《常用错误码》 | 必填 |
errmsg | string | 错误提示信息 | 选填 |
data | object | 其他数据 | 选填 |
data object详细字段及含义
字段名称 | 类型 | 描述 | 字段必填 |
---|---|---|---|
adid | integer | 物料唯一ID | 选填 |
adprev | string | 物料预览地址 | 选填(仅当上传开屏物料时返回该字段) |
name | string | 物料名 | 必填 |
succeed | integer | 是否成功 | 必填 |
status | integer | 物料当前状态(参见《广告样式对照表》) | 选填 |
msg | string | 提示信息 | 选填 |
请求数据示例
$arrAdData1 = array(
'title' => 'ad title',
'name' => '百度原生推广',
'jumpurl' => 'http://www.baidu.com',
'mediaids' => array(
'mediaid1',
),
);
$arrAdData2 = array(
'title' => 'ad title',
'jumpurl' => 'http://www.baidu.com',
'mediaids' => array(
'mediaid2',
),
),
$arrWinNoticeUrl = array(
"http://www.baidu.com/winnotice?impid=",
);
$arrImpNoticeUrl = array(
"http://www.baidu.com/impnotice1?impid=&tm=",
"http://www.baidu.com/impnotice2?id=&tm=",
);
$arrClkNoticeUrl = array(
"http://www.baidu.com/clknotice1?impid=&tm=",
"http://www.baidu.com/clknotice2?id=&tm=",
);
$arrGoods = array(
array(
'template_id' => 'BC0054',
'name' => 'goods demo 1',
'stime' => 1483200000,
'etime' => 1485878399,
'nurl' => $arrWinNoticeUrl,
'impurl' => $arrImpNoticeUrl,
'expurl' => $arrClkNoticeUrl,
'details' => json_encode($arrAdData1),
),
array(
'adid' => 12345,
'template_id' => BC0054,
'name' => 'goods demo 2',
'stime' => 1483200000,
'etime' => 1485878399,
'details' => json_encode($arrAdData2),
),
);
$arrParams = array(
'cid' => $cid,
'dealid'=> $dealid,
'goods' => $arrGoods,
);
$arrParams['sign'] = getSign($arrParams);
返回数据示例
{
"errno": 0,
"errmsg": "",
"data": [
{
"adid": 12345,
"name": "goods demo 1",
"succeed": 1,
"status": 2,
"msg": "添加成功"
},
{
"name": "goods demo 2",
"succeed": 0,
"msg": "参数错误"
}
]
}
2.2 更新物料
更新物料前,如需要更换图片/视频素材, 需要先将相关资源上传至百度服务器(参考《2.4 图片素材管理》,《2.5 媒体资源管理》),百度返回对应资源的ID给合作方,合作方使用该ID更新物料,百度内部会将ID转换成外网可访问的资源链接,并写入物料库;
物料更新成功后,将再次提交物料审核,如审核通过且满足投放时间设置,则将自动开始广告投放。
提示: 信息流PDB/PD的物料在审核中,已过期,已下线状态不支持update操作,审核拒绝和审核通过状态均可更新,更新后将重新审核; 开屏物料审核通过后不支持update操作,审核中和审核拒绝可以更新,更新后将重新审核。
path: /update
请求参数及含义:
字段名称 | 类型 | 描述 | 字段必填 |
---|---|---|---|
cid | string | 百度下发给合作方的渠道ID | 必填 |
type | string | 接入渠道类型 | 开屏必填 "kp", 其他产品线(例如信息流)无需设置该字段 |
dealid | string | 百度下发给合作方的订单编号 | 必填(RTB物料填固定值0,开屏和信息流需要填写对应投放活动的dealid,dealid由负责对接的销售/运营同学告知合作方),开屏物料如果绑定了多个dealid,此处填写绑定的任意一个dealid即可 |
goods | array of object | 物料数据,一次请求可新建多个物料,一次请求最多可新建10个物料 | 必填 |
sign | string | 签名(参见《签名规则》) | 必填 |
goods object详细字段及含义:
字段名称 | 类型 | 描述 | 字段必填 |
---|---|---|---|
adid | int | 需要更新的物料ID(新建物料时,由百度生成并返回的adid) | 必填 |
adv_id | int | 广告主ID, 合作方给该物料的广告主分配的ID | RTB物料必填 |
adv_name | string | 广告主名字, 合作方给该物料的广告主配置的名字 | RTB物料必填 |
template_id | string | 广告样式ID(参照《广告样式对照表》) | 必填 |
name | string | 物料名称(该字段不会在广告上展示,百度不会对该字段做限制。相同dealid下,该字段在不同产品线下,是否唯一的要求不同。信息流要求唯一,开屏和RTB不做要求。) | 必填 |
stime | integer | 开始投放时间(UNIX时间戳,秒级别) | 必填 |
etime | integer | 结束投放时间(UNIX时间戳,秒级别) | 必填 |
nurl | string | 竞胜回调地址(仅信息流PDB&PD模式支持推送物料时配置win_notice) | 选填 |
impurl | array of string | 曝光监测地址(仅信息流PDB&PD模式支持推送物料时配置impurl) | 选填 |
expurl | array of string | 点击监测地址(仅信息流PDB&PD模式支持推送物料时配置expurl) | 选填 |
details | string of json | 物料详细数据 | 必填 |
isdefault | integer | 是否为打底物料(0否 1是 默认为0) | 选填 |
- stime & etime: 如果是PDB/PD模式下,物料投放的起止时间不能超过订单排期,即: stime >= 订单排期开始时间; etime <= 订单排期结束时间; 仅PD长期投放的订单etime可以设置为0
- details 是物料详细信息的json串,json串中包含的内容根据不同的广告样式有所不同,详细的字段要求参见导航目录《物料规格》
- nurl、impurl、expurl分别为广告竞标成功、曝光、点击的回调链接,nurl为检索过程中,广告竞胜时的回调通知,仅支持一条,以上回调均使用HTTP GET方式调用,impurl、expurl分别支持最多3条链接,每条链接限制长度1024为个字符,支持合作方通过宏替换来定义每次竞标的notice url,支持的宏代码详见《宏代码替换》
返回参数及含义
字段名称 | 类型 | 描述 | 字段必填 |
---|---|---|---|
errno | integer | 错误码,0表示成功,其他为失败,参考《常用错误码》 | 必填 |
errmsg | string | 错误提示信息 | 选填 |
data | object | 其他数据 | 选填 |
data object详细字段及含义
字段名称 | 类型 | 描述 | 字段必填 |
---|---|---|---|
adid | integer | 物料唯一ID | 选填 |
name | string | 物料名 | 必填 |
succeed | integer | 是否成功 | 必填 |
status | integer | 物料当前状态(参见《广告样式对照表》) | 选填 |
msg | string | 提示信息 | 选填 |
请求数据示例
$arrAdData1 = array(
'title' => 'ad title',
'name' => '百度原生推广',
'jumpurl' => 'http://www.baidu.com',
'mediaids' => array(
'mediaid1',
),
);
$arrAdData2 = array(
'title' => 'ad title',
'jumpurl' => 'http://www.baidu.com',
'mediaids' => array(
'mediaid2',
),
),
$arrWinNoticeUrl = array(
"http://www.baidu.com/winnotice?impid=",
);
$arrImpNoticeUrl = array(
"http://www.baidu.com/impnotice1?impid=&tm=",
"http://www.baidu.com/impnotice2?id=&tm=",
);
$arrClkNoticeUrl = array(
"http://www.baidu.com/clknotice1?impid=&tm=",
"http://www.baidu.com/clknotice2?id=&tm=",
);
$arrGoods = array(
array(
'adid' => 123,
'adv_id' => 'advid',
'adv_name' => 'advname',
'template_id' => 'BC0054',
'name' => 'goods demo 1',
'stime' => 1483200000,
'etime' => 1485878399,
'nurl' => $arrWinNoticeUrl,
'impurl' => $arrImpNoticeUrl,
'expurl' => $arrClkNoticeUrl,
'details' => json_encode($arrAdData1),
),
array(
'adid' => 12345,
'template_id' => BC0054,
'name' => 'goods demo 2',
'stime' => 1483200000,
'etime' => 1485878399,
'details' => json_encode($arrAdData2),
),
);
$arrParams = array(
'cid' => $cid,
'dealid'=> $dealid,
'goods' => $arrGoods,
);
$arrParams['sign'] = getSign($arrParams);
返回数据示例
{
"errno": 0,
"errmsg": "",
"data": [
{
"adid": 12345,
"name": "goods demo 1",
"succeed": 1,
"status": 2,
"msg": "添加成功"
},
{
"name": "goods demo 2",
"succeed": 0,
"msg": "参数错误"
}
]
}
2.3 查询物料状态
path: /status
请求参数及含义
字段名称 | 类型 | 描述 | 字段必填 |
---|---|---|---|
cid | string | 百度下发给合作方的渠道ID | 必填 |
type | string | 接入渠道类型 | 开屏必填 "kp", 其他为空即可 |
dealid | string | 百度下发给合作方的订单编号 | 必填(RTB物料填固定值0) |
goods | array of object | 物料数据,一次请求可查询多个物料状态 | 必填 |
sign | string | 签名(参见《签名规则》) | 必填 |
goods object详细字段及含义
字段名称 | 类型 | 描述 | 字段必填 |
---|---|---|---|
adid | integer | 物料唯一ID | 必填 |
返回参数及含义
字段名称 | 类型 | 描述 | 字段必填 |
---|---|---|---|
errno | integer | 错误码,0表示成功,其他为失败,参考《常用错误码》 | 必填 |
errmsg | string | 错误提示信息 | 必填 |
data | object | 其他数据 | 选填 |
data object详细字段及含义
字段名称 | 类型 | 描述 | 字段必填 |
---|---|---|---|
adid | integer | 物料唯一ID | 必填 |
succeed | integer | 是否成功 | 必填 |
status | integer | 物料状态码(参见《物料状态码对照表》) | 选填 |
msg | string | 提示信息 | 选填 |
ext_info | string | status=7时,该字段提示审核拒绝的原因 | 选填 |
请求数据示例
$arrGoods = array(
array(
'adid' => 12345,
),
array(
'adid' => 34567,
),
);
$arrParams = array(
'cid' => $cid,
'goods' => $arrGoods,
);
$arrParams['sign'] = getSign($arrParams);
返回数据示例
{
"errno": 0,
"errmsg": "",
"data": [
{
"adid": 12345,
"succeed": 1,
"status": 2,
"msg": ""
},
{
"adid": 23456,
"succeed": 0,
"msg": "物料不存在"
}
]
}
2.4 图片素材管理
所有广告物料中的图片资源,需要先上传至百度服务器,得到media id后,才能在广告物料中使用,新建物料时,使用已上传图片的media id作为广告物料中的图片素材,支持的图片类型:jpg/png/jpeg,单个图片文件最大不允许超过5M。
提示:相同的图片/视频素材可以在不同物料中重复使用。
2.4.1 图片资源上传
path:/uploadPic
请求参数及含义
字段名称 | 类型 | 描述 | 字段必填 |
---|---|---|---|
cid | string | 百度下发给合作方的渠道ID | 必填 |
type | string | 接入渠道类型 | 开屏必填 "kp", 其他为空即可 |
picdata | string | 图片文件数据,base64编码后得到的字符串 | 必填 |
sign | string | 签名(参见《签名规则》) | 必填 |
返回参数及含义
字段名称 | 类型 | 描述 | 字段必填 |
---|---|---|---|
errno | integer | 错误码,0表示成功,其他为失败,参考《常用错误码》 | 必填 |
errmsg | string | 错误提示信息 | 必填 |
data | object | 其他数据 | 选填 |
data object详细字段及含义
字段名称 | 类型 | 描述 | 字段必填 |
---|---|---|---|
mediaid | string | 图片素材ID | 必填 |
请求数据示例
$arrParams = array(
'cid' => $cid,
'picdata' => base64_encode(file_get_contents($imagefilename)),
);
$arrParams['sign'] = getSign($arrParams);
返回数据示例
{
"errno": 0,
"errmsg": "",
"data": {
"mediaid": "mediaid1"
}
}
2.5 媒体资源管理
投放的广告物料中如果包含音视频类素材,需要先使用媒体资源管理相关接口上传素材,得到media id后,再使用media id创建物料,单个素材大小不允许超过500M。
提示:
1、相同的图片/视频素材可以在不同物料中重复使用。
2、本接口仅适用于rtb/feed pdb/pd,如果对接开屏,请使用《2.6 直接上传视频资源》
上传素材分为以下几步:
2.5.1 初始化媒体资源上传
path: /initMediaUpload
请求参数及含义
字段名称 | 类型 | 描述 | 字段必填 |
---|---|---|---|
cid | string | 百度下发给合作方的渠道ID | 必填 |
sign | string | 签名(参见《签名规则》) | 必填 |
返回参数及含义
字段名称 | 类型 | 描述 | 字段必填 |
---|---|---|---|
errno | integer | 错误码,0表示成功,其他为失败,参考《常用错误码》 | 必填 |
errmsg | string | 错误提示信息 | 必填 |
data | object | 其他数据 | 选填 |
data object详细字段及含义:
字段名称 | 类型 | 描述 | 字段必填 |
---|---|---|---|
mediaid | string | 物料唯一ID | 必填 |
bucket | string | 该媒资对应的源文件上传地址的Bucket | 必填 |
uploadkey | string | 该媒资对应的源文件上传Key | 必填 |
uploadid | string | 该媒体资源上传ID | 必填 |
注意:成功申请媒资后,请于一周内完成媒体资源上传及媒资处理,否则相应的media id将逾期失效。
2.5.2 分片上传媒体资源
path: /uploadMediaPart
请求参数及含义
字段名称 | 类型 | 描述 | 字段必填 |
---|---|---|---|
cid | string | 百度下发给合作方的渠道ID | 必填 |
bucket | string | 该媒资对应的源文件上传地址的Bucket | 必填 |
uploadkey | string | 该媒资对应的源文件上传Key | 必填 |
uploadid | string | 该媒体资源的上传ID | 必填 |
number | integer | 分片编号(编号从1开始,除最后一个分片外,每个分片大小为5M) | 必填 |
data | string | 媒资数据,base64编码 | 必填 |
sign | string | 签名(参见《签名规则》) | 必填 |
返回参数及含义
字段名称 | 类型 | 描述 | 字段必填 |
---|---|---|---|
errno | integer | 错误码,0表示成功,其他为失败, 参考《常用错误码》 | 必填 |
errmsg | string | 错误提示信息 | 必填 |
2.5.3 完成媒体资源上传
path: /completeMediaUpload
请求参数及含义:
字段名称 | 类型 | 描述 | 字段必填 |
---|---|---|---|
cid | string | 百度下发给合作方的渠道ID | 必填 |
mediaid | string | 媒体资源ID,对应初始化时返回的mediaid | 必填 |
bucket | string | 该媒资对应的源文件上传地址的Bucket | 必填 |
uploadkey | string | 该媒资对应的源文件上传Key | 必填 |
uploadid | string | 上传唯一ID | 必填 |
title | string | 媒体资源标题 | 选填 |
desc | string | 媒体资源描述 | 选填 |
sign | string | 签名(参见《签名规则》) | 必填 |
返回参数及含义:
字段名称 | 类型 | 描述 | 字段必填 |
---|---|---|---|
errno | integer | 错误码,0表示成功,其他为失败, 参考《常用错误码》 | 必填 |
errmsg | string | 错误提示信息 | 必填 |
2.5.4 代码示例:媒体资源上传
function http_post_data($url, $data_string) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json; charset=utf-8',
'Content-Length: ' . strlen($data_string))
);
ob_start();
curl_exec($ch);
$return_content = ob_get_contents();
ob_end_clean();
$return_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
return array($return_code, $return_content);
}
// first: initialize media upload
$arrParams = array(
'cid' => $cid,
);
$arrParams['sign'] = getSign($arrParams);
$initRet = http_post_data($host . $initUploadPath, json_encode($arrParams));
print_r($initRet,1);
$httpCode = $initRet[0];
$retData = $initRet[1]['data'];
$mediaId = $retData['mediaid'];
$bucket = $retData['bucket'];
$key = $retData['uploadkey'];
$uploadId = $retData['uploadid'];
// 2. upload media file by part
$offset = 0;
$partNumber = 1;
$partSize = 5242880; // 最大5M
$length = $partSize;
$partList = array();
$bytesLeft = filesize($fileName);
while ($bytesLeft > 0) {
$length = ($length > $bytesLeft) ? $bytesLeft : $length;
$arrParams = array(
'cid' => $cid,
'bucket' => $bucket,
'uplaodkey' => $key,
'uploadid' => $uploadId,
'number' => $partNumber,
'length' => $length,
'data' => base64_encode(file_get_contents($fileName, false, NULL, $offset, $length)),
);
$arrParams['sign'] = getSign($arrParams);
$uploadRes = http_post_data($host . $uploadPartPath, json_encode($arrParams));
$offset += $length;
$partNumber++;
$bytesLeft -= $length;
print_r($uploadResponse,1);
}
// 3. complete media upload
$arrParams = array(
'cid' => $cid,
'mediaid' => $mediaId,
'bucket' => $bucket,
'uploadkey' => $key,
'uploadid' => $uploadId,
);
$arrParams['sign'] = getSign($arrParams);
$completeRes = http_post_data($host.$completePath, json_encode($arrParams));
print_r($completeRes,1);
2.6 直接上传视频资源
提示:
1、本接口仅用于开屏广告视频物料上传,如果上传rtb/ feed pdb/pd物料,请使用《2.5媒体资源管理》
2、开屏物料用2.6接口,并且视频文件不能大于5M
path: /uploadMedia
请求参数及含义
字段名称 | 类型 | 描述 | 字段必填 |
---|---|---|---|
cid | string | 百度下发给合作方的渠道ID | 必填 |
mediadata | string | 视频文件数据,base64编码后得到的字符串 | 必填 |
sign | string | 签名(参见《签名规则》) | 必填 |
返回参数及含义
字段名称 | 类型 | 描述 | 字段必填 |
---|---|---|---|
errno | integer | 错误码,0表示成功,其他为失败,参考《常用错误码》 | 必填 |
errmsg | string | 错误提示信息 | 必填 |
data | object | 其他数据 | 选填 |
data object详细字段及含义
字段名称 | 类型 | 描述 | 字段必填 |
---|---|---|---|
mediaid | string | 图片素材ID | 必填 |
请求数据示例
$arrParams = array(
'cid' => $cid,
'mediadata' => base64_encode(file_get_contents($vediofilename)),
);
$arrParams['sign'] = getSign($arrParams);
返回数据示例
{
"errno": 0,
"errmsg": "",
"data": {
"mediaid": "mediaid1"
}
}
2.7 数据接口
请注意: 数据接口当前仅适用于信息流PDB&PD订单数据查询。
2.7.1 订单消耗数据
path: / deliveryData
请求参数及含义:
字段名称 | 类型 | 描述 | 字段必填 |
---|---|---|---|
cid | string | 百度下发给合作方的渠道ID | 必填 |
dealid | string | 百度下发给合作方的订单编号 | 必填(RTB物料填固定值0) |
minDate | string | 查询的最小时间(2019-09-01) | 选填 |
maxDate | string | 查询的最大时间(2019-09-10) | 选填 |
count | integer | 每页数据(默认5条,最多30条) | 选填 |
page | integer | 当前页数(默认1) | 选填 |
sign | string | 签名(参见《签名规则》) | 必填 |
返回参数及含义:
字段名称 | 类型 | 描述 | 字段必填 |
---|---|---|---|
errno | integer | 错误码,0表示成功,其他为失败, 参考《常用错误码》 | 必填 |
errmsg | string | 错误提示信息 | 必填 |
data | object | 其他数据 | 选填 |
data object详细字段及含义:
字段名称 | 类型 | 描述 | 字段必填 |
---|---|---|---|
date | string | 日期 | 必填 |
exposure | string | 曝光数据 | 必填 |
click | string | 点击数据 | 必填 |
cost | string | 消费金额(元) | 必填 |
请求示例:
$arrParams = array(
‘cid’ => $cid,
‘dealid’ => 1234,
‘count’ => 10,
‘page’ => 1
);
$arrParams[‘sign’] = getSign($arrParams);
返回示例:
{
"errno":0,
"errmsg":"",
"data":[
{
"date":"2019-04-18",
"exposure":"146,082",
"click":"683",
"cost":"4808.95"
},
{
"date":"2019-04-19",
"exposure":"146,082",
"click":"683",
"cost":"4808.95"
}
]
}
3 附录
3.1 广告样式对照表
template_id | 模板名称 | 曝光位置 |
---|---|---|
1 | 非全屏图片 ios | 手机百度-APP-开屏 |
2 | 非全屏图片 android | 手机百度-APP-开屏 |
3 | 非全屏视频 | 手机百度-APP-开屏 |
4 | 全屏图片 | 手机百度-APP-开屏 |
5 | 全屏视频 | 手机百度-APP-开屏 |
BC0054 | 小图链接 | 手机百度-APP-列表页-Feed 手机百度-APP-图文详情页-底部Banner 手机百度-WAP-列表页-Feed 手机百度-WAP-图文详情页-底部Banner |
BC0055 | 大图链接 | 手机百度-APP-列表页-Feed 手机百度-APP-图文详情页-底部Banner 手机百度-WAP-列表页-Feed 手机百度-WAP-图文详情页-底部Banner |
BC0056 | 三图链接 | 手机百度-APP-列表页-Feed 手机百度-APP-图文详情页-底部Banner 手机百度-WAP-列表页-Feed 手机百度-WAP-图文详情页-底部Banner |
BC0068 | 大图视频 | 手机百度-APP-列表页-Feed |
BC0085 | 单图下载-iOS | 手机百度-APP-列表页-Feed |
BC0082 | 单图下载-Android | 手机百度-APP-列表页-Feed |
BC0087 | 大图下载-iOS | 手机百度-APP-列表页-Feed |
BC0086 | 大图下载-Android | 手机百度-APP-列表页-Feed |
BC0084 | 三图下载-iOS | 手机百度-APP-列表页-Feed |
BC0073 | 三图下载-Android | 手机百度-APP-列表页-Feed |
BC0098 | 大图视频下载 | 手机百度-APP-列表页-Feed |
BC0133 | 随心互动-主体突出 | 手机百度-APP-列表页-Feed |
BC0134 | 随心互动-像素渐变 | 手机百度-APP-列表页-Feed |
BC0092 | 大图链接 | 手机百度-APP-视频列表页-Feed |
BC0094 | 大图视频 | 手机百度-APP-视频列表页-Feed |
BC0119 | 大图链接 | 手机百度-APP-视频详情页-后贴 |
BC0285 | 竖版视频 | 好看视频-APP-列表页-Feed |
BC0286 | 大图视频 | 好看视频-APP-列表页-Feed |
2001 | 大图链接 | 百度贴吧-APP-列表页-Feed 百度贴吧-APP-首页-Feed |
GEN124 | 三图链接 | 百度贴吧-APP-列表页-Feed 百度贴吧-APP-首页-Feed |
BC0072 | 大图视频 | 百度贴吧-APP-列表页-Feed 百度贴吧-APP-首页-Feed |
BC0075 | 大图下载 | 百度贴吧-APP-列表页-Feed 百度贴吧-APP-首页-Feed |
BC0077 | 三图下载 | 百度贴吧-APP-列表页-Feed 百度贴吧-APP-首页-Feed |
BC0129 | 大图视频下载 | 百度贴吧-APP-列表页-Feed 百度贴吧-APP-首页-Feed |
GEN132 | 看图链接 | 百度贴吧-APP-看图页-看图 |
1001 | 大图链接 | 百度贴吧-WAP-列表页-Feed |
GEN127 | 三图链接 | 百度贴吧-WAP-列表页-Feed |
1101 | 大图链接 | 百度贴吧-WAP-内容页-Feed |
GEN128 | 三图链接 | 百度贴吧-WAP-内容页-Feed |
1 | 非全屏图片 | 好看视频APP |
3 | 非全屏视频 | 好看视频APP |
4 | 全屏图片 | 好看视频APP |
5 | 全屏视频 | 好看视频APP |
1 | 非全屏图片 | 百度地图-APP-开屏 |
3 | 非全屏视频 | 百度地图-APP-开屏 |
4 | 全屏图片 | 百度地图-APP-开屏 |
5 | 全屏视频 | 百度地图-APP-开屏 |
1 | 非全屏图片 | 百度贴吧-APP-开屏 |
3 | 非全屏视频 | 百度贴吧-APP-开屏 |
4 | 全屏图片 | 百度贴吧-APP-开屏 |
5 | 全屏视频 | 百度贴吧-APP-开屏 |
1 | 非全屏图片 | 百度网盘-APP-开屏 |
3 | 非全屏视频 | 百度网盘-APP-开屏 |
4 | 全屏图片 | 百度网盘-APP-开屏 |
5 | 全屏视频 | 百度网盘-APP-开屏 |
3.2 物料规格说明
详细物料规格请跳转:《物料规格》
3.3 物料状态码对照表
合作方应定期check物料状态,避免因物料状态异常导致投放出现问题
状态码 | 描述 | 备注 |
---|---|---|
0 | 已删除 | 不可投放 |
1 | 草稿 | 不可投放 |
2 | 投放中 | 可以投放 |
3 | 已下线 | 不可投放 |
4 | 暂停投放 | 不可投放 |
5 | 待提交审核 | 不可投放 |
6 | 审核中 | 不可投放 |
7 | 审核拒绝 | 不可投放 |
8 | 已过期 | 不可投放 |
9 | 审核通过 | adx通过审核即可投放,品牌程序化需在排期内才可以投放 |
10 | 即将下线 | 可以投放 |
11 | 制作中 | 不可投放,只有开屏程序化物料有这个状态 |
12 | 制作失败 | 不可投放,只有开屏程序化物料有这个状态 |
3.4 常用错误码
errno | 错误类别 |
---|---|
0 | 成功 |
1 | 服务内部未知错误 |
110000 | 渠道cid不存在 |
110001 | 签名错误 |
110003 | 内部服务调用失败 |
210001 | 上传失败 |
210002 | 文件加载失败 |
210003 | 接口/方法不存在 |
210004 | 函数调用失败 |
210005 | 数据库连接失败 |
210006 | 数据库查询失败 |
210009 | 参数错误 |
210010 | 加载配置失败 |
210011 | 不支持的图片类型 |
210017 | 身份认证失败 |
220110 | 物料相似度检测不通过 |
3.5 签名规则
注意:
参数值为空不参与签名
参数名区分大小写
Step 1:将需要签名的数据数组中参数值为空的字段剔除,得到array1;
Step 2:将”key”=>”{sign key}”添加到array1中,得到array2;
Step 3:对array2进行字典排序,得到array3;
Step 4:将array3转换成json串,得到的字符串做Md5运算,得到sign值。
PHP示例代码:
$arrParams =array(
"cid" => "cid,
"goods" => $arrGoods,
// ... other params
);
// step 1.过滤参数值为空的字段
$arrToSign = array();
foreach($arrParams as $k => $v) {
if (empty($v)) continue;
$arrToSign[$k] = $v;
}
// step 2.添加签名key
$arrToSign ['key'] = $signKey;
// step 3.字典排序
ksort($arrToSign);
// step 4.转换为json串并计算md5值
$strToSign = json_encode($arrToSign);
$sign = md5($strToSign);
注意:如果您使用Java或者Go语言开发,需要留意生成json串的规则与PHP有所不同,PHP生成json串时,字符串内的正斜杠也会进行转义,比如
{"url":"http:\/\/www.baidu.com"}
,使用Java和Go等语言生成json串时不会给正斜杠自动添加转义符,对应的json串是{"url":"http://www.baidu.com"}
,您需要额外做一些处理,以保证加密前的字符串一致,否则签名校验无法通过。
3.6 联调环境
Host | feedpdb.baidu.com |
---|---|
cid | 由联调接口人提供 |
signKey | 由联调接口人提供 |
dealID | 由联调接口人提供 |
注意:如果使用自助联调平台调试,应直接采用线上域名和cid配置,cid 和 signKey 由产品或运营提供。 上述配置只适用于线下调试场景,具体联调配置信息,请在调试前与RD接口人确认。