# Katalog-API

# Überblick {% #overview %}

- **Version:** 2.0.0
- **Server:** `https://store.xsolla.com/api`
- [Kontakt-E-Mail-Adresse](mailto:integration@xsolla.com)
- **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 {% #api-calls %}

Die API ist in die folgenden Gruppen unterteilt:

* **<nt>Admin</nt>** – Aufrufe zum Erstellen, Aktualisieren, Löschen und Konfigurieren von Katalogartikeln und ‑gruppen. Die Authentifizierung erfolgt über die [Basisauthentifizierung](https://developers.xsolla.com/de/payment-ui-and-flow/payment-ui/how-to-get-payment-token/#payments_solution_get_user_auth_token_basic_auth) und Ihre Händler- oder Projekt-Anmeldedaten. Diese Aufrufe sind nicht für den Storefront bestimmt.
* **<nt>Catalog</nt>** – 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.

# Authentifizierung {% #authentication %}

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 {% #authentication-using-users-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](/de/api/login/authentication-schemes#getting-user-token).

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](/de/api/pay-station/token/create-token).

## HTTP-Basisauthentifizierung {% #basic-http-authentication %}

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](/de/api/getting-started/#api_keys_overview) verwendet.

<div class="note"><b>Hinweis</b><br><br>Der API-Schlüssel ist vertraulich und darf nicht in Client-Anwendungen gespeichert oder verwendet werden.</div>

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](https://publisher.xsolla.com/) 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:
  - unter [Firmeneinstellungen > API-Schlüssel](https://publisher.xsolla.com/0/settings/api_key)
  - unter [Projekteinstellungen > API-Schlüssel](https://publisher.xsolla.com/0/projects/0/edit/api_key)

<div class="notice"><b>Hinweis</b><br><br>Falls bei einem erforderlichen API-Aufruf der Pfadparameter <code>project_id</code> fehlt, müssen Sie einen API-Schlüssel verwenden, der für alle Projekte der Firma gültig ist.</div>

Weitere Informationen zur Arbeit mit API-Schlüsseln finden Sie in den [API-Referenzen](/de/api/getting-started/#api_keys_overview).

## Authentifizierung mit Unterstützung für Gastzugang {% #authentication-with-guest-access-support %}

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](/de/api/pay-station/token/create-token) 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](/de/doc/buy-button/how-to/set-up-authentication/#guides_buy_button_selling_items_not_authenticated_users) 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

## Nützliche Links {% #authentication-useful-links %}

- [API-Aufrufe nach Interaktionsmodell](/de/api/getting-started/#api_interaction_model)
- [Endpunkttypen](/de/api/getting-started/#api_endpoint_types)
- [Fehlerbehandlung](/de/api/getting-started/#api_errors_handling)
- [API-Schlüssel](/de/api/getting-started/#api_keys_overview)
- [Webhooks](/de/webhooks/overview)

# Grundstruktur der Entität {% #core-entity-structure %}

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.

<div class="note"><b>Hinweis</b><br><br>Einige Aufrufe können zusätzliche Felder enthalten, doch diese ändern nichts an der Grundstruktur.</div>

**Identifikation**

- `merchant_id` – Firmen-ID im [Kundenportal](https://publisher.xsolla.com/)
- `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](/de/items-catalog/catalog-features/items-availability/).

**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):**

```json
{
  "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 {% #basic-purchase-flow %}

Ü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](/de/api/catalog/authentication) 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) {% #create-items-and-groups-admin %}

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

API-Aufrufe (Beispiele):
- [Virtuellen Gegenstand erstellen](/de/api/catalog/virtual-items-currency-admin/admin-create-virtual-item)
- [Bundle erstellen](/de/api/catalog/bundles-admin/admin-create-bundle)
- [Virtuelle Währung erstellen](/de/api/catalog/virtual-items-currency-admin/admin-create-virtual-currency)

## Werbeaktionen, Ketten und Limits einrichten (Verwaltung) {% #set-up-promotions-chains-and-limits-admin %}

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

API-Aufrufe (Beispiele):
- [Bonusaktion erstellen](/de/api/liveops/promotions-bonuses/create-bonus-promotion)
- [Tägliche Belohnung erstellen](/de/api/liveops/daily-chain-admin/admin-create-daily-chain)
- [Katalogsonderangebot erstellen](/de/api/liveops/promotions-unique-catalog-offers/admin-create-unique-catalog-offer)

## Artikelinformationen abrufen (Client) {% #get-item-information-client %}

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

<div class="notice">
  <b>Hinweis</b><br><br>
    Verwenden Sie keine API-Aufrufe aus dem Unterabschnitt "Verwaltung", um einen Nutzerkatalog zu erstellen. Diese API-Aufrufe unterliegen <a href="https://developers.xsolla.com/de/api/getting-started/#api_rate_limits" target="_blank">Ratenbegrenzungen</a> und sind nicht für Nutzer-Traffic vorgesehen.
</div>

<br>

API-Aufrufe (Beispiele):
- [Liste virtueller Gegenstände abrufen](/de/api/catalog/virtual-items-currency-catalog/get-virtual-items)
- [Liste der Artikelgruppen abrufen](/de/api/catalog/virtual-items-currency-catalog/get-item-groups)
- [Liste der Bundles abrufen](/de/api/catalog/bundles-catalog/get-bundle-list)
- [Liste der verkäuflichen Artikel abrufen](/de/api/catalog/common-catalog/get-sellable-items)

<div class="note">
  <b>Hinweis</b><br><br>
    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 <code>"show_inactive_time_limited_items": 1</code> in der Kataloganfrage ergänzen.
</div>

## Artikel verkaufen {% #sell-items %}

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](/de/api/catalog/virtual-payment/create-order-with-item-for-virtual-currency) 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](/de/api/catalog/free-item/create-free-order-with-item) oder den API-Aufruf [Bestellung mit einem kostenlosen Warenkorb anlegen](/de/api/catalog/free-item/create-free-order) verwenden. as Zahlungsportal muss nicht aufgerufen werden – der Bestellung wird sofort der Status <code>done</code> zugewiesen.

### Schnellkauf {% #fast-purchase %}

Verwenden Sie den clientseitigen API-Aufruf, um [eine Bestellung mit einem angegebenen Artikel anzulegen](/de/api/catalog/payment-client-side/create-order-with-item). Der Aufruf gibt einen Token zurück, mit dem sich das Zahlungsportal öffnen lässt.

<div class="note">
  <b>Hinweis</b><br><br>
    Rabattinformationen sind für den Nutzer nur im Zahlungsportal verfügbar. Promocodes werden nicht unterstützt.
</div>

### Warenkorbkauf {% #cart-purchase %}

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](/de/api/shop-builder/operation/cart-fill/), 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:
   - Verwenden Sie den API-Aufruf [Warenkorbartikel anhand von Warenkorb-ID aktualisieren](/de/api/shop-builder/operation/put-item-by-cart-id/), 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](/de/api/shop-builder/operation/delete-item-by-cart-id/), um einen Artikel zu entfernen.

<div class="note">
  <b>Hinweis</b><br><br>
    Mit dem API-Aufruf "Warenkorb des aktuellen Benutzers abrufen" können Sie den aktuellen Status des Warenkorbs abrufen.
</div>

3. Verwenden Sie den API-Aufruf [Bestellung mit allen Artikeln aus dem aktuellen Warenkorb anlegen](/de/api/shop-builder/operation/create-order/). Der Aufruf gibt die Bestell-ID und den Zahlungstoken zurück. Der neu angelegten Bestellung wird standardmäßig der Status <code>new</code> 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](/de/api/catalog/cart-server-side), 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](/de/api/shop-builder/operation/create-order/). Der Aufruf gibt die Bestell-ID und den Zahlungstoken zurück. Der neu angelegten Bestellung wird standardmäßig der Status <code>new</code> zugewiesen.

## Zahlungsportal öffnen {% #open-payment-ui %}

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](/de/payment-ui-and-flow/payment-ui/how-to-open-payment-ui/#open_payment_ui) beschrieben.

| Aktion                          | Endpunkt                                                                  |
|:--------------------------------|:--------------------------------------------------------------------------|
| In der Produktionsumgebung öffnen. | <code>https://secure.xsolla.com/paystation4/?token={token}</code>         |
| In der Testumgebung öffnen.           | <code>https://sandbox-secure.xsolla.com/paystation4/?token={token}</code> |

<div class="note">
  <b>Hinweis</b><br><br>
    Nutzen Sie die Testumgebung während der Entwicklung und zum Testen. Es stehenn <a href="https://developers.xsolla.com/de/dev-resources/testing/test-cards/">Test-Bankkarten</a> 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](https://publisher.xsolla.com/0/settings/users) 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](https://publisher.xsolla.com/) 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.
</div>

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:
- [mit auf Ihrem Server konfigurierten Webhooks](/de/virtual-goods/own-ui/server-side-token-generation/set-up-order-tracking/#payments_integration_order_tracking)
- [per Short-polling](/de/virtual-goods/own-ui/client-side-token-generation/set-up-order-tracking/#guides_shop_builder_integrate_store_get_order_status_via_short_polling)
- [per WebSocket API](/de/virtual-goods/own-ui/client-side-token-generation/set-up-order-tracking/#guides_shop_builder_integrate_store_get_order_status_via_websocket_api)

## Nützliche Links {% #basic-purchase-flow-useful-links %}

- Authentifizierung
- [API-Aufrufe nach Interaktionsmodell](/de/api/catalog/authentication)
- [Zahlungstests](/de/dev-resources/testing/general-info/#general_overview)
- [Bestellstatus-Tracking einrichten](/de/virtual-goods/own-ui/client-side-token-generation/set-up-order-tracking/?link=200-api#payments_integration_order_tracking)
- [Webhooks](/de/webhooks/overview)
- [Ratenlimits](/de/api/login/rate-limits)
- [Fehlerbehandlung](/de/api/getting-started/#api_errors_handling)
- [API-Schlüssel](/de/api/getting-started/#api_keys_overview)

# Paginierung {% #pagination %}

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:

```json
{
  "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 {% #date-and-time-format %}

Datums- und Zeitwerte werden im [ISO 8601](https://en.wikipedia.org/wiki/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](https://www.unixtimestamp.com/) (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 {% #localization %}

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](/de/doc/shop-builder/references/supported-languages/) 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):

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

Fünfstelliger Sprachencode (Beispiel):

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

# Land und Währung ermitteln {% #country-and-currency-determination %}

Das Land des Nutzers bestimmt die Katalogpreise, die Zahlungswährung und die verfügbaren Zahlungsmethoden im Zahlungsportal.
Je nach API-Aufruf wird das Land wie folgt ermittelt:
<ul>
  <li>Bei <a href="https://developers.xsolla.com/de/api/catalog/payment-client-side/create-order-by-cart-id">clientseitigen API-Aufrufen</a>
    wird das Land anhand der IP-Adresse, von der die Anfrage stammt, ermittelt.</li>
  <li>Bei <a href="https://developers.xsolla.com/de/api/catalog/payment-server-side/admin-create-payment-token">serverseitigen API-Aufrufen</a>
    wird das Land anhand des Werts des Parameters <code>user.country.value</code> oder anhand der IP-Adresse des Nutzers aus dem <code>X-User-Ip</code>-Header ermittelt. Werden beide Werte übermittelt, hat der Parameter <code>user.country.value</code> Vorrang.</li>
</ul>

<div class="note">
  <b>Hinweis</b><br><br>
    Länder können nur anhand von <a href="https://en.wikipedia.org/wiki/IPv4">IPv4</a>-Adressen ermittelt werden. Wird eine <a href="https://en.wikipedia.org/wiki/IPv6">IPv6</a>-Adresse übermittelt, kann es zu einer fehlerhaften Länder- und Währungserkennung kommen. Wenn Sie den serverseitigen API-Aufruf verwenden und die IPv4-Adresse des Nutzers nicht angeben können, können Sie das Land auch im Parameter <code>user.country.value</code> übermitteln.
</div>

# Fehlerantwortformat {% #error-response-format %}

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](/de/dev-resources/references/errors/store-errors/) verfügbar.

**Antwort (Beispiel):**

```json
{
  "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):**

```json
{
  "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.

Version: 2.0.0

## Servers

```
https://store.xsolla.com/api
```

## Security

### basicAuth

Serverseitige Aufrufe verwenden das Authentifizierungsschema `basicAuth`. Alle Anfragen an die API müssen den Header `Authorization: Basic <your_authorization_basic_key>` enthalten, wobei `your_authorization_basic_key` das gemäß dem Base64-Standard kodierte `project_id:api_key`-Paar ist.

Sie können bei Bedarf `merchant_id` anstelle von `project_id` verwenden. Dies hat keine Auswirkungen auf die Funktionalität.

Wechseln Sie ins [Kundenportal](https://publisher.xsolla.com/), um die Werte der Parameter zu erhalten:

* `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>`.
* `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:
  * unter [Firmeneinstellungen > API-Schlüssel](https://publisher.xsolla.com/0/settings/api_key)
  * unter [Projekteinstellungen > API-Schlüssel](https://publisher.xsolla.com/0/projects/0/edit/api_key)

{% html name="div" attrs={"class": "notice"} %}
**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.

* `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>`.

Weitere Informationen zur Handhabung von API-Schlüsseln finden Sie in der [API-Referenz](https://developers.xsolla.com/de/api/getting-started/#api_keys_overview).

Type: http
Scheme: basic

### XsollaLoginUserJWT

Clientseitige Aufrufe verwenden das Authentifizierungsschema `XsollaLoginUserJWT`. In der Anfrage muss der JWT des Nutzers im `Authorization`-Header im folgenden Format enthalten sein: Bearer `<user_JWT>`. Der Token identifiziert den Nutzer und gewährt Zugriff auf personalisierte Daten. Weitere Informationen zur Erstellung eines Tokens finden Sie in der [Dokumentation zur Xsolla-Login-API](/de/api/login/authentication-schemes#getting-user-token).

Alternativ können Sie einen [Token zum Öffnen des Zahlungsportals verwenden](/de/api/pay-station/token/create-token).

Type: http
Scheme: bearer
Bearer Format: JWT

### AuthForCart

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](/de/api/pay-station/token/create-token).

2. Vereinfachter Modus ohne `Authorization`-Header. Dieser Modus kommt nur bei nicht authentifizierten Nutzern zum Einsatz und kann nur für den [Verkauf von Spielschlüsseln](/de/doc/buy-button/how-to/set-up-authentication/#guides_buy_button_selling_items_not_authenticated_users) verwendet werden. Anstelle eines Tokens muss die Anfrage die folgenden Header enthalten:
* `x-unauthorized-id` samt Anfrage-ID
* `x-user` samt Base64-kodierter E-Mail-Adresse des Nutzers.

Type: http
Scheme: bearer

### basicMerchantAuth

Serverseitige Aufrufe verwenden das Authentifizierungsschema `basicMerchantAuth`. Alle Anfragen an die API müssen den Header `Authorization: Basic <your_authorization_basic_key>` enthalten, wobei `your_authorization_basic_key` das gemäß dem Base64-Standard kodierte `merchant_id:api_key`-Paar ist.

Wechseln Sie ins [Kundenportal](https://publisher.xsolla.com/), um die Werte der Parameter zu erhalten:

* `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>`
* `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 neuen Schlüssel können Sie unter [Firmeneinstellungen > API-Schlüssel](https://publisher.xsolla.com/0/settings/api_key) erstellen.

Weitere Informationen zur Handhabung von API-Schlüsseln finden Sie in der [API-Referenz](https://developers.xsolla.com/de/api/getting-started/#api_keys_overview).

Type: http
Scheme: basic

## Download OpenAPI description

[Katalog-API](https://xsolla.redocly.app/_bundle/@l10n/de/api/catalog/index.yaml)

## Administrator

### Liste virtueller Gegenstände abrufen

 - [GET /v2/project/{project_id}/admin/items/virtual_items](https://xsolla.redocly.app/de/api/catalog/virtual-items-currency-admin/admin-get-virtual-items-list.md): Ruft die Liste der virtuellen Gegenstände innerhalb eines Projekts zur Verwaltung ab.

HinweisVerwenden Sie diesen Endpunkt nicht zum Erstellen eines Shop-Katalogs.

### Virtuellen Gegenstand erstellen

 - [POST /v2/project/{project_id}/admin/items/virtual_items](https://xsolla.redocly.app/de/api/catalog/virtual-items-currency-admin/admin-create-virtual-item.md): Erstellt einen virtuellen Gegenstand.

### Liste der virtuellen Gegenstände anhand der angegebenen externen Gruppen-ID abrufen

 - [GET /v2/project/{project_id}/admin/items/virtual_items/group/external_id/{external_id}](https://xsolla.redocly.app/de/api/catalog/virtual-items-currency-admin/admin-get-virtual-items-list-by-group-external-id.md): Ruft die Liste der virtuellen Gegenstände innerhalb einer Gruppe zur Verwaltung ab.

HinweisVerwenden Sie diesen Endpunkt nicht zum Erstellen eines Shop-Katalogs.

### Liste der virtuellen Gegenstände anhand der angegebenen Gruppen-ID abrufen

 - [GET /v2/project/{project_id}/admin/items/virtual_items/group/id/{group_id}](https://xsolla.redocly.app/de/api/catalog/virtual-items-currency-admin/admin-get-virtual-items-list-by-group-id.md): Ruft die Liste der virtuellen Gegenstände innerhalb einer Gruppe zur Verwaltung ab.

HinweisVerwenden Sie diesen Endpunkt nicht zum Erstellen eines Shop-Katalogs.

### Virtuellen Gegenstand abrufen

 - [GET /v2/project/{project_id}/admin/items/virtual_items/sku/{item_sku}](https://xsolla.redocly.app/de/api/catalog/virtual-items-currency-admin/admin-get-virtual-item.md): Ruft den virtuellen Gegenstand innerhalb eines Projekts zur Verwaltung ab.

HinweisVerwenden Sie diesen Endpunkt nicht zum Erstellen eines Shop-Katalogs.

### Virtuellen Gegenstand aktualisieren

 - [PUT /v2/project/{project_id}/admin/items/virtual_items/sku/{item_sku}](https://xsolla.redocly.app/de/api/catalog/virtual-items-currency-admin/admin-update-virtual-item.md): Aktualisiert einen virtuellen Gegenstand.

### Virtuellen Gegenstand löschen

 - [DELETE /v2/project/{project_id}/admin/items/virtual_items/sku/{item_sku}](https://xsolla.redocly.app/de/api/catalog/virtual-items-currency-admin/admin-delete-virtual-item.md): Löscht einen virtuellen Gegenstand.

### Liste virtueller Währungen abrufen

 - [GET /v2/project/{project_id}/admin/items/virtual_currency](https://xsolla.redocly.app/de/api/catalog/virtual-items-currency-admin/admin-get-virtual-currencies-list.md): Ruft die Liste der virtuellen Währungen innerhalb eines Projekts zur Verwaltung ab.

HinweisVerwenden Sie diesen Endpunkt nicht zum Erstellen eines Shop-Katalogs.

### Virtuelle Währung erstellen

 - [POST /v2/project/{project_id}/admin/items/virtual_currency](https://xsolla.redocly.app/de/api/catalog/virtual-items-currency-admin/admin-create-virtual-currency.md): Erstellt eine virtuelle Währung.

### Virtuelle Währung abrufen

 - [GET /v2/project/{project_id}/admin/items/virtual_currency/sku/{virtual_currency_sku}](https://xsolla.redocly.app/de/api/catalog/virtual-items-currency-admin/admin-get-virtual-currency.md): Ruft die virtuelle Wärhung innerhalb eines Projekts zur Verwaltung ab.

HinweisVerwenden Sie diesen Endpunkt nicht zum Erstellen eines Shop-Katalogs.

### Virtuelle Währung aktualisieren

 - [PUT /v2/project/{project_id}/admin/items/virtual_currency/sku/{virtual_currency_sku}](https://xsolla.redocly.app/de/api/catalog/virtual-items-currency-admin/admin-update-virtual-currency.md): Aktualisiert eine virtuelle Währung.

### Virtuelle Währung löschen

 - [DELETE /v2/project/{project_id}/admin/items/virtual_currency/sku/{virtual_currency_sku}](https://xsolla.redocly.app/de/api/catalog/virtual-items-currency-admin/admin-delete-virtual-currency.md): Löscht eine virtuelle Währung.

### Liste der virtuellen Währungspakete abrufen (Verwaltung)

 - [GET /v2/project/{project_id}/admin/items/virtual_currency/package](https://xsolla.redocly.app/de/api/catalog/virtual-items-currency-admin/admin-get-virtual-currency-packages-list.md): Ruft die Liste der virtuellen Währungspakte innerhalb eines Projekts zur Verwaltung ab.

HinweisVerwenden Sie diesen Endpunkt nicht zum Erstellen eines Shop-Katalogs.

### Virtuelles Währungspaket erstellen

 - [POST /v2/project/{project_id}/admin/items/virtual_currency/package](https://xsolla.redocly.app/de/api/catalog/virtual-items-currency-admin/admin-create-virtual-currency-package.md): Erstellt ein virtuelles Währungspaket.

### Virtuelles Währungspaket aktualisieren

 - [PUT /v2/project/{project_id}/admin/items/virtual_currency/package/sku/{item_sku}](https://xsolla.redocly.app/de/api/catalog/virtual-items-currency-admin/admin-update-virtual-currency-package.md): Aktualisiert ein virtuelles Währungspaket.

### Virtuelles Währungspaket löschen

 - [DELETE /v2/project/{project_id}/admin/items/virtual_currency/package/sku/{item_sku}](https://xsolla.redocly.app/de/api/catalog/virtual-items-currency-admin/admin-delete-virtual-currency-package.md): Löscht ein virtuelles Währungspaket.

### Virtuelles Währungspaket abrufen

 - [GET /v2/project/{project_id}/admin/items/virtual_currency/package/sku/{item_sku}](https://xsolla.redocly.app/de/api/catalog/virtual-items-currency-admin/admin-get-virtual-currency-package.md): Ruft das virtuelle Wärhungspaket innerhalb eines Projekts zur Verwaltung ab.

HinweisVerwenden Sie diesen Endpunkt nicht zum Erstellen eines Shop-Katalogs.

## Katalog

### Liste virtueller Gegenstände abrufen

 - [GET /v2/project/{project_id}/items/virtual_items](https://xsolla.redocly.app/de/api/catalog/virtual-items-currency-catalog/get-virtual-items.md): Ruft eine List von virtuellen Gegenständen zum Erstellen eines Katalogs ab.


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





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


 Siehe auch: API-Aufruf Alle virtuellen Gegenstände abrufen für die clientseitige Suche oder Indexierung.

### Virtuellen Gegenstand anhand der SKU abrufen

 - [GET /v2/project/{project_id}/items/virtual_items/sku/{item_sku}](https://xsolla.redocly.app/de/api/catalog/virtual-items-currency-catalog/get-virtual-items-sku.md): Ruft einen virtuellen Gegenstand anhand der SKU ab, um einen Katalog zu erstellen.


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

### Liste aller virtuellen Gegenstände abrufen

 - [GET /v2/project/{project_id}/items/virtual_items/all](https://xsolla.redocly.app/de/api/catalog/virtual-items-currency-catalog/get-all-virtual-items.md): Ruft eine Liste aller virtuellen Gegenstände zur clientseitigen Suche ab.


  Hinweis
    Gibt nur Artikel-SKU, Name, Gruppen und Beschreibung zurück.





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


 Siehe auch: API-Aufruf Liste virtueller Gegenstände abrufen für paginierten Abruf detaillierter Artikeldaten.

### Liste virtueller Währungen abrufen

 - [GET /v2/project/{project_id}/items/virtual_currency](https://xsolla.redocly.app/de/api/catalog/virtual-items-currency-catalog/get-virtual-currency.md): Ruft eine List von virtuellen Währungen zum Erstellen eines Katalogs 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 50 Artikel pro Antwort. Um pro Seite mehr Daten zu erhalten, verwenden Sie die Felder limit und offset.





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

### Virtuelle Währung anhand der SKU abrufen

 - [GET /v2/project/{project_id}/items/virtual_currency/sku/{virtual_currency_sku}](https://xsolla.redocly.app/de/api/catalog/virtual-items-currency-catalog/get-virtual-currency-sku.md): Ruft eine virtuelle Währung anhand der SKU ab, um einen Katalog zu erstellen.


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

### Liste virtueller Währungspakete abrufen

 - [GET /v2/project/{project_id}/items/virtual_currency/package](https://xsolla.redocly.app/de/api/catalog/virtual-items-currency-catalog/get-virtual-currency-package.md): Ruft eine Liste von virtuellen Währungspaketen zum Erstellen eines Katalogs 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 50 Artikel pro Antwort. Um pro Seite mehr Daten zu erhalten, verwenden Sie die Felder limit und offset.





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

### Virtuelles Währungspaket anhand der SKU abrufen

 - [GET /v2/project/{project_id}/items/virtual_currency/package/sku/{virtual_currency_package_sku}](https://xsolla.redocly.app/de/api/catalog/virtual-items-currency-catalog/get-virtual-currency-package-sku.md): Ruft ein virtuelles Währungspaket anhand der SKU ab, um einen Katalog zu erstellen.


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

### Artikelliste anhand angegebener Gruppe abrufen

 - [GET /v2/project/{project_id}/items/virtual_items/group/{external_id}](https://xsolla.redocly.app/de/api/catalog/virtual-items-currency-catalog/get-virtual-items-group.md): Ruft eine Artikelliste aus einer angegebenen 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. Um pro Seite mehr Daten zu erhalten, verwenden Sie die Felder limit und offset.





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

### Liste virtueller Währungen anhand angegebener Gruppe abrufen

 - [GET /v2/project/{project_id}/items/virtual_currency/group/{external_id}](https://xsolla.redocly.app/de/api/catalog/virtual-items-currency-catalog/get-virtual-currency-group.md): Ruft eine Liste virtueller Währungen aus der angegebenen Gruppe zum Erstellen eines Katalogs 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 50 Artikel pro Antwort. Um pro Seite mehr Daten zu erhalten, verwenden Sie die Felder limit und offset.





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

### Liste virtueller Währungspakete anhand angegebener Gruppe abrufen

 - [GET /v2/project/{project_id}/items/virtual_currency/package/group/{external_id}](https://xsolla.redocly.app/de/api/catalog/virtual-items-currency-catalog/get-virtual-currency-package-group.md): Ruft eine Liste virtueller Währungspakete aus der angegebenen Gruppe zum Erstellen eines Katalogs 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 50 Artikel pro Antwort. Um pro Seite mehr Daten zu erhalten, verwenden Sie die Felder limit und offset.





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

## Virtuelle Bezahlung

### Bestellung mit einem angegebenen, in virtueller Währung gekauften Artikel anlegen

 - [POST /v2/project/{project_id}/payment/item/{item_sku}/virtual/{virtual_currency_sku}](https://xsolla.redocly.app/de/api/catalog/virtual-payment/create-order-with-item-for-virtual-currency.md): Legt Bestellungen von mit virtueller Währung erworbenen Artikeln an. 


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

## Katalog

### Spieleliste abrufen

 - [GET /v2/project/{project_id}/items/game](https://xsolla.redocly.app/de/api/catalog/game-keys-catalog/get-games-list.md): Ruft eine Spieleliste zum Erstellen eines Katalogs 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 50 Artikel pro Antwort. Um pro Seite mehr Daten zu erhalten, verwenden Sie die Felder limit und offset.





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

### Spieleliste anhand angegebener Gruppe abrufen

 - [GET /v2/project/{project_id}/items/game/group/{external_id}](https://xsolla.redocly.app/de/api/catalog/game-keys-catalog/get-games-group.md): Ruft eine Spieleliste aus der angegebenen Gruppe zum Erstellen eines Katalogs 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 50 Artikel pro Antwort. Um pro Seite mehr Daten zu erhalten, verwenden Sie die Felder limit und offset.





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

### Spiel für den Katalog abrufen

 - [GET /v2/project/{project_id}/items/game/sku/{item_sku}](https://xsolla.redocly.app/de/api/catalog/game-keys-catalog/get-game-by-sku.md): Ruft ein Spiel für den Katalog ab.


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

### Spielschlüssel für den Katalog abrufen

 - [GET /v2/project/{project_id}/items/game/key/sku/{item_sku}](https://xsolla.redocly.app/de/api/catalog/game-keys-catalog/get-game-key-by-sku.md): Ruft einen Spielschlüssel für den Katalog ab.


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

### Liste der Spielschlüssel anhand angegebener Gruppe abrufen

 - [GET /v2/project/{project_id}/items/game/key/group/{external_id}](https://xsolla.redocly.app/de/api/catalog/game-keys-catalog/get-game-keys-group.md): Ruft eine Liste von Spielschlüsseln aus der angegebenen 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. Um pro Seite mehr Daten zu erhalten, verwenden Sie die Felder limit und offset.





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

### DRM-Liste abrufen

 - [GET /v2/project/{project_id}/items/game/drm](https://xsolla.redocly.app/de/api/catalog/game-keys-catalog/get-drm-list.md): Ruft die Liste der verfügbaren DRMs ab.

## Berechtigung

### Liste der Spiele im Besitz des Nutzers abrufen

 - [GET /v2/project/{project_id}/entitlement](https://xsolla.redocly.app/de/api/catalog/game-keys-entitlement/get-user-games.md): 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.





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

### Spielcode durch Client einlösen

 - [POST /v2/project/{project_id}/entitlement/redeem](https://xsolla.redocly.app/de/api/catalog/game-keys-entitlement/redeem-game-pin-code.md): Gewährt die Berechtigung anhand des bereitgestellten Spielcodes.


  Hinweis
    Sie können Codes nur für die DRM-freie Plattform einlösen.





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

### Berechtigung erteilen (Verwaltung)

 - [POST /v2/project/{project_id}/admin/entitlement/grant](https://xsolla.redocly.app/de/api/catalog/game-keys-entitlement/grant-entitlement-admin.md): Erteilt dem Nutzer eine Berechtigung.

AchtungEs können nur Spielcodes oder Spiele für DRM-freie Plattformen gewährt werden.

### Berechtigung entziehen (Verwaltung)

 - [POST /v2/project/{project_id}/admin/entitlement/revoke](https://xsolla.redocly.app/de/api/catalog/game-keys-entitlement/revoke-entitlement-admin.md): Entzieht dem Nutzer eine Berechtigung.

AchtungEs können nur Spielcodes oder Spiele für DRM-freie Plattformen entzogen werden.

## Administrator

### Spiel erstellen

 - [POST /v2/project/{project_id}/admin/items/game](https://xsolla.redocly.app/de/api/catalog/game-keys-admin/admin-create-game.md): Erstellt ein Spiel im Projekt.

### Spieleliste abrufen (Verwaltung)

 - [GET /v2/project/{project_id}/admin/items/game](https://xsolla.redocly.app/de/api/catalog/game-keys-admin/admin-get-game-list.md): 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.

HinweisVerwenden Sie diesen Endpunkt nicht zum Erstellen eines Shop-Katalogs.

### Spiel abrufen (Verwaltung)

 - [GET /v2/project/{project_id}/admin/items/game/sku/{item_sku}](https://xsolla.redocly.app/de/api/catalog/game-keys-admin/admin-get-game-by-sku.md): Ruft ein Spiel zur Verwaltung ab.
Das Spiel besteht aus Spielschlüsseln, die von einem Nutzer gekauft werden können.

HinweisVerwenden Sie diesen Endpunkt nicht zum Erstellen eines Shop-Katalogs.

### Spiel anhand der SKU aktualisieren

 - [PUT /v2/project/{project_id}/admin/items/game/sku/{item_sku}](https://xsolla.redocly.app/de/api/catalog/game-keys-admin/admin-update-game-by-sku.md): Aktualisiert ein Spiel im Projekt anhand der SKU.

### Spiel anhand der SKU löschen

 - [DELETE /v2/project/{project_id}/admin/items/game/sku/{item_sku}](https://xsolla.redocly.app/de/api/catalog/game-keys-admin/admin-delete-game-by-sku.md): Löscht ein Spiel im Projekt anhand der SKU.

### Spiel anhand von ID abrufen (Verwaltung)

 - [GET /v2/project/{project_id}/admin/items/game/id/{item_id}](https://xsolla.redocly.app/de/api/catalog/game-keys-admin/admin-get-game-by-id.md): Ruft ein Spiel zur Verwaltung ab.
Das Spiel besteht aus Spielschlüsseln, die von einem Nutzer gekauft werden können.

HinweisVerwenden Sie diesen Endpunkt nicht zum Erstellen eines Shop-Katalogs.

### Spiel anhand der ID aktualisieren

 - [PUT /v2/project/{project_id}/admin/items/game/id/{item_id}](https://xsolla.redocly.app/de/api/catalog/game-keys-admin/admin-update-game-by-id.md): Aktualisiert ein Spiel im Projekt anhand der ID.

### Spiel anhand der ID löschen

 - [DELETE /v2/project/{project_id}/admin/items/game/id/{item_id}](https://xsolla.redocly.app/de/api/catalog/game-keys-admin/admin-delete-game-by-id.md): Löscht ein Spiel im Projekt anhand der ID.

### Codes hochladen

 - [POST /v2/project/{project_id}/admin/items/game/key/upload/sku/{item_sku}](https://xsolla.redocly.app/de/api/catalog/game-keys-admin/admin-upload-codes-by-sku.md): Lädt Codes anhand der Spielschlüssel-SKU hoch.

### Codes anhand von ID hochladen

 - [POST /v2/project/{project_id}/admin/items/game/key/upload/id/{item_id}](https://xsolla.redocly.app/de/api/catalog/game-keys-admin/admin-upload-codes-by-id.md): Lädt Codes anhand der Spielschlüssel-ID hoch.

### Sitzungsdaten zum Laden von Codes abrufen

 - [GET /v2/project/{project_id}/admin/items/game/key/upload/session/{session_id}](https://xsolla.redocly.app/de/api/catalog/game-keys-admin/admin-get-codes-session.md): Ruft Sitzungsdaten zum Laden von Codes abrufen ab.

### Codes abrufen

 - [GET /v2/project/{project_id}/admin/items/game/key/request/sku/{item_sku}](https://xsolla.redocly.app/de/api/catalog/game-keys-admin/admin-get-codes-by-sku.md): Ruft eine bestimmte Anzahl von Codes anhand der Spielschlüssel-SKU ab.

### Codes anhand der ID abrufen

 - [GET /v2/project/{project_id}/admin/items/game/key/request/id/{item_id}](https://xsolla.redocly.app/de/api/catalog/game-keys-admin/admin-get-codes-by-id.md): Ruft eine bestimmte Anzahl von Codes anhand der Spielschlüssel-ID ab.

### Codes löschen

 - [DELETE /v2/project/{project_id}/admin/items/game/key/delete/sku/{item_sku}](https://xsolla.redocly.app/de/api/catalog/game-keys-admin/admin-delete-codes-by-sku.md): Löscht alle Codes anhand der Spielschlüssel-SKU.

### Codes anhand der ID löschen

 - [DELETE /v2/project/{project_id}/admin/items/game/key/delete/id/{item_id}](https://xsolla.redocly.app/de/api/catalog/game-keys-admin/admin-delete-codes-by-id.md): Löscht alle Codes anhand der Spielschlüssel-ID.

## Administrator

### Liste der Bundles abrufen

 - [GET /v2/project/{project_id}/admin/items/bundle](https://xsolla.redocly.app/de/api/catalog/bundles-admin/admin-get-bundle-list.md): Ruft die Liste der Bundles innerhalb eines Projekts zur Verwaltung ab.

HinweisVerwenden Sie diesen Endpunkt nicht zum Erstellen eines Shop-Katalogs.

### Bundle erstellen

 - [POST /v2/project/{project_id}/admin/items/bundle](https://xsolla.redocly.app/de/api/catalog/bundles-admin/admin-create-bundle.md): Erstellt ein Bundle – eine Zusammenstellung von Artikeln, die als eine Einheit verkauft werden. Ein Bundle kann virtuelle Gegenstände, virtuelle Währungspakete, Spielschlüssel und andere Bundles enthalten. Weitere Informationen finden Sie im Abschnitt Bundles.

HinweisAlle Artikel im Array content müssen zuvor in Ihrem Projekt erstellt worden sein. Das System gibt eine Fehlermeldung aus, wenn die angegebene SKU nicht existiert.

### Liste der Bundles anhand der angegebenen Gruppen-ID abrufen

 - [GET /v2/project/{project_id}/admin/items/bundle/group/id/{group_id}](https://xsolla.redocly.app/de/api/catalog/bundles-admin/admin-get-bundle-list-in-group-by-id.md): Ruft die Liste der Bundles innerhalb einer Gruppe zur Verwaltung ab.

HinweisVerwenden Sie diesen Endpunkt nicht zum Erstellen eines Shop-Katalogs.

### Liste der Bundles anhand der angegebenen externen Gruppen-ID abrufen

 - [GET /v2/project/{project_id}/admin/items/bundle/group/external_id/{external_id}](https://xsolla.redocly.app/de/api/catalog/bundles-admin/admin-get-bundle-list-in-group-by-external-id.md): Ruft die Liste der Bundles innerhalb einer Gruppe zur Verwaltung ab.

HinweisVerwenden Sie diesen Endpunkt nicht zum Erstellen eines Shop-Katalogs.

### Bundle aktualisieren

 - [PUT /v2/project/{project_id}/admin/items/bundle/sku/{sku}](https://xsolla.redocly.app/de/api/catalog/bundles-admin/admin-update-bundle.md): Aktualisiert ein Bundle . Dieser Aufruf ersetzt das Bundle vollständig – übermitteln Sie alle Pflichtfelder im Anfragerumpf, nicht nur die Felder, die Sie ändern möchten. Weitere Informationen finden Sie im Abschnitt Bundles.

HinweisAlle Artikel im Array content müssen zuvor in Ihrem Projekt erstellt worden sein. Das System gibt eine Fehlermeldung aus, wenn die angegebene SKU nicht existiert.

### Bundle löschen

 - [DELETE /v2/project/{project_id}/admin/items/bundle/sku/{sku}](https://xsolla.redocly.app/de/api/catalog/bundles-admin/admin-delete-bundle.md): Löscht ein Bundle.

### Bundle abrufen

 - [GET /v2/project/{project_id}/admin/items/bundle/sku/{sku}](https://xsolla.redocly.app/de/api/catalog/bundles-admin/admin-get-bundle.md): Ruft das Bundle innerhalb eines Projekts zur Verwaltung ab.

HinweisVerwenden Sie diesen Endpunkt nicht zum Erstellen eines Shop-Katalogs.

### Bundle im Katalog anzeigen

 - [PUT /v2/project/{project_id}/admin/items/bundle/sku/{sku}/show](https://xsolla.redocly.app/de/api/catalog/bundles-admin/admin-show-bundle.md): Zeigt ein Bundle in einem Katalog an.

### Bundle im Katalog ausblenden

 - [PUT /v2/project/{project_id}/admin/items/bundle/sku/{sku}/hide](https://xsolla.redocly.app/de/api/catalog/bundles-admin/admin-hide-bundle.md): Blendet ein Bundle in einem Katalog aus.

## Katalog

### Liste der Bundles abrufen

 - [GET /v2/project/{project_id}/items/bundle](https://xsolla.redocly.app/de/api/catalog/bundles-catalog/get-bundle-list.md): 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. Um pro Seite mehr Daten zu erhalten, verwenden Sie die Felder limit und offset.





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

### Angegebenes Bundle abrufen

 - [GET /v2/project/{project_id}/items/bundle/sku/{sku}](https://xsolla.redocly.app/de/api/catalog/bundles-catalog/get-bundle.md): Ruft ein angegebenes Bundle ab.


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

### Liste der Bundles anhand der angegebenen Gruppe abrufen

 - [GET /v2/project/{project_id}/items/bundle/group/{external_id}](https://xsolla.redocly.app/de/api/catalog/bundles-catalog/get-bundle-list-in-group.md): 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. Um pro Seite mehr Daten zu erhalten, verwenden Sie die Felder limit und offset.





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

## Warenkorb (clientseitig)

Mit den Aufrufen aus diesem Abschnitt können Sie den Warenkorb clientseitig verwalten.

### Warenkorb anhand von Warenkorb-ID abrufen

 - [GET /v2/project/{project_id}/cart/{cart_id}](https://xsolla.redocly.app/de/api/catalog/cart-client-side/get-cart-by-id.md): Gibt den Warenkorb des Nutzers anhand der Warenkorb-ID zurück.

### Warenkorb des aktuellen Benutzers abrufen

 - [GET /v2/project/{project_id}/cart](https://xsolla.redocly.app/de/api/catalog/cart-client-side/get-user-cart.md): Gibt den Warenkorb des aktuellen Nutzers zurück.

### Alle Warenkorbartikel anhand der Warenkorb-ID löschen

 - [PUT /v2/project/{project_id}/cart/{cart_id}/clear](https://xsolla.redocly.app/de/api/catalog/cart-client-side/cart-clear-by-id.md): Löscht alle Artikel im Warenkorb.

### Alle Warenkorbartikel aus dem aktuellen Warenkorb löschen

 - [PUT /v2/project/{project_id}/cart/clear](https://xsolla.redocly.app/de/api/catalog/cart-client-side/cart-clear.md): Löscht alle Artikel im Warenkorb.

### Artikel in den Warenkorb legen

 - [PUT /v2/project/{project_id}/cart/fill](https://xsolla.redocly.app/de/api/catalog/cart-client-side/cart-fill.md): Legt Artikel in den Warenkorb. Wenn der Warenkorb bereits einen Artikel mit derselben SKU enthält, wird der vorhandene Artikel durch den übergebenen Wert ersetzt.

### Artikel in den angegeben Warenkorb legen

 - [PUT /v2/project/{project_id}/cart/{cart_id}/fill](https://xsolla.redocly.app/de/api/catalog/cart-client-side/cart-fill-by-id.md): Legt Artikel in den angegebene Warenkorb. Wenn der Warenkorb bereits einen Artikel mit derselben SKU enthält, wird die vorhandene Artikelposition durch den übergebenen Wert ersetzt.

### Warenkorbartikel anhand der Warenkorb-ID aktualisieren

 - [PUT /v2/project/{project_id}/cart/{cart_id}/item/{item_sku}](https://xsolla.redocly.app/de/api/catalog/cart-client-side/put-item-by-cart-id.md): Aktualisiert einen vorhandenen Warenkorbartikel oder legt den Artikel in den Warenkorb.

### Warenkorbartikel anhand der Warenkorb-ID löschen

 - [DELETE /v2/project/{project_id}/cart/{cart_id}/item/{item_sku}](https://xsolla.redocly.app/de/api/catalog/cart-client-side/delete-item-by-cart-id.md): Entfernt einen Artikel aus dem Warenkorb.

### Warenkorbartikel aus dem aktuellem Warenkorb aktualisieren

 - [PUT /v2/project/{project_id}/cart/item/{item_sku}](https://xsolla.redocly.app/de/api/catalog/cart-client-side/put-item.md): Aktualisiert einen vorhandenen Warenkorbartikel oder legt den Artikel in den Warenkorb.

### Warenkorbartikel aus aktuellem Warenkorb löschen

 - [DELETE /v2/project/{project_id}/cart/item/{item_sku}](https://xsolla.redocly.app/de/api/catalog/cart-client-side/delete-item.md): Entfernt einen Artikel aus dem Warenkorb.

## Warenkorb (serverseitig)

Mit den Aufrufen aus diesem Abschnitt können Sie den Warenkorb serverseitig verwalten.

### Artikel in den Warenkorb legen

 - [PUT /v2/admin/project/{project_id}/cart/fill](https://xsolla.redocly.app/de/api/catalog/cart-server-side/admin-cart-fill.md): Legt Artikel in den aktuellen Warenkorb. Wenn der Warenkorb bereits einen Artikel mit derselben SKU enthält, wird der vorhandene Artikel durch den übergebenen Wert ersetzt.

### Warenkorb anhand der Warenkorb-ID mit Artikeln zusammenstellen

 - [PUT /v2/admin/project/{project_id}/cart/{cart_id}/fill](https://xsolla.redocly.app/de/api/catalog/cart-server-side/admin-fill-cart-by-id.md): Legt Artikel nach Warenkorb-ID in den Warenkorb. Wenn der Warenkorb bereits einen Artikel mit derselben SKU enthält, wird der vorhandene Artikel durch den übergebenen Wert ersetzt.

## Zahlung (clientseitig)

Mit den Aufrufen aus diesem Abschnitt können Sie einen Zahlungstoken clientseitig erstellen.

### Bestellung mit allen Artikeln aus einem angegebenen Warenkorb anlegen

 - [POST /v2/project/{project_id}/payment/cart/{cart_id}](https://xsolla.redocly.app/de/api/catalog/payment-client-side/create-order-by-cart-id.md): Wird für die Client-zu-Server-Integration verwendet. Legt eine Bestellung mit allen Artikeln aus dem jeweiligen Warenkorb an und generiert einen Zahlungstoken. Der angelegten Bestellung wird der Bestellstatus new zugeordnet.

Anhand der Client-IP wird das Land des Nutzers ermittelt und anschließend die entsprechende Währung und die verfügbaren Zahlungsmethoden für die Bestellung herangezogen.

Nutzen Sie den folgenden Link, um das Zahlungsportal in einem neuen Fenster aufzurufen: https://secure.xsolla.com/paystation4/?token={token}, wobei {token} der erhaltene Token ist.

Für Testzwecke steht Ihnen die folgende URL zur Verfügung: https://sandbox-secure.xsolla.com/paystation4/?token={token}.

Hinweis  Weil diese Methode auf die IP zurückgreift, um das Land des Nutzers zu ermitteln und eine Währung für die Bestellung auszuwählen, ist es wichtig, diese Methode nur clientseitig und nicht serverseitig einzusetzen. Die serverseitige Verwendung dieser Methode kann dazu führen, dass eine falsche Währung ermittelt wird, was sich wiederum auf die in der Pay Station angezeigten Zahlungsmethoden auswirkt.

### Bestellung mit allen Artikeln aus dem aktuellen Warenkorb anlegen

 - [POST /v2/project/{project_id}/payment/cart](https://xsolla.redocly.app/de/api/catalog/payment-client-side/create-order.md): Wird für die Client-zu-Server-Integration verwendet. Legt eine Bestellung mit allen Artikeln aus dem Warenkorb an und generiert einen Zahlungstoken. Der angelegten Bestellung wird der Bestellstatus new zugeordnet.

Anhand der Client-IP wird das Land des Nutzers ermittelt und anschließend die entsprechende Währung und die verfügbaren Zahlungsmethoden für die Bestellung herangezogen.

Nutzen Sie den folgenden Link, um das Zahlungsportal in einem neuen Fenster aufzurufen: https://secure.xsolla.com/paystation4/?token={token}, wobei {token} der erhaltene Token ist.

Für Testzwecke steht Ihnen die folgende URL zur Verfügung: https://sandbox-secure.xsolla.com/paystation4/?token={token}.

Hinweis  Weil diese Methode auf die IP zurückgreift, um das Land des Nutzers zu ermitteln und eine Währung für die Bestellung auszuwählen, ist es wichtig, diese Methode nur clientseitig und nicht serverseitig einzusetzen. Die serverseitige Verwendung dieser Methode kann dazu führen, dass eine falsche Währung ermittelt wird, was sich wiederum auf die in der Pay Station angezeigten Zahlungsmethoden auswirkt.

### Bestellung mit angegebenem Artikel anlegen

 - [POST /v2/project/{project_id}/payment/item/{item_sku}](https://xsolla.redocly.app/de/api/catalog/payment-client-side/create-order-with-item.md): Wird für die Client-zu-Server-Integration verwendet. Legt eine Bestellung mit dem angegebenen Artikel an und generiert einen Zahlungstoken. Der angelegten Bestellung wird der Bestellstatus new zugeordnet.

Anhand der Client-IP wird das Land des Nutzers ermittelt und anschließend die entsprechende Währung und die verfügbaren Zahlungsmethoden für die Bestellung herangezogen.

Nutzen Sie den folgenden Link, um das Zahlungsportal in einem neuen Fenster aufzurufen: https://secure.xsolla.com/paystation4/?token={token}, wobei {token} der erhaltene Token ist.

Für Testzwecke steht Ihnen die folgende URL zur Verfügung: https://sandbox-secure.xsolla.com/paystation4/?token={token}.

Hinweis  Weil diese Methode auf die IP zurückgreift, um das Land des Nutzers zu ermitteln und eine Währung für die Bestellung auszuwählen, ist es wichtig, diese Methode nur clientseitig und nicht serverseitig einzusetzen. Die serverseitige Verwendung dieser Methode kann dazu führen, dass eine falsche Währung ermittelt wird, was sich wiederum auf die in der Pay Station angezeigten Zahlungsmethoden auswirkt.




  Hinweis
    Dieser API-Aufruf verwendet einen Benutzer-JWT zur Autorisierung.
    Fügen Sie den Token im Authorization-Header im folgenden Format ein: Bearer &lt;user_JWT&gt;. Weitere Informationen zum Benutzer-JWT finden Sie im Block Sicherheit dieses Aufrufs.

## Zahlung (serverseitig)

Mit den Aufrufen aus diesem Abschnitt können Sie einen Zahlungstoken serverseitig erstellen.

### Zahlungstoken für den Kauf erstellen

 - [POST /v3/project/{project_id}/admin/payment/token](https://xsolla.redocly.app/de/api/catalog/payment-server-side/admin-create-payment-token.md): Generiert eine Bestellung und den zugehörigen Zahlungstoken. Die Bestellung wird auf Grundlage der im Anfragerumpf übermittelten Artikel generiert.

Nutzen Sie den folgenden Link, um das Zahlungsportal in einem neuen Fenster aufzurufen: https://secure.xsolla.com/paystation4/?token={token}, wobei {token} der erhaltene Token ist.

Für Testzwecke steht Ihnen die folgende URL zur Verfügung: https://sandbox-secure.xsolla.com/paystation4/?token={token}.

Hinweis
   
   Damit die Methode ordnungsgemäß funktioniert, müssen Sie entweder den Parameter user.country.value (Ländercode) oder den X-User-Ip-Header (die IPv4-Adresse des Nutzers, falls das Land unbekannt ist) übermitteln. Anhand der übermittelten Daten wird die Zahlungswährung ermittelt. IPv6-Adressen werden nicht unterstützt.  Die ausgewählte Währung wird für die Zahlungsmethoden im Xsolla-Zahlungsportal verwendet.

## Bestellung

Mit den Aufrufen aus diesem Abschnitt können Sie Bestellinformationen abrufen

### Bestellung abrufen

 - [GET /v2/project/{project_id}/order/{order_id}](https://xsolla.redocly.app/de/api/catalog/order/get-order.md): Ruft eine angegebene Bestellung ab.

### Bestellliste für angegebenen Zeitraum abrufen

 - [POST /v3/project/{project_id}/admin/order/search](https://xsolla.redocly.app/de/api/catalog/order/admin-order-search.md): Ruft eine Liste der Bestellungen ab, geordnet vom ältesten bis zum jüngsten Erstellungsdatum.

## Kostenlose Artikel

Use calls from this section to grant <a href="https://developers.xsolla.com/de/items-catalog/catalog-features/free-items/">free items</a> to users.

### Bestellung mit einem kostenlosen Warenkorb anlegen

 - [POST /v2/project/{project_id}/free/cart](https://xsolla.redocly.app/de/api/catalog/free-item/create-free-order.md): Legt eine Bestellung mit allen Artikeln aus dem kostenlosen Warenkorb an. Der angelegten Bestellung wird der Bestellstatus done zugewiesen.

### Bestellung mit einem bestimmten kostenlosen Warenkorb anlegen

 - [POST /v2/project/{project_id}/free/cart/{cart_id}](https://xsolla.redocly.app/de/api/catalog/free-item/create-free-order-by-cart-id.md): Legt eine Bestellung mit allen Artikeln aus dem jeweiligen kostenlosen Warenkorb an. Der angelegten Bestellung wird der Bestellstatus done zugewiesen.

### Bestellung mit angegebenem kostenlosen Artikel anlegen

 - [POST /v2/project/{project_id}/free/item/{item_sku}](https://xsolla.redocly.app/de/api/catalog/free-item/create-free-order-with-item.md): Legt eine Bestellung mit einem angegebenen kostenlosen Artikel an. Der angelegten Bestellung wird der Bestellstatus done zugewiesen. 


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

## Verwaltung

### Alle Kauflimits für den angegebenen Benutzer aktualisieren

 - [DELETE /v2/project/{project_id}/admin/user/limit/item/all](https://xsolla.redocly.app/de/api/catalog/user-limits-admin/reset-all-user-items-limit.md): Aktualisiert alle für den angegebenen Nutzer geltenden Artikelkauflimits, damit er diese Artikel wieder kaufen kann.

Die entsprechende API (User limit API) ermöglicht es Ihnen, festzulegen, wie viele Einheiten eines Artikels maximal erhältlich sind. Um die Kauflimits selbst zu konfigurieren, wechseln Sie zum Abschnitt "Verwaltung" des gewünschten Artikeltypmoduls:
* Spielschlüssel
* Virtuelle Gegenstände und Währung
* Bundles

### Kauflimit aktualisieren

 - [DELETE /v2/project/{project_id}/admin/user/limit/item/sku/{item_sku}/all](https://xsolla.redocly.app/de/api/catalog/user-limits-admin/reset-user-item-limit.md): Aktualisiert das Kauflimit für einen Artikel, damit ein Nutzer ihn erneut kaufen kann. Ist dem Parameter user der Wert null zugewiesen, wird das Limit für alle Nutzer aktualisiert.

Die entsprechende API (User limit API) ermöglicht es Ihnen, festzulegen, wie viele Einheiten eines Artikels maximal erhältlich sind. Um die Kauflimits selbst zu konfigurieren, wechseln Sie zum Abschnitt "Verwaltung" des gewünschten Artikeltypmoduls:
* Spielschlüssel
* Virtuelle Gegenstände und Währung
* Bundles

### Anzahl der für einen bestimmten Benutzer verfügbaren Artikel abrufen

 - [GET /v2/project/{project_id}/admin/user/limit/item/sku/{item_sku}](https://xsolla.redocly.app/de/api/catalog/user-limits-admin/get-user-item-limit.md): Ruft die verbleibende Anzahl von Artikeln ab, die der angegebene Nutzer innerhalb des geltenden Limits noch erhalten kann.

Die entsprechende API (User limit API) ermöglicht es Ihnen, festzulegen, wie viele Einheiten eines Artikels maximal erhältlich sind. Um die Kauflimits selbst zu konfigurieren, wechseln Sie zum Abschnitt "Verwaltung" des gewünschten Artikeltypmoduls:
* Spielschlüssel
* Virtuelle Gegenstände und Währung
* Bundles

### Anzahl der für einen bestimmten Benutzer verfügbaren Artikel erhöhen

 - [POST /v2/project/{project_id}/admin/user/limit/item/sku/{item_sku}](https://xsolla.redocly.app/de/api/catalog/user-limits-admin/add-user-item-limit.md): Erhöht die verbleibende Anzahl von Artikeln, die der angegebene Nutzer innerhalb des geltenden Limits noch erhalten kann.

Die entsprechende API (User limit API) ermöglicht es Ihnen, festzulegen, wie viele Einheiten eines Artikels maximal erhältlich sind. Um die Kauflimits selbst zu konfigurieren, wechseln Sie zum Abschnitt "Verwaltung" des gewünschten Artikeltypmoduls:
* Spielschlüssel
* Virtuelle Gegenstände und Währung
* Bundles

### Anzahl der für einen bestimmten Benutzer verfügbaren Artikel festlegen

 - [PUT /v2/project/{project_id}/admin/user/limit/item/sku/{item_sku}](https://xsolla.redocly.app/de/api/catalog/user-limits-admin/set-user-item-limit.md): Legt fest, wie viele Artikel der angegebene Nutzer innerhalb des geltenden Limits kaufen kann, nachdem das Limit erhöht oder verringert wurde.

Die entsprechende API (User limit API) ermöglicht es Ihnen, festzulegen, wie viele Einheiten eines Artikels maximal erhältlich sind. Um die Kauflimits selbst zu konfigurieren, wechseln Sie zum Abschnitt "Verwaltung" des gewünschten Artikeltypmoduls:
* Spielschlüssel
* Virtuelle Gegenstände und Währung
* Bundles

### Anzahl der für einen bestimmten Benutzer verfügbaren Artikel reduzieren

 - [DELETE /v2/project/{project_id}/admin/user/limit/item/sku/{item_sku}](https://xsolla.redocly.app/de/api/catalog/user-limits-admin/remove-user-item-limit.md): Verringert die verbleibende Anzahl von Artikeln, die der angegebene Nutzer innerhalb des geltenden Limits noch erhalten kann.

Die entsprechende API (User limit API) ermöglicht es Ihnen, festzulegen, wie viele Einheiten eines Artikels maximal erhältlich sind. Um die Kauflimits selbst zu konfigurieren, wechseln Sie zum Abschnitt "Verwaltung" des gewünschten Artikeltypmoduls:
* Spielschlüssel
* Virtuelle Gegenstände und Währung
* Bundles

## Administrator

### Artikel aus JSON-Datei importieren

 - [POST /v1/projects/{project_id}/import/from_external_file](https://xsolla.redocly.app/de/api/catalog/connector-admin/import-items-from-external-file.md): Importiert Artikel aus einer JSON-Datei über die angegebene URL in den Shop. Weitere Informationen zum Import aus einer JSON-Datei finden Sie in der Dokumentation.

### Status des Artikelimports abrufen

 - [GET /v1/admin/projects/{project_id}/connectors/import_items/import/status](https://xsolla.redocly.app/de/api/catalog/connector-admin/get-items-import-status.md): Ruft Informationen darüber ab, wie weit der Import von Artikeln in das Projekt fortgeschritten ist. Der API-Aufruf ruft Daten zum letzten Import ab, der über die API oder das Kundenportal durchgeführt wurde.

## Vorbestellungen

### Informationen zum Artikelvorbestelllimit abrufen

 - [GET /v2/project/{project_id}/admin/items/pre_order/limit/item/sku/{item_sku}](https://xsolla.redocly.app/de/api/catalog/common-pre-orders/get-pre-order-limit.md): Rufen Sie das Vorbestelllimit des Artikels ab.

Die entsprechende API (Pre-Order limit API) ermöglicht es Ihnen, festzulegen, wie viele Einheiten eines Artikels maximal vorbestellbar sind. Um die Vorbestellung selbst zu konfigurieren, wechseln Sie zum Abschnitt "Verwaltung" des gewünschten Moduls:
* Spielschlüssel
* Virtuelle Gegenstände und Währung
* Bundles

Aliasse für diesen Endpunkt:
* /v2/project/{project_id}/admin/items/pre_order/limit/item/id/{item_id}

### Artikelvorbestelllimit um Mengenangabe ergänzen

 - [POST /v2/project/{project_id}/admin/items/pre_order/limit/item/sku/{item_sku}](https://xsolla.redocly.app/de/api/catalog/common-pre-orders/add-pre-order-limit.md): Ergänzen Sie das Vorbestelllimit des Artikels um eine Mengenangabe.

Die entsprechende API (Pre-Order limit API) ermöglicht es Ihnen, festzulegen, wie viele Einheiten eines Artikels maximal vorbestellbar sind. Um die Vorbestellung selbst zu konfigurieren, wechseln Sie zum Abschnitt "Verwaltung" des gewünschten Moduls:
* Spielschlüssel
* Virtuelle Gegenstände und Währung
* Bundles

Aliasse für diesen Endpunkt:
* /v2/project/{project_id}/admin/items/pre_order/limit/item/id/{item_id}

### Mengenangabe für das Vorbestelllimit des Artikels festlegen

 - [PUT /v2/project/{project_id}/admin/items/pre_order/limit/item/sku/{item_sku}](https://xsolla.redocly.app/de/api/catalog/common-pre-orders/set-pre-order-limit.md): Legen Sie eine Mengenangabe für das Vorbestelllimit des Artikels fest.

Die entsprechende API (Pre-Order limit API) ermöglicht es Ihnen, festzulegen, wie viele Einheiten eines Artikels maximal vorbestellbar sind. Um die Vorbestellung selbst zu konfigurieren, wechseln Sie zum Abschnitt "Verwaltung" des gewünschten Moduls:
* Spielschlüssel
* Virtuelle Gegenstände und Währung
* Bundles

Aliasse für diesen Endpunkt:
* /v2/project/{project_id}/admin/items/pre_order/limit/item/id/{item_id}

### Mengenangabe für das Vorbestelllimit des Artikels entfernen

 - [DELETE /v2/project/{project_id}/admin/items/pre_order/limit/item/sku/{item_sku}](https://xsolla.redocly.app/de/api/catalog/common-pre-orders/remove-pre-order-limit.md): Entfernen Sie eine Mengenangabe für das Vorbestelllimit des Artikels.

Die entsprechende API (Pre-Order limit API) ermöglicht es Ihnen, festzulegen, wie viele Einheiten eines Artikels maximal vorbestellbar sind. Um die Vorbestellung selbst zu konfigurieren, wechseln Sie zum Abschnitt "Verwaltung" des gewünschten Moduls:
* Spielschlüssel
* Virtuelle Gegenstände und Währung
* Bundles

Aliasse für diesen Endpunkt:
* /v2/project/{project_id}/admin/items/pre_order/limit/item/id/{item_id}

### Vorbestelllimit des Artikels aktivieren/deaktivieren

 - [PUT /v2/project/{project_id}/admin/items/pre_order/limit/item/sku/{item_sku}/toggle](https://xsolla.redocly.app/de/api/catalog/common-pre-orders/toggle-pre-order-limit.md): Aktiviert/deaktiviert das Vorbestelllimit des Artikels.

Die entsprechende API (Pre-Order limit API) ermöglicht es Ihnen, festzulegen, wie viele Einheiten eines Artikels maximal vorbestellbar sind. Um die Vorbestellung selbst zu konfigurieren, wechseln Sie zum Abschnitt "Verwaltung" des gewünschten Moduls:
* Spielschlüssel
* Virtuelle Gegenstände und Währung
* Bundles

Aliasse für diesen Endpunkt:
* /v2/project/{project_id}/admin/items/pre_order/limit/item/id/{item_id}

### Alle Mengenangaben für das Vorbestelllimit des Artikels entfernen

 - [DELETE /v2/project/{project_id}/admin/items/pre_order/limit/item/sku/{item_sku}/all](https://xsolla.redocly.app/de/api/catalog/common-pre-orders/remove-all-pre-order-limit.md): Entfernen Sie alle Mengenangaben für das Vorbestelllimit des Artikels.

Die entsprechende API (Pre-Order limit API) ermöglicht es Ihnen, festzulegen, wie viele Einheiten eines Artikels maximal vorbestellbar sind. Um die Vorbestellung selbst zu konfigurieren, wechseln Sie zum Abschnitt "Verwaltung" des gewünschten Moduls:
* Spielschlüssel
* Virtuelle Gegenstände und Währung
* Bundles

Aliasse für diesen Endpunkt:
* /v2/project/{project_id}/admin/items/pre_order/limit/item/id/{item_id}

## Händler

### Projekte abrufen

 - [GET /v2/merchant/{merchant_id}/projects](https://xsolla.redocly.app/de/api/catalog/common-merchant/get-projects.md): Ruft die Liste der Projekte des Händlers ab.


  Bemerkung Dieser API-Aufruf enthält nicht den Pfadparameter project_id, Sie müssen also den API-Schlüssel verwenden, der in allen Projekten des Unternehmens gültig ist, um die Autorisierung einzurichten.

## Katalog

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

### Liste der verkäuflichen Artikel abrufen

 - [GET /v2/project/{project_id}/items](https://xsolla.redocly.app/de/api/catalog/common-catalog/get-sellable-items.md): Ruft eine Liste der verkäuflichen Artikel zum Erstellen eines Katalogs 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 50 Artikel pro Antwort. Um pro Seite mehr Daten zu erhalten, verwenden Sie die Felder limit und offset.





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

### Verkäuflichen Artikel anhand von SKU abrufen

 - [GET /v2/project/{project_id}/items/id/{item_id}](https://xsolla.redocly.app/de/api/catalog/common-catalog/get-sellable-item-by-id.md): Ruft einen verkäuflichen Artikel anhand seiner ID ab.


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

### Liste der verkäuflichen Artikel anhand von angegebener Gruppe abrufen

 - [GET /v2/project/{project_id}/items/sku/{sku}](https://xsolla.redocly.app/de/api/catalog/common-catalog/get-sellable-item-by-sku.md): Ruft einen verkäuflichen Artikel anhand der SKU ab, um einen Katalog zu erstellen.


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

### Verkäuflichen Artikel anhand von ID abrufen

 - [GET /v2/project/{project_id}/items/group/{external_id}](https://xsolla.redocly.app/de/api/catalog/common-catalog/get-sellable-items-group.md): Ruft eine Liste der verkäuflichen Artikel aus der angegebenen 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. Um pro Seite mehr Daten zu erhalten, verwenden Sie die Felder limit und offset.





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

## Gängige Regionen

Mithilfe regionaler Verkaufsbeschränkungen können Sie die Verfügbarkeit von Artikeln in bestimmten Ländern oder Ländergruppen steuern. So können Sie beispielsweise ein Spiel aufgrund von Lizenzbeschränkungen nur in bestimmten Ländern verkaufen.

Die Beschränkungen werden über Regionen definiert. Jede Region fasst ein oder mehrere Länder unter einer einzigen Kennung (`region_id`) zusammen. Sie können einen Artikel einer oder mehreren Regionen zuordnen.

Die Verfügbarkeit eines Artikels wird wie folgt bestimmt:

* Wenn für einen Artikel keine Regionen angegeben sind, ist der Artikel in allen Ländern erhältlich.
* Wenn für einen Artikel Regionen angegeben sind und das Land des Nutzers zu einer dieser Regionen gehört, ist der Artikel für diesen Nutzer verfügbar.
* Wenn für einen Artikel Regionen angegeben sind und das Land des Nutzers zu keiner dieser Regionen gehört, ist der Artikel für diesen Nutzer nicht verfügbar.

Das Land des Nutzers wird im Parameter `country` übermittelt, wenn der Katalog über API-Aufrufe aus dem Unterbereich **Katalog** angefordert wird. Wird der Parameter nicht übermittelt, wird das Land anhand der IP-Adresse des Nutzers ermittelt.

Das Land des Nutzers wird zweimal mit den Regionen des Artikels abgeglichen: beim Anfordern des Katalogs und beim Anlegen einer Bestellung. Nicht verfügbare Artikel werden nicht in die Katalogantwort aufgenommen, und eine Bestellung mit einem solchen Artikel wird nicht angelegt.

Mit API-Aufrufen aus dem Unterabschnitt **Gängige Regionen** können Sie Regionen erstellen, aktualisieren und löschen.

Einrichtung regionaler Verkaufsbeschränkungen (Ablauf):

1. Erstellen Sie eine Region mithilfe des API-Aufrufs [Region erstellen](https://developers.xsolla.com/de/api/catalog/common-regions/admin-create-region/), geben Sie dabei die Liste der Länder an. In der Antwort ist eine `region_id` enthalten, die im nächsten Schritt benötigt wird.
2. Verknüpfen Sie einen virtuellen Gegenstand mit der Region, indem Sie beim [Erstellen](https://developers.xsolla.com/de/api/catalog/virtual-items-currency-admin/admin-create-virtual-item/) oder [Aktualisieren](https://developers.xsolla.com/de/api/catalog/virtual-items-currency-admin/admin-update-virtual-item/) des Artikels die `region_id` im `regions`-Array übermitteln.
3. Zeigen Sie dem Nutzer den Katalog mithilfe von API-Aufrufen aus dem Unterabschnitt **Katalog** an, beispielsweise mit dem API-Aufruf [Liste virtueller Gegenstände abrufen](https://developers.xsolla.com/de/api/catalog/virtual-items-currency-catalog/get-virtual-items). Das Land des Nutzers wird anhand des Parameters `country` ermittelt oder, falls dieser nicht angegeben ist, anhand der IP-Adresse des Nutzers. Artikel, die im Land des Nutzers nicht verfügbar sind, fehlen in der Katalogantwort.
4. Wenn der Nutzer zur Bezahlung eines Artikels oder des Warenkorbs übergeht, muss eine Bestellung angelegt werden:
    * Wenn der Artikel in den Warenkorb gelegt wurde muss die Bestellung mithilfe des API-Aufrufs [Bestellung mit allen Artikeln aus einem angegebenen Warenkorb anlegen](https://developers.xsolla.com/de/api/catalog/payment-client-side/create-order) oder [Bestellung mit allen Artikeln aus dem aktuellen Warenkorb anlegen](https://developers.xsolla.com/de/api/catalog/payment-client-side/create-order) angelegt werden.
    * Beim Schnellkauf eines einzelnen Artikels muss die Bestellung mithilfe des API-Aufrufs [Bestellung mit angegebenem Artikel anlegen](https://developers.xsolla.com/de/api/catalog/payment-client-side/create-order-with-item) (unter Angabe der Artikel-SKU) angelegt werden.

  In der Antwort ist ein Token zum Öffnen des Zahlungsportals enthalten.

<div class="note">
  <b>Hinweis</b><br><br>
Xsolla prüft, ob das Land des Nutzers in der für den Artikel festgelegten Region enthalten ist. Ist das Land nicht in der Region enthalten, kann die Bestellung nicht angelegt werden.
</div>

<br>

5. Implementieren Sie das Öffnen des Zahlungsportals, damit die Bestellung bezahlt werden kann.

![Gängige Regionen](https://cdn.xsolla.net/developers/current/images/api_docs/api-regions.svg)

### Liste der Regionen abrufen

 - [GET /v2/project/{project_id}/admin/region](https://xsolla.redocly.app/de/api/catalog/common-regions/admin-get-regions.md): Ruft eine Liste der Regionen ab.

Anhand von Regionen können Sie regionale Beschränkungen verwalten.

### Region erstellen

 - [POST /v2/project/{project_id}/admin/region](https://xsolla.redocly.app/de/api/catalog/common-regions/admin-create-region.md): Erstellt eine Region.

Anhand von Regionen können Sie regionale Beschränkungen verwalten.

### Region abrufen

 - [GET /v2/project/{project_id}/admin/region/{region_id}](https://xsolla.redocly.app/de/api/catalog/common-regions/admin-get-region.md): Ruft eine bestimmte Region ab.

Anhand von Regionen können Sie regionale Beschränkungen verwalten.

### Region aktualisieren

 - [PUT /v2/project/{project_id}/admin/region/{region_id}](https://xsolla.redocly.app/de/api/catalog/common-regions/admin-update-region.md): Aktualisiert eine bestimmte Region.

Anhand von Regionen können Sie regionale Beschränkungen verwalten.

### Region löschen

 - [DELETE /v2/project/{project_id}/admin/region/{region_id}](https://xsolla.redocly.app/de/api/catalog/common-regions/admin-delete-region.md): Löscht eine bestimmte Region.

## Webhooks

### Webhook-Version aktualisieren

 - [PUT /v2/project/{project_id}/admin/webhook/version](https://xsolla.redocly.app/de/api/catalog/common-webhooks/update-webhook-version.md): Aktualisiert die Webhook-Version für das Projekt. In Version 2 sind zusätzliche Parameter im items-Array enthalten.

Weitere Informationen zu Webhooks finden Sie unter Bestellstatus-Tracking einrichten.

## Administrator

### Liste der Attribute abrufen (Verwaltung)

 - [GET /v2/project/{project_id}/admin/attribute](https://xsolla.redocly.app/de/api/catalog/attribute-admin/admin-get-attribute-list.md): Ruft die Liste der Attribute aus einem Projekt zur Verwaltung ab.

### Attribut erstellen

 - [POST /v2/project/{project_id}/admin/attribute](https://xsolla.redocly.app/de/api/catalog/attribute-admin/admin-create-attribute.md): Erstellt ein Attribut.

### Attribut aktualisieren

 - [PUT /v2/project/{project_id}/admin/attribute/{external_id}](https://xsolla.redocly.app/de/api/catalog/attribute-admin/admin-update-attribute.md): Aktualisiert ein Attribut.

### Angegebenes Attribut abrufen

 - [GET /v2/project/{project_id}/admin/attribute/{external_id}](https://xsolla.redocly.app/de/api/catalog/attribute-admin/admin-get-attribute.md): Ruft ein angegebenes Attribut ab.

### Attribut löschen

 - [DELETE /v2/project/{project_id}/admin/attribute/{external_id}](https://xsolla.redocly.app/de/api/catalog/attribute-admin/delete-attribute.md): Löscht ein Attribut.

HinweisWenn Sie ein Artikelattribut löschen, gehen alle zugehörigen Daten und Verbindungen zu anderen Artikeln verloren.

### Attributwert erstellen

 - [POST /v2/project/{project_id}/admin/attribute/{external_id}/value](https://xsolla.redocly.app/de/api/catalog/attribute-admin/admin-create-attribute-value.md): Erstellt einen Attributwert.

AchtungBei allen Projekten ist die Anzahl der Attributwerte begrenzt. Der Standard- und Höchstwert beträgt 20 Werte pro Attribut.

### Alle Werte des Attributs löschen

 - [DELETE /v2/project/{project_id}/admin/attribute/{external_id}/value](https://xsolla.redocly.app/de/api/catalog/attribute-admin/admin-delete-all-attribute-value.md): Löscht alle Werte des Attributs.

HinweisWenn Sie den Wert eines Attributs löschen, gehen alle Verbindungen zwischen dem Attribut und den Artikeln verloren. Verwenden Sie zum Ändern des Attributwerts eines Artikels den API-Aufruf Attributwert aktualisieren, anstatt den Wert zu löschen und einen neuen zu erstellen.

### Attributwert aktualisieren

 - [PUT /v2/project/{project_id}/admin/attribute/{external_id}/value/{value_external_id}](https://xsolla.redocly.app/de/api/catalog/attribute-admin/admin-update-attribute-value.md): Aktualisiert einen Attributwert.

### Attributwert löschen

 - [DELETE /v2/project/{project_id}/admin/attribute/{external_id}/value/{value_external_id}](https://xsolla.redocly.app/de/api/catalog/attribute-admin/admin-delete-attribute-value.md): Löscht einen Attributwert.

HinweisWenn Sie den Wert eines Attributs löschen, gehen alle Verbindungen zwischen dem Attribut und den Artikeln verloren. Verwenden Sie zum Ändern des Attributwerts eines Artikels den API-Aufruf Attributwert aktualisieren, anstatt den Wert zu löschen und einen neuen zu erstellen.

## Administrator

### Liste der Artikelgruppen abrufen

 - [GET /v2/project/{project_id}/admin/items/groups](https://xsolla.redocly.app/de/api/catalog/item-groups-admin/admin-get-item-group-list.md): Ruft die vollständige Liste der Artikelgruppen innerhalb eines Projekts ohne Paginierung ab. Für Verwaltungszwecke.

HinweisVerwenden Sie diesen Endpunkt nicht zum Erstellen eines Shopkatalogs. Verwenden Sie stattdessen den clientseitigen Endpunkt Liste der Artikelgruppen abrufen.

### Artikelgruppe erstellen

 - [POST /v2/project/{project_id}/admin/items/groups](https://xsolla.redocly.app/de/api/catalog/item-groups-admin/admin-create-item-group.md): Erstellt eine Artikelgruppe innerhalb eines Projekts.
Verwenden Sie den clientseitigen Endpunkt Liste der Artikelgruppen abrufen, um Artikelgruppen für die Erstellung eines Katalogs abzurufen.

### Artikelgruppe anhand der externen ID abrufen

 - [GET /v2/project/{project_id}/admin/items/groups/{external_id}](https://xsolla.redocly.app/de/api/catalog/item-groups-admin/admin-get-item-group.md): Ruft eine Artikelgruppe anhand ihrer externen ID für Verwaltungszwecke ab.

HinweisVerwenden Sie diesen Endpunkt nicht zum Erstellen eines Shopkatalogs. Verwenden Sie stattdessen den clientseitigen Endpunkt Liste der Artikelgruppen abrufen.

### Artikelgruppe aktualisieren

 - [PUT /v2/project/{project_id}/admin/items/groups/{external_id}](https://xsolla.redocly.app/de/api/catalog/item-groups-admin/admin-update-item-group.md): Aktualisiert eine Artikelgruppe anhand ihrer externen ID.

### Artikelgruppe löschen

 - [DELETE /v2/project/{project_id}/admin/items/groups/{external_id}](https://xsolla.redocly.app/de/api/catalog/item-groups-admin/admin-delete-item-group.md): Löscht eine Artikelgruppe anhand ihrer externen ID.

### Liste der Artikelgruppen nach Artikeltyp filtern

 - [GET /v2/project/{project_id}/admin/items/{item_type}/groups](https://xsolla.redocly.app/de/api/catalog/item-groups-admin/admin-get-item-group-list-by-item-type.md): Ruft eine Liste von Artikelgruppen ab, gefiltert nach Artikeltyp. Für die Gruppe werden nur Artikel des angegebenen Typs gezählt. Ähnelt dem Endpunkt Artikelgruppenliste abrufen, wobei die Artikel bei der Zählung zusätzlich nach Typ gefiltert werden.

### Artikelgruppe anhand der externen ID abrufen, gefiltert nach Artikeltyp

 - [GET /v2/project/{project_id}/admin/items/{item_type}/groups/{external_id}](https://xsolla.redocly.app/de/api/catalog/item-groups-admin/admin-get-item-group-by-item-type.md): Ruft eine Artikelgruppe anhand der externen ID ab. Für die Gruppe werden nur Artikel des angegebenen Typs gezählt. Ähnelt dem Endpunkt Artikelgruppe anhand der externen ID abrufen, wobei die Artikel bei der Zählung zusätzlich nach Typ gefiltert werden.

### Artikelgruppen neu anordnen

 - [PUT /v2/project/{project_id}/admin/group/order](https://xsolla.redocly.app/de/api/catalog/item-groups-admin/admin-reorder-item-groups.md): Legt die Anzeigereihenfolge für Artikelgruppen innerhalb eines Projekts fest. Übermitteln Sie ein Array von Gruppen mit deren neuen Reihenfolgewerten.

### Artikel innerhalb einer Gruppe neu anordnen (nach externer ID)

 - [PUT /v2/project/{project_id}/admin/group/{external_id}/order/item](https://xsolla.redocly.app/de/api/catalog/item-groups-admin/admin-reorder-items-in-group.md): Legt die Anzeigereihenfolge von Artikeln innerhalb einer Gruppe fest, die durch ihre externe ID identifiziert wird. Übermitteln Sie ein Array von Artikeln mit deren neuen Reihenfolgewerten.

### Artikel innerhalb einer Gruppe neu anordnen (nach ID)

 - [PUT /v2/project/{project_id}/admin/group/id/{id}/order/item](https://xsolla.redocly.app/de/api/catalog/item-groups-admin/admin-reorder-items-in-group-by-id.md): Legt die Anzeigereihenfolge von Artikeln innerhalb einer Gruppe fest, die durch ihre interne numerische ID identifiziert wird. Übermitteln Sie ein Array von Artikeln mit deren neuen Reihenfolgewerten.

## Katalog

### Liste der Artikelgruppen abrufen

 - [GET /v2/project/{project_id}/items/groups](https://xsolla.redocly.app/de/api/catalog/item-groups-catalog/get-item-groups.md): Ruft eine Liste von Artikelgruppen zum Erstellen eines Katalogs ohne Paginierung ab.

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

