# Promocode-Aktion abrufen

Ruft eine angegebene Promocode-Aktion ab.

Endpoint: GET /v3/project/{project_id}/admin/promocode/{external_id}
Version: 2.0.0
Security: basicAuth

## Path parameters:

  - `project_id` (integer, required)
    Projekt-ID. Dieser Parameter wird im Kundenportal neben dem Projektnamen angezeigt sowie in der Adressleiste des Browsers, wenn Sie im Kundenportal ein Projekt geöffnet haben. Die URL hat das folgende Format: https://publisher.xsolla.com//projects/.
    Example: 44056

  - `external_id` (integer, required)
    Externe ID der Werbeaktion. Eindeutige Werbeaktionskennung innerhalb des Projekts.
    Example: "coupon_44056_1"

## Response 200 fields (application/json):

  - `external_id` (string)
    Eindeutige Werbeaktions-ID. Die external_id darf nur lateinische Klein- und Großbuchstaben, Ziffern, Punkte, Bindestriche und Unterstriche enthalten.

  - `promotion_periods` (array)
    Gültigkeitszeitraum der Werbeaktion. Wenn mehrere Zeiträume angegeben sind, sind sowohl date_from als auch date_until erforderlich.

  - `promotion_periods.date_from` (string, required)
    Startdatum für die angegebene Werbeaktion.
    Example: "2020-08-11T10:00:00+03:00"

  - `promotion_periods.date_until` (string,null)
    Enddatum für die angegebene Werbeaktion. Wenn null festgelegt ist, läuft die Werbeaktion unbefristet. Kann nur null sein, wenn ein einzelner Gültigkeitszeitraum angegeben ist.
    Example: "2020-08-11T20:00:00+03:00"

  - `name` (object)
    Name der Werbeaktion. Sollte Schlüssel-Wert-Paare enthalten,
wobei der Schlüssel ein Gebietsschema im Format "^[a–z]{2}-[A–Z]{2}$" und der Wert ein String ist.

  - `bonus` (array,null)

  - `bonus.sku` (string)
    Artikel-SKU.

  - `bonus.quantity` (number)
    Artikelmenge.

  - `is_enabled` (boolean)

  - `redeem_total_limit` (integer,null)
    Begrenzt die Gesamtzahl der Gutscheine.

  - `redeem_user_limit` (integer,null)
    Begrenzt, wie oft ein einzelner Nutzer Gutscheine einlösen darf.

  - `redeem_code_limit` (integer,null)
    Anzahl der Einlösungen pro Code.

  - `discount` (object,null)
    Example: {"discount":{"percent":"10.99"}}

  - `discount.percent` (string,null)
    Prozentualer Rabatt.
Der Preis des Warenkorbs wird um einen Wert verringert, der anhand dieses Prozentsatzes berechnet und dann auf zwei Dezimalstellen gerundet wird.

  - `discounted_items` (array,null)
    Liste der Artikel, die durch einen Promocode rabattiert werden.

  - `discounted_items.sku` (string, required)
    Artikel-SKU.

  - `discounted_items.discount` (object, required)

  - `discounted_items.discount.percent` (string, required)
    Prozentualer Rabatt.

Der Preis des Artikels im Warenkorb wird um einen Wert verringert,
der anhand dieses Prozentsatzes berechnet und dann
auf zwei Dezimalstellen gerundet wird.

  - `total_limit_state` (object,null)
    Limits für jeden einzelnen Promocode.

  - `total_limit_state.available` (integer)
    Wie oft ein Promocode noch eingelöst werden kann.
    Example: 3

  - `total_limit_state.reserved` (integer)
    Die reservierte Nummer eines Promocodes.
    Example: 3

  - `total_limit_state.used` (integer)
    Wie oft ein Promocode eingelöst wurde.
    Example: 5

  - `attribute_conditions` (array)
    Bedingungen für die Validierung von Nutzerattributen.
Steuert die Verfügbarkeit der Werbeaktion basierend darauf, ob die Nutzerattribute alle angegebenen Bedingungen erfüllen.

  - `price_conditions` (array,null)
    Objekt-Array mit Bedingungen für die Preisspanne, innerhalb der die Werbeaktion auf den gesamten Warenkorb angewandt wird.
Der Gesamtpreis aller Artikel im Warenkorb des Nutzers wird mit der in der Bedingung angegebenen Preisspanne verglichen. [Boni](/de/api/shop-builder/operation/create-promo-code/#!path=bonus&t=request) und [Rabatte](/de/api/shop-builder/operation/create-promo-code/#!path=discount&t=request) werden auf alle Artikel im Warenkorb angewandt, wenn die Warenkorbsumme die festgelegte Bedingung erfüllt.
Wenn Sie dieses Array übermitteln, müssen Sie den Wert des Arrays [discounted_items](/de/api/shop-builder/operation/create-promo-code/#!path=discounted_items&t=request) auf null setzen.

  - `price_conditions.operator` (string, required)
    Vergleichsoperator zum Festlegen der Preisspanne für die Anwendung der Werbeaktion.

Mögliche Werte:
- ge – ist größer oder gleich
- gt – ist größer als
- le – ist kleiner oder gleich
- lt – ist kleiner als
- eq – ist gleich
- ne – ist nicht gleich
    Enum: "ge", "gt", "le", "lt", "eq", "ne"

  - `price_conditions.value` (string, required)
    Wert zur Bestimmung der Preisspanne für die Anwendung der Werbeaktion.

  - `item_price_conditions` (array,null)
    Objekt-Array mit Bedingungen für die Preisspanne, innerhalb der die Werbeaktion auf bestimmte Artikel im Warenkorb angewandt wird.
Der Preis der einzelnen Artikel im Warenkorb des Nutzers wird mit der in der Bedingung angegebenen Preisspanne verglichen. [Boni](/de/api/shop-builder/operation/create-promo-code/#!path=bonus&t=request) und [Rabatte](/de/api/shop-builder/operation/create-promo-code/#!path=discount&t=request) werden nur auf die Artikel im Warenkorb angewendet, deren Preis die Bedingung erfüllt.
Wenn Sie dieses Array übermitteln, müssen Sie den Wert des Arrays [discounted_items](/de/api/shop-builder/operation/create-promo-code/#!path=discounted_items&t=request) auf null setzen.

  - `item_price_conditions.operator` (string, required)
    Vergleichsoperator zum Festlegen der Preisspanne für die Anwendung der Werbeaktion.

Mögliche Werte:
- ge – ist größer oder gleich
- gt – ist größer als
- le – ist kleiner oder gleich
- lt – ist kleiner als
- eq – ist gleich
- ne – ist nicht gleich
    Enum: "ge", "gt", "le", "lt", "eq", "ne"

  - `item_price_conditions.value` (string, required)
    Wert zur Bestimmung der Preisspanne für die Anwendung der Werbeaktion.

  - `excluded_promotions` (array)
    Liste der IDs der Werbeaktionen, die bei der Anwendung dieser Werbeaktion ausgeschlossen werden sollen. Example: [12, 789]

## Response 401 fields (application/json):

  - `statusCode` (integer)
    Example: 401

  - `errorCode` (integer)
    Example: 1020

  - `errorMessage` (string)
    Example: "[0401-1020]: Error in Authentication method occurred"

## Response 404 fields (application/json):

  - `statusCode` (integer)
    Example: 404

  - `errorCode` (integer)
    Example: 4001

  - `errorMessage` (string)
    Example: "[0401-9802]: Promocode not found"

  - `transactionId` (string)
    Example: "x-x-x-x-transactionId-mock-x-x-x"


