OpenRTB API 对接文档
本文档用于 DSP 客户接入 Lotus ADX。协议兼容 OpenRTB 2.5,请求体与响应体均为 JSON。
接口地址:https://ad.cardbbs.net/api/adx/reqrtb?adunit=xxx
请求方法:POST
Content-Type:application/json
1. 请求说明
| 参数位置 | 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| Query | adunit | string | 是 | 广告位标识,由平台分配,例如 banner_home_001。 |
| Body | OpenRTB BidRequest | object | 是 | 标准 OpenRTB 2.5 请求对象。 |
2. BidRequest 字段要求(重点)
| 字段路径 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | string | 是 | 请求唯一 ID。 |
| imp | array | 是 | 竞价对象列表,至少 1 个。 |
| imp[].id | string | 是 | 广告位曝光 ID。 |
| imp[].bidfloor | number | 否 | 底价,单位与 bidfloorcur 对应。 |
| imp[].banner / imp[].video / imp[].native | object | 是 | 三选一,表示媒体类型。 |
| site 或 app | object | 是 | 二选一,流量来源信息。 |
| device | object | 建议 | 终端信息,建议包含 ua、ip、os、ifa。 |
| user | object | 建议 | 用户标识和定向信息。 |
| tmax | integer | 建议 | 超时时间(毫秒),建议 100-300。 |
| at | integer | 否 | 竞价类型,1 为一价,2 为二价。 |
| cur | array | 否 | 货币代码数组,如 ["USD"]。 |
3. 请求示例
curl -X POST "https://ad.cardbbs.net/api/adx/reqrtb?adunit=banner_home_001" \
-H "Content-Type: application/json" \
-d '{
"id": "req-100001",
"imp": [
{
"id": "1",
"bidfloor": 0.2,
"bidfloorcur": "USD",
"banner": {
"w": 300,
"h": 250
}
}
],
"site": {
"id": "site-001",
"domain": "publisher.example"
},
"device": {
"ua": "Mozilla/5.0",
"ip": "203.0.113.10",
"os": "iOS"
},
"user": {
"id": "user-abc"
},
"tmax": 120,
"at": 1,
"cur": ["USD"]
}'
4. BidResponse 说明
响应遵循 OpenRTB 2.5 BidResponse 结构。无可投放广告时,可返回 HTTP 204 或返回空 seatbid。
{
"id": "req-100001",
"seatbid": [
{
"seat": "dsp-demo",
"bid": [
{
"id": "bid-90001",
"impid": "1",
"price": 0.35,
"adm": "<html>...creative...</html>",
"crid": "creative-001",
"adomain": ["advertiser.example"],
"w": 300,
"h": 250
}
]
}
],
"cur": "USD"
}
5. 返回码与错误处理
| HTTP 状态码 | 含义 | 说明 |
|---|---|---|
| 200 | 成功 | 返回有效 BidResponse。 |
| 204 | 无广告 | 本次请求没有可返回的竞价结果。 |
| 400 | 请求错误 | 参数缺失、格式错误或协议字段非法。 |
| 401/403 | 鉴权失败 | 账户未授权或密钥无效(如已启用鉴权)。 |
| 500 | 服务异常 | 平台内部错误,请重试或联系技术支持。 |
6. 对接建议
- 请求超时建议控制在 300ms 内,避免影响整体竞价链路。
- 请确保请求 ID 全局唯一,便于问题排查与日志追踪。
- 如需扩展字段(如 deal、pmp、native assets),请与技术支持确认白名单。