> 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/pt/anunciantes/open-rtb/adv-open-rtb-2.4-response.md).

# Resposta ao lance Open RTB 2.4

A resposta a um pedido de licitação deve ter a seguinte estrutura:

## Objeto de resposta de licitação

| Atributo | Obrigatório? | Descrição                                                                            |
| -------- | ------------ | ------------------------------------------------------------------------------------ |
| id       | Sim          | ID do pedido de licitação ao qual esta é uma resposta (string)                       |
| seatbid  | Sim          | Coleção de licitações feitas pelo licitante em nome de um assento específico (array) |

{% hint style="info" %}
**Nota:** O id deve corresponder ao fornecido no pedido
{% endhint %}

### seatbid

| Atributo | Obrigatório? | Descrição                                                     |
| -------- | ------------ | ------------------------------------------------------------- |
| bid      | Sim          | Array do objeto de licitação relacionado com a impressão alvo |

### seatbid.bid

| Atributo | Obrigatório? | Descrição                                                                                      |
| -------- | ------------ | ---------------------------------------------------------------------------------------------- |
| id       | Sim          | ID do objeto de licitação, usado para acompanhamento (string)                                  |
| impid    | Sim          | ID do objeto de impressão no pedido de licitação relacionado.                                  |
| price    | Sim          | Preço da licitação em CPM ou CPC (float)                                                       |
| adm      | Sim          | Marcação de anúncio XML/JSON (string)                                                          |
| nurl     | Sim          | URL de notificação de vitória, recomenda-se usar **HTTP** em vez de HTTPS para nurl (string)   |
| burl     | Não          | URL de notificação de faturação, recomenda-se usar **HTTP** em vez de HTTPS para burl (string) |
| crid     | Recomendado  | ID do criativo para ajudar na verificação da qualidade do anúncio (string)                     |
| iurl     | Recomendado  | URL do criativo                                                                                |
| ext      | Não          | Extensão específica do ExoClick (objeto)                                                       |

{% hint style="info" %}
**Notas:**

* Suportamos vídeo tanto em placements de banner como intersticiais.
* O impid deve corresponder ao fornecido no pedido.
* O adm deve ser fornecido em JSON ou XML com base no formato de anúncio alvo: JSON para Native, In-Stream e Push Notifications; XML para todos os outros formatos.
* O nURL deve ser notificado para garantir o capping da campanha e evitar receber a mesma resposta todas as vezes.
* O bURL é chamado quando foram entregues impressões ou cliques, dependendo do CPM ou CPC do campo btype (CPM por predefinição).
  {% endhint %}

### seatbid.bid.ext

| Atributo | Obrigatório? | Descrição                                                                                                                                    |
| -------- | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------- |
| btype    | Recomendado  | Modelo de preços. Valores: 1 = CPM, 2 = CPC. Predefinição = 1 (int). Quando a resposta é para um pedido da zona Email Clicks, 1 = Smart CPC. |
|          |              | **Nota**: Apenas Push Notification, anúncios nativos, Direct Link e Email Clicks podem licitar com o modelo de preços CPC.                   |

### seatbid.bid.ext.dsa

| Atributo | Obrigatório? | Descrição                                                                                                                                                                                                                           |
| -------- | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| behalf   | Sim          | Transparência do anunciante: cadeia de texto UNICODE livre com um nome de quem o anúncio é exibido em nome. Máximo de 100 caracteres. (string)                                                                                      |
| paid     | Sim          | Transparência do anunciante: cadeia de texto UNICODE livre de quem pagou pelo anúncio. Deve ser sempre incluída, mesmo que seja igual ao que está indicado no atributo behalf. Máximo de 100 caracteres (string)                    |
| adrender | Sim          | Sinalizador para indicar que o comprador/anunciante irá renderizar a sua própria informação de transparência DSA dentro do criativo. 0 = o comprador/anunciante não irá renderizar, 1 = o comprador/anunciante irá renderizar (int) |

### seatbid.bid.dsa.transparency

| Atributo | Obrigatório? | Descrição                                                                                                                                                                                                                                                                            |
| -------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| domain   | Sim          | Domínio da entidade que aplicou os parâmetros de utilizador (string)                                                                                                                                                                                                                 |
| params   | Sim          | Array da segmentação por parâmetros de utilizador aplicados do lado do comprador (usando a lista fornecida pela DSA Transparency Taskforce). Inclua suporte para vários fornecedores que possam adicionar os seus próprios parâmetros de segmentação de utilizadores. (array de int) |

