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

# Collections d'inventaire

> Utilisez les collections d'inventaire PlayFab Economy v2 pour répartir l'inventaire des joueurs en groupes nommés pour des personnages, des équipements ou des conteneurs de stockage.

# Collections

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

Le service Inventory d'Economy v2 introduit le concept de collections, qui offre davantage de flexibilité et de prise en charge pour vos besoins en matière d'inventaire. Les collections sont le mécanisme qui permet à un même joueur/PlayerId de disposer de plusieurs inventaires. Cette fonctionnalité peut servir à gérer plusieurs inventaires pour différents personnages d'un même joueur, à disposer d'inventaires distincts pour différentes plateformes, et bien plus encore !

Les appels d'API Inventory peuvent accepter un paramètre `CollectionId` qui spécifie la collection/l'inventaire dans lequel effectuer l'action. Pour créer une collection, il suffit d'ajouter un article/une pile à un CollectionId inutilisé.

## Gestion des collections d'inventaire

### GetInventoryCollectionIds

L'API `GetInventoryCollectionIds` vous permet d'obtenir la liste des `CollectionId` d'un joueur donné. Les joueurs ne peuvent accéder qu'à leur propre liste d'ID. Les entités de titre peuvent transmettre un paramètre `Entity` pour indiquer à quel inventaire de joueur elles souhaitent accéder.

Exemple de requête `GetInventoryCollectionIds` :

```json theme={null}
{
  "Entity": {
    "Type": "title_player_account",
    "Id": "ABCD12345678"
  },
  "Count": 15,
  "ContinuationToken": "abc="
}
```

Cette requête retourne la réponse suivante :

```json theme={null}
{
  "data": {
  "CollectionIds": [
    "default",
    "main_character"
    ]
  }
}
```

#### Jetons de continuation

Le champ `ContinuationToken` retourné dans une réponse de recherche peut être transmis dans une requête d'inventaire pour parcourir plusieurs pages de résultats.

### Ajout d'une nouvelle collection d'inventaire

Pour créer une nouvelle collection pour un joueur, il suffit d'effectuer n'importe quelle requête d'écriture avec un nouveau CollectionId.

Par exemple, la requête `AddInventoryItems` suivante utilise le collectionId `main_character`

```json theme={null}
{
    "Entity": {
        "Type": "title_player_account",
        "Id": "ABCD12345678"
    },
    "CollectionId": "main_character",
    "Item": {
        "Id": "0b440353-bdbc-48d8-8873-f0988c1f9d8b",
    },
    "Amount": 10,
}
```

La requête ci-dessus crée une toute nouvelle collection d'inventaire et y ajoute 10 exemplaires de l'article, ou ajoute 10 exemplaires à la collection d'inventaire `main_character` existante si elle existe déjà.

### DeleteInventoryCollection

Dans l'API `DeleteInventoryCollectionId`, vous pouvez définir le `CollectionId`
que vous souhaitez supprimer. La suppression est une opération asynchrone qui peut prendre plus de temps pour les collections volumineuses. La collection ne peut pas être recréée tant que l'opération de suppression n'est pas terminée.

Exemple de requête `DeleteInventoryCollectionIds` :

```json theme={null}
{
  "Entity": {
    "Type": "title_player_account",
    "Id": "ABCD12345678"
  },
  "CollectionId": "main_character"
}
```

<Note>
  Actuellement, les API sont le seul moyen de supprimer des collections d'inventaire. Game Manager ne peut actuellement servir qu'à afficher des collections nouvelles et existantes et à y ajouter des articles. D'autres fonctionnalités seront ajoutées à l'avenir.
</Note>

### API ExecuteInventoryOperations

Vous pouvez définir un paramètre `CollectionId` dans l'API `ExecuteInventoryOperations`. Ce paramètre vous permet de définir la collection dans laquelle vous souhaitez que les opérations soient effectuées.

Exemple de requête `ExecuteInventoryOperations` avec des piles :

```json theme={null}
{
    "Entity": {
        "Type": "title_player_account",
        "Id": "ABCD12345678"
    },
    "CollectionId": "main_character",
    "Operations": [
        {
            "Update": {
                "Item" {
                    "Id": "0b440353-bdbc-48d8-8873-f0988c1f9d8b",
                    "Amount": 10
                }
            }
        },
        {
            "Subtract": {
                "Item" {
                    "Id": "0b440353-bdbc-48d8-8873-f0988c1f9d8b",
                },
                "Amount": 5
            }
        }
    ]
}
```


## Related topics

- [Inventory Collections](/services/playfab/economy-monetization/economy-v2/inventory/collections.md)
- [Delete Inventory Collection](/services/playfab/api-references/rest/economy/inventory/delete-inventory-collection.md)
- [collections.mp.microsoft.com/v8.0/collections/consume](/reference/microsoft-store-apis/xstore-v8-consume.md)
- [XStoreCollectionData](/reference/system/xstore/structs/xstorecollectiondata.md)
