媒体对接文档
接入须知
- 法律声明
媒体与本公司签订合同后,本公司向媒体提供对接协议作为指引文档。
未经我方书面许可,不得以任何形式向第三方披露、泄露有关本文档的任何内容。
修订历史
| 文档版本 | 修订日期 | 修订描述 |
|---|---|---|
| 2.0.0 | 2024-06-04 | 修改imp.adtype,imp.ctype,device.connection_type 定义 |
| 2.1.0 | 2024-06-05 | 增加response app定义,app_version下列字段,提供给app下载用 |
| 2.2.0 | 2024-07-12 | 增加设备启动时间等 |
| 2.3.0 | 2024-08-01 | 广告位宽高,formids信息变成必填,废弃tagid |
| 2.4.0 | 2024-08-23 | 新增paid,caids字段 |
| 2.5.0 | 2024-08-27 | 增加imp.support_size_type 支持横竖版强制要求 |
| 2.6.0 | 2025-01-16 | 支持loss notice, 支持返回code & not biding reason |
| 2.7.0 | 2025-02-11 | 添加华为媒体特殊字段支持: 响应中,bid.ext新增huawei_cat、language、advertiser字段,img和video新增mime字段 |
| 2.8.0 | 2025-02-20 | 支持请求Ext字段,增加流量来源标识 |
| 2.9.0 | 2025-04-18 | 请求Imp中支持填入多个广告位尺寸 |
| 2.9.1 | 2025-10-01 | 优化video事件上报字段 |
[TOC]
整体流程
本文档描述媒体方如何通过客户端c2s的方式或者服务端s2s的方式请求我方SSP广告系统的通用接口。
基本流程如下:

