Zum Inhalt springen

Überblick

  • Version: 2.0.0
  • Server: https://store.xsolla.com/api
  • Kontakt per E-Mail
  • 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.

API-Aufrufe

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.
OpenAPI-Beschreibung herunterladen
Sprachen
Server
https://store.xsolla.com/api/
Mock server
https://xsolla.redocly.app/_mock/de/api/catalog/
Operationen
Operationen
Operationen
Operationen
Operationen

Berechtigung erteilen (Verwaltung)Server-sideAdmin

Anfrage

Erteilt dem Nutzer eine Berechtigung.

Achtung

Es können nur Spielcodes oder Spiele für DRM-freie Plattformen gewährt werden.
Sicherheit
basicAuth
Pfad
project_idintegererforderlich

Projekt-ID. Dieser Parameter wird im Kundenportal neben dem Projektnamen angezeigt.

Beispiel: 44056
Bodyapplication/jsonerforderlich
codestring or null

Spielcode des Spiels.

Beispiel: "AAAA-BBBB-CCCC-DDDD"
drmobjecterforderlich

Objekt mit DRM-Eigenschaften.

Beispiel: {"sku":"com.xsolla.key_1"}
drm.​skustring(Game-Keys_drm_sku)erforderlich

Eindeutige DRM-ID.

Enum"steam""playstation""xbox""uplay""origin""drmfree""gog""epicgames""nintendo_eshop""discord_game_store"
Beispiel: "steam"
gameobjecterforderlich

Objekt mit Spieleigenschaften.

Beispiel: {"sku":"com.xsolla.game_1"}
game.​skustring(Game-Keys_game_sku)[ 1 .. 255 ] characters^[a-zA-Z0-9_\-–.]*$erforderlich

Eindeutige Schlüsselpaket-ID.

Beispiel: "theGreatestGameSku"
modestringerforderlich

Welche Art von Berechtigungen erteilt werden soll. Ist der Parameter auf sandbox gesetzt wird dem Nutzer in der Testumgebung die Berechtigung erteilt. Ist der Parameter auf default gesetzt, wird die Berechtigung dem Nutzer im Live-Modus erteilt.

Enum"default""sandbox"
Beispiel: "default"
user_countrystring or null

Land des Nutzers.

Beispiel: "US"
user_external_idstringerforderlich

Eindeutige Benutzerkennung.

Beispiel: "user-external-id"
curl -i -X POST \
  -u <username>:<password> \
  https://store.xsolla.com/api/v2/project/44056/admin/entitlement/grant \
  -H 'Content-Type: application/json' \
  -d '{
    "code": "AAAA-BBBB-CCCC-DDDD",
    "drm": {
      "sku": "com.xsolla.key_1"
    },
    "game": {
      "sku": "com.xsolla.game_1"
    },
    "mode": "default",
    "user_country": "US",
    "user_external_id": "user-external-id"
  }'

Antworten

Die Berechtigung wurde erteilt.

Antwort
Kein Inhalt

Berechtigung entziehen (Verwaltung)Server-sideAdmin

Anfrage

Entzieht dem Nutzer eine Berechtigung.

Achtung

Es können nur Spielcodes oder Spiele für DRM-freie Plattformen entzogen werden.
Sicherheit
basicAuth
Pfad
project_idintegererforderlich

Projekt-ID. Dieser Parameter wird im Kundenportal neben dem Projektnamen angezeigt.

Beispiel: 44056
Bodyapplication/jsonerforderlich
drmobjecterforderlich

Objekt mit DRM-Eigenschaften.

Beispiel: {"sku":"com.xsolla.key_1"}
drm.​skustring(Game-Keys_drm_sku)erforderlich

Eindeutige DRM-ID.

Enum"steam""playstation""xbox""uplay""origin""drmfree""gog""epicgames""nintendo_eshop""discord_game_store"
Beispiel: "steam"
gameobjecterforderlich

Objekt mit Spieleigenschaften.

Beispiel: {"sku":"com.xsolla.game_1"}
game.​skustring(Game-Keys_game_sku)[ 1 .. 255 ] characters^[a-zA-Z0-9_\-–.]*$erforderlich

Eindeutige Schlüsselpaket-ID.

Beispiel: "theGreatestGameSku"
modestringerforderlich

Welche Art von Berechtigungen entzogen werden soll. Ist der Parameter auf sandbox gesetzt wird dem Nutzer in der Testumgebung die Berechtigung entzogen. Ist der Parameter auf default gesetzt, wird die Berechtigung dem Nutzer im Live-Modus entzogen.

Enum"default""sandbox"
Beispiel: "default"
user_external_idstringerforderlich

Eindeutige Benutzerkennung.

Beispiel: "user-external-id"
curl -i -X POST \
  -u <username>:<password> \
  https://store.xsolla.com/api/v2/project/44056/admin/entitlement/revoke \
  -H 'Content-Type: application/json' \
  -d '{
    "drm": {
      "sku": "com.xsolla.key_1"
    },
    "game": {
      "sku": "com.xsolla.game_1"
    },
    "mode": "default",
    "user_external_id": "user-external-id"
  }'

Antworten

Widerruf erfolgreich.

Antwort
Kein Inhalt

Liste der Spiele im Besitz des Nutzers abrufenClient-side

Anfrage

Ruft eine Liste der Spiele ab, die der Nutzer besitzt. Als Antwort enthält man ein Array von Spielen, die ein bestimmter Nutzer besitzt.

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 50 Artikel pro Antwort. Um pro Seite mehr Daten zu erhalten, verwenden Sie die Felder limit und offset.
Sicherheit
XsollaLoginUserJWT
Pfad
project_idintegererforderlich

Projekt-ID. Dieser Parameter wird im Kundenportal neben dem Projektnamen angezeigt.

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
sandboxinteger

Welche Arten von Berechtigungen zurückgegeben werden sollen. Ist der Parameter auf 1 gesetzt, werden nur die Berechtigungen zurückgegeben, die der Nutzer in der Testumgebung erhalten hat. Falls der Parameter nicht übermittelt wird oder auf 0 gesetzt ist, werden nur die Berechtigungen zurückgegeben, die der Nutzer im Live-Modus erhalten hat.

Standard 0
additional_fields[]Array of strings

Die Liste der zusätzlichen Felder. Diese Felder sind in der Antwort enthalten, sofern Sie diese in der Anfrage senden. Verfügbare Felder: attributes.

curl -i -X GET \
  'https://store.xsolla.com/api/v2/project/44056/entitlement?limit=50&offset=0&sandbox=0&additional_fields%5B%5D=string' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Antworten

Erfolgreicher Empfang einer Liste von Spielschlüsseln, die dem Nutzer gehören.

Bodyapplication/json
has_moreboolean(Pagination_has-more)

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

Beispiel: true
itemsArray of objects(Game-Keys_entitlement_item)
total_items_countinteger(Pagination_total-items-count)

Gesamtzahl der Artikel im System.

Beispiel: 10
Antwort
application/json
{ "has_more": false, "items": [ {} ], "total_items_count": 1 }
Operationen
Operationen
Operationen
Operationen
Operationen
Operationen
Operationen
Operationen
Operationen
Operationen
Operationen
Operationen
Operationen
Operationen

Katalog

Diese API ermöglicht es, jede Art von verkäuflichen oder bestimmten Artikeln zu erhalten.

Operationen
Operationen
Operationen