Documentation Steamworks
GetAssetClassInfo/v0001
Renvoie les informations nécessaires afin d'afficher une classe de ressource pour une personne. Cette méthode sera appelée au moins une fois pour chaque ressource qui apparait dans l'inventaire d'une personne. Le cache est abondamment utilisé pour ne pas avoir à appeler la méthode à chaque fois que la ressource est vue. Si vous devez invalider le cache pour une raison quelconque, vous pouvez modifier la version de la classe de ressource sous l'onglet Communauté, dans le menu Économie des paramètres de votre application.

Habituellement, les identifiants de classe sont entièrement définis par le jeu dans lequel se trouve la ressource. La seule exception est la devise. Le serveur de l'économie Steam peut appeler GetAssetClassInfo avec un identifiant unique appelé currencyid, avec une valeur égale à l'ID de la devise qu'il doit chercher. Dans ce cas, le serveur de ressources doit renvoyer les informations d'affichage de la devise à la place des informations d'affichage de la ressource.

Appelée par : interface de l'inventaire

Méthode HTTP : GET

Paramètres

NomTypeRequisDescription
keystringIl s'agit de la « clé du serveur de ressources » que vous avez indiquée dans les paramètres de l'économie Steam de votre application sur le site des partenaires.
appiduint32AppID 32 bits de l'application associée aux ressources.
class_countuint32Nombre d'identifiants de classe spécifiés.
class_name#stringNom de l'identifiant. Il y aura class_count tels paramètres numérotés de 0 à class_count-1 (par exemple class_name0, class_name1, class_name2).
class_value#stringValeur de l'identifiant. Il y aura class_count tels paramètres numérotés de 0 à class_count-1 (par exemple class_value0, class_value1, class_value2).
languagestringCode de langue ISO 639-1 et code de pays ISO 3166-1 alpha-2 désignant la langue dans laquelle les chaines de caractères doivent être renvoyées. Par exemple : en_US, de_DE, zh_CN, ko_KR. Valeur par défaut : en_US.

Éléments renvoyés

Les données de sortie de cette méthode doivent être encodées au format JSON.

Réponse
  • result
    • success : vaut true si la méthode a réussi. Si le serveur de ressources renvoie false, il doit affecter à error une chaine de caractères qui explique pourquoi.
    • error : chaine de caractères décrivant la raison de l'échec de cet appel. Ce message sera enregistré dans le journal d'erreurs, disponible sous le menu Économie de l'onglet Communauté sur le site de Steamworks.
    • asset : objet contenant les informations d'affichage pour les identifiants de classes de ressources spécifiés.

