接入文档/资源方 SSP

SSP 请求接入

SSP 的请求地址、HTTP 约束、JSON 子集和超时行为。

协议校核 · 2026-09-19

请求地址

POST /openrtb/{ssp_id}
Content-Type: application/json

真实域名与身份由接入双方确认;https://exchange.example.com 仅为演示域名。SSP ID 为 1–128 字节 ASCII 字母、数字、点、下划线或连字符(A-Z a-z 0-9 . _ -)。不允许额外路径段、百分号编码、尾部斜线或 query;/bid 不是别名。

身份来自上述路径及已配置的认证,不来自 JSON 正文、Host、Cookie 或 X-Forwarded-*。代理必须原样保留实际签名路径,不得重编码、添加 query 或根据转发头重建另一条路径。

HTTP 与认证

HTTP 和 HTTPS 使用相同认证规则;入站协议不强制 HTTPS,也不执行强制 HTTPS 重定向。推荐结合双方的传输安全要求使用 HTTPS。HMAC 仅保护元数据,不签正文;明文链路上的攻击者仍可能替换正文并抢先提交。不能把 Nonce 去重等同于正文保护。

  • 发送且只发送一个 Content-Type,值为 application/json,可附 charset。
  • 发送未压缩 JSON;省略 Content-Encoding,或使用 identity,不支持 gzip 等压缩。
  • 新接入按 HMAC 认证 发送四个唯一的认证头。
  • 只有明确配置为旧 legacy-token-v1 的 SSP 才使用唯一的 Authorization: Bearer <token>。HMAC SSP 不能通过旧 Bearer Token 降级认证。
  • SSP 请求正文上限为 256 KiB(262144 字节),计算实际收到的字节;补写下游字段后也检查同一上限。

最小 Banner 请求

{
  "id": "example-request-banner",
  "at": 1,
  "tmax": 100,
  "cur": ["USD"],
  "imp": [
    {
      "id": "example-imp-1",
      "banner": { "w": 320, "h": 50 },
      "bidfloor": 1.5,
      "bidfloorcur": "USD"
    }
  ],
  "app": { "bundle": "com.example.app" },
  "device": { "os": "Android", "geo": { "country": "USA" } }
}

这里的 100 是示例请求预算,不是时延承诺。下载 Banner 请求、Video 请求 和 Native 请求。

必须满足的结构

id、imp[0].id 为非全空白、无控制字符的 1–128 字节字符串。at 必须显式为整数 1;不能把 OpenRTB 缺省的二价解释为一价。imp 必须恰好一项,媒体对象和 App / Site 均只能选一种。所有层级拒绝重复 JSON 键,包括转义后同名的键。

tmax 可省略;提供时必须为 1–60000 的整数毫秒。总时限从请求处理开始计算,包含认证、读体、解析、决策和下游请求;有效预算还受服务端上限与 DSP 超时限制。服务端默认总预算为 120 ms,部署可能另行配置,接入时应确认,不能把默认值视为 SLA。正文未及时读完可能返回 408;业务预算内没有可用报价返回 204。

国家和平台维度可缺失;一旦存在就必须类型正确。国家接受合法的大写 ISO alpha-2 / alpha-3,匹配时转换为 alpha-2;OS 匹配时转为 ASCII 小写,App Bundle 精确匹配,不做小写转换。归一化用于匹配,不代表改写透传原始字段。

完整字段规则见 字段参考,返回与重试规则见 响应与排错。

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

搜索接入文档

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