# Angebotskette erstellen

Erstellt eine Angebotskette.

Endpoint: POST /v2/project/{project_id}/admin/offer_chain
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):

  - `name` (object,null, required)
    Objekt mit Lokalisierungen für Artikelnamen. Werte können in zwei Formaten angegeben werden: Sprachencode bestehend aus zwei Kleinbuchstaben (z. B. en) oder fünfstelliger Gebietsschemacode (z. B. en-US). Beide Formate werden als Eingabe akzeptiert, als Antwort werden jedoch stets zweistellige Sprachencodes in Kleinbuchstaben zurückgegeben. Wenn für dieselbe Sprache beide Optionen angegeben sind (z. B. en und en-US), wird der zuletzt angegebene Wert gespeichert. Die vollständige Liste der unterstützten Sprachen finden Sie in der [Dokumentation](/de/doc/shop-builder/references/supported-languages/).

  - `order` (integer)
    Definiert die Anordnungsreihenfolge.

  - `description` (object,null)
    Objekt mit Lokalisierungen für Artikelbeschreibungen. Werte können in zwei Formaten angegeben werden: Sprachencode bestehend aus zwei Kleinbuchstaben (z. B. en) oder fünfstelliger Gebietsschemacode (z. B. en-US). Beide Formate werden als Eingabe akzeptiert, als Antwort werden jedoch stets zweistellige Sprachencodes in Kleinbuchstaben zurückgegeben. Wenn für dieselbe Sprache beide Optionen angegeben sind (z. B. en und en-US), wird der zuletzt angegebene Wert gespeichert. Die vollständige Liste der unterstützten Sprachen finden Sie in der [Dokumentation](/de/doc/shop-builder/references/supported-languages/).

  - `date_start` (string, required)
    Datum, an dem die Angebotskette beginnt.

  - `date_end` (string,null)
    Datum, an dem die Angebotskette endet. Kann null sein. Wenn für date_end der Wert null festgelegt ist, ist die Angebotskette zeitlich unbegrenzt.

  - `is_enabled` (boolean, required)

  - `recurrent_schedule` (any)

  - `steps` (array, required)

  - `steps.step_number` (integer, required)
    Schrittnummer.

  - `steps.is_free` (boolean, required)
    Gibt an, ob der Angebotskettenschritt kostenlos ist: Wenntrue festgelegt ist, muss der Schritt mit dem Aufruf Kostenlosen Angebotskettenschritt sichern in Anspruch genommen werden. Wenn false festgelegt ist, muss er über den Aufruf Bestellung für kostenpflichtigen Angebotskettenschritt anlegen erworben werden.

  - `steps.items` (array, required)

  - `steps.items.sku` (string, required)
    Eindeutige Artikel-ID. Die SKU darf nur lateinische Klein- und Großbuchstaben, Ziffern, Punkte, Bindestriche und Unterstriche enthalten.

  - `steps.items.quantity` (integer, required)
    Menge der Belohnungsartikel für diesen Kettenschritt.

  - `steps.items.order` (integer,null)
    Belohnungsreihenfolge für den Angebotskettenschritt.

  - `is_always_visible` (boolean)
    Ob die Kette für alle Nutzer sichtbar ist. Wenn true festgelegt ist, wird die Kette stets angezeigt, unabhängig vom Authentifizierungsstatus oder den Attributen des Nutzers.

Um die Personalisierung konfigurieren zu können, müssen Sie false übermitteln. Die Logik der Kettenanzeige ist wie folgt:
   * Wenn false übermittelt wird und die Sichtbarkeitsbedingungen im Array attribute_conditions angegeben sind, gilt die Kette als personalisiert und wird nur autorisierten Nutzern angezeigt, die die angegebenen Bedingungen erfüllen.
  * Wenn false übermittelt wird und das Array attribute_conditions nicht übermittelt wird oder leer ist, wird die Kette auch nicht autorisierten Nutzern angezeigt. Das Gleiche gilt für Fälle, in denen für den autorisierten Nutzer keine passende Kette gefunden wird.

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

## Response 201 fields (application/json):

  - `offer_chain_id` (integer)
    Example: 10

## 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 `property_name` is required"

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

  - `errorMessageExtended` (object,null)


