Difference between revisions of "User:RJackson/WebAPI"

From Team Fortress Wiki
Jump to: navigation, search
(Sandboxing WebAPI changes. Overall goal: Document the whole WebAPI in a generic format, not specific to TF2 / econ items for example.)
 
m
Line 21: Line 21:
  
 
;ISteamApps: Methods relating to Steam Apps in general.
 
;ISteamApps: Methods relating to Steam Apps in general.
:;[[/GetAppList|GetAppList]]: Full list of every publicly facing program in the store/library.
+
:;[[WebAPI/GetAppList|GetAppList]]: Full list of every publicly facing program in the store/library.
:;[[/GetServersAtAddress|GetServersAtAddress]]: TODO
+
:;[[WebAPI/GetServersAtAddress|GetServersAtAddress]]: TODO
:;[[/UpToDateCheck|UpToDateCheck]]: Check if a given app version is the most current available.
+
:;[[WebAPI/UpToDateCheck|UpToDateCheck]]: Check if a given app version is the most current available.
  
 
;ISteamEconomy: Methods relating to games' store's assets.
 
;ISteamEconomy: Methods relating to games' store's assets.
:;[[/GetAssetClassInfo|GetAssetClassInfo]]: Asset metadata
+
:;[[WebAPI/GetAssetClassInfo|GetAssetClassInfo]]: Asset metadata
:;[[/GetAssetPrices|GetAssetPrices]]: Prices of items in the economy.
+
:;[[WebAPI/GetAssetPrices|GetAssetPrices]]: Prices of items in the economy.
  
 
;ISteamNews: Methods relating to Steam News.
 
;ISteamNews: Methods relating to Steam News.
:;[[/GetNewsForApp|GetNewsForApp]]: News feed for various games
+
:;[[WebAPI/GetNewsForApp|GetNewsForApp]]: News feed for various games
  
 
;ISteamRemoteStorage: Methods relating to stored files.
 
;ISteamRemoteStorage: Methods relating to stored files.
:;[[/GetCollectionDetails|GetCollectionDetails]]: TODO
+
:;[[WebAPI/GetCollectionDetails|GetCollectionDetails]]: TODO
:;[[/GetPublishedFileDetails|GetPublishedFileDetails]]: TODO
+
:;[[WebAPI/GetPublishedFileDetails|GetPublishedFileDetails]]: TODO
:;[[/GetUGCFileDetails|GetUGCFileDetails]]: UGC file size, local filename, and URL.
+
:;[[WebAPI/GetUGCFileDetails|GetUGCFileDetails]]: UGC file size, local filename, and URL.
  
 
;ISteamUser: Methods relating to Steam users.
 
;ISteamUser: Methods relating to Steam users.
:;[[/GetFriendList|GetFriendList]]: User friend list
+
:;[[WebAPI/GetFriendList|GetFriendList]]: User friend list
:;[[/GetPlayerBans|GetPlayerBans]]: Player ban/probation status
+
:;[[WebAPI/GetPlayerBans|GetPlayerBans]]: Player ban/probation status
:;[[/GetPlayerSummaries|GetPlayerSummaries]]: User profile data
+
:;[[WebAPI/GetPlayerSummaries|GetPlayerSummaries]]: User profile data
:;[[/GetUserGroupList|GetUserGroupList]]: TODO
+
:;[[WebAPI/GetUserGroupList|GetUserGroupList]]: TODO
:;[[/ResolveVanityURL|ResolveVanityURL]]: Resolve vanity URL parts to a 64 bit ID.
+
:;[[WebAPI/ResolveVanityURL|ResolveVanityURL]]: Resolve vanity URL parts to a 64 bit ID.
  
 
;ISteamUserStats: Methods relating to User stats.
 
;ISteamUserStats: Methods relating to User stats.
:;[[/GetGlobalAchievementPercentagesForApp|GetGlobalAchievementPercentagesForApp]]: Statistics showing how much of the player base have unlocked various achievements.
+
:;[[WebAPI/GetGlobalAchievementPercentagesForApp|GetGlobalAchievementPercentagesForApp]]: Statistics showing how much of the player base have unlocked various achievements.
:;[[/GetGlobalStatsForGame|GetGlobalStatsForGame]]: TODO
+
:;[[WebAPI/GetGlobalStatsForGame|GetGlobalStatsForGame]]: TODO
:;[[/GetNumberOfCurrentPlayers|GetNumberOfCurrentPlayers]]: TODO
+
:;[[WebAPI/GetNumberOfCurrentPlayers|GetNumberOfCurrentPlayers]]: TODO
:;[[/GetPlayerAchievements|GetPlayerAchievements]]: Game achievements
+
:;[[WebAPI/GetPlayerAchievements|GetPlayerAchievements]]: Game achievements
:;[[/GetSchemaForGame|GetSchemaForGame]]: TODO
+
:;[[WebAPI/GetSchemaForGame|GetSchemaForGame]]: TODO
:;[[/GetUserStatsForGame|GetUserStatsForGame]]: TODO
+
:;[[WebAPI/GetUserStatsForGame|GetUserStatsForGame]]: TODO
  
 
=== Game specific interfaces ===
 
