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
Operationen
Operationen

Liste der Bundles abrufenClient-side

Anfrage

Ruft eine Liste von Bundles ab, um einen Katalog zu erstellen.

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.

Hinweis

Die API-Aufrufe für den Artikelkatalog können auch ohne Autorisierung verwendet werden. Um jedoch einen personalisierten Katalog abzurufen, müssen Sie den Benutzer-JWT im Authorization-Header übermitteln.
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
localestring

Antwortsprache. Sprachcode bestehend aus zwei Kleinbuchstaben gemäß ISO 639-1.

Standard "en"
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.

Elemente Enum"media_list""order""long_description""custom_attributes""item_order_in_group"
countrystring

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.

Beispiel: country=US
promo_codestring[ 1 .. 128 ] characters

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

Beispiel: promo_code=WINTER2021
show_inactive_time_limited_itemsinteger

Zeigt zeitlich begrenzte Artikel an, die nicht erhältlich sind. Der Gültigkeitszeitraum dieser Artikel hat noch nicht begonnen oder ist bereits vorüber.

Standard 0
Beispiel: show_inactive_time_limited_items=1
curl -i -X GET \
  'https://store.xsolla.com/api/v2/project/44056/items/bundle?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>'

Antworten

Die Liste der Bundles wurde erfolgreich empfangen.

Bodyapplication/json
has_moreboolean(Pagination_has-more)

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

Beispiel: true
itemsArray of objects(Bundles_client_bundle)
Antwort
application/json
{ "has_more": true, "items": [ {} ] }

Liste der Bundles anhand der angegebenen Gruppe abrufenClient-side

Anfrage

Ruft eine Liste von Bundles innerhalb einer Gruppe ab, um einen Katalog zu erstellen.

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.

Hinweis


Die API-Aufrufe für den Artikelkatalog können auch ohne Autorisierung verwendet werden. Um jedoch einen personalisierten Katalog abzurufen, müssen Sie den Benutzer-JWT im Authorization-Header übermitteln.
Sicherheit
XsollaLoginUserJWT
Pfad
project_idintegererforderlich

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

Beispiel: 44056
external_idstringerforderlich

Externe ID der Gruppe.

Standard "all"
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
localestring

Antwortsprache. Sprachcode bestehend aus zwei Kleinbuchstaben gemäß ISO 639-1.

Standard "en"
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.

Elemente Enum"media_list""order""long_description""custom_attributes""item_order_in_group"
countrystring

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.

Beispiel: country=US
promo_codestring[ 1 .. 128 ] characters

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

Beispiel: promo_code=WINTER2021
show_inactive_time_limited_itemsinteger

Zeigt zeitlich begrenzte Artikel an, die nicht erhältlich sind. Der Gültigkeitszeitraum dieser Artikel hat noch nicht begonnen oder ist bereits vorüber.

Standard 0
Beispiel: show_inactive_time_limited_items=1
curl -i -X GET \
  'https://store.xsolla.com/api/v2/project/44056/items/bundle/group/{external_id}?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>'

Antworten

Die Liste der Bundles wurde erfolgreich empfangen.

Bodyapplication/json
has_moreboolean(Pagination_has-more)

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

Beispiel: true
itemsArray of objects(Bundles_client_bundle)
Antwort
application/json
{ "has_more": true, "items": [ {} ] }

Angegebenes Bundle abrufenClient-side

Anfrage

Ruft ein angegebenes Bundle ab.

Hinweis

Auf diesen Endpunkt kann man ohne Autorisierung zugreifen, er gibt generische Daten zurück. Liegt eine Autorisierung vor, ist die Antwort jedoch mit benutzerspezifischen Details (z. B. vorhandene Nutzerlimits und Werbeaktionen) angereichert und sorgt so für ein personalisiertes Ergebnis.
Sicherheit
XsollaLoginUserJWT
Pfad
project_idintegererforderlich

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

Beispiel: 44056
skustringerforderlich

Bundle-SKU.

Beispiel: kg_1
Abfrage
promo_codestring[ 1 .. 128 ] characters

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

Beispiel: promo_code=WINTER2021
show_inactive_time_limited_itemsinteger

Zeigt zeitlich begrenzte Artikel an, die nicht erhältlich sind. Der Gültigkeitszeitraum dieser Artikel hat noch nicht begonnen oder ist bereits vorüber.

Standard 0
Beispiel: show_inactive_time_limited_items=1
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.

Elemente Enum"media_list""order""long_description""custom_attributes""item_order_in_group"
curl -i -X GET \
  'https://store.xsolla.com/api/v2/project/44056/items/bundle/sku/kg_1?promo_code=WINTER2021&show_inactive_time_limited_items=1&additional_fields%5B%5D=media_list' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Antworten

Das angegebene Bundle wurde erfolgreich empfangen.

