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
Operationen

Spieleliste abrufen (Verwaltung)Server-sideAdmin

Anfrage

Ruft eine Liste der Spiele innerhalb eines Projekts zur Verwaltung ab. Das Spiel besteht aus Spielschlüsseln, die von einem Nutzer gekauft werden können.

Hinweis

Verwenden Sie diesen Endpunkt nicht zum Erstellen eines Shop-Katalogs.
Sicherheit
basicAuth
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
promo_codestring[ 1 .. 128 ] characters

Eindeutiger Code, es wird zwischen Groß- und Kleinschreibung unterschieden. Enthält Buchstaben und Ziffern.

Beispiel: promo_code=WINTER2021
curl -i -X GET \
  -u <username>:<password> \
  'https://store.xsolla.com/api/v2/project/44056/admin/items/game?limit=50&offset=0&promo_code=WINTER2021'

Antworten

Die Liste der Spiele wurde erfolgreich empfangen.

Bodyapplication/json
itemsArray of objects
Antwort
application/json
{ "items": [ {}, {} ] }

Anfrage

Erstellt ein Spiel im Projekt.

Sicherheit
basicAuth
Pfad
project_idintegererforderlich

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

Beispiel: 44056
Bodyapplication/jsonerforderlich

Objekt mit Spieldaten.

attributesArray of objects(Game-Keys_admin-post-put-attributes)<= 20 items

Liste der Attribute.

Achtung: Sie können für den Artikel maximal 20 Attribute angeben. Jeder Versuch, das Limit zu überschreiten, führt zu einem Fehler.
description(two-letter (object or null)) or (five-letter (object or null))(description-localization-object)

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.

One of:

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.

groupsArray of objects

Gruppen, zu denen der Artikel gehört.

Beispiel: ["new_games"]
image_urlstring

Bild-URL.

Beispiel: "http://image.png"
is_enabledboolean

Ist diese Option deaktiviert, kann der Artikel weder gekauft noch über das Inventar aufgerufen werden.

Beispiel: true
is_show_in_storeboolean

Artikel ist käuflich erhältlich.

Beispiel: true
long_description(two-letter (object or null)) or (five-letter (object or null))(long-description-localization-object)

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:

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.

media_listArray of objects

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

Beispiel: [{"type":"image","url":"http://image.png"},{"type":"video","url":"http://video.png"}]
name(two-letter (object or null)) or (five-letter (object or null))(name-localization-object)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.

One of:

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.

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.​enstring or null

Englisch

name.​esstring or null

Spanisch (Spanien)

name.​frstring or null

Französisch

name.​hestring or null

Hebräisch

name.​idstring or null

Indonesisch

name.​itstring or null

Italienisch

name.​jastring or null

Japanisch

name.​kmstring or null

Khmer

name.​kostring or null

Koreanisch

name.​lostring or null

Laotisch

name.​mystring or null

Birmanisch

name.​nestring or null

Nepalesisch

name.​phstring or null

Filipino

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

orderinteger

Priorität der Spielreihenfolge in der Liste.

Beispiel: 1
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.

Beispiel: "com.xsolla.game_1"
unit_itemsArray of objectserforderlich

Spielschlüssel für verschiedene DRMs.

Beispiel: [{"drm_sku":"steam_key_1","is_enabled":true,"is_free":false,"is_show_in_store":true,"limits":{"per_item":{"available":5000,"reserved":500,"sold":4500,"total":10000},"per_user":{"total":5}},"name":{"en-US":"Game key name","ru-RU":"Название игрового ключа"},"periods":[{"date_from":"2020-08-11T10:00:00+03:00","date_until":"2020-08-11T20:00:00+03:00"}],"pre_order":{"description":"Some description","is_enabled":true,"release_date":"2020-08-11T10:00:00+03:00"},"prices":[{"amount":35.5,"currency":"USD","is_default":true,"is_enabled":true}],"regions":[{"id":12},{"id":64}],"sku":"com.xsolla.game_key_1","vc_prices":[{"amount":35.5,"is_default":true,"is_enabled":true,"sku":"com.xsolla.gold_1"}]}]
unit_items[].​attributesArray of objects(Game-Keys_admin-attributes)

Liste der Attribute.

Beispiel: [{"external_id":"attribute_external_id","name":{"de":"Attributname","en":"Attribute name"},"values":[{"external_id":"value_1","name":{"de":"wert 1","en":"value 1"}},{"external_id":"value_2","name":{"de":"wert 2","en":"value 2"}}]}]
unit_items[].​drm_skustringerforderlich

Eindeutige DRM-ID.

Beispiel: "steam"
unit_items[].​groupsArray of objects

Gruppen, zu denen der Artikel gehört.

