Dokumentacja Steamworks
GetContexts/v0001
Zwraca konteksty, które istnieją dla określonego użytkownika.

Wywoływana przez: narzędzie pomocy technicznej, interfejs użytkownika dla wymiany, interfejs użytkownika dla ekwipunku

Metoda HTTP: GET

Parametry:

NazwaTypWymagane?Opis
keystringJest to klucz serwera zasobów, który podano w ustawieniach Ekonomii Steam twojej aplikacji na stronie partnerskiej.
appiduint3232-bitowe ID aplikacji powiązanej z kontekstami.
steamiduint6464-bitowe ID Steam użytkownika, dla którego zwracane są konteksty.
parentuint6464-bitowe ID kontekstu nadrzędnego, dla którego zwracane są wartości podrzędne. Jeśli parametr ma wartość 0, zwracane są konteksty poziomu root.
categorystringPodaj „history” lub „assets”, jeśli metoda jest wywoływana z poziomu narzędzia pomocy technicznej. Podaj „trading”, jeśli wywołanie pochodzi z interfejsu użytkownika dla wymiany lub ekwipunku. Może to być przydatne, jeśli posiadasz konteksty, dla których sensowne jest, by pojawiały się tylko w określonych kategoriach. Jest również prawdopodobne, że niektóre polecenia kontekstu mają sens tylko w niektórych kategoriach, więc możesz w oparciu o kategorie przefiltrować, które polecenia wysyłasz. Jeśli nie obsługujesz API narzędzia pomocy technicznej, to możesz traktować wszystkie kategorie w ten sam sposób.
commandsboolWartość „true”, jeżeli polecenia powinny być zawarte na wyjściu.
languagestringKod języka ISO639-1 oraz kod kraju ISO 3166-1 alfa-2 dla języka, w którym należy zwrócić stringi, np. en_US, de_DE, zh_CN i ko_KR. Domyślnie: en_US.

Wartości zwrotne

Wynik tej metody powinien być zakodowany w formacie JSON.

Odpowiedź:
  • result
    • success – wartość „true”, jeśli metoda zakończy się powodzeniem. Jeśli serwer zasobów zwraca wartość „false”, to powinien ustawić error jako string z wyjaśnieniem dlaczego.
    • error – string wyjaśniający, dlaczego to wywołanie nie powiodło się. Ta wiadomość zostanie zapisana w dzienniku błędów, który jest dostępny w zakładce „Ekonomia” na stronie Steamworks.
    • context – tablica kontekstów podrzędnych dla określonego kontekstu nadrzędnego.
      • id – 64-bitowe ID kontekstu w obrębie tej gry dla tego ID Steam. Aby dowiedzieć się więcej, zobacz ten artykuł.
      • name – nazwa kontekstu. Będzie wyświetlać się pracownikom pomocy technicznej. Jeśli user_facing ma wartość „true”, to jest ona również wyświetlana użytkownikom.
      • nested – jeśli wartość to „true”, kolejne wywołanie funkcji GetContexts z tym kontekstem jako nadrzędnym spowoduje zwrócenie niepustej listy kontekstów.
      • asset_count – liczba zasobów i walut, które użytkownik posiada w tym kontekście. Ta liczba jest wyświetlana użytkownikowi i zwykle każdy kontekst z polem asset_count równym zero będzie ukryty przed użytkownikiem.
      • user_facing – jeśli wartość to „true” i w kontekście są zasoby, to zostaną wyświetlone w interfejsie użytkownika dla wymiany i ekwipunku.
      • commands – tablica poleceń do wyświetlenia dla tego kontekstu na stronie „Ekonomia” w narzędziu pomocy technicznej. Dodatkowe informacje na temat poleceń znajdują się poniżej.
    • alerts(opcjonalnie) – tablica alertów związanych z tą grą do wyświetlenia w interfejsie wymiany. Ten element jest ignorowany dla kategorii innych niż „trading”.
      • text – zlokalizowany string do wyświetlenia w interfejsie użytkownika dla wymiany w tej grze.
      • color (opcjonalnie) – szesnastkowy kod koloru, w którym alert zostanie wyświetlony.
    • trade_permissions (opcjonalnie) – poziom uprawnień wymiany tego użytkownika. Wartość musi być jedną z następujących: NONE, RECEIVEONLY, SENDONLY, SENDONLY_FULLINVENTORY lub FULL.
      Użytkownicy z NONE nie będą mogli wymieniać żadnych zasobów związanych z tą grą. Użytkownicy z RECEIVEONLY będą mogli otrzymywać zasoby związane z tą grą, ale nie będą mogli dodawać własnych zasobów do wymiany. Użytkownicy z SENDONLY będą mogli dodawać posiadane przez siebie zasoby do wymiany, ale nie będą mogli otrzymywać zasobów związanych z tą grą. Użytkownicy z SENDONLY_FULLINVENTORY będą mieć te same ograniczenia co SENDONLY, ale zostaną powiadomieni, że ograniczenie jest spowodowane faktem, że ich ekwipunek jest pełny. Użytkownicy z FULL mogą dodawać do wymiany dowolne posiadane przez siebie przedmioty oznaczone jako wymienialne lub otrzymywać dowolne wymienialne przedmioty od partnera wymiany. Ten element jest ignorowany dla kategorii innych niż „trading”. Domyślnie: FULL.

