# Bonusaktion erstellen

Erstellt die Bonusaktion.

Die Werbeaktion gewährt dem Nutzer beim Kauf zusätzlich kostenlose Bonusartikel.
Die Werbeaktion kann bei jedem Kauf innerhalb eines Projekts oder bei einem Kauf, der bestimmte Artikel umfasst, gelten.

Endpoint: POST /v3/project/{project_id}/admin/promotion/bonus
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

## Request fields (application/json):

  - `id` (integer)
    Werbeaktions-ID. Eindeutige Werbeaktionskennung innerhalb des Projekts.

  - `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, required)
    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.
    Example: {"en-US":"Summer season bonus","de-DE":"Sommersaison Bonus"}

  - `condition` (array,null, required)
    Die zu kaufenden Artikel, damit eine Werbeaktion greifen kann. Ist dieser Parameter auf null gestellt, greift die Werbeaktion bei allen Käufen innerhalb eines Projekts.

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

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

  - `bonus` (array,null, required)

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

  - `bonus.quantity` (number)
    Artikelmenge.

  - `limits` (object)
    Werbebeschränkungen.

  - `limits.per_user` (integer,null)
    Werbebeschränkungen für einen separaten Nutzer.

  - `limits.recurrent_schedule` (object,null)
    Aktualisierungszeitraum begrenzen.

  - `limits.recurrent_schedule.per_user` (any)
    Aktualisierungszeitraum für das Nutzerlimit.

  - `price_conditions` (array,null)
    Objekt-Array mit Bedingungen für die Preisspanne, innerhalb der die Werbeaktion angewandt wird. Die Aktion wird nur auf Artikel angewandt, deren Preis alle in dem Array aufgelisteten Bedingungen erfüllt. Wenn Sie dieses Array übermitteln, müssen Sie den Wert des Objekts [condition](/de/api/shop-builder/operation/create-bonus-promotion/#!path=condition&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.

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

  - `is_enabled` (boolean)
    Ob die Werbeaktion aktiviert ist oder nicht.

## Response 201 fields (application/json):

  - `promotion_id` (integer)
    Werbeaktions-ID. Eindeutige Werbeaktionskennung innerhalb des Projekts.

## Response 401 fields (application/json):

  - `statusCode` (integer)
    Example: 401

  - `errorCode` (integer)
    Example: 1020

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

## Response 422 fields (application/json):

  - `statusCode` (integer)
    Example: 422

  - `errorCode` (integer)
    Example: 1102

  - `errorMessage` (string)
    Example: "[0401-1102]:  Unprocessable Entity. The property `bonus` is required"

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


