Steam

Ekwipunek

Pobierz ekwipunek użytkownika Steam dla danej aplikacji i kontekstu, zwracając assety wraz z opisami, które rozszyfrowują metadane wizualne i rynkowe każdego assetu.

Endpoint

Ten endpoint zwraca ekwipunek użytkownika Steam dla konkretnej aplikacji i kontekstu. Odpowiedź odzwierciedla strukturę ekwipunku Steam: tablica assets z listą posiadanych przedmiotów oraz tablica descriptions, która rozszyfrowuje metadane wizualne i rynkowe każdego assetu po classid + instanceid.

GET   /v2/steam/users/{steamid}/inventory/{appId}/{contextId}

Wymagane parametry

steamid
string
Steam ID użytkownika, którego ekwipunek chcesz pobrać. Akceptuje różne formaty Steam ID.
appId
number
Steam application ID gry, której ekwipunek chcesz pobrać (np. 730 dla Counter-Strike 2).
contextId
number
Identyfikator kontekstu w ramach ekwipunku aplikacji. W większości gier context ID to 2.

Uwierzytelnianie

Dołącz swój klucz API jako header x-api-key.

x-api-key: YourSecretAPIKey

Pola odpowiedzi

PoleTypOpis
assetsarrayPrzedmioty posiadane przez użytkownika. Każdy asset odwołuje się do opisu przez classid + instanceid.
descriptionsarrayMetadane opisujące każdą unikalną klasę/instancję przedmiotu, do której odwołują się assets. Zazwyczaj wiele assetów współdzieli jeden opis.

Obiekt asset

PoleTypOpis
appidnumberApplication ID, do którego należy asset.
contextidstringContext ID, w którym znajduje się asset.
assetidstringUnikalny identyfikator tego konkretnego assetu w ekwipunku użytkownika.
classidstringClass ID używany do wyszukania opisu assetu.
instanceidstringInstance ID używany (razem z classid) do wyszukania opisu assetu.
amountstringIlość tego assetu. Prawie zawsze "1" poza przedmiotami, które można stakować.

Obiekt description

PoleTypOpis
appidnumberApplication ID.
classidstringClass ID — pasuje do assets[].classid.
instanceidstringInstance ID — pasuje do assets[].instanceid.
currencynumber1, jeśli przedmiot jest walutą w grze, w przeciwnym razie 0.
background_colorstringKolor hex używany w tle ikony przedmiotu w interfejsie Steam.
icon_urlstringWzględna ścieżka do ikony przedmiotu w CDN Steam.
icon_url_largestringWzględna ścieżka do dużej ikony przedmiotu w CDN Steam (nie zawsze obecna).
descriptionsarrayLinie opisu w formacie rich-text (opis broni, zawartość skrzyń, atrybuty itp.).
tradablenumber1, jeśli przedmiot można wymieniać, w przeciwnym razie 0.
marketablenumber1, jeśli przedmiot można sprzedać na Rynku Społeczności Steam, w przeciwnym razie 0.
commoditynumber1, jeśli przedmiot jest towarem (zamiennym), w przeciwnym razie 0.
market_tradable_restrictionnumberLiczba dni do momentu, gdy przedmiot stanie się wymienialny.
market_marketable_restrictionnumberLiczba dni do momentu, gdy przedmiot stanie się sprzedawalny na rynku.
namestringWyświetlana nazwa przedmiotu.
name_colorstringKolor hex używany dla nazwy przedmiotu w interfejsie Steam (odzwierciedla rzadkość).
typestringKlasyfikacja typu przedmiotu (np. "Base Grade Container", "Mil-Spec Grade SMG").
market_namestringWyświetlana nazwa rynkowa.
market_hash_namestringBezpieczna dla URL nazwa rynkowa, używana do odpytywania endpointów rynku.
actionsarrayAkcje w grze, takie jak linki do inspekcji. Nie zawsze obecne.
market_actionsarrayAkcje w zakresie rynku, takie jak linki do inspekcji ze strony rynku. Nie zawsze obecne.
tagsarrayTagi klasyfikacyjne (typ, broń, rzadkość, wygląd, kolekcja itp.).
sealednumber1, jeśli kontener jest zapieczętowany, w przeciwnym razie 0.
sealed_typenumberWewnętrzny typ zapieczętowanego kontenera.
market_bucket_group_namestringNazwa grupy koszyka rynkowego (używana przez Steam do grupowania wariantów).
market_bucket_group_idstringIdentyfikator grupy koszyka rynkowego.

URL-e ikon są względne. Aby je wyrenderować, poprzedź je bazowym adresem CDN Steam:

https://community.cloudflare.steamstatic.com/economy/image/{icon_url}

Przykład odpowiedzi

Dla zwięzłości tablice assets i descriptions zostały skrócone — prawdziwa odpowiedź zawiera jeden asset na każdy przedmiot w ekwipunku i jeden opis na każdą unikalną parę classid + instanceid.

response.json
{
  "success": true,
  "result": {
    "assets": [
      {
        "appid": 730,
        "contextid": "2",
        "assetid": "50813022021",
        "classid": "5710094579",
        "instanceid": "8336926543",
        "amount": "1"
      }
    ],
    "descriptions": [
      {
        "appid": 730,
        "classid": "5710094579",
        "instanceid": "8336926543",
        "currency": 0,
        "background_color": "393b3e",
        "icon_url": "i0CoZ81Ui0m-9KwlBY1L_18myuGuq1wfhWSaZgMttyVfPaERSR0Wqmu7LAocGJKz2lu_XsnXwtmkJjSU91dh8bj35VTqVBP4io_frnEVvqf_a6VoIfGSXz7Hlbwg57QwSS_mxhl15jiGyN37c3_GZw91W8BwRflK7EfKsa2sfw",
        "tradable": 1,
        "name": "Kilowatt Case",
        "name_color": "b0c3d9",
        "type": "Base Grade Container",
        "market_name": "Kilowatt Case",
        "market_hash_name": "Kilowatt Case",
        "commodity": 1,
        "market_tradable_restriction": 7,
        "market_marketable_restriction": 7,
        "marketable": 1,
        "tags": [
          { "category": "Type", "internal_name": "CSGO_Type_WeaponCase", "localized_category_name": "Type", "localized_tag_name": "Container" },
          { "category": "Rarity", "internal_name": "Rarity_Common", "localized_category_name": "Quality", "localized_tag_name": "Base Grade", "color": "b0c3d9" }
        ],
        "sealed": 0,
        "sealed_type": 0,
        "market_bucket_group_name": "Kilowatt Case",
        "market_bucket_group_id": "G18A8263004"
      }
    ]
  }
}