Begrenzung der Elementanzahl auf der Seite.
Katalog-API (2.0.0)
- Version: 2.0.0
- Server:
https://store.xsolla.com/api - Kontakt-E-Mail-Adresse
- Kontakt-URL: https://xsolla.com/
- Erforderliche TLS-Version: 1.2
Mit der Katalog-API können Sie aufseiten von Xsolla einen Katalog mit Ingame-Items konfigurieren und diesen Katalog den Nutzern in Ihrem Shop anzeigen.
Über die API können Sie die folgenden Katalogentitäten verwalten:
- Virtuelle Gegenstände – Ingame-Items wie etwa Waffen, Skins, Booster.
- Virtuelle Währung – Virtuelles Geld für den Kauf von virtuellen Gütern.
- Virtuelle Währungspakete – vordefinierte Pakete voller virtueller Währung.
- Bundles – eine Kombination aus virtuellen Gegenständen, Währung oder Spielschlüsseln. Bundles werden als eine einzelne SKU verkauft.
- Spielschlüssel – Schlüssel für Spiele oder DLCs, die über Plattformen wie Steam oder andere DRM-Anbieter vertrieben werden.
- Gruppen – logische Gruppierungen, um Artikel im Katalog zu organisieren und zu sortieren.
Die API ist in die folgenden Gruppen unterteilt:
Admin – Aufrufe zum Erstellen, Aktualisieren, Löschen und Konfigurieren von Katalogartikeln und ‑gruppen. Die Authentifizierung erfolgt über die Basisauthentifizierung und Ihre Händler- oder Projekt-Anmeldedaten. Diese Aufrufe sind nicht für den Storefront bestimmt.Catalog – Aufrufe zum Abrufen von Artikeln und zum Erstellen benutzerdefinierter Storefronts für Endnutzer. Konzipiert für den Einsatz unter hoher Auslastung. Unterstützt die optionale Nutzer-JWT-Autorisierung und kann personalisierte Daten (z. B. benutzerspezifische Limits und aktive Werbeaktionen) zurückgeben.
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.
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.
Alternativ können Sie einen Token zum Öffnen des Zahlungsportals verwenden.
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.
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>, wobeiyour_authorization_basic_keydas gemäß Base64-Verfahren kodierteproject_id:api_key-Paar ist - für
basicMerchantAuth–Authorization: Basic <your_authorization_basic_key>, wobeiyour_authorization_basic_keydas gemäß Base64-Verfahren kodiertemerchant_id:api_keyPaar ist
Die Parameterwerte finden Sie im Kundenportal an folgenden Orten:
merchant_idwird 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_idwird 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_keywird 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:
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.
Das Authentifizierungsschema AuthForCart wird für Warenkorbkäufe verwendet und unterstützt zwei Modi:
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.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-idsamt Anfrage-IDx-usersamt der E-Mail-Adresse des Nutzers, kodiert in Base64
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.
Einige Aufrufe können zusätzliche Felder enthalten, doch diese ändern nichts an der Grundstruktur.
Identifikation
merchant_id– Firmen-ID im Kundenportalproject_id– Projekt-ID im Kundenportalsku– Artikel-SKU, einzigartig innerhalb des Projekts
Shop-Anzeige
name– Artikelnamedescription– Artikelbeschreibungimage_url– Bild-URLis_enabled– Artikelverfügbarkeitis_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örtorder– Anzeigereihenfolge im Katalog
Verkaufsbedingungen
prices– Preise in echter oder virtueller Währunglimits– Kauflimitsperiods– Verfügbarkeitszeiträumeregions– 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": []
}Ü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.
Erstellen Sie für Ihren Shop einen Katalog mit Artikeln wie etwa virtuellen Gegenständen, Bundles oder virtueller Währung.
API-Aufrufe (Beispiele):
Konfigurieren Sie Tools für die Nutzergewinnung und Monetarisierung, wie etwa Rabatte, Boni, tägliche Belohnungen oder Angebotsketten.
API-Aufrufe (Beispiele):
Konfigurieren Sie, wie Artikel in Ihrer Anwendung angezeigt werden sollen.
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):
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 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.
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.
Rabattinformationen sind für den Nutzer nur im Zahlungsportal verfügbar. Promocodes werden nicht unterstützt.
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:
- 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).
- Aktualisieren Sie den Warenkorbinhalt basierend auf den Aktionen des Nutzers:
- Verwenden Sie den API-Aufruf Warenkorbartikel anhand von Warenkorb-ID aktualisieren, um einen Artikel in den Warenkorb zu legen oder die Artikelmenge zu ändern.
- Verwenden Sie den API-Aufruf Warenkorbartikel anhand von Warenkorb-ID löschen, um einen Artikel zu entfernen.
Mit dem API-Aufruf "Warenkorb des aktuellen Benutzers abrufen" können Sie den aktuellen Status des Warenkorbs abrufen.
- 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
newzugewiesen.
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:
- 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).
- 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
newzugewiesen.
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.
| Aktion | Endpunkt |
|---|---|
| In der Produktionsumgebung öffnen. | https://secure.xsolla.com/paystation4/?token={token} |
| In der Testumgebung öffnen. | https://sandbox-secure.xsolla.com/paystation4/?token={token} |
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 angelegtpaid– Zahlung erhaltendone– Artikel geliefertcanceled– Bestellung storniertexpired– Bestellung abgelaufen
Tracken Sie den Bestellstatus mit einer der folgenden Methoden:
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 Seiteoffset– Index des ersten Elements auf der Seite (Nummerierung beginnt bei 0)has_more– gibt an, ob eine weitere Seite verfügbar isttotal_items_count– Gesamtanzahl der Elemente
Beispielanfrage:
GET /items?limit=20&offset=40Beispielantwort:
{
"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 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
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:
namedescriptionlong_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"
}
}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 Anfrage401– Authentifizierungsfehler403– mangelnde Berechtigungen404– Ressource nicht gefunden422– Validierungsfehler429– 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.
Übersicht
Sie können einen Ingame-Shop mit virtuellen Gegenständen und virtueller Währung einrichten und festlegen, wie dieser Shop den Nutzern angezeigt wird. Folgende Artikeltypen stehen zur Verfügung:
- virtuelle Gegenstände – Ingame-Items wie Waffen, Skins oder Booster. Können gegen echtes Geld oder virtuelle Währung verkauft werden.
- virtuelle Währung – Ingame-Währung für den Kauf virtueller Gegenstände. Kann gegen echtes Geld oder virtuelle Währung verkauft werden.
- virtuelle Währungspakete – eine festgelegte Menge virtueller Währung. Können gegen echtes Geld oder virtuelle Währung verkauft werden.
Gruppen dienen dazu, Artikel im Katalog zu organisieren, logisch zu gruppieren und zu steuern, wie Artikel angezeigt werden.
Mit API-Aufrufen aus dem Unterabschnitt Verwaltung können Sie Artikel erstellen, aktualisieren und löschen.
Mit API-Aufrufen aus dem Unterabschnitt Katalog können Sie Artikellisten abrufen und sie den Nutzern anzeigen.
Verwenden Sie keine API-Aufrufe aus dem Unterabschnitt Verwaltung,0 um einen Shopkatalog zu erstellen.
Der API-Aufruf Liste virtueller Gegenstände abrufen gibt detaillierte Artikeldaten zurück (einschließlich Preise und Attribute) und unterstützt Paginierung. Mit dem Aufruf können Sie Katalogseiten im Storefront anzeigen.
Der API-Aufruf Liste aller virtuellen Gegenstände abrufen gibt Artikel-SKU, Namen, Beschreibung sowie Gruppen-ID und Namen ohne Paginierung zurück. Verwenden Sie den Aufruf für die clientseitige Suche oder Indexierung.
Wird ein Artikel mit virtueller Währung 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 – die Zahlungsabwicklung erfolgt bei Ausführung des API-Aufrufs.
Kaufvorgang mit virtueller Währung (Beispiel):

