# API Catalog

# Aperçu {% #overview %}

- **Version :** 2.0.0
- **Serveurs :** `https://store.xsolla.com/api`
- [Contactez-nous par e-mail](mailto:integration@xsolla.com)
- **URL de contact :** https://xsolla.com/
- **Version TLS requise :** 1.2

L’API Catalog permet de configurer un catalogue des objets en jeu côté Xsolla et de l’afficher aux utilisateurs dans votre magasin.

L’API permet de gérer les entités de catalogue suivantes :

* **Objets virtuels** — objets en jeu tels que armes, skins, boosters.
* **Monnaie virtuelle**  — monnaie utilisée pour acheter des objets virtuels.
* **Packages de monnaie virtuelle** — lots prédéfinis de monnaie virtuelle.
* **Lots** — packages combinant objets virtuels, monnaie virtuelle ou clés de jeu vendus sous un seul UGS.
* **Clés de jeu** — clés pour jeux et DLC distribuées via Steam ou d’autres fournisseurs DRM.
* **Groupes** — regroupements logiques pour organiser et trier les éléments du catalogue.

## Appels API {% #api-calls %}

L’API est divisée en groupes suivants :

* **<nt>Admin</nt>** — appels pour créer, mettre à jour, supprimer et configurer les objets et groupes du catalogue. Authentification via l’[authentification d’accès de base](https://developers.xsolla.com/fr/payment-ui-and-flow/payment-ui/how-to-get-payment-token/#payments_solution_get_user_auth_token_basic_auth) avec vos identifiants marchand ou projet. Non destinés à un usage côté magasin.
* **<nt>Catalog</nt>** — appels pour récupérer des objets et construire des vitrines personnalisées pour les utilisateurs finaux. Conçue pour gérer des charges importantes. Supporte l’autorisation optionnelle par JWT utilisateur pour retourner des données personnalisées telles que des limites spécifiques à l’utilisateur et des promotions actives.

# Authentification {% #authentication %}

Les appels API nécessitent une authentification au nom d'un utilisateur ou d'un projet. Le schéma d'authentification à utiliser figure dans la section **Security** de la description de chaque appel.

## Authentification à l'aide du JWT utilisateur {% #authentication-using-users-jwt %}

L'authentification par JWT utilisateur est utilisée lorsqu'une requête provient d'un navigateur, d'une application mobile ou d'un jeu. Par défaut, le schéma `XsollaLoginUserJWT` s'applique. Pour savoir comment créer un jeton, consultez la [documentation de l'API Xsolla Login](/fr/api/login/authentication-schemes#getting-user-token).

Transmettez le jeton dans l'en-tête `Authorization` au format suivant : `Authorization: Bearer <user_JWT>`, où `<user_JWT>` représente le jeton utilisateur. Ce jeton identifie l'utilisateur et donne accès à ses données personnalisées.

Vous pouvez également utiliser un [jeton pour ouvrir l’interface de paiement](/fr/api/pay-station/token/create-token).

## Authentification HTTP basique {% #basic-http-authentication %}

L'authentification HTTP basique est utilisée pour les interactions serveur à serveur, lorsqu'un appel API est envoyé directement depuis votre serveur plutôt que depuis le navigateur ou l'application mobile d'un utilisateur. Elle repose généralement sur une [clé API](/fr/api/getting-started/#api_keys_overview).

<div class="note"><b>Note</b><br><br>La clé API est confidentielle et ne doit jamais être stockée ni utilisée dans une application cliente.</div>

Avec l'authentification basique côté serveur, toutes les requêtes API doivent inclure l'en-tête suivant :

- pour `basicAuth` — `Authorization: Basic <your_authorization_basic_key>`, où `your_authorization_basic_key` est la paire `project_id:api_key` encodée en Base64
- pour `basicMerchantAuth` — `Authorization: Basic <your_authorization_basic_key>`, où `your_authorization_basic_key` est la paire `merchant_id:api_key` encodée en Base64

Vous trouverez les valeurs des paramètres dans le [Compte éditeur](https://publisher.xsolla.com/) :

- `merchant_id` s'affiche :
  - Dans **Company settings > Company***.
  - Dans l'URL dans la barre d'adresse du navigateur sur n'importe quelle page du Compte éditeur. L'URL a le format suivant : `https://publisher.xsolla.com/<merchant_id>`.
- `project_id` s'affiche :
  - À côté du nom du projet dans le Compte éditeur.
  - Dans l'URL dans la barre d'adresse du navigateur lors de l'utilisation d'un projet dans le Compte éditeur. L'URL a le format suivant : `https://publisher.xsolla.com/<merchant_id>/projects/<project_id>`.
- `api_key` s'affiche dans le Compte éditeur uniquement au moment de la création et doit être stockée en toute sécurité de votre côté. Vous pouvez créer une clé API dans les sections suivantes :
  - [Company settings > API keys](https://publisher.xsolla.com/0/settings/api_key)
  - [Project settings > API key](https://publisher.xsolla.com/0/projects/0/edit/api_key)

<div class="notice"><b>Remarque</b><br><br>Si un appel API requis n'inclut pas le paramètre de chemin <code>project_id</code>, utilisez une clé API valide pour l'ensemble des projets de l'entreprise pour l'autorisation.</div>

Pour plus d'informations sur l'utilisation des clés API, consultez les [références API](/fr/api/getting-started/#api_keys_overview).

## Authentification avec prise en charge de l'accès invité {% #authentication-with-guest-access-support %}

Le schéma d’authentification `AuthForCart` est utilisé pour les achats via le panier et prend en charge deux modes :

1. **Authentification par JWT utilisateur**. Le jeton est passé dans l'en-tête `Authorization` au format suivant : `Authorization: Bearer <user_JWT>`, où `<user_JWT>` représente le jeton utilisateur. Ce jeton identifie l'utilisateur et donne accès à ses données personnalisées.
Vous pouvez également utiliser un [jeton pour ouvrir l'interface de paiement](/fr/api/pay-station/token/create-token).

2. **Mode simplifié sans en-tête Authorization.** Ce mode est réservé aux utilisateurs non authentifiés et peut être utilisé uniquement pour la [vente de clés de jeu](/fr/doc/buy-button/how-to/set-up-authentication/#guides_buy_button_selling_items_not_authenticated_users). Au lieu d'un jeton, la requête doit inclure les en-têtes suivants :
   - `x-unauthorized-id` avec un identifiant de requête
   - `x-user` avec l'adresse e-mail de l'utilisateur encodée en Base64

## Liens utiles {% #authentication-useful-links %}

- [Appels API par modèle d'interaction](/fr/api/getting-started/#api_interaction_model)
- [Types de endpoint](/fr/api/getting-started/#api_endpoint_types)
- [Gestion des erreurs](/fr/api/getting-started/#api_errors_handling)
- [Clés API](/fr/api/getting-started/#api_keys_overview)
- [Webhooks](/fr/webhooks/overview)

# Structure de l'entité principale {% #core-entity-structure %}

Les objets de tous types (objets virtuels, lots, monnaie virtuelle et clés) partagent une structure de données similaire. Comprendre cette structure de base facilite l’utilisation de l'API et la navigation dans la documentation.

<div class="note"><b>Note</b><br><br>Certains appels peuvent inclure des champs supplémentaires, mais ils ne modifient pas la structure de base.</div>

**Identification**

- `merchant_id` — ID de l'entreprise dans le [Compte éditeur](https://publisher.xsolla.com/)
- `project_id` — ID de projet dans le Compte éditeur
- `sku` — UGS de l'objet, unique au sein du projet

**Affichage en magasin**

- `name` — nom de l'objet
- `description` — description de l'objet
- `image_url` — URL de l'image
- `is_enabled` — disponibilité de l'objet
- `is_show_in_store` — affichage de l'objet dans le catalogue

Pour plus d'informations sur la gestion de la disponibilité des objets dans le catalogue, consultez la [documentation](/fr/items-catalog/catalog-features/items-availability/).

**Organisation**

- `type` — type d'objet, par exemple, un objet virtuel (`virtual_item`) ou un lot (`bundle`)
- `groups` — groupes auxquels l'objet appartient
- `order` — ordre d'affichage dans le catalogue

**Conditions de vente**

- `prices` — prix en devise réelle ou monnaie virtuelle
- `limits` — limites d'achat
- `periods` — périodes de disponibilité
- `regions` — restrictions régionales

**Exemple de structure d'entité principale :**

```json
{
  "attributes": [],
  "bundle_type": "virtual_currency_package",
  "content": [
    {
      "description": {
        "en": "Main in-game currency"
      },
      "image_url": "https://.../image.png",
      "name": {
        "en": "Crystals",
        "de": "Kristalle"
      },
      "quantity": 500,
      "sku": "com.xsolla.crystal_2",
      "type": "virtual_currency"
    }
  ],
  "description": {
    "en": "Crystals x500"
  },
  "groups": [],
  "image_url": "https://.../image.png",
  "is_enabled": true,
  "is_free": false,
  "is_show_in_store": true,
  "limits": {
    "per_item": null,
    "per_user": null,
    "recurrent_schedule": null
  },
  "long_description": null,
  "media_list": [],
  "name": {
    "en": "Medium crystal pack"
  },
  "order": 1,
  "periods": [
    {
      "date_from": null,
      "date_until": "2020-08-11T20:00:00+03:00"
    }
  ],
  "prices": [
    {
      "amount": 20,
      "country_iso": "US",
      "currency": "USD",
      "is_default": true,
      "is_enabled": true
    }
  ],
  "regions": [],
  "sku": "com.xsolla.crystal_pack_2",
  "type": "bundle",
  "vc_prices": []
}
```

# Processus d'achat de base {% #basic-purchase-flow %}

L'API Xsolla vous permet d'implémenter la logique de magasin en jeu, notamment la récupération du catalogue des objets, la gestion du panier, la création de commandes et le suivi de leur statut. Selon le scénario d'intégration, les appels API sont répartis en sections **Administrateur** et **Catalogue**, qui utilisent différents [schémas d'authentification](/fr/api/catalog/authentication).

L'exemple suivant montre un processus de base pour configurer et exploiter un magasin, de la création d'objets à l'achat.

## Création d'objets et de groupes (Administrateur) {% #create-items-and-groups-admin %}

Créez un catalogue des objets pour votre magasin, tels que des objets virtuels, des lots ou de la monnaie virtuelle.

Exemples d'appels API :
- [Créer un objet virtuel](/fr/api/catalog/virtual-items-currency-admin/admin-create-virtual-item)
- [Créer un lot](/fr/api/catalog/bundles-admin/admin-create-bundle)
- [Créer une monnaie virtuelle](/fr/api/catalog/virtual-items-currency-admin/admin-create-virtual-currency)

## Configuration de promotions, chaînes et limites (Administrateur) {% #set-up-promotions-chains-and-limits-admin %}

Configurez des outils d'acquisition d'utilisateurs et de monétisation, tels que des remises, des bonus, des récompenses quotidiennes ou des chaînes d'offres.

Exemples d'appels API :
- [Créer une promotion de bonus](/fr/api/liveops/promotions-bonuses/create-bonus-promotion)
- [Créer une récompense quotidienne](/fr/api/liveops/daily-chain-admin/admin-create-daily-chain)
- [Créer une offre de catalogue unique](/fr/api/liveops/promotions-unique-catalog-offers/admin-create-unique-catalog-offer)

## Récupération d'informations sur un objet (Client) {% #get-item-information-client %}

Configurez l'affichage des objets dans l'application.

<div class="notice">
  <b>Remarque</b><br><br>
    N'utilisez pas les appels API de la sous-section Administrateur pour créer un catalogue utilisateur. Ces appels API présentent des <a href="https://developers.xsolla.com/fr/api/getting-started/#api_rate_limits" target="_blank">limites de taux</a> et ne sont pas destinés au trafic utilisateur.
</div>

<br>

Exemples d'appels API :
- [Lire la liste des objets virtuels](/fr/api/catalog/virtual-items-currency-catalog/get-virtual-items)
- [Lire la liste des groupes d'objets](/fr/api/catalog/virtual-items-currency-catalog/get-item-groups)
- [Lire la liste des lots](/fr/api/catalog/bundles-catalog/get-bundle-list)
- [Lire la liste des objets vendables](/fr/api/catalog/common-catalog/get-sellable-items)

<div class="note">
  <b>Note</b><br><br>
    Par défaut, les appels API du catalogue renvoient les objets disponibles dans la boutique au moment de la requête. Pour récupérer les objets inactifs ou à durée limitée, ajoutez le paramètre <code>"show_inactive_time_limited_items": 1</code> dans la requête du catalogue.
</div>

## Vente des objets {% #sell-items %}

Vous pouvez vendre des objets en utilisant les méthodes suivantes :
- Achat rapide — vendre une UGS plusieurs fois.
- Achat via le panier — l'utilisateur ajoute des objets au panier, supprime des objets et modifie les quantités dans une seule commande.

Si un objet est acheté en utilisant de la monnaie virtuelle au lieu des devises réelles, utilisez l'appel API [Créer une commande à partir d'un objet spécifique en monnaie virtuelle](/fr/api/catalog/virtual-payment/create-order-with-item-for-virtual-currency). L'interface de paiement n'est pas requise, car le coût est traité lors de l'exécution de l'appel API.

Pour l'achat d'un objet gratuit, utilisez l'appel API [Créer une commande avec un bien gratuit spécifique](/fr/api/catalog/free-item/create-free-order-with-item) ou l'appel API [Créer une commande à partir d'un panier gratuit](/fr/api/catalog/free-item/create-free-order). L'interface de paiement n'est pas requise, la commande est immédiatement définie sur le statut <code>done</code>.

### Achat rapide {% #fast-purchase %}

Utilisez l'appel API côté client pour [créer une commande à partir d'un objet spécifique](/fr/api/catalog/payment-client-side/create-order-with-item). L'appel renvoie un jeton utilisé pour ouvrir l'interface de paiement.

<div class="note">
  <b>Note</b><br><br>
    Les informations sur les remises sont disponibles pour l'utilisateur uniquement dans l'interface de paiement. Les codes promo ne sont pas pris en charge.
</div>

### Achat via le panier {% #cart-purchase %}

La configuration et les achats du panier peuvent être gérés côté client ou côté serveur.

**Configuration et achat du panier côté client**

Implémentez vous-même la logique d'ajout et de suppression des objets. Avant d'appeler l'API pour configurer un panier, vous ne disposerez pas d'informations sur les promotions qui s'appliqueront à l'achat. Le coût total ainsi que les informations des objets bonus ajoutés ne seront donc pas encore connus.

Implémentez la logique suivante pour le panier :
1. Après que le joueur a rempli un panier, utilisez l'appel API [Remplir le panier d'objets](/fr/api/shop-builder/operation/cart-fill/). L'appel renvoie les informations actuelles sur les objets sélectionnés (prix avant et après remises, objets bonus).
2. Mettez à jour le contenu du panier en fonction des actions utilisateur :
   - Pour ajouter un objet ou modifier la quantité de l'objet, utilisez l'appel API [Mettre à jour un objet du panier par ID de panier](/fr/api/shop-builder/operation/put-item-by-cart-id/).
   - Pour supprimer un objet, utilisez l'appel API [Supprimer un objet du panier par ID de panier](/fr/api/shop-builder/operation/delete-item-by-cart-id/).

<div class="note">
  <b>Note</b><br><br>
    Pour obtenir le statut actuel du panier, utilisez l'appel API Lire le panier de l'utilisateur actuel.
</div>

3. Utilisez l'appel API [Créer une commande à partir de tous les objets du panier actuel](/fr/api/shop-builder/operation/create-order/). L'appel renvoie l'ID de commande et le jeton de paiement. La commande nouvellement créée est définie sur le statut <code>new</code> par défaut.

**Configuration et achat du panier côté serveur**

Cette approche peut nécessiter davantage de temps pour configurer le panier, car chaque modification doit être effectuée via des appels API.

Implémentez la logique suivante pour le panier :
1. Après que le joueur a rempli un panier, utilisez l'appel API [Remplir le panier d'objets](/fr/api/catalog/cart-server-side). L'appel renvoie les informations à jour sur les objets sélectionnés (prix avant et après remises, objets bonus).
2. Utilisez l'appel API [Créer une commande à partir de tous les objets du panier actuel](/fr/api/shop-builder/operation/create-order/). L'appel renvoie l'ID de commande et le jeton de paiement. La commande nouvellement créée est définie sur le statut <code>new</code> par défaut.

## Ouverture de l'interface de paiement {% #open-payment-ui %}

Utilisez le jeton renvoyé pour ouvrir l'interface de paiement dans une nouvelle fenêtre. D'autres méthodes d'ouverture de l'interface de paiement sont décrites dans la [documentation](/fr/payment-ui-and-flow/payment-ui/how-to-open-payment-ui/#open_payment_ui).

| Action                          | Endpoint                                                                  |
|:--------------------------------|:--------------------------------------------------------------------------|
| Ouverture dans l'environnement de production. | <code>https://secure.xsolla.com/paystation4/?token={token}</code>         |
| Ouverture en mode bac à sable.           | <code>https://sandbox-secure.xsolla.com/paystation4/?token={token}</code> |

<div class="note">
  <b>Note</b><br><br>
    Utilisez le mode bac à sable pendant le développement et les tests. Les achats de test n'entraînent aucun débit sur des comptes réels. Vous pouvez utiliser des <a href="https://developers.xsolla.com/fr/dev-resources/testing/test-cards/">cartes bancaires de test</a>.

    Après le premier paiement réel, une politique stricte du mode bac à sable s'applique. Les paiements en mode bac à sable sont disponibles uniquement pour les utilisateurs spécifiés dans la section [Company settings > Users](https://publisher.xsolla.com/0/settings/users) du Compte éditeur.

    L'achat de monnaie virtuelle et d'objets en devise réelle n'est possible qu'après la signature d'un contrat de licence avec Xsolla. Pour cela, dans le [Compte éditeur](https://publisher.xsolla.com/), accédez à **Agreements & Taxes > Agreements**, complétez le formulaire et attendez la validation. Le traitement du contrat peut prendre jusqu'à 3 jours ouvrés.
 </div>

Pour activer ou désactiver le mode bac à sable, modifiez la valeur du paramètre `sandbox` dans la requête pour l'achat rapide et l'achat via le panier. Le mode bac à sable est désactivé par défaut.

Statuts de commande possibles :
- `new` — commande créée
- `paid` — paiement reçu
- `done` — objet attribué
- `canceled` — commande annulée
- `expired` — commande expirée

Suivez le statut de la commande en utilisant l'une des méthodes suivantes :
- [webhooks configurés sur votre serveur](/fr/virtual-goods/own-ui/server-side-token-generation/set-up-order-tracking/#payments_integration_order_tracking)
- [short-polling](/fr/virtual-goods/own-ui/client-side-token-generation/set-up-order-tracking/#guides_shop_builder_integrate_store_get_order_status_via_short_polling)
- [API WebSocket](/fr/virtual-goods/own-ui/client-side-token-generation/set-up-order-tracking/#guides_shop_builder_integrate_store_get_order_status_via_websocket_api)

## Liens utiles {% #basic-purchase-flow-useful-links %}

- Authentification
- [Appels API par modèle d'interaction](/fr/api/catalog/authentication)
- [Test de paiement](/fr/dev-resources/testing/general-info/#general_overview)
- [Configurer le suivi du statut de la commande](/fr/virtual-goods/own-ui/client-side-token-generation/set-up-order-tracking/?link=200-api#payments_integration_order_tracking)
- [Webhooks](/fr/webhooks/overview)
- [Limites de taux](/fr/api/login/rate-limits)
- [Gestion des erreurs](/fr/api/getting-started/#api_errors_handling)
- [Clés API](/fr/api/getting-started/#api_keys_overview)

# Pagination {% #pagination %}

Les appels API qui renvoient de grands ensembles d'enregistrements (par exemple lors de la création d'un catalogue) utilisent la pagination. La pagination est un mécanisme qui limite le nombre d'objets renvoyés dans une seule réponse et permet de récupérer les pages suivantes de manière séquentielle.

Utilisez les paramètres suivants pour contrôler le nombre d'objets renvoyés :

- `limit` — nombre d'objets par page
- `offset` — indice du premier objet sur la page (la numérotation commence à 0)
- `has_more` — indique si une autre page est disponible
- `total_items_count` — nombre total d'objets

Exemple de requête :

```
GET /items?limit=20&offset=40
```

Exemple de réponse :

```json
{
  "items": [...],
  "has_more": true,
  "total_items_count": 135
}
```

Il est recommandé d'envoyer des requêtes successives jusqu'à ce que la réponse renvoie `has_more = false`.

# Format de date et d'heure {% #date-and-time-format %}

Les dates et les valeurs temporelles sont transmises au format [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601).

Les valeurs suivantes sont prises en charge :

- Décalage UTC
- Valeur `null` lorsqu'il n'y a pas de restriction temporelle pour l'affichage d'un objet
- [Horodatage Unix](https://www.unixtimestamp.com/) (en secondes) utilisé dans certains champs

Format : `YYYY-MM-DDTHH:MM:SS±HH:MM`

Exemple : `2026-03-16T10:00:00+03:00`

# Localisation {% #localization %}

Xsolla prend en charge la localisation des champs destinés aux utilisateurs, tels que le nom et la description de l'objet. Les valeurs localisées sont transmises sous forme d'objet, où le code de langue est utilisé comme clé. La liste complète des langues prises en charge est disponible dans la [documentation](/fr/doc/shop-builder/references/supported-languages/).

**Champs pris en charge**

Les paramètres suivants peuvent être localisés :

- `name`
- `description`
- `long_description`

**Format de langue**

La clé de la langue peut être spécifiée dans l'un des formats suivants :

- Code de langue à deux lettres : `en`, `ru`
- Code de langue à cinq lettres : `en-US`, `ru-RU`, `de-DE`

**Exemples**

Exemple avec un code de langue à deux lettres :

```json
{
  "name": {
    "en": "Starter Pack",
    "ru": "Стартовый набор"
  }
}
```

Exemple avec un code de langue à cinq lettres :

```json
{
  "description": {
    "en-US": "Premium bundle",
    "de-DE": "Premium-Paket"
  }
}
```

# Détermination du pays et de la devise {% #country-and-currency-determination %}

Le pays de l'utilisateur détermine les prix du catalogue, la devise de paiement et les modes de paiement disponibles
dans l'interface de paiement. Selon l'appel API utilisé, le pays est déterminé comme suit :
<ul>
  <li>Pour les <a href="https://developers.xsolla.com/fr/api/catalog/payment-client-side/create-order-by-cart-id">appels API côté client</a>,
    le pays est déterminé à partir de l'adresse IP de la requête.</li>
  <li>Pour les <a href="https://developers.xsolla.com/fr/api/catalog/payment-server-side/admin-create-payment-token">appels API côté serveur</a>,
    le pays est déterminé par la valeur du paramètre <code>user.country.value</code> ou par l'adresse IP de l'utilisateur
    transmise dans l'en-tête <code>X-User-Ip</code>. Si les deux valeurs sont fournies, le paramètre <code>user.country.value</code> est prioritaire.</li>
</ul>

<div class="note">
  <b>Note</b><br><br>
    La détermination du pays prend uniquement en charge les adresses <a href="https://en.wikipedia.org/wiki/IPv4">IPv4</a>.
    Une adresse <a href="https://en.wikipedia.org/wiki/IPv6">IPv6</a> peut entraîner une détection incorrecte du pays
    et de la devise. Avec l'API côté serveur, si l'adresse IPv4 de l'utilisateur n'est pas disponible,
    indiquez le pays via le paramètre <code>user.country.value</code>.
</div>

# Format de réponse d'erreur {% #error-response-format %}

En cas d'erreur, l'API renvoie un statut HTTP ainsi qu'un corps de réponse au format JSON. La liste complète des erreurs liées au magasin est disponible dans la [documentation](/fr/dev-resources/references/errors/store-errors/).

**Exemple de réponse :**

```json
{
  "errorCode": 1102,
  "errorMessage": "Validation error",
  "statusCode": 422,
  "transactionId": "c9e1a..."
}
```

- `errorCode` — code d'erreur.
- `errorMessage` — courte description de l'erreur.
- `statusCode` — statut de la réponse HTTP.
- `transactionId` — ID de la requête. Retourné uniquement dans certains cas.
- `errorMessageExtended` — informations supplémentaires sur l'erreur, telles que les paramètres de la requête. Retournées uniquement dans certains cas.

**Exemple de réponse détaillée :**

```json
{
  "errorCode": 7001,
  "errorMessage": "Chain not found",
  "errorMessageExtended": {
    "chain_id": "test_chain_id",
    "project_id": "test_project_id",
    "step_number": 2
  },
  "statusCode": 404
}
```

**Codes de statut HTTP courants**

- `400` — requête non valide
- `401` — erreur d'authentification
- `403` — permissions insuffisantes
- `404` — ressource non trouvée
- `422` — erreur de validation
- `429` — limite de taux dépassée

**Recommandations**

- Gérez ensemble le statut HTTP et le corps de la réponse.
- Utilisez `errorCode` pour traiter les erreurs liées à la logique de l'application.
- Utilisez `transactionId` pour identifier plus rapidement les requêtes lors de l'analyse des erreurs.

Version: 2.0.0

## Servers

```
https://store.xsolla.com/api
```

## Security

### basicAuth

Les appels côté serveur utilisent le schéma d'authentification `basicAuth`. Toutes les requêtes à l'API doivent
contenir l'en-tête `Authorization: Basic <your_authorization_basic_key>`
où `your_authorization_basic_key` est la paire `project_id:api_key`
encodée en Base64.

Vous pouvez utiliser `merchant_id` au lieu de `project_id` si nécessaire. Cela n'affecte pas la fonctionnalité.

Accédez au [Compte éditeur](https://publisher.xsolla.com/) pour trouver les valeurs des paramètres :

* `merchant_id` s'affiche :
  * Dans la section **Company settings > Company**
  * Dans l'URL dans la barre d'adresse du navigateur sur n'importe quelle page du Compte éditeur. L'URL présente le format suivant : `https://publisher.xsolla.com/<merchant_id>`.
* `api_key` s'affiche dans le Compte éditeur une seule fois lors de sa création et doit être stockée de votre côté. Vous pouvez créer une nouvelle clé dans les sections suivantes :
  * [Company settings > API keys](https://publisher.xsolla.com/0/settings/api_key)
  * [Project settings > API keys](https://publisher.xsolla.com/0/projects/0/edit/api_key)

{% html name="div" attrs={"class": "notice"} %}
**Remarque**

Si un appel API requis n'inclut pas le paramètre de chemin `project_id`, utilisez une clé API valide pour tous les projets de l'entreprise pour l'autorisation.
{% /html %}

* `project_id` s'affiche :
  * Dans le Compte éditeur à côté du nom du projet.
  * Dans l'URL dans la barre d'adresse du navigateur lorsque vous utilisez le projet dans le Compte éditeur. L'URL a le format suivant : `https://publisher.xsolla.com/<merchant_id>/projects/<project_id>`.

Pour plus d'informations sur l'utilisation des clés API, voir la [référence API](https://developers.xsolla.com/fr/api/getting-started/#api_keys_overview).

Type: http
Scheme: basic

### XsollaLoginUserJWT

Les appels côté client utilisent le schéma d’authentification `XsollaLoginUserJWT`. La requête doit inclure le JWT utilisateur dans l’en-tête `Authorization` au format suivant : Bearer `<user_JWT>`. Ce jeton identifie l’utilisateur et donne accès à des données personnalisées. Pour découvrir comment créer un jeton, consultez la [documentation Xsolla Login API](/fr/api/login/authentication-schemes#getting-user-token).

Vous pouvez également utiliser un [jeton pour ouvrir l’interface de paiement](/fr/api/pay-station/token/create-token).

Type: http
Scheme: bearer
Bearer Format: JWT

### AuthForCart

Le schéma d’authentification `AuthForCart` est utilisé pour les achats via le panier et prend en charge deux modes :

1. Authentification par JWT utilisateur. Le jeton est passé dans l'en-tête Authorization au format suivant : `Authorization: Bearer <user_JWT>`, où `<user_JWT>` est le jeton utilisateur. Le jeton identifie l'utilisateur et donne accès à des données personnalisées.

Vous pouvez également utiliser un [jeton pour ouvrir l’interface de paiement](/fr/api/pay-station/token/create-token).

2. Mode simplifié sans en-tête `Authorization`. Ce mode est uniquement destiné aux utilisateurs non authentifiés et peut être utilisé uniquement pour la [vente de clés de jeu](/fr/doc/buy-button/how-to/set-up-authentication/#guides_buy_button_selling_items_not_authenticated_users). Au lieu d’un jeton, la requête doit inclure les en-têtes suivants :
* `x-unauthorized-id` avec un ID de requête
* `x-user` avec l’adresse e-mail de l’utilisateur encodée en Base64.

Type: http
Scheme: bearer

### basicMerchantAuth

Les appels côté serveur utilisent le schéma d'authentification `basicMerchantAuth`. Toutes les requêtes à l'API doivent
contenir l'en-tête `Authorization: Basic <your_authorization_basic_key>`
où `your_authorization_basic_key` est la paire `merchant_id:api_key`
encodée en Base64.

Accédez au [Compte éditeur](https://publisher.xsolla.com/) pour trouver les valeurs des paramètres :

* `merchant_id` s'affiche :
  * Dans la section **Company settings > Company**
  * Dans l'URL dans la barre d'adresse du navigateur sur n'importe quelle page du Compte éditeur. L'URL présente le format suivant : `https://publisher.xsolla.com/<merchant_id>`
* `api_key` est affiché dans le Compte éditeur une seule fois lors de sa création et doit être stocké de votre côté. Vous pouvez créer une nouvelle clé dans la section [Company settings > API keys](https://publisher.xsolla.com/0/settings/api_key).

Pour plus d'informations sur l'utilisation des clés API, voir la [référence API](https://developers.xsolla.com/fr/api/getting-started/#api_keys_overview).

Type: http
Scheme: basic

## Download OpenAPI description

[API Catalog](https://xsolla.redocly.app/_bundle/@l10n/fr/api/catalog/index.yaml)

## Administrateur

### Lire la liste des objets virtuels

 - [GET /v2/project/{project_id}/admin/items/virtual_items](https://xsolla.redocly.app/fr/api/catalog/virtual-items-currency-admin/admin-get-virtual-items-list.md): Récupère la liste des objets virtuels au sein d'un projet à des fins d'administration.

NoteN'utilisez pas cet endpoint pour créer un catalogue de magasin.

### Créer un objet virtuel

 - [POST /v2/project/{project_id}/admin/items/virtual_items](https://xsolla.redocly.app/fr/api/catalog/virtual-items-currency-admin/admin-create-virtual-item.md): Crée un objet virtuel.

### Lire la liste des objets virtuels par external ID d'un groupe spécifique

 - [GET /v2/project/{project_id}/admin/items/virtual_items/group/external_id/{external_id}](https://xsolla.redocly.app/fr/api/catalog/virtual-items-currency-admin/admin-get-virtual-items-list-by-group-external-id.md): Récupère la liste des objets virtuels au sein d'un groupe à des fins d'administration.

NoteN'utilisez pas cet endpoint pour créer un catalogue de magasin.

### Lire la liste des objets virtuels par ID d'un groupe spécifique

 - [GET /v2/project/{project_id}/admin/items/virtual_items/group/id/{group_id}](https://xsolla.redocly.app/fr/api/catalog/virtual-items-currency-admin/admin-get-virtual-items-list-by-group-id.md): Récupère la liste des objets virtuels au sein d'un groupe à des fins d'administration.

NoteN'utilisez pas cet endpoint pour créer un catalogue de magasin.

### Lire un objet virtuel

 - [GET /v2/project/{project_id}/admin/items/virtual_items/sku/{item_sku}](https://xsolla.redocly.app/fr/api/catalog/virtual-items-currency-admin/admin-get-virtual-item.md): Récupère des informations sur un objet virtuel au sein d'un projet à des fins d'administration.

NoteN'utilisez pas cet endpoint pour créer un catalogue de magasin.

### Mettre à jour un objet virtuel

 - [PUT /v2/project/{project_id}/admin/items/virtual_items/sku/{item_sku}](https://xsolla.redocly.app/fr/api/catalog/virtual-items-currency-admin/admin-update-virtual-item.md): Met à jour un objet virtuel.

### Supprimer un objet virtuel

 - [DELETE /v2/project/{project_id}/admin/items/virtual_items/sku/{item_sku}](https://xsolla.redocly.app/fr/api/catalog/virtual-items-currency-admin/admin-delete-virtual-item.md): Supprime un objet virtuel.

### Lire la liste des monnaies virtuelles

 - [GET /v2/project/{project_id}/admin/items/virtual_currency](https://xsolla.redocly.app/fr/api/catalog/virtual-items-currency-admin/admin-get-virtual-currencies-list.md): Récupère la liste des monnaies virtuelles au sein d'un projet à des fins d'administration.

NoteN'utilisez pas cet endpoint pour créer un catalogue de magasin.

### Créer une monnaie virtuelle

 - [POST /v2/project/{project_id}/admin/items/virtual_currency](https://xsolla.redocly.app/fr/api/catalog/virtual-items-currency-admin/admin-create-virtual-currency.md): Crée une monnaie virtuelle.

### Lire une monnaie virtuelle

 - [GET /v2/project/{project_id}/admin/items/virtual_currency/sku/{virtual_currency_sku}](https://xsolla.redocly.app/fr/api/catalog/virtual-items-currency-admin/admin-get-virtual-currency.md): Récupère des informations sur une monnaie virtuelle au sein d'un projet à des fins d'administration.

NoteN'utilisez pas cet endpoint pour créer un catalogue de magasin.

### Mettre à jour une monnaie virtuelle

 - [PUT /v2/project/{project_id}/admin/items/virtual_currency/sku/{virtual_currency_sku}](https://xsolla.redocly.app/fr/api/catalog/virtual-items-currency-admin/admin-update-virtual-currency.md): Met à jour une monnaie virtuelle.

### Supprimer une monnaie virtuelle

 - [DELETE /v2/project/{project_id}/admin/items/virtual_currency/sku/{virtual_currency_sku}](https://xsolla.redocly.app/fr/api/catalog/virtual-items-currency-admin/admin-delete-virtual-currency.md): Supprime une monnaie virtuelle.

### Lire la liste des packages de monnaie virtuelle (administrateur)

 - [GET /v2/project/{project_id}/admin/items/virtual_currency/package](https://xsolla.redocly.app/fr/api/catalog/virtual-items-currency-admin/admin-get-virtual-currency-packages-list.md): Récupère la liste des packages de monnaie virtuelle au sein d'un projet à des fins d'administration.

NoteN'utilisez pas cet endpoint pour créer un catalogue de magasin.

### Créer un package de monnaie virtuelle

 - [POST /v2/project/{project_id}/admin/items/virtual_currency/package](https://xsolla.redocly.app/fr/api/catalog/virtual-items-currency-admin/admin-create-virtual-currency-package.md): Crée un package de monnaie virtuelle.

### Mettre à jour un package de monnaie virtuelle

 - [PUT /v2/project/{project_id}/admin/items/virtual_currency/package/sku/{item_sku}](https://xsolla.redocly.app/fr/api/catalog/virtual-items-currency-admin/admin-update-virtual-currency-package.md): Met à jour un package de monnaie virtuelle.

### Supprimer un package de monnaie virtuelle

 - [DELETE /v2/project/{project_id}/admin/items/virtual_currency/package/sku/{item_sku}](https://xsolla.redocly.app/fr/api/catalog/virtual-items-currency-admin/admin-delete-virtual-currency-package.md): Supprime un package de monnaie virtuelle.

### Lire un package de monnaie virtuelle

 - [GET /v2/project/{project_id}/admin/items/virtual_currency/package/sku/{item_sku}](https://xsolla.redocly.app/fr/api/catalog/virtual-items-currency-admin/admin-get-virtual-currency-package.md): Récupère des informations sur un package de monnaie virtuelle au sein d'un projet à des fins d'administration.

NoteN'utilisez pas cet endpoint pour créer un catalogue de magasin.

## Catalogue

### Lire une liste d'objets virtuels

 - [GET /v2/project/{project_id}/items/virtual_items](https://xsolla.redocly.app/fr/api/catalog/virtual-items-currency-catalog/get-virtual-items.md): Récupère une liste d'objets virtuels pour la constitution d'un catalogue.


  Remarque
    Tous les projets sont soumis à une limite de nombre d'objets pouvant être
    retourné dans une réponse. La valeur par défaut et maximale est de 50 objets
    par réponse. Pour récupérer davantage de données page par page, utilisez les champs limit
    et offset.





  Note
    Cet appel API renvoie des données génériques du catalogue des objets lorsqu'il est utilisé sans
    autorisation. Utilisez l'autorisation pour récupérer
    des données utilisateur personnalisées, telles que les limites et les promotions associées à l'objet.
    Pour ce faire, passez le JWT utilisateur dans l'en-tête Authorization.
    Pour plus d'informations sur le JWT utilisateur, consultez le bloc Security
    pour cet appel.


 Voir aussi : L'appel API Lire la liste de tous les objets virtuels pour la recherche ou l'indexation côté client.

### Lire un objet virtuel par UGS

 - [GET /v2/project/{project_id}/items/virtual_items/sku/{item_sku}](https://xsolla.redocly.app/fr/api/catalog/virtual-items-currency-catalog/get-virtual-items-sku.md): Récupère des informations sur un objet virtuel par son UGS pour la constitution d'un catalogue.


  Remarque
    Cet appel API renvoie des données génériques du catalogue d'objets lorsqu'il est utilisé sans autorisation. Utilisez l'autorisation pour récupérer
    des données utilisateur personnalisées, telles que les limites et les promotions associées à l'objet.
    Pour ce faire, passez le JWT de l'utilisateur dans l'en-tête Authorization.
    Pour plus d'informations sur le JWT utilisateur, consultez le bloc Security
    pour cet appel.

### Lire la liste de tous les objets virtuels

 - [GET /v2/project/{project_id}/items/virtual_items/all](https://xsolla.redocly.app/fr/api/catalog/virtual-items-currency-catalog/get-all-virtual-items.md): Récupère une liste de tous les objets virtuels pour la recherche côté client.


  Remarque
    Retourne uniquement l'UGS de l'objet, le nom, les groupes et la description.





  Note
    Cet appel API renvoie des données génériques du catalogue des objets lorsqu'il est utilisé sans
    autorisation. Utilisez l'autorisation pour récupérer
    des données utilisateur personnalisées, telles que les limites et les promotions associées à l'objet.
    Pour ce faire, passez le JWT utilisateur dans l'en-tête Authorization.
    Pour plus d'informations sur le JWT utilisateur, consultez le bloc Security
    pour cet appel.


 Voir aussi : L'appel API Lire la liste des objets virtuels pour récupérer des données détaillées sur les objets avec pagination.

### Lire une liste de monnaies virtuelles

 - [GET /v2/project/{project_id}/items/virtual_currency](https://xsolla.redocly.app/fr/api/catalog/virtual-items-currency-catalog/get-virtual-currency.md): Récupère une liste de monnaies virtuelles pour la constitution d'un catalogue.


  Attention
    Tous les projets sont soumis à une limite de nombre d'objets pouvant être
    retourné dans une réponse. La valeur par défaut et maximale est de 50 objets
    par réponse. Pour récupérer davantage de données page par page, utilisez les champs limit
    et offset.





  Note
    Cet appel API renvoie des données génériques du catalogue des objets lorsqu'il est utilisé sans
    autorisation. Utilisez l'autorisation pour récupérer
    des données utilisateur personnalisées, telles que les limites et les promotions associées à l'objet.
    Pour ce faire, passez le JWT utilisateur dans l'en-tête Authorization.
    Pour plus d'informations sur le JWT utilisateur, consultez le bloc Security
    pour cet appel.

### Lire une monnaie virtuelle par UGS

 - [GET /v2/project/{project_id}/items/virtual_currency/sku/{virtual_currency_sku}](https://xsolla.redocly.app/fr/api/catalog/virtual-items-currency-catalog/get-virtual-currency-sku.md): Récupère des informations sur une monnaie virtuelle par son UGS pour la constitution d'un catalogue.


  Note
    Cet appel API renvoie des données génériques du catalogue des objets lorsqu'il est utilisé sans
    autorisation. Utilisez l'autorisation pour récupérer
    des données utilisateur personnalisées, telles que les limites et les promotions associées à l'objet.
    Pour ce faire, passez le JWT utilisateur dans l'en-tête Authorization.
    Pour plus d'informations sur le JWT utilisateur, consultez le bloc Security
    pour cet appel.

### Lire une liste de packages de monnaie virtuelle

 - [GET /v2/project/{project_id}/items/virtual_currency/package](https://xsolla.redocly.app/fr/api/catalog/virtual-items-currency-catalog/get-virtual-currency-package.md): Récupère une liste de packages de monnaie virtuelle pour la constitution d'un catalogue.


  Attention
    Tous les projets sont soumis à une limite de nombre d'objets pouvant être
    retourné dans une réponse. La valeur par défaut et maximale est de 50 objets
    par réponse. Pour récupérer davantage de données page par page, utilisez les champs limit
    et offset.





  Note
    Cet appel API renvoie des données génériques du catalogue des objets lorsqu'il est utilisé sans
    autorisation. Utilisez l'autorisation pour récupérer
    des données utilisateur personnalisées, telles que les limites et les promotions associées à l'objet.
    Pour ce faire, passez le JWT utilisateur dans l'en-tête Authorization.
    Pour plus d'informations sur le JWT utilisateur, consultez le bloc Security
    pour cet appel.

### Lire un package de monnaie virtuelle par UGS

 - [GET /v2/project/{project_id}/items/virtual_currency/package/sku/{virtual_currency_package_sku}](https://xsolla.redocly.app/fr/api/catalog/virtual-items-currency-catalog/get-virtual-currency-package-sku.md): Récupère des informations sur un package de monnaie virtuelle par son UGS pour la constitution d'un catalogue.


  Note
    Cet appel API renvoie des données génériques du catalogue des objets lorsqu'il est utilisé sans
    autorisation. Utilisez l'autorisation pour récupérer
    des données utilisateur personnalisées, telles que les limites et les promotions associées à l'objet.
    Pour ce faire, passez le JWT utilisateur dans l'en-tête Authorization.
    Pour plus d'informations sur le JWT utilisateur, consultez le bloc Security
    pour cet appel.

### Lire une liste d'objets par groupe spécifique

 - [GET /v2/project/{project_id}/items/virtual_items/group/{external_id}](https://xsolla.redocly.app/fr/api/catalog/virtual-items-currency-catalog/get-virtual-items-group.md): Récupère une liste d'objets au sein d'un groupe spécifique pour la constitution d'un catalogue.


  Attention
    Tous les projets sont soumis à une limite de nombre d'objets pouvant être
    retourné dans une réponse. La valeur par défaut et maximale est de 50 objets
    par réponse. Pour récupérer davantage de données page par page, utilisez les champs limit
    et offset.





  Note
    Cet appel API renvoie des données génériques du catalogue des objets lorsqu'il est utilisé sans
    autorisation. Utilisez l'autorisation pour récupérer
    des données utilisateur personnalisées, telles que les limites et les promotions associées à l'objet.
    Pour ce faire, passez le JWT utilisateur dans l'en-tête Authorization.
    Pour plus d'informations sur le JWT utilisateur, consultez le bloc Security
    pour cet appel.

### Lire une liste des monnaies virtuelles par groupe spécifique

 - [GET /v2/project/{project_id}/items/virtual_currency/group/{external_id}](https://xsolla.redocly.app/fr/api/catalog/virtual-items-currency-catalog/get-virtual-currency-group.md): Récupère une liste de monnaies virtuelles à partir d'un groupe spécifié pour la constitution d'un catalogue.


  Attention
    Tous les projets sont soumis à une limite de nombre d'objets pouvant être
    retourné dans une réponse. La valeur par défaut et maximale est de 50 objets
    par réponse. Pour récupérer davantage de données page par page, utilisez les champs limit
    et offset.





  Note
    Cet appel API renvoie des données génériques du catalogue des objets lorsqu'il est utilisé sans
    autorisation. Utilisez l'autorisation pour récupérer
    des données utilisateur personnalisées, telles que les limites et les promotions associées à l'objet.
    Pour ce faire, passez le JWT utilisateur dans l'en-tête Authorization.
    Pour plus d'informations sur le JWT utilisateur, consultez le bloc Security
    pour cet appel.

### Lire une liste de packages de monnaie virtuelle par groupe spécifique

 - [GET /v2/project/{project_id}/items/virtual_currency/package/group/{external_id}](https://xsolla.redocly.app/fr/api/catalog/virtual-items-currency-catalog/get-virtual-currency-package-group.md): Récupère une liste de packages de monnaie virtuelle à partir d'un groupe spécifié pour la constitution d'un catalogue.


  Attention
    Tous les projets sont soumis à une limite de nombre d'objets pouvant être
    retourné dans une réponse. La valeur par défaut et maximale est de 50 objets
    par réponse. Pour récupérer davantage de données page par page, utilisez les champs limit
    et offset.





  Note
    Cet appel API renvoie des données génériques du catalogue des objets lorsqu'il est utilisé sans
    autorisation. Utilisez l'autorisation pour récupérer
    des données utilisateur personnalisées, telles que les limites et les promotions associées à l'objet.
    Pour ce faire, passez le JWT utilisateur dans l'en-tête Authorization.
    Pour plus d'informations sur le JWT utilisateur, consultez le bloc Security
    pour cet appel.

## Paiement virtuel

### Créer une commande à partir d'un objet spécifique en monnaie virtuelle

 - [POST /v2/project/{project_id}/payment/item/{item_sku}/virtual/{virtual_currency_sku}](https://xsolla.redocly.app/fr/api/catalog/virtual-payment/create-order-with-item-for-virtual-currency.md): Crée un achat d'objet en utilisant la monnaie virtuelle. 


  Note
    Cet appel API renvoie des données génériques du catalogue des objets lorsqu'il est utilisé sans
    autorisation. Utilisez l'autorisation pour récupérer
    des données utilisateur personnalisées, telles que les limites et les promotions associées à l'objet.
    Pour ce faire, passez le JWT utilisateur dans l'en-tête Authorization.
    Pour plus d'informations sur le JWT utilisateur, consultez le bloc Security
    pour cet appel.

## Catalogue

### Lire une liste de jeux

 - [GET /v2/project/{project_id}/items/game](https://xsolla.redocly.app/fr/api/catalog/game-keys-catalog/get-games-list.md): Récupère une liste de jeux pour la constitution d'un catalogue.


  Attention
    Tous les projets sont soumis à une limite de nombre d'objets pouvant être
    retourné dans une réponse. La valeur par défaut et maximale est de 50 objets
    par réponse. Pour récupérer davantage de données page par page, utilisez les champs limit
    et offset.





  Note
    Cet appel API renvoie des données génériques du catalogue des objets lorsqu'il est utilisé sans
    autorisation. Utilisez l'autorisation pour récupérer
    des données utilisateur personnalisées, telles que les limites et les promotions associées à l'objet.
    Pour ce faire, passez le JWT utilisateur dans l'en-tête Authorization.
    Pour plus d'informations sur le JWT utilisateur, consultez le bloc Security
    pour cet appel.

### Lire une liste de jeux par groupe spécifique

 - [GET /v2/project/{project_id}/items/game/group/{external_id}](https://xsolla.redocly.app/fr/api/catalog/game-keys-catalog/get-games-group.md): Récupère une liste de jeux à partir d'un groupe spécifié pour la constitution d'un catalogue.


  Attention
    Tous les projets sont soumis à une limite de nombre d'objets pouvant être
    retourné dans une réponse. La valeur par défaut et maximale est de 50 objets
    par réponse. Pour récupérer davantage de données page par page, utilisez les champs limit
    et offset.





  Note
    Cet appel API renvoie des données génériques du catalogue des objets lorsqu'il est utilisé sans
    autorisation. Utilisez l'autorisation pour récupérer
    des données utilisateur personnalisées, telles que les limites et les promotions associées à l'objet.
    Pour ce faire, passez le JWT utilisateur dans l'en-tête Authorization.
    Pour plus d'informations sur le JWT utilisateur, consultez le bloc Security
    pour cet appel.

### Lire un jeu pour le catalogue

 - [GET /v2/project/{project_id}/items/game/sku/{item_sku}](https://xsolla.redocly.app/fr/api/catalog/game-keys-catalog/get-game-by-sku.md): Récupère des informations sur un jeu pour le catalogue.


  Note
    Cet appel API renvoie des données génériques du catalogue des objets lorsqu'il est utilisé sans
    autorisation. Utilisez l'autorisation pour récupérer
    des données utilisateur personnalisées, telles que les limites et les promotions associées à l'objet.
    Pour ce faire, passez le JWT utilisateur dans l'en-tête Authorization.
    Pour plus d'informations sur le JWT utilisateur, consultez le bloc Security
    pour cet appel.

### Lire une clé de jeu pour le catalogue

 - [GET /v2/project/{project_id}/items/game/key/sku/{item_sku}](https://xsolla.redocly.app/fr/api/catalog/game-keys-catalog/get-game-key-by-sku.md): Récupère des informations sur une clé de jeu pour le catalogue.


  Note
    Cet appel API renvoie des données génériques du catalogue des objets lorsqu'il est utilisé sans
    autorisation. Utilisez l'autorisation pour récupérer
    des données utilisateur personnalisées, telles que les limites et les promotions associées à l'objet.
    Pour ce faire, passez le JWT utilisateur dans l'en-tête Authorization.
    Pour plus d'informations sur le JWT utilisateur, consultez le bloc Security
    pour cet appel.

### Lire une liste de clés de jeu par groupe spécifique

 - [GET /v2/project/{project_id}/items/game/key/group/{external_id}](https://xsolla.redocly.app/fr/api/catalog/game-keys-catalog/get-game-keys-group.md): Récupère une liste de clés de jeu à partir d'un groupe spécifié pour la constitution d'un catalogue.


  Attention
    Tous les projets sont soumis à une limite de nombre d'objets pouvant être
    retourné dans une réponse. La valeur par défaut et maximale est de 50 objets
    par réponse. Pour récupérer davantage de données page par page, utilisez les champs limit
    et offset.





  Note
    Cet appel API renvoie des données génériques du catalogue des objets lorsqu'il est utilisé sans
    autorisation. Utilisez l'autorisation pour récupérer
    des données utilisateur personnalisées, telles que les limites et les promotions associées à l'objet.
    Pour ce faire, passez le JWT utilisateur dans l'en-tête Authorization.
    Pour plus d'informations sur le JWT utilisateur, consultez le bloc Security
    pour cet appel.

### Lire la liste des DRM

 - [GET /v2/project/{project_id}/items/game/drm](https://xsolla.redocly.app/fr/api/catalog/game-keys-catalog/get-drm-list.md): Récupère la liste des DRM disponibles.

## Droit

### Lire la liste des jeux qu'un utilisateur détient

 - [GET /v2/project/{project_id}/entitlement](https://xsolla.redocly.app/fr/api/catalog/game-keys-entitlement/get-user-games.md): Récupère la liste des jeux que l'utilisateur détient. La réponse contiendra un tableau de jeux qu'un utilisateur spécifique détient.


  Attention
    Tous les projets sont soumis à une limite de nombre d'objets pouvant être
    retourné dans une réponse. La valeur par défaut et maximale est de 50 objets
    par réponse. Pour récupérer davantage de données page par page, utilisez les champs limit
    et offset.





  Note
    Cet appel API renvoie des données génériques du catalogue des objets lorsqu'il est utilisé sans
    autorisation. Utilisez l'autorisation pour récupérer
    des données utilisateur personnalisées, telles que les limites et les promotions associées à l'objet.
    Pour ce faire, passez le JWT utilisateur dans l'en-tête Authorization.
    Pour plus d'informations sur le JWT utilisateur, consultez le bloc Security
    pour cet appel.

### Échanger un code de jeu côté client

 - [POST /v2/project/{project_id}/entitlement/redeem](https://xsolla.redocly.app/fr/api/catalog/game-keys-entitlement/redeem-game-pin-code.md): Accorde le droit associé au code de jeu fourni.


  Remarque
    Vous pouvez utiliser des codes uniquement pour une plateforme sans DRM.





  Note
    Cet appel API renvoie des données génériques du catalogue des objets lorsqu'il est utilisé sans
    autorisation. Utilisez l'autorisation pour récupérer
    des données utilisateur personnalisées, telles que les limites et les promotions associées à l'objet.
    Pour ce faire, passez le JWT utilisateur dans l'en-tête Authorization.
    Pour plus d'informations sur le JWT utilisateur, consultez le bloc Security
    pour cet appel.

### Accorder un droit (administrateur)

 - [POST /v2/project/{project_id}/admin/entitlement/grant](https://xsolla.redocly.app/fr/api/catalog/game-keys-entitlement/grant-entitlement-admin.md): Accorde un droit à l'utilisateur.

AttentionSeuls les codes de jeu ou les jeux pour une plateforme sans DRM peuvent être accordés.

### Révoquer un droit (administrateur)

 - [POST /v2/project/{project_id}/admin/entitlement/revoke](https://xsolla.redocly.app/fr/api/catalog/game-keys-entitlement/revoke-entitlement-admin.md): Retire les droits à l'utilisateur.

AttentionSeuls les codes de jeu ou les jeux pour une plateforme sans DRM peuvent être retirés.

## Administrateur

### Créer un jeu

 - [POST /v2/project/{project_id}/admin/items/game](https://xsolla.redocly.app/fr/api/catalog/game-keys-admin/admin-create-game.md): Crée un jeu dans le projet.

### Lire la liste des jeux (administrateur)

 - [GET /v2/project/{project_id}/admin/items/game](https://xsolla.redocly.app/fr/api/catalog/game-keys-admin/admin-get-game-list.md): Récupère la liste des jeux au sein d'un projet à des fins d'administration.
Le jeu consiste en des clés de jeu qui peuvent être achetées par un utilisateur.

NoteN'utilisez pas cet endpoint pour créer un catalogue de magasin.

### Lire un jeu (administrateur)

 - [GET /v2/project/{project_id}/admin/items/game/sku/{item_sku}](https://xsolla.redocly.app/fr/api/catalog/game-keys-admin/admin-get-game-by-sku.md): Récupère des informations sur un jeu au sein d'un projet à des fins d'administration.
Le jeu consiste en des clés de jeu qui peuvent être achetées par un utilisateur.

NoteN'utilisez pas cet endpoint pour créer un catalogue de magasin.

### Mettre à jour un jeu par UGS

 - [PUT /v2/project/{project_id}/admin/items/game/sku/{item_sku}](https://xsolla.redocly.app/fr/api/catalog/game-keys-admin/admin-update-game-by-sku.md): Met à jour les informations d'un jeu dans le projet par UGS.

### Supprimer un jeu par UGS

 - [DELETE /v2/project/{project_id}/admin/items/game/sku/{item_sku}](https://xsolla.redocly.app/fr/api/catalog/game-keys-admin/admin-delete-game-by-sku.md): Supprime un jeu dans le projet par UGS.

### Lire un jeu par ID (administrateur)

 - [GET /v2/project/{project_id}/admin/items/game/id/{item_id}](https://xsolla.redocly.app/fr/api/catalog/game-keys-admin/admin-get-game-by-id.md): Récupère des informations sur un jeu au sein d'un projet à des fins d'administration.
Le jeu consiste en des clés de jeu qui peuvent être achetées par un utilisateur.

NoteN'utilisez pas cet endpoint pour créer un catalogue de magasin.

### Mettre à jour un jeu par ID

 - [PUT /v2/project/{project_id}/admin/items/game/id/{item_id}](https://xsolla.redocly.app/fr/api/catalog/game-keys-admin/admin-update-game-by-id.md): Met à jour les informations d'un jeu dans le projet par son ID.

### Supprimer un jeu par ID

 - [DELETE /v2/project/{project_id}/admin/items/game/id/{item_id}](https://xsolla.redocly.app/fr/api/catalog/game-keys-admin/admin-delete-game-by-id.md): Supprime un jeu du projet par son ID.

### Télécharger des codes

 - [POST /v2/project/{project_id}/admin/items/game/key/upload/sku/{item_sku}](https://xsolla.redocly.app/fr/api/catalog/game-keys-admin/admin-upload-codes-by-sku.md): Télécharge des codes par UGS de clé de jeu.

### Télécharger des codes par ID

 - [POST /v2/project/{project_id}/admin/items/game/key/upload/id/{item_id}](https://xsolla.redocly.app/fr/api/catalog/game-keys-admin/admin-upload-codes-by-id.md): Télécharge des codes par ID de clé de jeu.

### Lire des informations sur la session de chargement des codes

 - [GET /v2/project/{project_id}/admin/items/game/key/upload/session/{session_id}](https://xsolla.redocly.app/fr/api/catalog/game-keys-admin/admin-get-codes-session.md): Récupère des informations sur la session de chargement des codes.

### Lire des codes

 - [GET /v2/project/{project_id}/admin/items/game/key/request/sku/{item_sku}](https://xsolla.redocly.app/fr/api/catalog/game-keys-admin/admin-get-codes-by-sku.md): Récupère un certain nombre de codes par UGS de clé de jeu.

### Lire des codes par ID

 - [GET /v2/project/{project_id}/admin/items/game/key/request/id/{item_id}](https://xsolla.redocly.app/fr/api/catalog/game-keys-admin/admin-get-codes-by-id.md): Récupère un certain nombre de codes par ID de clé de jeu.

### Supprimer les codes

 - [DELETE /v2/project/{project_id}/admin/items/game/key/delete/sku/{item_sku}](https://xsolla.redocly.app/fr/api/catalog/game-keys-admin/admin-delete-codes-by-sku.md): Supprime tous les codes par UGS de clé de jeu.

### Supprimer des codes par ID

 - [DELETE /v2/project/{project_id}/admin/items/game/key/delete/id/{item_id}](https://xsolla.redocly.app/fr/api/catalog/game-keys-admin/admin-delete-codes-by-id.md): Supprime tous les codes par ID de clé de jeu.

## Administrateur

### Lire une liste de lots

 - [GET /v2/project/{project_id}/admin/items/bundle](https://xsolla.redocly.app/fr/api/catalog/bundles-admin/admin-get-bundle-list.md): Récupère la liste des lots au sein d'un projet à des fins d'administration.

NoteN'utilisez pas cet endpoint pour créer un catalogue de magasin.

### Créer un lot

 - [POST /v2/project/{project_id}/admin/items/bundle](https://xsolla.redocly.app/fr/api/catalog/bundles-admin/admin-create-bundle.md): Crée un lot : un ensemble d'objets vendus comme une seule unité. Un lot peut contenir des objets virtuels, des packages de monnaie virtuelle, des clés de jeu et d'autres lots. Pour en savoir plus, consultez la section Lots.

RemarqueTous les objets dans le tableau content doivent être créés à l'avance dans le projet. Le système renvoie une erreur si l'UGS spécifiée n'existe pas.

### Lire la liste des lots par ID d'un groupe spécifique

 - [GET /v2/project/{project_id}/admin/items/bundle/group/id/{group_id}](https://xsolla.redocly.app/fr/api/catalog/bundles-admin/admin-get-bundle-list-in-group-by-id.md): Récupère la liste des lots au sein d'un groupe à des fins d'administration.

NoteN'utilisez pas cet endpoint pour créer un catalogue de magasin.

### Lire la liste des lots par external ID d'un groupe spécifique

 - [GET /v2/project/{project_id}/admin/items/bundle/group/external_id/{external_id}](https://xsolla.redocly.app/fr/api/catalog/bundles-admin/admin-get-bundle-list-in-group-by-external-id.md): Récupère la liste des lots au sein d'un groupe à des fins d'administration.

NoteN'utilisez pas cet endpoint pour créer un catalogue de magasin.

### Mettre à jour un lot

 - [PUT /v2/project/{project_id}/admin/items/bundle/sku/{sku}](https://xsolla.redocly.app/fr/api/catalog/bundles-admin/admin-update-bundle.md): Mettre à jour un lot. Cet appel remplace entièrement le lot : passez tous les champs requis dans le corps de la requête, pas uniquement ceux à modifier. Pour en savoir plus, consultez la section Lots.

RemarqueTous les objets dans le tableau content doivent être créés à l'avance dans le projet. Le système renvoie une erreur si l'UGS spécifiée n'existe pas.

### Supprimer un lot

 - [DELETE /v2/project/{project_id}/admin/items/bundle/sku/{sku}](https://xsolla.redocly.app/fr/api/catalog/bundles-admin/admin-delete-bundle.md): Supprime un lot.

### Lire un lot

 - [GET /v2/project/{project_id}/admin/items/bundle/sku/{sku}](https://xsolla.redocly.app/fr/api/catalog/bundles-admin/admin-get-bundle.md): Récupère des informations sur un lot au sein d'un projet à des fins d'administration.

NoteN'utilisez pas cet endpoint pour créer un catalogue de magasin.

### Afficher un lot dans le catalogue

 - [PUT /v2/project/{project_id}/admin/items/bundle/sku/{sku}/show](https://xsolla.redocly.app/fr/api/catalog/bundles-admin/admin-show-bundle.md): Affiche un lot dans un catalogue.

### Masquer un lot dans le catalogue

 - [PUT /v2/project/{project_id}/admin/items/bundle/sku/{sku}/hide](https://xsolla.redocly.app/fr/api/catalog/bundles-admin/admin-hide-bundle.md): Masque un lot dans un catalogue.

## Catalogue

### Lire une liste de lots

 - [GET /v2/project/{project_id}/items/bundle](https://xsolla.redocly.app/fr/api/catalog/bundles-catalog/get-bundle-list.md): Récupère une liste de lots pour la constitution d'un catalogue.


  Attention
    Tous les projets sont soumis à une limite de nombre d'objets pouvant être
    retourné dans une réponse. La valeur par défaut et maximale est de 50 objets
    par réponse. Pour récupérer davantage de données page par page, utilisez les champs limit
    et offset.





  Note
    Cet appel API renvoie des données génériques du catalogue des objets lorsqu'il est utilisé sans
    autorisation. Utilisez l'autorisation pour récupérer
    des données utilisateur personnalisées, telles que les limites et les promotions associées à l'objet.
    Pour ce faire, passez le JWT utilisateur dans l'en-tête Authorization.
    Pour plus d'informations sur le JWT utilisateur, consultez le bloc Security
    pour cet appel.

### Lire un lot spécifique

 - [GET /v2/project/{project_id}/items/bundle/sku/{sku}](https://xsolla.redocly.app/fr/api/catalog/bundles-catalog/get-bundle.md): Récupère des informations sur un lot spécifique.


  Note
    Cet appel API renvoie des données génériques du catalogue des objets lorsqu'il est utilisé sans
    autorisation. Utilisez l'autorisation pour récupérer
    des données utilisateur personnalisées, telles que les limites et les promotions associées à l'objet.
    Pour ce faire, passez le JWT utilisateur dans l'en-tête Authorization.
    Pour plus d'informations sur le JWT utilisateur, consultez le bloc Security
    pour cet appel.

### Lire une liste de lots par groupe spécifique

 - [GET /v2/project/{project_id}/items/bundle/group/{external_id}](https://xsolla.redocly.app/fr/api/catalog/bundles-catalog/get-bundle-list-in-group.md): Récupère une liste de lots dans un groupe pour la constitution d'un catalogue.


  Attention
    Tous les projets sont soumis à une limite de nombre d'objets pouvant être
    retourné dans une réponse. La valeur par défaut et maximale est de 50 objets
    par réponse. Pour récupérer davantage de données page par page, utilisez les champs limit
    et offset.





  Note
    Cet appel API renvoie des données génériques du catalogue des objets lorsqu'il est utilisé sans
    autorisation. Utilisez l'autorisation pour récupérer
    des données utilisateur personnalisées, telles que les limites et les promotions associées à l'objet.
    Pour ce faire, passez le JWT utilisateur dans l'en-tête Authorization.
    Pour plus d'informations sur le JWT utilisateur, consultez le bloc Security
    pour cet appel.

## Panier (côté client)

Utilisez les appels de cette section pour gérer le panier côté client.

### Lire le panier par ID de panier

 - [GET /v2/project/{project_id}/cart/{cart_id}](https://xsolla.redocly.app/fr/api/catalog/cart-client-side/get-cart-by-id.md): Renvoie le panier de l'utilisateur par son ID de panier.

### Lire le panier de l'utilisateur actuel

 - [GET /v2/project/{project_id}/cart](https://xsolla.redocly.app/fr/api/catalog/cart-client-side/get-user-cart.md): Renvoie le panier de l'utilisateur actuel.

### Supprimer tous les objets du panier par ID de panier

 - [PUT /v2/project/{project_id}/cart/{cart_id}/clear](https://xsolla.redocly.app/fr/api/catalog/cart-client-side/cart-clear-by-id.md): Supprime tous les objets du panier.

### Supprimer tous les objets du panier actuel

 - [PUT /v2/project/{project_id}/cart/clear](https://xsolla.redocly.app/fr/api/catalog/cart-client-side/cart-clear.md): Supprime tous les objets du panier.

### Remplir le panier d'objets

 - [PUT /v2/project/{project_id}/cart/fill](https://xsolla.redocly.app/fr/api/catalog/cart-client-side/cart-fill.md): Remplit d'objets le panier. Si le panier contient déjà un objet avec la même UGS, l'objet existant sera remplacé par la valeur passée.

### Remplir un panier spécifique d'objets

 - [PUT /v2/project/{project_id}/cart/{cart_id}/fill](https://xsolla.redocly.app/fr/api/catalog/cart-client-side/cart-fill-by-id.md): Remplit d'objets un panier spécifique. Si le panier contient déjà un objet avec la même UGS, l'objet existant sera remplacé par la valeur passée.

### Mettre à jour un objet du panier par ID de panier

 - [PUT /v2/project/{project_id}/cart/{cart_id}/item/{item_sku}](https://xsolla.redocly.app/fr/api/catalog/cart-client-side/put-item-by-cart-id.md): Met à jour un objet de panier existant ou en crée un nouveau dans le panier.

### Supprimer un objet du panier par ID de panier

 - [DELETE /v2/project/{project_id}/cart/{cart_id}/item/{item_sku}](https://xsolla.redocly.app/fr/api/catalog/cart-client-side/delete-item-by-cart-id.md): Supprime un objet du panier.

### Mettre à jour un objet du panier actuel

 - [PUT /v2/project/{project_id}/cart/item/{item_sku}](https://xsolla.redocly.app/fr/api/catalog/cart-client-side/put-item.md): Met à jour un objet de panier existant ou en crée un nouveau dans le panier.

### Supprimer un objet du panier actuel

 - [DELETE /v2/project/{project_id}/cart/item/{item_sku}](https://xsolla.redocly.app/fr/api/catalog/cart-client-side/delete-item.md): Supprime un objet du panier.

## Panier (côté serveur)

Utilisez les appels de cette section pour gérer le panier côté serveur.

### Remplir le panier d'objets

 - [PUT /v2/admin/project/{project_id}/cart/fill](https://xsolla.redocly.app/fr/api/catalog/cart-server-side/admin-cart-fill.md): Remplit d'objets le panier actuel. Si le panier contient déjà un objet avec la même UGS, l'objet existant sera remplacé par la valeur passée.

### Remplir le panier d'objets par ID de panier

 - [PUT /v2/admin/project/{project_id}/cart/{cart_id}/fill](https://xsolla.redocly.app/fr/api/catalog/cart-server-side/admin-fill-cart-by-id.md): Remplit d'objets le panier par son ID. Si le panier contient déjà un objet avec la même UGS, l'objet existant sera remplacé par la valeur passée.

## Paiement (côté client)

Utilisez les appels de cette section pour créer un jeton de paiement côté client.

### Créer une commande à partir de tous les objets d'un panier spécifique

 - [POST /v2/project/{project_id}/payment/cart/{cart_id}](https://xsolla.redocly.app/fr/api/catalog/payment-client-side/create-order-by-cart-id.md): Utilisé pour l'intégration client-serveur. Crée une commande à partir de tous les objets d'un panier spécifique et génère un jeton de paiement pour cette commande. La commande créée aura le statut new.

L'adresse IP du client est utilisée pour déterminer le pays de l'utilisateur, qui est ensuite utilisé pour appliquer la devise appropriée et les modes de paiement disponibles pour la commande.

Pour ouvrir l'interface de paiement dans une nouvelle fenêtre, utilisez le lien suivant : https://secure.xsolla.com/paystation4/?token={token}, où {token} est le jeton reçu.

À des fins de test, utilisez cette URL : https://sandbox-secure.xsolla.com/paystation4/?token={token}.

Remarque  Étant donné que cette méthode se base sur l'adresse IP pour déterminer le pays de l'utilisateur et sélectionner la devise de la commande, il est important de l'utiliser exclusivement côté client et non côté serveur. L'utilisation de cette méthode côté serveur pourrait entraîner une détermination incorrecte de la devise, ce qui pourrait affecter les modes de paiement dans Pay Station.

### Créer une commande à partir de tous les objets du panier actuel

 - [POST /v2/project/{project_id}/payment/cart](https://xsolla.redocly.app/fr/api/catalog/payment-client-side/create-order.md): Utilisé pour l'intégration client-serveur. Crée une commande à partir de tous les objets du panier et génère un jeton de paiement pour cette commande. La commande créée aura le statut new.

L'adresse IP du client est utilisée pour déterminer le pays de l'utilisateur, qui est ensuite utilisé pour appliquer la devise appropriée et les modes de paiement disponibles pour la commande.

Pour ouvrir l'interface de paiement dans une nouvelle fenêtre, utilisez le lien suivant : https://secure.xsolla.com/paystation4/?token={token}, où {token} est le jeton reçu.

À des fins de test, utilisez cette URL : https://sandbox-secure.xsolla.com/paystation4/?token={token}.

Remarque  Étant donné que cette méthode se base sur l'adresse IP pour déterminer le pays de l'utilisateur et sélectionner la devise de la commande, il est important de l'utiliser exclusivement côté client et non côté serveur. L'utilisation de cette méthode côté serveur pourrait entraîner une détermination incorrecte de la devise, ce qui pourrait affecter les modes de paiement dans Pay Station.

### Créer une commande à partir d'un objet spécifique

 - [POST /v2/project/{project_id}/payment/item/{item_sku}](https://xsolla.redocly.app/fr/api/catalog/payment-client-side/create-order-with-item.md): Utilisé pour l'intégration client-serveur. Crée une commande avec un objet spécifié et génère un jeton de paiement pour celle-ci. La commande créée reçoit le statut new.

L'adresse IP du client est utilisée pour déterminer le pays de l'utilisateur, qui est ensuite utilisé pour appliquer la devise appropriée et les modes de paiement disponibles pour la commande.

Pour ouvrir l'interface de paiement dans une nouvelle fenêtre, utilisez le lien suivant : https://secure.xsolla.com/paystation4/?token={token}, où {token} est le jeton reçu.

À des fins de test, utilisez cette URL : https://sandbox-secure.xsolla.com/paystation4/?token={token}.

Remarque  Étant donné que cette méthode se base sur l'adresse IP pour déterminer le pays de l'utilisateur et sélectionner la devise de la commande, il est important de l'utiliser exclusivement côté client et non côté serveur. L'utilisation de cette méthode côté serveur pourrait entraîner une détermination incorrecte de la devise, ce qui pourrait affecter les modes de paiement dans Pay Station.




  Note
    Cet appel API utilise un JWT utilisateur pour l'autorisation.
    Incluez le jeton dans l'en-tête Authorization au format suivant : Bearer &lt;user_JWT&gt;. Pour plus d'informations sur le JWT utilisateur, consultez le bloc Security pour cet appel.

## Paiement (côté serveur)

Utilisez les appels de cette section pour créer un jeton de paiement côté serveur.

### Créer un jeton de paiement pour un achat

 - [POST /v3/project/{project_id}/admin/payment/token](https://xsolla.redocly.app/fr/api/catalog/payment-server-side/admin-create-payment-token.md): Génère une commande et un jeton de paiement pour celle-ci. La commande est générée sur la base des objets passés dans le corps de la requête.

Pour ouvrir l'interface de paiement dans une nouvelle fenêtre, utilisez le lien suivant : https://secure.xsolla.com/paystation4/?token={token}, où {token} est le jeton reçu.

À des fins de test, utilisez cette URL : https://sandbox-secure.xsolla.com/paystation4/?token={token}.

Remarque
   
    Pour que la méthode fonctionne correctement, passez le paramètre user.country.value (code pays) ou l'en-tête X-User-Ip (adresse IPv4 de l'utilisateur si le pays n'est pas connu). Ces données servent à déterminer la devise de paiement. Les adresses IPv6 ne sont pas prises en charge.  La devise choisie sera utilisée pour les modes de paiement dans l'interface de paiement Xsolla.

## Commande

Utilisez les appels de cette section pour obtenir des informations sur les commandes.

### Lire une commande

 - [GET /v2/project/{project_id}/order/{order_id}](https://xsolla.redocly.app/fr/api/catalog/order/get-order.md): Récupère des informations sur une commande spécifique.

### Lire la liste des commandes pour la période spécifiée

 - [POST /v3/project/{project_id}/admin/order/search](https://xsolla.redocly.app/fr/api/catalog/order/admin-order-search.md): Récupère la liste des commandes, triées par date de création dans un ordre croissant.

## Biens gratuits

Use calls from this section to grant <a href="https://developers.xsolla.com/fr/items-catalog/catalog-features/free-items/">free items</a> to users.

### Créer une commande à partir d'un panier gratuit

 - [POST /v2/project/{project_id}/free/cart](https://xsolla.redocly.app/fr/api/catalog/free-item/create-free-order.md): Crée une commande à partir de tous les objets d'un panier gratuit. La commande créée aura le statut done.

### Créer une commande à partir d'un panier gratuit spécifique

 - [POST /v2/project/{project_id}/free/cart/{cart_id}](https://xsolla.redocly.app/fr/api/catalog/free-item/create-free-order-by-cart-id.md): Crée une commande à partir de tous les biens d'un panier gratuit spécifique. La commande créée aura le statut done.

### Créer une commande à partir d'un bien gratuit spécifique

 - [POST /v2/project/{project_id}/free/item/{item_sku}](https://xsolla.redocly.app/fr/api/catalog/free-item/create-free-order-with-item.md): Crée une commande pour un objet gratuit spécifique. La commande créée reçoit le statut done. 


  Note
    Cet appel API renvoie des données génériques du catalogue des objets lorsqu'il est utilisé sans
    autorisation. Utilisez l'autorisation pour récupérer
    des données utilisateur personnalisées, telles que les limites et les promotions associées à l'objet.
    Pour ce faire, passez le JWT utilisateur dans l'en-tête Authorization.
    Pour plus d'informations sur le JWT utilisateur, consultez le bloc Security
    pour cet appel.

## Gestion

### Actualiser toutes les limites d'achat pour un utilisateur spécifique

 - [DELETE /v2/project/{project_id}/admin/user/limit/item/all](https://xsolla.redocly.app/fr/api/catalog/user-limits-admin/reset-all-user-items-limit.md): Actualise toutes les limites d'achat de tous les objets pour un utilisateur spécifique afin qu'il puisse à nouveau acheter ces objets.

L'API des limites utilisateur vous permet de vendre un objet en quantité limitée. Pour configurer les limites d'achat, accédez à la section Administrateur du module du type d'objet souhaité :
* Clés de jeu
* Objets et monnaie virtuels
* Lots

### Actualiser la limite d'achat

 - [DELETE /v2/project/{project_id}/admin/user/limit/item/sku/{item_sku}/all](https://xsolla.redocly.app/fr/api/catalog/user-limits-admin/reset-user-item-limit.md): Actualise les limites d'achat pour un objet afin que l'utilisateur puisse l'acheter à nouveau. Si le paramètre user est défini sur null, cet appel actualise ces limites pour tous les utilisateurs.

L'API des limites utilisateur vous permet de vendre un objet en quantité limitée. Pour configurer les limites d'achat, accédez à la section Administrateur du module du type d'objet souhaité :
* Clés de jeu
* Objets et monnaie virtuels
* Lots

### Lire le nombre d'objets offerts pour un utilisateur spécifique

 - [GET /v2/project/{project_id}/admin/user/limit/item/sku/{item_sku}](https://xsolla.redocly.app/fr/api/catalog/user-limits-admin/get-user-item-limit.md): Récupère le nombre restant d'objets disponibles pour l'utilisateur spécifié dans la limite appliquée.

L'API des limites utilisateur vous permet de vendre un objet en quantité limitée. Pour configurer les limites d'achat, accédez à la section Administrateur du module du type d'objet souhaité :
* Clés de jeu
* Objets et monnaie virtuels
* Lots

### Augmenter le nombre d'objets offerts pour un utilisateur spécifique

 - [POST /v2/project/{project_id}/admin/user/limit/item/sku/{item_sku}](https://xsolla.redocly.app/fr/api/catalog/user-limits-admin/add-user-item-limit.md): Augmente le nombre restant d'objets disponibles pour un utilisateur spécifique dans la limite appliquée.

L'API des limites utilisateur vous permet de vendre un objet en quantité limitée. Pour configurer les limites d'achat, accédez à la section Administrateur du module du type d'objet souhaité :
* Clés de jeu
* Objets et monnaie virtuels
* Lots

### Définir le nombre d'objets offerts pour un utilisateur spécifique

 - [PUT /v2/project/{project_id}/admin/user/limit/item/sku/{item_sku}](https://xsolla.redocly.app/fr/api/catalog/user-limits-admin/set-user-item-limit.md): Définit le nombre d'objets qu'un utilisateur spécifique peut acheter dans la limite appliquée après une augmentation ou une diminution.

L'API des limites utilisateur vous permet de vendre un objet en quantité limitée. Pour configurer les limites d'achat, accédez à la section Administrateur du module du type d'objet souhaité :
* Clés de jeu
* Objets et monnaie virtuels
* Lots

### Réduire le nombre d'objets offerts pour un utilisateur spécifique

 - [DELETE /v2/project/{project_id}/admin/user/limit/item/sku/{item_sku}](https://xsolla.redocly.app/fr/api/catalog/user-limits-admin/remove-user-item-limit.md): Réduit le nombre restant d'objets offerts pour un utilisateur spécifique dans la limite appliquée.

L'API des limites utilisateur vous permet de vendre un objet en quantité limitée. Pour configurer les limites d'achat, accédez à la section Administrateur du module du type d'objet souhaité :
* Clés de jeu
* Objets et monnaie virtuels
* Lots

## Administrateur

### Importer des objets via un fichier JSON

 - [POST /v1/projects/{project_id}/import/from_external_file](https://xsolla.redocly.app/fr/api/catalog/connector-admin/import-items-from-external-file.md): Importe des objets dans le magasin à partir d'un fichier JSON via l'URL spécifiée. Pour plus d'informations, consultez la documentation.

### Lire le statut de l'importation d'objets

 - [GET /v1/admin/projects/{project_id}/connectors/import_items/import/status](https://xsolla.redocly.app/fr/api/catalog/connector-admin/get-items-import-status.md): Récupère des informations sur la progression de l'importation d'objets dans le projet. Cet appel API récupère des données sur la dernière importation effectuée par le biais de l'API ou du Compte éditeur.

## Pré-commandes

### Lire des informations sur la limite de pré-commande d'un objet

 - [GET /v2/project/{project_id}/admin/items/pre_order/limit/item/sku/{item_sku}](https://xsolla.redocly.app/fr/api/catalog/common-pre-orders/get-pre-order-limit.md): Récupère des information sur la limite de pré-commande pour un objet.

L'API des limites de précommande vous permet de vendre un objet en quantité limitée. Pour configurer la pré-commande, accédez à la section Administrateur du module de l'objet souhaité :
* Clés de jeu
* Objets et monnaie virtuels
* Lots

Alias pour cet endpoint :
* /v2/project/{project_id}/admin/items/pre_order/limit/item/id/{item_id}

### Ajouter une quantité à la limite de pré-commande pour un objet

 - [POST /v2/project/{project_id}/admin/items/pre_order/limit/item/sku/{item_sku}](https://xsolla.redocly.app/fr/api/catalog/common-pre-orders/add-pre-order-limit.md): Ajoute une quantité à la limite de pré-commande pour un objet.

L'API des limites de précommande vous permet de vendre un objet en quantité limitée. Pour configurer la pré-commande, accédez à la section Administrateur du module de l'objet souhaité :
* Clés de jeu
* Objets et monnaie virtuels
* Lots

Alias pour cet endpoint :
* /v2/project/{project_id}/admin/items/pre_order/limit/item/id/{item_id}

### Définir une quantité de la limite de pré-commande pour un objet

 - [PUT /v2/project/{project_id}/admin/items/pre_order/limit/item/sku/{item_sku}](https://xsolla.redocly.app/fr/api/catalog/common-pre-orders/set-pre-order-limit.md): Définit une quantité de limite de pré-commande pour un objet.

L'API des limites de précommande vous permet de vendre un objet en quantité limitée. Pour configurer la pré-commande, accédez à la section Administrateur du module de l'objet souhaité :
* Clés de jeu
* Objets et monnaie virtuels
* Lots

Alias pour cet endpoint :
* /v2/project/{project_id}/admin/items/pre_order/limit/item/id/{item_id}

### Supprimer une quantité de la limite de pré-commande pour un objet

 - [DELETE /v2/project/{project_id}/admin/items/pre_order/limit/item/sku/{item_sku}](https://xsolla.redocly.app/fr/api/catalog/common-pre-orders/remove-pre-order-limit.md): Supprime une quantité de la limite de pré-commande pour un objet.

L'API des limites de précommande vous permet de vendre un objet en quantité limitée. Pour configurer la pré-commande, accédez à la section Administrateur du module de l'objet souhaité :
* Clés de jeu
* Objets et monnaie virtuels
* Lots

Alias pour cet endpoint :
* /v2/project/{project_id}/admin/items/pre_order/limit/item/id/{item_id}

### Basculer la limite de pré-commande pour un objet

 - [PUT /v2/project/{project_id}/admin/items/pre_order/limit/item/sku/{item_sku}/toggle](https://xsolla.redocly.app/fr/api/catalog/common-pre-orders/toggle-pre-order-limit.md): Activer/désactiver la limite de pré-commande de l'objet.

L'API des limites de précommande vous permet de vendre un objet en quantité limitée. Pour configurer la pré-commande, accédez à la section administrateur du module de l'objet souhaité :
* Clés de jeu
* Objets et monnaie virtuels
* Lots

Alias pour cet endpoint :
* /v2/project/{project_id}/admin/items/pre_order/limit/item/id/{item_id}

### Supprimer toute la quantité de la limite de pré-commande pour un objet

 - [DELETE /v2/project/{project_id}/admin/items/pre_order/limit/item/sku/{item_sku}/all](https://xsolla.redocly.app/fr/api/catalog/common-pre-orders/remove-all-pre-order-limit.md): Supprime toute la quantité de limite de pré-commande pour un objet.

L'API des limites de précommande vous permet de vendre un objet en quantité limitée. Pour configurer la pré-commande, accédez à la section administrateur du module de l'objet souhaité :
* Clés de jeu
* Objets et monnaie virtuels
* Lots

Alias pour cet endpoint :
* /v2/project/{project_id}/admin/items/pre_order/limit/item/id/{item_id}

## Commerçant

### Lire les projets

 - [GET /v2/merchant/{merchant_id}/projects](https://xsolla.redocly.app/fr/api/catalog/common-merchant/get-projects.md): Récupère la liste des projets du commerçant.


  RemarqueCet appel API ne contient pas le paramètre de chemin project_id, vous devez donc utiliser la clé API valide dans tous les projets de l'entreprise pour configurer l'autorisation.

## Catalogue

Cette API permet de récupérer tout type d'objet vendable ou tout objet spécifique.

### Lire une liste d'objets vendables

 - [GET /v2/project/{project_id}/items](https://xsolla.redocly.app/fr/api/catalog/common-catalog/get-sellable-items.md): Récupère une liste d'objets vendables pour la constitution d'un catalogue.


  Attention
    Tous les projets sont soumis à une limite de nombre d'objets pouvant être
    retourné dans une réponse. La valeur par défaut et maximale est de 50 objets
    par réponse. Pour récupérer davantage de données page par page, utilisez les champs limit
    et offset.





  Note
    Cet appel API renvoie des données génériques du catalogue des objets lorsqu'il est utilisé sans
    autorisation. Utilisez l'autorisation pour récupérer
    des données utilisateur personnalisées, telles que les limites et les promotions associées à l'objet.
    Pour ce faire, passez le JWT utilisateur dans l'en-tête Authorization.
    Pour plus d'informations sur le JWT utilisateur, consultez le bloc Security
    pour cet appel.

### Lire un objet vendable par ID

 - [GET /v2/project/{project_id}/items/id/{item_id}](https://xsolla.redocly.app/fr/api/catalog/common-catalog/get-sellable-item-by-id.md): Récupère des informations sur un objet vendable par son ID.


  Note
    Cet appel API renvoie des données génériques du catalogue des objets lorsqu'il est utilisé sans
    autorisation. Utilisez l'autorisation pour récupérer
    des données utilisateur personnalisées, telles que les limites et les promotions associées à l'objet.
    Pour ce faire, passez le JWT utilisateur dans l'en-tête Authorization.
    Pour plus d'informations sur le JWT utilisateur, consultez le bloc Security
    pour cet appel.

### Lire un objet vendable par UGS

 - [GET /v2/project/{project_id}/items/sku/{sku}](https://xsolla.redocly.app/fr/api/catalog/common-catalog/get-sellable-item-by-sku.md): Récupère des informations sur un objet vendable par son UGS pour la constitution d'un catalogue.


  Note
    Cet appel API renvoie des données génériques du catalogue des objets lorsqu'il est utilisé sans
    autorisation. Utilisez l'autorisation pour récupérer
    des données utilisateur personnalisées, telles que les limites et les promotions associées à l'objet.
    Pour ce faire, passez le JWT utilisateur dans l'en-tête Authorization.
    Pour plus d'informations sur le JWT utilisateur, consultez le bloc Security
    pour cet appel.

### Lire une liste d'objets vendables par groupe spécifique

 - [GET /v2/project/{project_id}/items/group/{external_id}](https://xsolla.redocly.app/fr/api/catalog/common-catalog/get-sellable-items-group.md): Récupère une liste d'objets vendables à partir d'un groupe spécifié pour la constitution d'un catalogue.


  Attention
    Tous les projets sont soumis à une limite de nombre d'objets pouvant être
    retourné dans une réponse. La valeur par défaut et maximale est de 50 objets
    par réponse. Pour récupérer davantage de données page par page, utilisez les champs limit
    et offset.





  Note
    Cet appel API renvoie des données génériques du catalogue des objets lorsqu'il est utilisé sans
    autorisation. Utilisez l'autorisation pour récupérer
    des données utilisateur personnalisées, telles que les limites et les promotions associées à l'objet.
    Pour ce faire, passez le JWT utilisateur dans l'en-tête Authorization.
    Pour plus d'informations sur le JWT utilisateur, consultez le bloc Security
    pour cet appel.

## Régions communes

Les restrictions de vente régionales vous permettent de gérer la disponibilité des objets par pays ou groupes de pays. Par exemple, vous pouvez limiter la vente d'un jeu à certains pays en raison de contraintes de licence.

Les restrictions sont configurées par régions. Chaque région regroupe un ou plusieurs pays avec un identifiant `region_id` unique. Vous pouvez associer un objet à plusieurs régions.

La disponibilité des objets est déterminée comme suit :

* Sans région spécifiée, un article est disponible à l'achat dans tous les pays.
* Si le pays de l'utilisateur correspond à l'une des régions configurées, l'objet est disponible.
* Si le pays de l'utilisateur ne correspond à aucune région configurée, l'article est indisponible.

Le pays de l'utilisateur est passé dans le paramètre `country` lors des requêtes au catalogue via les appels API de la sous-section **Catalogue**. Si ce paramètre n'est pas passé, le pays est déterminé selon l'adresse IP de l'utilisateur.

Le pays de l'utilisateur est vérifié par rapport aux régions associées à l'objet à deux étapes : lors des requêtes au catalogue et lors de la création d'une commande. Les objets indisponibles ne sont pas inclus dans la réponse du catalogue, et aucune commande contenant un tel article ne sera créée.

Utilisez les appels API du groupe **Régions communes** pour créer, mettre à jour et supprimer des régions.

Flux de configuration des restrictions de vente régionales :

1. Créez une région via l'appel API [Créer une région](https://developers.xsolla.com/fr/api/catalog/common-regions/admin-create-region/) en spécifiant les pays concernés. La réponse retourne un `region_id` nécessaire à l'étape suivante.
2. Associez un objet virtuel à cette région en passant son `region_id` au tableau `regions` lors de la [création](https://developers.xsolla.com/fr/api/catalog/virtual-items-currency-admin/admin-create-virtual-item/) ou de la [mise à jour](https://developers.xsolla.com/fr/api/catalog/virtual-items-currency-admin/admin-update-virtual-item/) de l'objet.
3. Affichez le catalogue via les appels API de la sous-section **Catalogue**, par exemple l'appel API [Lire la liste des objets virtuels](https://developers.xsolla.com/fr/api/catalog/virtual-items-currency-catalog/get-virtual-items). Le pays de l'utilisateur est défini par le paramètre `country` ou par son adresse IP si ce paramètre est absent. Les objets indisponibles dans ce pays ne sont pas renvoyés dans le catalogue.
4. Lorsqu'un utilisateur souhaite payer un objet ou un panier, créez une commande :
    * Pour un article ajouté au panier : utilisez l'appel API [Créer une commande à partir de tous les objets d'un panier spécifique](https://developers.xsolla.com/fr/api/catalog/payment-client-side/create-order) ou [Créer une commande à partir de tous les objets du panier actuel](https://developers.xsolla.com/fr/api/catalog/payment-client-side/create-order).
    * Pour un achat rapide d'un seul objet : utilisez l'appel API [Créer une commande à partir d'un objet spécifique](https://developers.xsolla.com/fr/api/catalog/payment-client-side/create-order-with-item), en passant son UGS.

  La réponse contient un jeton permettant d'ouvrir l'interface de paiement.

<div class="note">
   <b>Remarque</b><br><br>
Xsolla vérifie si le pays de l'utilisateur est inclus dans la région associée à l'objet. Si le pays n'est pas inclus dans la région de l'onjet, la commande ne peut pas être créée.
</div>

<br>

5. Implémentez l'ouverture de l'interface de paiement pour payer la commande.

![Régions communes](https://cdn.xsolla.net/developers/current/images/api_docs/api-regions.svg)

### Lire la liste des régions

 - [GET /v2/project/{project_id}/admin/region](https://xsolla.redocly.app/fr/api/catalog/common-regions/admin-get-regions.md): Récupère la liste des régions.

Utilisez les régions pour gérer les restrictions régionales.

### Créer une région

 - [POST /v2/project/{project_id}/admin/region](https://xsolla.redocly.app/fr/api/catalog/common-regions/admin-create-region.md): Crée une région.

Utilisez les régions pour gérer les restrictions régionales.

### Lire une région

 - [GET /v2/project/{project_id}/admin/region/{region_id}](https://xsolla.redocly.app/fr/api/catalog/common-regions/admin-get-region.md): Récupère des informations sur une région spécifique.

Utilisez les régions pour gérer les restrictions régionales.

### Mettre à jour une région

 - [PUT /v2/project/{project_id}/admin/region/{region_id}](https://xsolla.redocly.app/fr/api/catalog/common-regions/admin-update-region.md): Met à jour les informations sur une région spécifique.

Utilisez les régions pour gérer les restrictions régionales.

### Supprimer une région

 - [DELETE /v2/project/{project_id}/admin/region/{region_id}](https://xsolla.redocly.app/fr/api/catalog/common-regions/admin-delete-region.md): Supprime une région spécifique.

## Webhooks

### Mettre à jour la version du webhook

 - [PUT /v2/project/{project_id}/admin/webhook/version](https://xsolla.redocly.app/fr/api/catalog/common-webhooks/update-webhook-version.md): Met à jour la version des webhooks du projet. Dans la version 2, des paramètres supplémentaires sont inclus dans le tableau items.

Pour plus d'informations sur les webhooks, consultez la section Set up order status tracking.

## Administrateur

### Lire la liste des attributs (administrateur)

 - [GET /v2/project/{project_id}/admin/attribute](https://xsolla.redocly.app/fr/api/catalog/attribute-admin/admin-get-attribute-list.md): Récupère la liste des attributs au sein d'un projet à des fins d'administration.

### Créer un attribut

 - [POST /v2/project/{project_id}/admin/attribute](https://xsolla.redocly.app/fr/api/catalog/attribute-admin/admin-create-attribute.md): Crée un attribut.

### Mettre à jour un attribut

 - [PUT /v2/project/{project_id}/admin/attribute/{external_id}](https://xsolla.redocly.app/fr/api/catalog/attribute-admin/admin-update-attribute.md): Met à jour un attribut.

### Lire un attribut spécifique

 - [GET /v2/project/{project_id}/admin/attribute/{external_id}](https://xsolla.redocly.app/fr/api/catalog/attribute-admin/admin-get-attribute.md): Récupère des informations sur un attribut spécifique.

### Supprimer un attribut

 - [DELETE /v2/project/{project_id}/admin/attribute/{external_id}](https://xsolla.redocly.app/fr/api/catalog/attribute-admin/delete-attribute.md): Supprime un attribut.

NoteSi vous supprimez un attribut de bien, toutes ses données et connexions avec les objets seront perdues.

### Créer une valeur d'attribut

 - [POST /v2/project/{project_id}/admin/attribute/{external_id}/value](https://xsolla.redocly.app/fr/api/catalog/attribute-admin/admin-create-attribute-value.md): Crée une valeur d'attribut.

AttentionTous les projets sont soumis à une limite du nombre de valeurs d'attribut. La valeur par défaut et la valeur maximale sont de 20 valeurs par attribut.

### Supprimer toutes les valeurs d'un attribut

 - [DELETE /v2/project/{project_id}/admin/attribute/{external_id}/value](https://xsolla.redocly.app/fr/api/catalog/attribute-admin/admin-delete-all-attribute-value.md): Supprime toutes les valeurs de l'attribut.

NoteSi vous supprimez la valeur d'un attribut, toutes les connexions entre cet attribut et les objets seront perdues. Pour modifier la valeur de l'attribut de bien, utilisez l'appel API Mettre à jour une valeur d'attribut au lieu de supprimer la valeur et d'en créer une nouvelle.

### Mettre à jour une valeur d'attribut

 - [PUT /v2/project/{project_id}/admin/attribute/{external_id}/value/{value_external_id}](https://xsolla.redocly.app/fr/api/catalog/attribute-admin/admin-update-attribute-value.md): Met à jour les valeurs d'un attribut.

### Supprimer une valeur d'attribut

 - [DELETE /v2/project/{project_id}/admin/attribute/{external_id}/value/{value_external_id}](https://xsolla.redocly.app/fr/api/catalog/attribute-admin/admin-delete-attribute-value.md): Supprime une valeur de l'attribut.

NoteSi vous supprimez la valeur d'un attribut, toutes les connexions entre cet attribut et les objets seront perdues. Pour modifier la valeur de l'attribut de bien, utilisez l'appel API Mettre à jour une valeur d'attribut au lieu de supprimer la valeur et d'en créer une nouvelle.

## Administrateur

### Lire la liste des groupes d'objets

 - [GET /v2/project/{project_id}/admin/items/groups](https://xsolla.redocly.app/fr/api/catalog/item-groups-admin/admin-get-item-group-list.md): Récupère la liste complète des groupes d'objets au sein d'un projet sans pagination à des fins d'administration.

NoteN'utilisez pas cet endpoint pour créer un catalogue de magasin. Utilisez plutôt l'endpoint côté client Lire la liste des groupes d'objets.

### Créer un groupe d'objets

 - [POST /v2/project/{project_id}/admin/items/groups](https://xsolla.redocly.app/fr/api/catalog/item-groups-admin/admin-create-item-group.md): Crée un groupe d'objets au sein d'un projet.
Pour récupérer des groupes d'objets pour la création d'un catalogue, utilisez l'endpoint côté client Lire la liste des groupes d'objets.

### Lire un groupe d'objets par ID externe

 - [GET /v2/project/{project_id}/admin/items/groups/{external_id}](https://xsolla.redocly.app/fr/api/catalog/item-groups-admin/admin-get-item-group.md): Récupère un groupe d'objets par son ID externe à des fins d'administration.

NoteN'utilisez pas cet endpoint pour créer un catalogue de magasin. Utilisez plutôt l'endpoint côté client Lire la liste des groupes d'objets.

### Mettre à jour un groupe d'objets

 - [PUT /v2/project/{project_id}/admin/items/groups/{external_id}](https://xsolla.redocly.app/fr/api/catalog/item-groups-admin/admin-update-item-group.md): Met à jour un groupe d'objets par son ID externe.

### Supprimer un groupe d'objets

 - [DELETE /v2/project/{project_id}/admin/items/groups/{external_id}](https://xsolla.redocly.app/fr/api/catalog/item-groups-admin/admin-delete-item-group.md): Supprime un groupe d'objets par son ID externe.

### Lire une liste des groupes d'objets filtrée par type d'objet

 - [GET /v2/project/{project_id}/admin/items/{item_type}/groups](https://xsolla.redocly.app/fr/api/catalog/item-groups-admin/admin-get-item-group-list-by-item-type.md): Récupère une liste de groupes d'objets en filtrant par type. Seuls les objets du type spécifié sont pris en compte dans le décompte du groupe. Cette méthode est similaire à l'endpoint Lire la liste des groupes d'objets, avec un filtrage supplémentaire des objets par type lors de leur décompte.

### Lire un groupe d'objets par ID externe filtré par type d'objet

 - [GET /v2/project/{project_id}/admin/items/{item_type}/groups/{external_id}](https://xsolla.redocly.app/fr/api/catalog/item-groups-admin/admin-get-item-group-by-item-type.md): Récupère un groupe d'objets par ID externe. Seuls les objets du type spécifié sont pris en compte dans le décompte du groupe. Cette méthode est similaire à l'endpoint Lire un groupe d'objets par ID externe, avec un filtrage supplémentaire des objets par type lors de leur décompte.

### Réorganiser les groupes d'objets

 - [PUT /v2/project/{project_id}/admin/group/order](https://xsolla.redocly.app/fr/api/catalog/item-groups-admin/admin-reorder-item-groups.md): Définit l'ordre d'affichage des groupes d'objets au sein d'un projet. Passez un tableau de groupes avec leurs nouvelles valeurs d'ordre.

### Réorganiser les objets au sein d'un groupe (par ID externe)

 - [PUT /v2/project/{project_id}/admin/group/{external_id}/order/item](https://xsolla.redocly.app/fr/api/catalog/item-groups-admin/admin-reorder-items-in-group.md): Définit l'ordre d'affichage des objets au sein d'un groupe identifié par son ID externe. Passez un tableau d'objets avec leurs nouvelles valeurs d'ordre.

### Réorganiser les objets au sein d'un groupe (par ID)

 - [PUT /v2/project/{project_id}/admin/group/id/{id}/order/item](https://xsolla.redocly.app/fr/api/catalog/item-groups-admin/admin-reorder-items-in-group-by-id.md): Définit l'ordre d'affichage des objets au sein d'un groupe identifié par son ID numérique interne. Passez un tableau d'objets avec leurs nouvelles valeurs d'ordre.

## Catalogue

### Lire la liste des groupes d'objets

 - [GET /v2/project/{project_id}/items/groups](https://xsolla.redocly.app/fr/api/catalog/item-groups-catalog/get-item-groups.md): Récupère une liste de groupes d'objets pour créer un catalogue sans pagination.

NoteIn general, the use of catalog of items is available without authorization. Only authorized users can get a personalized catalog.

