> 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/sv/generating-ads/banner-x-responsive/requesting-banner-x-ads.md).

# Generera Banner X-annonser för olika placeringar

Detta dokument ger en heltäckande guide om hur du genererar banner X-annonser för olika placeringstyper. Banner X annonser genereras på `/bannerx` -slutpunkten. Alla banner X-begäranden kräver `contentStandardId` och `bannerSlotIds` som du begär annonser för. Varje API-begäran måste också innehålla information om kontexten, såsom:

* Placering
* Katalog-ID
* Kund-ID
* Sessions-ID
* Sökterm
* Maximalt antal annonser som ska visas

## Sökplacering

### Förutsättningar

Du måste slutföra följande steg innan du börjar begära banner X-annonser för sökplacering.

#### 1. Lägg till produktkataloger

Se till att dina produkter har lagts till i dina kataloger och synkroniserats med Epsilon Retail Media -plattformen. För mer information, se [Introduktion till kataloger och produkter](https://developers.citrusad.com/integration/docs/introduction-to-catalogs-and-products).

#### 2. Skapa en kampanj och konfigurera söktermer

Se till att du har skapat en kampanj och konfigurerat söktermer. För mer information, se [Steg 4b: Konfigurera söktermer](/retail-media-interface/integration/sv/generating-ads/banner-x-responsive/create-banner-x-campaigns.md#optional-step-4b-configure-search-terms). Definiera de söktermer som du vill rikta in dig på (inkludera och exkludera) för dina produktannonser. Du kan ange exakt matchning, frasmatchning och negativa söktermer för dina annonser.

#### 3. Hämta API-nycklar och bas-URL

1. Du måste ha en giltig API-nyckel. Gör följande för att hämta API-nycklarna:
   1. Logga in på ditt Epsilon's Retail Media -teamkonto.
   2. Navigera till högst upp till höger på sidan och klicka på rullgardinsmenyn.
   3. Välj **Integrationsinställningar** från rullgardinsmenyn.

      <figure><img src="/files/HdNSZ0FdP8qjswphvjCR" alt="" width="100%"><figcaption></figcaption></figure>
   4. Klicka på fliken **API-nyckel**. Din hemliga API-nyckel är döljd från början. För att visa den klickar du på knappen **Visa**. När den blir synlig kopierar du din hemliga API-nyckel. Använd denna nyckel för att göra API-anrop.
2. Du måste ha bas-URL:en för API-slutpunkten. Till exempel <https://staging-test.citrusad.com/v1/ads/generate> HTTP/1.1. Kontrollera med din Technical Account Manager för att få bas-URL:en.

### Generera annonser

Utför följande steg för att generera produktannonser.

#### HTTP-begäran

**Slutpunkt**: /v1/ads/generate

**Metod**: POST

**Rubriker**:

* accept: application/json
* content-type: application/json
* Authorization: Basic \<API\_KEY>

#### Begärandeparametrar

Begärandetexten ska vara ett JSON-objekt som innehåller följande fält:

| Objekt            | Typ                              | Beskrivning                                                                                                                                                                                          |
| ----------------- | -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| customerId        | sträng, krävs                    | Unik identifierare för kunden. Den tillhandahålls av din återförsäljare.                                                                                                                             |
| sessionId         | sträng, krävs                    | Unik identifierare för sessionen. Den krävs för attribueringen och tillhandahålls av återförsäljaren.                                                                                                |
| contentStandardId | sträng, krävs                    | Innehållsstandard-ID för din banner X.                                                                                                                                                               |
| bannerSlotIds     | sträng, krävs                    | Slot-ID för din banner X.                                                                                                                                                                            |
| placement         | sträng, krävs                    | Kontext där annonsen visas (t.ex. "search").                                                                                                                                                         |
| catalogId         | sträng, krävs                    | Unik identifierare för den produktkatalog som produkterna filtreras från. Du kan hämta catalogID från Epsilon's Retail Media -användargränssnittet eller från återförsäljaren.                       |
| maxNumberOfAds    | heltal, krävs                    | Maximalt antal annonser som ska visas. När du begär banner X-annonser kan du ange det maximala antalet banners du vill ta emot per bannerplats. Du kan styra detta med `maxNumberOfAds` -parametern. |
| searchTerm        | sträng, krävs för sökplaceringar | Term att söka efter i katalogen.                                                                                                                                                                     |
| options           | objekt, valfritt                 | Ytterligare alternativ såsom filtreringslägen `AndOr`. Om angivet använder systemet både "AND"- och "OR"-villkor för att avgränsa sökresultaten.                                                     |

### Exempel på begäran

Sökplaceringar är vanligtvis de enklaste att begära. De kräver att en `searchTerm` anges i begäran, som i exemplet nedan:

```http
POST $BASE_URL/v1/ads/bannerx HTTP/1.1
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
{
    "customerId": "wertg5432a",
    "sessionId": "ec9-4e07-881d-3e9",
    "placement": "search",
    "catalogId": "628dbe95-2ec9-4e07-881d-3e9f92ab2e0b",
    "searchTerm": "chocolate",
    "options": {
   						 "filterMode": "AndOr"
 							 },
    "contentStandardId": "c61941e2-1435-460b-9d2b-5d838e3dba9c",
    "bannerSlotIds": [
    {
      "slotId": "<SLOT_ID>",
      "maxNumberOfAds": 1
    },
    {
      "slotId": "<SLOT_ID>",
      "maxNumberOfAds": 2
    }
  ]
}
```

## Kategoriplaceringar

Kategoriplaceringar kräver att `productFilters` anges i begäran. Exemplet nedan visar var du skickar kategorifiltren:

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

När ytterligare kategorier bläddras igenom bör du uppdatera ditt API-anrop i enlighet med detta.

## Korsförsäljningskategoriplaceringar

Korsförsäljningskategoriplaceringar har en mycket liknande begäran som kategoriplaceringar. Du vill ange den exakta kategori som du begär annonser för. Detta är vanligtvis sidan du befinner dig på. Ange kategorin i `productFilters` i begäran. Exemplet nedan visar var du skickar kategorifiltren:

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

När ytterligare kategorier bläddras igenom behöver du uppdatera ditt API-anrop i enlighet med detta.

{% hint style="info" %}
Slå ihop organisk styrning och kategoristyrning för korsförsäljning?

Om du vill slå ihop en annonsbegäran för organisk kategori och korsförsäljningskategori till en enda placering, måste du implementera sammanslagnings- och leveranslogik för dina kunder. Detta är integratörens ansvar, även om Epsilon Retail Media gärna rådfrågas.

Generellt rekommenderar vi att du visar organiska kategoriannonser, samt placerar korsförsäljningsannonser för placering och kategori efter de organiska placeringarna.
{% endhint %}

## Bredmatchningsplaceringar

Breda placeringar som startsidor eller kassan kräver inte att någon `productFilters` anges i begäran. Alla filter som återförsäljaren vill ange (på erbjudande, nytt osv.) kan anges i `productFilters` för att säkerställa att Epsilon Retail Media endast visar annonser inom kraven, som i exemplet nedan:

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

## Förbättringar av begäran

Vi rekommenderar att du överväger nedanstående förbättringar för att förbättra din användarupplevelse.

#### Filtrerade sökningar

Om din kund filtrerar sin sökning kan du utöka ditt kontext för att tillhandahålla `productFilters`. Nedan visas ett exempel där kunden filtrerar på kategorin "Skafferi" och kostrestriktionen "Glutenfritt". Samma princip kan tillämpas på alla kategori- eller bredmatchningsplaceringar.

```http
POST $BASE_URL/v1/ads/bannerx HTTP/1.1
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
{
    "customerId": "wertg5432a",
    "sessionId": "ec9-4e07-881d-3e9",
    "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",
    "bannerSlotIds": [
    {
      "slotId": "<SLOT_ID>",
      "maxNumberOfAds": 1
    },
    {
      "slotId": "<SLOT_ID>",
      "maxNumberOfAds": 2
    }
}
```

#### Filtrering efter plats

Om du synkroniserar platsfilter i din katalog kan du utöka ditt kontext för att tillhandahålla kundens butiksplats i `productFilters`, som i exemplet nedan:

```http
POST $BASE_URL/v1/ads/bannerx HTTP/1.1
accept: application/json
content-type: application/json
Authorization: Basic <API_KEY>
{
    "customerId": "wertg5432a",
    "sessionId": "ec9-4e07-881d-3e9",
    "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": [
    {
      "slotId": "<SLOT_ID>",
      "maxNumberOfAds": 1
    },
    {
      "slotId": "<SLOT_ID>",
      "maxNumberOfAds": 2
    }
}
```

## Banner X svar

Alla svar följer samma JSON-format. Allt innehåll som krävs för att återge bannern tillhandahålls i svaret. Om bannern inte har någon komponent konfigurerad (t.ex. ingen sekundär hero-bild), Epsilon Retail Media kommer inte att tillhandahålla egenskapen.

```json
{
    "ads": [
        {
            "contentStandardId": "c619d1e2-1435-460b-9d2b-5d838e3dba9c",
            "slotId": "<SLOT_ID>",
            "banners": [
                {
                    "citrusAdId": "shotgun__vW5pOojxDfN7T9VwaXWQLF2wKw3NzE0MTA3",
                    "citrusCampaignName": "CitrusAd-Example-Category-Banner-X-Ad-52793b405f1347b22e72a38c5a08699b",
                    "citrusContentStandardId": "c619d1e2-1435-460b-9d2b-5d838e3dba9c",
                    "citrusSlotId": "<SLOT_ID>",
                    "citrusExpiry": "2021-05-17T02:47:52.849995214Z",
                    "headingText": "Banner Advertisement for Magnum Double Ice Cream with a product image and shop now button",
                    "bannerText": "<strong>Magnum Double Ice Cream</strong>",
                    "bannerTextColour": "6e6c6c",
                    "ctaFlag": true,
                    "ctaText": "Shop now",
                    "ctaTextAccessibility": "for Magnum products",
                    "ctaLink": "https://www.tesco.com/groceries/en-GB/search?query=magnums",
                    "backgroundColour": "e1d6ac",
                    "heroImage": "https://cdn.flavedo.io/s/9b93e7f9-d747-4c8b-bcba-2357b280a3b3",
                    "heroImageAltText": "Magnums",
                    "tags": {},
                    "gtins": [
                        "7714107",
                        "7733636",
                        "7733657",
                        "7163379",
                        "7733628"
                    ],
                    "position": 1
                }
            ]
        },
        {
            "contentStandardId": "c619d1e2-1435-460b-9d2b-5d838e3dba9c",
            "slotId": "<SLOT_ID>",
            "banners": [
                {
                    "citrusAdId": "shotgun_kZp9yTCMm71vTo7iyQaK9I_YB09FUFYzNzBTQ0FO",
                    "citrusCampaignName": "milo-campaign-lakjsdf09kj",
                    "citrusContentStandardId": "21r372ba-dce6-46f2-bd16-1b923b9189f9",
                    "citrusSlotId": "<SLOT_ID>",
                    "citrusExpiry": "2021-05-17T02:47:52.849995214Z",
                    "headingText": "A banner for Milo with a product image and a shop now button",
                    "bannerText": "<strong>Try Milo Cereal</strong>",
                    "bannerTextColour": "48a94c",
                    "heroImage": "https://assets.imageurl.io/s/85d2d333-eed5-44d7-b131-8851d59f0574",
                    "heroImageAltText": "Milo product image",
                    "ctaFlag": true,
                    "ctaText": "Shop now",
                    "ctaTextAccessibility": "for Milo products",
                    "ctaLink": "retailer.com/everything/search/heritage%20mill?pageNumber=1",
                    "secondaryHeroImage": "https://assets.imageurl.io/s/85d2d333-eed5-44d7-b131-8m435c34r",
                    "secondaryHeroImageAltText": "Milo Logo",
                    "secondaryHeroMode": "landscape",
                    "backgroundColour": "895b5b",
                    "backgroundImage": "https://assets.flavedo.io/s/9c6fa248-c5ff-4341-9833-7e2b08464ada",
                    "backgroundImagePosition": "FILL",
                    "secondaryBackgroundImage": "https://assets.flavedo.io/s/9c6fa248-c5ff-4341-9833-7e2b08464ada",
                    "tags": {},
                    "gtins": [
                         "16309011",
                         "57312011",
                         "65250011"
                                ],
                    "position": 1
                }
            ]
        }
    ]
}
```

Fältet `id` är ditt annons-ID som används i intrycks- och klickrapporter. Se referensen för mer information om varje sträng.

### Spårningstaggar från tredje part

För banner X-annonser, Epsilon Retail Media stöder överföring av spårningstaggar från tredje part till återförsäljaren. Dessa taggar används av annonsörer för att verifiera sitt resultat via en betrodd tredje part.

Epsilon Retail Media stöder spårningstaggarna nedan:

* DoubleVerify (Javascript och bild)
* DCM-klick
* DCM-visning
* IAS
* Adform-visning
* Adform-klick

Om en kampanj har en spårningstagg konfigurerad kommer den att visas som det relevanta fältet i `trackingTags` objektet nedan. Observera att om en kampanj inte har någon tagg konfigurerad kommer `tags`och `trackingTags` objektet att förbli tomt.

```json
{
    "ads": [
        {
            "contentStandardId": "c619d1e2-1435-460b-9d2b-5d838e3dba9c",
            "slotId": "<SLOT_ID>",
            "banners": [
                {
                    "citrusAdId": "shotgun__vW5pOojxDfN7T9VwaXWQLF2wKw3NzE0MTA3",
                    "citrusCampaignName": "CitrusAd-Example-Category-Banner-X-Ad-52793b405f1347b22e72a38c5a08699b",
                    "citrusContentStandardId": "c619d1e2-1435-460b-9d2b-5d838e3dba9c",
                    "citrusSlotId": "<SLOT_ID>",
                    "citrusExpiry": "2021-05-17T02:47:52.849995214Z",
                    "headingText": "Banner Advertisement for Magnum Double Ice Cream with a product image and shop now button",
                    "bannerText": "<strong>Magnum Double Ice Cream</strong>",
                    "bannerTextColour": "6e6c6c",
                    "ctaFlag": true,
                    "ctaText": "Shop now",
                    "ctaTextAccessibility": "for Magnum products",
                    "ctaLink": "https://www.tesco.com/groceries/en-GB/search?query=magnums",
                    "backgroundColour": "e1d6ac",
                    "heroImage": "https://cdn.flavedo.io/s/9b93e7f9-d747-4c8b-bcba-2357b280a3b3",
                    "heroImageAltText": "Magnums",
                    "tags": {},
                  	"trackingTags": {
                        "ADFORM_CLICK": "https://track.adform.net...",
                        "ADFORM_IMPRESSION": "<img src=\"https://track.adform.net...",
                        "DCM_CLICK": "https://ad.doubleclick.net/ddm/trackclk/...",
                        "DCM_IMPRESSION": "<IMG SRC=\"https://ad.doubleclick.net/ddm/trackimp/...",
                        "DV": "<script src=\"https://cdn.doubleverify.com/dvtp_src.js?ctx=...",
                        "DV_IMAGE": "<img src=\"https://tps.doubleverify.com/visit.jpg?ctx=..."
                    },
                    "gtins": [
                        "7714107",
                        "7733636",
                        "7733657",
                        "7163379",
                        "7733628"
                    ],
                    "position": 1
                }
            ]
        }
    ]
}
```

As Epsilon Retail Media är en server-till-server-integration, spårningstaggar från tredje part kräver ytterligare utveckling av återförsäljaren. Kontakta din Integration Program Manager (IPM) om du vill använda denna funktion.

{% hint style="info" %}
`tags` objekt

För DoubleVerify (Javascript)- och DCM-taggar kan du se att `tags` objektet också är ifyllt. Det är god praxis att använda `trackingTags` svar.
{% endhint %}

### Videoannonser

Om en kampanj har videoannonser konfigurerade innehåller svaret ett `adm`objekt som visas nedan:

```
{

  "ads": [

    {

      "contentStandardId": "c47c9ca2-ad3b-48cc-880b-e899c1661726",

      "slotId": "Top_Banner",

      "banners": [

        {

          "citrusAdId": "shotgun_8SvgA7OvvuwtZkkOKR0vr8AXMvQKFgoURmluZ2VybGltZTI2LWZkeHZxMjcSABoMCO30r70GEKPplJQCIgIIAQ==",

          "citrusCampaignName": "Ads:74-330-96832622ed499dafb3da8de8b76340a2",

          "citrusContentStandardId": "c47c9ca2-ad3b-48cc-880b-e899c1661726",

          "citrusSlotId": "Top_Banner",

          "citrusExpiry": "2025-02-12T01:33:33.579155107Z",

          "headingText": "recusandae 3205",

          "bannerText": "placeat 2825",

          "bannerTextColour": "ffffff",

          "ctaFlag": true,

          "ctaText": "CTA text",

          "ctaTextAccessibility": "call to action accessibility text",

          "ctaLink": http://citrusad.com ,

          "backgroundColour": "000000",

          "backgroundImage": https://dev3.flavedo.io./citrus/8de07ed9-60b4-4611-8bd5-3f1f0c0b6be4,

          "secondaryBackgroundImage": https://dev3.flavedo.io./citrus/b7a70785-1366-42c6-8134-c7fe47a30c34,

          "secondaryBackgroundImagePosition": "rightaligned",

          "heroImage": https://dev3.flavedo.io./citrus/26798ca9-1022-422d-9100-1a3687c88372,

          "heroImageAltText": "hero image alt text",

          "secondaryHeroImage": https://dev3.flavedo.io./citrus/c4ee18b4-bf51-44d7-9eb6-eeb1dc4c422f,

          "secondaryHeroImageAltText": "secondary hero image alt text",

          "secondaryHeroMode": "landscape",

          "tags": {},

          "additionalFields": [

            {

              "id": "text-1",

              "value": "sed 5731"

            }

          ],

          "gtins": [

            "Fingerlime26-fdxvq27",

            "Oranges5-qgxeb6",

            "Cherries9-adkoj11",

            "Incaberries20-ppscn21",

            "Banana14-simfk15"

          ],

          "sellerId": "seller_id_772_659",

          "position": 1,

          "metadata": {

            "advertiserInfo": {

             "advertiser": "Bob's advertising agency",

             "onBehalfOf": "Brand company inc"

            }

          },
          "adm": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<VAST version=\"4.0\">\n    <Ad id=\"1\">\n        <InLine>\n            <AdSystem>CitrusAd</AdSystem>\n            <Impression><![CDATA[https://integration.BASE-URL.citrusad.com/v1/resource/first-i/shotgun_2DbJUbTdlM3HFvLuF75YoA2FgpwKBQoDMTIzEgAaCwjHsuG_BhD7sqZzIgIIAQ==]]></Impression>\n            <ViewableImpression>\n                <Viewable><![CDATA[https://integration.BASE-URL.citrusad.com/v1/resource/first-i/shotgun_2DbJUbTdlM3HFvLuF75YoA2FgpwKBQoDMTIzEgAaCwjHsuG_BhD7sqZzIgIIAQ==]]></Viewable>\n                <NotViewable></NotViewable>\n                <ViewUndetermined></ViewUndetermined>\n            </ViewableImpression>\n            <AdTitle>VAST-4.0-Short-Intro.mp4</AdTitle>\n            <Creatives>\n                <Creative>\n                    <UniversalAdId idRegistry=\"http://citrusad.com \" idValue=\"VAST-4.0-Short-Intro.mp4\">VAST-4.0-Short-Intro.mp4</UniversalAdId>\n                    <Linear>\n                        <Duration></Duration>\n                        <MediaFiles>\n                            <MediaFile delivery=\"progressive\" type=\"video/mp4\" width=\"0\" height=\"0\" bitrate=\"0\" codec=\"\"><![CDATA[https://cdn.flavedo.io./citrus/VAST-4.0-Short-Intro.mp4]]></MediaFile>\n                            <Mezzanine><![CDATA[https://cdn.flavedo.io./citrus/VAST-4.0-Short-Intro.mp4]]></Mezzanine>\n                        </MediaFiles>\n                        <VideoClicks>\n                            <ClickTracking><![CDATA[https://integration.BASE-URL.citrusad.com/v1/resource/second-c/shotgun_2DbJUbTdlM3HFvLuF75YoA2FgpwKBQoDMTIzEgAaCwjHsuG_BhD7sqZzIgIIAQ==]]></ClickTracking>\n                            <ClickThrough><![CDATA[a/a-national/everything/browse]]></ClickThrough>\n                        </VideoClicks>\n                    </Linear>\n                </Creative>\n            </Creatives>\n        </InLine>\n    </Ad>\n</VAST>"

       }

      ]

    }

  ]

}
```

### Kompletterande produkter

Om en kampanj har kompletterande produkter konfigurerade innehåller svaret en `companionProducts`matris av objekt som visas nedan::

```
{
  "ads": [
    {
      "contentStandardId": "c47c9ca2-ad3b-48cc-880b-e899c1661726",
      "slotId": "Top_Banner",
      "banners": [
        {
          "citrusAdId": "shotgun_8SvgA7OvvuwtZkkOKR0vr8AXMvQKFgoURmluZ2VybGltZTI2LWZkeHZxMjcSABoMCO30r70GEKPplJQCIgIIAQ==",
          "citrusCampaignName": "Ads:74-330-96832622ed499dafb3da8de8b76340a2",
          "citrusContentStandardId": "c47c9ca2-ad3b-48cc-880b-e899c1661726",
          "citrusSlotId": "Top_Banner",
          "citrusExpiry": "2025-02-12T01:33:33.579155107Z",
          "headingText": "recusandae 3205",
          "bannerText": "placeat 2825",
          "bannerTextColour": "ffffff",
          "ctaFlag": true,
          "ctaText": "CTA text",
          "ctaTextAccessibility": "call to action accessibility text",
          "ctaLink": http://citrusad.com,
          "backgroundColour": "000000",
          "backgroundImage": https://dev3.flavedo.io./citrus/8de07ed9-60b4-4611-8bd5-3f1f0c0b6be4,
          "secondaryBackgroundImage": https://dev3.flavedo.io./citrus/b7a70785-1366-42c6-8134-c7fe47a30c34,
          "secondaryBackgroundImagePosition": "rightaligned",
          "heroImage": https://dev3.flavedo.io./citrus/26798ca9-1022-422d-9100-1a3687c88372,
          "heroImageAltText": "hero image alt text",
          "secondaryHeroImage": https://dev3.flavedo.io./citrus/c4ee18b4-bf51-44d7-9eb6-eeb1dc4c422f,
          "secondaryHeroImageAltText": "secondary hero image alt text",
          "secondaryHeroMode": "landscape",
          "tags": {},
          "additionalFields": [
            {
              "id": "text-1",
              "value": "sed 5731"
            }
          ],
          "gtins": [
            "Fingerlime26-fdxvq27",
            "Oranges5-qgxeb6",
            "Cherries9-adkoj11",
            "Incaberries20-ppscn21",
            "Banana14-simfk15"
          ],
          "sellerId": "seller_id_772_659",
          "position": 1,
          "metadata": {
            "advertiserInfo": {
             "advertiser": "Bob's advertising agency",
             "onBehalfOf": "Brand company inc"
            }
          },
          “companionProducts”: [
            "Banana14-simfk15"
            "Oranges5-qgxeb6",
            "Incaberries20-ppscn21",
          ]
        }
      ]
    }
  ]
}
```

<br>

### Marketplace sellerId

Om du onboarding-försäljer marketplace-säljare kan du se ytterligare en `sellerId` per annons i svaret. Detta visas endast om teamet som äger kampanjen som visas har ett säljar-ID konfigurerat i användargränssnittet. Exemplet nedan visar en annons med ett sellerId, en utan.

```json
{
    "ads": [
        {
            "contentStandardId": "c619d1e2-1435-460b-9d2b-5d838e3dba9c",
            "slotId": "<SLOT_ID>",
            "banners": [
                {
                    "citrusAdId": "shotgun__vW5pOojxDfN7T9VwaXWQLF2wKw3NzE0MTA3",
                    "citrusCampaignName": "CitrusAd-Example-Category-Banner-X-Ad-52793b405f1347b22e72a38c5a08699b",
                    "citrusContentStandardId": "c619d1e2-1435-460b-9d2b-5d838e3dba9c",
                    "citrusSlotId": "<SLOT_ID>",
                    "citrusExpiry": "2021-05-17T02:47:52.849995214Z",
                    "headingText": "Banner Advertisement for Magnum Double Ice Cream with a product image and shop now button",
                    "bannerText": "<strong>Magnum Double Ice Cream</strong>",
                    "bannerTextColour": "6e6c6c",
                    "ctaFlag": true,
                    "ctaText": "Shop now",
                    "ctaTextAccessibility": "for Magnum products",
                    "ctaLink": "https://www.retailer.com/groceries/en-GB/search?query=magnums",
                    "backgroundColour": "e1d6ac",
                    "heroImage": "https://cdn.flavedo.io/s/9b93e7f9-d747-4c8b-bcba-2357b280a3b3",
                    "heroImageAltText": "Magnums",
                    "tags": {},
                    "gtins": [
                        "7714107",
                        "7733636",
                        "7733657",
                        "7163379",
                        "7733628"
                    ],
                    "position": 1,
                    "sellerId": "1ben32-ss3d43-amea"
                }
            ]
        },
        {
            "contentStandardId": "c619d1e2-1435-460b-9d2b-5d838e3dba9c",
            "slotId": "<SLOT_ID>",
            "banners": [
                {
                    "citrusAdId": "shotgun_kZp9yTCMm71vTo7iyQaK9I_YB09FUFYzNzBTQ0FO",
                    "citrusCampaignName": "milo-campaign-lakjsdf09kj",
                    "citrusContentStandardId": "21r372ba-dce6-46f2-bd16-1b923b9189f9",
                    "citrusSlotId": "<SLOT_ID>",
                    "citrusExpiry": "2021-05-17T02:47:52.849995214Z",
                    "headingText": "A banner for Milo with a product image and a shop now button",
                    "bannerText": "<strong>Try Milo Cereal</strong>",
                    "bannerTextColour": "48a94c",
                    "heroImage": "https://assets.imageurl.io/s/85d2d333-eed5-44d7-b131-8851d59f0574",
                    "heroImageAltText": "Milo product image",
                    "ctaFlag": true,
                    "ctaText": "Shop now",
                    "ctaTextAccessibility": "for Milo products",
                    "ctaLink": "retailer.com/everything/search/heritage%20mill?pageNumber=1",
                    "secondaryHeroImage": "https://assets.imageurl.io/s/85d2d333-eed5-44d7-b131-8m435c34r",
                    "secondaryHeroImageAltText": "Milo Logo",
                    "secondaryHeroMode": "landscape",
                    "backgroundColour": "895b5b",
                    "backgroundImage": "https://assets.flavedo.io/s/9c6fa248-c5ff-4341-9833-7e2b08464ada",
                    "backgroundImagePosition": "FILL",
                    "secondaryBackgroundImage": "https://assets.flavedo.io/s/9c6fa248-c5ff-4341-9833-7e2b08464ada",
                    "tags": {},
                    "gtins": [
                         "16309011",
                         "57312011",
                         "65250011"
                                ],
                    "position": 1
                }
            ]
        }
    ]
}
```

### Spårningstaggar från tredje part

Epsilon Retail Media stöder överföring av spårningstaggar från tredje part till återförsäljaren. Dessa taggar används av annonsörer för att verifiera sitt resultat via en betrodd tredje part.

Epsilon Retail Media stöder spårningstaggarna nedan:

* DoubleVerify
* DCM-klick
* DCM-visning
* IAS

Om en kampanj har en spårningstagg konfigurerad visas den som det relevanta fältet i `tags` objektet nedan. Observera att om en kampanj inte har någon tagg konfigurerad kommer `tags` objektet att förbli tomt.

```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 är en server-till-server-integration, spårningstaggar från tredje part kräver ytterligare utveckling av återförsäljaren.

## Rättsakt om digitala tjänster

Epsilon Retail Media hjälper återförsäljare att uppfylla sina skyldigheter gentemot Europeiska unionen (EU) [Rättsakt om digitala tjänster](https://commission.europa.eu/strategy-and-policy/priorities-2019-2024/europe-fit-digital-age/digital-services-act_en) (DSA). DSA etablerar en enhetlig uppsättning regler i hela EU för reglering av onlineinnehåll, transparent annonsering och desinformation. För mer information, se [Rättsakt om digitala tjänster](/retail-media-interface/integration/sv/feature-integrations/digital-services-act.md).

### Exempel på annonsbegäran

```
{
    "catalogId": "57a5318b-5349-46fd-80ed-fd2e0be15819",
    "contentStandardId": "c47c9ca2-ad3b-48cc-880b-e899c1661726",
    "bannerSlotIds": [
        {
            "slotId": "Top_Banner",
            "maxNumberOfAds": 1
        }
    ],
    "customerId": "velit3193",
    "placement": "broad-display-60e9699d-984f-4a80-9383-2e6dc7a68d03",
    "options": {
        "includeAdvertiserInfo": true
    }
}
```

### Exempel på annonssvar

```
{
  "ads": [
    {
      "contentStandardId": "c47c9ca2-ad3b-48cc-880b-e899c1661726",
      "slotId": "Top_Banner",
      "banners": [
        {
          "citrusAdId": "shotgun_8SvgA7OvvuwtZkkOKR0vr8AXMvQKFgoURmluZ2VybGltZTI2LWZkeHZxMjcSABoMCO30r70GEKPplJQCIgIIAQ==",
          "citrusCampaignName": "Ads:74-330-96832622ed499dafb3da8de8b76340a2",
          "citrusContentStandardId": "c47c9ca2-ad3b-48cc-880b-e899c1661726",
          "citrusSlotId": "Top_Banner",
          "citrusExpiry": "2025-02-12T01:33:33.579155107Z",
          "headingText": "recusandae 3205",
          "bannerText": "placeat 2825",
          "bannerTextColour": "ffffff",
          "ctaFlag": true,
          "ctaText": "CTA text",
          "ctaTextAccessibility": "call to action accessibility text",
          "ctaLink": "http://citrusad.com",
          "backgroundColour": "000000",
          "backgroundImage": "https://dev3.flavedo.io./citrus/8de07ed9-60b4-4611-8bd5-3f1f0c0b6be4",
          "secondaryBackgroundImage": "https://dev3.flavedo.io./citrus/b7a70785-1366-42c6-8134-c7fe47a30c34",
          "secondaryBackgroundImagePosition": "rightaligned",
          "heroImage": "https://dev3.flavedo.io./citrus/26798ca9-1022-422d-9100-1a3687c88372",
          "heroImageAltText": "hero image alt text",
          "secondaryHeroImage": "https://dev3.flavedo.io./citrus/c4ee18b4-bf51-44d7-9eb6-eeb1dc4c422f",
          "secondaryHeroImageAltText": "secondary hero image alt text",
          "secondaryHeroMode": "landscape",
          "tags": {},
          "additionalFields": [
            {
              "id": "text-1",
              "value": "sed 5731"
            }
          ],
          "gtins": [
            "Fingerlime26-fdxvq27",
            "Oranges5-qgxeb6",
            "Cherries9-adkoj11",
            "Incaberries20-ppscn21",
            "Banana14-simfk15"
          ],
          "sellerId": "seller_id_772_659",
          "position": 1,
          "metadata": {
            "advertiserInfo": {
             "advertiser": "Bob's advertising agency",
          "onBehalfOf": "Brand company inc"
            }
          }
        }
      ]
    }
  ]
}
```


---

# 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/sv/generating-ads/banner-x-responsive/requesting-banner-x-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.