Übersicht
Spielschlüssel sind einmalig verwendbare, eindeutige alphanumerische Codes, mit denen Nutzer Zugriff auf ein Spiel oder einen DLC erhalten. Sie können Spielschlüssel über einen Direktlink, über den Shop oder über ein Widget verkaufen. Außerdem können Sie regionale Beschränkungen konfigurieren und so den Verkauf von Spielschlüsseln auf bestimmte Ländern beschränken. Ausführliche Informationen finden Sie im Abschnitt Spielschlüsselpakete.
Für den Verkauf von Spielschlüsseln ist keine Benutzerauthentifizierung erforderlich – die Schlüssel werden an die E-Mail-Adresse gesendet, die der Nutzer beim Bezahlvorgang angegeben hat. Sie können jedoch die Authentifizierung konfigurieren und dadurch zusätzliche Szenarien umsetzen: Personalisierung, Kaufbeschränkungen oder Berechtigungssystem. Ausführliche Informationen finden Sie im Abschnitt So richten Sie die Authentifizierung beim Verkauf von Spielschlüsseln ein.
Ablauf beim Verkauf von Spielschlüsseln:
- Erstellen Sie ein Spiel mit dem API-Aufruf Spiel erstellen.
- Konfigurieren Sie regionale Beschränkungen.
- Laden Sie Spielschlüssel mithilfe des API-Aufrufs Codes hochladen in ein Spielschlüsselpaket hoch, um sie zum Kauf bereitzustellen.
- Zeigen Sie den Spielekatalog mitsamt den Preisen für die Region des Nutzers mithilfe des API-Aufrufs Spieleliste abrufen an.
- Legen Sie eine Bestellung an. Verwenden Sie bei einem Schnellkauf den API-Aufruf Bestellung mit allen Artikeln aus dem aktuellen Warenkorb anlegen und übermitteln Sie dabei die SKU des Spielschlüssels. In der Antwort wird ein Token zum Öffnen des Zahlungsportals zurückgegeben.
- Implementieren Sie das Öffnen des Zahlungsportals, damit die Bestellung bezahlt werden kann.
Damit Sie zeitnah Benachrichtigungen über erfolgreiche Zahlungen erhalten und die Artikel den Nutzern übertragen können, sollten Sie das Bestellstatus-Tracking einrichten, beispielsweise mithilfe von Webhooks. Die Schlüssel werden an die E-Mail-Adresse gesendet, die der Nutzer beim Bezahlvorgang angegeben hat, und der Bestellstatus wechselt in done.
Übersicht
Bundles sind eine Zusammenstellung von Artikeln, die als eine Einheit verkauft werden. Ein Bundle kann virtuelle Gegenstände, virtuelle Währung, virtuelle Währungspakete, Spielschlüssel und andere Bundles enthalten. So lassen sich Starterpakete, saisonale Angebote und Sonderaktionen zusammenstellen und anbieten.
Verwenden Sie die folgenden Gruppen von API-Aufrufen, um mit Bundles zu arbeiten:
- Mit den API-Aufrufen aus dem Unterabschnitt Verwaltung können Sie Bundles erstellen, aktualisieren, löschen und deren Sichtbarkeit steuern.
- Mit den API-Aufrufen aus dem Unterabschnitt Katalog können Sie Bundles abrufen.
Kauflimits lassen sich beim Erstellen oder Aktualisieren eines Bundles über das limits-Objekt konfigurieren. Weitere Informationen finden Sie in der Übersicht unter Limits. Sie können zudem regionale Beschränkungen festlegen und so den Verkauf von Artikeln auf bestimmte Länder beschränken.
Bundle verwalten (Szenario):
- Erstellen Sie ein Bundle mithilfe des API-Aufrufs Bundle erstellen. Verwenden Sie den API-Aufruf Bundle abrufen, um das erstellte Bundle zu überprüfen. Mit dem API-Aufruf Liste der Bundles abrufen können Sie alle Bundles im Projekt abrufen.
- Verwenden Sie bei Bedarf den API-Aufruf Bundle aktualisieren, um den Bundle-Inhalt oder die ‑Einstellungen zu ändern.
- Implementieren Sie die Logik, gemäß der Bundles in Ihrem Storefront angezeigt werden, mithilfe des API-Aufrufs Liste der Bundles abrufen, Angegebenes Bundle abrufen oder Liste der Bundles anhand der angegebenen Gruppe abrufen.
- Legen Sie eine Berstellung mit einem der API-Aufrufe aus dem Abschnitt Warenkorb und Zahlung an. Bei einem Schnellkauf können Sie beispielsweise den API-Aufruf Bestellung mit angegebenem Artikel anlegen verwenden und dabei die Bundle-SKU übermitteln. In der Antwort wird ein Token zum Öffnen des Zahlungsportals zurückgegeben.
- Implementieren Sie das Öffnen des Zahlungsportals, damit die Bestellung bezahlt werden kann.
- Richten Sie das Bestellstatus-Tracking ein, beispielsweise mithilfe von Webhooks, um zeitnah Daten zu erfolgreich bezahlten Artikeln zu erhalten und diese dem Nutzer zu übertragen.

