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

Requête

Récupère une liste de jeux pour la constitution d'un catalogue.

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 50 éléments par réponse. Pour obtenir plus de données page par page, utilisez les champs limit et offset.

Remarque

L'utilisation des appels API du catalogue des objets est disponible sans autorisation, mais pour obtenir un catalogue personnalisé, vous devez passer le JWT utilisateur dans l'en-tête d'autorisation.
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
localestring

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

Par défaut "en"
additional_fields[]Array of strings

La liste des champs supplémentaires. Ces champs figureront dans la réponse si vous les envoyez dans votre requête.

Éléments Enum"media_list""order""long_description""custom_attributes""item_order_in_group"
countrystring

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 et le processus de détermination du pays.

Exemple: country=US
promo_codestring[ 1 .. 128 ] characters

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

Exemple: promo_code=WINTER2021
show_inactive_time_limited_itemsinteger

Affiche les objets à durée limitée qui ne sont pas disponibles pour l'utilisateur. La période de validité de ces objets n'ayant pas commencé ou ayant déjà expiré.

Par défaut 0
Exemple: show_inactive_time_limited_items=1
curl -i -X GET \
  'https://xsolla.redocly.app/_mock/fr/api/shop-builder/v2/project/44056/items/game?limit=50&offset=0&locale=en&additional_fields%5B%5D=media_list&country=US&promo_code=WINTER2021&show_inactive_time_limited_items=1' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Réponses

La liste de jeux 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
Exemple: [{"attributes":[{"external_id":"genre","name":"Genre","values":[{"external_id":"23fda05111c125608af8f1fa0e99db45a10ea1cc","value":"Horror"}]}],"description":"Game description","groups":[{"external_id":"all","name":"All games"},{"external_id":"Xsolla","name":"Xsolla games"}],"image_url":"https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png","name":"Game name","promotions":[],"sku":"com.xsolla.game_1","type":"unit","unit_items":[{"can_be_bought":true,"drm_name":"Steam","drm_sku":"steam_key_1","has_keys":true,"is_free":false,"is_pre_order":true,"periods":[{"date_from":"2020-08-11T10:00:00+03:00","date_until":"2020-08-11T20:00:00+03:00"}],"price":{"amount":"30.5","amount_without_discount":"30.5","currency":"USD"},"promotions":[],"release_date":"2020-08-11T10:00:00+03:00","sku":"com.xsolla.game_key_01","type":"game_key","virtual_prices":[]},{"can_be_bought":true,"drm_name":"Origin","drm_sku":"origin_key_1","has_keys":false,"is_free":false,"is_pre_order":false,"periods":[],"price":{"amount":"30.5","amount_without_discount":"30.5","currency":"USD"},"promotions":[],"release_date":null,"sku":"com.xsolla.game_key_02","type":"game_key","virtual_prices":[]}],"unit_type":"game"},{"attributes":[{"external_id":"OS","name":"OS","values":[{"external_id":"9d5c5efb7c0f00a00fe4e3583f1215b0050bc723","value":"Windows"}]}],"description":"Game description","groups":[{"external_id":"all","name":"All games"}],"image_url":"https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png","name":"Game name","promotions":[],"sku":"com.xsolla.game_2","type":"unit","unit_items":[{"can_be_bought":true,"drm_name":"Steam","drm_sku":"steam_key_2","has_keys":false,"is_free":false,"is_pre_order":false,"periods":[{"date_from":null,"date_until":"2020-08-11T20:00:00+03:00"}],"price":{"amount":"30.5","amount_without_discount":"30.5","currency":"USD"},"promotions":[],"release_date":null,"sku":"com.xsolla.game_key_01","type":"game_key","virtual_prices":[]}],"unit_type":"game"}]
Réponse
application/json
{ "has_more": false, "items": [ {}, {} ] }

Requête

Récupère la liste des DRM disponibles.

Chemin
project_idintegerobligatoire

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

Exemple: 44056
curl -i -X GET \
  https://xsolla.redocly.app/_mock/fr/api/shop-builder/v2/project/44056/items/game/drm

Réponses

La liste des DRM a été reçue avec succès.

