> ## 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.

# Boutiques Economy v2

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

<Info>
  Economy v2 est désormais en disponibilité générale. Pour obtenir de l'aide et donner votre avis, rendez-vous sur le [forum PlayFab](https://community.playfab.com).
</Info>

Les boutiques constituent un excellent moyen d'enrichir et de développer l'économie de votre jeu. Les boutiques 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 ces articles. Les boutiques peuvent servir à gérer les endroits où les articles peuvent être achetés dans votre jeu, à proposer des remises et des promotions en jeu, et bien plus encore !

## Création d'une boutique

Pour créer une boutique, 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/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**.

Renseignez 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 cette boutique et les prix par lesquels vous souhaitez remplacer leurs prix d'origine.

### API

Vous pouvez utiliser `CreateDraftItem` pour créer une boutique.

Exemple de requête `CreateDraftItem` pour créer une boutique :

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

***

L'exemple ci-dessus est une boutique qui vend deux articles, `LaserSword` et `WeaponBundle`. Les deux articles sont des articles de catalogue existants dotés d'un prix de base défini dans le catalogue. Cette boutique remplace leurs prix existants et propose désormais `LaserSword` pour 1 `Diamond` et `WeaponBundle` pour 10 Gold et 10 Silver.

Cette requête retourne une réponse indiquant que la boutique a été créée et publiée :

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

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

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

## Utilisation d'une boutique

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

Exemple de requête `PurchaseInventoryItems` utilisant une boutique :

```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` attendu correspond désormais au coût de 1 Diamond défini dans notre boutique.

## Recherche dans une boutique

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'une boutique. En plus de pouvoir vérifier si un article existe dans une boutique donnée, il peut également servir à afficher les prix remplacés des articles/contenus de la boutique. Vous pouvez également utiliser l'`AlternateId` de la boutique pour la rechercher.

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


## Related topics

- [Economy V2 Limits](/services/playfab/economy-monetization/economy-v2/limits.md)
- [Economy v2 overview](/services/playfab/economy-monetization/economy-v2/overview.md)
- [Economy V2 限制](/zh-CN/services/playfab/economy-monetization/economy-v2/limits.md)
- [Economy V2 제한](/ko/services/playfab/economy-monetization/economy-v2/limits.md)
- [Economy v2 Subscriptions](/services/playfab/economy-monetization/economy-v2/catalog/subscriptions.md)
