# Digital Distribution Hub
# Aperçu
Digital Distribution Hub est une nouvelle solution Xsolla qui comble le fossé entre les paiements numériques et les paiements en espèces via la technologie des paiements push et le e-commerce.
Cette référence décrit les endpoints API de deux produits Xsolla : [In-Game Store](https://developers.xsolla.com/fr/doc/in-game-store/) et [Pay Station](https://developers.xsolla.com/fr/doc/pay-station/). Deux URL de base sont utilisées :
* `https://store.xsolla.com/api` pour les groupes **Communs**, **Catalogue**, **Panier**, et **Commande**.
* `https://ps.xsolla.com` pour le groupe **Notifications**.
Les endpoints API dans le groupe **Catalogue** ne requièrent pas d'autorisation.
Pour utiliser les opérations des groupes **Panier** et **Commande**, vous devez générer un jeton via [Create user token](https://developers.xsolla.com/fr/digital-distribution-hub/common/user-token/create-user-token).
NoteCette référence présente un projet d'une future API et non une interface entièrement fonctionnelle. Actuellement, vous ne pouvez essayer que les endpoints des groupes
Catalogue et
Notifications. Si vous souhaitez nous faire part de vos commentaires, envoyez-nous un e-mail à l'adresse suivante :
techdoc@xsolla.com.
Version: 1.0.0
## Servers
```
https://store.xsolla.com/api
```
## Security
### AuthForClient
Utilisez l'endpoint [Create user token](https://developers.xsolla.com\/fr/api/digital-distribution-hub/operation/create-user-token) pour générer un jeton.
Type: http
Scheme: bearer
### basicAuth
L'API Xsolla utilise une authentification d'accès de base. Toutes les requêtes adressées à l'API doivent contenir l'en-tête `Authorization: Basic `, où `your_authorization_basic_key` est la paire `distribution_hub_id:api_key` encodée en Base64.
Contactez votre gestionnaire de compte pour obtenir `distribution_hub_id` et `api_key`.
Type: http
Scheme: basic
## Download OpenAPI description
[Digital Distribution Hub](https://developers.xsolla.com/_bundle/@l10n/fr/api/digital-distribution-hub/index.yaml)
## Panier
### Lire le panier de l'utilisateur actuel
- [GET /v2/project/{project_id}/cart](https://developers.xsolla.com/fr/api/digital-distribution-hub/cart/get-user-cart.md): Renvoie le panier de l'utilisateur actuel.
### Supprimer tous les objets du panier actuel
- [PUT /v2/project/{project_id}/cart/clear](https://developers.xsolla.com/fr/api/digital-distribution-hub/cart/cart-clear.md): Supprime tous les objets du panier.
### Remplir le panier d'objets
- [PUT /v2/project/{project_id}/cart/fill](https://developers.xsolla.com/fr/api/digital-distribution-hub/cart/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.
### Supprimer un objet du panier actuel
- [DELETE /v2/project/{project_id}/cart/item/{item_sku}](https://developers.xsolla.com/fr/api/digital-distribution-hub/cart/delete-item.md): Supprime un objet du panier.
### Mettre à jour un objet du panier actuel
- [PUT /v2/project/{project_id}/cart/item/{item_sku}](https://developers.xsolla.com/fr/api/digital-distribution-hub/cart/put-item.md): Met à jour un objet de panier existant ou en crée un nouveau dans le panier.
### Lire le panier par ID de panier
- [GET /v2/project/{project_id}/cart/{cart_id}](https://developers.xsolla.com/fr/api/digital-distribution-hub/cart/get-cart-by-id.md): Renvoie le panier de l'utilisateur par son ID de panier.
### Supprimer tous les objets du panier par ID de panier
- [PUT /v2/project/{project_id}/cart/{cart_id}/clear](https://developers.xsolla.com/fr/api/digital-distribution-hub/cart/cart-clear-by-id.md): Supprime tous les objets du panier.
### Remplir un panier spécifique d'objets
- [PUT /v2/project/{project_id}/cart/{cart_id}/fill](https://developers.xsolla.com/fr/api/digital-distribution-hub/cart/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.
### Supprimer un objet du panier par ID de panier
- [DELETE /v2/project/{project_id}/cart/{cart_id}/item/{item_sku}](https://developers.xsolla.com/fr/api/digital-distribution-hub/cart/delete-item-by-cart-id.md): Supprime un objet du panier.
### Mettre à jour un objet du panier par ID de panier
- [PUT /v2/project/{project_id}/cart/{cart_id}/item/{item_sku}](https://developers.xsolla.com/fr/api/digital-distribution-hub/cart/put-item-by-cart-id.md): Met à jour un objet de panier existant ou en crée un nouveau dans le panier.
## Clés de jeu
### Lire une liste de jeux
- [GET /v2/project/{project_id}/items/game](https://developers.xsolla.com/fr/api/digital-distribution-hub/game-keys/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 que vous pouvez obtenir dans la réponse. La valeur par défaut et la valeur maximale sont 50 éléments par réponse. Pour obtenir plus de données page par page, utilisez les champs limit et offset.
### Lire la liste des DRM
- [GET /v2/project/{project_id}/items/game/drm](https://developers.xsolla.com/fr/api/digital-distribution-hub/game-keys/get-drm-list.md): Récupère la liste des DRM disponibles.
### Lire une liste de jeux par groupe spécifique
- [GET /v2/project/{project_id}/items/game/group/{external_id}](https://developers.xsolla.com/fr/api/digital-distribution-hub/game-keys/get-games-group.md): Récupère une liste de jeux 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 que vous pouvez obtenir dans la réponse. La valeur par défaut et la valeur maximale sont 50 éléments par réponse. Pour obtenir plus de données page par page, utilisez les champs limit et offset.
### Lire une liste de clés de jeu par groupe spécifique
- [GET /v2/project/{project_id}/items/game/key/group/{external_id}](https://developers.xsolla.com/fr/api/digital-distribution-hub/game-keys/get-game-keys-group.md): Récupère une liste de clés de jeu 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 que vous pouvez obtenir dans la réponse. La valeur par défaut et la valeur maximale sont 50 éléments par réponse. Pour obtenir plus de données page par page, utilisez les champs limit et offset.
### Lire une clé de jeu pour le catalogue
- [GET /v2/project/{project_id}/items/game/key/sku/{item_sku}](https://developers.xsolla.com/fr/api/digital-distribution-hub/game-keys/get-game-key-by-sku.md): Récupère une clé de jeu pour le catalogue.
### Lire un jeu pour le catalogue
- [GET /v2/project/{project_id}/items/game/sku/{item_sku}](https://developers.xsolla.com/fr/api/digital-distribution-hub/game-keys/get-game-by-sku.md): Récupère un jeu pour le catalogue.
## Objets et monnaie virtuels
### Lire une liste de groupes d'objets
- [GET /v2/project/{project_id}/items/groups](https://developers.xsolla.com/fr/api/digital-distribution-hub/virtual-items-and-currency/get-item-groups.md): Récupère une liste de groupes d'objets pour la constitution d'un catalogue.
### Lire une liste de monnaies virtuelles
- [GET /v2/project/{project_id}/items/virtual_currency](https://developers.xsolla.com/fr/api/digital-distribution-hub/virtual-items-and-currency/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 que vous pouvez obtenir dans la réponse. La valeur par défaut et la valeur maximale sont 50 éléments par réponse. Pour obtenir plus de données page par page, utilisez les champs limit et offset.
### Lire une liste de packages de monnaie virtuelle
- [GET /v2/project/{project_id}/items/virtual_currency/package](https://developers.xsolla.com/fr/api/digital-distribution-hub/virtual-items-and-currency/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 que vous pouvez obtenir dans la réponse. La valeur par défaut et la valeur maximale sont 50 éléments par réponse. Pour obtenir plus de données page par page, utilisez les champs limit et offset.
### Lire une liste d'objets virtuels
- [GET /v2/project/{project_id}/items/virtual_items](https://developers.xsolla.com/fr/api/digital-distribution-hub/virtual-items-and-currency/get-virtual-items.md): Récupère une liste d'objets virtuels pour la constitution d'un catalogue.
Attention. Tous les projets sont soumis à une limite de nombre d'objets que vous pouvez obtenir dans la réponse. La valeur par défaut et la valeur maximale sont 50 éléments par réponse. Pour obtenir plus de données page par page, utilisez les champs limit et offset.
### Lire une liste d'objets par groupe spécifique
- [GET /v2/project/{project_id}/items/virtual_items/group/{external_id}](https://developers.xsolla.com/fr/api/digital-distribution-hub/virtual-items-and-currency/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 que vous pouvez obtenir dans la réponse. La valeur par défaut et la valeur maximale sont 50 éléments par réponse. Pour obtenir plus de données page par page, utilisez les champs limit et offset.
## Lots
### Lire une liste de lots
- [GET /v2/project/{project_id}/items/bundle](https://developers.xsolla.com/fr/api/digital-distribution-hub/bundles/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 que vous pouvez obtenir dans la réponse. La valeur par défaut et la valeur maximale sont 50 éléments par réponse.
### Lire un lot spécifique
- [GET /v2/project/{project_id}/items/bundle/sku/{sku}](https://developers.xsolla.com/fr/api/digital-distribution-hub/bundles/get-bundle.md): Récupère des informations sur un lot spécifique.
## Jeton d'utilisateur
### Créer un jeton utilisateur
- [POST /v2/project/{project_id}/distribution_hub/user/auth](https://developers.xsolla.com/fr/api/digital-distribution-hub/user-token/create-user-token.md): Vérifie qu'un utilisateur existe dans le jeu et crée un jeton utilisateur.
## Notifications
### Notification d'annulation
- [POST /push-payments/cancel](https://developers.xsolla.com/fr/api/digital-distribution-hub/notifications/cancel-notification.md): Envoyez une notification d'annulation de paiement dans les cas suivants :
- le paiement n'a pas été effectué ;
- le paiement a été remboursé.
### Notification de paiement
- [POST /push-payments/pay](https://developers.xsolla.com/fr/api/digital-distribution-hub/notifications/pay-notification.md): Envoyez cette notification après avoir facturé l'utilisateur avec succès.
## Commande
### Lire une commande
- [GET /v2/project/{project_id}/distribution_hub/order/{order_id}](https://developers.xsolla.com/fr/api/digital-distribution-hub/order/get-order.md): Récupère des informations sur une commande spécifique.
### Créer une commande à partir de tous les objets du panier actuel
- [POST /v2/project/{project_id}/distribution_hub/payment/cart](https://developers.xsolla.com/fr/api/digital-distribution-hub/order/create-order.md): Crée une commande à partir de tous les objets d'un panier. La commande créée aura le statut new.
### Créer une commande à partir de tous les objets d'un panier spécifique
- [POST /v2/project/{project_id}/distribution_hub/payment/cart/{cart_id}](https://developers.xsolla.com/fr/api/digital-distribution-hub/order/create-order-by-cart-id.md): Crée une commande à partir de tous les objets d'un panier spécifique. La commande créée aura le statut new.
### Créer une commande à partir d'un objet spécifique
- [POST /v2/project/{project_id}/distribution_hub/payment/item/{item_sku}](https://developers.xsolla.com/fr/api/digital-distribution-hub/order/create-order-with-item.md): Crée une commande à partir d'un objet spécifique. La commande créée aura le statut new.