Passer au contenu

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

Note

Cette 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.
Télécharger la description d'OpenAPI
Langues
Serveurs
Mock server
https://xsolla.redocly.app/_mock/fr/api/digital-distribution-hub/
https://store.xsolla.com/api/
Opérations
Opérations

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

Requête

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.
Sécurité
AuthForClient
Chemin
project_idintegerobligatoire

ID de projet.

Exemple: 44056
external_idstringobligatoire

External ID du groupe.

Par défaut "all"
Requête
limitinteger

Nombre maximal d'éléments sur une page.

Exemple: limit=50
offsetinteger

Numéro de l'élément à partir duquel la liste est générée (le compte commence à 0).

Exemple: offset=0
localestring

Langue de la réponse. Code de langue à deux lettres minuscules selon la norme ISO 639-1.

Par défaut "en"
additional_fields[]Array of strings

Liste des champs supplémentaires. Ces champs figureront dans la réponse si vous les envoyez dans votre requête. Champs disponibles media_list, order et long_description.

countrystring

Pays pour la détermination des prix régionaux et des restrictions pour le catalogue. Code pays à deux lettres majuscules selon la norme ISO 3166-1 alpha-2. Si vous ne spécifiez pas explicitement le pays, il sera déterminé en fonction de l'adresse IP de l'utilisateur.

Par défaut "US"
curl -i -X GET \
  'https://xsolla.redocly.app/_mock/fr/api/digital-distribution-hub/v2/project/44056/items/game/key/group/{external_id}?limit=50&offset=0&locale=en&additional_fields%5B%5D=string&country=US' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Réponses

La liste des clés de jeu a été reçue avec succès.

Corpsapplication/json
itemsArray of objects(Catalog_inline_response_200_3_items)
Exemple: [{"attributes":{"$ref":"#/components/examples/client-attribute-game-horror/Catalog_value"},"description":"Game description","drm_name":"Steam","drm_sku":"steam","groups":[{"external_id":"all","name":"All games"},{"external_id":"Xsolla","name":"Xsolla games"}],"has_keys":true,"image_url":"https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png","is_free":false,"is_pre_order":true,"name":"Game name","price":{"amount":"30.5","amount_without_discount":"30.5","currency":"USD"},"release_date":"2020-08-11T10:00:00+03:00","sku":"game_1","type":"game_key","virtual_prices":[]},{"attributes":{"$ref":"#/components/examples/client-attribute-game-horror/Catalog_value"},"description":"Game description","drm_name":"Steam","drm_sku":"steam","groups":[{"external_id":"all","name":"All games"}],"has_keys":true,"image_url":"https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png","is_free":false,"is_pre_order":false,"name":"Game name","price":{"amount":"30.5","amount_without_discount":"30.5","currency":"USD"},"sku":"game_2","type":"game_key","virtual_prices":[]}]
Réponse
application/json
{ "items": [ {}, {} ] }

Requête

Récupère une clé de jeu pour le catalogue.

Sécurité
AuthForClient
Chemin
project_idintegerobligatoire

ID de projet.

Exemple: 44056
item_skustringobligatoire

UGS de l'objet.

Exemple: booster_mega_1
Requête
localestring

Langue de la réponse. Code de langue à deux lettres minuscules selon la norme ISO 639-1.

Par défaut "en"
additional_fields[]Array of strings

Liste des champs supplémentaires. Ces champs figureront dans la réponse si vous les envoyez dans votre requête. Champs disponibles media_list, order et long_description.

countrystring

Pays pour la détermination des prix régionaux et des restrictions pour le catalogue. Code pays à deux lettres majuscules selon la norme ISO 3166-1 alpha-2. Si vous ne spécifiez pas explicitement le pays, il sera déterminé en fonction de l'adresse IP de l'utilisateur.

Par défaut "US"
curl -i -X GET \
  'https://xsolla.redocly.app/_mock/fr/api/digital-distribution-hub/v2/project/44056/items/game/key/sku/booster_mega_1?locale=en&additional_fields%5B%5D=string&country=US' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Réponses

La clé de jeu a été reçue avec succès.

Corpsapplication/json
attributesArray of objects(Catalog_client-attributes-common)

Liste des attributs et de leurs valeurs correspondantes pour l'objet. Peut être utilisée pour le filtrage du catalogue.

Par défaut []
descriptionstring

Description de l'objet.

Exemple: "Game description"
drm_namestring

Nom du DRM.

Exemple: "Steam"
drm_skustring

ID unique du DRM. L'UGS ne peut comprendre que des caractères alphanumériques latins minuscules, des points, des tirets et des traits bas.

Exemple: "steam"
groupsArray of objects(Catalog_inline_response_200_groups)

Groupes auxquels l'objet appartient.

Exemple: [{"external_id":"all","name":"All games"},{"external_id":"Xsolla","name":"Xsolla games"}]
has_keysboolean

