Zum Inhalt springen

Überblick

LiveOps ist ein Toolkit, mit dem sich die Spielerbindung durch Werbeaktionen und personalisierte Angebote steigern lässt.

Mit der API lassen sich die folgenden Funktionen steuern:

  • Werbeaktionen – Erstellen und Verwalten von Gutscheinen, Promocodes, Rabatten und Bonuskampagnen.
  • Personalisierung – Festlegen von Bedingungen für die Anzeige des Artikelkatalogs und die Inanspruchnahme von Werbeaktionen für bestimmte autorisierte Nutzer.
  • Werbeaktionslimits – Festlegen, wie oft eine Werbeaktion von einem Nutzer in Anspruch genommen werden darf und wann diese Limits zurückgesetzt werden.
  • Belohnungsketten und Wertpunkte — Konfigurieren von Belohnungsketten, wobei das Durchlaufen dieser Ketten an das Sammeln von Wertpunkten gekoppelt ist.
  • Tägliche Ketten – Einrichten von wiederkehrenden täglichen Belohnungen, um Nutzer zu motivieren, sich regelmäßig anzumelden.
  • Angebotsketten – Erstellen von aufeinanderfolgenden Kaufangeboten mit gestaffelten Preisen und kostenlosen Belohnungen.
  • Upselling – Verkaufsmethode, bei der dem Nutzer ein Artikel mit zusätzlichem Mehrwert zum Kauf angeboten wird.

API-Aufrufe

Die API ist in die folgenden Gruppen unterteilt:

  • Admin – Aufrufe zum Erstellen, Aktualisieren, Aktivieren und Löschen von Kampagnen und Kettenkonfigurationen. Die Authentifizierung erfolgt über Basisauthentifizierung mit Ihren Händler- oder Projektanmeldedaten.
  • Client – Aufrufe zum Abrufen verfügbarer Werbeaktionen, zum Abrufen aktiver Ketten, zum Einlösen von Codes und zum Beanspruchen von Belohnungen im Namen authentifizierter Endnutzer. Die Authentifizierung erfolgt über den Benutzer-JWT.

Authentifizierung

API-Aufrufe erfordern eine Authentifizierung entweder im Namen eines Nutzers oder im Namen eines Projekts. Das verwendete Authentifizierungsschema ist im Abschnitt Sicherheit – in der Beschreibung des jeweiligen Aufrufs – angegeben.

Authentifizierung mit Benutzer-JWT

Die Authentifizierung mit Benutzer-JWT kommt zum Einsatz, wenn eine Anfrage von einem Browser, einer App oder einem Spiel gesendet wird. Standardmäßig wird das Schema XsollaLoginUserJWT angewendet. Weitere Informationen zum Erstellen eines Tokens finden Sie in der Dokumentation zur Xsolla-Login-API.

Der Token wird im Authorization-Header im folgenden Format übermittelt: Authorization: Bearer <user_JWT>, wobei <user_JWT> der Benutzertoken ist. Der Token dient dazu, den Nutzer zu identifizieren und ihm Zugriff auf personalisierte Daten zu ermöglichen.

HTTP-Basisauthentifizierung

Die HTTP-Basisauthentifizierung wird für Server-zu-Server-Interaktionen verwendet, wenn ein API-Aufruf direkt von Ihrem Server und nicht von einem Browser oder einer App gesendet wird. Typischerweise wird die HTTP-Basisauthentifizierung gemeinsam mit einem API-Schlüssel verwendet.

Hinweis

Der API-Schlüssel ist vertraulich und darf nicht in Client-Anwendungen gespeichert oder verwendet werden.

Bei der serverseitigen Basisauthentifizierung müssen alle API-Anfragen den folgenden Header enthalten:

  • für basicAuth – Authorization: Basic <your_authorization_basic_key>, wobei your_authorization_basic_key das gemäß Base64-Verfahren kodierte project_id:api_key-Paar ist
  • für basicMerchantAuth – Authorization: Basic <your_authorization_basic_key>, wobei your_authorization_basic_key das gemäß Base64-Verfahren kodierte merchant_id:api_key Paar ist

Die Parameterwerte finden Sie im Kundenportal an folgenden Orten:

  • merchant_id wird angezeigt:
    • unter Firmeneinstellungen > Firma.
    • in der URL in der Adressleiste des Browsers auf einer beliebigen Seite im Kundenportal. Die URL hat das folgende Format: https://publisher.xsolla.com/<merchant_id>.
  • project_id wird angezeigt:
    • neben dem Projektnamen im Kundenportal.
    • in der URL in der Adressleiste des Browsers, wenn Sie im Kundenportal ein Projekt geöffnet haben. Die URL hat das folgende Format: https://publisher.xsolla.com/<merchant_id>/projects/<project_id>.
  • api_key wird im Kundenportal nur einmal angezeigt, nämlich dann, wenn er erstellt wird. Sie sind selbst dafür verantwortlich, den Schlüssel in Ihrem System zu speichern. Einen API-Schlüssel können Sie an den folgenden Orten erstellen:
Hinweis

Falls bei einem erforderlichen API-Aufruf der Pfadparameter project_id fehlt, müssen Sie einen API-Schlüssel verwenden, der für alle Projekte der Firma gültig ist.

Weitere Informationen zur Arbeit mit API-Schlüsseln finden Sie in den API-Referenzen.

Authentifizierung mit Unterstützung für Gastzugang

Das Authentifizierungsschema AuthForCart wird für Warenkorbkäufe verwendet und unterstützt zwei Modi:

  1. Authentifizierung mit einem Benutzer-JWT. Der Token wird im Authorization-Header im folgenden Format übermittelt: Authorization: Bearer <user_JWT>, wobei <user_JWT> der Benutzertoken ist. Der Token dient dazu, den Nutzer zu identifizieren und ihm Zugriff auf personalisierte Daten zu ermöglichen. Alternativ können Sie einen Token zum Öffnen des Zahlungsportals verwenden.

  2. Vereinfachter Modus ohne Autorisierungs-Header. Dieser Modus ist nur für nicht autorisierte Nutzer vorgesehen und kann lediglich für den Verkauf von Spielschlüsseln genutzt werden. Anstelle eines Tokens muss die Anfrage die folgenden Header enthalten:

    • x-unauthorized-id samt Anfrage-ID
    • x-user samt der E-Mail-Adresse des Nutzers, kodiert in Base64

Grundstruktur der Entität

Alle Artikeltypen (virtuelle Gegenstände, Bundles, virtuelle Währung und Schlüssel) haben eine ähnliche Datenstruktur. Kenntnisse über die Grundstruktur vereinfachen die Arbeit mit der API und erleichtern das Navigieren in der Dokumentation.

Hinweis

Einige Aufrufe können zusätzliche Felder enthalten, doch diese ändern nichts an der Grundstruktur.

Identifikation

  • merchant_id – Firmen-ID im Kundenportal
  • project_id – Projekt-ID im Kundenportal
  • sku – Artikel-SKU, einzigartig innerhalb des Projekts

Shop-Anzeige

  • name – Artikelname
  • description – Artikelbeschreibung
  • image_url – Bild-URL
  • is_enabled – Artikelverfügbarkeit
  • is_show_in_store – ob der Artikel im Katalog angezeigt wird

Weitere Informationen zur Verwaltung der Artikelverfügbarkeit im Katalog finden Sie in der Dokumentation.

Organisation

  • type – Artikeltyp, zum Beispiel ein virtueller Gegenstand (virtual_item) oder Bundle (bundle)
  • groups – Gruppen, zu denen der Artikel gehört
  • order – Anzeigereihenfolge im Katalog

Verkaufsbedingungen

  • prices – Preise in echter oder virtueller Währung
  • limits – Kauflimits
  • periods – Verfügbarkeitszeiträume
  • regions – regionale Beschränkungen

Grundstruktur einer Entität (Beispiel):

{
  "attributes": [],
  "bundle_type": "virtual_currency_package",
  "content": [
    {
      "description": {
        "en": "Main in-game currency"
      },
      "image_url": "https://.../image.png",
      "name": {
        "en": "Crystals",
        "de": "Kristalle"
      },
      "quantity": 500,
      "sku": "com.xsolla.crystal_2",
      "type": "virtual_currency"
    }
  ],
  "description": {
    "en": "Crystals x500"
  },
  "groups": [],
  "image_url": "https://.../image.png",
  "is_enabled": true,
  "is_free": false,
  "is_show_in_store": true,
  "limits": {
    "per_item": null,
    "per_user": null,
    "recurrent_schedule": null
  },
  "long_description": null,
  "media_list": [],
  "name": {
    "en": "Medium crystal pack"
  },
  "order": 1,
  "periods": [
    {
      "date_from": null,
      "date_until": "2020-08-11T20:00:00+03:00"
    }
  ],
  "prices": [
    {
      "amount": 20,
      "country_iso": "US",
      "currency": "USD",
      "is_default": true,
      "is_enabled": true
    }
  ],
  "regions": [],
  "sku": "com.xsolla.crystal_pack_2",
  "type": "bundle",
  "vc_prices": []
}

Grundlegender Kaufablauf

Über die Xsolla-API lässt sich die Logik für einen Ingame-Shop implementieren, darunter das Abrufen des Artikelkatalogs, die Verwaltung des Warenkorbs, das Anlegen von Bestellungen und die Verfolgung des Bestellstatus. Je nach Integrationsszenario sind die API-Aufrufe in die Unterbereiche Verwaltung und Katalog unterteilt, die unterschiedliche Authentifizierungsschemen verwenden.

Das folgende Beispiel zeigt den grundlegenden Ablauf für die Einrichtung und den Betrieb eines Shops, von der Artikelerstellung bis zum Kauf.

