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

Lire les récompenses d'un code promoClient-side

Requête

Récupère les récompenses associées au code promo par son code. Peut être utilisé pour permettre aux utilisateurs de choisir l'un des nombreux objets proposés comme bonus. Le cas habituel est le choix d'un DRM si le code promo contient un jeu comme bonus (type=unit).

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
promocode_codestring[ 1 .. 128 ] charactersobligatoire

Code unique sensible à la casse. Comprend des lettres et des chiffres.

Exemple: SO6rew99j9
curl -i -X GET \
  https://xsolla.redocly.app/_mock/fr/api/shop-builder/v2/project/44056/promocode/code/SO6rew99j9/rewards \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Réponses

La liste des récompenses associées au code promo a été reçue avec succès.

Corpsapplication/json
bonusArray of objects(Promotions_200-promo-code-bonus-reward)
discountobject or null(Promotions_200-coupon-discount-reward)

Pourcentage de la remise. Le prix du panier sera réduit d'une valeur calculée à l'aide de ce pourcentage et arrondie à 2 décimales.

discounted_itemsArray of objects or null(Promotions_discounted_items)

Liste des objets bénéficiant d'une remise grâce à un code promo.

is_selectableboolean

Si true, l'utilisateur doit choisir le bonus avant d'échanger un code promo.

Réponse
application/json
{ "bonus": [ {}, {} ], "discount": { "percent": "10.00" }, "discounted_items": [ {} ], "is_selectable": true }

Requête

Échange un code d'une promotion par code promo. Après avoir échangé un code de promo, l'utilisateur reçoit des biens gratuits et/ou le prix du panier et/ou des objets spécifiques sera réduit.

Sécurité
AuthForCart
Chemin
project_idintegerobligatoire

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

Exemple: 44056
Corpsapplication/json
cartobject or null
coupon_codestring[ 1 .. 128 ] characters

Code unique du code promo. Comprend des lettres et des chiffres.

Par défaut "SUMMER2021"
Exemple: "SUMMER2021"
selected_unit_itemsobject(Promotions_selected_unit_items)

Récompense sélectionnée par l'utilisateur. La clé d'objet est l'UGS d'une unité et la valeur est l'UGS de l'un des objets de l'unité.

Exemple: {"game_1":"game_1_steam","game_2":"game_2_playstation"}
curl -i -X POST \
  https://xsolla.redocly.app/_mock/fr/api/shop-builder/v2/project/44056/promocode/redeem \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "cart": {
      "id": "current"
    },
    "coupon_code": "SUMMER2021",
    "selected_unit_items": {
      "game_1": "game_1_steam",
      "game_2": "game_2_playstation"
    }
  }'

Réponses

Le code promo a été utilisé avec succès.

Corpsapplication/json
cart_idstring

ID de panier.

Exemple: "cart_id"
is_freeboolean(value-is_free)

Si ce paramètre est défini sur true, l'objet est gratuit.

Par défaut false
Exemple: false
itemsArray of objects
Exemple: [{"attributes":[],"can_be_bought":{"$ref":"../schemas/Can_be_bought.yaml"},"description":"Take it, take it all! All of Xsolla's riches in one Mega Booster.","groups":[{"external_id":"powerups","name":"Power Ups"}],"image_url":"https://cdn.xsolla.net/img/misc/images/e9f2f4a634bc96ea03b5d5ceadd7c55f.png","is_free":false,"limits":{"$ref":"../schemas/Catalog_item_limits.yaml"},"name":"Xsolla Booster Mega","periods":{"$ref":"../schemas/item-periods.yaml"},"price":{"amount":"50.0000000000000000","amount_without_discount":"100.0000000000000000","currency":"USD"},"promotions":{"$ref":"../schemas/Catalog_item_promotions.yaml"},"quantity":123,"sku":"com.xsolla.booster_mega_1","type":"virtual_good","virtual_item_type":"consumable","virtual_prices":[],"vp_rewards":{"$ref":"../schemas/reward-chain-client/client-item-value-point-reward.yaml"}}]
priceobject or null

