接入文档/协议参考

字段与支持矩阵

逐对象区分校验、匹配、透传与拒绝,明确当前 OpenRTB 子集。

协议校核 · 2026-09-19

如何读这张表

这是当前接入边界,不是完整 OpenRTB schema。表中的类型是伙伴应发送的类型;「透传」项未做完整本地类型或语义校验,不能据此认为错误类型合法或媒体 / 隐私约束已经执行。

标记 含义
校验 ADX 检查该项类型、边界或关联关系
匹配 提取用于路由、定向、底价或素材 / 席位筛选,可同时校验与透传
透传 请求字段按 JSON 值保留给 DSP,或 bid 字段保留给 SSP;不代表逐字节保留
改写 生成下游请求 / SSP 胜出响应时改写该字段
拒绝 该字段只要出现即拒绝,包含显式 null,除非表中另有说明

所有 JSON 层级拒绝重复键(包含转义后同名键)、非法 JSON 与保留的内部解析器键。未知字段一般保留,但明确拒绝项不会因为值为空而放行。对经过校验的可选字段,「省略」不等于 null;错误类型或显式 null 通常拒绝。

校验用文本规则:UTF-8 字节长度有限、不能全为空白、无控制字符;不会对合法文本自动 trim。受限字符串列表最多 64 项,每项最多 512 字节;列表中的坏项不丢弃。属性列表最多 64 项,每项为 1..4294967295 的整数。金额见 DSP 价格约定。

Request 顶层

字段 类型 / 必选 处理 限制或作用
request object / 是 校验 SSP 原始及补写后的请求均最多 256 KiB
id string / 是 校验、透传 1–128 字节;用于响应关联
at integer / 是 校验、改写 只能为 1,显式一价
tmax integer / 否 校验、改写 1–60000 毫秒;下游写入剩余预算
cur string[] / 否 校验、改写 省略按 USD;显式只能 ["USD"],下游补写
imp object[] / 是 校验、匹配 恰好一个对象
app / site object / 二选一 校验、匹配、透传 恰好一个,选择流量来源
device object / 否 校验、匹配、透传 存在时必须对象,见下表
bcat string[] / 否 校验、匹配、透传 受限列表;与 bid.cat 精确比较
badv string[] / 否 校验、匹配、透传 受限列表;与 bid.adomain 忽略 ASCII 大小写比较
bapp string[] / 否 校验、匹配、透传 受限列表;与 bid.bundle 精确比较
wseat / bseat string[] / 否 校验、匹配、透传 受限列表;不能同时非空;匹配 DSP 原始 seat,不是 DSP ID
cattax integer / 否 校验、透传 只接受 1
wlang / wlangb / acat / durfloors 任意 / 禁止 拒绝 尚未实现可兑现的对应约束
test / allimps integer / 否 透传 不切换执行模式;不能请求多 imp
其他未列明字段 按约定 / 否 透传 不承诺对应拍卖语义,接入前确认

Device、App 与 Site

字段 类型 / 必选 处理 限制或作用
device.os string / 否 校验、匹配、透传 最多 512 字节;匹配值转 ASCII 小写
device.geo object / 否 校验、透传 存在时必须对象
device.geo.country string / 否 校验、匹配、透传 合法 ISO alpha-2 / alpha-3,国家码必须大写;匹配转 alpha-2
device.geo.lat / lon number / 否 透传 不用于本地经纬度定向
device.geo.region / city / zip string / 否 透传 不做完整地理校验
device.ua / ip / ipv6 / ifa / make / model / osv / language string / 否 透传 非本地匹配维度,遵守合法数据使用范围
device.dnt / lmt / devicetype / connectiontype / js integer / 否 透传 不表示本地已执行隐私或设备能力约束
device.sua / ext / 其他字段 object 或标准约定类型 / 否 透传 具体语义由双方确认
app.bundle string / 否 校验、匹配、透传 最多 512 字节;精确字符串,不转换大小写
app.id / name / domain / storeurl / ver string / 否 透传 不替代路径中的 SSP 身份
app.cat / sectioncat / pagecat string[] / 否 透传 不同于 request.bcat 的本地屏蔽语义
app.publisher / content / ext / 其他字段 object 或标准约定类型 / 否 透传 不保证内部子字段校验
site.id / name / domain / page / ref / search string / 否 透传 Site 不从这些字段提取 App Bundle
site.cat / sectioncat / pagecat string[] / 否 透传 不用于本地媒体分类屏蔽
site.publisher / content / ext / 其他字段 object 或标准约定类型 / 否 透传 不保证内部子字段校验

