Passer au contenu

Aperçu

  • Version : 2.0.0
  • Serveurs : https://store.xsolla.com/api
  • Contactez-nous par e-mail
  • **URL de contact :**https://xsolla.com/
  • Version TLS requise : 1.2

L’API Catalog permet de configurer un catalogue des objets en jeu côté Xsolla et de l’afficher aux utilisateurs dans votre magasin.

L’API permet de gérer les entités de catalogue suivantes :

  • Objets virtuels — objets en jeu tels que armes, skins, boosters.
  • Monnaie virtuelle — monnaie utilisée pour acheter des objets virtuels.
  • Packages de monnaie virtuelle — lots prédéfinis de monnaie virtuelle.
  • Lots — packages combinant objets virtuels, monnaie virtuelle ou clés de jeu vendus sous un seul UGS.
  • Clés de jeu — clés pour jeux et DLC distribuées via Steam ou d’autres fournisseurs DRM.
  • Groupes — regroupements logiques pour organiser et trier les éléments du catalogue.

Appels API

L’API est divisée en groupes suivants :

  • Admin — appels pour créer, mettre à jour, supprimer et configurer les objets et groupes du catalogue. Authentification via l’authentification d’accès de base avec vos identifiants marchand ou projet. Non destinés à un usage côté magasin.
  • Catalog — appels pour récupérer des objets et construire des vitrines personnalisées pour les utilisateurs finaux. Conçue pour gérer des charges importantes. Supporte l’autorisation optionnelle par JWT utilisateur pour retourner des données personnalisées telles que des limites spécifiques à l’utilisateur et des promotions actives.
Télécharger la description d'OpenAPI
Langues
Serveurs
https://store.xsolla.com/api/
Mock server
https://xsolla.redocly.app/_mock/fr/api/catalog/
Opérations
Opérations
Opérations
Opérations
Opérations
Opérations
Opérations
Opérations
Opérations
Opérations

Requête

Remplit d'objets le panier actuel. Si le panier contient déjà un objet avec la même UGS, l'objet existant sera remplacé par la valeur passée.

Sécurité
basicAuth
Chemin
project_idintegerobligatoire

ID de projet. Ce paramètre se trouve dans le Compte éditeur à côté du nom du projet.

Exemple: 44056
Requête
localestring

Langue de la réponse. Code de langue à deux lettres minuscules selon la norme ISO 639-1.

Par défaut "en"
En-têtes
x-user-forstring

L'identifiant de l'utilisateur peut être passé en utilisant le JWT utilisateur Xsolla Login ou le jeton d'accès Pay Station.

Exemple: ACCESS_TOKEN/LOGIN_JWT
x-user-idstring<= 32 characters

Vous pouvez utiliser votre propre ID utilisateur lorsque vous vendez un panier contenant des jeux.

Exemple: UNIQUE_ID
Corpsapplication/json
countrystring= 2 characters

Code pays à deux lettres majuscules selon la norme ISO 3166-1 alpha-2. Consultez la documentation pour obtenir des informations détaillées sur les pays pris en charge par Xsolla.
Exemple : country=US

Exemple: "US"
currencystring= 3 characters

Devise du prix de l'objet affiché dans le panier. Code de devise à trois lettres selon ISO 4217. Consultez la documentation pour obtenir des informations détaillées sur les devises prises en charge par Xsolla.

Exemple: "USD"
itemsArray of objectsnon-emptyobligatoire
items[].​quantitynumber>= 1obligatoire

Quantité de l'objet.

Exemple: 2
items[].​skustringnon-emptyobligatoire

ID unique de l'objet. L'UGS ne peut comprendre que des caractères alphanumériques latins minuscules et majuscules, des points, des tirets et des traits bas.

Exemple: "t-shirt"
curl -i -X PUT \
  -u <username>:<password> \
  'https://store.xsolla.com/api/v2/admin/project/44056/cart/fill?locale=en' \
  -H 'Content-Type: application/json' \
  -H 'x-user-for: ACCESS_TOKEN/LOGIN_JWT' \
  -H 'x-user-id: UNIQUE_ID' \
  -d '{
    "currency": "USD",
    "items": [
      {
        "quantity": 2,
        "sku": "com.xsolla.cup01"
      },
      {
        "quantity": 1,
        "sku": "com.xsolla.t-shirt01"
      },
      {
        "quantity": 1,
        "sku": "com.xsolla.cup02"
      },
      {
        "quantity": 1,
        "sku": "com.xsolla.hat01"
      }
    ]
  }'

Réponses

Le panier contenant des objets a été renvoyé avec succès.

Corpsapplication/json
cart_idstring

ID de panier. Passez-le à la requête pour la page d'achat ou aux endpoints de l'API de paiement.

Exemple: "cart_id"
is_freeboolean(value-cart_is_free)

Si ce paramètre est défini sur true, le panier est gratuit.