Übersicht
Der Warenkorb ermöglicht es, mehrere Artikel in einer einzelnen Bestellung zusammenzufassen. Ein Nutzer kann Artikel jeglichen Typs in beliebiger Menge gegen echte Währung kaufen sowie Promocodes einlösen.
Der Warenkorb wird aufseiten von Xsolla gespeichert. Ob der Warenkorb sitzungsübergreifend gespeichert wird, hängt davon ab, ob der Nutzer autorisiert ist:
Bei autorisierten Nutzern ist der Warenkorb mit dem jeweiligen Nutzer verknüpft und wird sitzungsübergreifend gespeichert, solange Anfragen im Namen desselben Nutzers gesendet werden.
Bei nicht autorisierten Nutzern hängt es davon ab, ob der Header
x-unauthorized-idübermittelt wird. Um den Warenkorb eines nicht autorisierten Nutzers sitzungsübergreifend zu speichern, müssen Sie dieselbex-unauthorized-idin jeder Anfrage übermitteln. Diese Option ist nur beim Verkauf von Spielschlüsseln verfügbar.
Sie können den Warenkorb auf zwei Arten identifizieren: automatisch anhand des JWT des Nutzers oder anhand der Warenkorb-ID (cart_id).
Der Warenkorb lässt sich sowohl clientseitig als auch serverseitig verwalten.
Serverseitig können Sie den Warenkorb mit Artikeln befüllen, z. B. beim Wiederherstellen einer Sitzung eines Nutzers. Clientseitig stehen Ihnen folgende Aktionen zur Verfügung:
- den aktuellen Warenkorb des Nutzers oder einen Warenkorb anhand einer ID abrufen
- den Warenkorb befüllen
- Artikel im Warenkorb aktualisieren
- Artikel aus dem Warenkorb löschen
Um Artikel aus dem Warenkorb zu kaufen, werden client- und serverseitige Aufrufe zur Bestellanlegung verwendet.
Die Lebensdauer des Warenkorbs beträgt standardmäßig 72 Stunden. Ändert sich der Inhalt (z. B. wenn ein neuer Artikel in den Warenkorb gelegt wird) verlängert sich die Lebensdauer.
Nach erfolgreicher Zahlung wird der Warenkorb nicht automatisch geleert. Um den Warenkorb zu leeren, müsse Sie die folgenden clientseitigen API-Aufrufe verwenden:
Warenkorbartikel anhand der Warenkorb-ID löschen und Warenkorbartikel aus aktuellem Warenkorb löschen – dder Warenkorb wird geleert, sobald Sie den letzten Artikel daraus löschen.
Anwendungsszenario für den Warenkorb:
Implementieren Sie eine Shopoberfläche, auf der der Nutzer Artikel auswählen kann.
Wenn der Nutzer Artikel im Shop auswählt, müssen Sie diese in den Warenkorb legen, z. B. mithilfe des Aufrufs Artikel in den Warenkorb legen. Im Array "items" müssen Sie die SKUs und die gewünschte Stückzahl des jeweiligen Artikels übermitteln.
Implementieren Sie die Warenkorbansicht. Wenn der Nutzer zum Warenkorb navigiert, müssen Sie den Warenkorbinhalt mithilfe des Aufrufs Warenkorb des aktuellen Benutzers abrufen anzeigen. In der Antwort werden Informationen zum finalen Preis der Artikel (einschließlich Rabatten und angewendeten Werbeaktionen) zurückgegeben.
Implementieren Sie das Öffnen des Zahlungsportals, damit die Bestellung bezahlt werden kann. Sie können beispielsweise den Aufruf Bestellung mit allen Artikeln aus einem angegebenen Warenkorb anlegen verwenden. In der Antwort ist ein Token zum Öffnen des Zahlungsportals enthalten.
Richten Sie das Bestellstatus-Tracking ein, beispielsweise mithilfe von Webhooks, um zeitnah Daten zu erfolgreich bezahlten Artikeln zu erhalten und diese dem Nutzer zu übertragen.
Hinweis
Wie Sie den Verkauf von Artikeln im Spiel und online implementieren, erfahren Sie im Integrationsleitfaden.
Lebenszyklus von Bestellungen
Den Lebenszyklus von Bestellungen zu verstehen, hilft Ihnen dabei, Bestellungen nachzuverfolgen und die Logik nach dem Kauf (z. B. die Lieferung der Artikel) korrekt umzusetzen.
Der Auftrag durchläuft die folgenden Status:
| Status | Beschreibung | Hinweise |
new | Die Bestellung wurde angelegt. Das System wartet auf die Zahlungsbestätigung. | Erläuterungen zum Transaktionsstatus finden Sie in der Pay-Station-API-Dokumentation. |
paid | Bestellung wurde bezahlt (die Transaktion wurde in den Status done versetzt), und der Artikel kann dem Nutzer gewährt werden. | Die Bestellung verbleibt im Status new, bis die Zahlung bestätigt wurd. |
done | Artikel wurde dem Nutzer gewährt. | — |
canceled | Die Zahlung wurder erstattet. | Die Bestellung wechselt in diesen Status, sobald sich der Transaktionsstatus in refunded ändert. |
expired | Wird eine neue Bestellung für einen begrenzten Artikel, einen Promocode oder eine Werbeaktion angelegt, wird jede bisherige, noch nicht bezahlte Bestellung, in der dieser Artikel enthalten ist, in den Status expired versetzt. | Sollte ein Nutzer versuchen, eine abgelaufene Bestellung zu bezahlen, wird im Zahlungsportal der Fehlercode 2002 angezeigt, und die Zahlung schlägt fehl. |
Hinweis
Wenn die Bestellung während des Bezahlvorgangs in den Status expired wechselt, die Zahlung jedoch erfolgreich ist, ändert sich der Status der Bestellung von expired in paid. Dies gilt nur, wenn das Kauflimit für den bestellten Artikel bei der Zahlung nicht überschritten wird.
Kostenlose Artikel
Use calls from this section to grant free items to users.
Übersicht
Mithilfe von Kauflimits können Sie begrenzen, wie viele Artikel ein einzelner Nutzer oder alle Nutzer erwerben können. Zudem können Sie festlegen, dass das Limit nach einer bestimmten Zeitspanne zurückgesetzt wird.
Limits werden aufseiten von Xsolla gespeichert und auf der Ebene der einzelnen Artikel im Kundenportal oder über das Objekt limits in den folgenden API-Aufrufen konfiguriert:
- Virtuellen Gegenstand erstellen
- Spiel erstellen
- Virtuelle Währung erstellen
- Virtuelles Währungspaket erstellen
- Bundle erstellen
Informationen zu den Limits werden in den folgenden API-Aufrufen zum Abrufen des Artikelkatalogs im Objekt items.limits zurückgegeben:
- Liste virtueller Gegenstände abrufen
- Liste virtueller Währungen abrufen
- Liste virtueller Währungspakete abrufen
- Liste der Bundles abrufen
- Spieleliste abrufen
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.
Ausführliche Informationen zur Konfiguration von Limits im Katalog finden Sie im Abschnitt Kauflimits für Artikel.
Anfrage
Ruft eine Liste der verkäuflichen Artikel zum Erstellen eines Katalogs ab.
Bei allen Projekten ist die Anzahl der Artikel begrenzt, die Sie in der Antwort erhalten können. Der Standard- und Höchstwert beträgt 50 Artikel pro Antwort. Um pro Seite mehr Daten zu erhalten, verwenden Sie die Felder limit und offset.
Dieser API-Aufruf gibt generische Katalogdaten zurück, wenn er ohne Autorisierung verwendet wird. Verwenden Sie die Autorisierung, um personalisierte Nutzerdaten abzurufen, wie z. B. mit dem Artikel verknüpfte Limits und Werbeaktionen. Dazu müssen Sie den Benutzer-JWT im
Authorization-Header übermitteln. Weitere Informationen zum Benutzer-JWT finden Sie im Block Sicherheit für diesen Aufruf.
Projekt-ID. Dieser Parameter wird im Kundenportal neben dem Projektnamen angezeigt.
Elementnummer, aus der die Liste generiert wird (die Zählung beginnt bei 0).
Antwortsprache. Sprachencode bestehend aus zwei Kleinbuchstaben gemäß ISO 639-1 (zum Beispiel en). Fünfstellige Gebietsschemacodes (zum Beispiel en-US) werden in Lokalisierungsfeldern wie name und description unterstützt, jedoch in den Antworten in zweistellige Codes umgewandelt. Die vollständige Liste der unterstützten Sprachen finden Sie in der Dokumentation.
Additional fields to include in the response. By default, these fields are not returned. Pass the required values to include them.
Zweistelliger Ländercode in Großbuchstaben gemäß ISO 3166-1 Alpha-2. Weitere Informationen zu den von Xsolla unterstützten Ländern und dazu, wie das Land ermittelt wird, finden Sie in der Dokumentation.
Eindeutiger Code, es wird zwischen Groß- und Kleinschreibung unterschieden. Enthält Buchstaben und Ziffern.
- https://store.xsolla.com/api/v2/project/{project_id}/items
- Mock serverhttps://xsolla.redocly.app/_mock/de/api/catalog/v2/project/{project_id}/items
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://store.xsolla.com/api/v2/project/59080/items?limit=50&offset=0&locale=en&additional_fields%5B%5D=media_list&country=US&promo_code=WINTER2021&show_inactive_time_limited_items=1' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'Die Liste der verkäuflichen Artikel wurde erfolgreich empfangen.
Interne eindeutige Artikel-ID, die bei der Artikelerstellung vergeben wird.
Eindeutige Artikel-ID. Die SKU darf nur lateinische Klein- und Großbuchstaben, Ziffern, Punkte, Bindestriche und Unterstriche enthalten.
Gruppen, zu denen der Artikel gehört.
External item group ID specified during creation.
Preissumme der einzelnen Bundle-Inhalte.
Rabattierte Preissumme der einzelnen Bundle-Inhalte.
Preissumme der einzelnen Bundle-Inhalte.
Währung des Artikelpreises. Dreistelliger Code pro ISO 4217.
Liste der Attribute und ihrer Werte, die dem Artikel zugeordnet sind. Kann für die Katalogfilterung verwendet werden.
Eindeutige Attribut-ID. Die external_id darf nur lateinische Klein- und Großbuchstaben, Ziffern, Bindestriche und Unterstriche enthalten.
Name des Attributs.
Eindeutige Wert-ID für ein Attribut. Die external_id darf nur lateinische Kleinbuchstaben, alphanumerische Zeichen, Binde- und Unterstriche enthalten.
Artikeltyp: virtual_good/virtual_currency/bundle/game_key/physical_good.
Bundle-Typ. Wird zurückgegeben, wenn der Artikeltyp ein Bundle ist.
Bild-URL.
Artikelpreise.
Währung des Artikelpreises. Dreistelliger Code pro ISO 4217.
Virtual prices.
Item price in virtual currency without discount. Always equal to amount since discounts are not applied to prices in virtual currency.
Ob es sich um den Standardpreis in virtueller Währung handelt.
Virtual currency image URL.
Item type. For virtual currency, it is `virtual_currency.
Auf bestimmte Artikel im Warenkorb angewandte Werbeaktionen. Das array wird in den folgenden Fällen zurückgegeben:
Für einen bestimmten Artikel ist eine Rabattaktion konfiguriert.
Ein Promocode mit der Einstellung Rabatt auf ausgewählte Artikel ist angewandt.
Werden keine Werbeaktionen auf Artikelebene angewandt, wird ein leeres Array zurückgegeben.
Typ des Bonusartikels.
Name des Bonusartikels. Nicht verfügbar für Bonusartikel vom Typ physical_good.
Bild-URL des Bonusartikels. Nicht verfügbar für Bonusartikel vom Typ physical_good.
Art des virtuellen Gegenstands.
Mögliche Werte:
consumable– ein Gegenstand, der nach dem Gebrauch aus dem Inventar verschwindet (z. B. Munition).non_consumable– ein Gegenstand, der unbegrenzt lange im Inventar verbleibt.non_renewing_subscription– ein zeitlich begrenzter Artikel, der den Zugang zu Services oder Inhalten für einen begrenzten Zeitraum gewährt.
Artikelbeschränkungen.
Artikelbeschränkungen für einen Nutzer.
Höchstzahl von Artikeln, die ein einzelner Nutzer kaufen kann.
Verbleibende Anzahl von Artikeln, die der aktuelle Nutzer kaufen kann.
Wiederkehrender Artikellimit-Aktualisierungszeitraums für einen Nutzer.
Steuert die Sichtbarkeit des Artikels im Katalog nach Erreichen des Kauflimits, und zwar bis das Limit das nächste Mal zurückgesetzt wird.
Gilt für Artikel, bei denen im Array recurrent_schedule Limits konfiguriert sind, die regelmäßig zurückgesetzt werden.
Wenn festgelegt ist, dass das Kauflimit nicht zurückgesetzt wird, wird der Artikel nach Erreichen des Kauflimits nicht mehr im Katalog angezeigt, unabhängig davon, welcher Wert für limit_exceeded_visibility festgelegt ist.
Mögliche Wert:
show– Der Artikel wird in API-Aufrufen zur Katalogabfrage zurückgegeben, auch wenn das Kauflimit bereits erreicht wurde. Bei clientseitigen API-Aufrufen zur Katalogabfrage wird der Artikel nach Erreichen des Limits mit dem Flagcan_be_bought: falsezurückgegeben. Das Datum, an dem das Limit das nächste Mal zurückgesetzt wird, wird im Parameterreset_next_datezurückgegeben.hide– nachdem das Kauflimit erreicht wurde, wird der Artikel bei API-Aufrufen zur Katalogabfrage nicht mehr zurückgegeben, bis das Limit zurückgesetzt wird.
Artikelbeschränkungen für einen Artikel.
List of value point rewards for the item.
{ "has_more": false, "items": [ { … }, { … }, { … }, { … }, { … }, { … }, { … }, { … }, { … }, { … }, { … }, { … }, { … }, { … }, { … } ] }
Anfrage
Ruft einen verkäuflichen Artikel anhand seiner ID ab.
Dieser API-Aufruf gibt generische Katalogdaten zurück, wenn er ohne Autorisierung verwendet wird. Verwenden Sie die Autorisierung, um personalisierte Nutzerdaten abzurufen, wie z. B. mit dem Artikel verknüpfte Limits und Werbeaktionen. Dazu müssen Sie den Benutzer-JWT im
Authorization-Header übermitteln. Weitere Informationen zum Benutzer-JWT finden Sie im Block Sicherheit für diesen Aufruf.
Projekt-ID. Dieser Parameter wird im Kundenportal neben dem Projektnamen angezeigt.
Eindeutiger Code, es wird zwischen Groß- und Kleinschreibung unterschieden. Enthält Buchstaben und Ziffern.
Zeigt zeitlich begrenzte Artikel an, die nicht erhältlich sind. Der Gültigkeitszeitraum dieser Artikel hat noch nicht begonnen oder ist bereits vorüber.
- https://store.xsolla.com/api/v2/project/{project_id}/items/id/{item_id}
- Mock serverhttps://xsolla.redocly.app/_mock/de/api/catalog/v2/project/{project_id}/items/id/{item_id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://store.xsolla.com/api/v2/project/59080/items/id/259774?promo_code=WINTER2021&show_inactive_time_limited_items=1&additional_fields%5B%5D=media_list' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'Der verkäufliche Artikel wurde erfolgreich empfangen.
Interne eindeutige Artikel-ID, die bei der Artikelerstellung vergeben wird.
Eindeutige Artikel-ID. Die SKU darf nur lateinische Klein- und Großbuchstaben, Ziffern, Punkte, Bindestriche und Unterstriche enthalten.
Gruppen, zu denen der Artikel gehört.
Liste der Attribute und ihrer Werte, die dem Artikel zugeordnet sind. Kann für die Katalogfilterung verwendet werden.
Eindeutige Attribut-ID. Die external_id darf nur lateinische Klein- und Großbuchstaben, Ziffern, Bindestriche und Unterstriche enthalten.
Name des Attributs.
Eindeutige Wert-ID für ein Attribut. Die external_id darf nur lateinische Kleinbuchstaben, alphanumerische Zeichen, Binde- und Unterstriche enthalten.
Artikeltyp: virtual_good/virtual_currency/bundle/game_key/physical_good.
Bild-URL.
Artikelpreise.
Virtual prices.
Item price in virtual currency without discount. Always equal to amount since discounts are not applied to prices in virtual currency.
Ob es sich um den Standardpreis in virtueller Währung handelt.
Item type. For virtual currency, it is `virtual_currency.
Auf bestimmte Artikel im Warenkorb angewandte Werbeaktionen. Das array wird in den folgenden Fällen zurückgegeben:
Für einen bestimmten Artikel ist eine Rabattaktion konfiguriert.
Ein Promocode mit der Einstellung Rabatt auf ausgewählte Artikel ist angewandt.
Werden keine Werbeaktionen auf Artikelebene angewandt, wird ein leeres Array zurückgegeben.
Typ des Bonusartikels.
Name des Bonusartikels. Nicht verfügbar für Bonusartikel vom Typ physical_good.
Bild-URL des Bonusartikels. Nicht verfügbar für Bonusartikel vom Typ physical_good.
Art des virtuellen Gegenstands.
Mögliche Werte:
consumable– ein Gegenstand, der nach dem Gebrauch aus dem Inventar verschwindet (z. B. Munition).non_consumable– ein Gegenstand, der unbegrenzt lange im Inventar verbleibt.non_renewing_subscription– ein zeitlich begrenzter Artikel, der den Zugang zu Services oder Inhalten für einen begrenzten Zeitraum gewährt.
Artikelbeschränkungen.
Artikelbeschränkungen für einen Nutzer.
Höchstzahl von Artikeln, die ein einzelner Nutzer kaufen kann.
Verbleibende Anzahl von Artikeln, die der aktuelle Nutzer kaufen kann.
Wiederkehrender Artikellimit-Aktualisierungszeitraums für einen Nutzer.
Steuert die Sichtbarkeit des Artikels im Katalog nach Erreichen des Kauflimits, und zwar bis das Limit das nächste Mal zurückgesetzt wird.
Gilt für Artikel, bei denen im Array recurrent_schedule Limits konfiguriert sind, die regelmäßig zurückgesetzt werden.
Wenn festgelegt ist, dass das Kauflimit nicht zurückgesetzt wird, wird der Artikel nach Erreichen des Kauflimits nicht mehr im Katalog angezeigt, unabhängig davon, welcher Wert für limit_exceeded_visibility festgelegt ist.
Mögliche Wert:
show– Der Artikel wird in API-Aufrufen zur Katalogabfrage zurückgegeben, auch wenn das Kauflimit bereits erreicht wurde. Bei clientseitigen API-Aufrufen zur Katalogabfrage wird der Artikel nach Erreichen des Limits mit dem Flagcan_be_bought: falsezurückgegeben. Das Datum, an dem das Limit das nächste Mal zurückgesetzt wird, wird im Parameterreset_next_datezurückgegeben.hide– nachdem das Kauflimit erreicht wurde, wird der Artikel bei API-Aufrufen zur Katalogabfrage nicht mehr zurückgegeben, bis das Limit zurückgesetzt wird.
List of value point rewards for the item.
{ "item_id": 259774, "sku": "com.xsolla.electric_shield_1", "type": "virtual_good", "name": "Electric shield", "description": "Electric shield", "image_url": "https://cdn3.xsolla.com/img/misc/images/d2d6b1b517e6a7f3765c3bb5a3cfb87d.png", "price": { "amount": "9.99", "amount_without_discount": "9.99", "currency": "USD" }, "virtual_prices": [ { … }, { … }, { … } ], "can_be_bought": true, "promotions": [ { … } ], "attributes": [], "is_free": false, "groups": [ { … } ], "virtual_item_type": "non_consumable", "limits": { "per_user": { … } }, "vp_rewards": [ { … }, { … } ], "custom_attributes": { "purchased": 0, "attr": "value" } }
Anfrage
Ruft einen verkäuflichen Artikel anhand der SKU ab, um einen Katalog zu erstellen.
Dieser API-Aufruf gibt generische Katalogdaten zurück, wenn er ohne Autorisierung verwendet wird. Verwenden Sie die Autorisierung, um personalisierte Nutzerdaten abzurufen, wie z. B. mit dem Artikel verknüpfte Limits und Werbeaktionen. Dazu müssen Sie den Benutzer-JWT im
Authorization-Header übermitteln. Weitere Informationen zum Benutzer-JWT finden Sie im Block Sicherheit für diesen Aufruf.
Projekt-ID. Dieser Parameter wird im Kundenportal neben dem Projektnamen angezeigt.
Eindeutiger Code, es wird zwischen Groß- und Kleinschreibung unterschieden. Enthält Buchstaben und Ziffern.
Zeigt zeitlich begrenzte Artikel an, die nicht erhältlich sind. Der Gültigkeitszeitraum dieser Artikel hat noch nicht begonnen oder ist bereits vorüber.
- https://store.xsolla.com/api/v2/project/{project_id}/items/sku/{sku}
- Mock serverhttps://xsolla.redocly.app/_mock/de/api/catalog/v2/project/{project_id}/items/sku/{sku}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://store.xsolla.com/api/v2/project/59080/items/sku/electric_shield?promo_code=WINTER2021&show_inactive_time_limited_items=1&additional_fields%5B%5D=media_list' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'Der verkäufliche Artikel wurde erfolgreich empfangen.
Interne eindeutige Artikel-ID, die bei der Artikelerstellung vergeben wird.
Eindeutige Artikel-ID. Die SKU darf nur lateinische Klein- und Großbuchstaben, Ziffern, Punkte, Bindestriche und Unterstriche enthalten.
Gruppen, zu denen der Artikel gehört.
Liste der Attribute und ihrer Werte, die dem Artikel zugeordnet sind. Kann für die Katalogfilterung verwendet werden.
Eindeutige Attribut-ID. Die external_id darf nur lateinische Klein- und Großbuchstaben, Ziffern, Bindestriche und Unterstriche enthalten.
Name des Attributs.
Eindeutige Wert-ID für ein Attribut. Die external_id darf nur lateinische Kleinbuchstaben, alphanumerische Zeichen, Binde- und Unterstriche enthalten.
Artikeltyp: virtual_good/virtual_currency/bundle/game_key/physical_good.
Bild-URL.
Artikelpreise.
Virtual prices.
Item price in virtual currency without discount. Always equal to amount since discounts are not applied to prices in virtual currency.
Ob es sich um den Standardpreis in virtueller Währung handelt.
Item type. For virtual currency, it is `virtual_currency.
Auf bestimmte Artikel im Warenkorb angewandte Werbeaktionen. Das array wird in den folgenden Fällen zurückgegeben:
Für einen bestimmten Artikel ist eine Rabattaktion konfiguriert.
Ein Promocode mit der Einstellung Rabatt auf ausgewählte Artikel ist angewandt.
Werden keine Werbeaktionen auf Artikelebene angewandt, wird ein leeres Array zurückgegeben.
Typ des Bonusartikels.
Name des Bonusartikels. Nicht verfügbar für Bonusartikel vom Typ physical_good.
Bild-URL des Bonusartikels. Nicht verfügbar für Bonusartikel vom Typ physical_good.
Art des virtuellen Gegenstands.
Mögliche Werte:
consumable– ein Gegenstand, der nach dem Gebrauch aus dem Inventar verschwindet (z. B. Munition).non_consumable– ein Gegenstand, der unbegrenzt lange im Inventar verbleibt.non_renewing_subscription– ein zeitlich begrenzter Artikel, der den Zugang zu Services oder Inhalten für einen begrenzten Zeitraum gewährt.
Artikelbeschränkungen.
Artikelbeschränkungen für einen Nutzer.
Höchstzahl von Artikeln, die ein einzelner Nutzer kaufen kann.
Verbleibende Anzahl von Artikeln, die der aktuelle Nutzer kaufen kann.
Wiederkehrender Artikellimit-Aktualisierungszeitraums für einen Nutzer.
Steuert die Sichtbarkeit des Artikels im Katalog nach Erreichen des Kauflimits, und zwar bis das Limit das nächste Mal zurückgesetzt wird.
Gilt für Artikel, bei denen im Array recurrent_schedule Limits konfiguriert sind, die regelmäßig zurückgesetzt werden.
Wenn festgelegt ist, dass das Kauflimit nicht zurückgesetzt wird, wird der Artikel nach Erreichen des Kauflimits nicht mehr im Katalog angezeigt, unabhängig davon, welcher Wert für limit_exceeded_visibility festgelegt ist.
Mögliche Wert:
show– Der Artikel wird in API-Aufrufen zur Katalogabfrage zurückgegeben, auch wenn das Kauflimit bereits erreicht wurde. Bei clientseitigen API-Aufrufen zur Katalogabfrage wird der Artikel nach Erreichen des Limits mit dem Flagcan_be_bought: falsezurückgegeben. Das Datum, an dem das Limit das nächste Mal zurückgesetzt wird, wird im Parameterreset_next_datezurückgegeben.hide– nachdem das Kauflimit erreicht wurde, wird der Artikel bei API-Aufrufen zur Katalogabfrage nicht mehr zurückgegeben, bis das Limit zurückgesetzt wird.
List of value point rewards for the item.
{ "item_id": 259774, "sku": "com.xsolla.electric_shield_1", "type": "virtual_good", "name": "Electric shield", "description": "Electric shield", "image_url": "https://cdn3.xsolla.com/img/misc/images/d2d6b1b517e6a7f3765c3bb5a3cfb87d.png", "price": { "amount": "9.99", "amount_without_discount": "9.99", "currency": "USD" }, "virtual_prices": [ { … }, { … }, { … } ], "can_be_bought": true, "promotions": [ { … } ], "attributes": [], "is_free": false, "groups": [ { … } ], "virtual_item_type": "non_consumable", "limits": { "per_user": { … } }, "vp_rewards": [ { … }, { … } ], "custom_attributes": { "purchased": 0, "attr": "value" } }