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

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

Requête

Récupère des informations sur un objet virtuel au sein d'un projet à des fins d'administration.

Note

N'utilisez pas cet endpoint pour créer un catalogue de magasin.
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
item_skustringobligatoire

UGS de l'objet.

Exemple: booster_mega_1
curl -i -X GET \
  -u <username>:<password> \
  https://xsolla.redocly.app/_mock/fr/api/shop-builder/v2/project/44056/admin/items/virtual_items/sku/booster_mega_1

Réponses

L'objet virtuel spécifié a été reçu avec succès.

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

Liste des attributs.

Exemple: [{"external_id":"attribute_external_id","name":{"de":"Attributname","en":"Attribute name"},"values":[{"external_id":"value_1","name":{"de":"wert 1","en":"value 1"}},{"external_id":"value_2","name":{"de":"wert 2","en":"value 2"}}]}]
custom_attributesobject(json)(item-custom-attributes-response)

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

description(two-letter (object or null)) or (five-letter (object or null))(description-localization-object)

Conteneur objet contenant les localisations de la description de l'objet (item). Il accepte deux formats de codes de langue : les codes à deux lettres minuscules (comme en) et les codes régionaux à cinq caractères (comme en-US). Les deux formats sont valides en entrée, mais les réponses utilisent toujours le format à deux lettres. Si les deux variantes sont fournies pour une même langue (par exemple, en et en-US), seule la dernière est conservée. Consultez la documentation pour la liste complète des langues prises en charge.

One of:

Conteneur objet contenant les localisations de la description de l'objet (item). Il accepte deux formats de codes de langue : les codes à deux lettres minuscules (comme en) et les codes régionaux à cinq caractères (comme en-US). Les deux formats sont valides en entrée, mais les réponses utilisent toujours le format à deux lettres. Si les deux variantes sont fournies pour une même langue (par exemple, en et en-US), seule la dernière est conservée. Consultez la documentation pour la liste complète des langues prises en charge.

groupsArray of objects(Virtual-Items-Currency_admin-groups-response)

Groupes auxquels l'objet appartient.

Par défaut []
Exemple: [{"external_id":"horror","name":{"en":"Horror"}}]
image_urlstring(Virtual-Items-Currency_admin-image_url)
is_enabledboolean(Virtual-Items-Currency_is_enabled)
is_freeboolean(value-is_free)

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

Par défaut false
Exemple: false
is_show_in_storeboolean(Virtual-Items-Currency_is_show_in_store)
limitsobject or null(admin-item-limit-response)

Limites d'objets.

long_description(two-letter (object or null)) or (five-letter (object or null))(long-description-localization-object)

Conteneur objet contenant les localisations de la description complète de l'objet (item). Il accepte deux formats de codes de langue : les codes à deux lettres minuscules (comme en) et les codes régionaux à cinq caractères (comme en-US). Les deux formats sont valides en entrée, mais les réponses utilisent toujours le format à deux lettres. Si les deux variantes sont fournies pour une même langue (par exemple, en et en-US), seule la dernière est conservée. Consultez la documentation pour la liste complète des langues prises en charge.

Any of:

Conteneur objet contenant les localisations de la description complète de l'objet (item). Il accepte deux formats de codes de langue : les codes à deux lettres minuscules (comme en) et les codes régionaux à cinq caractères (comme en-US). Les deux formats sont valides en entrée, mais les réponses utilisent toujours le format à deux lettres. Si les deux variantes sont fournies pour une même langue (par exemple, en et en-US), seule la dernière est conservée. Consultez la documentation pour la liste complète des langues prises en charge.

media_listArray of objects(Virtual-Items-Currency_admin-media_list)

Ressources supplémentaires de l'objet, telles que des captures d'écran, des vidéos de gameplay, etc.

Exemple: [{"type":"image","url":"https://cdn3.xsolla.com/img/misc/images/71ab1e12126f2103e1868076f0acb21a.jpg"}]
name(two-letter (object or null)) or (five-letter (object or null))(name-localization-object)

Conteneur objet contenant les localisations du nom de l'objet (item). Il accepte deux formats de codes de langue : les codes à deux lettres minuscules (comme en) et les codes régionaux à cinq caractères (comme en-US). Les deux formats sont valides en entrée, mais les réponses utilisent toujours le format à deux lettres. Si les deux variantes sont fournies pour une même langue (par exemple, en et en-US), seule la dernière est conservée. Consultez la documentation pour la liste complète des langues prises en charge.

One of:

Conteneur objet contenant les localisations du nom de l'objet (item). Il accepte deux formats de codes de langue : les codes à deux lettres minuscules (comme en) et les codes régionaux à cinq caractères (comme en-US). Les deux formats sont valides en entrée, mais les réponses utilisent toujours le format à deux lettres. Si les deux variantes sont fournies pour une même langue (par exemple, en et en-US), seule la dernière est conservée. Consultez la documentation pour la liste complète des langues prises en charge.

