-
Notifications
You must be signed in to change notification settings - Fork 156
/
Copy pathsteammessages_useraccount.proto
250 lines (202 loc) · 9.07 KB
/
steammessages_useraccount.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
syntax = "proto2";
import "steammessages_base.proto";
import "steammessages_unified_base.proto";
option py_generic_services = true;
enum EInternalAccountType {
k_EInternalSteamAccountType = 1;
k_EInternalClanType = 2;
k_EInternalAppType = 3;
k_EInternalBroadcastChannelType = 4;
}
enum EExternalAccountType {
k_EExternalNone = 0;
k_EExternalSteamAccount = 1;
k_EExternalGoogleAccount = 2;
k_EExternalFacebookAccount = 3;
k_EExternalTwitterAccount = 4;
k_EExternalTwitchAccount = 5;
k_EExternalYouTubeChannelAccount = 6;
k_EExternalFacebookPage = 7;
}
message CUserAccount_GetAvailableValveDiscountPromotions_Request {
optional string country_code = 1;
}
message CUserAccount_GetAvailableValveDiscountPromotions_Response {
message ValveDiscountPromotionDetails {
optional uint32 promotionid = 1;
optional string promotion_description = 2;
optional int64 minimum_cart_amount = 3;
optional int64 minimum_cart_amount_for_display = 4;
optional int64 discount_amount = 5;
optional int32 currency_code = 6;
optional int32 available_use_count = 7;
optional int32 promotional_discount_type = 8;
optional int32 loyalty_reward_id = 9;
optional string localized_name_token = 10;
optional int32 max_use_count = 11;
}
repeated .CUserAccount_GetAvailableValveDiscountPromotions_Response.ValveDiscountPromotionDetails promotions = 1;
}
message CUserAccount_GetClientWalletDetails_Request {
optional bool include_balance_in_usd = 1;
optional int32 wallet_region = 2 [default = 1];
optional bool include_formatted_balance = 3;
}
message CUserAccount_GetWalletDetails_Response {
optional bool has_wallet = 1;
optional string user_country_code = 2;
optional string wallet_country_code = 3;
optional string wallet_state = 4;
optional int64 balance = 5;
optional int64 delayed_balance = 6;
optional int32 currency_code = 7;
optional uint32 time_most_recent_txn = 8;
optional uint64 most_recent_txnid = 9;
optional int64 balance_in_usd = 10;
optional int64 delayed_balance_in_usd = 11;
optional bool has_wallet_in_other_regions = 12;
repeated int32 other_regions = 13;
optional string formatted_balance = 14;
}
message CUserAccount_GetAccountLinkStatus_Request {
}
message CUserAccount_GetAccountLinkStatus_Response {
optional uint32 pwid = 1;
optional uint32 identity_verification = 2;
optional bool performed_age_verification = 3;
}
message CUserAccount_CancelLicenseForApp_Request {
optional uint32 appid = 1;
}
message CUserAccount_CancelLicenseForApp_Response {
}
message CUserAccount_GetUserCountry_Request {
optional fixed64 steamid = 1;
}
message CUserAccount_GetUserCountry_Response {
optional string country = 1;
}
message CUserAccount_CreateFriendInviteToken_Request {
optional uint32 invite_limit = 1;
optional uint32 invite_duration = 2;
optional string invite_note = 3;
}
message CUserAccount_CreateFriendInviteToken_Response {
optional string invite_token = 1;
optional uint64 invite_limit = 2;
optional uint64 invite_duration = 3;
optional fixed32 time_created = 4;
optional bool valid = 5;
}
message CUserAccount_GetFriendInviteTokens_Request {
}
message CUserAccount_GetFriendInviteTokens_Response {
repeated .CUserAccount_CreateFriendInviteToken_Response tokens = 1;
}
message CUserAccount_ViewFriendInviteToken_Request {
optional fixed64 steamid = 1;
optional string invite_token = 2;
}
message CUserAccount_ViewFriendInviteToken_Response {
optional bool valid = 1;
optional uint64 steamid = 2;
optional uint64 invite_duration = 3;
}
message CUserAccount_RedeemFriendInviteToken_Request {
optional fixed64 steamid = 1;
optional string invite_token = 2;
}
message CUserAccount_RedeemFriendInviteToken_Response {
}
message CUserAccount_RevokeFriendInviteToken_Request {
optional string invite_token = 1;
}
message CUserAccount_RevokeFriendInviteToken_Response {
}
message CUserAccount_RegisterCompatTool_Request {
optional uint32 compat_tool = 1;
}
message CUserAccount_RegisterCompatTool_Response {
}
message CAccountLinking_GetLinkedAccountInfo_Request {
optional .EInternalAccountType account_type = 1 [default = k_EInternalSteamAccountType];
optional uint64 account_id = 2 [(description) = "Internal account ID"];
optional .EExternalAccountType filter = 3 [default = k_EExternalNone, (description) = "if specified then only return this external account type"];
optional bool return_access_token = 4 [(description) = "if provided and true, then returns valid access token if available. It may refresh the token. "];
}
message CAccountLinking_GetLinkedAccountInfo_Response {
message CExternalAccountTuple_Response {
optional .EExternalAccountType external_type = 1 [default = k_EExternalNone];
optional string external_id = 2 [(description) = "unique external account identifier"];
optional string external_user_name = 3 [(description) = "user readable; best effort"];
optional string external_url = 4 [(description) = "required for all, can be a sentinal to verify correctness"];
optional string access_token = 5 [(description) = "provided if requeest and it was valid."];
optional string access_token_secret = 6 [(description) = "required for OAuth v1 and signing the message, provided with access token."];
optional bool is_valid = 7 [(description) = "If false, it means access token no longer work (expired, disconnected) and the link is now broken. Inform user to refresh."];
}
repeated .CAccountLinking_GetLinkedAccountInfo_Response.CExternalAccountTuple_Response external_accounts = 1;
}
message CEmbeddedClient_AuthorizeCurrentDevice_Request {
optional fixed64 steamid = 1;
optional uint32 appid = 2;
optional string device_info = 3;
optional uint32 deviceid = 4;
}
message CEmbeddedClient_Token {
optional fixed64 steamid = 1;
optional bytes client_token = 2;
optional uint32 expiry = 3;
optional uint32 deviceid = 4;
}
message CEmbeddedClient_AuthorizeDevice_Response {
optional uint32 result = 1;
optional .CEmbeddedClient_Token token = 2;
}
service UserAccount {
option (service_description) = "A service to get user account information";
rpc GetAvailableValveDiscountPromotions (.CUserAccount_GetAvailableValveDiscountPromotions_Request) returns (.CUserAccount_GetAvailableValveDiscountPromotions_Response) {
option (method_description) = "Gets the available promotional discounts available to the user";
}
rpc GetClientWalletDetails (.CUserAccount_GetClientWalletDetails_Request) returns (.CUserAccount_GetWalletDetails_Response) {
option (method_description) = "Returns balance and details about any users wallet";
}
rpc GetAccountLinkStatus (.CUserAccount_GetAccountLinkStatus_Request) returns (.CUserAccount_GetAccountLinkStatus_Response) {
option (method_description) = "Fetches account link status";
}
rpc CancelLicenseForApp (.CUserAccount_CancelLicenseForApp_Request) returns (.CUserAccount_CancelLicenseForApp_Response) {
option (method_description) = "Cancels a free license for a user";
}
rpc GetUserCountry (.CUserAccount_GetUserCountry_Request) returns (.CUserAccount_GetUserCountry_Response) {
option (method_description) = "Get the country code associated with the passed steamid (only available for logged-in user or support)";
}
rpc CreateFriendInviteToken (.CUserAccount_CreateFriendInviteToken_Request) returns (.CUserAccount_CreateFriendInviteToken_Response) {
option (method_description) = "Create a limited-use token that can be used to create a friend request";
}
rpc GetFriendInviteTokens (.CUserAccount_GetFriendInviteTokens_Request) returns (.CUserAccount_GetFriendInviteTokens_Response) {
option (method_description) = "Get the set of active tokens for the user";
}
rpc ViewFriendInviteToken (.CUserAccount_ViewFriendInviteToken_Request) returns (.CUserAccount_ViewFriendInviteToken_Response) {
option (method_description) = "View details about an invite token ";
}
rpc RedeemFriendInviteToken (.CUserAccount_RedeemFriendInviteToken_Request) returns (.CUserAccount_RedeemFriendInviteToken_Response) {
option (method_description) = "Create a friend relationship using the given invite token";
}
rpc RevokeFriendInviteToken (.CUserAccount_RevokeFriendInviteToken_Request) returns (.CUserAccount_RevokeFriendInviteToken_Response) {
option (method_description) = "Revoke an active friend invite token";
}
rpc RegisterCompatTool (.CUserAccount_RegisterCompatTool_Request) returns (.CUserAccount_RegisterCompatTool_Response) {
option (method_description) = "Register intended account usage of a tool";
}
}
service AccountLinking {
option (service_description) = "A service to manage and link to external accounts";
rpc GetLinkedAccountInfo (.CAccountLinking_GetLinkedAccountInfo_Request) returns (.CAccountLinking_GetLinkedAccountInfo_Response) {
option (method_description) = "List all my active linked external accounts; may be requested to return the access token";
}
}
service EmbeddedClient {
option (service_description) = "Service to authorize and manage Steam functions directly embedded in games";
rpc AuthorizeCurrentDevice (.CEmbeddedClient_AuthorizeCurrentDevice_Request) returns (.CEmbeddedClient_AuthorizeDevice_Response) {
option (method_description) = "Use a logged-in (password/etc) session to create a durable access token";
}
}