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

Requête

Récupère des informations sur un objet vendable par son ID.

Note

Cet endpoint, accessible sans autorisation, renvoie des données génériques. Cependant, l'autorisation enrichit la réponse avec des détails spécifiques à l'utilisateur pour un résultat personnalisé, tels que les limites et les promotions disponibles pour l'utilisateur.
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: 59080
item_idstringobligatoire

ID de l'objet

Exemple: 259774
Requête
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
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"
curl -i -X GET \
  'https://xsolla.redocly.app/_mock/fr/api/shop-builder/v2/project/59080/items/id/259774?promo_code=WINTER2021&show_inactive_time_limited_items=1&additional_fields%5B%5D=media_list' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Réponses

L'objet vendable a été reçu avec succès.

Corpsapplication/json
attributesArray of objects(Virtual-Items-Currency_client-attributes)

Liste des attributs et de leurs valeurs correspondantes pour l'objet. Peut être utilisée pour le filtrage du catalogue.

Par défaut []
Exemple: {"value":{"external_id":"genre","name":"Жанр","values":[{"external_id":"genre_e3364991f92e751689a68b96598a5a5a84010b85","value":"Casual"},{"external_id":"genre_eba07bfd0f982940773cba3744d97264dd58acd7","value":"Strategy"},{"external_id":"genre_b8d0c6d8f0524c2b2d79ebb93aa3cd0e8b5199a8","value":"Mobile"}]}}
can_be_boughtboolean

Si true, l'utilisateur peut acheter l'objet.

Exemple: true
custom_attributesobject(json)(item-custom-attributes-response)

Un JSON contenant les attributs de l'objet et leurs valeurs.

descriptionstring

Description de l'objet.

Exemple: "Electric shield"
groupsArray of objects(items_client_groups_response)

Groupes auxquels l'objet appartient.

Par défaut []
Exemple: [{"external_id":"exclusive","name":"Exclusive"}]
image_urlstring

URL de l'image.

Exemple: "https://cdn3.xsolla.com/img/misc/images/d2d6b1b517e6a7f3765c3bb5a3cfb87d.png"
is_freeboolean(value-is_free)

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

Par défaut false
Exemple: false
item_idinteger

Internal ID unique de l'objet, fourni lors de la création de l'objet.

Exemple: 259774
limitsobject or null(Catalog_item_limits)

Limites d'objets.

namestring

Nom de l'objet.

Exemple: "Electric shield"
priceobject

Prix de l'objet.

promotionsArray of objects(Catalog_item_promotions)

Promotions appliquées à des objets spécifiques du panier. Le tableau est renvoyé dans les cas suivants :

  • Une promotion par réduction est configurée pour un objet spécifique.

  • Un code promo avec le paramètre Discount on selected items est appliqué.

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

skustring

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: "electric_shield"
typestring

Type d'objet : virtual_good/virtual_currency/bundle/game_key/physical_good.

Enum"virtual_good""virtual_currency""bundle""game_key""physical_good"
Exemple: "virtual_good"
virtual_item_typestring

Type d'objet virtuel.

Enum ValeurDescription
consumable

Un objet qui disparaît de l'inventaire après utilisation (par exemple, des munitions).

non_consumable

Un objet qui reste dans l'inventaire pour une durée illimitée.

non_renewing_subscription

Objet à durée limitée qui peut représenter l'accès à des services ou à du contenu pour une période de temps limitée.

Exemple: "non-consumable"
virtual_pricesArray of objects

Prix virtuels.

vp_rewardsArray of objects(client-item-value-point-reward)

Récompense en points de valeur pour l'objet.

Réponse
application/json
{ "attributes": [], "can_be_bought": true, "custom_attributes": { "attr": "value", "purchased": 0 }, "description": "Electric shield", "groups": [ {} ], "image_url": "https://cdn3.xsolla.com/img/misc/images/d2d6b1b517e6a7f3765c3bb5a3cfb87d.png", "is_free": false, "item_id": 259774, "limits": { "per_user": {} }, "name": "Electric shield", "price": { "amount": "9.99", "amount_without_discount": "9.99", "currency": "USD" }, "promotions": [ {} ], "sku": "com.xsolla.electric_shield_1", "type": "virtual_good", "virtual_item_type": "non_consumable", "virtual_prices": [ {}, {}, {} ], "vp_rewards": [ {}, {} ] }

Lire un objet vendable par UGSClient-side