=== Game specific interfaces ===
 
==== Generic ====
 
==== Generic ====
 
;IEconItems_<ID>: Methods relating to in-game items for supported games. Supported IDs: 205790, 260, 440, 520, 570, 620, 710, 816, 841.
 
;IEconItems_<ID>: Methods relating to in-game items for supported games. Supported IDs: 205790, 260, 440, 520, 570, 620, 710, 816, 841.
:;[[/GetPlayerItems|GetPlayerItems]]: Lists items in a player's backpack.
+
:;[[WebAPI/GetPlayerItems|GetPlayerItems]]: Lists items in a player's backpack.
:;[[/GetSchema|GetSchema]]: Information about the items in a supporting game.
+
:;[[WebAPI/GetSchema|GetSchema]]: Information about the items in a supporting game.
:;[[/GetSchemaURL|GetSchemaURL]]: Returns a URL for the games' item_game.txt file. Supported  IDs: 205790, 440, 520, 570.
+
:;[[WebAPI/GetSchemaURL|GetSchemaURL]]: Returns a URL for the games' item_game.txt file. Supported  IDs: 205790, 440, 520, 570.
:;[[/GetStoreMetadata|GetStoreMetadata]]: Information about the game's store. Supported IDs: 205790, 440, 570.
+
:;[[WebAPI/GetStoreMetadata|GetStoreMetadata]]: Information about the game's store. Supported IDs: 205790, 440, 570.
:;[[/GetStoreStatus|GetStoreStatus]]: The game's store status. Supported IDs: 205790, 440, 520, 570, 816.
+
:;[[WebAPI/GetStoreStatus|GetStoreStatus]]: The game's store status. Supported IDs: 205790, 440, 520, 570, 816.
  
 
;IGCVersion_<ID>: TODO.  Supported IDs: 440, 520, 570, 816.
 
;IGCVersion_<ID>: TODO.  Supported IDs: 440, 520, 570, 816.
:;[[/GetClientVersion|GetClientVersion]]: TODO
+
:;[[WebAPI/GetClientVersion|GetClientVersion]]: TODO
:;[[/GetClusterVersion|GetClusterVersion]]: TODO Supported IDs: 570, 816.
+
:;[[WebAPI/GetClusterVersion|GetClusterVersion]]: TODO Supported IDs: 570, 816.
:;[[/GetServerVersion|GetServerVersion]]: TODO
+
:;[[WebAPI/GetServerVersion|GetServerVersion]]: TODO
  
 
;ITFPromos_<ID>: TODO.  Supported IDs: 205790, 260, 440, 520, 570, 620, 710, 816.
 
;ITFPromos_<ID>: TODO.  Supported IDs: 205790, 260, 440, 520, 570, 620, 710, 816.
:;[[/GetItemID|GetItemID]]: TODO
+
:;[[WebAPI/GetItemID|GetItemID]]: TODO
:;[[/GrantItem|GrantItem]]: TODO
+
:;[[WebAPI/GrantItem|GrantItem]]: TODO
  
 
==== Dota 2 ====
 
==== Dota 2 ====
 
;IDOTA2Match_<ID>: Methods relating to Dota 2 matches. Supported IDs: 205790, 570.
 