Par défaut false
Exemple: false
itemsArray of objects
priceobject or null

Prix du panier.

promotionsArray of objects(Catalog_cart_promotions)

Promotions appliquées à l'ensemble du panier. Le tableau est renvoyé dans les cas suivants :

  • Une promotion affecte le montant total du panier, comme un code promo avec le paramètre Discount on purchase.

  • Une promotion ajoute des objets bonus au panier.

Si aucune promotion de ce type n’est appliquée, un tableau vide est renvoyé.

warningsArray of objects
Réponse
application/json
{ "cart_id": "cart_id", "is_free": false, "items": [ {}, {}, {} ], "price": { "amount": "15.97", "amount_without_discount": "22.96", "currency": "USD" }, "promotions": [ {} ], "warnings": [ {} ] }

Remplir le panier d'objets par ID de panierServer-side

Requête

Remplit d'objets le panier par son ID. Si le panier contient déjà un objet avec la même UGS, l'objet existant sera remplacé par la valeur passée.

Sécurité
basicAuth
Chemin
project_idintegerobligatoire

ID de projet. Ce paramètre se trouve dans le Compte éditeur à côté du nom du projet.

Exemple: 44056
cart_idstringobligatoire

ID de panier.

Exemple: custom_id
Requête
localestring

Langue de la réponse. Code de langue à deux lettres minuscules selon la norme ISO 639-1.

Par défaut "en"
En-têtes
x-user-forstring

L'identifiant de l'utilisateur peut être passé en utilisant le JWT utilisateur Xsolla Login ou le jeton d'accès Pay Station.

Exemple: ACCESS_TOKEN/LOGIN_JWT
x-user-idstring<= 32 characters

Vous pouvez utiliser votre propre ID utilisateur lorsque vous vendez un panier contenant des jeux.

Exemple: UNIQUE_ID
Corpsapplication/json
countrystring= 2 characters

Code pays à deux lettres majuscules selon la norme ISO 3166-1 alpha-2. Consultez la documentation pour obtenir des informations détaillées sur les pays pris en charge par Xsolla.
Exemple : country=US

Exemple: "US"
currencystring= 3 characters

Devise du prix de l'objet affiché dans le panier. Code de devise à trois lettres selon ISO 4217. Consultez la documentation pour obtenir des informations détaillées sur les devises prises en charge par Xsolla.

Exemple: "USD"
itemsArray of objectsnon-emptyobligatoire
items[].​quantitynumber>= 1obligatoire

Quantité de l'objet.

Exemple: 2
items[].​skustringnon-emptyobligatoire

ID unique de l'objet. L'UGS ne peut comprendre que des caractères alphanumériques latins minuscules et majuscules, des points, des tirets et des traits bas.

Exemple: "t-shirt"
curl -i -X PUT \
  -u <username>:<password> \
  'https://store.xsolla.com/api/v2/admin/project/44056/cart/custom_id/fill?locale=en' \
  -H 'Content-Type: application/json' \
  -H 'x-user-for: ACCESS_TOKEN/LOGIN_JWT' \
  -H 'x-user-id: UNIQUE_ID' \
  -d '{
    "currency": "USD",
    "items": [
      {
        "quantity": 2,
        "sku": "com.xsolla.cup01"
      },
      {
        "quantity": 1,
        "sku": "com.xsolla.t-shirt01"
      },
      {
        "quantity": 1,
        "sku": "com.xsolla.cup02"
      },
      {
        "quantity": 1,
        "sku": "com.xsolla.hat01"
      }
    ]
  }'

Réponses

Le panier contenant des objets a été renvoyé avec succès.

Corpsapplication/json
cart_idstring

ID de panier. Passez-le à la requête pour la page d'achat ou aux endpoints de l'API de paiement.

Exemple: "cart_id"
is_freeboolean(value-cart_is_free)

Si ce paramètre est défini sur true, le panier est gratuit.

Par défaut false
Exemple: false
itemsArray of objects
priceobject or null

Prix du panier.

promotionsArray of objects(Catalog_cart_promotions)

Promotions appliquées à l'ensemble du panier. Le tableau est renvoyé dans les cas suivants :

  • Une promotion affecte le montant total du panier, comme un code promo avec le paramètre Discount on purchase.

  • Une promotion ajoute des objets bonus au panier.

Si aucune promotion de ce type n’est appliquée, un tableau vide est renvoyé.

warningsArray of objects
Réponse
application/json
{ "cart_id": "cart_id", "is_free": false, "items": [ {}, {}, {} ], "price": { "amount": "15.97", "amount_without_discount": "22.96", "currency": "USD" }, "promotions": [ {} ], "warnings": [ {} ] }
Opérations
Opérations
Opérations
Opérations
Opérations
Opérations
Opérations
Opérations
Opérations

Catalogue

Cette API permet de récupérer tout type d'objet vendable ou tout objet spécifique.

Opérations
Opérations
Opérations