> 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/hu/brand-pages/brand-page-retailer-integration-guide/brand-page-apis.md).

# Márkaoldal API-k

## URL-irányítás

Amikor a felhasználó egy márkaoldal URL-jére navigál, az alkalmazás kinyeri a(z) `urlSlug` értéket az útvonalból, és elküldi a hirdetéskiszolgáló API-nak.

URL-struktúra: `<https://{your-domain}/{prefix}/{urlSlug}>`

| Szegmens      | Forrás                                                 | Példa              |
| ------------- | ------------------------------------------------------ | ------------------ |
| `your-domain` | Az Ön webhelye                                         | `www.retailer.com` |
| `prefix`      | Az onboarding során konfigurálva (pl. márkák, oldalak) | `brands`           |
| `urlSlug`     | Futásidőben kinyerve az URL-útvonalból                 | `adidas`           |

**Példa**

Amikor egy felhasználó meglátogatja: `<https://www.retailer.com/brands/adidas:>`

1. Az Ön alkalmazása illeszti a(z) `/brands/*` útvonalat.
2. Kinyeri a(z) `adidas`értéket mint urlSlug.
3. Meghívja a(z) `POST /ads/v3/brand-pages` értéket a kijelölt hirdetési gazdagépén a következőkkel: `"urlSlug": "adidas"` és az Ön `catalogId`.
4. Rendereli a visszaküldött tartalommodulokat az oldalon.

### Slug validálási szabályok

A márkák a következő megkötések figyelembevételével hoznak létre slugokat:

* **Karakterek:** Kisbetűk (a–z), számok (0–9), kötőjelek (-) és alulvonások (\_).
* **Hossz:** Minimum 3 karakter, maximum 100 karakter.
* **Egyediség:** Egyedinek kell lennie a kiskereskedő katalógusán belül (`catalogId`).

{% hint style="info" %}
Jelenleg a slug egyedisége nem veszi figyelembe a kampányok dátumtartományait.
{% endhint %}

* **Módosíthatatlanság:** A márkaoldal-kampány élesítése után nem módosítható.
* **Formátum:** Nem tartalmazhat kezdő vagy záró kötőjelet (például: `-adidas`or `adidas-` nem engedélyezettek).

## Fastárazás

* Ne gyorsítótárazza a hirdetéskiszolgáló API válaszait. A kéréseket mindig közvetlenül a(z) Epsilon API-nak küldje el a következők biztosítása érdekében:
  * A megfelelő márkaoldal-kampány kerül kiszolgálásra (a kampányok szüneteltethetők, frissíthetők vagy lecserélhetők).
  * A követési URL-ek friss, kérésenkénti azonosítókat tartalmaznak a pontos attribúció érdekében.
  * A megjelenítések száma pontos marad, és nem befolyásolják az elavult gyorsítótárazott válaszok.

**SEO szempont**: A kiskereskedők dönthetnek úgy, hogy engedélyezik a márkaoldalak keresőmotorok általi indexelését. A márkaoldal tartalmának indexelése javíthatja az organikus keresési láthatóságot, mivel az oldalon található összes szöveg felfedezhetővé válik a keresőmotorok számára.

## Reverse proxy beállítása

### Miért van szükség reverse proxyra?

**A probléma**: A hirdetésblokkolók és az adatvédelmi eszközök gyakran blokkolják a közvetlenül a hirdetési tartományokba küldött követési kéréseket.

**A megoldás**: Irányítson minden követési kérést a saját tartományán keresztül, hogy azok első féltől származó adatforgalomként jelenjenek meg.

```apache
❌ Blocked: user-browser → [third-party-tracking-domain]
✅ Works:   user-browser → yoursite.com/[custom-path] → [third-party-tracking-domain]
```

* Cserélje ki a(z) `[third-party-tracking-domain]` értéket az onboarding során megadott tényleges Epsilon követési végpontra.
* Cserélje ki a(z) `[custom-path]` egy semleges, egyedi útvonallal (pl., `/media-proxy`, `/assets-endpoint`, vagy bármilyen nem hirdetési kifejezéssel).