;IDOTA2Match_<ID>: Methods relating to Dota 2 matches. Supported IDs: 205790, 570.
:;[[/GetLeagueListing|GetLeagueListing]]: Information about DotaTV-supported leagues.
+
:;[[/GetLeagueListing|GetLeagueListing]] (Sandboxed page): Information about DotaTV-supported leagues.
:;[[/GetLiveLeagueGames|GetLiveLeagueGames]]: TODO
+
:;[[/GetLiveLeagueGames|GetLiveLeagueGames]] (Sandboxed page): TODO
:;[[/GetMatchDetails|GetMatchDetails]]: TODO
+
:;[[WebAPI/GetMatchDetails|GetMatchDetails]]: TODO
:;[[/GetMatchHistory|GetMatchHistory]]: TODO
+
:;[[WebAPI/GetMatchHistory|GetMatchHistory]]: TODO
:;[[/GetMatchHistoryBySequenceNum|GetMatchHistoryBySequenceNum]]: TODO
+
:;[[/GetMatchHistoryBySequenceNum|GetMatchHistoryBySequenceNum]] (Sandboxed page): TODO
  
 
;IDOTA2_<ID>: Methods relating to Dota 2. Supported IDs: 205790, 570, 816.
 
;IDOTA2_<ID>: Methods relating to Dota 2. Supported IDs: 205790, 570, 816.
:;[[/GetRarities|GetRarities]]: Dota 2 item rarity list.
+
:;[[WebAPI/GetRarities|GetRarities]]: Dota 2 item rarity list.
:;[[/GetHeroes|GetHeroes]]: TODO
+
:;[[WebAPI/GetHeroes|GetHeroes]]: TODO
:;[[/GetTicketSaleStatus|GetTicketSaleStatus]]: TODO. Supported IDs: 20570, 570.
+
:;[[/GetTicketSaleStatus|GetTicketSaleStatus]] (Sandboxed page): TODO. Supported IDs: 20570, 570.
:;[[/GetStoreSections|GetStoreSections]]: Dota 2 store sections. Supported IDs: 816.
+
:;[[WebAPI/GetStoreSections|GetStoreSections]]: Dota 2 store sections. Supported IDs: 816.
  
 
==== Portal 2 ====
 
==== Portal 2 ====
 
;IPortal2Leaderboards_<ID>: Methods relating to Portal 2 Leaderboards.  Supported IDs: 620, 841.
 
;IPortal2Leaderboards_<ID>: Methods relating to Portal 2 Leaderboards.  Supported IDs: 620, 841.
:;[[/GetBucketizedData|GetBucketizedData]]: TODO
+
:;[[WebAPI/GetBucketizedData|GetBucketizedData]]: TODO
  
 
==== Team Fortress 2 ====
 
==== Team Fortress 2 ====
 
;ITFItems_<ID>: Methods relating to TF2 items. Supported IDs: 440, 520.
 
;ITFItems_<ID>: Methods relating to TF2 items. Supported IDs: 440, 520.
:;[[/GetGoldenWrenches|GetGoldenWrenches]]: TODO
+
:;[[WebAPI/GetGoldenWrenches|GetGoldenWrenches]]: TODO
:;[[/GetPlayerItems|GetPlayerItems]]: TODO
+
:;[[WebAPI/GetPlayerItems|GetPlayerItems]]: TODO
:;[[/GetSchema|GetSchema]]: TODO
+
:;[[WebAPI/GetSchema|GetSchema]]: TODO
  
 
=== Other undocumented interfaces ===
 
=== Other undocumented interfaces ===
Line 102: Line 102:
 
== Notes ==
 
== Notes ==
  
=== List of valid IDs ===
+
=== List of IDs ===
  
 
{{anchor|appids}}
 
{{anchor|appids}}
 +
;260: Counter Strike: Source Beta
 
;440: Team Fortress 2
 
;440: Team Fortress 2
 
;520: Team Fortress 2 Public Beta
 
;520: Team Fortress 2 Public Beta
 
;570: Dota 2
 
;570: Dota 2
 
;620: Portal 2
 
;620: Portal 2
 +
;710: Counter-Strike: Global Offensive Beta Dev
 
;816: Dota 2 internal test
 
;816: Dota 2 internal test
 +
;841: Portal 2 Beta
 
;205790: Dota 2 (beta) test
 
;205790: Dota 2 (beta) test
  

Revision as of 19:25, 3 February 2013

Common elements

Parameters

Most WebAPI methods take the following arguments in their URL:

key
Your Steam Web API key. Without this, the server will return an HTTP 403 (forbidden) error. A key can be generated here.
format (Optional)
The file format to return output in.
json (default)
The JavaScript Object Notation format
xml
Standard XML
vdf
Valve Data Format
language (Optional)
The ISO639-1 language code for the language all tokenized strings should be returned in. Not all strings have been translated to every language. If a language does not have a string, the English string will be returned instead. If this parameter is omitted the string token will be returned for the strings.

Terminology

