Skip to main content

Piles

Economy v2 est maintenant en disponibilité générale. Pour obtenir du soutien et donner vos commentaires, rendez-vous sur le forum PlayFab.
Le service d’inventaire d’Economy V2 introduit le concept de piles, qui offre davantage de souplesse et de soutien pour vos besoins en matière d’inventaire. Les piles permettent à des instances séparées et distinctes d’un même article d’exister dans le même inventaire. Cette fonctionnalité permet des scénarios d’organisation dans le jeu, la possibilité de définir des propriétés d’article différentes, et plus encore! Les articles ayant le même Id peuvent être stockés sous forme de piles de l’article, chacune avec sa propre quantité et différenciée par son StackId. Si aucune pile n’est spécifiée, les actions d’inventaire utilisent généralement la pile par défaut dont le StackId est default. La pile par défaut peut être supprimée. La prochaine fois qu’un ajout ou un transfert a lieu sans StackId (ou avec le StackId par défaut), la pile par défaut est recréée

Gestion des inventaires et des piles

Voici une description détaillée des API d’inventaire et de leurs interactions avec les piles.

Ajouter des articles d’inventaire

Dans l’API AddInventoryItems, vous pouvez définir un StackId dans le paramètre Item. Ce paramètre définit soit la pile dont la quantité est augmentée, soit l’ID de la nouvelle pile créée. Exemple de requête AddInventoryItems avec un StackId :
La requête ci-dessus créerait une toute nouvelle pile de l’article avec une quantité de 5 et un StackId NewStack, ou ajouterait 5 à la pile NewStack existante si elle existait déjà

Soustraire des articles d’inventaire

Dans l’API SubtractInventoryItems, le StackId sert à définir la pile dont la quantité est soustraite. De plus, un booléen DeleteEmptyStacks peut être défini pour supprimer la pile si la soustraction ramène sa quantité à 0. Tenter de soustraire d’une pile une quantité supérieure à sa quantité actuelle génère une erreur. Exemple de requête SubtractInventoryItems avec StackId :
La requête ci-dessus soustrairait 5 de la pile dont l’ID est NewStack et supprimerait la pile si sa quantité était exactement de 5.

Mettre à jour des articles d’inventaire

Dans l’API UpdateInventoryItems, vous pouvez définir un StackId dans le paramètre Item. Ce paramètre définit soit la pile mise à jour, soit l’ID de la nouvelle pile créée. Exemple de requête UpdateInventoryItems :
La requête ci-dessus créerait une toute nouvelle pile de l’article avec une quantité de 5 et un StackId NewStack, ou définirait la quantité de NewStack à 5 si elle existait déjà

Supprimer des articles d’inventaire

L’API DeleteInventoryItems sert à supprimer une pile entière d’articles de l’inventaire d’un joueur. Un StackId peut être fourni pour définir la pile précise de l’article à supprimer. Exemple de requête DeleteInventoryItems :

Acheter des articles d’inventaire

L’API PurchaseInventoryItems utilise le prix de l’article défini dans le catalogue, déduit le coût de l’inventaire du joueur et l’échange contre la quantité voulue de l’article. Vous devez spécifier l’Item que vous souhaitez acheter et la quantité (Amount) de l’article à acheter. Lorsque vous effectuez des achats avec des piles, quelques paramètres sont pertinents :
  • Pour PriceAmounts, vous pouvez définir un StackId facultatif pour chaque article de prix (c’est-à-dire les articles dépensés) afin de définir la pile de laquelle les articles dépensés seront déduits
  • Pour l’objet Item, vous pouvez définir un StackId facultatif qui représente la pile dans laquelle les articles reçus seront placés
  • Un booléen DeleteEmptyStacks peut être défini pour supprimer la pile si la soustraction ramène sa quantité à 0.
Pour plus de détails sur l’achat d’articles, consultez PurchaseInventoryItems.
Exemple de requête PurchaseInventoryItems avec des piles :

Transférer des articles d’inventaire

Lorsque vous utilisez l’API TransferInventoryItems avec des piles, quelques paramètres sont pertinents :
  • Dans l’objet GivingItem, vous pouvez définir un StackId facultatif qui représente la pile de laquelle les articles donnés seront prélevés
  • Dans l’objet ReceivingItem, vous pouvez définir un StackId facultatif qui représente la pile dans laquelle les articles reçus seront placés
  • Un booléen DeleteEmptyStacks peut être défini pour supprimer la pile si la quantité de GivingItem ramène la quantité de la pile à 0
Exemple de requête TransferInventoryItems avec des piles :

API ExecuteInventoryOperations

Vous pouvez utiliser les paramètres StackId et DeleteEmptyStacks dans les objets Operation de l’API ExecuteInventoryOperations. Ces paramètres vous permettent de regrouper plusieurs opérations d’inventaire utilisant des piles. Exemple de requête ExecuteInventoryOperations avec des piles :

Ajout de propriétés personnalisées avec DisplayProperties et NewStackValues

Vous pouvez définir des propriétés d’article personnalisées sur les articles d’inventaire avec le paramètre DisplayProperties. La définition de propriétés peut se faire dans les API AddInventoryItems, PurchaseInventoryItems et TransferInventoryItems, mais seulement lors de la création d’une nouvelle pile. Pour définir les propriétés d’affichage de nouveaux articles, le paramètre NewStackValues doit être défini dans la requête d’API. Exemple de requête AddInventoryItems avec NewStackValues :
Pour mettre à jour les propriétés d’affichage d’articles existants, l’API UpdateInventoryItems peut être utilisée pour modifier directement les propriétés.
Last modified on October 6, 2026