- 媒体方向SSP发送广告请求,请求数据见BidRequest说明。
- SSP内部通过竞价产生出合适的广告,SSP将内部竞价成功的广告返回给向媒体方,返回数据格式详情见BidResponse说明。
- 媒体上报返回的曝光点击监控等。
广告竞价
所有参数均采用UTF-8编码。
HTTP请求类型
媒体方设置HTTP Method为POST。
HTTP请求Header
媒体方设置Content-type为application/json
媒体方设置在条件允许的前提下使用长链接来持续发起广告请求。
1. 广告请求Bid Request说明
| 字段 | 类型 | 必须 | 说明 |
|---|---|---|---|
| id | string | Y | 请求唯一ID |
| imp | object[] | Y | 广告位信息,1.1imp对象 |
| app | object | Y | 媒体的app信息 1.2app对象 |
| device | object | Y | 设备信息 |
| site | object | N | 站点信息对象,浏览器端 |
| user | object | N | 用户信息对象 |
| tmax | int | N | 超时时间(毫秒),默认100ms |
| test | bool | N | 测试模式,默认false |
| ext | object | N | 扩展字段,详见章节1.8 |
1.1 Imp 对象
| 字段 | 类型 | 必须 | 说明 |
|---|---|---|---|
| id | string | Y | imp唯一id |
| slotid | string | Y | 平台分配的广告位id,推荐使用平台分配广告位id |
| tagid | string | N | 媒体方广告位ID,废弃, 不使用 |
| w | int | Y | 广告位宽,推荐必填 |
| h | int | Y | 广告位高,推荐必填 |
| sizes | Size[] | N | 额外可支持的广告位尺寸 |
| minduration | int | N | 视频广告最小播放时长,单位:秒 |
| maxduration | int | N | 视频广告最大播放时长,单位:秒 |
| formids | int[] | Y | 广告广告展现形式ids,见 附录1。推荐必填 |
| adtype | int | N | 广告位类型(1 : 视频贴片, 2 : 视频暂停 ,3. 视频悬浮 ,4 : 横幅, 5 : 开屏, 6 : 插屏, 7 : 信息流 ,8: 文字链, 10: 激励视频)。 |
| ctype | int[] | N | 允许的素材类型 (1: JPG,2. PNG, 3:GIF, 4:JPEG, 5:SWF, 6:MP4, 7:FLV, 8:文字链, 9:信息流, 10:视频信息流 )。 |
| bidfloor | float | N | 底价(分/cpm) |
| bidtype | int | N | 售卖方式,0:cpm;1:cpc ,default = 0 |
| pmp | PMP[] | N | PMP 模式 |
| secure | int | N | 是否只支持https,0-无要求,http和https都支持;1-只支持https |
| support_interact | int[] | N | 支持的交互类型(0:不限;1:webview;2:下载;3:微信小程序唤起;4:deeplink唤起),为空或者传0则默认都支 持 |
| support_size_type | int[] | N | 支持的素材的横竖版判断,1:横版,2:竖版。支持多选,不填则为不限。 |
1.2 Size 对象
| 字段 | 类型 | 必须 | 说明 |
|---|---|---|---|
| w | int | Y | 广告位宽 |
| h | int | Y | 广告位高 |
1.3 App 对象
| 字段 | 类型 | 必须 | 说明 |
|---|---|---|---|
| id | string | N | app id |
| name | string | N | app name |
| ver | string | N | app 版本 |
| sdk_version | string | N | sdk版本 |
| bundle | string | N | app 包名 |
| cat | string[] | N | app 类型 |
1.4 Device 对象
| 字段 | 类型 | 必须 | 说明 |
|---|---|---|---|
| imei | string | N | 设备号,IMEI(安卓设备imei,imeimd5至少一个必填) |
| imeimd5 | string | N | 设备号的imei MD5值,32位小写 |
| oaid | string | N | 设备标识,OAID(安卓10以上,oaid,oaidmd5至少一个必填) |
| oaidmd5 | string | N | 设备标识的oaid MD5,32位小写 |
| aid | string | N | Android Id |
| aidmd5 | string | N | Android Id 的 MD5,32位小写 |
| idfa | string | N | Ios唯一标示,idfa原值(ios系统idfa,idfamd5至少一个必填) |
| idfamd5 | string | N | idfa的md5, 32位小写 |
| caid | string | N | IOS14后idfa的替代方案,广协caid |
| caid_version | string | N | caid sdk版本号,多个使用最新版本 |
| ali_aaid | string | N | ali aaid,需对接ali aaid sdk,可不填 |
| os | int | N | 操作系统 (0 :未知 ,1 :ios,2 :android,3 :windows phone, 4 : symbian, 5 :windows, 6 :Mac OS,7:其他) |
| osv | string | N | 操作系统版本号字符串 |
| make | string | N | 设备制造商同brand |
| model | string | N | 设备型号 |
| devicetype | int | N | 设备类型 1:手机;2:PAD ;3:移动设备;4: PC;5:智能电视 |
| ip | string | N | ip |
| mac | string | N | mac 地址 |
| macmd5 | string | N | mac地址的md5 |
| ua | string | N | user agent |
| carrier | int | N | 运营商 0:未知;1:移动;2:联通;3:电信 |
| connection_type | int | N | 网络类型 0:其他;1:WIFI;2:2G;3:3G;4:4G;5:5G;6:局域网 |
| sw | int | N | 屏幕宽 |
| sh | int | N | 屏幕高 |
| den | float | N | 屏幕密度 |
| ori | int | N | 屏幕方向 1:竖屏,2:横屏,0:未知 |
| geo | object | N | 地域信息 |
| boot_mark | string | N | 系统启动标识,取原值回 传。 iOS:1623815045.970028;Android:ec7f4f33-411a-47bc-8067-744a4e7e0723 |
| update_mark | string | N | 系统启动标识,取原值回传。 iOS:1581141691.570419583;Android:1004697.709999999 |
| verCodeOfHms | string | N | HMS Core 版本号。实现被推广应用的静默安装依赖 HMS Core 能力,华为设备必填: 61504322 |
| verCodeOfAG | string | N | 应用市场版本号。与下载类广告的转化路径有关。华为设备必填: 150601300 |
| agCountry_code | string | N | 应用市场中设置的国家地区,华为设备推荐填,例:CN |
| device_name | string | N | 设备名 |
| device_model | string | N | 硬件机型 如"iPhone10,3" |
| device_init_time | string | N | 系统初始化时间, PDD iOS参数: 1611888252.123456789 |
| device_startup_time | string | N | 系统启动时间, PDD iOS参数: 1763878638 |
| device_upgrade_time | string | N | 系统更新时间, PDD iOS参数: 1611888252.123456 |
| system_total_mem | int64 | N | 系统总内存,单位:KB |
| system_free_mem | int64 | N | 系统剩余内存,单位:KB |
| system_total_disk | int64 | N | 系统总磁盘,单位:KB |
| system_free_disk | int64 | N | 系统剩余磁盘,单位:KB |
| language | string | N | 例:zh-Hans-CN |
| ppi | int | N | 屏幕 ppi |
| paid | string | N | 拼多多paid |
| caids | []string | N | 历史版本caid,格式:version+_+ caid ,(CaidVersion+下划线+Caid) |
1.5 Geo 对象
| 字段 | 类型 | 必须 | 说明 |
|---|---|---|---|
| lat | float | N | 纬度 |
| lon | float | N | 经度 |
| geotype | int | N | geo坐标系类型(1: WGS84,2:GCJ_02火星,3:BD_09百度,4:BD_09_LL百度墨卡) |
| city | string | N | 城市名 |
1.6 Site 对象
| 字段 | 类型 | 必须 | 说明 |
|---|---|---|---|
| name | string | N | 站点名称 |
| domain | string | N | 站点域名 |
| page | string | N | 当前站点页面url |
| ref | string | N | Referrer url |
1.7 User 对象
| 字段 | 类型 | 必须 | 说明 |
|---|---|---|---|
| id | string | N | 媒体端用户id,一般pc和wap端为媒体cookie id |
| gender | string | N | 性别(M: 男,F: 女,缺省:未知) |
| age | int | N | 年龄 |
| audience_tag | string[] | N | 兴趣标签,标签体系线下沟通 |
| app_list | string[] | N | 用户app安装列表 |
1.8 PMP 对象
| 字段 | 类型 | 必须 | 说明 |
|---|---|---|---|
| deal | string | Y | deal id |
| price | int | N | deal 价格,单位:分 |
1.9 Ext 对象
| 字段 | 类型 | 必须 | 说明 |
|---|---|---|---|
| source | string | N | 流量来源标识,例如: huawei, xiaomi, sina, ... |
附录
1. 广告展现形式id(formid)
| 形式id | 说明 |
|---|---|
| 1 | 一图二文 标题描述 |
| 2 | 一图一文 |
| 3 | 单图片 |
| 4 | 单视频 |
| 5 | 三图文 |
| 6 | 一图一视频 |
| 7 | 一图一icon |
| 8 | 文字链 |
| 9 | 三图一icon |
2. 广告响应Bid Response说明
正常竞价返回 HTTP 200 OK,同时返回body。
无广告返回。
| 字段 | 类型 | 必须 | 说明 |
|---|---|---|---|
| id | string | Y | response id 和request id保持一致 |
| seatbid | object[] | N | 如果参与竞价,必须包含一个seatbid对象, 2.1seatbid对象 |
| bidid | string | N | 由ssp生成的response id |
| code | int | N | 接口返回码,0:成功(默认情况),其他情况下返回错误码,详见章节2.12 |
| msg | string | N | 成功时默认返回空字符串,其他情况下返回对应的错误内容,详见章节2.12 |
2.1 SeatBid 对象
| 字段 | 类型 | 必须 | 说明 |
|---|---|---|---|
| seat | string | Y | ssp为广告主分配的广告主id。 |
| bid | object[] | Y | 竞价信息 2.2bid对象 |
2.2 Bid 对象
| 字段 | 类型 | 必须 | 说明 |
|---|---|---|---|
| id | string | Y | ssp生成的bid id,用于追踪或打log |
| impid | string | Y | bid request中对应的Imp对象id |
| price | float | Y | 出价,单位:分 |
| dealid | string | N | PDB、PD模式必选 |
| crid | string | Y | 创意id,需素材审核的广告位该字段不为空 |
| nurl | string | N | 竞价成功通知url,需要支持宏替换,见章节3.2 |
| lurl | string | N | 竞价失 败通知url,需要支持宏替换,见章节3.2 |
| adm | object | N | 广告物料,Native对象,非素材审核的广告位该字段不为空,见章节2.4 |
| imp_trackers | string[] | N | 曝光上报地址,需要支持宏替换,见章节3.2 |
| click_trackers | string[] | N | 点击上报地址,需要支持宏替换,见章节3.2 |
| down_start_trackers | string[] | N | 下载开始上报地址,需要支持宏替换,见章节3.2 |
| down_comp_trackers | string[] | N | 下载完成上报地址,需要支持宏替换,见章节3.2 |
| install_start_trackers | string[] | N | 安装开始上报地址,需要支持宏替换,见章节3.2 |
| install_comp_trackers | string[] | N | 安装成功上报地址,需要支持宏替换,见章节3.2 |
| video_trackers | object[] | N | (已弃用)视频监测链接数组,需要支持宏替换,见章节3.2 |
| dp_trackers | string[] | N | dp唤起成功监测链接,需要支持宏替换,见章节3.2 |
| video_start_trackers | string[] | N | 视频播放开始事件上报地址,需要支持宏替换,见章节3.2 |
| video_complete_trackers | string[] | N | 视频播放完成事件上报地址,需要支持宏替换,见章节3.2 |
| video_close_trackers | string[] | N | 视频播放中途关闭事件上报地址,需要支持宏替换,见章节3.2 |
| video_first_quartile_trackers | string[] | N | 视频播放进度25%事件上报地址,需要支持宏替换,见章节3.2 |
| video_mid_point_trackers | string[] | N | 视频播放进度50%事件上报地址,需要支持宏替换,见章节3.2 |
| video_third_quartile_trackers | string[] | N | 视频播放进度75%事件上报地址,需要支持宏替换,见章节3.2 |
| ext | object | N | 扩展字段,见章节2.11 |
2.3 Video Tracker 对象
| 字段 | 类型 | 必须 | 说明 |
|---|---|---|---|
| event | int | Y | 曝光上报时间点,单位秒 |
| url | string | Y | 监测地址 |
2.4 Adm 对象
| 字段 | 类型 | 必须 | 说明 |
|---|---|---|---|
| title | string | N | 标题 |
| desc | string | N | 描述 |
| img | object[] | N | 图片 |
| video | object | N | 视频 |
| land | string | N | 落地页 |
| interact | int | N | 交互类型(1:webview;2:下载;3:微信小程序唤起;4:deeplink唤起) |
| ctype | int | N | 创意类型(1: JPG,2. PNG, 3:GIF, 4:JPEG, 5:SWF, 6:MP4, 7:FLV, 8:文字链, 9:信息流, 10:视频信息流,11:激励视频 ) |
| formid | int | N | 广告展现形式Id |
| dplink | string | N | deeplink。dplink 包括schemelink或者universalLink地址;当返回dplink时,interact需要返回4,同时落地⻚页land字段返回h5点击地址,作为deeplink唤起失败的打底地址; |
| app | object | N | app下载类应用可能包含的推广信息 |
| ext | object | N | 对物料的附加信息,章节2.10 |
2.5 Image 对象
| 字段 | 类型 | 必须 | 说明 |
|---|---|---|---|
| url | string | Y | 图片url |
| w | int | Y | 宽 |
| h | int | Y | 高 |
| md5 | string | N | 素材MD5 |
| mime | string | Y | 素材格式。主要有image/jpg,image/gif,image/png |
2.6 Video 对象
| 字段 | 类型 | 必须 | 说明 |
|---|---|---|---|
| url | string | Y | 原生视频信息流视频地址 |
| w | int | Y | 宽 |
| h | int | Y | 高 |
| duration | int | N | 时长,单位:秒 |
| filesize | int | N | 视频大小, 单位:KB |
| md5 | string | N | 素材MD5 |
| mime | string | Y | 素材格式。主要有video/mp4,video/flv,video/webm |
2.7 App 对象
| 字段 | 类型 | 必须 | 说明 |
|---|---|---|---|
| name | string | N | app下载类包含的推广信息 |
| icon | string | N | app下载类包含的icon信息 |
| package_name | stirng | N | app下载类或者deeplink包含的包名信息 |
| wechat_ext | object | N | 微信小程序相关信息 |
| app_id | string | N | app下载类型包含的app id,仅ios下提供 |
| app_version | string | N | app下载类应用版本 |
| package_size | int | N | app下载类包体大小, 单位:KB |
| privacy | string | N | app下载类隐私协议URL |
| permission | string | N | app下载类应用权限URL |
| permission_desc | []PermissionDesc | N | app下载类应用权限描述,详⻅2.8章节 |
| app_desc | string | N | app下载类应用功能描述文案 |
| app_desc_url | string | N | app下载类应用功能描述URL |
| develop | string | N | app下载类应用开发者 |
| app_beian | string | N | app备案号 |
| app_age | string | N | app适用年龄 18表示18+ |
2.8 PermissionDesc对象
| 段 | 类型 | 必须 | 说明 |
|---|---|---|---|
| permission_lab | stirng | N | 权限名称 |
| permission_desc | string | N | 权限用途说明 |
2.9 WechatExt 对象
| 字段 | 类型 | 必须 | 说明 |
|---|---|---|---|
| program_id | stirng | N | 小程序id号 |
| program_path | string | N | 小程序页面路径 |
2.10 Ext 对象
| 字段 | 类型 | 必须 | 说明 |
|---|---|---|---|
| icon | string | N | 物料的icon |
| logo | string | N | 广告主logo |
| advertiser_name | string | N | 广告主名称 |
| sub_title | string | N | 广告副标题 |
| btn | string | N | 按钮文字 |
2.11 bid.Ext 对象
| 字段 | 类型 | 必须 | 说明 |
|---|---|---|---|
| huawei_cat | string | N | 华为的广告主行业分类 |
| language | string | N | 创意的语言。比如zh,en |
| advertiser | string | N | 广告主的名称。也就是广告来源 |
2.12 错误码
| 错误码(code) | 错误描述(msg) |
|---|---|
| 0 | 请求成功 |
| 400 | 解析请求失败 |
| 401 | 请求参数错误 |
| 402 | 无效的设备 |
| 403 | 请求媒体ID无效 |
| 404 | 无效的媒体广告位ID |
| 405 | ip黑名单 |
| 406 | 设备ID黑名单 |
| 407 | 请求中imp信息为空 |
| 408 | 请求中device信息为空 |
| 409 | 请求IP无效 |
| 500 | 系统内部错误 |
| 501 | 响应媒体超时 |
| 502 | 响应媒体数据错误 |
3. 监测上报和宏替换说明
3.1 上报说明
- 媒体对竞价成功的SSP,发送获胜通知(nurl),协议为HTTP GET;
- 媒体对竞价失败的SSP,发送竟败通知(lurl),协议为HTTP GET;
- 在广告被曝光时并行上报多组展现监测(imp_trackers)
- 在广告被点击时,并行上报多组点击监测(clk_trackers),同时进行跳转
- 对于有下载监测需求的广告,需要回传下载进度
- 对于有deeplink唤起监测需求的广告,需要回传deeplink唤起数