Passer au contenu

Overview

  • Version: 2.0.0
  • Servers: https://store.xsolla.com/api
  • Contact Us by Email
  • Contact URL: https://xsolla.com/
  • Required TLS version: 1.2

Shop Builder API provides a third-party solution for implementing the server side for your store interface. Use the endpoints to manage in-game items, in-game currencies, cart, player inventory, promotions, game library, etc.

Télécharger la description d'OpenAPI
Langues
Serveurs
Mock server
https://xsolla.redocly.app/_mock/fr/api/shop-builder/
https://store.xsolla.com/api/
Opérations

Catalogue personnalisé

Cette API permet de spécifier des règles pour les attributs utilisateur. Si l'utilisateur remplit toutes les conditions d'une règle concrète, des objets personnalisés seront affichés.

Pour les promotions personnalisées, voir la section Promotions.

Pour passer des attributs avant un achat, utilisez Xsolla Login API ou passez-les dans la propriété user.attributes lors de la génération du jeton à l'aide de Pay Station API.

Opérations
Opérations
Opérations
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
Opérations

Accorder un droit (administrateur)Server-sideAdmin

Requête

Accorde un droit à l'utilisateur.

Attention

Seuls les codes de jeu ou les jeux pour une plateforme sans DRM peuvent être accordés.
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
Corpsapplication/jsonobligatoire
codestring or null

Code du jeu.

Exemple: "AAAA-BBBB-CCCC-DDDD"
drmobjectobligatoire

Objet contenant des propriétés du DRM.

Exemple: {"sku":"com.xsolla.key_1"}
drm.​skustring(Game-Keys_drm_sku)obligatoire

ID unique du DRM.

Enum"steam""playstation""xbox""uplay""origin""drmfree""gog""epicgames""nintendo_eshop""discord_game_store"
Exemple: "steam"
gameobjectobligatoire

Objet contenant des propriétés de jeu.

Exemple: {"sku":"com.xsolla.game_1"}
game.​skustring(Game-Keys_game_sku)[ 1 .. 255 ] characters^[a-zA-Z0-9_\-–.]*$obligatoire

ID unique du package de clés.

Exemple: "theGreatestGameSku"
modestringobligatoire

Quel type de droit doit être accordé. Si le paramètre est défini sur sandbox, le droit est accordé à l'utilisateur en mode bac à sable. Si le paramètre est défini sur default, le droit est accordé à l'utilisateur en mode de production.

Enum"default""sandbox"
Exemple: "default"
user_countrystring or null

Pays de l'utilisateur.

Exemple: "US"
user_external_idstringobligatoire

ID unique de l'utilisateur.

Exemple: "user-external-id"
curl -i -X POST \
  -u <username>:<password> \
  https://xsolla.redocly.app/_mock/fr/api/shop-builder/v2/project/44056/admin/entitlement/grant \
  -H 'Content-Type: application/json' \
  -d '{
    "code": "AAAA-BBBB-CCCC-DDDD",
    "drm": {
      "sku": "com.xsolla.key_1"
    },
    "game": {
      "sku": "com.xsolla.game_1"
    },
    "mode": "default",
    "user_country": "US",
    "user_external_id": "user-external-id"
  }'

Réponses

Le droit a été accordé.

Réponse
Aucun contenu

Révoquer un droit (administrateur)Server-sideAdmin

Requête

Retire les droits à l'utilisateur.

Attention

Seuls les codes de jeu ou les jeux pour une plateforme sans DRM peuvent être retirés.
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
Corpsapplication/jsonobligatoire
drmobjectobligatoire

Objet contenant des propriétés du DRM.

Exemple: {"sku":"com.xsolla.key_1"}
drm.​skustring(Game-Keys_drm_sku)obligatoire

ID unique du DRM.

Enum"steam""playstation""xbox""uplay""origin""drmfree""gog""epicgames""nintendo_eshop""discord_game_store"
Exemple: "steam"
gameobjectobligatoire