orderinteger(Virtual-Items-Currency_order)

Définit l'ordre d'empilement.

Exemple: 1
periodsArray of objects(item-periods-response)

Période de vente d'objets.

pricesArray of objects(Virtual-Items_admin-prices)
Exemple: [{"amount":10.5,"currency":"USD","is_default":true,"is_enabled":true}]
regionsArray of objects(Virtual-Items-Currency_admin-regions)
skustring(Virtual-Items-Currency_sku)[ 1 .. 255 ] characters^[a-zA-Z0-9_\-–.]*$

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: "booster_mega_1"
typestring(Virtual-Items-Currency_type)

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

vc_pricesArray of objects(Virtual-Items-Currency_admin-get-vc_prices)
Exemple: [{"amount":10,"is_default":true,"sku":"com.xsolla.gold_1"}]
Réponse
application/json
{ "attributes": [ {} ], "custom_attributes": { "attr": "value", "purchased": 0 }, "description": { "en": "Honshu Boshin Wakizashi - Modern Tactical Samurai / Ninja Sword - Hand Forged 1060 Carbon Steel - Full Tang, Fully Functional, Battle Ready - Black TPR, Steel Guard and Pommel" }, "groups": [ {}, {} ], "image_url": "https://cdn.xsolla.net/img/misc/images/8ab44fe99038a56de01950ba4a971b77.png", "is_enabled": true, "is_free": false, "is_show_in_store": true, "limits": { "per_item": null, "per_user": {}, "recurrent_schedule": {} }, "long_description": { "en": "Honshu Boshin Wakizashi - Modern Tactical Samurai / Ninja Sword - Hand Forged 1060 Carbon Steel - Full Tang, Fully Functional, Battle Ready - Black TPR, Steel Guard and Pommel" }, "media_list": [], "name": { "en": "Sword Xsolla Skin" }, "order": 1, "periods": [ {} ], "prices": [ {} ], "regions": [], "sku": "com.xsolla.swords_1", "type": "virtual_good", "vc_prices": [] }

Mettre à jour un objet virtuelServer-sideAdmin

Requête

Met à jour un objet virtuel.

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
item_skustringobligatoire

UGS de l'objet.

Exemple: booster_mega_1
Corpsapplication/json
attributesArray of objects(Virtual-Items-Currency_admin-post-put-attributes)<= 20 items

Liste des attributs.

Attention. La création de plus de 20 attributs pour un objet n'est pas autorisée. Toute tentative de dépassement entraîne une erreur.
custom_attributesobject(json)(item-custom-attributes)<= 500 characters

Un JSON contenant les attributs de l'objet et leurs valeurs. Les attributs permettent d'ajouter des informations supplémentaires aux objets, telles que le niveau requis du joueur pour utiliser l'objet. Les attributs enrichissent la logique interne de votre jeu et sont accessibles via des méthodes GET et des webhooks spécifiques.

description(two-letter (object or null)) or (five-letter (object or null))(description-localization-object)

Conteneur objet contenant les localisations de la description de l'objet (item). Il accepte deux formats de codes de langue : les codes à deux lettres minuscules (comme en) et les codes régionaux à cinq caractères (comme en-US). Les deux formats sont valides en entrée, mais les réponses utilisent toujours le format à deux lettres. Si les deux variantes sont fournies pour une même langue (par exemple, en et en-US), seule la dernière est conservée. Consultez la documentation pour la liste complète des langues prises en charge.

One of:

Conteneur objet contenant les localisations de la description de l'objet (item). Il accepte deux formats de codes de langue : les codes à deux lettres minuscules (comme en) et les codes régionaux à cinq caractères (comme en-US). Les deux formats sont valides en entrée, mais les réponses utilisent toujours le format à deux lettres. Si les deux variantes sont fournies pour une même langue (par exemple, en et en-US), seule la dernière est conservée. Consultez la documentation pour la liste complète des langues prises en charge.

groupsArray of strings(Virtual-Items-Currency_admin-groups-create)

Groupes auxquels l'objet appartient.

Note. La valeur de la chaîne correspond à l'`external_id` du groupe.
image_urlstring(Virtual-Items-Currency_schemas-admin-image_url)

URL de l'image.

Exemple: "https://image.example.com"
is_deletedboolean(Virtual-Items-Currency_is_deleted)
is_enabledboolean(Virtual-Items-Currency_is_enabled)
is_freeboolean(value-is_free)

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

Par défaut false
Exemple: false
is_show_in_storeboolean(Virtual-Items-Currency_is_show_in_store)
limitsobject(Virtual-Item-item-limit)

Limites d'objets.

long_description(two-letter (object or null)) or (five-letter (object or null))(long-description-localization-object)

Conteneur objet contenant les localisations de la description complète de l'objet (item). Il accepte deux formats de codes de langue : les codes à deux lettres minuscules (comme en) et les codes régionaux à cinq caractères (comme en-US). Les deux formats sont valides en entrée, mais les réponses utilisent toujours le format à deux lettres. Si les deux variantes sont fournies pour une même langue (par exemple, en et en-US), seule la dernière est conservée. Consultez la documentation pour la liste complète des langues prises en charge.

