Steamworks 문서
GetContexts/v0001
지정된 사용자를 위해 존재하는 컨텍스트를 반환합니다.

호출: 지원 도구, 거래 UI, 보관함 UI

HTTP 메서드: GET

매개변수:

이름종류필수설명
keystring이것은 귀하가 파트너 사이트에 제공한 귀사 앱의 Steam 경제 설정에 있는 "자산 서버 키"입니다.
appiduint32컨텍스트와 연관된 애플리케이션의 32비트 앱 ID.
steamiduint64컨텍스트를 반환할 사용자의 64bit Steam ID.
parentuint64하위 요소를 반환할 상위 컨텍스트의 64비트 ID. 이 매개변수가 0일 경우, 루트 수준의 컨텍스트를 반환합니다.
categorystring만일 지원 도구에서 호출할 경우, ’이력’ 혹은 '에셋'이 표기됩니다. 거래 혹은 보관함 UI에서 호출을 할 경우 카테고리는 '거래'가 됩니다. 특정 카테고리에만 나타나야 하는 컨텍스트가 있는 경우 유용합니다. 특정 카테고리에만 있어야 하는 컨텍스트 명령도 일부 존재하기 때문에, 카테고리를 기준으로 어떤 명령을 전송할지 필터링할 수 있습니다. 지원 도구 API를 지원하지 않을 경우 모든 카테고리를 동일하게 취급해도 좋습니다.
commandsbool컨텍스트 명령은 출력에 포함되어야 합니다.
languagestringISO639-1 언어 코드에 문자열을 반환할 언어의 ISO 3166-1 alpha 2 국가 코드. 일부 예시에는 en_US, de_DE, zh_CN, ko_KR이 포함됩니다. 기본값: en_US

반환값

이 메서드의 출력은 JSON 형식으로 인코딩되어야 합니다.

응답:
  • 결과
    • success - 메서드가 성공일 때 true. 에셋 서버가 false를 반환하면, 그 원인을 설명하는 error를 문자열에 설정해야 합니다.
    • error - 실패 원인을 설명하는 문자열. 이 메시지는 Steamworks 사이트의 경제 탭에 있는 오류 이력에 기록됩니다.
    • contexts - 지정한 상위 요소의 하위 요소에 해당하는 컨텍스트 모음.
      • id - 이 steam ID의 게임 내 컨텍스트의 64비트 ID. 자세한 내용은 Steam Economy 컨텍스트 ID을(를) 참조하세요.
      • name - 컨텍스트의 이름. 고객 지원 담당자에게 표시됩니다. user_facing이 true인 경우에는 사용자에게도 표시됩니다.
      • nested - true인 경우 이 컨텍스트를 상위 요소로 하는 GetContexts의 후속 호출은 비어있지 않은 컨텍스트 목록을 반환합니다.
      • asset_count - 컨텍스트의 사용자가 보유한 에셋과 통화의 숫자. 이 숫자는 사용자에게 표시되며 asset_count가 0인 컨텍스트는 일반적으로 사용자에게 숨겨집니다.
      • user_facing - 값이 true이고 컨텍스트에 에셋이 포함되어 있으면 거래 UI 및 보관함 UI에 표시됩니다.
      • commands - 지원 도구의 경제 페이지에 이 컨텍스트를 표시할 명령 모음. 명령에 대한 자세한 내용은 아래를 참조하세요.
    • alerts(선택 사항) - 게임 거래 UI에 표시할 알림 모음. 이 노드는 '거래'를 제외한 모든 카테고리에서 무시됩니다.
      • text - 게임의 거래 UI를 표시할 현지화된 문자열.
      • color(선택 사항) - 이 알림을 표시할 색의 여섯 자리 색상 코드.
    • trade_permissions(선택 사항) - 이 사용자의 거래 권한 수준. 값은 NONE, RECEIVEONLY, SENDONLY, SENDONLY_FULLINVENTORY, FULL 중 하나를 사용해야 합니다.
      NONE 사용자는 게임의 에셋을 포함한 어떤 거래도 완료할 수 없습니다. RECEIVEONLY 사용자는 게임의 에셋을 받을 수 있으나 자신의 에셋을 거래에 추가할 수는 없습니다. SENDONLY 사용자는 자신의 에셋을 거래에 추가할 수 있으나 게임의 에셋을 받을 수는 없습니다. SENDONLY_FULLINVENTORY는 SENDONLY와 동일한 제한이 적용되나, 게임의 보관함이 꽉 차서 제한이 걸렸다는 알림을 받게 됩니다. FULL 권한을 보유한 사용자는 거래 가능으로 표시된 자신의 아이템을 거래에 추가하거나, 거래 파트너가 보유한 거래 가능 아이템을 받을 수 있습니다. 이 노드는 '거래'를 제외한 모든 카테고리에서 무시됩니다. 기본값: FULL

명령

각 컨텍스트에는 고객 지원 담당자가 사용자의 에셋을 조작할 수 있게 해주는 명령이 포함되어 있습니다. 명령은 지원 도구의 경제 페이지에만 표시됩니다. 주로 신규 아이템 추가, 계정 다시 불러오기, 아이템 삭제 등의 작업에 사용됩니다. 명령이 실행되면 ContextCommand/v0001이(가) 호출됩니다. 각 명령은 다음과 같습니다.
  • name - 명령의 이름. 지원 도구에 표시되며 ContextCommand로 반환됩니다.
  • description - 명령이 실행할 동작에 대한 설명입니다. 고객 지원 담당자의 확인 대화창에 표시됩니다.
  • record_note - true인 경우 고객 지원 담당자는 계정에 대한 지원 활동 내역에 기록할 것을 요청하는 알림을 받습니다.
    사용자의 정보를 전혀 변경하지 않는 명령에는 false가 반환됩니다(데이터베이스에서 사용자를 다시 로드하는 명령 등).
    (기본값: true)
  • asset_command(선택 사항) - true인 경우 컨텍스트 자체가 아닌 컨텍스트의 각 에셋에 명령가 표시됩니다.
    고객 지원 담당자가 컨텍스트에 이 명령을 실행하면 assetid 인수가 ContextCommand의 결과 호출에 추가됩니다.

  • options - 확인 대화창에 표시할 옵션 모음.
    • name - 옵션의 이름.
    • type - 옵션을 표시하는 컨트롤 유형. 지원되는 유형은 checkbox, dropdown, numeric, type_picker입니다.
    • default - 이 옵션의 기본값입니다. 확인란 옵션의 부울 값이며 드롭다운 옵션 값의 이름입니다.
    • supervisor_only - 제한된 고객 지원 담당자만 이 옵션에 접근할 수 있는 경우 true입니다. 다른 모든 담당자에게는 기본값이 적용됩니다.
    • values - dropdown 옵션에 사용 가능한 값의 모음. 다른 옵션 유형에는 사용되지 않습니다.
      • name - 고객 지원 담당자에게 값을 표시할 때 사용하는 이름.
      • value - 드롭다운에서 선택한 경우, ContextCommand에 반환할 값을 말합니다.

    • types - type_picker 옵션에 표시할 유형 모음. 다른 옵션 유형에는 사용되지 않습니다.
      • name - 유형의 이름.
      • value - 이 유형에 반환할 값.
      • icon_url - 선택기 컨트롤에 이 유형과 함께 표시할 아이콘의 URL.
      • tags - 유형 선택기의 이름 아래에 표시할 태그 모음.

예시 출력

{ "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" } }