Polecenia

Każdy kontekst może zawierać polecenia, które pozwalają pracownikom pomocy technicznej zarządzać zasobami użytkownika. Pojawiają się one tylko na stronie „Ekonomia” w narzędziu pomocy technicznej. Są one używane do takich działań jak np. dodawanie nowych przedmiotów, ponowne wczytanie konta i usuwanie przedmiotów. Po wykonaniu polecenia wywołane zostanie ContextCommand/v0001. Każde polecenie jest określone w następujący sposób:
  • name – nazwa polecenia. Jest wyświetlana w narzędziu pomocy technicznej i zostanie zwrócona do ContextCommand.
  • description – opis tego, co zrobi polecenie. Zostanie on wyświetlony pracownikowi pomocy technicznej w oknie dialogowym potwierdzenia.
  • record_note – jeśli wartość to „true”, to pracownik pomocy technicznej zobaczy okno, w którym będzie musiał dodać notatkę, która następnie znajdzie się w historii działań podjętych przez pomoc techiczną dla tego konta.
    „false” powinno zostać zwrócone dla poleceń, które nie wprowadzają zmian w informacjach użytkownika (takich jak ponowne wczytywanie danych użytkownika z bazy danych).
    (domyślnie: true)
  • asset_command (opcjonalnie) – jeśli wartość to „true”, polecenie pojawi się na każdym zasobie w kontekście zamiast na samym kontekście.
    Jeśli pracownik pomocy technicznej wykona to polecenie na kontekście, to dodatkowy argument o nazwie assetid zostanie dodany do wynikowego wywołania ContextCommand.

  • options – tablica opcji do wyświetlenia w oknie dialogowym z potwierdzeniem.
    • name – nazwa opcji.
    • type – typ elementu interfejsu wyświetlany dla opcji. Obsługiwane typy to checkbox, dropdown, numeric i type_picker.
    • default – domyślna wartość dla tej opcji. Jest to wartość typu bool dla opcji z polem wyboru (checkbox) i nazwa wartości dla opcji z listą rozwijaną (dropdown).
    • supervisor_only – wartość to „true” tylko wtedy, gdy istnieje ograniczona liczba pracowników pomocy technicznej, która powinna mieć dostęp do tej opcji. Dla wszystkich pozostałych pracowników zostanie użyta wartość domyślna.
    • values – tablica możliwych wartości dla opcji typu dropdown. Nie jest używana dla innych typów opcji.
      • name – nazwa, która zostanie wyświetlona pracownikowi pomocy technicznej dla tej wartości.
      • value – wartość, która zostanie zwrócona w ContextCommand, jeśli została wybrana z listy rozwijanej.

    • types – tablica typów do wyświetlenia w opcjach type_picker. Nie jest używana dla innych typów opcji.
      • name – nazwa typu.
      • value – wartość do zwrócenia dla tego typu.
      • icon_url – URL ikony, która będzie wyświetlana obok tego typu w kontrolce wyboru.
      • tags – tablica tagów do wyświetlenia pod nazwą w type_picker.

Przykładowe wyjście

{ "result": { "success": true, "contexts": [ { "id": 2, "name": "Backpack", "nested": false, "commands": [ { "name": "Reload", "description": "Reload the user's information from the database.", "record_note": false }, { "name": "Delete All", "description": "Delete all of the user's items.", "options": [ { "name": "Delete Purchased Items", "type": "checkbox", "default": false } ] }, { "name": "Add Item", "description": "Adds an item for the user. Please don't set Quality, Particle Effect, or Level unless you know what you're doing.", "options": [ { "name": "Quality", "type": "dropdown", "default": "unique", "values": [ { "name": "Any", "value": "Any" }, { "name": "Normal", "value": "normal" }, { "name": "Genuine", "value": "rarity1" }, { "name": "Vintage", "value": "vintage" }, { "name": "Unusual", "value": "rarity4" } ] }, { "name": "Particle Effect", "type": "dropdown", "default": "none", "values": [ { "name": "None", "value": 0 }, { "name": "burningplayer_red", "value": 1 }, { "name": "burningplayer_flyingbits", "value": 2 } ] }, { "name": "Level", "type": "numeric", "default": 0 }, { "name": "Not Tradable", "type": "checkbox", "default": false }, { "name": "Not Usable In Crafting", "type": "checkbox", "default": false }, { "name": "Item Type", "type": "type_picker", "types": [ { "value": "The Kritzkrieg", "icon_url": "http://media.steampowered.com/apps/440/icons/c_overhealer.b5ed539b534216652b45694e19c78d2aaebcfe5e.png", "name": "Kritzkrieg", "tags": [ "Slot: secondary", "Used By: Medic" ] }, { "value": "The Blutsauger", "icon_url": "http://media.steampowered.com/apps/440/icons/c_leechgun.198c5a7943a16f08b5227f2e84d165c153ed0223.png", "name": "Blutsauger", "tags": [ "Slot: primary", "Used By: Medic" ] } ] } ] }, { "name": "Delete Item", "asset_command": true, "description": "Delete an item" } ] , "asset_count": 180, "user_facing": true }, { "id": 3, "name": "Recipes", "nested": false, "asset_count": 0, "user_facing": false } ] , "alerts": [ ] , "trade_permissions": "FULL" } }