Artikel und Gruppen erstellen (Verwaltung)

Erstellen Sie für Ihren Shop einen Katalog mit Artikeln wie etwa virtuellen Gegenständen, Bundles oder virtueller Währung.

API-Aufrufe (Beispiele):

Werbeaktionen, Ketten und Limits einrichten (Verwaltung)

Konfigurieren Sie Tools für die Nutzergewinnung und Monetarisierung, wie etwa Rabatte, Boni, tägliche Belohnungen oder Angebotsketten.

API-Aufrufe (Beispiele):

Artikelinformationen abrufen (Client)

Konfigurieren Sie, wie Artikel in Ihrer Anwendung angezeigt werden sollen.

Hinweis

Verwenden Sie keine API-Aufrufe aus dem Unterabschnitt "Verwaltung", um einen Nutzerkatalog zu erstellen. Diese API-Aufrufe unterliegen Ratenbegrenzungen und sind nicht für Nutzer-Traffic vorgesehen.

API-Aufrufe (Beispiele):

Hinweis

Standardmäßig geben katalogbezogene API-Aufrufe Artikel zurück, die zum Zeitpunkt der Anfrage im Shop verfügbar sind. Um Artikel abzurufen, die noch nicht verfügbar oder nicht mehr verfügbar sind, müssen Sie den Parameter "show_inactive_time_limited_items": 1 in der Kataloganfrage ergänzen.

Artikel verkaufen

Artikel können Sie mit den folgenden Methoden verkaufen:

  • Schnellkauf – Verkauf einer einzelnen SKU in beliebiger Menge.
  • Warenkorbkauf – der Nutzer kann im Rahmen einer Bestellung Artikel in den Warenkorb legen, Artikel aus dem Warenkorb entfernen und die Menge jedes einzelnen Artikels ändern.

Wird ein Artikel mit virtueller Währung anstelle von echtem Geld gekauft, müssen Sie den API-Aufruf Bestellung mit einem angegebenen, in virtueller Währung gekauften Artikel anlegen verwenden. Das Zahlungsportal muss nicht aufgerufen werden, da die Zahlungsabwicklung bei Ausführung des API-Aufrufs erfolgt.

Beim Kauf eines kostenlosen Artikels müssen Sie den API-Aufruf Bestellung mit angegebenem kostenlosen Artikel anlegen oder den API-Aufruf Bestellung mit einem kostenlosen Warenkorb anlegen verwenden. as Zahlungsportal muss nicht aufgerufen werden – der Bestellung wird sofort der Status done zugewiesen.

Schnellkauf

Verwenden Sie den clientseitigen API-Aufruf, um eine Bestellung mit einem angegebenen Artikel anzulegen. Der Aufruf gibt einen Token zurück, mit dem sich das Zahlungsportal öffnen lässt.

Hinweis

Rabattinformationen sind für den Nutzer nur im Zahlungsportal verfügbar. Promocodes werden nicht unterstützt.

Warenkorbkauf

Die Einrichtung des Warenkorbs und der Kaufvorgang können sowohl client- als auch serverseitg erfolgen.

Warenkorb clientseitig einrichten und Artikel kaufen

Implementieren Sie die Logik für das Hinzufügen und Entfernen von Artikeln selbst. Bevor Sie die API zum Einrichten eines Warenkorbs aufrufen, liegen Ihnen keine Informationen darüber vor, welche Werbeaktionen auf den Kauf angewendet werden. Die Gesamtkosten und die Details der hinzugefügten Bonusartikel sind Ihnen also unbekannt.

Implementieren Sie die folgende Warenkorblogik:

  1. Verwenden Sie den API-Aufruf Artikel in den Warenkorb legen, nachdem der Spieler einen Warenkorb zusammengestellt hat. Der Aufruf gibt die aktuellen Informationen zu den ausgewählten Artikeln zurück (Preise mit und ohne Rabatt, Bonusartikel).
  2. Aktualisieren Sie den Warenkorbinhalt basierend auf den Aktionen des Nutzers:
Hinweis

Mit dem API-Aufruf "Warenkorb des aktuellen Benutzers abrufen" können Sie den aktuellen Status des Warenkorbs abrufen.
  1. Verwenden Sie den API-Aufruf Bestellung mit allen Artikeln aus dem aktuellen Warenkorb anlegen. Der Aufruf gibt die Bestell-ID und den Zahlungstoken zurück. Der neu angelegten Bestellung wird standardmäßig der Status new zugewiesen.

Warenkorb serverseitig einrichten und Artikel kaufen

Diese Einrichtungsoption kann länger dauern, da jede Änderung am Warenkorb durch API-Aufrufe vorgenommen werden muss.

Implementieren Sie die folgende Warenkorblogik:

  1. Verwenden Sie den API-Aufruf Artikel in den Warenkorb legen, nachdem der Spieler einen Warenkorb zusammengestellt hat. Der Aufruf gibt die aktuellen Informationen zu den ausgewählten Artikeln zurück (Preise mit und ohne Rabatt, Bonusartikel).
  2. Verwenden Sie den API-Aufruf Bestellung mit allen Artikeln aus dem aktuellen Warenkorb anlegen. Der Aufruf gibt die Bestell-ID und den Zahlungstoken zurück. Der neu angelegten Bestellung wird standardmäßig der Status new zugewiesen.

Zahlungsportal öffnen

Verwenden Sie den zurückgegebenen Token, um das Zahlungsportal in einem neuen Fenster zu öffnen. Weitere Möglichkeiten, das Zahlungsportal zu öffnen, sind in der Dokumentation beschrieben.

AktionEndpunkt
In der Produktionsumgebung öffnen.https://secure.xsolla.com/paystation4/?token={token}
In der Testumgebung öffnen.https://sandbox-secure.xsolla.com/paystation4/?token={token}
Hinweis

Nutzen Sie die Testumgebung während der Entwicklung und zum Testen. Es stehenn Test-Bankkarten bereit. Bei Testkäufen wird kein Geld von echten Konten abgebucht.

Sobald die erste tatsächliche Zahlung erfolgt ist, tritt eine strenge Zahlungsrichtlinie für die Testumgebung in Kraft: Ab dann dürfen nur noch die unter Kundenportal > Firmeneinstellungen > Nutzer angegebenen Nutzer ein Zahlung in der Testumgebung tätigen .

Der Kauf von virtueller Währung und Gegenständen gegen echtes Geld ist erst nach Unterzeichnung einer Lizenzvereinbarung möglich. Navigieren Sie dazu im Kundenportal zu Vereinbarungen und Steuern > Vereinbarungen, füllen Sie das Formular aus, und warten Sie auf die Bestätigung. Die Prüfung kann bis zu drei Werktage dauern.

Die Testumgebung können Sie aktivieren oder deaktivieren. Ändern Sie dazu einfach den Wert des Parameters sandbox in der Schnellkauf- bzw. Warenkorbkauf-Anfrage. Die Testumgebung ist standardmäßig deaktiviert.

Mögliche Bestellstatus:

  • new – Bestellung angelegt
  • paid – Zahlung erhalten
  • done – Artikel geliefert
  • canceled – Bestellung storniert
  • expired – Bestellung abgelaufen

Tracken Sie den Bestellstatus mit einer der folgenden Methoden:

Paginierung

API-Aufrufe, die umfangreiche Datensätze zurückgeben (beispielsweise beim Erstellen eines Katalogs), liefern Daten seitenweise. Die Paginierung ist ein Mechanismus, der die Anzahl der in einer einzelnen API-Antwort zurückgegebenen Elemente begrenzt und es ermöglicht, aufeinanderfolgende Seiten der Reihe nach abzurufen.

Mithilfe der folgenden Parameter können Sie die Anzahl der zurückgegebenen Elemente steuern:

  • limit – Anzahl der Elemente pro Seite
  • offset – Index des ersten Elements auf der Seite (Nummerierung beginnt bei 0)
  • has_more – gibt an, ob eine weitere Seite verfügbar ist
  • total_items_count – Gesamtanzahl der Elemente

Beispielanfrage:

GET /items?limit=20&offset=40

Beispielantwort:

{
  "items": [...],
  "has_more": true,
  "total_items_count": 135
}

Es wird empfohlen, nachfolgende Anfragen zu senden, bis die Antwort has_more = false zurückgibt.

Datums- und Zeitformat

Datums- und Zeitwerte werden im ISO 8601-Format übermittelt.

Folgende Formate werden unterstützt:

  • UTC-Offset
  • null-Wert, wenn keine zeitliche Einschränkung für die Anzeige eines Artikels besteht
  • Unix-Zeitstempel (in Sekunden), der in einigen Feldern verwendet wird

Format: YYYY-MM-DDTHH:MM:SS±HH:MM

Beispiel: 2026-03-16T10:00:00+03:00

Lokalisierung

Xsolla unterstützt die Lokalisierung von benutzerseitigen Feldern wie Artikelname und Beschreibung. Lokalisierte Werte werden als Objekt übermittelt, wobei der Sprachcode als Schlüssel verwendet wird. Die vollständige Liste der unterstützten Sprachen ist in der Dokumentation verfügbar.

Unterstützte Felder

Für die folgenden Parameter kann eine Lokalisierung festgelegt werden:

  • name
  • description
  • long_description

Gebietsschemaformat

Der Gebietsschemaschlüssel kann in einem der folgenden Formate angegeben werden:

  • Sprachencode bestehend aus zwei Buchstaben: en, ru
  • Sprachencode bestehend aus fünf Buchstaben: en-US, ru-RU, de-DE

Beispiele

Zweistelliger Sprachencode (Beispiel):