A reverse proxy szükséges a C2S (böngésző) követéshez. Nem vonatkozik az S2S hívásokra, amelyeket közvetlenül a(z) Epsilon követési gazdagépnek [kell elküldeni (lásd: Követés – Szerverek közötti (S2S)](/retail-media-interface/integration/hu/brand-pages/brand-page-retailer-integration-guide/tracking-attribution.md#tracking--servertoserver-s2s))).

### Konfiguráció

Webhelyének egy reverse proxyt kell hosztolnia egy olyan útvonal alatt, mint például `https://www.retailer.com/{proxyPath}/`. Az Ön tartományára erre az útvonalra érkező böngészős (C2S) követési kérések átirányításra kerülnek a regionális követési gazdagépre ([lásd: Ad Serving API](#ad-serving-api)). A szerverek közötti követés nem használhatja ezt a proxyt.

**Viselkedés:**

* Kérések elfogadása a következő alatt: `/epsilon/`
* Továbbítás ide: `https://[region]-tracking.rmn.dotomi.com/` (lásd: [Ad Serving API](#ad-serving-api) a következőhöz: `[region]`)
* Fájlútvonal-utótag megőrzése
* Kötelező HTTP-fejlécek továbbítása
* HTTPS (TLS 1.2+) kikényszerítése

### Kötelező fejlécek

| Fejléc                     | Leírás                                  |
| -------------------------- | --------------------------------------- |
| `RP-Host`                  | A követési kérést fogadó gazdagépnév.   |
| `X-Forwarded-For`          | Tényleges ügyfél IP-címe.               |
| `X-Forwarded-Request-Path` | Proxy előtag útvonala (pl. /epsilon).   |
| `Referer`                  | Az az oldal, ahol a pixel aktiválódott. |

### Apache példa

```apache
LoadModule ssl_module modules/mod_ssl.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
SSLProxyEngine on
RequestHeader add "X-Forwarded-Request-Path" "/epsilon"
RequestHeader add "RP-Host" "%{HTTP_HOST}s"
RequestHeader add "Referer" "%{HTTP_REFERER}s"
ProxyPass "/epsilon" "https://[region]-tracking.rmn.dotomi.com"
ProxyPassReverse "/epsilon" "https://[region]-tracking.rmn.dotomi.com/"
```

### NGINX példa

```apache
server {
    server_name www.retailer.com;
    location /epsilon/ {
        proxy_ssl_server_name on;
        rewrite ^/epsilon/(.*) /$1 break;
        proxy_pass https://[region]-tracking.rmn.dotomi.com;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $server_name;
        proxy_set_header RP-Host $host;
        proxy_set_header X-Forwarded-Request-Path "/epsilon";
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Referer $http_referer;
    }
}
```

## Ad Serving API

Epsilon márkaoldalakat szolgál ki az RMN-gazdagépekről a következőkön: `*.rmn.dotomi.com`. Cserélje ki a következőt: `[region]` a szegmenssel, Epsilon rendel hozzá a telepítéséhez.

A hirdetési API a következőt használja: `https://[region]-ads.rmn.dotomi.com`; míg a követési végpontok (impressziópixelek, kattintási átirányítások és S2S értesítési URL-ek) a következőt használják: `https://[region]-tracking.rmn.dotomi.com` ugyanazzal a dallal `[region]` érték.

Néhány beállításnál az alapértelmezett gazdanevek `ads.rmn.dotomi.com` és `tracking.rmn.dotomi.com` használhatók. Epsilon megerősíti a környezetének megfelelő gazdaneveket.

### Végpont

```
POST https://[region]-ads.rmn.dotomi.com/ads/v3/brand-pages
Content-Type: application/json
Authorization: Basic <existing_api_key>
```

### Kérés törzse

```
{
  "id": "req-adidas-12345",
  "catalogId": "test-catalog-adidas",
  "urlSlug": "adidas",
  "site": {
    "domain": "www.retailer.com",
    "page": "https://www.retailer.com/brand/adidas",
    "ref": "https://www.retailer.com/search?q=shoes"
  },
  "device": {
    "ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 ...",
    "ip": "192.168.1.100",
    "language": "en-US",
    "devicetype": 2,
    "os": "macOS",
    "geo": {
      "country": "USA",
      "region": "CA",
      "city": "San Francisco",
      "zip": "94105"
    }
  },
  "user": {
    "sessionId": "sess-abc123xyz",
    "customerId": "cust-789012",
    "dtmId": "dtm-456def"
  },
  "regs": {
    "gdpr": 1,
    "consent": "COwJqZAOwJqZAOAAAAENAXCAAAAAAAAAAAAAABpoAIAAAEpgAIAAAg1AAAICAIAAAEA"
  }
}
```

A `regs` fenti értékek a GDPR alá tartozó forgalmat szemléltetik:\
`gdpr` is `1`, és `consent`egy **szintetikus IAB TCF v2 beleegyezési karakterlánc** (csak a megfelelő alak és karakterkészlet).

Éles környezetben:

* Állítsa be a következőt: `gdpr`a földrajzi és jogi szabályai alapján.
* Adja át az **élő TC-karakterláncot** a CMP-jéből (például a következőn keresztül: `_ _tcfapi` `getTCData`→ `tcString`).

Nem GDPR alá tartozó kérések esetén használja a következőt: `"gdpr": 0` és hagyja el a következőt: `consent`vagy használja a következőt: `""`

`iabConsentString` a követési eseményeken: Minden kitöltött követőhely (`trackers.impression`, `trackers.click`, `trackers.addToCart`) tartalmazza a következőt: `params.iabConsentString`. Amikor megadja a következőt: `regs.consent` a kérésben, ez az érték a szó szerinti TC-karakterlánc.

Ha elhagyta a következőt: `regs.consent`, ez az érték a {TCF} makró helyőrzője – cserélje ki a CMP-ből származó aktuális TCF v2 karakterlánccal (például a következőn keresztül: `__tcfapi getTCData` → `tcString`) a kiváltás időpontjában, mielőtt bármilyen követési kérést elküldene.

### Kérés meződefiníciói

| Mező                 | Típus   | Kötelező | Leírás                                                                                                                                                                                 |
| -------------------- | ------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id`                 | string  | Igen     | Egyedi kérésazonosító (a kiskereskedő által generálva)                                                                                                                                 |
| `catalogId`          | string  | Igen     | A kiskereskedő termékkatalógus-azonosítója (megadva: Epsilon)                                                                                                                          |
| `urlSlug`            | string  | Igen     | Márkaoldal URL-azonosítója (pl. adidas)                                                                                                                                                |
| site                 |         |          |                                                                                                                                                                                        |
| `site.domain`        | string  | Igen     | Kiskereskedő webhelyének domainje                                                                                                                                                      |
| `site.page`          | string  | No       | Teljes URL, ahol a márkaoldal megjelenik                                                                                                                                               |
| `site.ref`           | string  | No       | Ajánló URL (ahonnan a felhasználó navigált)                                                                                                                                            |
| device               |         |          |                                                                                                                                                                                        |
| `device.ua`          | string  | Igen     | User agent karakterlánc                                                                                                                                                                |
| `device.ip`          | string  | No       | Kliens IP-címe                                                                                                                                                                         |
| `device.language`    | string  | No       | Böngésző nyelve (pl. en-US)                                                                                                                                                            |
| `device.devicetype`  | integer | No       | 1=mobil, 2=pc, 4=telefon, 5=táblagép                                                                                                                                                   |
| `device.os`          | string  | No       | Operációs rendszer                                                                                                                                                                     |
| `device.geo.country` | string  | No       | ISO 3166-1 alpha-3 országkód (pl. USA, GBR)                                                                                                                                            |
| `device.geo.region`  | string  | No       | Állam vagy régió                                                                                                                                                                       |
| `device.geo.city`    | string  | No       | Város                                                                                                                                                                                  |
| `device.geo.zip`     | string  | No       | Irányítószám                                                                                                                                                                           |
| user                 |         |          |                                                                                                                                                                                        |
| `user.sessionId`     | string  | No       | Kiskereskedelmi munkamenet-azonosító (nem PII)                                                                                                                                         |
| `user.customerId`    | string  | No       | Kiskereskedelmi ügyfélazonosító (nem PII)                                                                                                                                              |
| `user.dtmId`         | string  | No       | Követési azonosító                                                                                                                                                                     |
| regs                 |         |          |                                                                                                                                                                                        |
| `regs.gdpr`          | integer | No       | `0` = A GDPR nem alkalmazandó, `1` = A GDPR érvényes (az OpenRTB-stílusú jelzés szerint)                                                                                               |
| `regs.consent`       | string  | No       | IAB TCF **v2** beleegyezési karakterlánc (`tcString` a CMP-től). Csak akkor használja, ha `gdpr` is `1` és rendelkezik érvényes karakterlánccal; ellenkező esetben hagyja ki, vagy`""` |

{% hint style="danger" %}
**Fontos** Az alábbi JSON egy reprezentatív és meglehetősen teljes példa. A élő válaszok gyakran hiányosabbak a következők tekintetében: `contentData` modulok. Ne hozzon létre olyan fix struktúrákat, amelyek feltételezik, hogy az itt látható minden kulcs mindig jelen van minden `contentType` vagy márkaoldal esetén.\
A `theme` eltérő: sikeres válasz esetén mindig jelen van, és a Theme Object szakaszban leírt beágyazott struktúrát használja (`colors`és `buttons` fully populated - kötelező hex6 karakterláncok minden útvonalhoz; nincs `nulls` belül `theme`).
{% endhint %}

### Válasz hasznos teher

```
{
  "realizedAdId": "brandpage_djogXfHSYGZOZnnkzEKunWvdNYEKABIAGgwIwIPjzAYQ3byasAE=",
  "brandPageTemplateId": "6e9690ef-81d1-4fad-b2ce-749e22cceb10",
  "catalogId": "test-catalog-adidas",
  "urlSlug": "adidas",
  "theme": {
    "colors": {
      "background": "#F5F5F5",
      "text": {
        "heading": "#1a1a1a",
        "subheading": "#333333",
        "body": "#5f6368",
        "caption": "#9aa0a6",
        "link": "#1a73e8",
        "tagline": "#5f6368",
        "lines": "#e0e0e0"
      }
    },
    "buttons": {
      "primary": {
        "background": "#ff6600",
        "text": "#FFFFFF"
      },
      "secondary": {
        "background": "#FFFFFF",
        "text": "#ff6600"
      }
    }
  },
  "trackers": {
    "impression": {
      "type": "impression",
      "params": { "ts": "{TS}", "iabConsentString": "{TCF}" }
    }
  },
  "trackingTypes": {
    "impression":      ["client.impressionPixelUrls", "server.impressionEvent"],
    "productClick":    ["client.clickRedirect", "client.clickEvent", "server.clickEvent"],
    "productAddToCart": ["client.addToCartEvent", "server.addToCartEvent"],
    "link":            ["client.clickRedirect", "client.clickEvent", "server.clickEvent"],
    "interaction":     ["client.clickEvent", "server.clickEvent"]
  },
  "trackingTemplates": {
    "client": {
      "clickRedirect":       "/tracking/v3/click/redirect/brandpage_djog...?catalogId=test-catalog-adidas&...",
      "clickEvent":          "/tracking/v3/event/click/brandpage_djog...?catalogId=test-catalog-adidas&...",
      "addToCartEvent":      "/tracking/v3/event/add-to-cart/brandpage_djog...?catalogId=test-catalog-adidas&...",
      "impressionPixelUrls": [
        "/tracking/v3/impression/pixel/brandpage_djog...?catalogId=test-catalog-adidas&..."
      ]
    },
    "server": {
      "clickEvent":          "https://[region]-tracking.rmn.dotomi.com/tracking/v3/event/click/brandpage_djog...?...",
      "addToCartEvent":      "https://[region]-tracking.rmn.dotomi.com/tracking/v3/event/add-to-cart/brandpage_djog...?...",
      "impressionEvent":     "https://[region]-tracking.rmn.dotomi.com/tracking/v3/event/impression/brandpage_djog...?..."
    }
  },
  "contentData": [
    {
      "id": "hero-1",
      "brandPageModuleTemplateId": "hero-template-1",
      "contentType": "HERO",
      "order": 1,
      "tags": ["header"],
      "mediaUrl": "https://example.com/images/adidas-hero.jpg",
      "headline": "Impossible Is Nothing",
      "subheadline": "Spring Collection",
      "ctaText": "Explore",
      "ctaLink": "https://example.com/adidas/explore",
      "trackers": {
        "click": {
          "type": "link",
          "params": {
            "modId": "hero-1",
            "rurl": "https%3A%2F%2Fexample.com%2Fadidas%2Fexplore",
            "ts": "{TS}",
            "iabConsentString": "{TCF}"
          }
        }
      }
    },
    {
      "id": "text-1",
      "brandPageModuleTemplateId": "text-template-1",
      "contentType": "TEXT",
      "order": 2,
      "text": "Discover the latest Adidas collection featuring innovative designs and sustainable materials."
      // (No trackers for TEXT module, as it has no interactive elements)
    }
  ]
}
```

#### Válaszmező-definíciók

| Mező                                      | Típus                 | Leírás                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ----------------------------------------- | --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `realizedAdId`                            | string                | Egyedi hirdetésazonosító ehhez a márkaoldal-kiszolgáláshoz. Minden követési sablonútvonalban használatos.                                                                                                                                                                                                                                                                                                                                                                    |
| `brandPageTemplateId`                     | string                | Ehhez a márkaoldalhoz használt sablon-ID                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `catalogId`                               | string                | Kereskedői katalógus-ID (visszhangozva a kérésből)                                                                                                                                                                                                                                                                                                                                                                                                                           |
| `urlSlug`                                 | string                | Márkaoldal URL-slugja (visszhangozva a kérésből)                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `theme`                                   | Objektum              | <p>Siker esetén mindig jelen van. Oldalszintű stílus a márkától: beágyazott <code>colors</code> (háttér + <code>text</code> szerepkörök) és <code>buttons</code>(<code>primary</code>/ <code>secondary</code>, mindegyik a következőkkel: <code>background</code>és <code>text</code>). Lásd a <a href="#theme-object">Theme Object</a> szakaszt.<br>A válasz törzse az ad server által szerializált formában tér vissza (nincs köztes átalakítása a <code>theme</code>)</p> |
| `trackers`                                | objektumnak           | Oldalszintű követési konténer. `trackers.impression` tartalmazza az oldalmegjelenítési slotot: `type: "impression"` és `params` beleértve legalább a következőt: `ts: "`{TS}`"` és `iabConsentString`.                                                                                                                                                                                                                                                                       |
| `trackingTypes`                           | objektumnak           | A követési típusok leképezése az alkalmazandó sablonkulcsokra. Típusok: `impression`, `productClick`, `productAddToCart`, `link`, `interaction`Minden érték egy tömb a következők kulcsaiból: `client.*/` `server.*` kulcsok innen: `trackingTemplates`. (lásd [Követési URL összeállítása](/retail-media-interface/integration/hu/brand-pages/brand-page-retailer-integration-guide/tracking-attribution.md#how-to-compose-a-tracking-url)).                                |
| `trackingTemplates.client`                | objektumnak           | **Relatív** URL-útvonalak és lekérdezési karakterláncok böngészős (C2S) követéshez - szúrja be elé a fordított proxy alapértelmezett URL-címét (`BASEURL`).                                                                                                                                                                                                                                                                                                                  |
| `trackingTemplates.server`                | objektumnak           | Abszolút\*\* URL-sablonok a Epsilon S2S követési gazdagépén.                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `contentData[]`                           | tömb                  | A megjelenítendő tartalommodulok rendezett tömbje                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `contentData[].id`                        | string                | Modulpéldány azonosítója                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `contentData[].brandPageModuleTemplateId` | string                | Modulsablon azonosítója                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `contentData[].contentType`               | string                | Modultípus: HERO, TEXT, FILTER\_MENU, PRODUCT\_GRID, IMAGE, IMAGE\_GALLERY, SPLIT\_LAYOUT                                                                                                                                                                                                                                                                                                                                                                                    |
| `contentData[].order`                     | integer               | Megjelenítési sorrend (növekvő)                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `contentData[].tags`                      | karakterláncok tömbje | Opcionális. A kereskedő által a sablonban beállított modulcímkék. Teljesen hiányzik, ha nincsenek címkék beállítva - a hiányzót tekintse úgy, mint "nincs címke". A SPLIT\_LAYOUT struktúrán belüli beágyazott modulokon is jelen van.                                                                                                                                                                                                                                       |
| `contentData[].trackers`                  | objektumnak           | Ha jelen van, csomópontonkénti követési konténer. `trackers.click` hivatkozási/interakciós/termékkattintási eseményekhez; `trackers.addToCart` a termék kosárba helyezéséhez (tartalmazza a {QTY} és {CONVERSION\_VALUE} makrókat). Elhagyható, ha nincs mit követni.                                                                                                                                                                                                        |

### Témaobjektum

Minden sikeres Brand Page API-válasz tartalmaz egy `theme` objektumot: a márkához beállított oldalszintű színeket és gombstílusokat. Alkalmazza ezeket az értékeket a megjelenítéskor (például rendelje hozzá őket CSS egyéni tulajdonságokhoz vagy a meglévő designtokenjeihez). A JSON-t a hirdetéskiszolgáló hozza létre, és az így kapott formában kerül kézbesítésre – nincs külön lépés, amely átírná a `theme`értékét.

**Színformátum:** A téma színértékei a felsőbb szintű (kampány/konfigurációs) platform-megállapodást követik: mindegyik érték egy `#` melyet hat tizenhatos számrendszerbeli számjegy követ (hex6), például: `#ff6600`. Ne számítson más formátumokra (rövid hex3, nyolcjegyű hex, `rgb()`, `hsl()`vagy megnevezett színek). A hirdetéskiszolgáló a kiszolgáláskor nem ellenőrzi újra a színformátumot; a felsőbb szint hex6 értéket biztosít minden tégamezőhöz.

#### Szerkezet és szemantika

* `theme` tartalmazza a következőket: `colors` és `buttons` - mindkettő kötelező, amikor a(z) `theme` jelen van.
* `colors.background` - az oldal vagy a vászon háttere (kötelező hex6).
* `colors.text` - hét kötelező szerepkör: `heading`, `subheading`, `body`, `caption`, `link`, `tagline`, `lines` (sorok/elválasztók). Mindegyik érték egy hex6 karakterlánc.
* `buttons.primary` és `buttons.secondary` - mindegyikhez szükséges `background` és `text` (gombkitöltési és címkeszínek), mindegyik egy hex6 karakterlánc.
* Az alábbi mezőreferencia-táblázat minden útvonala kötelező. Nincsenek opcionális színhelyek és nincsenek `null` értékek a következőkön belül: `theme`. (A hiányos vagy kihagyott mezők máshol érvényesek, például a `contentData` modulokban.)
* A `theme` oldalszintű - a Márkaoldal minden modulja ugyanazt a témát használja.

#### Mezőreferencia

A táblázat minden útvonala kötelező (nem null értékű hex6 karakterlánc).

| Útvonal                              | Leírás                        |
| ------------------------------------ | ----------------------------- |
| `theme.colors.background`            | Oldal/vászon háttere          |
| `theme.colors.text.heading`          | Címsor szövege                |
| `theme.colors.text.subheading`       | Alcím szövege                 |
| `theme.colors.text.body`             | Törzsszöveg/bekezdés szövege  |
| `theme.colors.text.caption`          | Képaláírás/másodlagos szöveg  |
| `theme.colors.text.link`             | Hivatkozás szövege            |
| `theme.colors.text.tagline`          | Szlogen szövege               |
| `theme.colors.text.lines`            | Sorok és elválasztók          |
| `theme.buttons.primary.background`   | Elsődleges CTA gomb kitöltése |
| `theme.buttons.primary.text`         | Elsődleges CTA gomb címkéje   |
| `theme.buttons.secondary.background` | Másodlagos gomb kitöltése     |
| `theme.buttons.secondary.text`       | Másodlagos gomb címkéje       |

Példa - (`theme`objektum csak):

```json
"theme": {
  "colors": {
    "background": "#F5F5F5",
    "text": {
      "heading": "#1a1a1a",
      "subheading": "#333333",
      "body": "#5f6368",
      "caption": "#9aa0a6",
      "link": "#1a73e8",
      "tagline": "#5f6368",
      "lines": "#e0e0e0"
    }
  },
  "buttons": {
    "primary": {
      "background": "#ff6600",
      "text": "#FFFFFF"
    },
    "secondary": {
      "background": "#FFFFFF",
      "text": "#ff6600"
    }
  }
}
```

#### Csomópontonkénti `params`(jellemző kulcsok)

| Paraméter          | Mikor használatos                                       | Leírás                                                                                                                                                                      |
| ------------------ | ------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `modId`            | A legtöbb interaktív csomópont                          | Tartalommodul vagy sor azonosítója.                                                                                                                                         |
| `rurl`             | `link` / `productClick`amikor átirányításra van szükség | URL-kódolt cél                                                                                                                                                              |
| `ts`               | A legtöbb esemény                                       | Fastárazást megkerülő időbélyeg; helyettesítse a `"{TS}"`következőt a sütés/elsütés időpontjában.                                                                           |
| `iabConsentString` | Minden követőhely                                       | Szó szerinti TC karakterlánc, vagy {TCF} makró, amelyet a sütés/elsütés időpontjában kell helyettesíteni                                                                    |
| `productCode`      | `productClick` / `productAddToCart`                     | Termékazonosító.                                                                                                                                                            |
| `sellerId`         | `productClick` / `productAddToCart` (marketplace)       | Eladó azonosítója.                                                                                                                                                          |
| `qty`              | `productAddToCart`                                      | A SKU abszolút mennyisége a kosárban az esemény elsütésének időpontjában (nem delta). Helyettesítse a {QTY} makrót az elsütés időpontjában                                  |
| `conVal`           | `productAddToCart`                                      | Ezen tételek abszolút pénzbeli értéke: mennyiség × egységár, csökkentve az alkalmazott kedvezményekkel. Helyettesítse a `{CONVERSION_VALUE}` makrót az elsütés időpontjában |

#### Sablonfüggő mezők a következőkben: `contentData`

Az egyes modulok alapvető megkülönböztetőin kívül (`id`, `brandPageModuleTemplateId`, `contentType`, `order`), a tulajdonságok megléte nem egységes a Márkaoldalakon. Előnyben kell részesíteni a funkcióészlelést - használat előtt ellenőrizzen minden tulajdonságot - ahelyett, hogy a példákban szereplő minden mezőt kötelezőként kezelne.

Az API a "nincs érték" állapotot többféleképpen is reprezentálhatja:

| Minta             | Jelentés                                             | Javasolt kezelés                                                               |
| ----------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------ |
| Kulcs kihagyva    | A tulajdonság hiányzik a JSON objektumból            | Kezelje hiányzóként; használjon opcionális láncolást/alapértelmezett értékeket |
| Kifejezett `null` | A tulajdonság jelen van a következővel: `null` érték | Ugyanaz, mint a kihagyott, hacsak a szerializáló nem tesz különbséget közöttük |
| Üres karakterlánc | `""` szöveges vagy URL-szerű mezőkhöz                | Általában rejtse el vagy hagyja ki a UI ezen részének megjelenítését           |

#### Példák a gyakori modultípusokra

**Termékrács:**

Minden terméksor tartalmaz egy `product` objektum (`catalogId`, `productCode`, `sellerId`), an `order` érték, és `trackers` amikor a sor nyomon követhető. A terméksorok mindkettőt biztosítják: `click` hely (`type: "productClick"`) és egy `addToCart`hely (`type: "productAddToCart"`) amikor a SKU hozzárendelhető.

```

{
  "product": {
    "catalogId": "550e8400-e29b-41d4-a716-446655440001",
    "productCode": "9221200653341",
    "sellerId": "2ae0aab9-44ce-40a0-b2b9-ae61681ad224"
  },
  "order": 1,
  "trackers": {
    "click": {
      "type": "productClick",
      "params": {
        "modId": "grid-1",
        "productCode": "9221200653341",
        "sellerId": "2ae0aab9-44ce-40a0-b2b9-ae61681ad224",
        "rurl": "{RURL}",
        "ts": "{TS}",
        "iabConsentString": "{TCF}"
      }
    },
    "addToCart": {
      "type": "productAddToCart",
      "params": {
        "modId": "grid-1",
        "productCode": "9221200653341",
        "sellerId": "2ae0aab9-44ce-40a0-b2b9-ae61681ad224",
        "rurl": "{RURL}",
        "ts": "{TS}",
        "qty": "{QTY}",
        "conVal": "{CONVERSION_VALUE}",
        "iabConsentString": "{TCF}"
      }
    }
  }
}

```

**Hero:**

Címsor, alcím, CTA-szöveg és hivatkozás, kép, átfedés és `trackers.click` a CTA-hoz, ha jelen van.

```

{
  "contentType": "HERO",
  "tags": [
    "header"
  ],
  "mediaUrl": "https://example.com/images/adidas-hero.jpg",
  "headline": "Impossible Is Nothing",
  "subheadline": "Spring Collection",
  "ctaText": "Explore",
  "ctaLink": "https://example.com/adidas/explore",
  "trackers": {
    "click": {
      "type": "link",
      "params": {
        "modId": "hero-1",
        "rurl": "https%3A%2F%2Fexample.com%2Fadidas%2Fexplore",
        "ts": "{TS}",
        "iabConsentString": "{TCF}"
      }
    }
  }
}

```

**Képgaléria:**

Képek tömbje, mindegyik URL-lel, alternatív szöveggel és képaláírással. `trackers.click` csak akkor egy képhez, ha az a kép külső hivatkozást tartalmaz.

```
{
  "contentType": "IMAGE_GALLERY",
  "galleryImages": [
    {
      "url": "https://example.com/images/recipe-spaghetti-bolognese.jpg",
      "alt": "Spaghetti Bolognese",
      "caption": "Spaghetti Bolognese",
      "trackers": {
        "click": {
          "type": "link",
          "params": {
            "modId": "gallery-1",
            "rurl": "https%3A%2F%2Fexample.com%2Frecipes%2Fspaghetti",
            "ts": "{TS}",
            "iabConsentString": "{TCF}"
          }
        }
      }
    }
  ]
}
```

**Szöveg:**

Címsor és törzsszöveg, amely nem tartalmaz `trackers`hacsak egy sorban nem szerepel hivatkozás.

```
{
  "contentType": "TEXT",
  "text": "Explore our newest arrivals designed for comfort, style, and performance."
}
```

**Kép:**

Tartalmazza a kép URL-jét, a képaláírást, az alternatív szöveget, az opcionális hivatkozást és a `trackers.click` részleteket, ha a kép kattintható

```
{
  "contentType": "IMAGE",
  "imageUrl": "https://example.com/images/model.jpg",
  "caption": "New arrivals now available",
  "alt": "Model wearing summer collection",
  "trackers": { "click": { "type": "link", "params": { "modId": "image-1", "rurl": "https%3A%2F%2Fexample.com%2Fnew-arrivals", "ts": "{TS}", "iabConsentString": "{TCF}"
  }
}
```


---

# 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/hu/brand-pages/brand-page-retailer-integration-guide/brand-page-apis.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.