## Resposta sem licitação

Para responder a um pedido de licitação sem fazer uma licitação real, deve ser enviada uma resposta HTTP com o código 204 "No Content".

## URLs de notificação de vitória e de faturação

Se qualquer um dos **nURL** ou o **bURL** estiver na resposta da licitação e forem URLs válidos, a plataforma ExoClick enviará um pedido GET para eles.\
Estes URLs podem ter alguns tokens a serem substituídos pelo ExoClick antes de fazer o GET:

```
${AUCTION_ID} - ID do pedido de licitação; do atributo "Bid Request Object -> id".
${AUCTION_BID_ID} - ID da licitação; do atributo "Bid Response Object -> bidid".
${AUCTION_IMP_ID} - ID da impressão acabada de ganhar; do atributo "Bid Request Object -> Impression Object -> id".
${AUCTION_SEAT_ID} - ID do assento do licitante para o qual a licitação foi feita; do atributo "Bid Response Object -> Seat Bid Object -> Bid Object -> id".
${AUCTION_AD_ID} - ID da marcação do anúncio que o licitante pretende servir; do atributo "Bid Response Object -> Seat Bid Object -> Bid Object -> adid".
${AUCTION_PRICE} - Preço de liquidação usando a mesma moeda e unidades da conta; do atributo "Bid Response Object -> Seat Bid Object -> Bid Object -> price".
${AUCTION_CURRENCY} - A moeda usada na licitação (explícita ou implícita); apenas para confirmação.
```

Exemplo:

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

Se estiver a usar ambos **nURL** e **bURL**o ExoClick fará uma chamada a ambos.

## Estrutura do ADM

Dependendo do formato de anúncio, o **adm** parâmetro pode conter um fragmento de XML ou JSON. Pode encontrar exemplos detalhados de estruturas de adm na nossa [**página de exemplos**](/rtb/pt/anunciantes/open-rtb/open-rtb-advertiser-code-examples.md)

Ao criar o ADM, tenha em conta o seguinte:

* **Marcação iFrame** (Banner, Fullpage Interstitial) devem estar ativadas na sua conta ExoClick para poder utilizá-las.
* **In-Stream, Native** e **anúncios de Push Notification** devem conter uma cadeia de texto codificada em JSON no adm.
* O parâmetro adm de **In-Stream** pode seguir uma de duas estruturas: **VAST remoto** ou **VAST local**. No VAST remoto, só precisa de declarar o URL onde o Wrapper VAST está localizado, enquanto no VAST local precisa de declarar quaisquer **"trackingEvents"** que queira rastrear para além de "videoURL" e "clickURL".

Atualmente suportamos **impression**, **progress** e **complete** events. Os eventos impression e progress são **obrigatórios**, enquanto complete só pode ser adicionado se estiver a usar VAST local.

O ADM **deve** seguir a mesma estrutura apresentada no nosso [exemplo](/rtb/pt/anunciantes/open-rtb/open-rtb-advertiser-code-examples.md) acima.

* Como parâmetro opcional, pode incluir **crop\_anchor\_point** na cadeia de texto JSON do **anúncios nativos** adm para determinar onde está localizado o ponto âncora da sua imagem nativa. Os valores disponíveis são:
  * 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

Aqui está uma visualização dos pontos âncora disponíveis:

![ponto âncora de recorte](/files/d065adc2b5d4f49d584aa8379c03f5cc82c72148)

* Além disso, relativamente a **anúncios nativos**, certifique-se de que está a adicionar os seus **eventtrackers** de acordo com a [especificação nativa mais recente](https://www.iab.com/wp-content/uploads/2018/03/OpenRTB-Native-Ads-Specification-Final-1.2.pdf)

Note que, embora também permitamos **imptrackers** em anúncios nativos, recomendamos fortemente usar **eventtrackers** em vez disso.

* **Push Notification** os anúncios permitem apenas um recurso de imagem por notificação. A largura e a altura dependem do que vem do pedido, que pode ser 192x192 ou 720x480. Note que o adm também deve ser uma cadeia de texto codificada em JSON, uma vez que o pedido virá de um objeto Native.
* Por fim, **Push Notification** os anúncios permitem apenas um **URL "imptracker"**

## Exemplos

Pode encontrar exemplos detalhados de respostas de Bid e estruturas de ADM na nossa [página de exemplo de resposta do anunciante](/rtb/pt/anunciantes/open-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/pt/anunciantes/open-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.
