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

Le service d'inventaire d'Economy v2 introduit le concept de collections, qui peut offrir plus de souplesse et mieux répondre à vos besoins en matière d'inventaire. Les collections sont le mécanisme qui permet à un seul joueur ou PlayerId d'avoir plusieurs inventaires. Cette fonctionnalité peut servir à gérer plusieurs inventaires pour différents personnages d'un même joueur, à avoir des inventaires distincts pour différentes plateformes, et plus encore!

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

## Gérer les collections d'inventaire

### GetInventoryCollectionIds

À l'aide de l'API `GetInventoryCollectionIds`, vous pouvez obtenir une liste de `CollectionId` pour 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 retournerait 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.

### Ajouter 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éerait une toute nouvelle collection d'inventaire et y ajouterait 10 exemplaires de l'article, ou ajouterait 10 exemplaires à la collection d'inventaire `main_character` existante si elle existait 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 pourra pas être recréée tant que l'opération de suppression ne sera 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 articles et à en ajouter aux collections nouvelles et existantes. 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

- [Obtenir les ID de collections d'inventaire](/fr-CA/services/playfab/api-references/rest/economy/inventory/get-inventory-collection-ids.md)
- [API d'inventaire PlayFab](/fr-CA/services/playfab/economy-monetization/economy-v2/inventory/index.md)
- [PFInventoryDeleteInventoryCollectionAsync](/fr-CA/services/playfab/api-references/c/pfinventory/functions/pfinventorydeleteinventorycollectionasync.md)
- [Supprimer une collection d'inventaire](/fr-CA/services/playfab/api-references/rest/economy/inventory/delete-inventory-collection.md)
- [ETags d'inventaire](/fr-CA/services/playfab/economy-monetization/economy-v2/inventory/etags.md)
