接收 G24ad 请求
DSP 必须明确约定 openrtb-json-v1 协议、OpenRTB 2.5 或 2.6 版本以及认证方式。正式出站仅使用 HTTPS POST,校验证书链与主机名。提供可访问的 HTTPS endpoint;URL 不接受用户信息或 fragment。特殊网络访问需接入双方另行确认。
| 头 | 行为 |
|---|---|
Content-Type |
application/json |
Accept |
application/json |
Accept-Encoding |
identity |
x-openrtb-version |
按该 DSP 配置发送 2.5 或 2.6 |
| 认证 | 按下表明确配置,只构造 DSP 自己的认证头 |
| 认证方式 | 出站内容 |
|---|---|
none |
不添加认证头,必须明确选择,不从空凭证猜测 |
bearer |
Authorization: Bearer <secret> |
header |
双方指定的合法自定义头名,值为约定 secret |
认证 secret 为 1–512 字节、无首尾空白的可见 ASCII,不包含 CR / LF / NUL。自定义头名须通过接入配置校验,不能覆盖协议或敏感转发头。旧 Token 不会被推断为 Bearer;SSP 的 Authorization 和 X-G24-* 认证头不会透传给 DSP。
客户端不跟随重定向、不自动重试、不自动解压。返回未压缩正文;省略 Content-Encoding,或使用小写值 identity。不要依赖 301 / 302 跳转到真正的竞价接口。
请求字段和预算
每次请求只有一个 imp、一种 Banner / Video / Native 媒体对象和一个 App / Site 来源。只支持 USD 和显式一价 at: 1;不支持 PMP / Deal、POD 或多 imp 拍卖。完整矩阵见 字段参考。
G24ad 保留请求上下文及未知扩展,补写 at: 1、cur: ["USD"]、剩余 tmax、gross imp.bidfloor 和 bidfloorcur: "USD"。请按本次 tmax 及时返回;它是本次下游剩余预算,可能小于 SSP 原始预算。迟到或异常 DSP 不会延长 SSP 请求的总时限。
响应契约
- 有报价时返回 HTTP
200和 JSON;无报价建议返回204。非200状态不参加竞拍,错误不会直接作为 SSP 的同名状态返回。 - 完整响应最多 512 KiB(524288 字节),声明的 Content-Length 和分块实际读取都受限制;不接受压缩。
response.id必须与请求id一致;bid.impid必须与唯一imp.id一致。cur缺省为 USD,显式非 USD 拒绝;每条 bid 的可选cur也只能为 USD。- 至多 64 个 seatbid、合计 64 条 bid;每条 bid 必须有非空内联
adm,最多 256 KiB,不含 NUL。只有通知 URL 而没有adm不可用。 - 非法响应身份、币种或总结构淘汰整个 DSP 响应;单条 bid 非法仅淘汰该条。存在上游屏蔽要求时,缺少判定所需素材或席位身份会失败关闭。
下载 DSP Banner 报价示例。G24ad 返回 SSP 时只保留一个胜出 seat 和 bid;bid 内未知字段保留,但响应顶层与 seatbid 层的未知字段不保证保留。200 仅表示报价有效胜出,不等于已展示、已计费或已结算。
Gross、Net 与价格精度
线上 JSON 价格单位是 USD CPM。内部计算使用整数微单位,1 USD CPM = 1000000 微单位,上限为 1000000000000 微单位(1000000 USD CPM)。SSP 底价向上取整到微单位,DSP 报价向下取整;不经二进制浮点换算。报价原始数值超过上限仍会拒绝。
net = floor(gross × (10000 - margin_bps) / 10000)
outbound_floor = max(configured_gross_floor,
ceil(ssp_floor × 10000 / (10000 - margin_bps)))
公式中金额均为整数微单位;10000 bps = 100%。margin 达到 100% 或反推底价超上限时,该候选不可投放。DSP gross 必须达到出站 gross 底价,SSP net 必须为正且达到 SSP 底价。按最高 net 选胜者,同价按 DSP ID、bid ID 稳定裁决,不按网络返回先后。
例如 SSP floor 为 1.5、margin 为 10%,DSP 至少收到 1.666667 的底价;DSP 报价 3.0 时 SSP 收到的 bid.price 为 2.700000。
通知与宏替换
ADX 不主动调用 nurl、burl 或 lurl。胜出 bid 中的通知字段交给 SSP 按真实事件执行;不能把报价返回当成自动 win / bill 回调。
adm、nurl、burl、lurl 内的 ${AUCTION_PRICE} 会固定替换为该 DSP 的 gross,使用六位小数 USD CPM 字符串。例如 gross 为 3.0 时替换为 3.000000,不是整数微单位 3000000,也不是外层 net 2.700000。其他宏不在此处替换,须由双方按协议确认。当前仅返回胜出 bid,不向 SSP 提供所有落败 DSP 的通知列表。
该约定仅覆盖当前一价报价链路,不代表存在独立展示计费或结算账本。上线前完成 联调清单。
协议与实现校核日期:2026-09-19。