지정된 사용자를 위해 존재하는 컨텍스트를 반환합니다.
호출: 지원 도구, 거래 UI, 보관함 UI
HTTP 메서드: GET
매개변수:
이름 | 종류 | 필수 | 설명 |
key | string | ✔ | 이것은 귀하가 파트너 사이트에 제공한 귀사 앱의 Steam 경제 설정에 있는 "자산 서버 키"입니다. |
appid | uint32 | ✔ | 컨텍스트와 연관된 애플리케이션의 32비트 앱 ID. |
steamid | uint64 | ✔ | 컨텍스트를 반환할 사용자의 64bit Steam ID. |
parent | uint64 | ✔ | 하위 요소를 반환할 상위 컨텍스트의 64비트 ID. 이 매개변수가 0일 경우, 루트 수준의 컨텍스트를 반환합니다. |
category | string | ✔ | 만일 지원 도구에서 호출할 경우, ’이력’ 혹은 '에셋'이 표기됩니다. 거래 혹은 보관함 UI에서 호출을 할 경우 카테고리는 '거래'가 됩니다. 특정 카테고리에만 나타나야 하는 컨텍스트가 있는 경우 유용합니다. 특정 카테고리에만 있어야 하는 컨텍스트 명령도 일부 존재하기 때문에, 카테고리를 기준으로 어떤 명령을 전송할지 필터링할 수 있습니다. 지원 도구 API를 지원하지 않을 경우 모든 카테고리를 동일하게 취급해도 좋습니다. |
commands | bool | ✔ | 컨텍스트 명령은 출력에 포함되어야 합니다. |
language | string | ✔ | ISO639-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"
}
}