Prix du panier.

Exemple: {"amount":"6150.0000000000000000","amount_without_discount":"6150.0000000000000000","currency":"USD"}
rewardsobject(Promo_code_rewards)
Réponse
application/json
{ "cart_id": "cart_id", "is_free": false, "items": [ {}, {} ], "price": { "amount": "6150.0000000000000000", "amount_without_discount": "12300.0000000000000000", "currency": "USD" }, "rewards": { "bonus": [], "discount": {}, "discounted_items": [], "is_selectable": false } }

Supprimer un code promo du panierClient-side

Requête

Supprime un code promo d'un panier. Après la suppression du code promo, le prix total de tous les objets du panier sera recalculé sans les bonus et les remises accordés par un code promo.

Sécurité
AuthForCart
Chemin
project_idintegerobligatoire

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

Exemple: 44056
Corpsapplication/json
cartobject or null
curl -i -X PUT \
  https://xsolla.redocly.app/_mock/fr/api/shop-builder/v2/project/44056/promocode/remove \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "cart": {
      "id": "current"
    }
  }'

Réponses

Le code promo est annulé avec succès.

Corpsapplication/json
cart_idstring

ID de panier.

Exemple: "cart_id"
is_freeboolean(value-is_free)

Si ce paramètre est défini sur true, l'objet est gratuit.

Par défaut false
Exemple: false
itemsArray of objects
Exemple: [{"attributes":[],"can_be_bought":true,"description":"Take it, take it all! All of Xsolla's riches in one Mega Booster.","groups":[{"external_id":"powerups","name":"Power Ups"}],"image_url":"https://cdn.xsolla.net/img/misc/images/e9f2f4a634bc96ea03b5d5ceadd7c55f.png","is_free":false,"limits":{"per_user":{"available":3,"recurrent_schedule":{"interval_type":"weekly","reset_next_date":1746057600},"total":5}},"name":"Xsolla Booster Mega","periods":[{"date_from":"2020-08-11T10:00:00+03:00","date_until":"2020-08-11T20:00:00+03:00"}],"price":{"amount":"50.0000000000000000","amount_without_discount":"100.0000000000000000","currency":"USD"},"promotions":[{"bonus":[{"image_url":"https://cdn.xsolla.net/img/misc/images/2fc5c491a47413a8e8000447889093c2.png","name":"Xsolla Minigun","quantity":1,"sku":"com.xsolla.minigun_1","type":"virtual_good"}],"date_end":"2026-04-15T16:16:00+03:00","date_start":"2020-04-15T16:16:00+03:00","discount":{"percent":"50.00"},"name":"Bonus promotion"}],"quantity":123,"sku":"com.xsolla.booster_mega_1","type":"virtual_good","virtual_item_type":"consumable","virtual_prices":[],"vp_rewards":[{"amount":130,"image_url":"https://cdn3.xsolla.com/img/misc/images/54c0cf9d345817cdacfdde198db178e0.jpg","item_id":175232,"name":"Value point","sku":"com.xsolla.value_point_1"},{"amount":50,"image_url":"https://cdn3.xsolla.com/img/misc/images/54c0cf9d345817cdacfdde198db178e0.jpg","is_clan":true,"item_id":186321,"name":"Clan Reward VP 1","sku":"com.xsolla.clan_value_point_1"}]}]
priceobject or null

Prix du panier.

Exemple: {"amount":"6150.0000000000000000","amount_without_discount":"6150.0000000000000000","currency":"USD"}
Réponse
application/json
{ "cart_id": "cart_id", "is_free": false, "items": [ {} ], "price": { "amount": "6150.0000000000000000", "amount_without_discount": "6150.0000000000000000", "currency": "USD" } }

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