unit_items[].​is_enabledboolean

Ist diese Option deaktiviert, kann der Artikel weder gekauft noch über das Inventar aufgerufen werden.

unit_items[].​is_freeboolean(value-is_free)

Ist true eingestellt, ist der Artikel kostenlos.

Standard false
Beispiel: false
unit_items[].​is_show_in_storeboolean

Artikel ist käuflich erhältlich.

unit_items[].​limitsobject(Game-key-item-limit)

Artikelbeschränkungen.

unit_items[].​name(two-letter (object or null)) or (five-letter (object or null))(name-localization-object)

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.

One of:

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.

unit_items[].​orderinteger

Priorität der Spielreihenfolge in der Liste.

Beispiel: 1
unit_items[].​periodsArray of objects or null(item-periods)

Artikelangebotszeitraum.

unit_items[].​pre_orderobject

Vorbestelleinstellungen.

unit_items[].​pricesArray of objectserforderlich

Preise in echten Währungen.

unit_items[].​prices[].​amountnumbererforderlich
Beispiel: 1299.99
unit_items[].​prices[].​currencystringerforderlich

Währung des Artikelpreises. Dreistelliger Code pro ISO 4217. Detaillierte Informationen zu Von Xsolla unterstützte Währungen.

Beispiel: "RUB"
unit_items[].​prices[].​is_defaultbooleanerforderlich

Der Standardpreis dient dazu, den Katalog zu erstellen, wenn kein Preis in der Währung des Nutzers angegeben ist.

unit_items[].​prices[].​is_enabledbooleanerforderlich
unit_items[].​regionsArray of objects(Game-Keys_regions)
unit_items[].​skustring[ 1 .. 255 ] characterserforderlich

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

Beispiel: "game_1"
unit_items[].​vc_pricesArray of objects
curl -i -X POST \
  -u <username>:<password> \
  https://store.xsolla.com/api/v2/project/44056/admin/items/game \
  -H 'Content-Type: application/json' \
  -d '{
    "description": {
      "en-US": "Game description",
      "ru-RU": "Краткое описание игры"
    },
    "groups": [
      "new_games"
    ],
    "image_url": "http://image.png",
    "is_enabled": true,
    "is_show_in_store": true,
    "long_description": {
      "en-US": "Game long description",
      "ru-RU": "Полное описание игры"
    },
    "media_list": [
      {
        "type": "image",
        "url": "http://image.png"
      },
      {
        "type": "video",
        "url": "http://video.png"
      }
    ],
    "name": {
      "en-US": "Game name",
      "ru-RU": "Название игры"
    },
    "sku": "com.xsolla.game_1",
    "unit_items": [
      {
        "drm_sku": "steam_key_1",
        "is_enabled": true,
        "is_free": false,
        "is_show_in_store": true,
        "limits": {
          "per_item": {
            "available": 5000,
            "reserved": 500,
            "sold": 4500,
            "total": 10000
          },
          "per_user": {
            "total": 5
          }
        },
        "name": {
          "en-US": "Game key name",
          "ru-RU": "Название игрового ключа"
        },
        "periods": [
          {
            "date_from": "2020-08-11T10:00:00+03:00",
            "date_until": "2020-08-11T20:00:00+03:00"
          }
        ],
        "pre_order": {
          "description": "Some description",
          "is_enabled": true,
          "release_date": "2020-08-11T10:00:00+03:00"
        },
        "prices": [
          {
            "amount": 35.5,
            "currency": "USD",
            "is_default": true,
            "is_enabled": true
          }
        ],
        "regions": [
          {
            "id": 12
          },
          {
            "id": 64
          }
        ],
        "sku": "com.xsolla.game_key_1",
        "vc_prices": [
          {
            "amount": 35.5,
            "is_default": true,
            "is_enabled": true,
            "sku": "com.xsolla.gold_1"
          }
        ]
      }
    ]
  }'

Antworten

Spiel wurde erfolgreich erstellt.

Bodyapplication/json
item_idinteger
Beispiel: 101
skustring
Beispiel: "com.xsolla.game_1"
Antwort
application/json
{ "item_id": 101, "sku": "com.xsolla.game_1" }

Spiel anhand der ID löschenServer-sideAdmin

Anfrage

Löscht ein Spiel im Projekt anhand der ID.

Sicherheit
basicAuth
Pfad
project_idintegererforderlich

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

Beispiel: 44056
item_idstringerforderlich

Artikel-ID.

Beispiel: 656
curl -i -X DELETE \
  -u <username>:<password> \
  https://store.xsolla.com/api/v2/project/44056/admin/items/game/id/656

Antworten

Das Spiel wurde erfolgreich gelöscht.

Antwort
Kein Inhalt
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