{
  "name": {
    "en": "Starter Pack",
    "ru": "Стартовый набор"
  }
}

Fünfstelliger Sprachencode (Beispiel):

{
  "description": {
    "en-US": "Premium bundle",
    "de-DE": "Premium-Paket"
  }
}

Fehlerantwortformat

Wenn ein Fehler auftritt, gibt die API einen HTTP-Statuscode und einen JSON-Antwortrumpf zurück. Die vollständige Liste der shopbezogenen Fehler ist in der Dokumentation verfügbar.

Antwort (Beispiel):

{
  "errorCode": 1102,
  "errorMessage": "Validation error",
  "statusCode": 422,
  "transactionId": "c9e1a..."
}
  • errorCode – Fehlercode.
  • errorMessage – kurze Fehlerbeschreibung.
  • statusCode – HTTP-Antwortstatus.
  • transactionId – Anfrage-ID. Wird nur in einigen Fällen zurückgegeben.
  • errorMessageExtended – zusätzliche Fehlerdetails, wie z. B. Anfrageparameter. Wird nur in einigen Fällen zurückgegeben.

Erweiterte Antwort (Beispiel):

{
  "errorCode": 7001,
  "errorMessage": "Chain not found",
  "errorMessageExtended": {
    "chain_id": "test_chain_id",
    "project_id": "test_project_id",
    "step_number": 2
  },
  "statusCode": 404
}

Gängige HTTP-Statuscodes

  • 400 – ungültige Anfrage
  • 401 – Authentifizierungsfehler
  • 403 – mangelnde Berechtigungen
  • 404 – Ressource nicht gefunden
  • 422 – Validierungsfehler
  • 429 – Ratenlimit überschritten

Empfehlungen

  • Verarbeiten Sie den HTTP-Statuscode und den Antwortrumpf gemeinsam.
  • Verwenden Sie errorCode, um Fehler im Zusammenhang mit der Anwendungslogik zu verarbeiten.
  • Verwenden Sie transactionId, um Anfragen bei der Fehleranalyse schneller zu identifizieren.
OpenAPI-Beschreibung herunterladen
Sprachen
Server
https://store.xsolla.com/api/
Mock server
https://xsolla.redocly.app/_mock/de/api/liveops/

Übersicht

Werbeaktionen sind Marketinginstrumente, die darauf abzielen, neue Nutzer zu gewinnen und den Umsatz zu steigern. Mithilfe der Xsolla-API können Sie folgende Werbeaktionen einrichten:

  • Rabatte – reduzierte Preise auf ausgewählte Artikel.
  • Boni – Artikel, die Nutzer bei einem Kauf als Dreingabe erhalten.
  • Gutscheine – Codes, mit denen Nutzer einen oder mehrere Bonusartikel beim Einlösen erhalten.
  • Promocodes – Codes, mit denen Nutzer Bonusartikel, einen Rabatt auf einen bestimmten Artikel oder einen Rabatt auf den gesamten Warenkorb erhalten können. Im Gegensatz zu Gutscheinen, die erst nach Eingabe durch den Nutzer eingelöst werden, werden Promocodes während des Kaufvorgangs (an der Kasse) eingelöst.
  • Sonderangebote – versteckte Artikel, die den Nutzern erst nach Eingabe eines exklusiven Angebotscode im Katalog angezeigt werden. Wird der Code nicht eingegeben, bleiben die Artikel ausgeblendet.

Konfiguration einer Rabattaktion (Beispielhafter Ablauf):

  1. Erstellen Sie Artikel mit den Aufrufen aus dem Unterabschnitt Verwaltung der Gruppen Virtuelle Gegenstände und Währung, Bundles oder Spielschlüssel.
  2. Erstellen Sie eine Werbeaktion mit dem Aufruf Rabattaktion für Artikel erstellen. Übermitteln Sie im items-Array die erforderlichen Artikel-SKUs.
  3. Legen Sie die Gültigkeitszeiträume der Werbeaktion fest. Rufen Sie dazu die Methoden Rabattaktion für Artikel erstellen oder Artikelaktion aktualisieren auf, und übermitteln Sie das promotion_periods-Feld als Objekt-Array, wobei date_from das Startdatum und date_until das Enddatum des Gültigkeitszeitraums definiert.
  4. Aktivieren Sie eine Werbeaktion mit dem Aufruf Artikelaktion aktualisieren. Übermitteln Sie den Parameter "is_enabled": true.
  5. Um Informationen über Artikelpreise (einschließlich ermäßigter Preise) zu erhalten, müssen Sie die clientseitigen API-Methoden für den Abruf eines Artikelkatalogs aus den Unterabschnitten Allgemeines > Katalog, Virtuelle Gegenstände und Währung > Katalog und Bundles > Katalog aufrufen.

Konfiguration einer Werbeaktion (Beispiel)

Weitere Informationen zur Konfiguration von Werbeaktionen finden Sie in unserer Dokumentation:

Allgemeine API-Aufrufe

Mit den API-Methoden aus diesem Unterabschnitt können Sie verschiedene Arten von Werbeaktionen verwalten.

Operationen

Gutscheine

Mit den API-Methoden aus diesem Unterabschnitt können Sie Gutscheinaktionen konfigurieren und verwalten.

Hinweis

Weitere Informationen zu Gutscheinen finden Sie in unserer Dokumentation.

Operationen

Promocodes

Mit den API-Methoden aus diesem Unterabschnitt können Sie Promocode-Aktionen konfigurieren und verwalten.

Hinweis

Weitere Informationen zu Promocodes finden Sie in unserer Dokumentation.

Operationen

Katalogsonderangebote

Mit den API-Methoden aus diesem Unterabschnitt können Sie Katalogsonderangebote konfigurieren und verwalten.

Hinweis

Weitere Informationen zu Sonderangeboten finden Sie in unserer Dokumentation.

Operationen

Rabatte

Mit den API-Methoden aus diesem Unterabschnitt können Sie Rabattaktionen konfigurieren und verwalten.

Hinweis

Weitere Informationen zu Rabatten finden Sie in unserer Dokumentation.

Operationen

Boni

Mit den API-Methoden aus diesem Unterabschnitt können Sie Bonusaktionen konfigurieren und verwalten.

Hinweis

Weitere Informationen zu Boni finden Sie in unserer Dokumentation.

Operationen

Personalisierter Katalog

Mithilfe der Personalisierung können Sie die Bedingungen festlegen, unter denen der Artikelkatalog und Werbeaktionen bestimmten autorisierten Nutzern angezeigt werden. Die Bedingungen werden auf der Grundlage von Nutzerattributen definiert und ermöglichen es Ihnen, Artikeln und Werbeaktionen anzubieten, die für bestimmte Nutzer am relevantesten sind.

Die folgenden Personalisierungstypen sind verfügbar:

  • Personalisierung aufseiten von Xsolla. Personalisierungsregeln und ‑logik werden aufseiten von Xsolla konfiguriert und gespeichert. Sie übermitteln die Nutzerattribute, und basierend darauf erstellt Xsolla einen personalisierten Katalog.
  • Personalisierung aufseiten des Partners. Sie konfigurieren die Personalisierungsregeln und ‑logik in Ihrem System und senden eine endgültige Katalog-Payload für einen bestimmten Nutzer an Xsolla.
Hinweis

Sie können nur einen Personalisierungstyp verwenden. Wie Sie den Personalisierungstyp ändern, erfahren Sie in der Anleitung.

So konfigurieren Sie die Personalisierung aufseiten von Xsolla mithilfe der Xsolla-API:

  1. Erstellen Sie Artikel mit den API-Aufrufen aus dem Unterabschnitt Verwaltung der Gruppen Virtuelle Gegenstände und Währung, Bundles oder Spielschlüssel.

  2. Richten Sie Nutzerattribute mit der Xsolla-Login-API ein, und halten Sie diese synchron, indem Sie die Daten in Xsolla aktualisieren, sobald sich in Ihrem Spiel Änderungen ergeben.

  3. Konfigurieren Sie die Personalisierung für Artikel oder Werbeaktionen:

  4. Übermitteln Sie den Benutzer-JWT mitsamt der Nutzerattribute an die API-Aufrufe zur Katalogabfrage, um einen personalisierten Katalog abzurufen.

Konfiguration und Anwendung der Xsolla-seitigen Personalisierung für den Artikelkatalog (Ablauf):

Personalisierung für den Artikelkatalog

Konfiguration und Anwendung der Xsolla-seitigen Personalisierung für Werbeaktionen (Ablauf):

Personalisierung für Werbeaktionen

Operationen

Übersicht

Mit Werbeaktionslimits können Sie begrenzen, wie oft ein bestimmter Nutzer eine Werbeaktion in Anspruch nehmen darf. Zudem können Sie festlegen, wann das Limit zurückgesetzt wird.

Limits werden aufseiten von Xsolla gespeichert und in den Werbeaktionseinstellungen im Kundenportal oder über das limits-Objekt in den folgenden API-Aufrufen konfiguriert:

Informationen zu den Limits werden in den folgenden API-Aufrufen zum Abrufen des Artikelkatalogs im Objekt items.promotions.limits zurückgegeben:

Mit den API-Aufrufen im Unterabschnitt Verwaltung der Gruppe Limits können Sie den aktuellen Status der Limits abrufen und diese für einen bestimmten Nutzer aktualisieren – beispielsweise den Zähler nach Abschluss einer Quest zurücksetzen oder die verbleibende Menge manuell anpassen.

Hinweis

Ausführliche Informationen zur Konfiguration von Limits im Katalog finden Sie im Abschnitt Werbeaktionslimits.