国家、OS、App Bundle 可缺失;存在但错误的维度不能退化为「缺失」绕过匹配。匹配归一化不改写 DSP 收到的原始 OS / country / bundle。

Imp 与媒体对象

字段 类型 / 必选 处理 限制或作用
imp.id string / 是 校验、透传 1–128 字节,用于 bid.impid 关联
imp.banner / video / native object / 三选一 校验、匹配、透传 恰好一个对象;决定格式维度;null 无效
imp.bidfloor number / 否 校验、改写 非负 USD CPM;省略为 0;向上取整至微单位;下游改为 gross 底价
imp.bidfloorcur string / 否 校验、改写 省略为 USD,显式只能 USD,下游补写 USD
imp.secure / instl / clickbrowser / exp integer / 否 透传 不独立验证素材是否满足 secure 或展示约束
imp.tagid / displaymanager / displaymanagerver string / 否 透传 不作为本地规则匹配维度
imp.metric object[] / 否 透传 不验证指标真实性
imp.ext / 其他字段 object 或标准约定类型 / 否 透传 不承诺扩展拍卖语义
imp.pmp / audio / qty / rwdd / durfloors 任意 / 禁止 拒绝 PMP、音频、数量及这些扩展当前不支持
banner.battr / video.battr / native.battr integer[] / 否 校验、匹配、透传 受限正整数列表,与 bid.attr 比较
媒体对象中的 btype / podid / podseq / poddur / maxseq / mincpmpersec / rqddurs / durfloors 任意 / 禁止 拒绝 三种媒体对象均拒绝这些字段
banner.w / h / wmin / wmax / hmin / hmax / pos / topframe integer / 否 透传 不完整校验尺寸与展示位置,双方仍须验证
banner.format object[] / 否 透传 不完整校验候选尺寸
banner.mimes string[] / 否 透传 媒体类型约束交 DSP 执行
banner.api / expdir integer[] / 否 透传 不验证素材 API / 展开能力
banner.id / ext / 其他字段 标准约定类型 / 否 透传 未执行完整 Banner schema
video.mimes string[] / 按伙伴媒体约定 透传 应按 IAB 与播放器能力提供,ADX 不完整校验
video.protocols / api / playbackmethod / delivery / companiontype integer[] / 否 透传 不独立验证 VAST 或播放器能力
video.minduration / maxduration / w / h / linearity / placement / plcmt / startdelay / skip / skipmin / skipafter / minbitrate / maxbitrate / pos integer / 否 透传 未执行完整媒体限制;不是 POD 支持
video.companionad object[] / 否 透传 不递归保证完整 Banner 能力
video.ext / 其他字段 标准约定类型 / 否 透传 不独立验证 VAST 内容
native.request string(序列化 Native JSON)/ 按伙伴媒体约定 透传 不解析内部资产请求;双方需自行验证 Native 版本与资产
native.ver string / 否 透传 示例使用 1.2,不代表完整 Native 1.2 验证
native.api / ext / 其他字段 标准约定类型 / 否 透传 未执行完整 Native schema

User、Regs、Source 与扩展

字段 类型 / 必选 处理 限制或作用
user object / 否 透传 不用于本地用户匹配;本地未完整校验对象与子字段
user.id / buyeruid / keywords / customdata string / 否 透传 仅在合法授权范围内发送
user.geo / ext,user.data object / object[] / 否 透传 包括 consent 等扩展,不等于合规判断
regs object / 否 透传 未完整验证法规语义
regs.coppa / gdpr,regs.gpp / gpp_sid / ext integer / string / integer[] / object,按字段 / 否 透传 由双方履行约束,不自动证明合法使用
source object / 否 透传 不等于认证身份来源
source.fd / tid / pchain / schain / ext integer / string / object,按字段 / 否 透传 不对供应链真实性作独立背书
ext object / 否 透传 请求顶层及未明确处理的嵌套扩展一般保留,无新增隐含支持

