Passer au contenu

Aperçu

  • Version : 2.0.0
  • Serveurs : https://store.xsolla.com/api
  • Contactez-nous par e-mail
  • URL de contact : https://xsolla.com/
  • Version TLS requise : 1.2

LiveOps est un ensemble d’outils pour stimuler l’engagement continu des joueurs grâce à des promotions et des offres personnalisées.

Utilisez l’API pour gérer les fonctionnalités suivantes :

  • Promotions — créez et gérez des coupons, des codes promo, des réductions et des campagnes bonus.
  • Personnalisation — définissez les conditions d’affichage du catalogue des objets et d’application des promotions uniquement pour certains utilisateurs autorisés.
  • Limites de promotion — définissez combien de fois un utilisateur peut utiliser une promotion et configurez des réinitialisations planifiées de ces limites.
  • Chaînes de récompense et points de valeur — configurez des progressions de récompense liées à l’accumulation de points de valeur.
  • Chaînes quotidiennes — mettez en place des récompenses quotidiennes récurrentes pour encourager les connexions régulières.
  • **Chaînes d’offres — créez des offres d’achat séquentielles avec tarification par étape et options de récompense gratuite.
  • Upsell — méthode de vente proposant à l’utilisateur d’acheter un objet avec une valeur ajoutée.

Appels API

L’API est divisée en groupes suivants :

  • Admin — appels pour créer, mettre à jour, activer et supprimer des campagnes et configurations de chaînes. Authentification via l’authentification d’accès de base avec vos identifiants commerçant ou projet.
  • Client — appels pour récupérer les promotions disponibles, obtenir les chaînes actives, échanger des codes et réclamer des récompenses pour les utilisateurs finaux authentifiés. Authentification via JWT utilisateur.
Télécharger la description d'OpenAPI
Langues
Serveurs
https://store.xsolla.com/api/
Mock server
https://xsolla.redocly.app/_mock/fr/api/liveops/
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

Lire les récompenses d'un code promoClient-side

Requête

Récupère les récompenses associées au code promo par son code. Peut être utilisé pour permettre aux utilisateurs de choisir l'un des nombreux objets proposés comme bonus. Le cas habituel est le choix d'un DRM si le code promo contient un jeu comme bonus (type=unit).

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
promocode_codestring[ 1 .. 128 ] charactersobligatoire

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

Exemple: SO6rew99j9
curl -i -X GET \
  https://store.xsolla.com/api/v2/project/44056/promocode/code/SO6rew99j9/rewards \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Réponses

La liste des récompenses associées au code promo a été reçue avec succès.

Corpsapplication/json
bonusArray of objects(Promotions_200-promo-code-bonus-reward)
discountobject or null(Promotions_200-coupon-discount-reward)

Pourcentage de la remise. Le prix du panier sera réduit d'une valeur calculée à l'aide de ce pourcentage et arrondie à 2 décimales.

discounted_itemsArray of objects or null(Promotions_discounted_items)

Liste des objets bénéficiant d'une remise grâce à un code promo.

is_selectableboolean

Si true, l'utilisateur doit choisir le bonus avant d'échanger un code promo.

Réponse
application/json
{ "bonus": [ {}, {} ], "discount": { "percent": "10.00" }, "discounted_items": [ {} ], "is_selectable": true }

Requête

Échange un code d'une promotion par code promo. Après avoir échangé un code de promo, l'utilisateur reçoit des biens gratuits et/ou le prix du panier et/ou des objets spécifiques sera réduit.

Sécurité
AuthForCart
Chemin
project_idintegerobligatoire

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

Exemple: 44056
Corpsapplication/json
cartobject or null
coupon_codestring[ 1 .. 128 ] characters

Code unique du code promo. Comprend des lettres et des chiffres.

Par défaut "SUMMER2021"
Exemple: "SUMMER2021"
selected_unit_itemsobject(Promotions_selected_unit_items)

Récompense sélectionnée par l'utilisateur. La clé d'objet est l'UGS d'une unité et la valeur est l'UGS de l'un des objets de l'unité.

Exemple: {"game_1":"game_1_steam","game_2":"game_2_playstation"}
curl -i -X POST \
  https://store.xsolla.com/api/v2/project/44056/promocode/redeem \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "cart": {
      "id": "current"
    },
    "coupon_code": "SUMMER2021",
    "selected_unit_items": {
      "game_1": "game_1_steam",
      "game_2": "game_2_playstation"
    }
  }'

Réponses

Le code promo a été utilisé avec succès.

Corpsapplication/json
cart_idstring

ID de panier.

Exemple: "cart_id"
is_freeboolean(value-is_free)

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

