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

Mettre à jour un package de monnaie virtuelleServer-sideAdmin

Requête

Met à jour un package de monnaie virtuelle.

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
Any of:
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.
contentArray of objects= 1 charactersobligatoire

Le package de monnaie virtuelle ne doit contenir qu'une seule position de monnaie virtuelle.

content[].​quantityinteger
content[].​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"
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)obligatoire

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.

description.​arstring or null

Arabe

description.​bgstring or null

Bulgare

description.​cnstring or null

Chinois (simplifié)

description.​csstring or null

Tchèque

description.​destring or null

Allemand

description.​enstring or null

Anglais

description.​esstring or null

Espagnol (Espagne)

description.​frstring or null

Français

description.​hestring or null

Hébreu

description.​idstring or null

Indonésien

description.​itstring or null

Italien

description.​jastring or null

Japonais

description.​kmstring or null

Khmer

description.​kostring or null

Coréen

description.​lostring or null

Laotien

description.​mystring or null

Birman

description.​nestring or null

Népalais

description.​phstring or null

Philippin

description.​plstring or null

Polonais

description.​ptstring or null

Portugais

description.​rostring or null

Roumain

description.​rustring or null

Russe

description.​thstring or null

Thaï

description.​trstring or null

Turc

description.​twstring or null

Chinois (traditionnel)

description.​vistring or null

Vietnamien

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_admin-image_url)
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-Currency-Package-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)obligatoire

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.

name.​arstring or null

Arabe

name.​bgstring or null

Bulgare

name.​cnstring or null

Chinois (simplifié)

name.​csstring or null

Tchèque

name.​destring or null

Allemand

name.​enstring or null

Anglais

name.​esstring or null

Espagnol (Espagne)

name.​frstring or null

Français

name.​hestring or null

Hébreu

name.​idstring or null

Indonésien

name.​itstring or null

Italien

name.​jastring or null

Japonais

name.​kmstring or null

Khmer

name.​kostring or null

Coréen

name.​lostring or null

Laotien

name.​mystring or null

Birman

name.​nestring or null

Népalais

name.​phstring or null

Philippin

name.​plstring or null

Polonais

name.​ptstring or null

Portugais

name.​rostring or null

Roumain

name.​rustring or null

Russe

name.​thstring or null

Thaï

name.​trstring or null

Turc

name.​twstring or null

Chinois (traditionnel)

name.​vistring or null

Vietnamien

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-Currency_admin-prices)obligatoire
Exemple: [{"amount":10.5,"country_iso":"US","currency":"USD","is_default":true,"is_enabled":true}]
prices[].​amountnumber> 0obligatoire

Montant.

Exemple: 10.5
prices[].​country_isostring or null

Pays où ce prix est disponible. Code à deux lettres selon la norme ISO 3166-1 alpha 2.

Exemple: "US"
prices[].​currencystringobligatoire

Devise du prix de l'article. Code à trois lettres selon ISO 4217. Consultez la documentation pour obtenir des informations détaillées sur les devises prises en charge par Xsolla.

Exemple: "USD"
prices[].​is_defaultboolean
Par défaut false
Exemple: true
prices[].​is_enabledboolean
Par défaut true
Exemple: true
regionsArray of objects(Virtual-Items-Currency_admin-regions)
skustring(Virtual-Items-Currency_sku)[ 1 .. 255 ] characters^[a-zA-Z0-9_\-–.]*$obligatoire

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_currency/package/sku/booster_mega_1 \
  -H 'Content-Type: application/json' \
  -d '{
    "attributes": [
      {
        "external_id": "event",
        "name": {
          "en-US": "Event"
        },
        "values": [
          {
            "external_id": "10-anniversary",
            "value": {
              "en-US": "10th anniversary"
            }
          },
          {
            "external_id": "christmas",
            "value": {
              "en-US": "Christmas"
            }
          }
        ]
      }
    ],
    "content": [
      {
        "quantity": 500,
        "sku": "com.xsolla.novigrad_crown"
      }
    ],
    "custom_attributes": {
      "attr": "value",
      "purchased": 0
    },
    "description": {
      "en-US": "The Crown (also known as the Novigradian crown) is a monetary unit which is used in some Northern Kingdoms",
      "ru-RU": "Крона (Также известна как Новиградская крона) - платежная единица, используемая в северных королевствах"
    },
    "groups": [
      "witcher"
    ],
    "image_url": "https://vignette.wikia.nocookie.net/witcher/images/7/7c/Items_Orens.png/revision/latest?cb=20081113120917",
    "is_enabled": true,
    "is_free": false,
    "limits": {
      "per_item": null,
      "per_user": null
    },
    "long_description": {
      "en-US": "Long Test new",
      "ru-RU": "Длинное описание"
    },
    "media_list": [
      {
        "type": "image",
        "url": "https://test.com/image0"
      },
      {
        "type": "image",
        "url": "https://test.com/image1"
      }
    ],
    "name": {
      "en-US": "500x Novigradian crown",
      "ru-RU": "500x Новиградских крон"
    },
    "order": 1,
    "periods": [
      {
        "date_from": "2020-08-11T10:00:00+03:00",
        "date_until": "2020-08-11T20:00:00+03:00"
      }
    ],
    "prices": [
      {
        "amount": 99.99,
        "currency": "USD",
        "is_default": true
      },
      {
        "amount": 80.03,
        "currency": "EUR",
        "is_enabled": false
      }
    ],
    "sku": "com.xsolla.novigrad_crown_500",
    "vc_prices": null
  }'

Réponses

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

Réponse
Aucun contenu

Supprimer une monnaie virtuelleServer-sideAdmin

Requête

Supprime une monnaie virtuelle.

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
virtual_currency_skustringobligatoire

UGS de la monnaie virtuelle.

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

Réponses

La monnaie virtuelle a été supprimée avec succès.

Corps
Réponse
Aucun contenu

Lire une monnaie virtuelleServer-sideAdmin

Requête

Récupère des informations sur une monnaie virtuelle 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
virtual_currency_skustringobligatoire

UGS de la monnaie virtuelle.

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

Réponses

La monnaie virtuelle spécifiée a été reçue 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_hardboolean(Virtual-Items-Currency_is_hard)
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-Currency_admin-prices)
Exemple: [{"amount":10.5,"country_iso":"US","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": "Main in-game currency" }, "groups": [], "image_url": "https://cdn3.xsolla.com/img/misc/images/da33ab6cc1d7e5899cfdc5b6b6180fad.png", "is_enabled": true, "is_free": false, "is_hard": false, "is_show_in_store": true, "limits": { "per_item": null, "per_user": null, "recurrent_schedule": null }, "long_description": null, "media_list": [], "name": { "en": "Crystals", "ru": "Crystals" }, "order": 1, "periods": [], "prices": [ {} ], "regions": [], "sku": "com.xsolla.crystal_1", "type": "virtual_currency", "vc_prices": [] }
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