Sie können limits.per_user konfigurieren, d. h., wie häufig ein Nutzer eine Werbeaktion in Anspruch nehmen darf.

Nicht authentifizierten Nutzern wird stets die Höchstzahl angezeigt, also wie oft man die Werbeaktion maximal in Anspruch nehmen darf.

Um anzuzeigen, wie oft der Nutzer die Werbeaktion unter Berücksichtigung des geltenden Limits noch in Anspruch nehmen darf, müssen Sie bei der Abfrage des Artikelkatalogs die Autorisierungsdaten des Nutzers übermitteln.

Um zu konfigurieren, wie häufig das Limit zurückgesetzt werden soll (täglich, wöchentlich oder monatlich), müssen Sie das limits.recurrent_schedule-Objekt beim Erstellen oder Aktualisieren der Werbeaktion übermitteln.

Konfiguration und Durchsetzung von Limits (Anwendungsszenario)

  1. Sie erstellen eine Werbeaktion mit dem API-Aufruf Rabattaktion für Artikel erstellen oder Bonusaktion erstellen und übermitteln das limits-Objekt.
  2. Sie rufen den Katalog für einen nicht authentifizierten Nutzer ab – in der Antwort ist das items.promotions.limits-Objekt enthalten, darin ist angegeben, wie oft die Werbeaktion maximal in Anspruch genommen werden darf.
  3. Der Nutzer meldet sich an.
  4. Sie rufen den Katalog mit dem Autorisierungstoken des Nutzers ab – in der Antwort ist angegeben, wie oft der Nutzer die Werbeaktion unter Berücksichtigung des aktiven Limits noch in Anspruch nehmen darf.
  5. Der Nutzer wählt einen Aktionsartikel aus und kauft ihn.
  6. Nach erfolgreicher Bezahlung aktualisiert Xsolla den Wert des Parameters items.promotions.limits.per_user. Wenn der Parameter den Wert 0 erreicht, wird der Artikel in den Katalog-API-Aufrufen ohne Rabatt oder Bonus zurückgegeben.
  7. Sie können das Limit mit den API-Aufrufen aus dem Unterabschnitt Verwaltung aktualisieren:
  8. Sie rufen den aktualisierten Limitwert (items.promotions.limits) bei der nächsten Katalogabfrage mit dem Autorisierungstoken des Nutzers ab und zeigen ihn dem Nutzer an.

Werbeaktionslimits

Operationen

Übersicht

Belohnungsketten motivieren die Nutzer dazu, im Shop mit echtem Geld einzukaufen. Bei jedem Kauf erhalten die Nutzer Wertpunkte und durchlaufen dabei die einzelnen Schritte einer Belohnungskette. Sind die Nutzer Mitglieder eines Clans, fließen die Wertpunkte aus den Käufen dem gesamten Clan zu. Ausführliche Informationen zur Konfiguration der Belohnungsketten finden Sie im Abschnitt Belohnungssystem.

Verwenden Sie zur Konfiguration von Belohnungsketten die API-Aufrufe aus dem Unterabschnitt Verwaltung. Zur Anzeige von Ketten und zur Inanspruchnahme von Belohnungen verwenden Sie die API-Aufrufe aus dem Unterabschnitt Client. Für die Arbeit mit Clan-Belohnungsketten verwenden Sie die API-Aufrufe aus dem Unterabschnitt Clans-Client.

Konfiguration einer Belohnungskette (Beispielhafter Ablauf):

  1. Erstellen Sie Artikel mithilfe der API-Aufrufe aus dem Unterabschnitt Verwaltung der Gruppen Virtuelle Gegenstände und Währung oder Bundles.
  2. rstellen Sie Wertpunkte mithilfe des API-Aufrufs Wertpunkt erstellen.
  3. Weisen Sie Artikeln Wertpunkte zu, indem Sie den API-Aufruf Wertpunkte für Artikel festlegen verwenden. Beim Kauf dieser Artikel erhalten die Nutzer Wertpunkte.
  4. Erstellen Sie eine Belohnungskette mithilfe des API-Aufrufs Belohnungskette erstellen. Übermitteln Sie den Parameter is_enabled: true, um die Kette zu aktivieren.
  5. Implementieren Sie die Anzeige der Belohnungsketten. Fordern Sie dazu die Liste der verfügbaren Ketten mithilfe des API-Aufrufs Belohnungsketten des aktuellen Nutzers abrufen an. In der Antwort sind alle aktiven Ketten und deren Schritte und Statusangaben enthalten.
  6. Implementieren Sie die Anzeige des Wertpunktguthabens. Verwenden Sie dazu den API-Aufruf Wertpunktestand des aktuellen Nutzers abrufen.
  7. Implementieren Sie die Inanspruchnahme von Schrittbelohnungen. Verwenden Sie dazu den API-Aufruf Schrittbelohnung gewähren.
  8. Konfigurieren Sie das Bestellstatus-Tracking, z. B. mithilfe von Webhooks, um Daten zu in Anspruch genommenen Belohnungen umgehend zu erhalten und diese dem Nutzer zu gewähren.

Konfiguration einer Belohnungskette (Ablauf)

Operationen

Liste der Belohnungsketten abrufenServer-sideAdministrator

Anfrage

Ruft die Liste der Belohnungsketten ab.

Achtung

Bei allen Projekten ist die Anzahl der Artikel begrenzt, die Sie in der Antwort erhalten können. Der Standard- und Höchstwert beträgt 10 Artikel pro Antwort. Um pro Seite mehr Daten zu erhalten, verwenden Sie die Felder limit und offset.
Sicherheit
basicAuth
Pfad
project_idintegererforderlich

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/<merchant_id>/projects/<project_id>.

Beispiel: 44056
Abfrage
limitinteger>= 1

Begrenzung der Elementanzahl auf der Seite.

Beispiel: limit=50
offsetinteger>= 0

Elementnummer, aus der die Liste generiert wird (die Zählung beginnt bei 0).

Beispiel: offset=0
enabledinteger

Elemente nach is_enabled-Flag filtern.

curl -i -X GET \
  -u <username>:<password> \
  'https://store.xsolla.com/api/v3/project/44056/admin/reward_chain?limit=50&offset=0&enabled=0'

Antworten

Die Liste der Belohnungsketten wurde erfolgreich empfangen.

Bodyapplication/json
has_moreboolean

Dient als Indikator dafür, dass weitere Seiten vorhanden sind.

itemsArray of objects
One of:

Eine Belohnungskette.

items[].​reward_chain_idinteger

Eindeutige ID der Belohnungskette.

items[].​name(object or null)

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.

Any of:

Sprachencodes bestehend aus zwei Kleinbuchstaben.

items[].​name.​enstring or null

Englisch

items[].​name.​arstring or null

Arabisch

items[].​name.​bgstring or null

Bulgarisch

items[].​name.​cnstring or null

Chinesisch (vereinfacht)

items[].​name.​csstring or null

Tschechisch

items[].​name.​destring or null

Deutsch

items[].​name.​esstring or null

Spanisch (Spanien)

items[].​name.​frstring or null

Französisch

items[].​name.​hestring or null

Hebräisch

items[].​name.​itstring or null

Italienisch

items[].​name.​jastring or null

Japanisch

items[].​name.​kostring or null

Koreanisch

items[].​name.​plstring or null

Polnisch

items[].​name.​ptstring or null

Portugiesisch

items[].​name.​rostring or null

Rumänisch

items[].​name.​rustring or null

Russisch

items[].​name.​thstring or null

Thai

items[].​name.​trstring or null

Türkisch

items[].​name.​twstring or null

Chinesisch (traditionell)

items[].​name.​vistring or null

Vietnamesisch

items[].​name.​kmstring or null

Khmer

items[].​name.​idstring or null

Indonesisch

items[].​name.​lostring or null

Laotisch

items[].​name.​mystring or null

Birmanisch

items[].​name.​phstring or null

Filipino

items[].​name.​nestring or null

Nepalesisch

items[].​orderinteger

Definiert die Anordnungsreihenfolge.