Par défaut false
Exemple: false
itemsArray of objects
Exemple: [{"attributes":[],"can_be_bought":{"$ref":"../schemas/Can_be_bought.yaml"},"description":"Take it, take it all! All of Xsolla's riches in one Mega Booster.","groups":[{"external_id":"powerups","name":"Power Ups"}],"image_url":"https://cdn.xsolla.net/img/misc/images/e9f2f4a634bc96ea03b5d5ceadd7c55f.png","is_free":false,"limits":{"$ref":"../schemas/Catalog_item_limits.yaml"},"name":"Xsolla Booster Mega","periods":{"$ref":"../schemas/item-periods.yaml"},"price":{"amount":"50.0000000000000000","amount_without_discount":"100.0000000000000000","currency":"USD"},"promotions":{"$ref":"../schemas/Catalog_item_promotions.yaml"},"quantity":123,"sku":"com.xsolla.booster_mega_1","type":"virtual_good","virtual_item_type":"consumable","virtual_prices":[],"vp_rewards":{"$ref":"../schemas/reward-chain-client/client-item-value-point-reward.yaml"}}]
priceobject or null

Prix du panier.

Exemple: {"amount":"6150.0000000000000000","amount_without_discount":"6150.0000000000000000","currency":"USD"}
rewardsobject(Promo_code_rewards)
Réponse
application/json
{ "cart_id": "cart_id", "is_free": false, "items": [ {}, {} ], "price": { "amount": "6150.0000000000000000", "amount_without_discount": "12300.0000000000000000", "currency": "USD" }, "rewards": { "bonus": [], "discount": {}, "discounted_items": [], "is_selectable": false } }

Supprimer un code promo du panierClient-side

Requête

Supprime un code promo d'un panier. Après la suppression du code promo, le prix total de tous les objets du panier sera recalculé sans les bonus et les remises accordés par un code promo.

Sécurité
AuthForCart
Chemin
project_idintegerobligatoire

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

Exemple: 44056
Corpsapplication/json
cartobject or null
curl -i -X PUT \
  https://store.xsolla.com/api/v2/project/44056/promocode/remove \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "cart": {
      "id": "current"
    }
  }'

Réponses

Le code promo est annulé avec succès.

Corpsapplication/json
cart_idstring

ID de panier.

Exemple: "cart_id"
is_freeboolean(value-is_free)

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

Par défaut false
Exemple: false
itemsArray of objects
Exemple: [{"attributes":[],"can_be_bought":true,"description":"Take it, take it all! All of Xsolla's riches in one Mega Booster.","groups":[{"external_id":"powerups","name":"Power Ups"}],"image_url":"https://cdn.xsolla.net/img/misc/images/e9f2f4a634bc96ea03b5d5ceadd7c55f.png","is_free":false,"limits":{"per_user":{"available":3,"recurrent_schedule":{"interval_type":"weekly","reset_next_date":1746057600},"total":5}},"name":"Xsolla Booster Mega","periods":[{"date_from":"2020-08-11T10:00:00+03:00","date_until":"2020-08-11T20:00:00+03:00"}],"price":{"amount":"50.0000000000000000","amount_without_discount":"100.0000000000000000","currency":"USD"},"promotions":[{"bonus":[{"image_url":"https://cdn.xsolla.net/img/misc/images/2fc5c491a47413a8e8000447889093c2.png","name":"Xsolla Minigun","quantity":1,"sku":"com.xsolla.minigun_1","type":"virtual_good"}],"date_end":"2026-04-15T16:16:00+03:00","date_start":"2020-04-15T16:16:00+03:00","discount":{"percent":"50.00"},"name":"Bonus promotion"}],"quantity":123,"sku":"com.xsolla.booster_mega_1","type":"virtual_good","virtual_item_type":"consumable","virtual_prices":[],"vp_rewards":[{"amount":130,"image_url":"https://cdn3.xsolla.com/img/misc/images/54c0cf9d345817cdacfdde198db178e0.jpg","item_id":175232,"name":"Value point","sku":"com.xsolla.value_point_1"},{"amount":50,"image_url":"https://cdn3.xsolla.com/img/misc/images/54c0cf9d345817cdacfdde198db178e0.jpg","is_clan":true,"item_id":186321,"name":"Clan Reward VP 1","sku":"com.xsolla.clan_value_point_1"}]}]
priceobject or null

Prix du panier.

Exemple: {"amount":"6150.0000000000000000","amount_without_discount":"6150.0000000000000000","currency":"USD"}
Réponse
application/json
{ "cart_id": "cart_id", "is_free": false, "items": [ {} ], "price": { "amount": "6150.0000000000000000", "amount_without_discount": "6150.0000000000000000", "currency": "USD" } }

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

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