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

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" } }

Lire la liste des promotions par code promoServer-sideAdmin

Requête

Récupère la liste des codes promo d'un projet.

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
Requête
limitinteger>= 1

Nombre maximal d'éléments sur une page.

Exemple: limit=50
offsetinteger>= 0

Numéro de l'élément à partir duquel la liste est générée (le décompte commence à 0).

Exemple: offset=0
curl -i -X GET \
  -u <username>:<password> \
  'https://store.xsolla.com/api/v3/project/44056/admin/promocode?limit=50&offset=0'

Réponses

La liste des codes promo a été reçue avec succès.

Corpsapplication/json
active_promotions_countinteger(active_promotions_count)

Nombre de promotions actives.

inactive_promotions_countinteger(inactive_promotions_count)

Nombre de promotions désactivées.

itemsArray of objects(Promotions_200-get-promocode-promotion-model)
total_promotions_countinteger(total_promotions_count)

Nombre total de promotions.

Réponse
application/json
{ "active_promotions_count": 2, "inactive_promotions_count": 0, "items": [ {}, {} ], "total_promotions_count": 2 }

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