接入文档/协议参考

响应与排错

SSP 状态码、DSP 无报价处理以及安全的重试原则。

协议校核 · 2026-09-19

SSP 响应状态

200 返回 application/json 的单一胜出报价;其余下表业务响应正文为空,不提供 JSON 错误对象。业务响应带 Cache-Control: no-store。错误不回显原始凭证、DSP 地址或请求正文。

状态码 含义 处理建议
200 合法胜出报价 解析单个 seatbid / bid;外层 price 为 net,按真实事件执行通知
204 正常无有效报价 不当作服务故障;可能无匹配路由、DSP 失败 / 无报价、全被屏蔽或预算内无结果
400 非法 / 不支持的请求,或业务路径带 query 修正字段、重复 JSON 键、币种、拍卖类型和路径后再发
401 未授权、伙伴停用或凭证无效 核对身份、audience、key、时间与签名;不能切换到旧 Token 绕过
404 业务路径不合法 使用规范 /openrtb/{ssp_id}
405 正确路径上方法不是 POST 修改为 POST
408 正文未在剩余读体预算内完成 排查连接与发送速度;不要复用原 Nonce
409 同进程已登记该 HMAC Nonce 为新尝试生成新 Nonce 和签名;排查重复发送
413 入站请求或补写下游字段后超过上限 缩小请求,给补写字段保留余量;请求上限 256 KiB
415 非 JSON、重复 Content-Type 或不支持的内容编码 发送唯一 JSON 媒体类型与未压缩正文
429 SSP 单实例 QPS 门禁超限 降低发送速率并退避;这不是集群总配额声明
503 当前无法服务,或认证 / 在途资源不可用 短暂退避并联系约定接入渠道排查,避免重试风暴
500 内部编排或响应不变量错误 保留脱敏关联信息排查,勿无限重试

HTTP 解析前的连接拒绝、头部超时或断连不保证返回上述业务状态。不要把没有 HTTP 响应自行解释为 G24ad 返回了 504 或 499。

DSP 状态与坏响应

DSP 的 HTTP 200 才会进入 JSON 报价校验;204 为无报价,其他状态及网络 / 超时 / 压缩 / 超限 / 非法 JSON 等会使该 DSP 本次没有可用候选。单个 DSP 失败不应变成 SSP 的 500;其他有效候选仍可参与,最终无候选通常为 204。

总响应结构、币种或 request.id 不合法时淘汰整份 DSP 响应;单条 bid 的关联、价格、素材或屏蔽校验失败只剔除该条。详见 字段矩阵。

重试不是重放

每次新尝试都需要当前时间戳、全新随机 Nonce 和新签名,即使前一次收到 400、408、415 或客户端根本未收到响应。认证发生在正文处理之前,原 Nonce 可能已被登记。更换 key ID 不能绕过同一 SSP 的 Nonce 去重。

网络失败后不能确认原竞价是否已经处理;新 Nonce 只解决认证重放问题,不提供业务幂等性。是否重新发起同一次展示机会、如何避免重复展示与通知,需要由接入双方在业务层约定。结合剩余展示时限做有限次数、带退避的重试,避免对 204 或未修正的 4xx 盲目重试。

排查时提供时间、脱敏 request ID、HTTP 状态、格式和大致正文大小即可。不要提供 secret、完整签名头、用户标识或完整用户正文。完整准备步骤见 上线清单。

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

搜索接入文档

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