完整标准语义参考 IAB OpenRTB 与 Native Ads。透传隐私字段不等于独立的法规合规校验,接入方必须确认数据收集、传递、使用与素材展示的合法范围。

DSP Response 与 Seatbid

字段 类型 / 必选 处理 限制或作用
response object / 200 有报价时是 校验、重建 最多 512 KiB;顶层错误拒绝整个 DSP 响应
response.id string / 是 校验、重建 1–128 字节;必须匹配 request.id
response.cur string / 否 校验、改写 省略 USD;显式只能 USD;SSP 输出补写 USD
response.seatbid object[] / 否 校验、重建 省略或空数组表示无报价;最多 64 个 seat;SSP 仅输出胜者
response.bidid / nbr / customdata / ext / 其他字段 标准约定类型 / 否 不保留 SSP 响应顶层重建为 id、cur、seatbid
seatbid.seat string / 条件必选 校验、匹配、保留 最多 512 字节;存在席位白 / 黑名单时需提供可判定身份
seatbid.group integer / 否 校验、筛选 无符号整数;非 0 时整 seat 不参与,不支持组合成交
seatbid.bid object[] / 是 校验、重建 每 seat 最多 64 条,全部 seat 合计最多 64 条;空数组无报价
seatbid.ext / 其他字段 标准约定类型 / 否 不保留 输出 seat 仅保留 seat(如有)及胜出 bid

非法 seat 对象、seat 类型、group 类型、bid 数组或总数会淘汰整个 DSP 响应;单条 bid 的下表校验失败只淘汰该条,不遮蔽合法同级报价。

Bid 字段

字段 类型 / 必选 处理 限制或作用
bid.id string / 是 校验、保留 1–128 字节;也用于稳定同价裁决
bid.impid string / 是 校验、保留 1–128 字节;必须匹配唯一 imp.id
bid.price number / 是 校验、竞拍、改写 DSP gross 向下取整后必须大于 0;满足底价;SSP 输出 net
bid.cur string / 否 校验、保留 只能 USD;不能用 bid 币种覆盖错误的响应币种
bid.adm string / 是 校验、宏替换、保留 非全空白,最多 256 KiB,无 NUL;允许换行;不解析完整素材内容
bid.nurl / burl / lurl string / 否 校验、宏替换、保留 各最多 8192 字节,通用文本规则;不完整验证 URL,不由 ADX 调用
bid.adomain / cat string[] / 条件必选 校验、匹配、保留 受限列表;有 badv / bcat 时必须提供非空对应身份
bid.attr integer[] / 条件必选 校验、匹配、保留 受限正整数列表;有 battr 时字段必须存在,可为空数组
bid.crid string / 否 校验、匹配、保留 最多 512 字节,交素材屏蔽规则
bid.bundle string / 条件必选 校验、匹配、保留 最多 512 字节;有 bapp 时必须提供
bid.cattax integer / 否 校验、保留 只能 1
bid.dealid / podid / slotinpod 任意 / 禁止 拒绝该 bid 不支持 Deal 或 POD
bid.adid / cid / iurl / language string / 否 保留 不代表对应身份或素材已独立验证
bid.w / h / api / protocol / qagmediarating / exp integer / 否 保留 不执行完整媒体响应校验
bid.ext / 其他字段 object 或标准约定类型 / 否 保留 保留在胜出 bid,不保证未知约束已实现

素材 adomain、category、crid、广告 Bundle 还会参与配置的素材屏蔽。胜出响应补写后若超过 512 KiB,该报价淘汰并允许合法低价继续竞争;全部淘汰返回 204。价格和 ${AUCTION_PRICE} 的不同语义见 DSP 接入。

协议与实现校核日期:2026-09-19。

搜索接入文档

查找字段、对接指南和示例。