items[].​description(object or 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.

Any of:

Sprachencodes bestehend aus zwei Kleinbuchstaben.

items[].​description.​enstring or null

Englisch

items[].​description.​arstring or null

Arabisch

items[].​description.​bgstring or null

Bulgarisch

items[].​description.​cnstring or null

Chinesisch (vereinfacht)

items[].​description.​csstring or null

Tschechisch

items[].​description.​destring or null

Deutsch

items[].​description.​esstring or null

Spanisch (Spanien)

items[].​description.​frstring or null

Französisch

items[].​description.​hestring or null

Hebräisch

items[].​description.​itstring or null

Italienisch

items[].​description.​jastring or null

Japanisch

items[].​description.​kostring or null

Koreanisch

items[].​description.​plstring or null

Polnisch

items[].​description.​ptstring or null

Portugiesisch

items[].​description.​rostring or null

Rumänisch

items[].​description.​rustring or null

Russisch

items[].​description.​thstring or null

Thai

items[].​description.​trstring or null

Türkisch

items[].​description.​twstring or null

Chinesisch (traditionell)

items[].​description.​vistring or null

Vietnamesisch

items[].​description.​kmstring or null

Khmer

items[].​description.​idstring or null

Indonesisch

items[].​description.​lostring or null

Laotisch

items[].​description.​mystring or null

Birmanisch

items[].​description.​phstring or null

Filipino

items[].​description.​nestring or null

Nepalesisch

items[].​long_description(object or null)

Objekt mit Lokalisierungen für lange 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 Varianten 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.

Any of:

Sprachencodes bestehend aus zwei Kleinbuchstaben.

items[].​long_description.​enstring or null

Englisch

items[].​long_description.​arstring or null

Arabisch

items[].​long_description.​bgstring or null

Bulgarisch

items[].​long_description.​cnstring or null

Chinesisch (vereinfacht)

items[].​long_description.​csstring or null

Tschechisch

items[].​long_description.​destring or null

Deutsch

items[].​long_description.​esstring or null

Spanisch (Spanien)

items[].​long_description.​frstring or null

Französisch

items[].​long_description.​hestring or null

Hebräisch

items[].​long_description.​itstring or null

Italienisch

items[].​long_description.​jastring or null

Japanisch

items[].​long_description.​kostring or null

Koreanisch

items[].​long_description.​plstring or null

Polnisch

items[].​long_description.​ptstring or null

Portugiesisch

items[].​long_description.​rostring or null

Rumänisch

items[].​long_description.​rustring or null

Russisch

items[].​long_description.​thstring or null

Thai

items[].​long_description.​trstring or null

Türkisch

items[].​long_description.​twstring or null

Chinesisch (traditionell)

items[].​long_description.​vistring or null

Vietnamesisch

items[].​long_description.​kmstring or null

Khmer

items[].​long_description.​idstring or null

Indonesisch

items[].​long_description.​lostring or null

Laotisch

items[].​long_description.​mystring or null

Birmanisch

items[].​long_description.​phstring or null

Filipino

items[].​long_description.​nestring or null

Nepalesisch

items[].​image_urlstring or null

Bild-URL.

items[].​periodsArray of objects

Gültigkeitszeitraum der Belohnungskette. Wenn mehrere Zeiträume angegeben sind, sind sowohl date_from als auch date_until erforderlich.

items[].​periods[].​date_fromstring(date-time)erforderlich

Startdatum für die angegebene Belohnungskette.

Beispiel: "2020-08-11T10:00:00+03:00"
items[].​periods[].​date_untilstring or null(date-time)

Enddatum für die angegebene Belohnungskette. Kann nur dann null sein, wenn eine einziger Gültigkeitszeitraum angegeben ist.

Beispiel: "2020-08-11T20:00:00+03:00"
items[].​is_enabledboolean
items[].​value_pointobject
items[].​value_point.​skustring

Eindeutige ID des Wertpunkts.

items[].​value_point.​namestring

Wertpunktname.

items[].​value_point.​typestring
Beispiel: "value_point"
items[].​value_point.​image_urlstring

Bild-URL.

items[].​value_point.​descriptionstring or null

Beschreibung des Wertpunktes.

items[].​value_point.​long_descriptionstring or null

Lange Beschreibung des Wertpunkts.

items[].​value_point.​amountinteger

Anzahl der Wertpunkte.

items[].​value_point.​is_clanboolean

Ob der Wertpunkt in Clan-Belohnungsketten verwendet wird.

items[].​value_point.​is_enabledboolean
items[].​value_point.​media_listArray of objects

Zusätzliche Medieninhalte des Artikels wie Screenshots, Gameplay-Videos usw.

items[].​value_point.​media_list[].​typestring

Medieninhaltstyp: image/video.

Enum"image""video"
Beispiel: "image"
items[].​value_point.​media_list[].​urlstring

Ressourcendatei.

Beispiel: "https://cdn3.xsolla.com/img/misc/images/71ab1e12126f2103e1868076f0acb21a.jpg"
items[].​value_point.​orderinteger

Definiert die Anordnungsreihenfolge.

items[].​recurrent_schedule(object or null)
One of:

Wiederkehrender Reset-Zeitraum der Belohnungskette.

object or null
items[].​attribute_conditionsArray of objects[ 1 .. 100 ] items

Conditions for validating user attributes. Determine chain availability based on whether user attributes match all specified conditions.

One of:
items[].​attribute_conditions[].​attributestring[ 1 .. 255 ] characters^[-_.\d\w]+$

Benutzerattributcode.

items[].​attribute_conditions[].​typestring

Benutzerattributtyp.

Wert"string"
items[].​attribute_conditions[].​operatorstring

Art der durchgeführten Operation nach Bedingung. Für den Attributtyp string.

Mögliche Werte:

  • eq – ist gleich
  • ne – ist ungleich
Enum"eq""ne"
items[].​attribute_conditions[].​valuestring<= 255 characters

Bedingungswert, mit dem der Benutzerattributwert verglichen wird. Der Typ hängt vom Attributtyp ab.

items[].​attribute_conditions[].​can_be_missingboolean

Gibt an, dass die Bedingung erfüllt ist, auch wenn das Attribut in den Benutzerattributen fehlt. Übermitteln Sie true, um den Artikel den Nutzern anzuzeigen, die dieses Attribut nicht haben. Nutzer, die das Attribut haben, dessen Wert jedoch nicht mit dem in der Bedingung angegebenen Wert übereinstimmt, sehen den Artikel nicht. false – Nutzer, die das Attribut haben, dessen Wert jedoch nicht mit dem in der Bedingung angegebenen Wert übereinstimmt oder bei denen das Attribut fehlt, sehen den Artikel nicht.

items[].​is_always_visibleboolean

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.
items[].​is_reset_after_endboolean

Ob die Belohnungskette (Wertpunkte und Fortschritt aller Nutzer) nach dem Enddatum zurückgesetzt wird:

  • Wenn true festgelegt ist, wird die Belohnungskette nach dem Enddatum zurückgesetzt.
  • Wenn false festgelegt ist, wird die Belohnungskette nach dem Enddatum nicht zurückgesetzt.

Hinweis

true ist nicht möglich, wenn:
  • in recurrent_schedule ein Zeitraum für das Zurücksetzen angegeben ist.
  • der Wert null im Parameter periods.date_until übermittelt wird.
Antwort
application/json
{ "has_more": true, "items": [ {}, {} ] }

Belohnungskette erstellenServer-sideAdministrator

Anfrage

Erstellt eine Belohnungskette.

Sicherheit
basicAuth
Pfad
project_idintegererforderlich

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/<merchant_id>/projects/<project_id>.

Beispiel: 44056
Bodyapplication/json
One of:

Eine Belohnungskette.

name(object or null)erforderlich

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.

Any of:

Sprachencodes bestehend aus zwei Kleinbuchstaben.

name.​enstring or null

Englisch

name.​arstring or null

Arabisch

name.​bgstring or null

Bulgarisch

name.​cnstring or null

Chinesisch (vereinfacht)

name.​csstring or null

Tschechisch

name.​destring or null

Deutsch

name.​esstring or null

Spanisch (Spanien)

name.​frstring or null

Französisch

name.​hestring or null

Hebräisch

name.​itstring or null

Italienisch

name.​jastring or null

Japanisch

name.​kostring or null

Koreanisch

name.​plstring or null

Polnisch

name.​ptstring or null

Portugiesisch

name.​rostring or null

Rumänisch

name.​rustring or null

Russisch

name.​thstring or null

Thai

name.​trstring or null

Türkisch

name.​twstring or null

Chinesisch (traditionell)

name.​vistring or null

Vietnamesisch

name.​kmstring or null

Khmer

name.​idstring or null

Indonesisch

name.​lostring or null

Laotisch

name.​mystring or null

Birmanisch

name.​phstring or null

Filipino

name.​nestring or null

Nepalesisch

description(object or 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.

Any of:

Sprachencodes bestehend aus zwei Kleinbuchstaben.

description.​enstring or null

Englisch

description.​arstring or null

Arabisch

description.​bgstring or null

Bulgarisch

description.​cnstring or null

Chinesisch (vereinfacht)

description.​csstring or null

Tschechisch

description.​destring or null

Deutsch

description.​esstring or null

Spanisch (Spanien)

description.​frstring or null

Französisch

description.​hestring or null

Hebräisch

description.​itstring or null

Italienisch

description.​jastring or null

Japanisch

description.​kostring or null

Koreanisch

description.​plstring or null

Polnisch

description.​ptstring or null

Portugiesisch

description.​rostring or null

Rumänisch

description.​rustring or null

Russisch

description.​thstring or null

Thai

description.​trstring or null

Türkisch

description.​twstring or null

Chinesisch (traditionell)

description.​vistring or null

Vietnamesisch

description.​kmstring or null

Khmer

description.​idstring or null

Indonesisch

description.​lostring or null

Laotisch

description.​mystring or null

Birmanisch

description.​phstring or null

Filipino

description.​nestring or null

Nepalesisch

long_description(object or null)

Objekt mit Lokalisierungen für lange 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 Varianten 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.

Any of:

Sprachencodes bestehend aus zwei Kleinbuchstaben.

long_description.​enstring or null

Englisch

long_description.​arstring or null

Arabisch

long_description.​bgstring or null

Bulgarisch

long_description.​cnstring or null

Chinesisch (vereinfacht)

long_description.​csstring or null

Tschechisch

long_description.​destring or null

Deutsch

long_description.​esstring or null

Spanisch (Spanien)

long_description.​frstring or null

Französisch

long_description.​hestring or null

Hebräisch

long_description.​itstring or null

Italienisch

long_description.​jastring or null

Japanisch

long_description.​kostring or null

Koreanisch

long_description.​plstring or null

Polnisch

long_description.​ptstring or null

Portugiesisch

long_description.​rostring or null

Rumänisch

long_description.​rustring or null

Russisch

long_description.​thstring or null

Thai

long_description.​trstring or null

Türkisch

long_description.​twstring or null

Chinesisch (traditionell)

long_description.​vistring or null

Vietnamesisch

long_description.​kmstring or null

Khmer

long_description.​idstring or null

Indonesisch

long_description.​lostring or null

Laotisch

long_description.​mystring or null

Birmanisch

long_description.​phstring or null

Filipino

long_description.​nestring or null

Nepalesisch

image_urlstring or null

Bild-URL.

orderinteger

Definiert die Anordnungsreihenfolge.

periodsArray of objectserforderlich

Gültigkeitszeitraum der Belohnungskette. Wenn mehrere Zeiträume angegeben sind, sind sowohl date_from als auch date_until erforderlich.

periods[].​date_fromstring(date-time)erforderlich

Startdatum für die angegebene Belohnungskette.

Beispiel: "2020-08-11T10:00:00+03:00"
periods[].​date_untilstring or null(date-time)

Enddatum für die angegebene Belohnungskette. Kann nur dann null sein, wenn eine einziger Gültigkeitszeitraum angegeben ist.

Beispiel: "2020-08-11T20:00:00+03:00"
is_enabledbooleanerforderlich
value_pointobjecterforderlich
value_point.​skustring[ 1 .. 255 ] characters^[a-zA-Z0-9_\-–.]*$erforderlich

Eindeutige Artikel-ID. Die SKU darf nur lateinische Klein- und Großbuchstaben, Ziffern, Punkte, Bindestriche und Unterstriche enthalten.

stepsArray of objectserforderlich
steps[].​name(object or null)erforderlich

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.

Any of:

Sprachencodes bestehend aus zwei Kleinbuchstaben.

steps[].​name.​enstring or null

Englisch

steps[].​name.​arstring or null

Arabisch

steps[].​name.​bgstring or null

Bulgarisch

steps[].​name.​cnstring or null

Chinesisch (vereinfacht)

steps[].​name.​csstring or null

Tschechisch

steps[].​name.​destring or null

Deutsch

steps[].​name.​esstring or null

Spanisch (Spanien)

steps[].​name.​frstring or null

Französisch

steps[].​name.​hestring or null

Hebräisch

steps[].​name.​itstring or null

Italienisch

steps[].​name.​jastring or null

Japanisch

steps[].​name.​kostring or null

Koreanisch

steps[].​name.​plstring or null

Polnisch

steps[].​name.​ptstring or null

Portugiesisch

steps[].​name.​rostring or null

Rumänisch

steps[].​name.​rustring or null

Russisch

steps[].​name.​thstring or null

Thai

steps[].​name.​trstring or null

Türkisch

steps[].​name.​twstring or null

Chinesisch (traditionell)

steps[].​name.​vistring or null

Vietnamesisch

steps[].​name.​kmstring or null

Khmer

steps[].​name.​idstring or null

Indonesisch

steps[].​name.​lostring or null

Laotisch

steps[].​name.​mystring or null

Birmanisch

steps[].​name.​phstring or null

Filipino

steps[].​name.​nestring or null

Nepalesisch

steps[].​priceobjecterforderlich
steps[].​price.​amountintegererforderlich

Stufenpreis in Wertpunkten.

steps[].​image_urlstring or null

Bild-URL.

steps[].​rewardArray of objectserforderlich
steps[].​reward[].​skustring[ 1 .. 255 ] characters^[a-zA-Z0-9_\-–.]*$erforderlich

Eindeutige Artikel-ID. Die SKU darf nur lateinische Klein- und Großbuchstaben, Ziffern, Punkte, Bindestriche und Unterstriche enthalten.

steps[].​reward[].​quantityintegererforderlich

Artikelmenge.

steps[].​reward[].​attribute_conditionsArray of objects[ 1 .. 100 ] items

Conditions for validating user attributes. Determine reward availability for reward chain steps based on whether user attributes match all specified conditions.

One of:
steps[].​reward[].​attribute_conditions[].​attributestring[ 1 .. 255 ] characters^[-_.\d\w]+$erforderlich

Benutzerattributcode.

steps[].​reward[].​attribute_conditions[].​typestringerforderlich

Benutzerattributtyp.

Wert"string"
steps[].​reward[].​attribute_conditions[].​operatorstringerforderlich

Art der durchgeführten Operation nach Bedingung. Für den Attributtyp string.

Mögliche Werte:

  • eq – ist gleich
  • ne – ist ungleich
Enum"eq""ne"
steps[].​reward[].​attribute_conditions[].​valuestring<= 255 characterserforderlich

Bedingungswert, mit dem der Benutzerattributwert verglichen wird. Der Typ hängt vom Attributtyp ab.

steps[].​reward[].​attribute_conditions[].​can_be_missingboolean

Gibt an, dass die Bedingung erfüllt ist, auch wenn das Attribut in den Benutzerattributen fehlt. Übermitteln Sie true, um den Artikel den Nutzern anzuzeigen, die dieses Attribut nicht haben. Nutzer, die das Attribut haben, dessen Wert jedoch nicht mit dem in der Bedingung angegebenen Wert übereinstimmt, sehen den Artikel nicht. false – Nutzer, die das Attribut haben, dessen Wert jedoch nicht mit dem in der Bedingung angegebenen Wert übereinstimmt oder bei denen das Attribut fehlt, sehen den Artikel nicht.

recurrent_schedule(object or null)
One of:

Wiederkehrender Reset-Zeitraum der Belohnungskette.

object or null
attribute_conditionsArray of objects[ 1 .. 100 ] items

Conditions for validating user attributes. Determine chain availability based on whether user attributes match all specified conditions.

One of:
attribute_conditions[].​attributestring[ 1 .. 255 ] characters^[-_.\d\w]+$erforderlich

Benutzerattributcode.

attribute_conditions[].​typestringerforderlich

Benutzerattributtyp.

Wert"string"
attribute_conditions[].​operatorstringerforderlich

Art der durchgeführten Operation nach Bedingung. Für den Attributtyp string.

Mögliche Werte:

  • eq – ist gleich
  • ne – ist ungleich
Enum"eq""ne"
attribute_conditions[].​valuestring<= 255 characterserforderlich

Bedingungswert, mit dem der Benutzerattributwert verglichen wird. Der Typ hängt vom Attributtyp ab.

attribute_conditions[].​can_be_missingboolean

Gibt an, dass die Bedingung erfüllt ist, auch wenn das Attribut in den Benutzerattributen fehlt. Übermitteln Sie true, um den Artikel den Nutzern anzuzeigen, die dieses Attribut nicht haben. Nutzer, die das Attribut haben, dessen Wert jedoch nicht mit dem in der Bedingung angegebenen Wert übereinstimmt, sehen den Artikel nicht. false – Nutzer, die das Attribut haben, dessen Wert jedoch nicht mit dem in der Bedingung angegebenen Wert übereinstimmt oder bei denen das Attribut fehlt, sehen den Artikel nicht.

is_always_visibleboolean

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

Ob die Belohnungskette (Wertpunkte und Fortschritt aller Nutzer) nach dem Enddatum zurückgesetzt wird:

  • Wenn true festgelegt ist, wird die Belohnungskette nach dem Enddatum zurückgesetzt.
  • Wenn false festgelegt ist, wird die Belohnungskette nach dem Enddatum nicht zurückgesetzt.

Hinweis

true ist nicht möglich, wenn:
  • in recurrent_schedule ein Zeitraum für das Zurücksetzen angegeben ist.
  • der Wert null im Parameter periods.date_until übermittelt wird.
curl -i -X POST \
  -u <username>:<password> \
  https://store.xsolla.com/api/v3/project/44056/admin/reward_chain \
  -H 'Content-Type: application/json' \
  -d '{
    "name": {
      "en": "Reward chain"
    },
    "description": {
      "en": "Reward chain description."
    },
    "long_description": {
      "en": "Lange Beschreibung der Belohnungskette."
    },
    "is_enabled": true,
    "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
    "order": 1,
    "periods": [
      {
        "date_from": "2026-01-01T01:00:00+05:00",
        "date_until": "2026-01-31T23:59:59+05:00"
      },
      {
        "date_from": "2026-02-01T01:00:00+05:00",
        "date_until": "2026-02-28T23:59:59+05:00"
      }
    ],
    "value_point": {
      "sku": "com.xsolla.value_point_1"
    },
    "steps": [
      {
        "name": {
          "en": "First step of the reward chain"
        },
        "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
        "reward": [
          {
            "sku": "com.xsolla.item_1",
            "quantity": 5
          },
          {
            "sku": "com.xsolla.item_2",
            "quantity": 1
          }
        ],
        "price": {
          "amount": 10
        }
      },
      {
        "name": {
          "en": "Second step of the reward chain"
        },
        "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
        "reward": [
          {
            "sku": "com.xsolla.item_3",
            "quantity": 5
          },
          {
            "sku": "com.xsolla.item_4",
            "quantity": 1
          }
        ],
        "price": {
          "amount": 15
        }
      }
    ],
    "recurrent_schedule": {
      "interval_type": "weekly",
      "day_of_week": 1,
      "time": "01:00:00+08:00"
    },
    "attribute_conditions": [
      {
        "attribute": "race",
        "operator": "eq",
        "value": "ork",
        "type": "string",
        "can_be_missing": false
      }
    ],
    "is_always_visible": true,
    "is_reset_after_end": true
  }'

Antworten

Die Belohnungskette wurde erfolgreich erstellt.

Bodyapplication/json
reward_chain_idinteger
Beispiel: 10
Antwort
application/json
{ "reward_chain_id": 10 }

Belohnungskette abrufenServer-sideAdministrator

Anfrage

Ruft eine bestimmte Belohnungskette ab.

Sicherheit
basicAuth
Pfad
project_idintegererforderlich

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/<merchant_id>/projects/<project_id>.

Beispiel: 44056
reward_chain_idintegererforderlich

Belohnungsketten-ID.

Beispiel: 101
curl -i -X GET \
  -u <username>:<password> \
  https://store.xsolla.com/api/v3/project/44056/admin/reward_chain/id/101

Antworten

Die angegebene Belohnungskette wurde erfolgreich empfangen.

Bodyapplication/json
One of:

Eine Belohnungskette.

reward_chain_idinteger

Eindeutige ID der Belohnungskette.

name(object or null)

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.

Any of:

Sprachencodes bestehend aus zwei Kleinbuchstaben.

name.​enstring or null

Englisch

name.​arstring or null

Arabisch

name.​bgstring or null

Bulgarisch

name.​cnstring or null

Chinesisch (vereinfacht)

name.​csstring or null

Tschechisch

name.​destring or null

Deutsch

name.​esstring or null

Spanisch (Spanien)

name.​frstring or null

Französisch

name.​hestring or null

Hebräisch

name.​itstring or null

Italienisch

name.​jastring or null

Japanisch

name.​kostring or null

Koreanisch

name.​plstring or null

Polnisch

name.​ptstring or null

Portugiesisch

name.​rostring or null

Rumänisch

name.​rustring or null

Russisch

name.​thstring or null

Thai

name.​trstring or null

Türkisch

name.​twstring or null

Chinesisch (traditionell)

name.​vistring or null

Vietnamesisch

name.​kmstring or null

Khmer

name.​idstring or null

Indonesisch

name.​lostring or null

Laotisch

name.​mystring or null

Birmanisch

name.​phstring or null

Filipino

name.​nestring or null

Nepalesisch

orderinteger

Definiert die Anordnungsreihenfolge.

description(object or 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.

Any of:

Sprachencodes bestehend aus zwei Kleinbuchstaben.

description.​enstring or null

Englisch

description.​arstring or null

Arabisch

description.​bgstring or null

Bulgarisch

description.​cnstring or null

Chinesisch (vereinfacht)

description.​csstring or null

Tschechisch

description.​destring or null

Deutsch

description.​esstring or null

Spanisch (Spanien)

description.​frstring or null

Französisch

description.​hestring or null

Hebräisch

description.​itstring or null

Italienisch

description.​jastring or null

Japanisch

description.​kostring or null

Koreanisch

description.​plstring or null

Polnisch

description.​ptstring or null

Portugiesisch

description.​rostring or null

Rumänisch

description.​rustring or null

Russisch

description.​thstring or null

Thai

description.​trstring or null

Türkisch

description.​twstring or null

Chinesisch (traditionell)

description.​vistring or null

Vietnamesisch

description.​kmstring or null

Khmer

description.​idstring or null

Indonesisch

description.​lostring or null

Laotisch

description.​mystring or null

Birmanisch

description.​phstring or null

Filipino

description.​nestring or null

Nepalesisch

long_description(object or null)

Objekt mit Lokalisierungen für lange 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 Varianten 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.

Any of:

Sprachencodes bestehend aus zwei Kleinbuchstaben.

long_description.​enstring or null

Englisch

long_description.​arstring or null

Arabisch

long_description.​bgstring or null

Bulgarisch

long_description.​cnstring or null

Chinesisch (vereinfacht)

long_description.​csstring or null

Tschechisch

long_description.​destring or null

Deutsch

long_description.​esstring or null

Spanisch (Spanien)

long_description.​frstring or null

Französisch

long_description.​hestring or null

Hebräisch

long_description.​itstring or null

Italienisch

long_description.​jastring or null

Japanisch

long_description.​kostring or null

Koreanisch

long_description.​plstring or null

Polnisch

long_description.​ptstring or null

Portugiesisch

long_description.​rostring or null

Rumänisch

long_description.​rustring or null

Russisch

long_description.​thstring or null

Thai

long_description.​trstring or null

Türkisch

long_description.​twstring or null

Chinesisch (traditionell)

long_description.​vistring or null

Vietnamesisch

long_description.​kmstring or null

Khmer

long_description.​idstring or null

Indonesisch

long_description.​lostring or null

Laotisch

long_description.​mystring or null

Birmanisch

long_description.​phstring or null

Filipino

long_description.​nestring or null

Nepalesisch

image_urlstring or null

Bild-URL.

periodsArray of objects

Gültigkeitszeitraum der Belohnungskette. Wenn mehrere Zeiträume angegeben sind, sind sowohl date_from als auch date_until erforderlich.

periods[].​date_fromstring(date-time)erforderlich

Startdatum für die angegebene Belohnungskette.

Beispiel: "2020-08-11T10:00:00+03:00"
periods[].​date_untilstring or null(date-time)

Enddatum für die angegebene Belohnungskette. Kann nur dann null sein, wenn eine einziger Gültigkeitszeitraum angegeben ist.

Beispiel: "2020-08-11T20:00:00+03:00"
is_enabledboolean
value_pointobject
value_point.​skustring[ 1 .. 255 ] characters^[a-zA-Z0-9_\-–.]*$

Eindeutige Artikel-ID. Die SKU darf nur lateinische Klein- und Großbuchstaben, Ziffern, Punkte, Bindestriche und Unterstriche enthalten.

value_point.​description(object or 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.

Any of:

Sprachencodes bestehend aus zwei Kleinbuchstaben.

value_point.​description.​enstring or null

Englisch

value_point.​description.​arstring or null

Arabisch

value_point.​description.​bgstring or null

Bulgarisch

value_point.​description.​cnstring or null

Chinesisch (vereinfacht)

value_point.​description.​csstring or null

Tschechisch

value_point.​description.​destring or null

Deutsch

value_point.​description.​esstring or null

Spanisch (Spanien)

value_point.​description.​frstring or null

Französisch

value_point.​description.​hestring or null

Hebräisch

value_point.​description.​itstring or null

Italienisch

value_point.​description.​jastring or null

Japanisch

value_point.​description.​kostring or null

Koreanisch

value_point.​description.​plstring or null

Polnisch

value_point.​description.​ptstring or null

Portugiesisch

value_point.​description.​rostring or null

Rumänisch

value_point.​description.​rustring or null

Russisch

value_point.​description.​thstring or null

Thai

value_point.​description.​trstring or null

Türkisch

value_point.​description.​twstring or null

Chinesisch (traditionell)

value_point.​description.​vistring or null

Vietnamesisch

value_point.​description.​kmstring or null

Khmer

value_point.​description.​idstring or null

Indonesisch

value_point.​description.​lostring or null

Laotisch

value_point.​description.​mystring or null

Birmanisch

value_point.​description.​phstring or null

Filipino

value_point.​description.​nestring or null

Nepalesisch

value_point.​long_description(object or null)

Objekt mit Lokalisierungen für lange 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 Varianten 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.

Any of:

Sprachencodes bestehend aus zwei Kleinbuchstaben.

value_point.​long_description.​enstring or null

Englisch

value_point.​long_description.​arstring or null

Arabisch

value_point.​long_description.​bgstring or null

Bulgarisch

value_point.​long_description.​cnstring or null

Chinesisch (vereinfacht)

value_point.​long_description.​csstring or null

Tschechisch

value_point.​long_description.​destring or null

Deutsch

value_point.​long_description.​esstring or null

Spanisch (Spanien)

value_point.​long_description.​frstring or null

Französisch

value_point.​long_description.​hestring or null

Hebräisch

value_point.​long_description.​itstring or null

Italienisch

value_point.​long_description.​jastring or null

Japanisch

value_point.​long_description.​kostring or null

Koreanisch

value_point.​long_description.​plstring or null

Polnisch

value_point.​long_description.​ptstring or null

Portugiesisch

value_point.​long_description.​rostring or null

Rumänisch

value_point.​long_description.​rustring or null

Russisch

value_point.​long_description.​thstring or null

Thai

value_point.​long_description.​trstring or null

Türkisch

value_point.​long_description.​twstring or null

Chinesisch (traditionell)

value_point.​long_description.​vistring or null

Vietnamesisch

value_point.​long_description.​kmstring or null

Khmer

value_point.​long_description.​idstring or null

Indonesisch

value_point.​long_description.​lostring or null

Laotisch

value_point.​long_description.​mystring or null

Birmanisch

value_point.​long_description.​phstring or null

Filipino

value_point.​long_description.​nestring or null

Nepalesisch

value_point.​name(object or null)

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.

Any of:

Sprachencodes bestehend aus zwei Kleinbuchstaben.

value_point.​name.​enstring or null

Englisch

value_point.​name.​arstring or null

Arabisch

value_point.​name.​bgstring or null

Bulgarisch

value_point.​name.​cnstring or null

Chinesisch (vereinfacht)

value_point.​name.​csstring or null

Tschechisch

value_point.​name.​destring or null

Deutsch

value_point.​name.​esstring or null

Spanisch (Spanien)

value_point.​name.​frstring or null

Französisch

value_point.​name.​hestring or null

Hebräisch

value_point.​name.​itstring or null

Italienisch

value_point.​name.​jastring or null

Japanisch

value_point.​name.​kostring or null

Koreanisch

value_point.​name.​plstring or null

Polnisch

value_point.​name.​ptstring or null

Portugiesisch

value_point.​name.​rostring or null

Rumänisch

value_point.​name.​rustring or null

Russisch

value_point.​name.​thstring or null

Thai

value_point.​name.​trstring or null

Türkisch

value_point.​name.​twstring or null

Chinesisch (traditionell)

value_point.​name.​vistring or null

Vietnamesisch

value_point.​name.​kmstring or null

Khmer

value_point.​name.​idstring or null

Indonesisch

value_point.​name.​lostring or null

Laotisch

value_point.​name.​mystring or null

Birmanisch

value_point.​name.​phstring or null

Filipino

value_point.​name.​nestring or null

Nepalesisch

value_point.​typestring
value_point.​is_enabledboolean
value_point.​image_urlstring or null

Bild-URL.

value_point.​media_listArray of objects

Zusätzliche Medieninhalte des Artikels wie Screenshots, Gameplay-Videos usw.

value_point.​media_list[].​typestring

Medieninhaltstyp: image/video.

Enum"image""video"
Beispiel: "image"
value_point.​media_list[].​urlstring

Ressourcendatei.

Beispiel: "https://cdn3.xsolla.com/img/misc/images/71ab1e12126f2103e1868076f0acb21a.jpg"
value_point.​orderinteger

Definiert die Anordnungsreihenfolge.

value_point.​is_clanboolean

Ob der Wertpunkt in Clan-Belohnungsketten verwendet wird.

stepsArray of objects
steps[].​step_idinteger or null

ID des eindeutigen Schritts.

steps[].​name(object or null)

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.

Any of:

Sprachencodes bestehend aus zwei Kleinbuchstaben.

steps[].​name.​enstring or null

Englisch

steps[].​name.​arstring or null

Arabisch

steps[].​name.​bgstring or null

Bulgarisch

steps[].​name.​cnstring or null

Chinesisch (vereinfacht)

steps[].​name.​csstring or null

Tschechisch

steps[].​name.​destring or null

Deutsch

steps[].​name.​esstring or null

Spanisch (Spanien)

steps[].​name.​frstring or null

Französisch

steps[].​name.​hestring or null

Hebräisch

steps[].​name.​itstring or null

Italienisch

steps[].​name.​jastring or null

Japanisch

steps[].​name.​kostring or null

Koreanisch

steps[].​name.​plstring or null

Polnisch

steps[].​name.​ptstring or null

Portugiesisch

steps[].​name.​rostring or null

Rumänisch

steps[].​name.​rustring or null

Russisch

steps[].​name.​thstring or null

Thai

steps[].​name.​trstring or null

Türkisch

steps[].​name.​twstring or null

Chinesisch (traditionell)

steps[].​name.​vistring or null

Vietnamesisch

steps[].​name.​kmstring or null

Khmer

steps[].​name.​idstring or null

Indonesisch

steps[].​name.​lostring or null

Laotisch

steps[].​name.​mystring or null

Birmanisch

steps[].​name.​phstring or null

Filipino

steps[].​name.​nestring or null

Nepalesisch

steps[].​priceobject
steps[].​price.​amountintegererforderlich

Stufenpreis in Wertpunkten.

steps[].​image_urlstring or null

Bild-URL.

steps[].​rewardArray of objects
steps[].​reward[].​skustring[ 1 .. 255 ] characters^[a-zA-Z0-9_\-–.]*$

Eindeutige Artikel-ID. Die SKU darf nur lateinische Klein- und Großbuchstaben, Ziffern, Punkte, Bindestriche und Unterstriche enthalten.

steps[].​reward[].​quantityinteger

Artikelmenge.

steps[].​reward[].​attribute_conditionsArray of objects[ 1 .. 100 ] items

Conditions for validating user attributes. Determine reward availability for reward chain steps based on whether user attributes match all specified conditions.

One of:
steps[].​reward[].​attribute_conditions[].​attributestring[ 1 .. 255 ] characters^[-_.\d\w]+$

Benutzerattributcode.

steps[].​reward[].​attribute_conditions[].​typestring

Benutzerattributtyp.

Wert"string"
steps[].​reward[].​attribute_conditions[].​operatorstring

Art der durchgeführten Operation nach Bedingung. Für den Attributtyp string.

Mögliche Werte:

  • eq – ist gleich
  • ne – ist ungleich
Enum"eq""ne"
steps[].​reward[].​attribute_conditions[].​valuestring<= 255 characters

Bedingungswert, mit dem der Benutzerattributwert verglichen wird. Der Typ hängt vom Attributtyp ab.

steps[].​reward[].​attribute_conditions[].​can_be_missingboolean

Gibt an, dass die Bedingung erfüllt ist, auch wenn das Attribut in den Benutzerattributen fehlt. Übermitteln Sie true, um den Artikel den Nutzern anzuzeigen, die dieses Attribut nicht haben. Nutzer, die das Attribut haben, dessen Wert jedoch nicht mit dem in der Bedingung angegebenen Wert übereinstimmt, sehen den Artikel nicht. false – Nutzer, die das Attribut haben, dessen Wert jedoch nicht mit dem in der Bedingung angegebenen Wert übereinstimmt oder bei denen das Attribut fehlt, sehen den Artikel nicht.

recurrent_schedule(object or null)
One of:

Wiederkehrender Reset-Zeitraum der Belohnungskette.

object or null
attribute_conditionsArray of objects[ 1 .. 100 ] items

Conditions for validating user attributes. Determine chain availability based on whether user attributes match all specified conditions.

One of:
attribute_conditions[].​attributestring[ 1 .. 255 ] characters^[-_.\d\w]+$

Benutzerattributcode.

attribute_conditions[].​typestring

Benutzerattributtyp.

Wert"string"
attribute_conditions[].​operatorstring

Art der durchgeführten Operation nach Bedingung. Für den Attributtyp string.

Mögliche Werte:

  • eq – ist gleich
  • ne – ist ungleich
Enum"eq""ne"
attribute_conditions[].​valuestring<= 255 characters

Bedingungswert, mit dem der Benutzerattributwert verglichen wird. Der Typ hängt vom Attributtyp ab.

attribute_conditions[].​can_be_missingboolean

Gibt an, dass die Bedingung erfüllt ist, auch wenn das Attribut in den Benutzerattributen fehlt. Übermitteln Sie true, um den Artikel den Nutzern anzuzeigen, die dieses Attribut nicht haben. Nutzer, die das Attribut haben, dessen Wert jedoch nicht mit dem in der Bedingung angegebenen Wert übereinstimmt, sehen den Artikel nicht. false – Nutzer, die das Attribut haben, dessen Wert jedoch nicht mit dem in der Bedingung angegebenen Wert übereinstimmt oder bei denen das Attribut fehlt, sehen den Artikel nicht.

is_always_visibleboolean

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

Ob die Belohnungskette (Wertpunkte und Fortschritt aller Nutzer) nach dem Enddatum zurückgesetzt wird:

  • Wenn true festgelegt ist, wird die Belohnungskette nach dem Enddatum zurückgesetzt.
  • Wenn false festgelegt ist, wird die Belohnungskette nach dem Enddatum nicht zurückgesetzt.

Hinweis

true ist nicht möglich, wenn:
  • in recurrent_schedule ein Zeitraum für das Zurücksetzen angegeben ist.
  • der Wert null im Parameter periods.date_until übermittelt wird.
Antwort
application/json
{ "reward_chain_id": 1, "name": { "en": "Reward chain" }, "description": { "en": "Reward chain description" }, "long_description": { "en": "Reward chain long description" }, "is_enabled": true, "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png", "order": 1, "periods": [ {}, {} ], "value_point": { "sku": "com.xsolla.reward_vp_1", "name": {}, "type": "value_point", "is_enabled": true, "description": {}, "long_description": {}, "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png", "media_list": [], "order": 1, "is_clan": false }, "steps": [ {}, {} ], "recurrent_schedule": { "day_of_week": 2, "displayable_reset_next_date": "2026-01-06T01:00:00+05:00", "displayable_reset_start_date": "2026-01-01T01:00:00+05:00", "interval_type": "weekly", "reset_next_date": 1767643200, "time": "01:00:00+05:00" }, "attribute_conditions": [ {} ], "is_always_visible": true, "is_reset_after_end": true }
Operationen
Operationen
Operationen
Operationen

Übersicht

Angebotsketten sind eine Abfolge von Schritten mit jeweils einem Artikel, den Nutzer im Rahmen eines aktiven Angebots kaufen oder kostenlos erhalten können. Angebotsketten können exklusive Artikel umfassen, die nur im Rahmen der Kette erhältlich sind, sowie Artikel zu vergünstigten Preisen (verglichen mit den Preisen im Shop). Ausführliche Informationen zur Konfiguration dieses Marketingtools finden Sie im Abschnitt Angebotsketten.

Verwenden Sie zur Konfiguration von Angebotsketten die API-Aufrufe aus dem Unterabschnitt Verwaltung. Mit den API-Aufrufen aus dem Unterabschnitt Client können Sie die Ketten anzeigen und die Logik für die Arbeit mit den Artikeln implementieren.

Konfiguration einer Angebotskette (Beispielhafter Ablauf):

  1. Erstellen Sie Artikel mithilfe der API-Aufrufe aus dem Unterabschnitt Verwaltung der Gruppe Virtuelle Gegenstände und Währung oder Bundles.

  2. Erstellen Sie eine Kette mithilfe des API-Aufrufs Angebotskette erstellen. Übermitteln Sie den Parameter is_enabled: true, um die Kette zu aktivieren.

  3. Implementieren Sie die Anzeige der Angebotskette. Fordern Sie dazu die Liste der verfügbaren Ketten mithilfe des API-Aufrufs Angebotsketten des aktuellen Nutzers abrufen an. In der Antwort sind alle aktiven Ketten und deren Schritte und Statusangaben enthalten.

  4. Implementieren Sie die Logik für den Umgang mit Artikeln, die Nutzer erhalten:

  5. Konfigurieren Sie das Bestellstatus-Tracking, z. B. mithilfe von Webhooks, um Daten zu in Anspruch genommenen oder gekauften Artikeln umgehend zu erhalten und diese dem Nutzer zu gewähren.

Konfiguration einer Belohnungskette (Ablauf)

Operationen
Operationen
Operationen
Operationen