[subsection=SetConfigValue]SetConfigValue[/subsection] [code=cpp]bool SetConfigValue( ESteamNetworkingConfigValue eValue, ESteamNetworkingConfigScope eScopeType, intptr_t scopeObj, ESteamNetworkingConfigDataType eDataType, const void *pArg );[/code] Set a configuration value. [list] [*] eValue: which value is being set [*] eScope: Onto what type of object are you applying the setting? …
E.g. connection handle, listen socket handle, interface pointer, etc. [*] eDataType: What type of data is in the buffer at pValue? This must match the type of the variable exactly! [*] pArg: Value to set it to. …
[section=CanTrade]CanTrade[/section] [code=http]GET https://partner.steam-api.com/ISteamEconomy/CanTrade/v1/[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Required[/th][th]Description[/th][/tr] [tr][td][b]key[/b][/td][td]string[/td][td]✔[/td][td]Steamworks Web API publisher authentication key.…
[section=StartTrade]StartTrade[/section] [code=http]GET https://partner.steam-api.com/ISteamEconomy/StartTrade/v1/[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Required[/th][th]Description[/th][/tr] [tr][td][b]key[/b][/td][td]string[/td][td]✔[/td][td]Steamworks Web API publisher authentication key.…
[table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]m_eResult[/b][/td][td][apitype]steam_api::EResult[/apitype][/td][td]Was the call successful? …
This usually occurs in the rare event the Steam client has some kind of fatal error. [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]m_eFailureType[/b][/td][td][apitype]steam_api::uint8[/apitype][/td][td]This is a [apitype]ISteamUser::EFailureType[/apitype].…
[/td][/tr] [tr][td][b]appdata[/b][/td][td]uint64[/td][td][/td][td](Optional) App specific data about the type of cheating set by developer. (ex 1 = Aimbot, 2 = Wallhack, 3 = Griefing)[/td][/tr] [tr][td][b]heuristic[/b][/td][td]bool[/td][td][/td][td](Optional) Extra information about the source of the cheating - was it a heuristic.…
[b]Response:[/b] [ { "name": "success", "type": "bool", "description": "" } ] …
[section=GetTradeHistory]GetTradeHistory[/section] [code=http]GET https://api.steampowered.com/IEconService/GetTradeHistory/v1/[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Required[/th][th]Description[/th][/tr] [tr][td][b]key[/b][/td][td]string[/td][td]✔[/td][td]Steamworks Web API user authentication key.…
[section=GetTradeOffers]GetTradeOffers[/section] [code=http]GET https://api.steampowered.com/IEconService/GetTradeOffers/v1/[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Required[/th][th]Description[/th][/tr] [tr][td][b]key[/b][/td][td]string[/td][td]✔[/td][td]Steamworks Web API user authentication key.…
To do this, find the "Add Individual Apps" area. You'll either type in the game name or appID and select the game from the drop-down. [section]Options for display of games[/section] These options can be combined in a variety of ways to achieve the look you are going for. [docimg=sectionType_Items.jpg]sectionType_Items.jpg[/docimg] Showing a 4-row grid set to display "2/3/4/3" format [subsection]Display as a carousel[/subsection] If you set a section to appear as a carousel, any items that do not fit in the initial display will accessible by click the right or left arrows that appear next to the section. …
[subsection=AddPromoItem]AddPromoItem[/subsection] [code=cpp]bool AddPromoItem( SteamInventoryResult_t *pResultHandle, SteamItemDef_t itemDef );[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]pResultHandle[/b][/td][td][apitype]ISteamInventory::SteamInventoryResult_t[/apitype] *[/td][td]Returns a new inventory result handle.…
There is no reason to call this function if your game hardcoded the numeric definition IDs (e.g. purple face mask = 20, blue weapon mod = 55) and does not allow for adding new item types without a client patch. [b]Returns:[/b] bool Triggers a [apitype]ISteamInventory::SteamInventoryDefinitionUpdate_t[/apitype] callback. …
[subsection=SetGamePhaseID]SetGamePhaseID[/subsection] [code=cpp] void SetGamePhaseID( const char *pchPhaseID) ;[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]pchPhaseID[/b][/td][td]const char *[/td][td]A game-provided persistent ID for a game phase. …
[subsection=OpenOverlayToGamePhase]OpenOverlayToGamePhase[/subsection] [code=cpp]void OpenOverlayToGamePhase( const char *pchPhaseID );[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]pchPhaseID[/b][/td][td]const char *pchPhaseID[/td][td]The game phase to show in the overlay.…
</p><br>", "feedlabel": "TF2 Blog", "date": 1495218420, "feedname": "tf2_blog", "feed_type": 0, "appid": 440 } ], "count": 2385 } } [/code] [/list] [*] [h4]XML[/h4] [list] [*] XML Attributes are not used. [*] Arrays are represented as a series of sub-elements in the containing element of the type of the array. [*] Null is represented by the word "null" between the element's tags. [*] [b]Example[/b]: [code=xml] <?…
</p><br></contents> <feedlabel>TF2 Blog</feedlabel> <date>1495218420</date> <feedname>tf2_blog</feedname> <feed_type>0</feed_type> <appid>440</appid> </newsitem> </newsitems> <count>2385</count> </appnews> [/code] [/list] [*] [h4]VDF (Valve Data Format)[/h4] [list] [*] This is Valve's internal data format as used in the Source Engine games. …
[section=GetAssetID]GetAssetID[/section] [code=http]GET https://partner.steam-api.com/IEconMarketService/GetAssetID/v1/[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Required[/th][th]Description[/th][/tr] [tr][td][b]key[/b][/td][td]string[/td][td]✔[/td][td]Steamworks Web API publisher authentication key.…
[section=GetPopular]GetPopular[/section] [code=http]GET https://partner.steam-api.com/IEconMarketService/GetPopular/v1/[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Required[/th][th]Description[/th][/tr] [tr][td][b]key[/b][/td][td]string[/td][td]✔[/td][td]Steamworks Web API publisher authentication key.…
[h4]Submitting requests[/h4] All requests should be sent using HTTP 1.1 GET or POST using a TLS secure connection. The Content-Type should be "application/x-www-form-urlencoded" and the POST parameters should be in the body of the request in standard form urlencoding format. …
Please review our documentaion on [doclink=features/microtransactions#3]Anticpating Fraud[/doclink] and ensure that you've taken steps to prevent the most common types of fraud. [/list] [section=status_values]Appendix A: Status Values[/section] These are the possible status values returned by the [webapi]ISteamMicroTxn[/webapi] Web API. …
[subsection]Header File[/subsection] We first define a structure to hold our stats data received from steam, define stat types in a handy enum and then provide a macro for creating stats objects. This data maps directly to what is found on the [url=https://partner.steamgames.com/apps/stats/]Stats Configuration[/url] page. [code=cpp] #define _STAT_ID( id,type,name ) { id, type, name, 0, 0, 0, 0 } enum EStatTypes { STAT_INT = 0, STAT_FLOAT = 1, STAT_AVGRATE = 2, }; struct Stat_t { int m_ID; EStatTypes m_eStatType; const char *m_pchStatName; int m_iValue; float m_flValue; float m_flAvgNumerator; float m_flAvgDenominator; }; [/code] Next we define a helper class that will wrap all of the Steam Stats API calls as well as creating all of the [doclink=sdk/api#callbacks]Steam callbacks[/doclink]. …
[/b] These are separate tax rates that are applied depending on the content type of your sales. The royalty copyright rate will apply to US sourced sales on games and related DLCs. The royalty film rate will apply to US sourced sales on film and video. …
[/b] Please see the [doclink=#CurrentRates][/doclink] section below for the list of countries where this type of tax is collected and the applicable tax rate. The list is updated as new laws become effective. In all other countries, we are selling cross-border and are not required to collect. …
[section=SetItemPaymentRules]SetItemPaymentRules[/section] [code=http]POST https://partner.steam-api.com/IWorkshopService/SetItemPaymentRules/v1/[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Required[/th][th]Description[/th][/tr] [tr][td][b]key[/b][/td][td]string[/td][td]✔[/td][td]Steamworks Web API publisher authentication key.…
[section=GetItemDailyRevenue]GetItemDailyRevenue[/section] [code=http]GET https://partner.steam-api.com/IWorkshopService/GetItemDailyRevenue/v1/[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Required[/th][th]Description[/th][/tr] [tr][td][b]key[/b][/td][td]string[/td][td]✔[/td][td]Steamworks Web API publisher authentication key.…
Using it, you can: [list] [*] Define the initial statistics and achievements [*] Add additional stats and achievements [*] Update achievement names, descriptions, and icons [*] Update statistic parameters and constraints (max/min values, moving-average window sizes, etc) [/list] Stats have the following properties: [list] [*] [b]ID[/b] - An automatically-generated numerical ID for each stat. [*] [b]Type[/b] - The type of this Stat - INT, FLOAT, or [doclink=#AVGRATE]AVGRATE[/doclink]. [*] [b]API Name[/b] - The string used to access this stat using the API. [*] [b]Set By[/b] - Sets who can modify the stat. …
The Steam Game Overlay will display a notification panel to the user. [/list] [subsection=AVGRATE]The AVGRATE stat type[/subsection] This type of stat provides some unique and very useful functionality, but it requires a little bit more detail to explain. …
[subsection=SetVolume]SetVolume[/subsection] [code=cpp]void SetVolume( float flVolume );[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]flVolume[/b][/td][td]float[/td][td]The volume percentage to set from [b]0.0[/b] to [b]1.0[/b].…
[subsection=VolumeHasChanged_t]VolumeHasChanged_t[/subsection] [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]m_flNewVolume[/b][/td][td]float[/td][td][/td][/tr] [/table] [section=enums]Enums[/section] These are enums which are defined for use with ISteamMusic. …
[subsection]Community Tabs[/subsection] Community hubs are organized into different tabs based on the type of content they contain. By default, these tabs will show the most popular content posted over the previous week. [list] [*][b]All[/b] - The front page of your hub. …
These settings control the features that your different group member types are able to use. You can access these permissions from the Hub Admin panel by selecting [i]Edit Group Permissions[/i] [*][b]Adding moderators[/b] Once you have a good idea of what features are accessible by which member types, you'll want to promote other members of your team. …
When your official configurations have been posted they will appear in the "Custom Configuration" section: [docimg=steamworks_steam_input_branch_settings.png]steamworks_steam_input_branch_settings.png[/docimg] For each configuration you can get a direct link, see what controller type it is for, control which beta branches it is available on, or remove it entirely. If you create a new official configuration, you can use the remove / add functions in this section to replace an existing one. …
[docimg=steamworks_steam_input_optin_settings.png]steamworks_steam_input_optin_settings.png[/docimg] Checking these boxes will cause those controller types to make use of Steam Input rather than their standard gamepad input protocols. [subsection]Updating your official configurations[/subsection] There are two ways to update your configuration. …
[docimg=BundlePurchaseOption2.jpg]BundlePurchaseOption2.jpg[/docimg] There are two types of Bundles to handle common scenarios: [olist] [*] [b]Complete The Set[/b] - Customers that purchase this type of Bundle will pay for, and receive, just the items in that bundle that they don't already have in their Steam library. …
You must enter a name, a discount, the list of packages to include, and pick the type of bundle. Note that you need the "Manage pricing and discounts" permission for any game you wish to add to a bundle. …
[section=AuthenticateUser]AuthenticateUser[/section] [code=http]POST https://partner.steam-api.com/ISteamUserAuth/AuthenticateUser/v1/[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Required[/th][th]Description[/th][/tr] [tr][td][b]steamid[/b][/td][td]uint64[/td][td]✔[/td][td]Should be the users steamid, unencrypted.…
[/td][/tr] [/table] [section=AuthenticateUserTicket]AuthenticateUserTicket[/section] [code=http]GET https://partner.steam-api.com/ISteamUserAuth/AuthenticateUserTicket/v1/[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Required[/th][th]Description[/th][/tr] [tr][td][b]key[/b][/td][td]string[/td][td]✔[/td][td]Steamworks Web API publisher authentication key[/td][/tr] [tr][td][b]appid[/b][/td][td]uint32[/td][td]✔[/td][td]appid of game[/td][/tr] [tr][td][b]ticket[/b][/td][td]string[/td][td]✔[/td][td]Convert the binary ticket data from GetAuthTicketForWebApi into a hexadecimal string and pass that string in as this parameter.…