百度品牌程序化推广API

百度品牌程序化推广API

    ›接口文档

    简介

    • 自助联调工具使用文档
    • 名词解释

    接口文档

    • 物料推送审核
    • 实时检索对接
    • 广告位列表
    • 物料规格
    • 宏代码替换

    附件下载

    • 附件下载

    常见问题

    • 常见问题
    • 联系我们

    物料推送审核

    更新日志

    编号日期作者修改内容
    12019-08-18lihuifeng01整合RTB、PDB、PD物料推送,形成统一接口文档
    在兼容原PDB&PD物料推送的前提下,新增RTB物料推送和状态获取
    新增单独的物料更新接口(update)
    22019-08-19lihuifeng01添加常用错误码
    32020-07-09lihuifeng01添加开屏物料上传相关说明
    42020-09-25lihuifeng01开屏物料支持deeplink链接,支持一个创意绑定多个dealid,update接口支持更新开屏物料
    52023-09-21hushupei联调地址更新

    1 介绍

    本文档为程序化提交物料的接口定义, 需求方通过物料推送接口自助添加物料提交审核,审核完成后的物料方可进行在线投放。

    物料推送接口适用范围:
    1: 信息流PDB&PD
    2: 大客户程序化接入(RTB模式)
    3: 开屏PDB&PD
    关于开屏物料的制作规范和指导, 请移步《附件下载》。

    准备物料是投放前的必要工作,在投放期到来前,需求方需要先使用本文档所述接口提交物料、并且确保通过审核,只有通过审核的物料才能在投放期内正常使用。

    物料对接的一般流程是: 投放物料需要先上传素材(图片、音视频媒体资源等)到百度服务器,物料中使用的素材都必须从已上传的素材中选取,不允许使用外部资源,新建物料时,物料素材用上传百度服务器后返回的ID来指定,具体流程如下: image.png

    2 接口定义

    接口使用 http post 方式进行交互,请求消息使用json格式,Content-Type 设为 application/json。

    接口Host: feedpdb.baidu.com

    2.1 新增物料

    新增物料前,需要先将图片、音视频媒体资源上传至百度服务器(参考《2.4 图片素材管理》,《2.5 媒体资源管理》),百度返回对应资源的ID给合作方,合作方使用该ID创建物料,百度内部会将ID转换成外网可访问的资源链接,并写入物料库;

    物料创建成功后,将自动提交物料审核,如审核通过且满足投放时间设置,则将自动开始广告投放。

    物料创建后,合作方可以通过状态查询接口,实时获取该物料状态。

    path: /new

    请求参数及含义:

    字段名称类型描述字段必填
    cidstring百度下发给合作方的渠道ID必填
    typestring接入渠道类型开屏必填 "kp", 其他为空即可
    dealidstring百度下发给合作方的订单编号必填(RTB物料填固定值0,开屏和信息流需要填写对应投放活动的dealid,dealid由负责对接的销售/运营同学告知合作方),开屏支持一个物料同时绑定多个dealid,多个dealid以半角逗号分隔,如"213,214,215"
    goodsarray of object物料数据,一次请求可新建多个物料,一次请求最多可新建10个物料必填
    signstring签名(参见《签名规则》)必填
    goods object详细字段及含义:
    字段名称类型描述字段必填
    adv_idint广告主ID, 合作方给该物料的广告主分配的IDRTB物料必填
    adv_namestring广告主名字, 合作方给该物料的广告主配置的名字RTB物料必填
    trade1string投放物料对应的一级行业RTB物料必填
    trade2string投放物料对应的二级行业RTB物料必填
    template_idstring广告样式ID(参照《广告样式对照表》)必填
    namestring物料名称(该字段不会在广告上展示,百度不会对该字段做限制。相同dealid下,该字段在不同产品线下,是否唯一的要求不同。信息流要求唯一,开屏和RTB不做要求。)必填
    stimeinteger开始投放时间(UNIX时间戳,秒级别)必填(投放到开屏页的广告不需要该字段)
    etimeinteger结束投放时间(UNIX时间戳,秒级别)必填(投放到开屏页的广告不需要该字段)
    nurlstring竞胜回调地址(仅信息流PDB&PD支持推送物料时配置win_notice,RTB对接为实时返回)选填
    impurlarray of string曝光监测地址选填
    expurlarray of string点击监测地址选填
    detailsstring of json物料详细数据必填
    isdefaultinteger是否为打底物料(0否 1是 默认为0)选填
    is_testinteger是否为测试物料(0否 1是 默认为0)选填
    muConstructTypestring是否为联投物料(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,支持的宏代码详见《宏代码替换》

    返回参数及含义

    字段名称类型描述字段必填
    errnointeger错误码,0表示成功,其他为失败,参考《常用错误码》必填
    errmsgstring错误提示信息选填
    dataobject其他数据选填
    data object详细字段及含义
    字段名称类型描述字段必填
    adidinteger物料唯一ID选填
    adprevstring物料预览地址选填(仅当上传开屏物料时返回该字段)
    namestring物料名必填
    succeedinteger是否成功必填
    statusinteger物料当前状态(参见《广告样式对照表》)选填
    msgstring提示信息选填

    请求数据示例

    $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

    请求参数及含义:

    字段名称类型描述字段必填
    cidstring百度下发给合作方的渠道ID必填
    typestring接入渠道类型开屏必填 "kp", 其他产品线(例如信息流)无需设置该字段
    dealidstring百度下发给合作方的订单编号必填(RTB物料填固定值0,开屏和信息流需要填写对应投放活动的dealid,dealid由负责对接的销售/运营同学告知合作方),开屏物料如果绑定了多个dealid,此处填写绑定的任意一个dealid即可
    goodsarray of object物料数据,一次请求可新建多个物料,一次请求最多可新建10个物料必填
    signstring签名(参见《签名规则》)必填
    goods object详细字段及含义:
    字段名称类型描述字段必填
    adidint需要更新的物料ID(新建物料时,由百度生成并返回的adid)必填
    adv_idint广告主ID, 合作方给该物料的广告主分配的IDRTB物料必填
    adv_namestring广告主名字, 合作方给该物料的广告主配置的名字RTB物料必填
    template_idstring广告样式ID(参照《广告样式对照表》)必填
    namestring物料名称(该字段不会在广告上展示,百度不会对该字段做限制。相同dealid下,该字段在不同产品线下,是否唯一的要求不同。信息流要求唯一,开屏和RTB不做要求。)必填
    stimeinteger开始投放时间(UNIX时间戳,秒级别)必填
    etimeinteger结束投放时间(UNIX时间戳,秒级别)必填
    nurlstring竞胜回调地址(仅信息流PDB&PD模式支持推送物料时配置win_notice)选填
    impurlarray of string曝光监测地址(仅信息流PDB&PD模式支持推送物料时配置impurl)选填
    expurlarray of string点击监测地址(仅信息流PDB&PD模式支持推送物料时配置expurl)选填
    detailsstring of json物料详细数据必填
    isdefaultinteger是否为打底物料(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,支持的宏代码详见《宏代码替换》

    返回参数及含义

    字段名称类型描述字段必填
    errnointeger错误码,0表示成功,其他为失败,参考《常用错误码》必填
    errmsgstring错误提示信息选填
    dataobject其他数据选填
    data object详细字段及含义
    字段名称类型描述字段必填
    adidinteger物料唯一ID选填
    namestring物料名必填
    succeedinteger是否成功必填
    statusinteger物料当前状态(参见《广告样式对照表》)选填
    msgstring提示信息选填

    请求数据示例

    $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

    请求参数及含义

    字段名称类型描述字段必填
    cidstring百度下发给合作方的渠道ID必填
    typestring接入渠道类型开屏必填 "kp", 其他为空即可
    dealidstring百度下发给合作方的订单编号必填(RTB物料填固定值0)
    goodsarray of object物料数据,一次请求可查询多个物料状态必填
    signstring签名(参见《签名规则》)必填
    goods object详细字段及含义
    字段名称类型描述字段必填
    adidinteger物料唯一ID必填

    返回参数及含义

    字段名称类型描述字段必填
    errnointeger错误码,0表示成功,其他为失败,参考《常用错误码》必填
    errmsgstring错误提示信息必填
    dataobject其他数据选填
    data object详细字段及含义
    字段名称类型描述字段必填
    adidinteger物料唯一ID必填
    succeedinteger是否成功必填
    statusinteger物料状态码(参见《物料状态码对照表》)选填
    msgstring提示信息选填
    ext_infostringstatus=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
    请求参数及含义
    字段名称类型描述字段必填
    cidstring百度下发给合作方的渠道ID必填
    typestring接入渠道类型开屏必填 "kp", 其他为空即可
    picdatastring图片文件数据,base64编码后得到的字符串必填
    signstring签名(参见《签名规则》)必填
    返回参数及含义
    字段名称类型描述字段必填
    errnointeger错误码,0表示成功,其他为失败,参考《常用错误码》必填
    errmsgstring错误提示信息必填
    dataobject其他数据选填
    data object详细字段及含义
    字段名称类型描述字段必填
    mediaidstring图片素材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
    请求参数及含义
    字段名称类型描述字段必填
    cidstring百度下发给合作方的渠道ID必填
    signstring签名(参见《签名规则》)必填
    返回参数及含义
    字段名称类型描述字段必填
    errnointeger错误码,0表示成功,其他为失败,参考《常用错误码》必填
    errmsgstring错误提示信息必填
    dataobject其他数据选填
    data object详细字段及含义:
    字段名称类型描述字段必填
    mediaidstring物料唯一ID必填
    bucketstring该媒资对应的源文件上传地址的Bucket必填
    uploadkeystring该媒资对应的源文件上传Key必填
    uploadidstring该媒体资源上传ID必填

    注意:成功申请媒资后,请于一周内完成媒体资源上传及媒资处理,否则相应的media id将逾期失效。

    2.5.2 分片上传媒体资源

    path: /uploadMediaPart
    请求参数及含义
    字段名称类型描述字段必填
    cidstring百度下发给合作方的渠道ID必填
    bucketstring该媒资对应的源文件上传地址的Bucket必填
    uploadkeystring该媒资对应的源文件上传Key必填
    uploadidstring该媒体资源的上传ID必填
    numberinteger分片编号(编号从1开始,除最后一个分片外,每个分片大小为5M)必填
    datastring媒资数据,base64编码必填
    signstring签名(参见《签名规则》)必填
    返回参数及含义
    字段名称类型描述字段必填
    errnointeger错误码,0表示成功,其他为失败, 参考《常用错误码》必填
    errmsgstring错误提示信息必填

    2.5.3 完成媒体资源上传

    path: /completeMediaUpload
    请求参数及含义:
    字段名称类型描述字段必填
    cidstring百度下发给合作方的渠道ID必填
    mediaidstring媒体资源ID,对应初始化时返回的mediaid必填
    bucketstring该媒资对应的源文件上传地址的Bucket必填
    uploadkeystring该媒资对应的源文件上传Key必填
    uploadidstring上传唯一ID必填
    titlestring媒体资源标题选填
    descstring媒体资源描述选填
    signstring签名(参见《签名规则》)必填
    返回参数及含义:
    字段名称类型描述字段必填
    errnointeger错误码,0表示成功,其他为失败, 参考《常用错误码》必填
    errmsgstring错误提示信息必填

    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

    请求参数及含义

    字段名称类型描述字段必填
    cidstring百度下发给合作方的渠道ID必填
    mediadatastring视频文件数据,base64编码后得到的字符串必填
    signstring签名(参见《签名规则》)必填
    返回参数及含义
    字段名称类型描述字段必填
    errnointeger错误码,0表示成功,其他为失败,参考《常用错误码》必填
    errmsgstring错误提示信息必填
    dataobject其他数据选填
    data object详细字段及含义
    字段名称类型描述字段必填
    mediaidstring图片素材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
    请求参数及含义:
    字段名称类型描述字段必填
    cidstring百度下发给合作方的渠道ID必填
    dealidstring百度下发给合作方的订单编号必填(RTB物料填固定值0)
    minDatestring查询的最小时间(2019-09-01)选填
    maxDatestring查询的最大时间(2019-09-10)选填
    countinteger每页数据(默认5条,最多30条)选填
    pageinteger当前页数(默认1)选填
    signstring签名(参见《签名规则》)必填
    返回参数及含义:
    字段名称类型描述字段必填
    errnointeger错误码,0表示成功,其他为失败, 参考《常用错误码》必填
    errmsgstring错误提示信息必填
    dataobject其他数据选填
    data object详细字段及含义:
    字段名称类型描述字段必填
    datestring日期必填
    exposurestring曝光数据必填
    clickstring点击数据必填
    coststring消费金额(元)必填
    请求示例:
    $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-开屏
    | GEN123 | 贴吧APP-帖子内容页-三图链接 | | 2101 | 贴吧APP-帖子内容页-单图链接(大图链接)| | BC0076 | 贴吧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 联调环境

    Hostfeedpdb.baidu.com
    cid由联调接口人提供
    signKey由联调接口人提供
    dealID由联调接口人提供

    注意:如果使用自助联调平台调试,应直接采用线上域名和cid配置,cid 和 signKey 由产品或运营提供。 上述配置只适用于线下调试场景,具体联调配置信息,请在调试前与RD接口人确认。

    ←名词解释实时检索对接→
    • 更新日志
    • 1 介绍
    • 2 接口定义
      • 2.1 新增物料
      • 2.2 更新物料
      • 2.3 查询物料状态
      • 2.4 图片素材管理
      • 2.5 媒体资源管理
      • 2.6 直接上传视频资源
      • 2.7 数据接口
    • 3 附录
      • 3.1 广告样式对照表
      • 3.2 物料规格说明
      • 3.3 物料状态码对照表
      • 3.4 常用错误码
      • 3.5 签名规则
      • 3.6 联调环境
    ©2019 Baidu home使用百度前必读