> For the complete documentation index, see [llms.txt](https://docs.exoclick.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.exoclick.com/rtb/zh/guang-gao-zhu/kai-fang-rtb/adv-open-rtb-2.4-response.md).

# Open RTB 2.4 出价响应

出价请求的响应应具有以下结构：

## 出价响应对象

| 属性      | 必填？ | 描述                    |
| ------- | --- | --------------------- |
| id      | 是   | 作为响应所对应的出价请求的 ID（字符串） |
| seatbid | 是   | 由出价方代表特定席位发出的出价集合（数组） |

{% hint style="info" %}
**注意：** id 必须与请求中提供的 ID 匹配
{% endhint %}

### seatbid

| 属性  | 必填？ | 描述               |
| --- | --- | ---------------- |
| bid | 是   | 与目标展示位置相关的出价对象数组 |

### seatbid.bid

| 属性    | 必填？ | 描述                                             |
| ----- | --- | ---------------------------------------------- |
| id    | 是   | 出价对象的 ID，用于跟踪（字符串）                             |
| impid | 是   | 相关出价请求中展示对象的 ID。                               |
| price | 是   | CPM 或 CPC 的出价价格（浮点数）                           |
| adm   | 是   | XML/JSON 广告标记（字符串）                             |
| nurl  | 是   | 赢标通知 URL，建议使用 **HTTP** 而不是 HTTPS 来作为 nurl（字符串） |
| burl  | 否   | 计费通知 URL，建议使用 **HTTP** 而不是 HTTPS 来作为 burl（字符串） |
| crid  | 推荐  | 用于辅助广告质量检查的创意 ID（字符串）                          |
| iurl  | 推荐  | 创意的 URL                                        |
| ext   | 否   | ExoClick 特定扩展（对象）                              |

{% hint style="info" %}
**注意：**

* 我们支持横幅和插页式广告位中的视频。
* impid 必须与请求中提供的 ID 匹配。
* adm 必须根据目标广告格式以 JSON 或 XML 提供：原生、In-Stream 和推送通知使用 JSON；其他所有格式使用 XML。
* 必须通知 nURL，以确保广告活动频控，并避免每次都获得相同的响应。
* 当展示或点击已送达时会调用 bURL，具体取决于 btype 字段中的 CPM 或 CPC（默认 CPM）。
  {% endhint %}

### seatbid.bid.ext

| 属性    | 必填？ | 描述                                                                          |
| ----- | --- | --------------------------------------------------------------------------- |
| btype | 推荐  | 计费模型。取值：1 = CPM，2 = CPC。默认值 = 1（整数）。当响应针对 Email Clicks 区域请求时，1 = Smart CPC。 |
|       |     | **注意**：只有推送通知、原生广告、直链和 Email Clicks 可以使用 CPC 计费模型出价。                        |

### seatbid.bid.ext.dsa

| 属性       | 必填？ | 描述                                                                             |
| -------- | --- | ------------------------------------------------------------------------------ |
| behalf   | 是   | 广告主透明度：自由 Unicode 文本字符串，表示广告是代表谁展示的。最多 100 个字符。（字符串）                           |
| paid     | 是   | 广告主透明度：自由 Unicode 文本字符串，表示谁为广告付费。即使与 behalf 属性中列出的内容相同，也必须始终包含。最多 100 个字符（字符串） |
| adrender | 是   | 指示买方/广告主是否会在创意中自行渲染其 DSA 透明度信息的标志。0 = 买方/广告主不会渲染，1 = 买方/广告主会渲染（整数）             |

### seatbid.bid.dsa.transparency

| 属性     | 必填？ | 描述                                                                                        |
| ------ | --- | ----------------------------------------------------------------------------------------- |
| domain | 是   | 应用用户参数的实体的域名（字符串）                                                                         |
| params | 是   | 买方应用的用户参数定向数组（使用 DSA Transparency Taskforce 提供的列表）。包含对多个供应商的支持，这些供应商可能会添加自己的用户定向参数。（整数数组） |

## 无出价响应

要在不实际出价的情况下响应出价请求，应发送 HTTP 响应码 204 “No Content”。

## 赢标和计费通知 URL

如果 **nURL** 或 **bURL** 出现在出价响应中且为有效 URL，ExoClick 平台将向它们发送 GET 请求。\
这些 URL 可以包含一些令牌，在执行 GET 之前由 ExoClick 替换：

```
${AUCTION_ID} - 出价请求的 ID；来自“Bid Request Object -> id”属性。
${AUCTION_BID_ID} - 出价的 ID；来自“Bid Response Object -> bidid”属性。
${AUCTION_IMP_ID} - 刚刚赢得的展示的 ID；来自“Bid Request Object -> Impression Object -> id”属性。
${AUCTION_SEAT_ID} - 为其出价的出价方席位 ID；来自“Bid Response Object -> Seat Bid Object -> Bid Object -> id”属性。
${AUCTION_AD_ID} - 出价方希望投放的广告标记 ID；来自“Bid Response Object -> Seat Bid Object -> Bid Object -> adid”属性。
${AUCTION_PRICE} - 使用与账户相同的货币和单位的结算价格；来自“Bid Response Object -> Seat Bid Object -> Bid Object -> price”属性。
${AUCTION_CURRENCY} - 出价中使用的货币（显式或隐式）；仅用于确认。
```

示例：

```
https://mysite.com/my_notification_url?id=${AUCTION_ID}&bidid=${AUCTION_BID_ID}&price=${AUCTION_PRICE}&currency=${AUCTION_CURRENCY}
```

如果你同时使用 **nURL** 和 **bURL**，ExoClick 将会同时调用它们。

## ADM 结构

根据广告格式， **adm** 参数可以包含一段 XML 或 JSON。你可以在我们的 [**示例页面**](/rtb/zh/guang-gao-zhu/kai-fang-rtb/open-rtb-advertiser-code-examples.md)

创建 ADM 时，请注意以下几点：

* **iFrame 标记** （横幅、全页插页）必须在你的 ExoClick 账户中启用，才能使用它们。
* **In-Stream、原生** 和 **推送通知广告** 应在 adm 中包含 JSON 编码的字符串。
* 来自 **In-Stream** 的 adm 参数可以采用以下两种结构之一： **远程 VAST** 或 **本地 VAST**。在远程 VAST 中，你只需声明 VAST Wrapper 所在的 URL，而在本地 VAST 中，你需要声明除“videoURL”和“clickURL”之外的任何 **"trackingEvents"** 你希望跟踪的内容。

目前我们支持 **展示**, **进度** 和 **完成** 事件。展示和进度事件是 **强制性的**，而完成事件只有在你使用本地 VAST 时才能添加。

ADM **必须** 遵循我们 [示例](/rtb/zh/guang-gao-zhu/kai-fang-rtb/open-rtb-advertiser-code-examples.md) 中所示的相同结构。

* 作为可选参数，你可以在 **crop\_anchor\_point** 中加入 **原生广告** 的 JSON 字符串，以确定你的原生图片的锚点位置。可用值如下：
  * MIDDLE\_CENTER = 0，
  * TOP\_LEFT = 1，
  * TOP\_CENTER = 2，
  * TOP\_RIGHT = 3，
  * MIDDLE\_LEFT = 4，
  * MIDDLE\_RIGHT = 5，
  * BOTTOM\_LEFT = 6，
  * BOTTOM\_CENTER = 7，
  * BOTTOM\_RIGHT= 8

以下是可用锚点位置的可视化示意：

![裁剪锚点](/files/a7e56b241f17891c86dd9c54bf989898a1bc32e6)

* 另外，关于 **原生广告**，请确保你正在添加你的 **eventtrackers** ，并遵循 [最新的原生规范](https://www.iab.com/wp-content/uploads/2018/03/OpenRTB-Native-Ads-Specification-Final-1.2.pdf)

请注意，虽然我们也允许在原生广告中使用 **imptrackers** ，但我们强烈建议改用 **eventtrackers** 。

* **推送通知** 广告每条通知只允许一个图片素材。宽度和高度取决于请求中传入的内容，可能是 192x192 或 720x480。请注意，adm 也必须是 JSON 编码的字符串，因为请求将来自 Native 对象。
* 最后， **推送通知** 广告只允许一个 **“imptracker” URL**

## 示例

你可以在我们的 [广告主响应示例页面](/rtb/zh/guang-gao-zhu/kai-fang-rtb/open-rtb-advertiser-code-examples.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.exoclick.com/rtb/zh/guang-gao-zhu/kai-fang-rtb/adv-open-rtb-2.4-response.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
