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
Opérations
Opérations
Opérations
Opérations
Opérations
Opérations
Opérations

Supprimer une chaîne d'offresServer-sideAdmin

Requête

Supprime une chaîne d'offres spécifique.

Après la suppression :

  • Toutes les récompenses déjà reçues par les utilisateurs sont conservées.
  • Les étapes non achevées deviennent indisponibles et les récompenses correspondantes ne peuvent plus être obtenues.

Contrairement à la désactivation de la chaîne d'offres via l'appel Activer/désactiver une chaîne d'offres, la suppression est irréversible et la progression de l'utilisateur n'est pas préservée.

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
offer_chain_idintegerobligatoire

ID de la chaîne d'offres.

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

Réponses

Chaîne d'offres supprimée avec succès.

Corps
Réponse
Aucun contenu

Requête

Récupère une chaîne d'offres spécifique à des fin d'administration.

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
offer_chain_idintegerobligatoire

ID de la chaîne d'offres.

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

Réponses

Données de la chaîne d'offres récupérées avec succès.

Corpsapplication/json
attribute_conditionsArray of type = string (object) or type = number (object) or type = date (object)(chain_user-attribute_conditions_model-get)[ 1 .. 100 ] items

Conditions de validation des attributs utilisateur. Déterminez la disponibilité de la chaîne selon la correspondance des attributs utilisateur avec l'ensemble des conditions définies.

date_endstring or null(date-time)(offer_chain_date_end)

Date de fin de la chaîne d’offres. Peut être null. Si date_end est null, la chaîne d'offres n'a pas de limite de temps.

Exemple: "2020-04-15T18:16:00+05:00"
date_startstring(date-time)(offer_chain_date_start)

Date de début de la chaîne d'offres.

Exemple: "2020-04-15T18:16:00+05:00"
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.

idinteger(offer_chain_id)

ID unique de la chaîne d'offres.

Exemple: 9
is_always_visibleboolean(chain_is_always_visible)

Détermine la visibilité de la chaîne pour tous les utilisateurs :

  • Si true, la chaîne s'affiche toujours, indépendamment du statut d'authentification ou des attributs de l'utilisateur.
  • Si false, la chaîne s'affiche uniquement si aucune chaîne personnalisée ne correspond ; par exemple, si l'utilisateur n'est pas authentifié ou si ses attributs ne correspondent à aucune chaîne personnalisée.

S'applique seulement dans le cadre des chaînes personnalisées et uniquement si le tableau attribute_conditions n'est pas passé.

Par défaut true
Exemple: true
is_enabledboolean(is_enabled)
Exemple: true
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(order)

Définit l'ordre d'empilement.

Exemple: 1
recurrent_schedule(interval_type = weekly (object or null)) or (interval_type = monthly (object or null)) or (interval_type = horaire (object or null))(offer_chain_recurrent_schedule)

Période de réinitialisation récurrente de la chaîne d'offres.

One of:

Période de réinitialisation récurrente de la chaîne d'offres.

stepsArray of objects(admin-offer-chain-step-model)
Réponse
application/json
{ "attribute_conditions": [ {}, {}, {} ], "date_end": "2025-04-25T18:16:00+05:00", "date_start": "2023-04-15T18:16:00+05:00", "description": { "de": "Personalisierte Angebotskette mit Benutzerattributbedingungen - für Elfen der Stufe 10 und höher, die Stufe 10 spätestens am 2026-01-01 00:00:00 erreicht haben, einschließlich", "en": "Personalized offer chain with user attribute conditions - for level 10 and above elves who reached level 10 no later than 2026-01-01 00:00:00, inclusive", "fr": "Chaîne d'offres personnalisée avec des conditions d'attribut utilisateur - pour les elfes de niveau 10 et plus qui ont atteint le niveau 10 au plus tard le 2026-01-01 00:00:00, inclus", "it": "Catena di offerte personalizzata con condizioni di attributo utente - per elfi di livello 10 e superiore che hanno raggiunto il livello 10 non più tardi del 2026-01-01 00:00:00, inclusi", "ru": "Персонализированная цепочка предложений - для эльфов 10 уровня и выше, достигших 10 уровня не позднее 2026-01-01 00:00:00 включительно" }, "id": 3, "is_always_visible": false, "is_enabled": true, "name": { "de": "Angebotskette", "en": "Offer chain", "fr": "Chaîne d'offres", "it": "Catena di offerte", "ru": "Цепочка" }, "order": 1, "recurrent_schedule": null, "steps": [ {}, {}, {} ] }

Mettre à jour une chaîneServer-sideAdmin

Requête

Met à jour une chaîne d'offres spécifique.

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
offer_chain_idintegerobligatoire

ID de la chaîne d'offres.

Exemple: 101
Corpsapplication/json
attribute_conditionsArray of type = string (object) or type = number (object) or type = date (object)(chain_user-attribute_conditions_model-post)[ 1 .. 100 ] items