A "tokenized string" refers to a string containing "#"-prefixed tokens that are replaced with the equivalent string in the game's VDF for the chosen language. For instance, "TF_Weapon_Jar" is defined as "Jar Based Karate" in tf/resource/tf_english.txt (as found in "team fortress 2 content.gcf").

Methods

General interfaces

ISteamApps
Methods relating to Steam Apps in general.
GetAppList
Full list of every publicly facing program in the store/library.
GetServersAtAddress
TODO
UpToDateCheck
Check if a given app version is the most current available.
ISteamEconomy
Methods relating to games' store's assets.
GetAssetClassInfo
Asset metadata
GetAssetPrices
Prices of items in the economy.
ISteamNews
Methods relating to Steam News.
GetNewsForApp
News feed for various games
ISteamRemoteStorage
Methods relating to stored files.
GetCollectionDetails
TODO
GetPublishedFileDetails
TODO
GetUGCFileDetails
UGC file size, local filename, and URL.
ISteamUser
Methods relating to Steam users.
GetFriendList
User friend list
GetPlayerBans
Player ban/probation status
GetPlayerSummaries
User profile data
GetUserGroupList
TODO
ResolveVanityURL
Resolve vanity URL parts to a 64 bit ID.
ISteamUserStats
Methods relating to User stats.
GetGlobalAchievementPercentagesForApp
Statistics showing how much of the player base have unlocked various achievements.
GetGlobalStatsForGame
TODO
GetNumberOfCurrentPlayers
TODO
GetPlayerAchievements
Game achievements
GetSchemaForGame
TODO
GetUserStatsForGame
TODO

Game specific interfaces

Generic

IEconItems_<ID>
Methods relating to in-game items for supported games. Supported IDs: 205790, 260, 440, 520, 570, 620, 710, 816, 841.
GetPlayerItems
Lists items in a player's backpack.
GetSchema
Information about the items in a supporting game.
GetSchemaURL
Returns a URL for the games' item_game.txt file. Supported IDs: 205790, 440, 520, 570.
GetStoreMetadata
Information about the game's store. Supported IDs: 205790, 440, 570.
GetStoreStatus
The game's store status. Supported IDs: 205790, 440, 520, 570, 816.
IGCVersion_<ID>
TODO. Supported IDs: 440, 520, 570, 816.
GetClientVersion
TODO
GetClusterVersion
TODO Supported IDs: 570, 816.
GetServerVersion
TODO
ITFPromos_<ID>
TODO. Supported IDs: 205790, 260, 440, 520, 570, 620, 710, 816.
GetItemID
TODO
GrantItem
TODO

Dota 2

IDOTA2Match_<ID>
Methods relating to Dota 2 matches. Supported IDs: 205790, 570.
GetLeagueListing (Sandboxed page)
Information about DotaTV-supported leagues.
GetLiveLeagueGames (Sandboxed page)
TODO
GetMatchDetails
TODO
GetMatchHistory
TODO
GetMatchHistoryBySequenceNum (Sandboxed page)
TODO
IDOTA2_<ID>
Methods relating to Dota 2. Supported IDs: 205790, 570, 816.
GetRarities
Dota 2 item rarity list.
GetHeroes
TODO
GetTicketSaleStatus (Sandboxed page)
TODO. Supported IDs: 20570, 570.
GetStoreSections
Dota 2 store sections. Supported IDs: 816.

Portal 2

IPortal2Leaderboards_<ID>
Methods relating to Portal 2 Leaderboards. Supported IDs: 620, 841.
GetBucketizedData
TODO

Team Fortress 2

ITFItems_<ID>
Methods relating to TF2 items. Supported IDs: 440, 520.
GetGoldenWrenches
TODO
GetPlayerItems
TODO
GetSchema
TODO

Other undocumented interfaces

ISteamGameServerAccount
TODO
ISteamOAuth2
TODO
ISteamUserAuth
TODO
ISteamWebAPIUtil
TODO
ISteamWebUserPresenceOAuth
TODO

Notes

List of IDs

260
Counter Strike: Source Beta
440
Team Fortress 2
520
Team Fortress 2 Public Beta
570
Dota 2
620
Portal 2
710
Counter-Strike: Global Offensive Beta Dev
816
Dota 2 internal test
841
Portal 2 Beta
205790
Dota 2 (beta) test

Methods Requiring a 64-bit User ID

Most API requests that take an ID parameter require a 64 bit ID, if one is not readily available a vanity URL part can be resolved via ResolveVanityURL.

Implementations

See also

  • Feedback for requests, suggestions, and issues.