Objet contenant des propriétés de jeu.

Exemple: {"sku":"com.xsolla.game_1"}
game.​skustring(Game-Keys_game_sku)[ 1 .. 255 ] characters^[a-zA-Z0-9_\-–.]*$obligatoire

ID unique du package de clés.

Exemple: "theGreatestGameSku"
modestringobligatoire

Quel type de droit doit être retiré. Si le paramètre est défini sur sandbox, le droit est retiré à l'utilisateur en mode bac à sable. Si le paramètre est défini sur default, le droit est retiré à l'utilisateur en mode de production.

Enum"default""sandbox"
Exemple: "default"
user_external_idstringobligatoire

ID unique de l'utilisateur.

Exemple: "user-external-id"
curl -i -X POST \
  -u <username>:<password> \
  https://xsolla.redocly.app/_mock/fr/api/shop-builder/v2/project/44056/admin/entitlement/revoke \
  -H 'Content-Type: application/json' \
  -d '{
    "drm": {
      "sku": "com.xsolla.key_1"
    },
    "game": {
      "sku": "com.xsolla.game_1"
    },
    "mode": "default",
    "user_external_id": "user-external-id"
  }'

Réponses

Révoqué avec succès.

Réponse
Aucun contenu

Lire la liste des jeux qu'un utilisateur détientClient-side

Requête

Récupère la liste des jeux que l'utilisateur détient. La réponse contiendra un tableau de jeux qu'un utilisateur spécifique détient.

Attention

Tous les projets sont soumis à une limite de nombre d'objets que vous pouvez obtenir dans la réponse. La valeur par défaut et la valeur maximale sont 10 éléments par réponse. Pour obtenir plus de données page par page, utilisez les champs limit et offset.
Sécurité
XsollaLoginUserJWT
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
limitinteger>= 1

Nombre maximal d'éléments sur une page.

Exemple: limit=50
offsetinteger>= 0

Numéro de l'élément à partir duquel la liste est générée (le décompte commence à 0).

Exemple: offset=0
sandboxinteger

Quel type de droits doit être renvoyé. Si le paramètre est défini sur 1, les droits reçus par l'utilisateur en mode bac à sable sont renvoyés. Si le paramètre n'est pas passé ou est défini sur 0, les droits reçus par l'utilisateur en mode de production sont renvoyés.

Par défaut 0
additional_fields[]Array of strings

Liste des champs supplémentaires. Ces champs figureront dans la réponse si vous les envoyez dans votre requête. Champs disponibles attributes.

curl -i -X GET \
  'https://xsolla.redocly.app/_mock/fr/api/shop-builder/v2/project/44056/entitlement?limit=50&offset=0&sandbox=0&additional_fields%5B%5D=string' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Réponses

Une liste de clés de jeu en possession de l'utilisateur a été reçue avec succès.

Corpsapplication/json
has_moreboolean(Pagination_has-more)

Utilisé pour indiquer qu'il y a plus de pages.

Exemple: true
itemsArray of objects(Game-Keys_entitlement_item)
total_items_countinteger(Pagination_total-items-count)

Nombre total d'objets dans le système.

Exemple: 10
Réponse
application/json
{ "has_more": false, "items": [ {} ], "total_items_count": 1 }
Opérations
Opérations

Coupons

Cette API permet de gérer les coupons.

Opérations

Codes promo

Cette API permet de gérer les codes promo.

Opérations

Offres uniques du catalogue

Cette API permet de gérer les offres uniques du catalogue.

Opérations

Remises

Cette API permet de gérer les promotions par réduction

Opérations

Bonus

Cette API permet de gérer les promotions par bonus.

Opérations
Opérations
Opérations
Opérations
Opérations
Opérations
Opérations
Opérations
Opérations
Opérations
Opérations
Opérations
Opérations
Opérations
Opérations