{"templateId":"openapi_docs","sharedDataIds":{"openAPIDocsStore":"oas-@l10n/de/api/catalog/index.yaml","sidebar":"sidebar-@l10n/de/catalog-en.sidebars.yaml"},"props":{"definitionId":"@l10n/de/api/catalog/index.yaml","dynamicMarkdocComponents":[],"baseSlug":"/de/api/catalog","seo":{"title":"Katalog-API","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"itemId":"","disableAutoScroll":true,"metadata":{"type":"openapi","title":"Katalog-API","description":"# Überblick\n\n- **Version:** 2.0.0\n- **Server:** `https://store.xsolla.com/api`\n- [Kontakt-E-Mail-Adresse](mailto:integration@xsolla.com)\n- **Kontakt-URL:** https://xsolla.com/\n- **Erforderliche TLS-Version:** 1.2\n\nMit der Katalog-API können Sie aufseiten von Xsolla einen Katalog mit Ingame-Items konfigurieren und diesen Katalog den Nutzern in Ihrem Shop anzeigen.\n\nÜber die API können Sie die folgenden Katalogentitäten verwalten:\n\n* **Virtuelle Gegenstände** – Ingame-Items wie etwa Waffen, Skins, Booster.\n* **Virtuelle Währung** – Virtuelles Geld für den Kauf von virtuellen Gütern.\n* **Virtuelle Währungspakete** – vordefinierte Pakete voller virtueller Währung.\n* **Bundles** – eine Kombination aus virtuellen Gegenständen, Währung oder Spielschlüsseln. Bundles werden als eine einzelne SKU verkauft.\n* **Spielschlüssel** – Schlüssel für Spiele oder DLCs, die über Plattformen wie Steam oder andere DRM-Anbieter vertrieben werden.\n* **Gruppen** – logische Gruppierungen, um Artikel im Katalog zu organisieren und zu sortieren.\n\n## API-Aufrufe\n\nDie API ist in die folgenden Gruppen unterteilt:\n\n* **<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.\n* **<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.\n\n# Authentifizierung\n\nAPI-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.\n\n## Authentifizierung mit Benutzer-JWT\n\nDie 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).\n\nDer 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.\n\nAlternativ können Sie einen [Token zum Öffnen des Zahlungsportals verwenden](/de/api/pay-station/token/create-token).\n\n## HTTP-Basisauthentifizierung\n\nDie 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.\n\n<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>\n\nBei der serverseitigen Basisauthentifizierung müssen alle API-Anfragen den folgenden Header enthalten:\n\n- 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\n- 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\n\nDie Parameterwerte finden Sie im [Kundenportal](https://publisher.xsolla.com/) an folgenden Orten:\n\n- `merchant_id` wird angezeigt:\n  - unter **Firmeneinstellungen > Firma**.\n  - 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>`.\n- `project_id` wird angezeigt:\n  - neben dem Projektnamen im Kundenportal.\n  - 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>`.\n- `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:\n  - unter [Firmeneinstellungen > API-Schlüssel](https://publisher.xsolla.com/0/settings/api_key)\n  - unter [Projekteinstellungen > API-Schlüssel](https://publisher.xsolla.com/0/projects/0/edit/api_key)\n\n<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>\n\nWeitere Informationen zur Arbeit mit API-Schlüsseln finden Sie in den [API-Referenzen](/de/api/getting-started/#api_keys_overview).\n\n## Authentifizierung mit Unterstützung für Gastzugang\n\nDas Authentifizierungsschema `AuthForCart` wird für Warenkorbkäufe verwendet und unterstützt zwei Modi:\n\n1. **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.\nAlternativ können Sie einen [Token zum Öffnen des Zahlungsportals](/de/api/pay-station/token/create-token) verwenden.\n\n2. **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:\n   - `x-unauthorized-id` samt Anfrage-ID\n   - `x-user` samt der E-Mail-Adresse des Nutzers, kodiert in Base64\n\n## Nützliche Links\n\n- [API calls by interaction model](https://developers.xsolla.com/de/api/catalog/)\n- [Endpoint types](https://developers.xsolla.com/de/api/catalog/)\n- [Errors handling](https://developers.xsolla.com/de/api/catalog/)\n- [API keys](https://developers.xsolla.com/de/api/catalog/)\n- [Webhooks](https://developers.xsolla.com/de/api/catalog/)\n\n# Grundstruktur der Entität\n\nAlle 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.\n\n<div class=\"note\"><b>Hinweis</b><br><br>Einige Aufrufe können zusätzliche Felder enthalten, doch diese ändern nichts an der Grundstruktur.</div>\n\n**Identifikation**\n\n- `merchant_id` – Firmen-ID im [Kundenportal](https://publisher.xsolla.com/)\n- `project_id` – Projekt-ID im Kundenportal\n- `sku` – Artikel-SKU, einzigartig innerhalb des Projekts\n\n**Shop-Anzeige**\n\n- `name` – Artikelname\n- `description` – Artikelbeschreibung\n- `image_url` – Bild-URL\n- `is_enabled` – Artikelverfügbarkeit\n- `is_show_in_store` – ob der Artikel im Katalog angezeigt wird\n\nWeitere Informationen zur Verwaltung der Artikelverfügbarkeit im Katalog finden Sie in der [Dokumentation](/de/items-catalog/catalog-features/items-availability/).\n\n**Organisation**\n\n- `type` – Artikeltyp, zum Beispiel ein virtueller Gegenstand (`virtual_item`) oder Bundle (`bundle`)\n- `groups` – Gruppen, zu denen der Artikel gehört\n- `order` – Anzeigereihenfolge im Katalog\n\n**Verkaufsbedingungen**\n\n- `prices` – Preise in echter oder virtueller Währung\n- `limits` – Kauflimits\n- `periods` – Verfügbarkeitszeiträume\n- `regions` – regionale Beschränkungen\n\n**Grundstruktur einer Entität (Beispiel):**\n\n```json\n{\n  \"attributes\": [],\n  \"bundle_type\": \"virtual_currency_package\",\n  \"content\": [\n    {\n      \"description\": {\n        \"en\": \"Main in-game currency\"\n      },\n      \"image_url\": \"https://.../image.png\",\n      \"name\": {\n        \"en\": \"Crystals\",\n        \"de\": \"Kristalle\"\n      },\n      \"quantity\": 500,\n      \"sku\": \"com.xsolla.crystal_2\",\n      \"type\": \"virtual_currency\"\n    }\n  ],\n  \"description\": {\n    \"en\": \"Crystals x500\"\n  },\n  \"groups\": [],\n  \"image_url\": \"https://.../image.png\",\n  \"is_enabled\": true,\n  \"is_free\": false,\n  \"is_show_in_store\": true,\n  \"limits\": {\n    \"per_item\": null,\n    \"per_user\": null,\n    \"recurrent_schedule\": null\n  },\n  \"long_description\": null,\n  \"media_list\": [],\n  \"name\": {\n    \"en\": \"Medium crystal pack\"\n  },\n  \"order\": 1,\n  \"periods\": [\n    {\n      \"date_from\": null,\n      \"date_until\": \"2020-08-11T20:00:00+03:00\"\n    }\n  ],\n  \"prices\": [\n    {\n      \"amount\": 20,\n      \"country_iso\": \"US\",\n      \"currency\": \"USD\",\n      \"is_default\": true,\n      \"is_enabled\": true\n    }\n  ],\n  \"regions\": [],\n  \"sku\": \"com.xsolla.crystal_pack_2\",\n  \"type\": \"bundle\",\n  \"vc_prices\": []\n}\n```\n\n# Grundlegender Kaufablauf\n\nÜ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/section/authentication) verwenden.\n\nDas folgende Beispiel zeigt den grundlegenden Ablauf für die Einrichtung und den Betrieb eines Shops, von der Artikelerstellung bis zum Kauf.\n\n## Artikel und Gruppen erstellen (Verwaltung)\n\nErstellen Sie für Ihren Shop einen Katalog mit Artikeln wie etwa virtuellen Gegenständen, Bundles oder virtueller Währung.\n\nAPI-Aufrufe (Beispiele):\n- [Virtuellen Gegenstand erstellen](/de/api/catalog/virtual-items-currency-admin/admin-create-virtual-item)\n- [Bundle erstellen](/de/api/catalog/bundles-admin/admin-create-bundle)\n- [Virtuelle Währung erstellen](/de/api/catalog/virtual-items-currency-admin/admin-create-virtual-currency)\n\n## Werbeaktionen, Ketten und Limits einrichten (Verwaltung)\n\nKonfigurieren Sie Tools für die Nutzergewinnung und Monetarisierung, wie etwa Rabatte, Boni, tägliche Belohnungen oder Angebotsketten.\n\nAPI-Aufrufe (Beispiele):\n- [Bonusaktion erstellen](/de/api/liveops/promotions-bonuses/create-bonus-promotion)\n- [Tägliche Belohnung erstellen](/de/api/liveops/daily-chain-admin/admin-create-daily-chain)\n- [Katalogsonderangebot erstellen](/de/api/liveops/promotions-unique-catalog-offers/admin-create-unique-catalog-offer)\n\n## Artikelinformationen abrufen (Client)\n\nKonfigurieren Sie, wie Artikel in Ihrer Anwendung angezeigt werden sollen.\n\n<div class=\"notice\">\n  <b>Hinweis</b><br><br>\n    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.\n</div>\n\n<br>\n\nAPI-Aufrufe (Beispiele):\n- [Liste virtueller Gegenstände abrufen](/de/api/catalog/virtual-items-currency-catalog/get-virtual-items)\n- [Liste der Artikelgruppen abrufen](/de/api/catalog/virtual-items-currency-catalog/get-item-groups)\n- [Liste der Bundles abrufen](/de/api/catalog/bundles-catalog/get-bundle-list)\n- [Liste der verkäuflichen Artikel abrufen](/de/api/catalog/common-catalog/get-sellable-items)\n\n<div class=\"note\">\n  <b>Hinweis</b><br><br>\n    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.\n</div>\n\n## Artikel verkaufen\n\nArtikel können Sie mit den folgenden Methoden verkaufen:\n- Schnellkauf – Verkauf einer einzelnen SKU in beliebiger Menge.\n- 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.\n\nWird 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.\n\nBeim 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.\n\n### Schnellkauf\n\nVerwenden 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.\n\n<div class=\"note\">\n  <b>Hinweis</b><br><br>\n    Rabattinformationen sind für den Nutzer nur im Zahlungsportal verfügbar. Promocodes werden nicht unterstützt.\n</div>\n\n### Warenkorbkauf\n\nDie Einrichtung des Warenkorbs und der Kaufvorgang können sowohl client- als auch serverseitg erfolgen.\n\n**Warenkorb clientseitig einrichten und Artikel kaufen**\n\nImplementieren 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.\n\nImplementieren Sie die folgende Warenkorblogik:\n1. 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).\n2. Aktualisieren Sie den Warenkorbinhalt basierend auf den Aktionen des Nutzers:\n   - 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.\n   - 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.\n\n<div class=\"note\">\n  <b>Hinweis</b><br><br>\n    Mit dem API-Aufruf \"Warenkorb des aktuellen Benutzers abrufen\" können Sie den aktuellen Status des Warenkorbs abrufen.\n</div>\n\n3. 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.\n\n**Warenkorb serverseitig einrichten und Artikel kaufen**\n\nDiese Einrichtungsoption kann länger dauern, da jede Änderung am Warenkorb durch API-Aufrufe vorgenommen werden muss.\n\nImplementieren Sie die folgende Warenkorblogik:\n1. 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).\n2. 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.\n\n## Zahlungsportal öffnen\n\nVerwenden 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.\n\n| Aktion                          | Endpunkt                                                                  |\n|:--------------------------------|:--------------------------------------------------------------------------|\n| In der Produktionsumgebung öffnen. | <code>https://secure.xsolla.com/paystation4/?token={token}</code>         |\n| In der Testumgebung öffnen.           | <code>https://sandbox-secure.xsolla.com/paystation4/?token={token}</code> |\n\n<div class=\"note\">\n  <b>Hinweis</b><br><br>\n    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.\n\n    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 .\n\n    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.\n</div>\n\nDie 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.\n\nMögliche Bestellstatus:\n- `new` – Bestellung angelegt\n- `paid` – Zahlung erhalten\n- `done` – Artikel geliefert\n- `canceled` – Bestellung storniert\n- `expired` – Bestellung abgelaufen\n\nTracken Sie den Bestellstatus mit einer der folgenden Methoden:\n- [mit auf Ihrem Server konfigurierten Webhooks](/de/virtual-goods/own-ui/server-side-token-generation/set-up-order-tracking/#payments_integration_order_tracking)\n- [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)\n- [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\n## Nützliche Links\n\n- Authentifizierung\n- [API-Aufrufe nach Interaktionsmodell](/de/api/catalog/section/authentication)\n- [Zahlungstests](/de/dev-resources/testing/general-info/#general_overview)\n- [Bestellstatus-Tracking einrichten](/de/virtual-goods/own-ui/client-side-token-generation/set-up-order-tracking/?link=200-api#payments_integration_order_tracking)\n- [Webhooks](/de/webhooks/overview)\n- [Ratenlimits](/de/api/login/rate-limits)\n- [Fehlerbehandlung](/de/api/getting-started/#api_errors_handling)\n- [API-Schlüssel](/de/api/getting-started/#api_keys_overview)\n\n# Paginierung\n\nAPI-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.\n\nMithilfe der folgenden Parameter können Sie die Anzahl der zurückgegebenen Elemente steuern:\n\n- `limit` – Anzahl der Elemente pro Seite\n- `offset` – Index des ersten Elements auf der Seite (Nummerierung beginnt bei 0)\n- `has_more` – gibt an, ob eine weitere Seite verfügbar ist\n- `total_items_count` – Gesamtanzahl der Elemente\n\nBeispielanfrage:\n\n```\nGET /items?limit=20&offset=40\n```\n\nBeispielantwort:\n\n```json\n{\n  \"items\": [...],\n  \"has_more\": true,\n  \"total_items_count\": 135\n}\n```\n\nEs wird empfohlen, nachfolgende Anfragen zu senden, bis die Antwort `has_more = false` zurückgibt.\n\n# Datums- und Zeitformat\n\nDatums- und Zeitwerte werden im [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-Format übermittelt.\n\nFolgende Formate werden unterstützt:\n\n- UTC-Offset\n- `null`-Wert, wenn keine zeitliche Einschränkung für die Anzeige eines Artikels besteht\n- [Unix-Zeitstempel](https://www.unixtimestamp.com/) (in Sekunden), der in einigen Feldern verwendet wird\n\nFormat: `YYYY-MM-DDTHH:MM:SS±HH:MM`\n\nBeispiel: `2026-03-16T10:00:00+03:00`\n\n# Lokalisierung\n\nXsolla 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.\n\n**Unterstützte Felder**\n\nFür die folgenden Parameter kann eine Lokalisierung festgelegt werden:\n\n- `name`\n- `description`\n- `long_description`\n\n**Gebietsschemaformat**\n\nDer Gebietsschemaschlüssel kann in einem der folgenden Formate angegeben werden:\n\n- Sprachencode bestehend aus zwei Buchstaben: `en`, `ru`\n- Sprachencode bestehend aus fünf Buchstaben: `en-US`, `ru-RU`, `de-DE`\n\n**Beispiele**\n\nZweistelliger Sprachencode (Beispiel):\n\n```json\n{\n  \"name\": {\n    \"en\": \"Starter Pack\",\n    \"ru\": \"Стартовый набор\"\n  }\n}\n```\n\nFünfstelliger Sprachencode (Beispiel):\n\n```json\n{\n  \"description\": {\n    \"en-US\": \"Premium bundle\",\n    \"de-DE\": \"Premium-Paket\"\n  }\n}\n```\n\n# Fehlerantwortformat\n\nWenn 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.\n\n**Antwort (Beispiel):**\n\n```json\n{\n  \"errorCode\": 1102,\n  \"errorMessage\": \"Validation error\",\n  \"statusCode\": 422,\n  \"transactionId\": \"c9e1a...\"\n}\n```\n\n- `errorCode` – Fehlercode.\n- `errorMessage` – kurze Fehlerbeschreibung.\n- `statusCode` – HTTP-Antwortstatus.\n- `transactionId` – Anfrage-ID. Wird nur in einigen Fällen zurückgegeben.\n- `errorMessageExtended` – zusätzliche Fehlerdetails, wie z. B. Anfrageparameter. Wird nur in einigen Fällen zurückgegeben.\n\n**Erweiterte Antwort (Beispiel):**\n\n```json\n{\n  \"errorCode\": 7001,\n  \"errorMessage\": \"Chain not found\",\n  \"errorMessageExtended\": {\n    \"chain_id\": \"test_chain_id\",\n    \"project_id\": \"test_project_id\",\n    \"step_number\": 2\n  },\n  \"statusCode\": 404\n}\n```\n\n**Gängige HTTP-Statuscodes**\n\n- `400` – ungültige Anfrage\n- `401` – Authentifizierungsfehler\n- `403` – mangelnde Berechtigungen\n- `404` – Ressource nicht gefunden\n- `422` – Validierungsfehler\n- `429` – Ratenlimit überschritten\n\n**Empfehlungen**\n\n- Verarbeiten Sie den HTTP-Statuscode und den Antwortrumpf gemeinsam.\n- Verwenden Sie `errorCode`, um Fehler im Zusammenhang mit der Anwendungslogik zu verarbeiten.\n- Verwenden Sie `transactionId`, um Anfragen bei der Fehleranalyse schneller zu identifizieren."},"compilationErrors":[],"markdown":{"partials":{},"variables":{"rbac":{"teams":["anonymous"]},"user":{},"remoteAddr":{"hostname":"xsolla.redocly.app","port":4000,"ipAddress":"216.73.216.177"},"lang":"de","env":{"PUBLIC_REDOCLY_BRANCH_NAME":"realm"}}},"pagePropGetterError":{"message":"","name":""}},"slug":"/de/api/catalog","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}