> For the complete documentation index, see [llms.txt](https://help.citrusad.com/retail-media-interface/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.citrusad.com/retail-media-interface/integration/pt-br/generating-ads/banner-ads-static/requesting-banner-ads.md).

# Solicitando anúncios de banner

## Solicitando anúncios

Como os anúncios de produtos e banners são gerados no mesmo endpoint, se o contexto do seu posicionamento for o mesmo, você poderá solicitar anúncios de produtos na mesma requisição que os banners.

A quantidade de anúncios de produtos que você pode receber é configurada definindo o `maxNumberOfAds` parâmetro. A quantidade de anúncios de banner que você pode receber pode ser configurada com a `maxNumberOfAds` propriedade por slotId exclusivo

Todas as requisições de anúncios de banner exigem o `contentStandardId` e o `bannerSlots` para o qual você está solicitando anúncios. Além disso, sua chamada de banner deve incluir o contexto `customerId`,`sessionId`,`placement`, e `catalogId`.

{% hint style="info" %}
Você pode notar algumas mudanças aqui!

Estamos introduzindo uma alteração na forma como você solicita anúncios de banner do Epsilon Retail Media. Se você já está integrado, pode solicitar com uma propriedade chamada `bannerSlotIds`. Substituímos isso por nossa nova `bannerSlots` capacidade. Se você quiser revisar como solicitar anúncios com a `bannerSlotIds` propriedade, navegue até o final desta página.

Esta `bannerSlots` capacidade foi lançada em setembro de 2022.
{% endhint %}

### Posicionamentos de busca

Os posicionamentos de busca geralmente são os mais fáceis de solicitar. Eles exigem que um `searchTerm` seja especificado na requisição, como no exemplo abaixo:

```http
POST $BASE_URL/v1/ads/generate HTTP/1.1
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
{
    "customerId": "wertg5432a",
    "sessionId": "ec9-4e07-881d-3e9",
    "dtmCookieId": "AAAF8xLBTA968AB6TOthAAAAAAE",
    "placement": "search",
    "catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
    "searchTerm": "chocolate",
    "options": {
   						 "filterMode": "AndOr"
 							 },
    "contentStandardId": "fec2ab89-7a29-42b5-b58a-5675688b52d9",
    "bannerSlots": [
           {
      "slotId": "<SLOT_ID>",
      "maxNumberOfAds": 1
    },
    {
      "slotId": "<SLOT_ID>",
      "maxNumberOfAds": 2
    }
    ],
    "maxNumberOfAds": 3
}
```

### Posicionamentos de categoria

Os posicionamentos de categoria exigem que `productFilters` sejam especificados na requisição. Abaixo está um exemplo de onde você enviaria os filtros de categoria:

```http
POST $BASE_URL/v1/ads/generate HTTP/1.1
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
{
    "customerId": "wertg5432a",
    "sessionId": "ec9-4e07-881d-3e9",
    "dtmCookieId": "AAAF8xLBTA968AB6TOthAAAAAAE",
    "placement": "category",
    "catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
    "productFilters": [
     	 ["category:Cupboard/Snacks"]
    ],
    "options": {
   							 "filterMode": "AndOr"
 							 },
    "contentStandardId": "fec2ab89-7a29-42b5-b58a-5675688b52d9",
    "bannerSlots": [
           {
      "slotId": "<SLOT_ID>",
      "maxNumberOfAds": 1
    },
    {
      "slotId": "<SLOT_ID>",
      "maxNumberOfAds": 2
    }
    ],
    "maxNumberOfAds": 3
}
```

À medida que categorias adicionais são analisadas, você deve atualizar sua chamada de API de acordo.

### Posicionamentos de categoria de venda cruzada

Os posicionamentos de categoria de venda cruzada têm uma requisição muito semelhante aos posicionamentos de categoria. Você precisará especificar a categoria exata para a qual está solicitando anúncios. Esta é tipicamente a página em que você está. Especifique a categoria no `productFilters` da requisição. O exemplo abaixo mostra onde você enviaria os filtros de categoria:

```http
POST $BASE_URL/v1/ads/generate HTTP/1.1
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
{
    "customerId": "wertg5432a",
    "sessionId": "ec9-4e07-881d-3e9",
    "dtmCookieId": "AAAF8xLBTA968AB6TOthAAAAAAE",
    "placement": "category-cross-sell",
    "catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
    "productFilters": [
     	 ["category:Cupboard/Snacks"]
    ],
    "options": {
   							 "filterMode": "AndOr"
 							 },
    "contentStandardId": "fec2ab89-7a29-42b5-b58a-5675688b52d9",
    "bannerSlots": [
           {
      "slotId": "<SLOT_ID>",
      "maxNumberOfAds": 1
    },
    {
      "slotId": "<SLOT_ID>",
      "maxNumberOfAds": 2
    }
    ],
    "maxNumberOfAds": 3
}
```

À medida que categorias adicionais são analisadas, você precisa atualizar sua chamada de API de acordo.

{% hint style="info" %}
Mesclando direcionamento de categoria orgânico e de venda cruzada?

Se você deseja mesclar uma requisição de anúncio de categoria orgânica e de venda cruzada em um único posicionamento, precisará implementar a lógica de mesclagem e entrega para seus clientes. Esta é uma responsabilidade do integrador, embora a Epsilon Retail Media tenha o prazer de ser consultada.

Em geral, aconselhamos que você exiba anúncios de categoria orgânica e posicione os anúncios de venda cruzada de categoria após os posicionamentos orgânicos.
{% endhint %}

### Posicionamentos de correspondência ampla

Posicionamentos amplos, como páginas iniciais ou de checkout, não exigem que nenhum `productFilters` seja especificado na requisição. Quaisquer filtros que o varejista gostaria de especificar (em oferta, novo, etc.) podem ser especificados no `productFilters` para garantir que Epsilon Retail Media veiculem anúncios apenas dentro dos requisitos, como o exemplo abaixo:

```http
POST $BASE_URL/v1/ads/generate HTTP/1.1
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
{
    "customerId": "wertg5432a",
    "sessionId": "ec9-4e07-881d-3e9",
    "dtmCookieId": "AAAF8xLBTA968AB6TOthAAAAAAE",
    "placement": "home",
    "catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
    "productFilters": [
     	 []
    ],
    "options": {
   							 "filterMode": "AndOr"
 							 },
    "contentStandardId": "fec2ab89-7a29-42b5-b58a-5675688b52d9",
    "bannerSlots": [
           {
      "slotId": "<SLOT_ID>",
      "maxNumberOfAds": 1
    },
    {
      "slotId": "<SLOT_ID>",
      "maxNumberOfAds": 2
    }
    ],
    "maxNumberOfAds": 3
}
```

### Melhorias de requisição

Aconselhamos que você considere as melhorias abaixo para aprimorar a experiência do seu usuário.

#### Buscas filtradas

Se o seu cliente filtrar a busca dele, você poderá estender seu contexto para fornecer `productFilters`. Abaixo está um exemplo em que o cliente está filtrando pela categoria "Armário" e pela restrição alimentar "Sem glúten". Esse mesmo princípio pode ser aplicado a qualquer posicionamento de categoria ou correspondência ampla.

```http
POST $BASE_URL/v1/ads/generate HTTP/1.1
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
{
    "customerId": "wertg5432a",
    "sessionId": "ec9-4e07-881d-3e9",
    "dtmCookieId": "AAAF8xLBTA968AB6TOthAAAAAAE",
    "placement": "search",
    "catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
    "searchTerm": "chocolate",
    "productFilters": [
     	 ["category:Cupboard"],["dietary:Gluten-free"]
    ],
    "options": {
   							 "filterMode": "AndOr"
 							 },
    "contentStandardId": "fec2ab89-7a29-42b5-b58a-5675688b52d9",
    "bannerSlots": [
           {
      "slotId": "<SLOT_ID>",
      "maxNumberOfAds": 1
    },
    {
      "slotId": "<SLOT_ID>",
      "maxNumberOfAds": 2
    }
    ],
    "maxNumberOfAds": 3
}
```

#### Filtragem por localização

Se você estiver sincronizando filtros de localização em seu catálogo, poderá estender seu contexto para fornecer a localização da loja do cliente no `productFilters`, como no exemplo abaixo:

```http
POST $BASE_URL/v1/ads/generate HTTP/1.1
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
{
    "customerId": "wertg5432a",
    "sessionId": "ec9-4e07-881d-3e9",
    "dtmCookieId": "AAAF8xLBTA968AB6TOthAAAAAAE",
    "placement": "search",
    "catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
    "searchTerm": "chocolate",
    "productFilters": [
     	 ["category:Cupboard"],["dietary:Gluten-free"],["location:Westenbury"]
    ],
    "options": {
   							 "filterMode": "AndOr"
 							 },
    "contentStandardId": "fec2ab89-7a29-42b5-b58a-5675688b52d9",
    "bannerSlots": [
           {
      "slotId": "<SLOT_ID>",
      "maxNumberOfAds": 1
    },
    {
      "slotId": "<SLOT_ID>",
      "maxNumberOfAds": 2
    }
    ],
    "maxNumberOfAds": 3
}
```

### Usando o bannerSlotIdparâmetro s (legado)

Se você já estiver integrado, poderá estar solicitando anúncios com `bannerSlotIds` em vez de `bannerSlots`. Este é um array de strings no qual você especificaria os espaços de banner para os quais precisa de anúncios. Aprimoramos nossa capacidade para que você possa solicitar mais de um anúncio para o mesmo espaço de banner. Se estiver interessado, você precisará aprimorar sua integração para o `bannerSlots` método descrito acima.

```http
POST $BASE_URL/v1/ads/generate HTTP/1.1
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
{
    "customerId": "wertg5432a",
    "sessionId": "ec9-4e07-881d-3e9",
    "dtmCookieId": "AAAF8xLBTA968AB6TOthAAAAAAE",
    "placement": "search",
    "catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
    "searchTerm": "chocolate",
    "productFilters": [
     	 ["category:Cupboard"],["dietary:Gluten-free"],["location:Westenbury"]
    ],
    "options": {
   							 "filterMode": "AndOr"
 							 },
    "contentStandardId": "fec2ab89-7a29-42b5-b58a-5675688b52d9",
    "bannerSlotIds": [
        "<SLOT_ID>","<SLOT_ID>"
    ],
    "maxNumberOfAds": 3
}
```

## A resposta do anúncio de banner

Todas as respostas seguem o mesmo formato JSON. Se você estiver solicitando anúncios de produtos, o `ads` array será preenchido conforme o exemplo abaixo. Banners preenchem o `banners` array, portanto, o conteúdo só é retornado para espaços de banner com anúncios.

```json
{
    "ads": [
        {
            "id": "display__QqHaKRrKlFm1Wxr9c_DXJN4HSE3NzMzNjM2",
            "gtin": "7733636",
            "discount": {
                "amount": 0,
                "minPrice": 0,
                "maxPerCustomer": 0
            },
            "expiry": "2021-05-12T04:17:50.400902957Z",
            "position": 1
        },
        {
            "id": "display_NzsHqP0_iQedlo9VnrO2vqkwi_k3NzMzNjI4",
            "gtin": "7733628",
            "discount": {
                "amount": 0,
                "minPrice": 0,
                "maxPerCustomer": 0
            },
            "expiry": "2021-05-12T04:17:50.400908257Z",
            "position": 2
        }
    ],
    "banners": [
				{
            "id": "banner_XeemTeq59HapGSp4vccOYfBq_yvc3zMzNjM2",
            "contentStandardId": "fec2ab89-7a29-42b5-b58a-5675688b52d9",
            "slotId": "<SLOT_ID>",
            "imageUrl": "https://cdn.flavedo.io/s/-oW-C3cEViSSO2krWkwOBUXOhvUdhHOySx-YQLGZ1lA=",
            "linkUrl": "https://www.retailer.com/link",
            "altText": "Your local ice cream",
            "text": "",
            "gtins": [
                "7733628",
                "7714107",
                "7163379",
                "7733636",
                "7733657"
            ],
            "expiry": "2021-05-17T01:49:17.75503253Z",
            "tags": {},
            "position": 1
        },
				{
            "id": "banner_A0KA6mNmFs6sZPb_FvwWe5k6x6c3NzMzNjM3",
            "contentStandardId": "fec2ab89-7a29-42b5-b58a-5675688b52d9",
            "slotId": "<SLOT_ID>",
            "imageUrl": "https://cdn.flavedo.io/s/-oW-dfsgrerWkwOBUXOhvUdhHOySx-YQLreGZ1lw=",
            "linkUrl": "https://www.retailer.com/link",
            "altText": "Advertisement for pet food.",
            "text": "",
            "gtins": [
                "16309011",
                "57312011",
                "65250011"
            ],
            "expiry": "2021-05-17T01:49:17.75503253Z",
            "tags": {},
            "position": 2
        }
				],
    "products": [],
     "memoryToken":"85ykKVv-luDHMWLZx2d6xcPq6sF7CgkJCSJDb3VudGVyIjogIjIiLAoJCQkiQWRzIjogWwoJCQkJImRpc3BsYXlfV05VV0NwQkRKMUpKNm5wdVZSVExvOU40TUxzNE1UWTBOemt5TWc9PSIsCgkJCQkiZGlzcGxheV9MME5NUHRxNmdCcVFvREJOd3J0dE9UTGJoWk0xTVRFeU9UYzRPUT09IiwKCQkJCSJkaXNwbGF5XzlCcEpmdUpaWk9VXzgyaWpFM3VCczgxd3VVczRNekkwTnpVeE5nPT0iLAoJCQkJImRpc3BsYXlfcW1VU1p4TkpMQ0lqeWQwdTFJRDk0RmxVZ0pnNE16STBOelV4Tnc9PSIsCgkJCQkiZGlzcGxheV9oeHlFZktCUnRrNWlxMThMQzE1SDJHcEN3QjgxTVRFeU9UYzVNQT09IiwKCQkJCSJkaXNwbGF5X1NkcjFEcU5aUEFtcGh0Q1FIUndoYUxFT1B0RXhNamsxT1RJNE5BPT0iLAoJCQkJImRpc3BsYXlfeVlSai1qV2Ntc2ozNzhrel9PMm0yOVlwTjhJeE5EazNPRE00TXc9PSIsCgkJCQkiZGlzcGxheV9Xbm9NZGZuLTRTVmhxcF9xQzVvLWxoT0paNm8xTkRJeE1UUTROdz09IgoJCQldLAoJCQkiVFRMIjogMTYyODk4NTYwMAoJCX0="
}
```

O `id` campo é o seu ID de Anúncio usado em relatórios de impressões e cliques. Consulte a referência para obter mais informações sobre cada string.

### sellerId do marketplace

Se estiver integrando vendedores do marketplace, você poderá ver um `sellerId` adicional por anúncio na resposta. Isso só aparecerá se a equipe proprietária da campanha veiculada tiver um ID de vendedor configurado na interface do usuário. O exemplo abaixo mostra um anúncio com um sellerId e outro sem.

```json
{
    "ads": [
        {
            "id": "display_QqHaKRrKlFm1Wxr9c_DXJN4HSE3NzMzNjM2",
            "gtin": "7733636",
            "discount": {
                "amount": 0,
                "minPrice": 0,
                "maxPerCustomer": 0
            },
            "expiry": "2021-05-12T04:17:50.400902957Z",
            "position": 1
        },
        {
            "id": "display_NzsHqP0_iQedlo9VnrO2vqkwi_k3NzMzNjI4",
            "gtin": "7733628",
            "sellerId": "2834-ascre-2wcr4",
            "discount": {
                "amount": 0,
                "minPrice": 0,
                "maxPerCustomer": 0
            },
            "expiry": "2021-05-12T04:17:50.400908257Z",
            "position": 2
        }
    ],
     "banners": [
				{
            "id": "banner_XeemTeq59HapGSp4vccOYfBq_yvc3zMzNjM2",
            "contentStandardId": "fec2ab89-7a29-42b5-b58a-5675688b52d9",
            "slotId": "<SLOT_ID>",
            "sellerId": "43d-w4-2wcr4",
            "imageUrl": "https://cdn.flavedo.io/s/-oW-C3cEViSSO2krWkwOBUXOhvUdhHOySx-YQLGZ1lA=",
            "linkUrl": "https://www.retailer.com/link",
            "altText": "Your local ice cream",
            "text": "",
            "gtins": [
                "7733628",
                "7714107",
                "7163379",
                "7733636",
                "7733657"
            ],
            "expiry": "2021-05-17T01:49:17.75503253Z",
            "tags": {},
            "position": 1
        },
				{
            "id": "banner_A0KA6mNmFs6sZPb_FvwWe5k6x6c3NzMzNjM3",
            "contentStandardId": "fec2ab89-7a29-42b5-b58a-5675688b52d9",
            "slotId": "<SLOT_ID>",
            "imageUrl": "https://cdn.flavedo.io/s/-oW-dfsgrerWkwOBUXOhvUdhHOySx-YQLreGZ1lw=",
            "linkUrl": "https://www.retailer.com/link",
            "altText": "Advertisement for pet food.",
            "text": "",
            "gtins": [
                "16309011",
                "57312011",
                "65250011"
            ],
            "expiry": "2021-05-17T01:49:17.75503253Z",
            "tags": {},
            "position": 2
        }
				],
    "products": [],
    "memoryToken":"85ykKVv-luDHMWLZx2d6xcPq6sF7CgkJCSJDb3VudGVyIjogIjIiLAoJCQkiQWRzIjogWwoJCQkJImRpc3BsYXlfV05VV0NwQkRKMUpKNm5wdVZSVExvOU40TUxzNE1UWTBOemt5TWc9PSIsCgkJCQkiZGlzcGxheV9MME5NUHRxNmdCcVFvREJOd3J0dE9UTGJoWk0xTVRFeU9UYzRPUT09IiwKCQkJCSJkaXNwbGF5XzlCcEpmdUpaWk9VXzgyaWpFM3VCczgxd3VVczRNekkwTnpVeE5nPT0iLAoJCQkJImRpc3BsYXlfcW1VU1p4TkpMQ0lqeWQwdTFJRDk0RmxVZ0pnNE16STBOelV4Tnc9PSIsCgkJCQkiZGlzcGxheV9oeHlFZktCUnRrNWlxMThMQzE1SDJHcEN3QjgxTVRFeU9UYzVNQT09IiwKCQkJCSJkaXNwbGF5X1NkcjFEcU5aUEFtcGh0Q1FIUndoYUxFT1B0RXhNamsxT1RJNE5BPT0iLAoJCQkJImRpc3BsYXlfeVlSai1qV2Ntc2ozNzhrel9PMm0yOVlwTjhJeE5EazNPRE00TXc9PSIsCgkJCQkiZGlzcGxheV9Xbm9NZGZuLTRTVmhxcF9xQzVvLWxoT0paNm8xTkRJeE1UUTROdz09IgoJCQldLAoJCQkiVFRMIjogMTYyODk4NTYwMAoJCX0="
}
```

{% hint style="info" %}
Se você não tiver certeza sobre as strings nesta seção, visite a página de [Referência](/retail-media-interface/integration/pt-br/references/banner-ad-static-reference.md) .
{% endhint %}

### Tags de rastreamento de terceiros

Para anúncios de banner, o Epsilon Retail Media suporta a passagem de tags de rastreamento de terceiros para o varejista. Essas tags são usadas pelos anunciantes para verificar seu desempenho por meio de um terceiro de confiança.

As seguintes tags de rastreamento são suportadas:

* DoubleVerify
* DCM Click
* DCM Impression
* IAS

Se uma campanha tiver uma tag de rastreamento configurada, ela será apresentada como o campo relevante no `tags` objeto abaixo. Observe que, se uma campanha não tiver uma tag configurada, o `tags` objeto permanecerá vazio.

```json
{
    "ads": [],
    "banners": [
				{
            "id": "banner_XeemTeq59HapGSp4vccOYfBq_yvc3zMzNjM2",
            "contentStandardId": "fec2ab89-7a29-42b5-b58a-5675688b52d9",
            "slotId": "<SLOT_ID>",
            "imageUrl": "https://cdn.flavedo.io/s/-oW-C3cEViSSO2krWkwOBUXOhvUdhHOySx-YQLGZ1lA=",
            "linkUrl": "https://www.retailer.com/link",
            "altText": "Your local ice cream",
            "text": "",
            "gtins": [
                "7733628",
                "7714107",
                "7163379",
                "7733636",
                "7733657"
            ],
            "expiry": "2021-05-17T01:49:17.75503253Z",
            "tags": {
                "dv": "<script src=\"https://cdn.doubleverify.com/dvtp_src.js?ctx=919421&cmp=1074060503&sid=1073907024&plc=1075810393&adsrv=115&btreg=&btadsrv=&crt=&tagtype=&dvtagver=6.1.src\" type=\"text/javascript\"></script>",
                "dcmClick": "<script ..../>",
                "dcmImpression": "<script.... />",
                "ias": "<script.... />"            }
        }
				],
    "products": [],
     "memoryToken":"85ykKVv-luDHMWLZx2d6xcPq6sF7CgkJCSJDb3VudGVyIjogIjIiLAoJCQkiQWRzIjogWwoJCQkJImRpc3BsYXlfV05VV0NwQkRKMUpKNm5wdVZSVExvOU40TUxzNE1UWTBOemt5TWc9PSIsCgkJCQkiZGlzcGxheV9MME5NUHRxNmdCcVFvREJOd3J0dE9UTGJoWk0xTVRFeU9UYzRPUT09IiwKCQkJCSJkaXNwbGF5XzlCcEpmdUpaWk9VXzgyaWpFM3VCczgxd3VVczRNekkwTnpVeE5nPT0iLAoJCQkJImRpc3BsYXlfcW1VU1p4TkpMQ0lqeWQwdTFJRDk0RmxVZ0pnNE16STBOelV4Tnc9PSIsCgkJCQkiZGlzcGxheV9oeHlFZktCUnRrNWlxMThMQzE1SDJHcEN3QjgxTVRFeU9UYzVNQT09IiwKCQkJCSJkaXNwbGF5X1NkcjFEcU5aUEFtcGh0Q1FIUndoYUxFT1B0RXhNamsxT1RJNE5BPT0iLAoJCQkJImRpc3BsYXlfeVlSai1qV2Ntc2ozNzhrel9PMm0yOVlwTjhJeE5EazNPRE00TXc9PSIsCgkJCQkiZGlzcGxheV9Xbm9NZGZuLTRTVmhxcF9xQzVvLWxoT0paNm8xTkRJeE1UUTROdz09IgoJCQldLAoJCQkiVFRMIjogMTYyODk4NTYwMAoJCX0="
}
```

As Epsilon Retail Media é uma integração servidor a servidor, as tags de rastreamento de terceiros exigem desenvolvimento adicional por parte do varejista. Entre em contato com seu Gerente Técnico de Contas se desejar utilizar esse recurso.

## Lei de Serviços Digitais

Epsilon Retail Media ajuda os varejistas a cumprirem suas obrigações da União Europeia (UE) [Lei de Serviços Digitais](https://commission.europa.eu/strategy-and-policy/priorities-2019-2024/europe-fit-digital-age/digital-services-act_en) (DSA). A DSA estabelece um conjunto unificado de regras em toda a UE, visando a regulamentação de conteúdo online, publicidade transparente e desinformação. Para obter mais informações, consulte [Lei de Serviços Digitais](/retail-media-interface/integration/pt-br/feature-integrations/digital-services-act.md).

### Exemplo de solicitação de anúncio

```
{
    "catalogId": "fbf0aee8-0916-4dad-9988-101a76dc35cc",
    "maxNumberOfAds": 0,
    "customerId": "tempore8742",
    "placement": "broad-display-187f4189-041a-4940-8613-e6e27db317c7",
    "contentStandardId": "339fd058-29ce-401e-a131-46eb769de8f9",
    "bannerSlotIds": [
        "Search"
    ],
    "options": {
        "includeAdvertiserInfo": true
    }
}
```

### Exemplo de resposta do anúncio

```
{
  "ads": [],
  "banners": [
    {
      "id": "banner_edUhN_ja2MzgMbOvPC_Zl1qSStwKEgoQUGFwYXlhMTAtbnJkZHAxMhIAGgwI_POvvQYQqqmyhQEiAggB",
      "contentStandardId": "339fd058-29ce-401e-a131-46eb769de8f9",
      "slotId": "Search",
      "imageUrl": "https://dev3.flavedo.io./citrus/RUn6QEY0a4Si2Enu29ZgldByi1EAyGEMygRdNWSC0VU=",
      "linkUrl": "http://citrusad.com/",
      "altText": "search banner",
      "text": "",
      "gtins": [
        "Papaya10-nrddp12",
        "Mangosteens17-gridu18",
        "Mulberries23-jxvbv24",
        "Butternut_pumpkin2-cflci4",
        "Custard_Apples_Daikon29-gujlg30"
      ],
      "sellerId": "",
      "expiry": "2025-02-12T01:31:40.279745706Z",
      "tags": {},
      "position": 1,
      "metadata": {
        "advertiserInfo": {
          "advertiser": "Bob's advertising agency",
          "onBehalfOf": "Brand company inc"
        }
      }
    }
  ],
  "products": [],
  "memoryToken": "SSIhP6dA/mu+6uMOg18+1z6QgO0KDhIMCMDzr70GEL7IooMBGgIIAiIA"
}
```


---

# 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://help.citrusad.com/retail-media-interface/integration/pt-br/generating-ads/banner-ads-static/requesting-banner-ads.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.