Si true, le module Clés de jeu a des clés vendables.

Exemple: true
image_urlstring

URL de l'image.

Exemple: "https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png"
is_freeboolean

Si ce paramètre est défini sur true, l'objet est gratuit.

Exemple: false
is_pre_orderboolean

Si true, la clé de jeu est en pré-commande et la date de sortie n'est pas dépassée.

Exemple: true
namestring

Nom de l'objet.

Exemple: "Game name"
priceobject(Catalog_inline_response_200_price)

Prix de l'objet.

release_datestring

Date de publication de la clé de jeu au format ISO 8601.

Exemple: "2020-08-11T10:00:00+03:00"
skustring

ID unique de l'objet. L'UGS ne peut comprendre que des caractères alphanumériques latins minuscules, des points, des tirets et des traits bas.

Exemple: "game_1"
typestring

Type d'objet : game_key.

Exemple: "game_key"
virtual_pricesArray of objects(Catalog_inline_response_200_virtual_prices)

Prix virtuels.

Exemple: []
Réponse
application/json
{ "attributes": { "$ref": "#/components/examples/client-attribute-game-horror/Catalog_value" }, "description": "Game description", "drm_name": "Steam", "drm_sku": "steam", "groups": [ {}, {} ], "has_keys": true, "image_url": "https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png", "is_free": false, "is_pre_order": true, "name": "Game name", "price": { "amount": "30.5", "amount_without_discount": "30.5", "currency": "USD" }, "release_date": "2020-08-11T10:00:00+03:00", "sku": "game_1", "type": "game_key", "virtual_prices": [] }

Requête

Récupère un jeu pour le catalogue.

Sécurité
AuthForClient
Chemin
project_idintegerobligatoire

ID de projet.

Exemple: 44056
item_skustringobligatoire

UGS de l'objet.

Exemple: booster_mega_1
Requête
localestring

Langue de la réponse. Code de langue à deux lettres minuscules selon la norme ISO 639-1.

Par défaut "en"
additional_fields[]Array of strings

Liste des champs supplémentaires. Ces champs figureront dans la réponse si vous les envoyez dans votre requête. Champs disponibles media_list, order et long_description.

countrystring

Pays pour la détermination des prix régionaux et des restrictions pour le catalogue. Code pays à deux lettres majuscules selon la norme ISO 3166-1 alpha-2. Si vous ne spécifiez pas explicitement le pays, il sera déterminé en fonction de l'adresse IP de l'utilisateur.

Par défaut "US"
curl -i -X GET \
  'https://xsolla.redocly.app/_mock/fr/api/digital-distribution-hub/v2/project/44056/items/game/sku/booster_mega_1?locale=en&additional_fields%5B%5D=string&country=US' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Réponses

Le jeu a été reçu avec succès.

Corpsapplication/json
attributesArray of objects(Catalog_client-attributes)

Liste des attributs et de leurs valeurs correspondantes pour le jeu.

Attention. Cette partie de la réponse n'est disponible que si vous envoyez le paramètre de requête `additional_fields[]=attributes`.
Par défaut []
descriptionstring

Description de l'objet.

Exemple: "Game description"
groupsArray of objects(Catalog_inline_response_200_groups)

Groupes auxquels l'objet appartient.

Exemple: [{"external_id":"all","name":"All games"},{"external_id":"Xsolla","name":"Xsolla games"}]
image_urlstring

URL de l'image.

Exemple: "https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png"
namestring

Nom de l'objet.

Exemple: "Game name"
skustring

ID unique de l'objet. L'UGS ne peut comprendre que des caractères alphanumériques latins minuscules, des points, des tirets et des traits bas.

Exemple: "game_1"
typestring

Type d'objet : virtual_good/virtual_currency/bundle/physical_good/unit.

Exemple: "unit"
unit_itemsArray of objects(Catalog_inline_response_200_unit_items)
Exemple: [{"drm_name":"Steam","drm_sku":"steam","has_keys":true,"is_free":false,"is_pre_order":true,"price":{"amount":"30.5","amount_without_discount":"30.5","currency":"USD"},"release_date":"2020-08-11T10:00:00+03:00","sku":"game_key_01","type":"game_key","virtual_prices":[]},{"drm_name":"Origin","drm_sku":"origin","has_keys":false,"is_free":false,"is_pre_order":false,"price":{"amount":"30.5","amount_without_discount":"30.5","currency":"USD"},"sku":"game_key_02","type":"game_key","virtual_prices":[]}]
unit_typestring

Type d'unité : game.

Exemple: "game"
Réponse
application/json
{ "attributes": { "$ref": "#/components/examples/client-attribute-game/Catalog_value" }, "description": "Game description", "groups": [ {}, {} ], "image_url": "https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png", "name": "Game name", "sku": "game_1", "type": "unit", "unit_items": [ {}, {} ], "unit_type": "game" }
Opérations
Opérations
Opérations
Opérations
Opérations