Conditions de validation des attributs utilisateur. Déterminez la disponibilité de la chaîne selon la correspondance des attributs utilisateur avec l'ensemble des conditions définies.

date_endstring or null(date-time)(offer_chain_date_end)

Date de fin de la chaîne d’offres. Peut être null. Si date_end est null, la chaîne d'offres n'a pas de limite de temps.

Exemple: "2020-04-15T18:16:00+05:00"
date_startstring(date-time)(offer_chain_date_start)obligatoire

Date de début de la chaîne d'offres.

Exemple: "2020-04-15T18:16:00+05:00"
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.

idinteger(offer_chain_id)

ID unique de la chaîne d'offres.

Exemple: 9
is_always_visibleboolean(chain_is_always_visible)

Détermine la visibilité de la chaîne pour tous les utilisateurs :

  • Si true, la chaîne s'affiche toujours, indépendamment du statut d'authentification ou des attributs de l'utilisateur.
  • Si false, la chaîne s'affiche uniquement si aucune chaîne personnalisée ne correspond ; par exemple, si l'utilisateur n'est pas authentifié ou si ses attributs ne correspondent à aucune chaîne personnalisée.

S'applique seulement dans le cadre des chaînes personnalisées et uniquement si le tableau attribute_conditions n'est pas passé.

Par défaut true
Exemple: true
is_enabledboolean(is_enabled)obligatoire
Exemple: true
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(order)

Définit l'ordre d'empilement.

Exemple: 1
recurrent_schedule(interval_type = weekly (object or null)) or (interval_type = monthly (object or null)) or (interval_type = horaire (object or null))(offer_chain_recurrent_schedule_create_update)

Période de réinitialisation de la chaîne d'offres.

One of:

Période de réinitialisation de la chaîne d'offres.

stepsArray of objects(modify-offer-chain-step-model)obligatoire
steps[].​is_freeboolean(offer_chain_is_free)obligatoire

Indique si l'étape de la chaîne d'offres est gratuite :

steps[].​itemsArray of objects(modify-offer-chain-item-model)non-emptyobligatoire
steps[].​items[].​orderinteger or null>= 0

Ordre des récompenses pour l'étape de la chaîne d'offres.

steps[].​items[].​quantityinteger>= 1obligatoire

Quantité d'objets de récompense pour cette étape de la chaîne.

steps[].​items[].​skustring(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"
steps[].​step_idinteger or null(update_step_id)>= 1

ID unique de l'étape de la chaîne. Indiquez-le lors de la mise à jour pour conserver la progression de l'utilisateur pour cette étape.

Exemple: 10
steps[].​step_numberinteger(offer_chain_step_number)>= 1obligatoire

Numéro de l'étape.

Exemple: 2
curl -i -X PUT \
  -u <username>:<password> \
  https://xsolla.redocly.app/_mock/fr/api/shop-builder/v2/project/44056/admin/offer_chain/id/101 \
  -H 'Content-Type: application/json' \
  -d '{
    "date_end": null,
    "date_start": "2023-04-15T18:16:00+05:00",
    "description": {
      "de": "Eine kurze Beschreibung einer regulären Angebotskette",
      "en": "A short description of a regular offer chain",
      "fr": "Une brève description d'\''une chaîne d'\''offres régulière",
      "it": "Una breve descrizione di una catena di offerte regolare",
      "ru": "Краткое описание обычной цепочки предложений"
    },
    "is_always_visible": true,
    "is_enabled": true,
    "name": {
      "de": "Aktualisierte Angebotskette",
      "en": "Updated offer chain",
      "fr": "Chaîne d'\''offres mise à jour",
      "it": "Catena di offerte aggiornata",
      "ru": "Обновляемая цепочка предложений"
    },
    "order": 4,
    "recurrent_schedule": null,
    "steps": [
      {
        "is_free": false,
        "items": [
          {
            "quantity": 2,
            "sku": "chain_step_1_paid_bundle_sku"
          }
        ],
        "step_id": 10,
        "step_number": 1
      },
      {
        "is_free": true,
        "items": [
          {
            "quantity": 1,
            "sku": "chain_step_2_free_virtual_good_sku"
          }
        ],
        "step_number": 2
      },
      {
        "is_free": false,
        "items": [
          {
            "quantity": 5,
            "sku": "chain_step_3_paid_virtual_currency_package_sku"
          }
        ],
        "step_number": 3
      },
      {
        "is_free": true,
        "items": [
          {
            "quantity": 1,
            "sku": "chain_step_4_free_bundle_sku"
          }
        ],
        "step_id": 9,
        "step_number": 4
      }
    ]
  }'

Réponses

Chaîne d'offres mise à jour avec succès.

Corps
Réponse
Aucun contenu
Opérations
Opérations
Opérations
Opérations
Opérations
Opérations