Requête

Récupère des informations sur un objet vendable par son UGS pour la constitution d'un catalogue.

Note

Cet endpoint, accessible sans autorisation, renvoie des données génériques. Cependant, l'autorisation enrichit la réponse avec des détails spécifiques à l'utilisateur pour un résultat personnalisé, tels que les limites et les promotions disponibles pour l'utilisateur.
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: 59080
skustringobligatoire

UGS de l'objet.

Exemple: electric_shield
Requête
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
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"
curl -i -X GET \
  'https://xsolla.redocly.app/_mock/fr/api/shop-builder/v2/project/59080/items/sku/electric_shield?promo_code=WINTER2021&show_inactive_time_limited_items=1&additional_fields%5B%5D=media_list' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Réponses

L'objet vendable a été reçu avec succès.

Corpsapplication/json
attributesArray of objects(Virtual-Items-Currency_client-attributes)

Liste des attributs et de leurs valeurs correspondantes pour l'objet. Peut être utilisée pour le filtrage du catalogue.

Par défaut []
Exemple: {"value":{"external_id":"genre","name":"Жанр","values":[{"external_id":"genre_e3364991f92e751689a68b96598a5a5a84010b85","value":"Casual"},{"external_id":"genre_eba07bfd0f982940773cba3744d97264dd58acd7","value":"Strategy"},{"external_id":"genre_b8d0c6d8f0524c2b2d79ebb93aa3cd0e8b5199a8","value":"Mobile"}]}}
can_be_boughtboolean

Si true, l'utilisateur peut acheter l'objet.

Exemple: true
custom_attributesobject(json)(item-custom-attributes-response)

Un JSON contenant les attributs de l'objet et leurs valeurs.

descriptionstring

Description de l'objet.

Exemple: "Electric shield"
groupsArray of objects(items_client_groups_response)

Groupes auxquels l'objet appartient.

Par défaut []
Exemple: [{"external_id":"exclusive","name":"Exclusive"}]
image_urlstring

URL de l'image.

Exemple: "https://cdn3.xsolla.com/img/misc/images/d2d6b1b517e6a7f3765c3bb5a3cfb87d.png"
is_freeboolean(value-is_free)

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

Par défaut false
Exemple: false
item_idinteger

Internal ID unique de l'objet, fourni lors de la création de l'objet.

Exemple: 259774
limitsobject or null(Catalog_item_limits)

Limites d'objets.

namestring

Nom de l'objet.

Exemple: "Electric shield"
priceobject

Prix de l'objet.

promotionsArray of objects(Catalog_item_promotions)

Promotions appliquées à des objets spécifiques du panier. Le tableau est renvoyé dans les cas suivants :

  • Une promotion par réduction est configurée pour un objet spécifique.

  • Un code promo avec le paramètre Discount on selected items est appliqué.

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

skustring

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: "electric_shield"
typestring

Type d'objet : virtual_good/virtual_currency/bundle/game_key/physical_good.

Enum"virtual_good""virtual_currency""bundle""game_key""physical_good"
Exemple: "virtual_good"
virtual_item_typestring

Type d'objet virtuel.

Enum ValeurDescription
consumable

Un objet qui disparaît de l'inventaire après utilisation (par exemple, des munitions).

non_consumable

Un objet qui reste dans l'inventaire pour une durée illimitée.

non_renewing_subscription

Objet à durée limitée qui peut représenter l'accès à des services ou à du contenu pour une période de temps limitée.

Exemple: "non-consumable"
virtual_pricesArray of objects

Prix virtuels.

vp_rewardsArray of objects(client-item-value-point-reward)

Récompense en points de valeur pour l'objet.

Réponse
application/json
{ "attributes": [], "can_be_bought": true, "custom_attributes": { "attr": "value", "purchased": 0 }, "description": "Electric shield", "groups": [ {} ], "image_url": "https://cdn3.xsolla.com/img/misc/images/d2d6b1b517e6a7f3765c3bb5a3cfb87d.png", "is_free": false, "item_id": 259774, "limits": { "per_user": {} }, "name": "Electric shield", "price": { "amount": "9.99", "amount_without_discount": "9.99", "currency": "USD" }, "promotions": [ {} ], "sku": "com.xsolla.electric_shield_1", "type": "virtual_good", "virtual_item_type": "non_consumable", "virtual_prices": [ {}, {}, {} ], "vp_rewards": [ {}, {} ] }
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

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