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
| Pole | Typ | Opis |
|---|---|---|
assets | array | Przedmioty posiadane przez użytkownika. Każdy asset odwołuje się do opisu przez classid + instanceid. |
descriptions | array | Metadane 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
| Pole | Typ | Opis |
|---|---|---|
appid | number | Application ID, do którego należy asset. |
contextid | string | Context ID, w którym znajduje się asset. |
assetid | string | Unikalny identyfikator tego konkretnego assetu w ekwipunku użytkownika. |
classid | string | Class ID używany do wyszukania opisu assetu. |
instanceid | string | Instance ID używany (razem z classid) do wyszukania opisu assetu. |
amount | string | Ilość tego assetu. Prawie zawsze "1" poza przedmiotami, które można stakować. |
Obiekt description
| Pole | Typ | Opis |
|---|---|---|
appid | number | Application ID. |
classid | string | Class ID — pasuje do assets[].classid. |
instanceid | string | Instance ID — pasuje do assets[].instanceid. |
currency | number | 1, jeśli przedmiot jest walutą w grze, w przeciwnym razie 0. |
background_color | string | Kolor hex używany w tle ikony przedmiotu w interfejsie Steam. |
icon_url | string | Względna ścieżka do ikony przedmiotu w CDN Steam. |
icon_url_large | string | Względna ścieżka do dużej ikony przedmiotu w CDN Steam (nie zawsze obecna). |
descriptions | array | Linie opisu w formacie rich-text (opis broni, zawartość skrzyń, atrybuty itp.). |
tradable | number | 1, jeśli przedmiot można wymieniać, w przeciwnym razie 0. |
marketable | number | 1, jeśli przedmiot można sprzedać na Rynku Społeczności Steam, w przeciwnym razie 0. |
commodity | number | 1, jeśli przedmiot jest towarem (zamiennym), w przeciwnym razie 0. |
market_tradable_restriction | number | Liczba dni do momentu, gdy przedmiot stanie się wymienialny. |
market_marketable_restriction | number | Liczba dni do momentu, gdy przedmiot stanie się sprzedawalny na rynku. |
name | string | Wyświetlana nazwa przedmiotu. |
name_color | string | Kolor hex używany dla nazwy przedmiotu w interfejsie Steam (odzwierciedla rzadkość). |
type | string | Klasyfikacja typu przedmiotu (np. "Base Grade Container", "Mil-Spec Grade SMG"). |
market_name | string | Wyświetlana nazwa rynkowa. |
market_hash_name | string | Bezpieczna dla URL nazwa rynkowa, używana do odpytywania endpointów rynku. |
actions | array | Akcje w grze, takie jak linki do inspekcji. Nie zawsze obecne. |
market_actions | array | Akcje w zakresie rynku, takie jak linki do inspekcji ze strony rynku. Nie zawsze obecne. |
tags | array | Tagi klasyfikacyjne (typ, broń, rzadkość, wygląd, kolekcja itp.). |
sealed | number | 1, jeśli kontener jest zapieczętowany, w przeciwnym razie 0. |
sealed_type | number | Wewnętrzny typ zapieczętowanego kontenera. |
market_bucket_group_name | string | Nazwa grupy koszyka rynkowego (używana przez Steam do grupowania wariantów). |
market_bucket_group_id | string | Identyfikator 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"
}
]
}
}