Any of:

Conteneur objet contenant les localisations de la description complète de l'objet (item). Il accepte deux formats de codes de langue : les codes à deux lettres minuscules (comme en) et les codes régionaux à cinq caractères (comme en-US). Les deux formats sont valides en entrée, mais les réponses utilisent toujours le format à deux lettres. Si les deux variantes sont fournies pour une même langue (par exemple, en et en-US), seule la dernière est conservée. Consultez la documentation pour la liste complète des langues prises en charge.

media_listArray of objects(Virtual-Items-Currency_admin-media_list)

Ressources supplémentaires de l'objet, telles que des captures d'écran, des vidéos de gameplay, etc.

Exemple: [{"type":"image","url":"https://cdn3.xsolla.com/img/misc/images/71ab1e12126f2103e1868076f0acb21a.jpg"}]
name(two-letter (object or null)) or (five-letter (object or null))(name-localization-object)

Conteneur objet contenant les localisations du nom de l'objet (item). Il accepte deux formats de codes de langue : les codes à deux lettres minuscules (comme en) et les codes régionaux à cinq caractères (comme en-US). Les deux formats sont valides en entrée, mais les réponses utilisent toujours le format à deux lettres. Si les deux variantes sont fournies pour une même langue (par exemple, en et en-US), seule la dernière est conservée. Consultez la documentation pour la liste complète des langues prises en charge.

One of:

Conteneur objet contenant les localisations du nom de l'objet (item). Il accepte deux formats de codes de langue : les codes à deux lettres minuscules (comme en) et les codes régionaux à cinq caractères (comme en-US). Les deux formats sont valides en entrée, mais les réponses utilisent toujours le format à deux lettres. Si les deux variantes sont fournies pour une même langue (par exemple, en et en-US), seule la dernière est conservée. Consultez la documentation pour la liste complète des langues prises en charge.

orderinteger(Virtual-Items-Currency_order)

Définit l'ordre d'empilement.

Exemple: 1
periodsArray of objects or null(item-periods)

Période de vente d'objets.

pre_orderobject(Virtual-Items-Currency_admin-pre_order)
pricesArray of objects(Virtual-Items_admin-prices)
Exemple: [{"amount":10.5,"currency":"USD","is_default":true,"is_enabled":true}]
regionsArray of objects(Virtual-Items-Currency_admin-regions)
skustring(Virtual-Items-Currency_sku)[ 1 .. 255 ] characters^[a-zA-Z0-9_\-–.]*$

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: "booster_mega_1"
vc_pricesArray of objects(Virtual-Items-Currency_admin-create-vc_prices)
Exemple: [{"amount":10,"is_default":true,"is_enabled":true,"sku":"com.xsolla.gold_1"}]
curl -i -X PUT \
  -u <username>:<password> \
  https://xsolla.redocly.app/_mock/fr/api/shop-builder/v2/project/44056/admin/items/virtual_items/sku/booster_mega_1 \
  -H 'Content-Type: application/json' \
  -d '{
    "attributes": [
      {
        "external_id": "craft-materials",
        "name": {
          "en": "Craft materials"
        },
        "values": [
          {
            "external_id": "steel",
            "value": {
              "en-US": "5"
            }
          },
          {
            "external_id": "leather",
            "value": {
              "en-US": "1"
            }
          }
        ]
      }
    ],
    "custom_attributes": {
      "attr": "value",
      "purchased": 0
    },
    "description": {
      "de": "Ein Schwert ist eine Nahkampfwaffe mit Klinge, die zum Schneiden oder Stechen bestimmt ist, länger als ein Messer oder Dolch ist und aus einer langen Klinge besteht, die an einem Griff befestigt ist.",
      "en": "A sword is a bladed melee weapon intended for cutting or thrusting that is longer than a knife or dagger, consisting of a long blade attached to a hilt."
    },
    "groups": [
      "weapons"
    ],
    "is_enabled": true,
    "is_free": false,
    "is_show_in_store": true,
    "limits": {
      "per_item": 100,
      "per_user": 5
    },
    "name": {
      "de": "Schwert",
      "en": "Sword"
    },
    "order": 1,
    "periods": [
      {
        "date_from": "2020-08-11T10:00:00+03:00",
        "date_until": "2020-08-11T20:00:00+03:00"
      }
    ],
    "prices": [
      {
        "amount": 100,
        "currency": "USD",
        "is_default": true,
        "is_enabled": true
      },
      {
        "amount": 200,
        "country_iso": "CZ",
        "currency": "CZK",
        "is_default": true,
        "is_enabled": false
      }
    ],
    "sku": "com.xsolla.sword_1",
    "vc_prices": []
  }'

Réponses

L'objet virtuel a été mis à jour avec succès.

Corps
Réponse
Aucun contenu
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