Bodyapplication/json
attributesArray of objects(Bundles_client-attributes)

Liste der Attribute und ihrer Werte, die dem Artikel zugeordnet sind. Kann für die Katalogfilterung verwendet werden.

Standard []
Beispiel: {"value":{"external_id":"genre","name":"Жанр","values":[{"external_id":"genre_e3364991f92e751689a68b96598a5a5a84010b85","value":"Casual"},{"external_id":"genre_eba07bfd0f982940773cba3744d97264dd58acd7","value":"Strategy"},{"external_id":"genre_b8d0c6d8f0524c2b2d79ebb93aa3cd0e8b5199a8","value":"Mobile"}]}}
bundle_typestring(Bundles_bundle_type)

Bundle-Typ. Durch Angabe von standard erstellen Sie ein Bundle mit Artikeln, wobei die SKUs der im Bundle enthaltenen Artikel anzugeben ist. Durch Angabe von partner_side_content wird ein leeres Bundle erstellt, wobei die Artikel über einen Webhook hinzuzufügen sind. Dieser Typ wird nur für die Katalogpersonalisierung aufseiten des Partners verwendet.

Standard "standard"
Enum"standard""partner_side_content"
Beispiel: "standard"
can_be_boughtboolean(Can_be_bought)

Sofern true, kann der Nutzer einen Artikel kaufen.

Beispiel: true
contentArray of objects(Bundles_client_content)

Bundle-/Paketinhalt.

Beispiel: [{"attributes":[],"description":"Big Rocket - short description.","groups":[],"image_url":"https://popmedia.blob.core.windows.net/popyourself/male/outfit/male_armor_white_a-01.png","is_free":false,"name":"Big Rocket","price":{"amount":"10.99","amount_without_discount":"10.99","currency":"USD"},"quantity":100,"sku":"com.xsolla.big_rocket_1","type":"virtual_currency"}]
custom_attributesobject(json)(item-custom-attributes-response)

Ein JSON-Objekt mit Artikelattributen und ‑werten.

descriptionstring or null(Bundles_client_description)

Artikelbeschreibung.

Beispiel: "Big Rocket - description."
groupsArray of objects(items_client_groups_response)

Gruppen, zu denen der Artikel gehört.

Standard []
Beispiel: [{"external_id":"exclusive","name":"Exclusive"}]
image_urlstring or null(Bundles_image_url)

Bild-URL.

Beispiel: "https://image.example.com"
is_freeboolean(value-is_free)

Ist true eingestellt, ist der Artikel kostenlos.

Standard false
Beispiel: false
item_idinteger(Bundles_item_id)[ 1 .. 255 ] characters

Interne eindeutige Artikel-ID.

Beispiel: 1
limitsobject or null(Catalog_item_limits_with_hourly)

Artikelbeschränkungen.

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(Bundles_media_list)

Zusätzliche Medieninhalte des Bundles.

Beispiel: [{"type":"image","url":"https://cdn3.xsolla.com/img/misc/images/71ab1e12126f2103e1868076f0acb21a.jpg"}]
namestring(Bundles_client_name)

Artikelname.

Beispiel: "Big Rocket"
orderinteger(Bundles_order)

Priorität der Bundle-Reihenfolge in der Liste.

Standard 1
Beispiel: 1
periodsArray of objects or null(item-periods)

Artikelangebotszeitraum.

priceobject or null(Bundles_price)

Artikelpreis.

promotionsArray of objects(Catalog_item_promotions)

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.

skustring(Bundles_sku)[ 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.

Beispiel: "bundle_1"
total_content_priceobject or null(Bundles_total_content_price)

Preissumme der einzelnen Bundle-Inhalte.

typestring(Bundles_type)

Artikeltyp.

Beispiel: "bundle"
virtual_pricesArray of objects(Bundles_virtual_prices)

Virtuelle Preise.

vp_rewardsArray of objects(client-item-value-point-reward)

Wertpunktartikel-Belohnung.

Antwort
application/json
{ "attributes": [], "bundle_type": "standard", "can_be_bought": true, "content": [ {} ], "custom_attributes": { "attr": "value", "purchased": 0 }, "description": "pricePoint_44056_1.", "groups": [], "image_url": null, "is_free": false, "item_id": 610316, "limits": { "per_user": {} }, "long_description": null, "media_list": [], "name": "kg_10.00_bundle", "order": 999, "periods": [ {} ], "price": { "amount": "9.99", "amount_without_discount": "9.99", "currency": "USD" }, "promotions": [], "sku": "com.xsolla.kg_1", "total_content_price": { "amount": "10.99", "amount_without_discount": "10.99", "currency": "USD" }, "type": "bundle", "virtual_prices": [], "vp_rewards": [ {}, {} ] }
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