> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Magasins dans Economy v2

> Créez des magasins PlayFab Economy v2 pour organiser des listes d'articles, remplacer les prix du catalogue et offrir des promotions, des rabais et des offres à durée limitée dans le jeu.

<Info>
  Economy v2 est maintenant en disponibilité générale. Pour obtenir du soutien et transmettre vos commentaires, rendez-vous sur le [forum PlayFab](https://community.playfab.com).
</Info>

Les magasins constituent un excellent moyen de bâtir et de développer l'économie de votre jeu. Les magasins sont un type d'article spécial qui contient une liste d'articles et de prix, et qui vous permet de remplacer les prix de base du catalogue pour les articles. Les magasins peuvent servir à gérer les endroits où les articles peuvent être achetés dans votre jeu, à offrir des rabais et des promotions dans le jeu, et bien plus encore!

## Créer un magasin

Pour créer un magasin, vous devez d'abord vous assurer de disposer d'autres articles de catalogue, devises ou contenus générés par les utilisateurs (UGC) publiés que vous souhaitez rendre accessibles ou achetables dans votre jeu. Vous pouvez suivre les étapes du [démarrage rapide d'Economy v2](/fr-CA/services/playfab/economy-monetization/economy-v2/quickstart#step-3---publish-an-item-to-the-catalog)

### GameManager

1. Accédez à **Economy** > **Catalog (V2)**.
2. Sous l'onglet **Stores**, sélectionnez **New Store**.

Remplissez les métadonnées souhaitées; l'un des éléments clés à définir est la liste des articles que vous souhaitez rendre disponibles dans ce magasin et les prix par lesquels vous souhaitez remplacer leurs prix.

### API

Vous pouvez utiliser `CreateDraftItem` pour créer un magasin.

Exemple de requête `CreateDraftItem` pour créer un magasin :

```json theme={null}
{
  "Item": {
   "Type": "store",
    "Title": {
      "NEUTRAL": "My First Store",
    },
    "StartDate": "2022-09-07T00:00:00.00000000Z",
    "ItemReferences":[
      {
        "Id":"LaserSword",
        "Amount": 1,
        "PriceOptions": {
          "Prices": [{
            "Amounts": [{
              "ItemId": "Diamond",
              "Amount": 1
            }]
          }]
        }
      },
      {
      "Id":"WeaponBundle",
      "PriceOptions": {
        "Prices": [{
          "Amounts": [{
            "ItemId": "Gold",
            "Amount": 10
            },
            {
            "ItemId": "Silver",
            "Amount": 10
          }]
        }],
      },
    }]
   },
   "Publish": true
}
```

***

Ce qui précède est un magasin qui vend deux articles, le `LaserSword` et le `WeaponBundle`. Les deux articles sont des articles existants du catalogue ayant un prix de base déjà défini dans le catalogue. Ce magasin remplace leurs prix existants et offre désormais le `LaserSword` pour 1 `Diamond` et le `WeaponBundle` pour 10 Gold et 10 Silver.

Cette requête retournerait une réponse indiquant que le magasin a été créé et publié :

```json theme={null}
{
  "code": 202,
  "status": "Accepted",
  "Item": {
    "Type": "store",
    "Id": "{{StoreID}}", 
    "Title": {
      "NEUTRAL": "My First Store",
    },
    ...
}
```

Notez l'`Id` désormais associé à notre magasin publié.

<Note>
  Pour simplifier le concept, les ID d'articles ont été remplacés : les GUID ont cédé la place aux noms d'articles afin de mieux illustrer l'exemple d'utilisation des magasins.
</Note>

## Utiliser un magasin

Les magasins sont utilisés lorsque les joueurs appellent l'API `PurchaseInventoryItems`. Lorsque vous appelez `PurchaseInventoryItems`, l'une des propriétés facultatives est le paramètre `StoreId`, dans lequel nous pouvons transmettre le magasin à appliquer à cette demande d'achat.

Exemple de requête `PurchaseInventoryItems` utilisant un magasin :

```json theme={null}
{
    "Entity": {
        "Type": "title_player_account",
        "Id": "{{PlayerID}}"
    },
    "Item": {
        "Id": "LaserSword",
    },
    "Amount": 10,
    "PriceAmounts": [
        {
            "ItemId": "Diamond",
            "Amount": 1
        }
    ],
    "StoreId": "{{StoreID}}"
}
```

Notez le `{{StoreId}}` transmis dans la demande d'achat et la façon dont le `PriceAmount` prévu correspond maintenant au coût de 1 Diamond défini dans notre magasin.

## Recherche dans un magasin

Lorsque vous utilisez l'API `SearchItems`, l'une des propriétés que vous pouvez transmettre est le paramètre `Store`. Ce paramètre vous permet d'effectuer une recherche dans le contexte d'un magasin. En plus de permettre de vérifier si un article existe dans un magasin donné, il peut également servir à afficher les prix remplacés des articles ou du contenu du magasin. Vous pouvez également utiliser l'`AlternateId` du magasin pour le rechercher.

```json theme={null}
{
  "Search": "",
  "Filter": "ContentType eq 'weapons'",
  "Store": {
    "Id": "{{StoreID}}"
  },
}
```


## Related topics

- [Magasins et soldes dans Economy (Legacy)](/fr-CA/services/playfab/economy-monetization/economy/tutorials/stores-and-sales.md)
- [Prix en argent réel dans Economy v2](/fr-CA/services/playfab/economy-monetization/economy-v2/catalog/real-money-prices.md)
- [Tables de butin et butin aléatoire dans Economy v2](/fr-CA/services/playfab/economy-monetization/economy-v2/tutorials/drop-tables-and-randomized-loot.md)
- [Suivi des prix en argent réel dans Economy v2](/fr-CA/services/playfab/economy-monetization/economy-v2/tutorials/real-money-price-tracking.md)
- [Abonnements dans Economy v2](/fr-CA/services/playfab/economy-monetization/economy-v2/catalog/subscriptions.md)
