# Lire un objet virtuel

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.

Endpoint: GET /v2/project/{project_id}/admin/items/virtual_items/sku/{item_sku}
Version: 2.0.0
Security: basicAuth

## Path parameters:

  - `project_id` (integer, required)
    ID du projet. Vous trouverez ce paramètre dans le Compte éditeur, à côté du nom du projet, ainsi que dans l'URL affichée dans la barre d'adresse du navigateur lorsque vous utilisez ce projet. L'URL présente le format suivant : https://publisher.xsolla.com//projects/.
    Example: 44056

  - `item_sku` (string, required)
    UGS de l'objet.
    Example: "booster_mega_1"

## Response 200 fields (application/json):

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

  - `attributes` (array)
    Liste des attributs.
    Example: [{"external_id":"attribute_external_id","name":{"en":"Attribute name","de":"Attributname"},"values":[{"external_id":"value_1","name":{"en":"value 1","de":"wert 1"}},{"external_id":"value_2","name":{"en":"value 2","de":"wert 2"}}]}]

  - `attributes.external_id` (string, required)
    ID unique de l'attribut. Le external_id ne peut comprendre que des caractères alphanumériques latins minuscules et majuscules, des tirets et des traits bas.
    Example: "attribute_external_id"

  - `attributes.name` (object)
    Objet contenant des versions localisées du nom de l'attribut. Les clés sont spécifiées selon la norme ISO 3166-1.
    Example: {"en":"Attribute name","de":"Attributname"}

  - `attributes.values` (array, required)
    Example: [{"external_id":"value_1","name":{"en":"value 1","de":"wert 1"}},{"external_id":"value_2","name":{"en":"value 2","de":"wert 2"}}]

  - `attributes.values.external_id` (string, required)
    ID unique de la valeur d'un attribut. Le external_id ne peut comprendre que des caractères alphanumériques latins minuscules, des tirets et des tirets bas.
    Example: "value_external_id"

  - `attributes.values.value` (object, required)
    Objet contenant des versions localisées du nom de la valeur. Les clés sont spécifiées selon la norme ISO 3166-1.

  - `name` (object,null)
    Conteneur objet contenant les localisations du nom de l'objet (item). Il accepte deux formats de codes de langue : les codes à deux lettres minuscules (comme en) et les codes régionaux à cinq caractères (comme en-US). Les deux formats sont valides en entrée, mais les réponses utilisent toujours le format à deux lettres. Si les deux variantes sont fournies pour une même langue (par exemple, en et en-US), seule la dernière est conservée. Consultez la [documentation](/fr/doc/shop-builder/references/supported-languages/) pour la liste complète des langues prises en charge.

  - `description` (object,null)
    Conteneur objet contenant les localisations de la description de l'objet (item). Il accepte deux formats de codes de langue : les codes à deux lettres minuscules (comme en) et les codes régionaux à cinq caractères (comme en-US). Les deux formats sont valides en entrée, mais les réponses utilisent toujours le format à deux lettres. Si les deux variantes sont fournies pour une même langue (par exemple, en et en-US), seule la dernière est conservée. Consultez la [documentation](/fr/doc/shop-builder/references/supported-languages/) pour la liste complète des langues prises en charge.

  - `long_description` (object,null)
    Conteneur objet contenant les localisations de la description complète de l'objet (item). Il accepte deux formats de codes de langue : les codes à deux lettres minuscules (comme en) et les codes régionaux à cinq caractères (comme en-US). Les deux formats sont valides en entrée, mais les réponses utilisent toujours le format à deux lettres. Si les deux variantes sont fournies pour une même langue (par exemple, en et en-US), seule la dernière est conservée. Consultez la [documentation](/fr/doc/shop-builder/references/supported-languages/) pour la liste complète des langues prises en charge.

  - `groups` (array)
    Groupes auxquels l'objet appartient.

  - `groups.external_id` (string)
    Example: "horror"

  - `groups.name` (object)
    Nom de l'objet. Doit comprendre des paires clé/valeur