Informations d'affichage

  • background_color : valeur de couleur hexadécimale RVB au format chaine de caractères.
  • icon_url : icône à utiliser pour cette ressource. Cette image doit être au format JPEG, GIF ou PNG.
    Les formats PNG et GIF sont préférables, car ils sont compatibles avec la transparence. Les jeux peuvent fournir une taille d'icône par le biais de ce champ, et Steam l'adaptera à l'interface. La taille de cette icône doit être au moins de 200 x 200 pixels. Steam fournira la distribution RDC pour toutes les images lors de leur affichage. Ainsi, le nombre de visites sur cette URL sera relativement faible.
  • icon_url_large (facultatif) : grande icône associée aux descriptions. Les règles concernant le format sont les mêmes que pour icon_url.
    Cette grande icône doit avoir une taille d'au moins 330 x 192 pixels. Si icon_url_large n'est pas fourni, icon_url sera utilisé à sa place.
    Steam fournira la distribution RDC pour toutes les images lors de leur affichage. Ainsi, le nombre de visites sur cette URL sera relativement faible.
  • descriptions : tableau des descriptions à afficher pour la ressource. Celles-ci seront affichées suivant leur ordre
    d'apparition dans le tableau sous forme d'info-bulles et de descriptions détaillées d'items.
    • type (facultatif) : le champ type détermine la façon dont le champ value est représenté.
      Il peut avoir l'une des valeurs suivantes :
      • text : la valeur sera interprétée comme un texte traduit brut dans la langue spécifiée. Certains caractères (inférieur à, supérieur à, etc.) seront convertis en entités HTML afin qu'ils ne soient pas interprétés comme des tags. Chaque caractère « saut de ligne » sera converti en <br>.
        Ce type doit être utilisé pour les données fournies par la personne utilisatrice. text est le type par défaut si aucun type n'est spécifié.
      • html : la valeur sera incluse dans la page en tant que code HTML. Les tags seront laissés intacts.
    • image : la valeur est l'URL de l'image à afficher pour cette description. Steam placera un RDC devant l'image afin que le nombre de visites sur cette URL soit relativement faible.
    • value : chaine de caractères traduite à afficher pour cette description.
    • color (facultatif) : valeur hexadécimale de la couleur RVB à utiliser pour value. Utilisez la couleur dans laquelle cette information s'affiche dans l'interface en jeu. Ce champ s'applique uniquement aux valeurs de type text.
    • label (facultatif) : si ce champ est présent, la valeur de la description sera précédée par ce libellé.
  • tags (facultatif) : tableau de tags qui s'appliquent à la ressource. Ces tags sont disponibles comme options de filtrage en différents endroits de l'interface, y compris dans le marché de la communauté et l'inventaire.
    • internal_name : nom identifiant ce tag en interne. Ce nom interne n'est pas visible du public. N'utilisez pas d'espaces ni de caractères non ASCII ou non imprimables dans internal_name.
    • name : traduction du nom de ce tag. Elle est visible du public.
    • category : catégorie dans laquelle il faut placer ce tag. Elle est utilisée uniquement en interne pour les regroupements et n'est pas visible du public. N'utilisez pas d'espaces ni de caractères non ASCII ou non imprimables dans category.
    • category_name : traduction du nom de la catégorie. Elle est visible du public.
    • color (facultatif) : valeur hexadécimale de la couleur RVB à utiliser pour l'affichage du nom du tag.
  • tradable (facultatif) : si ce paramètre vaut true, l'objet apparaitra dans l'interface d'échange (valeur par défaut : false).
  • marketable (facultatif) : si ce paramètre vaut true, l'objet pourra être mis en vente sur le marché de la communauté Steam. (valeur par défaut : false).

    REMARQUE : il n'est pas possible de tester les offres du marché de la communauté pour le moment. Dès qu'un item sera proposé à la vente sur le marché de la communauté, il sera immédiatement visible, même si l'économie du jeu est marquée comme privée.
  • market_name (requis si l'item peut être vendu) : si l'item peut être vendu, ce paramètre est le nom qui sera utilisé pour regrouper les items et qui apparaitra sur le marché de la communauté. Ce nom doit être traduit si possible.
  • market_hash_name (requis si l'item peut être vendu) : ce paramètre doit toujours être la valeur en anglais de market_name. S'utilise pour relier les différentes versions et pour afficher l'historique des prix et d'autres informations.
  • market_fee (facultatif) : si l'item peut être vendu, ce paramètre est la part du montant de la transaction qui sera prélevée en tant que frais de jeu (valeur par défaut : 10 %). Ces frais sont payés par la personne qui achète l'item au moment de la transaction et versés à l'équipe d'édition dans le cadre de son paiement mensuel. Exprimé sous la forme d'une valeur décimale entre 0 et 0.95 (des frais plus raisonnables sont cependant recommandés). Valeur par défaut : 0.10.
  • commodity (facultatif) : indique que chaque item avec le même market_hash_name que cet item est exactement identique à celui-ci. Pour le public, cela ne devrait faire aucune différence. Cela modifie l'interface du marché de la communauté pour ce type d'item et permet de placer des ordres d'achat. La personne qui achète n'a pas le choix de la personne qui vend l'item ni de l'offre du marché. C'est pour cela qu'il est important que tous les items qui ont le même market_hash_name soient identiques quand commodity vaut true. Valeur par défaut : false.
  • market_tradable_restriction (facultatif) : nombre de jours suivant l'achat pendant lesquels l'item ne pourra pas être échangé. Vous pouvez envisager de placer une restriction d'échange sur les items achetés pour réduire les risques de fraudes par carte bancaire. Les jeux Valve utilisent une valeur de 7 (valeur par défaut : 0).
    REMARQUE : cette valeur n'est pas obligatoire. Steam n'applique pas cette restriction à votre place. La valeur de ce champ s'utilise uniquement pour informer le public de l'existence d'une restriction. Après l'achat d'un item, le serveur de ressources a pour tâche de placer la restriction d'échange sur le nouvel item. Il peut effectuer cette tâche quand TradeSetOwned/v0001 est appelé si is_market vaut 1 et audit_action vaut 101.
  • market_marketable_restriction (facultatif) : similaire à market_tradable_restriction, ce paramètre indique le nombre de jours suivant l'achat pendant lesquels l'item ne pourra pas être vendu. Les jeux Valve utilisent une valeur de 7 (valeur par défaut : 0).
    REMARQUE : cette valeur n'est pas obligatoire. Steam n'applique pas cette restriction à votre place. La valeur de ce champ s'utilise uniquement pour informer le public de l'existence d'une restriction. Après l'achat d'un item, le serveur de ressources a pour tâche de placer la restriction de vente sur le nouvel item. Il peut effectuer cette tâche quand TradeSetOwned/v0001 est appelé si is_market vaut 1 et audit_action vaut 101.
  • actions : tableau d'actions (liens), généralement pour afficher des informations supplémentaires relatives à une ressource. Sur la page d'inventaire, elles sont affichées sous la forme de boutons sous la description. Ces liens seront ouverts dans le navigateur par défaut de la personne.
    • link : URL vers laquelle la clientèle est redirigée quand elle clique sur le bouton. Les jetons %assetid%, %contextid% et %appid% seront remplacés respectivement par l'ID de la ressource, l'ID de contexte et l'AppID propriétaire.
    • name : nom à afficher sur le bouton.
  • owner_descriptions : tableau de descriptions qui ne sont montrées qu'à la personne propriétaire de la ressource. Le contenu de ce tableau est exactement semblable à celui de descriptions. La seule différence entre les deux listes est la ou les personnes autorisées à voir les descriptions.
  • owner_actions : tableau d'actions qui ne sont montrées qu'à la personne propriétaire de la ressource. Le format doit être identique à celui d'actions. Ce sont des actions spéciales réservées à la personne qui possède la ressource, comme activer ou modifier cette dernière.
  • fraudwarnings : tableau de chaines de caractères. Ce sont les avertissements de fraude à afficher si l'item est ajouté à un échange.
    Ils s'affichent en rouge si l'item est ajouté à un échange.
  • name : première ligne de l'affichage de l'item
  • name_color : valeur hexadécimale de la couleur RVB à utiliser pour le nom. Elle doit être en accord avec le code de couleur basé sur la qualité ou la rareté des noms de ressources dans votre jeu.
  • type : deuxième ligne de l'affichage de l'item
  • contained_item (facultatif) : ce nœud doit contenir un bloc de ressource complet pour un item contenu dans cette ressource. Les jeux Source utilisent ce paramètre pour les cadeaux emballés, mais cela ne s'applique peut-être pas à votre jeu.
  • cache_expiration (facultatif) : date au format UTC RFC 3339 à laquelle le cache de Steam de la réponse doit être invalidé. À utiliser uniquement si une partie de la réponse GetAssetClassInfo doit être modifiée à une date ultérieure alors que l'ensemble des propriétés de la classe de ressource n'a pas changé. Cela sera utile, par exemple, si l'item devient échangeable à une date ultérieure. Nous vous recommandons d'arrondir les dates dans les propriétés de la classe de ressource (et donc également dans ce champ) au jour ou à l'heure près pour que Steam puisse mieux mettre en cache les descriptions des ressources.
  • item_expiration (facultatif) : date au format UTC RFC 3339 à laquelle l'item ne pourra plus être utilisé. Après cette date, toute offre du marché ne pourra pas faire l'objet d'un achat et sera automatiquement annulée.

    Exemple de sortie

    { "result": { "asset": { "descriptions": [ { "name": "attribut", "value": "+50 % de résistance aux dégâts de feu pour l'unité porteuse", "color": "99ccff" }, { "name": "attribut", "value": "+40 % de résistance aux dégâts explosifs pour l'unité porteuse", "color": "99ccff" }, { "name": "attribut", "value": "Feu alt. : gagnez de la puissance d'attaque en\nchargeant vers vos adversaires." } ] , "fraudwarnings": [ "Cet item a été renommé.\nNom d'origine : \"Chargin' Targe\"" ] , "tradable": true, "background_color": "3C352E", "icon_url": "http://media.steampowered.com/apps/440/icons/c_targe_large.b7d8c75ecfc9b04cc49d2c61ddc77996d7ec2f3a.png", "name": "''Awesome Targe''", "type": "Bouclier de niveau 10", "name_color": "7D6D00", "actions": [ { "name": "Page wiki de l'item...", "link": "http://wiki.teamfortress.com/scripts/itemredirect.php?id=131&lang=fr_FR" } ] }, "success": true } }

    economy_asset_tooltip.png

    economy_asset_icon.png