Corpsapplication/json
drmArray of objects
Exemple: [{"drm_id":1,"image":"https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png","link":"https://support.steampowered.com","name":"Steam","redeem_instruction_link":"https://support.steampowered.com","sku":"steam_key_1"},{"drm_id":2,"image":"https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png","link":null,"name":"Playstation","redeem_instruction_link":"https://support.us.playstation.com","sku":"playstation_key_1"}]
Réponse
application/json
{ "drm": [ {}, {} ] }

Lire une liste de jeux par groupe spécifiqueClient-side

Requête

Récupère une liste de jeux à partir d'un groupe spécifié pour la constitution d'un catalogue.

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 50 éléments par réponse. Pour obtenir plus de données page par page, utilisez les champs limit et offset.

Remarque

L'utilisation des appels API du catalogue des objets est disponible sans autorisation, mais pour obtenir un catalogue personnalisé, vous devez passer le JWT utilisateur dans l'en-tête d'autorisation.
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
external_idstringobligatoire

External ID du groupe.

Par défaut "all"
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
localestring

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

Par défaut "en"
additional_fields[]Array of strings

La liste des champs supplémentaires. Ces champs figureront dans la réponse si vous les envoyez dans votre requête.

Éléments Enum"media_list""order""long_description""custom_attributes""item_order_in_group"
countrystring

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 et le processus de détermination du pays.

Exemple: country=US
promo_codestring[ 1 .. 128 ] characters

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

Exemple: promo_code=WINTER2021
show_inactive_time_limited_itemsinteger

Affiche les objets à durée limitée qui ne sont pas disponibles pour l'utilisateur. La période de validité de ces objets n'ayant pas commencé ou ayant déjà expiré.

Par défaut 0
Exemple: show_inactive_time_limited_items=1
curl -i -X GET \
  'https://xsolla.redocly.app/_mock/fr/api/shop-builder/v2/project/44056/items/game/group/{external_id}?limit=50&offset=0&locale=en&additional_fields%5B%5D=media_list&country=US&promo_code=WINTER2021&show_inactive_time_limited_items=1' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Réponses

La liste de jeux 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
Exemple: [{"attributes":[{"external_id":"genre","name":"Genre","values":[{"external_id":"23fda05111c125608af8f1fa0e99db45a10ea1cc","value":"Horror"}]}],"description":"Game description","groups":[{"external_id":"all","name":"All games"},{"external_id":"Xsolla","name":"Xsolla games"}],"image_url":"https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png","name":"Game name","promotions":[],"sku":"com.xsolla.game_1","type":"unit","unit_items":[{"can_be_bought":true,"drm_name":"Steam","drm_sku":"steam_key_1","has_keys":true,"is_free":false,"is_pre_order":true,"periods":[{"date_from":"2020-08-11T10:00:00+03:00","date_until":"2020-08-11T20:00:00+03:00"}],"price":{"amount":"30.5","amount_without_discount":"30.5","currency":"USD"},"promotions":[],"release_date":"2020-08-11T10:00:00+03:00","sku":"com.xsolla.game_key_01","type":"game_key","virtual_prices":[]},{"can_be_bought":true,"drm_name":"Origin","drm_sku":"origin_key_1","has_keys":false,"is_free":false,"is_pre_order":false,"periods":[],"price":{"amount":"30.5","amount_without_discount":"30.5","currency":"USD"},"promotions":[],"release_date":null,"sku":"com.xsolla.game_key_02","type":"game_key","virtual_prices":[]}],"unit_type":"game"},{"attributes":[{"external_id":"OS","name":"OS","values":[{"external_id":"9d5c5efb7c0f00a00fe4e3583f1215b0050bc723","value":"Windows"}]}],"description":"Game description","groups":[{"external_id":"all","name":"All games"}],"image_url":"https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png","name":"Game name","promotions":[],"sku":"com.xsolla.game_2","type":"unit","unit_items":[{"can_be_bought":true,"drm_name":"Steam","drm_sku":"steam_key_2","has_keys":false,"is_free":false,"is_pre_order":false,"periods":[{"date_from":null,"date_until":"2020-08-11T20:00:00+03:00"}],"price":{"amount":"30.5","amount_without_discount":"30.5","currency":"USD"},"promotions":[],"release_date":null,"sku":"com.xsolla.game_key_01","type":"game_key","virtual_prices":[]}],"unit_type":"game"}]
Réponse
application/json
{ "has_more": false, "items": [ {}, {} ] }
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

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