où la clé est une région au format "^[a-z]{2}", la valeur est une chaîne.
    Example: {"en":"Horror","de":"Horror"}

  - `media_list` (array)
    Ressources supplémentaires de l'objet, telles que des captures d'écran, des vidéos de gameplay, etc.

  - `media_list.type` (string)
    Type de média : image/video.
    Enum: "image", "video"

  - `media_list.url` (string)
    Fichier de ressources.
    Example: "https://cdn3.xsolla.com/img/misc/images/71ab1e12126f2103e1868076f0acb21a.jpg"

  - `type` (string)
    Type d'objet : virtual_good/virtual_currency/bundle/physical_good/unit.

  - `prices` (array)
    Example: [{"currency":"USD","amount":10.5,"is_default":true,"is_enabled":true}]

  - `prices.amount` (number, required)
    Montant.
    Example: 10.5

  - `prices.currency` (string, required)
    Devise du prix de l'objet. Code à trois lettres selon [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). Consultez la documentation pour obtenir des informations détaillées sur les devises [prises en charge par Xsolla](https://developers.xsolla.com/fr/doc/pay-station/references/supported-currencies/).
    Example: "USD"

  - `prices.country_iso` (string)
    Code pays à deux lettres majuscules selon la norme [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). Consultez la documentation pour obtenir des informations détaillées sur les [pays pris en charge par Xsolla](https://developers.xsolla.com/fr/doc/shop-builder/references/supported-countries/). Exemple : country=US
    Example: "US"

  - `prices.is_default` (boolean)
    Example: true

  - `prices.is_enabled` (boolean)
    Example: true

  - `vc_prices` (array)
    Example: [{"sku":"com.xsolla.gold_1","amount":10,"is_default":true}]

  - `vc_prices.sku` (string, required)
    ID unique de l'objet. L'UGS ne peut comprendre que des caractères alphanumériques latins minuscules et majuscules, des points, des tirets et des traits bas.
    Example: "com.xsolla.gold_1"

  - `vc_prices.amount` (number, required)
    Montant.
    Example: 10

  - `vc_prices.is_default` (boolean)
    Example: true

  - `image_url` (string)
    URL de l'image. Pour garantir un affichage correct et un chargement rapide dans l'interface de paiement, consultez les recommandations suivantes pour les images et les URL :Formats pris en charge : WebP (recommandé), PNG, JPG.Taille du fichier : ≤ 50 Kb (WebP) ou ≤ 150 Kb (PNG et JPG).Dimensions : 280 x 280 px.Espace colorimétrique : sRGB.Protocole : HTTPS avec mise en cache longue durée pour les URL versionnées.

  - `is_free` (boolean)
    Détermine la gratuité de l'objet.

  - `is_paid_randomized_reward` (boolean)
    Si l’objet est une récompense payante aléatoire (par exemple, une boîte à butin).

  - `order` (integer)
    Ordre d'affichage de l'objet dans le catalogue. Plus la valeur est élevée, plus l'objet apparaît bas dans la liste.
Si les valeurs sont identiques, les objets sont triés par date de création, les plus récents apparaissant en premier.

  - `is_enabled` (boolean)
    Indique si l'objet est disponible. Si la valeur est false, l'objet ne peut pas être acheté dans le magasin ni obtenu dans un lot ou dans une campagne marketing. Consultez la [documentation](https://developers.xsolla.com/fr/items-catalog/catalog-features/items-availability/) pour plus d'informations sur la disponibilité des objets.

  - `is_show_in_store` (boolean)
    Indique si l'objet est affiché dans le catalogue. Si la valeur est false et que is_enabled: true, l'objet n'est pas visible dans le catalogue, mais peut être obtenu dans un lot ou dans une campagne marketing. Consultez la [documentation](https://developers.xsolla.com/fr/items-catalog/catalog-features/items-availability/) pour plus d'informations sur la disponibilité des objets.

  - `regions` (array)
    Tableau des régions dans lesquelles l'objet est disponible. Si le tableau est vide ou non fourni, l'objet est disponible dans toutes les régions.

  - `regions.id` (integer)
    ID de la région au sein du projet.

Consultez la [documentation sur les restrictions de vente régionales](https://developers.xsolla.com/fr/items-catalog/catalog-features/regional-restrictions/) et les [appels API de gestion des régions](https://developers.xsolla.com/fr/api/catalog/common-regions) pour plus d'informations.
    Example: 1

  - `limits` (object,null)
    Limites d'objets.

  - `limits.per_user` (object,null)
    Limites d'objets pour un utilisateur spécifique.

  - `limits.per_user.total` (integer)
    Nombre maximal d'objets qu'un utilisateur unique peut acheter.

  - `limits.per_user.limit_exceeded_visibility` (string)
    Détermine la visibilité de l'objet dans le catalogue une fois la limite d'achat atteinte, jusqu'à la prochaine réinitialisation de la limite.

S'applique aux objets pour lesquels des réinitialisations de limite récurrentes sont configurées dans le tableau recurrent_schedule.

Si aucune réinitialisation de limite n'est configurée, l'objet n'apparaît plus dans le catalogue une fois la limite d'achat atteinte, quelle que soit la valeur de limit_exceeded_visibility.

Valeurs possibles :
- show — L'objet est renvoyé dans les appels API de récupération du catalogue après avoir atteint la limite d'achat. Dans les appels côté client, une fois la limite atteinte, l'objet est renvoyé avec l'indicateur can_be_bought: false. La prochaine date de réinitialisation est renvoyée dans reset_next_date.
- hide — L'objet n'est pas renvoyé dans les appels API de récupération du catalogue après avoir atteint la limite d'achat, jusqu'à la réinitialisation de la limite.
    Enum: "show", "hide"

  - `limits.per_item` (object,null)
    Limites globales d'objets.

  - `limits.per_item.total` (integer)
    Nombre maximal d'objets que tous les utilisateurs peuvent acheter.

  - `limits.per_item.available` (integer)
    Nombre d'objets restants que tous les utilisateurs peuvent acheter.

  - `limits.per_item.reserved` (integer)

  - `limits.per_item.sold` (integer)

  - `limits.recurrent_schedule` (object,null)
    Délai d'actualisation des limites.

  - `limits.recurrent_schedule.per_user` (any)
    Délai d'actualisation des limites pour un utilisateur.

  - `periods` (array)
    Période de vente d'objets.

  - `periods.date_from` (string,null)
    Date de mise en vente de l'objet spécifié.
    Example: "2020-08-11T10:00:00+03:00"

  - `periods.date_until` (string,null)
    Date de retrait de la vente de l'objet spécifié. Peut prendre la valeur null.
    Example: "2020-08-11T20:00:00+03:00"

  - `custom_attributes` (object)
    Un JSON contenant les attributs de l'objet et leurs valeurs.

## Response 401 fields (application/json):

  - `statusCode` (integer)
    Example: 401

  - `errorCode` (integer)
    Example: 1020

  - `errorMessage` (string)
    Example: "[0401-1020]: Error in Authentication method occurred"


