> 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/it/generating-ads/banner-ads-static/requesting-banner-ads.md).

# Richiesta di annunci banner

## Richiesta di annunci

Poiché gli annunci prodotto e i banner vengono generati sullo stesso endpoint, se il contesto del tuo posizionamento è lo stesso, puoi richiedere annunci prodotto nella stessa richiesta dei banner.

Il numero di annunci prodotto che puoi ricevere viene configurato definendo il `maxNumberOfAds` parametro. Il numero di annunci banner che puoi ricevere può essere configurato con la `maxNumberOfAds` proprietà per slotId univoco

Tutte le richieste di annunci banner richiedono il `contentStandardId` e lo `bannerSlots` per cui si richiedono gli annunci. Inoltre, la chiamata banner dovrebbe includere quello del contesto `customerId`,`sessionId`,`placement`, e `catalogId`.

{% hint style="info" %}
Potresti notare alcune modifiche qui!

Stiamo introducendo una modifica al modo in cui richiedi gli annunci banner da Epsilon Retail Media. Se sei già integrato, potresti effettuare la richiesta con una proprietà chiamata `bannerSlotIds`. L'abbiamo sostituita con la nostra nuova `bannerSlots` funzionalità. Se desideri rivedere come richiedere annunci con la `bannerSlotIds` proprietà, naviga in fondo a questa pagina.

Questa `bannerSlots` funzionalità è stata introdotta a settembre 2022.
{% endhint %}

### Posizionamenti di ricerca

I posizionamenti di ricerca sono in genere i più semplici da richiedere. Richiedono che sia specificato un `searchTerm` nella richiesta, come nell'esempio seguente:

```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
}
```

### Posizionamenti per categoria

I posizionamenti per categoria richiedono che siano specificati `productFilters` nella richiesta. Di seguito è riportato un esempio di dove invieresti i filtri di 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
}
```

Quando si consultano categorie aggiuntive, è necessario aggiornare la chiamata API di conseguenza.

### Posizionamenti per categoria di cross-selling

I posizionamenti per categoria di cross-selling hanno una richiesta molto simile ai posizionamenti per categoria. Dovrai specificare la categoria esatta per cui richiedi gli annunci. Di solito si tratta della pagina in cui ti trovi. Specifica la categoria nel `productFilters` della richiesta. L'esempio seguente mostra dove invieresti i filtri di 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
}
```

Man mano che si consultano categorie aggiuntive, è necessario aggiornare la chiamata API di conseguenza.

{% hint style="info" %}
Unire il targeting per categoria organico e di cross-selling?

Se desideri unire una richiesta di annunci per categoria organica e di cross-selling in un unico posizionamento, dovrai implementare la logica di unione e di delivery per i tuoi clienti. Questa è responsabilità dell'integratore, anche se Epsilon Retail Media è lieta di essere consultata.

In generale, ti consigliamo di mostrare annunci per categoria organici e di posizionare gli annunci di cross-selling per posizione e categoria dopo i posizionamenti organici.
{% endhint %}

### Posizionamenti a corrispondenza generica

I posizionamenti generici come le pagine home o di checkout non richiedono che sia specificato alcun `productFilters` nella richiesta. Eventuali filtri che il retailer desidera specificare (in offerta, nuovo, ecc.) possono essere specificati nel `productFilters` per garantire che Epsilon Retail Media eroghi annunci solo all'interno dei requisiti, come nell'esempio seguente:

```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
}
```

### Miglioramenti della richiesta

Ti consigliamo di prendere in considerazione i seguenti miglioramenti per migliorare la tua esperienza utente.

#### Ricerche filtrate

Se il tuo cliente filtra la sua ricerca, puoi estendere il tuo contesto per fornire `productFilters`. Di seguito è riportato un esempio in cui il cliente filtra per la categoria "Dispensa" e per la restrizione dietetica "Senza glutine". Questo stesso principio può essere applicato a qualsiasi posizionamento per categoria o a corrispondenza generica.

```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
}
```

#### Filtraggio per posizione

Se stai sincronizzando i filtri di posizione nel tuo catalogo, puoi estendere il tuo contesto per fornire la posizione del punto vendita del cliente nel `productFilters`, come nell'esempio seguente:

```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
}
```

### Utilizzo del bannerSlotIdparametro s (legacy)

Se sei già integrato, potresti richiedere annunci con `bannerSlotIds` invece di `bannerSlots`. Si tratta di un array di stringhe in cui specificheresti gli slot banner per cui richiedi annunci. Abbiamo migliorato le nostre funzionalità in modo che tu possa richiedere più di un annuncio per lo stesso slot banner. Se sei interessato, dovrai migliorare la tua integrazione applicando il `bannerSlots` metodo descritto sopra.

```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
}
```

## La risposta dell'annuncio banner

Tutte le risposte seguono lo stesso formato JSON. Se stai richiedendo annunci prodotto, l'array `ads` verrà popolato come nell'esempio seguente. I banner popolano l'array `banners` , pertanto il contenuto viene restituito solo per gli slot banner con annunci.

```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="
}
```

Il `id` campo è il tuo ID annuncio utilizzato nei report sulle impressioni e sui clic. Fai riferimento alla documentazione per ulteriori informazioni su ciascuna stringa.

### sellerId del marketplace

Se effettui l'onboarding di venditori del marketplace, potresti vedere un ulteriore `sellerId` per annuncio nella risposta. Questo apparirà solo se il team proprietario della campagna erogata ha un ID venditore configurato nell'interfaccia utente. L'esempio seguente mostra un annuncio con un sellerId e uno senza.

```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 non sei sicuro delle stringhe presenti in questa sezione, visita la pagina [Riferimento](/retail-media-interface/integration/it/references/banner-ad-static-reference.md) .
{% endhint %}

### Tag di tracciamento di terze parti

Per gli annunci banner, Epsilon Retail Media supporta il passaggio di tag di tracciamento di terze parti al retailer. Questi tag vengono utilizzati dagli inserzionisti per verificare le loro prestazioni tramite una terza parte affidabile.

Sono supportati i seguenti tag di tracciamento:

* DoubleVerify
* Clic DCM
* Impressione DCM
* IAS

Se per una campagna è configurato un tag di tracciamento, questo si presenterà come campo pertinente nell'oggetto `tags` sottostante. Tieni presente che, se una campagna non ha un tag configurato, l'oggetto `tags` rimarrà vuoto.

```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 è un'integrazione server-to-server, i tag di tracciamento di terze parti richiedono uno sviluppo aggiuntivo da parte del retailer. Contatta il tuo Technical Account Manager se desideri utilizzare questa funzionalità.

## Digital Services Act

Epsilon Retail Media aiuta i retailer a soddisfare i propri obblighi della Unione Europea (UE) [Legge sui servizi digitali](https://commission.europa.eu/strategy-and-policy/priorities-2019-2024/europe-fit-digital-age/digital-services-act_en) (DSA). Il DSA stabilisce un insieme unificato di regole in tutta l'UE, mirando alla regolamentazione dei contenuti online, alla trasparenza pubblicitaria e alla disinformazione. Per ulteriori informazioni, consulta [Legge sui servizi digitali](/retail-media-interface/integration/it/feature-integrations/digital-services-act.md).

### Esempio di richiesta di annuncio

```
{
    "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
    }
}
```

### Esempio di risposta dell'annuncio

```
{
  "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/it/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.
