diff --git a/.gitignore b/.gitignore index 78d1925f..4f74d1ce 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,8 @@ -testTitleData.json \ No newline at end of file +bin/ +obj/ +.vs/ + +*.map +*.user + +testTitleData.json diff --git a/PlayFabApiTest.html b/PlayFabApiTest.html deleted file mode 100644 index 554ac4a9..00000000 --- a/PlayFabApiTest.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - - PlayFab JavaScript Unit Tests - - - -
-
- - - - - - - - - diff --git a/PlayFabSDK/PlayFabAdminApi.js b/PlayFabSdk/src/PlayFab/PlayFabAdminApi.js similarity index 99% rename from PlayFabSDK/PlayFabAdminApi.js rename to PlayFabSdk/src/PlayFab/PlayFabAdminApi.js index 6a68b38c..9d74cc6e 100644 --- a/PlayFabSDK/PlayFabAdminApi.js +++ b/PlayFabSdk/src/PlayFab/PlayFabAdminApi.js @@ -1,4 +1,6 @@ -var PlayFab = typeof PlayFab != 'undefined' ? PlayFab : {}; +/// + +var PlayFab = typeof PlayFab != "undefined" ? PlayFab : {}; if(!PlayFab.settings) { PlayFab.settings = { @@ -18,8 +20,6 @@ if(!PlayFab.settings) { if(!PlayFab._internalSettings) { PlayFab._internalSettings = { sessionTicket: null, - sdkVersion: "0.36.170109", - buildIdentifier: "jbuild_javascriptsdk_1", productionServerUrl: ".playfabapi.com", GetServerUrl: function () { @@ -99,6 +99,9 @@ if(!PlayFab._internalSettings) { } } +PlayFab.buildIdentifier = "jbuild_javascriptsdk_1"; +PlayFab.sdkVersion = "1.0.170130"; + PlayFab.AdminApi = { GetPolicy: function (request, callback) { diff --git a/PlayFabSDK/PlayFabClientApi.js b/PlayFabSdk/src/PlayFab/PlayFabClientApi.js similarity index 99% rename from PlayFabSDK/PlayFabClientApi.js rename to PlayFabSdk/src/PlayFab/PlayFabClientApi.js index 6632339e..e16c863b 100644 --- a/PlayFabSDK/PlayFabClientApi.js +++ b/PlayFabSdk/src/PlayFab/PlayFabClientApi.js @@ -1,4 +1,6 @@ -var PlayFab = typeof PlayFab != 'undefined' ? PlayFab : {}; +/// + +var PlayFab = typeof PlayFab != "undefined" ? PlayFab : {}; if(!PlayFab.settings) { PlayFab.settings = { @@ -18,8 +20,6 @@ if(!PlayFab.settings) { if(!PlayFab._internalSettings) { PlayFab._internalSettings = { sessionTicket: null, - sdkVersion: "0.36.170109", - buildIdentifier: "jbuild_javascriptsdk_1", productionServerUrl: ".playfabapi.com", GetServerUrl: function () { @@ -99,6 +99,9 @@ if(!PlayFab._internalSettings) { } } +PlayFab.buildIdentifier = "jbuild_javascriptsdk_1"; +PlayFab.sdkVersion = "1.0.170130"; + PlayFab.ClientApi = { IsClientLoggedIn: function () { diff --git a/PlayFabSDK/PlayFabMatchmakerApi.js b/PlayFabSdk/src/PlayFab/PlayFabMatchmakerApi.js similarity index 96% rename from PlayFabSDK/PlayFabMatchmakerApi.js rename to PlayFabSdk/src/PlayFab/PlayFabMatchmakerApi.js index a52ea3d7..ef49c2d1 100644 --- a/PlayFabSDK/PlayFabMatchmakerApi.js +++ b/PlayFabSdk/src/PlayFab/PlayFabMatchmakerApi.js @@ -1,4 +1,6 @@ -var PlayFab = typeof PlayFab != 'undefined' ? PlayFab : {}; +/// + +var PlayFab = typeof PlayFab != "undefined" ? PlayFab : {}; if(!PlayFab.settings) { PlayFab.settings = { @@ -18,8 +20,6 @@ if(!PlayFab.settings) { if(!PlayFab._internalSettings) { PlayFab._internalSettings = { sessionTicket: null, - sdkVersion: "0.36.170109", - buildIdentifier: "jbuild_javascriptsdk_1", productionServerUrl: ".playfabapi.com", GetServerUrl: function () { @@ -99,6 +99,9 @@ if(!PlayFab._internalSettings) { } } +PlayFab.buildIdentifier = "jbuild_javascriptsdk_1"; +PlayFab.sdkVersion = "1.0.170130"; + PlayFab.MatchmakerApi = { AuthUser: function (request, callback) { diff --git a/PlayFabSDK/PlayFabServerApi.js b/PlayFabSdk/src/PlayFab/PlayFabServerApi.js similarity index 99% rename from PlayFabSDK/PlayFabServerApi.js rename to PlayFabSdk/src/PlayFab/PlayFabServerApi.js index f84d5fac..a9d6d51e 100644 --- a/PlayFabSDK/PlayFabServerApi.js +++ b/PlayFabSdk/src/PlayFab/PlayFabServerApi.js @@ -1,4 +1,6 @@ -var PlayFab = typeof PlayFab != 'undefined' ? PlayFab : {}; +/// + +var PlayFab = typeof PlayFab != "undefined" ? PlayFab : {}; if(!PlayFab.settings) { PlayFab.settings = { @@ -18,8 +20,6 @@ if(!PlayFab.settings) { if(!PlayFab._internalSettings) { PlayFab._internalSettings = { sessionTicket: null, - sdkVersion: "0.36.170109", - buildIdentifier: "jbuild_javascriptsdk_1", productionServerUrl: ".playfabapi.com", GetServerUrl: function () { @@ -99,6 +99,9 @@ if(!PlayFab._internalSettings) { } } +PlayFab.buildIdentifier = "jbuild_javascriptsdk_1"; +PlayFab.sdkVersion = "1.0.170130"; + PlayFab.ServerApi = { AuthenticateSessionTicket: function (request, callback) { diff --git a/PlayFabSdk/src/Typings/PlayFab/PlayFabAdminApi.d.ts b/PlayFabSdk/src/Typings/PlayFab/PlayFabAdminApi.d.ts new file mode 100644 index 00000000..c1fca287 --- /dev/null +++ b/PlayFabSdk/src/Typings/PlayFab/PlayFabAdminApi.d.ts @@ -0,0 +1,4696 @@ +declare module PlayFabAdminModule { + export interface IPlayFabAdmin { + /** + / Gets the requested policy. + / https://api.playfab.com/Documentation/Admin/method/GetPolicy + */ + GetPolicy(request: PlayFabAdminModels.GetPolicyRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Changes a policy for a title + / https://api.playfab.com/Documentation/Admin/method/UpdatePolicy + */ + UpdatePolicy(request: PlayFabAdminModels.UpdatePolicyRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Bans users by PlayFab ID with optional IP address, or MAC address for the provided game. + / https://api.playfab.com/Documentation/Admin/method/BanUsers + */ + BanUsers(request: PlayFabAdminModels.BanUsersRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the relevant details for a specified user, based upon a match against a supplied unique identifier + / https://api.playfab.com/Documentation/Admin/method/GetUserAccountInfo + */ + GetUserAccountInfo(request: PlayFabAdminModels.LookupUserAccountInfoRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Gets all bans for a user. + / https://api.playfab.com/Documentation/Admin/method/GetUserBans + */ + GetUserBans(request: PlayFabAdminModels.GetUserBansRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Resets all title-specific information about a particular account, including user data, virtual currency balances, inventory, purchase history, and statistics + / https://api.playfab.com/Documentation/Admin/method/ResetUsers + */ + ResetUsers(request: PlayFabAdminModels.ResetUsersRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Revoke all active bans for a user. + / https://api.playfab.com/Documentation/Admin/method/RevokeAllBansForUser + */ + RevokeAllBansForUser(request: PlayFabAdminModels.RevokeAllBansForUserRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Revoke all active bans specified with BanId. + / https://api.playfab.com/Documentation/Admin/method/RevokeBans + */ + RevokeBans(request: PlayFabAdminModels.RevokeBansRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Forces an email to be sent to the registered email address for the specified account, with a link allowing the user to change the password + / https://api.playfab.com/Documentation/Admin/method/SendAccountRecoveryEmail + */ + SendAccountRecoveryEmail(request: PlayFabAdminModels.SendAccountRecoveryEmailRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates information of a list of existing bans specified with Ban Ids. + / https://api.playfab.com/Documentation/Admin/method/UpdateBans + */ + UpdateBans(request: PlayFabAdminModels.UpdateBansRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the title specific display name for a user + / https://api.playfab.com/Documentation/Admin/method/UpdateUserTitleDisplayName + */ + UpdateUserTitleDisplayName(request: PlayFabAdminModels.UpdateUserTitleDisplayNameRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Adds a new player statistic configuration to the title, optionally allowing the developer to specify a reset interval and an aggregation method. + / https://api.playfab.com/Documentation/Admin/method/CreatePlayerStatisticDefinition + */ + CreatePlayerStatisticDefinition(request: PlayFabAdminModels.CreatePlayerStatisticDefinitionRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Deletes the users for the provided game. Deletes custom data, all account linkages, and statistics. This method does not remove the player's event history, login history, inventory items, nor virtual currencies. + / https://api.playfab.com/Documentation/Admin/method/DeleteUsers + */ + DeleteUsers(request: PlayFabAdminModels.DeleteUsersRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves a download URL for the requested report + / https://api.playfab.com/Documentation/Admin/method/GetDataReport + */ + GetDataReport(request: PlayFabAdminModels.GetDataReportRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the configuration information for all player statistics defined in the title, regardless of whether they have a reset interval. + / https://api.playfab.com/Documentation/Admin/method/GetPlayerStatisticDefinitions + */ + GetPlayerStatisticDefinitions(request: PlayFabAdminModels.GetPlayerStatisticDefinitionsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the information on the available versions of the specified statistic. + / https://api.playfab.com/Documentation/Admin/method/GetPlayerStatisticVersions + */ + GetPlayerStatisticVersions(request: PlayFabAdminModels.GetPlayerStatisticVersionsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the title-specific custom data for the user which is readable and writable by the client + / https://api.playfab.com/Documentation/Admin/method/GetUserData + */ + GetUserData(request: PlayFabAdminModels.GetUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the title-specific custom data for the user which cannot be accessed by the client + / https://api.playfab.com/Documentation/Admin/method/GetUserInternalData + */ + GetUserInternalData(request: PlayFabAdminModels.GetUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the publisher-specific custom data for the user which is readable and writable by the client + / https://api.playfab.com/Documentation/Admin/method/GetUserPublisherData + */ + GetUserPublisherData(request: PlayFabAdminModels.GetUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the publisher-specific custom data for the user which cannot be accessed by the client + / https://api.playfab.com/Documentation/Admin/method/GetUserPublisherInternalData + */ + GetUserPublisherInternalData(request: PlayFabAdminModels.GetUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the publisher-specific custom data for the user which can only be read by the client + / https://api.playfab.com/Documentation/Admin/method/GetUserPublisherReadOnlyData + */ + GetUserPublisherReadOnlyData(request: PlayFabAdminModels.GetUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the title-specific custom data for the user which can only be read by the client + / https://api.playfab.com/Documentation/Admin/method/GetUserReadOnlyData + */ + GetUserReadOnlyData(request: PlayFabAdminModels.GetUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Resets the indicated statistic, removing all player entries for it and backing up the old values. + / https://api.playfab.com/Documentation/Admin/method/IncrementPlayerStatisticVersion + */ + IncrementPlayerStatisticVersion(request: PlayFabAdminModels.IncrementPlayerStatisticVersionRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Attempts to process an order refund through the original real money payment provider. + / https://api.playfab.com/Documentation/Admin/method/RefundPurchase + */ + RefundPurchase(request: PlayFabAdminModels.RefundPurchaseRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Completely removes all statistics for the specified user, for the current game + / https://api.playfab.com/Documentation/Admin/method/ResetUserStatistics + */ + ResetUserStatistics(request: PlayFabAdminModels.ResetUserStatisticsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Attempts to resolve a dispute with the original order's payment provider. + / https://api.playfab.com/Documentation/Admin/method/ResolvePurchaseDispute + */ + ResolvePurchaseDispute(request: PlayFabAdminModels.ResolvePurchaseDisputeRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates a player statistic configuration for the title, optionally allowing the developer to specify a reset interval. + / https://api.playfab.com/Documentation/Admin/method/UpdatePlayerStatisticDefinition + */ + UpdatePlayerStatisticDefinition(request: PlayFabAdminModels.UpdatePlayerStatisticDefinitionRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the title-specific custom data for the user which is readable and writable by the client + / https://api.playfab.com/Documentation/Admin/method/UpdateUserData + */ + UpdateUserData(request: PlayFabAdminModels.UpdateUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the title-specific custom data for the user which cannot be accessed by the client + / https://api.playfab.com/Documentation/Admin/method/UpdateUserInternalData + */ + UpdateUserInternalData(request: PlayFabAdminModels.UpdateUserInternalDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the publisher-specific custom data for the user which is readable and writable by the client + / https://api.playfab.com/Documentation/Admin/method/UpdateUserPublisherData + */ + UpdateUserPublisherData(request: PlayFabAdminModels.UpdateUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the publisher-specific custom data for the user which cannot be accessed by the client + / https://api.playfab.com/Documentation/Admin/method/UpdateUserPublisherInternalData + */ + UpdateUserPublisherInternalData(request: PlayFabAdminModels.UpdateUserInternalDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the publisher-specific custom data for the user which can only be read by the client + / https://api.playfab.com/Documentation/Admin/method/UpdateUserPublisherReadOnlyData + */ + UpdateUserPublisherReadOnlyData(request: PlayFabAdminModels.UpdateUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the title-specific custom data for the user which can only be read by the client + / https://api.playfab.com/Documentation/Admin/method/UpdateUserReadOnlyData + */ + UpdateUserReadOnlyData(request: PlayFabAdminModels.UpdateUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Adds a new news item to the title's news feed + / https://api.playfab.com/Documentation/Admin/method/AddNews + */ + AddNews(request: PlayFabAdminModels.AddNewsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Adds one or more virtual currencies to the set defined for the title. Virtual Currencies have a maximum value of 2,147,483,647 when granted to a player. Any value over that will be discarded. + / https://api.playfab.com/Documentation/Admin/method/AddVirtualCurrencyTypes + */ + AddVirtualCurrencyTypes(request: PlayFabAdminModels.AddVirtualCurrencyTypesRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Deletes an existing virtual item store + / https://api.playfab.com/Documentation/Admin/method/DeleteStore + */ + DeleteStore(request: PlayFabAdminModels.DeleteStoreRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the specified version of the title's catalog of virtual goods, including all defined properties + / https://api.playfab.com/Documentation/Admin/method/GetCatalogItems + */ + GetCatalogItems(request: PlayFabAdminModels.GetCatalogItemsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the key-value store of custom publisher settings + / https://api.playfab.com/Documentation/Admin/method/GetPublisherData + */ + GetPublisherData(request: PlayFabAdminModels.GetPublisherDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the random drop table configuration for the title + / https://api.playfab.com/Documentation/Admin/method/GetRandomResultTables + */ + GetRandomResultTables(request: PlayFabAdminModels.GetRandomResultTablesRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the set of items defined for the specified store, including all prices defined + / https://api.playfab.com/Documentation/Admin/method/GetStoreItems + */ + GetStoreItems(request: PlayFabAdminModels.GetStoreItemsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the key-value store of custom title settings which can be read by the client + / https://api.playfab.com/Documentation/Admin/method/GetTitleData + */ + GetTitleData(request: PlayFabAdminModels.GetTitleDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the key-value store of custom title settings which cannot be read by the client + / https://api.playfab.com/Documentation/Admin/method/GetTitleInternalData + */ + GetTitleInternalData(request: PlayFabAdminModels.GetTitleDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retuns the list of all defined virtual currencies for the title + / https://api.playfab.com/Documentation/Admin/method/ListVirtualCurrencyTypes + */ + ListVirtualCurrencyTypes(request: PlayFabAdminModels.ListVirtualCurrencyTypesRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Removes one or more virtual currencies from the set defined for the title. + / https://api.playfab.com/Documentation/Admin/method/RemoveVirtualCurrencyTypes + */ + RemoveVirtualCurrencyTypes(request: PlayFabAdminModels.RemoveVirtualCurrencyTypesRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Creates the catalog configuration of all virtual goods for the specified catalog version + / https://api.playfab.com/Documentation/Admin/method/SetCatalogItems + */ + SetCatalogItems(request: PlayFabAdminModels.UpdateCatalogItemsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Sets all the items in one virtual store + / https://api.playfab.com/Documentation/Admin/method/SetStoreItems + */ + SetStoreItems(request: PlayFabAdminModels.UpdateStoreItemsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Creates and updates the key-value store of custom title settings which can be read by the client + / https://api.playfab.com/Documentation/Admin/method/SetTitleData + */ + SetTitleData(request: PlayFabAdminModels.SetTitleDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the key-value store of custom title settings which cannot be read by the client + / https://api.playfab.com/Documentation/Admin/method/SetTitleInternalData + */ + SetTitleInternalData(request: PlayFabAdminModels.SetTitleDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Sets the Amazon Resource Name (ARN) for iOS and Android push notifications. Documentation on the exact restrictions can be found at: http://docs.aws.amazon.com/sns/latest/api/API_CreatePlatformApplication.html. Currently, Amazon device Messaging is not supported. + / https://api.playfab.com/Documentation/Admin/method/SetupPushNotification + */ + SetupPushNotification(request: PlayFabAdminModels.SetupPushNotificationRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the catalog configuration for virtual goods in the specified catalog version + / https://api.playfab.com/Documentation/Admin/method/UpdateCatalogItems + */ + UpdateCatalogItems(request: PlayFabAdminModels.UpdateCatalogItemsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the random drop table configuration for the title + / https://api.playfab.com/Documentation/Admin/method/UpdateRandomResultTables + */ + UpdateRandomResultTables(request: PlayFabAdminModels.UpdateRandomResultTablesRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates an existing virtual item store with new or modified items + / https://api.playfab.com/Documentation/Admin/method/UpdateStoreItems + */ + UpdateStoreItems(request: PlayFabAdminModels.UpdateStoreItemsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Increments the specified virtual currency by the stated amount + / https://api.playfab.com/Documentation/Admin/method/AddUserVirtualCurrency + */ + AddUserVirtualCurrency(request: PlayFabAdminModels.AddUserVirtualCurrencyRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the specified user's current inventory of virtual goods + / https://api.playfab.com/Documentation/Admin/method/GetUserInventory + */ + GetUserInventory(request: PlayFabAdminModels.GetUserInventoryRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Adds the specified items to the specified user inventories + / https://api.playfab.com/Documentation/Admin/method/GrantItemsToUsers + */ + GrantItemsToUsers(request: PlayFabAdminModels.GrantItemsToUsersRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Revokes access to an item in a user's inventory + / https://api.playfab.com/Documentation/Admin/method/RevokeInventoryItem + */ + RevokeInventoryItem(request: PlayFabAdminModels.RevokeInventoryItemRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Decrements the specified virtual currency by the stated amount + / https://api.playfab.com/Documentation/Admin/method/SubtractUserVirtualCurrency + */ + SubtractUserVirtualCurrency(request: PlayFabAdminModels.SubtractUserVirtualCurrencyRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the details for a specific completed session, including links to standard out and standard error logs + / https://api.playfab.com/Documentation/Admin/method/GetMatchmakerGameInfo + */ + GetMatchmakerGameInfo(request: PlayFabAdminModels.GetMatchmakerGameInfoRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the details of defined game modes for the specified game server executable + / https://api.playfab.com/Documentation/Admin/method/GetMatchmakerGameModes + */ + GetMatchmakerGameModes(request: PlayFabAdminModels.GetMatchmakerGameModesRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the game server mode details for the specified game server executable + / https://api.playfab.com/Documentation/Admin/method/ModifyMatchmakerGameModes + */ + ModifyMatchmakerGameModes(request: PlayFabAdminModels.ModifyMatchmakerGameModesRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Adds the game server executable specified (previously uploaded - see GetServerBuildUploadUrl) to the set of those a client is permitted to request in a call to StartGame + / https://api.playfab.com/Documentation/Admin/method/AddServerBuild + */ + AddServerBuild(request: PlayFabAdminModels.AddServerBuildRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the build details for the specified game server executable + / https://api.playfab.com/Documentation/Admin/method/GetServerBuildInfo + */ + GetServerBuildInfo(request: PlayFabAdminModels.GetServerBuildInfoRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the pre-authorized URL for uploading a game server package containing a build (does not enable the build for use - see AddServerBuild) + / https://api.playfab.com/Documentation/Admin/method/GetServerBuildUploadUrl + */ + GetServerBuildUploadUrl(request: PlayFabAdminModels.GetServerBuildUploadURLRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the build details for all game server executables which are currently defined for the title + / https://api.playfab.com/Documentation/Admin/method/ListServerBuilds + */ + ListServerBuilds(request: PlayFabAdminModels.ListBuildsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the build details for the specified game server executable + / https://api.playfab.com/Documentation/Admin/method/ModifyServerBuild + */ + ModifyServerBuild(request: PlayFabAdminModels.ModifyServerBuildRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Removes the game server executable specified from the set of those a client is permitted to request in a call to StartGame + / https://api.playfab.com/Documentation/Admin/method/RemoveServerBuild + */ + RemoveServerBuild(request: PlayFabAdminModels.RemoveServerBuildRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the key-value store of custom publisher settings + / https://api.playfab.com/Documentation/Admin/method/SetPublisherData + */ + SetPublisherData(request: PlayFabAdminModels.SetPublisherDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Gets the contents and information of a specific Cloud Script revision. + / https://api.playfab.com/Documentation/Admin/method/GetCloudScriptRevision + */ + GetCloudScriptRevision(request: PlayFabAdminModels.GetCloudScriptRevisionRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Lists all the current cloud script versions. For each version, information about the current published and latest revisions is also listed. + / https://api.playfab.com/Documentation/Admin/method/GetCloudScriptVersions + */ + GetCloudScriptVersions(request: PlayFabAdminModels.GetCloudScriptVersionsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Sets the currently published revision of a title Cloud Script + / https://api.playfab.com/Documentation/Admin/method/SetPublishedRevision + */ + SetPublishedRevision(request: PlayFabAdminModels.SetPublishedRevisionRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Creates a new Cloud Script revision and uploads source code to it. Note that at this time, only one file should be submitted in the revision. + / https://api.playfab.com/Documentation/Admin/method/UpdateCloudScript + */ + UpdateCloudScript(request: PlayFabAdminModels.UpdateCloudScriptRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Delete a content file from the title + / https://api.playfab.com/Documentation/Admin/method/DeleteContent + */ + DeleteContent(request: PlayFabAdminModels.DeleteContentRequest, callback: PlayFabModule.ApiCallback): void; + /** + / List all contents of the title and get statistics such as size + / https://api.playfab.com/Documentation/Admin/method/GetContentList + */ + GetContentList(request: PlayFabAdminModels.GetContentListRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the pre-signed URL for uploading a content file. A subsequent HTTP PUT to the returned URL uploads the content. Also, please be aware that the Content service is specifically PlayFab's CDN offering, for which standard CDN rates apply. + / https://api.playfab.com/Documentation/Admin/method/GetContentUploadUrl + */ + GetContentUploadUrl(request: PlayFabAdminModels.GetContentUploadUrlRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Completely removes all statistics for the specified character, for the current game + / https://api.playfab.com/Documentation/Admin/method/ResetCharacterStatistics + */ + ResetCharacterStatistics(request: PlayFabAdminModels.ResetCharacterStatisticsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Adds a given tag to a player profile. The tag's namespace is automatically generated based on the source of the tag. + / https://api.playfab.com/Documentation/Admin/method/AddPlayerTag + */ + AddPlayerTag(request: PlayFabAdminModels.AddPlayerTagRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieve a list of all PlayStream actions groups. + / https://api.playfab.com/Documentation/Admin/method/GetAllActionGroups + */ + GetAllActionGroups(request: PlayFabAdminModels.GetAllActionGroupsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves an array of player segment definitions. Results from this can be used in subsequent API calls such as GetPlayersInSegment which requires a Segment ID. While segment names can change the ID for that segment will not change. + / https://api.playfab.com/Documentation/Admin/method/GetAllSegments + */ + GetAllSegments(request: PlayFabAdminModels.GetAllSegmentsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / List all segments that a player currently belongs to at this moment in time. + / https://api.playfab.com/Documentation/Admin/method/GetPlayerSegments + */ + GetPlayerSegments(request: PlayFabAdminModels.GetPlayersSegmentsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Allows for paging through all players in a given segment. This API creates a snapshot of all player profiles that match the segment definition at the time of its creation and lives through the Total Seconds to Live, refreshing its life span on each subsequent use of the Continuation Token. Profiles that change during the course of paging will not be reflected in the results. AB Test segments are currently not supported by this operation. + / https://api.playfab.com/Documentation/Admin/method/GetPlayersInSegment + */ + GetPlayersInSegment(request: PlayFabAdminModels.GetPlayersInSegmentRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Get all tags with a given Namespace (optional) from a player profile. + / https://api.playfab.com/Documentation/Admin/method/GetPlayerTags + */ + GetPlayerTags(request: PlayFabAdminModels.GetPlayerTagsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Remove a given tag from a player profile. The tag's namespace is automatically generated based on the source of the tag. + / https://api.playfab.com/Documentation/Admin/method/RemovePlayerTag + */ + RemovePlayerTag(request: PlayFabAdminModels.RemovePlayerTagRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Abort an ongoing task instance. + / https://api.playfab.com/Documentation/Admin/method/AbortTaskInstance + */ + AbortTaskInstance(request: PlayFabAdminModels.AbortTaskInstanceRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Create an ActionsOnPlayersInSegment task, which iterates through all players in a segment to execute action. + / https://api.playfab.com/Documentation/Admin/method/CreateActionsOnPlayersInSegmentTask + */ + CreateActionsOnPlayersInSegmentTask(request: PlayFabAdminModels.CreateActionsOnPlayerSegmentTaskRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Create a CloudScript task, which can run a CloudScript on a schedule. + / https://api.playfab.com/Documentation/Admin/method/CreateCloudScriptTask + */ + CreateCloudScriptTask(request: PlayFabAdminModels.CreateCloudScriptTaskRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Delete a task. + / https://api.playfab.com/Documentation/Admin/method/DeleteTask + */ + DeleteTask(request: PlayFabAdminModels.DeleteTaskRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Get information about a ActionsOnPlayersInSegment task instance. + / https://api.playfab.com/Documentation/Admin/method/GetActionsOnPlayersInSegmentTaskInstance + */ + GetActionsOnPlayersInSegmentTaskInstance(request: PlayFabAdminModels.GetTaskInstanceRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Get detail information about a CloudScript task instance. + / https://api.playfab.com/Documentation/Admin/method/GetCloudScriptTaskInstance + */ + GetCloudScriptTaskInstance(request: PlayFabAdminModels.GetTaskInstanceRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Query for task instances by task, status, or time range. + / https://api.playfab.com/Documentation/Admin/method/GetTaskInstances + */ + GetTaskInstances(request: PlayFabAdminModels.GetTaskInstancesRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Get definition information on a specified task or all tasks within a title. + / https://api.playfab.com/Documentation/Admin/method/GetTasks + */ + GetTasks(request: PlayFabAdminModels.GetTasksRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Run a task immediately regardless of its schedule. + / https://api.playfab.com/Documentation/Admin/method/RunTask + */ + RunTask(request: PlayFabAdminModels.RunTaskRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Update an existing task. + / https://api.playfab.com/Documentation/Admin/method/UpdateTask + */ + UpdateTask(request: PlayFabAdminModels.UpdateTaskRequest, callback: PlayFabModule.ApiCallback): void; + + } +} + +declare module PlayFabAdminModels { + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.AbortTaskInstanceRequest + */ + export interface AbortTaskInstanceRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / ID of a task instance that is being aborted. + */ + TaskInstanceId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ActionsOnPlayersInSegmentTaskParameter + */ + export interface ActionsOnPlayersInSegmentTaskParameter { + /** + / ID of the segment to perform actions on. + */ + SegmentId: string; + /** + / ID of the action to perform on each player in segment. + */ + ActionId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ActionsOnPlayersInSegmentTaskSummary + */ + export interface ActionsOnPlayersInSegmentTaskSummary { + /** + / ID of the task instance. + */ + TaskInstanceId?: string; + /** + / Identifier of the task this instance belongs to. + */ + TaskIdentifier?: NameIdentifier; + /** + / UTC timestamp when the task started. + */ + StartedAt: string; + /** + / UTC timestamp when the task completed. + */ + CompletedAt?: string; + /** + / Current status of the task instance. + */ + Status?: string; + /** + / Progress represented as percentage. + */ + PercentComplete?: number; + /** + / Estimated time remaining in seconds. + */ + EstimatedSecondsRemaining?: number; + /** + / If manually scheduled, ID of user who scheduled the task. + */ + ScheduledByUserId?: string; + /** + / Error message for last processing attempt, if an error occured. + */ + ErrorMessage?: string; + /** + / Flag indicating if the error was fatal, if false job will be retried. + */ + ErrorWasFatal?: boolean; + /** + / Total players in segment when task was started. + */ + TotalPlayersInSegment?: number; + /** + / Total number of players that have had the actions applied to. + */ + TotalPlayersProcessed?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.AdCampaignAttribution + */ + export interface AdCampaignAttribution { + /** + / Attribution network name + */ + Platform?: string; + /** + / Attribution campaign identifier + */ + CampaignId?: string; + /** + / UTC time stamp of attribution + */ + AttributedAt: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.AddNewsRequest + */ + export interface AddNewsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Time this news was published. If not set, defaults to now. + */ + Timestamp?: string; + /** + / Title (headline) of the news item + */ + Title: string; + /** + / Body text of the news + */ + Body: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.AddNewsResult + */ + export interface AddNewsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique id of the new news item + */ + NewsId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.AddPlayerTagRequest + */ + export interface AddPlayerTagRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique tag for player profile. + */ + TagName: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.AddPlayerTagResult + */ + export interface AddPlayerTagResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.AddServerBuildRequest + */ + export interface AddServerBuildRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / unique identifier for the build executable + */ + BuildId: string; + /** + / appended to the end of the command line when starting game servers + */ + CommandLineTemplate?: string; + /** + / path to the game server executable. Defaults to gameserver.exe + */ + ExecutablePath?: string; + /** + / server host regions in which this build should be running and available + */ + ActiveRegions?: string[]; + /** + / developer comment(s) for this build + */ + Comment?: string; + /** + / maximum number of game server instances that can run on a single host machine + */ + MaxGamesPerHost: number; + /** + / minimum capacity of additional game server instances that can be started before the autoscaling service starts new host machines (given the number of current running host machines and game server instances) + */ + MinFreeGameSlots: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.AddServerBuildResult + */ + export interface AddServerBuildResult extends PlayFabModule.IPlayFabResultCommon { + /** + / unique identifier for this build executable + */ + BuildId?: string; + /** + / array of regions where this build can used, when it is active + */ + ActiveRegions?: string[]; + /** + / maximum number of game server instances that can run on a single host machine + */ + MaxGamesPerHost: number; + /** + / minimum capacity of additional game server instances that can be started before the autoscaling service starts new host machines (given the number of current running host machines and game server instances) + */ + MinFreeGameSlots: number; + /** + / appended to the end of the command line when starting game servers + */ + CommandLineTemplate?: string; + /** + / path to the game server executable. Defaults to gameserver.exe + */ + ExecutablePath?: string; + /** + / developer comment(s) for this build + */ + Comment?: string; + /** + / time this build was last modified (or uploaded, if this build has never been modified) + */ + Timestamp: string; + /** + / Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected. + */ + TitleId?: string; + /** + / the current status of the build validation and processing steps + */ + Status?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.AddUserVirtualCurrencyRequest + */ + export interface AddUserVirtualCurrencyRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / PlayFab unique identifier of the user whose virtual currency balance is to be increased. + */ + PlayFabId: string; + /** + / Name of the virtual currency which is to be incremented. + */ + VirtualCurrency: string; + /** + / Amount to be added to the user balance of the specified virtual currency. Maximum VC balance is Int32 (2,147,483,647). Any increase over this value will be discarded. + */ + Amount: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.AddVirtualCurrencyTypesRequest + */ + export interface AddVirtualCurrencyTypesRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / List of virtual currencies and their initial deposits (the amount a user is granted when signing in for the first time) to the title + */ + VirtualCurrencies: VirtualCurrencyData[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.BanInfo + */ + export interface BanInfo { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId?: string; + /** + / The unique Ban Id associated with this ban. + */ + BanId?: string; + /** + / The IP address on which the ban was applied. May affect multiple players. + */ + IPAddress?: string; + /** + / The MAC address on which the ban was applied. May affect multiple players. + */ + MACAddress?: string; + /** + / The time when this ban was applied. + */ + Created?: string; + /** + / The time when this ban expires. Permanent bans do not have expiration date. + */ + Expires?: string; + /** + / The reason why this ban was applied. + */ + Reason?: string; + /** + / The active state of this ban. Expired bans may still have this value set to true but they will have no effect. + */ + Active: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.BanRequest + */ + export interface BanRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / IP address to be banned. May affect multiple players. + */ + IPAddress?: string; + /** + / MAC address to be banned. May affect multiple players. + */ + MACAddress?: string; + /** + / The reason for this ban. Maximum 140 characters. + */ + Reason?: string; + /** + / The duration in hours for the ban. Leave this blank for a permanent ban. + */ + DurationInHours?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.BanUsersRequest + */ + export interface BanUsersRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / List of ban requests to be applied. Maximum 100. + */ + Bans: BanRequest[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.BanUsersResult + */ + export interface BanUsersResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Information on the bans that were applied + */ + BanData?: BanInfo[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.BlankResult + */ + export interface BlankResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.CatalogItem + */ + export interface CatalogItem { + /** + / unique identifier for this item + */ + ItemId: string; + /** + / class to which the item belongs + */ + ItemClass?: string; + /** + / catalog version for this item + */ + CatalogVersion?: string; + /** + / text name for the item, to show in-game + */ + DisplayName?: string; + /** + / text description of item, to show in-game + */ + Description?: string; + /** + / price of this item in virtual currencies and "RM" (the base Real Money purchase price, in USD pennies) + */ + VirtualCurrencyPrices?: { [key: string]: number }; + /** + / override prices for this item for specific currencies + */ + RealCurrencyPrices?: { [key: string]: number }; + /** + / list of item tags + */ + Tags?: string[]; + /** + / game specific custom data + */ + CustomData?: string; + /** + / defines the consumable properties (number of uses, timeout) for the item + */ + Consumable?: CatalogItemConsumableInfo; + /** + / defines the container properties for the item - what items it contains, including random drop tables and virtual currencies, and what item (if any) is required to open it via the UnlockContainerItem API + */ + Container?: CatalogItemContainerInfo; + /** + / defines the bundle properties for the item - bundles are items which contain other items, including random drop tables and virtual currencies + */ + Bundle?: CatalogItemBundleInfo; + /** + / if true, then an item instance of this type can be used to grant a character to a user. + */ + CanBecomeCharacter: boolean; + /** + / if true, then only one item instance of this type will exist and its remaininguses will be incremented instead. RemainingUses will cap out at Int32.Max (2,147,483,647). All subsequent increases will be discarded + */ + IsStackable: boolean; + /** + / if true, then an item instance of this type can be traded between players using the trading APIs + */ + IsTradable: boolean; + /** + / URL to the item image. For Facebook purchase to display the image on the item purchase page, this must be set to an HTTP URL. + */ + ItemImageUrl?: string; + /** + / BETA: If true, then only a fixed number can ever be granted. + */ + IsLimitedEdition: boolean; + /** + / If the item has IsLImitedEdition set to true, and this is the first time this ItemId has been defined as a limited edition item, this value determines the total number of instances to allocate for the title. Once this limit has been reached, no more instances of this ItemId can be created, and attempts to purchase or grant it will return a Result of false for that ItemId. If the item has already been defined to have a limited edition count, or if this value is less than zero, it will be ignored. + */ + InitialLimitedEditionCount: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.CatalogItemBundleInfo + */ + export interface CatalogItemBundleInfo { + /** + / unique ItemId values for all items which will be added to the player inventory when the bundle is added + */ + BundledItems?: string[]; + /** + / unique TableId values for all RandomResultTable objects which are part of the bundle (random tables will be resolved and add the relevant items to the player inventory when the bundle is added) + */ + BundledResultTables?: string[]; + /** + / virtual currency types and balances which will be added to the player inventory when the bundle is added + */ + BundledVirtualCurrencies?: { [key: string]: number }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.CatalogItemConsumableInfo + */ + export interface CatalogItemConsumableInfo { + /** + / number of times this object can be used, after which it will be removed from the player inventory + */ + UsageCount?: number; + /** + / duration in seconds for how long the item will remain in the player inventory - once elapsed, the item will be removed (recommended minimum value is 5 seconds, as lower values can cause the item to expire before operations depending on this item's details have completed) + */ + UsagePeriod?: number; + /** + / all inventory item instances in the player inventory sharing a non-null UsagePeriodGroup have their UsagePeriod values added together, and share the result - when that period has elapsed, all the items in the group will be removed + */ + UsagePeriodGroup?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.CatalogItemContainerInfo + */ + export interface CatalogItemContainerInfo { + /** + / ItemId for the catalog item used to unlock the container, if any (if not specified, a call to UnlockContainerItem will open the container, adding the contents to the player inventory and currency balances) + */ + KeyItemId?: string; + /** + / unique ItemId values for all items which will be added to the player inventory, once the container has been unlocked + */ + ItemContents?: string[]; + /** + / unique TableId values for all RandomResultTable objects which are part of the container (once unlocked, random tables will be resolved and add the relevant items to the player inventory) + */ + ResultTableContents?: string[]; + /** + / virtual currency types and balances which will be added to the player inventory when the container is unlocked + */ + VirtualCurrencyContents?: { [key: string]: number }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.CloudScriptFile + */ + export interface CloudScriptFile { + /** + / Name of the javascript file. These names are not used internally by the server, they are only for developer organizational purposes. + */ + Filename: string; + /** + / Contents of the Cloud Script javascript. Must be string-escaped javascript. + */ + FileContents: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.CloudScriptTaskParameter + */ + export interface CloudScriptTaskParameter { + /** + / Name of the CloudScript function to execute. + */ + FunctionName?: string; + /** + / Argument to pass to the CloudScript function. + */ + Argument?: any; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.CloudScriptTaskSummary + */ + export interface CloudScriptTaskSummary { + /** + / ID of the task instance. + */ + TaskInstanceId?: string; + /** + / Identifier of the task this instance belongs to. + */ + TaskIdentifier?: NameIdentifier; + /** + / UTC timestamp when the task started. + */ + StartedAt: string; + /** + / UTC timestamp when the task completed. + */ + CompletedAt?: string; + /** + / Current status of the task instance. + */ + Status?: string; + /** + / Progress represented as percentage. + */ + PercentComplete?: number; + /** + / Estimated time remaining in seconds. + */ + EstimatedSecondsRemaining?: number; + /** + / If manually scheduled, ID of user who scheduled the task. + */ + ScheduledByUserId?: string; + /** + / Result of CloudScript execution + */ + Result?: ExecuteCloudScriptResult; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.CloudScriptVersionStatus + */ + export interface CloudScriptVersionStatus { + /** + / Version number + */ + Version: number; + /** + / Published code revision for this Cloud Script version + */ + PublishedRevision: number; + /** + / Most recent revision for this Cloud Script version + */ + LatestRevision: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ContentInfo + */ + export interface ContentInfo { + /** + / Key of the content + */ + Key?: string; + /** + / Size of the content in bytes + */ + Size: number; + /** + / Last modified time + */ + LastModified: string; + + } + + type ContinentCode = "AF" + | "AN" + | "AS" + | "EU" + | "NA" + | "OC" + | "SA"; + + type CountryCode = "AF" + | "AX" + | "AL" + | "DZ" + | "AS" + | "AD" + | "AO" + | "AI" + | "AQ" + | "AG" + | "AR" + | "AM" + | "AW" + | "AU" + | "AT" + | "AZ" + | "BS" + | "BH" + | "BD" + | "BB" + | "BY" + | "BE" + | "BZ" + | "BJ" + | "BM" + | "BT" + | "BO" + | "BQ" + | "BA" + | "BW" + | "BV" + | "BR" + | "IO" + | "BN" + | "BG" + | "BF" + | "BI" + | "KH" + | "CM" + | "CA" + | "CV" + | "KY" + | "CF" + | "TD" + | "CL" + | "CN" + | "CX" + | "CC" + | "CO" + | "KM" + | "CG" + | "CD" + | "CK" + | "CR" + | "CI" + | "HR" + | "CU" + | "CW" + | "CY" + | "CZ" + | "DK" + | "DJ" + | "DM" + | "DO" + | "EC" + | "EG" + | "SV" + | "GQ" + | "ER" + | "EE" + | "ET" + | "FK" + | "FO" + | "FJ" + | "FI" + | "FR" + | "GF" + | "PF" + | "TF" + | "GA" + | "GM" + | "GE" + | "DE" + | "GH" + | "GI" + | "GR" + | "GL" + | "GD" + | "GP" + | "GU" + | "GT" + | "GG" + | "GN" + | "GW" + | "GY" + | "HT" + | "HM" + | "VA" + | "HN" + | "HK" + | "HU" + | "IS" + | "IN" + | "ID" + | "IR" + | "IQ" + | "IE" + | "IM" + | "IL" + | "IT" + | "JM" + | "JP" + | "JE" + | "JO" + | "KZ" + | "KE" + | "KI" + | "KP" + | "KR" + | "KW" + | "KG" + | "LA" + | "LV" + | "LB" + | "LS" + | "LR" + | "LY" + | "LI" + | "LT" + | "LU" + | "MO" + | "MK" + | "MG" + | "MW" + | "MY" + | "MV" + | "ML" + | "MT" + | "MH" + | "MQ" + | "MR" + | "MU" + | "YT" + | "MX" + | "FM" + | "MD" + | "MC" + | "MN" + | "ME" + | "MS" + | "MA" + | "MZ" + | "MM" + | "NA" + | "NR" + | "NP" + | "NL" + | "NC" + | "NZ" + | "NI" + | "NE" + | "NG" + | "NU" + | "NF" + | "MP" + | "NO" + | "OM" + | "PK" + | "PW" + | "PS" + | "PA" + | "PG" + | "PY" + | "PE" + | "PH" + | "PN" + | "PL" + | "PT" + | "PR" + | "QA" + | "RE" + | "RO" + | "RU" + | "RW" + | "BL" + | "SH" + | "KN" + | "LC" + | "MF" + | "PM" + | "VC" + | "WS" + | "SM" + | "ST" + | "SA" + | "SN" + | "RS" + | "SC" + | "SL" + | "SG" + | "SX" + | "SK" + | "SI" + | "SB" + | "SO" + | "ZA" + | "GS" + | "SS" + | "ES" + | "LK" + | "SD" + | "SR" + | "SJ" + | "SZ" + | "SE" + | "CH" + | "SY" + | "TW" + | "TJ" + | "TZ" + | "TH" + | "TL" + | "TG" + | "TK" + | "TO" + | "TT" + | "TN" + | "TR" + | "TM" + | "TC" + | "TV" + | "UG" + | "UA" + | "AE" + | "GB" + | "US" + | "UM" + | "UY" + | "UZ" + | "VU" + | "VE" + | "VN" + | "VG" + | "VI" + | "WF" + | "EH" + | "YE" + | "ZM" + | "ZW"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.CreateActionsOnPlayerSegmentTaskRequest + */ + export interface CreateActionsOnPlayerSegmentTaskRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Name of the task. This is a unique identifier for tasks in the title. + */ + Name: string; + /** + / Description the task + */ + Description?: string; + /** + / Cron expression for the run schedule of the task. The expression should be in UTC. + */ + Schedule?: string; + /** + / Whether the schedule is active. Inactive schedule will not trigger task execution. + */ + IsActive: boolean; + /** + / Task details related to segment and action + */ + Parameter: ActionsOnPlayersInSegmentTaskParameter; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.CreateCloudScriptTaskRequest + */ + export interface CreateCloudScriptTaskRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Name of the task. This is a unique identifier for tasks in the title. + */ + Name: string; + /** + / Description the task + */ + Description?: string; + /** + / Cron expression for the run schedule of the task. The expression should be in UTC. + */ + Schedule?: string; + /** + / Whether the schedule is active. Inactive schedule will not trigger task execution. + */ + IsActive: boolean; + /** + / Task details related to CloudScript + */ + Parameter: CloudScriptTaskParameter; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.CreatePlayerStatisticDefinitionRequest + */ + export interface CreatePlayerStatisticDefinitionRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / unique name of the statistic + */ + StatisticName: string; + /** + / interval at which the values of the statistic for all players are reset (resets begin at the next interval boundary) + */ + VersionChangeInterval?: string; + /** + / the aggregation method to use in updating the statistic (defaults to last) + */ + AggregationMethod?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.CreatePlayerStatisticDefinitionResult + */ + export interface CreatePlayerStatisticDefinitionResult extends PlayFabModule.IPlayFabResultCommon { + /** + / created statistic definition + */ + Statistic?: PlayerStatisticDefinition; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.CreateTaskResult + */ + export interface CreateTaskResult extends PlayFabModule.IPlayFabResultCommon { + /** + / ID of the task + */ + TaskId?: string; + + } + + type Currency = "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYR" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.DeleteContentRequest + */ + export interface DeleteContentRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Key of the content item to be deleted + */ + Key: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.DeleteStoreRequest + */ + export interface DeleteStoreRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / catalog version of the store to delete. If null, uses the default catalog. + */ + CatalogVersion?: string; + /** + / unqiue identifier for the store which is to be deleted + */ + StoreId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.DeleteStoreResult + */ + export interface DeleteStoreResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.DeleteTaskRequest + */ + export interface DeleteTaskRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Specify either the task ID or the name of task to be deleted. + */ + Identifier?: NameIdentifier; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.DeleteUsersRequest + */ + export interface DeleteUsersRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / An array of unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabIds: string[]; + /** + / Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected. + */ + TitleId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.DeleteUsersResult + */ + export interface DeleteUsersResult extends PlayFabModule.IPlayFabResultCommon { + + } + + type EffectType = "Allow" + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.EmptyResult + */ + export interface EmptyResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ExecuteCloudScriptResult + */ + export interface ExecuteCloudScriptResult extends PlayFabModule.IPlayFabResultCommon { + /** + / The name of the function that executed + */ + FunctionName?: string; + /** + / The revision of the CloudScript that executed + */ + Revision: number; + /** + / The object returned from the CloudScript function, if any + */ + FunctionResult?: any; + /** + / Entries logged during the function execution. These include both entries logged in the function code using log.info() and log.error() and error entries for API and HTTP request failures. + */ + Logs?: LogStatement[]; + ExecutionTimeSeconds: number; + /** + / Processor time consumed while executing the function. This does not include time spent waiting on API calls or HTTP requests. + */ + ProcessorTimeSeconds: number; + MemoryConsumedBytes: number; + /** + / Number of PlayFab API requests issued by the CloudScript function + */ + APIRequestsIssued: number; + /** + / Number of external HTTP requests issued by the CloudScript function + */ + HttpRequestsIssued: number; + /** + / Information about the error, if any, that occured during execution + */ + Error?: ScriptExecutionError; + + } + + type GameBuildStatus = "Available" + | "Validating" + | "InvalidBuildPackage" + | "Processing" + | "FailedToProcess"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GameModeInfo + */ + export interface GameModeInfo { + /** + / specific game mode type + */ + Gamemode: string; + /** + / minimum user count required for this Game Server Instance to continue (usually 1) + */ + MinPlayerCount: number; + /** + / maximum user count a specific Game Server Instance can support + */ + MaxPlayerCount: number; + /** + / whether to start as an open session, meaning that players can matchmake into it (defaults to true) + */ + StartOpen?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetActionGroupResult + */ + export interface GetActionGroupResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Action Group name + */ + Name: string; + /** + / Action Group ID + */ + Id?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetActionsOnPlayersInSegmentTaskInstanceResult + */ + export interface GetActionsOnPlayersInSegmentTaskInstanceResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Status summary of the actions-on-players-in-segment task instance + */ + Summary?: ActionsOnPlayersInSegmentTaskSummary; + /** + / Parameter of this task instance + */ + Parameter?: ActionsOnPlayersInSegmentTaskParameter; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetAllActionGroupsRequest + */ + export interface GetAllActionGroupsRequest extends PlayFabModule.IPlayFabRequestCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetAllActionGroupsResult + */ + export interface GetAllActionGroupsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / List of Action Groups. + */ + ActionGroups: GetActionGroupResult[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetAllSegmentsRequest + */ + export interface GetAllSegmentsRequest extends PlayFabModule.IPlayFabRequestCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetAllSegmentsResult + */ + export interface GetAllSegmentsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Array of segments for this title. + */ + Segments?: GetSegmentResult[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetCatalogItemsRequest + */ + export interface GetCatalogItemsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Which catalog is being requested. If null, uses the default catalog. + */ + CatalogVersion?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetCatalogItemsResult + */ + export interface GetCatalogItemsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Array of items which can be purchased. + */ + Catalog?: CatalogItem[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetCloudScriptRevisionRequest + */ + export interface GetCloudScriptRevisionRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Version number. If left null, defaults to the latest version + */ + Version?: number; + /** + / Revision number. If left null, defaults to the latest revision + */ + Revision?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetCloudScriptRevisionResult + */ + export interface GetCloudScriptRevisionResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Version number. + */ + Version: number; + /** + / Revision number. + */ + Revision: number; + /** + / Time this revision was created + */ + CreatedAt: string; + /** + / List of Cloud Script files in this revision. + */ + Files?: CloudScriptFile[]; + /** + / True if this is the currently published revision + */ + IsPublished: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetCloudScriptTaskInstanceResult + */ + export interface GetCloudScriptTaskInstanceResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Status summary of the CloudScript task instance + */ + Summary?: CloudScriptTaskSummary; + /** + / Parameter of this task instance + */ + Parameter?: CloudScriptTaskParameter; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetCloudScriptVersionsRequest + */ + export interface GetCloudScriptVersionsRequest extends PlayFabModule.IPlayFabRequestCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetCloudScriptVersionsResult + */ + export interface GetCloudScriptVersionsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / List of versions + */ + Versions?: CloudScriptVersionStatus[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetContentListRequest + */ + export interface GetContentListRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Limits the response to keys that begin with the specified prefix. You can use prefixes to list contents under a folder, or for a specified version, etc. + */ + Prefix?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetContentListResult + */ + export interface GetContentListResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Number of content items returned. We currently have a maximum of 1000 items limit. + */ + ItemCount: number; + /** + / The total size of listed contents in bytes. + */ + TotalSize: number; + /** + / List of content items. + */ + Contents?: ContentInfo[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetContentUploadUrlRequest + */ + export interface GetContentUploadUrlRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Key of the content item to upload, usually formatted as a path, e.g. images/a.png + */ + Key: string; + /** + / A standard MIME type describing the format of the contents. The same MIME type has to be set in the header when uploading the content. If not specified, the MIME type is 'binary/octet-stream' by default. + */ + ContentType?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetContentUploadUrlResult + */ + export interface GetContentUploadUrlResult extends PlayFabModule.IPlayFabResultCommon { + /** + / URL for uploading content via HTTP PUT method. The URL will expire in 1 hour. + */ + URL?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetDataReportRequest + */ + export interface GetDataReportRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Report name + */ + ReportName: string; + /** + / Reporting year (UTC) + */ + Year: number; + /** + / Reporting month (UTC) + */ + Month: number; + /** + / Reporting year (UTC) + */ + Day: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetDataReportResult + */ + export interface GetDataReportResult extends PlayFabModule.IPlayFabResultCommon { + /** + / The URL where the requested report can be downloaded. + */ + DownloadUrl?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetMatchmakerGameInfoRequest + */ + export interface GetMatchmakerGameInfoRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / unique identifier of the lobby for which info is being requested + */ + LobbyId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetMatchmakerGameInfoResult + */ + export interface GetMatchmakerGameInfoResult extends PlayFabModule.IPlayFabResultCommon { + /** + / unique identifier of the lobby + */ + LobbyId?: string; + /** + / unique identifier of the Game Server Instance for this lobby + */ + TitleId?: string; + /** + / time when the Game Server Instance was created + */ + StartTime: string; + /** + / time when Game Server Instance is currently scheduled to end + */ + EndTime?: string; + /** + / game mode for this Game Server Instance + */ + Mode?: string; + /** + / version identifier of the game server executable binary being run + */ + BuildVersion?: string; + /** + / region in which the Game Server Instance is running + */ + Region?: string; + /** + / array of unique PlayFab identifiers for users currently connected to this Game Server Instance + */ + Players?: string[]; + /** + / IP address for this Game Server Instance + */ + ServerAddress?: string; + /** + / communication port for this Game Server Instance + */ + ServerPort: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetMatchmakerGameModesRequest + */ + export interface GetMatchmakerGameModesRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / previously uploaded build version for which game modes are being requested + */ + BuildVersion: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetMatchmakerGameModesResult + */ + export interface GetMatchmakerGameModesResult extends PlayFabModule.IPlayFabResultCommon { + /** + / array of game modes available for the specified build + */ + GameModes?: GameModeInfo[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetPlayerSegmentsResult + */ + export interface GetPlayerSegmentsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Array of segments the requested player currently belongs to. + */ + Segments?: GetSegmentResult[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetPlayersInSegmentRequest + */ + export interface GetPlayersInSegmentRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for this segment. + */ + SegmentId: string; + /** + / Number of seconds to keep the continuation token active. After token expiration it is not possible to continue paging results. Default is 300 (5 minutes). Maximum is 1,800 (30 minutes). + */ + SecondsToLive?: number; + /** + / Maximum number of profiles to load. Default is 1,000. Maximum is 10,000. + */ + MaxBatchSize?: number; + /** + / Continuation token if retrieving subsequent pages of results. + */ + ContinuationToken?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetPlayersInSegmentResult + */ + export interface GetPlayersInSegmentResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Count of profiles matching this segment. + */ + ProfilesInSegment: number; + /** + / Continuation token to use to retrieve subsequent pages of results. If token returns null there are no more results. + */ + ContinuationToken?: string; + /** + / Array of player profiles in this segment. + */ + PlayerProfiles?: PlayerProfile[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetPlayersSegmentsRequest + */ + export interface GetPlayersSegmentsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetPlayerStatisticDefinitionsRequest + */ + export interface GetPlayerStatisticDefinitionsRequest extends PlayFabModule.IPlayFabRequestCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetPlayerStatisticDefinitionsResult + */ + export interface GetPlayerStatisticDefinitionsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / the player statistic definitions for the title + */ + Statistics?: PlayerStatisticDefinition[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetPlayerStatisticVersionsRequest + */ + export interface GetPlayerStatisticVersionsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / unique name of the statistic + */ + StatisticName?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetPlayerStatisticVersionsResult + */ + export interface GetPlayerStatisticVersionsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / version change history of the statistic + */ + StatisticVersions?: PlayerStatisticVersion[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetPlayerTagsRequest + */ + export interface GetPlayerTagsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Optional namespace to filter results by + */ + Namespace?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetPlayerTagsResult + */ + export interface GetPlayerTagsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Canonical tags (including namespace and tag's name) for the requested user + */ + Tags: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetPolicyRequest + */ + export interface GetPolicyRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / The name of the policy to read. Only supported name is 'ApiPolicy'. + */ + PolicyName?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetPolicyResponse + */ + export interface GetPolicyResponse extends PlayFabModule.IPlayFabResultCommon { + /** + / The name of the policy read. + */ + PolicyName?: string; + /** + / The statements in the requested policy. + */ + Statements?: PermissionStatement[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetPublisherDataRequest + */ + export interface GetPublisherDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / array of keys to get back data from the Publisher data blob, set by the admin tools + */ + Keys: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetPublisherDataResult + */ + export interface GetPublisherDataResult extends PlayFabModule.IPlayFabResultCommon { + /** + / a dictionary object of key / value pairs + */ + Data?: { [key: string]: string }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetRandomResultTablesRequest + */ + export interface GetRandomResultTablesRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / catalog version to fetch tables from. Use default catalog version if null + */ + CatalogVersion?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetRandomResultTablesResult + */ + export interface GetRandomResultTablesResult extends PlayFabModule.IPlayFabResultCommon { + /** + / array of random result tables currently available + */ + Tables?: { [key: string]: RandomResultTableListing }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetSegmentResult + */ + export interface GetSegmentResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique identifier for this segment. + */ + Id: string; + /** + / Segment name. + */ + Name?: string; + /** + / Identifier of the segments AB Test, if it is attached to one. + */ + ABTestParent?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetServerBuildInfoRequest + */ + export interface GetServerBuildInfoRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / unique identifier of the previously uploaded build executable for which information is being requested + */ + BuildId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetServerBuildInfoResult + */ + export interface GetServerBuildInfoResult extends PlayFabModule.IPlayFabResultCommon { + /** + / unique identifier for this build executable + */ + BuildId?: string; + /** + / array of regions where this build can used, when it is active + */ + ActiveRegions?: string[]; + /** + / maximum number of game server instances that can run on a single host machine + */ + MaxGamesPerHost: number; + /** + / minimum capacity of additional game server instances that can be started before the autoscaling service starts new host machines (given the number of current running host machines and game server instances) + */ + MinFreeGameSlots: number; + /** + / developer comment(s) for this build + */ + Comment?: string; + /** + / time this build was last modified (or uploaded, if this build has never been modified) + */ + Timestamp: string; + /** + / Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected. + */ + TitleId?: string; + /** + / the current status of the build validation and processing steps + */ + Status?: string; + /** + / error message, if any, about this build + */ + ErrorMessage?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetServerBuildUploadURLRequest + */ + export interface GetServerBuildUploadURLRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / unique identifier of the game server build to upload + */ + BuildId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetServerBuildUploadURLResult + */ + export interface GetServerBuildUploadURLResult extends PlayFabModule.IPlayFabResultCommon { + /** + / pre-authorized URL for uploading the game server build package + */ + URL?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetStoreItemsRequest + */ + export interface GetStoreItemsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / catalog version to store items from. Use default catalog version if null + */ + CatalogVersion?: string; + /** + / Unqiue identifier for the store which is being requested. + */ + StoreId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetStoreItemsResult + */ + export interface GetStoreItemsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Array of items which can be purchased from this store. + */ + Store?: StoreItem[]; + /** + / How the store was last updated (Admin or a third party). + */ + Source?: string; + /** + / The base catalog that this store is a part of. + */ + CatalogVersion?: string; + /** + / The ID of this store. + */ + StoreId?: string; + /** + / Additional data about the store. + */ + MarketingData?: StoreMarketingModel; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetTaskInstanceRequest + */ + export interface GetTaskInstanceRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / ID of the requested task instance. + */ + TaskInstanceId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetTaskInstancesRequest + */ + export interface GetTaskInstancesRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Name or ID of the task whose instances are being queried. If not specified, return all task instances that satisfy conditions set by other filters. + */ + TaskIdentifier?: NameIdentifier; + /** + / Optional filter for task instances that are of a specific status. + */ + StatusFilter?: string; + /** + / Optional range-from filter for task instances' StartedAt timestamp. + */ + StartedAtRangeFrom?: string; + /** + / Optional range-to filter for task instances' StartedAt timestamp. + */ + StartedAtRangeTo?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetTaskInstancesResult + */ + export interface GetTaskInstancesResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Basic status summaries of the queried task instances. Empty If no task instances meets the filter criteria. To get detailed status summary, use Get*TaskInstance API according to task type (e.g. GetActionsOnPlayersInSegmentTaskInstance). + */ + Summaries?: TaskInstanceBasicSummary[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetTasksRequest + */ + export interface GetTasksRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Provide either the task ID or the task name to get a specific task. If not specified, return all defined tasks. + */ + Identifier?: NameIdentifier; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetTasksResult + */ + export interface GetTasksResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Result tasks. Empty if there is no task found. + */ + Tasks?: ScheduledTask[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetTitleDataRequest + */ + export interface GetTitleDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Specific keys to search for in the title data (leave null to get all keys) + */ + Keys?: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetTitleDataResult + */ + export interface GetTitleDataResult extends PlayFabModule.IPlayFabResultCommon { + /** + / a dictionary object of key / value pairs + */ + Data?: { [key: string]: string }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetUserBansRequest + */ + export interface GetUserBansRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetUserBansResult + */ + export interface GetUserBansResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Information about the bans + */ + BanData?: BanInfo[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetUserDataRequest + */ + export interface GetUserDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Specific keys to search for in the custom user data. + */ + Keys?: string[]; + /** + / The version that currently exists according to the caller. The call will return the data for all of the keys if the version in the system is greater than this. + */ + IfChangedFromDataVersion?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetUserDataResult + */ + export interface GetUserDataResult extends PlayFabModule.IPlayFabResultCommon { + /** + / PlayFab unique identifier of the user whose custom data is being returned. + */ + PlayFabId?: string; + /** + / Indicates the current version of the data that has been set. This is incremented with every set call for that type of data (read-only, internal, etc). This version can be provided in Get calls to find updated data. + */ + DataVersion: number; + /** + / User specific data for this title. + */ + Data?: { [key: string]: UserDataRecord }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetUserInventoryRequest + */ + export interface GetUserInventoryRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetUserInventoryResult + */ + export interface GetUserInventoryResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId?: string; + /** + / Array of inventory items belonging to the user. + */ + Inventory?: ItemInstance[]; + /** + / Array of virtual currency balance(s) belonging to the user. + */ + VirtualCurrency?: { [key: string]: number }; + /** + / Array of remaining times and timestamps for virtual currencies. + */ + VirtualCurrencyRechargeTimes?: { [key: string]: VirtualCurrencyRechargeTime }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GrantedItemInstance + */ + export interface GrantedItemInstance { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId?: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId?: string; + /** + / Result of this operation. + */ + Result: boolean; + /** + / Unique identifier for the inventory item, as defined in the catalog. + */ + ItemId?: string; + /** + / Unique item identifier for this specific instance of the item. + */ + ItemInstanceId?: string; + /** + / Class name for the inventory item, as defined in the catalog. + */ + ItemClass?: string; + /** + / Timestamp for when this instance was purchased. + */ + PurchaseDate?: string; + /** + / Timestamp for when this instance will expire. + */ + Expiration?: string; + /** + / Total number of remaining uses, if this is a consumable item. + */ + RemainingUses?: number; + /** + / The number of uses that were added or removed to this item in this call. + */ + UsesIncrementedBy?: number; + /** + / Game specific comment associated with this instance when it was added to the user inventory. + */ + Annotation?: string; + /** + / Catalog version for the inventory item, when this instance was created. + */ + CatalogVersion?: string; + /** + / Unique identifier for the parent inventory item, as defined in the catalog, for object which were added from a bundle or container. + */ + BundleParent?: string; + /** + / CatalogItem.DisplayName at the time this item was purchased. + */ + DisplayName?: string; + /** + / Currency type for the cost of the catalog item. + */ + UnitCurrency?: string; + /** + / Cost of the catalog item in the given currency. + */ + UnitPrice: number; + /** + / Array of unique items that were awarded when this catalog item was purchased. + */ + BundleContents?: string[]; + /** + / A set of custom key-value pairs on the inventory item. + */ + CustomData?: { [key: string]: string }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GrantItemsToUsersRequest + */ + export interface GrantItemsToUsersRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Catalog version from which items are to be granted. + */ + CatalogVersion?: string; + /** + / Array of items to grant and the users to whom the items are to be granted. + */ + ItemGrants: ItemGrant[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GrantItemsToUsersResult + */ + export interface GrantItemsToUsersResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Array of items granted to users. + */ + ItemGrantResults?: GrantedItemInstance[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.IncrementPlayerStatisticVersionRequest + */ + export interface IncrementPlayerStatisticVersionRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / unique name of the statistic + */ + StatisticName?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.IncrementPlayerStatisticVersionResult + */ + export interface IncrementPlayerStatisticVersionResult extends PlayFabModule.IPlayFabResultCommon { + /** + / version change history of the statistic + */ + StatisticVersion?: PlayerStatisticVersion; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ItemGrant + */ + export interface ItemGrant { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique identifier of the catalog item to be granted to the user. + */ + ItemId: string; + /** + / String detailing any additional information concerning this operation. + */ + Annotation?: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId?: string; + /** + / Key-value pairs to be written to the custom data. Note that keys are trimmed of whitespace, are limited in size, and may not begin with a '!' character. + */ + Data?: { [key: string]: string }; + /** + / Optional list of Data-keys to remove from UserData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + */ + KeysToRemove?: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ItemInstance + */ + export interface ItemInstance { + /** + / Unique identifier for the inventory item, as defined in the catalog. + */ + ItemId?: string; + /** + / Unique item identifier for this specific instance of the item. + */ + ItemInstanceId?: string; + /** + / Class name for the inventory item, as defined in the catalog. + */ + ItemClass?: string; + /** + / Timestamp for when this instance was purchased. + */ + PurchaseDate?: string; + /** + / Timestamp for when this instance will expire. + */ + Expiration?: string; + /** + / Total number of remaining uses, if this is a consumable item. + */ + RemainingUses?: number; + /** + / The number of uses that were added or removed to this item in this call. + */ + UsesIncrementedBy?: number; + /** + / Game specific comment associated with this instance when it was added to the user inventory. + */ + Annotation?: string; + /** + / Catalog version for the inventory item, when this instance was created. + */ + CatalogVersion?: string; + /** + / Unique identifier for the parent inventory item, as defined in the catalog, for object which were added from a bundle or container. + */ + BundleParent?: string; + /** + / CatalogItem.DisplayName at the time this item was purchased. + */ + DisplayName?: string; + /** + / Currency type for the cost of the catalog item. + */ + UnitCurrency?: string; + /** + / Cost of the catalog item in the given currency. + */ + UnitPrice: number; + /** + / Array of unique items that were awarded when this catalog item was purchased. + */ + BundleContents?: string[]; + /** + / A set of custom key-value pairs on the inventory item. + */ + CustomData?: { [key: string]: string }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ListBuildsRequest + */ + export interface ListBuildsRequest extends PlayFabModule.IPlayFabRequestCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ListBuildsResult + */ + export interface ListBuildsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / array of uploaded game server builds + */ + Builds?: GetServerBuildInfoResult[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ListVirtualCurrencyTypesRequest + */ + export interface ListVirtualCurrencyTypesRequest extends PlayFabModule.IPlayFabRequestCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ListVirtualCurrencyTypesResult + */ + export interface ListVirtualCurrencyTypesResult extends PlayFabModule.IPlayFabResultCommon { + /** + / List of virtual currency names defined for this title + */ + VirtualCurrencies?: VirtualCurrencyData[]; + + } + + type LoginIdentityProvider = "Unknown" + | "PlayFab" + | "Custom" + | "GameCenter" + | "GooglePlay" + | "Steam" + | "XBoxLive" + | "PSN" + | "Kongregate" + | "Facebook" + | "IOSDevice" + | "AndroidDevice" + | "Twitch"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.LogStatement + */ + export interface LogStatement { + /** + / 'Debug', 'Info', or 'Error' + */ + Level?: string; + Message?: string; + /** + / Optional object accompanying the message as contextual information + */ + Data?: any; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.LookupUserAccountInfoRequest + */ + export interface LookupUserAccountInfoRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId?: string; + /** + / User email address attached to their account + */ + Email?: string; + /** + / PlayFab username for the account (3-20 characters) + */ + Username?: string; + /** + / Title specific username to match against existing user accounts + */ + TitleDisplayName?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.LookupUserAccountInfoResult + */ + export interface LookupUserAccountInfoResult extends PlayFabModule.IPlayFabResultCommon { + /** + / User info for the user matching the request + */ + UserInfo?: UserAccountInfo; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ModifyMatchmakerGameModesRequest + */ + export interface ModifyMatchmakerGameModesRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / previously uploaded build version for which game modes are being specified + */ + BuildVersion: string; + /** + / array of game modes (Note: this will replace all game modes for the indicated build version) + */ + GameModes: GameModeInfo[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ModifyMatchmakerGameModesResult + */ + export interface ModifyMatchmakerGameModesResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ModifyServerBuildRequest + */ + export interface ModifyServerBuildRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / unique identifier of the previously uploaded build executable to be updated + */ + BuildId: string; + /** + / new timestamp + */ + Timestamp?: string; + /** + / array of regions where this build can used, when it is active + */ + ActiveRegions?: string[]; + /** + / maximum number of game server instances that can run on a single host machine + */ + MaxGamesPerHost: number; + /** + / minimum capacity of additional game server instances that can be started before the autoscaling service starts new host machines (given the number of current running host machines and game server instances) + */ + MinFreeGameSlots: number; + /** + / appended to the end of the command line when starting game servers + */ + CommandLineTemplate?: string; + /** + / path to the game server executable. Defaults to gameserver.exe + */ + ExecutablePath?: string; + /** + / developer comment(s) for this build + */ + Comment?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ModifyServerBuildResult + */ + export interface ModifyServerBuildResult extends PlayFabModule.IPlayFabResultCommon { + /** + / unique identifier for this build executable + */ + BuildId?: string; + /** + / array of regions where this build can used, when it is active + */ + ActiveRegions?: string[]; + /** + / maximum number of game server instances that can run on a single host machine + */ + MaxGamesPerHost: number; + /** + / minimum capacity of additional game server instances that can be started before the autoscaling service starts new host machines (given the number of current running host machines and game server instances) + */ + MinFreeGameSlots: number; + /** + / appended to the end of the command line when starting game servers + */ + CommandLineTemplate?: string; + /** + / path to the game server executable. Defaults to gameserver.exe + */ + ExecutablePath?: string; + /** + / developer comment(s) for this build + */ + Comment?: string; + /** + / time this build was last modified (or uploaded, if this build has never been modified) + */ + Timestamp: string; + /** + / Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected. + */ + TitleId?: string; + /** + / the current status of the build validation and processing steps + */ + Status?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ModifyUserVirtualCurrencyResult + */ + export interface ModifyUserVirtualCurrencyResult extends PlayFabModule.IPlayFabResultCommon { + /** + / User currency was subtracted from. + */ + PlayFabId?: string; + /** + / Name of the virtual currency which was modified. + */ + VirtualCurrency?: string; + /** + / Amount added or subtracted from the user's virtual currency. Maximum VC balance is Int32 (2,147,483,647). Any increase over this value will be discarded. + */ + BalanceChange: number; + /** + / Balance of the virtual currency after modification. + */ + Balance: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.NameIdentifier + */ + export interface NameIdentifier { + Name?: string; + Id?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.PermissionStatement + */ + export interface PermissionStatement { + /** + / The resource this statements effects. The only supported resources look like 'pfrn:api--*' for all apis, or 'pfrn:api--/Client/ConfirmPurchase' for specific apis. + */ + Resource: string; + /** + / The action this statement effects. The only supported action is 'Execute'. + */ + Action: string; + /** + / The effect this statement will have. The only supported effect is 'Allow'. + */ + Effect: string; + /** + / The principal this statement will effect. The only supported principal is '*'. + */ + Principal: string; + /** + / A comment about the statement. Intended solely for bookeeping and debugging. + */ + Comment?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.PlayerLinkedAccount + */ + export interface PlayerLinkedAccount { + /** + / Authentication platform + */ + Platform?: string; + /** + / Platform user identifier + */ + PlatformUserId?: string; + /** + / Linked account's username + */ + Username?: string; + /** + / Linked account's email + */ + Email?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.PlayerLocation + */ + export interface PlayerLocation { + /** + / The two-character continent code for this location + */ + ContinentCode: string; + /** + / The two-character ISO 3166-1 country code for the country associated with the location + */ + CountryCode: string; + /** + / City of the player's geographic location. + */ + City?: string; + /** + / Latitude coordinate of the player's geographic location. + */ + Latitude?: number; + /** + / Longitude coordinate of the player's geographic location. + */ + Longitude?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.PlayerProfile + */ + export interface PlayerProfile { + /** + / PlayFab Player ID + */ + PlayerId?: string; + /** + / Title ID this profile applies to + */ + TitleId?: string; + /** + / Player Display Name + */ + DisplayName?: string; + /** + / Publisher this player belongs to + */ + PublisherId?: string; + /** + / Player account origination + */ + Origination?: string; + /** + / Player record created + */ + Created?: string; + /** + / Last login + */ + LastLogin?: string; + /** + / Banned until UTC Date. If permanent ban this is set for 20 years after the original ban date. + */ + BannedUntil?: string; + /** + / Dictionary of player's statistics using only the latest version's value + */ + Statistics?: { [key: string]: number }; + /** + / A sum of player's total purchases in USD across all currencies. + */ + TotalValueToDateInUSD?: number; + /** + / Dictionary of player's total purchases by currency. + */ + ValuesToDate?: { [key: string]: number }; + /** + / List of player's tags for segmentation. + */ + Tags?: string[]; + /** + / Dictionary of player's locations by type. + */ + Locations?: { [key: string]: PlayerLocation }; + /** + / Dictionary of player's virtual currency balances + */ + VirtualCurrencyBalances?: { [key: string]: number }; + /** + / Array of ad campaigns player has been attributed to + */ + AdCampaignAttributions?: AdCampaignAttribution[]; + /** + / Array of configured push notification end points + */ + PushNotificationRegistrations?: PushNotificationRegistration[]; + /** + / Array of third party accounts linked to this player + */ + LinkedAccounts?: PlayerLinkedAccount[]; + /** + / Array of player statistics + */ + PlayerStatistics?: PlayerStatistic[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.PlayerStatistic + */ + export interface PlayerStatistic { + /** + / Statistic ID + */ + Id?: string; + /** + / Statistic version (0 if not a versioned statistic) + */ + StatisticVersion: number; + /** + / Current statistic value + */ + StatisticValue: number; + /** + / Statistic name + */ + Name?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.PlayerStatisticDefinition + */ + export interface PlayerStatisticDefinition { + /** + / unique name of the statistic + */ + StatisticName?: string; + /** + / current active version of the statistic, incremented each time the statistic resets + */ + CurrentVersion: number; + /** + / interval at which the values of the statistic for all players are reset automatically + */ + VersionChangeInterval?: string; + /** + / the aggregation method to use in updating the statistic (defaults to last) + */ + AggregationMethod?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.PlayerStatisticVersion + */ + export interface PlayerStatisticVersion { + /** + / name of the statistic when the version became active + */ + StatisticName?: string; + /** + / version of the statistic + */ + Version: number; + /** + / time at which the statistic version was scheduled to become active, based on the configured ResetInterval + */ + ScheduledActivationTime?: string; + /** + / time when the statistic version became active + */ + ActivationTime: string; + /** + / time at which the statistic version was scheduled to become inactive, based on the configured ResetInterval + */ + ScheduledDeactivationTime?: string; + /** + / time when the statistic version became inactive due to statistic version incrementing + */ + DeactivationTime?: string; + /** + / status of the process of saving player statistic values of the previous version to a downloadable archive + */ + ArchivalStatus?: string; + /** + / URL for the downloadable archive of player statistic values, if available + */ + ArchiveDownloadUrl?: string; + + } + + type PushNotificationPlatform = "ApplePushNotificationService" + | "GoogleCloudMessaging"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.PushNotificationRegistration + */ + export interface PushNotificationRegistration { + /** + / Push notification platform + */ + Platform?: string; + /** + / Notification configured endpoint + */ + NotificationEndpointARN?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.RandomResultTable + */ + export interface RandomResultTable { + /** + / Unique name for this drop table + */ + TableId: string; + /** + / Child nodes that indicate what kind of drop table item this actually is. + */ + Nodes: ResultTableNode[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.RandomResultTableListing + */ + export interface RandomResultTableListing { + /** + / Catalog version this table is associated with + */ + CatalogVersion?: string; + /** + / Unique name for this drop table + */ + TableId: string; + /** + / Child nodes that indicate what kind of drop table item this actually is. + */ + Nodes: ResultTableNode[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.RefundPurchaseRequest + */ + export interface RefundPurchaseRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique order ID for the purchase in question. + */ + OrderId: string; + /** + / Reason for refund. In the case of Facebook this must match one of their refund or dispute resolution enums (See: https://developers.facebook.com/docs/payments/implementation-guide/handling-disputes-refunds) + */ + Reason?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.RefundPurchaseResponse + */ + export interface RefundPurchaseResponse extends PlayFabModule.IPlayFabResultCommon { + /** + / The order's updated purchase status. + */ + PurchaseStatus?: string; + + } + + type Region = "USCentral" + | "USEast" + | "EUWest" + | "Singapore" + | "Japan" + | "Brazil" + | "Australia"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.RemovePlayerTagRequest + */ + export interface RemovePlayerTagRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique tag for player profile. + */ + TagName: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.RemovePlayerTagResult + */ + export interface RemovePlayerTagResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.RemoveServerBuildRequest + */ + export interface RemoveServerBuildRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / unique identifier of the previously uploaded build executable to be removed + */ + BuildId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.RemoveServerBuildResult + */ + export interface RemoveServerBuildResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.RemoveVirtualCurrencyTypesRequest + */ + export interface RemoveVirtualCurrencyTypesRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / List of virtual currencies to delete + */ + VirtualCurrencies: VirtualCurrencyData[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ResetCharacterStatisticsRequest + */ + export interface ResetCharacterStatisticsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ResetCharacterStatisticsResult + */ + export interface ResetCharacterStatisticsResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ResetUsersRequest + */ + export interface ResetUsersRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Array of users to reset + */ + Users: UserCredentials[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ResetUserStatisticsRequest + */ + export interface ResetUserStatisticsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ResetUserStatisticsResult + */ + export interface ResetUserStatisticsResult extends PlayFabModule.IPlayFabResultCommon { + + } + + type ResolutionOutcome = "Revoke" + | "Reinstate" + | "Manual"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ResolvePurchaseDisputeRequest + */ + export interface ResolvePurchaseDisputeRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique order ID for the purchase in question. + */ + OrderId: string; + /** + / Reason for refund. In the case of Facebook this must match one of their refund or dispute resolution enums (See: https://developers.facebook.com/docs/payments/implementation-guide/handling-disputes-refunds) + */ + Reason?: string; + /** + / Enum for the desired purchase result state after notifying the payment provider. Valid values are Revoke, Reinstate and Manual. Manual will cause no change to the order state. + */ + Outcome: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ResolvePurchaseDisputeResponse + */ + export interface ResolvePurchaseDisputeResponse extends PlayFabModule.IPlayFabResultCommon { + /** + / The order's updated purchase status. + */ + PurchaseStatus?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ResultTableNode + */ + export interface ResultTableNode { + /** + / Whether this entry in the table is an item or a link to another table + */ + ResultItemType: string; + /** + / Either an ItemId, or the TableId of another random result table + */ + ResultItem: string; + /** + / How likely this is to be rolled - larger numbers add more weight + */ + Weight: number; + + } + + type ResultTableNodeType = "ItemId" + | "TableId"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.RevokeAllBansForUserRequest + */ + export interface RevokeAllBansForUserRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.RevokeAllBansForUserResult + */ + export interface RevokeAllBansForUserResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Information on the bans that were revoked. + */ + BanData?: BanInfo[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.RevokeBansRequest + */ + export interface RevokeBansRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Ids of the bans to be revoked. Maximum 100. + */ + BanIds: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.RevokeBansResult + */ + export interface RevokeBansResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Information on the bans that were revoked + */ + BanData?: BanInfo[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.RevokeInventoryItemRequest + */ + export interface RevokeInventoryItemRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId?: string; + /** + / Unique PlayFab assigned instance identifier of the item + */ + ItemInstanceId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.RevokeInventoryResult + */ + export interface RevokeInventoryResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.RunTaskRequest + */ + export interface RunTaskRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Provide either the task ID or the task name to run a task. + */ + Identifier?: NameIdentifier; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.RunTaskResult + */ + export interface RunTaskResult extends PlayFabModule.IPlayFabResultCommon { + /** + / ID of the task instance that is started. This can be used in Get*TaskInstance (e.g. GetCloudScriptTaskInstance) API call to retrieve status for the task instance. + */ + TaskInstanceId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ScheduledTask + */ + export interface ScheduledTask { + /** + / ID of the task + */ + TaskId?: string; + /** + / Name of the task. This is a unique identifier for tasks in the title. + */ + Name?: string; + /** + / Description the task + */ + Description?: string; + /** + / Cron expression for the run schedule of the task. The expression should be in UTC. + */ + Schedule?: string; + /** + / Whether the schedule is active. Inactive schedule will not trigger task execution. + */ + IsActive: boolean; + /** + / Task type. + */ + Type?: string; + /** + / Task parameter. Different types of task have different parameter structure. See each task type's create API documentation for the details. + */ + Parameter?: any; + /** + / UTC time of last run + */ + LastRunTime?: string; + /** + / UTC time of next run + */ + NextRunTime?: string; + + } + + type ScheduledTaskType = "CloudScript" + | "ActionsOnPlayerSegment"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ScriptExecutionError + */ + export interface ScriptExecutionError { + /** + / Error code, such as CloudScriptNotFound, JavascriptException, CloudScriptFunctionArgumentSizeExceeded, CloudScriptAPIRequestCountExceeded, CloudScriptAPIRequestError, or CloudScriptHTTPRequestError + */ + Error?: string; + /** + / Details about the error + */ + Message?: string; + /** + / Point during the execution of the script at which the error occurred, if any + */ + StackTrace?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.SendAccountRecoveryEmailRequest + */ + export interface SendAccountRecoveryEmailRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / User email address attached to their account + */ + Email: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.SendAccountRecoveryEmailResult + */ + export interface SendAccountRecoveryEmailResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.SetPublishedRevisionRequest + */ + export interface SetPublishedRevisionRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Version number + */ + Version: number; + /** + / Revision to make the current published revision + */ + Revision: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.SetPublishedRevisionResult + */ + export interface SetPublishedRevisionResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.SetPublisherDataRequest + */ + export interface SetPublisherDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / key we want to set a value on (note, this is additive - will only replace an existing key's value if they are the same name.) Keys are trimmed of whitespace. Keys may not begin with the '!' character. + */ + Key: string; + /** + / new value to set. Set to null to remove a value + */ + Value?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.SetPublisherDataResult + */ + export interface SetPublisherDataResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.SetTitleDataRequest + */ + export interface SetTitleDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / key we want to set a value on (note, this is additive - will only replace an existing key's value if they are the same name.) Keys are trimmed of whitespace. Keys may not begin with the '!' character. + */ + Key: string; + /** + / new value to set. Set to null to remove a value + */ + Value?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.SetTitleDataResult + */ + export interface SetTitleDataResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.SetupPushNotificationRequest + */ + export interface SetupPushNotificationRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / name of the application sending the message (application names must be made up of only uppercase and lowercase ASCII letters, numbers, underscores, hyphens, and periods, and must be between 1 and 256 characters long) + */ + Name: string; + /** + / supported notification platforms are Apple Push Notification Service (APNS and APNS_SANDBOX) for iOS and Google Cloud Messaging (GCM) for Android + */ + Platform: string; + /** + / for APNS, this is the PlatformPrincipal (SSL Certificate) + */ + Key?: string; + /** + / Credential is the Private Key for APNS/APNS_SANDBOX, and the API Key for GCM + */ + Credential: string; + /** + / replace any existing ARN with the newly generated one. If this is set to false, an error will be returned if notifications have already setup for this platform. + */ + OverwriteOldARN: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.SetupPushNotificationResult + */ + export interface SetupPushNotificationResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Amazon Resource Name for the created notification topic. + */ + ARN?: string; + + } + + type SourceType = "Admin" + | "BackEnd" + | "GameClient" + | "GameServer" + | "Partner"; + + type StatisticAggregationMethod = "Last" + | "Min" + | "Max" + | "Sum"; + + type StatisticResetIntervalOption = "Never" + | "Hour" + | "Day" + | "Week" + | "Month"; + + type StatisticVersionArchivalStatus = "NotScheduled" + | "Scheduled" + | "Queued" + | "InProgress" + | "Complete"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.StoreItem + */ + export interface StoreItem { + /** + / Unique identifier of the item as it exists in the catalog - note that this must exactly match the ItemId from the catalog + */ + ItemId: string; + /** + / Override prices for this item in virtual currencies and "RM" (the base Real Money purchase price, in USD pennies) + */ + VirtualCurrencyPrices?: { [key: string]: number }; + /** + / Override prices for this item for specific currencies + */ + RealCurrencyPrices?: { [key: string]: number }; + /** + / Store specific custom data. The data only exists as part of this store; it is not transferred to item instances + */ + CustomData?: any; + /** + / Intended display position for this item. Note that 0 is the first position + */ + DisplayPosition?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.StoreMarketingModel + */ + export interface StoreMarketingModel { + /** + / Display name of a store as it will appear to users. + */ + DisplayName?: string; + /** + / Tagline for a store. + */ + Description?: string; + /** + / Custom data about a store. + */ + Metadata?: any; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.SubtractUserVirtualCurrencyRequest + */ + export interface SubtractUserVirtualCurrencyRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / PlayFab unique identifier of the user whose virtual currency balance is to be decreased. + */ + PlayFabId: string; + /** + / Name of the virtual currency which is to be decremented. + */ + VirtualCurrency: string; + /** + / Amount to be subtracted from the user balance of the specified virtual currency. + */ + Amount: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.TaskInstanceBasicSummary + */ + export interface TaskInstanceBasicSummary { + /** + / ID of the task instance. + */ + TaskInstanceId?: string; + /** + / Identifier of the task this instance belongs to. + */ + TaskIdentifier?: NameIdentifier; + /** + / UTC timestamp when the task started. + */ + StartedAt: string; + /** + / UTC timestamp when the task completed. + */ + CompletedAt?: string; + /** + / Current status of the task instance. + */ + Status?: string; + /** + / Progress represented as percentage. + */ + PercentComplete?: number; + /** + / Estimated time remaining in seconds. + */ + EstimatedSecondsRemaining?: number; + /** + / If manually scheduled, ID of user who scheduled the task. + */ + ScheduledByUserId?: string; + /** + / Type of the task. + */ + Type?: string; + + } + + type TaskInstanceStatus = "Succeeded" + | "Starting" + | "InProgress" + | "Failed" + | "Aborted" + | "Pending"; + + type TitleActivationStatus = "None" + | "ActivatedTitleKey" + | "PendingSteam" + | "ActivatedSteam" + | "RevokedSteam"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdateBanRequest + */ + export interface UpdateBanRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / The id of the ban to be updated. + */ + BanId: string; + /** + / The updated reason for the ban to be updated. Maximum 140 characters. Null for no change. + */ + Reason?: string; + /** + / The updated expiration date for the ban. Null for no change. + */ + Expires?: string; + /** + / The updated IP address for the ban. Null for no change. + */ + IPAddress?: string; + /** + / The updated MAC address for the ban. Null for no change. + */ + MACAddress?: string; + /** + / Whether to make this ban permanent. Set to true to make this ban permanent. This will not modify Active state. + */ + Permanent?: boolean; + /** + / The updated active state for the ban. Null for no change. + */ + Active?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdateBansRequest + */ + export interface UpdateBansRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / List of bans to be updated. Maximum 100. + */ + Bans: UpdateBanRequest[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdateBansResult + */ + export interface UpdateBansResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Information on the bans that were updated + */ + BanData?: BanInfo[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdateCatalogItemsRequest + */ + export interface UpdateCatalogItemsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Which catalog is being updated. If null, uses the default catalog. + */ + CatalogVersion?: string; + /** + / Should this catalog be set as the default catalog. Defaults to true. If there is currently no default catalog, this will always set it. + */ + SetAsDefaultCatalog?: boolean; + /** + / Array of catalog items to be submitted. Note that while CatalogItem has a parameter for CatalogVersion, it is not required and ignored in this call. + */ + Catalog?: CatalogItem[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdateCatalogItemsResult + */ + export interface UpdateCatalogItemsResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdateCloudScriptRequest + */ + export interface UpdateCloudScriptRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / List of Cloud Script files to upload to create the new revision. Must have at least one file. + */ + Files: CloudScriptFile[]; + /** + / Immediately publish the new revision + */ + Publish: boolean; + /** + / PlayFab user ID of the developer initiating the request. + */ + DeveloperPlayFabId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdateCloudScriptResult + */ + export interface UpdateCloudScriptResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Cloud Script version updated + */ + Version: number; + /** + / New revision number created + */ + Revision: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdatePlayerStatisticDefinitionRequest + */ + export interface UpdatePlayerStatisticDefinitionRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / unique name of the statistic + */ + StatisticName: string; + /** + / interval at which the values of the statistic for all players are reset (changes are effective at the next occurance of the new interval boundary) + */ + VersionChangeInterval?: string; + /** + / the aggregation method to use in updating the statistic (defaults to last) + */ + AggregationMethod?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdatePlayerStatisticDefinitionResult + */ + export interface UpdatePlayerStatisticDefinitionResult extends PlayFabModule.IPlayFabResultCommon { + /** + / updated statistic definition + */ + Statistic?: PlayerStatisticDefinition; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdatePolicyRequest + */ + export interface UpdatePolicyRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / The name of the policy being updated. Only supported name is 'ApiPolicy' + */ + PolicyName: string; + /** + / The new statements to include in the policy. + */ + Statements: PermissionStatement[]; + /** + / Whether to overwrite or append to the existing policy. + */ + OverwritePolicy: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdatePolicyResponse + */ + export interface UpdatePolicyResponse extends PlayFabModule.IPlayFabResultCommon { + /** + / The name of the policy that was updated. + */ + PolicyName?: string; + /** + / The statements included in the new version of the policy. + */ + Statements?: PermissionStatement[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdateRandomResultTablesRequest + */ + export interface UpdateRandomResultTablesRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / which catalog is being updated. If null, update the current default catalog version + */ + CatalogVersion?: string; + /** + / array of random result tables to make available (Note: specifying an existing TableId will result in overwriting that table, while any others will be added to the available set) + */ + Tables?: RandomResultTable[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdateRandomResultTablesResult + */ + export interface UpdateRandomResultTablesResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdateStoreItemsRequest + */ + export interface UpdateStoreItemsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Catalog version of the store to update. If null, uses the default catalog. + */ + CatalogVersion?: string; + /** + / Unique identifier for the store which is to be updated + */ + StoreId: string; + /** + / Additional data about the store + */ + MarketingData?: StoreMarketingModel; + /** + / Array of store items - references to catalog items, with specific pricing - to be added + */ + Store?: StoreItem[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdateStoreItemsResult + */ + export interface UpdateStoreItemsResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdateTaskRequest + */ + export interface UpdateTaskRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Specify either the task ID or the name of the task to be updated. + */ + Identifier?: NameIdentifier; + /** + / Name of the task. This is a unique identifier for tasks in the title. + */ + Name: string; + /** + / Description the task + */ + Description?: string; + /** + / Cron expression for the run schedule of the task. The expression should be in UTC. + */ + Schedule?: string; + /** + / Whether the schedule is active. Inactive schedule will not trigger task execution. + */ + IsActive: boolean; + /** + / Task type. + */ + Type: string; + /** + / Parameter object specific to the task type. See each task type's create API documentation for details. + */ + Parameter?: any; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdateUserDataRequest + */ + export interface UpdateUserDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Key-value pairs to be written to the custom data. Note that keys are trimmed of whitespace, are limited in size, and may not begin with a '!' character. + */ + Data?: { [key: string]: string }; + /** + / Optional list of Data-keys to remove from UserData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + */ + KeysToRemove?: string[]; + /** + / Permission to be applied to all user data keys written in this request. Defaults to "private" if not set. + */ + Permission?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdateUserDataResult + */ + export interface UpdateUserDataResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Indicates the current version of the data that has been set. This is incremented with every set call for that type of data (read-only, internal, etc). This version can be provided in Get calls to find updated data. + */ + DataVersion: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdateUserInternalDataRequest + */ + export interface UpdateUserInternalDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Key-value pairs to be written to the custom data. Note that keys are trimmed of whitespace, are limited in size, and may not begin with a '!' character. + */ + Data?: { [key: string]: string }; + /** + / Optional list of Data-keys to remove from UserData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + */ + KeysToRemove?: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdateUserTitleDisplayNameRequest + */ + export interface UpdateUserTitleDisplayNameRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / PlayFab unique identifier of the user whose title specific display name is to be changed + */ + PlayFabId: string; + /** + / new title display name for the user - must be between 3 and 25 characters + */ + DisplayName: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdateUserTitleDisplayNameResult + */ + export interface UpdateUserTitleDisplayNameResult extends PlayFabModule.IPlayFabResultCommon { + /** + / current title display name for the user (this will be the original display name if the rename attempt failed) + */ + DisplayName?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UserAccountInfo + */ + export interface UserAccountInfo { + /** + / Unique identifier for the user account + */ + PlayFabId?: string; + /** + / Timestamp indicating when the user account was created + */ + Created: string; + /** + / User account name in the PlayFab service + */ + Username?: string; + /** + / Title-specific information for the user account + */ + TitleInfo?: UserTitleInfo; + /** + / Personal information for the user which is considered more sensitive + */ + PrivateInfo?: UserPrivateAccountInfo; + /** + / User Facebook information, if a Facebook account has been linked + */ + FacebookInfo?: UserFacebookInfo; + /** + / User Steam information, if a Steam account has been linked + */ + SteamInfo?: UserSteamInfo; + /** + / User Gamecenter information, if a Gamecenter account has been linked + */ + GameCenterInfo?: UserGameCenterInfo; + /** + / User iOS device information, if an iOS device has been linked + */ + IosDeviceInfo?: UserIosDeviceInfo; + /** + / User Android device information, if an Android device has been linked + */ + AndroidDeviceInfo?: UserAndroidDeviceInfo; + /** + / User Kongregate account information, if a Kongregate account has been linked + */ + KongregateInfo?: UserKongregateInfo; + /** + / User Twitch account information, if a Twitch account has been linked + */ + TwitchInfo?: UserTwitchInfo; + /** + / User PSN account information, if a PSN account has been linked + */ + PsnInfo?: UserPsnInfo; + /** + / User Google account information, if a Google account has been linked + */ + GoogleInfo?: UserGoogleInfo; + /** + / User XBox account information, if a XBox account has been linked + */ + XboxInfo?: UserXboxInfo; + /** + / Custom ID information, if a custom ID has been assigned + */ + CustomIdInfo?: UserCustomIdInfo; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UserAndroidDeviceInfo + */ + export interface UserAndroidDeviceInfo { + /** + / Android device ID + */ + AndroidDeviceId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UserCredentials + */ + export interface UserCredentials { + /** + / Username of user to reset + */ + Username: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UserCustomIdInfo + */ + export interface UserCustomIdInfo { + /** + / Custom ID + */ + CustomId?: string; + + } + + type UserDataPermission = "Private" + | "Public"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UserDataRecord + */ + export interface UserDataRecord { + /** + / Data stored for the specified user data key. + */ + Value?: string; + /** + / Timestamp for when this data was last updated. + */ + LastUpdated: string; + /** + / Indicates whether this data can be read by all users (public) or only the user (private). This is used for GetUserData requests being made by one player about another player. + */ + Permission?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UserFacebookInfo + */ + export interface UserFacebookInfo { + /** + / Facebook identifier + */ + FacebookId?: string; + /** + / Facebook full name + */ + FullName?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UserGameCenterInfo + */ + export interface UserGameCenterInfo { + /** + / Gamecenter identifier + */ + GameCenterId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UserGoogleInfo + */ + export interface UserGoogleInfo { + /** + / Google ID + */ + GoogleId?: string; + /** + / Email address of the Google account + */ + GoogleEmail?: string; + /** + / Locale of the Google account + */ + GoogleLocale?: string; + /** + / Gender information of the Google account + */ + GoogleGender?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UserIosDeviceInfo + */ + export interface UserIosDeviceInfo { + /** + / iOS device ID + */ + IosDeviceId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UserKongregateInfo + */ + export interface UserKongregateInfo { + /** + / Kongregate ID + */ + KongregateId?: string; + /** + / Kongregate Username + */ + KongregateName?: string; + + } + + type UserOrigination = "Organic" + | "Steam" + | "Google" + | "Amazon" + | "Facebook" + | "Kongregate" + | "GamersFirst" + | "Unknown" + | "IOS" + | "LoadTest" + | "Android" + | "PSN" + | "GameCenter" + | "CustomId" + | "XboxLive" + | "Parse" + | "Twitch"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UserPrivateAccountInfo + */ + export interface UserPrivateAccountInfo { + /** + / user email address + */ + Email?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UserPsnInfo + */ + export interface UserPsnInfo { + /** + / PSN account ID + */ + PsnAccountId?: string; + /** + / PSN online ID + */ + PsnOnlineId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UserSteamInfo + */ + export interface UserSteamInfo { + /** + / Steam identifier + */ + SteamId?: string; + /** + / the country in which the player resides, from Steam data + */ + SteamCountry?: string; + /** + / currency type set in the user Steam account + */ + SteamCurrency?: string; + /** + / what stage of game ownership the user is listed as being in, from Steam + */ + SteamActivationStatus?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UserTitleInfo + */ + export interface UserTitleInfo { + /** + / name of the user, as it is displayed in-game + */ + DisplayName?: string; + /** + / source by which the user first joined the game, if known + */ + Origination?: string; + /** + / timestamp indicating when the user was first associated with this game (this can differ significantly from when the user first registered with PlayFab) + */ + Created: string; + /** + / timestamp for the last user login for this title + */ + LastLogin?: string; + /** + / timestamp indicating when the user first signed into this game (this can differ from the Created timestamp, as other events, such as issuing a beta key to the user, can associate the title to the user) + */ + FirstLogin?: string; + /** + / boolean indicating whether or not the user is currently banned for a title + */ + isBanned?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UserTwitchInfo + */ + export interface UserTwitchInfo { + /** + / Twitch ID + */ + TwitchId?: string; + /** + / Twitch Username + */ + TwitchUserName?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UserXboxInfo + */ + export interface UserXboxInfo { + /** + / XBox user ID + */ + XboxUserId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.VirtualCurrencyData + */ + export interface VirtualCurrencyData { + /** + / unique two-character identifier for this currency type (e.g.: "CC") + */ + CurrencyCode: string; + /** + / friendly name to show in the developer portal, reports, etc. + */ + DisplayName?: string; + /** + / amount to automatically grant users upon first login to the title + */ + InitialDeposit?: number; + /** + / rate at which the currency automatically be added to over time, in units per day (24 hours) + */ + RechargeRate?: number; + /** + / maximum amount to which the currency will recharge (cannot exceed MaxAmount, but can be less) + */ + RechargeMax?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.VirtualCurrencyRechargeTime + */ + export interface VirtualCurrencyRechargeTime { + /** + / Time remaining (in seconds) before the next recharge increment of the virtual currency. + */ + SecondsToRecharge: number; + /** + / Server timestamp in UTC indicating the next time the virtual currency will be incremented. + */ + RechargeTime: string; + /** + / Maximum value to which the regenerating currency will automatically increment. Note that it can exceed this value through use of the AddUserVirtualCurrency API call. However, it will not regenerate automatically until it has fallen below this value. + */ + RechargeMax: number; + + } + + +} diff --git a/PlayFabSdk/src/Typings/PlayFab/PlayFabClientApi.d.ts b/PlayFabSdk/src/Typings/PlayFab/PlayFabClientApi.d.ts new file mode 100644 index 00000000..0cf8ea49 --- /dev/null +++ b/PlayFabSdk/src/Typings/PlayFab/PlayFabClientApi.d.ts @@ -0,0 +1,5481 @@ +declare module PlayFabClientModule { + export interface IPlayFabClient { + IsClientLoggedIn(): boolean; + + /** + / Gets a Photon custom authentication token that can be used to securely join the player into a Photon room. See https://api.playfab.com/docs/using-photon-with-playfab/ for more details. + / https://api.playfab.com/Documentation/Client/method/GetPhotonAuthenticationToken + */ + GetPhotonAuthenticationToken(request: PlayFabClientModels.GetPhotonAuthenticationTokenRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Signs the user in using the Android device identifier, returning a session identifier that can subsequently be used for API calls which require an authenticated user + / https://api.playfab.com/Documentation/Client/method/LoginWithAndroidDeviceID + */ + LoginWithAndroidDeviceID(request: PlayFabClientModels.LoginWithAndroidDeviceIDRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Signs the user in using a custom unique identifier generated by the title, returning a session identifier that can subsequently be used for API calls which require an authenticated user + / https://api.playfab.com/Documentation/Client/method/LoginWithCustomID + */ + LoginWithCustomID(request: PlayFabClientModels.LoginWithCustomIDRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Signs the user into the PlayFab account, returning a session identifier that can subsequently be used for API calls which require an authenticated user + / https://api.playfab.com/Documentation/Client/method/LoginWithEmailAddress + */ + LoginWithEmailAddress(request: PlayFabClientModels.LoginWithEmailAddressRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Signs the user in using a Facebook access token, returning a session identifier that can subsequently be used for API calls which require an authenticated user + / https://api.playfab.com/Documentation/Client/method/LoginWithFacebook + */ + LoginWithFacebook(request: PlayFabClientModels.LoginWithFacebookRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Signs the user in using an iOS Game Center player identifier, returning a session identifier that can subsequently be used for API calls which require an authenticated user + / https://api.playfab.com/Documentation/Client/method/LoginWithGameCenter + */ + LoginWithGameCenter(request: PlayFabClientModels.LoginWithGameCenterRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Signs the user in using their Google account credentials + / https://api.playfab.com/Documentation/Client/method/LoginWithGoogleAccount + */ + LoginWithGoogleAccount(request: PlayFabClientModels.LoginWithGoogleAccountRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Signs the user in using the vendor-specific iOS device identifier, returning a session identifier that can subsequently be used for API calls which require an authenticated user + / https://api.playfab.com/Documentation/Client/method/LoginWithIOSDeviceID + */ + LoginWithIOSDeviceID(request: PlayFabClientModels.LoginWithIOSDeviceIDRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Signs the user in using a Kongregate player account. + / https://api.playfab.com/Documentation/Client/method/LoginWithKongregate + */ + LoginWithKongregate(request: PlayFabClientModels.LoginWithKongregateRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Signs the user into the PlayFab account, returning a session identifier that can subsequently be used for API calls which require an authenticated user. Unlike other login API calls, LoginWithEmailAddress does not permit the creation of new accounts via the CreateAccountFlag. Email accounts must be created using the RegisterPlayFabUser API or added to existing accounts using AddUsernamePassword. + / https://api.playfab.com/Documentation/Client/method/LoginWithPlayFab + */ + LoginWithPlayFab(request: PlayFabClientModels.LoginWithPlayFabRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Signs the user in using a Steam authentication ticket, returning a session identifier that can subsequently be used for API calls which require an authenticated user + / https://api.playfab.com/Documentation/Client/method/LoginWithSteam + */ + LoginWithSteam(request: PlayFabClientModels.LoginWithSteamRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Signs the user in using a Twitch access token. + / https://api.playfab.com/Documentation/Client/method/LoginWithTwitch + */ + LoginWithTwitch(request: PlayFabClientModels.LoginWithTwitchRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Registers a new Playfab user account, returning a session identifier that can subsequently be used for API calls which require an authenticated user. You must supply either a username or an email address. + / https://api.playfab.com/Documentation/Client/method/RegisterPlayFabUser + */ + RegisterPlayFabUser(request: PlayFabClientModels.RegisterPlayFabUserRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Adds the specified generic service identifier to the player's PlayFab account. This is designed to allow for a PlayFab ID lookup of any arbitrary service identifier a title wants to add. This identifier should never be used as authentication credentials, as the intent is that it is easily accessible by other players. + / https://api.playfab.com/Documentation/Client/method/AddGenericID + */ + AddGenericID(request: PlayFabClientModels.AddGenericIDRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Adds playfab username/password auth to an existing account created via an anonymous auth method, e.g. automatic device ID login. + / https://api.playfab.com/Documentation/Client/method/AddUsernamePassword + */ + AddUsernamePassword(request: PlayFabClientModels.AddUsernamePasswordRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the user's PlayFab account details + / https://api.playfab.com/Documentation/Client/method/GetAccountInfo + */ + GetAccountInfo(request: PlayFabClientModels.GetAccountInfoRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves all of the user's different kinds of info. + / https://api.playfab.com/Documentation/Client/method/GetPlayerCombinedInfo + */ + GetPlayerCombinedInfo(request: PlayFabClientModels.GetPlayerCombinedInfoRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the unique PlayFab identifiers for the given set of Facebook identifiers. + / https://api.playfab.com/Documentation/Client/method/GetPlayFabIDsFromFacebookIDs + */ + GetPlayFabIDsFromFacebookIDs(request: PlayFabClientModels.GetPlayFabIDsFromFacebookIDsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the unique PlayFab identifiers for the given set of Game Center identifiers (referenced in the Game Center Programming Guide as the Player Identifier). + / https://api.playfab.com/Documentation/Client/method/GetPlayFabIDsFromGameCenterIDs + */ + GetPlayFabIDsFromGameCenterIDs(request: PlayFabClientModels.GetPlayFabIDsFromGameCenterIDsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the unique PlayFab identifiers for the given set of generic service identifiers. A generic identifier is the service name plus the service-specific ID for the player, as specified by the title when the generic identifier was added to the player account. + / https://api.playfab.com/Documentation/Client/method/GetPlayFabIDsFromGenericIDs + */ + GetPlayFabIDsFromGenericIDs(request: PlayFabClientModels.GetPlayFabIDsFromGenericIDsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the unique PlayFab identifiers for the given set of Google identifiers. The Google identifiers are the IDs for the user accounts, available as "id" in the Google+ People API calls. + / https://api.playfab.com/Documentation/Client/method/GetPlayFabIDsFromGoogleIDs + */ + GetPlayFabIDsFromGoogleIDs(request: PlayFabClientModels.GetPlayFabIDsFromGoogleIDsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the unique PlayFab identifiers for the given set of Kongregate identifiers. The Kongregate identifiers are the IDs for the user accounts, available as "user_id" from the Kongregate API methods(ex: http://developers.kongregate.com/docs/client/getUserId). + / https://api.playfab.com/Documentation/Client/method/GetPlayFabIDsFromKongregateIDs + */ + GetPlayFabIDsFromKongregateIDs(request: PlayFabClientModels.GetPlayFabIDsFromKongregateIDsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the unique PlayFab identifiers for the given set of Steam identifiers. The Steam identifiers are the profile IDs for the user accounts, available as SteamId in the Steamworks Community API calls. + / https://api.playfab.com/Documentation/Client/method/GetPlayFabIDsFromSteamIDs + */ + GetPlayFabIDsFromSteamIDs(request: PlayFabClientModels.GetPlayFabIDsFromSteamIDsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the unique PlayFab identifiers for the given set of Twitch identifiers. The Twitch identifiers are the IDs for the user accounts, available as "_id" from the Twitch API methods (ex: https://github.com/justintv/Twitch-API/blob/master/v3_resources/users.md#get-usersuser). + / https://api.playfab.com/Documentation/Client/method/GetPlayFabIDsFromTwitchIDs + */ + GetPlayFabIDsFromTwitchIDs(request: PlayFabClientModels.GetPlayFabIDsFromTwitchIDsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Links the Android device identifier to the user's PlayFab account + / https://api.playfab.com/Documentation/Client/method/LinkAndroidDeviceID + */ + LinkAndroidDeviceID(request: PlayFabClientModels.LinkAndroidDeviceIDRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Links the custom identifier, generated by the title, to the user's PlayFab account + / https://api.playfab.com/Documentation/Client/method/LinkCustomID + */ + LinkCustomID(request: PlayFabClientModels.LinkCustomIDRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Links the Facebook account associated with the provided Facebook access token to the user's PlayFab account + / https://api.playfab.com/Documentation/Client/method/LinkFacebookAccount + */ + LinkFacebookAccount(request: PlayFabClientModels.LinkFacebookAccountRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Links the Game Center account associated with the provided Game Center ID to the user's PlayFab account + / https://api.playfab.com/Documentation/Client/method/LinkGameCenterAccount + */ + LinkGameCenterAccount(request: PlayFabClientModels.LinkGameCenterAccountRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Links the currently signed-in user account to their Google account, using their Google account credentials + / https://api.playfab.com/Documentation/Client/method/LinkGoogleAccount + */ + LinkGoogleAccount(request: PlayFabClientModels.LinkGoogleAccountRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Links the vendor-specific iOS device identifier to the user's PlayFab account + / https://api.playfab.com/Documentation/Client/method/LinkIOSDeviceID + */ + LinkIOSDeviceID(request: PlayFabClientModels.LinkIOSDeviceIDRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Links the Kongregate identifier to the user's PlayFab account + / https://api.playfab.com/Documentation/Client/method/LinkKongregate + */ + LinkKongregate(request: PlayFabClientModels.LinkKongregateAccountRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Links the Steam account associated with the provided Steam authentication ticket to the user's PlayFab account + / https://api.playfab.com/Documentation/Client/method/LinkSteamAccount + */ + LinkSteamAccount(request: PlayFabClientModels.LinkSteamAccountRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Links the Twitch account associated with the token to the user's PlayFab account. + / https://api.playfab.com/Documentation/Client/method/LinkTwitch + */ + LinkTwitch(request: PlayFabClientModels.LinkTwitchAccountRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Removes the specified generic service identifier from the player's PlayFab account. + / https://api.playfab.com/Documentation/Client/method/RemoveGenericID + */ + RemoveGenericID(request: PlayFabClientModels.RemoveGenericIDRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Submit a report for another player (due to bad bahavior, etc.), so that customer service representatives for the title can take action concerning potentially toxic players. + / https://api.playfab.com/Documentation/Client/method/ReportPlayer + */ + ReportPlayer(request: PlayFabClientModels.ReportPlayerClientRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Forces an email to be sent to the registered email address for the user's account, with a link allowing the user to change the password + / https://api.playfab.com/Documentation/Client/method/SendAccountRecoveryEmail + */ + SendAccountRecoveryEmail(request: PlayFabClientModels.SendAccountRecoveryEmailRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Unlinks the related Android device identifier from the user's PlayFab account + / https://api.playfab.com/Documentation/Client/method/UnlinkAndroidDeviceID + */ + UnlinkAndroidDeviceID(request: PlayFabClientModels.UnlinkAndroidDeviceIDRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Unlinks the related custom identifier from the user's PlayFab account + / https://api.playfab.com/Documentation/Client/method/UnlinkCustomID + */ + UnlinkCustomID(request: PlayFabClientModels.UnlinkCustomIDRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Unlinks the related Facebook account from the user's PlayFab account + / https://api.playfab.com/Documentation/Client/method/UnlinkFacebookAccount + */ + UnlinkFacebookAccount(request: PlayFabClientModels.UnlinkFacebookAccountRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Unlinks the related Game Center account from the user's PlayFab account + / https://api.playfab.com/Documentation/Client/method/UnlinkGameCenterAccount + */ + UnlinkGameCenterAccount(request: PlayFabClientModels.UnlinkGameCenterAccountRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Unlinks the related Google account from the user's PlayFab account (https://developers.google.com/android/reference/com/google/android/gms/auth/GoogleAuthUtil#public-methods). + / https://api.playfab.com/Documentation/Client/method/UnlinkGoogleAccount + */ + UnlinkGoogleAccount(request: PlayFabClientModels.UnlinkGoogleAccountRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Unlinks the related iOS device identifier from the user's PlayFab account + / https://api.playfab.com/Documentation/Client/method/UnlinkIOSDeviceID + */ + UnlinkIOSDeviceID(request: PlayFabClientModels.UnlinkIOSDeviceIDRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Unlinks the related Kongregate identifier from the user's PlayFab account + / https://api.playfab.com/Documentation/Client/method/UnlinkKongregate + */ + UnlinkKongregate(request: PlayFabClientModels.UnlinkKongregateAccountRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Unlinks the related Steam account from the user's PlayFab account + / https://api.playfab.com/Documentation/Client/method/UnlinkSteamAccount + */ + UnlinkSteamAccount(request: PlayFabClientModels.UnlinkSteamAccountRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Unlinks the related Twitch account from the user's PlayFab account. + / https://api.playfab.com/Documentation/Client/method/UnlinkTwitch + */ + UnlinkTwitch(request: PlayFabClientModels.UnlinkTwitchAccountRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the title specific display name for the user + / https://api.playfab.com/Documentation/Client/method/UpdateUserTitleDisplayName + */ + UpdateUserTitleDisplayName(request: PlayFabClientModels.UpdateUserTitleDisplayNameRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves a list of ranked friends of the current player for the given statistic, starting from the indicated point in the leaderboard + / https://api.playfab.com/Documentation/Client/method/GetFriendLeaderboard + */ + GetFriendLeaderboard(request: PlayFabClientModels.GetFriendLeaderboardRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves a list of ranked friends of the current player for the given statistic, centered on the requested PlayFab user. If PlayFabId is empty or null will return currently logged in user. + / https://api.playfab.com/Documentation/Client/method/GetFriendLeaderboardAroundPlayer + */ + GetFriendLeaderboardAroundPlayer(request: PlayFabClientModels.GetFriendLeaderboardAroundPlayerRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves a list of ranked users for the given statistic, starting from the indicated point in the leaderboard + / https://api.playfab.com/Documentation/Client/method/GetLeaderboard + */ + GetLeaderboard(request: PlayFabClientModels.GetLeaderboardRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves a list of ranked users for the given statistic, centered on the requested player. If PlayFabId is empty or null will return currently logged in user. + / https://api.playfab.com/Documentation/Client/method/GetLeaderboardAroundPlayer + */ + GetLeaderboardAroundPlayer(request: PlayFabClientModels.GetLeaderboardAroundPlayerRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the indicated statistics (current version and values for all statistics, if none are specified), for the local player. + / https://api.playfab.com/Documentation/Client/method/GetPlayerStatistics + */ + GetPlayerStatistics(request: PlayFabClientModels.GetPlayerStatisticsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the information on the available versions of the specified statistic. + / https://api.playfab.com/Documentation/Client/method/GetPlayerStatisticVersions + */ + GetPlayerStatisticVersions(request: PlayFabClientModels.GetPlayerStatisticVersionsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the title-specific custom data for the user which is readable and writable by the client + / https://api.playfab.com/Documentation/Client/method/GetUserData + */ + GetUserData(request: PlayFabClientModels.GetUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the publisher-specific custom data for the user which is readable and writable by the client + / https://api.playfab.com/Documentation/Client/method/GetUserPublisherData + */ + GetUserPublisherData(request: PlayFabClientModels.GetUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the publisher-specific custom data for the user which can only be read by the client + / https://api.playfab.com/Documentation/Client/method/GetUserPublisherReadOnlyData + */ + GetUserPublisherReadOnlyData(request: PlayFabClientModels.GetUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the title-specific custom data for the user which can only be read by the client + / https://api.playfab.com/Documentation/Client/method/GetUserReadOnlyData + */ + GetUserReadOnlyData(request: PlayFabClientModels.GetUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the values of the specified title-specific statistics for the user. By default, clients are not permitted to update statistics. Developers may override this setting in the Game Manager > Settings > API Features. + / https://api.playfab.com/Documentation/Client/method/UpdatePlayerStatistics + */ + UpdatePlayerStatistics(request: PlayFabClientModels.UpdatePlayerStatisticsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Creates and updates the title-specific custom data for the user which is readable and writable by the client + / https://api.playfab.com/Documentation/Client/method/UpdateUserData + */ + UpdateUserData(request: PlayFabClientModels.UpdateUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Creates and updates the publisher-specific custom data for the user which is readable and writable by the client + / https://api.playfab.com/Documentation/Client/method/UpdateUserPublisherData + */ + UpdateUserPublisherData(request: PlayFabClientModels.UpdateUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the specified version of the title's catalog of virtual goods, including all defined properties + / https://api.playfab.com/Documentation/Client/method/GetCatalogItems + */ + GetCatalogItems(request: PlayFabClientModels.GetCatalogItemsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the key-value store of custom publisher settings + / https://api.playfab.com/Documentation/Client/method/GetPublisherData + */ + GetPublisherData(request: PlayFabClientModels.GetPublisherDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the set of items defined for the specified store, including all prices defined + / https://api.playfab.com/Documentation/Client/method/GetStoreItems + */ + GetStoreItems(request: PlayFabClientModels.GetStoreItemsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the current server time + / https://api.playfab.com/Documentation/Client/method/GetTime + */ + GetTime(request: PlayFabClientModels.GetTimeRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the key-value store of custom title settings + / https://api.playfab.com/Documentation/Client/method/GetTitleData + */ + GetTitleData(request: PlayFabClientModels.GetTitleDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the title news feed, as configured in the developer portal + / https://api.playfab.com/Documentation/Client/method/GetTitleNews + */ + GetTitleNews(request: PlayFabClientModels.GetTitleNewsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Increments the user's balance of the specified virtual currency by the stated amount + / https://api.playfab.com/Documentation/Client/method/AddUserVirtualCurrency + */ + AddUserVirtualCurrency(request: PlayFabClientModels.AddUserVirtualCurrencyRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Confirms with the payment provider that the purchase was approved (if applicable) and adjusts inventory and virtual currency balances as appropriate + / https://api.playfab.com/Documentation/Client/method/ConfirmPurchase + */ + ConfirmPurchase(request: PlayFabClientModels.ConfirmPurchaseRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Consume uses of a consumable item. When all uses are consumed, it will be removed from the player's inventory. + / https://api.playfab.com/Documentation/Client/method/ConsumeItem + */ + ConsumeItem(request: PlayFabClientModels.ConsumeItemRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the specified character's current inventory of virtual goods + / https://api.playfab.com/Documentation/Client/method/GetCharacterInventory + */ + GetCharacterInventory(request: PlayFabClientModels.GetCharacterInventoryRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves a completed purchase along with its current PlayFab status. + / https://api.playfab.com/Documentation/Client/method/GetPurchase + */ + GetPurchase(request: PlayFabClientModels.GetPurchaseRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the user's current inventory of virtual goods + / https://api.playfab.com/Documentation/Client/method/GetUserInventory + */ + GetUserInventory(request: PlayFabClientModels.GetUserInventoryRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Selects a payment option for purchase order created via StartPurchase + / https://api.playfab.com/Documentation/Client/method/PayForPurchase + */ + PayForPurchase(request: PlayFabClientModels.PayForPurchaseRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Buys a single item with virtual currency. You must specify both the virtual currency to use to purchase, as well as what the client believes the price to be. This lets the server fail the purchase if the price has changed. + / https://api.playfab.com/Documentation/Client/method/PurchaseItem + */ + PurchaseItem(request: PlayFabClientModels.PurchaseItemRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Adds the virtual goods associated with the coupon to the user's inventory. Coupons can be generated via the Economy->Catalogs tab in the PlayFab Game Manager. + / https://api.playfab.com/Documentation/Client/method/RedeemCoupon + */ + RedeemCoupon(request: PlayFabClientModels.RedeemCouponRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Creates an order for a list of items from the title catalog + / https://api.playfab.com/Documentation/Client/method/StartPurchase + */ + StartPurchase(request: PlayFabClientModels.StartPurchaseRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Decrements the user's balance of the specified virtual currency by the stated amount + / https://api.playfab.com/Documentation/Client/method/SubtractUserVirtualCurrency + */ + SubtractUserVirtualCurrency(request: PlayFabClientModels.SubtractUserVirtualCurrencyRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Opens the specified container, with the specified key (when required), and returns the contents of the opened container. If the container (and key when relevant) are consumable (RemainingUses > 0), their RemainingUses will be decremented, consistent with the operation of ConsumeItem. + / https://api.playfab.com/Documentation/Client/method/UnlockContainerInstance + */ + UnlockContainerInstance(request: PlayFabClientModels.UnlockContainerInstanceRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Searches target inventory for an ItemInstance matching the given CatalogItemId, if necessary unlocks it using an appropriate key, and returns the contents of the opened container. If the container (and key when relevant) are consumable (RemainingUses > 0), their RemainingUses will be decremented, consistent with the operation of ConsumeItem. + / https://api.playfab.com/Documentation/Client/method/UnlockContainerItem + */ + UnlockContainerItem(request: PlayFabClientModels.UnlockContainerItemRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Adds the PlayFab user, based upon a match against a supplied unique identifier, to the friend list of the local user. At least one of FriendPlayFabId,FriendUsername,FriendEmail, or FriendTitleDisplayName should be initialized. + / https://api.playfab.com/Documentation/Client/method/AddFriend + */ + AddFriend(request: PlayFabClientModels.AddFriendRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the current friend list for the local user, constrained to users who have PlayFab accounts. Friends from linked accounts (Facebook, Steam) are also included. You may optionally exclude some linked services' friends. + / https://api.playfab.com/Documentation/Client/method/GetFriendsList + */ + GetFriendsList(request: PlayFabClientModels.GetFriendsListRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Removes a specified user from the friend list of the local user + / https://api.playfab.com/Documentation/Client/method/RemoveFriend + */ + RemoveFriend(request: PlayFabClientModels.RemoveFriendRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the tag list for a specified user in the friend list of the local user + / https://api.playfab.com/Documentation/Client/method/SetFriendTags + */ + SetFriendTags(request: PlayFabClientModels.SetFriendTagsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Registers the iOS device to receive push notifications + / https://api.playfab.com/Documentation/Client/method/RegisterForIOSPushNotification + */ + RegisterForIOSPushNotification(request: PlayFabClientModels.RegisterForIOSPushNotificationRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Restores all in-app purchases based on the given refresh receipt. + / https://api.playfab.com/Documentation/Client/method/RestoreIOSPurchases + */ + RestoreIOSPurchases(request: PlayFabClientModels.RestoreIOSPurchasesRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Validates with the Apple store that the receipt for an iOS in-app purchase is valid and that it matches the purchased catalog item + / https://api.playfab.com/Documentation/Client/method/ValidateIOSReceipt + */ + ValidateIOSReceipt(request: PlayFabClientModels.ValidateIOSReceiptRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Get details about all current running game servers matching the given parameters. + / https://api.playfab.com/Documentation/Client/method/GetCurrentGames + */ + GetCurrentGames(request: PlayFabClientModels.CurrentGamesRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Get details about the regions hosting game servers matching the given parameters. + / https://api.playfab.com/Documentation/Client/method/GetGameServerRegions + */ + GetGameServerRegions(request: PlayFabClientModels.GameServerRegionsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Attempts to locate a game session matching the given parameters. If the goal is to match the player into a specific active session, only the LobbyId is required. Otherwise, the BuildVersion, GameMode, and Region are all required parameters. Note that parameters specified in the search are required (they are not weighting factors). If a slot is found in a server instance matching the parameters, the slot will be assigned to that player, removing it from the availabe set. In that case, the information on the game session will be returned, otherwise the Status returned will be GameNotFound. Note that EnableQueue is deprecated at this time. + / https://api.playfab.com/Documentation/Client/method/Matchmake + */ + Matchmake(request: PlayFabClientModels.MatchmakeRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Start a new game server with a given configuration, add the current player and return the connection information. + / https://api.playfab.com/Documentation/Client/method/StartGame + */ + StartGame(request: PlayFabClientModels.StartGameRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Registers the Android device to receive push notifications + / https://api.playfab.com/Documentation/Client/method/AndroidDevicePushNotificationRegistration + */ + AndroidDevicePushNotificationRegistration(request: PlayFabClientModels.AndroidDevicePushNotificationRegistrationRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Validates a Google Play purchase and gives the corresponding item to the player. + / https://api.playfab.com/Documentation/Client/method/ValidateGooglePlayPurchase + */ + ValidateGooglePlayPurchase(request: PlayFabClientModels.ValidateGooglePlayPurchaseRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Writes a character-based event into PlayStream. + / https://api.playfab.com/Documentation/Client/method/WriteCharacterEvent + */ + WriteCharacterEvent(request: PlayFabClientModels.WriteClientCharacterEventRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Writes a player-based event into PlayStream. + / https://api.playfab.com/Documentation/Client/method/WritePlayerEvent + */ + WritePlayerEvent(request: PlayFabClientModels.WriteClientPlayerEventRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Writes a title-based event into PlayStream. + / https://api.playfab.com/Documentation/Client/method/WriteTitleEvent + */ + WriteTitleEvent(request: PlayFabClientModels.WriteTitleEventRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Adds users to the set of those able to update both the shared data, as well as the set of users in the group. Only users in the group can add new members. + / https://api.playfab.com/Documentation/Client/method/AddSharedGroupMembers + */ + AddSharedGroupMembers(request: PlayFabClientModels.AddSharedGroupMembersRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Requests the creation of a shared group object, containing key/value pairs which may be updated by all members of the group. Upon creation, the current user will be the only member of the group. + / https://api.playfab.com/Documentation/Client/method/CreateSharedGroup + */ + CreateSharedGroup(request: PlayFabClientModels.CreateSharedGroupRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves data stored in a shared group object, as well as the list of members in the group. Non-members of the group may use this to retrieve group data, including membership, but they will not receive data for keys marked as private. + / https://api.playfab.com/Documentation/Client/method/GetSharedGroupData + */ + GetSharedGroupData(request: PlayFabClientModels.GetSharedGroupDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Removes users from the set of those able to update the shared data and the set of users in the group. Only users in the group can remove members. If as a result of the call, zero users remain with access, the group and its associated data will be deleted. + / https://api.playfab.com/Documentation/Client/method/RemoveSharedGroupMembers + */ + RemoveSharedGroupMembers(request: PlayFabClientModels.RemoveSharedGroupMembersRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Adds, updates, and removes data keys for a shared group object. If the permission is set to Public, all fields updated or added in this call will be readable by users not in the group. By default, data permissions are set to Private. Regardless of the permission setting, only members of the group can update the data. + / https://api.playfab.com/Documentation/Client/method/UpdateSharedGroupData + */ + UpdateSharedGroupData(request: PlayFabClientModels.UpdateSharedGroupDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Executes a CloudScript function, with the 'currentPlayerId' set to the PlayFab ID of the authenticated player. + / https://api.playfab.com/Documentation/Client/method/ExecuteCloudScript + */ + ExecuteCloudScript(request: PlayFabClientModels.ExecuteCloudScriptRequest, callback: PlayFabModule.ApiCallback): void; + /** + / This API retrieves a pre-signed URL for accessing a content file for the title. A subsequent HTTP GET to the returned URL will attempt to download the content. A HEAD query to the returned URL will attempt to retrieve the metadata of the content. Note that a successful result does not guarantee the existence of this content - if it has not been uploaded, the query to retrieve the data will fail. See this post for more information: https://community.playfab.com/hc/en-us/community/posts/205469488-How-to-upload-files-to-PlayFab-s-Content-Service. Also, please be aware that the Content service is specifically PlayFab's CDN offering, for which standard CDN rates apply. + / https://api.playfab.com/Documentation/Client/method/GetContentDownloadUrl + */ + GetContentDownloadUrl(request: PlayFabClientModels.GetContentDownloadUrlRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Lists all of the characters that belong to a specific user. CharacterIds are not globally unique; characterId must be evaluated with the parent PlayFabId to guarantee uniqueness. + / https://api.playfab.com/Documentation/Client/method/GetAllUsersCharacters + */ + GetAllUsersCharacters(request: PlayFabClientModels.ListUsersCharactersRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves a list of ranked characters for the given statistic, starting from the indicated point in the leaderboard + / https://api.playfab.com/Documentation/Client/method/GetCharacterLeaderboard + */ + GetCharacterLeaderboard(request: PlayFabClientModels.GetCharacterLeaderboardRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the details of all title-specific statistics for the user + / https://api.playfab.com/Documentation/Client/method/GetCharacterStatistics + */ + GetCharacterStatistics(request: PlayFabClientModels.GetCharacterStatisticsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves a list of ranked characters for the given statistic, centered on the requested Character ID + / https://api.playfab.com/Documentation/Client/method/GetLeaderboardAroundCharacter + */ + GetLeaderboardAroundCharacter(request: PlayFabClientModels.GetLeaderboardAroundCharacterRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves a list of all of the user's characters for the given statistic. + / https://api.playfab.com/Documentation/Client/method/GetLeaderboardForUserCharacters + */ + GetLeaderboardForUserCharacters(request: PlayFabClientModels.GetLeaderboardForUsersCharactersRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Grants the specified character type to the user. CharacterIds are not globally unique; characterId must be evaluated with the parent PlayFabId to guarantee uniqueness. + / https://api.playfab.com/Documentation/Client/method/GrantCharacterToUser + */ + GrantCharacterToUser(request: PlayFabClientModels.GrantCharacterToUserRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the values of the specified title-specific statistics for the specific character. By default, clients are not permitted to update statistics. Developers may override this setting in the Game Manager > Settings > API Features. + / https://api.playfab.com/Documentation/Client/method/UpdateCharacterStatistics + */ + UpdateCharacterStatistics(request: PlayFabClientModels.UpdateCharacterStatisticsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the title-specific custom data for the character which is readable and writable by the client + / https://api.playfab.com/Documentation/Client/method/GetCharacterData + */ + GetCharacterData(request: PlayFabClientModels.GetCharacterDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the title-specific custom data for the character which can only be read by the client + / https://api.playfab.com/Documentation/Client/method/GetCharacterReadOnlyData + */ + GetCharacterReadOnlyData(request: PlayFabClientModels.GetCharacterDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Creates and updates the title-specific custom data for the user's character which is readable and writable by the client + / https://api.playfab.com/Documentation/Client/method/UpdateCharacterData + */ + UpdateCharacterData(request: PlayFabClientModels.UpdateCharacterDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Validates with Amazon that the receipt for an Amazon App Store in-app purchase is valid and that it matches the purchased catalog item + / https://api.playfab.com/Documentation/Client/method/ValidateAmazonIAPReceipt + */ + ValidateAmazonIAPReceipt(request: PlayFabClientModels.ValidateAmazonReceiptRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Accepts an open trade. If the call is successful, the offered and accepted items will be swapped between the two players' inventories. + / https://api.playfab.com/Documentation/Client/method/AcceptTrade + */ + AcceptTrade(request: PlayFabClientModels.AcceptTradeRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Cancels an open trade. + / https://api.playfab.com/Documentation/Client/method/CancelTrade + */ + CancelTrade(request: PlayFabClientModels.CancelTradeRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Gets all trades the player has either opened or accepted, optionally filtered by trade status. + / https://api.playfab.com/Documentation/Client/method/GetPlayerTrades + */ + GetPlayerTrades(request: PlayFabClientModels.GetPlayerTradesRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Gets the current status of an existing trade. + / https://api.playfab.com/Documentation/Client/method/GetTradeStatus + */ + GetTradeStatus(request: PlayFabClientModels.GetTradeStatusRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Opens a new outstanding trade. + / https://api.playfab.com/Documentation/Client/method/OpenTrade + */ + OpenTrade(request: PlayFabClientModels.OpenTradeRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Attributes an install for advertisment. + / https://api.playfab.com/Documentation/Client/method/AttributeInstall + */ + AttributeInstall(request: PlayFabClientModels.AttributeInstallRequest, callback: PlayFabModule.ApiCallback): void; + /** + / List all segments that a player currently belongs to at this moment in time. + / https://api.playfab.com/Documentation/Client/method/GetPlayerSegments + */ + GetPlayerSegments(request: PlayFabClientModels.GetPlayerSegmentsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Get all tags with a given Namespace (optional) from a player profile. + / https://api.playfab.com/Documentation/Client/method/GetPlayerTags + */ + GetPlayerTags(request: PlayFabClientModels.GetPlayerTagsRequest, callback: PlayFabModule.ApiCallback): void; + + } +} + +declare module PlayFabClientModels { + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.AcceptTradeRequest + */ + export interface AcceptTradeRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Player who opened the trade. + */ + OfferingPlayerId: string; + /** + / Trade identifier. + */ + TradeId: string; + /** + / Items from the accepting player's or guild's inventory in exchange for the offered items in the trade. In the case of a gift, this will be null. + */ + AcceptedInventoryInstanceIds?: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.AcceptTradeResponse + */ + export interface AcceptTradeResponse extends PlayFabModule.IPlayFabResultCommon { + /** + / Details about trade which was just accepted. + */ + Trade?: TradeInfo; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.AddFriendRequest + */ + export interface AddFriendRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / PlayFab identifier of the user to attempt to add to the local user's friend list. + */ + FriendPlayFabId?: string; + /** + / PlayFab username of the user to attempt to add to the local user's friend list. + */ + FriendUsername?: string; + /** + / Email address of the user to attempt to add to the local user's friend list. + */ + FriendEmail?: string; + /** + / Title-specific display name of the user to attempt to add to the local user's friend list. + */ + FriendTitleDisplayName?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.AddFriendResult + */ + export interface AddFriendResult extends PlayFabModule.IPlayFabResultCommon { + /** + / True if the friend request was processed successfully. + */ + Created: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.AddGenericIDRequest + */ + export interface AddGenericIDRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Generic service identifier to add to the player account. + */ + GenericId: GenericServiceId; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.AddGenericIDResult + */ + export interface AddGenericIDResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.AddSharedGroupMembersRequest + */ + export interface AddSharedGroupMembersRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the shared group. + */ + SharedGroupId: string; + /** + / An array of unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabIds: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.AddSharedGroupMembersResult + */ + export interface AddSharedGroupMembersResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.AddUsernamePasswordRequest + */ + export interface AddUsernamePasswordRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / PlayFab username for the account (3-20 characters) + */ + Username: string; + /** + / User email address attached to their account + */ + Email: string; + /** + / Password for the PlayFab account (6-100 characters) + */ + Password: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.AddUsernamePasswordResult + */ + export interface AddUsernamePasswordResult extends PlayFabModule.IPlayFabResultCommon { + /** + / PlayFab unique user name. + */ + Username?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.AddUserVirtualCurrencyRequest + */ + export interface AddUserVirtualCurrencyRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Name of the virtual currency which is to be incremented. + */ + VirtualCurrency: string; + /** + / Amount to be added to the user balance of the specified virtual currency. + */ + Amount: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.AndroidDevicePushNotificationRegistrationRequest + */ + export interface AndroidDevicePushNotificationRegistrationRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Registration ID provided by the Google Cloud Messaging service when the title registered to receive push notifications (see the GCM documentation, here: http://developer.android.com/google/gcm/client.html). + */ + DeviceToken: string; + /** + / If true, send a test push message immediately after sucessful registration. Defaults to false. + */ + SendPushNotificationConfirmation?: boolean; + /** + / Message to display when confirming push notification. + */ + ConfirmationMessage?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.AndroidDevicePushNotificationRegistrationResult + */ + export interface AndroidDevicePushNotificationRegistrationResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.AttributeInstallRequest + */ + export interface AttributeInstallRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / The IdentifierForAdvertisers for iOS Devices. + */ + Idfa?: string; + /** + / The android advertising id. This field is deprecated in favor of Adid for clarity. + */ + Android_Id?: string; + /** + / The adid for this device. + */ + Adid?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.AttributeInstallResult + */ + export interface AttributeInstallResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.CancelTradeRequest + */ + export interface CancelTradeRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Trade identifier. + */ + TradeId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.CancelTradeResponse + */ + export interface CancelTradeResponse extends PlayFabModule.IPlayFabResultCommon { + /** + / Details about trade which was just canceled. + */ + Trade?: TradeInfo; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.CartItem + */ + export interface CartItem { + /** + / Unique identifier for the catalog item. + */ + ItemId?: string; + /** + / Class name to which catalog item belongs. + */ + ItemClass?: string; + /** + / Unique instance identifier for this catalog item. + */ + ItemInstanceId?: string; + /** + / Display name for the catalog item. + */ + DisplayName?: string; + /** + / Description of the catalog item. + */ + Description?: string; + /** + / Cost of the catalog item for each applicable virtual currency. + */ + VirtualCurrencyPrices?: { [key: string]: number }; + /** + / Cost of the catalog item for each applicable real world currency. + */ + RealCurrencyPrices?: { [key: string]: number }; + /** + / Amount of each applicable virtual currency which will be received as a result of purchasing this catalog item. + */ + VCAmount?: { [key: string]: number }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.CatalogItem + */ + export interface CatalogItem { + /** + / unique identifier for this item + */ + ItemId: string; + /** + / class to which the item belongs + */ + ItemClass?: string; + /** + / catalog version for this item + */ + CatalogVersion?: string; + /** + / text name for the item, to show in-game + */ + DisplayName?: string; + /** + / text description of item, to show in-game + */ + Description?: string; + /** + / price of this item in virtual currencies and "RM" (the base Real Money purchase price, in USD pennies) + */ + VirtualCurrencyPrices?: { [key: string]: number }; + /** + / override prices for this item for specific currencies + */ + RealCurrencyPrices?: { [key: string]: number }; + /** + / list of item tags + */ + Tags?: string[]; + /** + / game specific custom data + */ + CustomData?: string; + /** + / defines the consumable properties (number of uses, timeout) for the item + */ + Consumable?: CatalogItemConsumableInfo; + /** + / defines the container properties for the item - what items it contains, including random drop tables and virtual currencies, and what item (if any) is required to open it via the UnlockContainerItem API + */ + Container?: CatalogItemContainerInfo; + /** + / defines the bundle properties for the item - bundles are items which contain other items, including random drop tables and virtual currencies + */ + Bundle?: CatalogItemBundleInfo; + /** + / if true, then an item instance of this type can be used to grant a character to a user. + */ + CanBecomeCharacter: boolean; + /** + / if true, then only one item instance of this type will exist and its remaininguses will be incremented instead. RemainingUses will cap out at Int32.Max (2,147,483,647). All subsequent increases will be discarded + */ + IsStackable: boolean; + /** + / if true, then an item instance of this type can be traded between players using the trading APIs + */ + IsTradable: boolean; + /** + / URL to the item image. For Facebook purchase to display the image on the item purchase page, this must be set to an HTTP URL. + */ + ItemImageUrl?: string; + /** + / BETA: If true, then only a fixed number can ever be granted. + */ + IsLimitedEdition: boolean; + /** + / If the item has IsLImitedEdition set to true, and this is the first time this ItemId has been defined as a limited edition item, this value determines the total number of instances to allocate for the title. Once this limit has been reached, no more instances of this ItemId can be created, and attempts to purchase or grant it will return a Result of false for that ItemId. If the item has already been defined to have a limited edition count, or if this value is less than zero, it will be ignored. + */ + InitialLimitedEditionCount: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.CatalogItemBundleInfo + */ + export interface CatalogItemBundleInfo { + /** + / unique ItemId values for all items which will be added to the player inventory when the bundle is added + */ + BundledItems?: string[]; + /** + / unique TableId values for all RandomResultTable objects which are part of the bundle (random tables will be resolved and add the relevant items to the player inventory when the bundle is added) + */ + BundledResultTables?: string[]; + /** + / virtual currency types and balances which will be added to the player inventory when the bundle is added + */ + BundledVirtualCurrencies?: { [key: string]: number }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.CatalogItemConsumableInfo + */ + export interface CatalogItemConsumableInfo { + /** + / number of times this object can be used, after which it will be removed from the player inventory + */ + UsageCount?: number; + /** + / duration in seconds for how long the item will remain in the player inventory - once elapsed, the item will be removed (recommended minimum value is 5 seconds, as lower values can cause the item to expire before operations depending on this item's details have completed) + */ + UsagePeriod?: number; + /** + / all inventory item instances in the player inventory sharing a non-null UsagePeriodGroup have their UsagePeriod values added together, and share the result - when that period has elapsed, all the items in the group will be removed + */ + UsagePeriodGroup?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.CatalogItemContainerInfo + */ + export interface CatalogItemContainerInfo { + /** + / ItemId for the catalog item used to unlock the container, if any (if not specified, a call to UnlockContainerItem will open the container, adding the contents to the player inventory and currency balances) + */ + KeyItemId?: string; + /** + / unique ItemId values for all items which will be added to the player inventory, once the container has been unlocked + */ + ItemContents?: string[]; + /** + / unique TableId values for all RandomResultTable objects which are part of the container (once unlocked, random tables will be resolved and add the relevant items to the player inventory) + */ + ResultTableContents?: string[]; + /** + / virtual currency types and balances which will be added to the player inventory when the container is unlocked + */ + VirtualCurrencyContents?: { [key: string]: number }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.CharacterInventory + */ + export interface CharacterInventory { + /** + / The id of this character. + */ + CharacterId?: string; + /** + / The inventory of this character. + */ + Inventory?: ItemInstance[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.CharacterLeaderboardEntry + */ + export interface CharacterLeaderboardEntry { + /** + / PlayFab unique identifier of the user for this leaderboard entry. + */ + PlayFabId?: string; + /** + / PlayFab unique identifier of the character that belongs to the user for this leaderboard entry. + */ + CharacterId?: string; + /** + / Title-specific display name of the character for this leaderboard entry. + */ + CharacterName?: string; + /** + / Title-specific display name of the user for this leaderboard entry. + */ + DisplayName?: string; + /** + / Name of the character class for this entry. + */ + CharacterType?: string; + /** + / Specific value of the user's statistic. + */ + StatValue: number; + /** + / User's overall position in the leaderboard. + */ + Position: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.CharacterResult + */ + export interface CharacterResult extends PlayFabModule.IPlayFabResultCommon { + /** + / The id for this character on this player. + */ + CharacterId?: string; + /** + / The name of this character. + */ + CharacterName?: string; + /** + / The type-string that was given to this character on creation. + */ + CharacterType?: string; + + } + + type CloudScriptRevisionOption = "Live" + | "Latest" + | "Specific"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.CollectionFilter + */ + export interface CollectionFilter { + /** + / List of Include rules, with any of which if a collection matches, it is included by the filter, unless it is excluded by one of the Exclude rule + */ + Includes?: Container_Dictionary_String_String[]; + /** + / List of Exclude rules, with any of which if a collection matches, it is excluded by the filter. + */ + Excludes?: Container_Dictionary_String_String[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.ConfirmPurchaseRequest + */ + export interface ConfirmPurchaseRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Purchase order identifier returned from StartPurchase. + */ + OrderId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.ConfirmPurchaseResult + */ + export interface ConfirmPurchaseResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Purchase order identifier. + */ + OrderId?: string; + /** + / Date and time of the purchase. + */ + PurchaseDate: string; + /** + / Array of items purchased. + */ + Items?: ItemInstance[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.ConsumeItemRequest + */ + export interface ConsumeItemRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique instance identifier of the item to be consumed. + */ + ItemInstanceId: string; + /** + / Number of uses to consume from the item. + */ + ConsumeCount: number; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.ConsumeItemResult + */ + export interface ConsumeItemResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique instance identifier of the item with uses consumed. + */ + ItemInstanceId?: string; + /** + / Number of uses remaining on the item. + */ + RemainingUses: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.Container_Dictionary_String_String + */ + export interface Container_Dictionary_String_String { + /** + / Content of data + */ + Data?: { [key: string]: string }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.CreateSharedGroupRequest + */ + export interface CreateSharedGroupRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the shared group (a random identifier will be assigned, if one is not specified). + */ + SharedGroupId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.CreateSharedGroupResult + */ + export interface CreateSharedGroupResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique identifier for the shared group. + */ + SharedGroupId?: string; + + } + + type Currency = "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYR" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.CurrentGamesRequest + */ + export interface CurrentGamesRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Region to check for Game Server Instances. + */ + Region?: string; + /** + / Build to match against. + */ + BuildVersion?: string; + /** + / Game mode to look for. + */ + GameMode?: string; + /** + / Statistic name to find statistic-based matches. + */ + StatisticName?: string; + /** + / Filter to include and/or exclude Game Server Instances associated with certain tags. + */ + TagFilter?: CollectionFilter; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.CurrentGamesResult + */ + export interface CurrentGamesResult extends PlayFabModule.IPlayFabResultCommon { + /** + / array of games found + */ + Games?: GameInfo[]; + /** + / total number of players across all servers + */ + PlayerCount: number; + /** + / number of games running + */ + GameCount: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.EmptyResult + */ + export interface EmptyResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.ExecuteCloudScriptRequest + */ + export interface ExecuteCloudScriptRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / The name of the CloudScript function to execute + */ + FunctionName: string; + /** + / Object that is passed in to the function as the first argument + */ + FunctionParameter?: any; + /** + / Option for which revision of the CloudScript to execute. 'Latest' executes the most recently created revision, 'Live' executes the current live, published revision, and 'Specific' executes the specified revision. The default value is 'Specific', if the SpeificRevision parameter is specified, otherwise it is 'Live'. + */ + RevisionSelection?: string; + /** + / The specivic revision to execute, when RevisionSelection is set to 'Specific' + */ + SpecificRevision?: number; + /** + / Generate a 'player_executed_cloudscript' PlayStream event containing the results of the function execution and other contextual information. This event will show up in the PlayStream debugger console for the player in Game Manager. + */ + GeneratePlayStreamEvent?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.ExecuteCloudScriptResult + */ + export interface ExecuteCloudScriptResult extends PlayFabModule.IPlayFabResultCommon { + /** + / The name of the function that executed + */ + FunctionName?: string; + /** + / The revision of the CloudScript that executed + */ + Revision: number; + /** + / The object returned from the CloudScript function, if any + */ + FunctionResult?: any; + /** + / Entries logged during the function execution. These include both entries logged in the function code using log.info() and log.error() and error entries for API and HTTP request failures. + */ + Logs?: LogStatement[]; + ExecutionTimeSeconds: number; + /** + / Processor time consumed while executing the function. This does not include time spent waiting on API calls or HTTP requests. + */ + ProcessorTimeSeconds: number; + MemoryConsumedBytes: number; + /** + / Number of PlayFab API requests issued by the CloudScript function + */ + APIRequestsIssued: number; + /** + / Number of external HTTP requests issued by the CloudScript function + */ + HttpRequestsIssued: number; + /** + / Information about the error, if any, that occured during execution + */ + Error?: ScriptExecutionError; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.FacebookPlayFabIdPair + */ + export interface FacebookPlayFabIdPair { + /** + / Unique Facebook identifier for a user. + */ + FacebookId?: string; + /** + / Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the Facebook identifier. + */ + PlayFabId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.FriendInfo + */ + export interface FriendInfo { + /** + / PlayFab unique identifier for this friend. + */ + FriendPlayFabId?: string; + /** + / PlayFab unique username for this friend. + */ + Username?: string; + /** + / Title-specific display name for this friend. + */ + TitleDisplayName?: string; + /** + / Tags which have been associated with this friend. + */ + Tags?: string[]; + /** + / Unique lobby identifier of the Game Server Instance to which this player is currently connected. + */ + CurrentMatchmakerLobbyId?: string; + /** + / Available Facebook information (if the user and PlayFab friend are also connected in Facebook). + */ + FacebookInfo?: UserFacebookInfo; + /** + / Available Steam information (if the user and PlayFab friend are also connected in Steam). + */ + SteamInfo?: UserSteamInfo; + /** + / Available Game Center information (if the user and PlayFab friend are also connected in Game Center). + */ + GameCenterInfo?: UserGameCenterInfo; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GameCenterPlayFabIdPair + */ + export interface GameCenterPlayFabIdPair { + /** + / Unique Game Center identifier for a user. + */ + GameCenterId?: string; + /** + / Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the Game Center identifier. + */ + PlayFabId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GameInfo + */ + export interface GameInfo { + /** + / region to which this server is associated + */ + Region?: string; + /** + / unique lobby identifier for this game server + */ + LobbyID?: string; + /** + / build version this server is running + */ + BuildVersion?: string; + /** + / game mode this server is running + */ + GameMode?: string; + /** + / stastic used to match this game in player statistic matchmaking + */ + StatisticName?: string; + /** + / maximum players this server can support + */ + MaxPlayers?: number; + /** + / array of current player IDs on this server + */ + PlayerUserIds?: string[]; + /** + / duration in seconds this server has been running + */ + RunTime: number; + /** + / game specific string denoting server configuration + */ + GameServerState?: string; + /** + / game session custom data + */ + GameServerData?: string; + /** + / game session tags + */ + Tags?: { [key: string]: string }; + /** + / last heartbeat of the game server instance, used in external game server provider mode + */ + LastHeartbeat?: string; + /** + / IP address of the server + */ + ServerHostname?: string; + /** + / port number to use for non-http communications with the server + */ + ServerPort?: number; + + } + + type GameInstanceState = "Open" + | "Closed"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GameServerRegionsRequest + */ + export interface GameServerRegionsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / version of game server for which stats are being requested + */ + BuildVersion: string; + /** + / Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected. + */ + TitleId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GameServerRegionsResult + */ + export interface GameServerRegionsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / array of regions found matching the request parameters + */ + Regions?: RegionInfo[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GenericPlayFabIdPair + */ + export interface GenericPlayFabIdPair { + /** + / Unique generic service identifier for a user. + */ + GenericId?: GenericServiceId; + /** + / Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the given generic identifier. + */ + PlayFabId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GenericServiceId + */ + export interface GenericServiceId { + /** + / Name of the service for which the player has a unique identifier. + */ + ServiceName: string; + /** + / Unique identifier of the player in that service. + */ + UserId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetAccountInfoRequest + */ + export interface GetAccountInfoRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab identifier of the user whose info is being requested. Optional, defaults to the authenticated user if no other lookup identifier set. + */ + PlayFabId?: string; + /** + / PlayFab Username for the account to find (if no PlayFabId is specified). + */ + Username?: string; + /** + / User email address for the account to find (if no Username is specified). + */ + Email?: string; + /** + / Title-specific username for the account to find (if no Email is set). Note that if the non-unique Title Display Names option is enabled for the title, attempts to look up users by Title Display Name will always return AccountNotFound. + */ + TitleDisplayName?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetAccountInfoResult + */ + export interface GetAccountInfoResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Account information for the local user. + */ + AccountInfo?: UserAccountInfo; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetCatalogItemsRequest + */ + export interface GetCatalogItemsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Which catalog is being requested. If null, uses the default catalog. + */ + CatalogVersion?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetCatalogItemsResult + */ + export interface GetCatalogItemsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Array of items which can be purchased. + */ + Catalog?: CatalogItem[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetCharacterDataRequest + */ + export interface GetCharacterDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab identifier of the user to load data for. Optional, defaults to yourself if not set. + */ + PlayFabId?: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + /** + / Specific keys to search for in the custom user data. + */ + Keys?: string[]; + /** + / The version that currently exists according to the caller. The call will return the data for all of the keys if the version in the system is greater than this. + */ + IfChangedFromDataVersion?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetCharacterDataResult + */ + export interface GetCharacterDataResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId?: string; + /** + / User specific data for this title. + */ + Data?: { [key: string]: UserDataRecord }; + /** + / Indicates the current version of the data that has been set. This is incremented with every set call for that type of data (read-only, internal, etc). This version can be provided in Get calls to find updated data. + */ + DataVersion: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetCharacterInventoryRequest + */ + export interface GetCharacterInventoryRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + /** + / Used to limit results to only those from a specific catalog version. + */ + CatalogVersion?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetCharacterInventoryResult + */ + export interface GetCharacterInventoryResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique identifier of the character for this inventory. + */ + CharacterId?: string; + /** + / Array of inventory items belonging to the character. + */ + Inventory?: ItemInstance[]; + /** + / Array of virtual currency balance(s) belonging to the character. + */ + VirtualCurrency?: { [key: string]: number }; + /** + / Array of remaining times and timestamps for virtual currencies. + */ + VirtualCurrencyRechargeTimes?: { [key: string]: VirtualCurrencyRechargeTime }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetCharacterLeaderboardRequest + */ + export interface GetCharacterLeaderboardRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Optional character type on which to filter the leaderboard entries. + */ + CharacterType?: string; + /** + / Unique identifier for the title-specific statistic for the leaderboard. + */ + StatisticName: string; + /** + / First entry in the leaderboard to be retrieved. + */ + StartPosition: number; + /** + / Maximum number of entries to retrieve. Default 10, maximum 100. + */ + MaxResultsCount?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetCharacterLeaderboardResult + */ + export interface GetCharacterLeaderboardResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Ordered list of leaderboard entries. + */ + Leaderboard?: CharacterLeaderboardEntry[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetCharacterStatisticsRequest + */ + export interface GetCharacterStatisticsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetCharacterStatisticsResult + */ + export interface GetCharacterStatisticsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / The requested character statistics. + */ + CharacterStatistics?: { [key: string]: number }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetContentDownloadUrlRequest + */ + export interface GetContentDownloadUrlRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Key of the content item to fetch, usually formatted as a path, e.g. images/a.png + */ + Key: string; + /** + / HTTP method to fetch item - GET or HEAD. Use HEAD when only fetching metadata. Default is GET. + */ + HttpMethod?: string; + /** + / True if download through CDN. CDN provides better download bandwidth and time. However, if you want latest, non-cached version of the content, set this to false. Default is true. + */ + ThruCDN?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetContentDownloadUrlResult + */ + export interface GetContentDownloadUrlResult extends PlayFabModule.IPlayFabResultCommon { + /** + / URL for downloading content via HTTP GET or HEAD method. The URL will expire in 1 hour. + */ + URL?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetFriendLeaderboardAroundPlayerRequest + */ + export interface GetFriendLeaderboardAroundPlayerRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Statistic used to rank players for this leaderboard. + */ + StatisticName: string; + /** + / Maximum number of entries to retrieve. Default 10, maximum 100. + */ + MaxResultsCount?: number; + /** + / PlayFab unique identifier of the user to center the leaderboard around. If null will center on the logged in user. + */ + PlayFabId?: string; + /** + / Indicates whether Steam service friends should be included in the response. Default is true. + */ + IncludeSteamFriends?: boolean; + /** + / Indicates whether Facebook friends should be included in the response. Default is true. + */ + IncludeFacebookFriends?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetFriendLeaderboardAroundPlayerResult + */ + export interface GetFriendLeaderboardAroundPlayerResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Ordered listing of users and their positions in the requested leaderboard. + */ + Leaderboard?: PlayerLeaderboardEntry[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetFriendLeaderboardRequest + */ + export interface GetFriendLeaderboardRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Statistic used to rank friends for this leaderboard. + */ + StatisticName: string; + /** + / Position in the leaderboard to start this listing (defaults to the first entry). + */ + StartPosition: number; + /** + / Maximum number of entries to retrieve. Default 10, maximum 100. + */ + MaxResultsCount?: number; + /** + / Indicates whether Steam service friends should be included in the response. Default is true. + */ + IncludeSteamFriends?: boolean; + /** + / Indicates whether Facebook friends should be included in the response. Default is true. + */ + IncludeFacebookFriends?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetFriendsListRequest + */ + export interface GetFriendsListRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Indicates whether Steam service friends should be included in the response. Default is true. + */ + IncludeSteamFriends?: boolean; + /** + / Indicates whether Facebook friends should be included in the response. Default is true. + */ + IncludeFacebookFriends?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetFriendsListResult + */ + export interface GetFriendsListResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Array of friends found. + */ + Friends?: FriendInfo[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetLeaderboardAroundCharacterRequest + */ + export interface GetLeaderboardAroundCharacterRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the title-specific statistic for the leaderboard. + */ + StatisticName: string; + /** + / Unique PlayFab assigned ID for a specific character on which to center the leaderboard. + */ + CharacterId: string; + /** + / Optional character type on which to filter the leaderboard entries. + */ + CharacterType?: string; + /** + / Maximum number of entries to retrieve. Default 10, maximum 100. + */ + MaxResultsCount?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetLeaderboardAroundCharacterResult + */ + export interface GetLeaderboardAroundCharacterResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Ordered list of leaderboard entries. + */ + Leaderboard?: CharacterLeaderboardEntry[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetLeaderboardAroundPlayerRequest + */ + export interface GetLeaderboardAroundPlayerRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / PlayFab unique identifier of the user to center the leaderboard around. If null will center on the logged in user. + */ + PlayFabId?: string; + /** + / Statistic used to rank players for this leaderboard. + */ + StatisticName: string; + /** + / Maximum number of entries to retrieve. Default 10, maximum 100. + */ + MaxResultsCount?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetLeaderboardAroundPlayerResult + */ + export interface GetLeaderboardAroundPlayerResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Ordered listing of users and their positions in the requested leaderboard. + */ + Leaderboard?: PlayerLeaderboardEntry[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetLeaderboardForUsersCharactersRequest + */ + export interface GetLeaderboardForUsersCharactersRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the title-specific statistic for the leaderboard. + */ + StatisticName: string; + /** + / Maximum number of entries to retrieve. + */ + MaxResultsCount: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetLeaderboardForUsersCharactersResult + */ + export interface GetLeaderboardForUsersCharactersResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Ordered list of leaderboard entries. + */ + Leaderboard?: CharacterLeaderboardEntry[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetLeaderboardRequest + */ + export interface GetLeaderboardRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Statistic used to rank players for this leaderboard. + */ + StatisticName: string; + /** + / Position in the leaderboard to start this listing (defaults to the first entry). + */ + StartPosition: number; + /** + / Maximum number of entries to retrieve. Default 10, maximum 100. + */ + MaxResultsCount?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetLeaderboardResult + */ + export interface GetLeaderboardResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Ordered listing of users and their positions in the requested leaderboard. + */ + Leaderboard?: PlayerLeaderboardEntry[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPhotonAuthenticationTokenRequest + */ + export interface GetPhotonAuthenticationTokenRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / The Photon applicationId for the game you wish to log into. + */ + PhotonApplicationId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPhotonAuthenticationTokenResult + */ + export interface GetPhotonAuthenticationTokenResult extends PlayFabModule.IPlayFabResultCommon { + /** + / The Photon authentication token for this game-session. + */ + PhotonCustomAuthenticationToken?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayerCombinedInfoRequest + */ + export interface GetPlayerCombinedInfoRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / PlayFabId of the user whose data will be returned. If not filled included, we return the data for the calling player. + */ + PlayFabId?: string; + /** + / Flags for which pieces of info to return for the user. + */ + InfoRequestParameters: GetPlayerCombinedInfoRequestParams; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayerCombinedInfoRequestParams + */ + export interface GetPlayerCombinedInfoRequestParams { + /** + / Whether to get the player's account Info. Defaults to false + */ + GetUserAccountInfo: boolean; + /** + / Whether to get the player's inventory. Defaults to false + */ + GetUserInventory: boolean; + /** + / Whether to get the player's virtual currency balances. Defaults to false + */ + GetUserVirtualCurrency: boolean; + /** + / Whether to get the player's custom data. Defaults to false + */ + GetUserData: boolean; + /** + / Specific keys to search for in the custom data. Leave null to get all keys. Has no effect if GetUserData is false + */ + UserDataKeys?: string[]; + /** + / Whether to get the player's read only data. Defaults to false + */ + GetUserReadOnlyData: boolean; + /** + / Specific keys to search for in the custom data. Leave null to get all keys. Has no effect if GetUserReadOnlyData is false + */ + UserReadOnlyDataKeys?: string[]; + /** + / Whether to get character inventories. Defaults to false. + */ + GetCharacterInventories: boolean; + /** + / Whether to get the list of characters. Defaults to false. + */ + GetCharacterList: boolean; + /** + / Whether to get title data. Defaults to false. + */ + GetTitleData: boolean; + /** + / Specific keys to search for in the custom data. Leave null to get all keys. Has no effect if GetTitleData is false + */ + TitleDataKeys?: string[]; + /** + / Whether to get player statistics. Defaults to false. + */ + GetPlayerStatistics: boolean; + /** + / Specific statistics to retrieve. Leave null to get all keys. Has no effect if GetPlayerStatistics is false + */ + PlayerStatisticNames?: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayerCombinedInfoResult + */ + export interface GetPlayerCombinedInfoResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId?: string; + /** + / Results for requested info. + */ + InfoResultPayload?: GetPlayerCombinedInfoResultPayload; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayerCombinedInfoResultPayload + */ + export interface GetPlayerCombinedInfoResultPayload { + /** + / Account information for the user. This is always retrieved. + */ + AccountInfo?: UserAccountInfo; + /** + / Array of inventory items in the user's current inventory. + */ + UserInventory?: ItemInstance[]; + /** + / Dictionary of virtual currency balance(s) belonging to the user. + */ + UserVirtualCurrency?: { [key: string]: number }; + /** + / Dictionary of remaining times and timestamps for virtual currencies. + */ + UserVirtualCurrencyRechargeTimes?: { [key: string]: VirtualCurrencyRechargeTime }; + /** + / User specific custom data. + */ + UserData?: { [key: string]: UserDataRecord }; + /** + / The version of the UserData that was returned. + */ + UserDataVersion: number; + /** + / User specific read-only data. + */ + UserReadOnlyData?: { [key: string]: UserDataRecord }; + /** + / The version of the Read-Only UserData that was returned. + */ + UserReadOnlyDataVersion: number; + /** + / List of characters for the user. + */ + CharacterList?: CharacterResult[]; + /** + / Inventories for each character for the user. + */ + CharacterInventories?: CharacterInventory[]; + /** + / Title data for this title. + */ + TitleData?: { [key: string]: string }; + /** + / List of statistics for this player. + */ + PlayerStatistics?: StatisticValue[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayerSegmentsRequest + */ + export interface GetPlayerSegmentsRequest extends PlayFabModule.IPlayFabRequestCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayerSegmentsResult + */ + export interface GetPlayerSegmentsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Array of segments the requested player currently belongs to. + */ + Segments?: GetSegmentResult[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayerStatisticsRequest + */ + export interface GetPlayerStatisticsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / statistics to return (current version will be returned for each) + */ + StatisticNames?: string[]; + /** + / statistics to return, if StatisticNames is not set (only statistics which have a version matching that provided will be returned) + */ + StatisticNameVersions?: StatisticNameVersion[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayerStatisticsResult + */ + export interface GetPlayerStatisticsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / User statistics for the requested user. + */ + Statistics?: StatisticValue[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayerStatisticVersionsRequest + */ + export interface GetPlayerStatisticVersionsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / unique name of the statistic + */ + StatisticName?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayerStatisticVersionsResult + */ + export interface GetPlayerStatisticVersionsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / version change history of the statistic + */ + StatisticVersions?: PlayerStatisticVersion[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayerTagsRequest + */ + export interface GetPlayerTagsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Optional namespace to filter results by + */ + Namespace?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayerTagsResult + */ + export interface GetPlayerTagsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Canonical tags (including namespace and tag's name) for the requested user + */ + Tags: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayerTradesRequest + */ + export interface GetPlayerTradesRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Returns only trades with the given status. If null, returns all trades. + */ + StatusFilter?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayerTradesResponse + */ + export interface GetPlayerTradesResponse extends PlayFabModule.IPlayFabResultCommon { + /** + / The trades for this player which are currently available to be accepted. + */ + OpenedTrades?: TradeInfo[]; + /** + / History of trades which this player has accepted. + */ + AcceptedTrades?: TradeInfo[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayFabIDsFromFacebookIDsRequest + */ + export interface GetPlayFabIDsFromFacebookIDsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. + */ + FacebookIDs: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayFabIDsFromFacebookIDsResult + */ + export interface GetPlayFabIDsFromFacebookIDsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Mapping of Facebook identifiers to PlayFab identifiers. + */ + Data?: FacebookPlayFabIdPair[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayFabIDsFromGameCenterIDsRequest + */ + export interface GetPlayFabIDsFromGameCenterIDsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. + */ + GameCenterIDs: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayFabIDsFromGameCenterIDsResult + */ + export interface GetPlayFabIDsFromGameCenterIDsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Mapping of Game Center identifiers to PlayFab identifiers. + */ + Data?: GameCenterPlayFabIdPair[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayFabIDsFromGenericIDsRequest + */ + export interface GetPlayFabIDsFromGenericIDsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Array of unique generic service identifiers for which the title needs to get PlayFab identifiers. Currently limited to a maximum of 10 in a single request. + */ + GenericIDs: GenericServiceId[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayFabIDsFromGenericIDsResult + */ + export interface GetPlayFabIDsFromGenericIDsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Mapping of generic service identifiers to PlayFab identifiers. + */ + Data?: GenericPlayFabIdPair[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayFabIDsFromGoogleIDsRequest + */ + export interface GetPlayFabIDsFromGoogleIDsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + */ + GoogleIDs: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayFabIDsFromGoogleIDsResult + */ + export interface GetPlayFabIDsFromGoogleIDsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Mapping of Google identifiers to PlayFab identifiers. + */ + Data?: GooglePlayFabIdPair[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayFabIDsFromKongregateIDsRequest + */ + export interface GetPlayFabIDsFromKongregateIDsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. + */ + KongregateIDs: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayFabIDsFromKongregateIDsResult + */ + export interface GetPlayFabIDsFromKongregateIDsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Mapping of Kongregate identifiers to PlayFab identifiers. + */ + Data?: KongregatePlayFabIdPair[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayFabIDsFromSteamIDsRequest + */ + export interface GetPlayFabIDsFromSteamIDsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. + */ + SteamStringIDs?: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayFabIDsFromSteamIDsResult + */ + export interface GetPlayFabIDsFromSteamIDsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Mapping of Steam identifiers to PlayFab identifiers. + */ + Data?: SteamPlayFabIdPair[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayFabIDsFromTwitchIDsRequest + */ + export interface GetPlayFabIDsFromTwitchIDsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. + */ + TwitchIds: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayFabIDsFromTwitchIDsResult + */ + export interface GetPlayFabIDsFromTwitchIDsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Mapping of Twitch identifiers to PlayFab identifiers. + */ + Data?: TwitchPlayFabIdPair[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPublisherDataRequest + */ + export interface GetPublisherDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / array of keys to get back data from the Publisher data blob, set by the admin tools + */ + Keys: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPublisherDataResult + */ + export interface GetPublisherDataResult extends PlayFabModule.IPlayFabResultCommon { + /** + / a dictionary object of key / value pairs + */ + Data?: { [key: string]: string }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPurchaseRequest + */ + export interface GetPurchaseRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Purchase order identifier. + */ + OrderId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPurchaseResult + */ + export interface GetPurchaseResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Purchase order identifier. + */ + OrderId?: string; + /** + / Payment provider used for transaction (If not VC) + */ + PaymentProvider?: string; + /** + / Provider transaction ID (If not VC) + */ + TransactionId?: string; + /** + / PlayFab transaction status + */ + TransactionStatus?: string; + /** + / Date and time of the purchase. + */ + PurchaseDate: string; + /** + / Array of items purchased. + */ + Items?: ItemInstance[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetSegmentResult + */ + export interface GetSegmentResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique identifier for this segment. + */ + Id: string; + /** + / Segment name. + */ + Name?: string; + /** + / Identifier of the segments AB Test, if it is attached to one. + */ + ABTestParent?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetSharedGroupDataRequest + */ + export interface GetSharedGroupDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the shared group. + */ + SharedGroupId: string; + /** + / Specific keys to retrieve from the shared group (if not specified, all keys will be returned, while an empty array indicates that no keys should be returned). + */ + Keys?: string[]; + /** + / If true, return the list of all members of the shared group. + */ + GetMembers?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetSharedGroupDataResult + */ + export interface GetSharedGroupDataResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Data for the requested keys. + */ + Data?: { [key: string]: SharedGroupDataRecord }; + /** + / List of PlayFabId identifiers for the members of this group, if requested. + */ + Members?: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetStoreItemsRequest + */ + export interface GetStoreItemsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / catalog version to store items from. Use default catalog version if null + */ + CatalogVersion?: string; + /** + / Unqiue identifier for the store which is being requested. + */ + StoreId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetStoreItemsResult + */ + export interface GetStoreItemsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Array of items which can be purchased from this store. + */ + Store?: StoreItem[]; + /** + / How the store was last updated (Admin or a third party). + */ + Source?: string; + /** + / The base catalog that this store is a part of. + */ + CatalogVersion?: string; + /** + / The ID of this store. + */ + StoreId?: string; + /** + / Additional data about the store. + */ + MarketingData?: StoreMarketingModel; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetTimeRequest + */ + export interface GetTimeRequest extends PlayFabModule.IPlayFabRequestCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetTimeResult + */ + export interface GetTimeResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Current server time when the request was received, in UTC + */ + Time: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetTitleDataRequest + */ + export interface GetTitleDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Specific keys to search for in the title data (leave null to get all keys) + */ + Keys?: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetTitleDataResult + */ + export interface GetTitleDataResult extends PlayFabModule.IPlayFabResultCommon { + /** + / a dictionary object of key / value pairs + */ + Data?: { [key: string]: string }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetTitleNewsRequest + */ + export interface GetTitleNewsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Limits the results to the last n entries. Defaults to 10 if not set. + */ + Count?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetTitleNewsResult + */ + export interface GetTitleNewsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Array of news items. + */ + News?: TitleNewsItem[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetTradeStatusRequest + */ + export interface GetTradeStatusRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Player who opened trade. + */ + OfferingPlayerId: string; + /** + / Trade identifier as returned by OpenTradeOffer. + */ + TradeId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetTradeStatusResponse + */ + export interface GetTradeStatusResponse extends PlayFabModule.IPlayFabResultCommon { + /** + / Information about the requested trade. + */ + Trade?: TradeInfo; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetUserDataRequest + */ + export interface GetUserDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Specific keys to search for in the custom data. Leave null to get all keys. + */ + Keys?: string[]; + /** + / Unique PlayFab identifier of the user to load data for. Optional, defaults to yourself if not set. When specified to a PlayFab id of another player, then this will only return public keys for that account. + */ + PlayFabId?: string; + /** + / The version that currently exists according to the caller. The call will return the data for all of the keys if the version in the system is greater than this. + */ + IfChangedFromDataVersion?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetUserDataResult + */ + export interface GetUserDataResult extends PlayFabModule.IPlayFabResultCommon { + /** + / User specific data for this title. + */ + Data?: { [key: string]: UserDataRecord }; + /** + / Indicates the current version of the data that has been set. This is incremented with every set call for that type of data (read-only, internal, etc). This version can be provided in Get calls to find updated data. + */ + DataVersion: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetUserInventoryRequest + */ + export interface GetUserInventoryRequest extends PlayFabModule.IPlayFabRequestCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetUserInventoryResult + */ + export interface GetUserInventoryResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Array of inventory items belonging to the user. + */ + Inventory?: ItemInstance[]; + /** + / Array of virtual currency balance(s) belonging to the user. + */ + VirtualCurrency?: { [key: string]: number }; + /** + / Array of remaining times and timestamps for virtual currencies. + */ + VirtualCurrencyRechargeTimes?: { [key: string]: VirtualCurrencyRechargeTime }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GooglePlayFabIdPair + */ + export interface GooglePlayFabIdPair { + /** + / Unique Google identifier for a user. + */ + GoogleId?: string; + /** + / Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the Google identifier. + */ + PlayFabId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GrantCharacterToUserRequest + */ + export interface GrantCharacterToUserRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Catalog version from which items are to be granted. + */ + CatalogVersion?: string; + /** + / Catalog item identifier of the item in the user's inventory that corresponds to the character in the catalog to be created. + */ + ItemId: string; + /** + / Non-unique display name of the character being granted. + */ + CharacterName: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GrantCharacterToUserResult + */ + export interface GrantCharacterToUserResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique identifier tagged to this character. + */ + CharacterId?: string; + /** + / Type of character that was created. + */ + CharacterType?: string; + /** + / Indicates whether this character was created successfully. + */ + Result: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.ItemInstance + */ + export interface ItemInstance { + /** + / Unique identifier for the inventory item, as defined in the catalog. + */ + ItemId?: string; + /** + / Unique item identifier for this specific instance of the item. + */ + ItemInstanceId?: string; + /** + / Class name for the inventory item, as defined in the catalog. + */ + ItemClass?: string; + /** + / Timestamp for when this instance was purchased. + */ + PurchaseDate?: string; + /** + / Timestamp for when this instance will expire. + */ + Expiration?: string; + /** + / Total number of remaining uses, if this is a consumable item. + */ + RemainingUses?: number; + /** + / The number of uses that were added or removed to this item in this call. + */ + UsesIncrementedBy?: number; + /** + / Game specific comment associated with this instance when it was added to the user inventory. + */ + Annotation?: string; + /** + / Catalog version for the inventory item, when this instance was created. + */ + CatalogVersion?: string; + /** + / Unique identifier for the parent inventory item, as defined in the catalog, for object which were added from a bundle or container. + */ + BundleParent?: string; + /** + / CatalogItem.DisplayName at the time this item was purchased. + */ + DisplayName?: string; + /** + / Currency type for the cost of the catalog item. + */ + UnitCurrency?: string; + /** + / Cost of the catalog item in the given currency. + */ + UnitPrice: number; + /** + / Array of unique items that were awarded when this catalog item was purchased. + */ + BundleContents?: string[]; + /** + / A set of custom key-value pairs on the inventory item. + */ + CustomData?: { [key: string]: string }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.ItemPurchaseRequest + */ + export interface ItemPurchaseRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique ItemId of the item to purchase. + */ + ItemId: string; + /** + / How many of this item to purchase. + */ + Quantity: number; + /** + / Title-specific text concerning this purchase. + */ + Annotation?: string; + /** + / Items to be upgraded as a result of this purchase (upgraded items are hidden, as they are "replaced" by the new items). + */ + UpgradeFromItems?: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.KongregatePlayFabIdPair + */ + export interface KongregatePlayFabIdPair { + /** + / Unique Kongregate identifier for a user. + */ + KongregateId?: string; + /** + / Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the Kongregate identifier. + */ + PlayFabId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LinkAndroidDeviceIDRequest + */ + export interface LinkAndroidDeviceIDRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Android device identifier for the user's device. + */ + AndroidDeviceId: string; + /** + / Specific Operating System version for the user's device. + */ + OS?: string; + /** + / Specific model of the user's device. + */ + AndroidDevice?: string; + /** + / If another user is already linked to the device, unlink the other user and re-link. + */ + ForceLink?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LinkAndroidDeviceIDResult + */ + export interface LinkAndroidDeviceIDResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LinkCustomIDRequest + */ + export interface LinkCustomIDRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Custom unique identifier for the user, generated by the title. + */ + CustomId: string; + /** + / If another user is already linked to the custom ID, unlink the other user and re-link. + */ + ForceLink?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LinkCustomIDResult + */ + export interface LinkCustomIDResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LinkFacebookAccountRequest + */ + export interface LinkFacebookAccountRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier from Facebook for the user. + */ + AccessToken: string; + /** + / If another user is already linked to the account, unlink the other user and re-link. + */ + ForceLink?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LinkFacebookAccountResult + */ + export interface LinkFacebookAccountResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LinkGameCenterAccountRequest + */ + export interface LinkGameCenterAccountRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Game Center identifier for the player account to be linked. + */ + GameCenterId: string; + /** + / If another user is already linked to the account, unlink the other user and re-link. + */ + ForceLink?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LinkGameCenterAccountResult + */ + export interface LinkGameCenterAccountResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LinkGoogleAccountRequest + */ + export interface LinkGoogleAccountRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Server authentication code obtained on the client by calling getServerAuthCode() (https://developers.google.com/identity/sign-in/android/offline-access) from Google Play for the user. + */ + ServerAuthCode?: string; + /** + / OAuth 2.0 access token obtained on the client by calling the getAccessToken() Google client API. + */ + AccessToken?: string; + /** + / If another user is already linked to the account, unlink the other user and re-link. + */ + ForceLink?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LinkGoogleAccountResult + */ + export interface LinkGoogleAccountResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LinkIOSDeviceIDRequest + */ + export interface LinkIOSDeviceIDRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Vendor-specific iOS identifier for the user's device. + */ + DeviceId: string; + /** + / Specific Operating System version for the user's device. + */ + OS?: string; + /** + / Specific model of the user's device. + */ + DeviceModel?: string; + /** + / If another user is already linked to the device, unlink the other user and re-link. + */ + ForceLink?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LinkIOSDeviceIDResult + */ + export interface LinkIOSDeviceIDResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LinkKongregateAccountRequest + */ + export interface LinkKongregateAccountRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Numeric user ID assigned by Kongregate + */ + KongregateId: string; + /** + / Valid session auth ticket issued by Kongregate + */ + AuthTicket: string; + /** + / If another user is already linked to the account, unlink the other user and re-link. + */ + ForceLink?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LinkKongregateAccountResult + */ + export interface LinkKongregateAccountResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LinkSteamAccountRequest + */ + export interface LinkSteamAccountRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Authentication token for the user, returned as a byte array from Steam, and converted to a string (for example, the byte 0x08 should become "08"). + */ + SteamTicket: string; + /** + / If another user is already linked to the account, unlink the other user and re-link. + */ + ForceLink?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LinkSteamAccountResult + */ + export interface LinkSteamAccountResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LinkTwitchAccountRequest + */ + export interface LinkTwitchAccountRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Valid token issued by Twitch + */ + AccessToken: string; + /** + / If another user is already linked to the account, unlink the other user and re-link. + */ + ForceLink?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LinkTwitchAccountResult + */ + export interface LinkTwitchAccountResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.ListUsersCharactersRequest + */ + export interface ListUsersCharactersRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.ListUsersCharactersResult + */ + export interface ListUsersCharactersResult extends PlayFabModule.IPlayFabResultCommon { + /** + / The requested list of characters. + */ + Characters?: CharacterResult[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LoginResult + */ + export interface LoginResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique token authorizing the user and game at the server level, for the current session. + */ + SessionTicket?: string; + /** + / Player's unique PlayFabId. + */ + PlayFabId?: string; + /** + / True if the account was newly created on this login. + */ + NewlyCreated: boolean; + /** + / Settings specific to this user. + */ + SettingsForUser?: UserSettings; + /** + / The time of this user's previous login. If there was no previous login, then it's DateTime.MinValue + */ + LastLoginTime?: string; + /** + / Results for requested info. + */ + InfoResultPayload?: GetPlayerCombinedInfoResultPayload; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LoginWithAndroidDeviceIDRequest + */ + export interface LoginWithAndroidDeviceIDRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected. + */ + TitleId?: string; + /** + / Android device identifier for the user's device. + */ + AndroidDeviceId: string; + /** + / Specific Operating System version for the user's device. + */ + OS?: string; + /** + / Specific model of the user's device. + */ + AndroidDevice?: string; + /** + / Automatically create a PlayFab account if one is not currently linked to this Android device. + */ + CreateAccount?: boolean; + /** + / Flags for which pieces of info to return for the user. + */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LoginWithCustomIDRequest + */ + export interface LoginWithCustomIDRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected. + */ + TitleId?: string; + /** + / Custom unique identifier for the user, generated by the title. + */ + CustomId: string; + /** + / Automatically create a PlayFab account if one is not currently linked to this Custom ID. + */ + CreateAccount?: boolean; + /** + / Flags for which pieces of info to return for the user. + */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LoginWithEmailAddressRequest + */ + export interface LoginWithEmailAddressRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected. + */ + TitleId?: string; + /** + / Email address for the account. + */ + Email: string; + /** + / Password for the PlayFab account (6-100 characters) + */ + Password: string; + /** + / Flags for which pieces of info to return for the user. + */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LoginWithFacebookRequest + */ + export interface LoginWithFacebookRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected. + */ + TitleId?: string; + /** + / Unique identifier from Facebook for the user. + */ + AccessToken: string; + /** + / Automatically create a PlayFab account if one is not currently linked to this Facebook account. + */ + CreateAccount?: boolean; + /** + / Flags for which pieces of info to return for the user. + */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LoginWithGameCenterRequest + */ + export interface LoginWithGameCenterRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected. + */ + TitleId?: string; + /** + / Unique Game Center player id. + */ + PlayerId: string; + /** + / Automatically create a PlayFab account if one is not currently linked to this Game Center id. + */ + CreateAccount?: boolean; + /** + / Flags for which pieces of info to return for the user. + */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LoginWithGoogleAccountRequest + */ + export interface LoginWithGoogleAccountRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected. + */ + TitleId?: string; + /** + / OAuth 2.0 server authentication code obtained on the client by calling the getServerAuthCode() (https://developers.google.com/identity/sign-in/android/offline-access) Google client API. + */ + ServerAuthCode?: string; + /** + / OAuth 2.0 access token obtained on the client by calling the getAccessToken() Google client API. + */ + AccessToken?: string; + /** + / Automatically create a PlayFab account if one is not currently linked to this Google account. + */ + CreateAccount?: boolean; + /** + / Flags for which pieces of info to return for the user. + */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LoginWithIOSDeviceIDRequest + */ + export interface LoginWithIOSDeviceIDRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected. + */ + TitleId?: string; + /** + / Vendor-specific iOS identifier for the user's device. + */ + DeviceId: string; + /** + / Specific Operating System version for the user's device. + */ + OS?: string; + /** + / Specific model of the user's device. + */ + DeviceModel?: string; + /** + / Flags for which pieces of info to return for the user. + */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + /** + / Automatically create a PlayFab account if one is not currently linked to this iOS device. + */ + CreateAccount?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LoginWithKongregateRequest + */ + export interface LoginWithKongregateRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected. + */ + TitleId?: string; + /** + / Numeric user ID assigned by Kongregate + */ + KongregateId: string; + /** + / Token issued by Kongregate's client API for the user. + */ + AuthTicket: string; + /** + / Automatically create a PlayFab account if one is not currently linked to this Kongregate account. + */ + CreateAccount?: boolean; + /** + / Flags for which pieces of info to return for the user. + */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LoginWithPlayFabRequest + */ + export interface LoginWithPlayFabRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected. + */ + TitleId?: string; + /** + / PlayFab username for the account. + */ + Username: string; + /** + / Password for the PlayFab account (6-100 characters) + */ + Password: string; + /** + / Flags for which pieces of info to return for the user. + */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LoginWithSteamRequest + */ + export interface LoginWithSteamRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected. + */ + TitleId?: string; + /** + / Authentication token for the user, returned as a byte array from Steam, and converted to a string (for example, the byte 0x08 should become "08"). + */ + SteamTicket: string; + /** + / Automatically create a PlayFab account if one is not currently linked to this Steam account. + */ + CreateAccount?: boolean; + /** + / Flags for which pieces of info to return for the user. + */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LoginWithTwitchRequest + */ + export interface LoginWithTwitchRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected. + */ + TitleId?: string; + /** + / Token issued by Twitch's API for the user. + */ + AccessToken: string; + /** + / Automatically create a PlayFab account if one is not currently linked to this Twitch account. + */ + CreateAccount?: boolean; + /** + / Flags for which pieces of info to return for the user. + */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LogStatement + */ + export interface LogStatement { + /** + / 'Debug', 'Info', or 'Error' + */ + Level?: string; + Message?: string; + /** + / Optional object accompanying the message as contextual information + */ + Data?: any; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.MatchmakeRequest + */ + export interface MatchmakeRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Build version to match against. [Note: Required if LobbyId is not specified] + */ + BuildVersion?: string; + /** + / Region to match make against. [Note: Required if LobbyId is not specified] + */ + Region?: string; + /** + / Game mode to match make against. [Note: Required if LobbyId is not specified] + */ + GameMode?: string; + /** + / Lobby identifier to match make against. This is used to select a specific Game Server Instance. + */ + LobbyId?: string; + /** + / Player statistic to use in finding a match. May be null for no stat-based matching. + */ + StatisticName?: string; + /** + / Character to use for stats based matching. Leave null to use account stats. + */ + CharacterId?: string; + /** + / Start a game session if one with an open slot is not found. Defaults to true. + */ + StartNewIfNoneFound?: boolean; + /** + / Filter to include and/or exclude Game Server Instances associated with certain Tags + */ + TagFilter?: CollectionFilter; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.MatchmakeResult + */ + export interface MatchmakeResult extends PlayFabModule.IPlayFabResultCommon { + /** + / unique lobby identifier of the server matched + */ + LobbyID?: string; + /** + / IP address of the server + */ + ServerHostname?: string; + /** + / port number to use for non-http communications with the server + */ + ServerPort?: number; + /** + / server authorization ticket (used by RedeemMatchmakerTicket to validate user insertion into the game) + */ + Ticket?: string; + /** + / timestamp for when the server will expire, if applicable + */ + Expires?: string; + /** + / time in milliseconds the application is configured to wait on matchmaking results + */ + PollWaitTimeMS?: number; + /** + / result of match making process + */ + Status?: string; + + } + + type MatchmakeStatus = "Complete" + | "Waiting" + | "GameNotFound" + | "NoAvailableSlots" + | "SessionClosed"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.ModifyUserVirtualCurrencyResult + */ + export interface ModifyUserVirtualCurrencyResult extends PlayFabModule.IPlayFabResultCommon { + /** + / User currency was subtracted from. + */ + PlayFabId?: string; + /** + / Name of the virtual currency which was modified. + */ + VirtualCurrency?: string; + /** + / Amount added or subtracted from the user's virtual currency. Maximum VC balance is Int32 (2,147,483,647). Any increase over this value will be discarded. + */ + BalanceChange: number; + /** + / Balance of the virtual currency after modification. + */ + Balance: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.NameIdentifier + */ + export interface NameIdentifier { + Name?: string; + Id?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.OpenTradeRequest + */ + export interface OpenTradeRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Player inventory items offered for trade. If not set, the trade is effectively a gift request + */ + OfferedInventoryInstanceIds?: string[]; + /** + / Catalog items accepted for the trade. If not set, the trade is effectively a gift. + */ + RequestedCatalogItemIds?: string[]; + /** + / Players who are allowed to accept the trade. If null, the trade may be accepted by any player. If empty, the trade may not be accepted by any player. + */ + AllowedPlayerIds?: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.OpenTradeResponse + */ + export interface OpenTradeResponse extends PlayFabModule.IPlayFabResultCommon { + /** + / The information about the trade that was just opened. + */ + Trade?: TradeInfo; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.PayForPurchaseRequest + */ + export interface PayForPurchaseRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Purchase order identifier returned from StartPurchase. + */ + OrderId: string; + /** + / Payment provider to use to fund the purchase. + */ + ProviderName: string; + /** + / Currency to use to fund the purchase. + */ + Currency: string; + /** + / Payment provider transaction identifier. Required for Facebook Payments. + */ + ProviderTransactionId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.PayForPurchaseResult + */ + export interface PayForPurchaseResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Purchase order identifier. + */ + OrderId?: string; + /** + / Status of the transaction. + */ + Status?: string; + /** + / Virtual currency cost of the transaction. + */ + VCAmount?: { [key: string]: number }; + /** + / Real world currency for the transaction. + */ + PurchaseCurrency?: string; + /** + / Real world cost of the transaction. + */ + PurchasePrice: number; + /** + / Local credit applied to the transaction (provider specific). + */ + CreditApplied: number; + /** + / Provider used for the transaction. + */ + ProviderData?: string; + /** + / URL to the purchase provider page that details the purchase. + */ + PurchaseConfirmationPageURL?: string; + /** + / Current virtual currency totals for the user. + */ + VirtualCurrency?: { [key: string]: number }; + /** + / A token generated by the provider to authenticate the request (provider-specific). + */ + ProviderToken?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.PaymentOption + */ + export interface PaymentOption { + /** + / Specific currency to use to fund the purchase. + */ + Currency?: string; + /** + / Name of the purchase provider for this option. + */ + ProviderName?: string; + /** + / Amount of the specified currency needed for the purchase. + */ + Price: number; + /** + / Amount of existing credit the user has with the provider. + */ + StoreCredit: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.PlayerLeaderboardEntry + */ + export interface PlayerLeaderboardEntry { + /** + / PlayFab unique identifier of the user for this leaderboard entry. + */ + PlayFabId?: string; + /** + / Title-specific display name of the user for this leaderboard entry. + */ + DisplayName?: string; + /** + / Specific value of the user's statistic. + */ + StatValue: number; + /** + / User's overall position in the leaderboard. + */ + Position: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.PlayerStatisticVersion + */ + export interface PlayerStatisticVersion { + /** + / name of the statistic when the version became active + */ + StatisticName?: string; + /** + / version of the statistic + */ + Version: number; + /** + / time at which the statistic version was scheduled to become active, based on the configured ResetInterval + */ + ScheduledActivationTime?: string; + /** + / time when the statistic version became active + */ + ActivationTime: string; + /** + / time at which the statistic version was scheduled to become inactive, based on the configured ResetInterval + */ + ScheduledDeactivationTime?: string; + /** + / time when the statistic version became inactive due to statistic version incrementing + */ + DeactivationTime?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.PurchaseItemRequest + */ + export interface PurchaseItemRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier of the item to purchase. + */ + ItemId: string; + /** + / Virtual currency to use to purchase the item. + */ + VirtualCurrency: string; + /** + / Price the client expects to pay for the item (in case a new catalog or store was uploaded, with new prices). + */ + Price: number; + /** + / Catalog version for the items to be purchased (defaults to most recent version. + */ + CatalogVersion?: string; + /** + / Store to buy this item through. If not set, prices default to those in the catalog. + */ + StoreId?: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.PurchaseItemResult + */ + export interface PurchaseItemResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Details for the items purchased. + */ + Items?: ItemInstance[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.RedeemCouponRequest + */ + export interface RedeemCouponRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Generated coupon code to redeem. + */ + CouponCode: string; + /** + / Catalog version of the coupon. If null, uses the default catalog + */ + CatalogVersion?: string; + /** + / Optional identifier for the Character that should receive the item. If null, item is added to the player + */ + CharacterId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.RedeemCouponResult + */ + export interface RedeemCouponResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Items granted to the player as a result of redeeming the coupon. + */ + GrantedItems?: ItemInstance[]; + + } + + type Region = "USCentral" + | "USEast" + | "EUWest" + | "Singapore" + | "Japan" + | "Brazil" + | "Australia"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.RegionInfo + */ + export interface RegionInfo { + /** + / unique identifier for the region + */ + Region?: string; + /** + / name of the region + */ + Name?: string; + /** + / indicates whether the server specified is available in this region + */ + Available: boolean; + /** + / url to ping to get roundtrip time + */ + PingUrl?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.RegisterForIOSPushNotificationRequest + */ + export interface RegisterForIOSPushNotificationRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique token generated by the Apple Push Notification service when the title registered to receive push notifications. + */ + DeviceToken: string; + /** + / If true, send a test push message immediately after sucessful registration. Defaults to false. + */ + SendPushNotificationConfirmation?: boolean; + /** + / Message to display when confirming push notification. + */ + ConfirmationMessage?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.RegisterForIOSPushNotificationResult + */ + export interface RegisterForIOSPushNotificationResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.RegisterPlayFabUserRequest + */ + export interface RegisterPlayFabUserRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected. + */ + TitleId?: string; + /** + / PlayFab username for the account (3-20 characters) + */ + Username?: string; + /** + / User email address attached to their account + */ + Email?: string; + /** + / Password for the PlayFab account (6-100 characters) + */ + Password: string; + /** + / An optional parameter that specifies whether both the username and email parameters are required. If true, both parameters are required; if false, the user must supply either the username or email parameter. The default value is true. + */ + RequireBothUsernameAndEmail?: boolean; + /** + / An optional parameter for setting the display name for this title. + */ + DisplayName?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.RegisterPlayFabUserResult + */ + export interface RegisterPlayFabUserResult extends PlayFabModule.IPlayFabResultCommon { + /** + / PlayFab unique identifier for this newly created account. + */ + PlayFabId?: string; + /** + / Unique token identifying the user and game at the server level, for the current session. + */ + SessionTicket?: string; + /** + / PlayFab unique user name. + */ + Username?: string; + /** + / Settings specific to this user. + */ + SettingsForUser?: UserSettings; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.RemoveFriendRequest + */ + export interface RemoveFriendRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / PlayFab identifier of the friend account which is to be removed. + */ + FriendPlayFabId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.RemoveFriendResult + */ + export interface RemoveFriendResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.RemoveGenericIDRequest + */ + export interface RemoveGenericIDRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Generic service identifier to be removed from the player. + */ + GenericId: GenericServiceId; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.RemoveGenericIDResult + */ + export interface RemoveGenericIDResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.RemoveSharedGroupMembersRequest + */ + export interface RemoveSharedGroupMembersRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the shared group. + */ + SharedGroupId: string; + /** + / An array of unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabIds: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.RemoveSharedGroupMembersResult + */ + export interface RemoveSharedGroupMembersResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.ReportPlayerClientRequest + */ + export interface ReportPlayerClientRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab identifier of the reported player. + */ + ReporteeId: string; + /** + / Optional additional comment by reporting player. + */ + Comment?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.ReportPlayerClientResult + */ + export interface ReportPlayerClientResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Indicates whether this action completed successfully. + */ + Updated: boolean; + /** + / The number of remaining reports which may be filed today. + */ + SubmissionsRemaining: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.RestoreIOSPurchasesRequest + */ + export interface RestoreIOSPurchasesRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Base64 encoded receipt data, passed back by the App Store as a result of a successful purchase. + */ + ReceiptData: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.RestoreIOSPurchasesResult + */ + export interface RestoreIOSPurchasesResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.ScriptExecutionError + */ + export interface ScriptExecutionError { + /** + / Error code, such as CloudScriptNotFound, JavascriptException, CloudScriptFunctionArgumentSizeExceeded, CloudScriptAPIRequestCountExceeded, CloudScriptAPIRequestError, or CloudScriptHTTPRequestError + */ + Error?: string; + /** + / Details about the error + */ + Message?: string; + /** + / Point during the execution of the script at which the error occurred, if any + */ + StackTrace?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.SendAccountRecoveryEmailRequest + */ + export interface SendAccountRecoveryEmailRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / User email address attached to their account + */ + Email: string; + /** + / Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected. + */ + TitleId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.SendAccountRecoveryEmailResult + */ + export interface SendAccountRecoveryEmailResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.SetFriendTagsRequest + */ + export interface SetFriendTagsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / PlayFab identifier of the friend account to which the tag(s) should be applied. + */ + FriendPlayFabId: string; + /** + / Array of tags to set on the friend account. + */ + Tags: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.SetFriendTagsResult + */ + export interface SetFriendTagsResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.SharedGroupDataRecord + */ + export interface SharedGroupDataRecord { + /** + / Data stored for the specified group data key. + */ + Value?: string; + /** + / Unique PlayFab identifier of the user to last update this value. + */ + LastUpdatedBy?: string; + /** + / Timestamp for when this data was last updated. + */ + LastUpdated: string; + /** + / Indicates whether this data can be read by all users (public) or only members of the group (private). + */ + Permission?: string; + + } + + type SourceType = "Admin" + | "BackEnd" + | "GameClient" + | "GameServer" + | "Partner"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.StartGameRequest + */ + export interface StartGameRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / version information for the build of the game server which is to be started + */ + BuildVersion: string; + /** + / the region to associate this server with for match filtering + */ + Region: string; + /** + / the title-defined game mode this server is to be running (defaults to 0 if there is only one mode) + */ + GameMode: string; + /** + / player statistic for others to use in finding this game. May be null for no stat-based matching + */ + StatisticName?: string; + /** + / character to use for stats based matching. Leave null to use account stats + */ + CharacterId?: string; + /** + / custom command line argument when starting game server process + */ + CustomCommandLineData?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.StartGameResult + */ + export interface StartGameResult extends PlayFabModule.IPlayFabResultCommon { + /** + / unique identifier for the lobby of the server started + */ + LobbyID?: string; + /** + / server IP address + */ + ServerHostname?: string; + /** + / port on the server to be used for communication + */ + ServerPort?: number; + /** + / unique identifier for the server + */ + Ticket?: string; + /** + / timestamp for when the server should expire, if applicable + */ + Expires?: string; + /** + / password required to log into the server + */ + Password?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.StartPurchaseRequest + */ + export interface StartPurchaseRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Catalog version for the items to be purchased. Defaults to most recent catalog. + */ + CatalogVersion?: string; + /** + / Store through which to purchase items. If not set, prices will be pulled from the catalog itself. + */ + StoreId?: string; + /** + / Array of items to purchase. + */ + Items: ItemPurchaseRequest[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.StartPurchaseResult + */ + export interface StartPurchaseResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Purchase order identifier. + */ + OrderId?: string; + /** + / Cart items to be purchased. + */ + Contents?: CartItem[]; + /** + / Available methods by which the user can pay. + */ + PaymentOptions?: PaymentOption[]; + /** + / Current virtual currency totals for the user. + */ + VirtualCurrencyBalances?: { [key: string]: number }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.StatisticNameVersion + */ + export interface StatisticNameVersion { + /** + / unique name of the statistic + */ + StatisticName: string; + /** + / the version of the statistic to be returned + */ + Version: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.StatisticUpdate + */ + export interface StatisticUpdate { + /** + / unique name of the statistic + */ + StatisticName: string; + /** + / for updates to an existing statistic value for a player, the version of the statistic when it was loaded. Null when setting the statistic value for the first time. + */ + Version?: number; + /** + / statistic value for the player + */ + Value: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.StatisticValue + */ + export interface StatisticValue { + /** + / unique name of the statistic + */ + StatisticName?: string; + /** + / statistic value for the player + */ + Value: number; + /** + / for updates to an existing statistic value for a player, the version of the statistic when it was loaded + */ + Version: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.SteamPlayFabIdPair + */ + export interface SteamPlayFabIdPair { + /** + / Unique Steam identifier for a user. + */ + SteamStringId?: string; + /** + / Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the Steam identifier. + */ + PlayFabId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.StoreItem + */ + export interface StoreItem { + /** + / Unique identifier of the item as it exists in the catalog - note that this must exactly match the ItemId from the catalog + */ + ItemId: string; + /** + / Override prices for this item in virtual currencies and "RM" (the base Real Money purchase price, in USD pennies) + */ + VirtualCurrencyPrices?: { [key: string]: number }; + /** + / Override prices for this item for specific currencies + */ + RealCurrencyPrices?: { [key: string]: number }; + /** + / Store specific custom data. The data only exists as part of this store; it is not transferred to item instances + */ + CustomData?: any; + /** + / Intended display position for this item. Note that 0 is the first position + */ + DisplayPosition?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.StoreMarketingModel + */ + export interface StoreMarketingModel { + /** + / Display name of a store as it will appear to users. + */ + DisplayName?: string; + /** + / Tagline for a store. + */ + Description?: string; + /** + / Custom data about a store. + */ + Metadata?: any; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.SubtractUserVirtualCurrencyRequest + */ + export interface SubtractUserVirtualCurrencyRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Name of the virtual currency which is to be decremented. + */ + VirtualCurrency: string; + /** + / Amount to be subtracted from the user balance of the specified virtual currency. + */ + Amount: number; + + } + + type TitleActivationStatus = "None" + | "ActivatedTitleKey" + | "PendingSteam" + | "ActivatedSteam" + | "RevokedSteam"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.TitleNewsItem + */ + export interface TitleNewsItem { + /** + / Date and time when the news items was posted. + */ + Timestamp: string; + /** + / Unique identifier of news item. + */ + NewsId?: string; + /** + / Title of the news item. + */ + Title?: string; + /** + / News item text. + */ + Body?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.TradeInfo + */ + export interface TradeInfo { + /** + / Describes the current state of this trade. + */ + Status?: string; + /** + / The identifier for this trade. + */ + TradeId?: string; + /** + / The PlayFabId for the offering player. + */ + OfferingPlayerId?: string; + /** + / The itemInstance Ids that are being offered. + */ + OfferedInventoryInstanceIds?: string[]; + /** + / The catalogItem Ids of the item instances being offered. + */ + OfferedCatalogItemIds?: string[]; + /** + / The catalogItem Ids requested in exchange. + */ + RequestedCatalogItemIds?: string[]; + /** + / An optional list of players allowed to complete this trade. If null, anybody can complete the trade. + */ + AllowedPlayerIds?: string[]; + /** + / The PlayFab ID of the player who accepted the trade. If null, no one has accepted the trade. + */ + AcceptedPlayerId?: string; + /** + / Item instances from the accepting player that are used to fulfill the trade. If null, no one has accepted the trade. + */ + AcceptedInventoryInstanceIds?: string[]; + /** + / The UTC time when this trade was created. + */ + OpenedAt?: string; + /** + / If set, The UTC time when this trade was fulfilled. + */ + FilledAt?: string; + /** + / If set, The UTC time when this trade was canceled. + */ + CancelledAt?: string; + /** + / If set, The UTC time when this trade was made invalid. + */ + InvalidatedAt?: string; + + } + + type TradeStatus = "Invalid" + | "Opening" + | "Open" + | "Accepting" + | "Accepted" + | "Filled" + | "Cancelled"; + + type TransactionStatus = "CreateCart" + | "Init" + | "Approved" + | "Succeeded" + | "FailedByProvider" + | "DisputePending" + | "RefundPending" + | "Refunded" + | "RefundFailed" + | "ChargedBack" + | "FailedByUber" + | "FailedByPlayFab" + | "Revoked" + | "TradePending" + | "Traded" + | "Upgraded" + | "StackPending" + | "Stacked" + | "Other" + | "Failed"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.TwitchPlayFabIdPair + */ + export interface TwitchPlayFabIdPair { + /** + / Unique Twitch identifier for a user. + */ + TwitchId?: string; + /** + / Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the Twitch identifier. + */ + PlayFabId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlinkAndroidDeviceIDRequest + */ + export interface UnlinkAndroidDeviceIDRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Android device identifier for the user's device. If not specified, the most recently signed in Android Device ID will be used. + */ + AndroidDeviceId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlinkAndroidDeviceIDResult + */ + export interface UnlinkAndroidDeviceIDResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlinkCustomIDRequest + */ + export interface UnlinkCustomIDRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Custom unique identifier for the user, generated by the title. If not specified, the most recently signed in Custom ID will be used. + */ + CustomId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlinkCustomIDResult + */ + export interface UnlinkCustomIDResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlinkFacebookAccountRequest + */ + export interface UnlinkFacebookAccountRequest extends PlayFabModule.IPlayFabRequestCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlinkFacebookAccountResult + */ + export interface UnlinkFacebookAccountResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlinkGameCenterAccountRequest + */ + export interface UnlinkGameCenterAccountRequest extends PlayFabModule.IPlayFabRequestCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlinkGameCenterAccountResult + */ + export interface UnlinkGameCenterAccountResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlinkGoogleAccountRequest + */ + export interface UnlinkGoogleAccountRequest extends PlayFabModule.IPlayFabRequestCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlinkGoogleAccountResult + */ + export interface UnlinkGoogleAccountResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlinkIOSDeviceIDRequest + */ + export interface UnlinkIOSDeviceIDRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Vendor-specific iOS identifier for the user's device. If not specified, the most recently signed in iOS Device ID will be used. + */ + DeviceId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlinkIOSDeviceIDResult + */ + export interface UnlinkIOSDeviceIDResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlinkKongregateAccountRequest + */ + export interface UnlinkKongregateAccountRequest extends PlayFabModule.IPlayFabRequestCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlinkKongregateAccountResult + */ + export interface UnlinkKongregateAccountResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlinkSteamAccountRequest + */ + export interface UnlinkSteamAccountRequest extends PlayFabModule.IPlayFabRequestCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlinkSteamAccountResult + */ + export interface UnlinkSteamAccountResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlinkTwitchAccountRequest + */ + export interface UnlinkTwitchAccountRequest extends PlayFabModule.IPlayFabRequestCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlinkTwitchAccountResult + */ + export interface UnlinkTwitchAccountResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlockContainerInstanceRequest + */ + export interface UnlockContainerInstanceRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId?: string; + /** + / ItemInstanceId of the container to unlock. + */ + ContainerItemInstanceId: string; + /** + / ItemInstanceId of the key that will be consumed by unlocking this container. If the container requires a key, this parameter is required. + */ + KeyItemInstanceId?: string; + /** + / Specifies the catalog version that should be used to determine container contents. If unspecified, uses catalog associated with the item instance. + */ + CatalogVersion?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlockContainerItemRequest + */ + export interface UnlockContainerItemRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Catalog ItemId of the container type to unlock. + */ + ContainerItemId: string; + /** + / Specifies the catalog version that should be used to determine container contents. If unspecified, uses default/primary catalog. + */ + CatalogVersion?: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlockContainerItemResult + */ + export interface UnlockContainerItemResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique instance identifier of the container unlocked. + */ + UnlockedItemInstanceId?: string; + /** + / Unique instance identifier of the key used to unlock the container, if applicable. + */ + UnlockedWithItemInstanceId?: string; + /** + / Items granted to the player as a result of unlocking the container. + */ + GrantedItems?: ItemInstance[]; + /** + / Virtual currency granted to the player as a result of unlocking the container. + */ + VirtualCurrency?: { [key: string]: number }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UpdateCharacterDataRequest + */ + export interface UpdateCharacterDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + /** + / Key-value pairs to be written to the custom data. Note that keys are trimmed of whitespace, are limited in size, and may not begin with a '!' character. + */ + Data?: { [key: string]: string }; + /** + / Optional list of Data-keys to remove from UserData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + */ + KeysToRemove?: string[]; + /** + / Permission to be applied to all user data keys written in this request. Defaults to "private" if not set. + */ + Permission?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UpdateCharacterDataResult + */ + export interface UpdateCharacterDataResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Indicates the current version of the data that has been set. This is incremented with every set call for that type of data (read-only, internal, etc). This version can be provided in Get calls to find updated data. + */ + DataVersion: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UpdateCharacterStatisticsRequest + */ + export interface UpdateCharacterStatisticsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + /** + / Statistics to be updated with the provided values. + */ + CharacterStatistics?: { [key: string]: number }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UpdateCharacterStatisticsResult + */ + export interface UpdateCharacterStatisticsResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UpdatePlayerStatisticsRequest + */ + export interface UpdatePlayerStatisticsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Statistics to be updated with the provided values + */ + Statistics: StatisticUpdate[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UpdatePlayerStatisticsResult + */ + export interface UpdatePlayerStatisticsResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UpdateSharedGroupDataRequest + */ + export interface UpdateSharedGroupDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the shared group. + */ + SharedGroupId: string; + /** + / Key-value pairs to be written to the custom data. Note that keys are trimmed of whitespace, are limited in size, and may not begin with a '!' character. + */ + Data?: { [key: string]: string }; + /** + / Optional list of Data-keys to remove from UserData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + */ + KeysToRemove?: string[]; + /** + / Permission to be applied to all user data keys in this request. + */ + Permission?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UpdateSharedGroupDataResult + */ + export interface UpdateSharedGroupDataResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UpdateUserDataRequest + */ + export interface UpdateUserDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Key-value pairs to be written to the custom data. Note that keys are trimmed of whitespace, are limited in size, and may not begin with a '!' character. + */ + Data?: { [key: string]: string }; + /** + / Optional list of Data-keys to remove from UserData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + */ + KeysToRemove?: string[]; + /** + / Permission to be applied to all user data keys written in this request. Defaults to "private" if not set. This is used for requests by one player for information about another player; those requests will only return Public keys. + */ + Permission?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UpdateUserDataResult + */ + export interface UpdateUserDataResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Indicates the current version of the data that has been set. This is incremented with every set call for that type of data (read-only, internal, etc). This version can be provided in Get calls to find updated data. + */ + DataVersion: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UpdateUserTitleDisplayNameRequest + */ + export interface UpdateUserTitleDisplayNameRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / New title display name for the user - must be between 3 and 25 characters. + */ + DisplayName: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UpdateUserTitleDisplayNameResult + */ + export interface UpdateUserTitleDisplayNameResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Current title display name for the user (this will be the original display name if the rename attempt failed). + */ + DisplayName?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UserAccountInfo + */ + export interface UserAccountInfo { + /** + / Unique identifier for the user account + */ + PlayFabId?: string; + /** + / Timestamp indicating when the user account was created + */ + Created: string; + /** + / User account name in the PlayFab service + */ + Username?: string; + /** + / Title-specific information for the user account + */ + TitleInfo?: UserTitleInfo; + /** + / Personal information for the user which is considered more sensitive + */ + PrivateInfo?: UserPrivateAccountInfo; + /** + / User Facebook information, if a Facebook account has been linked + */ + FacebookInfo?: UserFacebookInfo; + /** + / User Steam information, if a Steam account has been linked + */ + SteamInfo?: UserSteamInfo; + /** + / User Gamecenter information, if a Gamecenter account has been linked + */ + GameCenterInfo?: UserGameCenterInfo; + /** + / User iOS device information, if an iOS device has been linked + */ + IosDeviceInfo?: UserIosDeviceInfo; + /** + / User Android device information, if an Android device has been linked + */ + AndroidDeviceInfo?: UserAndroidDeviceInfo; + /** + / User Kongregate account information, if a Kongregate account has been linked + */ + KongregateInfo?: UserKongregateInfo; + /** + / User Twitch account information, if a Twitch account has been linked + */ + TwitchInfo?: UserTwitchInfo; + /** + / User PSN account information, if a PSN account has been linked + */ + PsnInfo?: UserPsnInfo; + /** + / User Google account information, if a Google account has been linked + */ + GoogleInfo?: UserGoogleInfo; + /** + / User XBox account information, if a XBox account has been linked + */ + XboxInfo?: UserXboxInfo; + /** + / Custom ID information, if a custom ID has been assigned + */ + CustomIdInfo?: UserCustomIdInfo; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UserAndroidDeviceInfo + */ + export interface UserAndroidDeviceInfo { + /** + / Android device ID + */ + AndroidDeviceId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UserCustomIdInfo + */ + export interface UserCustomIdInfo { + /** + / Custom ID + */ + CustomId?: string; + + } + + type UserDataPermission = "Private" + | "Public"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UserDataRecord + */ + export interface UserDataRecord { + /** + / Data stored for the specified user data key. + */ + Value?: string; + /** + / Timestamp for when this data was last updated. + */ + LastUpdated: string; + /** + / Indicates whether this data can be read by all users (public) or only the user (private). This is used for GetUserData requests being made by one player about another player. + */ + Permission?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UserFacebookInfo + */ + export interface UserFacebookInfo { + /** + / Facebook identifier + */ + FacebookId?: string; + /** + / Facebook full name + */ + FullName?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UserGameCenterInfo + */ + export interface UserGameCenterInfo { + /** + / Gamecenter identifier + */ + GameCenterId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UserGoogleInfo + */ + export interface UserGoogleInfo { + /** + / Google ID + */ + GoogleId?: string; + /** + / Email address of the Google account + */ + GoogleEmail?: string; + /** + / Locale of the Google account + */ + GoogleLocale?: string; + /** + / Gender information of the Google account + */ + GoogleGender?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UserIosDeviceInfo + */ + export interface UserIosDeviceInfo { + /** + / iOS device ID + */ + IosDeviceId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UserKongregateInfo + */ + export interface UserKongregateInfo { + /** + / Kongregate ID + */ + KongregateId?: string; + /** + / Kongregate Username + */ + KongregateName?: string; + + } + + type UserOrigination = "Organic" + | "Steam" + | "Google" + | "Amazon" + | "Facebook" + | "Kongregate" + | "GamersFirst" + | "Unknown" + | "IOS" + | "LoadTest" + | "Android" + | "PSN" + | "GameCenter" + | "CustomId" + | "XboxLive" + | "Parse" + | "Twitch"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UserPrivateAccountInfo + */ + export interface UserPrivateAccountInfo { + /** + / user email address + */ + Email?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UserPsnInfo + */ + export interface UserPsnInfo { + /** + / PSN account ID + */ + PsnAccountId?: string; + /** + / PSN online ID + */ + PsnOnlineId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UserSettings + */ + export interface UserSettings { + /** + / Boolean for whether this player is eligible for ad tracking. + */ + NeedsAttribution: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UserSteamInfo + */ + export interface UserSteamInfo { + /** + / Steam identifier + */ + SteamId?: string; + /** + / the country in which the player resides, from Steam data + */ + SteamCountry?: string; + /** + / currency type set in the user Steam account + */ + SteamCurrency?: string; + /** + / what stage of game ownership the user is listed as being in, from Steam + */ + SteamActivationStatus?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UserTitleInfo + */ + export interface UserTitleInfo { + /** + / name of the user, as it is displayed in-game + */ + DisplayName?: string; + /** + / source by which the user first joined the game, if known + */ + Origination?: string; + /** + / timestamp indicating when the user was first associated with this game (this can differ significantly from when the user first registered with PlayFab) + */ + Created: string; + /** + / timestamp for the last user login for this title + */ + LastLogin?: string; + /** + / timestamp indicating when the user first signed into this game (this can differ from the Created timestamp, as other events, such as issuing a beta key to the user, can associate the title to the user) + */ + FirstLogin?: string; + /** + / boolean indicating whether or not the user is currently banned for a title + */ + isBanned?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UserTwitchInfo + */ + export interface UserTwitchInfo { + /** + / Twitch ID + */ + TwitchId?: string; + /** + / Twitch Username + */ + TwitchUserName?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UserXboxInfo + */ + export interface UserXboxInfo { + /** + / XBox user ID + */ + XboxUserId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.ValidateAmazonReceiptRequest + */ + export interface ValidateAmazonReceiptRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / ReceiptId returned by the Amazon App Store in-app purchase API + */ + ReceiptId: string; + /** + / AmazonId of the user making the purchase as returned by the Amazon App Store in-app purchase API + */ + UserId: string; + /** + / Catalog version to use when granting receipt item. If null, defaults to primary catalog. + */ + CatalogVersion?: string; + /** + / Currency used for the purchase. + */ + CurrencyCode: string; + /** + / Amount of the stated currency paid for the object. + */ + PurchasePrice: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.ValidateAmazonReceiptResult + */ + export interface ValidateAmazonReceiptResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.ValidateGooglePlayPurchaseRequest + */ + export interface ValidateGooglePlayPurchaseRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Original JSON string returned by the Google Play IAB API. + */ + ReceiptJson: string; + /** + / Signature returned by the Google Play IAB API. + */ + Signature: string; + /** + / Currency used for the purchase. + */ + CurrencyCode?: string; + /** + / Amount of the stated currency paid for the object. + */ + PurchasePrice?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.ValidateGooglePlayPurchaseResult + */ + export interface ValidateGooglePlayPurchaseResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.ValidateIOSReceiptRequest + */ + export interface ValidateIOSReceiptRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Base64 encoded receipt data, passed back by the App Store as a result of a successful purchase. + */ + ReceiptData: string; + /** + / Currency used for the purchase. + */ + CurrencyCode: string; + /** + / Amount of the stated currency paid for the object. + */ + PurchasePrice: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.ValidateIOSReceiptResult + */ + export interface ValidateIOSReceiptResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.VirtualCurrencyRechargeTime + */ + export interface VirtualCurrencyRechargeTime { + /** + / Time remaining (in seconds) before the next recharge increment of the virtual currency. + */ + SecondsToRecharge: number; + /** + / Server timestamp in UTC indicating the next time the virtual currency will be incremented. + */ + RechargeTime: string; + /** + / Maximum value to which the regenerating currency will automatically increment. Note that it can exceed this value through use of the AddUserVirtualCurrency API call. However, it will not regenerate automatically until it has fallen below this value. + */ + RechargeMax: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.WriteClientCharacterEventRequest + */ + export interface WriteClientCharacterEventRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + /** + / The name of the event, within the namespace scoped to the title. The naming convention is up to the caller, but it commonly follows the subject_verb_object pattern (e.g. player_logged_in). + */ + EventName: string; + /** + / The time (in UTC) associated with this event. The value dafaults to the current time. + */ + Timestamp?: string; + /** + / Custom event properties. Each property consists of a name (string) and a value (JSON object). + */ + Body?: { [key: string]: any }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.WriteClientPlayerEventRequest + */ + export interface WriteClientPlayerEventRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / The name of the event, within the namespace scoped to the title. The naming convention is up to the caller, but it commonly follows the subject_verb_object pattern (e.g. player_logged_in). + */ + EventName: string; + /** + / The time (in UTC) associated with this event. The value dafaults to the current time. + */ + Timestamp?: string; + /** + / Custom data properties associated with the event. Each property consists of a name (string) and a value (JSON object). + */ + Body?: { [key: string]: any }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.WriteEventResponse + */ + export interface WriteEventResponse extends PlayFabModule.IPlayFabResultCommon { + /** + / The unique identifier of the event. The values of this identifier consist of ASCII characters and are not constrained to any particular format. + */ + EventId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.WriteTitleEventRequest + */ + export interface WriteTitleEventRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / The name of the event, within the namespace scoped to the title. The naming convention is up to the caller, but it commonly follows the subject_verb_object pattern (e.g. player_logged_in). + */ + EventName: string; + /** + / The time (in UTC) associated with this event. The value dafaults to the current time. + */ + Timestamp?: string; + /** + / Custom event properties. Each property consists of a name (string) and a value (JSON object). + */ + Body?: { [key: string]: any }; + + } + + +} diff --git a/PlayFabSdk/src/Typings/PlayFab/PlayFabMatchmakerApi.d.ts b/PlayFabSdk/src/Typings/PlayFab/PlayFabMatchmakerApi.d.ts new file mode 100644 index 00000000..b2736a32 --- /dev/null +++ b/PlayFabSdk/src/Typings/PlayFab/PlayFabMatchmakerApi.d.ts @@ -0,0 +1,358 @@ +declare module PlayFabMatchmakerModule { + export interface IPlayFabMatchmaker { + /** + / Validates a user with the PlayFab service + / https://api.playfab.com/Documentation/Matchmaker/method/AuthUser + */ + AuthUser(request: PlayFabMatchmakerModels.AuthUserRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Informs the PlayFab game server hosting service that the indicated user has joined the Game Server Instance specified + / https://api.playfab.com/Documentation/Matchmaker/method/PlayerJoined + */ + PlayerJoined(request: PlayFabMatchmakerModels.PlayerJoinedRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Informs the PlayFab game server hosting service that the indicated user has left the Game Server Instance specified + / https://api.playfab.com/Documentation/Matchmaker/method/PlayerLeft + */ + PlayerLeft(request: PlayFabMatchmakerModels.PlayerLeftRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Instructs the PlayFab game server hosting service to instantiate a new Game Server Instance + / https://api.playfab.com/Documentation/Matchmaker/method/StartGame + */ + StartGame(request: PlayFabMatchmakerModels.StartGameRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the relevant details for a specified user, which the external match-making service can then use to compute effective matches + / https://api.playfab.com/Documentation/Matchmaker/method/UserInfo + */ + UserInfo(request: PlayFabMatchmakerModels.UserInfoRequest, callback: PlayFabModule.ApiCallback): void; + + } +} + +declare module PlayFabMatchmakerModels { + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Matchmaker.Models/PlayFab.Matchmaker.Models.AuthUserRequest + */ + export interface AuthUserRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Session Ticket provided by the client. + */ + AuthorizationTicket: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Matchmaker.Models/PlayFab.Matchmaker.Models.AuthUserResponse + */ + export interface AuthUserResponse extends PlayFabModule.IPlayFabResultCommon { + /** + / Boolean indicating if the user has been authorized to use the external match-making service. + */ + Authorized: boolean; + /** + / PlayFab unique identifier of the account that has been authorized. + */ + PlayFabId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Matchmaker.Models/PlayFab.Matchmaker.Models.DeregisterGameRequest + */ + export interface DeregisterGameRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the Game Server Instance that is being deregistered. + */ + LobbyId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Matchmaker.Models/PlayFab.Matchmaker.Models.DeregisterGameResponse + */ + export interface DeregisterGameResponse extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Matchmaker.Models/PlayFab.Matchmaker.Models.ItemInstance + */ + export interface ItemInstance { + /** + / Unique identifier for the inventory item, as defined in the catalog. + */ + ItemId?: string; + /** + / Unique item identifier for this specific instance of the item. + */ + ItemInstanceId?: string; + /** + / Class name for the inventory item, as defined in the catalog. + */ + ItemClass?: string; + /** + / Timestamp for when this instance was purchased. + */ + PurchaseDate?: string; + /** + / Timestamp for when this instance will expire. + */ + Expiration?: string; + /** + / Total number of remaining uses, if this is a consumable item. + */ + RemainingUses?: number; + /** + / The number of uses that were added or removed to this item in this call. + */ + UsesIncrementedBy?: number; + /** + / Game specific comment associated with this instance when it was added to the user inventory. + */ + Annotation?: string; + /** + / Catalog version for the inventory item, when this instance was created. + */ + CatalogVersion?: string; + /** + / Unique identifier for the parent inventory item, as defined in the catalog, for object which were added from a bundle or container. + */ + BundleParent?: string; + /** + / CatalogItem.DisplayName at the time this item was purchased. + */ + DisplayName?: string; + /** + / Currency type for the cost of the catalog item. + */ + UnitCurrency?: string; + /** + / Cost of the catalog item in the given currency. + */ + UnitPrice: number; + /** + / Array of unique items that were awarded when this catalog item was purchased. + */ + BundleContents?: string[]; + /** + / A set of custom key-value pairs on the inventory item. + */ + CustomData?: { [key: string]: string }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Matchmaker.Models/PlayFab.Matchmaker.Models.PlayerJoinedRequest + */ + export interface PlayerJoinedRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier of the Game Server Instance the user is joining. + */ + LobbyId: string; + /** + / PlayFab unique identifier for the user joining. + */ + PlayFabId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Matchmaker.Models/PlayFab.Matchmaker.Models.PlayerJoinedResponse + */ + export interface PlayerJoinedResponse extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Matchmaker.Models/PlayFab.Matchmaker.Models.PlayerLeftRequest + */ + export interface PlayerLeftRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier of the Game Server Instance the user is leaving. + */ + LobbyId: string; + /** + / PlayFab unique identifier for the user leaving. + */ + PlayFabId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Matchmaker.Models/PlayFab.Matchmaker.Models.PlayerLeftResponse + */ + export interface PlayerLeftResponse extends PlayFabModule.IPlayFabResultCommon { + + } + + type Region = "USCentral" + | "USEast" + | "EUWest" + | "Singapore" + | "Japan" + | "Brazil" + | "Australia"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Matchmaker.Models/PlayFab.Matchmaker.Models.RegisterGameRequest + */ + export interface RegisterGameRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / IP address of the Game Server Instance. + */ + ServerHost: string; + /** + / Port number for communication with the Game Server Instance. + */ + ServerPort: string; + /** + / Unique identifier of the build running on the Game Server Instance. + */ + Build: string; + /** + / Region in which the Game Server Instance is running. For matchmaking using non-AWS region names, set this to any AWS region and use Tags (below) to specify your custom region. + */ + Region: string; + /** + / Game Mode the Game Server instance is running. Note that this must be defined in the Game Modes tab in the PlayFab Game Manager, along with the Build ID (the same Game Mode can be defined for multiple Build IDs). + */ + GameMode: string; + /** + / Tags for the Game Server Instance + */ + Tags?: { [key: string]: string }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Matchmaker.Models/PlayFab.Matchmaker.Models.RegisterGameResponse + */ + export interface RegisterGameResponse extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique identifier generated for the Game Server Instance that is registered. + */ + LobbyId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Matchmaker.Models/PlayFab.Matchmaker.Models.StartGameRequest + */ + export interface StartGameRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier of the previously uploaded build executable which is to be started. + */ + Build: string; + /** + / Region with which to associate the server, for filtering. + */ + Region: string; + /** + / Game mode for this Game Server Instance. + */ + GameMode: string; + /** + / Custom command line argument when starting game server process. + */ + CustomCommandLineData?: string; + /** + / HTTP endpoint URL for receiving game status events, if using an external matchmaker. When the game ends, PlayFab will make a POST request to this URL with the X-SecretKey header set to the value of the game's secret and an application/json body of { "EventName": "game_ended", "GameID": "" }. + */ + ExternalMatchmakerEventEndpoint: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Matchmaker.Models/PlayFab.Matchmaker.Models.StartGameResponse + */ + export interface StartGameResponse extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique identifier for the game/lobby in the new Game Server Instance. + */ + GameID?: string; + /** + / IP address of the new Game Server Instance. + */ + ServerHostname?: string; + /** + / Port number for communication with the Game Server Instance. + */ + ServerPort: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Matchmaker.Models/PlayFab.Matchmaker.Models.UserInfoRequest + */ + export interface UserInfoRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / PlayFab unique identifier of the user whose information is being requested. + */ + PlayFabId: string; + /** + / Minimum catalog version for which data is requested (filters the results to only contain inventory items which have a catalog version of this or higher). + */ + MinCatalogVersion: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Matchmaker.Models/PlayFab.Matchmaker.Models.UserInfoResponse + */ + export interface UserInfoResponse extends PlayFabModule.IPlayFabResultCommon { + /** + / PlayFab unique identifier of the user whose information was requested. + */ + PlayFabId?: string; + /** + / PlayFab unique user name. + */ + Username?: string; + /** + / Title specific display name, if set. + */ + TitleDisplayName?: string; + /** + / Array of inventory items in the user's current inventory. + */ + Inventory?: ItemInstance[]; + /** + / Array of virtual currency balance(s) belonging to the user. + */ + VirtualCurrency?: { [key: string]: number }; + /** + / Array of remaining times and timestamps for virtual currencies. + */ + VirtualCurrencyRechargeTimes?: { [key: string]: VirtualCurrencyRechargeTime }; + /** + / Boolean indicating whether the user is a developer. + */ + IsDeveloper: boolean; + /** + / Steam unique identifier, if the user has an associated Steam account. + */ + SteamId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Matchmaker.Models/PlayFab.Matchmaker.Models.VirtualCurrencyRechargeTime + */ + export interface VirtualCurrencyRechargeTime { + /** + / Time remaining (in seconds) before the next recharge increment of the virtual currency. + */ + SecondsToRecharge: number; + /** + / Server timestamp in UTC indicating the next time the virtual currency will be incremented. + */ + RechargeTime: string; + /** + / Maximum value to which the regenerating currency will automatically increment. Note that it can exceed this value through use of the AddUserVirtualCurrency API call. However, it will not regenerate automatically until it has fallen below this value. + */ + RechargeMax: number; + + } + + +} diff --git a/PlayFabSdk/src/Typings/PlayFab/PlayFabServerApi.d.ts b/PlayFabSdk/src/Typings/PlayFab/PlayFabServerApi.d.ts new file mode 100644 index 00000000..d2dafbe4 --- /dev/null +++ b/PlayFabSdk/src/Typings/PlayFab/PlayFabServerApi.d.ts @@ -0,0 +1,5064 @@ +declare module PlayFabServerModule { + export interface IPlayFabServer { + /** + / Validated a client's session ticket, and if successful, returns details for that user + / https://api.playfab.com/Documentation/Server/method/AuthenticateSessionTicket + */ + AuthenticateSessionTicket(request: PlayFabServerModels.AuthenticateSessionTicketRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Bans users by PlayFab ID with optional IP address, or MAC address for the provided game. + / https://api.playfab.com/Documentation/Server/method/BanUsers + */ + BanUsers(request: PlayFabServerModels.BanUsersRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the unique PlayFab identifiers for the given set of Facebook identifiers. + / https://api.playfab.com/Documentation/Server/method/GetPlayFabIDsFromFacebookIDs + */ + GetPlayFabIDsFromFacebookIDs(request: PlayFabServerModels.GetPlayFabIDsFromFacebookIDsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the unique PlayFab identifiers for the given set of Steam identifiers. The Steam identifiers are the profile IDs for the user accounts, available as SteamId in the Steamworks Community API calls. + / https://api.playfab.com/Documentation/Server/method/GetPlayFabIDsFromSteamIDs + */ + GetPlayFabIDsFromSteamIDs(request: PlayFabServerModels.GetPlayFabIDsFromSteamIDsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the relevant details for a specified user + / https://api.playfab.com/Documentation/Server/method/GetUserAccountInfo + */ + GetUserAccountInfo(request: PlayFabServerModels.GetUserAccountInfoRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Gets all bans for a user. + / https://api.playfab.com/Documentation/Server/method/GetUserBans + */ + GetUserBans(request: PlayFabServerModels.GetUserBansRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Revoke all active bans for a user. + / https://api.playfab.com/Documentation/Server/method/RevokeAllBansForUser + */ + RevokeAllBansForUser(request: PlayFabServerModels.RevokeAllBansForUserRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Revoke all active bans specified with BanId. + / https://api.playfab.com/Documentation/Server/method/RevokeBans + */ + RevokeBans(request: PlayFabServerModels.RevokeBansRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Sends an iOS/Android Push Notification to a specific user, if that user's device has been configured for Push Notifications in PlayFab. If a user has linked both Android and iOS devices, both will be notified. + / https://api.playfab.com/Documentation/Server/method/SendPushNotification + */ + SendPushNotification(request: PlayFabServerModels.SendPushNotificationRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates information of a list of existing bans specified with Ban Ids. + / https://api.playfab.com/Documentation/Server/method/UpdateBans + */ + UpdateBans(request: PlayFabServerModels.UpdateBansRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Deletes the users for the provided game. Deletes custom data, all account linkages, and statistics. + / https://api.playfab.com/Documentation/Server/method/DeleteUsers + */ + DeleteUsers(request: PlayFabServerModels.DeleteUsersRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves a list of ranked friends of the given player for the given statistic, starting from the indicated point in the leaderboard + / https://api.playfab.com/Documentation/Server/method/GetFriendLeaderboard + */ + GetFriendLeaderboard(request: PlayFabServerModels.GetFriendLeaderboardRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves a list of ranked users for the given statistic, starting from the indicated point in the leaderboard + / https://api.playfab.com/Documentation/Server/method/GetLeaderboard + */ + GetLeaderboard(request: PlayFabServerModels.GetLeaderboardRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves a list of ranked users for the given statistic, centered on the currently signed-in user + / https://api.playfab.com/Documentation/Server/method/GetLeaderboardAroundUser + */ + GetLeaderboardAroundUser(request: PlayFabServerModels.GetLeaderboardAroundUserRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Returns whatever info is requested in the response for the user. Note that PII (like email address, facebook id) may be returned. All parameters default to false. + / https://api.playfab.com/Documentation/Server/method/GetPlayerCombinedInfo + */ + GetPlayerCombinedInfo(request: PlayFabServerModels.GetPlayerCombinedInfoRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the current version and values for the indicated statistics, for the local player. + / https://api.playfab.com/Documentation/Server/method/GetPlayerStatistics + */ + GetPlayerStatistics(request: PlayFabServerModels.GetPlayerStatisticsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the information on the available versions of the specified statistic. + / https://api.playfab.com/Documentation/Server/method/GetPlayerStatisticVersions + */ + GetPlayerStatisticVersions(request: PlayFabServerModels.GetPlayerStatisticVersionsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the title-specific custom data for the user which is readable and writable by the client + / https://api.playfab.com/Documentation/Server/method/GetUserData + */ + GetUserData(request: PlayFabServerModels.GetUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the title-specific custom data for the user which cannot be accessed by the client + / https://api.playfab.com/Documentation/Server/method/GetUserInternalData + */ + GetUserInternalData(request: PlayFabServerModels.GetUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the publisher-specific custom data for the user which is readable and writable by the client + / https://api.playfab.com/Documentation/Server/method/GetUserPublisherData + */ + GetUserPublisherData(request: PlayFabServerModels.GetUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the publisher-specific custom data for the user which cannot be accessed by the client + / https://api.playfab.com/Documentation/Server/method/GetUserPublisherInternalData + */ + GetUserPublisherInternalData(request: PlayFabServerModels.GetUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the publisher-specific custom data for the user which can only be read by the client + / https://api.playfab.com/Documentation/Server/method/GetUserPublisherReadOnlyData + */ + GetUserPublisherReadOnlyData(request: PlayFabServerModels.GetUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the title-specific custom data for the user which can only be read by the client + / https://api.playfab.com/Documentation/Server/method/GetUserReadOnlyData + */ + GetUserReadOnlyData(request: PlayFabServerModels.GetUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the values of the specified title-specific statistics for the user + / https://api.playfab.com/Documentation/Server/method/UpdatePlayerStatistics + */ + UpdatePlayerStatistics(request: PlayFabServerModels.UpdatePlayerStatisticsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the title-specific custom data for the user which is readable and writable by the client + / https://api.playfab.com/Documentation/Server/method/UpdateUserData + */ + UpdateUserData(request: PlayFabServerModels.UpdateUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the title-specific custom data for the user which cannot be accessed by the client + / https://api.playfab.com/Documentation/Server/method/UpdateUserInternalData + */ + UpdateUserInternalData(request: PlayFabServerModels.UpdateUserInternalDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the publisher-specific custom data for the user which is readable and writable by the client + / https://api.playfab.com/Documentation/Server/method/UpdateUserPublisherData + */ + UpdateUserPublisherData(request: PlayFabServerModels.UpdateUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the publisher-specific custom data for the user which cannot be accessed by the client + / https://api.playfab.com/Documentation/Server/method/UpdateUserPublisherInternalData + */ + UpdateUserPublisherInternalData(request: PlayFabServerModels.UpdateUserInternalDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the publisher-specific custom data for the user which can only be read by the client + / https://api.playfab.com/Documentation/Server/method/UpdateUserPublisherReadOnlyData + */ + UpdateUserPublisherReadOnlyData(request: PlayFabServerModels.UpdateUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the title-specific custom data for the user which can only be read by the client + / https://api.playfab.com/Documentation/Server/method/UpdateUserReadOnlyData + */ + UpdateUserReadOnlyData(request: PlayFabServerModels.UpdateUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the specified version of the title's catalog of virtual goods, including all defined properties + / https://api.playfab.com/Documentation/Server/method/GetCatalogItems + */ + GetCatalogItems(request: PlayFabServerModels.GetCatalogItemsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the key-value store of custom publisher settings + / https://api.playfab.com/Documentation/Server/method/GetPublisherData + */ + GetPublisherData(request: PlayFabServerModels.GetPublisherDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the current server time + / https://api.playfab.com/Documentation/Server/method/GetTime + */ + GetTime(request: PlayFabServerModels.GetTimeRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the key-value store of custom title settings + / https://api.playfab.com/Documentation/Server/method/GetTitleData + */ + GetTitleData(request: PlayFabServerModels.GetTitleDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the key-value store of custom internal title settings + / https://api.playfab.com/Documentation/Server/method/GetTitleInternalData + */ + GetTitleInternalData(request: PlayFabServerModels.GetTitleDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the title news feed, as configured in the developer portal + / https://api.playfab.com/Documentation/Server/method/GetTitleNews + */ + GetTitleNews(request: PlayFabServerModels.GetTitleNewsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the key-value store of custom publisher settings + / https://api.playfab.com/Documentation/Server/method/SetPublisherData + */ + SetPublisherData(request: PlayFabServerModels.SetPublisherDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the key-value store of custom title settings + / https://api.playfab.com/Documentation/Server/method/SetTitleData + */ + SetTitleData(request: PlayFabServerModels.SetTitleDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the key-value store of custom title settings + / https://api.playfab.com/Documentation/Server/method/SetTitleInternalData + */ + SetTitleInternalData(request: PlayFabServerModels.SetTitleDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Increments the character's balance of the specified virtual currency by the stated amount + / https://api.playfab.com/Documentation/Server/method/AddCharacterVirtualCurrency + */ + AddCharacterVirtualCurrency(request: PlayFabServerModels.AddCharacterVirtualCurrencyRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Increments the user's balance of the specified virtual currency by the stated amount + / https://api.playfab.com/Documentation/Server/method/AddUserVirtualCurrency + */ + AddUserVirtualCurrency(request: PlayFabServerModels.AddUserVirtualCurrencyRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Consume uses of a consumable item. When all uses are consumed, it will be removed from the player's inventory. + / https://api.playfab.com/Documentation/Server/method/ConsumeItem + */ + ConsumeItem(request: PlayFabServerModels.ConsumeItemRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Returns the result of an evaluation of a Random Result Table - the ItemId from the game Catalog which would have been added to the player inventory, if the Random Result Table were added via a Bundle or a call to UnlockContainer. + / https://api.playfab.com/Documentation/Server/method/EvaluateRandomResultTable + */ + EvaluateRandomResultTable(request: PlayFabServerModels.EvaluateRandomResultTableRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the specified character's current inventory of virtual goods + / https://api.playfab.com/Documentation/Server/method/GetCharacterInventory + */ + GetCharacterInventory(request: PlayFabServerModels.GetCharacterInventoryRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the configuration information for the specified random results tables for the title, including all ItemId values and weights + / https://api.playfab.com/Documentation/Server/method/GetRandomResultTables + */ + GetRandomResultTables(request: PlayFabServerModels.GetRandomResultTablesRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the specified user's current inventory of virtual goods + / https://api.playfab.com/Documentation/Server/method/GetUserInventory + */ + GetUserInventory(request: PlayFabServerModels.GetUserInventoryRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Adds the specified items to the specified character's inventory + / https://api.playfab.com/Documentation/Server/method/GrantItemsToCharacter + */ + GrantItemsToCharacter(request: PlayFabServerModels.GrantItemsToCharacterRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Adds the specified items to the specified user's inventory + / https://api.playfab.com/Documentation/Server/method/GrantItemsToUser + */ + GrantItemsToUser(request: PlayFabServerModels.GrantItemsToUserRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Adds the specified items to the specified user inventories + / https://api.playfab.com/Documentation/Server/method/GrantItemsToUsers + */ + GrantItemsToUsers(request: PlayFabServerModels.GrantItemsToUsersRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Modifies the number of remaining uses of a player's inventory item + / https://api.playfab.com/Documentation/Server/method/ModifyItemUses + */ + ModifyItemUses(request: PlayFabServerModels.ModifyItemUsesRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Moves an item from a character's inventory into another of the users's character's inventory. + / https://api.playfab.com/Documentation/Server/method/MoveItemToCharacterFromCharacter + */ + MoveItemToCharacterFromCharacter(request: PlayFabServerModels.MoveItemToCharacterFromCharacterRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Moves an item from a user's inventory into their character's inventory. + / https://api.playfab.com/Documentation/Server/method/MoveItemToCharacterFromUser + */ + MoveItemToCharacterFromUser(request: PlayFabServerModels.MoveItemToCharacterFromUserRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Moves an item from a character's inventory into the owning user's inventory. + / https://api.playfab.com/Documentation/Server/method/MoveItemToUserFromCharacter + */ + MoveItemToUserFromCharacter(request: PlayFabServerModels.MoveItemToUserFromCharacterRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Adds the virtual goods associated with the coupon to the user's inventory. Coupons can be generated via the Economy->Catalogs tab in the PlayFab Game Manager. + / https://api.playfab.com/Documentation/Server/method/RedeemCoupon + */ + RedeemCoupon(request: PlayFabServerModels.RedeemCouponRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Submit a report about a player (due to bad bahavior, etc.) on behalf of another player, so that customer service representatives for the title can take action concerning potentially toxic players. + / https://api.playfab.com/Documentation/Server/method/ReportPlayer + */ + ReportPlayer(request: PlayFabServerModels.ReportPlayerServerRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Revokes access to an item in a user's inventory + / https://api.playfab.com/Documentation/Server/method/RevokeInventoryItem + */ + RevokeInventoryItem(request: PlayFabServerModels.RevokeInventoryItemRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Decrements the character's balance of the specified virtual currency by the stated amount + / https://api.playfab.com/Documentation/Server/method/SubtractCharacterVirtualCurrency + */ + SubtractCharacterVirtualCurrency(request: PlayFabServerModels.SubtractCharacterVirtualCurrencyRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Decrements the user's balance of the specified virtual currency by the stated amount + / https://api.playfab.com/Documentation/Server/method/SubtractUserVirtualCurrency + */ + SubtractUserVirtualCurrency(request: PlayFabServerModels.SubtractUserVirtualCurrencyRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Opens a specific container (ContainerItemInstanceId), with a specific key (KeyItemInstanceId, when required), and returns the contents of the opened container. If the container (and key when relevant) are consumable (RemainingUses > 0), their RemainingUses will be decremented, consistent with the operation of ConsumeItem. + / https://api.playfab.com/Documentation/Server/method/UnlockContainerInstance + */ + UnlockContainerInstance(request: PlayFabServerModels.UnlockContainerInstanceRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Searches Player or Character inventory for any ItemInstance matching the given CatalogItemId, if necessary unlocks it using any appropriate key, and returns the contents of the opened container. If the container (and key when relevant) are consumable (RemainingUses > 0), their RemainingUses will be decremented, consistent with the operation of ConsumeItem. + / https://api.playfab.com/Documentation/Server/method/UnlockContainerItem + */ + UnlockContainerItem(request: PlayFabServerModels.UnlockContainerItemRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the key-value pair data tagged to the specified item, which is read-only from the client. + / https://api.playfab.com/Documentation/Server/method/UpdateUserInventoryItemCustomData + */ + UpdateUserInventoryItemCustomData(request: PlayFabServerModels.UpdateUserInventoryItemDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Adds the Friend user to the friendlist of the user with PlayFabId. At least one of FriendPlayFabId,FriendUsername,FriendEmail, or FriendTitleDisplayName should be initialized. + / https://api.playfab.com/Documentation/Server/method/AddFriend + */ + AddFriend(request: PlayFabServerModels.AddFriendRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the current friends for the user with PlayFabId, constrained to users who have PlayFab accounts. Friends from linked accounts (Facebook, Steam) are also included. You may optionally exclude some linked services' friends. + / https://api.playfab.com/Documentation/Server/method/GetFriendsList + */ + GetFriendsList(request: PlayFabServerModels.GetFriendsListRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Removes the specified friend from the the user's friend list + / https://api.playfab.com/Documentation/Server/method/RemoveFriend + */ + RemoveFriend(request: PlayFabServerModels.RemoveFriendRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Inform the matchmaker that a Game Server Instance is removed. + / https://api.playfab.com/Documentation/Server/method/DeregisterGame + */ + DeregisterGame(request: PlayFabServerModels.DeregisterGameRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Informs the PlayFab match-making service that the user specified has left the Game Server Instance + / https://api.playfab.com/Documentation/Server/method/NotifyMatchmakerPlayerLeft + */ + NotifyMatchmakerPlayerLeft(request: PlayFabServerModels.NotifyMatchmakerPlayerLeftRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Validates a Game Server session ticket and returns details about the user + / https://api.playfab.com/Documentation/Server/method/RedeemMatchmakerTicket + */ + RedeemMatchmakerTicket(request: PlayFabServerModels.RedeemMatchmakerTicketRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Set the state of the indicated Game Server Instance. Also update the heartbeat for the instance. + / https://api.playfab.com/Documentation/Server/method/RefreshGameServerInstanceHeartbeat + */ + RefreshGameServerInstanceHeartbeat(request: PlayFabServerModels.RefreshGameServerInstanceHeartbeatRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Inform the matchmaker that a new Game Server Instance is added. + / https://api.playfab.com/Documentation/Server/method/RegisterGame + */ + RegisterGame(request: PlayFabServerModels.RegisterGameRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Sets the custom data of the indicated Game Server Instance + / https://api.playfab.com/Documentation/Server/method/SetGameServerInstanceData + */ + SetGameServerInstanceData(request: PlayFabServerModels.SetGameServerInstanceDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Set the state of the indicated Game Server Instance. + / https://api.playfab.com/Documentation/Server/method/SetGameServerInstanceState + */ + SetGameServerInstanceState(request: PlayFabServerModels.SetGameServerInstanceStateRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Set custom tags for the specified Game Server Instance + / https://api.playfab.com/Documentation/Server/method/SetGameServerInstanceTags + */ + SetGameServerInstanceTags(request: PlayFabServerModels.SetGameServerInstanceTagsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Awards the specified users the specified Steam achievements + / https://api.playfab.com/Documentation/Server/method/AwardSteamAchievement + */ + AwardSteamAchievement(request: PlayFabServerModels.AwardSteamAchievementRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Writes a character-based event into PlayStream. + / https://api.playfab.com/Documentation/Server/method/WriteCharacterEvent + */ + WriteCharacterEvent(request: PlayFabServerModels.WriteServerCharacterEventRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Writes a player-based event into PlayStream. + / https://api.playfab.com/Documentation/Server/method/WritePlayerEvent + */ + WritePlayerEvent(request: PlayFabServerModels.WriteServerPlayerEventRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Writes a title-based event into PlayStream. + / https://api.playfab.com/Documentation/Server/method/WriteTitleEvent + */ + WriteTitleEvent(request: PlayFabServerModels.WriteTitleEventRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Adds users to the set of those able to update both the shared data, as well as the set of users in the group. Only users in the group (and the server) can add new members. + / https://api.playfab.com/Documentation/Server/method/AddSharedGroupMembers + */ + AddSharedGroupMembers(request: PlayFabServerModels.AddSharedGroupMembersRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Requests the creation of a shared group object, containing key/value pairs which may be updated by all members of the group. When created by a server, the group will initially have no members. + / https://api.playfab.com/Documentation/Server/method/CreateSharedGroup + */ + CreateSharedGroup(request: PlayFabServerModels.CreateSharedGroupRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Deletes a shared group, freeing up the shared group ID to be reused for a new group + / https://api.playfab.com/Documentation/Server/method/DeleteSharedGroup + */ + DeleteSharedGroup(request: PlayFabServerModels.DeleteSharedGroupRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves data stored in a shared group object, as well as the list of members in the group. The server can access all public and private group data. + / https://api.playfab.com/Documentation/Server/method/GetSharedGroupData + */ + GetSharedGroupData(request: PlayFabServerModels.GetSharedGroupDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Removes users from the set of those able to update the shared data and the set of users in the group. Only users in the group can remove members. If as a result of the call, zero users remain with access, the group and its associated data will be deleted. + / https://api.playfab.com/Documentation/Server/method/RemoveSharedGroupMembers + */ + RemoveSharedGroupMembers(request: PlayFabServerModels.RemoveSharedGroupMembersRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Adds, updates, and removes data keys for a shared group object. If the permission is set to Public, all fields updated or added in this call will be readable by users not in the group. By default, data permissions are set to Private. Regardless of the permission setting, only members of the group (and the server) can update the data. + / https://api.playfab.com/Documentation/Server/method/UpdateSharedGroupData + */ + UpdateSharedGroupData(request: PlayFabServerModels.UpdateSharedGroupDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Executes a CloudScript function, with the 'currentPlayerId' variable set to the specified PlayFabId parameter value. + / https://api.playfab.com/Documentation/Server/method/ExecuteCloudScript + */ + ExecuteCloudScript(request: PlayFabServerModels.ExecuteCloudScriptServerRequest, callback: PlayFabModule.ApiCallback): void; + /** + / This API retrieves a pre-signed URL for accessing a content file for the title. A subsequent HTTP GET to the returned URL will attempt to download the content. A HEAD query to the returned URL will attempt to retrieve the metadata of the content. Note that a successful result does not guarantee the existence of this content - if it has not been uploaded, the query to retrieve the data will fail. See this post for more information: https://community.playfab.com/hc/en-us/community/posts/205469488-How-to-upload-files-to-PlayFab-s-Content-Service. Also, please be aware that the Content service is specifically PlayFab's CDN offering, for which standard CDN rates apply. + / https://api.playfab.com/Documentation/Server/method/GetContentDownloadUrl + */ + GetContentDownloadUrl(request: PlayFabServerModels.GetContentDownloadUrlRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Deletes the specific character ID from the specified user. + / https://api.playfab.com/Documentation/Server/method/DeleteCharacterFromUser + */ + DeleteCharacterFromUser(request: PlayFabServerModels.DeleteCharacterFromUserRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Lists all of the characters that belong to a specific user. CharacterIds are not globally unique; characterId must be evaluated with the parent PlayFabId to guarantee uniqueness. + / https://api.playfab.com/Documentation/Server/method/GetAllUsersCharacters + */ + GetAllUsersCharacters(request: PlayFabServerModels.ListUsersCharactersRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves a list of ranked characters for the given statistic, starting from the indicated point in the leaderboard + / https://api.playfab.com/Documentation/Server/method/GetCharacterLeaderboard + */ + GetCharacterLeaderboard(request: PlayFabServerModels.GetCharacterLeaderboardRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the details of all title-specific statistics for the specific character + / https://api.playfab.com/Documentation/Server/method/GetCharacterStatistics + */ + GetCharacterStatistics(request: PlayFabServerModels.GetCharacterStatisticsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves a list of ranked characters for the given statistic, centered on the requested user + / https://api.playfab.com/Documentation/Server/method/GetLeaderboardAroundCharacter + */ + GetLeaderboardAroundCharacter(request: PlayFabServerModels.GetLeaderboardAroundCharacterRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves a list of all of the user's characters for the given statistic. + / https://api.playfab.com/Documentation/Server/method/GetLeaderboardForUserCharacters + */ + GetLeaderboardForUserCharacters(request: PlayFabServerModels.GetLeaderboardForUsersCharactersRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Grants the specified character type to the user. CharacterIds are not globally unique; characterId must be evaluated with the parent PlayFabId to guarantee uniqueness. + / https://api.playfab.com/Documentation/Server/method/GrantCharacterToUser + */ + GrantCharacterToUser(request: PlayFabServerModels.GrantCharacterToUserRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the values of the specified title-specific statistics for the specific character + / https://api.playfab.com/Documentation/Server/method/UpdateCharacterStatistics + */ + UpdateCharacterStatistics(request: PlayFabServerModels.UpdateCharacterStatisticsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the title-specific custom data for the user which is readable and writable by the client + / https://api.playfab.com/Documentation/Server/method/GetCharacterData + */ + GetCharacterData(request: PlayFabServerModels.GetCharacterDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the title-specific custom data for the user's character which cannot be accessed by the client + / https://api.playfab.com/Documentation/Server/method/GetCharacterInternalData + */ + GetCharacterInternalData(request: PlayFabServerModels.GetCharacterDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the title-specific custom data for the user's character which can only be read by the client + / https://api.playfab.com/Documentation/Server/method/GetCharacterReadOnlyData + */ + GetCharacterReadOnlyData(request: PlayFabServerModels.GetCharacterDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the title-specific custom data for the user's chjaracter which is readable and writable by the client + / https://api.playfab.com/Documentation/Server/method/UpdateCharacterData + */ + UpdateCharacterData(request: PlayFabServerModels.UpdateCharacterDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the title-specific custom data for the user's character which cannot be accessed by the client + / https://api.playfab.com/Documentation/Server/method/UpdateCharacterInternalData + */ + UpdateCharacterInternalData(request: PlayFabServerModels.UpdateCharacterDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the title-specific custom data for the user's character which can only be read by the client + / https://api.playfab.com/Documentation/Server/method/UpdateCharacterReadOnlyData + */ + UpdateCharacterReadOnlyData(request: PlayFabServerModels.UpdateCharacterDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Adds a given tag to a player profile. The tag's namespace is automatically generated based on the source of the tag. + / https://api.playfab.com/Documentation/Server/method/AddPlayerTag + */ + AddPlayerTag(request: PlayFabServerModels.AddPlayerTagRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieve a list of all PlayStream actions groups. + / https://api.playfab.com/Documentation/Server/method/GetAllActionGroups + */ + GetAllActionGroups(request: PlayFabServerModels.GetAllActionGroupsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves an array of player segment definitions. Results from this can be used in subsequent API calls such as GetPlayersInSegment which requires a Segment ID. While segment names can change the ID for that segment will not change. + / https://api.playfab.com/Documentation/Server/method/GetAllSegments + */ + GetAllSegments(request: PlayFabServerModels.GetAllSegmentsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / List all segments that a player currently belongs to at this moment in time. + / https://api.playfab.com/Documentation/Server/method/GetPlayerSegments + */ + GetPlayerSegments(request: PlayFabServerModels.GetPlayersSegmentsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Allows for paging through all players in a given segment. This API creates a snapshot of all player profiles that match the segment definition at the time of its creation and lives through the Total Seconds to Live, refreshing its life span on each subsequent use of the Continuation Token. Profiles that change during the course of paging will not be reflected in the results. AB Test segments are currently not supported by this operation. + / https://api.playfab.com/Documentation/Server/method/GetPlayersInSegment + */ + GetPlayersInSegment(request: PlayFabServerModels.GetPlayersInSegmentRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Get all tags with a given Namespace (optional) from a player profile. + / https://api.playfab.com/Documentation/Server/method/GetPlayerTags + */ + GetPlayerTags(request: PlayFabServerModels.GetPlayerTagsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Remove a given tag from a player profile. The tag's namespace is automatically generated based on the source of the tag. + / https://api.playfab.com/Documentation/Server/method/RemovePlayerTag + */ + RemovePlayerTag(request: PlayFabServerModels.RemovePlayerTagRequest, callback: PlayFabModule.ApiCallback): void; + + } +} + +declare module PlayFabServerModels { + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ActionsOnPlayersInSegmentTaskSummary + */ + export interface ActionsOnPlayersInSegmentTaskSummary { + /** + / ID of the task instance. + */ + TaskInstanceId?: string; + /** + / Identifier of the task this instance belongs to. + */ + TaskIdentifier?: NameIdentifier; + /** + / UTC timestamp when the task started. + */ + StartedAt: string; + /** + / UTC timestamp when the task completed. + */ + CompletedAt?: string; + /** + / Current status of the task instance. + */ + Status?: string; + /** + / Progress represented as percentage. + */ + PercentComplete?: number; + /** + / Estimated time remaining in seconds. + */ + EstimatedSecondsRemaining?: number; + /** + / If manually scheduled, ID of user who scheduled the task. + */ + ScheduledByUserId?: string; + /** + / Error message for last processing attempt, if an error occured. + */ + ErrorMessage?: string; + /** + / Flag indicating if the error was fatal, if false job will be retried. + */ + ErrorWasFatal?: boolean; + /** + / Total players in segment when task was started. + */ + TotalPlayersInSegment?: number; + /** + / Total number of players that have had the actions applied to. + */ + TotalPlayersProcessed?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AdCampaignAttribution + */ + export interface AdCampaignAttribution { + /** + / Attribution network name + */ + Platform?: string; + /** + / Attribution campaign identifier + */ + CampaignId?: string; + /** + / UTC time stamp of attribution + */ + AttributedAt: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AddCharacterVirtualCurrencyRequest + */ + export interface AddCharacterVirtualCurrencyRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / PlayFab unique identifier of the user whose virtual currency balance is to be incremented. + */ + PlayFabId: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + /** + / Name of the virtual currency which is to be incremented. + */ + VirtualCurrency: string; + /** + / Amount to be added to the character balance of the specified virtual currency. Maximum VC balance is Int32 (2,147,483,647). Any increase over this value will be discarded. + */ + Amount: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AddFriendRequest + */ + export interface AddFriendRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / PlayFab identifier of the player to add a new friend. + */ + PlayFabId: string; + /** + / The PlayFab identifier of the user being added. + */ + FriendPlayFabId?: string; + /** + / The PlayFab username of the user being added + */ + FriendUsername?: string; + /** + / Email address of the user being added. + */ + FriendEmail?: string; + /** + / Title-specific display name of the user to being added. + */ + FriendTitleDisplayName?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AddPlayerTagRequest + */ + export interface AddPlayerTagRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique tag for player profile. + */ + TagName: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AddPlayerTagResult + */ + export interface AddPlayerTagResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AddSharedGroupMembersRequest + */ + export interface AddSharedGroupMembersRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the shared group. + */ + SharedGroupId: string; + /** + / An array of unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabIds: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AddSharedGroupMembersResult + */ + export interface AddSharedGroupMembersResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AddUserVirtualCurrencyRequest + */ + export interface AddUserVirtualCurrencyRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / PlayFab unique identifier of the user whose virtual currency balance is to be increased. + */ + PlayFabId: string; + /** + / Name of the virtual currency which is to be incremented. + */ + VirtualCurrency: string; + /** + / Amount to be added to the user balance of the specified virtual currency. Maximum VC balance is Int32 (2,147,483,647). Any increase over this value will be discarded. + */ + Amount: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AuthenticateSessionTicketRequest + */ + export interface AuthenticateSessionTicketRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Session ticket as issued by a PlayFab client login API. + */ + SessionTicket: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AuthenticateSessionTicketResult + */ + export interface AuthenticateSessionTicketResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Account info for the user whose session ticket was supplied. + */ + UserInfo?: UserAccountInfo; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AwardSteamAchievementItem + */ + export interface AwardSteamAchievementItem { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique Steam achievement name. + */ + AchievementName: string; + /** + / Result of the award attempt (only valid on response, not on request). + */ + Result: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AwardSteamAchievementRequest + */ + export interface AwardSteamAchievementRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Array of achievements to grant and the users to whom they are to be granted. + */ + Achievements: AwardSteamAchievementItem[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AwardSteamAchievementResult + */ + export interface AwardSteamAchievementResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Array of achievements granted. + */ + AchievementResults?: AwardSteamAchievementItem[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.BanInfo + */ + export interface BanInfo { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId?: string; + /** + / The unique Ban Id associated with this ban. + */ + BanId?: string; + /** + / The IP address on which the ban was applied. May affect multiple players. + */ + IPAddress?: string; + /** + / The MAC address on which the ban was applied. May affect multiple players. + */ + MACAddress?: string; + /** + / The time when this ban was applied. + */ + Created?: string; + /** + / The time when this ban expires. Permanent bans do not have expiration date. + */ + Expires?: string; + /** + / The reason why this ban was applied. + */ + Reason?: string; + /** + / The active state of this ban. Expired bans may still have this value set to true but they will have no effect. + */ + Active: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.BanRequest + */ + export interface BanRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / IP address to be banned. May affect multiple players. + */ + IPAddress?: string; + /** + / MAC address to be banned. May affect multiple players. + */ + MACAddress?: string; + /** + / The reason for this ban. Maximum 140 characters. + */ + Reason?: string; + /** + / The duration in hours for the ban. Leave this blank for a permanent ban. + */ + DurationInHours?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.BanUsersRequest + */ + export interface BanUsersRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / List of ban requests to be applied. Maximum 100. + */ + Bans: BanRequest[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.BanUsersResult + */ + export interface BanUsersResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Information on the bans that were applied + */ + BanData?: BanInfo[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.CatalogItem + */ + export interface CatalogItem { + /** + / unique identifier for this item + */ + ItemId: string; + /** + / class to which the item belongs + */ + ItemClass?: string; + /** + / catalog version for this item + */ + CatalogVersion?: string; + /** + / text name for the item, to show in-game + */ + DisplayName?: string; + /** + / text description of item, to show in-game + */ + Description?: string; + /** + / price of this item in virtual currencies and "RM" (the base Real Money purchase price, in USD pennies) + */ + VirtualCurrencyPrices?: { [key: string]: number }; + /** + / override prices for this item for specific currencies + */ + RealCurrencyPrices?: { [key: string]: number }; + /** + / list of item tags + */ + Tags?: string[]; + /** + / game specific custom data + */ + CustomData?: string; + /** + / defines the consumable properties (number of uses, timeout) for the item + */ + Consumable?: CatalogItemConsumableInfo; + /** + / defines the container properties for the item - what items it contains, including random drop tables and virtual currencies, and what item (if any) is required to open it via the UnlockContainerItem API + */ + Container?: CatalogItemContainerInfo; + /** + / defines the bundle properties for the item - bundles are items which contain other items, including random drop tables and virtual currencies + */ + Bundle?: CatalogItemBundleInfo; + /** + / if true, then an item instance of this type can be used to grant a character to a user. + */ + CanBecomeCharacter: boolean; + /** + / if true, then only one item instance of this type will exist and its remaininguses will be incremented instead. RemainingUses will cap out at Int32.Max (2,147,483,647). All subsequent increases will be discarded + */ + IsStackable: boolean; + /** + / if true, then an item instance of this type can be traded between players using the trading APIs + */ + IsTradable: boolean; + /** + / URL to the item image. For Facebook purchase to display the image on the item purchase page, this must be set to an HTTP URL. + */ + ItemImageUrl?: string; + /** + / BETA: If true, then only a fixed number can ever be granted. + */ + IsLimitedEdition: boolean; + /** + / If the item has IsLImitedEdition set to true, and this is the first time this ItemId has been defined as a limited edition item, this value determines the total number of instances to allocate for the title. Once this limit has been reached, no more instances of this ItemId can be created, and attempts to purchase or grant it will return a Result of false for that ItemId. If the item has already been defined to have a limited edition count, or if this value is less than zero, it will be ignored. + */ + InitialLimitedEditionCount: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.CatalogItemBundleInfo + */ + export interface CatalogItemBundleInfo { + /** + / unique ItemId values for all items which will be added to the player inventory when the bundle is added + */ + BundledItems?: string[]; + /** + / unique TableId values for all RandomResultTable objects which are part of the bundle (random tables will be resolved and add the relevant items to the player inventory when the bundle is added) + */ + BundledResultTables?: string[]; + /** + / virtual currency types and balances which will be added to the player inventory when the bundle is added + */ + BundledVirtualCurrencies?: { [key: string]: number }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.CatalogItemConsumableInfo + */ + export interface CatalogItemConsumableInfo { + /** + / number of times this object can be used, after which it will be removed from the player inventory + */ + UsageCount?: number; + /** + / duration in seconds for how long the item will remain in the player inventory - once elapsed, the item will be removed (recommended minimum value is 5 seconds, as lower values can cause the item to expire before operations depending on this item's details have completed) + */ + UsagePeriod?: number; + /** + / all inventory item instances in the player inventory sharing a non-null UsagePeriodGroup have their UsagePeriod values added together, and share the result - when that period has elapsed, all the items in the group will be removed + */ + UsagePeriodGroup?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.CatalogItemContainerInfo + */ + export interface CatalogItemContainerInfo { + /** + / ItemId for the catalog item used to unlock the container, if any (if not specified, a call to UnlockContainerItem will open the container, adding the contents to the player inventory and currency balances) + */ + KeyItemId?: string; + /** + / unique ItemId values for all items which will be added to the player inventory, once the container has been unlocked + */ + ItemContents?: string[]; + /** + / unique TableId values for all RandomResultTable objects which are part of the container (once unlocked, random tables will be resolved and add the relevant items to the player inventory) + */ + ResultTableContents?: string[]; + /** + / virtual currency types and balances which will be added to the player inventory when the container is unlocked + */ + VirtualCurrencyContents?: { [key: string]: number }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.CharacterInventory + */ + export interface CharacterInventory { + /** + / The id of this character. + */ + CharacterId?: string; + /** + / The inventory of this character. + */ + Inventory?: ItemInstance[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.CharacterLeaderboardEntry + */ + export interface CharacterLeaderboardEntry { + /** + / PlayFab unique identifier of the user for this leaderboard entry. + */ + PlayFabId?: string; + /** + / PlayFab unique identifier of the character that belongs to the user for this leaderboard entry. + */ + CharacterId?: string; + /** + / Title-specific display name of the character for this leaderboard entry. + */ + CharacterName?: string; + /** + / Title-specific display name of the user for this leaderboard entry. + */ + DisplayName?: string; + /** + / Name of the character class for this entry. + */ + CharacterType?: string; + /** + / Specific value of the user's statistic. + */ + StatValue: number; + /** + / User's overall position in the leaderboard. + */ + Position: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.CharacterResult + */ + export interface CharacterResult extends PlayFabModule.IPlayFabResultCommon { + /** + / The id for this character on this player. + */ + CharacterId?: string; + /** + / The name of this character. + */ + CharacterName?: string; + /** + / The type-string that was given to this character on creation. + */ + CharacterType?: string; + + } + + type CloudScriptRevisionOption = "Live" + | "Latest" + | "Specific"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ConsumeItemRequest + */ + export interface ConsumeItemRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique instance identifier of the item to be consumed. + */ + ItemInstanceId: string; + /** + / Number of uses to consume from the item. + */ + ConsumeCount: number; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ConsumeItemResult + */ + export interface ConsumeItemResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique instance identifier of the item with uses consumed. + */ + ItemInstanceId?: string; + /** + / Number of uses remaining on the item. + */ + RemainingUses: number; + + } + + type ContinentCode = "AF" + | "AN" + | "AS" + | "EU" + | "NA" + | "OC" + | "SA"; + + type CountryCode = "AF" + | "AX" + | "AL" + | "DZ" + | "AS" + | "AD" + | "AO" + | "AI" + | "AQ" + | "AG" + | "AR" + | "AM" + | "AW" + | "AU" + | "AT" + | "AZ" + | "BS" + | "BH" + | "BD" + | "BB" + | "BY" + | "BE" + | "BZ" + | "BJ" + | "BM" + | "BT" + | "BO" + | "BQ" + | "BA" + | "BW" + | "BV" + | "BR" + | "IO" + | "BN" + | "BG" + | "BF" + | "BI" + | "KH" + | "CM" + | "CA" + | "CV" + | "KY" + | "CF" + | "TD" + | "CL" + | "CN" + | "CX" + | "CC" + | "CO" + | "KM" + | "CG" + | "CD" + | "CK" + | "CR" + | "CI" + | "HR" + | "CU" + | "CW" + | "CY" + | "CZ" + | "DK" + | "DJ" + | "DM" + | "DO" + | "EC" + | "EG" + | "SV" + | "GQ" + | "ER" + | "EE" + | "ET" + | "FK" + | "FO" + | "FJ" + | "FI" + | "FR" + | "GF" + | "PF" + | "TF" + | "GA" + | "GM" + | "GE" + | "DE" + | "GH" + | "GI" + | "GR" + | "GL" + | "GD" + | "GP" + | "GU" + | "GT" + | "GG" + | "GN" + | "GW" + | "GY" + | "HT" + | "HM" + | "VA" + | "HN" + | "HK" + | "HU" + | "IS" + | "IN" + | "ID" + | "IR" + | "IQ" + | "IE" + | "IM" + | "IL" + | "IT" + | "JM" + | "JP" + | "JE" + | "JO" + | "KZ" + | "KE" + | "KI" + | "KP" + | "KR" + | "KW" + | "KG" + | "LA" + | "LV" + | "LB" + | "LS" + | "LR" + | "LY" + | "LI" + | "LT" + | "LU" + | "MO" + | "MK" + | "MG" + | "MW" + | "MY" + | "MV" + | "ML" + | "MT" + | "MH" + | "MQ" + | "MR" + | "MU" + | "YT" + | "MX" + | "FM" + | "MD" + | "MC" + | "MN" + | "ME" + | "MS" + | "MA" + | "MZ" + | "MM" + | "NA" + | "NR" + | "NP" + | "NL" + | "NC" + | "NZ" + | "NI" + | "NE" + | "NG" + | "NU" + | "NF" + | "MP" + | "NO" + | "OM" + | "PK" + | "PW" + | "PS" + | "PA" + | "PG" + | "PY" + | "PE" + | "PH" + | "PN" + | "PL" + | "PT" + | "PR" + | "QA" + | "RE" + | "RO" + | "RU" + | "RW" + | "BL" + | "SH" + | "KN" + | "LC" + | "MF" + | "PM" + | "VC" + | "WS" + | "SM" + | "ST" + | "SA" + | "SN" + | "RS" + | "SC" + | "SL" + | "SG" + | "SX" + | "SK" + | "SI" + | "SB" + | "SO" + | "ZA" + | "GS" + | "SS" + | "ES" + | "LK" + | "SD" + | "SR" + | "SJ" + | "SZ" + | "SE" + | "CH" + | "SY" + | "TW" + | "TJ" + | "TZ" + | "TH" + | "TL" + | "TG" + | "TK" + | "TO" + | "TT" + | "TN" + | "TR" + | "TM" + | "TC" + | "TV" + | "UG" + | "UA" + | "AE" + | "GB" + | "US" + | "UM" + | "UY" + | "UZ" + | "VU" + | "VE" + | "VN" + | "VG" + | "VI" + | "WF" + | "EH" + | "YE" + | "ZM" + | "ZW"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.CreateSharedGroupRequest + */ + export interface CreateSharedGroupRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the shared group (a random identifier will be assigned, if one is not specified). + */ + SharedGroupId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.CreateSharedGroupResult + */ + export interface CreateSharedGroupResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique identifier for the shared group. + */ + SharedGroupId?: string; + + } + + type Currency = "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYR" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.DeleteCharacterFromUserRequest + */ + export interface DeleteCharacterFromUserRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + /** + / If true, the character's inventory will be transferred up to the owning user; otherwise, this request will purge those items. + */ + SaveCharacterInventory: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.DeleteCharacterFromUserResult + */ + export interface DeleteCharacterFromUserResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.DeleteSharedGroupRequest + */ + export interface DeleteSharedGroupRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the shared group. + */ + SharedGroupId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.DeleteUsersRequest + */ + export interface DeleteUsersRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / An array of unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabIds: string[]; + /** + / Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected. + */ + TitleId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.DeleteUsersResult + */ + export interface DeleteUsersResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.DeregisterGameRequest + */ + export interface DeregisterGameRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the Game Server Instance that is being deregistered. + */ + LobbyId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.DeregisterGameResponse + */ + export interface DeregisterGameResponse extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.EmptyResult + */ + export interface EmptyResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.EvaluateRandomResultTableRequest + */ + export interface EvaluateRandomResultTableRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / The unique identifier of the Random Result Table to use. + */ + TableId: string; + /** + / Specifies the catalog version that should be used to evaluate the Random Result Table. If unspecified, uses default/primary catalog. + */ + CatalogVersion?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.EvaluateRandomResultTableResult + */ + export interface EvaluateRandomResultTableResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique identifier for the item returned from the Random Result Table evaluation, for the given catalog. + */ + ResultItemId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ExecuteCloudScriptResult + */ + export interface ExecuteCloudScriptResult extends PlayFabModule.IPlayFabResultCommon { + /** + / The name of the function that executed + */ + FunctionName?: string; + /** + / The revision of the CloudScript that executed + */ + Revision: number; + /** + / The object returned from the CloudScript function, if any + */ + FunctionResult?: any; + /** + / Entries logged during the function execution. These include both entries logged in the function code using log.info() and log.error() and error entries for API and HTTP request failures. + */ + Logs?: LogStatement[]; + ExecutionTimeSeconds: number; + /** + / Processor time consumed while executing the function. This does not include time spent waiting on API calls or HTTP requests. + */ + ProcessorTimeSeconds: number; + MemoryConsumedBytes: number; + /** + / Number of PlayFab API requests issued by the CloudScript function + */ + APIRequestsIssued: number; + /** + / Number of external HTTP requests issued by the CloudScript function + */ + HttpRequestsIssued: number; + /** + / Information about the error, if any, that occured during execution + */ + Error?: ScriptExecutionError; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ExecuteCloudScriptServerRequest + */ + export interface ExecuteCloudScriptServerRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / The unique user identifier for the player on whose behalf the script is being run + */ + PlayFabId: string; + /** + / The name of the CloudScript function to execute + */ + FunctionName: string; + /** + / Object that is passed in to the function as the first argument + */ + FunctionParameter?: any; + /** + / Option for which revision of the CloudScript to execute. 'Latest' executes the most recently created revision, 'Live' executes the current live, published revision, and 'Specific' executes the specified revision. The default value is 'Specific', if the SpeificRevision parameter is specified, otherwise it is 'Live'. + */ + RevisionSelection?: string; + /** + / The specivic revision to execute, when RevisionSelection is set to 'Specific' + */ + SpecificRevision?: number; + /** + / Generate a 'player_executed_cloudscript' PlayStream event containing the results of the function execution and other contextual information. This event will show up in the PlayStream debugger console for the player in Game Manager. + */ + GeneratePlayStreamEvent?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.FacebookPlayFabIdPair + */ + export interface FacebookPlayFabIdPair { + /** + / Unique Facebook identifier for a user. + */ + FacebookId?: string; + /** + / Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the Facebook identifier. + */ + PlayFabId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.FriendInfo + */ + export interface FriendInfo { + /** + / PlayFab unique identifier for this friend. + */ + FriendPlayFabId?: string; + /** + / PlayFab unique username for this friend. + */ + Username?: string; + /** + / Title-specific display name for this friend. + */ + TitleDisplayName?: string; + /** + / Tags which have been associated with this friend. + */ + Tags?: string[]; + /** + / Unique lobby identifier of the Game Server Instance to which this player is currently connected. + */ + CurrentMatchmakerLobbyId?: string; + /** + / Available Facebook information (if the user and PlayFab friend are also connected in Facebook). + */ + FacebookInfo?: UserFacebookInfo; + /** + / Available Steam information (if the user and PlayFab friend are also connected in Steam). + */ + SteamInfo?: UserSteamInfo; + /** + / Available Game Center information (if the user and PlayFab friend are also connected in Game Center). + */ + GameCenterInfo?: UserGameCenterInfo; + + } + + type GameInstanceState = "Open" + | "Closed"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetActionGroupResult + */ + export interface GetActionGroupResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Action Group name + */ + Name: string; + /** + / Action Group ID + */ + Id?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetAllActionGroupsRequest + */ + export interface GetAllActionGroupsRequest extends PlayFabModule.IPlayFabRequestCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetAllActionGroupsResult + */ + export interface GetAllActionGroupsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / List of Action Groups. + */ + ActionGroups: GetActionGroupResult[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetAllSegmentsRequest + */ + export interface GetAllSegmentsRequest extends PlayFabModule.IPlayFabRequestCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetAllSegmentsResult + */ + export interface GetAllSegmentsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Array of segments for this title. + */ + Segments?: GetSegmentResult[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetCatalogItemsRequest + */ + export interface GetCatalogItemsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Which catalog is being requested. If null, uses the default catalog. + */ + CatalogVersion?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetCatalogItemsResult + */ + export interface GetCatalogItemsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Array of items which can be purchased. + */ + Catalog?: CatalogItem[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetCharacterDataRequest + */ + export interface GetCharacterDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + /** + / Specific keys to search for in the custom user data. + */ + Keys?: string[]; + /** + / The version that currently exists according to the caller. The call will return the data for all of the keys if the version in the system is greater than this. + */ + IfChangedFromDataVersion?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetCharacterDataResult + */ + export interface GetCharacterDataResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId?: string; + /** + / Indicates the current version of the data that has been set. This is incremented with every set call for that type of data (read-only, internal, etc). This version can be provided in Get calls to find updated data. + */ + DataVersion: number; + /** + / User specific data for this title. + */ + Data?: { [key: string]: UserDataRecord }; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetCharacterInventoryRequest + */ + export interface GetCharacterInventoryRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + /** + / Used to limit results to only those from a specific catalog version. + */ + CatalogVersion?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetCharacterInventoryResult + */ + export interface GetCharacterInventoryResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId?: string; + /** + / Unique identifier of the character for this inventory. + */ + CharacterId?: string; + /** + / Array of inventory items belonging to the character. + */ + Inventory?: ItemInstance[]; + /** + / Array of virtual currency balance(s) belonging to the character. + */ + VirtualCurrency?: { [key: string]: number }; + /** + / Array of remaining times and timestamps for virtual currencies. + */ + VirtualCurrencyRechargeTimes?: { [key: string]: VirtualCurrencyRechargeTime }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetCharacterLeaderboardRequest + */ + export interface GetCharacterLeaderboardRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + /** + / Optional character type on which to filter the leaderboard entries. + */ + CharacterType?: string; + /** + / Unique identifier for the title-specific statistic for the leaderboard. + */ + StatisticName: string; + /** + / First entry in the leaderboard to be retrieved. + */ + StartPosition: number; + /** + / Maximum number of entries to retrieve. + */ + MaxResultsCount: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetCharacterLeaderboardResult + */ + export interface GetCharacterLeaderboardResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Ordered list of leaderboard entries. + */ + Leaderboard?: CharacterLeaderboardEntry[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetCharacterStatisticsRequest + */ + export interface GetCharacterStatisticsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetCharacterStatisticsResult + */ + export interface GetCharacterStatisticsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / PlayFab unique identifier of the user whose character statistics are being returned. + */ + PlayFabId?: string; + /** + / Unique identifier of the character for the statistics. + */ + CharacterId?: string; + /** + / Character statistics for the requested user. + */ + CharacterStatistics?: { [key: string]: number }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetContentDownloadUrlRequest + */ + export interface GetContentDownloadUrlRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Key of the content item to fetch, usually formatted as a path, e.g. images/a.png + */ + Key: string; + /** + / HTTP method to fetch item - GET or HEAD. Use HEAD when only fetching metadata. Default is GET. + */ + HttpMethod?: string; + /** + / True if download through CDN. CDN provides better download bandwidth and time. However, if you want latest, non-cached version of the content, set this to false. Default is true. + */ + ThruCDN?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetContentDownloadUrlResult + */ + export interface GetContentDownloadUrlResult extends PlayFabModule.IPlayFabResultCommon { + /** + / URL for downloading content via HTTP GET or HEAD method. The URL will expire in 1 hour. + */ + URL?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetFriendLeaderboardRequest + */ + export interface GetFriendLeaderboardRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / The player whose friend leaderboard to get + */ + PlayFabId: string; + /** + / Statistic used to rank friends for this leaderboard. + */ + StatisticName: string; + /** + / Position in the leaderboard to start this listing (defaults to the first entry). + */ + StartPosition: number; + /** + / Maximum number of entries to retrieve. + */ + MaxResultsCount: number; + /** + / Indicates whether Steam service friends should be included in the response. Default is true. + */ + IncludeSteamFriends?: boolean; + /** + / Indicates whether Facebook friends should be included in the response. Default is true. + */ + IncludeFacebookFriends?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetFriendsListRequest + */ + export interface GetFriendsListRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / PlayFab identifier of the player whose friend list to get. + */ + PlayFabId: string; + /** + / Indicates whether Steam service friends should be included in the response. Default is true. + */ + IncludeSteamFriends?: boolean; + /** + / Indicates whether Facebook friends should be included in the response. Default is true. + */ + IncludeFacebookFriends?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetFriendsListResult + */ + export interface GetFriendsListResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Array of friends found. + */ + Friends?: FriendInfo[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetLeaderboardAroundCharacterRequest + */ + export interface GetLeaderboardAroundCharacterRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the title-specific statistic for the leaderboard. + */ + StatisticName: string; + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + /** + / Optional character type on which to filter the leaderboard entries. + */ + CharacterType?: string; + /** + / Maximum number of entries to retrieve. + */ + MaxResultsCount: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetLeaderboardAroundCharacterResult + */ + export interface GetLeaderboardAroundCharacterResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Ordered list of leaderboard entries. + */ + Leaderboard?: CharacterLeaderboardEntry[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetLeaderboardAroundUserRequest + */ + export interface GetLeaderboardAroundUserRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the title-specific statistic for the leaderboard. + */ + StatisticName: string; + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Maximum number of entries to retrieve. + */ + MaxResultsCount: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetLeaderboardAroundUserResult + */ + export interface GetLeaderboardAroundUserResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Ordered list of leaderboard entries. + */ + Leaderboard?: PlayerLeaderboardEntry[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetLeaderboardForUsersCharactersRequest + */ + export interface GetLeaderboardForUsersCharactersRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the title-specific statistic for the leaderboard. + */ + StatisticName: string; + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Maximum number of entries to retrieve. + */ + MaxResultsCount: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetLeaderboardForUsersCharactersResult + */ + export interface GetLeaderboardForUsersCharactersResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Ordered list of leaderboard entries. + */ + Leaderboard?: CharacterLeaderboardEntry[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetLeaderboardRequest + */ + export interface GetLeaderboardRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the title-specific statistic for the leaderboard. + */ + StatisticName: string; + /** + / First entry in the leaderboard to be retrieved. + */ + StartPosition: number; + /** + / Maximum number of entries to retrieve. + */ + MaxResultsCount: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetLeaderboardResult + */ + export interface GetLeaderboardResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Ordered list of leaderboard entries. + */ + Leaderboard?: PlayerLeaderboardEntry[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayerCombinedInfoRequest + */ + export interface GetPlayerCombinedInfoRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / PlayFabId of the user whose data will be returned + */ + PlayFabId: string; + /** + / Flags for which pieces of info to return for the user. + */ + InfoRequestParameters: GetPlayerCombinedInfoRequestParams; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayerCombinedInfoRequestParams + */ + export interface GetPlayerCombinedInfoRequestParams { + /** + / Whether to get the player's account Info. Defaults to false + */ + GetUserAccountInfo: boolean; + /** + / Whether to get the player's inventory. Defaults to false + */ + GetUserInventory: boolean; + /** + / Whether to get the player's virtual currency balances. Defaults to false + */ + GetUserVirtualCurrency: boolean; + /** + / Whether to get the player's custom data. Defaults to false + */ + GetUserData: boolean; + /** + / Specific keys to search for in the custom data. Leave null to get all keys. Has no effect if GetUserData is false + */ + UserDataKeys?: string[]; + /** + / Whether to get the player's read only data. Defaults to false + */ + GetUserReadOnlyData: boolean; + /** + / Specific keys to search for in the custom data. Leave null to get all keys. Has no effect if GetUserReadOnlyData is false + */ + UserReadOnlyDataKeys?: string[]; + /** + / Whether to get character inventories. Defaults to false. + */ + GetCharacterInventories: boolean; + /** + / Whether to get the list of characters. Defaults to false. + */ + GetCharacterList: boolean; + /** + / Whether to get title data. Defaults to false. + */ + GetTitleData: boolean; + /** + / Specific keys to search for in the custom data. Leave null to get all keys. Has no effect if GetTitleData is false + */ + TitleDataKeys?: string[]; + /** + / Whether to get player statistics. Defaults to false. + */ + GetPlayerStatistics: boolean; + /** + / Specific statistics to retrieve. Leave null to get all keys. Has no effect if GetPlayerStatistics is false + */ + PlayerStatisticNames?: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayerCombinedInfoResult + */ + export interface GetPlayerCombinedInfoResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId?: string; + /** + / Results for requested info. + */ + InfoResultPayload?: GetPlayerCombinedInfoResultPayload; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayerCombinedInfoResultPayload + */ + export interface GetPlayerCombinedInfoResultPayload { + /** + / Account information for the user. This is always retrieved. + */ + AccountInfo?: UserAccountInfo; + /** + / Array of inventory items in the user's current inventory. + */ + UserInventory?: ItemInstance[]; + /** + / Dictionary of virtual currency balance(s) belonging to the user. + */ + UserVirtualCurrency?: { [key: string]: number }; + /** + / Dictionary of remaining times and timestamps for virtual currencies. + */ + UserVirtualCurrencyRechargeTimes?: { [key: string]: VirtualCurrencyRechargeTime }; + /** + / User specific custom data. + */ + UserData?: { [key: string]: UserDataRecord }; + /** + / The version of the UserData that was returned. + */ + UserDataVersion: number; + /** + / User specific read-only data. + */ + UserReadOnlyData?: { [key: string]: UserDataRecord }; + /** + / The version of the Read-Only UserData that was returned. + */ + UserReadOnlyDataVersion: number; + /** + / List of characters for the user. + */ + CharacterList?: CharacterResult[]; + /** + / Inventories for each character for the user. + */ + CharacterInventories?: CharacterInventory[]; + /** + / Title data for this title. + */ + TitleData?: { [key: string]: string }; + /** + / List of statistics for this player. + */ + PlayerStatistics?: StatisticValue[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayerSegmentsResult + */ + export interface GetPlayerSegmentsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Array of segments the requested player currently belongs to. + */ + Segments?: GetSegmentResult[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayersInSegmentRequest + */ + export interface GetPlayersInSegmentRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for this segment. + */ + SegmentId: string; + /** + / Number of seconds to keep the continuation token active. After token expiration it is not possible to continue paging results. Default is 300 (5 minutes). Maximum is 1,800 (30 minutes). + */ + SecondsToLive?: number; + /** + / Maximum number of profiles to load. Default is 1,000. Maximum is 10,000. + */ + MaxBatchSize?: number; + /** + / Continuation token if retrieving subsequent pages of results. + */ + ContinuationToken?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayersInSegmentResult + */ + export interface GetPlayersInSegmentResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Count of profiles matching this segment. + */ + ProfilesInSegment: number; + /** + / Continuation token to use to retrieve subsequent pages of results. If token returns null there are no more results. + */ + ContinuationToken?: string; + /** + / Array of player profiles in this segment. + */ + PlayerProfiles?: PlayerProfile[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayersSegmentsRequest + */ + export interface GetPlayersSegmentsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayerStatisticsRequest + */ + export interface GetPlayerStatisticsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / user for whom statistics are being requested + */ + PlayFabId: string; + /** + / statistics to return + */ + StatisticNames?: string[]; + /** + / statistics to return, if StatisticNames is not set (only statistics which have a version matching that provided will be returned) + */ + StatisticNameVersions?: StatisticNameVersion[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayerStatisticsResult + */ + export interface GetPlayerStatisticsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / PlayFab unique identifier of the user whose statistics are being returned + */ + PlayFabId?: string; + /** + / User statistics for the requested user. + */ + Statistics?: StatisticValue[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayerStatisticVersionsRequest + */ + export interface GetPlayerStatisticVersionsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / unique name of the statistic + */ + StatisticName?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayerStatisticVersionsResult + */ + export interface GetPlayerStatisticVersionsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / version change history of the statistic + */ + StatisticVersions?: PlayerStatisticVersion[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayerTagsRequest + */ + export interface GetPlayerTagsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Optional namespace to filter results by + */ + Namespace?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayerTagsResult + */ + export interface GetPlayerTagsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Canonical tags (including namespace and tag's name) for the requested user + */ + Tags: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayFabIDsFromFacebookIDsRequest + */ + export interface GetPlayFabIDsFromFacebookIDsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. + */ + FacebookIDs: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayFabIDsFromFacebookIDsResult + */ + export interface GetPlayFabIDsFromFacebookIDsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Mapping of Facebook identifiers to PlayFab identifiers. + */ + Data?: FacebookPlayFabIdPair[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayFabIDsFromSteamIDsRequest + */ + export interface GetPlayFabIDsFromSteamIDsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. + */ + SteamStringIDs?: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayFabIDsFromSteamIDsResult + */ + export interface GetPlayFabIDsFromSteamIDsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Mapping of Steam identifiers to PlayFab identifiers. + */ + Data?: SteamPlayFabIdPair[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPublisherDataRequest + */ + export interface GetPublisherDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / array of keys to get back data from the Publisher data blob, set by the admin tools + */ + Keys: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPublisherDataResult + */ + export interface GetPublisherDataResult extends PlayFabModule.IPlayFabResultCommon { + /** + / a dictionary object of key / value pairs + */ + Data?: { [key: string]: string }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetRandomResultTablesRequest + */ + export interface GetRandomResultTablesRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Specifies the catalog version that should be used to retrieve the Random Result Tables. If unspecified, uses default/primary catalog. + */ + CatalogVersion?: string; + /** + / The unique identifier of the Random Result Table to use. + */ + TableIDs: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetRandomResultTablesResult + */ + export interface GetRandomResultTablesResult extends PlayFabModule.IPlayFabResultCommon { + /** + / array of random result tables currently available + */ + Tables?: { [key: string]: RandomResultTableListing }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetSegmentResult + */ + export interface GetSegmentResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique identifier for this segment. + */ + Id: string; + /** + / Segment name. + */ + Name?: string; + /** + / Identifier of the segments AB Test, if it is attached to one. + */ + ABTestParent?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetSharedGroupDataRequest + */ + export interface GetSharedGroupDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the shared group. + */ + SharedGroupId: string; + /** + / Specific keys to retrieve from the shared group (if not specified, all keys will be returned, while an empty array indicates that no keys should be returned). + */ + Keys?: string[]; + /** + / If true, return the list of all members of the shared group. + */ + GetMembers?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetSharedGroupDataResult + */ + export interface GetSharedGroupDataResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Data for the requested keys. + */ + Data?: { [key: string]: SharedGroupDataRecord }; + /** + / List of PlayFabId identifiers for the members of this group, if requested. + */ + Members?: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetTimeRequest + */ + export interface GetTimeRequest extends PlayFabModule.IPlayFabRequestCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetTimeResult + */ + export interface GetTimeResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Current server time when the request was received, in UTC + */ + Time: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetTitleDataRequest + */ + export interface GetTitleDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Specific keys to search for in the title data (leave null to get all keys) + */ + Keys?: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetTitleDataResult + */ + export interface GetTitleDataResult extends PlayFabModule.IPlayFabResultCommon { + /** + / a dictionary object of key / value pairs + */ + Data?: { [key: string]: string }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetTitleNewsRequest + */ + export interface GetTitleNewsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Limits the results to the last n entries. Defaults to 10 if not set. + */ + Count?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetTitleNewsResult + */ + export interface GetTitleNewsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Array of news items. + */ + News?: TitleNewsItem[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetUserAccountInfoRequest + */ + export interface GetUserAccountInfoRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetUserAccountInfoResult + */ + export interface GetUserAccountInfoResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Account details for the user whose information was requested. + */ + UserInfo?: UserAccountInfo; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetUserBansRequest + */ + export interface GetUserBansRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetUserBansResult + */ + export interface GetUserBansResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Information about the bans + */ + BanData?: BanInfo[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetUserDataRequest + */ + export interface GetUserDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Specific keys to search for in the custom user data. + */ + Keys?: string[]; + /** + / The version that currently exists according to the caller. The call will return the data for all of the keys if the version in the system is greater than this. + */ + IfChangedFromDataVersion?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetUserDataResult + */ + export interface GetUserDataResult extends PlayFabModule.IPlayFabResultCommon { + /** + / PlayFab unique identifier of the user whose custom data is being returned. + */ + PlayFabId?: string; + /** + / Indicates the current version of the data that has been set. This is incremented with every set call for that type of data (read-only, internal, etc). This version can be provided in Get calls to find updated data. + */ + DataVersion: number; + /** + / User specific data for this title. + */ + Data?: { [key: string]: UserDataRecord }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetUserInventoryRequest + */ + export interface GetUserInventoryRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetUserInventoryResult + */ + export interface GetUserInventoryResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId?: string; + /** + / Array of inventory items belonging to the user. + */ + Inventory?: ItemInstance[]; + /** + / Array of virtual currency balance(s) belonging to the user. + */ + VirtualCurrency?: { [key: string]: number }; + /** + / Array of remaining times and timestamps for virtual currencies. + */ + VirtualCurrencyRechargeTimes?: { [key: string]: VirtualCurrencyRechargeTime }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GrantCharacterToUserRequest + */ + export interface GrantCharacterToUserRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Non-unique display name of the character being granted. + */ + CharacterName: string; + /** + / Type of the character being granted; statistics can be sliced based on this value. + */ + CharacterType: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GrantCharacterToUserResult + */ + export interface GrantCharacterToUserResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique identifier tagged to this character. + */ + CharacterId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GrantedItemInstance + */ + export interface GrantedItemInstance { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId?: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId?: string; + /** + / Result of this operation. + */ + Result: boolean; + /** + / Unique identifier for the inventory item, as defined in the catalog. + */ + ItemId?: string; + /** + / Unique item identifier for this specific instance of the item. + */ + ItemInstanceId?: string; + /** + / Class name for the inventory item, as defined in the catalog. + */ + ItemClass?: string; + /** + / Timestamp for when this instance was purchased. + */ + PurchaseDate?: string; + /** + / Timestamp for when this instance will expire. + */ + Expiration?: string; + /** + / Total number of remaining uses, if this is a consumable item. + */ + RemainingUses?: number; + /** + / The number of uses that were added or removed to this item in this call. + */ + UsesIncrementedBy?: number; + /** + / Game specific comment associated with this instance when it was added to the user inventory. + */ + Annotation?: string; + /** + / Catalog version for the inventory item, when this instance was created. + */ + CatalogVersion?: string; + /** + / Unique identifier for the parent inventory item, as defined in the catalog, for object which were added from a bundle or container. + */ + BundleParent?: string; + /** + / CatalogItem.DisplayName at the time this item was purchased. + */ + DisplayName?: string; + /** + / Currency type for the cost of the catalog item. + */ + UnitCurrency?: string; + /** + / Cost of the catalog item in the given currency. + */ + UnitPrice: number; + /** + / Array of unique items that were awarded when this catalog item was purchased. + */ + BundleContents?: string[]; + /** + / A set of custom key-value pairs on the inventory item. + */ + CustomData?: { [key: string]: string }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GrantItemsToCharacterRequest + */ + export interface GrantItemsToCharacterRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Catalog version from which items are to be granted. + */ + CatalogVersion?: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / String detailing any additional information concerning this operation. + */ + Annotation?: string; + /** + / Array of itemIds to grant to the user. + */ + ItemIds?: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GrantItemsToCharacterResult + */ + export interface GrantItemsToCharacterResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Array of items granted to users. + */ + ItemGrantResults?: GrantedItemInstance[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GrantItemsToUserRequest + */ + export interface GrantItemsToUserRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Catalog version from which items are to be granted. + */ + CatalogVersion?: string; + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / String detailing any additional information concerning this operation. + */ + Annotation?: string; + /** + / Array of itemIds to grant to the user. + */ + ItemIds: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GrantItemsToUserResult + */ + export interface GrantItemsToUserResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Array of items granted to users. + */ + ItemGrantResults?: GrantedItemInstance[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GrantItemsToUsersRequest + */ + export interface GrantItemsToUsersRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Catalog version from which items are to be granted. + */ + CatalogVersion?: string; + /** + / Array of items to grant and the users to whom the items are to be granted. + */ + ItemGrants: ItemGrant[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GrantItemsToUsersResult + */ + export interface GrantItemsToUsersResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Array of items granted to users. + */ + ItemGrantResults?: GrantedItemInstance[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ItemGrant + */ + export interface ItemGrant { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique identifier of the catalog item to be granted to the user. + */ + ItemId: string; + /** + / String detailing any additional information concerning this operation. + */ + Annotation?: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId?: string; + /** + / Key-value pairs to be written to the custom data. Note that keys are trimmed of whitespace, are limited in size, and may not begin with a '!' character. + */ + Data?: { [key: string]: string }; + /** + / Optional list of Data-keys to remove from UserData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + */ + KeysToRemove?: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ItemInstance + */ + export interface ItemInstance { + /** + / Unique identifier for the inventory item, as defined in the catalog. + */ + ItemId?: string; + /** + / Unique item identifier for this specific instance of the item. + */ + ItemInstanceId?: string; + /** + / Class name for the inventory item, as defined in the catalog. + */ + ItemClass?: string; + /** + / Timestamp for when this instance was purchased. + */ + PurchaseDate?: string; + /** + / Timestamp for when this instance will expire. + */ + Expiration?: string; + /** + / Total number of remaining uses, if this is a consumable item. + */ + RemainingUses?: number; + /** + / The number of uses that were added or removed to this item in this call. + */ + UsesIncrementedBy?: number; + /** + / Game specific comment associated with this instance when it was added to the user inventory. + */ + Annotation?: string; + /** + / Catalog version for the inventory item, when this instance was created. + */ + CatalogVersion?: string; + /** + / Unique identifier for the parent inventory item, as defined in the catalog, for object which were added from a bundle or container. + */ + BundleParent?: string; + /** + / CatalogItem.DisplayName at the time this item was purchased. + */ + DisplayName?: string; + /** + / Currency type for the cost of the catalog item. + */ + UnitCurrency?: string; + /** + / Cost of the catalog item in the given currency. + */ + UnitPrice: number; + /** + / Array of unique items that were awarded when this catalog item was purchased. + */ + BundleContents?: string[]; + /** + / A set of custom key-value pairs on the inventory item. + */ + CustomData?: { [key: string]: string }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ListUsersCharactersRequest + */ + export interface ListUsersCharactersRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ListUsersCharactersResult + */ + export interface ListUsersCharactersResult extends PlayFabModule.IPlayFabResultCommon { + /** + / The requested list of characters. + */ + Characters?: CharacterResult[]; + + } + + type LoginIdentityProvider = "Unknown" + | "PlayFab" + | "Custom" + | "GameCenter" + | "GooglePlay" + | "Steam" + | "XBoxLive" + | "PSN" + | "Kongregate" + | "Facebook" + | "IOSDevice" + | "AndroidDevice" + | "Twitch"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.LogStatement + */ + export interface LogStatement { + /** + / 'Debug', 'Info', or 'Error' + */ + Level?: string; + Message?: string; + /** + / Optional object accompanying the message as contextual information + */ + Data?: any; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ModifyCharacterVirtualCurrencyResult + */ + export interface ModifyCharacterVirtualCurrencyResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Name of the virtual currency which was modified. + */ + VirtualCurrency?: string; + /** + / Balance of the virtual currency after modification. + */ + Balance: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ModifyItemUsesRequest + */ + export interface ModifyItemUsesRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / PlayFab unique identifier of the user whose item is being modified. + */ + PlayFabId: string; + /** + / Unique instance identifier of the item to be modified. + */ + ItemInstanceId: string; + /** + / Number of uses to add to the item. Can be negative to remove uses. + */ + UsesToAdd: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ModifyItemUsesResult + */ + export interface ModifyItemUsesResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique instance identifier of the item with uses consumed. + */ + ItemInstanceId?: string; + /** + / Number of uses remaining on the item. + */ + RemainingUses: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ModifyUserVirtualCurrencyResult + */ + export interface ModifyUserVirtualCurrencyResult extends PlayFabModule.IPlayFabResultCommon { + /** + / User currency was subtracted from. + */ + PlayFabId?: string; + /** + / Name of the virtual currency which was modified. + */ + VirtualCurrency?: string; + /** + / Amount added or subtracted from the user's virtual currency. Maximum VC balance is Int32 (2,147,483,647). Any increase over this value will be discarded. + */ + BalanceChange: number; + /** + / Balance of the virtual currency after modification. + */ + Balance: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.MoveItemToCharacterFromCharacterRequest + */ + export interface MoveItemToCharacterFromCharacterRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique identifier of the character that currently has the item. + */ + GivingCharacterId: string; + /** + / Unique identifier of the character that will be receiving the item. + */ + ReceivingCharacterId: string; + /** + / Unique PlayFab assigned instance identifier of the item + */ + ItemInstanceId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.MoveItemToCharacterFromCharacterResult + */ + export interface MoveItemToCharacterFromCharacterResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.MoveItemToCharacterFromUserRequest + */ + export interface MoveItemToCharacterFromUserRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + /** + / Unique PlayFab assigned instance identifier of the item + */ + ItemInstanceId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.MoveItemToCharacterFromUserResult + */ + export interface MoveItemToCharacterFromUserResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.MoveItemToUserFromCharacterRequest + */ + export interface MoveItemToUserFromCharacterRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + /** + / Unique PlayFab assigned instance identifier of the item + */ + ItemInstanceId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.MoveItemToUserFromCharacterResult + */ + export interface MoveItemToUserFromCharacterResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.NameIdentifier + */ + export interface NameIdentifier { + Name?: string; + Id?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.NotifyMatchmakerPlayerLeftRequest + */ + export interface NotifyMatchmakerPlayerLeftRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier of the Game Instance the user is leaving. + */ + LobbyId: string; + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.NotifyMatchmakerPlayerLeftResult + */ + export interface NotifyMatchmakerPlayerLeftResult extends PlayFabModule.IPlayFabResultCommon { + /** + / State of user leaving the Game Server Instance. + */ + PlayerState?: string; + + } + + type PlayerConnectionState = "Unassigned" + | "Connecting" + | "Participating" + | "Participated"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.PlayerLeaderboardEntry + */ + export interface PlayerLeaderboardEntry { + /** + / PlayFab unique identifier of the user for this leaderboard entry. + */ + PlayFabId?: string; + /** + / Title-specific display name of the user for this leaderboard entry. + */ + DisplayName?: string; + /** + / Specific value of the user's statistic. + */ + StatValue: number; + /** + / User's overall position in the leaderboard. + */ + Position: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.PlayerLinkedAccount + */ + export interface PlayerLinkedAccount { + /** + / Authentication platform + */ + Platform?: string; + /** + / Platform user identifier + */ + PlatformUserId?: string; + /** + / Linked account's username + */ + Username?: string; + /** + / Linked account's email + */ + Email?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.PlayerLocation + */ + export interface PlayerLocation { + /** + / The two-character continent code for this location + */ + ContinentCode: string; + /** + / The two-character ISO 3166-1 country code for the country associated with the location + */ + CountryCode: string; + /** + / City of the player's geographic location. + */ + City?: string; + /** + / Latitude coordinate of the player's geographic location. + */ + Latitude?: number; + /** + / Longitude coordinate of the player's geographic location. + */ + Longitude?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.PlayerProfile + */ + export interface PlayerProfile { + /** + / PlayFab Player ID + */ + PlayerId?: string; + /** + / Title ID this profile applies to + */ + TitleId?: string; + /** + / Player Display Name + */ + DisplayName?: string; + /** + / Publisher this player belongs to + */ + PublisherId?: string; + /** + / Player account origination + */ + Origination?: string; + /** + / Player record created + */ + Created?: string; + /** + / Last login + */ + LastLogin?: string; + /** + / Banned until UTC Date. If permanent ban this is set for 20 years after the original ban date. + */ + BannedUntil?: string; + /** + / Dictionary of player's statistics using only the latest version's value + */ + Statistics?: { [key: string]: number }; + /** + / A sum of player's total purchases in USD across all currencies. + */ + TotalValueToDateInUSD?: number; + /** + / Dictionary of player's total purchases by currency. + */ + ValuesToDate?: { [key: string]: number }; + /** + / List of player's tags for segmentation. + */ + Tags?: string[]; + /** + / Dictionary of player's locations by type. + */ + Locations?: { [key: string]: PlayerLocation }; + /** + / Dictionary of player's virtual currency balances + */ + VirtualCurrencyBalances?: { [key: string]: number }; + /** + / Array of ad campaigns player has been attributed to + */ + AdCampaignAttributions?: AdCampaignAttribution[]; + /** + / Array of configured push notification end points + */ + PushNotificationRegistrations?: PushNotificationRegistration[]; + /** + / Array of third party accounts linked to this player + */ + LinkedAccounts?: PlayerLinkedAccount[]; + /** + / Array of player statistics + */ + PlayerStatistics?: PlayerStatistic[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.PlayerStatistic + */ + export interface PlayerStatistic { + /** + / Statistic ID + */ + Id?: string; + /** + / Statistic version (0 if not a versioned statistic) + */ + StatisticVersion: number; + /** + / Current statistic value + */ + StatisticValue: number; + /** + / Statistic name + */ + Name?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.PlayerStatisticVersion + */ + export interface PlayerStatisticVersion { + /** + / name of the statistic when the version became active + */ + StatisticName?: string; + /** + / version of the statistic + */ + Version: number; + /** + / time at which the statistic version was scheduled to become active, based on the configured ResetInterval + */ + ScheduledActivationTime?: string; + /** + / time when the statistic version became active + */ + ActivationTime: string; + /** + / time at which the statistic version was scheduled to become inactive, based on the configured ResetInterval + */ + ScheduledDeactivationTime?: string; + /** + / time when the statistic version became inactive due to statistic version incrementing + */ + DeactivationTime?: string; + + } + + type PushNotificationPlatform = "ApplePushNotificationService" + | "GoogleCloudMessaging"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.PushNotificationRegistration + */ + export interface PushNotificationRegistration { + /** + / Push notification platform + */ + Platform?: string; + /** + / Notification configured endpoint + */ + NotificationEndpointARN?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.RandomResultTableListing + */ + export interface RandomResultTableListing { + /** + / Catalog version this table is associated with + */ + CatalogVersion?: string; + /** + / Unique name for this drop table + */ + TableId: string; + /** + / Child nodes that indicate what kind of drop table item this actually is. + */ + Nodes: ResultTableNode[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.RedeemCouponRequest + */ + export interface RedeemCouponRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Generated coupon code to redeem. + */ + CouponCode: string; + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Catalog version of the coupon. + */ + CatalogVersion?: string; + /** + / Optional identifier for the Character that should receive the item. If null, item is added to the player + */ + CharacterId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.RedeemCouponResult + */ + export interface RedeemCouponResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Items granted to the player as a result of redeeming the coupon. + */ + GrantedItems?: ItemInstance[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.RedeemMatchmakerTicketRequest + */ + export interface RedeemMatchmakerTicketRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Server authorization ticket passed back from a call to Matchmake or StartGame. + */ + Ticket: string; + /** + / Unique identifier of the Game Server Instance that is asking for validation of the authorization ticket. + */ + LobbyId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.RedeemMatchmakerTicketResult + */ + export interface RedeemMatchmakerTicketResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Boolean indicating whether the ticket was validated by the PlayFab service. + */ + TicketIsValid: boolean; + /** + / Error value if the ticket was not validated. + */ + Error?: string; + /** + / User account information for the user validated. + */ + UserInfo?: UserAccountInfo; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.RefreshGameServerInstanceHeartbeatRequest + */ + export interface RefreshGameServerInstanceHeartbeatRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier of the Game Server Instance for which the heartbeat is updated. + */ + LobbyId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.RefreshGameServerInstanceHeartbeatResult + */ + export interface RefreshGameServerInstanceHeartbeatResult extends PlayFabModule.IPlayFabResultCommon { + + } + + type Region = "USCentral" + | "USEast" + | "EUWest" + | "Singapore" + | "Japan" + | "Brazil" + | "Australia"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.RegisterGameRequest + */ + export interface RegisterGameRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / IP address of the Game Server Instance. + */ + ServerHost: string; + /** + / Port number for communication with the Game Server Instance. + */ + ServerPort: string; + /** + / Unique identifier of the build running on the Game Server Instance. + */ + Build: string; + /** + / Region in which the Game Server Instance is running. For matchmaking using non-AWS region names, set this to any AWS region and use Tags (below) to specify your custom region. + */ + Region: string; + /** + / Game Mode the Game Server instance is running. Note that this must be defined in the Game Modes tab in the PlayFab Game Manager, along with the Build ID (the same Game Mode can be defined for multiple Build IDs). + */ + GameMode: string; + /** + / Tags for the Game Server Instance + */ + Tags?: { [key: string]: string }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.RegisterGameResponse + */ + export interface RegisterGameResponse extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique identifier generated for the Game Server Instance that is registered. + */ + LobbyId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.RemoveFriendRequest + */ + export interface RemoveFriendRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / PlayFab identifier of the friend account which is to be removed. + */ + FriendPlayFabId: string; + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.RemovePlayerTagRequest + */ + export interface RemovePlayerTagRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique tag for player profile. + */ + TagName: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.RemovePlayerTagResult + */ + export interface RemovePlayerTagResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.RemoveSharedGroupMembersRequest + */ + export interface RemoveSharedGroupMembersRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the shared group. + */ + SharedGroupId: string; + /** + / An array of unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabIds: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.RemoveSharedGroupMembersResult + */ + export interface RemoveSharedGroupMembersResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ReportPlayerServerRequest + */ + export interface ReportPlayerServerRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / PlayFabId of the reporting player. + */ + ReporterId: string; + /** + / PlayFabId of the reported player. + */ + ReporteeId: string; + /** + / Title player was reported in, optional if report not for specific title. + */ + TitleId?: string; + /** + / Optional additional comment by reporting player. + */ + Comment?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ReportPlayerServerResult + */ + export interface ReportPlayerServerResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Indicates whether this action completed successfully. + */ + Updated: boolean; + /** + / The number of remaining reports which may be filed today by this reporting player. + */ + SubmissionsRemaining: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ResultTableNode + */ + export interface ResultTableNode { + /** + / Whether this entry in the table is an item or a link to another table + */ + ResultItemType: string; + /** + / Either an ItemId, or the TableId of another random result table + */ + ResultItem: string; + /** + / How likely this is to be rolled - larger numbers add more weight + */ + Weight: number; + + } + + type ResultTableNodeType = "ItemId" + | "TableId"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.RevokeAllBansForUserRequest + */ + export interface RevokeAllBansForUserRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.RevokeAllBansForUserResult + */ + export interface RevokeAllBansForUserResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Information on the bans that were revoked. + */ + BanData?: BanInfo[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.RevokeBansRequest + */ + export interface RevokeBansRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Ids of the bans to be revoked. Maximum 100. + */ + BanIds: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.RevokeBansResult + */ + export interface RevokeBansResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Information on the bans that were revoked + */ + BanData?: BanInfo[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.RevokeInventoryItemRequest + */ + export interface RevokeInventoryItemRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId?: string; + /** + / Unique PlayFab assigned instance identifier of the item + */ + ItemInstanceId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.RevokeInventoryResult + */ + export interface RevokeInventoryResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ScriptExecutionError + */ + export interface ScriptExecutionError { + /** + / Error code, such as CloudScriptNotFound, JavascriptException, CloudScriptFunctionArgumentSizeExceeded, CloudScriptAPIRequestCountExceeded, CloudScriptAPIRequestError, or CloudScriptHTTPRequestError + */ + Error?: string; + /** + / Details about the error + */ + Message?: string; + /** + / Point during the execution of the script at which the error occurred, if any + */ + StackTrace?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.SendPushNotificationRequest + */ + export interface SendPushNotificationRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / PlayFabId of the recipient of the push notification. + */ + Recipient: string; + /** + / Text of message to send. + */ + Message: string; + /** + / Subject of message to send (may not be displayed in all platforms. + */ + Subject?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.SendPushNotificationResult + */ + export interface SendPushNotificationResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.SetGameServerInstanceDataRequest + */ + export interface SetGameServerInstanceDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier of the Game Instance to be updated, in decimal format. + */ + LobbyId: string; + /** + / Custom data to set for the specified game server instance. + */ + GameServerData: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.SetGameServerInstanceDataResult + */ + export interface SetGameServerInstanceDataResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.SetGameServerInstanceStateRequest + */ + export interface SetGameServerInstanceStateRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier of the Game Instance to be updated, in decimal format. + */ + LobbyId: string; + /** + / State to set for the specified game server instance. + */ + State: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.SetGameServerInstanceStateResult + */ + export interface SetGameServerInstanceStateResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.SetGameServerInstanceTagsRequest + */ + export interface SetGameServerInstanceTagsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier of the Game Server Instance to be updated. + */ + LobbyId: string; + /** + / Tags to set for the specified Game Server Instance. Note that this is the complete list of tags to be associated with the Game Server Instance. + */ + Tags: { [key: string]: string }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.SetGameServerInstanceTagsResult + */ + export interface SetGameServerInstanceTagsResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.SetPublisherDataRequest + */ + export interface SetPublisherDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / key we want to set a value on (note, this is additive - will only replace an existing key's value if they are the same name.) Keys are trimmed of whitespace. Keys may not begin with the '!' character. + */ + Key: string; + /** + / new value to set. Set to null to remove a value + */ + Value?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.SetPublisherDataResult + */ + export interface SetPublisherDataResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.SetTitleDataRequest + */ + export interface SetTitleDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / key we want to set a value on (note, this is additive - will only replace an existing key's value if they are the same name.) Keys are trimmed of whitespace. Keys may not begin with the '!' character. + */ + Key: string; + /** + / new value to set. Set to null to remove a value + */ + Value?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.SetTitleDataResult + */ + export interface SetTitleDataResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.SharedGroupDataRecord + */ + export interface SharedGroupDataRecord { + /** + / Data stored for the specified group data key. + */ + Value?: string; + /** + / PlayFabId of the user to last update this value. + */ + LastUpdatedBy?: string; + /** + / Timestamp for when this data was last updated. + */ + LastUpdated: string; + /** + / Indicates whether this data can be read by all users (public) or only members of the group (private). + */ + Permission?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.StatisticNameVersion + */ + export interface StatisticNameVersion { + /** + / unique name of the statistic + */ + StatisticName: string; + /** + / the version of the statistic to be returned + */ + Version: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.StatisticUpdate + */ + export interface StatisticUpdate { + /** + / unique name of the statistic + */ + StatisticName: string; + /** + / for updates to an existing statistic value for a player, the version of the statistic when it was loaded. Null when setting the statistic value for the first time. + */ + Version?: number; + /** + / statistic value for the player + */ + Value: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.StatisticValue + */ + export interface StatisticValue { + /** + / unique name of the statistic + */ + StatisticName?: string; + /** + / statistic value for the player + */ + Value: number; + /** + / for updates to an existing statistic value for a player, the version of the statistic when it was loaded + */ + Version: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.SteamPlayFabIdPair + */ + export interface SteamPlayFabIdPair { + /** + / Unique Steam identifier for a user. + */ + SteamStringId?: string; + /** + / Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the Steam identifier. + */ + PlayFabId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.SubtractCharacterVirtualCurrencyRequest + */ + export interface SubtractCharacterVirtualCurrencyRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + /** + / Name of the virtual currency which is to be decremented. + */ + VirtualCurrency: string; + /** + / Amount to be subtracted from the user balance of the specified virtual currency. + */ + Amount: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.SubtractUserVirtualCurrencyRequest + */ + export interface SubtractUserVirtualCurrencyRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / PlayFab unique identifier of the user whose virtual currency balance is to be decreased. + */ + PlayFabId: string; + /** + / Name of the virtual currency which is to be decremented. + */ + VirtualCurrency: string; + /** + / Amount to be subtracted from the user balance of the specified virtual currency. + */ + Amount: number; + + } + + type TaskInstanceStatus = "Succeeded" + | "Starting" + | "InProgress" + | "Failed" + | "Aborted" + | "Pending"; + + type TitleActivationStatus = "None" + | "ActivatedTitleKey" + | "PendingSteam" + | "ActivatedSteam" + | "RevokedSteam"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.TitleNewsItem + */ + export interface TitleNewsItem { + /** + / Date and time when the news items was posted. + */ + Timestamp: string; + /** + / Unique identifier of news item. + */ + NewsId?: string; + /** + / Title of the news item. + */ + Title?: string; + /** + / News item text. + */ + Body?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UnlockContainerInstanceRequest + */ + export interface UnlockContainerInstanceRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId?: string; + /** + / ItemInstanceId of the container to unlock. + */ + ContainerItemInstanceId: string; + /** + / ItemInstanceId of the key that will be consumed by unlocking this container. If the container requires a key, this parameter is required. + */ + KeyItemInstanceId?: string; + /** + / Specifies the catalog version that should be used to determine container contents. If unspecified, uses catalog associated with the item instance. + */ + CatalogVersion?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UnlockContainerItemRequest + */ + export interface UnlockContainerItemRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId?: string; + /** + / Catalog ItemId of the container type to unlock. + */ + ContainerItemId: string; + /** + / Specifies the catalog version that should be used to determine container contents. If unspecified, uses default/primary catalog. + */ + CatalogVersion?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UnlockContainerItemResult + */ + export interface UnlockContainerItemResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique instance identifier of the container unlocked. + */ + UnlockedItemInstanceId?: string; + /** + / Unique instance identifier of the key used to unlock the container, if applicable. + */ + UnlockedWithItemInstanceId?: string; + /** + / Items granted to the player as a result of unlocking the container. + */ + GrantedItems?: ItemInstance[]; + /** + / Virtual currency granted to the player as a result of unlocking the container. + */ + VirtualCurrency?: { [key: string]: number }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UpdateBanRequest + */ + export interface UpdateBanRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / The id of the ban to be updated. + */ + BanId: string; + /** + / The updated reason for the ban to be updated. Maximum 140 characters. Null for no change. + */ + Reason?: string; + /** + / The updated expiration date for the ban. Null for no change. + */ + Expires?: string; + /** + / The updated IP address for the ban. Null for no change. + */ + IPAddress?: string; + /** + / The updated MAC address for the ban. Null for no change. + */ + MACAddress?: string; + /** + / Whether to make this ban permanent. Set to true to make this ban permanent. This will not modify Active state. + */ + Permanent?: boolean; + /** + / The updated active state for the ban. Null for no change. + */ + Active?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UpdateBansRequest + */ + export interface UpdateBansRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / List of bans to be updated. Maximum 100. + */ + Bans: UpdateBanRequest[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UpdateBansResult + */ + export interface UpdateBansResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Information on the bans that were updated + */ + BanData?: BanInfo[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UpdateCharacterDataRequest + */ + export interface UpdateCharacterDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + /** + / Key-value pairs to be written to the custom data. Note that keys are trimmed of whitespace, are limited in size, and may not begin with a '!' character. + */ + Data?: { [key: string]: string }; + /** + / Optional list of Data-keys to remove from UserData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + */ + KeysToRemove?: string[]; + /** + / Permission to be applied to all user data keys written in this request. Defaults to "private" if not set. + */ + Permission?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UpdateCharacterDataResult + */ + export interface UpdateCharacterDataResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Indicates the current version of the data that has been set. This is incremented with every set call for that type of data (read-only, internal, etc). This version can be provided in Get calls to find updated data. + */ + DataVersion: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UpdateCharacterStatisticsRequest + */ + export interface UpdateCharacterStatisticsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + /** + / Statistics to be updated with the provided values. + */ + CharacterStatistics?: { [key: string]: number }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UpdateCharacterStatisticsResult + */ + export interface UpdateCharacterStatisticsResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UpdatePlayerStatisticsRequest + */ + export interface UpdatePlayerStatisticsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Statistics to be updated with the provided values + */ + Statistics: StatisticUpdate[]; + /** + / Indicates whether the statistics provided should be set, regardless of the aggregation method set on the statistic. Default is false. + */ + ForceUpdate?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UpdatePlayerStatisticsResult + */ + export interface UpdatePlayerStatisticsResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UpdateSharedGroupDataRequest + */ + export interface UpdateSharedGroupDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the shared group. + */ + SharedGroupId: string; + /** + / Key-value pairs to be written to the custom data. Note that keys are trimmed of whitespace, are limited in size, and may not begin with a '!' character. + */ + Data?: { [key: string]: string }; + /** + / Optional list of Data-keys to remove from UserData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + */ + KeysToRemove?: string[]; + /** + / Permission to be applied to all user data keys in this request. + */ + Permission?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UpdateSharedGroupDataResult + */ + export interface UpdateSharedGroupDataResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UpdateUserDataRequest + */ + export interface UpdateUserDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Key-value pairs to be written to the custom data. Note that keys are trimmed of whitespace, are limited in size, and may not begin with a '!' character. + */ + Data?: { [key: string]: string }; + /** + / Optional list of Data-keys to remove from UserData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + */ + KeysToRemove?: string[]; + /** + / Permission to be applied to all user data keys written in this request. Defaults to "private" if not set. + */ + Permission?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UpdateUserDataResult + */ + export interface UpdateUserDataResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Indicates the current version of the data that has been set. This is incremented with every set call for that type of data (read-only, internal, etc). This version can be provided in Get calls to find updated data. + */ + DataVersion: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UpdateUserInternalDataRequest + */ + export interface UpdateUserInternalDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Key-value pairs to be written to the custom data. Note that keys are trimmed of whitespace, are limited in size, and may not begin with a '!' character. + */ + Data?: { [key: string]: string }; + /** + / Optional list of Data-keys to remove from UserData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + */ + KeysToRemove?: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UpdateUserInventoryItemDataRequest + */ + export interface UpdateUserInventoryItemDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId?: string; + /** + / Unique PlayFab assigned instance identifier of the item + */ + ItemInstanceId: string; + /** + / Key-value pairs to be written to the custom data. Note that keys are trimmed of whitespace, are limited in size, and may not begin with a '!' character. + */ + Data?: { [key: string]: string }; + /** + / Optional list of Data-keys to remove from UserData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + */ + KeysToRemove?: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UserAccountInfo + */ + export interface UserAccountInfo { + /** + / Unique identifier for the user account + */ + PlayFabId?: string; + /** + / Timestamp indicating when the user account was created + */ + Created: string; + /** + / User account name in the PlayFab service + */ + Username?: string; + /** + / Title-specific information for the user account + */ + TitleInfo?: UserTitleInfo; + /** + / Personal information for the user which is considered more sensitive + */ + PrivateInfo?: UserPrivateAccountInfo; + /** + / User Facebook information, if a Facebook account has been linked + */ + FacebookInfo?: UserFacebookInfo; + /** + / User Steam information, if a Steam account has been linked + */ + SteamInfo?: UserSteamInfo; + /** + / User Gamecenter information, if a Gamecenter account has been linked + */ + GameCenterInfo?: UserGameCenterInfo; + /** + / User iOS device information, if an iOS device has been linked + */ + IosDeviceInfo?: UserIosDeviceInfo; + /** + / User Android device information, if an Android device has been linked + */ + AndroidDeviceInfo?: UserAndroidDeviceInfo; + /** + / User Kongregate account information, if a Kongregate account has been linked + */ + KongregateInfo?: UserKongregateInfo; + /** + / User Twitch account information, if a Twitch account has been linked + */ + TwitchInfo?: UserTwitchInfo; + /** + / User PSN account information, if a PSN account has been linked + */ + PsnInfo?: UserPsnInfo; + /** + / User Google account information, if a Google account has been linked + */ + GoogleInfo?: UserGoogleInfo; + /** + / User XBox account information, if a XBox account has been linked + */ + XboxInfo?: UserXboxInfo; + /** + / Custom ID information, if a custom ID has been assigned + */ + CustomIdInfo?: UserCustomIdInfo; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UserAndroidDeviceInfo + */ + export interface UserAndroidDeviceInfo { + /** + / Android device ID + */ + AndroidDeviceId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UserCustomIdInfo + */ + export interface UserCustomIdInfo { + /** + / Custom ID + */ + CustomId?: string; + + } + + type UserDataPermission = "Private" + | "Public"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UserDataRecord + */ + export interface UserDataRecord { + /** + / Data stored for the specified user data key. + */ + Value?: string; + /** + / Timestamp for when this data was last updated. + */ + LastUpdated: string; + /** + / Indicates whether this data can be read by all users (public) or only the user (private). This is used for GetUserData requests being made by one player about another player. + */ + Permission?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UserFacebookInfo + */ + export interface UserFacebookInfo { + /** + / Facebook identifier + */ + FacebookId?: string; + /** + / Facebook full name + */ + FullName?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UserGameCenterInfo + */ + export interface UserGameCenterInfo { + /** + / Gamecenter identifier + */ + GameCenterId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UserGoogleInfo + */ + export interface UserGoogleInfo { + /** + / Google ID + */ + GoogleId?: string; + /** + / Email address of the Google account + */ + GoogleEmail?: string; + /** + / Locale of the Google account + */ + GoogleLocale?: string; + /** + / Gender information of the Google account + */ + GoogleGender?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UserIosDeviceInfo + */ + export interface UserIosDeviceInfo { + /** + / iOS device ID + */ + IosDeviceId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UserKongregateInfo + */ + export interface UserKongregateInfo { + /** + / Kongregate ID + */ + KongregateId?: string; + /** + / Kongregate Username + */ + KongregateName?: string; + + } + + type UserOrigination = "Organic" + | "Steam" + | "Google" + | "Amazon" + | "Facebook" + | "Kongregate" + | "GamersFirst" + | "Unknown" + | "IOS" + | "LoadTest" + | "Android" + | "PSN" + | "GameCenter" + | "CustomId" + | "XboxLive" + | "Parse" + | "Twitch"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UserPrivateAccountInfo + */ + export interface UserPrivateAccountInfo { + /** + / user email address + */ + Email?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UserPsnInfo + */ + export interface UserPsnInfo { + /** + / PSN account ID + */ + PsnAccountId?: string; + /** + / PSN online ID + */ + PsnOnlineId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UserSteamInfo + */ + export interface UserSteamInfo { + /** + / Steam identifier + */ + SteamId?: string; + /** + / the country in which the player resides, from Steam data + */ + SteamCountry?: string; + /** + / currency type set in the user Steam account + */ + SteamCurrency?: string; + /** + / what stage of game ownership the user is listed as being in, from Steam + */ + SteamActivationStatus?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UserTitleInfo + */ + export interface UserTitleInfo { + /** + / name of the user, as it is displayed in-game + */ + DisplayName?: string; + /** + / source by which the user first joined the game, if known + */ + Origination?: string; + /** + / timestamp indicating when the user was first associated with this game (this can differ significantly from when the user first registered with PlayFab) + */ + Created: string; + /** + / timestamp for the last user login for this title + */ + LastLogin?: string; + /** + / timestamp indicating when the user first signed into this game (this can differ from the Created timestamp, as other events, such as issuing a beta key to the user, can associate the title to the user) + */ + FirstLogin?: string; + /** + / boolean indicating whether or not the user is currently banned for a title + */ + isBanned?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UserTwitchInfo + */ + export interface UserTwitchInfo { + /** + / Twitch ID + */ + TwitchId?: string; + /** + / Twitch Username + */ + TwitchUserName?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UserXboxInfo + */ + export interface UserXboxInfo { + /** + / XBox user ID + */ + XboxUserId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.VirtualCurrencyRechargeTime + */ + export interface VirtualCurrencyRechargeTime { + /** + / Time remaining (in seconds) before the next recharge increment of the virtual currency. + */ + SecondsToRecharge: number; + /** + / Server timestamp in UTC indicating the next time the virtual currency will be incremented. + */ + RechargeTime: string; + /** + / Maximum value to which the regenerating currency will automatically increment. Note that it can exceed this value through use of the AddUserVirtualCurrency API call. However, it will not regenerate automatically until it has fallen below this value. + */ + RechargeMax: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.WriteEventResponse + */ + export interface WriteEventResponse extends PlayFabModule.IPlayFabResultCommon { + /** + / The unique identifier of the event. The values of this identifier consist of ASCII characters and are not constrained to any particular format. + */ + EventId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.WriteServerCharacterEventRequest + */ + export interface WriteServerCharacterEventRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + /** + / The name of the event, within the namespace scoped to the title. The naming convention is up to the caller, but it commonly follows the subject_verb_object pattern (e.g. player_logged_in). + */ + EventName: string; + /** + / The time (in UTC) associated with this event. The value dafaults to the current time. + */ + Timestamp?: string; + /** + / Custom event properties. Each property consists of a name (string) and a value (JSON object). + */ + Body?: { [key: string]: any }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.WriteServerPlayerEventRequest + */ + export interface WriteServerPlayerEventRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / The name of the event, within the namespace scoped to the title. The naming convention is up to the caller, but it commonly follows the subject_verb_object pattern (e.g. player_logged_in). + */ + EventName: string; + /** + / The time (in UTC) associated with this event. The value dafaults to the current time. + */ + Timestamp?: string; + /** + / Custom data properties associated with the event. Each property consists of a name (string) and a value (JSON object). + */ + Body?: { [key: string]: any }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.WriteTitleEventRequest + */ + export interface WriteTitleEventRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / The name of the event, within the namespace scoped to the title. The naming convention is up to the caller, but it commonly follows the subject_verb_object pattern (e.g. player_logged_in). + */ + EventName: string; + /** + / The time (in UTC) associated with this event. The value dafaults to the current time. + */ + Timestamp?: string; + /** + / Custom event properties. Each property consists of a name (string) and a value (JSON object). + */ + Body?: { [key: string]: any }; + + } + + +} diff --git a/PlayFabSdk/src/Typings/PlayFab/Playfab.d.ts b/PlayFabSdk/src/Typings/PlayFab/Playfab.d.ts new file mode 100644 index 00000000..61874d1d --- /dev/null +++ b/PlayFabSdk/src/Typings/PlayFab/Playfab.d.ts @@ -0,0 +1,43 @@ +declare module PlayFabModule { + export interface ISettings { + titleId: string; + developerSecretKey: string; + advertisingIdType: string; + advertisingIdValue: string; + disableAdvertising: boolean; + AD_TYPE_IDFA: string; + AD_TYPE_ANDROID_ID: string; + } + export interface IPlayFabRequestCommon { } + export interface IPlayFabError { + code: number; + status: string; + error: string; + errorCode: number; + errorMessage: string; + errorDetails?: { [key: string]: string[] }; + } + export interface SuccessContainer extends IPlayFabError { + data: TResult; + } + export interface IPlayFabResultCommon extends IPlayFabError { } + + export interface ApiCallback { (result: SuccessContainer, error: IPlayFabError): void } +} + +declare var PlayFab: { + buildIdentifier: string; + sdkVersion: string; + settings: PlayFabModule.ISettings; + AdminApi: PlayFabAdminModule.IPlayFabAdmin; + MatchmakerApi: PlayFabMatchmakerModule.IPlayFabMatchmaker; + ServerApi: PlayFabServerModule.IPlayFabServer; + ClientApi: PlayFabClientModule.IPlayFabClient; + +}; +// Continue to support older usage +declare var PlayFabAdminSDK: PlayFabAdminModule.IPlayFabAdmin; +declare var PlayFabMatchmakerSDK: PlayFabMatchmakerModule.IPlayFabMatchmaker; +declare var PlayFabServerSDK: PlayFabServerModule.IPlayFabServer; +declare var PlayFabClientSDK: PlayFabClientModule.IPlayFabClient; + diff --git a/PlayFabTestingExample/PlayFabApiTest.csproj b/PlayFabTestingExample/PlayFabApiTest.csproj new file mode 100644 index 00000000..b645d439 --- /dev/null +++ b/PlayFabTestingExample/PlayFabApiTest.csproj @@ -0,0 +1,95 @@ + + + + + Debug + {7B267741-5636-49E5-92D0-81C814A1CE35} + {349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} + Library + bin + v4.6.1 + full + true + 2.1 + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + web.config + + + web.config + + + + + 12.0 + + + JavaScriptWithTypeScript + + + + + + + + True + True + 14332 + / + http://localhost:14332/ + False + False + + + False + + + + + + false + true + ES5 + None + True + False + CommonJS + + + False + False + + + + + true + false + + + diff --git a/PlayFabApiTest.js b/PlayFabTestingExample/PlayFabApiTest.js similarity index 81% rename from PlayFabApiTest.js rename to PlayFabTestingExample/PlayFabApiTest.js index 378bdd25..7e11946b 100644 --- a/PlayFabApiTest.js +++ b/PlayFabTestingExample/PlayFabApiTest.js @@ -1,27 +1,14 @@ -if (typeof PlayFabClientSDK == "undefined") { - console.log("PlayFabApiTest requires PlayFabClientApi.js to be pre-loaded."); - PlayFabClientSDK = {}; // This is just here to hide resharper warnings -} -if (typeof PlayFabServerSDK == "undefined") { - console.log("PlayFabApiTest requires PlayFabServerApi.js to be pre-loaded."); - PlayFabServerSDK = {}; // This is just here to hide resharper warnings -} -if (typeof QUnit == "undefined") { - console.log("PlayFabApiTest requires QUnit to be pre-loaded."); - QUnit = {}; // This is just here to hide resharper warnings -} - var PlayFabApiTests = { - testTitleDataFilename: "testTitleData.json", // Since you never want this to be public, a web page can ONLY load this if it's a local file in the same directory (Also can't convert to environment variable) + testTitleDataFilename: "testTitleData.json", titleData: { - titleId: null, // put titleId here - developerSecretKey: null, // put secretKey here + titleId: null, + developerSecretKey: null, userEmail: "put valid email associated with an existing account here", characterName: "put any character name here" }, testData: { - playFabId: null, // Filled during login - characterId: null, // Filled during character-access + playFabId: null, + characterId: null, testNumber: null // Used by several tests }, testConstants: { @@ -29,7 +16,6 @@ var PlayFabApiTests = { TEST_STAT_NAME: "str", CHAR_TEST_TYPE: "Fighter" }, - ManualExecution: function () { $.getJSON(PlayFabApiTests.testTitleDataFilename, function (json) { if (PlayFabApiTests.SetUp(json)) @@ -39,29 +25,25 @@ var PlayFabApiTests = { PlayFabApiTests.LoginTests(); }); }, - LoginTests: function () { // All tests run in parallel, which is a bit tricky. // Some test rely on data loaded from other tests, and there's no super easy to force tests to be sequential/dependent // In fact, most of the tests return here before they're done, and report back success/fail in some arbitrary future - QUnit.module("PlayFab Api Test"); QUnit.test("InvalidLogin", PlayFabApiTests.InvalidLogin); QUnit.test("InvalidRegistration", PlayFabApiTests.InvalidRegistration); QUnit.test("LoginOrRegister", PlayFabApiTests.LoginOrRegister); QUnit.test("LoginWithAdvertisingId", PlayFabApiTests.LoginWithAdvertisingId); - setTimeout(function () { PlayFabApiTests.PostLoginTests(0); }, 200); }, - PostLoginTests: function (count) { if (count > 5) return; - if (!PlayFabClientSDK.IsClientLoggedIn()) { // Wait for login setTimeout(function () { PlayFabApiTests.PostLoginTests(count + 1); }, 200); - } else { + } + else { // Continue with other tests that require login QUnit.test("UserDataApi", PlayFabApiTests.UserDataApi); QUnit.test("PlayerStatisticsApi", PlayFabApiTests.PlayerStatisticsApi); @@ -73,56 +55,51 @@ var PlayFabApiTests = { QUnit.test("WriteEvent", PlayFabApiTests.WriteEvent); } }, - SetUp: function (inputTitleData) { // All of these must exist for the titleData load to be successful - var titleDataValid = inputTitleData.hasOwnProperty("titleId") && inputTitleData.titleId != null - && inputTitleData.hasOwnProperty("developerSecretKey") && inputTitleData.developerSecretKey != null - && inputTitleData.hasOwnProperty("userEmail") - && inputTitleData.hasOwnProperty("characterName"); - + var titleDataValid = inputTitleData.hasOwnProperty("titleId") && inputTitleData.titleId != null + && inputTitleData.hasOwnProperty("developerSecretKey") && inputTitleData.developerSecretKey != null + && inputTitleData.hasOwnProperty("userEmail") + && inputTitleData.hasOwnProperty("characterName"); if (titleDataValid) PlayFabApiTests.titleData = inputTitleData; else console.log("testTitleData input file did not parse correctly"); - PlayFab.settings.titleId = PlayFabApiTests.titleData.titleId; PlayFab.settings.developerSecretKey = PlayFabApiTests.titleData.developerSecretKey; - return titleDataValid; }, - CallbackWrapper: function (callbackName, callback, assert) { return function (result, error) { try { callback(result, error); - } catch (e) { + } + catch (e) { console.log("Exception thrown during " + callbackName + " callback: " + e.toString() + "\n" + e.stack); // Very irritatingly, qunit doesn't report failure results until all async callbacks return, which doesn't always happen when there's an exception assert.ok(false, "Exception thrown during " + callbackName + " callback: " + e.toString() + "\n" + e.stack); } }; }, - SimpleCallbackWrapper: function (callbackName, callback, assert) { return function () { try { callback(); - } catch (e) { + } + catch (e) { console.log("Exception thrown during " + callbackName + " callback: " + e.toString() + "\n" + e.stack); // Very irritatingly, qunit doesn't report failure results until all async callbacks return, which doesn't always happen when there's an exception assert.ok(false, "Exception thrown during " + callbackName + " callback: " + e.toString() + "\n" + e.stack); } }; }, - VerifyNullError: function (result, error, assert, message) { var success = (result !== null && error == null); if (error != null) { assert.ok(false, "PlayFab error message: " + PlayFabApiTests.CompileErrorReport(error)); - } else { + } + else { assert.ok(success, message); } }, - CompileErrorReport: function (error) { if (error == null) return ""; @@ -132,7 +109,6 @@ var PlayFabApiTests = { fullErrors += "\n" + paramName + ": " + error.errorDetails[paramName][msgIdx]; return fullErrors; }, - /// /// CLIENT API /// Try to deliberately log in with an inappropriate password, @@ -140,15 +116,10 @@ var PlayFabApiTests = { /// InvalidLogin: function (assert) { var invalidDone = assert.async(); - var invalidRequest = { - // Currently, you need to look up the correct format for this object in the API-docs: - // https://api.playfab.com/Documentation/Client/method/LoginWithEmailAddress - TitleId: PlayFab.settings.titleId, Email: PlayFabApiTests.titleData.userEmail, Password: "INVALID" }; - var invalidLoginCallback = function (result, error) { assert.ok(result == null, "Login should have failed"); assert.ok(error != null, "Login should have failed"); @@ -156,10 +127,8 @@ var PlayFabApiTests = { assert.ok(error.errorMessage.toLowerCase().indexOf("password") > -1, "Expect errorMessage about invalid password: " + error.errorMessage); invalidDone(); }; - PlayFabClientSDK.LoginWithEmailAddress(invalidRequest, PlayFabApiTests.CallbackWrapper("invalidLoginCallback", invalidLoginCallback, assert)); }, - /// /// CLIENT API /// Try to deliberately register a user with an invalid email and password @@ -167,16 +136,11 @@ var PlayFabApiTests = { /// InvalidRegistration: function (assert) { var invalidDone = assert.async(); - var invalidRequest = { - // Currently, you need to look up the correct format for this object in the API-docs: - // https://api.playfab.com/Documentation/Client/method/RegisterPlayFabUser - TitleId: PlayFab.settings.titleId, Username: "x", Email: "x", Password: "x" }; - var registerCallback = function (result, error) { assert.ok(result == null, "InvalidRegistration should have failed"); assert.ok(error != null, "InvalidRegistration should have failed"); @@ -187,23 +151,17 @@ var PlayFabApiTests = { assert.ok(errorReport.toLowerCase().indexOf(expectedPasswordMsg) > -1, "Expect errorMessage about invalid password: " + errorReport); invalidDone(); }; - PlayFabClientSDK.RegisterPlayFabUser(invalidRequest, PlayFabApiTests.CallbackWrapper("registerCallback", registerCallback, assert)); }, - /// /// CLIENT API /// Log in or create a user, track their PlayFabId /// LoginOrRegister: function (assert) { var loginRequest = { - // Currently, you need to look up the correct format for this object in the API-docs: - // https://api.playfab.com/Documentation/Client/method/LoginWithCustomID - TitleId: PlayFab.settings.titleId, - CustomId: PlayFab._internalSettings.buildIdentifier, + CustomId: PlayFab.buildIdentifier, CreateAccount: true }; - var loginDone = assert.async(); var loginCallback = function (result, error) { PlayFabApiTests.VerifyNullError(result, error, assert, "Testing Valid login result"); @@ -212,10 +170,8 @@ var PlayFabApiTests = { PlayFabApiTests.testData.playFabId = result.data.PlayFabId; // Save the PlayFabId, it will be used in other tests loginDone(); }; - PlayFabClientSDK.LoginWithCustomID(loginRequest, PlayFabApiTests.CallbackWrapper("loginCallback", loginCallback, assert)); }, - /// /// CLIENT API /// Test that the login call sequence sends the AdvertisingId when set @@ -223,14 +179,14 @@ var PlayFabApiTests = { LoginWithAdvertisingId: function (assert) { PlayFab.settings.advertisingIdType = PlayFab.settings.AD_TYPE_ANDROID_ID; PlayFab.settings.advertisingIdValue = "PlayFabTestId"; - var loginDone = assert.async(); var count = -1; var finishAdvertId = function () { count += 1; if (count <= 10 && PlayFab.settings.advertisingIdType !== PlayFab.settings.AD_TYPE_ANDROID_ID + "_Successful") { setTimeout(PlayFabApiTests.SimpleCallbackWrapper("finishAdvertId", finishAdvertId, assert), 200); - } else { + } + else { assert.ok(PlayFab.settings.advertisingIdType === PlayFab.settings.AD_TYPE_ANDROID_ID + "_Successful", "Testing whether advertisingId submitted properly"); loginDone(); } @@ -240,15 +196,11 @@ var PlayFabApiTests = { setTimeout(PlayFabApiTests.SimpleCallbackWrapper("finishAdvertId", finishAdvertId, assert), 200); }; var loginRequest = { - // Currently, you need to look up the correct format for this object in the API-docs: - // https://api.playfab.com/Documentation/Client/method/LoginWithCustomID - TitleId: PlayFab.settings.titleId, - CustomId: PlayFab._internalSettings.buildIdentifier, + CustomId: PlayFab.buildIdentifier, CreateAccount: true }; PlayFabClientSDK.LoginWithCustomID(loginRequest, PlayFabApiTests.CallbackWrapper("advertLoginCallback", advertLoginCallback, assert)); }, - /// /// CLIENT API /// Test a sequence of calls that modifies saved data, @@ -258,20 +210,16 @@ var PlayFabApiTests = { /// UserDataApi: function (assert) { var getDataRequest = {}; // null also works - // This test is always exactly 3 async calls var get1Done = assert.async(); var updateDone = assert.async(); var get2Done = assert.async(); - var getDataCallback2 = function (result, error) { PlayFabApiTests.VerifyNullError(result, error, assert, "Testing GetUserData result"); assert.ok(result.data.Data != null, "Testing GetUserData Data"); assert.ok(result.data.Data.hasOwnProperty(PlayFabApiTests.testConstants.TEST_DATA_KEY), "Testing GetUserData DataKey"); - var actualtestNumber = parseInt(result.data.Data[PlayFabApiTests.testConstants.TEST_DATA_KEY].Value, 10); - var timeUpdated = new Date(result.data.Data[PlayFabApiTests.testConstants.TEST_DATA_KEY].LastUpdated); - + var timeUpdated = new Date(result.data.Data[PlayFabApiTests.testConstants.TEST_DATA_KEY].LastUpdated).getTime(); var now = Date.now(); var testMin = now - (1000 * 60 * 5); var testMax = now + (1000 * 60 * 5); @@ -281,32 +229,24 @@ var PlayFabApiTests = { }; var updateDataCallback = function (result, error) { PlayFabApiTests.VerifyNullError(result, error, assert, "Testing UpdateUserData result"); - PlayFabClientSDK.GetUserData(getDataRequest, PlayFabApiTests.CallbackWrapper("getDataCallback2", getDataCallback2, assert)); updateDone(); }; var getDataCallback1 = function (result, error) { PlayFabApiTests.VerifyNullError(result, error, assert, "Testing GetUserData result"); assert.ok(result.data.Data != null, "Testing GetUserData Data"); - var hasData = result.data.Data.hasOwnProperty(PlayFabApiTests.testConstants.TEST_DATA_KEY); PlayFabApiTests.testData.testNumber = !hasData ? 1 : parseInt(result.data.Data[PlayFabApiTests.testConstants.TEST_DATA_KEY].Value, 10); PlayFabApiTests.testData.testNumber = (PlayFabApiTests.testData.testNumber + 1) % 100; // This test is about the expected value changing - but not testing more complicated issues like bounds - - var updateDataRequest = { - // Currently, you need to look up the correct format for this object in the API-docs: - // https://api.playfab.com/Documentation/Client/method/UpdateUserData - Data: {} // Can't pre-define properties because the param-name is in a string - }; + var updateDataRequest = {}; + updateDataRequest.Data = {}; updateDataRequest.Data[PlayFabApiTests.testConstants.TEST_DATA_KEY] = PlayFabApiTests.testData.testNumber; PlayFabClientSDK.UpdateUserData(updateDataRequest, PlayFabApiTests.CallbackWrapper("updateDataCallback", updateDataCallback, assert)); get1Done(); }; - // Kick off this test process PlayFabClientSDK.GetUserData(getDataRequest, PlayFabApiTests.CallbackWrapper("getDataCallback1", getDataCallback1, assert)); }, - /// /// CLIENT API /// Test a sequence of calls that modifies saved data, @@ -316,21 +256,17 @@ var PlayFabApiTests = { /// PlayerStatisticsApi: function (assert) { var getStatsRequest = {}; // null also works - // This test is always exactly 3 async calls var get1Done = assert.async(); var updateDone = assert.async(); var get2Done = assert.async(); - var getStatsCallback2 = function (result, error) { PlayFabApiTests.VerifyNullError(result, error, assert, "Testing GetPlayerStats result"); assert.ok(result.data.Statistics != null, "Testing GetUserData Stats"); - var actualtestNumber = -1000; for (var i = 0; i < result.data.Statistics.length; i++) if (result.data.Statistics[i].StatisticName === PlayFabApiTests.testConstants.TEST_STAT_NAME) actualtestNumber = result.data.Statistics[i].Value; - assert.equal(PlayFabApiTests.testData.testNumber, actualtestNumber, "Testing incrementing stat: " + PlayFabApiTests.testData.testNumber + "==" + actualtestNumber); get2Done(); }; @@ -342,26 +278,20 @@ var PlayFabApiTests = { var getStatsCallback1 = function (result, error) { PlayFabApiTests.VerifyNullError(result, error, assert, "Testing GetPlayerStats result"); assert.ok(result.data.Statistics != null, "Testing GetUserData Stats"); - PlayFabApiTests.testData.testNumber = 0; for (var i = 0; i < result.data.Statistics.length; i++) if (result.data.Statistics[i].StatisticName === PlayFabApiTests.testConstants.TEST_STAT_NAME) PlayFabApiTests.testData.testNumber = result.data.Statistics[i].Value; PlayFabApiTests.testData.testNumber = (PlayFabApiTests.testData.testNumber + 1) % 100; // This test is about the expected value changing - but not testing more complicated issues like bounds - var updateStatsRequest = { - // Currently, you need to look up the correct format for this object in the API-docs: - // https://api.playfab.com/Documentation/Client/method/UpdatePlayerStatistics Statistics: [{ StatisticName: PlayFabApiTests.testConstants.TEST_STAT_NAME, Value: PlayFabApiTests.testData.testNumber }] }; PlayFabClientSDK.UpdatePlayerStatistics(updateStatsRequest, PlayFabApiTests.CallbackWrapper("updateStatsCallback", updateStatsCallback, assert)); get1Done(); }; - // Kick off this test process PlayFabClientSDK.GetPlayerStatistics(getStatsRequest, PlayFabApiTests.CallbackWrapper("getStatsCallback1", getStatsCallback1, assert)); }, - /// /// SERVER API /// Get or create the given test character for the given user @@ -370,33 +300,26 @@ var PlayFabApiTests = { UserCharacter: function (assert) { var getCharsRequest = {}; var grantCharRequest = { - // Currently, you need to look up the correct format for this object in the API-docs: - // https://api.playfab.com/Documentation/Server/method/GrantCharacterToUser TitleId: PlayFabApiTests.titleData.titleId, PlayFabId: PlayFabApiTests.testData.playFabId, CharacterName: PlayFabApiTests.titleData.characterName, CharacterType: PlayFabApiTests.testConstants.CHAR_TEST_TYPE }; - // We don't know at this point how many async calls we'll make var getDone = null; var grantDone = null; - var mandatoryGetCharsCallback = function (result, error) { // GetChars MUST succeed at some point during this test PlayFabApiTests.VerifyNullError(result, error, assert, "Testing GetChars result"); - for (var i in result.data.Characters) if (result.data.Characters[i].CharacterName === PlayFabApiTests.titleData.characterName) PlayFabApiTests.testData.characterId = result.data.Characters[i].CharacterId; // Save the characterId, it will be used in other tests - assert.ok(PlayFabApiTests.testData.characterId != null, "Searching for " + PlayFabApiTests.titleData.characterName + " on this account."); getDone(); }; var grantCharCallback = function (result, error) { // Second character callback MUST succeed PlayFabApiTests.VerifyNullError(result, error, assert, "Testing GrantCharacter result"); - // Get chars again, this time with the newly granted character getDone = assert.async(); PlayFabClientSDK.GetAllUsersCharacters(grantCharRequest, PlayFabApiTests.CallbackWrapper("mandatoryGetCharsCallback", mandatoryGetCharsCallback, assert)); @@ -418,7 +341,6 @@ var PlayFabApiTests = { getDone = assert.async(); PlayFabClientSDK.GetAllUsersCharacters(getCharsRequest, PlayFabApiTests.CallbackWrapper("optionalGetCharsCallback", optionalGetCharsCallback, assert)); }, - /// /// CLIENT AND SERVER API /// Test that leaderboard results can be requested @@ -426,27 +348,23 @@ var PlayFabApiTests = { /// LeaderBoard: function (assert) { var clientRequest = { - // Currently, you need to look up the correct format for this object in the API-docs: - // https://api.playfab.com/Documentation/Client/method/GetLeaderboard MaxResultsCount: 3, + StartPosition: 0, StatisticName: PlayFabApiTests.testConstants.TEST_STAT_NAME }; var serverRequest = { - // Currently, you need to look up the correct format for this object in the API-docs: - // https://api.playfab.com/Documentation/Server/method/GetLeaderboard MaxResultsCount: 3, + StartPosition: 0, StatisticName: PlayFabApiTests.testConstants.TEST_STAT_NAME }; var lbDoneC = assert.async(); var lbDoneS = assert.async(); - var getLeaderboardCallbackC = function (result, error) { PlayFabApiTests.VerifyNullError(result, error, assert, "Testing GetLeaderboard result"); if (result != null) { assert.ok(result.data.Leaderboard != null, "Testing GetLeaderboard content"); assert.ok(result.data.Leaderboard.length > 0, "Testing GetLeaderboard content-length"); } - lbDoneC(); }; var getLeaderboardCallbackS = function (result, error) { @@ -455,14 +373,11 @@ var PlayFabApiTests = { assert.ok(result.data.Leaderboard != null, "Testing GetLeaderboard content"); assert.ok(result.data.Leaderboard.length > 0, "Testing GetLeaderboard content-length"); } - lbDoneS(); }; - PlayFabClientSDK.GetLeaderboard(clientRequest, PlayFabApiTests.CallbackWrapper("getLeaderboardCallbackC", getLeaderboardCallbackC, assert)); PlayFabServerSDK.GetLeaderboard(serverRequest, PlayFabApiTests.CallbackWrapper("getLeaderboardCallbackS", getLeaderboardCallbackS, assert)); }, - /// /// CLIENT API /// Test that AccountInfo can be requested @@ -470,7 +385,6 @@ var PlayFabApiTests = { /// AccountInfo: function (assert) { var getDone = assert.async(); - var getAccountInfoCallback = function (result, error) { PlayFabApiTests.VerifyNullError(result, error, assert, "Testing GetAccountInfo result"); assert.ok(result.data.AccountInfo != null, "Testing GetAccountInfo"); @@ -479,23 +393,17 @@ var PlayFabApiTests = { assert.ok(result.data.AccountInfo.TitleInfo.Origination.length > 0, "Testing Origination string-Enum"); getDone(); }; - PlayFabClientSDK.GetAccountInfo({}, PlayFabApiTests.CallbackWrapper("getAccountInfoCallback", getAccountInfoCallback, assert)); }, - /// /// CLIENT API /// Test that CloudScript can be properly set up and invoked /// CloudScript: function (assert) { var hwDone = assert.async(); - var helloWorldRequest = { - // Currently, you need to look up the correct format for this object in the API-docs: - // https://api.playfab.com/Documentation/Client/method/ExecuteCloudScript FunctionName: "helloWorld" }; - var helloWorldCallback = function (result, error) { PlayFabApiTests.VerifyNullError(result, error, assert, "Testing HelloWorld result"); if (result != null) { @@ -505,23 +413,17 @@ var PlayFabApiTests = { } hwDone(); }; - PlayFabClientSDK.ExecuteCloudScript(helloWorldRequest, PlayFabApiTests.CallbackWrapper("helloWorldCallback", helloWorldCallback, assert)); }, - /// /// CLIENT API /// Test that CloudScript errors can be deciphered /// CloudScriptError: function (assert) { var errDone = assert.async(); - var errRequest = { - // Currently, you need to look up the correct format for this object in the API-docs: - // https://api.playfab.com/Documentation/Client/method/ExecuteCloudScript FunctionName: "throwError" }; - var errCallback = function (result, error) { PlayFabApiTests.VerifyNullError(result, error, assert, "Testing Cloud Script Error result"); if (result != null) { @@ -531,39 +433,30 @@ var PlayFabApiTests = { } errDone(); }; - PlayFabClientSDK.ExecuteCloudScript(errRequest, PlayFabApiTests.CallbackWrapper("errCallback", errCallback, assert)); }, - /// /// CLIENT API /// Test that the client can publish custom PlayStream events /// WriteEvent: function (assert) { var writeEventDone = assert.async(); - var writeEventRequest = { - // Currently, you need to look up the correct format for this object in the API-docs: - // https://api.playfab.com/Documentation/Client/method/WritePlayerEvent - "EventName": "ForumPostEvent", - "Body": { - "Subject": "My First Post", - "Body": "This is my awesome post." - } + EventName: "ForumPostEvent" }; - + writeEventRequest.Body = {}; + writeEventRequest.Body["Subject"] = "My First Post"; + writeEventRequest.Body["Body"] = "This is my awesome post."; var writeEventCallback = function (result, error) { PlayFabApiTests.VerifyNullError(result, error, assert, "Testing WriteEvent result"); writeEventDone(); }; - PlayFabClientSDK.WritePlayerEvent(writeEventRequest, PlayFabApiTests.CallbackWrapper("writeEventCallback", writeEventCallback, assert)); }, }; - // The test report that will ultimately be relayed back to Cloud Script when the suite finishes var PfTestReport = [{ - name: PlayFab._internalSettings.buildIdentifier, + name: null, tests: 0, failures: 0, errors: 0, @@ -572,55 +465,53 @@ var PfTestReport = [{ timestamp: "", testResults: [] }]; - QUnit.begin(function (details) { + PfTestReport[0].name = PlayFab.buildIdentifier; PfTestReport[0].timestamp = (new Date()).toISOString(); }); - QUnit.testDone(function (details) { PfTestReport[0].tests += 1; var isFail = details.failed > 0 || details.passed !== details.total; if (isFail) { PfTestReport[0].failures += 1; PfTestReport[0].testResults.push({ - classname: PlayFab._internalSettings.buildIdentifier, + classname: PlayFab.buildIdentifier, name: details.name, time: details.runtime / 1000.0, - message: "Test failure message", // TODO: Can we get the real test message here? + message: "Test failure message", failureText: "FAILED" }); - } else { + } + else { PfTestReport[0].testResults.push({ - classname: PlayFab._internalSettings.buildIdentifier, + classname: PlayFab.buildIdentifier, name: details.name, time: details.runtime / 1000.0 }); } }); - // Register for all the QUnit hooks so we can track all the tests that are complete QUnit.done(function (details) { PfTestReport[0].time = details.runtime / 1000.0; - var saveResultsRequest = { - // Currently, you need to look up the correct format for this object in the API-docs: - // https://api.playfab.com/Documentation/Client/method/ExecuteCloudScript FunctionName: "SaveTestData", - FunctionParameter: { customId: PlayFab._internalSettings.buildIdentifier, testReport: PfTestReport }, + FunctionParameter: { customId: PlayFab.buildIdentifier, testReport: PfTestReport }, GeneratePlayStreamEvent: true }; var onSaveResultsFinal = function (result, error) { if (result && !error) { - console.log(PlayFabApiTests.testData.playFabId, ", Test report saved to CloudScript: ", PlayFab._internalSettings.buildIdentifier, "\n", JSON.stringify(PfTestReport, null, 4)); - } else { - console.log(PlayFabApiTests.testData.playFabId, ", Failed to save test report to CloudScript (CS Error): ", PlayFab._internalSettings.buildIdentifier, "\n", JSON.stringify(PfTestReport, null, 4)); + console.log(PlayFabApiTests.testData.playFabId, ", Test report saved to CloudScript: ", PlayFab.buildIdentifier, "\n", JSON.stringify(PfTestReport, null, 4)); + } + else { + console.log(PlayFabApiTests.testData.playFabId, ", Failed to save test report to CloudScript (CS Error): ", PlayFab.buildIdentifier, "\n", JSON.stringify(PfTestReport, null, 4)); } }; if (PlayFabClientSDK.IsClientLoggedIn()) { PlayFabClientSDK.ExecuteCloudScript(saveResultsRequest, onSaveResultsFinal); - } else { - console.log(PlayFabApiTests.testData.playFabId, ", Failed to save test report to CloudScript (Login): ", PlayFab._internalSettings.buildIdentifier, "\n", JSON.stringify(PfTestReport, null, 4)); + } + else { + console.log(PlayFabApiTests.testData.playFabId, ", Failed to save test report to CloudScript (Login): ", PlayFab.buildIdentifier, "\n", JSON.stringify(PfTestReport, null, 4)); } }); - PlayFabApiTests.ManualExecution(); +//# sourceMappingURL=PlayFabApiTest.js.map \ No newline at end of file diff --git a/PlayFabTestingExample/PlayFabApiTest.sln b/PlayFabTestingExample/PlayFabApiTest.sln new file mode 100644 index 00000000..0885ee70 --- /dev/null +++ b/PlayFabTestingExample/PlayFabApiTest.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PlayFabApiTest", "PlayFabApiTest.csproj", "{7B267741-5636-49E5-92D0-81C814A1CE35}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {7B267741-5636-49E5-92D0-81C814A1CE35}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7B267741-5636-49E5-92D0-81C814A1CE35}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7B267741-5636-49E5-92D0-81C814A1CE35}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7B267741-5636-49E5-92D0-81C814A1CE35}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/PlayFabTestingExample/PlayFabApiTest.ts b/PlayFabTestingExample/PlayFabApiTest.ts new file mode 100644 index 00000000..c0af202d --- /dev/null +++ b/PlayFabTestingExample/PlayFabApiTest.ts @@ -0,0 +1,588 @@ +declare var QUnit: any; +declare var $: any; +interface IAction { (): void } + +var PlayFabApiTests = { + testTitleDataFilename: "testTitleData.json", // Since you never want this to be public, a web page can ONLY load this if it's a local file in the same directory (Also can't convert to environment variable) + titleData: { + titleId: null, // put titleId here + developerSecretKey: null, // put secretKey here + userEmail: "put valid email associated with an existing account here", + characterName: "put any character name here" + }, + testData: { + playFabId: null, // Filled during login + characterId: null, // Filled during character-access + testNumber: null // Used by several tests + }, + testConstants: { + TEST_DATA_KEY: "testCounter", + TEST_STAT_NAME: "str", + CHAR_TEST_TYPE: "Fighter" + }, + + ManualExecution: function (): void { + $.getJSON(PlayFabApiTests.testTitleDataFilename, function (json): void { + if (PlayFabApiTests.SetUp(json)) + PlayFabApiTests.LoginTests(); + }).fail(function (): void { + if (PlayFabApiTests.SetUp(PlayFabApiTests.titleData)) + PlayFabApiTests.LoginTests(); + }); + }, + + LoginTests: function (): void { + // All tests run in parallel, which is a bit tricky. + // Some test rely on data loaded from other tests, and there's no super easy to force tests to be sequential/dependent + // In fact, most of the tests return here before they're done, and report back success/fail in some arbitrary future + + QUnit.module("PlayFab Api Test"); + QUnit.test("InvalidLogin", PlayFabApiTests.InvalidLogin); + QUnit.test("InvalidRegistration", PlayFabApiTests.InvalidRegistration); + QUnit.test("LoginOrRegister", PlayFabApiTests.LoginOrRegister); + QUnit.test("LoginWithAdvertisingId", PlayFabApiTests.LoginWithAdvertisingId); + + setTimeout(function (): void { PlayFabApiTests.PostLoginTests(0); }, 200); + }, + + PostLoginTests: function (count): void { + if (count > 5) + return; + + if (!PlayFabClientSDK.IsClientLoggedIn()) { + // Wait for login + setTimeout(function (): void { PlayFabApiTests.PostLoginTests(count + 1); }, 200); + } else { + // Continue with other tests that require login + QUnit.test("UserDataApi", PlayFabApiTests.UserDataApi); + QUnit.test("PlayerStatisticsApi", PlayFabApiTests.PlayerStatisticsApi); + QUnit.test("UserCharacter", PlayFabApiTests.UserCharacter); + QUnit.test("LeaderBoard", PlayFabApiTests.LeaderBoard); + QUnit.test("AccountInfo", PlayFabApiTests.AccountInfo); + QUnit.test("CloudScript", PlayFabApiTests.CloudScript); + QUnit.test("CloudScriptError", PlayFabApiTests.CloudScriptError); + QUnit.test("WriteEvent", PlayFabApiTests.WriteEvent); + } + }, + + SetUp: function (inputTitleData): void { + // All of these must exist for the titleData load to be successful + var titleDataValid = inputTitleData.hasOwnProperty("titleId") && inputTitleData.titleId != null + && inputTitleData.hasOwnProperty("developerSecretKey") && inputTitleData.developerSecretKey != null + && inputTitleData.hasOwnProperty("userEmail") + && inputTitleData.hasOwnProperty("characterName"); + + if (titleDataValid) + PlayFabApiTests.titleData = inputTitleData; + else + console.log("testTitleData input file did not parse correctly"); + + PlayFab.settings.titleId = PlayFabApiTests.titleData.titleId; + PlayFab.settings.developerSecretKey = PlayFabApiTests.titleData.developerSecretKey; + + return titleDataValid; + }, + + CallbackWrapper: function (callbackName: string, callback: PlayFabModule.ApiCallback, assert): PlayFabModule.ApiCallback { + return function (result: PlayFabModule.SuccessContainer, error: PlayFabModule.IPlayFabError): void { + try { + callback(result, error); + } catch (e) { + console.log("Exception thrown during " + callbackName + " callback: " + e.toString() + "\n" + e.stack); // Very irritatingly, qunit doesn't report failure results until all async callbacks return, which doesn't always happen when there's an exception + assert.ok(false, "Exception thrown during " + callbackName + " callback: " + e.toString() + "\n" + e.stack); + } + }; + }, + + SimpleCallbackWrapper: function (callbackName: string, callback: IAction, assert): IAction { + return function (): void { + try { + callback(); + } catch (e) { + console.log("Exception thrown during " + callbackName + " callback: " + e.toString() + "\n" + e.stack); // Very irritatingly, qunit doesn't report failure results until all async callbacks return, which doesn't always happen when there's an exception + assert.ok(false, "Exception thrown during " + callbackName + " callback: " + e.toString() + "\n" + e.stack); + } + }; + }, + + VerifyNullError: function (result: PlayFabModule.SuccessContainer, error: PlayFabModule.IPlayFabError, assert, message: string): void { + var success = (result !== null && error == null); + if (error != null) { + assert.ok(false, "PlayFab error message: " + PlayFabApiTests.CompileErrorReport(error)); + } else { + assert.ok(success, message); + } + }, + + CompileErrorReport: function (error: PlayFabModule.IPlayFabError): string { + if (error == null) + return ""; + var fullErrors = error.errorMessage; + for (var paramName in error.errorDetails) + for (var msgIdx in error.errorDetails[paramName]) + fullErrors += "\n" + paramName + ": " + error.errorDetails[paramName][msgIdx]; + return fullErrors; + }, + + /// + /// CLIENT API + /// Try to deliberately log in with an inappropriate password, + /// and verify that the error displays as expected. + /// + InvalidLogin: function (assert): void { + var invalidDone = assert.async(); + + var invalidRequest = { + Email: PlayFabApiTests.titleData.userEmail, + Password: "INVALID" + }; + + var invalidLoginCallback = function (result: PlayFabModule.SuccessContainer, error: PlayFabModule.IPlayFabError): void { + assert.ok(result == null, "Login should have failed"); + assert.ok(error != null, "Login should have failed"); + if (error != null) + assert.ok(error.errorMessage.toLowerCase().indexOf("password") > -1, "Expect errorMessage about invalid password: " + error.errorMessage); + invalidDone(); + }; + + PlayFabClientSDK.LoginWithEmailAddress(invalidRequest, PlayFabApiTests.CallbackWrapper("invalidLoginCallback", invalidLoginCallback, assert)); + }, + + /// + /// CLIENT API + /// Try to deliberately register a user with an invalid email and password + /// Verify that errorDetails are populated correctly. + /// + InvalidRegistration: function (assert): void { + var invalidDone = assert.async(); + + var invalidRequest = { + Username: "x", + Email: "x", + Password: "x" + }; + + var registerCallback = function (result: PlayFabModule.SuccessContainer, error: PlayFabModule.IPlayFabError): void { + assert.ok(result == null, "InvalidRegistration should have failed"); + assert.ok(error != null, "InvalidRegistration should have failed"); + var expectedEmailMsg = "email address is not valid."; + var expectedPasswordMsg = "password must be between"; + var errorReport = PlayFabApiTests.CompileErrorReport(error); + assert.ok(errorReport.toLowerCase().indexOf(expectedEmailMsg) > -1, "Expect errorMessage about invalid email: " + errorReport); + assert.ok(errorReport.toLowerCase().indexOf(expectedPasswordMsg) > -1, "Expect errorMessage about invalid password: " + errorReport); + invalidDone(); + }; + + PlayFabClientSDK.RegisterPlayFabUser(invalidRequest, PlayFabApiTests.CallbackWrapper("registerCallback", registerCallback, assert)); + }, + + /// + /// CLIENT API + /// Log in or create a user, track their PlayFabId + /// + LoginOrRegister: function (assert): void { + var loginRequest = { + CustomId: PlayFab.buildIdentifier, + CreateAccount: true + }; + + var loginDone = assert.async(); + var loginCallback = function (result: PlayFabModule.SuccessContainer, error: PlayFabModule.IPlayFabError): void { + PlayFabApiTests.VerifyNullError(result, error, assert, "Testing Valid login result"); + assert.ok(PlayFabClientSDK.IsClientLoggedIn(), "Testing Login credentials cache"); + if (result != null) + PlayFabApiTests.testData.playFabId = result.data.PlayFabId; // Save the PlayFabId, it will be used in other tests + loginDone(); + }; + + PlayFabClientSDK.LoginWithCustomID(loginRequest, PlayFabApiTests.CallbackWrapper("loginCallback", loginCallback, assert)); + }, + + /// + /// CLIENT API + /// Test that the login call sequence sends the AdvertisingId when set + /// + LoginWithAdvertisingId: function (assert): void { + PlayFab.settings.advertisingIdType = PlayFab.settings.AD_TYPE_ANDROID_ID; + PlayFab.settings.advertisingIdValue = "PlayFabTestId"; + + var loginDone = assert.async(); + var count = -1; + var finishAdvertId = function (): void { + count += 1; + if (count <= 10 && PlayFab.settings.advertisingIdType !== PlayFab.settings.AD_TYPE_ANDROID_ID + "_Successful") { + setTimeout(PlayFabApiTests.SimpleCallbackWrapper("finishAdvertId", finishAdvertId, assert), 200); + } else { + assert.ok(PlayFab.settings.advertisingIdType === PlayFab.settings.AD_TYPE_ANDROID_ID + "_Successful", "Testing whether advertisingId submitted properly"); + loginDone(); + } + }; + var advertLoginCallback = function (result: PlayFabModule.SuccessContainer, error: PlayFabModule.IPlayFabError): void { + PlayFabApiTests.VerifyNullError(result, error, assert, "Testing Advert-Login result"); + setTimeout(PlayFabApiTests.SimpleCallbackWrapper("finishAdvertId", finishAdvertId, assert), 200); + }; + var loginRequest = { + CustomId: PlayFab.buildIdentifier, + CreateAccount: true + }; + PlayFabClientSDK.LoginWithCustomID(loginRequest, PlayFabApiTests.CallbackWrapper("advertLoginCallback", advertLoginCallback, assert)); + }, + + /// + /// CLIENT API + /// Test a sequence of calls that modifies saved data, + /// and verifies that the next sequential API call contains updated data. + /// Verify that the data is correctly modified on the next call. + /// Parameter types tested: string, Dictionary, DateTime + /// + UserDataApi: function (assert): void { + var getDataRequest = {}; // null also works + + // This test is always exactly 3 async calls + var get1Done = assert.async(); + var updateDone = assert.async(); + var get2Done = assert.async(); + + var getDataCallback2 = function (result: PlayFabModule.SuccessContainer, error: PlayFabModule.IPlayFabError): void { + PlayFabApiTests.VerifyNullError(result, error, assert, "Testing GetUserData result"); + assert.ok(result.data.Data != null, "Testing GetUserData Data"); + assert.ok(result.data.Data.hasOwnProperty(PlayFabApiTests.testConstants.TEST_DATA_KEY), "Testing GetUserData DataKey"); + + var actualtestNumber = parseInt(result.data.Data[PlayFabApiTests.testConstants.TEST_DATA_KEY].Value, 10); + var timeUpdated: number = new Date(result.data.Data[PlayFabApiTests.testConstants.TEST_DATA_KEY].LastUpdated).getTime(); + + var now: number = Date.now(); + var testMin: number = now - (1000 * 60 * 5); + var testMax: number = now + (1000 * 60 * 5); + assert.equal(PlayFabApiTests.testData.testNumber, actualtestNumber, "Testing incrementing counter: " + PlayFabApiTests.testData.testNumber + "==" + actualtestNumber); + assert.ok(testMin <= timeUpdated && timeUpdated <= testMax, "Testing incrementing timestamp: " + timeUpdated + " vs " + now); + get2Done(); + }; + var updateDataCallback = function (result: PlayFabModule.SuccessContainer, error: PlayFabModule.IPlayFabError): void { + PlayFabApiTests.VerifyNullError(result, error, assert, "Testing UpdateUserData result"); + + PlayFabClientSDK.GetUserData(getDataRequest, PlayFabApiTests.CallbackWrapper("getDataCallback2", getDataCallback2, assert)); + updateDone(); + }; + var getDataCallback1 = function (result: PlayFabModule.SuccessContainer, error: PlayFabModule.IPlayFabError): void { + PlayFabApiTests.VerifyNullError(result, error, assert, "Testing GetUserData result"); + assert.ok(result.data.Data != null, "Testing GetUserData Data"); + + var hasData = result.data.Data.hasOwnProperty(PlayFabApiTests.testConstants.TEST_DATA_KEY); + PlayFabApiTests.testData.testNumber = !hasData ? 1 : parseInt(result.data.Data[PlayFabApiTests.testConstants.TEST_DATA_KEY].Value, 10); + PlayFabApiTests.testData.testNumber = (PlayFabApiTests.testData.testNumber + 1) % 100; // This test is about the expected value changing - but not testing more complicated issues like bounds + + var updateDataRequest = {}; + updateDataRequest.Data = {}; + updateDataRequest.Data[PlayFabApiTests.testConstants.TEST_DATA_KEY] = PlayFabApiTests.testData.testNumber; + PlayFabClientSDK.UpdateUserData(updateDataRequest, PlayFabApiTests.CallbackWrapper("updateDataCallback", updateDataCallback, assert)); + get1Done(); + }; + + // Kick off this test process + PlayFabClientSDK.GetUserData(getDataRequest, PlayFabApiTests.CallbackWrapper("getDataCallback1", getDataCallback1, assert)); + }, + + /// + /// CLIENT API + /// Test a sequence of calls that modifies saved data, + /// and verifies that the next sequential API call contains updated data. + /// Verify that the data is saved correctly, and that specific types are tested + /// Parameter types tested: Dictionary + /// + PlayerStatisticsApi: function (assert): void { + var getStatsRequest = {}; // null also works + + // This test is always exactly 3 async calls + var get1Done = assert.async(); + var updateDone = assert.async(); + var get2Done = assert.async(); + + var getStatsCallback2 = function (result: PlayFabModule.SuccessContainer, error: PlayFabModule.IPlayFabError): void { + PlayFabApiTests.VerifyNullError(result, error, assert, "Testing GetPlayerStats result"); + assert.ok(result.data.Statistics != null, "Testing GetUserData Stats"); + + var actualtestNumber = -1000; + for (var i = 0; i < result.data.Statistics.length; i++) + if (result.data.Statistics[i].StatisticName === PlayFabApiTests.testConstants.TEST_STAT_NAME) + actualtestNumber = result.data.Statistics[i].Value; + + assert.equal(PlayFabApiTests.testData.testNumber, actualtestNumber, "Testing incrementing stat: " + PlayFabApiTests.testData.testNumber + "==" + actualtestNumber); + get2Done(); + }; + var updateStatsCallback = function (result: PlayFabModule.SuccessContainer, error: PlayFabModule.IPlayFabError): void { + PlayFabApiTests.VerifyNullError(result, error, assert, "Testing UpdatePlayerStats result"); + PlayFabClientSDK.GetPlayerStatistics(getStatsRequest, PlayFabApiTests.CallbackWrapper("getStatsCallback2", getStatsCallback2, assert)); + updateDone(); + }; + var getStatsCallback1 = function (result: PlayFabModule.SuccessContainer, error: PlayFabModule.IPlayFabError): void { + PlayFabApiTests.VerifyNullError(result, error, assert, "Testing GetPlayerStats result"); + assert.ok(result.data.Statistics != null, "Testing GetUserData Stats"); + + PlayFabApiTests.testData.testNumber = 0; + for (var i = 0; i < result.data.Statistics.length; i++) + if (result.data.Statistics[i].StatisticName === PlayFabApiTests.testConstants.TEST_STAT_NAME) + PlayFabApiTests.testData.testNumber = result.data.Statistics[i].Value; + PlayFabApiTests.testData.testNumber = (PlayFabApiTests.testData.testNumber + 1) % 100; // This test is about the expected value changing - but not testing more complicated issues like bounds + + var updateStatsRequest = { + Statistics: [{ StatisticName: PlayFabApiTests.testConstants.TEST_STAT_NAME, Value: PlayFabApiTests.testData.testNumber }] + }; + PlayFabClientSDK.UpdatePlayerStatistics(updateStatsRequest, PlayFabApiTests.CallbackWrapper("updateStatsCallback", updateStatsCallback, assert)); + get1Done(); + }; + + // Kick off this test process + PlayFabClientSDK.GetPlayerStatistics(getStatsRequest, PlayFabApiTests.CallbackWrapper("getStatsCallback1", getStatsCallback1, assert)); + }, + + /// + /// SERVER API + /// Get or create the given test character for the given user + /// Parameter types tested: Contained-Classes, string + /// + UserCharacter: function (assert): void { + var getCharsRequest = {}; + var grantCharRequest = { + TitleId: PlayFabApiTests.titleData.titleId, + PlayFabId: PlayFabApiTests.testData.playFabId, + CharacterName: PlayFabApiTests.titleData.characterName, + CharacterType: PlayFabApiTests.testConstants.CHAR_TEST_TYPE + }; + + // We don't know at this point how many async calls we'll make + var getDone = null; + var grantDone = null; + + var mandatoryGetCharsCallback = function (result: PlayFabModule.SuccessContainer, error: PlayFabModule.IPlayFabError): void { + // GetChars MUST succeed at some point during this test + PlayFabApiTests.VerifyNullError(result, error, assert, "Testing GetChars result"); + + for (var i in result.data.Characters) + if (result.data.Characters[i].CharacterName === PlayFabApiTests.titleData.characterName) + PlayFabApiTests.testData.characterId = result.data.Characters[i].CharacterId; // Save the characterId, it will be used in other tests + + assert.ok(PlayFabApiTests.testData.characterId != null, "Searching for " + PlayFabApiTests.titleData.characterName + " on this account."); + getDone(); + }; + var grantCharCallback = function (result: PlayFabModule.SuccessContainer, error: PlayFabModule.IPlayFabError): void { + // Second character callback MUST succeed + PlayFabApiTests.VerifyNullError(result, error, assert, "Testing GrantCharacter result"); + + // Get chars again, this time with the newly granted character + getDone = assert.async(); + PlayFabClientSDK.GetAllUsersCharacters(grantCharRequest, PlayFabApiTests.CallbackWrapper("mandatoryGetCharsCallback", mandatoryGetCharsCallback, assert)); + grantDone(); + }; + var optionalGetCharsCallback = function (result: PlayFabModule.SuccessContainer, error: PlayFabModule.IPlayFabError): void { + // First get chars falls back upon grant-char if target character not present + if (result.data.Characters.length === 0) { + // Register the character and try again + grantDone = assert.async(); + PlayFabServerSDK.GrantCharacterToUser(grantCharRequest, PlayFabApiTests.CallbackWrapper("grantCharCallback", grantCharCallback, assert)); + getDone(); + } + else { + // Confirm the successful login + mandatoryGetCharsCallback(result, error); + } + }; + getDone = assert.async(); + PlayFabClientSDK.GetAllUsersCharacters(getCharsRequest, PlayFabApiTests.CallbackWrapper("optionalGetCharsCallback", optionalGetCharsCallback, assert)); + }, + + /// + /// CLIENT AND SERVER API + /// Test that leaderboard results can be requested + /// Parameter types tested: List of contained-classes + /// + LeaderBoard: function (assert): void { + var clientRequest = { + MaxResultsCount: 3, + StartPosition: 0, + StatisticName: PlayFabApiTests.testConstants.TEST_STAT_NAME + }; + var serverRequest = { + MaxResultsCount: 3, + StartPosition: 0, + StatisticName: PlayFabApiTests.testConstants.TEST_STAT_NAME + }; + var lbDoneC = assert.async(); + var lbDoneS = assert.async(); + + var getLeaderboardCallbackC = function (result: PlayFabModule.SuccessContainer, error: PlayFabModule.IPlayFabError): void { + PlayFabApiTests.VerifyNullError(result, error, assert, "Testing GetLeaderboard result"); + if (result != null) { + assert.ok(result.data.Leaderboard != null, "Testing GetLeaderboard content"); + assert.ok(result.data.Leaderboard.length > 0, "Testing GetLeaderboard content-length"); + } + + lbDoneC(); + }; + var getLeaderboardCallbackS = function (result: PlayFabModule.SuccessContainer, error: PlayFabModule.IPlayFabError): void { + PlayFabApiTests.VerifyNullError(result, error, assert, "Testing GetLeaderboard result"); + if (result != null) { + assert.ok(result.data.Leaderboard != null, "Testing GetLeaderboard content"); + assert.ok(result.data.Leaderboard.length > 0, "Testing GetLeaderboard content-length"); + } + + lbDoneS(); + }; + + PlayFabClientSDK.GetLeaderboard(clientRequest, PlayFabApiTests.CallbackWrapper("getLeaderboardCallbackC", getLeaderboardCallbackC, assert)); + PlayFabServerSDK.GetLeaderboard(serverRequest, PlayFabApiTests.CallbackWrapper("getLeaderboardCallbackS", getLeaderboardCallbackS, assert)); + }, + + /// + /// CLIENT API + /// Test that AccountInfo can be requested + /// Parameter types tested: List of enum-as-strings converted to list of enums + /// + AccountInfo: function (assert): void { + var getDone = assert.async(); + + var getAccountInfoCallback = function (result: PlayFabModule.SuccessContainer, error: PlayFabModule.IPlayFabError): void { + PlayFabApiTests.VerifyNullError(result, error, assert, "Testing GetAccountInfo result"); + assert.ok(result.data.AccountInfo != null, "Testing GetAccountInfo"); + assert.ok(result.data.AccountInfo.TitleInfo != null, "Testing TitleInfo"); + assert.ok(result.data.AccountInfo.TitleInfo.Origination != null, "Testing Origination"); + assert.ok(result.data.AccountInfo.TitleInfo.Origination.length > 0, "Testing Origination string-Enum"); + getDone(); + }; + + PlayFabClientSDK.GetAccountInfo({}, PlayFabApiTests.CallbackWrapper("getAccountInfoCallback", getAccountInfoCallback, assert)); + }, + + /// + /// CLIENT API + /// Test that CloudScript can be properly set up and invoked + /// + CloudScript: function (assert): void { + var hwDone = assert.async(); + + var helloWorldRequest = { + FunctionName: "helloWorld" + }; + + var helloWorldCallback = function (result: PlayFabModule.SuccessContainer, error: PlayFabModule.IPlayFabError): void { + PlayFabApiTests.VerifyNullError(result, error, assert, "Testing HelloWorld result"); + if (result != null) { + assert.ok(result.data.FunctionResult != null, "Testing HelloWorld result"); + assert.ok(result.data.FunctionResult.messageValue != null, "Testing HelloWorld result message"); + assert.equal(result.data.FunctionResult.messageValue, "Hello " + PlayFabApiTests.testData.playFabId + "!", "HelloWorld cloudscript result: " + result.data.FunctionResult.messageValue); + } + hwDone(); + }; + + PlayFabClientSDK.ExecuteCloudScript(helloWorldRequest, PlayFabApiTests.CallbackWrapper("helloWorldCallback", helloWorldCallback, assert)); + }, + + /// + /// CLIENT API + /// Test that CloudScript errors can be deciphered + /// + CloudScriptError: function (assert): void { + var errDone = assert.async(); + + var errRequest = { + FunctionName: "throwError" + }; + + var errCallback = function (result: PlayFabModule.SuccessContainer, error: PlayFabModule.IPlayFabError): void { + PlayFabApiTests.VerifyNullError(result, error, assert, "Testing Cloud Script Error result"); + if (result != null) { + assert.ok(result.data.FunctionResult == null, "Testing Cloud Script Error result"); + assert.ok(result.data.Error != null, "Testing Cloud Script Error result message"); + assert.equal(result.data.Error.Error, "JavascriptException", "Testing Cloud Script Error result message"); + } + errDone(); + }; + + PlayFabClientSDK.ExecuteCloudScript(errRequest, PlayFabApiTests.CallbackWrapper("errCallback", errCallback, assert)); + }, + + /// + /// CLIENT API + /// Test that the client can publish custom PlayStream events + /// + WriteEvent: function (assert): void { + var writeEventDone = assert.async(); + + var writeEventRequest = { + EventName: "ForumPostEvent" + }; + writeEventRequest.Body = {}; + writeEventRequest.Body["Subject"] = "My First Post"; + writeEventRequest.Body["Body"] = "This is my awesome post."; + + var writeEventCallback = function (result: PlayFabModule.SuccessContainer, error: PlayFabModule.IPlayFabError): void { + PlayFabApiTests.VerifyNullError(result, error, assert, "Testing WriteEvent result"); + writeEventDone(); + }; + + PlayFabClientSDK.WritePlayerEvent(writeEventRequest, PlayFabApiTests.CallbackWrapper("writeEventCallback", writeEventCallback, assert)); + }, +}; + +// The test report that will ultimately be relayed back to Cloud Script when the suite finishes +var PfTestReport = [{ + name: null, + tests: 0, + failures: 0, + errors: 0, + skipped: 0, + time: 0.0, + timestamp: "", + testResults: [] +}]; + +QUnit.begin(function (details): void { + PfTestReport[0].name = PlayFab.buildIdentifier; + PfTestReport[0].timestamp = (new Date()).toISOString(); +}); + +QUnit.testDone(function (details): void { + PfTestReport[0].tests += 1; + var isFail = details.failed > 0 || details.passed !== details.total; + if (isFail) { + PfTestReport[0].failures += 1; + PfTestReport[0].testResults.push({ + classname: PlayFab.buildIdentifier, + name: details.name, + time: details.runtime / 1000.0, + message: "Test failure message", // TODO: Can we get the real test message here? + failureText: "FAILED" + }); + } else { + PfTestReport[0].testResults.push({ + classname: PlayFab.buildIdentifier, + name: details.name, + time: details.runtime / 1000.0 + }); + } +}); + +// Register for all the QUnit hooks so we can track all the tests that are complete +QUnit.done(function (details): void { + PfTestReport[0].time = details.runtime / 1000.0; + + var saveResultsRequest = { + FunctionName: "SaveTestData", + FunctionParameter: { customId: PlayFab.buildIdentifier, testReport: PfTestReport }, + GeneratePlayStreamEvent: true + }; + var onSaveResultsFinal = function (result: PlayFabModule.SuccessContainer, error: PlayFabModule.IPlayFabError): void { + if (result && !error) { + console.log(PlayFabApiTests.testData.playFabId, ", Test report saved to CloudScript: ", PlayFab.buildIdentifier, "\n", JSON.stringify(PfTestReport, null, 4)); + } else { + console.log(PlayFabApiTests.testData.playFabId, ", Failed to save test report to CloudScript (CS Error): ", PlayFab.buildIdentifier, "\n", JSON.stringify(PfTestReport, null, 4)); + } + }; + if (PlayFabClientSDK.IsClientLoggedIn()) { + PlayFabClientSDK.ExecuteCloudScript(saveResultsRequest, onSaveResultsFinal); + } else { + console.log(PlayFabApiTests.testData.playFabId, ", Failed to save test report to CloudScript (Login): ", PlayFab.buildIdentifier, "\n", JSON.stringify(PfTestReport, null, 4)); + } +}); + +PlayFabApiTests.ManualExecution(); diff --git a/code.jquery.com/qunit/qunit-1.19.0.css b/PlayFabTestingExample/code.jquery.com/qunit/qunit-1.19.0.css similarity index 100% rename from code.jquery.com/qunit/qunit-1.19.0.css rename to PlayFabTestingExample/code.jquery.com/qunit/qunit-1.19.0.css diff --git a/code.jquery.com/qunit/qunit-1.19.0.js b/PlayFabTestingExample/code.jquery.com/qunit/qunit-1.19.0.js similarity index 100% rename from code.jquery.com/qunit/qunit-1.19.0.js rename to PlayFabTestingExample/code.jquery.com/qunit/qunit-1.19.0.js diff --git a/PlayFabTestingExample/index.html b/PlayFabTestingExample/index.html new file mode 100644 index 00000000..1e983a09 --- /dev/null +++ b/PlayFabTestingExample/index.html @@ -0,0 +1,19 @@ + + + + + PlayFab JavaScript Unit Tests + + + +
+
+ + + + + + + + + diff --git a/PlayFabTestingExample/src/PlayFab/PlayFabAdminApi.js b/PlayFabTestingExample/src/PlayFab/PlayFabAdminApi.js new file mode 100644 index 00000000..9d74cc6e --- /dev/null +++ b/PlayFabTestingExample/src/PlayFab/PlayFabAdminApi.js @@ -0,0 +1,660 @@ +/// + +var PlayFab = typeof PlayFab != "undefined" ? PlayFab : {}; + +if(!PlayFab.settings) { + PlayFab.settings = { + titleId: null, // You must set this value for PlayFabSdk to work properly (Found in the Game Manager for your title, at the PlayFab Website) + developerSecretKey: null, // For security reasons you must never expose this value to the client or players - You must set this value for Server-APIs to work properly (Found in the Game Manager for your title, at the PlayFab Website) + advertisingIdType: null, + advertisingIdValue: null, + + // disableAdvertising is provided for completeness, but changing it is not suggested + // Disabling this may prevent your advertising-related PlayFab marketplace partners from working correctly + disableAdvertising: false, + AD_TYPE_IDFA: "Idfa", + AD_TYPE_ANDROID_ID: "Adid" + } +} + +if(!PlayFab._internalSettings) { + PlayFab._internalSettings = { + sessionTicket: null, + productionServerUrl: ".playfabapi.com", + + GetServerUrl: function () { + return "https://" + PlayFab.settings.titleId + PlayFab._internalSettings.productionServerUrl; + }, + + ExecuteRequest: function (completeUrl, data, authkey, authValue, callback) { + if (callback != null && typeof (callback) != "function") + throw "Callback must be null of a function"; + + if (data == null) + data = {}; + + var startTime = new Date(); + var requestBody = JSON.stringify(data); + + var xhr = new XMLHttpRequest(); + // window.console.log("URL: " + completeUrl); + xhr.open("POST", completeUrl, true); + + xhr.setRequestHeader('Content-Type', 'application/json'); + + if (authkey != null) + xhr.setRequestHeader(authkey, authValue); + + xhr.setRequestHeader('X-PlayFabSDK', "JavaScriptSDK-" + PlayFab._internalSettings.sdkVersion); + + xhr.onloadend = function () { + if (callback == null) + return; + + var result; + try { + // window.console.log("parsing json result: " + xhr.responseText); + result = JSON.parse(xhr.responseText); + } catch (e) { + result = { + code: 503, // Service Unavailable + status: "Service Unavailable", + error: "Connection error", + errorCode: 2, // PlayFabErrorCode.ConnectionError + errorMessage: xhr.responseText + }; + } + + result.CallBackTimeMS = new Date() - startTime; + + if (result.code === 200) + callback(result, null); + else + callback(null, result); + } + + xhr.onerror = function () { + if (callback == null) + return; + + var result; + try { + result = JSON.parse(xhr.responseText); + } catch (e) { + result = { + code: 503, // Service Unavailable + status: "Service Unavailable", + error: "Connection error", + errorCode: 2, // PlayFabErrorCode.ConnectionError + errorMessage: xhr.responseText + }; + } + + result.CallBackTimeMS = new Date() - startTime; + callback(null, result); + } + + xhr.send(requestBody); + } + } +} + +PlayFab.buildIdentifier = "jbuild_javascriptsdk_1"; +PlayFab.sdkVersion = "1.0.170130"; + +PlayFab.AdminApi = { + + GetPolicy: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/GetPolicy", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + UpdatePolicy: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/UpdatePolicy", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + BanUsers: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/BanUsers", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetUserAccountInfo: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/GetUserAccountInfo", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetUserBans: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/GetUserBans", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + ResetUsers: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/ResetUsers", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + RevokeAllBansForUser: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/RevokeAllBansForUser", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + RevokeBans: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/RevokeBans", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + SendAccountRecoveryEmail: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/SendAccountRecoveryEmail", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + UpdateBans: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/UpdateBans", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + UpdateUserTitleDisplayName: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/UpdateUserTitleDisplayName", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + CreatePlayerStatisticDefinition: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/CreatePlayerStatisticDefinition", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + DeleteUsers: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/DeleteUsers", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetDataReport: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/GetDataReport", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetPlayerStatisticDefinitions: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/GetPlayerStatisticDefinitions", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetPlayerStatisticVersions: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/GetPlayerStatisticVersions", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetUserData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/GetUserData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetUserInternalData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/GetUserInternalData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetUserPublisherData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/GetUserPublisherData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetUserPublisherInternalData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/GetUserPublisherInternalData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetUserPublisherReadOnlyData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/GetUserPublisherReadOnlyData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetUserReadOnlyData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/GetUserReadOnlyData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + IncrementPlayerStatisticVersion: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/IncrementPlayerStatisticVersion", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + RefundPurchase: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/RefundPurchase", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + ResetUserStatistics: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/ResetUserStatistics", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + ResolvePurchaseDispute: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/ResolvePurchaseDispute", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + UpdatePlayerStatisticDefinition: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/UpdatePlayerStatisticDefinition", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + UpdateUserData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/UpdateUserData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + UpdateUserInternalData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/UpdateUserInternalData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + UpdateUserPublisherData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/UpdateUserPublisherData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + UpdateUserPublisherInternalData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/UpdateUserPublisherInternalData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + UpdateUserPublisherReadOnlyData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/UpdateUserPublisherReadOnlyData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + UpdateUserReadOnlyData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/UpdateUserReadOnlyData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + AddNews: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/AddNews", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + AddVirtualCurrencyTypes: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/AddVirtualCurrencyTypes", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + DeleteStore: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/DeleteStore", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetCatalogItems: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/GetCatalogItems", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetPublisherData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/GetPublisherData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetRandomResultTables: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/GetRandomResultTables", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetStoreItems: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/GetStoreItems", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetTitleData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/GetTitleData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetTitleInternalData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/GetTitleInternalData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + ListVirtualCurrencyTypes: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/ListVirtualCurrencyTypes", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + RemoveVirtualCurrencyTypes: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/RemoveVirtualCurrencyTypes", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + SetCatalogItems: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/SetCatalogItems", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + SetStoreItems: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/SetStoreItems", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + SetTitleData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/SetTitleData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + SetTitleInternalData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/SetTitleInternalData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + SetupPushNotification: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/SetupPushNotification", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + UpdateCatalogItems: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/UpdateCatalogItems", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + UpdateRandomResultTables: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/UpdateRandomResultTables", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + UpdateStoreItems: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/UpdateStoreItems", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + AddUserVirtualCurrency: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/AddUserVirtualCurrency", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetUserInventory: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/GetUserInventory", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GrantItemsToUsers: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/GrantItemsToUsers", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + RevokeInventoryItem: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/RevokeInventoryItem", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + SubtractUserVirtualCurrency: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/SubtractUserVirtualCurrency", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetMatchmakerGameInfo: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/GetMatchmakerGameInfo", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetMatchmakerGameModes: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/GetMatchmakerGameModes", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + ModifyMatchmakerGameModes: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/ModifyMatchmakerGameModes", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + AddServerBuild: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/AddServerBuild", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetServerBuildInfo: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/GetServerBuildInfo", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetServerBuildUploadUrl: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/GetServerBuildUploadUrl", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + ListServerBuilds: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/ListServerBuilds", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + ModifyServerBuild: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/ModifyServerBuild", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + RemoveServerBuild: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/RemoveServerBuild", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + SetPublisherData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/SetPublisherData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetCloudScriptRevision: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/GetCloudScriptRevision", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetCloudScriptVersions: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/GetCloudScriptVersions", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + SetPublishedRevision: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/SetPublishedRevision", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + UpdateCloudScript: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/UpdateCloudScript", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + DeleteContent: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/DeleteContent", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetContentList: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/GetContentList", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetContentUploadUrl: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/GetContentUploadUrl", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + ResetCharacterStatistics: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/ResetCharacterStatistics", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + AddPlayerTag: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/AddPlayerTag", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetAllActionGroups: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/GetAllActionGroups", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetAllSegments: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/GetAllSegments", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetPlayerSegments: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/GetPlayerSegments", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetPlayersInSegment: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/GetPlayersInSegment", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetPlayerTags: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/GetPlayerTags", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + RemovePlayerTag: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/RemovePlayerTag", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + AbortTaskInstance: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/AbortTaskInstance", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + CreateActionsOnPlayersInSegmentTask: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/CreateActionsOnPlayersInSegmentTask", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + CreateCloudScriptTask: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/CreateCloudScriptTask", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + DeleteTask: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/DeleteTask", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetActionsOnPlayersInSegmentTaskInstance: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/GetActionsOnPlayersInSegmentTaskInstance", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetCloudScriptTaskInstance: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/GetCloudScriptTaskInstance", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetTaskInstances: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/GetTaskInstances", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetTasks: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/GetTasks", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + RunTask: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/RunTask", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + UpdateTask: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Admin/UpdateTask", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, +}; + +var PlayFabAdminSDK = PlayFab.AdminApi; diff --git a/PlayFabTestingExample/src/PlayFab/PlayFabClientApi.js b/PlayFabTestingExample/src/PlayFab/PlayFabClientApi.js new file mode 100644 index 00000000..e16c863b --- /dev/null +++ b/PlayFabTestingExample/src/PlayFab/PlayFabClientApi.js @@ -0,0 +1,947 @@ +/// + +var PlayFab = typeof PlayFab != "undefined" ? PlayFab : {}; + +if(!PlayFab.settings) { + PlayFab.settings = { + titleId: null, // You must set this value for PlayFabSdk to work properly (Found in the Game Manager for your title, at the PlayFab Website) + developerSecretKey: null, // For security reasons you must never expose this value to the client or players - You must set this value for Server-APIs to work properly (Found in the Game Manager for your title, at the PlayFab Website) + advertisingIdType: null, + advertisingIdValue: null, + + // disableAdvertising is provided for completeness, but changing it is not suggested + // Disabling this may prevent your advertising-related PlayFab marketplace partners from working correctly + disableAdvertising: false, + AD_TYPE_IDFA: "Idfa", + AD_TYPE_ANDROID_ID: "Adid" + } +} + +if(!PlayFab._internalSettings) { + PlayFab._internalSettings = { + sessionTicket: null, + productionServerUrl: ".playfabapi.com", + + GetServerUrl: function () { + return "https://" + PlayFab.settings.titleId + PlayFab._internalSettings.productionServerUrl; + }, + + ExecuteRequest: function (completeUrl, data, authkey, authValue, callback) { + if (callback != null && typeof (callback) != "function") + throw "Callback must be null of a function"; + + if (data == null) + data = {}; + + var startTime = new Date(); + var requestBody = JSON.stringify(data); + + var xhr = new XMLHttpRequest(); + // window.console.log("URL: " + completeUrl); + xhr.open("POST", completeUrl, true); + + xhr.setRequestHeader('Content-Type', 'application/json'); + + if (authkey != null) + xhr.setRequestHeader(authkey, authValue); + + xhr.setRequestHeader('X-PlayFabSDK', "JavaScriptSDK-" + PlayFab._internalSettings.sdkVersion); + + xhr.onloadend = function () { + if (callback == null) + return; + + var result; + try { + // window.console.log("parsing json result: " + xhr.responseText); + result = JSON.parse(xhr.responseText); + } catch (e) { + result = { + code: 503, // Service Unavailable + status: "Service Unavailable", + error: "Connection error", + errorCode: 2, // PlayFabErrorCode.ConnectionError + errorMessage: xhr.responseText + }; + } + + result.CallBackTimeMS = new Date() - startTime; + + if (result.code === 200) + callback(result, null); + else + callback(null, result); + } + + xhr.onerror = function () { + if (callback == null) + return; + + var result; + try { + result = JSON.parse(xhr.responseText); + } catch (e) { + result = { + code: 503, // Service Unavailable + status: "Service Unavailable", + error: "Connection error", + errorCode: 2, // PlayFabErrorCode.ConnectionError + errorMessage: xhr.responseText + }; + } + + result.CallBackTimeMS = new Date() - startTime; + callback(null, result); + } + + xhr.send(requestBody); + } + } +} + +PlayFab.buildIdentifier = "jbuild_javascriptsdk_1"; +PlayFab.sdkVersion = "1.0.170130"; + +PlayFab.ClientApi = { + + IsClientLoggedIn: function () { + return PlayFab._internalSettings.sessionTicket != null && PlayFab._internalSettings.sessionTicket.length > 0; + }, + + GetPhotonAuthenticationToken: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetPhotonAuthenticationToken", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + LoginWithAndroidDeviceID: function (request, callback) { + request.TitleId = PlayFab.settings.titleId != null ? PlayFab.settings.titleId : request.TitleId; if (request.TitleId == null) throw "Must be have PlayFab.settings.titleId set to call this method"; + + var overloadCallback = function (result, error) { + if (result != null && result.data.SessionTicket != null) { + PlayFab._internalSettings.sessionTicket = result.data.SessionTicket; + PlayFab.ClientApi._MultiStepClientLogin(result.data.SettingsForUser.NeedsAttribution); + } + if (callback != null && typeof (callback) == "function") + callback(result, error); + }; + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/LoginWithAndroidDeviceID", request, null, null, overloadCallback); + }, + + LoginWithCustomID: function (request, callback) { + request.TitleId = PlayFab.settings.titleId != null ? PlayFab.settings.titleId : request.TitleId; if (request.TitleId == null) throw "Must be have PlayFab.settings.titleId set to call this method"; + + var overloadCallback = function (result, error) { + if (result != null && result.data.SessionTicket != null) { + PlayFab._internalSettings.sessionTicket = result.data.SessionTicket; + PlayFab.ClientApi._MultiStepClientLogin(result.data.SettingsForUser.NeedsAttribution); + } + if (callback != null && typeof (callback) == "function") + callback(result, error); + }; + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/LoginWithCustomID", request, null, null, overloadCallback); + }, + + LoginWithEmailAddress: function (request, callback) { + request.TitleId = PlayFab.settings.titleId != null ? PlayFab.settings.titleId : request.TitleId; if (request.TitleId == null) throw "Must be have PlayFab.settings.titleId set to call this method"; + + var overloadCallback = function (result, error) { + if (result != null && result.data.SessionTicket != null) { + PlayFab._internalSettings.sessionTicket = result.data.SessionTicket; + PlayFab.ClientApi._MultiStepClientLogin(result.data.SettingsForUser.NeedsAttribution); + } + if (callback != null && typeof (callback) == "function") + callback(result, error); + }; + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/LoginWithEmailAddress", request, null, null, overloadCallback); + }, + + LoginWithFacebook: function (request, callback) { + request.TitleId = PlayFab.settings.titleId != null ? PlayFab.settings.titleId : request.TitleId; if (request.TitleId == null) throw "Must be have PlayFab.settings.titleId set to call this method"; + + var overloadCallback = function (result, error) { + if (result != null && result.data.SessionTicket != null) { + PlayFab._internalSettings.sessionTicket = result.data.SessionTicket; + PlayFab.ClientApi._MultiStepClientLogin(result.data.SettingsForUser.NeedsAttribution); + } + if (callback != null && typeof (callback) == "function") + callback(result, error); + }; + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/LoginWithFacebook", request, null, null, overloadCallback); + }, + + LoginWithGameCenter: function (request, callback) { + request.TitleId = PlayFab.settings.titleId != null ? PlayFab.settings.titleId : request.TitleId; if (request.TitleId == null) throw "Must be have PlayFab.settings.titleId set to call this method"; + + var overloadCallback = function (result, error) { + if (result != null && result.data.SessionTicket != null) { + PlayFab._internalSettings.sessionTicket = result.data.SessionTicket; + PlayFab.ClientApi._MultiStepClientLogin(result.data.SettingsForUser.NeedsAttribution); + } + if (callback != null && typeof (callback) == "function") + callback(result, error); + }; + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/LoginWithGameCenter", request, null, null, overloadCallback); + }, + + LoginWithGoogleAccount: function (request, callback) { + request.TitleId = PlayFab.settings.titleId != null ? PlayFab.settings.titleId : request.TitleId; if (request.TitleId == null) throw "Must be have PlayFab.settings.titleId set to call this method"; + + var overloadCallback = function (result, error) { + if (result != null && result.data.SessionTicket != null) { + PlayFab._internalSettings.sessionTicket = result.data.SessionTicket; + PlayFab.ClientApi._MultiStepClientLogin(result.data.SettingsForUser.NeedsAttribution); + } + if (callback != null && typeof (callback) == "function") + callback(result, error); + }; + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/LoginWithGoogleAccount", request, null, null, overloadCallback); + }, + + LoginWithIOSDeviceID: function (request, callback) { + request.TitleId = PlayFab.settings.titleId != null ? PlayFab.settings.titleId : request.TitleId; if (request.TitleId == null) throw "Must be have PlayFab.settings.titleId set to call this method"; + + var overloadCallback = function (result, error) { + if (result != null && result.data.SessionTicket != null) { + PlayFab._internalSettings.sessionTicket = result.data.SessionTicket; + PlayFab.ClientApi._MultiStepClientLogin(result.data.SettingsForUser.NeedsAttribution); + } + if (callback != null && typeof (callback) == "function") + callback(result, error); + }; + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/LoginWithIOSDeviceID", request, null, null, overloadCallback); + }, + + LoginWithKongregate: function (request, callback) { + request.TitleId = PlayFab.settings.titleId != null ? PlayFab.settings.titleId : request.TitleId; if (request.TitleId == null) throw "Must be have PlayFab.settings.titleId set to call this method"; + + var overloadCallback = function (result, error) { + if (result != null && result.data.SessionTicket != null) { + PlayFab._internalSettings.sessionTicket = result.data.SessionTicket; + PlayFab.ClientApi._MultiStepClientLogin(result.data.SettingsForUser.NeedsAttribution); + } + if (callback != null && typeof (callback) == "function") + callback(result, error); + }; + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/LoginWithKongregate", request, null, null, overloadCallback); + }, + + LoginWithPlayFab: function (request, callback) { + request.TitleId = PlayFab.settings.titleId != null ? PlayFab.settings.titleId : request.TitleId; if (request.TitleId == null) throw "Must be have PlayFab.settings.titleId set to call this method"; + + var overloadCallback = function (result, error) { + if (result != null && result.data.SessionTicket != null) { + PlayFab._internalSettings.sessionTicket = result.data.SessionTicket; + PlayFab.ClientApi._MultiStepClientLogin(result.data.SettingsForUser.NeedsAttribution); + } + if (callback != null && typeof (callback) == "function") + callback(result, error); + }; + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/LoginWithPlayFab", request, null, null, overloadCallback); + }, + + LoginWithSteam: function (request, callback) { + request.TitleId = PlayFab.settings.titleId != null ? PlayFab.settings.titleId : request.TitleId; if (request.TitleId == null) throw "Must be have PlayFab.settings.titleId set to call this method"; + + var overloadCallback = function (result, error) { + if (result != null && result.data.SessionTicket != null) { + PlayFab._internalSettings.sessionTicket = result.data.SessionTicket; + PlayFab.ClientApi._MultiStepClientLogin(result.data.SettingsForUser.NeedsAttribution); + } + if (callback != null && typeof (callback) == "function") + callback(result, error); + }; + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/LoginWithSteam", request, null, null, overloadCallback); + }, + + LoginWithTwitch: function (request, callback) { + request.TitleId = PlayFab.settings.titleId != null ? PlayFab.settings.titleId : request.TitleId; if (request.TitleId == null) throw "Must be have PlayFab.settings.titleId set to call this method"; + + var overloadCallback = function (result, error) { + if (result != null && result.data.SessionTicket != null) { + PlayFab._internalSettings.sessionTicket = result.data.SessionTicket; + PlayFab.ClientApi._MultiStepClientLogin(result.data.SettingsForUser.NeedsAttribution); + } + if (callback != null && typeof (callback) == "function") + callback(result, error); + }; + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/LoginWithTwitch", request, null, null, overloadCallback); + }, + + RegisterPlayFabUser: function (request, callback) { + request.TitleId = PlayFab.settings.titleId != null ? PlayFab.settings.titleId : request.TitleId; if (request.TitleId == null) throw "Must be have PlayFab.settings.titleId set to call this method"; + + var overloadCallback = function (result, error) { + if (result != null && result.data.SessionTicket != null) { + PlayFab._internalSettings.sessionTicket = result.data.SessionTicket; + PlayFab.ClientApi._MultiStepClientLogin(result.data.SettingsForUser.NeedsAttribution); + } + if (callback != null && typeof (callback) == "function") + callback(result, error); + }; + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/RegisterPlayFabUser", request, null, null, overloadCallback); + }, + + AddGenericID: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/AddGenericID", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + AddUsernamePassword: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/AddUsernamePassword", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetAccountInfo: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetAccountInfo", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetPlayerCombinedInfo: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetPlayerCombinedInfo", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetPlayFabIDsFromFacebookIDs: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetPlayFabIDsFromFacebookIDs", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetPlayFabIDsFromGameCenterIDs: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetPlayFabIDsFromGameCenterIDs", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetPlayFabIDsFromGenericIDs: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetPlayFabIDsFromGenericIDs", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetPlayFabIDsFromGoogleIDs: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetPlayFabIDsFromGoogleIDs", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetPlayFabIDsFromKongregateIDs: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetPlayFabIDsFromKongregateIDs", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetPlayFabIDsFromSteamIDs: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetPlayFabIDsFromSteamIDs", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetPlayFabIDsFromTwitchIDs: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetPlayFabIDsFromTwitchIDs", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + LinkAndroidDeviceID: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/LinkAndroidDeviceID", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + LinkCustomID: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/LinkCustomID", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + LinkFacebookAccount: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/LinkFacebookAccount", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + LinkGameCenterAccount: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/LinkGameCenterAccount", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + LinkGoogleAccount: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/LinkGoogleAccount", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + LinkIOSDeviceID: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/LinkIOSDeviceID", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + LinkKongregate: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/LinkKongregate", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + LinkSteamAccount: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/LinkSteamAccount", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + LinkTwitch: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/LinkTwitch", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + RemoveGenericID: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/RemoveGenericID", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + ReportPlayer: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/ReportPlayer", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + SendAccountRecoveryEmail: function (request, callback) { + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/SendAccountRecoveryEmail", request, null, null, callback); + }, + + UnlinkAndroidDeviceID: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/UnlinkAndroidDeviceID", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + UnlinkCustomID: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/UnlinkCustomID", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + UnlinkFacebookAccount: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/UnlinkFacebookAccount", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + UnlinkGameCenterAccount: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/UnlinkGameCenterAccount", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + UnlinkGoogleAccount: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/UnlinkGoogleAccount", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + UnlinkIOSDeviceID: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/UnlinkIOSDeviceID", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + UnlinkKongregate: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/UnlinkKongregate", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + UnlinkSteamAccount: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/UnlinkSteamAccount", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + UnlinkTwitch: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/UnlinkTwitch", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + UpdateUserTitleDisplayName: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/UpdateUserTitleDisplayName", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetFriendLeaderboard: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetFriendLeaderboard", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetFriendLeaderboardAroundPlayer: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetFriendLeaderboardAroundPlayer", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetLeaderboard: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetLeaderboard", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetLeaderboardAroundPlayer: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetLeaderboardAroundPlayer", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetPlayerStatistics: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetPlayerStatistics", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetPlayerStatisticVersions: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetPlayerStatisticVersions", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetUserData: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetUserData", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetUserPublisherData: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetUserPublisherData", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetUserPublisherReadOnlyData: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetUserPublisherReadOnlyData", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetUserReadOnlyData: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetUserReadOnlyData", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + UpdatePlayerStatistics: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/UpdatePlayerStatistics", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + UpdateUserData: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/UpdateUserData", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + UpdateUserPublisherData: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/UpdateUserPublisherData", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetCatalogItems: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetCatalogItems", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetPublisherData: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetPublisherData", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetStoreItems: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetStoreItems", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetTime: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetTime", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetTitleData: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetTitleData", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetTitleNews: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetTitleNews", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + AddUserVirtualCurrency: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/AddUserVirtualCurrency", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + ConfirmPurchase: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/ConfirmPurchase", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + ConsumeItem: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/ConsumeItem", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetCharacterInventory: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetCharacterInventory", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetPurchase: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetPurchase", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetUserInventory: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetUserInventory", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + PayForPurchase: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/PayForPurchase", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + PurchaseItem: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/PurchaseItem", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + RedeemCoupon: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/RedeemCoupon", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + StartPurchase: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/StartPurchase", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + SubtractUserVirtualCurrency: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/SubtractUserVirtualCurrency", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + UnlockContainerInstance: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/UnlockContainerInstance", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + UnlockContainerItem: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/UnlockContainerItem", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + AddFriend: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/AddFriend", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetFriendsList: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetFriendsList", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + RemoveFriend: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/RemoveFriend", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + SetFriendTags: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/SetFriendTags", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + RegisterForIOSPushNotification: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/RegisterForIOSPushNotification", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + RestoreIOSPurchases: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/RestoreIOSPurchases", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + ValidateIOSReceipt: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/ValidateIOSReceipt", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetCurrentGames: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetCurrentGames", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetGameServerRegions: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetGameServerRegions", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + Matchmake: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/Matchmake", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + StartGame: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/StartGame", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + AndroidDevicePushNotificationRegistration: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/AndroidDevicePushNotificationRegistration", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + ValidateGooglePlayPurchase: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/ValidateGooglePlayPurchase", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + WriteCharacterEvent: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/WriteCharacterEvent", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + WritePlayerEvent: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/WritePlayerEvent", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + WriteTitleEvent: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/WriteTitleEvent", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + AddSharedGroupMembers: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/AddSharedGroupMembers", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + CreateSharedGroup: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/CreateSharedGroup", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetSharedGroupData: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetSharedGroupData", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + RemoveSharedGroupMembers: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/RemoveSharedGroupMembers", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + UpdateSharedGroupData: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/UpdateSharedGroupData", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + ExecuteCloudScript: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/ExecuteCloudScript", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetContentDownloadUrl: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetContentDownloadUrl", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetAllUsersCharacters: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetAllUsersCharacters", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetCharacterLeaderboard: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetCharacterLeaderboard", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetCharacterStatistics: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetCharacterStatistics", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetLeaderboardAroundCharacter: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetLeaderboardAroundCharacter", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetLeaderboardForUserCharacters: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetLeaderboardForUserCharacters", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GrantCharacterToUser: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GrantCharacterToUser", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + UpdateCharacterStatistics: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/UpdateCharacterStatistics", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetCharacterData: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetCharacterData", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetCharacterReadOnlyData: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetCharacterReadOnlyData", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + UpdateCharacterData: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/UpdateCharacterData", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + ValidateAmazonIAPReceipt: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/ValidateAmazonIAPReceipt", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + AcceptTrade: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/AcceptTrade", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + CancelTrade: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/CancelTrade", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetPlayerTrades: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetPlayerTrades", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetTradeStatus: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetTradeStatus", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + OpenTrade: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/OpenTrade", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + AttributeInstall: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + var overloadCallback = function (result, error) { + // Modify advertisingIdType: Prevents us from sending the id multiple times, and allows automated tests to determine id was sent successfully + PlayFab.settings.advertisingIdType += "_Successful"; + + if (callback != null && typeof (callback) == "function") + callback(result, error); + }; + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/AttributeInstall", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, overloadCallback); + }, + + GetPlayerSegments: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetPlayerSegments", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + GetPlayerTags: function (request, callback) { + if (PlayFab._internalSettings.sessionTicket == null) throw "Must be logged in to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Client/GetPlayerTags", request, "X-Authorization", PlayFab._internalSettings.sessionTicket, callback); + }, + + _MultiStepClientLogin: function (needsAttribution) { + if (needsAttribution && !PlayFab.settings.disableAdvertising && PlayFab.settings.advertisingIdType !== null && PlayFab.settings.advertisingIdValue !== null) { + var request = {}; + if (PlayFab.settings.advertisingIdType === PlayFab.settings.AD_TYPE_IDFA) + request.Idfa = PlayFab.settings.advertisingIdValue; + else if (PlayFab.settings.advertisingIdType === PlayFab.settings.AD_TYPE_ANDROID_ID) + request.Adid = PlayFab.settings.advertisingIdValue; + else + return; + PlayFab.ClientApi.AttributeInstall(request, null); + } + } +}; + +var PlayFabClientSDK = PlayFab.ClientApi; diff --git a/PlayFabTestingExample/src/PlayFab/PlayFabMatchmakerApi.js b/PlayFabTestingExample/src/PlayFab/PlayFabMatchmakerApi.js new file mode 100644 index 00000000..ef49c2d1 --- /dev/null +++ b/PlayFabTestingExample/src/PlayFab/PlayFabMatchmakerApi.js @@ -0,0 +1,138 @@ +/// + +var PlayFab = typeof PlayFab != "undefined" ? PlayFab : {}; + +if(!PlayFab.settings) { + PlayFab.settings = { + titleId: null, // You must set this value for PlayFabSdk to work properly (Found in the Game Manager for your title, at the PlayFab Website) + developerSecretKey: null, // For security reasons you must never expose this value to the client or players - You must set this value for Server-APIs to work properly (Found in the Game Manager for your title, at the PlayFab Website) + advertisingIdType: null, + advertisingIdValue: null, + + // disableAdvertising is provided for completeness, but changing it is not suggested + // Disabling this may prevent your advertising-related PlayFab marketplace partners from working correctly + disableAdvertising: false, + AD_TYPE_IDFA: "Idfa", + AD_TYPE_ANDROID_ID: "Adid" + } +} + +if(!PlayFab._internalSettings) { + PlayFab._internalSettings = { + sessionTicket: null, + productionServerUrl: ".playfabapi.com", + + GetServerUrl: function () { + return "https://" + PlayFab.settings.titleId + PlayFab._internalSettings.productionServerUrl; + }, + + ExecuteRequest: function (completeUrl, data, authkey, authValue, callback) { + if (callback != null && typeof (callback) != "function") + throw "Callback must be null of a function"; + + if (data == null) + data = {}; + + var startTime = new Date(); + var requestBody = JSON.stringify(data); + + var xhr = new XMLHttpRequest(); + // window.console.log("URL: " + completeUrl); + xhr.open("POST", completeUrl, true); + + xhr.setRequestHeader('Content-Type', 'application/json'); + + if (authkey != null) + xhr.setRequestHeader(authkey, authValue); + + xhr.setRequestHeader('X-PlayFabSDK', "JavaScriptSDK-" + PlayFab._internalSettings.sdkVersion); + + xhr.onloadend = function () { + if (callback == null) + return; + + var result; + try { + // window.console.log("parsing json result: " + xhr.responseText); + result = JSON.parse(xhr.responseText); + } catch (e) { + result = { + code: 503, // Service Unavailable + status: "Service Unavailable", + error: "Connection error", + errorCode: 2, // PlayFabErrorCode.ConnectionError + errorMessage: xhr.responseText + }; + } + + result.CallBackTimeMS = new Date() - startTime; + + if (result.code === 200) + callback(result, null); + else + callback(null, result); + } + + xhr.onerror = function () { + if (callback == null) + return; + + var result; + try { + result = JSON.parse(xhr.responseText); + } catch (e) { + result = { + code: 503, // Service Unavailable + status: "Service Unavailable", + error: "Connection error", + errorCode: 2, // PlayFabErrorCode.ConnectionError + errorMessage: xhr.responseText + }; + } + + result.CallBackTimeMS = new Date() - startTime; + callback(null, result); + } + + xhr.send(requestBody); + } + } +} + +PlayFab.buildIdentifier = "jbuild_javascriptsdk_1"; +PlayFab.sdkVersion = "1.0.170130"; + +PlayFab.MatchmakerApi = { + + AuthUser: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Matchmaker/AuthUser", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + PlayerJoined: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Matchmaker/PlayerJoined", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + PlayerLeft: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Matchmaker/PlayerLeft", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + StartGame: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Matchmaker/StartGame", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + UserInfo: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Matchmaker/UserInfo", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, +}; + +var PlayFabMatchmakerSDK = PlayFab.MatchmakerApi; diff --git a/PlayFabTestingExample/src/PlayFab/PlayFabServerApi.js b/PlayFabTestingExample/src/PlayFab/PlayFabServerApi.js new file mode 100644 index 00000000..a9d6d51e --- /dev/null +++ b/PlayFabTestingExample/src/PlayFab/PlayFabServerApi.js @@ -0,0 +1,738 @@ +/// + +var PlayFab = typeof PlayFab != "undefined" ? PlayFab : {}; + +if(!PlayFab.settings) { + PlayFab.settings = { + titleId: null, // You must set this value for PlayFabSdk to work properly (Found in the Game Manager for your title, at the PlayFab Website) + developerSecretKey: null, // For security reasons you must never expose this value to the client or players - You must set this value for Server-APIs to work properly (Found in the Game Manager for your title, at the PlayFab Website) + advertisingIdType: null, + advertisingIdValue: null, + + // disableAdvertising is provided for completeness, but changing it is not suggested + // Disabling this may prevent your advertising-related PlayFab marketplace partners from working correctly + disableAdvertising: false, + AD_TYPE_IDFA: "Idfa", + AD_TYPE_ANDROID_ID: "Adid" + } +} + +if(!PlayFab._internalSettings) { + PlayFab._internalSettings = { + sessionTicket: null, + productionServerUrl: ".playfabapi.com", + + GetServerUrl: function () { + return "https://" + PlayFab.settings.titleId + PlayFab._internalSettings.productionServerUrl; + }, + + ExecuteRequest: function (completeUrl, data, authkey, authValue, callback) { + if (callback != null && typeof (callback) != "function") + throw "Callback must be null of a function"; + + if (data == null) + data = {}; + + var startTime = new Date(); + var requestBody = JSON.stringify(data); + + var xhr = new XMLHttpRequest(); + // window.console.log("URL: " + completeUrl); + xhr.open("POST", completeUrl, true); + + xhr.setRequestHeader('Content-Type', 'application/json'); + + if (authkey != null) + xhr.setRequestHeader(authkey, authValue); + + xhr.setRequestHeader('X-PlayFabSDK', "JavaScriptSDK-" + PlayFab._internalSettings.sdkVersion); + + xhr.onloadend = function () { + if (callback == null) + return; + + var result; + try { + // window.console.log("parsing json result: " + xhr.responseText); + result = JSON.parse(xhr.responseText); + } catch (e) { + result = { + code: 503, // Service Unavailable + status: "Service Unavailable", + error: "Connection error", + errorCode: 2, // PlayFabErrorCode.ConnectionError + errorMessage: xhr.responseText + }; + } + + result.CallBackTimeMS = new Date() - startTime; + + if (result.code === 200) + callback(result, null); + else + callback(null, result); + } + + xhr.onerror = function () { + if (callback == null) + return; + + var result; + try { + result = JSON.parse(xhr.responseText); + } catch (e) { + result = { + code: 503, // Service Unavailable + status: "Service Unavailable", + error: "Connection error", + errorCode: 2, // PlayFabErrorCode.ConnectionError + errorMessage: xhr.responseText + }; + } + + result.CallBackTimeMS = new Date() - startTime; + callback(null, result); + } + + xhr.send(requestBody); + } + } +} + +PlayFab.buildIdentifier = "jbuild_javascriptsdk_1"; +PlayFab.sdkVersion = "1.0.170130"; + +PlayFab.ServerApi = { + + AuthenticateSessionTicket: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/AuthenticateSessionTicket", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + BanUsers: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/BanUsers", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetPlayFabIDsFromFacebookIDs: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetPlayFabIDsFromFacebookIDs", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetPlayFabIDsFromSteamIDs: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetPlayFabIDsFromSteamIDs", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetUserAccountInfo: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetUserAccountInfo", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetUserBans: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetUserBans", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + RevokeAllBansForUser: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/RevokeAllBansForUser", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + RevokeBans: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/RevokeBans", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + SendPushNotification: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/SendPushNotification", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + UpdateBans: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/UpdateBans", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + DeleteUsers: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/DeleteUsers", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetFriendLeaderboard: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetFriendLeaderboard", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetLeaderboard: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetLeaderboard", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetLeaderboardAroundUser: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetLeaderboardAroundUser", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetPlayerCombinedInfo: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetPlayerCombinedInfo", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetPlayerStatistics: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetPlayerStatistics", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetPlayerStatisticVersions: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetPlayerStatisticVersions", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetUserData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetUserData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetUserInternalData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetUserInternalData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetUserPublisherData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetUserPublisherData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetUserPublisherInternalData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetUserPublisherInternalData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetUserPublisherReadOnlyData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetUserPublisherReadOnlyData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetUserReadOnlyData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetUserReadOnlyData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + UpdatePlayerStatistics: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/UpdatePlayerStatistics", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + UpdateUserData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/UpdateUserData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + UpdateUserInternalData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/UpdateUserInternalData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + UpdateUserPublisherData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/UpdateUserPublisherData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + UpdateUserPublisherInternalData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/UpdateUserPublisherInternalData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + UpdateUserPublisherReadOnlyData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/UpdateUserPublisherReadOnlyData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + UpdateUserReadOnlyData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/UpdateUserReadOnlyData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetCatalogItems: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetCatalogItems", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetPublisherData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetPublisherData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetTime: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetTime", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetTitleData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetTitleData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetTitleInternalData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetTitleInternalData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetTitleNews: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetTitleNews", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + SetPublisherData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/SetPublisherData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + SetTitleData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/SetTitleData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + SetTitleInternalData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/SetTitleInternalData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + AddCharacterVirtualCurrency: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/AddCharacterVirtualCurrency", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + AddUserVirtualCurrency: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/AddUserVirtualCurrency", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + ConsumeItem: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/ConsumeItem", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + EvaluateRandomResultTable: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/EvaluateRandomResultTable", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetCharacterInventory: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetCharacterInventory", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetRandomResultTables: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetRandomResultTables", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetUserInventory: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetUserInventory", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GrantItemsToCharacter: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GrantItemsToCharacter", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GrantItemsToUser: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GrantItemsToUser", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GrantItemsToUsers: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GrantItemsToUsers", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + ModifyItemUses: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/ModifyItemUses", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + MoveItemToCharacterFromCharacter: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/MoveItemToCharacterFromCharacter", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + MoveItemToCharacterFromUser: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/MoveItemToCharacterFromUser", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + MoveItemToUserFromCharacter: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/MoveItemToUserFromCharacter", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + RedeemCoupon: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/RedeemCoupon", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + ReportPlayer: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/ReportPlayer", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + RevokeInventoryItem: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/RevokeInventoryItem", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + SubtractCharacterVirtualCurrency: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/SubtractCharacterVirtualCurrency", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + SubtractUserVirtualCurrency: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/SubtractUserVirtualCurrency", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + UnlockContainerInstance: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/UnlockContainerInstance", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + UnlockContainerItem: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/UnlockContainerItem", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + UpdateUserInventoryItemCustomData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/UpdateUserInventoryItemCustomData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + AddFriend: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/AddFriend", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetFriendsList: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetFriendsList", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + RemoveFriend: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/RemoveFriend", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + DeregisterGame: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/DeregisterGame", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + NotifyMatchmakerPlayerLeft: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/NotifyMatchmakerPlayerLeft", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + RedeemMatchmakerTicket: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/RedeemMatchmakerTicket", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + RefreshGameServerInstanceHeartbeat: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/RefreshGameServerInstanceHeartbeat", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + RegisterGame: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/RegisterGame", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + SetGameServerInstanceData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/SetGameServerInstanceData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + SetGameServerInstanceState: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/SetGameServerInstanceState", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + SetGameServerInstanceTags: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/SetGameServerInstanceTags", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + AwardSteamAchievement: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/AwardSteamAchievement", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + WriteCharacterEvent: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/WriteCharacterEvent", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + WritePlayerEvent: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/WritePlayerEvent", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + WriteTitleEvent: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/WriteTitleEvent", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + AddSharedGroupMembers: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/AddSharedGroupMembers", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + CreateSharedGroup: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/CreateSharedGroup", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + DeleteSharedGroup: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/DeleteSharedGroup", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetSharedGroupData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetSharedGroupData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + RemoveSharedGroupMembers: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/RemoveSharedGroupMembers", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + UpdateSharedGroupData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/UpdateSharedGroupData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + ExecuteCloudScript: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/ExecuteCloudScript", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetContentDownloadUrl: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetContentDownloadUrl", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + DeleteCharacterFromUser: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/DeleteCharacterFromUser", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetAllUsersCharacters: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetAllUsersCharacters", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetCharacterLeaderboard: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetCharacterLeaderboard", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetCharacterStatistics: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetCharacterStatistics", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetLeaderboardAroundCharacter: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetLeaderboardAroundCharacter", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetLeaderboardForUserCharacters: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetLeaderboardForUserCharacters", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GrantCharacterToUser: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GrantCharacterToUser", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + UpdateCharacterStatistics: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/UpdateCharacterStatistics", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetCharacterData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetCharacterData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetCharacterInternalData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetCharacterInternalData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetCharacterReadOnlyData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetCharacterReadOnlyData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + UpdateCharacterData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/UpdateCharacterData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + UpdateCharacterInternalData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/UpdateCharacterInternalData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + UpdateCharacterReadOnlyData: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/UpdateCharacterReadOnlyData", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + AddPlayerTag: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/AddPlayerTag", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetAllActionGroups: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetAllActionGroups", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetAllSegments: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetAllSegments", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetPlayerSegments: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetPlayerSegments", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetPlayersInSegment: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetPlayersInSegment", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + GetPlayerTags: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/GetPlayerTags", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, + + RemovePlayerTag: function (request, callback) { + if (PlayFab.settings.developerSecretKey == null) throw "Must have PlayFab.settings.developerSecretKey set to call this method"; + + PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + "/Server/RemovePlayerTag", request, "X-SecretKey", PlayFab.settings.developerSecretKey, callback); + }, +}; + +var PlayFabServerSDK = PlayFab.ServerApi; diff --git a/PlayFabTestingExample/src/typings/PlayFab/PlayFab.d.ts b/PlayFabTestingExample/src/typings/PlayFab/PlayFab.d.ts new file mode 100644 index 00000000..61874d1d --- /dev/null +++ b/PlayFabTestingExample/src/typings/PlayFab/PlayFab.d.ts @@ -0,0 +1,43 @@ +declare module PlayFabModule { + export interface ISettings { + titleId: string; + developerSecretKey: string; + advertisingIdType: string; + advertisingIdValue: string; + disableAdvertising: boolean; + AD_TYPE_IDFA: string; + AD_TYPE_ANDROID_ID: string; + } + export interface IPlayFabRequestCommon { } + export interface IPlayFabError { + code: number; + status: string; + error: string; + errorCode: number; + errorMessage: string; + errorDetails?: { [key: string]: string[] }; + } + export interface SuccessContainer extends IPlayFabError { + data: TResult; + } + export interface IPlayFabResultCommon extends IPlayFabError { } + + export interface ApiCallback { (result: SuccessContainer, error: IPlayFabError): void } +} + +declare var PlayFab: { + buildIdentifier: string; + sdkVersion: string; + settings: PlayFabModule.ISettings; + AdminApi: PlayFabAdminModule.IPlayFabAdmin; + MatchmakerApi: PlayFabMatchmakerModule.IPlayFabMatchmaker; + ServerApi: PlayFabServerModule.IPlayFabServer; + ClientApi: PlayFabClientModule.IPlayFabClient; + +}; +// Continue to support older usage +declare var PlayFabAdminSDK: PlayFabAdminModule.IPlayFabAdmin; +declare var PlayFabMatchmakerSDK: PlayFabMatchmakerModule.IPlayFabMatchmaker; +declare var PlayFabServerSDK: PlayFabServerModule.IPlayFabServer; +declare var PlayFabClientSDK: PlayFabClientModule.IPlayFabClient; + diff --git a/PlayFabTestingExample/src/typings/PlayFab/PlayFabAdminApi.d.ts b/PlayFabTestingExample/src/typings/PlayFab/PlayFabAdminApi.d.ts new file mode 100644 index 00000000..c1fca287 --- /dev/null +++ b/PlayFabTestingExample/src/typings/PlayFab/PlayFabAdminApi.d.ts @@ -0,0 +1,4696 @@ +declare module PlayFabAdminModule { + export interface IPlayFabAdmin { + /** + / Gets the requested policy. + / https://api.playfab.com/Documentation/Admin/method/GetPolicy + */ + GetPolicy(request: PlayFabAdminModels.GetPolicyRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Changes a policy for a title + / https://api.playfab.com/Documentation/Admin/method/UpdatePolicy + */ + UpdatePolicy(request: PlayFabAdminModels.UpdatePolicyRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Bans users by PlayFab ID with optional IP address, or MAC address for the provided game. + / https://api.playfab.com/Documentation/Admin/method/BanUsers + */ + BanUsers(request: PlayFabAdminModels.BanUsersRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the relevant details for a specified user, based upon a match against a supplied unique identifier + / https://api.playfab.com/Documentation/Admin/method/GetUserAccountInfo + */ + GetUserAccountInfo(request: PlayFabAdminModels.LookupUserAccountInfoRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Gets all bans for a user. + / https://api.playfab.com/Documentation/Admin/method/GetUserBans + */ + GetUserBans(request: PlayFabAdminModels.GetUserBansRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Resets all title-specific information about a particular account, including user data, virtual currency balances, inventory, purchase history, and statistics + / https://api.playfab.com/Documentation/Admin/method/ResetUsers + */ + ResetUsers(request: PlayFabAdminModels.ResetUsersRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Revoke all active bans for a user. + / https://api.playfab.com/Documentation/Admin/method/RevokeAllBansForUser + */ + RevokeAllBansForUser(request: PlayFabAdminModels.RevokeAllBansForUserRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Revoke all active bans specified with BanId. + / https://api.playfab.com/Documentation/Admin/method/RevokeBans + */ + RevokeBans(request: PlayFabAdminModels.RevokeBansRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Forces an email to be sent to the registered email address for the specified account, with a link allowing the user to change the password + / https://api.playfab.com/Documentation/Admin/method/SendAccountRecoveryEmail + */ + SendAccountRecoveryEmail(request: PlayFabAdminModels.SendAccountRecoveryEmailRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates information of a list of existing bans specified with Ban Ids. + / https://api.playfab.com/Documentation/Admin/method/UpdateBans + */ + UpdateBans(request: PlayFabAdminModels.UpdateBansRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the title specific display name for a user + / https://api.playfab.com/Documentation/Admin/method/UpdateUserTitleDisplayName + */ + UpdateUserTitleDisplayName(request: PlayFabAdminModels.UpdateUserTitleDisplayNameRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Adds a new player statistic configuration to the title, optionally allowing the developer to specify a reset interval and an aggregation method. + / https://api.playfab.com/Documentation/Admin/method/CreatePlayerStatisticDefinition + */ + CreatePlayerStatisticDefinition(request: PlayFabAdminModels.CreatePlayerStatisticDefinitionRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Deletes the users for the provided game. Deletes custom data, all account linkages, and statistics. This method does not remove the player's event history, login history, inventory items, nor virtual currencies. + / https://api.playfab.com/Documentation/Admin/method/DeleteUsers + */ + DeleteUsers(request: PlayFabAdminModels.DeleteUsersRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves a download URL for the requested report + / https://api.playfab.com/Documentation/Admin/method/GetDataReport + */ + GetDataReport(request: PlayFabAdminModels.GetDataReportRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the configuration information for all player statistics defined in the title, regardless of whether they have a reset interval. + / https://api.playfab.com/Documentation/Admin/method/GetPlayerStatisticDefinitions + */ + GetPlayerStatisticDefinitions(request: PlayFabAdminModels.GetPlayerStatisticDefinitionsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the information on the available versions of the specified statistic. + / https://api.playfab.com/Documentation/Admin/method/GetPlayerStatisticVersions + */ + GetPlayerStatisticVersions(request: PlayFabAdminModels.GetPlayerStatisticVersionsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the title-specific custom data for the user which is readable and writable by the client + / https://api.playfab.com/Documentation/Admin/method/GetUserData + */ + GetUserData(request: PlayFabAdminModels.GetUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the title-specific custom data for the user which cannot be accessed by the client + / https://api.playfab.com/Documentation/Admin/method/GetUserInternalData + */ + GetUserInternalData(request: PlayFabAdminModels.GetUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the publisher-specific custom data for the user which is readable and writable by the client + / https://api.playfab.com/Documentation/Admin/method/GetUserPublisherData + */ + GetUserPublisherData(request: PlayFabAdminModels.GetUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the publisher-specific custom data for the user which cannot be accessed by the client + / https://api.playfab.com/Documentation/Admin/method/GetUserPublisherInternalData + */ + GetUserPublisherInternalData(request: PlayFabAdminModels.GetUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the publisher-specific custom data for the user which can only be read by the client + / https://api.playfab.com/Documentation/Admin/method/GetUserPublisherReadOnlyData + */ + GetUserPublisherReadOnlyData(request: PlayFabAdminModels.GetUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the title-specific custom data for the user which can only be read by the client + / https://api.playfab.com/Documentation/Admin/method/GetUserReadOnlyData + */ + GetUserReadOnlyData(request: PlayFabAdminModels.GetUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Resets the indicated statistic, removing all player entries for it and backing up the old values. + / https://api.playfab.com/Documentation/Admin/method/IncrementPlayerStatisticVersion + */ + IncrementPlayerStatisticVersion(request: PlayFabAdminModels.IncrementPlayerStatisticVersionRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Attempts to process an order refund through the original real money payment provider. + / https://api.playfab.com/Documentation/Admin/method/RefundPurchase + */ + RefundPurchase(request: PlayFabAdminModels.RefundPurchaseRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Completely removes all statistics for the specified user, for the current game + / https://api.playfab.com/Documentation/Admin/method/ResetUserStatistics + */ + ResetUserStatistics(request: PlayFabAdminModels.ResetUserStatisticsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Attempts to resolve a dispute with the original order's payment provider. + / https://api.playfab.com/Documentation/Admin/method/ResolvePurchaseDispute + */ + ResolvePurchaseDispute(request: PlayFabAdminModels.ResolvePurchaseDisputeRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates a player statistic configuration for the title, optionally allowing the developer to specify a reset interval. + / https://api.playfab.com/Documentation/Admin/method/UpdatePlayerStatisticDefinition + */ + UpdatePlayerStatisticDefinition(request: PlayFabAdminModels.UpdatePlayerStatisticDefinitionRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the title-specific custom data for the user which is readable and writable by the client + / https://api.playfab.com/Documentation/Admin/method/UpdateUserData + */ + UpdateUserData(request: PlayFabAdminModels.UpdateUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the title-specific custom data for the user which cannot be accessed by the client + / https://api.playfab.com/Documentation/Admin/method/UpdateUserInternalData + */ + UpdateUserInternalData(request: PlayFabAdminModels.UpdateUserInternalDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the publisher-specific custom data for the user which is readable and writable by the client + / https://api.playfab.com/Documentation/Admin/method/UpdateUserPublisherData + */ + UpdateUserPublisherData(request: PlayFabAdminModels.UpdateUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the publisher-specific custom data for the user which cannot be accessed by the client + / https://api.playfab.com/Documentation/Admin/method/UpdateUserPublisherInternalData + */ + UpdateUserPublisherInternalData(request: PlayFabAdminModels.UpdateUserInternalDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the publisher-specific custom data for the user which can only be read by the client + / https://api.playfab.com/Documentation/Admin/method/UpdateUserPublisherReadOnlyData + */ + UpdateUserPublisherReadOnlyData(request: PlayFabAdminModels.UpdateUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the title-specific custom data for the user which can only be read by the client + / https://api.playfab.com/Documentation/Admin/method/UpdateUserReadOnlyData + */ + UpdateUserReadOnlyData(request: PlayFabAdminModels.UpdateUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Adds a new news item to the title's news feed + / https://api.playfab.com/Documentation/Admin/method/AddNews + */ + AddNews(request: PlayFabAdminModels.AddNewsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Adds one or more virtual currencies to the set defined for the title. Virtual Currencies have a maximum value of 2,147,483,647 when granted to a player. Any value over that will be discarded. + / https://api.playfab.com/Documentation/Admin/method/AddVirtualCurrencyTypes + */ + AddVirtualCurrencyTypes(request: PlayFabAdminModels.AddVirtualCurrencyTypesRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Deletes an existing virtual item store + / https://api.playfab.com/Documentation/Admin/method/DeleteStore + */ + DeleteStore(request: PlayFabAdminModels.DeleteStoreRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the specified version of the title's catalog of virtual goods, including all defined properties + / https://api.playfab.com/Documentation/Admin/method/GetCatalogItems + */ + GetCatalogItems(request: PlayFabAdminModels.GetCatalogItemsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the key-value store of custom publisher settings + / https://api.playfab.com/Documentation/Admin/method/GetPublisherData + */ + GetPublisherData(request: PlayFabAdminModels.GetPublisherDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the random drop table configuration for the title + / https://api.playfab.com/Documentation/Admin/method/GetRandomResultTables + */ + GetRandomResultTables(request: PlayFabAdminModels.GetRandomResultTablesRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the set of items defined for the specified store, including all prices defined + / https://api.playfab.com/Documentation/Admin/method/GetStoreItems + */ + GetStoreItems(request: PlayFabAdminModels.GetStoreItemsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the key-value store of custom title settings which can be read by the client + / https://api.playfab.com/Documentation/Admin/method/GetTitleData + */ + GetTitleData(request: PlayFabAdminModels.GetTitleDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the key-value store of custom title settings which cannot be read by the client + / https://api.playfab.com/Documentation/Admin/method/GetTitleInternalData + */ + GetTitleInternalData(request: PlayFabAdminModels.GetTitleDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retuns the list of all defined virtual currencies for the title + / https://api.playfab.com/Documentation/Admin/method/ListVirtualCurrencyTypes + */ + ListVirtualCurrencyTypes(request: PlayFabAdminModels.ListVirtualCurrencyTypesRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Removes one or more virtual currencies from the set defined for the title. + / https://api.playfab.com/Documentation/Admin/method/RemoveVirtualCurrencyTypes + */ + RemoveVirtualCurrencyTypes(request: PlayFabAdminModels.RemoveVirtualCurrencyTypesRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Creates the catalog configuration of all virtual goods for the specified catalog version + / https://api.playfab.com/Documentation/Admin/method/SetCatalogItems + */ + SetCatalogItems(request: PlayFabAdminModels.UpdateCatalogItemsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Sets all the items in one virtual store + / https://api.playfab.com/Documentation/Admin/method/SetStoreItems + */ + SetStoreItems(request: PlayFabAdminModels.UpdateStoreItemsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Creates and updates the key-value store of custom title settings which can be read by the client + / https://api.playfab.com/Documentation/Admin/method/SetTitleData + */ + SetTitleData(request: PlayFabAdminModels.SetTitleDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the key-value store of custom title settings which cannot be read by the client + / https://api.playfab.com/Documentation/Admin/method/SetTitleInternalData + */ + SetTitleInternalData(request: PlayFabAdminModels.SetTitleDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Sets the Amazon Resource Name (ARN) for iOS and Android push notifications. Documentation on the exact restrictions can be found at: http://docs.aws.amazon.com/sns/latest/api/API_CreatePlatformApplication.html. Currently, Amazon device Messaging is not supported. + / https://api.playfab.com/Documentation/Admin/method/SetupPushNotification + */ + SetupPushNotification(request: PlayFabAdminModels.SetupPushNotificationRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the catalog configuration for virtual goods in the specified catalog version + / https://api.playfab.com/Documentation/Admin/method/UpdateCatalogItems + */ + UpdateCatalogItems(request: PlayFabAdminModels.UpdateCatalogItemsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the random drop table configuration for the title + / https://api.playfab.com/Documentation/Admin/method/UpdateRandomResultTables + */ + UpdateRandomResultTables(request: PlayFabAdminModels.UpdateRandomResultTablesRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates an existing virtual item store with new or modified items + / https://api.playfab.com/Documentation/Admin/method/UpdateStoreItems + */ + UpdateStoreItems(request: PlayFabAdminModels.UpdateStoreItemsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Increments the specified virtual currency by the stated amount + / https://api.playfab.com/Documentation/Admin/method/AddUserVirtualCurrency + */ + AddUserVirtualCurrency(request: PlayFabAdminModels.AddUserVirtualCurrencyRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the specified user's current inventory of virtual goods + / https://api.playfab.com/Documentation/Admin/method/GetUserInventory + */ + GetUserInventory(request: PlayFabAdminModels.GetUserInventoryRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Adds the specified items to the specified user inventories + / https://api.playfab.com/Documentation/Admin/method/GrantItemsToUsers + */ + GrantItemsToUsers(request: PlayFabAdminModels.GrantItemsToUsersRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Revokes access to an item in a user's inventory + / https://api.playfab.com/Documentation/Admin/method/RevokeInventoryItem + */ + RevokeInventoryItem(request: PlayFabAdminModels.RevokeInventoryItemRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Decrements the specified virtual currency by the stated amount + / https://api.playfab.com/Documentation/Admin/method/SubtractUserVirtualCurrency + */ + SubtractUserVirtualCurrency(request: PlayFabAdminModels.SubtractUserVirtualCurrencyRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the details for a specific completed session, including links to standard out and standard error logs + / https://api.playfab.com/Documentation/Admin/method/GetMatchmakerGameInfo + */ + GetMatchmakerGameInfo(request: PlayFabAdminModels.GetMatchmakerGameInfoRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the details of defined game modes for the specified game server executable + / https://api.playfab.com/Documentation/Admin/method/GetMatchmakerGameModes + */ + GetMatchmakerGameModes(request: PlayFabAdminModels.GetMatchmakerGameModesRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the game server mode details for the specified game server executable + / https://api.playfab.com/Documentation/Admin/method/ModifyMatchmakerGameModes + */ + ModifyMatchmakerGameModes(request: PlayFabAdminModels.ModifyMatchmakerGameModesRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Adds the game server executable specified (previously uploaded - see GetServerBuildUploadUrl) to the set of those a client is permitted to request in a call to StartGame + / https://api.playfab.com/Documentation/Admin/method/AddServerBuild + */ + AddServerBuild(request: PlayFabAdminModels.AddServerBuildRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the build details for the specified game server executable + / https://api.playfab.com/Documentation/Admin/method/GetServerBuildInfo + */ + GetServerBuildInfo(request: PlayFabAdminModels.GetServerBuildInfoRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the pre-authorized URL for uploading a game server package containing a build (does not enable the build for use - see AddServerBuild) + / https://api.playfab.com/Documentation/Admin/method/GetServerBuildUploadUrl + */ + GetServerBuildUploadUrl(request: PlayFabAdminModels.GetServerBuildUploadURLRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the build details for all game server executables which are currently defined for the title + / https://api.playfab.com/Documentation/Admin/method/ListServerBuilds + */ + ListServerBuilds(request: PlayFabAdminModels.ListBuildsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the build details for the specified game server executable + / https://api.playfab.com/Documentation/Admin/method/ModifyServerBuild + */ + ModifyServerBuild(request: PlayFabAdminModels.ModifyServerBuildRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Removes the game server executable specified from the set of those a client is permitted to request in a call to StartGame + / https://api.playfab.com/Documentation/Admin/method/RemoveServerBuild + */ + RemoveServerBuild(request: PlayFabAdminModels.RemoveServerBuildRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the key-value store of custom publisher settings + / https://api.playfab.com/Documentation/Admin/method/SetPublisherData + */ + SetPublisherData(request: PlayFabAdminModels.SetPublisherDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Gets the contents and information of a specific Cloud Script revision. + / https://api.playfab.com/Documentation/Admin/method/GetCloudScriptRevision + */ + GetCloudScriptRevision(request: PlayFabAdminModels.GetCloudScriptRevisionRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Lists all the current cloud script versions. For each version, information about the current published and latest revisions is also listed. + / https://api.playfab.com/Documentation/Admin/method/GetCloudScriptVersions + */ + GetCloudScriptVersions(request: PlayFabAdminModels.GetCloudScriptVersionsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Sets the currently published revision of a title Cloud Script + / https://api.playfab.com/Documentation/Admin/method/SetPublishedRevision + */ + SetPublishedRevision(request: PlayFabAdminModels.SetPublishedRevisionRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Creates a new Cloud Script revision and uploads source code to it. Note that at this time, only one file should be submitted in the revision. + / https://api.playfab.com/Documentation/Admin/method/UpdateCloudScript + */ + UpdateCloudScript(request: PlayFabAdminModels.UpdateCloudScriptRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Delete a content file from the title + / https://api.playfab.com/Documentation/Admin/method/DeleteContent + */ + DeleteContent(request: PlayFabAdminModels.DeleteContentRequest, callback: PlayFabModule.ApiCallback): void; + /** + / List all contents of the title and get statistics such as size + / https://api.playfab.com/Documentation/Admin/method/GetContentList + */ + GetContentList(request: PlayFabAdminModels.GetContentListRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the pre-signed URL for uploading a content file. A subsequent HTTP PUT to the returned URL uploads the content. Also, please be aware that the Content service is specifically PlayFab's CDN offering, for which standard CDN rates apply. + / https://api.playfab.com/Documentation/Admin/method/GetContentUploadUrl + */ + GetContentUploadUrl(request: PlayFabAdminModels.GetContentUploadUrlRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Completely removes all statistics for the specified character, for the current game + / https://api.playfab.com/Documentation/Admin/method/ResetCharacterStatistics + */ + ResetCharacterStatistics(request: PlayFabAdminModels.ResetCharacterStatisticsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Adds a given tag to a player profile. The tag's namespace is automatically generated based on the source of the tag. + / https://api.playfab.com/Documentation/Admin/method/AddPlayerTag + */ + AddPlayerTag(request: PlayFabAdminModels.AddPlayerTagRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieve a list of all PlayStream actions groups. + / https://api.playfab.com/Documentation/Admin/method/GetAllActionGroups + */ + GetAllActionGroups(request: PlayFabAdminModels.GetAllActionGroupsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves an array of player segment definitions. Results from this can be used in subsequent API calls such as GetPlayersInSegment which requires a Segment ID. While segment names can change the ID for that segment will not change. + / https://api.playfab.com/Documentation/Admin/method/GetAllSegments + */ + GetAllSegments(request: PlayFabAdminModels.GetAllSegmentsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / List all segments that a player currently belongs to at this moment in time. + / https://api.playfab.com/Documentation/Admin/method/GetPlayerSegments + */ + GetPlayerSegments(request: PlayFabAdminModels.GetPlayersSegmentsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Allows for paging through all players in a given segment. This API creates a snapshot of all player profiles that match the segment definition at the time of its creation and lives through the Total Seconds to Live, refreshing its life span on each subsequent use of the Continuation Token. Profiles that change during the course of paging will not be reflected in the results. AB Test segments are currently not supported by this operation. + / https://api.playfab.com/Documentation/Admin/method/GetPlayersInSegment + */ + GetPlayersInSegment(request: PlayFabAdminModels.GetPlayersInSegmentRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Get all tags with a given Namespace (optional) from a player profile. + / https://api.playfab.com/Documentation/Admin/method/GetPlayerTags + */ + GetPlayerTags(request: PlayFabAdminModels.GetPlayerTagsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Remove a given tag from a player profile. The tag's namespace is automatically generated based on the source of the tag. + / https://api.playfab.com/Documentation/Admin/method/RemovePlayerTag + */ + RemovePlayerTag(request: PlayFabAdminModels.RemovePlayerTagRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Abort an ongoing task instance. + / https://api.playfab.com/Documentation/Admin/method/AbortTaskInstance + */ + AbortTaskInstance(request: PlayFabAdminModels.AbortTaskInstanceRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Create an ActionsOnPlayersInSegment task, which iterates through all players in a segment to execute action. + / https://api.playfab.com/Documentation/Admin/method/CreateActionsOnPlayersInSegmentTask + */ + CreateActionsOnPlayersInSegmentTask(request: PlayFabAdminModels.CreateActionsOnPlayerSegmentTaskRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Create a CloudScript task, which can run a CloudScript on a schedule. + / https://api.playfab.com/Documentation/Admin/method/CreateCloudScriptTask + */ + CreateCloudScriptTask(request: PlayFabAdminModels.CreateCloudScriptTaskRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Delete a task. + / https://api.playfab.com/Documentation/Admin/method/DeleteTask + */ + DeleteTask(request: PlayFabAdminModels.DeleteTaskRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Get information about a ActionsOnPlayersInSegment task instance. + / https://api.playfab.com/Documentation/Admin/method/GetActionsOnPlayersInSegmentTaskInstance + */ + GetActionsOnPlayersInSegmentTaskInstance(request: PlayFabAdminModels.GetTaskInstanceRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Get detail information about a CloudScript task instance. + / https://api.playfab.com/Documentation/Admin/method/GetCloudScriptTaskInstance + */ + GetCloudScriptTaskInstance(request: PlayFabAdminModels.GetTaskInstanceRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Query for task instances by task, status, or time range. + / https://api.playfab.com/Documentation/Admin/method/GetTaskInstances + */ + GetTaskInstances(request: PlayFabAdminModels.GetTaskInstancesRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Get definition information on a specified task or all tasks within a title. + / https://api.playfab.com/Documentation/Admin/method/GetTasks + */ + GetTasks(request: PlayFabAdminModels.GetTasksRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Run a task immediately regardless of its schedule. + / https://api.playfab.com/Documentation/Admin/method/RunTask + */ + RunTask(request: PlayFabAdminModels.RunTaskRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Update an existing task. + / https://api.playfab.com/Documentation/Admin/method/UpdateTask + */ + UpdateTask(request: PlayFabAdminModels.UpdateTaskRequest, callback: PlayFabModule.ApiCallback): void; + + } +} + +declare module PlayFabAdminModels { + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.AbortTaskInstanceRequest + */ + export interface AbortTaskInstanceRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / ID of a task instance that is being aborted. + */ + TaskInstanceId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ActionsOnPlayersInSegmentTaskParameter + */ + export interface ActionsOnPlayersInSegmentTaskParameter { + /** + / ID of the segment to perform actions on. + */ + SegmentId: string; + /** + / ID of the action to perform on each player in segment. + */ + ActionId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ActionsOnPlayersInSegmentTaskSummary + */ + export interface ActionsOnPlayersInSegmentTaskSummary { + /** + / ID of the task instance. + */ + TaskInstanceId?: string; + /** + / Identifier of the task this instance belongs to. + */ + TaskIdentifier?: NameIdentifier; + /** + / UTC timestamp when the task started. + */ + StartedAt: string; + /** + / UTC timestamp when the task completed. + */ + CompletedAt?: string; + /** + / Current status of the task instance. + */ + Status?: string; + /** + / Progress represented as percentage. + */ + PercentComplete?: number; + /** + / Estimated time remaining in seconds. + */ + EstimatedSecondsRemaining?: number; + /** + / If manually scheduled, ID of user who scheduled the task. + */ + ScheduledByUserId?: string; + /** + / Error message for last processing attempt, if an error occured. + */ + ErrorMessage?: string; + /** + / Flag indicating if the error was fatal, if false job will be retried. + */ + ErrorWasFatal?: boolean; + /** + / Total players in segment when task was started. + */ + TotalPlayersInSegment?: number; + /** + / Total number of players that have had the actions applied to. + */ + TotalPlayersProcessed?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.AdCampaignAttribution + */ + export interface AdCampaignAttribution { + /** + / Attribution network name + */ + Platform?: string; + /** + / Attribution campaign identifier + */ + CampaignId?: string; + /** + / UTC time stamp of attribution + */ + AttributedAt: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.AddNewsRequest + */ + export interface AddNewsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Time this news was published. If not set, defaults to now. + */ + Timestamp?: string; + /** + / Title (headline) of the news item + */ + Title: string; + /** + / Body text of the news + */ + Body: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.AddNewsResult + */ + export interface AddNewsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique id of the new news item + */ + NewsId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.AddPlayerTagRequest + */ + export interface AddPlayerTagRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique tag for player profile. + */ + TagName: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.AddPlayerTagResult + */ + export interface AddPlayerTagResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.AddServerBuildRequest + */ + export interface AddServerBuildRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / unique identifier for the build executable + */ + BuildId: string; + /** + / appended to the end of the command line when starting game servers + */ + CommandLineTemplate?: string; + /** + / path to the game server executable. Defaults to gameserver.exe + */ + ExecutablePath?: string; + /** + / server host regions in which this build should be running and available + */ + ActiveRegions?: string[]; + /** + / developer comment(s) for this build + */ + Comment?: string; + /** + / maximum number of game server instances that can run on a single host machine + */ + MaxGamesPerHost: number; + /** + / minimum capacity of additional game server instances that can be started before the autoscaling service starts new host machines (given the number of current running host machines and game server instances) + */ + MinFreeGameSlots: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.AddServerBuildResult + */ + export interface AddServerBuildResult extends PlayFabModule.IPlayFabResultCommon { + /** + / unique identifier for this build executable + */ + BuildId?: string; + /** + / array of regions where this build can used, when it is active + */ + ActiveRegions?: string[]; + /** + / maximum number of game server instances that can run on a single host machine + */ + MaxGamesPerHost: number; + /** + / minimum capacity of additional game server instances that can be started before the autoscaling service starts new host machines (given the number of current running host machines and game server instances) + */ + MinFreeGameSlots: number; + /** + / appended to the end of the command line when starting game servers + */ + CommandLineTemplate?: string; + /** + / path to the game server executable. Defaults to gameserver.exe + */ + ExecutablePath?: string; + /** + / developer comment(s) for this build + */ + Comment?: string; + /** + / time this build was last modified (or uploaded, if this build has never been modified) + */ + Timestamp: string; + /** + / Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected. + */ + TitleId?: string; + /** + / the current status of the build validation and processing steps + */ + Status?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.AddUserVirtualCurrencyRequest + */ + export interface AddUserVirtualCurrencyRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / PlayFab unique identifier of the user whose virtual currency balance is to be increased. + */ + PlayFabId: string; + /** + / Name of the virtual currency which is to be incremented. + */ + VirtualCurrency: string; + /** + / Amount to be added to the user balance of the specified virtual currency. Maximum VC balance is Int32 (2,147,483,647). Any increase over this value will be discarded. + */ + Amount: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.AddVirtualCurrencyTypesRequest + */ + export interface AddVirtualCurrencyTypesRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / List of virtual currencies and their initial deposits (the amount a user is granted when signing in for the first time) to the title + */ + VirtualCurrencies: VirtualCurrencyData[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.BanInfo + */ + export interface BanInfo { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId?: string; + /** + / The unique Ban Id associated with this ban. + */ + BanId?: string; + /** + / The IP address on which the ban was applied. May affect multiple players. + */ + IPAddress?: string; + /** + / The MAC address on which the ban was applied. May affect multiple players. + */ + MACAddress?: string; + /** + / The time when this ban was applied. + */ + Created?: string; + /** + / The time when this ban expires. Permanent bans do not have expiration date. + */ + Expires?: string; + /** + / The reason why this ban was applied. + */ + Reason?: string; + /** + / The active state of this ban. Expired bans may still have this value set to true but they will have no effect. + */ + Active: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.BanRequest + */ + export interface BanRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / IP address to be banned. May affect multiple players. + */ + IPAddress?: string; + /** + / MAC address to be banned. May affect multiple players. + */ + MACAddress?: string; + /** + / The reason for this ban. Maximum 140 characters. + */ + Reason?: string; + /** + / The duration in hours for the ban. Leave this blank for a permanent ban. + */ + DurationInHours?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.BanUsersRequest + */ + export interface BanUsersRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / List of ban requests to be applied. Maximum 100. + */ + Bans: BanRequest[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.BanUsersResult + */ + export interface BanUsersResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Information on the bans that were applied + */ + BanData?: BanInfo[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.BlankResult + */ + export interface BlankResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.CatalogItem + */ + export interface CatalogItem { + /** + / unique identifier for this item + */ + ItemId: string; + /** + / class to which the item belongs + */ + ItemClass?: string; + /** + / catalog version for this item + */ + CatalogVersion?: string; + /** + / text name for the item, to show in-game + */ + DisplayName?: string; + /** + / text description of item, to show in-game + */ + Description?: string; + /** + / price of this item in virtual currencies and "RM" (the base Real Money purchase price, in USD pennies) + */ + VirtualCurrencyPrices?: { [key: string]: number }; + /** + / override prices for this item for specific currencies + */ + RealCurrencyPrices?: { [key: string]: number }; + /** + / list of item tags + */ + Tags?: string[]; + /** + / game specific custom data + */ + CustomData?: string; + /** + / defines the consumable properties (number of uses, timeout) for the item + */ + Consumable?: CatalogItemConsumableInfo; + /** + / defines the container properties for the item - what items it contains, including random drop tables and virtual currencies, and what item (if any) is required to open it via the UnlockContainerItem API + */ + Container?: CatalogItemContainerInfo; + /** + / defines the bundle properties for the item - bundles are items which contain other items, including random drop tables and virtual currencies + */ + Bundle?: CatalogItemBundleInfo; + /** + / if true, then an item instance of this type can be used to grant a character to a user. + */ + CanBecomeCharacter: boolean; + /** + / if true, then only one item instance of this type will exist and its remaininguses will be incremented instead. RemainingUses will cap out at Int32.Max (2,147,483,647). All subsequent increases will be discarded + */ + IsStackable: boolean; + /** + / if true, then an item instance of this type can be traded between players using the trading APIs + */ + IsTradable: boolean; + /** + / URL to the item image. For Facebook purchase to display the image on the item purchase page, this must be set to an HTTP URL. + */ + ItemImageUrl?: string; + /** + / BETA: If true, then only a fixed number can ever be granted. + */ + IsLimitedEdition: boolean; + /** + / If the item has IsLImitedEdition set to true, and this is the first time this ItemId has been defined as a limited edition item, this value determines the total number of instances to allocate for the title. Once this limit has been reached, no more instances of this ItemId can be created, and attempts to purchase or grant it will return a Result of false for that ItemId. If the item has already been defined to have a limited edition count, or if this value is less than zero, it will be ignored. + */ + InitialLimitedEditionCount: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.CatalogItemBundleInfo + */ + export interface CatalogItemBundleInfo { + /** + / unique ItemId values for all items which will be added to the player inventory when the bundle is added + */ + BundledItems?: string[]; + /** + / unique TableId values for all RandomResultTable objects which are part of the bundle (random tables will be resolved and add the relevant items to the player inventory when the bundle is added) + */ + BundledResultTables?: string[]; + /** + / virtual currency types and balances which will be added to the player inventory when the bundle is added + */ + BundledVirtualCurrencies?: { [key: string]: number }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.CatalogItemConsumableInfo + */ + export interface CatalogItemConsumableInfo { + /** + / number of times this object can be used, after which it will be removed from the player inventory + */ + UsageCount?: number; + /** + / duration in seconds for how long the item will remain in the player inventory - once elapsed, the item will be removed (recommended minimum value is 5 seconds, as lower values can cause the item to expire before operations depending on this item's details have completed) + */ + UsagePeriod?: number; + /** + / all inventory item instances in the player inventory sharing a non-null UsagePeriodGroup have their UsagePeriod values added together, and share the result - when that period has elapsed, all the items in the group will be removed + */ + UsagePeriodGroup?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.CatalogItemContainerInfo + */ + export interface CatalogItemContainerInfo { + /** + / ItemId for the catalog item used to unlock the container, if any (if not specified, a call to UnlockContainerItem will open the container, adding the contents to the player inventory and currency balances) + */ + KeyItemId?: string; + /** + / unique ItemId values for all items which will be added to the player inventory, once the container has been unlocked + */ + ItemContents?: string[]; + /** + / unique TableId values for all RandomResultTable objects which are part of the container (once unlocked, random tables will be resolved and add the relevant items to the player inventory) + */ + ResultTableContents?: string[]; + /** + / virtual currency types and balances which will be added to the player inventory when the container is unlocked + */ + VirtualCurrencyContents?: { [key: string]: number }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.CloudScriptFile + */ + export interface CloudScriptFile { + /** + / Name of the javascript file. These names are not used internally by the server, they are only for developer organizational purposes. + */ + Filename: string; + /** + / Contents of the Cloud Script javascript. Must be string-escaped javascript. + */ + FileContents: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.CloudScriptTaskParameter + */ + export interface CloudScriptTaskParameter { + /** + / Name of the CloudScript function to execute. + */ + FunctionName?: string; + /** + / Argument to pass to the CloudScript function. + */ + Argument?: any; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.CloudScriptTaskSummary + */ + export interface CloudScriptTaskSummary { + /** + / ID of the task instance. + */ + TaskInstanceId?: string; + /** + / Identifier of the task this instance belongs to. + */ + TaskIdentifier?: NameIdentifier; + /** + / UTC timestamp when the task started. + */ + StartedAt: string; + /** + / UTC timestamp when the task completed. + */ + CompletedAt?: string; + /** + / Current status of the task instance. + */ + Status?: string; + /** + / Progress represented as percentage. + */ + PercentComplete?: number; + /** + / Estimated time remaining in seconds. + */ + EstimatedSecondsRemaining?: number; + /** + / If manually scheduled, ID of user who scheduled the task. + */ + ScheduledByUserId?: string; + /** + / Result of CloudScript execution + */ + Result?: ExecuteCloudScriptResult; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.CloudScriptVersionStatus + */ + export interface CloudScriptVersionStatus { + /** + / Version number + */ + Version: number; + /** + / Published code revision for this Cloud Script version + */ + PublishedRevision: number; + /** + / Most recent revision for this Cloud Script version + */ + LatestRevision: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ContentInfo + */ + export interface ContentInfo { + /** + / Key of the content + */ + Key?: string; + /** + / Size of the content in bytes + */ + Size: number; + /** + / Last modified time + */ + LastModified: string; + + } + + type ContinentCode = "AF" + | "AN" + | "AS" + | "EU" + | "NA" + | "OC" + | "SA"; + + type CountryCode = "AF" + | "AX" + | "AL" + | "DZ" + | "AS" + | "AD" + | "AO" + | "AI" + | "AQ" + | "AG" + | "AR" + | "AM" + | "AW" + | "AU" + | "AT" + | "AZ" + | "BS" + | "BH" + | "BD" + | "BB" + | "BY" + | "BE" + | "BZ" + | "BJ" + | "BM" + | "BT" + | "BO" + | "BQ" + | "BA" + | "BW" + | "BV" + | "BR" + | "IO" + | "BN" + | "BG" + | "BF" + | "BI" + | "KH" + | "CM" + | "CA" + | "CV" + | "KY" + | "CF" + | "TD" + | "CL" + | "CN" + | "CX" + | "CC" + | "CO" + | "KM" + | "CG" + | "CD" + | "CK" + | "CR" + | "CI" + | "HR" + | "CU" + | "CW" + | "CY" + | "CZ" + | "DK" + | "DJ" + | "DM" + | "DO" + | "EC" + | "EG" + | "SV" + | "GQ" + | "ER" + | "EE" + | "ET" + | "FK" + | "FO" + | "FJ" + | "FI" + | "FR" + | "GF" + | "PF" + | "TF" + | "GA" + | "GM" + | "GE" + | "DE" + | "GH" + | "GI" + | "GR" + | "GL" + | "GD" + | "GP" + | "GU" + | "GT" + | "GG" + | "GN" + | "GW" + | "GY" + | "HT" + | "HM" + | "VA" + | "HN" + | "HK" + | "HU" + | "IS" + | "IN" + | "ID" + | "IR" + | "IQ" + | "IE" + | "IM" + | "IL" + | "IT" + | "JM" + | "JP" + | "JE" + | "JO" + | "KZ" + | "KE" + | "KI" + | "KP" + | "KR" + | "KW" + | "KG" + | "LA" + | "LV" + | "LB" + | "LS" + | "LR" + | "LY" + | "LI" + | "LT" + | "LU" + | "MO" + | "MK" + | "MG" + | "MW" + | "MY" + | "MV" + | "ML" + | "MT" + | "MH" + | "MQ" + | "MR" + | "MU" + | "YT" + | "MX" + | "FM" + | "MD" + | "MC" + | "MN" + | "ME" + | "MS" + | "MA" + | "MZ" + | "MM" + | "NA" + | "NR" + | "NP" + | "NL" + | "NC" + | "NZ" + | "NI" + | "NE" + | "NG" + | "NU" + | "NF" + | "MP" + | "NO" + | "OM" + | "PK" + | "PW" + | "PS" + | "PA" + | "PG" + | "PY" + | "PE" + | "PH" + | "PN" + | "PL" + | "PT" + | "PR" + | "QA" + | "RE" + | "RO" + | "RU" + | "RW" + | "BL" + | "SH" + | "KN" + | "LC" + | "MF" + | "PM" + | "VC" + | "WS" + | "SM" + | "ST" + | "SA" + | "SN" + | "RS" + | "SC" + | "SL" + | "SG" + | "SX" + | "SK" + | "SI" + | "SB" + | "SO" + | "ZA" + | "GS" + | "SS" + | "ES" + | "LK" + | "SD" + | "SR" + | "SJ" + | "SZ" + | "SE" + | "CH" + | "SY" + | "TW" + | "TJ" + | "TZ" + | "TH" + | "TL" + | "TG" + | "TK" + | "TO" + | "TT" + | "TN" + | "TR" + | "TM" + | "TC" + | "TV" + | "UG" + | "UA" + | "AE" + | "GB" + | "US" + | "UM" + | "UY" + | "UZ" + | "VU" + | "VE" + | "VN" + | "VG" + | "VI" + | "WF" + | "EH" + | "YE" + | "ZM" + | "ZW"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.CreateActionsOnPlayerSegmentTaskRequest + */ + export interface CreateActionsOnPlayerSegmentTaskRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Name of the task. This is a unique identifier for tasks in the title. + */ + Name: string; + /** + / Description the task + */ + Description?: string; + /** + / Cron expression for the run schedule of the task. The expression should be in UTC. + */ + Schedule?: string; + /** + / Whether the schedule is active. Inactive schedule will not trigger task execution. + */ + IsActive: boolean; + /** + / Task details related to segment and action + */ + Parameter: ActionsOnPlayersInSegmentTaskParameter; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.CreateCloudScriptTaskRequest + */ + export interface CreateCloudScriptTaskRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Name of the task. This is a unique identifier for tasks in the title. + */ + Name: string; + /** + / Description the task + */ + Description?: string; + /** + / Cron expression for the run schedule of the task. The expression should be in UTC. + */ + Schedule?: string; + /** + / Whether the schedule is active. Inactive schedule will not trigger task execution. + */ + IsActive: boolean; + /** + / Task details related to CloudScript + */ + Parameter: CloudScriptTaskParameter; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.CreatePlayerStatisticDefinitionRequest + */ + export interface CreatePlayerStatisticDefinitionRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / unique name of the statistic + */ + StatisticName: string; + /** + / interval at which the values of the statistic for all players are reset (resets begin at the next interval boundary) + */ + VersionChangeInterval?: string; + /** + / the aggregation method to use in updating the statistic (defaults to last) + */ + AggregationMethod?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.CreatePlayerStatisticDefinitionResult + */ + export interface CreatePlayerStatisticDefinitionResult extends PlayFabModule.IPlayFabResultCommon { + /** + / created statistic definition + */ + Statistic?: PlayerStatisticDefinition; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.CreateTaskResult + */ + export interface CreateTaskResult extends PlayFabModule.IPlayFabResultCommon { + /** + / ID of the task + */ + TaskId?: string; + + } + + type Currency = "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYR" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.DeleteContentRequest + */ + export interface DeleteContentRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Key of the content item to be deleted + */ + Key: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.DeleteStoreRequest + */ + export interface DeleteStoreRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / catalog version of the store to delete. If null, uses the default catalog. + */ + CatalogVersion?: string; + /** + / unqiue identifier for the store which is to be deleted + */ + StoreId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.DeleteStoreResult + */ + export interface DeleteStoreResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.DeleteTaskRequest + */ + export interface DeleteTaskRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Specify either the task ID or the name of task to be deleted. + */ + Identifier?: NameIdentifier; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.DeleteUsersRequest + */ + export interface DeleteUsersRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / An array of unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabIds: string[]; + /** + / Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected. + */ + TitleId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.DeleteUsersResult + */ + export interface DeleteUsersResult extends PlayFabModule.IPlayFabResultCommon { + + } + + type EffectType = "Allow" + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.EmptyResult + */ + export interface EmptyResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ExecuteCloudScriptResult + */ + export interface ExecuteCloudScriptResult extends PlayFabModule.IPlayFabResultCommon { + /** + / The name of the function that executed + */ + FunctionName?: string; + /** + / The revision of the CloudScript that executed + */ + Revision: number; + /** + / The object returned from the CloudScript function, if any + */ + FunctionResult?: any; + /** + / Entries logged during the function execution. These include both entries logged in the function code using log.info() and log.error() and error entries for API and HTTP request failures. + */ + Logs?: LogStatement[]; + ExecutionTimeSeconds: number; + /** + / Processor time consumed while executing the function. This does not include time spent waiting on API calls or HTTP requests. + */ + ProcessorTimeSeconds: number; + MemoryConsumedBytes: number; + /** + / Number of PlayFab API requests issued by the CloudScript function + */ + APIRequestsIssued: number; + /** + / Number of external HTTP requests issued by the CloudScript function + */ + HttpRequestsIssued: number; + /** + / Information about the error, if any, that occured during execution + */ + Error?: ScriptExecutionError; + + } + + type GameBuildStatus = "Available" + | "Validating" + | "InvalidBuildPackage" + | "Processing" + | "FailedToProcess"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GameModeInfo + */ + export interface GameModeInfo { + /** + / specific game mode type + */ + Gamemode: string; + /** + / minimum user count required for this Game Server Instance to continue (usually 1) + */ + MinPlayerCount: number; + /** + / maximum user count a specific Game Server Instance can support + */ + MaxPlayerCount: number; + /** + / whether to start as an open session, meaning that players can matchmake into it (defaults to true) + */ + StartOpen?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetActionGroupResult + */ + export interface GetActionGroupResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Action Group name + */ + Name: string; + /** + / Action Group ID + */ + Id?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetActionsOnPlayersInSegmentTaskInstanceResult + */ + export interface GetActionsOnPlayersInSegmentTaskInstanceResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Status summary of the actions-on-players-in-segment task instance + */ + Summary?: ActionsOnPlayersInSegmentTaskSummary; + /** + / Parameter of this task instance + */ + Parameter?: ActionsOnPlayersInSegmentTaskParameter; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetAllActionGroupsRequest + */ + export interface GetAllActionGroupsRequest extends PlayFabModule.IPlayFabRequestCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetAllActionGroupsResult + */ + export interface GetAllActionGroupsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / List of Action Groups. + */ + ActionGroups: GetActionGroupResult[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetAllSegmentsRequest + */ + export interface GetAllSegmentsRequest extends PlayFabModule.IPlayFabRequestCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetAllSegmentsResult + */ + export interface GetAllSegmentsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Array of segments for this title. + */ + Segments?: GetSegmentResult[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetCatalogItemsRequest + */ + export interface GetCatalogItemsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Which catalog is being requested. If null, uses the default catalog. + */ + CatalogVersion?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetCatalogItemsResult + */ + export interface GetCatalogItemsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Array of items which can be purchased. + */ + Catalog?: CatalogItem[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetCloudScriptRevisionRequest + */ + export interface GetCloudScriptRevisionRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Version number. If left null, defaults to the latest version + */ + Version?: number; + /** + / Revision number. If left null, defaults to the latest revision + */ + Revision?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetCloudScriptRevisionResult + */ + export interface GetCloudScriptRevisionResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Version number. + */ + Version: number; + /** + / Revision number. + */ + Revision: number; + /** + / Time this revision was created + */ + CreatedAt: string; + /** + / List of Cloud Script files in this revision. + */ + Files?: CloudScriptFile[]; + /** + / True if this is the currently published revision + */ + IsPublished: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetCloudScriptTaskInstanceResult + */ + export interface GetCloudScriptTaskInstanceResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Status summary of the CloudScript task instance + */ + Summary?: CloudScriptTaskSummary; + /** + / Parameter of this task instance + */ + Parameter?: CloudScriptTaskParameter; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetCloudScriptVersionsRequest + */ + export interface GetCloudScriptVersionsRequest extends PlayFabModule.IPlayFabRequestCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetCloudScriptVersionsResult + */ + export interface GetCloudScriptVersionsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / List of versions + */ + Versions?: CloudScriptVersionStatus[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetContentListRequest + */ + export interface GetContentListRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Limits the response to keys that begin with the specified prefix. You can use prefixes to list contents under a folder, or for a specified version, etc. + */ + Prefix?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetContentListResult + */ + export interface GetContentListResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Number of content items returned. We currently have a maximum of 1000 items limit. + */ + ItemCount: number; + /** + / The total size of listed contents in bytes. + */ + TotalSize: number; + /** + / List of content items. + */ + Contents?: ContentInfo[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetContentUploadUrlRequest + */ + export interface GetContentUploadUrlRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Key of the content item to upload, usually formatted as a path, e.g. images/a.png + */ + Key: string; + /** + / A standard MIME type describing the format of the contents. The same MIME type has to be set in the header when uploading the content. If not specified, the MIME type is 'binary/octet-stream' by default. + */ + ContentType?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetContentUploadUrlResult + */ + export interface GetContentUploadUrlResult extends PlayFabModule.IPlayFabResultCommon { + /** + / URL for uploading content via HTTP PUT method. The URL will expire in 1 hour. + */ + URL?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetDataReportRequest + */ + export interface GetDataReportRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Report name + */ + ReportName: string; + /** + / Reporting year (UTC) + */ + Year: number; + /** + / Reporting month (UTC) + */ + Month: number; + /** + / Reporting year (UTC) + */ + Day: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetDataReportResult + */ + export interface GetDataReportResult extends PlayFabModule.IPlayFabResultCommon { + /** + / The URL where the requested report can be downloaded. + */ + DownloadUrl?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetMatchmakerGameInfoRequest + */ + export interface GetMatchmakerGameInfoRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / unique identifier of the lobby for which info is being requested + */ + LobbyId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetMatchmakerGameInfoResult + */ + export interface GetMatchmakerGameInfoResult extends PlayFabModule.IPlayFabResultCommon { + /** + / unique identifier of the lobby + */ + LobbyId?: string; + /** + / unique identifier of the Game Server Instance for this lobby + */ + TitleId?: string; + /** + / time when the Game Server Instance was created + */ + StartTime: string; + /** + / time when Game Server Instance is currently scheduled to end + */ + EndTime?: string; + /** + / game mode for this Game Server Instance + */ + Mode?: string; + /** + / version identifier of the game server executable binary being run + */ + BuildVersion?: string; + /** + / region in which the Game Server Instance is running + */ + Region?: string; + /** + / array of unique PlayFab identifiers for users currently connected to this Game Server Instance + */ + Players?: string[]; + /** + / IP address for this Game Server Instance + */ + ServerAddress?: string; + /** + / communication port for this Game Server Instance + */ + ServerPort: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetMatchmakerGameModesRequest + */ + export interface GetMatchmakerGameModesRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / previously uploaded build version for which game modes are being requested + */ + BuildVersion: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetMatchmakerGameModesResult + */ + export interface GetMatchmakerGameModesResult extends PlayFabModule.IPlayFabResultCommon { + /** + / array of game modes available for the specified build + */ + GameModes?: GameModeInfo[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetPlayerSegmentsResult + */ + export interface GetPlayerSegmentsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Array of segments the requested player currently belongs to. + */ + Segments?: GetSegmentResult[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetPlayersInSegmentRequest + */ + export interface GetPlayersInSegmentRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for this segment. + */ + SegmentId: string; + /** + / Number of seconds to keep the continuation token active. After token expiration it is not possible to continue paging results. Default is 300 (5 minutes). Maximum is 1,800 (30 minutes). + */ + SecondsToLive?: number; + /** + / Maximum number of profiles to load. Default is 1,000. Maximum is 10,000. + */ + MaxBatchSize?: number; + /** + / Continuation token if retrieving subsequent pages of results. + */ + ContinuationToken?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetPlayersInSegmentResult + */ + export interface GetPlayersInSegmentResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Count of profiles matching this segment. + */ + ProfilesInSegment: number; + /** + / Continuation token to use to retrieve subsequent pages of results. If token returns null there are no more results. + */ + ContinuationToken?: string; + /** + / Array of player profiles in this segment. + */ + PlayerProfiles?: PlayerProfile[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetPlayersSegmentsRequest + */ + export interface GetPlayersSegmentsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetPlayerStatisticDefinitionsRequest + */ + export interface GetPlayerStatisticDefinitionsRequest extends PlayFabModule.IPlayFabRequestCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetPlayerStatisticDefinitionsResult + */ + export interface GetPlayerStatisticDefinitionsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / the player statistic definitions for the title + */ + Statistics?: PlayerStatisticDefinition[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetPlayerStatisticVersionsRequest + */ + export interface GetPlayerStatisticVersionsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / unique name of the statistic + */ + StatisticName?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetPlayerStatisticVersionsResult + */ + export interface GetPlayerStatisticVersionsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / version change history of the statistic + */ + StatisticVersions?: PlayerStatisticVersion[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetPlayerTagsRequest + */ + export interface GetPlayerTagsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Optional namespace to filter results by + */ + Namespace?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetPlayerTagsResult + */ + export interface GetPlayerTagsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Canonical tags (including namespace and tag's name) for the requested user + */ + Tags: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetPolicyRequest + */ + export interface GetPolicyRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / The name of the policy to read. Only supported name is 'ApiPolicy'. + */ + PolicyName?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetPolicyResponse + */ + export interface GetPolicyResponse extends PlayFabModule.IPlayFabResultCommon { + /** + / The name of the policy read. + */ + PolicyName?: string; + /** + / The statements in the requested policy. + */ + Statements?: PermissionStatement[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetPublisherDataRequest + */ + export interface GetPublisherDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / array of keys to get back data from the Publisher data blob, set by the admin tools + */ + Keys: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetPublisherDataResult + */ + export interface GetPublisherDataResult extends PlayFabModule.IPlayFabResultCommon { + /** + / a dictionary object of key / value pairs + */ + Data?: { [key: string]: string }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetRandomResultTablesRequest + */ + export interface GetRandomResultTablesRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / catalog version to fetch tables from. Use default catalog version if null + */ + CatalogVersion?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetRandomResultTablesResult + */ + export interface GetRandomResultTablesResult extends PlayFabModule.IPlayFabResultCommon { + /** + / array of random result tables currently available + */ + Tables?: { [key: string]: RandomResultTableListing }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetSegmentResult + */ + export interface GetSegmentResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique identifier for this segment. + */ + Id: string; + /** + / Segment name. + */ + Name?: string; + /** + / Identifier of the segments AB Test, if it is attached to one. + */ + ABTestParent?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetServerBuildInfoRequest + */ + export interface GetServerBuildInfoRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / unique identifier of the previously uploaded build executable for which information is being requested + */ + BuildId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetServerBuildInfoResult + */ + export interface GetServerBuildInfoResult extends PlayFabModule.IPlayFabResultCommon { + /** + / unique identifier for this build executable + */ + BuildId?: string; + /** + / array of regions where this build can used, when it is active + */ + ActiveRegions?: string[]; + /** + / maximum number of game server instances that can run on a single host machine + */ + MaxGamesPerHost: number; + /** + / minimum capacity of additional game server instances that can be started before the autoscaling service starts new host machines (given the number of current running host machines and game server instances) + */ + MinFreeGameSlots: number; + /** + / developer comment(s) for this build + */ + Comment?: string; + /** + / time this build was last modified (or uploaded, if this build has never been modified) + */ + Timestamp: string; + /** + / Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected. + */ + TitleId?: string; + /** + / the current status of the build validation and processing steps + */ + Status?: string; + /** + / error message, if any, about this build + */ + ErrorMessage?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetServerBuildUploadURLRequest + */ + export interface GetServerBuildUploadURLRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / unique identifier of the game server build to upload + */ + BuildId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetServerBuildUploadURLResult + */ + export interface GetServerBuildUploadURLResult extends PlayFabModule.IPlayFabResultCommon { + /** + / pre-authorized URL for uploading the game server build package + */ + URL?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetStoreItemsRequest + */ + export interface GetStoreItemsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / catalog version to store items from. Use default catalog version if null + */ + CatalogVersion?: string; + /** + / Unqiue identifier for the store which is being requested. + */ + StoreId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetStoreItemsResult + */ + export interface GetStoreItemsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Array of items which can be purchased from this store. + */ + Store?: StoreItem[]; + /** + / How the store was last updated (Admin or a third party). + */ + Source?: string; + /** + / The base catalog that this store is a part of. + */ + CatalogVersion?: string; + /** + / The ID of this store. + */ + StoreId?: string; + /** + / Additional data about the store. + */ + MarketingData?: StoreMarketingModel; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetTaskInstanceRequest + */ + export interface GetTaskInstanceRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / ID of the requested task instance. + */ + TaskInstanceId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetTaskInstancesRequest + */ + export interface GetTaskInstancesRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Name or ID of the task whose instances are being queried. If not specified, return all task instances that satisfy conditions set by other filters. + */ + TaskIdentifier?: NameIdentifier; + /** + / Optional filter for task instances that are of a specific status. + */ + StatusFilter?: string; + /** + / Optional range-from filter for task instances' StartedAt timestamp. + */ + StartedAtRangeFrom?: string; + /** + / Optional range-to filter for task instances' StartedAt timestamp. + */ + StartedAtRangeTo?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetTaskInstancesResult + */ + export interface GetTaskInstancesResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Basic status summaries of the queried task instances. Empty If no task instances meets the filter criteria. To get detailed status summary, use Get*TaskInstance API according to task type (e.g. GetActionsOnPlayersInSegmentTaskInstance). + */ + Summaries?: TaskInstanceBasicSummary[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetTasksRequest + */ + export interface GetTasksRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Provide either the task ID or the task name to get a specific task. If not specified, return all defined tasks. + */ + Identifier?: NameIdentifier; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetTasksResult + */ + export interface GetTasksResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Result tasks. Empty if there is no task found. + */ + Tasks?: ScheduledTask[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetTitleDataRequest + */ + export interface GetTitleDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Specific keys to search for in the title data (leave null to get all keys) + */ + Keys?: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetTitleDataResult + */ + export interface GetTitleDataResult extends PlayFabModule.IPlayFabResultCommon { + /** + / a dictionary object of key / value pairs + */ + Data?: { [key: string]: string }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetUserBansRequest + */ + export interface GetUserBansRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetUserBansResult + */ + export interface GetUserBansResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Information about the bans + */ + BanData?: BanInfo[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetUserDataRequest + */ + export interface GetUserDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Specific keys to search for in the custom user data. + */ + Keys?: string[]; + /** + / The version that currently exists according to the caller. The call will return the data for all of the keys if the version in the system is greater than this. + */ + IfChangedFromDataVersion?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetUserDataResult + */ + export interface GetUserDataResult extends PlayFabModule.IPlayFabResultCommon { + /** + / PlayFab unique identifier of the user whose custom data is being returned. + */ + PlayFabId?: string; + /** + / Indicates the current version of the data that has been set. This is incremented with every set call for that type of data (read-only, internal, etc). This version can be provided in Get calls to find updated data. + */ + DataVersion: number; + /** + / User specific data for this title. + */ + Data?: { [key: string]: UserDataRecord }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetUserInventoryRequest + */ + export interface GetUserInventoryRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GetUserInventoryResult + */ + export interface GetUserInventoryResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId?: string; + /** + / Array of inventory items belonging to the user. + */ + Inventory?: ItemInstance[]; + /** + / Array of virtual currency balance(s) belonging to the user. + */ + VirtualCurrency?: { [key: string]: number }; + /** + / Array of remaining times and timestamps for virtual currencies. + */ + VirtualCurrencyRechargeTimes?: { [key: string]: VirtualCurrencyRechargeTime }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GrantedItemInstance + */ + export interface GrantedItemInstance { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId?: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId?: string; + /** + / Result of this operation. + */ + Result: boolean; + /** + / Unique identifier for the inventory item, as defined in the catalog. + */ + ItemId?: string; + /** + / Unique item identifier for this specific instance of the item. + */ + ItemInstanceId?: string; + /** + / Class name for the inventory item, as defined in the catalog. + */ + ItemClass?: string; + /** + / Timestamp for when this instance was purchased. + */ + PurchaseDate?: string; + /** + / Timestamp for when this instance will expire. + */ + Expiration?: string; + /** + / Total number of remaining uses, if this is a consumable item. + */ + RemainingUses?: number; + /** + / The number of uses that were added or removed to this item in this call. + */ + UsesIncrementedBy?: number; + /** + / Game specific comment associated with this instance when it was added to the user inventory. + */ + Annotation?: string; + /** + / Catalog version for the inventory item, when this instance was created. + */ + CatalogVersion?: string; + /** + / Unique identifier for the parent inventory item, as defined in the catalog, for object which were added from a bundle or container. + */ + BundleParent?: string; + /** + / CatalogItem.DisplayName at the time this item was purchased. + */ + DisplayName?: string; + /** + / Currency type for the cost of the catalog item. + */ + UnitCurrency?: string; + /** + / Cost of the catalog item in the given currency. + */ + UnitPrice: number; + /** + / Array of unique items that were awarded when this catalog item was purchased. + */ + BundleContents?: string[]; + /** + / A set of custom key-value pairs on the inventory item. + */ + CustomData?: { [key: string]: string }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GrantItemsToUsersRequest + */ + export interface GrantItemsToUsersRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Catalog version from which items are to be granted. + */ + CatalogVersion?: string; + /** + / Array of items to grant and the users to whom the items are to be granted. + */ + ItemGrants: ItemGrant[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.GrantItemsToUsersResult + */ + export interface GrantItemsToUsersResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Array of items granted to users. + */ + ItemGrantResults?: GrantedItemInstance[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.IncrementPlayerStatisticVersionRequest + */ + export interface IncrementPlayerStatisticVersionRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / unique name of the statistic + */ + StatisticName?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.IncrementPlayerStatisticVersionResult + */ + export interface IncrementPlayerStatisticVersionResult extends PlayFabModule.IPlayFabResultCommon { + /** + / version change history of the statistic + */ + StatisticVersion?: PlayerStatisticVersion; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ItemGrant + */ + export interface ItemGrant { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique identifier of the catalog item to be granted to the user. + */ + ItemId: string; + /** + / String detailing any additional information concerning this operation. + */ + Annotation?: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId?: string; + /** + / Key-value pairs to be written to the custom data. Note that keys are trimmed of whitespace, are limited in size, and may not begin with a '!' character. + */ + Data?: { [key: string]: string }; + /** + / Optional list of Data-keys to remove from UserData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + */ + KeysToRemove?: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ItemInstance + */ + export interface ItemInstance { + /** + / Unique identifier for the inventory item, as defined in the catalog. + */ + ItemId?: string; + /** + / Unique item identifier for this specific instance of the item. + */ + ItemInstanceId?: string; + /** + / Class name for the inventory item, as defined in the catalog. + */ + ItemClass?: string; + /** + / Timestamp for when this instance was purchased. + */ + PurchaseDate?: string; + /** + / Timestamp for when this instance will expire. + */ + Expiration?: string; + /** + / Total number of remaining uses, if this is a consumable item. + */ + RemainingUses?: number; + /** + / The number of uses that were added or removed to this item in this call. + */ + UsesIncrementedBy?: number; + /** + / Game specific comment associated with this instance when it was added to the user inventory. + */ + Annotation?: string; + /** + / Catalog version for the inventory item, when this instance was created. + */ + CatalogVersion?: string; + /** + / Unique identifier for the parent inventory item, as defined in the catalog, for object which were added from a bundle or container. + */ + BundleParent?: string; + /** + / CatalogItem.DisplayName at the time this item was purchased. + */ + DisplayName?: string; + /** + / Currency type for the cost of the catalog item. + */ + UnitCurrency?: string; + /** + / Cost of the catalog item in the given currency. + */ + UnitPrice: number; + /** + / Array of unique items that were awarded when this catalog item was purchased. + */ + BundleContents?: string[]; + /** + / A set of custom key-value pairs on the inventory item. + */ + CustomData?: { [key: string]: string }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ListBuildsRequest + */ + export interface ListBuildsRequest extends PlayFabModule.IPlayFabRequestCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ListBuildsResult + */ + export interface ListBuildsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / array of uploaded game server builds + */ + Builds?: GetServerBuildInfoResult[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ListVirtualCurrencyTypesRequest + */ + export interface ListVirtualCurrencyTypesRequest extends PlayFabModule.IPlayFabRequestCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ListVirtualCurrencyTypesResult + */ + export interface ListVirtualCurrencyTypesResult extends PlayFabModule.IPlayFabResultCommon { + /** + / List of virtual currency names defined for this title + */ + VirtualCurrencies?: VirtualCurrencyData[]; + + } + + type LoginIdentityProvider = "Unknown" + | "PlayFab" + | "Custom" + | "GameCenter" + | "GooglePlay" + | "Steam" + | "XBoxLive" + | "PSN" + | "Kongregate" + | "Facebook" + | "IOSDevice" + | "AndroidDevice" + | "Twitch"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.LogStatement + */ + export interface LogStatement { + /** + / 'Debug', 'Info', or 'Error' + */ + Level?: string; + Message?: string; + /** + / Optional object accompanying the message as contextual information + */ + Data?: any; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.LookupUserAccountInfoRequest + */ + export interface LookupUserAccountInfoRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId?: string; + /** + / User email address attached to their account + */ + Email?: string; + /** + / PlayFab username for the account (3-20 characters) + */ + Username?: string; + /** + / Title specific username to match against existing user accounts + */ + TitleDisplayName?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.LookupUserAccountInfoResult + */ + export interface LookupUserAccountInfoResult extends PlayFabModule.IPlayFabResultCommon { + /** + / User info for the user matching the request + */ + UserInfo?: UserAccountInfo; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ModifyMatchmakerGameModesRequest + */ + export interface ModifyMatchmakerGameModesRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / previously uploaded build version for which game modes are being specified + */ + BuildVersion: string; + /** + / array of game modes (Note: this will replace all game modes for the indicated build version) + */ + GameModes: GameModeInfo[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ModifyMatchmakerGameModesResult + */ + export interface ModifyMatchmakerGameModesResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ModifyServerBuildRequest + */ + export interface ModifyServerBuildRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / unique identifier of the previously uploaded build executable to be updated + */ + BuildId: string; + /** + / new timestamp + */ + Timestamp?: string; + /** + / array of regions where this build can used, when it is active + */ + ActiveRegions?: string[]; + /** + / maximum number of game server instances that can run on a single host machine + */ + MaxGamesPerHost: number; + /** + / minimum capacity of additional game server instances that can be started before the autoscaling service starts new host machines (given the number of current running host machines and game server instances) + */ + MinFreeGameSlots: number; + /** + / appended to the end of the command line when starting game servers + */ + CommandLineTemplate?: string; + /** + / path to the game server executable. Defaults to gameserver.exe + */ + ExecutablePath?: string; + /** + / developer comment(s) for this build + */ + Comment?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ModifyServerBuildResult + */ + export interface ModifyServerBuildResult extends PlayFabModule.IPlayFabResultCommon { + /** + / unique identifier for this build executable + */ + BuildId?: string; + /** + / array of regions where this build can used, when it is active + */ + ActiveRegions?: string[]; + /** + / maximum number of game server instances that can run on a single host machine + */ + MaxGamesPerHost: number; + /** + / minimum capacity of additional game server instances that can be started before the autoscaling service starts new host machines (given the number of current running host machines and game server instances) + */ + MinFreeGameSlots: number; + /** + / appended to the end of the command line when starting game servers + */ + CommandLineTemplate?: string; + /** + / path to the game server executable. Defaults to gameserver.exe + */ + ExecutablePath?: string; + /** + / developer comment(s) for this build + */ + Comment?: string; + /** + / time this build was last modified (or uploaded, if this build has never been modified) + */ + Timestamp: string; + /** + / Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected. + */ + TitleId?: string; + /** + / the current status of the build validation and processing steps + */ + Status?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ModifyUserVirtualCurrencyResult + */ + export interface ModifyUserVirtualCurrencyResult extends PlayFabModule.IPlayFabResultCommon { + /** + / User currency was subtracted from. + */ + PlayFabId?: string; + /** + / Name of the virtual currency which was modified. + */ + VirtualCurrency?: string; + /** + / Amount added or subtracted from the user's virtual currency. Maximum VC balance is Int32 (2,147,483,647). Any increase over this value will be discarded. + */ + BalanceChange: number; + /** + / Balance of the virtual currency after modification. + */ + Balance: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.NameIdentifier + */ + export interface NameIdentifier { + Name?: string; + Id?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.PermissionStatement + */ + export interface PermissionStatement { + /** + / The resource this statements effects. The only supported resources look like 'pfrn:api--*' for all apis, or 'pfrn:api--/Client/ConfirmPurchase' for specific apis. + */ + Resource: string; + /** + / The action this statement effects. The only supported action is 'Execute'. + */ + Action: string; + /** + / The effect this statement will have. The only supported effect is 'Allow'. + */ + Effect: string; + /** + / The principal this statement will effect. The only supported principal is '*'. + */ + Principal: string; + /** + / A comment about the statement. Intended solely for bookeeping and debugging. + */ + Comment?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.PlayerLinkedAccount + */ + export interface PlayerLinkedAccount { + /** + / Authentication platform + */ + Platform?: string; + /** + / Platform user identifier + */ + PlatformUserId?: string; + /** + / Linked account's username + */ + Username?: string; + /** + / Linked account's email + */ + Email?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.PlayerLocation + */ + export interface PlayerLocation { + /** + / The two-character continent code for this location + */ + ContinentCode: string; + /** + / The two-character ISO 3166-1 country code for the country associated with the location + */ + CountryCode: string; + /** + / City of the player's geographic location. + */ + City?: string; + /** + / Latitude coordinate of the player's geographic location. + */ + Latitude?: number; + /** + / Longitude coordinate of the player's geographic location. + */ + Longitude?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.PlayerProfile + */ + export interface PlayerProfile { + /** + / PlayFab Player ID + */ + PlayerId?: string; + /** + / Title ID this profile applies to + */ + TitleId?: string; + /** + / Player Display Name + */ + DisplayName?: string; + /** + / Publisher this player belongs to + */ + PublisherId?: string; + /** + / Player account origination + */ + Origination?: string; + /** + / Player record created + */ + Created?: string; + /** + / Last login + */ + LastLogin?: string; + /** + / Banned until UTC Date. If permanent ban this is set for 20 years after the original ban date. + */ + BannedUntil?: string; + /** + / Dictionary of player's statistics using only the latest version's value + */ + Statistics?: { [key: string]: number }; + /** + / A sum of player's total purchases in USD across all currencies. + */ + TotalValueToDateInUSD?: number; + /** + / Dictionary of player's total purchases by currency. + */ + ValuesToDate?: { [key: string]: number }; + /** + / List of player's tags for segmentation. + */ + Tags?: string[]; + /** + / Dictionary of player's locations by type. + */ + Locations?: { [key: string]: PlayerLocation }; + /** + / Dictionary of player's virtual currency balances + */ + VirtualCurrencyBalances?: { [key: string]: number }; + /** + / Array of ad campaigns player has been attributed to + */ + AdCampaignAttributions?: AdCampaignAttribution[]; + /** + / Array of configured push notification end points + */ + PushNotificationRegistrations?: PushNotificationRegistration[]; + /** + / Array of third party accounts linked to this player + */ + LinkedAccounts?: PlayerLinkedAccount[]; + /** + / Array of player statistics + */ + PlayerStatistics?: PlayerStatistic[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.PlayerStatistic + */ + export interface PlayerStatistic { + /** + / Statistic ID + */ + Id?: string; + /** + / Statistic version (0 if not a versioned statistic) + */ + StatisticVersion: number; + /** + / Current statistic value + */ + StatisticValue: number; + /** + / Statistic name + */ + Name?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.PlayerStatisticDefinition + */ + export interface PlayerStatisticDefinition { + /** + / unique name of the statistic + */ + StatisticName?: string; + /** + / current active version of the statistic, incremented each time the statistic resets + */ + CurrentVersion: number; + /** + / interval at which the values of the statistic for all players are reset automatically + */ + VersionChangeInterval?: string; + /** + / the aggregation method to use in updating the statistic (defaults to last) + */ + AggregationMethod?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.PlayerStatisticVersion + */ + export interface PlayerStatisticVersion { + /** + / name of the statistic when the version became active + */ + StatisticName?: string; + /** + / version of the statistic + */ + Version: number; + /** + / time at which the statistic version was scheduled to become active, based on the configured ResetInterval + */ + ScheduledActivationTime?: string; + /** + / time when the statistic version became active + */ + ActivationTime: string; + /** + / time at which the statistic version was scheduled to become inactive, based on the configured ResetInterval + */ + ScheduledDeactivationTime?: string; + /** + / time when the statistic version became inactive due to statistic version incrementing + */ + DeactivationTime?: string; + /** + / status of the process of saving player statistic values of the previous version to a downloadable archive + */ + ArchivalStatus?: string; + /** + / URL for the downloadable archive of player statistic values, if available + */ + ArchiveDownloadUrl?: string; + + } + + type PushNotificationPlatform = "ApplePushNotificationService" + | "GoogleCloudMessaging"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.PushNotificationRegistration + */ + export interface PushNotificationRegistration { + /** + / Push notification platform + */ + Platform?: string; + /** + / Notification configured endpoint + */ + NotificationEndpointARN?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.RandomResultTable + */ + export interface RandomResultTable { + /** + / Unique name for this drop table + */ + TableId: string; + /** + / Child nodes that indicate what kind of drop table item this actually is. + */ + Nodes: ResultTableNode[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.RandomResultTableListing + */ + export interface RandomResultTableListing { + /** + / Catalog version this table is associated with + */ + CatalogVersion?: string; + /** + / Unique name for this drop table + */ + TableId: string; + /** + / Child nodes that indicate what kind of drop table item this actually is. + */ + Nodes: ResultTableNode[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.RefundPurchaseRequest + */ + export interface RefundPurchaseRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique order ID for the purchase in question. + */ + OrderId: string; + /** + / Reason for refund. In the case of Facebook this must match one of their refund or dispute resolution enums (See: https://developers.facebook.com/docs/payments/implementation-guide/handling-disputes-refunds) + */ + Reason?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.RefundPurchaseResponse + */ + export interface RefundPurchaseResponse extends PlayFabModule.IPlayFabResultCommon { + /** + / The order's updated purchase status. + */ + PurchaseStatus?: string; + + } + + type Region = "USCentral" + | "USEast" + | "EUWest" + | "Singapore" + | "Japan" + | "Brazil" + | "Australia"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.RemovePlayerTagRequest + */ + export interface RemovePlayerTagRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique tag for player profile. + */ + TagName: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.RemovePlayerTagResult + */ + export interface RemovePlayerTagResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.RemoveServerBuildRequest + */ + export interface RemoveServerBuildRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / unique identifier of the previously uploaded build executable to be removed + */ + BuildId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.RemoveServerBuildResult + */ + export interface RemoveServerBuildResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.RemoveVirtualCurrencyTypesRequest + */ + export interface RemoveVirtualCurrencyTypesRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / List of virtual currencies to delete + */ + VirtualCurrencies: VirtualCurrencyData[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ResetCharacterStatisticsRequest + */ + export interface ResetCharacterStatisticsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ResetCharacterStatisticsResult + */ + export interface ResetCharacterStatisticsResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ResetUsersRequest + */ + export interface ResetUsersRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Array of users to reset + */ + Users: UserCredentials[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ResetUserStatisticsRequest + */ + export interface ResetUserStatisticsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ResetUserStatisticsResult + */ + export interface ResetUserStatisticsResult extends PlayFabModule.IPlayFabResultCommon { + + } + + type ResolutionOutcome = "Revoke" + | "Reinstate" + | "Manual"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ResolvePurchaseDisputeRequest + */ + export interface ResolvePurchaseDisputeRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique order ID for the purchase in question. + */ + OrderId: string; + /** + / Reason for refund. In the case of Facebook this must match one of their refund or dispute resolution enums (See: https://developers.facebook.com/docs/payments/implementation-guide/handling-disputes-refunds) + */ + Reason?: string; + /** + / Enum for the desired purchase result state after notifying the payment provider. Valid values are Revoke, Reinstate and Manual. Manual will cause no change to the order state. + */ + Outcome: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ResolvePurchaseDisputeResponse + */ + export interface ResolvePurchaseDisputeResponse extends PlayFabModule.IPlayFabResultCommon { + /** + / The order's updated purchase status. + */ + PurchaseStatus?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ResultTableNode + */ + export interface ResultTableNode { + /** + / Whether this entry in the table is an item or a link to another table + */ + ResultItemType: string; + /** + / Either an ItemId, or the TableId of another random result table + */ + ResultItem: string; + /** + / How likely this is to be rolled - larger numbers add more weight + */ + Weight: number; + + } + + type ResultTableNodeType = "ItemId" + | "TableId"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.RevokeAllBansForUserRequest + */ + export interface RevokeAllBansForUserRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.RevokeAllBansForUserResult + */ + export interface RevokeAllBansForUserResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Information on the bans that were revoked. + */ + BanData?: BanInfo[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.RevokeBansRequest + */ + export interface RevokeBansRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Ids of the bans to be revoked. Maximum 100. + */ + BanIds: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.RevokeBansResult + */ + export interface RevokeBansResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Information on the bans that were revoked + */ + BanData?: BanInfo[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.RevokeInventoryItemRequest + */ + export interface RevokeInventoryItemRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId?: string; + /** + / Unique PlayFab assigned instance identifier of the item + */ + ItemInstanceId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.RevokeInventoryResult + */ + export interface RevokeInventoryResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.RunTaskRequest + */ + export interface RunTaskRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Provide either the task ID or the task name to run a task. + */ + Identifier?: NameIdentifier; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.RunTaskResult + */ + export interface RunTaskResult extends PlayFabModule.IPlayFabResultCommon { + /** + / ID of the task instance that is started. This can be used in Get*TaskInstance (e.g. GetCloudScriptTaskInstance) API call to retrieve status for the task instance. + */ + TaskInstanceId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ScheduledTask + */ + export interface ScheduledTask { + /** + / ID of the task + */ + TaskId?: string; + /** + / Name of the task. This is a unique identifier for tasks in the title. + */ + Name?: string; + /** + / Description the task + */ + Description?: string; + /** + / Cron expression for the run schedule of the task. The expression should be in UTC. + */ + Schedule?: string; + /** + / Whether the schedule is active. Inactive schedule will not trigger task execution. + */ + IsActive: boolean; + /** + / Task type. + */ + Type?: string; + /** + / Task parameter. Different types of task have different parameter structure. See each task type's create API documentation for the details. + */ + Parameter?: any; + /** + / UTC time of last run + */ + LastRunTime?: string; + /** + / UTC time of next run + */ + NextRunTime?: string; + + } + + type ScheduledTaskType = "CloudScript" + | "ActionsOnPlayerSegment"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.ScriptExecutionError + */ + export interface ScriptExecutionError { + /** + / Error code, such as CloudScriptNotFound, JavascriptException, CloudScriptFunctionArgumentSizeExceeded, CloudScriptAPIRequestCountExceeded, CloudScriptAPIRequestError, or CloudScriptHTTPRequestError + */ + Error?: string; + /** + / Details about the error + */ + Message?: string; + /** + / Point during the execution of the script at which the error occurred, if any + */ + StackTrace?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.SendAccountRecoveryEmailRequest + */ + export interface SendAccountRecoveryEmailRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / User email address attached to their account + */ + Email: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.SendAccountRecoveryEmailResult + */ + export interface SendAccountRecoveryEmailResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.SetPublishedRevisionRequest + */ + export interface SetPublishedRevisionRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Version number + */ + Version: number; + /** + / Revision to make the current published revision + */ + Revision: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.SetPublishedRevisionResult + */ + export interface SetPublishedRevisionResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.SetPublisherDataRequest + */ + export interface SetPublisherDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / key we want to set a value on (note, this is additive - will only replace an existing key's value if they are the same name.) Keys are trimmed of whitespace. Keys may not begin with the '!' character. + */ + Key: string; + /** + / new value to set. Set to null to remove a value + */ + Value?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.SetPublisherDataResult + */ + export interface SetPublisherDataResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.SetTitleDataRequest + */ + export interface SetTitleDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / key we want to set a value on (note, this is additive - will only replace an existing key's value if they are the same name.) Keys are trimmed of whitespace. Keys may not begin with the '!' character. + */ + Key: string; + /** + / new value to set. Set to null to remove a value + */ + Value?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.SetTitleDataResult + */ + export interface SetTitleDataResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.SetupPushNotificationRequest + */ + export interface SetupPushNotificationRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / name of the application sending the message (application names must be made up of only uppercase and lowercase ASCII letters, numbers, underscores, hyphens, and periods, and must be between 1 and 256 characters long) + */ + Name: string; + /** + / supported notification platforms are Apple Push Notification Service (APNS and APNS_SANDBOX) for iOS and Google Cloud Messaging (GCM) for Android + */ + Platform: string; + /** + / for APNS, this is the PlatformPrincipal (SSL Certificate) + */ + Key?: string; + /** + / Credential is the Private Key for APNS/APNS_SANDBOX, and the API Key for GCM + */ + Credential: string; + /** + / replace any existing ARN with the newly generated one. If this is set to false, an error will be returned if notifications have already setup for this platform. + */ + OverwriteOldARN: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.SetupPushNotificationResult + */ + export interface SetupPushNotificationResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Amazon Resource Name for the created notification topic. + */ + ARN?: string; + + } + + type SourceType = "Admin" + | "BackEnd" + | "GameClient" + | "GameServer" + | "Partner"; + + type StatisticAggregationMethod = "Last" + | "Min" + | "Max" + | "Sum"; + + type StatisticResetIntervalOption = "Never" + | "Hour" + | "Day" + | "Week" + | "Month"; + + type StatisticVersionArchivalStatus = "NotScheduled" + | "Scheduled" + | "Queued" + | "InProgress" + | "Complete"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.StoreItem + */ + export interface StoreItem { + /** + / Unique identifier of the item as it exists in the catalog - note that this must exactly match the ItemId from the catalog + */ + ItemId: string; + /** + / Override prices for this item in virtual currencies and "RM" (the base Real Money purchase price, in USD pennies) + */ + VirtualCurrencyPrices?: { [key: string]: number }; + /** + / Override prices for this item for specific currencies + */ + RealCurrencyPrices?: { [key: string]: number }; + /** + / Store specific custom data. The data only exists as part of this store; it is not transferred to item instances + */ + CustomData?: any; + /** + / Intended display position for this item. Note that 0 is the first position + */ + DisplayPosition?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.StoreMarketingModel + */ + export interface StoreMarketingModel { + /** + / Display name of a store as it will appear to users. + */ + DisplayName?: string; + /** + / Tagline for a store. + */ + Description?: string; + /** + / Custom data about a store. + */ + Metadata?: any; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.SubtractUserVirtualCurrencyRequest + */ + export interface SubtractUserVirtualCurrencyRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / PlayFab unique identifier of the user whose virtual currency balance is to be decreased. + */ + PlayFabId: string; + /** + / Name of the virtual currency which is to be decremented. + */ + VirtualCurrency: string; + /** + / Amount to be subtracted from the user balance of the specified virtual currency. + */ + Amount: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.TaskInstanceBasicSummary + */ + export interface TaskInstanceBasicSummary { + /** + / ID of the task instance. + */ + TaskInstanceId?: string; + /** + / Identifier of the task this instance belongs to. + */ + TaskIdentifier?: NameIdentifier; + /** + / UTC timestamp when the task started. + */ + StartedAt: string; + /** + / UTC timestamp when the task completed. + */ + CompletedAt?: string; + /** + / Current status of the task instance. + */ + Status?: string; + /** + / Progress represented as percentage. + */ + PercentComplete?: number; + /** + / Estimated time remaining in seconds. + */ + EstimatedSecondsRemaining?: number; + /** + / If manually scheduled, ID of user who scheduled the task. + */ + ScheduledByUserId?: string; + /** + / Type of the task. + */ + Type?: string; + + } + + type TaskInstanceStatus = "Succeeded" + | "Starting" + | "InProgress" + | "Failed" + | "Aborted" + | "Pending"; + + type TitleActivationStatus = "None" + | "ActivatedTitleKey" + | "PendingSteam" + | "ActivatedSteam" + | "RevokedSteam"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdateBanRequest + */ + export interface UpdateBanRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / The id of the ban to be updated. + */ + BanId: string; + /** + / The updated reason for the ban to be updated. Maximum 140 characters. Null for no change. + */ + Reason?: string; + /** + / The updated expiration date for the ban. Null for no change. + */ + Expires?: string; + /** + / The updated IP address for the ban. Null for no change. + */ + IPAddress?: string; + /** + / The updated MAC address for the ban. Null for no change. + */ + MACAddress?: string; + /** + / Whether to make this ban permanent. Set to true to make this ban permanent. This will not modify Active state. + */ + Permanent?: boolean; + /** + / The updated active state for the ban. Null for no change. + */ + Active?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdateBansRequest + */ + export interface UpdateBansRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / List of bans to be updated. Maximum 100. + */ + Bans: UpdateBanRequest[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdateBansResult + */ + export interface UpdateBansResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Information on the bans that were updated + */ + BanData?: BanInfo[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdateCatalogItemsRequest + */ + export interface UpdateCatalogItemsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Which catalog is being updated. If null, uses the default catalog. + */ + CatalogVersion?: string; + /** + / Should this catalog be set as the default catalog. Defaults to true. If there is currently no default catalog, this will always set it. + */ + SetAsDefaultCatalog?: boolean; + /** + / Array of catalog items to be submitted. Note that while CatalogItem has a parameter for CatalogVersion, it is not required and ignored in this call. + */ + Catalog?: CatalogItem[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdateCatalogItemsResult + */ + export interface UpdateCatalogItemsResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdateCloudScriptRequest + */ + export interface UpdateCloudScriptRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / List of Cloud Script files to upload to create the new revision. Must have at least one file. + */ + Files: CloudScriptFile[]; + /** + / Immediately publish the new revision + */ + Publish: boolean; + /** + / PlayFab user ID of the developer initiating the request. + */ + DeveloperPlayFabId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdateCloudScriptResult + */ + export interface UpdateCloudScriptResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Cloud Script version updated + */ + Version: number; + /** + / New revision number created + */ + Revision: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdatePlayerStatisticDefinitionRequest + */ + export interface UpdatePlayerStatisticDefinitionRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / unique name of the statistic + */ + StatisticName: string; + /** + / interval at which the values of the statistic for all players are reset (changes are effective at the next occurance of the new interval boundary) + */ + VersionChangeInterval?: string; + /** + / the aggregation method to use in updating the statistic (defaults to last) + */ + AggregationMethod?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdatePlayerStatisticDefinitionResult + */ + export interface UpdatePlayerStatisticDefinitionResult extends PlayFabModule.IPlayFabResultCommon { + /** + / updated statistic definition + */ + Statistic?: PlayerStatisticDefinition; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdatePolicyRequest + */ + export interface UpdatePolicyRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / The name of the policy being updated. Only supported name is 'ApiPolicy' + */ + PolicyName: string; + /** + / The new statements to include in the policy. + */ + Statements: PermissionStatement[]; + /** + / Whether to overwrite or append to the existing policy. + */ + OverwritePolicy: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdatePolicyResponse + */ + export interface UpdatePolicyResponse extends PlayFabModule.IPlayFabResultCommon { + /** + / The name of the policy that was updated. + */ + PolicyName?: string; + /** + / The statements included in the new version of the policy. + */ + Statements?: PermissionStatement[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdateRandomResultTablesRequest + */ + export interface UpdateRandomResultTablesRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / which catalog is being updated. If null, update the current default catalog version + */ + CatalogVersion?: string; + /** + / array of random result tables to make available (Note: specifying an existing TableId will result in overwriting that table, while any others will be added to the available set) + */ + Tables?: RandomResultTable[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdateRandomResultTablesResult + */ + export interface UpdateRandomResultTablesResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdateStoreItemsRequest + */ + export interface UpdateStoreItemsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Catalog version of the store to update. If null, uses the default catalog. + */ + CatalogVersion?: string; + /** + / Unique identifier for the store which is to be updated + */ + StoreId: string; + /** + / Additional data about the store + */ + MarketingData?: StoreMarketingModel; + /** + / Array of store items - references to catalog items, with specific pricing - to be added + */ + Store?: StoreItem[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdateStoreItemsResult + */ + export interface UpdateStoreItemsResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdateTaskRequest + */ + export interface UpdateTaskRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Specify either the task ID or the name of the task to be updated. + */ + Identifier?: NameIdentifier; + /** + / Name of the task. This is a unique identifier for tasks in the title. + */ + Name: string; + /** + / Description the task + */ + Description?: string; + /** + / Cron expression for the run schedule of the task. The expression should be in UTC. + */ + Schedule?: string; + /** + / Whether the schedule is active. Inactive schedule will not trigger task execution. + */ + IsActive: boolean; + /** + / Task type. + */ + Type: string; + /** + / Parameter object specific to the task type. See each task type's create API documentation for details. + */ + Parameter?: any; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdateUserDataRequest + */ + export interface UpdateUserDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Key-value pairs to be written to the custom data. Note that keys are trimmed of whitespace, are limited in size, and may not begin with a '!' character. + */ + Data?: { [key: string]: string }; + /** + / Optional list of Data-keys to remove from UserData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + */ + KeysToRemove?: string[]; + /** + / Permission to be applied to all user data keys written in this request. Defaults to "private" if not set. + */ + Permission?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdateUserDataResult + */ + export interface UpdateUserDataResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Indicates the current version of the data that has been set. This is incremented with every set call for that type of data (read-only, internal, etc). This version can be provided in Get calls to find updated data. + */ + DataVersion: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdateUserInternalDataRequest + */ + export interface UpdateUserInternalDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Key-value pairs to be written to the custom data. Note that keys are trimmed of whitespace, are limited in size, and may not begin with a '!' character. + */ + Data?: { [key: string]: string }; + /** + / Optional list of Data-keys to remove from UserData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + */ + KeysToRemove?: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdateUserTitleDisplayNameRequest + */ + export interface UpdateUserTitleDisplayNameRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / PlayFab unique identifier of the user whose title specific display name is to be changed + */ + PlayFabId: string; + /** + / new title display name for the user - must be between 3 and 25 characters + */ + DisplayName: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UpdateUserTitleDisplayNameResult + */ + export interface UpdateUserTitleDisplayNameResult extends PlayFabModule.IPlayFabResultCommon { + /** + / current title display name for the user (this will be the original display name if the rename attempt failed) + */ + DisplayName?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UserAccountInfo + */ + export interface UserAccountInfo { + /** + / Unique identifier for the user account + */ + PlayFabId?: string; + /** + / Timestamp indicating when the user account was created + */ + Created: string; + /** + / User account name in the PlayFab service + */ + Username?: string; + /** + / Title-specific information for the user account + */ + TitleInfo?: UserTitleInfo; + /** + / Personal information for the user which is considered more sensitive + */ + PrivateInfo?: UserPrivateAccountInfo; + /** + / User Facebook information, if a Facebook account has been linked + */ + FacebookInfo?: UserFacebookInfo; + /** + / User Steam information, if a Steam account has been linked + */ + SteamInfo?: UserSteamInfo; + /** + / User Gamecenter information, if a Gamecenter account has been linked + */ + GameCenterInfo?: UserGameCenterInfo; + /** + / User iOS device information, if an iOS device has been linked + */ + IosDeviceInfo?: UserIosDeviceInfo; + /** + / User Android device information, if an Android device has been linked + */ + AndroidDeviceInfo?: UserAndroidDeviceInfo; + /** + / User Kongregate account information, if a Kongregate account has been linked + */ + KongregateInfo?: UserKongregateInfo; + /** + / User Twitch account information, if a Twitch account has been linked + */ + TwitchInfo?: UserTwitchInfo; + /** + / User PSN account information, if a PSN account has been linked + */ + PsnInfo?: UserPsnInfo; + /** + / User Google account information, if a Google account has been linked + */ + GoogleInfo?: UserGoogleInfo; + /** + / User XBox account information, if a XBox account has been linked + */ + XboxInfo?: UserXboxInfo; + /** + / Custom ID information, if a custom ID has been assigned + */ + CustomIdInfo?: UserCustomIdInfo; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UserAndroidDeviceInfo + */ + export interface UserAndroidDeviceInfo { + /** + / Android device ID + */ + AndroidDeviceId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UserCredentials + */ + export interface UserCredentials { + /** + / Username of user to reset + */ + Username: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UserCustomIdInfo + */ + export interface UserCustomIdInfo { + /** + / Custom ID + */ + CustomId?: string; + + } + + type UserDataPermission = "Private" + | "Public"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UserDataRecord + */ + export interface UserDataRecord { + /** + / Data stored for the specified user data key. + */ + Value?: string; + /** + / Timestamp for when this data was last updated. + */ + LastUpdated: string; + /** + / Indicates whether this data can be read by all users (public) or only the user (private). This is used for GetUserData requests being made by one player about another player. + */ + Permission?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UserFacebookInfo + */ + export interface UserFacebookInfo { + /** + / Facebook identifier + */ + FacebookId?: string; + /** + / Facebook full name + */ + FullName?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UserGameCenterInfo + */ + export interface UserGameCenterInfo { + /** + / Gamecenter identifier + */ + GameCenterId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UserGoogleInfo + */ + export interface UserGoogleInfo { + /** + / Google ID + */ + GoogleId?: string; + /** + / Email address of the Google account + */ + GoogleEmail?: string; + /** + / Locale of the Google account + */ + GoogleLocale?: string; + /** + / Gender information of the Google account + */ + GoogleGender?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UserIosDeviceInfo + */ + export interface UserIosDeviceInfo { + /** + / iOS device ID + */ + IosDeviceId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UserKongregateInfo + */ + export interface UserKongregateInfo { + /** + / Kongregate ID + */ + KongregateId?: string; + /** + / Kongregate Username + */ + KongregateName?: string; + + } + + type UserOrigination = "Organic" + | "Steam" + | "Google" + | "Amazon" + | "Facebook" + | "Kongregate" + | "GamersFirst" + | "Unknown" + | "IOS" + | "LoadTest" + | "Android" + | "PSN" + | "GameCenter" + | "CustomId" + | "XboxLive" + | "Parse" + | "Twitch"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UserPrivateAccountInfo + */ + export interface UserPrivateAccountInfo { + /** + / user email address + */ + Email?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UserPsnInfo + */ + export interface UserPsnInfo { + /** + / PSN account ID + */ + PsnAccountId?: string; + /** + / PSN online ID + */ + PsnOnlineId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UserSteamInfo + */ + export interface UserSteamInfo { + /** + / Steam identifier + */ + SteamId?: string; + /** + / the country in which the player resides, from Steam data + */ + SteamCountry?: string; + /** + / currency type set in the user Steam account + */ + SteamCurrency?: string; + /** + / what stage of game ownership the user is listed as being in, from Steam + */ + SteamActivationStatus?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UserTitleInfo + */ + export interface UserTitleInfo { + /** + / name of the user, as it is displayed in-game + */ + DisplayName?: string; + /** + / source by which the user first joined the game, if known + */ + Origination?: string; + /** + / timestamp indicating when the user was first associated with this game (this can differ significantly from when the user first registered with PlayFab) + */ + Created: string; + /** + / timestamp for the last user login for this title + */ + LastLogin?: string; + /** + / timestamp indicating when the user first signed into this game (this can differ from the Created timestamp, as other events, such as issuing a beta key to the user, can associate the title to the user) + */ + FirstLogin?: string; + /** + / boolean indicating whether or not the user is currently banned for a title + */ + isBanned?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UserTwitchInfo + */ + export interface UserTwitchInfo { + /** + / Twitch ID + */ + TwitchId?: string; + /** + / Twitch Username + */ + TwitchUserName?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.UserXboxInfo + */ + export interface UserXboxInfo { + /** + / XBox user ID + */ + XboxUserId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.VirtualCurrencyData + */ + export interface VirtualCurrencyData { + /** + / unique two-character identifier for this currency type (e.g.: "CC") + */ + CurrencyCode: string; + /** + / friendly name to show in the developer portal, reports, etc. + */ + DisplayName?: string; + /** + / amount to automatically grant users upon first login to the title + */ + InitialDeposit?: number; + /** + / rate at which the currency automatically be added to over time, in units per day (24 hours) + */ + RechargeRate?: number; + /** + / maximum amount to which the currency will recharge (cannot exceed MaxAmount, but can be less) + */ + RechargeMax?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Admin.Models/PlayFab.Admin.Models.VirtualCurrencyRechargeTime + */ + export interface VirtualCurrencyRechargeTime { + /** + / Time remaining (in seconds) before the next recharge increment of the virtual currency. + */ + SecondsToRecharge: number; + /** + / Server timestamp in UTC indicating the next time the virtual currency will be incremented. + */ + RechargeTime: string; + /** + / Maximum value to which the regenerating currency will automatically increment. Note that it can exceed this value through use of the AddUserVirtualCurrency API call. However, it will not regenerate automatically until it has fallen below this value. + */ + RechargeMax: number; + + } + + +} diff --git a/PlayFabTestingExample/src/typings/PlayFab/PlayFabClientApi.d.ts b/PlayFabTestingExample/src/typings/PlayFab/PlayFabClientApi.d.ts new file mode 100644 index 00000000..0cf8ea49 --- /dev/null +++ b/PlayFabTestingExample/src/typings/PlayFab/PlayFabClientApi.d.ts @@ -0,0 +1,5481 @@ +declare module PlayFabClientModule { + export interface IPlayFabClient { + IsClientLoggedIn(): boolean; + + /** + / Gets a Photon custom authentication token that can be used to securely join the player into a Photon room. See https://api.playfab.com/docs/using-photon-with-playfab/ for more details. + / https://api.playfab.com/Documentation/Client/method/GetPhotonAuthenticationToken + */ + GetPhotonAuthenticationToken(request: PlayFabClientModels.GetPhotonAuthenticationTokenRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Signs the user in using the Android device identifier, returning a session identifier that can subsequently be used for API calls which require an authenticated user + / https://api.playfab.com/Documentation/Client/method/LoginWithAndroidDeviceID + */ + LoginWithAndroidDeviceID(request: PlayFabClientModels.LoginWithAndroidDeviceIDRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Signs the user in using a custom unique identifier generated by the title, returning a session identifier that can subsequently be used for API calls which require an authenticated user + / https://api.playfab.com/Documentation/Client/method/LoginWithCustomID + */ + LoginWithCustomID(request: PlayFabClientModels.LoginWithCustomIDRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Signs the user into the PlayFab account, returning a session identifier that can subsequently be used for API calls which require an authenticated user + / https://api.playfab.com/Documentation/Client/method/LoginWithEmailAddress + */ + LoginWithEmailAddress(request: PlayFabClientModels.LoginWithEmailAddressRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Signs the user in using a Facebook access token, returning a session identifier that can subsequently be used for API calls which require an authenticated user + / https://api.playfab.com/Documentation/Client/method/LoginWithFacebook + */ + LoginWithFacebook(request: PlayFabClientModels.LoginWithFacebookRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Signs the user in using an iOS Game Center player identifier, returning a session identifier that can subsequently be used for API calls which require an authenticated user + / https://api.playfab.com/Documentation/Client/method/LoginWithGameCenter + */ + LoginWithGameCenter(request: PlayFabClientModels.LoginWithGameCenterRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Signs the user in using their Google account credentials + / https://api.playfab.com/Documentation/Client/method/LoginWithGoogleAccount + */ + LoginWithGoogleAccount(request: PlayFabClientModels.LoginWithGoogleAccountRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Signs the user in using the vendor-specific iOS device identifier, returning a session identifier that can subsequently be used for API calls which require an authenticated user + / https://api.playfab.com/Documentation/Client/method/LoginWithIOSDeviceID + */ + LoginWithIOSDeviceID(request: PlayFabClientModels.LoginWithIOSDeviceIDRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Signs the user in using a Kongregate player account. + / https://api.playfab.com/Documentation/Client/method/LoginWithKongregate + */ + LoginWithKongregate(request: PlayFabClientModels.LoginWithKongregateRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Signs the user into the PlayFab account, returning a session identifier that can subsequently be used for API calls which require an authenticated user. Unlike other login API calls, LoginWithEmailAddress does not permit the creation of new accounts via the CreateAccountFlag. Email accounts must be created using the RegisterPlayFabUser API or added to existing accounts using AddUsernamePassword. + / https://api.playfab.com/Documentation/Client/method/LoginWithPlayFab + */ + LoginWithPlayFab(request: PlayFabClientModels.LoginWithPlayFabRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Signs the user in using a Steam authentication ticket, returning a session identifier that can subsequently be used for API calls which require an authenticated user + / https://api.playfab.com/Documentation/Client/method/LoginWithSteam + */ + LoginWithSteam(request: PlayFabClientModels.LoginWithSteamRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Signs the user in using a Twitch access token. + / https://api.playfab.com/Documentation/Client/method/LoginWithTwitch + */ + LoginWithTwitch(request: PlayFabClientModels.LoginWithTwitchRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Registers a new Playfab user account, returning a session identifier that can subsequently be used for API calls which require an authenticated user. You must supply either a username or an email address. + / https://api.playfab.com/Documentation/Client/method/RegisterPlayFabUser + */ + RegisterPlayFabUser(request: PlayFabClientModels.RegisterPlayFabUserRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Adds the specified generic service identifier to the player's PlayFab account. This is designed to allow for a PlayFab ID lookup of any arbitrary service identifier a title wants to add. This identifier should never be used as authentication credentials, as the intent is that it is easily accessible by other players. + / https://api.playfab.com/Documentation/Client/method/AddGenericID + */ + AddGenericID(request: PlayFabClientModels.AddGenericIDRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Adds playfab username/password auth to an existing account created via an anonymous auth method, e.g. automatic device ID login. + / https://api.playfab.com/Documentation/Client/method/AddUsernamePassword + */ + AddUsernamePassword(request: PlayFabClientModels.AddUsernamePasswordRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the user's PlayFab account details + / https://api.playfab.com/Documentation/Client/method/GetAccountInfo + */ + GetAccountInfo(request: PlayFabClientModels.GetAccountInfoRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves all of the user's different kinds of info. + / https://api.playfab.com/Documentation/Client/method/GetPlayerCombinedInfo + */ + GetPlayerCombinedInfo(request: PlayFabClientModels.GetPlayerCombinedInfoRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the unique PlayFab identifiers for the given set of Facebook identifiers. + / https://api.playfab.com/Documentation/Client/method/GetPlayFabIDsFromFacebookIDs + */ + GetPlayFabIDsFromFacebookIDs(request: PlayFabClientModels.GetPlayFabIDsFromFacebookIDsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the unique PlayFab identifiers for the given set of Game Center identifiers (referenced in the Game Center Programming Guide as the Player Identifier). + / https://api.playfab.com/Documentation/Client/method/GetPlayFabIDsFromGameCenterIDs + */ + GetPlayFabIDsFromGameCenterIDs(request: PlayFabClientModels.GetPlayFabIDsFromGameCenterIDsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the unique PlayFab identifiers for the given set of generic service identifiers. A generic identifier is the service name plus the service-specific ID for the player, as specified by the title when the generic identifier was added to the player account. + / https://api.playfab.com/Documentation/Client/method/GetPlayFabIDsFromGenericIDs + */ + GetPlayFabIDsFromGenericIDs(request: PlayFabClientModels.GetPlayFabIDsFromGenericIDsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the unique PlayFab identifiers for the given set of Google identifiers. The Google identifiers are the IDs for the user accounts, available as "id" in the Google+ People API calls. + / https://api.playfab.com/Documentation/Client/method/GetPlayFabIDsFromGoogleIDs + */ + GetPlayFabIDsFromGoogleIDs(request: PlayFabClientModels.GetPlayFabIDsFromGoogleIDsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the unique PlayFab identifiers for the given set of Kongregate identifiers. The Kongregate identifiers are the IDs for the user accounts, available as "user_id" from the Kongregate API methods(ex: http://developers.kongregate.com/docs/client/getUserId). + / https://api.playfab.com/Documentation/Client/method/GetPlayFabIDsFromKongregateIDs + */ + GetPlayFabIDsFromKongregateIDs(request: PlayFabClientModels.GetPlayFabIDsFromKongregateIDsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the unique PlayFab identifiers for the given set of Steam identifiers. The Steam identifiers are the profile IDs for the user accounts, available as SteamId in the Steamworks Community API calls. + / https://api.playfab.com/Documentation/Client/method/GetPlayFabIDsFromSteamIDs + */ + GetPlayFabIDsFromSteamIDs(request: PlayFabClientModels.GetPlayFabIDsFromSteamIDsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the unique PlayFab identifiers for the given set of Twitch identifiers. The Twitch identifiers are the IDs for the user accounts, available as "_id" from the Twitch API methods (ex: https://github.com/justintv/Twitch-API/blob/master/v3_resources/users.md#get-usersuser). + / https://api.playfab.com/Documentation/Client/method/GetPlayFabIDsFromTwitchIDs + */ + GetPlayFabIDsFromTwitchIDs(request: PlayFabClientModels.GetPlayFabIDsFromTwitchIDsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Links the Android device identifier to the user's PlayFab account + / https://api.playfab.com/Documentation/Client/method/LinkAndroidDeviceID + */ + LinkAndroidDeviceID(request: PlayFabClientModels.LinkAndroidDeviceIDRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Links the custom identifier, generated by the title, to the user's PlayFab account + / https://api.playfab.com/Documentation/Client/method/LinkCustomID + */ + LinkCustomID(request: PlayFabClientModels.LinkCustomIDRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Links the Facebook account associated with the provided Facebook access token to the user's PlayFab account + / https://api.playfab.com/Documentation/Client/method/LinkFacebookAccount + */ + LinkFacebookAccount(request: PlayFabClientModels.LinkFacebookAccountRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Links the Game Center account associated with the provided Game Center ID to the user's PlayFab account + / https://api.playfab.com/Documentation/Client/method/LinkGameCenterAccount + */ + LinkGameCenterAccount(request: PlayFabClientModels.LinkGameCenterAccountRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Links the currently signed-in user account to their Google account, using their Google account credentials + / https://api.playfab.com/Documentation/Client/method/LinkGoogleAccount + */ + LinkGoogleAccount(request: PlayFabClientModels.LinkGoogleAccountRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Links the vendor-specific iOS device identifier to the user's PlayFab account + / https://api.playfab.com/Documentation/Client/method/LinkIOSDeviceID + */ + LinkIOSDeviceID(request: PlayFabClientModels.LinkIOSDeviceIDRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Links the Kongregate identifier to the user's PlayFab account + / https://api.playfab.com/Documentation/Client/method/LinkKongregate + */ + LinkKongregate(request: PlayFabClientModels.LinkKongregateAccountRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Links the Steam account associated with the provided Steam authentication ticket to the user's PlayFab account + / https://api.playfab.com/Documentation/Client/method/LinkSteamAccount + */ + LinkSteamAccount(request: PlayFabClientModels.LinkSteamAccountRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Links the Twitch account associated with the token to the user's PlayFab account. + / https://api.playfab.com/Documentation/Client/method/LinkTwitch + */ + LinkTwitch(request: PlayFabClientModels.LinkTwitchAccountRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Removes the specified generic service identifier from the player's PlayFab account. + / https://api.playfab.com/Documentation/Client/method/RemoveGenericID + */ + RemoveGenericID(request: PlayFabClientModels.RemoveGenericIDRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Submit a report for another player (due to bad bahavior, etc.), so that customer service representatives for the title can take action concerning potentially toxic players. + / https://api.playfab.com/Documentation/Client/method/ReportPlayer + */ + ReportPlayer(request: PlayFabClientModels.ReportPlayerClientRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Forces an email to be sent to the registered email address for the user's account, with a link allowing the user to change the password + / https://api.playfab.com/Documentation/Client/method/SendAccountRecoveryEmail + */ + SendAccountRecoveryEmail(request: PlayFabClientModels.SendAccountRecoveryEmailRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Unlinks the related Android device identifier from the user's PlayFab account + / https://api.playfab.com/Documentation/Client/method/UnlinkAndroidDeviceID + */ + UnlinkAndroidDeviceID(request: PlayFabClientModels.UnlinkAndroidDeviceIDRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Unlinks the related custom identifier from the user's PlayFab account + / https://api.playfab.com/Documentation/Client/method/UnlinkCustomID + */ + UnlinkCustomID(request: PlayFabClientModels.UnlinkCustomIDRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Unlinks the related Facebook account from the user's PlayFab account + / https://api.playfab.com/Documentation/Client/method/UnlinkFacebookAccount + */ + UnlinkFacebookAccount(request: PlayFabClientModels.UnlinkFacebookAccountRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Unlinks the related Game Center account from the user's PlayFab account + / https://api.playfab.com/Documentation/Client/method/UnlinkGameCenterAccount + */ + UnlinkGameCenterAccount(request: PlayFabClientModels.UnlinkGameCenterAccountRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Unlinks the related Google account from the user's PlayFab account (https://developers.google.com/android/reference/com/google/android/gms/auth/GoogleAuthUtil#public-methods). + / https://api.playfab.com/Documentation/Client/method/UnlinkGoogleAccount + */ + UnlinkGoogleAccount(request: PlayFabClientModels.UnlinkGoogleAccountRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Unlinks the related iOS device identifier from the user's PlayFab account + / https://api.playfab.com/Documentation/Client/method/UnlinkIOSDeviceID + */ + UnlinkIOSDeviceID(request: PlayFabClientModels.UnlinkIOSDeviceIDRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Unlinks the related Kongregate identifier from the user's PlayFab account + / https://api.playfab.com/Documentation/Client/method/UnlinkKongregate + */ + UnlinkKongregate(request: PlayFabClientModels.UnlinkKongregateAccountRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Unlinks the related Steam account from the user's PlayFab account + / https://api.playfab.com/Documentation/Client/method/UnlinkSteamAccount + */ + UnlinkSteamAccount(request: PlayFabClientModels.UnlinkSteamAccountRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Unlinks the related Twitch account from the user's PlayFab account. + / https://api.playfab.com/Documentation/Client/method/UnlinkTwitch + */ + UnlinkTwitch(request: PlayFabClientModels.UnlinkTwitchAccountRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the title specific display name for the user + / https://api.playfab.com/Documentation/Client/method/UpdateUserTitleDisplayName + */ + UpdateUserTitleDisplayName(request: PlayFabClientModels.UpdateUserTitleDisplayNameRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves a list of ranked friends of the current player for the given statistic, starting from the indicated point in the leaderboard + / https://api.playfab.com/Documentation/Client/method/GetFriendLeaderboard + */ + GetFriendLeaderboard(request: PlayFabClientModels.GetFriendLeaderboardRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves a list of ranked friends of the current player for the given statistic, centered on the requested PlayFab user. If PlayFabId is empty or null will return currently logged in user. + / https://api.playfab.com/Documentation/Client/method/GetFriendLeaderboardAroundPlayer + */ + GetFriendLeaderboardAroundPlayer(request: PlayFabClientModels.GetFriendLeaderboardAroundPlayerRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves a list of ranked users for the given statistic, starting from the indicated point in the leaderboard + / https://api.playfab.com/Documentation/Client/method/GetLeaderboard + */ + GetLeaderboard(request: PlayFabClientModels.GetLeaderboardRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves a list of ranked users for the given statistic, centered on the requested player. If PlayFabId is empty or null will return currently logged in user. + / https://api.playfab.com/Documentation/Client/method/GetLeaderboardAroundPlayer + */ + GetLeaderboardAroundPlayer(request: PlayFabClientModels.GetLeaderboardAroundPlayerRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the indicated statistics (current version and values for all statistics, if none are specified), for the local player. + / https://api.playfab.com/Documentation/Client/method/GetPlayerStatistics + */ + GetPlayerStatistics(request: PlayFabClientModels.GetPlayerStatisticsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the information on the available versions of the specified statistic. + / https://api.playfab.com/Documentation/Client/method/GetPlayerStatisticVersions + */ + GetPlayerStatisticVersions(request: PlayFabClientModels.GetPlayerStatisticVersionsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the title-specific custom data for the user which is readable and writable by the client + / https://api.playfab.com/Documentation/Client/method/GetUserData + */ + GetUserData(request: PlayFabClientModels.GetUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the publisher-specific custom data for the user which is readable and writable by the client + / https://api.playfab.com/Documentation/Client/method/GetUserPublisherData + */ + GetUserPublisherData(request: PlayFabClientModels.GetUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the publisher-specific custom data for the user which can only be read by the client + / https://api.playfab.com/Documentation/Client/method/GetUserPublisherReadOnlyData + */ + GetUserPublisherReadOnlyData(request: PlayFabClientModels.GetUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the title-specific custom data for the user which can only be read by the client + / https://api.playfab.com/Documentation/Client/method/GetUserReadOnlyData + */ + GetUserReadOnlyData(request: PlayFabClientModels.GetUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the values of the specified title-specific statistics for the user. By default, clients are not permitted to update statistics. Developers may override this setting in the Game Manager > Settings > API Features. + / https://api.playfab.com/Documentation/Client/method/UpdatePlayerStatistics + */ + UpdatePlayerStatistics(request: PlayFabClientModels.UpdatePlayerStatisticsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Creates and updates the title-specific custom data for the user which is readable and writable by the client + / https://api.playfab.com/Documentation/Client/method/UpdateUserData + */ + UpdateUserData(request: PlayFabClientModels.UpdateUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Creates and updates the publisher-specific custom data for the user which is readable and writable by the client + / https://api.playfab.com/Documentation/Client/method/UpdateUserPublisherData + */ + UpdateUserPublisherData(request: PlayFabClientModels.UpdateUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the specified version of the title's catalog of virtual goods, including all defined properties + / https://api.playfab.com/Documentation/Client/method/GetCatalogItems + */ + GetCatalogItems(request: PlayFabClientModels.GetCatalogItemsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the key-value store of custom publisher settings + / https://api.playfab.com/Documentation/Client/method/GetPublisherData + */ + GetPublisherData(request: PlayFabClientModels.GetPublisherDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the set of items defined for the specified store, including all prices defined + / https://api.playfab.com/Documentation/Client/method/GetStoreItems + */ + GetStoreItems(request: PlayFabClientModels.GetStoreItemsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the current server time + / https://api.playfab.com/Documentation/Client/method/GetTime + */ + GetTime(request: PlayFabClientModels.GetTimeRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the key-value store of custom title settings + / https://api.playfab.com/Documentation/Client/method/GetTitleData + */ + GetTitleData(request: PlayFabClientModels.GetTitleDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the title news feed, as configured in the developer portal + / https://api.playfab.com/Documentation/Client/method/GetTitleNews + */ + GetTitleNews(request: PlayFabClientModels.GetTitleNewsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Increments the user's balance of the specified virtual currency by the stated amount + / https://api.playfab.com/Documentation/Client/method/AddUserVirtualCurrency + */ + AddUserVirtualCurrency(request: PlayFabClientModels.AddUserVirtualCurrencyRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Confirms with the payment provider that the purchase was approved (if applicable) and adjusts inventory and virtual currency balances as appropriate + / https://api.playfab.com/Documentation/Client/method/ConfirmPurchase + */ + ConfirmPurchase(request: PlayFabClientModels.ConfirmPurchaseRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Consume uses of a consumable item. When all uses are consumed, it will be removed from the player's inventory. + / https://api.playfab.com/Documentation/Client/method/ConsumeItem + */ + ConsumeItem(request: PlayFabClientModels.ConsumeItemRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the specified character's current inventory of virtual goods + / https://api.playfab.com/Documentation/Client/method/GetCharacterInventory + */ + GetCharacterInventory(request: PlayFabClientModels.GetCharacterInventoryRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves a completed purchase along with its current PlayFab status. + / https://api.playfab.com/Documentation/Client/method/GetPurchase + */ + GetPurchase(request: PlayFabClientModels.GetPurchaseRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the user's current inventory of virtual goods + / https://api.playfab.com/Documentation/Client/method/GetUserInventory + */ + GetUserInventory(request: PlayFabClientModels.GetUserInventoryRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Selects a payment option for purchase order created via StartPurchase + / https://api.playfab.com/Documentation/Client/method/PayForPurchase + */ + PayForPurchase(request: PlayFabClientModels.PayForPurchaseRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Buys a single item with virtual currency. You must specify both the virtual currency to use to purchase, as well as what the client believes the price to be. This lets the server fail the purchase if the price has changed. + / https://api.playfab.com/Documentation/Client/method/PurchaseItem + */ + PurchaseItem(request: PlayFabClientModels.PurchaseItemRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Adds the virtual goods associated with the coupon to the user's inventory. Coupons can be generated via the Economy->Catalogs tab in the PlayFab Game Manager. + / https://api.playfab.com/Documentation/Client/method/RedeemCoupon + */ + RedeemCoupon(request: PlayFabClientModels.RedeemCouponRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Creates an order for a list of items from the title catalog + / https://api.playfab.com/Documentation/Client/method/StartPurchase + */ + StartPurchase(request: PlayFabClientModels.StartPurchaseRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Decrements the user's balance of the specified virtual currency by the stated amount + / https://api.playfab.com/Documentation/Client/method/SubtractUserVirtualCurrency + */ + SubtractUserVirtualCurrency(request: PlayFabClientModels.SubtractUserVirtualCurrencyRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Opens the specified container, with the specified key (when required), and returns the contents of the opened container. If the container (and key when relevant) are consumable (RemainingUses > 0), their RemainingUses will be decremented, consistent with the operation of ConsumeItem. + / https://api.playfab.com/Documentation/Client/method/UnlockContainerInstance + */ + UnlockContainerInstance(request: PlayFabClientModels.UnlockContainerInstanceRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Searches target inventory for an ItemInstance matching the given CatalogItemId, if necessary unlocks it using an appropriate key, and returns the contents of the opened container. If the container (and key when relevant) are consumable (RemainingUses > 0), their RemainingUses will be decremented, consistent with the operation of ConsumeItem. + / https://api.playfab.com/Documentation/Client/method/UnlockContainerItem + */ + UnlockContainerItem(request: PlayFabClientModels.UnlockContainerItemRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Adds the PlayFab user, based upon a match against a supplied unique identifier, to the friend list of the local user. At least one of FriendPlayFabId,FriendUsername,FriendEmail, or FriendTitleDisplayName should be initialized. + / https://api.playfab.com/Documentation/Client/method/AddFriend + */ + AddFriend(request: PlayFabClientModels.AddFriendRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the current friend list for the local user, constrained to users who have PlayFab accounts. Friends from linked accounts (Facebook, Steam) are also included. You may optionally exclude some linked services' friends. + / https://api.playfab.com/Documentation/Client/method/GetFriendsList + */ + GetFriendsList(request: PlayFabClientModels.GetFriendsListRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Removes a specified user from the friend list of the local user + / https://api.playfab.com/Documentation/Client/method/RemoveFriend + */ + RemoveFriend(request: PlayFabClientModels.RemoveFriendRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the tag list for a specified user in the friend list of the local user + / https://api.playfab.com/Documentation/Client/method/SetFriendTags + */ + SetFriendTags(request: PlayFabClientModels.SetFriendTagsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Registers the iOS device to receive push notifications + / https://api.playfab.com/Documentation/Client/method/RegisterForIOSPushNotification + */ + RegisterForIOSPushNotification(request: PlayFabClientModels.RegisterForIOSPushNotificationRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Restores all in-app purchases based on the given refresh receipt. + / https://api.playfab.com/Documentation/Client/method/RestoreIOSPurchases + */ + RestoreIOSPurchases(request: PlayFabClientModels.RestoreIOSPurchasesRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Validates with the Apple store that the receipt for an iOS in-app purchase is valid and that it matches the purchased catalog item + / https://api.playfab.com/Documentation/Client/method/ValidateIOSReceipt + */ + ValidateIOSReceipt(request: PlayFabClientModels.ValidateIOSReceiptRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Get details about all current running game servers matching the given parameters. + / https://api.playfab.com/Documentation/Client/method/GetCurrentGames + */ + GetCurrentGames(request: PlayFabClientModels.CurrentGamesRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Get details about the regions hosting game servers matching the given parameters. + / https://api.playfab.com/Documentation/Client/method/GetGameServerRegions + */ + GetGameServerRegions(request: PlayFabClientModels.GameServerRegionsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Attempts to locate a game session matching the given parameters. If the goal is to match the player into a specific active session, only the LobbyId is required. Otherwise, the BuildVersion, GameMode, and Region are all required parameters. Note that parameters specified in the search are required (they are not weighting factors). If a slot is found in a server instance matching the parameters, the slot will be assigned to that player, removing it from the availabe set. In that case, the information on the game session will be returned, otherwise the Status returned will be GameNotFound. Note that EnableQueue is deprecated at this time. + / https://api.playfab.com/Documentation/Client/method/Matchmake + */ + Matchmake(request: PlayFabClientModels.MatchmakeRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Start a new game server with a given configuration, add the current player and return the connection information. + / https://api.playfab.com/Documentation/Client/method/StartGame + */ + StartGame(request: PlayFabClientModels.StartGameRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Registers the Android device to receive push notifications + / https://api.playfab.com/Documentation/Client/method/AndroidDevicePushNotificationRegistration + */ + AndroidDevicePushNotificationRegistration(request: PlayFabClientModels.AndroidDevicePushNotificationRegistrationRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Validates a Google Play purchase and gives the corresponding item to the player. + / https://api.playfab.com/Documentation/Client/method/ValidateGooglePlayPurchase + */ + ValidateGooglePlayPurchase(request: PlayFabClientModels.ValidateGooglePlayPurchaseRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Writes a character-based event into PlayStream. + / https://api.playfab.com/Documentation/Client/method/WriteCharacterEvent + */ + WriteCharacterEvent(request: PlayFabClientModels.WriteClientCharacterEventRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Writes a player-based event into PlayStream. + / https://api.playfab.com/Documentation/Client/method/WritePlayerEvent + */ + WritePlayerEvent(request: PlayFabClientModels.WriteClientPlayerEventRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Writes a title-based event into PlayStream. + / https://api.playfab.com/Documentation/Client/method/WriteTitleEvent + */ + WriteTitleEvent(request: PlayFabClientModels.WriteTitleEventRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Adds users to the set of those able to update both the shared data, as well as the set of users in the group. Only users in the group can add new members. + / https://api.playfab.com/Documentation/Client/method/AddSharedGroupMembers + */ + AddSharedGroupMembers(request: PlayFabClientModels.AddSharedGroupMembersRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Requests the creation of a shared group object, containing key/value pairs which may be updated by all members of the group. Upon creation, the current user will be the only member of the group. + / https://api.playfab.com/Documentation/Client/method/CreateSharedGroup + */ + CreateSharedGroup(request: PlayFabClientModels.CreateSharedGroupRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves data stored in a shared group object, as well as the list of members in the group. Non-members of the group may use this to retrieve group data, including membership, but they will not receive data for keys marked as private. + / https://api.playfab.com/Documentation/Client/method/GetSharedGroupData + */ + GetSharedGroupData(request: PlayFabClientModels.GetSharedGroupDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Removes users from the set of those able to update the shared data and the set of users in the group. Only users in the group can remove members. If as a result of the call, zero users remain with access, the group and its associated data will be deleted. + / https://api.playfab.com/Documentation/Client/method/RemoveSharedGroupMembers + */ + RemoveSharedGroupMembers(request: PlayFabClientModels.RemoveSharedGroupMembersRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Adds, updates, and removes data keys for a shared group object. If the permission is set to Public, all fields updated or added in this call will be readable by users not in the group. By default, data permissions are set to Private. Regardless of the permission setting, only members of the group can update the data. + / https://api.playfab.com/Documentation/Client/method/UpdateSharedGroupData + */ + UpdateSharedGroupData(request: PlayFabClientModels.UpdateSharedGroupDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Executes a CloudScript function, with the 'currentPlayerId' set to the PlayFab ID of the authenticated player. + / https://api.playfab.com/Documentation/Client/method/ExecuteCloudScript + */ + ExecuteCloudScript(request: PlayFabClientModels.ExecuteCloudScriptRequest, callback: PlayFabModule.ApiCallback): void; + /** + / This API retrieves a pre-signed URL for accessing a content file for the title. A subsequent HTTP GET to the returned URL will attempt to download the content. A HEAD query to the returned URL will attempt to retrieve the metadata of the content. Note that a successful result does not guarantee the existence of this content - if it has not been uploaded, the query to retrieve the data will fail. See this post for more information: https://community.playfab.com/hc/en-us/community/posts/205469488-How-to-upload-files-to-PlayFab-s-Content-Service. Also, please be aware that the Content service is specifically PlayFab's CDN offering, for which standard CDN rates apply. + / https://api.playfab.com/Documentation/Client/method/GetContentDownloadUrl + */ + GetContentDownloadUrl(request: PlayFabClientModels.GetContentDownloadUrlRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Lists all of the characters that belong to a specific user. CharacterIds are not globally unique; characterId must be evaluated with the parent PlayFabId to guarantee uniqueness. + / https://api.playfab.com/Documentation/Client/method/GetAllUsersCharacters + */ + GetAllUsersCharacters(request: PlayFabClientModels.ListUsersCharactersRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves a list of ranked characters for the given statistic, starting from the indicated point in the leaderboard + / https://api.playfab.com/Documentation/Client/method/GetCharacterLeaderboard + */ + GetCharacterLeaderboard(request: PlayFabClientModels.GetCharacterLeaderboardRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the details of all title-specific statistics for the user + / https://api.playfab.com/Documentation/Client/method/GetCharacterStatistics + */ + GetCharacterStatistics(request: PlayFabClientModels.GetCharacterStatisticsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves a list of ranked characters for the given statistic, centered on the requested Character ID + / https://api.playfab.com/Documentation/Client/method/GetLeaderboardAroundCharacter + */ + GetLeaderboardAroundCharacter(request: PlayFabClientModels.GetLeaderboardAroundCharacterRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves a list of all of the user's characters for the given statistic. + / https://api.playfab.com/Documentation/Client/method/GetLeaderboardForUserCharacters + */ + GetLeaderboardForUserCharacters(request: PlayFabClientModels.GetLeaderboardForUsersCharactersRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Grants the specified character type to the user. CharacterIds are not globally unique; characterId must be evaluated with the parent PlayFabId to guarantee uniqueness. + / https://api.playfab.com/Documentation/Client/method/GrantCharacterToUser + */ + GrantCharacterToUser(request: PlayFabClientModels.GrantCharacterToUserRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the values of the specified title-specific statistics for the specific character. By default, clients are not permitted to update statistics. Developers may override this setting in the Game Manager > Settings > API Features. + / https://api.playfab.com/Documentation/Client/method/UpdateCharacterStatistics + */ + UpdateCharacterStatistics(request: PlayFabClientModels.UpdateCharacterStatisticsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the title-specific custom data for the character which is readable and writable by the client + / https://api.playfab.com/Documentation/Client/method/GetCharacterData + */ + GetCharacterData(request: PlayFabClientModels.GetCharacterDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the title-specific custom data for the character which can only be read by the client + / https://api.playfab.com/Documentation/Client/method/GetCharacterReadOnlyData + */ + GetCharacterReadOnlyData(request: PlayFabClientModels.GetCharacterDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Creates and updates the title-specific custom data for the user's character which is readable and writable by the client + / https://api.playfab.com/Documentation/Client/method/UpdateCharacterData + */ + UpdateCharacterData(request: PlayFabClientModels.UpdateCharacterDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Validates with Amazon that the receipt for an Amazon App Store in-app purchase is valid and that it matches the purchased catalog item + / https://api.playfab.com/Documentation/Client/method/ValidateAmazonIAPReceipt + */ + ValidateAmazonIAPReceipt(request: PlayFabClientModels.ValidateAmazonReceiptRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Accepts an open trade. If the call is successful, the offered and accepted items will be swapped between the two players' inventories. + / https://api.playfab.com/Documentation/Client/method/AcceptTrade + */ + AcceptTrade(request: PlayFabClientModels.AcceptTradeRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Cancels an open trade. + / https://api.playfab.com/Documentation/Client/method/CancelTrade + */ + CancelTrade(request: PlayFabClientModels.CancelTradeRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Gets all trades the player has either opened or accepted, optionally filtered by trade status. + / https://api.playfab.com/Documentation/Client/method/GetPlayerTrades + */ + GetPlayerTrades(request: PlayFabClientModels.GetPlayerTradesRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Gets the current status of an existing trade. + / https://api.playfab.com/Documentation/Client/method/GetTradeStatus + */ + GetTradeStatus(request: PlayFabClientModels.GetTradeStatusRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Opens a new outstanding trade. + / https://api.playfab.com/Documentation/Client/method/OpenTrade + */ + OpenTrade(request: PlayFabClientModels.OpenTradeRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Attributes an install for advertisment. + / https://api.playfab.com/Documentation/Client/method/AttributeInstall + */ + AttributeInstall(request: PlayFabClientModels.AttributeInstallRequest, callback: PlayFabModule.ApiCallback): void; + /** + / List all segments that a player currently belongs to at this moment in time. + / https://api.playfab.com/Documentation/Client/method/GetPlayerSegments + */ + GetPlayerSegments(request: PlayFabClientModels.GetPlayerSegmentsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Get all tags with a given Namespace (optional) from a player profile. + / https://api.playfab.com/Documentation/Client/method/GetPlayerTags + */ + GetPlayerTags(request: PlayFabClientModels.GetPlayerTagsRequest, callback: PlayFabModule.ApiCallback): void; + + } +} + +declare module PlayFabClientModels { + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.AcceptTradeRequest + */ + export interface AcceptTradeRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Player who opened the trade. + */ + OfferingPlayerId: string; + /** + / Trade identifier. + */ + TradeId: string; + /** + / Items from the accepting player's or guild's inventory in exchange for the offered items in the trade. In the case of a gift, this will be null. + */ + AcceptedInventoryInstanceIds?: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.AcceptTradeResponse + */ + export interface AcceptTradeResponse extends PlayFabModule.IPlayFabResultCommon { + /** + / Details about trade which was just accepted. + */ + Trade?: TradeInfo; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.AddFriendRequest + */ + export interface AddFriendRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / PlayFab identifier of the user to attempt to add to the local user's friend list. + */ + FriendPlayFabId?: string; + /** + / PlayFab username of the user to attempt to add to the local user's friend list. + */ + FriendUsername?: string; + /** + / Email address of the user to attempt to add to the local user's friend list. + */ + FriendEmail?: string; + /** + / Title-specific display name of the user to attempt to add to the local user's friend list. + */ + FriendTitleDisplayName?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.AddFriendResult + */ + export interface AddFriendResult extends PlayFabModule.IPlayFabResultCommon { + /** + / True if the friend request was processed successfully. + */ + Created: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.AddGenericIDRequest + */ + export interface AddGenericIDRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Generic service identifier to add to the player account. + */ + GenericId: GenericServiceId; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.AddGenericIDResult + */ + export interface AddGenericIDResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.AddSharedGroupMembersRequest + */ + export interface AddSharedGroupMembersRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the shared group. + */ + SharedGroupId: string; + /** + / An array of unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabIds: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.AddSharedGroupMembersResult + */ + export interface AddSharedGroupMembersResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.AddUsernamePasswordRequest + */ + export interface AddUsernamePasswordRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / PlayFab username for the account (3-20 characters) + */ + Username: string; + /** + / User email address attached to their account + */ + Email: string; + /** + / Password for the PlayFab account (6-100 characters) + */ + Password: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.AddUsernamePasswordResult + */ + export interface AddUsernamePasswordResult extends PlayFabModule.IPlayFabResultCommon { + /** + / PlayFab unique user name. + */ + Username?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.AddUserVirtualCurrencyRequest + */ + export interface AddUserVirtualCurrencyRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Name of the virtual currency which is to be incremented. + */ + VirtualCurrency: string; + /** + / Amount to be added to the user balance of the specified virtual currency. + */ + Amount: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.AndroidDevicePushNotificationRegistrationRequest + */ + export interface AndroidDevicePushNotificationRegistrationRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Registration ID provided by the Google Cloud Messaging service when the title registered to receive push notifications (see the GCM documentation, here: http://developer.android.com/google/gcm/client.html). + */ + DeviceToken: string; + /** + / If true, send a test push message immediately after sucessful registration. Defaults to false. + */ + SendPushNotificationConfirmation?: boolean; + /** + / Message to display when confirming push notification. + */ + ConfirmationMessage?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.AndroidDevicePushNotificationRegistrationResult + */ + export interface AndroidDevicePushNotificationRegistrationResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.AttributeInstallRequest + */ + export interface AttributeInstallRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / The IdentifierForAdvertisers for iOS Devices. + */ + Idfa?: string; + /** + / The android advertising id. This field is deprecated in favor of Adid for clarity. + */ + Android_Id?: string; + /** + / The adid for this device. + */ + Adid?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.AttributeInstallResult + */ + export interface AttributeInstallResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.CancelTradeRequest + */ + export interface CancelTradeRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Trade identifier. + */ + TradeId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.CancelTradeResponse + */ + export interface CancelTradeResponse extends PlayFabModule.IPlayFabResultCommon { + /** + / Details about trade which was just canceled. + */ + Trade?: TradeInfo; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.CartItem + */ + export interface CartItem { + /** + / Unique identifier for the catalog item. + */ + ItemId?: string; + /** + / Class name to which catalog item belongs. + */ + ItemClass?: string; + /** + / Unique instance identifier for this catalog item. + */ + ItemInstanceId?: string; + /** + / Display name for the catalog item. + */ + DisplayName?: string; + /** + / Description of the catalog item. + */ + Description?: string; + /** + / Cost of the catalog item for each applicable virtual currency. + */ + VirtualCurrencyPrices?: { [key: string]: number }; + /** + / Cost of the catalog item for each applicable real world currency. + */ + RealCurrencyPrices?: { [key: string]: number }; + /** + / Amount of each applicable virtual currency which will be received as a result of purchasing this catalog item. + */ + VCAmount?: { [key: string]: number }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.CatalogItem + */ + export interface CatalogItem { + /** + / unique identifier for this item + */ + ItemId: string; + /** + / class to which the item belongs + */ + ItemClass?: string; + /** + / catalog version for this item + */ + CatalogVersion?: string; + /** + / text name for the item, to show in-game + */ + DisplayName?: string; + /** + / text description of item, to show in-game + */ + Description?: string; + /** + / price of this item in virtual currencies and "RM" (the base Real Money purchase price, in USD pennies) + */ + VirtualCurrencyPrices?: { [key: string]: number }; + /** + / override prices for this item for specific currencies + */ + RealCurrencyPrices?: { [key: string]: number }; + /** + / list of item tags + */ + Tags?: string[]; + /** + / game specific custom data + */ + CustomData?: string; + /** + / defines the consumable properties (number of uses, timeout) for the item + */ + Consumable?: CatalogItemConsumableInfo; + /** + / defines the container properties for the item - what items it contains, including random drop tables and virtual currencies, and what item (if any) is required to open it via the UnlockContainerItem API + */ + Container?: CatalogItemContainerInfo; + /** + / defines the bundle properties for the item - bundles are items which contain other items, including random drop tables and virtual currencies + */ + Bundle?: CatalogItemBundleInfo; + /** + / if true, then an item instance of this type can be used to grant a character to a user. + */ + CanBecomeCharacter: boolean; + /** + / if true, then only one item instance of this type will exist and its remaininguses will be incremented instead. RemainingUses will cap out at Int32.Max (2,147,483,647). All subsequent increases will be discarded + */ + IsStackable: boolean; + /** + / if true, then an item instance of this type can be traded between players using the trading APIs + */ + IsTradable: boolean; + /** + / URL to the item image. For Facebook purchase to display the image on the item purchase page, this must be set to an HTTP URL. + */ + ItemImageUrl?: string; + /** + / BETA: If true, then only a fixed number can ever be granted. + */ + IsLimitedEdition: boolean; + /** + / If the item has IsLImitedEdition set to true, and this is the first time this ItemId has been defined as a limited edition item, this value determines the total number of instances to allocate for the title. Once this limit has been reached, no more instances of this ItemId can be created, and attempts to purchase or grant it will return a Result of false for that ItemId. If the item has already been defined to have a limited edition count, or if this value is less than zero, it will be ignored. + */ + InitialLimitedEditionCount: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.CatalogItemBundleInfo + */ + export interface CatalogItemBundleInfo { + /** + / unique ItemId values for all items which will be added to the player inventory when the bundle is added + */ + BundledItems?: string[]; + /** + / unique TableId values for all RandomResultTable objects which are part of the bundle (random tables will be resolved and add the relevant items to the player inventory when the bundle is added) + */ + BundledResultTables?: string[]; + /** + / virtual currency types and balances which will be added to the player inventory when the bundle is added + */ + BundledVirtualCurrencies?: { [key: string]: number }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.CatalogItemConsumableInfo + */ + export interface CatalogItemConsumableInfo { + /** + / number of times this object can be used, after which it will be removed from the player inventory + */ + UsageCount?: number; + /** + / duration in seconds for how long the item will remain in the player inventory - once elapsed, the item will be removed (recommended minimum value is 5 seconds, as lower values can cause the item to expire before operations depending on this item's details have completed) + */ + UsagePeriod?: number; + /** + / all inventory item instances in the player inventory sharing a non-null UsagePeriodGroup have their UsagePeriod values added together, and share the result - when that period has elapsed, all the items in the group will be removed + */ + UsagePeriodGroup?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.CatalogItemContainerInfo + */ + export interface CatalogItemContainerInfo { + /** + / ItemId for the catalog item used to unlock the container, if any (if not specified, a call to UnlockContainerItem will open the container, adding the contents to the player inventory and currency balances) + */ + KeyItemId?: string; + /** + / unique ItemId values for all items which will be added to the player inventory, once the container has been unlocked + */ + ItemContents?: string[]; + /** + / unique TableId values for all RandomResultTable objects which are part of the container (once unlocked, random tables will be resolved and add the relevant items to the player inventory) + */ + ResultTableContents?: string[]; + /** + / virtual currency types and balances which will be added to the player inventory when the container is unlocked + */ + VirtualCurrencyContents?: { [key: string]: number }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.CharacterInventory + */ + export interface CharacterInventory { + /** + / The id of this character. + */ + CharacterId?: string; + /** + / The inventory of this character. + */ + Inventory?: ItemInstance[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.CharacterLeaderboardEntry + */ + export interface CharacterLeaderboardEntry { + /** + / PlayFab unique identifier of the user for this leaderboard entry. + */ + PlayFabId?: string; + /** + / PlayFab unique identifier of the character that belongs to the user for this leaderboard entry. + */ + CharacterId?: string; + /** + / Title-specific display name of the character for this leaderboard entry. + */ + CharacterName?: string; + /** + / Title-specific display name of the user for this leaderboard entry. + */ + DisplayName?: string; + /** + / Name of the character class for this entry. + */ + CharacterType?: string; + /** + / Specific value of the user's statistic. + */ + StatValue: number; + /** + / User's overall position in the leaderboard. + */ + Position: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.CharacterResult + */ + export interface CharacterResult extends PlayFabModule.IPlayFabResultCommon { + /** + / The id for this character on this player. + */ + CharacterId?: string; + /** + / The name of this character. + */ + CharacterName?: string; + /** + / The type-string that was given to this character on creation. + */ + CharacterType?: string; + + } + + type CloudScriptRevisionOption = "Live" + | "Latest" + | "Specific"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.CollectionFilter + */ + export interface CollectionFilter { + /** + / List of Include rules, with any of which if a collection matches, it is included by the filter, unless it is excluded by one of the Exclude rule + */ + Includes?: Container_Dictionary_String_String[]; + /** + / List of Exclude rules, with any of which if a collection matches, it is excluded by the filter. + */ + Excludes?: Container_Dictionary_String_String[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.ConfirmPurchaseRequest + */ + export interface ConfirmPurchaseRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Purchase order identifier returned from StartPurchase. + */ + OrderId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.ConfirmPurchaseResult + */ + export interface ConfirmPurchaseResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Purchase order identifier. + */ + OrderId?: string; + /** + / Date and time of the purchase. + */ + PurchaseDate: string; + /** + / Array of items purchased. + */ + Items?: ItemInstance[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.ConsumeItemRequest + */ + export interface ConsumeItemRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique instance identifier of the item to be consumed. + */ + ItemInstanceId: string; + /** + / Number of uses to consume from the item. + */ + ConsumeCount: number; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.ConsumeItemResult + */ + export interface ConsumeItemResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique instance identifier of the item with uses consumed. + */ + ItemInstanceId?: string; + /** + / Number of uses remaining on the item. + */ + RemainingUses: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.Container_Dictionary_String_String + */ + export interface Container_Dictionary_String_String { + /** + / Content of data + */ + Data?: { [key: string]: string }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.CreateSharedGroupRequest + */ + export interface CreateSharedGroupRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the shared group (a random identifier will be assigned, if one is not specified). + */ + SharedGroupId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.CreateSharedGroupResult + */ + export interface CreateSharedGroupResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique identifier for the shared group. + */ + SharedGroupId?: string; + + } + + type Currency = "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYR" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.CurrentGamesRequest + */ + export interface CurrentGamesRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Region to check for Game Server Instances. + */ + Region?: string; + /** + / Build to match against. + */ + BuildVersion?: string; + /** + / Game mode to look for. + */ + GameMode?: string; + /** + / Statistic name to find statistic-based matches. + */ + StatisticName?: string; + /** + / Filter to include and/or exclude Game Server Instances associated with certain tags. + */ + TagFilter?: CollectionFilter; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.CurrentGamesResult + */ + export interface CurrentGamesResult extends PlayFabModule.IPlayFabResultCommon { + /** + / array of games found + */ + Games?: GameInfo[]; + /** + / total number of players across all servers + */ + PlayerCount: number; + /** + / number of games running + */ + GameCount: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.EmptyResult + */ + export interface EmptyResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.ExecuteCloudScriptRequest + */ + export interface ExecuteCloudScriptRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / The name of the CloudScript function to execute + */ + FunctionName: string; + /** + / Object that is passed in to the function as the first argument + */ + FunctionParameter?: any; + /** + / Option for which revision of the CloudScript to execute. 'Latest' executes the most recently created revision, 'Live' executes the current live, published revision, and 'Specific' executes the specified revision. The default value is 'Specific', if the SpeificRevision parameter is specified, otherwise it is 'Live'. + */ + RevisionSelection?: string; + /** + / The specivic revision to execute, when RevisionSelection is set to 'Specific' + */ + SpecificRevision?: number; + /** + / Generate a 'player_executed_cloudscript' PlayStream event containing the results of the function execution and other contextual information. This event will show up in the PlayStream debugger console for the player in Game Manager. + */ + GeneratePlayStreamEvent?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.ExecuteCloudScriptResult + */ + export interface ExecuteCloudScriptResult extends PlayFabModule.IPlayFabResultCommon { + /** + / The name of the function that executed + */ + FunctionName?: string; + /** + / The revision of the CloudScript that executed + */ + Revision: number; + /** + / The object returned from the CloudScript function, if any + */ + FunctionResult?: any; + /** + / Entries logged during the function execution. These include both entries logged in the function code using log.info() and log.error() and error entries for API and HTTP request failures. + */ + Logs?: LogStatement[]; + ExecutionTimeSeconds: number; + /** + / Processor time consumed while executing the function. This does not include time spent waiting on API calls or HTTP requests. + */ + ProcessorTimeSeconds: number; + MemoryConsumedBytes: number; + /** + / Number of PlayFab API requests issued by the CloudScript function + */ + APIRequestsIssued: number; + /** + / Number of external HTTP requests issued by the CloudScript function + */ + HttpRequestsIssued: number; + /** + / Information about the error, if any, that occured during execution + */ + Error?: ScriptExecutionError; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.FacebookPlayFabIdPair + */ + export interface FacebookPlayFabIdPair { + /** + / Unique Facebook identifier for a user. + */ + FacebookId?: string; + /** + / Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the Facebook identifier. + */ + PlayFabId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.FriendInfo + */ + export interface FriendInfo { + /** + / PlayFab unique identifier for this friend. + */ + FriendPlayFabId?: string; + /** + / PlayFab unique username for this friend. + */ + Username?: string; + /** + / Title-specific display name for this friend. + */ + TitleDisplayName?: string; + /** + / Tags which have been associated with this friend. + */ + Tags?: string[]; + /** + / Unique lobby identifier of the Game Server Instance to which this player is currently connected. + */ + CurrentMatchmakerLobbyId?: string; + /** + / Available Facebook information (if the user and PlayFab friend are also connected in Facebook). + */ + FacebookInfo?: UserFacebookInfo; + /** + / Available Steam information (if the user and PlayFab friend are also connected in Steam). + */ + SteamInfo?: UserSteamInfo; + /** + / Available Game Center information (if the user and PlayFab friend are also connected in Game Center). + */ + GameCenterInfo?: UserGameCenterInfo; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GameCenterPlayFabIdPair + */ + export interface GameCenterPlayFabIdPair { + /** + / Unique Game Center identifier for a user. + */ + GameCenterId?: string; + /** + / Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the Game Center identifier. + */ + PlayFabId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GameInfo + */ + export interface GameInfo { + /** + / region to which this server is associated + */ + Region?: string; + /** + / unique lobby identifier for this game server + */ + LobbyID?: string; + /** + / build version this server is running + */ + BuildVersion?: string; + /** + / game mode this server is running + */ + GameMode?: string; + /** + / stastic used to match this game in player statistic matchmaking + */ + StatisticName?: string; + /** + / maximum players this server can support + */ + MaxPlayers?: number; + /** + / array of current player IDs on this server + */ + PlayerUserIds?: string[]; + /** + / duration in seconds this server has been running + */ + RunTime: number; + /** + / game specific string denoting server configuration + */ + GameServerState?: string; + /** + / game session custom data + */ + GameServerData?: string; + /** + / game session tags + */ + Tags?: { [key: string]: string }; + /** + / last heartbeat of the game server instance, used in external game server provider mode + */ + LastHeartbeat?: string; + /** + / IP address of the server + */ + ServerHostname?: string; + /** + / port number to use for non-http communications with the server + */ + ServerPort?: number; + + } + + type GameInstanceState = "Open" + | "Closed"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GameServerRegionsRequest + */ + export interface GameServerRegionsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / version of game server for which stats are being requested + */ + BuildVersion: string; + /** + / Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected. + */ + TitleId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GameServerRegionsResult + */ + export interface GameServerRegionsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / array of regions found matching the request parameters + */ + Regions?: RegionInfo[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GenericPlayFabIdPair + */ + export interface GenericPlayFabIdPair { + /** + / Unique generic service identifier for a user. + */ + GenericId?: GenericServiceId; + /** + / Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the given generic identifier. + */ + PlayFabId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GenericServiceId + */ + export interface GenericServiceId { + /** + / Name of the service for which the player has a unique identifier. + */ + ServiceName: string; + /** + / Unique identifier of the player in that service. + */ + UserId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetAccountInfoRequest + */ + export interface GetAccountInfoRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab identifier of the user whose info is being requested. Optional, defaults to the authenticated user if no other lookup identifier set. + */ + PlayFabId?: string; + /** + / PlayFab Username for the account to find (if no PlayFabId is specified). + */ + Username?: string; + /** + / User email address for the account to find (if no Username is specified). + */ + Email?: string; + /** + / Title-specific username for the account to find (if no Email is set). Note that if the non-unique Title Display Names option is enabled for the title, attempts to look up users by Title Display Name will always return AccountNotFound. + */ + TitleDisplayName?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetAccountInfoResult + */ + export interface GetAccountInfoResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Account information for the local user. + */ + AccountInfo?: UserAccountInfo; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetCatalogItemsRequest + */ + export interface GetCatalogItemsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Which catalog is being requested. If null, uses the default catalog. + */ + CatalogVersion?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetCatalogItemsResult + */ + export interface GetCatalogItemsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Array of items which can be purchased. + */ + Catalog?: CatalogItem[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetCharacterDataRequest + */ + export interface GetCharacterDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab identifier of the user to load data for. Optional, defaults to yourself if not set. + */ + PlayFabId?: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + /** + / Specific keys to search for in the custom user data. + */ + Keys?: string[]; + /** + / The version that currently exists according to the caller. The call will return the data for all of the keys if the version in the system is greater than this. + */ + IfChangedFromDataVersion?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetCharacterDataResult + */ + export interface GetCharacterDataResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId?: string; + /** + / User specific data for this title. + */ + Data?: { [key: string]: UserDataRecord }; + /** + / Indicates the current version of the data that has been set. This is incremented with every set call for that type of data (read-only, internal, etc). This version can be provided in Get calls to find updated data. + */ + DataVersion: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetCharacterInventoryRequest + */ + export interface GetCharacterInventoryRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + /** + / Used to limit results to only those from a specific catalog version. + */ + CatalogVersion?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetCharacterInventoryResult + */ + export interface GetCharacterInventoryResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique identifier of the character for this inventory. + */ + CharacterId?: string; + /** + / Array of inventory items belonging to the character. + */ + Inventory?: ItemInstance[]; + /** + / Array of virtual currency balance(s) belonging to the character. + */ + VirtualCurrency?: { [key: string]: number }; + /** + / Array of remaining times and timestamps for virtual currencies. + */ + VirtualCurrencyRechargeTimes?: { [key: string]: VirtualCurrencyRechargeTime }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetCharacterLeaderboardRequest + */ + export interface GetCharacterLeaderboardRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Optional character type on which to filter the leaderboard entries. + */ + CharacterType?: string; + /** + / Unique identifier for the title-specific statistic for the leaderboard. + */ + StatisticName: string; + /** + / First entry in the leaderboard to be retrieved. + */ + StartPosition: number; + /** + / Maximum number of entries to retrieve. Default 10, maximum 100. + */ + MaxResultsCount?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetCharacterLeaderboardResult + */ + export interface GetCharacterLeaderboardResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Ordered list of leaderboard entries. + */ + Leaderboard?: CharacterLeaderboardEntry[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetCharacterStatisticsRequest + */ + export interface GetCharacterStatisticsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetCharacterStatisticsResult + */ + export interface GetCharacterStatisticsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / The requested character statistics. + */ + CharacterStatistics?: { [key: string]: number }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetContentDownloadUrlRequest + */ + export interface GetContentDownloadUrlRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Key of the content item to fetch, usually formatted as a path, e.g. images/a.png + */ + Key: string; + /** + / HTTP method to fetch item - GET or HEAD. Use HEAD when only fetching metadata. Default is GET. + */ + HttpMethod?: string; + /** + / True if download through CDN. CDN provides better download bandwidth and time. However, if you want latest, non-cached version of the content, set this to false. Default is true. + */ + ThruCDN?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetContentDownloadUrlResult + */ + export interface GetContentDownloadUrlResult extends PlayFabModule.IPlayFabResultCommon { + /** + / URL for downloading content via HTTP GET or HEAD method. The URL will expire in 1 hour. + */ + URL?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetFriendLeaderboardAroundPlayerRequest + */ + export interface GetFriendLeaderboardAroundPlayerRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Statistic used to rank players for this leaderboard. + */ + StatisticName: string; + /** + / Maximum number of entries to retrieve. Default 10, maximum 100. + */ + MaxResultsCount?: number; + /** + / PlayFab unique identifier of the user to center the leaderboard around. If null will center on the logged in user. + */ + PlayFabId?: string; + /** + / Indicates whether Steam service friends should be included in the response. Default is true. + */ + IncludeSteamFriends?: boolean; + /** + / Indicates whether Facebook friends should be included in the response. Default is true. + */ + IncludeFacebookFriends?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetFriendLeaderboardAroundPlayerResult + */ + export interface GetFriendLeaderboardAroundPlayerResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Ordered listing of users and their positions in the requested leaderboard. + */ + Leaderboard?: PlayerLeaderboardEntry[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetFriendLeaderboardRequest + */ + export interface GetFriendLeaderboardRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Statistic used to rank friends for this leaderboard. + */ + StatisticName: string; + /** + / Position in the leaderboard to start this listing (defaults to the first entry). + */ + StartPosition: number; + /** + / Maximum number of entries to retrieve. Default 10, maximum 100. + */ + MaxResultsCount?: number; + /** + / Indicates whether Steam service friends should be included in the response. Default is true. + */ + IncludeSteamFriends?: boolean; + /** + / Indicates whether Facebook friends should be included in the response. Default is true. + */ + IncludeFacebookFriends?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetFriendsListRequest + */ + export interface GetFriendsListRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Indicates whether Steam service friends should be included in the response. Default is true. + */ + IncludeSteamFriends?: boolean; + /** + / Indicates whether Facebook friends should be included in the response. Default is true. + */ + IncludeFacebookFriends?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetFriendsListResult + */ + export interface GetFriendsListResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Array of friends found. + */ + Friends?: FriendInfo[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetLeaderboardAroundCharacterRequest + */ + export interface GetLeaderboardAroundCharacterRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the title-specific statistic for the leaderboard. + */ + StatisticName: string; + /** + / Unique PlayFab assigned ID for a specific character on which to center the leaderboard. + */ + CharacterId: string; + /** + / Optional character type on which to filter the leaderboard entries. + */ + CharacterType?: string; + /** + / Maximum number of entries to retrieve. Default 10, maximum 100. + */ + MaxResultsCount?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetLeaderboardAroundCharacterResult + */ + export interface GetLeaderboardAroundCharacterResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Ordered list of leaderboard entries. + */ + Leaderboard?: CharacterLeaderboardEntry[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetLeaderboardAroundPlayerRequest + */ + export interface GetLeaderboardAroundPlayerRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / PlayFab unique identifier of the user to center the leaderboard around. If null will center on the logged in user. + */ + PlayFabId?: string; + /** + / Statistic used to rank players for this leaderboard. + */ + StatisticName: string; + /** + / Maximum number of entries to retrieve. Default 10, maximum 100. + */ + MaxResultsCount?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetLeaderboardAroundPlayerResult + */ + export interface GetLeaderboardAroundPlayerResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Ordered listing of users and their positions in the requested leaderboard. + */ + Leaderboard?: PlayerLeaderboardEntry[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetLeaderboardForUsersCharactersRequest + */ + export interface GetLeaderboardForUsersCharactersRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the title-specific statistic for the leaderboard. + */ + StatisticName: string; + /** + / Maximum number of entries to retrieve. + */ + MaxResultsCount: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetLeaderboardForUsersCharactersResult + */ + export interface GetLeaderboardForUsersCharactersResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Ordered list of leaderboard entries. + */ + Leaderboard?: CharacterLeaderboardEntry[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetLeaderboardRequest + */ + export interface GetLeaderboardRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Statistic used to rank players for this leaderboard. + */ + StatisticName: string; + /** + / Position in the leaderboard to start this listing (defaults to the first entry). + */ + StartPosition: number; + /** + / Maximum number of entries to retrieve. Default 10, maximum 100. + */ + MaxResultsCount?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetLeaderboardResult + */ + export interface GetLeaderboardResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Ordered listing of users and their positions in the requested leaderboard. + */ + Leaderboard?: PlayerLeaderboardEntry[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPhotonAuthenticationTokenRequest + */ + export interface GetPhotonAuthenticationTokenRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / The Photon applicationId for the game you wish to log into. + */ + PhotonApplicationId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPhotonAuthenticationTokenResult + */ + export interface GetPhotonAuthenticationTokenResult extends PlayFabModule.IPlayFabResultCommon { + /** + / The Photon authentication token for this game-session. + */ + PhotonCustomAuthenticationToken?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayerCombinedInfoRequest + */ + export interface GetPlayerCombinedInfoRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / PlayFabId of the user whose data will be returned. If not filled included, we return the data for the calling player. + */ + PlayFabId?: string; + /** + / Flags for which pieces of info to return for the user. + */ + InfoRequestParameters: GetPlayerCombinedInfoRequestParams; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayerCombinedInfoRequestParams + */ + export interface GetPlayerCombinedInfoRequestParams { + /** + / Whether to get the player's account Info. Defaults to false + */ + GetUserAccountInfo: boolean; + /** + / Whether to get the player's inventory. Defaults to false + */ + GetUserInventory: boolean; + /** + / Whether to get the player's virtual currency balances. Defaults to false + */ + GetUserVirtualCurrency: boolean; + /** + / Whether to get the player's custom data. Defaults to false + */ + GetUserData: boolean; + /** + / Specific keys to search for in the custom data. Leave null to get all keys. Has no effect if GetUserData is false + */ + UserDataKeys?: string[]; + /** + / Whether to get the player's read only data. Defaults to false + */ + GetUserReadOnlyData: boolean; + /** + / Specific keys to search for in the custom data. Leave null to get all keys. Has no effect if GetUserReadOnlyData is false + */ + UserReadOnlyDataKeys?: string[]; + /** + / Whether to get character inventories. Defaults to false. + */ + GetCharacterInventories: boolean; + /** + / Whether to get the list of characters. Defaults to false. + */ + GetCharacterList: boolean; + /** + / Whether to get title data. Defaults to false. + */ + GetTitleData: boolean; + /** + / Specific keys to search for in the custom data. Leave null to get all keys. Has no effect if GetTitleData is false + */ + TitleDataKeys?: string[]; + /** + / Whether to get player statistics. Defaults to false. + */ + GetPlayerStatistics: boolean; + /** + / Specific statistics to retrieve. Leave null to get all keys. Has no effect if GetPlayerStatistics is false + */ + PlayerStatisticNames?: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayerCombinedInfoResult + */ + export interface GetPlayerCombinedInfoResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId?: string; + /** + / Results for requested info. + */ + InfoResultPayload?: GetPlayerCombinedInfoResultPayload; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayerCombinedInfoResultPayload + */ + export interface GetPlayerCombinedInfoResultPayload { + /** + / Account information for the user. This is always retrieved. + */ + AccountInfo?: UserAccountInfo; + /** + / Array of inventory items in the user's current inventory. + */ + UserInventory?: ItemInstance[]; + /** + / Dictionary of virtual currency balance(s) belonging to the user. + */ + UserVirtualCurrency?: { [key: string]: number }; + /** + / Dictionary of remaining times and timestamps for virtual currencies. + */ + UserVirtualCurrencyRechargeTimes?: { [key: string]: VirtualCurrencyRechargeTime }; + /** + / User specific custom data. + */ + UserData?: { [key: string]: UserDataRecord }; + /** + / The version of the UserData that was returned. + */ + UserDataVersion: number; + /** + / User specific read-only data. + */ + UserReadOnlyData?: { [key: string]: UserDataRecord }; + /** + / The version of the Read-Only UserData that was returned. + */ + UserReadOnlyDataVersion: number; + /** + / List of characters for the user. + */ + CharacterList?: CharacterResult[]; + /** + / Inventories for each character for the user. + */ + CharacterInventories?: CharacterInventory[]; + /** + / Title data for this title. + */ + TitleData?: { [key: string]: string }; + /** + / List of statistics for this player. + */ + PlayerStatistics?: StatisticValue[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayerSegmentsRequest + */ + export interface GetPlayerSegmentsRequest extends PlayFabModule.IPlayFabRequestCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayerSegmentsResult + */ + export interface GetPlayerSegmentsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Array of segments the requested player currently belongs to. + */ + Segments?: GetSegmentResult[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayerStatisticsRequest + */ + export interface GetPlayerStatisticsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / statistics to return (current version will be returned for each) + */ + StatisticNames?: string[]; + /** + / statistics to return, if StatisticNames is not set (only statistics which have a version matching that provided will be returned) + */ + StatisticNameVersions?: StatisticNameVersion[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayerStatisticsResult + */ + export interface GetPlayerStatisticsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / User statistics for the requested user. + */ + Statistics?: StatisticValue[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayerStatisticVersionsRequest + */ + export interface GetPlayerStatisticVersionsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / unique name of the statistic + */ + StatisticName?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayerStatisticVersionsResult + */ + export interface GetPlayerStatisticVersionsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / version change history of the statistic + */ + StatisticVersions?: PlayerStatisticVersion[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayerTagsRequest + */ + export interface GetPlayerTagsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Optional namespace to filter results by + */ + Namespace?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayerTagsResult + */ + export interface GetPlayerTagsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Canonical tags (including namespace and tag's name) for the requested user + */ + Tags: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayerTradesRequest + */ + export interface GetPlayerTradesRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Returns only trades with the given status. If null, returns all trades. + */ + StatusFilter?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayerTradesResponse + */ + export interface GetPlayerTradesResponse extends PlayFabModule.IPlayFabResultCommon { + /** + / The trades for this player which are currently available to be accepted. + */ + OpenedTrades?: TradeInfo[]; + /** + / History of trades which this player has accepted. + */ + AcceptedTrades?: TradeInfo[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayFabIDsFromFacebookIDsRequest + */ + export interface GetPlayFabIDsFromFacebookIDsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. + */ + FacebookIDs: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayFabIDsFromFacebookIDsResult + */ + export interface GetPlayFabIDsFromFacebookIDsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Mapping of Facebook identifiers to PlayFab identifiers. + */ + Data?: FacebookPlayFabIdPair[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayFabIDsFromGameCenterIDsRequest + */ + export interface GetPlayFabIDsFromGameCenterIDsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers. + */ + GameCenterIDs: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayFabIDsFromGameCenterIDsResult + */ + export interface GetPlayFabIDsFromGameCenterIDsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Mapping of Game Center identifiers to PlayFab identifiers. + */ + Data?: GameCenterPlayFabIdPair[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayFabIDsFromGenericIDsRequest + */ + export interface GetPlayFabIDsFromGenericIDsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Array of unique generic service identifiers for which the title needs to get PlayFab identifiers. Currently limited to a maximum of 10 in a single request. + */ + GenericIDs: GenericServiceId[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayFabIDsFromGenericIDsResult + */ + export interface GetPlayFabIDsFromGenericIDsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Mapping of generic service identifiers to PlayFab identifiers. + */ + Data?: GenericPlayFabIdPair[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayFabIDsFromGoogleIDsRequest + */ + export interface GetPlayFabIDsFromGoogleIDsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers. + */ + GoogleIDs: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayFabIDsFromGoogleIDsResult + */ + export interface GetPlayFabIDsFromGoogleIDsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Mapping of Google identifiers to PlayFab identifiers. + */ + Data?: GooglePlayFabIdPair[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayFabIDsFromKongregateIDsRequest + */ + export interface GetPlayFabIDsFromKongregateIDsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers. + */ + KongregateIDs: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayFabIDsFromKongregateIDsResult + */ + export interface GetPlayFabIDsFromKongregateIDsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Mapping of Kongregate identifiers to PlayFab identifiers. + */ + Data?: KongregatePlayFabIdPair[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayFabIDsFromSteamIDsRequest + */ + export interface GetPlayFabIDsFromSteamIDsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. + */ + SteamStringIDs?: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayFabIDsFromSteamIDsResult + */ + export interface GetPlayFabIDsFromSteamIDsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Mapping of Steam identifiers to PlayFab identifiers. + */ + Data?: SteamPlayFabIdPair[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayFabIDsFromTwitchIDsRequest + */ + export interface GetPlayFabIDsFromTwitchIDsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers. + */ + TwitchIds: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPlayFabIDsFromTwitchIDsResult + */ + export interface GetPlayFabIDsFromTwitchIDsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Mapping of Twitch identifiers to PlayFab identifiers. + */ + Data?: TwitchPlayFabIdPair[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPublisherDataRequest + */ + export interface GetPublisherDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / array of keys to get back data from the Publisher data blob, set by the admin tools + */ + Keys: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPublisherDataResult + */ + export interface GetPublisherDataResult extends PlayFabModule.IPlayFabResultCommon { + /** + / a dictionary object of key / value pairs + */ + Data?: { [key: string]: string }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPurchaseRequest + */ + export interface GetPurchaseRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Purchase order identifier. + */ + OrderId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetPurchaseResult + */ + export interface GetPurchaseResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Purchase order identifier. + */ + OrderId?: string; + /** + / Payment provider used for transaction (If not VC) + */ + PaymentProvider?: string; + /** + / Provider transaction ID (If not VC) + */ + TransactionId?: string; + /** + / PlayFab transaction status + */ + TransactionStatus?: string; + /** + / Date and time of the purchase. + */ + PurchaseDate: string; + /** + / Array of items purchased. + */ + Items?: ItemInstance[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetSegmentResult + */ + export interface GetSegmentResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique identifier for this segment. + */ + Id: string; + /** + / Segment name. + */ + Name?: string; + /** + / Identifier of the segments AB Test, if it is attached to one. + */ + ABTestParent?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetSharedGroupDataRequest + */ + export interface GetSharedGroupDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the shared group. + */ + SharedGroupId: string; + /** + / Specific keys to retrieve from the shared group (if not specified, all keys will be returned, while an empty array indicates that no keys should be returned). + */ + Keys?: string[]; + /** + / If true, return the list of all members of the shared group. + */ + GetMembers?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetSharedGroupDataResult + */ + export interface GetSharedGroupDataResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Data for the requested keys. + */ + Data?: { [key: string]: SharedGroupDataRecord }; + /** + / List of PlayFabId identifiers for the members of this group, if requested. + */ + Members?: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetStoreItemsRequest + */ + export interface GetStoreItemsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / catalog version to store items from. Use default catalog version if null + */ + CatalogVersion?: string; + /** + / Unqiue identifier for the store which is being requested. + */ + StoreId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetStoreItemsResult + */ + export interface GetStoreItemsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Array of items which can be purchased from this store. + */ + Store?: StoreItem[]; + /** + / How the store was last updated (Admin or a third party). + */ + Source?: string; + /** + / The base catalog that this store is a part of. + */ + CatalogVersion?: string; + /** + / The ID of this store. + */ + StoreId?: string; + /** + / Additional data about the store. + */ + MarketingData?: StoreMarketingModel; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetTimeRequest + */ + export interface GetTimeRequest extends PlayFabModule.IPlayFabRequestCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetTimeResult + */ + export interface GetTimeResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Current server time when the request was received, in UTC + */ + Time: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetTitleDataRequest + */ + export interface GetTitleDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Specific keys to search for in the title data (leave null to get all keys) + */ + Keys?: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetTitleDataResult + */ + export interface GetTitleDataResult extends PlayFabModule.IPlayFabResultCommon { + /** + / a dictionary object of key / value pairs + */ + Data?: { [key: string]: string }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetTitleNewsRequest + */ + export interface GetTitleNewsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Limits the results to the last n entries. Defaults to 10 if not set. + */ + Count?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetTitleNewsResult + */ + export interface GetTitleNewsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Array of news items. + */ + News?: TitleNewsItem[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetTradeStatusRequest + */ + export interface GetTradeStatusRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Player who opened trade. + */ + OfferingPlayerId: string; + /** + / Trade identifier as returned by OpenTradeOffer. + */ + TradeId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetTradeStatusResponse + */ + export interface GetTradeStatusResponse extends PlayFabModule.IPlayFabResultCommon { + /** + / Information about the requested trade. + */ + Trade?: TradeInfo; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetUserDataRequest + */ + export interface GetUserDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Specific keys to search for in the custom data. Leave null to get all keys. + */ + Keys?: string[]; + /** + / Unique PlayFab identifier of the user to load data for. Optional, defaults to yourself if not set. When specified to a PlayFab id of another player, then this will only return public keys for that account. + */ + PlayFabId?: string; + /** + / The version that currently exists according to the caller. The call will return the data for all of the keys if the version in the system is greater than this. + */ + IfChangedFromDataVersion?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetUserDataResult + */ + export interface GetUserDataResult extends PlayFabModule.IPlayFabResultCommon { + /** + / User specific data for this title. + */ + Data?: { [key: string]: UserDataRecord }; + /** + / Indicates the current version of the data that has been set. This is incremented with every set call for that type of data (read-only, internal, etc). This version can be provided in Get calls to find updated data. + */ + DataVersion: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetUserInventoryRequest + */ + export interface GetUserInventoryRequest extends PlayFabModule.IPlayFabRequestCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GetUserInventoryResult + */ + export interface GetUserInventoryResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Array of inventory items belonging to the user. + */ + Inventory?: ItemInstance[]; + /** + / Array of virtual currency balance(s) belonging to the user. + */ + VirtualCurrency?: { [key: string]: number }; + /** + / Array of remaining times and timestamps for virtual currencies. + */ + VirtualCurrencyRechargeTimes?: { [key: string]: VirtualCurrencyRechargeTime }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GooglePlayFabIdPair + */ + export interface GooglePlayFabIdPair { + /** + / Unique Google identifier for a user. + */ + GoogleId?: string; + /** + / Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the Google identifier. + */ + PlayFabId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GrantCharacterToUserRequest + */ + export interface GrantCharacterToUserRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Catalog version from which items are to be granted. + */ + CatalogVersion?: string; + /** + / Catalog item identifier of the item in the user's inventory that corresponds to the character in the catalog to be created. + */ + ItemId: string; + /** + / Non-unique display name of the character being granted. + */ + CharacterName: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.GrantCharacterToUserResult + */ + export interface GrantCharacterToUserResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique identifier tagged to this character. + */ + CharacterId?: string; + /** + / Type of character that was created. + */ + CharacterType?: string; + /** + / Indicates whether this character was created successfully. + */ + Result: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.ItemInstance + */ + export interface ItemInstance { + /** + / Unique identifier for the inventory item, as defined in the catalog. + */ + ItemId?: string; + /** + / Unique item identifier for this specific instance of the item. + */ + ItemInstanceId?: string; + /** + / Class name for the inventory item, as defined in the catalog. + */ + ItemClass?: string; + /** + / Timestamp for when this instance was purchased. + */ + PurchaseDate?: string; + /** + / Timestamp for when this instance will expire. + */ + Expiration?: string; + /** + / Total number of remaining uses, if this is a consumable item. + */ + RemainingUses?: number; + /** + / The number of uses that were added or removed to this item in this call. + */ + UsesIncrementedBy?: number; + /** + / Game specific comment associated with this instance when it was added to the user inventory. + */ + Annotation?: string; + /** + / Catalog version for the inventory item, when this instance was created. + */ + CatalogVersion?: string; + /** + / Unique identifier for the parent inventory item, as defined in the catalog, for object which were added from a bundle or container. + */ + BundleParent?: string; + /** + / CatalogItem.DisplayName at the time this item was purchased. + */ + DisplayName?: string; + /** + / Currency type for the cost of the catalog item. + */ + UnitCurrency?: string; + /** + / Cost of the catalog item in the given currency. + */ + UnitPrice: number; + /** + / Array of unique items that were awarded when this catalog item was purchased. + */ + BundleContents?: string[]; + /** + / A set of custom key-value pairs on the inventory item. + */ + CustomData?: { [key: string]: string }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.ItemPurchaseRequest + */ + export interface ItemPurchaseRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique ItemId of the item to purchase. + */ + ItemId: string; + /** + / How many of this item to purchase. + */ + Quantity: number; + /** + / Title-specific text concerning this purchase. + */ + Annotation?: string; + /** + / Items to be upgraded as a result of this purchase (upgraded items are hidden, as they are "replaced" by the new items). + */ + UpgradeFromItems?: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.KongregatePlayFabIdPair + */ + export interface KongregatePlayFabIdPair { + /** + / Unique Kongregate identifier for a user. + */ + KongregateId?: string; + /** + / Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the Kongregate identifier. + */ + PlayFabId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LinkAndroidDeviceIDRequest + */ + export interface LinkAndroidDeviceIDRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Android device identifier for the user's device. + */ + AndroidDeviceId: string; + /** + / Specific Operating System version for the user's device. + */ + OS?: string; + /** + / Specific model of the user's device. + */ + AndroidDevice?: string; + /** + / If another user is already linked to the device, unlink the other user and re-link. + */ + ForceLink?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LinkAndroidDeviceIDResult + */ + export interface LinkAndroidDeviceIDResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LinkCustomIDRequest + */ + export interface LinkCustomIDRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Custom unique identifier for the user, generated by the title. + */ + CustomId: string; + /** + / If another user is already linked to the custom ID, unlink the other user and re-link. + */ + ForceLink?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LinkCustomIDResult + */ + export interface LinkCustomIDResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LinkFacebookAccountRequest + */ + export interface LinkFacebookAccountRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier from Facebook for the user. + */ + AccessToken: string; + /** + / If another user is already linked to the account, unlink the other user and re-link. + */ + ForceLink?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LinkFacebookAccountResult + */ + export interface LinkFacebookAccountResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LinkGameCenterAccountRequest + */ + export interface LinkGameCenterAccountRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Game Center identifier for the player account to be linked. + */ + GameCenterId: string; + /** + / If another user is already linked to the account, unlink the other user and re-link. + */ + ForceLink?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LinkGameCenterAccountResult + */ + export interface LinkGameCenterAccountResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LinkGoogleAccountRequest + */ + export interface LinkGoogleAccountRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Server authentication code obtained on the client by calling getServerAuthCode() (https://developers.google.com/identity/sign-in/android/offline-access) from Google Play for the user. + */ + ServerAuthCode?: string; + /** + / OAuth 2.0 access token obtained on the client by calling the getAccessToken() Google client API. + */ + AccessToken?: string; + /** + / If another user is already linked to the account, unlink the other user and re-link. + */ + ForceLink?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LinkGoogleAccountResult + */ + export interface LinkGoogleAccountResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LinkIOSDeviceIDRequest + */ + export interface LinkIOSDeviceIDRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Vendor-specific iOS identifier for the user's device. + */ + DeviceId: string; + /** + / Specific Operating System version for the user's device. + */ + OS?: string; + /** + / Specific model of the user's device. + */ + DeviceModel?: string; + /** + / If another user is already linked to the device, unlink the other user and re-link. + */ + ForceLink?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LinkIOSDeviceIDResult + */ + export interface LinkIOSDeviceIDResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LinkKongregateAccountRequest + */ + export interface LinkKongregateAccountRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Numeric user ID assigned by Kongregate + */ + KongregateId: string; + /** + / Valid session auth ticket issued by Kongregate + */ + AuthTicket: string; + /** + / If another user is already linked to the account, unlink the other user and re-link. + */ + ForceLink?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LinkKongregateAccountResult + */ + export interface LinkKongregateAccountResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LinkSteamAccountRequest + */ + export interface LinkSteamAccountRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Authentication token for the user, returned as a byte array from Steam, and converted to a string (for example, the byte 0x08 should become "08"). + */ + SteamTicket: string; + /** + / If another user is already linked to the account, unlink the other user and re-link. + */ + ForceLink?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LinkSteamAccountResult + */ + export interface LinkSteamAccountResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LinkTwitchAccountRequest + */ + export interface LinkTwitchAccountRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Valid token issued by Twitch + */ + AccessToken: string; + /** + / If another user is already linked to the account, unlink the other user and re-link. + */ + ForceLink?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LinkTwitchAccountResult + */ + export interface LinkTwitchAccountResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.ListUsersCharactersRequest + */ + export interface ListUsersCharactersRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.ListUsersCharactersResult + */ + export interface ListUsersCharactersResult extends PlayFabModule.IPlayFabResultCommon { + /** + / The requested list of characters. + */ + Characters?: CharacterResult[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LoginResult + */ + export interface LoginResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique token authorizing the user and game at the server level, for the current session. + */ + SessionTicket?: string; + /** + / Player's unique PlayFabId. + */ + PlayFabId?: string; + /** + / True if the account was newly created on this login. + */ + NewlyCreated: boolean; + /** + / Settings specific to this user. + */ + SettingsForUser?: UserSettings; + /** + / The time of this user's previous login. If there was no previous login, then it's DateTime.MinValue + */ + LastLoginTime?: string; + /** + / Results for requested info. + */ + InfoResultPayload?: GetPlayerCombinedInfoResultPayload; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LoginWithAndroidDeviceIDRequest + */ + export interface LoginWithAndroidDeviceIDRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected. + */ + TitleId?: string; + /** + / Android device identifier for the user's device. + */ + AndroidDeviceId: string; + /** + / Specific Operating System version for the user's device. + */ + OS?: string; + /** + / Specific model of the user's device. + */ + AndroidDevice?: string; + /** + / Automatically create a PlayFab account if one is not currently linked to this Android device. + */ + CreateAccount?: boolean; + /** + / Flags for which pieces of info to return for the user. + */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LoginWithCustomIDRequest + */ + export interface LoginWithCustomIDRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected. + */ + TitleId?: string; + /** + / Custom unique identifier for the user, generated by the title. + */ + CustomId: string; + /** + / Automatically create a PlayFab account if one is not currently linked to this Custom ID. + */ + CreateAccount?: boolean; + /** + / Flags for which pieces of info to return for the user. + */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LoginWithEmailAddressRequest + */ + export interface LoginWithEmailAddressRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected. + */ + TitleId?: string; + /** + / Email address for the account. + */ + Email: string; + /** + / Password for the PlayFab account (6-100 characters) + */ + Password: string; + /** + / Flags for which pieces of info to return for the user. + */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LoginWithFacebookRequest + */ + export interface LoginWithFacebookRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected. + */ + TitleId?: string; + /** + / Unique identifier from Facebook for the user. + */ + AccessToken: string; + /** + / Automatically create a PlayFab account if one is not currently linked to this Facebook account. + */ + CreateAccount?: boolean; + /** + / Flags for which pieces of info to return for the user. + */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LoginWithGameCenterRequest + */ + export interface LoginWithGameCenterRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected. + */ + TitleId?: string; + /** + / Unique Game Center player id. + */ + PlayerId: string; + /** + / Automatically create a PlayFab account if one is not currently linked to this Game Center id. + */ + CreateAccount?: boolean; + /** + / Flags for which pieces of info to return for the user. + */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LoginWithGoogleAccountRequest + */ + export interface LoginWithGoogleAccountRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected. + */ + TitleId?: string; + /** + / OAuth 2.0 server authentication code obtained on the client by calling the getServerAuthCode() (https://developers.google.com/identity/sign-in/android/offline-access) Google client API. + */ + ServerAuthCode?: string; + /** + / OAuth 2.0 access token obtained on the client by calling the getAccessToken() Google client API. + */ + AccessToken?: string; + /** + / Automatically create a PlayFab account if one is not currently linked to this Google account. + */ + CreateAccount?: boolean; + /** + / Flags for which pieces of info to return for the user. + */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LoginWithIOSDeviceIDRequest + */ + export interface LoginWithIOSDeviceIDRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected. + */ + TitleId?: string; + /** + / Vendor-specific iOS identifier for the user's device. + */ + DeviceId: string; + /** + / Specific Operating System version for the user's device. + */ + OS?: string; + /** + / Specific model of the user's device. + */ + DeviceModel?: string; + /** + / Flags for which pieces of info to return for the user. + */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + /** + / Automatically create a PlayFab account if one is not currently linked to this iOS device. + */ + CreateAccount?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LoginWithKongregateRequest + */ + export interface LoginWithKongregateRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected. + */ + TitleId?: string; + /** + / Numeric user ID assigned by Kongregate + */ + KongregateId: string; + /** + / Token issued by Kongregate's client API for the user. + */ + AuthTicket: string; + /** + / Automatically create a PlayFab account if one is not currently linked to this Kongregate account. + */ + CreateAccount?: boolean; + /** + / Flags for which pieces of info to return for the user. + */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LoginWithPlayFabRequest + */ + export interface LoginWithPlayFabRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected. + */ + TitleId?: string; + /** + / PlayFab username for the account. + */ + Username: string; + /** + / Password for the PlayFab account (6-100 characters) + */ + Password: string; + /** + / Flags for which pieces of info to return for the user. + */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LoginWithSteamRequest + */ + export interface LoginWithSteamRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected. + */ + TitleId?: string; + /** + / Authentication token for the user, returned as a byte array from Steam, and converted to a string (for example, the byte 0x08 should become "08"). + */ + SteamTicket: string; + /** + / Automatically create a PlayFab account if one is not currently linked to this Steam account. + */ + CreateAccount?: boolean; + /** + / Flags for which pieces of info to return for the user. + */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LoginWithTwitchRequest + */ + export interface LoginWithTwitchRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected. + */ + TitleId?: string; + /** + / Token issued by Twitch's API for the user. + */ + AccessToken: string; + /** + / Automatically create a PlayFab account if one is not currently linked to this Twitch account. + */ + CreateAccount?: boolean; + /** + / Flags for which pieces of info to return for the user. + */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.LogStatement + */ + export interface LogStatement { + /** + / 'Debug', 'Info', or 'Error' + */ + Level?: string; + Message?: string; + /** + / Optional object accompanying the message as contextual information + */ + Data?: any; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.MatchmakeRequest + */ + export interface MatchmakeRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Build version to match against. [Note: Required if LobbyId is not specified] + */ + BuildVersion?: string; + /** + / Region to match make against. [Note: Required if LobbyId is not specified] + */ + Region?: string; + /** + / Game mode to match make against. [Note: Required if LobbyId is not specified] + */ + GameMode?: string; + /** + / Lobby identifier to match make against. This is used to select a specific Game Server Instance. + */ + LobbyId?: string; + /** + / Player statistic to use in finding a match. May be null for no stat-based matching. + */ + StatisticName?: string; + /** + / Character to use for stats based matching. Leave null to use account stats. + */ + CharacterId?: string; + /** + / Start a game session if one with an open slot is not found. Defaults to true. + */ + StartNewIfNoneFound?: boolean; + /** + / Filter to include and/or exclude Game Server Instances associated with certain Tags + */ + TagFilter?: CollectionFilter; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.MatchmakeResult + */ + export interface MatchmakeResult extends PlayFabModule.IPlayFabResultCommon { + /** + / unique lobby identifier of the server matched + */ + LobbyID?: string; + /** + / IP address of the server + */ + ServerHostname?: string; + /** + / port number to use for non-http communications with the server + */ + ServerPort?: number; + /** + / server authorization ticket (used by RedeemMatchmakerTicket to validate user insertion into the game) + */ + Ticket?: string; + /** + / timestamp for when the server will expire, if applicable + */ + Expires?: string; + /** + / time in milliseconds the application is configured to wait on matchmaking results + */ + PollWaitTimeMS?: number; + /** + / result of match making process + */ + Status?: string; + + } + + type MatchmakeStatus = "Complete" + | "Waiting" + | "GameNotFound" + | "NoAvailableSlots" + | "SessionClosed"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.ModifyUserVirtualCurrencyResult + */ + export interface ModifyUserVirtualCurrencyResult extends PlayFabModule.IPlayFabResultCommon { + /** + / User currency was subtracted from. + */ + PlayFabId?: string; + /** + / Name of the virtual currency which was modified. + */ + VirtualCurrency?: string; + /** + / Amount added or subtracted from the user's virtual currency. Maximum VC balance is Int32 (2,147,483,647). Any increase over this value will be discarded. + */ + BalanceChange: number; + /** + / Balance of the virtual currency after modification. + */ + Balance: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.NameIdentifier + */ + export interface NameIdentifier { + Name?: string; + Id?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.OpenTradeRequest + */ + export interface OpenTradeRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Player inventory items offered for trade. If not set, the trade is effectively a gift request + */ + OfferedInventoryInstanceIds?: string[]; + /** + / Catalog items accepted for the trade. If not set, the trade is effectively a gift. + */ + RequestedCatalogItemIds?: string[]; + /** + / Players who are allowed to accept the trade. If null, the trade may be accepted by any player. If empty, the trade may not be accepted by any player. + */ + AllowedPlayerIds?: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.OpenTradeResponse + */ + export interface OpenTradeResponse extends PlayFabModule.IPlayFabResultCommon { + /** + / The information about the trade that was just opened. + */ + Trade?: TradeInfo; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.PayForPurchaseRequest + */ + export interface PayForPurchaseRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Purchase order identifier returned from StartPurchase. + */ + OrderId: string; + /** + / Payment provider to use to fund the purchase. + */ + ProviderName: string; + /** + / Currency to use to fund the purchase. + */ + Currency: string; + /** + / Payment provider transaction identifier. Required for Facebook Payments. + */ + ProviderTransactionId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.PayForPurchaseResult + */ + export interface PayForPurchaseResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Purchase order identifier. + */ + OrderId?: string; + /** + / Status of the transaction. + */ + Status?: string; + /** + / Virtual currency cost of the transaction. + */ + VCAmount?: { [key: string]: number }; + /** + / Real world currency for the transaction. + */ + PurchaseCurrency?: string; + /** + / Real world cost of the transaction. + */ + PurchasePrice: number; + /** + / Local credit applied to the transaction (provider specific). + */ + CreditApplied: number; + /** + / Provider used for the transaction. + */ + ProviderData?: string; + /** + / URL to the purchase provider page that details the purchase. + */ + PurchaseConfirmationPageURL?: string; + /** + / Current virtual currency totals for the user. + */ + VirtualCurrency?: { [key: string]: number }; + /** + / A token generated by the provider to authenticate the request (provider-specific). + */ + ProviderToken?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.PaymentOption + */ + export interface PaymentOption { + /** + / Specific currency to use to fund the purchase. + */ + Currency?: string; + /** + / Name of the purchase provider for this option. + */ + ProviderName?: string; + /** + / Amount of the specified currency needed for the purchase. + */ + Price: number; + /** + / Amount of existing credit the user has with the provider. + */ + StoreCredit: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.PlayerLeaderboardEntry + */ + export interface PlayerLeaderboardEntry { + /** + / PlayFab unique identifier of the user for this leaderboard entry. + */ + PlayFabId?: string; + /** + / Title-specific display name of the user for this leaderboard entry. + */ + DisplayName?: string; + /** + / Specific value of the user's statistic. + */ + StatValue: number; + /** + / User's overall position in the leaderboard. + */ + Position: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.PlayerStatisticVersion + */ + export interface PlayerStatisticVersion { + /** + / name of the statistic when the version became active + */ + StatisticName?: string; + /** + / version of the statistic + */ + Version: number; + /** + / time at which the statistic version was scheduled to become active, based on the configured ResetInterval + */ + ScheduledActivationTime?: string; + /** + / time when the statistic version became active + */ + ActivationTime: string; + /** + / time at which the statistic version was scheduled to become inactive, based on the configured ResetInterval + */ + ScheduledDeactivationTime?: string; + /** + / time when the statistic version became inactive due to statistic version incrementing + */ + DeactivationTime?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.PurchaseItemRequest + */ + export interface PurchaseItemRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier of the item to purchase. + */ + ItemId: string; + /** + / Virtual currency to use to purchase the item. + */ + VirtualCurrency: string; + /** + / Price the client expects to pay for the item (in case a new catalog or store was uploaded, with new prices). + */ + Price: number; + /** + / Catalog version for the items to be purchased (defaults to most recent version. + */ + CatalogVersion?: string; + /** + / Store to buy this item through. If not set, prices default to those in the catalog. + */ + StoreId?: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.PurchaseItemResult + */ + export interface PurchaseItemResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Details for the items purchased. + */ + Items?: ItemInstance[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.RedeemCouponRequest + */ + export interface RedeemCouponRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Generated coupon code to redeem. + */ + CouponCode: string; + /** + / Catalog version of the coupon. If null, uses the default catalog + */ + CatalogVersion?: string; + /** + / Optional identifier for the Character that should receive the item. If null, item is added to the player + */ + CharacterId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.RedeemCouponResult + */ + export interface RedeemCouponResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Items granted to the player as a result of redeeming the coupon. + */ + GrantedItems?: ItemInstance[]; + + } + + type Region = "USCentral" + | "USEast" + | "EUWest" + | "Singapore" + | "Japan" + | "Brazil" + | "Australia"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.RegionInfo + */ + export interface RegionInfo { + /** + / unique identifier for the region + */ + Region?: string; + /** + / name of the region + */ + Name?: string; + /** + / indicates whether the server specified is available in this region + */ + Available: boolean; + /** + / url to ping to get roundtrip time + */ + PingUrl?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.RegisterForIOSPushNotificationRequest + */ + export interface RegisterForIOSPushNotificationRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique token generated by the Apple Push Notification service when the title registered to receive push notifications. + */ + DeviceToken: string; + /** + / If true, send a test push message immediately after sucessful registration. Defaults to false. + */ + SendPushNotificationConfirmation?: boolean; + /** + / Message to display when confirming push notification. + */ + ConfirmationMessage?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.RegisterForIOSPushNotificationResult + */ + export interface RegisterForIOSPushNotificationResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.RegisterPlayFabUserRequest + */ + export interface RegisterPlayFabUserRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected. + */ + TitleId?: string; + /** + / PlayFab username for the account (3-20 characters) + */ + Username?: string; + /** + / User email address attached to their account + */ + Email?: string; + /** + / Password for the PlayFab account (6-100 characters) + */ + Password: string; + /** + / An optional parameter that specifies whether both the username and email parameters are required. If true, both parameters are required; if false, the user must supply either the username or email parameter. The default value is true. + */ + RequireBothUsernameAndEmail?: boolean; + /** + / An optional parameter for setting the display name for this title. + */ + DisplayName?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.RegisterPlayFabUserResult + */ + export interface RegisterPlayFabUserResult extends PlayFabModule.IPlayFabResultCommon { + /** + / PlayFab unique identifier for this newly created account. + */ + PlayFabId?: string; + /** + / Unique token identifying the user and game at the server level, for the current session. + */ + SessionTicket?: string; + /** + / PlayFab unique user name. + */ + Username?: string; + /** + / Settings specific to this user. + */ + SettingsForUser?: UserSettings; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.RemoveFriendRequest + */ + export interface RemoveFriendRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / PlayFab identifier of the friend account which is to be removed. + */ + FriendPlayFabId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.RemoveFriendResult + */ + export interface RemoveFriendResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.RemoveGenericIDRequest + */ + export interface RemoveGenericIDRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Generic service identifier to be removed from the player. + */ + GenericId: GenericServiceId; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.RemoveGenericIDResult + */ + export interface RemoveGenericIDResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.RemoveSharedGroupMembersRequest + */ + export interface RemoveSharedGroupMembersRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the shared group. + */ + SharedGroupId: string; + /** + / An array of unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabIds: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.RemoveSharedGroupMembersResult + */ + export interface RemoveSharedGroupMembersResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.ReportPlayerClientRequest + */ + export interface ReportPlayerClientRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab identifier of the reported player. + */ + ReporteeId: string; + /** + / Optional additional comment by reporting player. + */ + Comment?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.ReportPlayerClientResult + */ + export interface ReportPlayerClientResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Indicates whether this action completed successfully. + */ + Updated: boolean; + /** + / The number of remaining reports which may be filed today. + */ + SubmissionsRemaining: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.RestoreIOSPurchasesRequest + */ + export interface RestoreIOSPurchasesRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Base64 encoded receipt data, passed back by the App Store as a result of a successful purchase. + */ + ReceiptData: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.RestoreIOSPurchasesResult + */ + export interface RestoreIOSPurchasesResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.ScriptExecutionError + */ + export interface ScriptExecutionError { + /** + / Error code, such as CloudScriptNotFound, JavascriptException, CloudScriptFunctionArgumentSizeExceeded, CloudScriptAPIRequestCountExceeded, CloudScriptAPIRequestError, or CloudScriptHTTPRequestError + */ + Error?: string; + /** + / Details about the error + */ + Message?: string; + /** + / Point during the execution of the script at which the error occurred, if any + */ + StackTrace?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.SendAccountRecoveryEmailRequest + */ + export interface SendAccountRecoveryEmailRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / User email address attached to their account + */ + Email: string; + /** + / Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected. + */ + TitleId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.SendAccountRecoveryEmailResult + */ + export interface SendAccountRecoveryEmailResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.SetFriendTagsRequest + */ + export interface SetFriendTagsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / PlayFab identifier of the friend account to which the tag(s) should be applied. + */ + FriendPlayFabId: string; + /** + / Array of tags to set on the friend account. + */ + Tags: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.SetFriendTagsResult + */ + export interface SetFriendTagsResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.SharedGroupDataRecord + */ + export interface SharedGroupDataRecord { + /** + / Data stored for the specified group data key. + */ + Value?: string; + /** + / Unique PlayFab identifier of the user to last update this value. + */ + LastUpdatedBy?: string; + /** + / Timestamp for when this data was last updated. + */ + LastUpdated: string; + /** + / Indicates whether this data can be read by all users (public) or only members of the group (private). + */ + Permission?: string; + + } + + type SourceType = "Admin" + | "BackEnd" + | "GameClient" + | "GameServer" + | "Partner"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.StartGameRequest + */ + export interface StartGameRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / version information for the build of the game server which is to be started + */ + BuildVersion: string; + /** + / the region to associate this server with for match filtering + */ + Region: string; + /** + / the title-defined game mode this server is to be running (defaults to 0 if there is only one mode) + */ + GameMode: string; + /** + / player statistic for others to use in finding this game. May be null for no stat-based matching + */ + StatisticName?: string; + /** + / character to use for stats based matching. Leave null to use account stats + */ + CharacterId?: string; + /** + / custom command line argument when starting game server process + */ + CustomCommandLineData?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.StartGameResult + */ + export interface StartGameResult extends PlayFabModule.IPlayFabResultCommon { + /** + / unique identifier for the lobby of the server started + */ + LobbyID?: string; + /** + / server IP address + */ + ServerHostname?: string; + /** + / port on the server to be used for communication + */ + ServerPort?: number; + /** + / unique identifier for the server + */ + Ticket?: string; + /** + / timestamp for when the server should expire, if applicable + */ + Expires?: string; + /** + / password required to log into the server + */ + Password?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.StartPurchaseRequest + */ + export interface StartPurchaseRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Catalog version for the items to be purchased. Defaults to most recent catalog. + */ + CatalogVersion?: string; + /** + / Store through which to purchase items. If not set, prices will be pulled from the catalog itself. + */ + StoreId?: string; + /** + / Array of items to purchase. + */ + Items: ItemPurchaseRequest[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.StartPurchaseResult + */ + export interface StartPurchaseResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Purchase order identifier. + */ + OrderId?: string; + /** + / Cart items to be purchased. + */ + Contents?: CartItem[]; + /** + / Available methods by which the user can pay. + */ + PaymentOptions?: PaymentOption[]; + /** + / Current virtual currency totals for the user. + */ + VirtualCurrencyBalances?: { [key: string]: number }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.StatisticNameVersion + */ + export interface StatisticNameVersion { + /** + / unique name of the statistic + */ + StatisticName: string; + /** + / the version of the statistic to be returned + */ + Version: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.StatisticUpdate + */ + export interface StatisticUpdate { + /** + / unique name of the statistic + */ + StatisticName: string; + /** + / for updates to an existing statistic value for a player, the version of the statistic when it was loaded. Null when setting the statistic value for the first time. + */ + Version?: number; + /** + / statistic value for the player + */ + Value: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.StatisticValue + */ + export interface StatisticValue { + /** + / unique name of the statistic + */ + StatisticName?: string; + /** + / statistic value for the player + */ + Value: number; + /** + / for updates to an existing statistic value for a player, the version of the statistic when it was loaded + */ + Version: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.SteamPlayFabIdPair + */ + export interface SteamPlayFabIdPair { + /** + / Unique Steam identifier for a user. + */ + SteamStringId?: string; + /** + / Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the Steam identifier. + */ + PlayFabId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.StoreItem + */ + export interface StoreItem { + /** + / Unique identifier of the item as it exists in the catalog - note that this must exactly match the ItemId from the catalog + */ + ItemId: string; + /** + / Override prices for this item in virtual currencies and "RM" (the base Real Money purchase price, in USD pennies) + */ + VirtualCurrencyPrices?: { [key: string]: number }; + /** + / Override prices for this item for specific currencies + */ + RealCurrencyPrices?: { [key: string]: number }; + /** + / Store specific custom data. The data only exists as part of this store; it is not transferred to item instances + */ + CustomData?: any; + /** + / Intended display position for this item. Note that 0 is the first position + */ + DisplayPosition?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.StoreMarketingModel + */ + export interface StoreMarketingModel { + /** + / Display name of a store as it will appear to users. + */ + DisplayName?: string; + /** + / Tagline for a store. + */ + Description?: string; + /** + / Custom data about a store. + */ + Metadata?: any; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.SubtractUserVirtualCurrencyRequest + */ + export interface SubtractUserVirtualCurrencyRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Name of the virtual currency which is to be decremented. + */ + VirtualCurrency: string; + /** + / Amount to be subtracted from the user balance of the specified virtual currency. + */ + Amount: number; + + } + + type TitleActivationStatus = "None" + | "ActivatedTitleKey" + | "PendingSteam" + | "ActivatedSteam" + | "RevokedSteam"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.TitleNewsItem + */ + export interface TitleNewsItem { + /** + / Date and time when the news items was posted. + */ + Timestamp: string; + /** + / Unique identifier of news item. + */ + NewsId?: string; + /** + / Title of the news item. + */ + Title?: string; + /** + / News item text. + */ + Body?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.TradeInfo + */ + export interface TradeInfo { + /** + / Describes the current state of this trade. + */ + Status?: string; + /** + / The identifier for this trade. + */ + TradeId?: string; + /** + / The PlayFabId for the offering player. + */ + OfferingPlayerId?: string; + /** + / The itemInstance Ids that are being offered. + */ + OfferedInventoryInstanceIds?: string[]; + /** + / The catalogItem Ids of the item instances being offered. + */ + OfferedCatalogItemIds?: string[]; + /** + / The catalogItem Ids requested in exchange. + */ + RequestedCatalogItemIds?: string[]; + /** + / An optional list of players allowed to complete this trade. If null, anybody can complete the trade. + */ + AllowedPlayerIds?: string[]; + /** + / The PlayFab ID of the player who accepted the trade. If null, no one has accepted the trade. + */ + AcceptedPlayerId?: string; + /** + / Item instances from the accepting player that are used to fulfill the trade. If null, no one has accepted the trade. + */ + AcceptedInventoryInstanceIds?: string[]; + /** + / The UTC time when this trade was created. + */ + OpenedAt?: string; + /** + / If set, The UTC time when this trade was fulfilled. + */ + FilledAt?: string; + /** + / If set, The UTC time when this trade was canceled. + */ + CancelledAt?: string; + /** + / If set, The UTC time when this trade was made invalid. + */ + InvalidatedAt?: string; + + } + + type TradeStatus = "Invalid" + | "Opening" + | "Open" + | "Accepting" + | "Accepted" + | "Filled" + | "Cancelled"; + + type TransactionStatus = "CreateCart" + | "Init" + | "Approved" + | "Succeeded" + | "FailedByProvider" + | "DisputePending" + | "RefundPending" + | "Refunded" + | "RefundFailed" + | "ChargedBack" + | "FailedByUber" + | "FailedByPlayFab" + | "Revoked" + | "TradePending" + | "Traded" + | "Upgraded" + | "StackPending" + | "Stacked" + | "Other" + | "Failed"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.TwitchPlayFabIdPair + */ + export interface TwitchPlayFabIdPair { + /** + / Unique Twitch identifier for a user. + */ + TwitchId?: string; + /** + / Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the Twitch identifier. + */ + PlayFabId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlinkAndroidDeviceIDRequest + */ + export interface UnlinkAndroidDeviceIDRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Android device identifier for the user's device. If not specified, the most recently signed in Android Device ID will be used. + */ + AndroidDeviceId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlinkAndroidDeviceIDResult + */ + export interface UnlinkAndroidDeviceIDResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlinkCustomIDRequest + */ + export interface UnlinkCustomIDRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Custom unique identifier for the user, generated by the title. If not specified, the most recently signed in Custom ID will be used. + */ + CustomId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlinkCustomIDResult + */ + export interface UnlinkCustomIDResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlinkFacebookAccountRequest + */ + export interface UnlinkFacebookAccountRequest extends PlayFabModule.IPlayFabRequestCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlinkFacebookAccountResult + */ + export interface UnlinkFacebookAccountResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlinkGameCenterAccountRequest + */ + export interface UnlinkGameCenterAccountRequest extends PlayFabModule.IPlayFabRequestCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlinkGameCenterAccountResult + */ + export interface UnlinkGameCenterAccountResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlinkGoogleAccountRequest + */ + export interface UnlinkGoogleAccountRequest extends PlayFabModule.IPlayFabRequestCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlinkGoogleAccountResult + */ + export interface UnlinkGoogleAccountResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlinkIOSDeviceIDRequest + */ + export interface UnlinkIOSDeviceIDRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Vendor-specific iOS identifier for the user's device. If not specified, the most recently signed in iOS Device ID will be used. + */ + DeviceId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlinkIOSDeviceIDResult + */ + export interface UnlinkIOSDeviceIDResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlinkKongregateAccountRequest + */ + export interface UnlinkKongregateAccountRequest extends PlayFabModule.IPlayFabRequestCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlinkKongregateAccountResult + */ + export interface UnlinkKongregateAccountResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlinkSteamAccountRequest + */ + export interface UnlinkSteamAccountRequest extends PlayFabModule.IPlayFabRequestCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlinkSteamAccountResult + */ + export interface UnlinkSteamAccountResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlinkTwitchAccountRequest + */ + export interface UnlinkTwitchAccountRequest extends PlayFabModule.IPlayFabRequestCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlinkTwitchAccountResult + */ + export interface UnlinkTwitchAccountResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlockContainerInstanceRequest + */ + export interface UnlockContainerInstanceRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId?: string; + /** + / ItemInstanceId of the container to unlock. + */ + ContainerItemInstanceId: string; + /** + / ItemInstanceId of the key that will be consumed by unlocking this container. If the container requires a key, this parameter is required. + */ + KeyItemInstanceId?: string; + /** + / Specifies the catalog version that should be used to determine container contents. If unspecified, uses catalog associated with the item instance. + */ + CatalogVersion?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlockContainerItemRequest + */ + export interface UnlockContainerItemRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Catalog ItemId of the container type to unlock. + */ + ContainerItemId: string; + /** + / Specifies the catalog version that should be used to determine container contents. If unspecified, uses default/primary catalog. + */ + CatalogVersion?: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UnlockContainerItemResult + */ + export interface UnlockContainerItemResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique instance identifier of the container unlocked. + */ + UnlockedItemInstanceId?: string; + /** + / Unique instance identifier of the key used to unlock the container, if applicable. + */ + UnlockedWithItemInstanceId?: string; + /** + / Items granted to the player as a result of unlocking the container. + */ + GrantedItems?: ItemInstance[]; + /** + / Virtual currency granted to the player as a result of unlocking the container. + */ + VirtualCurrency?: { [key: string]: number }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UpdateCharacterDataRequest + */ + export interface UpdateCharacterDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + /** + / Key-value pairs to be written to the custom data. Note that keys are trimmed of whitespace, are limited in size, and may not begin with a '!' character. + */ + Data?: { [key: string]: string }; + /** + / Optional list of Data-keys to remove from UserData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + */ + KeysToRemove?: string[]; + /** + / Permission to be applied to all user data keys written in this request. Defaults to "private" if not set. + */ + Permission?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UpdateCharacterDataResult + */ + export interface UpdateCharacterDataResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Indicates the current version of the data that has been set. This is incremented with every set call for that type of data (read-only, internal, etc). This version can be provided in Get calls to find updated data. + */ + DataVersion: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UpdateCharacterStatisticsRequest + */ + export interface UpdateCharacterStatisticsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + /** + / Statistics to be updated with the provided values. + */ + CharacterStatistics?: { [key: string]: number }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UpdateCharacterStatisticsResult + */ + export interface UpdateCharacterStatisticsResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UpdatePlayerStatisticsRequest + */ + export interface UpdatePlayerStatisticsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Statistics to be updated with the provided values + */ + Statistics: StatisticUpdate[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UpdatePlayerStatisticsResult + */ + export interface UpdatePlayerStatisticsResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UpdateSharedGroupDataRequest + */ + export interface UpdateSharedGroupDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the shared group. + */ + SharedGroupId: string; + /** + / Key-value pairs to be written to the custom data. Note that keys are trimmed of whitespace, are limited in size, and may not begin with a '!' character. + */ + Data?: { [key: string]: string }; + /** + / Optional list of Data-keys to remove from UserData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + */ + KeysToRemove?: string[]; + /** + / Permission to be applied to all user data keys in this request. + */ + Permission?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UpdateSharedGroupDataResult + */ + export interface UpdateSharedGroupDataResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UpdateUserDataRequest + */ + export interface UpdateUserDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Key-value pairs to be written to the custom data. Note that keys are trimmed of whitespace, are limited in size, and may not begin with a '!' character. + */ + Data?: { [key: string]: string }; + /** + / Optional list of Data-keys to remove from UserData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + */ + KeysToRemove?: string[]; + /** + / Permission to be applied to all user data keys written in this request. Defaults to "private" if not set. This is used for requests by one player for information about another player; those requests will only return Public keys. + */ + Permission?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UpdateUserDataResult + */ + export interface UpdateUserDataResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Indicates the current version of the data that has been set. This is incremented with every set call for that type of data (read-only, internal, etc). This version can be provided in Get calls to find updated data. + */ + DataVersion: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UpdateUserTitleDisplayNameRequest + */ + export interface UpdateUserTitleDisplayNameRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / New title display name for the user - must be between 3 and 25 characters. + */ + DisplayName: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UpdateUserTitleDisplayNameResult + */ + export interface UpdateUserTitleDisplayNameResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Current title display name for the user (this will be the original display name if the rename attempt failed). + */ + DisplayName?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UserAccountInfo + */ + export interface UserAccountInfo { + /** + / Unique identifier for the user account + */ + PlayFabId?: string; + /** + / Timestamp indicating when the user account was created + */ + Created: string; + /** + / User account name in the PlayFab service + */ + Username?: string; + /** + / Title-specific information for the user account + */ + TitleInfo?: UserTitleInfo; + /** + / Personal information for the user which is considered more sensitive + */ + PrivateInfo?: UserPrivateAccountInfo; + /** + / User Facebook information, if a Facebook account has been linked + */ + FacebookInfo?: UserFacebookInfo; + /** + / User Steam information, if a Steam account has been linked + */ + SteamInfo?: UserSteamInfo; + /** + / User Gamecenter information, if a Gamecenter account has been linked + */ + GameCenterInfo?: UserGameCenterInfo; + /** + / User iOS device information, if an iOS device has been linked + */ + IosDeviceInfo?: UserIosDeviceInfo; + /** + / User Android device information, if an Android device has been linked + */ + AndroidDeviceInfo?: UserAndroidDeviceInfo; + /** + / User Kongregate account information, if a Kongregate account has been linked + */ + KongregateInfo?: UserKongregateInfo; + /** + / User Twitch account information, if a Twitch account has been linked + */ + TwitchInfo?: UserTwitchInfo; + /** + / User PSN account information, if a PSN account has been linked + */ + PsnInfo?: UserPsnInfo; + /** + / User Google account information, if a Google account has been linked + */ + GoogleInfo?: UserGoogleInfo; + /** + / User XBox account information, if a XBox account has been linked + */ + XboxInfo?: UserXboxInfo; + /** + / Custom ID information, if a custom ID has been assigned + */ + CustomIdInfo?: UserCustomIdInfo; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UserAndroidDeviceInfo + */ + export interface UserAndroidDeviceInfo { + /** + / Android device ID + */ + AndroidDeviceId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UserCustomIdInfo + */ + export interface UserCustomIdInfo { + /** + / Custom ID + */ + CustomId?: string; + + } + + type UserDataPermission = "Private" + | "Public"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UserDataRecord + */ + export interface UserDataRecord { + /** + / Data stored for the specified user data key. + */ + Value?: string; + /** + / Timestamp for when this data was last updated. + */ + LastUpdated: string; + /** + / Indicates whether this data can be read by all users (public) or only the user (private). This is used for GetUserData requests being made by one player about another player. + */ + Permission?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UserFacebookInfo + */ + export interface UserFacebookInfo { + /** + / Facebook identifier + */ + FacebookId?: string; + /** + / Facebook full name + */ + FullName?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UserGameCenterInfo + */ + export interface UserGameCenterInfo { + /** + / Gamecenter identifier + */ + GameCenterId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UserGoogleInfo + */ + export interface UserGoogleInfo { + /** + / Google ID + */ + GoogleId?: string; + /** + / Email address of the Google account + */ + GoogleEmail?: string; + /** + / Locale of the Google account + */ + GoogleLocale?: string; + /** + / Gender information of the Google account + */ + GoogleGender?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UserIosDeviceInfo + */ + export interface UserIosDeviceInfo { + /** + / iOS device ID + */ + IosDeviceId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UserKongregateInfo + */ + export interface UserKongregateInfo { + /** + / Kongregate ID + */ + KongregateId?: string; + /** + / Kongregate Username + */ + KongregateName?: string; + + } + + type UserOrigination = "Organic" + | "Steam" + | "Google" + | "Amazon" + | "Facebook" + | "Kongregate" + | "GamersFirst" + | "Unknown" + | "IOS" + | "LoadTest" + | "Android" + | "PSN" + | "GameCenter" + | "CustomId" + | "XboxLive" + | "Parse" + | "Twitch"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UserPrivateAccountInfo + */ + export interface UserPrivateAccountInfo { + /** + / user email address + */ + Email?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UserPsnInfo + */ + export interface UserPsnInfo { + /** + / PSN account ID + */ + PsnAccountId?: string; + /** + / PSN online ID + */ + PsnOnlineId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UserSettings + */ + export interface UserSettings { + /** + / Boolean for whether this player is eligible for ad tracking. + */ + NeedsAttribution: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UserSteamInfo + */ + export interface UserSteamInfo { + /** + / Steam identifier + */ + SteamId?: string; + /** + / the country in which the player resides, from Steam data + */ + SteamCountry?: string; + /** + / currency type set in the user Steam account + */ + SteamCurrency?: string; + /** + / what stage of game ownership the user is listed as being in, from Steam + */ + SteamActivationStatus?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UserTitleInfo + */ + export interface UserTitleInfo { + /** + / name of the user, as it is displayed in-game + */ + DisplayName?: string; + /** + / source by which the user first joined the game, if known + */ + Origination?: string; + /** + / timestamp indicating when the user was first associated with this game (this can differ significantly from when the user first registered with PlayFab) + */ + Created: string; + /** + / timestamp for the last user login for this title + */ + LastLogin?: string; + /** + / timestamp indicating when the user first signed into this game (this can differ from the Created timestamp, as other events, such as issuing a beta key to the user, can associate the title to the user) + */ + FirstLogin?: string; + /** + / boolean indicating whether or not the user is currently banned for a title + */ + isBanned?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UserTwitchInfo + */ + export interface UserTwitchInfo { + /** + / Twitch ID + */ + TwitchId?: string; + /** + / Twitch Username + */ + TwitchUserName?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.UserXboxInfo + */ + export interface UserXboxInfo { + /** + / XBox user ID + */ + XboxUserId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.ValidateAmazonReceiptRequest + */ + export interface ValidateAmazonReceiptRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / ReceiptId returned by the Amazon App Store in-app purchase API + */ + ReceiptId: string; + /** + / AmazonId of the user making the purchase as returned by the Amazon App Store in-app purchase API + */ + UserId: string; + /** + / Catalog version to use when granting receipt item. If null, defaults to primary catalog. + */ + CatalogVersion?: string; + /** + / Currency used for the purchase. + */ + CurrencyCode: string; + /** + / Amount of the stated currency paid for the object. + */ + PurchasePrice: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.ValidateAmazonReceiptResult + */ + export interface ValidateAmazonReceiptResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.ValidateGooglePlayPurchaseRequest + */ + export interface ValidateGooglePlayPurchaseRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Original JSON string returned by the Google Play IAB API. + */ + ReceiptJson: string; + /** + / Signature returned by the Google Play IAB API. + */ + Signature: string; + /** + / Currency used for the purchase. + */ + CurrencyCode?: string; + /** + / Amount of the stated currency paid for the object. + */ + PurchasePrice?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.ValidateGooglePlayPurchaseResult + */ + export interface ValidateGooglePlayPurchaseResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.ValidateIOSReceiptRequest + */ + export interface ValidateIOSReceiptRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Base64 encoded receipt data, passed back by the App Store as a result of a successful purchase. + */ + ReceiptData: string; + /** + / Currency used for the purchase. + */ + CurrencyCode: string; + /** + / Amount of the stated currency paid for the object. + */ + PurchasePrice: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.ValidateIOSReceiptResult + */ + export interface ValidateIOSReceiptResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.VirtualCurrencyRechargeTime + */ + export interface VirtualCurrencyRechargeTime { + /** + / Time remaining (in seconds) before the next recharge increment of the virtual currency. + */ + SecondsToRecharge: number; + /** + / Server timestamp in UTC indicating the next time the virtual currency will be incremented. + */ + RechargeTime: string; + /** + / Maximum value to which the regenerating currency will automatically increment. Note that it can exceed this value through use of the AddUserVirtualCurrency API call. However, it will not regenerate automatically until it has fallen below this value. + */ + RechargeMax: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.WriteClientCharacterEventRequest + */ + export interface WriteClientCharacterEventRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + /** + / The name of the event, within the namespace scoped to the title. The naming convention is up to the caller, but it commonly follows the subject_verb_object pattern (e.g. player_logged_in). + */ + EventName: string; + /** + / The time (in UTC) associated with this event. The value dafaults to the current time. + */ + Timestamp?: string; + /** + / Custom event properties. Each property consists of a name (string) and a value (JSON object). + */ + Body?: { [key: string]: any }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.WriteClientPlayerEventRequest + */ + export interface WriteClientPlayerEventRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / The name of the event, within the namespace scoped to the title. The naming convention is up to the caller, but it commonly follows the subject_verb_object pattern (e.g. player_logged_in). + */ + EventName: string; + /** + / The time (in UTC) associated with this event. The value dafaults to the current time. + */ + Timestamp?: string; + /** + / Custom data properties associated with the event. Each property consists of a name (string) and a value (JSON object). + */ + Body?: { [key: string]: any }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.WriteEventResponse + */ + export interface WriteEventResponse extends PlayFabModule.IPlayFabResultCommon { + /** + / The unique identifier of the event. The values of this identifier consist of ASCII characters and are not constrained to any particular format. + */ + EventId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Client.Models/PlayFab.Client.Models.WriteTitleEventRequest + */ + export interface WriteTitleEventRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / The name of the event, within the namespace scoped to the title. The naming convention is up to the caller, but it commonly follows the subject_verb_object pattern (e.g. player_logged_in). + */ + EventName: string; + /** + / The time (in UTC) associated with this event. The value dafaults to the current time. + */ + Timestamp?: string; + /** + / Custom event properties. Each property consists of a name (string) and a value (JSON object). + */ + Body?: { [key: string]: any }; + + } + + +} diff --git a/PlayFabTestingExample/src/typings/PlayFab/PlayFabMatchmakerApi.d.ts b/PlayFabTestingExample/src/typings/PlayFab/PlayFabMatchmakerApi.d.ts new file mode 100644 index 00000000..b2736a32 --- /dev/null +++ b/PlayFabTestingExample/src/typings/PlayFab/PlayFabMatchmakerApi.d.ts @@ -0,0 +1,358 @@ +declare module PlayFabMatchmakerModule { + export interface IPlayFabMatchmaker { + /** + / Validates a user with the PlayFab service + / https://api.playfab.com/Documentation/Matchmaker/method/AuthUser + */ + AuthUser(request: PlayFabMatchmakerModels.AuthUserRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Informs the PlayFab game server hosting service that the indicated user has joined the Game Server Instance specified + / https://api.playfab.com/Documentation/Matchmaker/method/PlayerJoined + */ + PlayerJoined(request: PlayFabMatchmakerModels.PlayerJoinedRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Informs the PlayFab game server hosting service that the indicated user has left the Game Server Instance specified + / https://api.playfab.com/Documentation/Matchmaker/method/PlayerLeft + */ + PlayerLeft(request: PlayFabMatchmakerModels.PlayerLeftRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Instructs the PlayFab game server hosting service to instantiate a new Game Server Instance + / https://api.playfab.com/Documentation/Matchmaker/method/StartGame + */ + StartGame(request: PlayFabMatchmakerModels.StartGameRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the relevant details for a specified user, which the external match-making service can then use to compute effective matches + / https://api.playfab.com/Documentation/Matchmaker/method/UserInfo + */ + UserInfo(request: PlayFabMatchmakerModels.UserInfoRequest, callback: PlayFabModule.ApiCallback): void; + + } +} + +declare module PlayFabMatchmakerModels { + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Matchmaker.Models/PlayFab.Matchmaker.Models.AuthUserRequest + */ + export interface AuthUserRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Session Ticket provided by the client. + */ + AuthorizationTicket: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Matchmaker.Models/PlayFab.Matchmaker.Models.AuthUserResponse + */ + export interface AuthUserResponse extends PlayFabModule.IPlayFabResultCommon { + /** + / Boolean indicating if the user has been authorized to use the external match-making service. + */ + Authorized: boolean; + /** + / PlayFab unique identifier of the account that has been authorized. + */ + PlayFabId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Matchmaker.Models/PlayFab.Matchmaker.Models.DeregisterGameRequest + */ + export interface DeregisterGameRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the Game Server Instance that is being deregistered. + */ + LobbyId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Matchmaker.Models/PlayFab.Matchmaker.Models.DeregisterGameResponse + */ + export interface DeregisterGameResponse extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Matchmaker.Models/PlayFab.Matchmaker.Models.ItemInstance + */ + export interface ItemInstance { + /** + / Unique identifier for the inventory item, as defined in the catalog. + */ + ItemId?: string; + /** + / Unique item identifier for this specific instance of the item. + */ + ItemInstanceId?: string; + /** + / Class name for the inventory item, as defined in the catalog. + */ + ItemClass?: string; + /** + / Timestamp for when this instance was purchased. + */ + PurchaseDate?: string; + /** + / Timestamp for when this instance will expire. + */ + Expiration?: string; + /** + / Total number of remaining uses, if this is a consumable item. + */ + RemainingUses?: number; + /** + / The number of uses that were added or removed to this item in this call. + */ + UsesIncrementedBy?: number; + /** + / Game specific comment associated with this instance when it was added to the user inventory. + */ + Annotation?: string; + /** + / Catalog version for the inventory item, when this instance was created. + */ + CatalogVersion?: string; + /** + / Unique identifier for the parent inventory item, as defined in the catalog, for object which were added from a bundle or container. + */ + BundleParent?: string; + /** + / CatalogItem.DisplayName at the time this item was purchased. + */ + DisplayName?: string; + /** + / Currency type for the cost of the catalog item. + */ + UnitCurrency?: string; + /** + / Cost of the catalog item in the given currency. + */ + UnitPrice: number; + /** + / Array of unique items that were awarded when this catalog item was purchased. + */ + BundleContents?: string[]; + /** + / A set of custom key-value pairs on the inventory item. + */ + CustomData?: { [key: string]: string }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Matchmaker.Models/PlayFab.Matchmaker.Models.PlayerJoinedRequest + */ + export interface PlayerJoinedRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier of the Game Server Instance the user is joining. + */ + LobbyId: string; + /** + / PlayFab unique identifier for the user joining. + */ + PlayFabId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Matchmaker.Models/PlayFab.Matchmaker.Models.PlayerJoinedResponse + */ + export interface PlayerJoinedResponse extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Matchmaker.Models/PlayFab.Matchmaker.Models.PlayerLeftRequest + */ + export interface PlayerLeftRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier of the Game Server Instance the user is leaving. + */ + LobbyId: string; + /** + / PlayFab unique identifier for the user leaving. + */ + PlayFabId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Matchmaker.Models/PlayFab.Matchmaker.Models.PlayerLeftResponse + */ + export interface PlayerLeftResponse extends PlayFabModule.IPlayFabResultCommon { + + } + + type Region = "USCentral" + | "USEast" + | "EUWest" + | "Singapore" + | "Japan" + | "Brazil" + | "Australia"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Matchmaker.Models/PlayFab.Matchmaker.Models.RegisterGameRequest + */ + export interface RegisterGameRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / IP address of the Game Server Instance. + */ + ServerHost: string; + /** + / Port number for communication with the Game Server Instance. + */ + ServerPort: string; + /** + / Unique identifier of the build running on the Game Server Instance. + */ + Build: string; + /** + / Region in which the Game Server Instance is running. For matchmaking using non-AWS region names, set this to any AWS region and use Tags (below) to specify your custom region. + */ + Region: string; + /** + / Game Mode the Game Server instance is running. Note that this must be defined in the Game Modes tab in the PlayFab Game Manager, along with the Build ID (the same Game Mode can be defined for multiple Build IDs). + */ + GameMode: string; + /** + / Tags for the Game Server Instance + */ + Tags?: { [key: string]: string }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Matchmaker.Models/PlayFab.Matchmaker.Models.RegisterGameResponse + */ + export interface RegisterGameResponse extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique identifier generated for the Game Server Instance that is registered. + */ + LobbyId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Matchmaker.Models/PlayFab.Matchmaker.Models.StartGameRequest + */ + export interface StartGameRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier of the previously uploaded build executable which is to be started. + */ + Build: string; + /** + / Region with which to associate the server, for filtering. + */ + Region: string; + /** + / Game mode for this Game Server Instance. + */ + GameMode: string; + /** + / Custom command line argument when starting game server process. + */ + CustomCommandLineData?: string; + /** + / HTTP endpoint URL for receiving game status events, if using an external matchmaker. When the game ends, PlayFab will make a POST request to this URL with the X-SecretKey header set to the value of the game's secret and an application/json body of { "EventName": "game_ended", "GameID": "" }. + */ + ExternalMatchmakerEventEndpoint: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Matchmaker.Models/PlayFab.Matchmaker.Models.StartGameResponse + */ + export interface StartGameResponse extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique identifier for the game/lobby in the new Game Server Instance. + */ + GameID?: string; + /** + / IP address of the new Game Server Instance. + */ + ServerHostname?: string; + /** + / Port number for communication with the Game Server Instance. + */ + ServerPort: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Matchmaker.Models/PlayFab.Matchmaker.Models.UserInfoRequest + */ + export interface UserInfoRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / PlayFab unique identifier of the user whose information is being requested. + */ + PlayFabId: string; + /** + / Minimum catalog version for which data is requested (filters the results to only contain inventory items which have a catalog version of this or higher). + */ + MinCatalogVersion: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Matchmaker.Models/PlayFab.Matchmaker.Models.UserInfoResponse + */ + export interface UserInfoResponse extends PlayFabModule.IPlayFabResultCommon { + /** + / PlayFab unique identifier of the user whose information was requested. + */ + PlayFabId?: string; + /** + / PlayFab unique user name. + */ + Username?: string; + /** + / Title specific display name, if set. + */ + TitleDisplayName?: string; + /** + / Array of inventory items in the user's current inventory. + */ + Inventory?: ItemInstance[]; + /** + / Array of virtual currency balance(s) belonging to the user. + */ + VirtualCurrency?: { [key: string]: number }; + /** + / Array of remaining times and timestamps for virtual currencies. + */ + VirtualCurrencyRechargeTimes?: { [key: string]: VirtualCurrencyRechargeTime }; + /** + / Boolean indicating whether the user is a developer. + */ + IsDeveloper: boolean; + /** + / Steam unique identifier, if the user has an associated Steam account. + */ + SteamId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Matchmaker.Models/PlayFab.Matchmaker.Models.VirtualCurrencyRechargeTime + */ + export interface VirtualCurrencyRechargeTime { + /** + / Time remaining (in seconds) before the next recharge increment of the virtual currency. + */ + SecondsToRecharge: number; + /** + / Server timestamp in UTC indicating the next time the virtual currency will be incremented. + */ + RechargeTime: string; + /** + / Maximum value to which the regenerating currency will automatically increment. Note that it can exceed this value through use of the AddUserVirtualCurrency API call. However, it will not regenerate automatically until it has fallen below this value. + */ + RechargeMax: number; + + } + + +} diff --git a/PlayFabTestingExample/src/typings/PlayFab/PlayFabServerApi.d.ts b/PlayFabTestingExample/src/typings/PlayFab/PlayFabServerApi.d.ts new file mode 100644 index 00000000..d2dafbe4 --- /dev/null +++ b/PlayFabTestingExample/src/typings/PlayFab/PlayFabServerApi.d.ts @@ -0,0 +1,5064 @@ +declare module PlayFabServerModule { + export interface IPlayFabServer { + /** + / Validated a client's session ticket, and if successful, returns details for that user + / https://api.playfab.com/Documentation/Server/method/AuthenticateSessionTicket + */ + AuthenticateSessionTicket(request: PlayFabServerModels.AuthenticateSessionTicketRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Bans users by PlayFab ID with optional IP address, or MAC address for the provided game. + / https://api.playfab.com/Documentation/Server/method/BanUsers + */ + BanUsers(request: PlayFabServerModels.BanUsersRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the unique PlayFab identifiers for the given set of Facebook identifiers. + / https://api.playfab.com/Documentation/Server/method/GetPlayFabIDsFromFacebookIDs + */ + GetPlayFabIDsFromFacebookIDs(request: PlayFabServerModels.GetPlayFabIDsFromFacebookIDsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the unique PlayFab identifiers for the given set of Steam identifiers. The Steam identifiers are the profile IDs for the user accounts, available as SteamId in the Steamworks Community API calls. + / https://api.playfab.com/Documentation/Server/method/GetPlayFabIDsFromSteamIDs + */ + GetPlayFabIDsFromSteamIDs(request: PlayFabServerModels.GetPlayFabIDsFromSteamIDsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the relevant details for a specified user + / https://api.playfab.com/Documentation/Server/method/GetUserAccountInfo + */ + GetUserAccountInfo(request: PlayFabServerModels.GetUserAccountInfoRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Gets all bans for a user. + / https://api.playfab.com/Documentation/Server/method/GetUserBans + */ + GetUserBans(request: PlayFabServerModels.GetUserBansRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Revoke all active bans for a user. + / https://api.playfab.com/Documentation/Server/method/RevokeAllBansForUser + */ + RevokeAllBansForUser(request: PlayFabServerModels.RevokeAllBansForUserRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Revoke all active bans specified with BanId. + / https://api.playfab.com/Documentation/Server/method/RevokeBans + */ + RevokeBans(request: PlayFabServerModels.RevokeBansRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Sends an iOS/Android Push Notification to a specific user, if that user's device has been configured for Push Notifications in PlayFab. If a user has linked both Android and iOS devices, both will be notified. + / https://api.playfab.com/Documentation/Server/method/SendPushNotification + */ + SendPushNotification(request: PlayFabServerModels.SendPushNotificationRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates information of a list of existing bans specified with Ban Ids. + / https://api.playfab.com/Documentation/Server/method/UpdateBans + */ + UpdateBans(request: PlayFabServerModels.UpdateBansRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Deletes the users for the provided game. Deletes custom data, all account linkages, and statistics. + / https://api.playfab.com/Documentation/Server/method/DeleteUsers + */ + DeleteUsers(request: PlayFabServerModels.DeleteUsersRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves a list of ranked friends of the given player for the given statistic, starting from the indicated point in the leaderboard + / https://api.playfab.com/Documentation/Server/method/GetFriendLeaderboard + */ + GetFriendLeaderboard(request: PlayFabServerModels.GetFriendLeaderboardRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves a list of ranked users for the given statistic, starting from the indicated point in the leaderboard + / https://api.playfab.com/Documentation/Server/method/GetLeaderboard + */ + GetLeaderboard(request: PlayFabServerModels.GetLeaderboardRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves a list of ranked users for the given statistic, centered on the currently signed-in user + / https://api.playfab.com/Documentation/Server/method/GetLeaderboardAroundUser + */ + GetLeaderboardAroundUser(request: PlayFabServerModels.GetLeaderboardAroundUserRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Returns whatever info is requested in the response for the user. Note that PII (like email address, facebook id) may be returned. All parameters default to false. + / https://api.playfab.com/Documentation/Server/method/GetPlayerCombinedInfo + */ + GetPlayerCombinedInfo(request: PlayFabServerModels.GetPlayerCombinedInfoRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the current version and values for the indicated statistics, for the local player. + / https://api.playfab.com/Documentation/Server/method/GetPlayerStatistics + */ + GetPlayerStatistics(request: PlayFabServerModels.GetPlayerStatisticsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the information on the available versions of the specified statistic. + / https://api.playfab.com/Documentation/Server/method/GetPlayerStatisticVersions + */ + GetPlayerStatisticVersions(request: PlayFabServerModels.GetPlayerStatisticVersionsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the title-specific custom data for the user which is readable and writable by the client + / https://api.playfab.com/Documentation/Server/method/GetUserData + */ + GetUserData(request: PlayFabServerModels.GetUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the title-specific custom data for the user which cannot be accessed by the client + / https://api.playfab.com/Documentation/Server/method/GetUserInternalData + */ + GetUserInternalData(request: PlayFabServerModels.GetUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the publisher-specific custom data for the user which is readable and writable by the client + / https://api.playfab.com/Documentation/Server/method/GetUserPublisherData + */ + GetUserPublisherData(request: PlayFabServerModels.GetUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the publisher-specific custom data for the user which cannot be accessed by the client + / https://api.playfab.com/Documentation/Server/method/GetUserPublisherInternalData + */ + GetUserPublisherInternalData(request: PlayFabServerModels.GetUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the publisher-specific custom data for the user which can only be read by the client + / https://api.playfab.com/Documentation/Server/method/GetUserPublisherReadOnlyData + */ + GetUserPublisherReadOnlyData(request: PlayFabServerModels.GetUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the title-specific custom data for the user which can only be read by the client + / https://api.playfab.com/Documentation/Server/method/GetUserReadOnlyData + */ + GetUserReadOnlyData(request: PlayFabServerModels.GetUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the values of the specified title-specific statistics for the user + / https://api.playfab.com/Documentation/Server/method/UpdatePlayerStatistics + */ + UpdatePlayerStatistics(request: PlayFabServerModels.UpdatePlayerStatisticsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the title-specific custom data for the user which is readable and writable by the client + / https://api.playfab.com/Documentation/Server/method/UpdateUserData + */ + UpdateUserData(request: PlayFabServerModels.UpdateUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the title-specific custom data for the user which cannot be accessed by the client + / https://api.playfab.com/Documentation/Server/method/UpdateUserInternalData + */ + UpdateUserInternalData(request: PlayFabServerModels.UpdateUserInternalDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the publisher-specific custom data for the user which is readable and writable by the client + / https://api.playfab.com/Documentation/Server/method/UpdateUserPublisherData + */ + UpdateUserPublisherData(request: PlayFabServerModels.UpdateUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the publisher-specific custom data for the user which cannot be accessed by the client + / https://api.playfab.com/Documentation/Server/method/UpdateUserPublisherInternalData + */ + UpdateUserPublisherInternalData(request: PlayFabServerModels.UpdateUserInternalDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the publisher-specific custom data for the user which can only be read by the client + / https://api.playfab.com/Documentation/Server/method/UpdateUserPublisherReadOnlyData + */ + UpdateUserPublisherReadOnlyData(request: PlayFabServerModels.UpdateUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the title-specific custom data for the user which can only be read by the client + / https://api.playfab.com/Documentation/Server/method/UpdateUserReadOnlyData + */ + UpdateUserReadOnlyData(request: PlayFabServerModels.UpdateUserDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the specified version of the title's catalog of virtual goods, including all defined properties + / https://api.playfab.com/Documentation/Server/method/GetCatalogItems + */ + GetCatalogItems(request: PlayFabServerModels.GetCatalogItemsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the key-value store of custom publisher settings + / https://api.playfab.com/Documentation/Server/method/GetPublisherData + */ + GetPublisherData(request: PlayFabServerModels.GetPublisherDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the current server time + / https://api.playfab.com/Documentation/Server/method/GetTime + */ + GetTime(request: PlayFabServerModels.GetTimeRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the key-value store of custom title settings + / https://api.playfab.com/Documentation/Server/method/GetTitleData + */ + GetTitleData(request: PlayFabServerModels.GetTitleDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the key-value store of custom internal title settings + / https://api.playfab.com/Documentation/Server/method/GetTitleInternalData + */ + GetTitleInternalData(request: PlayFabServerModels.GetTitleDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the title news feed, as configured in the developer portal + / https://api.playfab.com/Documentation/Server/method/GetTitleNews + */ + GetTitleNews(request: PlayFabServerModels.GetTitleNewsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the key-value store of custom publisher settings + / https://api.playfab.com/Documentation/Server/method/SetPublisherData + */ + SetPublisherData(request: PlayFabServerModels.SetPublisherDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the key-value store of custom title settings + / https://api.playfab.com/Documentation/Server/method/SetTitleData + */ + SetTitleData(request: PlayFabServerModels.SetTitleDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the key-value store of custom title settings + / https://api.playfab.com/Documentation/Server/method/SetTitleInternalData + */ + SetTitleInternalData(request: PlayFabServerModels.SetTitleDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Increments the character's balance of the specified virtual currency by the stated amount + / https://api.playfab.com/Documentation/Server/method/AddCharacterVirtualCurrency + */ + AddCharacterVirtualCurrency(request: PlayFabServerModels.AddCharacterVirtualCurrencyRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Increments the user's balance of the specified virtual currency by the stated amount + / https://api.playfab.com/Documentation/Server/method/AddUserVirtualCurrency + */ + AddUserVirtualCurrency(request: PlayFabServerModels.AddUserVirtualCurrencyRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Consume uses of a consumable item. When all uses are consumed, it will be removed from the player's inventory. + / https://api.playfab.com/Documentation/Server/method/ConsumeItem + */ + ConsumeItem(request: PlayFabServerModels.ConsumeItemRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Returns the result of an evaluation of a Random Result Table - the ItemId from the game Catalog which would have been added to the player inventory, if the Random Result Table were added via a Bundle or a call to UnlockContainer. + / https://api.playfab.com/Documentation/Server/method/EvaluateRandomResultTable + */ + EvaluateRandomResultTable(request: PlayFabServerModels.EvaluateRandomResultTableRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the specified character's current inventory of virtual goods + / https://api.playfab.com/Documentation/Server/method/GetCharacterInventory + */ + GetCharacterInventory(request: PlayFabServerModels.GetCharacterInventoryRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the configuration information for the specified random results tables for the title, including all ItemId values and weights + / https://api.playfab.com/Documentation/Server/method/GetRandomResultTables + */ + GetRandomResultTables(request: PlayFabServerModels.GetRandomResultTablesRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the specified user's current inventory of virtual goods + / https://api.playfab.com/Documentation/Server/method/GetUserInventory + */ + GetUserInventory(request: PlayFabServerModels.GetUserInventoryRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Adds the specified items to the specified character's inventory + / https://api.playfab.com/Documentation/Server/method/GrantItemsToCharacter + */ + GrantItemsToCharacter(request: PlayFabServerModels.GrantItemsToCharacterRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Adds the specified items to the specified user's inventory + / https://api.playfab.com/Documentation/Server/method/GrantItemsToUser + */ + GrantItemsToUser(request: PlayFabServerModels.GrantItemsToUserRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Adds the specified items to the specified user inventories + / https://api.playfab.com/Documentation/Server/method/GrantItemsToUsers + */ + GrantItemsToUsers(request: PlayFabServerModels.GrantItemsToUsersRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Modifies the number of remaining uses of a player's inventory item + / https://api.playfab.com/Documentation/Server/method/ModifyItemUses + */ + ModifyItemUses(request: PlayFabServerModels.ModifyItemUsesRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Moves an item from a character's inventory into another of the users's character's inventory. + / https://api.playfab.com/Documentation/Server/method/MoveItemToCharacterFromCharacter + */ + MoveItemToCharacterFromCharacter(request: PlayFabServerModels.MoveItemToCharacterFromCharacterRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Moves an item from a user's inventory into their character's inventory. + / https://api.playfab.com/Documentation/Server/method/MoveItemToCharacterFromUser + */ + MoveItemToCharacterFromUser(request: PlayFabServerModels.MoveItemToCharacterFromUserRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Moves an item from a character's inventory into the owning user's inventory. + / https://api.playfab.com/Documentation/Server/method/MoveItemToUserFromCharacter + */ + MoveItemToUserFromCharacter(request: PlayFabServerModels.MoveItemToUserFromCharacterRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Adds the virtual goods associated with the coupon to the user's inventory. Coupons can be generated via the Economy->Catalogs tab in the PlayFab Game Manager. + / https://api.playfab.com/Documentation/Server/method/RedeemCoupon + */ + RedeemCoupon(request: PlayFabServerModels.RedeemCouponRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Submit a report about a player (due to bad bahavior, etc.) on behalf of another player, so that customer service representatives for the title can take action concerning potentially toxic players. + / https://api.playfab.com/Documentation/Server/method/ReportPlayer + */ + ReportPlayer(request: PlayFabServerModels.ReportPlayerServerRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Revokes access to an item in a user's inventory + / https://api.playfab.com/Documentation/Server/method/RevokeInventoryItem + */ + RevokeInventoryItem(request: PlayFabServerModels.RevokeInventoryItemRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Decrements the character's balance of the specified virtual currency by the stated amount + / https://api.playfab.com/Documentation/Server/method/SubtractCharacterVirtualCurrency + */ + SubtractCharacterVirtualCurrency(request: PlayFabServerModels.SubtractCharacterVirtualCurrencyRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Decrements the user's balance of the specified virtual currency by the stated amount + / https://api.playfab.com/Documentation/Server/method/SubtractUserVirtualCurrency + */ + SubtractUserVirtualCurrency(request: PlayFabServerModels.SubtractUserVirtualCurrencyRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Opens a specific container (ContainerItemInstanceId), with a specific key (KeyItemInstanceId, when required), and returns the contents of the opened container. If the container (and key when relevant) are consumable (RemainingUses > 0), their RemainingUses will be decremented, consistent with the operation of ConsumeItem. + / https://api.playfab.com/Documentation/Server/method/UnlockContainerInstance + */ + UnlockContainerInstance(request: PlayFabServerModels.UnlockContainerInstanceRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Searches Player or Character inventory for any ItemInstance matching the given CatalogItemId, if necessary unlocks it using any appropriate key, and returns the contents of the opened container. If the container (and key when relevant) are consumable (RemainingUses > 0), their RemainingUses will be decremented, consistent with the operation of ConsumeItem. + / https://api.playfab.com/Documentation/Server/method/UnlockContainerItem + */ + UnlockContainerItem(request: PlayFabServerModels.UnlockContainerItemRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the key-value pair data tagged to the specified item, which is read-only from the client. + / https://api.playfab.com/Documentation/Server/method/UpdateUserInventoryItemCustomData + */ + UpdateUserInventoryItemCustomData(request: PlayFabServerModels.UpdateUserInventoryItemDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Adds the Friend user to the friendlist of the user with PlayFabId. At least one of FriendPlayFabId,FriendUsername,FriendEmail, or FriendTitleDisplayName should be initialized. + / https://api.playfab.com/Documentation/Server/method/AddFriend + */ + AddFriend(request: PlayFabServerModels.AddFriendRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the current friends for the user with PlayFabId, constrained to users who have PlayFab accounts. Friends from linked accounts (Facebook, Steam) are also included. You may optionally exclude some linked services' friends. + / https://api.playfab.com/Documentation/Server/method/GetFriendsList + */ + GetFriendsList(request: PlayFabServerModels.GetFriendsListRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Removes the specified friend from the the user's friend list + / https://api.playfab.com/Documentation/Server/method/RemoveFriend + */ + RemoveFriend(request: PlayFabServerModels.RemoveFriendRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Inform the matchmaker that a Game Server Instance is removed. + / https://api.playfab.com/Documentation/Server/method/DeregisterGame + */ + DeregisterGame(request: PlayFabServerModels.DeregisterGameRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Informs the PlayFab match-making service that the user specified has left the Game Server Instance + / https://api.playfab.com/Documentation/Server/method/NotifyMatchmakerPlayerLeft + */ + NotifyMatchmakerPlayerLeft(request: PlayFabServerModels.NotifyMatchmakerPlayerLeftRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Validates a Game Server session ticket and returns details about the user + / https://api.playfab.com/Documentation/Server/method/RedeemMatchmakerTicket + */ + RedeemMatchmakerTicket(request: PlayFabServerModels.RedeemMatchmakerTicketRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Set the state of the indicated Game Server Instance. Also update the heartbeat for the instance. + / https://api.playfab.com/Documentation/Server/method/RefreshGameServerInstanceHeartbeat + */ + RefreshGameServerInstanceHeartbeat(request: PlayFabServerModels.RefreshGameServerInstanceHeartbeatRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Inform the matchmaker that a new Game Server Instance is added. + / https://api.playfab.com/Documentation/Server/method/RegisterGame + */ + RegisterGame(request: PlayFabServerModels.RegisterGameRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Sets the custom data of the indicated Game Server Instance + / https://api.playfab.com/Documentation/Server/method/SetGameServerInstanceData + */ + SetGameServerInstanceData(request: PlayFabServerModels.SetGameServerInstanceDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Set the state of the indicated Game Server Instance. + / https://api.playfab.com/Documentation/Server/method/SetGameServerInstanceState + */ + SetGameServerInstanceState(request: PlayFabServerModels.SetGameServerInstanceStateRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Set custom tags for the specified Game Server Instance + / https://api.playfab.com/Documentation/Server/method/SetGameServerInstanceTags + */ + SetGameServerInstanceTags(request: PlayFabServerModels.SetGameServerInstanceTagsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Awards the specified users the specified Steam achievements + / https://api.playfab.com/Documentation/Server/method/AwardSteamAchievement + */ + AwardSteamAchievement(request: PlayFabServerModels.AwardSteamAchievementRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Writes a character-based event into PlayStream. + / https://api.playfab.com/Documentation/Server/method/WriteCharacterEvent + */ + WriteCharacterEvent(request: PlayFabServerModels.WriteServerCharacterEventRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Writes a player-based event into PlayStream. + / https://api.playfab.com/Documentation/Server/method/WritePlayerEvent + */ + WritePlayerEvent(request: PlayFabServerModels.WriteServerPlayerEventRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Writes a title-based event into PlayStream. + / https://api.playfab.com/Documentation/Server/method/WriteTitleEvent + */ + WriteTitleEvent(request: PlayFabServerModels.WriteTitleEventRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Adds users to the set of those able to update both the shared data, as well as the set of users in the group. Only users in the group (and the server) can add new members. + / https://api.playfab.com/Documentation/Server/method/AddSharedGroupMembers + */ + AddSharedGroupMembers(request: PlayFabServerModels.AddSharedGroupMembersRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Requests the creation of a shared group object, containing key/value pairs which may be updated by all members of the group. When created by a server, the group will initially have no members. + / https://api.playfab.com/Documentation/Server/method/CreateSharedGroup + */ + CreateSharedGroup(request: PlayFabServerModels.CreateSharedGroupRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Deletes a shared group, freeing up the shared group ID to be reused for a new group + / https://api.playfab.com/Documentation/Server/method/DeleteSharedGroup + */ + DeleteSharedGroup(request: PlayFabServerModels.DeleteSharedGroupRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves data stored in a shared group object, as well as the list of members in the group. The server can access all public and private group data. + / https://api.playfab.com/Documentation/Server/method/GetSharedGroupData + */ + GetSharedGroupData(request: PlayFabServerModels.GetSharedGroupDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Removes users from the set of those able to update the shared data and the set of users in the group. Only users in the group can remove members. If as a result of the call, zero users remain with access, the group and its associated data will be deleted. + / https://api.playfab.com/Documentation/Server/method/RemoveSharedGroupMembers + */ + RemoveSharedGroupMembers(request: PlayFabServerModels.RemoveSharedGroupMembersRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Adds, updates, and removes data keys for a shared group object. If the permission is set to Public, all fields updated or added in this call will be readable by users not in the group. By default, data permissions are set to Private. Regardless of the permission setting, only members of the group (and the server) can update the data. + / https://api.playfab.com/Documentation/Server/method/UpdateSharedGroupData + */ + UpdateSharedGroupData(request: PlayFabServerModels.UpdateSharedGroupDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Executes a CloudScript function, with the 'currentPlayerId' variable set to the specified PlayFabId parameter value. + / https://api.playfab.com/Documentation/Server/method/ExecuteCloudScript + */ + ExecuteCloudScript(request: PlayFabServerModels.ExecuteCloudScriptServerRequest, callback: PlayFabModule.ApiCallback): void; + /** + / This API retrieves a pre-signed URL for accessing a content file for the title. A subsequent HTTP GET to the returned URL will attempt to download the content. A HEAD query to the returned URL will attempt to retrieve the metadata of the content. Note that a successful result does not guarantee the existence of this content - if it has not been uploaded, the query to retrieve the data will fail. See this post for more information: https://community.playfab.com/hc/en-us/community/posts/205469488-How-to-upload-files-to-PlayFab-s-Content-Service. Also, please be aware that the Content service is specifically PlayFab's CDN offering, for which standard CDN rates apply. + / https://api.playfab.com/Documentation/Server/method/GetContentDownloadUrl + */ + GetContentDownloadUrl(request: PlayFabServerModels.GetContentDownloadUrlRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Deletes the specific character ID from the specified user. + / https://api.playfab.com/Documentation/Server/method/DeleteCharacterFromUser + */ + DeleteCharacterFromUser(request: PlayFabServerModels.DeleteCharacterFromUserRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Lists all of the characters that belong to a specific user. CharacterIds are not globally unique; characterId must be evaluated with the parent PlayFabId to guarantee uniqueness. + / https://api.playfab.com/Documentation/Server/method/GetAllUsersCharacters + */ + GetAllUsersCharacters(request: PlayFabServerModels.ListUsersCharactersRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves a list of ranked characters for the given statistic, starting from the indicated point in the leaderboard + / https://api.playfab.com/Documentation/Server/method/GetCharacterLeaderboard + */ + GetCharacterLeaderboard(request: PlayFabServerModels.GetCharacterLeaderboardRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the details of all title-specific statistics for the specific character + / https://api.playfab.com/Documentation/Server/method/GetCharacterStatistics + */ + GetCharacterStatistics(request: PlayFabServerModels.GetCharacterStatisticsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves a list of ranked characters for the given statistic, centered on the requested user + / https://api.playfab.com/Documentation/Server/method/GetLeaderboardAroundCharacter + */ + GetLeaderboardAroundCharacter(request: PlayFabServerModels.GetLeaderboardAroundCharacterRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves a list of all of the user's characters for the given statistic. + / https://api.playfab.com/Documentation/Server/method/GetLeaderboardForUserCharacters + */ + GetLeaderboardForUserCharacters(request: PlayFabServerModels.GetLeaderboardForUsersCharactersRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Grants the specified character type to the user. CharacterIds are not globally unique; characterId must be evaluated with the parent PlayFabId to guarantee uniqueness. + / https://api.playfab.com/Documentation/Server/method/GrantCharacterToUser + */ + GrantCharacterToUser(request: PlayFabServerModels.GrantCharacterToUserRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the values of the specified title-specific statistics for the specific character + / https://api.playfab.com/Documentation/Server/method/UpdateCharacterStatistics + */ + UpdateCharacterStatistics(request: PlayFabServerModels.UpdateCharacterStatisticsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the title-specific custom data for the user which is readable and writable by the client + / https://api.playfab.com/Documentation/Server/method/GetCharacterData + */ + GetCharacterData(request: PlayFabServerModels.GetCharacterDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the title-specific custom data for the user's character which cannot be accessed by the client + / https://api.playfab.com/Documentation/Server/method/GetCharacterInternalData + */ + GetCharacterInternalData(request: PlayFabServerModels.GetCharacterDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves the title-specific custom data for the user's character which can only be read by the client + / https://api.playfab.com/Documentation/Server/method/GetCharacterReadOnlyData + */ + GetCharacterReadOnlyData(request: PlayFabServerModels.GetCharacterDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the title-specific custom data for the user's chjaracter which is readable and writable by the client + / https://api.playfab.com/Documentation/Server/method/UpdateCharacterData + */ + UpdateCharacterData(request: PlayFabServerModels.UpdateCharacterDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the title-specific custom data for the user's character which cannot be accessed by the client + / https://api.playfab.com/Documentation/Server/method/UpdateCharacterInternalData + */ + UpdateCharacterInternalData(request: PlayFabServerModels.UpdateCharacterDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Updates the title-specific custom data for the user's character which can only be read by the client + / https://api.playfab.com/Documentation/Server/method/UpdateCharacterReadOnlyData + */ + UpdateCharacterReadOnlyData(request: PlayFabServerModels.UpdateCharacterDataRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Adds a given tag to a player profile. The tag's namespace is automatically generated based on the source of the tag. + / https://api.playfab.com/Documentation/Server/method/AddPlayerTag + */ + AddPlayerTag(request: PlayFabServerModels.AddPlayerTagRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieve a list of all PlayStream actions groups. + / https://api.playfab.com/Documentation/Server/method/GetAllActionGroups + */ + GetAllActionGroups(request: PlayFabServerModels.GetAllActionGroupsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Retrieves an array of player segment definitions. Results from this can be used in subsequent API calls such as GetPlayersInSegment which requires a Segment ID. While segment names can change the ID for that segment will not change. + / https://api.playfab.com/Documentation/Server/method/GetAllSegments + */ + GetAllSegments(request: PlayFabServerModels.GetAllSegmentsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / List all segments that a player currently belongs to at this moment in time. + / https://api.playfab.com/Documentation/Server/method/GetPlayerSegments + */ + GetPlayerSegments(request: PlayFabServerModels.GetPlayersSegmentsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Allows for paging through all players in a given segment. This API creates a snapshot of all player profiles that match the segment definition at the time of its creation and lives through the Total Seconds to Live, refreshing its life span on each subsequent use of the Continuation Token. Profiles that change during the course of paging will not be reflected in the results. AB Test segments are currently not supported by this operation. + / https://api.playfab.com/Documentation/Server/method/GetPlayersInSegment + */ + GetPlayersInSegment(request: PlayFabServerModels.GetPlayersInSegmentRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Get all tags with a given Namespace (optional) from a player profile. + / https://api.playfab.com/Documentation/Server/method/GetPlayerTags + */ + GetPlayerTags(request: PlayFabServerModels.GetPlayerTagsRequest, callback: PlayFabModule.ApiCallback): void; + /** + / Remove a given tag from a player profile. The tag's namespace is automatically generated based on the source of the tag. + / https://api.playfab.com/Documentation/Server/method/RemovePlayerTag + */ + RemovePlayerTag(request: PlayFabServerModels.RemovePlayerTagRequest, callback: PlayFabModule.ApiCallback): void; + + } +} + +declare module PlayFabServerModels { + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ActionsOnPlayersInSegmentTaskSummary + */ + export interface ActionsOnPlayersInSegmentTaskSummary { + /** + / ID of the task instance. + */ + TaskInstanceId?: string; + /** + / Identifier of the task this instance belongs to. + */ + TaskIdentifier?: NameIdentifier; + /** + / UTC timestamp when the task started. + */ + StartedAt: string; + /** + / UTC timestamp when the task completed. + */ + CompletedAt?: string; + /** + / Current status of the task instance. + */ + Status?: string; + /** + / Progress represented as percentage. + */ + PercentComplete?: number; + /** + / Estimated time remaining in seconds. + */ + EstimatedSecondsRemaining?: number; + /** + / If manually scheduled, ID of user who scheduled the task. + */ + ScheduledByUserId?: string; + /** + / Error message for last processing attempt, if an error occured. + */ + ErrorMessage?: string; + /** + / Flag indicating if the error was fatal, if false job will be retried. + */ + ErrorWasFatal?: boolean; + /** + / Total players in segment when task was started. + */ + TotalPlayersInSegment?: number; + /** + / Total number of players that have had the actions applied to. + */ + TotalPlayersProcessed?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AdCampaignAttribution + */ + export interface AdCampaignAttribution { + /** + / Attribution network name + */ + Platform?: string; + /** + / Attribution campaign identifier + */ + CampaignId?: string; + /** + / UTC time stamp of attribution + */ + AttributedAt: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AddCharacterVirtualCurrencyRequest + */ + export interface AddCharacterVirtualCurrencyRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / PlayFab unique identifier of the user whose virtual currency balance is to be incremented. + */ + PlayFabId: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + /** + / Name of the virtual currency which is to be incremented. + */ + VirtualCurrency: string; + /** + / Amount to be added to the character balance of the specified virtual currency. Maximum VC balance is Int32 (2,147,483,647). Any increase over this value will be discarded. + */ + Amount: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AddFriendRequest + */ + export interface AddFriendRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / PlayFab identifier of the player to add a new friend. + */ + PlayFabId: string; + /** + / The PlayFab identifier of the user being added. + */ + FriendPlayFabId?: string; + /** + / The PlayFab username of the user being added + */ + FriendUsername?: string; + /** + / Email address of the user being added. + */ + FriendEmail?: string; + /** + / Title-specific display name of the user to being added. + */ + FriendTitleDisplayName?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AddPlayerTagRequest + */ + export interface AddPlayerTagRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique tag for player profile. + */ + TagName: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AddPlayerTagResult + */ + export interface AddPlayerTagResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AddSharedGroupMembersRequest + */ + export interface AddSharedGroupMembersRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the shared group. + */ + SharedGroupId: string; + /** + / An array of unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabIds: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AddSharedGroupMembersResult + */ + export interface AddSharedGroupMembersResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AddUserVirtualCurrencyRequest + */ + export interface AddUserVirtualCurrencyRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / PlayFab unique identifier of the user whose virtual currency balance is to be increased. + */ + PlayFabId: string; + /** + / Name of the virtual currency which is to be incremented. + */ + VirtualCurrency: string; + /** + / Amount to be added to the user balance of the specified virtual currency. Maximum VC balance is Int32 (2,147,483,647). Any increase over this value will be discarded. + */ + Amount: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AuthenticateSessionTicketRequest + */ + export interface AuthenticateSessionTicketRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Session ticket as issued by a PlayFab client login API. + */ + SessionTicket: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AuthenticateSessionTicketResult + */ + export interface AuthenticateSessionTicketResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Account info for the user whose session ticket was supplied. + */ + UserInfo?: UserAccountInfo; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AwardSteamAchievementItem + */ + export interface AwardSteamAchievementItem { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique Steam achievement name. + */ + AchievementName: string; + /** + / Result of the award attempt (only valid on response, not on request). + */ + Result: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AwardSteamAchievementRequest + */ + export interface AwardSteamAchievementRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Array of achievements to grant and the users to whom they are to be granted. + */ + Achievements: AwardSteamAchievementItem[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.AwardSteamAchievementResult + */ + export interface AwardSteamAchievementResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Array of achievements granted. + */ + AchievementResults?: AwardSteamAchievementItem[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.BanInfo + */ + export interface BanInfo { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId?: string; + /** + / The unique Ban Id associated with this ban. + */ + BanId?: string; + /** + / The IP address on which the ban was applied. May affect multiple players. + */ + IPAddress?: string; + /** + / The MAC address on which the ban was applied. May affect multiple players. + */ + MACAddress?: string; + /** + / The time when this ban was applied. + */ + Created?: string; + /** + / The time when this ban expires. Permanent bans do not have expiration date. + */ + Expires?: string; + /** + / The reason why this ban was applied. + */ + Reason?: string; + /** + / The active state of this ban. Expired bans may still have this value set to true but they will have no effect. + */ + Active: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.BanRequest + */ + export interface BanRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / IP address to be banned. May affect multiple players. + */ + IPAddress?: string; + /** + / MAC address to be banned. May affect multiple players. + */ + MACAddress?: string; + /** + / The reason for this ban. Maximum 140 characters. + */ + Reason?: string; + /** + / The duration in hours for the ban. Leave this blank for a permanent ban. + */ + DurationInHours?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.BanUsersRequest + */ + export interface BanUsersRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / List of ban requests to be applied. Maximum 100. + */ + Bans: BanRequest[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.BanUsersResult + */ + export interface BanUsersResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Information on the bans that were applied + */ + BanData?: BanInfo[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.CatalogItem + */ + export interface CatalogItem { + /** + / unique identifier for this item + */ + ItemId: string; + /** + / class to which the item belongs + */ + ItemClass?: string; + /** + / catalog version for this item + */ + CatalogVersion?: string; + /** + / text name for the item, to show in-game + */ + DisplayName?: string; + /** + / text description of item, to show in-game + */ + Description?: string; + /** + / price of this item in virtual currencies and "RM" (the base Real Money purchase price, in USD pennies) + */ + VirtualCurrencyPrices?: { [key: string]: number }; + /** + / override prices for this item for specific currencies + */ + RealCurrencyPrices?: { [key: string]: number }; + /** + / list of item tags + */ + Tags?: string[]; + /** + / game specific custom data + */ + CustomData?: string; + /** + / defines the consumable properties (number of uses, timeout) for the item + */ + Consumable?: CatalogItemConsumableInfo; + /** + / defines the container properties for the item - what items it contains, including random drop tables and virtual currencies, and what item (if any) is required to open it via the UnlockContainerItem API + */ + Container?: CatalogItemContainerInfo; + /** + / defines the bundle properties for the item - bundles are items which contain other items, including random drop tables and virtual currencies + */ + Bundle?: CatalogItemBundleInfo; + /** + / if true, then an item instance of this type can be used to grant a character to a user. + */ + CanBecomeCharacter: boolean; + /** + / if true, then only one item instance of this type will exist and its remaininguses will be incremented instead. RemainingUses will cap out at Int32.Max (2,147,483,647). All subsequent increases will be discarded + */ + IsStackable: boolean; + /** + / if true, then an item instance of this type can be traded between players using the trading APIs + */ + IsTradable: boolean; + /** + / URL to the item image. For Facebook purchase to display the image on the item purchase page, this must be set to an HTTP URL. + */ + ItemImageUrl?: string; + /** + / BETA: If true, then only a fixed number can ever be granted. + */ + IsLimitedEdition: boolean; + /** + / If the item has IsLImitedEdition set to true, and this is the first time this ItemId has been defined as a limited edition item, this value determines the total number of instances to allocate for the title. Once this limit has been reached, no more instances of this ItemId can be created, and attempts to purchase or grant it will return a Result of false for that ItemId. If the item has already been defined to have a limited edition count, or if this value is less than zero, it will be ignored. + */ + InitialLimitedEditionCount: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.CatalogItemBundleInfo + */ + export interface CatalogItemBundleInfo { + /** + / unique ItemId values for all items which will be added to the player inventory when the bundle is added + */ + BundledItems?: string[]; + /** + / unique TableId values for all RandomResultTable objects which are part of the bundle (random tables will be resolved and add the relevant items to the player inventory when the bundle is added) + */ + BundledResultTables?: string[]; + /** + / virtual currency types and balances which will be added to the player inventory when the bundle is added + */ + BundledVirtualCurrencies?: { [key: string]: number }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.CatalogItemConsumableInfo + */ + export interface CatalogItemConsumableInfo { + /** + / number of times this object can be used, after which it will be removed from the player inventory + */ + UsageCount?: number; + /** + / duration in seconds for how long the item will remain in the player inventory - once elapsed, the item will be removed (recommended minimum value is 5 seconds, as lower values can cause the item to expire before operations depending on this item's details have completed) + */ + UsagePeriod?: number; + /** + / all inventory item instances in the player inventory sharing a non-null UsagePeriodGroup have their UsagePeriod values added together, and share the result - when that period has elapsed, all the items in the group will be removed + */ + UsagePeriodGroup?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.CatalogItemContainerInfo + */ + export interface CatalogItemContainerInfo { + /** + / ItemId for the catalog item used to unlock the container, if any (if not specified, a call to UnlockContainerItem will open the container, adding the contents to the player inventory and currency balances) + */ + KeyItemId?: string; + /** + / unique ItemId values for all items which will be added to the player inventory, once the container has been unlocked + */ + ItemContents?: string[]; + /** + / unique TableId values for all RandomResultTable objects which are part of the container (once unlocked, random tables will be resolved and add the relevant items to the player inventory) + */ + ResultTableContents?: string[]; + /** + / virtual currency types and balances which will be added to the player inventory when the container is unlocked + */ + VirtualCurrencyContents?: { [key: string]: number }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.CharacterInventory + */ + export interface CharacterInventory { + /** + / The id of this character. + */ + CharacterId?: string; + /** + / The inventory of this character. + */ + Inventory?: ItemInstance[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.CharacterLeaderboardEntry + */ + export interface CharacterLeaderboardEntry { + /** + / PlayFab unique identifier of the user for this leaderboard entry. + */ + PlayFabId?: string; + /** + / PlayFab unique identifier of the character that belongs to the user for this leaderboard entry. + */ + CharacterId?: string; + /** + / Title-specific display name of the character for this leaderboard entry. + */ + CharacterName?: string; + /** + / Title-specific display name of the user for this leaderboard entry. + */ + DisplayName?: string; + /** + / Name of the character class for this entry. + */ + CharacterType?: string; + /** + / Specific value of the user's statistic. + */ + StatValue: number; + /** + / User's overall position in the leaderboard. + */ + Position: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.CharacterResult + */ + export interface CharacterResult extends PlayFabModule.IPlayFabResultCommon { + /** + / The id for this character on this player. + */ + CharacterId?: string; + /** + / The name of this character. + */ + CharacterName?: string; + /** + / The type-string that was given to this character on creation. + */ + CharacterType?: string; + + } + + type CloudScriptRevisionOption = "Live" + | "Latest" + | "Specific"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ConsumeItemRequest + */ + export interface ConsumeItemRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique instance identifier of the item to be consumed. + */ + ItemInstanceId: string; + /** + / Number of uses to consume from the item. + */ + ConsumeCount: number; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ConsumeItemResult + */ + export interface ConsumeItemResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique instance identifier of the item with uses consumed. + */ + ItemInstanceId?: string; + /** + / Number of uses remaining on the item. + */ + RemainingUses: number; + + } + + type ContinentCode = "AF" + | "AN" + | "AS" + | "EU" + | "NA" + | "OC" + | "SA"; + + type CountryCode = "AF" + | "AX" + | "AL" + | "DZ" + | "AS" + | "AD" + | "AO" + | "AI" + | "AQ" + | "AG" + | "AR" + | "AM" + | "AW" + | "AU" + | "AT" + | "AZ" + | "BS" + | "BH" + | "BD" + | "BB" + | "BY" + | "BE" + | "BZ" + | "BJ" + | "BM" + | "BT" + | "BO" + | "BQ" + | "BA" + | "BW" + | "BV" + | "BR" + | "IO" + | "BN" + | "BG" + | "BF" + | "BI" + | "KH" + | "CM" + | "CA" + | "CV" + | "KY" + | "CF" + | "TD" + | "CL" + | "CN" + | "CX" + | "CC" + | "CO" + | "KM" + | "CG" + | "CD" + | "CK" + | "CR" + | "CI" + | "HR" + | "CU" + | "CW" + | "CY" + | "CZ" + | "DK" + | "DJ" + | "DM" + | "DO" + | "EC" + | "EG" + | "SV" + | "GQ" + | "ER" + | "EE" + | "ET" + | "FK" + | "FO" + | "FJ" + | "FI" + | "FR" + | "GF" + | "PF" + | "TF" + | "GA" + | "GM" + | "GE" + | "DE" + | "GH" + | "GI" + | "GR" + | "GL" + | "GD" + | "GP" + | "GU" + | "GT" + | "GG" + | "GN" + | "GW" + | "GY" + | "HT" + | "HM" + | "VA" + | "HN" + | "HK" + | "HU" + | "IS" + | "IN" + | "ID" + | "IR" + | "IQ" + | "IE" + | "IM" + | "IL" + | "IT" + | "JM" + | "JP" + | "JE" + | "JO" + | "KZ" + | "KE" + | "KI" + | "KP" + | "KR" + | "KW" + | "KG" + | "LA" + | "LV" + | "LB" + | "LS" + | "LR" + | "LY" + | "LI" + | "LT" + | "LU" + | "MO" + | "MK" + | "MG" + | "MW" + | "MY" + | "MV" + | "ML" + | "MT" + | "MH" + | "MQ" + | "MR" + | "MU" + | "YT" + | "MX" + | "FM" + | "MD" + | "MC" + | "MN" + | "ME" + | "MS" + | "MA" + | "MZ" + | "MM" + | "NA" + | "NR" + | "NP" + | "NL" + | "NC" + | "NZ" + | "NI" + | "NE" + | "NG" + | "NU" + | "NF" + | "MP" + | "NO" + | "OM" + | "PK" + | "PW" + | "PS" + | "PA" + | "PG" + | "PY" + | "PE" + | "PH" + | "PN" + | "PL" + | "PT" + | "PR" + | "QA" + | "RE" + | "RO" + | "RU" + | "RW" + | "BL" + | "SH" + | "KN" + | "LC" + | "MF" + | "PM" + | "VC" + | "WS" + | "SM" + | "ST" + | "SA" + | "SN" + | "RS" + | "SC" + | "SL" + | "SG" + | "SX" + | "SK" + | "SI" + | "SB" + | "SO" + | "ZA" + | "GS" + | "SS" + | "ES" + | "LK" + | "SD" + | "SR" + | "SJ" + | "SZ" + | "SE" + | "CH" + | "SY" + | "TW" + | "TJ" + | "TZ" + | "TH" + | "TL" + | "TG" + | "TK" + | "TO" + | "TT" + | "TN" + | "TR" + | "TM" + | "TC" + | "TV" + | "UG" + | "UA" + | "AE" + | "GB" + | "US" + | "UM" + | "UY" + | "UZ" + | "VU" + | "VE" + | "VN" + | "VG" + | "VI" + | "WF" + | "EH" + | "YE" + | "ZM" + | "ZW"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.CreateSharedGroupRequest + */ + export interface CreateSharedGroupRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the shared group (a random identifier will be assigned, if one is not specified). + */ + SharedGroupId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.CreateSharedGroupResult + */ + export interface CreateSharedGroupResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique identifier for the shared group. + */ + SharedGroupId?: string; + + } + + type Currency = "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYR" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.DeleteCharacterFromUserRequest + */ + export interface DeleteCharacterFromUserRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + /** + / If true, the character's inventory will be transferred up to the owning user; otherwise, this request will purge those items. + */ + SaveCharacterInventory: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.DeleteCharacterFromUserResult + */ + export interface DeleteCharacterFromUserResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.DeleteSharedGroupRequest + */ + export interface DeleteSharedGroupRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the shared group. + */ + SharedGroupId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.DeleteUsersRequest + */ + export interface DeleteUsersRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / An array of unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabIds: string[]; + /** + / Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a title has been selected. + */ + TitleId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.DeleteUsersResult + */ + export interface DeleteUsersResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.DeregisterGameRequest + */ + export interface DeregisterGameRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the Game Server Instance that is being deregistered. + */ + LobbyId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.DeregisterGameResponse + */ + export interface DeregisterGameResponse extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.EmptyResult + */ + export interface EmptyResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.EvaluateRandomResultTableRequest + */ + export interface EvaluateRandomResultTableRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / The unique identifier of the Random Result Table to use. + */ + TableId: string; + /** + / Specifies the catalog version that should be used to evaluate the Random Result Table. If unspecified, uses default/primary catalog. + */ + CatalogVersion?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.EvaluateRandomResultTableResult + */ + export interface EvaluateRandomResultTableResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique identifier for the item returned from the Random Result Table evaluation, for the given catalog. + */ + ResultItemId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ExecuteCloudScriptResult + */ + export interface ExecuteCloudScriptResult extends PlayFabModule.IPlayFabResultCommon { + /** + / The name of the function that executed + */ + FunctionName?: string; + /** + / The revision of the CloudScript that executed + */ + Revision: number; + /** + / The object returned from the CloudScript function, if any + */ + FunctionResult?: any; + /** + / Entries logged during the function execution. These include both entries logged in the function code using log.info() and log.error() and error entries for API and HTTP request failures. + */ + Logs?: LogStatement[]; + ExecutionTimeSeconds: number; + /** + / Processor time consumed while executing the function. This does not include time spent waiting on API calls or HTTP requests. + */ + ProcessorTimeSeconds: number; + MemoryConsumedBytes: number; + /** + / Number of PlayFab API requests issued by the CloudScript function + */ + APIRequestsIssued: number; + /** + / Number of external HTTP requests issued by the CloudScript function + */ + HttpRequestsIssued: number; + /** + / Information about the error, if any, that occured during execution + */ + Error?: ScriptExecutionError; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ExecuteCloudScriptServerRequest + */ + export interface ExecuteCloudScriptServerRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / The unique user identifier for the player on whose behalf the script is being run + */ + PlayFabId: string; + /** + / The name of the CloudScript function to execute + */ + FunctionName: string; + /** + / Object that is passed in to the function as the first argument + */ + FunctionParameter?: any; + /** + / Option for which revision of the CloudScript to execute. 'Latest' executes the most recently created revision, 'Live' executes the current live, published revision, and 'Specific' executes the specified revision. The default value is 'Specific', if the SpeificRevision parameter is specified, otherwise it is 'Live'. + */ + RevisionSelection?: string; + /** + / The specivic revision to execute, when RevisionSelection is set to 'Specific' + */ + SpecificRevision?: number; + /** + / Generate a 'player_executed_cloudscript' PlayStream event containing the results of the function execution and other contextual information. This event will show up in the PlayStream debugger console for the player in Game Manager. + */ + GeneratePlayStreamEvent?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.FacebookPlayFabIdPair + */ + export interface FacebookPlayFabIdPair { + /** + / Unique Facebook identifier for a user. + */ + FacebookId?: string; + /** + / Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the Facebook identifier. + */ + PlayFabId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.FriendInfo + */ + export interface FriendInfo { + /** + / PlayFab unique identifier for this friend. + */ + FriendPlayFabId?: string; + /** + / PlayFab unique username for this friend. + */ + Username?: string; + /** + / Title-specific display name for this friend. + */ + TitleDisplayName?: string; + /** + / Tags which have been associated with this friend. + */ + Tags?: string[]; + /** + / Unique lobby identifier of the Game Server Instance to which this player is currently connected. + */ + CurrentMatchmakerLobbyId?: string; + /** + / Available Facebook information (if the user and PlayFab friend are also connected in Facebook). + */ + FacebookInfo?: UserFacebookInfo; + /** + / Available Steam information (if the user and PlayFab friend are also connected in Steam). + */ + SteamInfo?: UserSteamInfo; + /** + / Available Game Center information (if the user and PlayFab friend are also connected in Game Center). + */ + GameCenterInfo?: UserGameCenterInfo; + + } + + type GameInstanceState = "Open" + | "Closed"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetActionGroupResult + */ + export interface GetActionGroupResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Action Group name + */ + Name: string; + /** + / Action Group ID + */ + Id?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetAllActionGroupsRequest + */ + export interface GetAllActionGroupsRequest extends PlayFabModule.IPlayFabRequestCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetAllActionGroupsResult + */ + export interface GetAllActionGroupsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / List of Action Groups. + */ + ActionGroups: GetActionGroupResult[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetAllSegmentsRequest + */ + export interface GetAllSegmentsRequest extends PlayFabModule.IPlayFabRequestCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetAllSegmentsResult + */ + export interface GetAllSegmentsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Array of segments for this title. + */ + Segments?: GetSegmentResult[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetCatalogItemsRequest + */ + export interface GetCatalogItemsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Which catalog is being requested. If null, uses the default catalog. + */ + CatalogVersion?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetCatalogItemsResult + */ + export interface GetCatalogItemsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Array of items which can be purchased. + */ + Catalog?: CatalogItem[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetCharacterDataRequest + */ + export interface GetCharacterDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + /** + / Specific keys to search for in the custom user data. + */ + Keys?: string[]; + /** + / The version that currently exists according to the caller. The call will return the data for all of the keys if the version in the system is greater than this. + */ + IfChangedFromDataVersion?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetCharacterDataResult + */ + export interface GetCharacterDataResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId?: string; + /** + / Indicates the current version of the data that has been set. This is incremented with every set call for that type of data (read-only, internal, etc). This version can be provided in Get calls to find updated data. + */ + DataVersion: number; + /** + / User specific data for this title. + */ + Data?: { [key: string]: UserDataRecord }; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetCharacterInventoryRequest + */ + export interface GetCharacterInventoryRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + /** + / Used to limit results to only those from a specific catalog version. + */ + CatalogVersion?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetCharacterInventoryResult + */ + export interface GetCharacterInventoryResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId?: string; + /** + / Unique identifier of the character for this inventory. + */ + CharacterId?: string; + /** + / Array of inventory items belonging to the character. + */ + Inventory?: ItemInstance[]; + /** + / Array of virtual currency balance(s) belonging to the character. + */ + VirtualCurrency?: { [key: string]: number }; + /** + / Array of remaining times and timestamps for virtual currencies. + */ + VirtualCurrencyRechargeTimes?: { [key: string]: VirtualCurrencyRechargeTime }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetCharacterLeaderboardRequest + */ + export interface GetCharacterLeaderboardRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + /** + / Optional character type on which to filter the leaderboard entries. + */ + CharacterType?: string; + /** + / Unique identifier for the title-specific statistic for the leaderboard. + */ + StatisticName: string; + /** + / First entry in the leaderboard to be retrieved. + */ + StartPosition: number; + /** + / Maximum number of entries to retrieve. + */ + MaxResultsCount: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetCharacterLeaderboardResult + */ + export interface GetCharacterLeaderboardResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Ordered list of leaderboard entries. + */ + Leaderboard?: CharacterLeaderboardEntry[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetCharacterStatisticsRequest + */ + export interface GetCharacterStatisticsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetCharacterStatisticsResult + */ + export interface GetCharacterStatisticsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / PlayFab unique identifier of the user whose character statistics are being returned. + */ + PlayFabId?: string; + /** + / Unique identifier of the character for the statistics. + */ + CharacterId?: string; + /** + / Character statistics for the requested user. + */ + CharacterStatistics?: { [key: string]: number }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetContentDownloadUrlRequest + */ + export interface GetContentDownloadUrlRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Key of the content item to fetch, usually formatted as a path, e.g. images/a.png + */ + Key: string; + /** + / HTTP method to fetch item - GET or HEAD. Use HEAD when only fetching metadata. Default is GET. + */ + HttpMethod?: string; + /** + / True if download through CDN. CDN provides better download bandwidth and time. However, if you want latest, non-cached version of the content, set this to false. Default is true. + */ + ThruCDN?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetContentDownloadUrlResult + */ + export interface GetContentDownloadUrlResult extends PlayFabModule.IPlayFabResultCommon { + /** + / URL for downloading content via HTTP GET or HEAD method. The URL will expire in 1 hour. + */ + URL?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetFriendLeaderboardRequest + */ + export interface GetFriendLeaderboardRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / The player whose friend leaderboard to get + */ + PlayFabId: string; + /** + / Statistic used to rank friends for this leaderboard. + */ + StatisticName: string; + /** + / Position in the leaderboard to start this listing (defaults to the first entry). + */ + StartPosition: number; + /** + / Maximum number of entries to retrieve. + */ + MaxResultsCount: number; + /** + / Indicates whether Steam service friends should be included in the response. Default is true. + */ + IncludeSteamFriends?: boolean; + /** + / Indicates whether Facebook friends should be included in the response. Default is true. + */ + IncludeFacebookFriends?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetFriendsListRequest + */ + export interface GetFriendsListRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / PlayFab identifier of the player whose friend list to get. + */ + PlayFabId: string; + /** + / Indicates whether Steam service friends should be included in the response. Default is true. + */ + IncludeSteamFriends?: boolean; + /** + / Indicates whether Facebook friends should be included in the response. Default is true. + */ + IncludeFacebookFriends?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetFriendsListResult + */ + export interface GetFriendsListResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Array of friends found. + */ + Friends?: FriendInfo[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetLeaderboardAroundCharacterRequest + */ + export interface GetLeaderboardAroundCharacterRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the title-specific statistic for the leaderboard. + */ + StatisticName: string; + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + /** + / Optional character type on which to filter the leaderboard entries. + */ + CharacterType?: string; + /** + / Maximum number of entries to retrieve. + */ + MaxResultsCount: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetLeaderboardAroundCharacterResult + */ + export interface GetLeaderboardAroundCharacterResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Ordered list of leaderboard entries. + */ + Leaderboard?: CharacterLeaderboardEntry[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetLeaderboardAroundUserRequest + */ + export interface GetLeaderboardAroundUserRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the title-specific statistic for the leaderboard. + */ + StatisticName: string; + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Maximum number of entries to retrieve. + */ + MaxResultsCount: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetLeaderboardAroundUserResult + */ + export interface GetLeaderboardAroundUserResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Ordered list of leaderboard entries. + */ + Leaderboard?: PlayerLeaderboardEntry[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetLeaderboardForUsersCharactersRequest + */ + export interface GetLeaderboardForUsersCharactersRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the title-specific statistic for the leaderboard. + */ + StatisticName: string; + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Maximum number of entries to retrieve. + */ + MaxResultsCount: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetLeaderboardForUsersCharactersResult + */ + export interface GetLeaderboardForUsersCharactersResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Ordered list of leaderboard entries. + */ + Leaderboard?: CharacterLeaderboardEntry[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetLeaderboardRequest + */ + export interface GetLeaderboardRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the title-specific statistic for the leaderboard. + */ + StatisticName: string; + /** + / First entry in the leaderboard to be retrieved. + */ + StartPosition: number; + /** + / Maximum number of entries to retrieve. + */ + MaxResultsCount: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetLeaderboardResult + */ + export interface GetLeaderboardResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Ordered list of leaderboard entries. + */ + Leaderboard?: PlayerLeaderboardEntry[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayerCombinedInfoRequest + */ + export interface GetPlayerCombinedInfoRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / PlayFabId of the user whose data will be returned + */ + PlayFabId: string; + /** + / Flags for which pieces of info to return for the user. + */ + InfoRequestParameters: GetPlayerCombinedInfoRequestParams; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayerCombinedInfoRequestParams + */ + export interface GetPlayerCombinedInfoRequestParams { + /** + / Whether to get the player's account Info. Defaults to false + */ + GetUserAccountInfo: boolean; + /** + / Whether to get the player's inventory. Defaults to false + */ + GetUserInventory: boolean; + /** + / Whether to get the player's virtual currency balances. Defaults to false + */ + GetUserVirtualCurrency: boolean; + /** + / Whether to get the player's custom data. Defaults to false + */ + GetUserData: boolean; + /** + / Specific keys to search for in the custom data. Leave null to get all keys. Has no effect if GetUserData is false + */ + UserDataKeys?: string[]; + /** + / Whether to get the player's read only data. Defaults to false + */ + GetUserReadOnlyData: boolean; + /** + / Specific keys to search for in the custom data. Leave null to get all keys. Has no effect if GetUserReadOnlyData is false + */ + UserReadOnlyDataKeys?: string[]; + /** + / Whether to get character inventories. Defaults to false. + */ + GetCharacterInventories: boolean; + /** + / Whether to get the list of characters. Defaults to false. + */ + GetCharacterList: boolean; + /** + / Whether to get title data. Defaults to false. + */ + GetTitleData: boolean; + /** + / Specific keys to search for in the custom data. Leave null to get all keys. Has no effect if GetTitleData is false + */ + TitleDataKeys?: string[]; + /** + / Whether to get player statistics. Defaults to false. + */ + GetPlayerStatistics: boolean; + /** + / Specific statistics to retrieve. Leave null to get all keys. Has no effect if GetPlayerStatistics is false + */ + PlayerStatisticNames?: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayerCombinedInfoResult + */ + export interface GetPlayerCombinedInfoResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId?: string; + /** + / Results for requested info. + */ + InfoResultPayload?: GetPlayerCombinedInfoResultPayload; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayerCombinedInfoResultPayload + */ + export interface GetPlayerCombinedInfoResultPayload { + /** + / Account information for the user. This is always retrieved. + */ + AccountInfo?: UserAccountInfo; + /** + / Array of inventory items in the user's current inventory. + */ + UserInventory?: ItemInstance[]; + /** + / Dictionary of virtual currency balance(s) belonging to the user. + */ + UserVirtualCurrency?: { [key: string]: number }; + /** + / Dictionary of remaining times and timestamps for virtual currencies. + */ + UserVirtualCurrencyRechargeTimes?: { [key: string]: VirtualCurrencyRechargeTime }; + /** + / User specific custom data. + */ + UserData?: { [key: string]: UserDataRecord }; + /** + / The version of the UserData that was returned. + */ + UserDataVersion: number; + /** + / User specific read-only data. + */ + UserReadOnlyData?: { [key: string]: UserDataRecord }; + /** + / The version of the Read-Only UserData that was returned. + */ + UserReadOnlyDataVersion: number; + /** + / List of characters for the user. + */ + CharacterList?: CharacterResult[]; + /** + / Inventories for each character for the user. + */ + CharacterInventories?: CharacterInventory[]; + /** + / Title data for this title. + */ + TitleData?: { [key: string]: string }; + /** + / List of statistics for this player. + */ + PlayerStatistics?: StatisticValue[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayerSegmentsResult + */ + export interface GetPlayerSegmentsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Array of segments the requested player currently belongs to. + */ + Segments?: GetSegmentResult[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayersInSegmentRequest + */ + export interface GetPlayersInSegmentRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for this segment. + */ + SegmentId: string; + /** + / Number of seconds to keep the continuation token active. After token expiration it is not possible to continue paging results. Default is 300 (5 minutes). Maximum is 1,800 (30 minutes). + */ + SecondsToLive?: number; + /** + / Maximum number of profiles to load. Default is 1,000. Maximum is 10,000. + */ + MaxBatchSize?: number; + /** + / Continuation token if retrieving subsequent pages of results. + */ + ContinuationToken?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayersInSegmentResult + */ + export interface GetPlayersInSegmentResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Count of profiles matching this segment. + */ + ProfilesInSegment: number; + /** + / Continuation token to use to retrieve subsequent pages of results. If token returns null there are no more results. + */ + ContinuationToken?: string; + /** + / Array of player profiles in this segment. + */ + PlayerProfiles?: PlayerProfile[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayersSegmentsRequest + */ + export interface GetPlayersSegmentsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayerStatisticsRequest + */ + export interface GetPlayerStatisticsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / user for whom statistics are being requested + */ + PlayFabId: string; + /** + / statistics to return + */ + StatisticNames?: string[]; + /** + / statistics to return, if StatisticNames is not set (only statistics which have a version matching that provided will be returned) + */ + StatisticNameVersions?: StatisticNameVersion[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayerStatisticsResult + */ + export interface GetPlayerStatisticsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / PlayFab unique identifier of the user whose statistics are being returned + */ + PlayFabId?: string; + /** + / User statistics for the requested user. + */ + Statistics?: StatisticValue[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayerStatisticVersionsRequest + */ + export interface GetPlayerStatisticVersionsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / unique name of the statistic + */ + StatisticName?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayerStatisticVersionsResult + */ + export interface GetPlayerStatisticVersionsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / version change history of the statistic + */ + StatisticVersions?: PlayerStatisticVersion[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayerTagsRequest + */ + export interface GetPlayerTagsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Optional namespace to filter results by + */ + Namespace?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayerTagsResult + */ + export interface GetPlayerTagsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Canonical tags (including namespace and tag's name) for the requested user + */ + Tags: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayFabIDsFromFacebookIDsRequest + */ + export interface GetPlayFabIDsFromFacebookIDsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. + */ + FacebookIDs: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayFabIDsFromFacebookIDsResult + */ + export interface GetPlayFabIDsFromFacebookIDsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Mapping of Facebook identifiers to PlayFab identifiers. + */ + Data?: FacebookPlayFabIdPair[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayFabIDsFromSteamIDsRequest + */ + export interface GetPlayFabIDsFromSteamIDsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers. + */ + SteamStringIDs?: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPlayFabIDsFromSteamIDsResult + */ + export interface GetPlayFabIDsFromSteamIDsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Mapping of Steam identifiers to PlayFab identifiers. + */ + Data?: SteamPlayFabIdPair[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPublisherDataRequest + */ + export interface GetPublisherDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / array of keys to get back data from the Publisher data blob, set by the admin tools + */ + Keys: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetPublisherDataResult + */ + export interface GetPublisherDataResult extends PlayFabModule.IPlayFabResultCommon { + /** + / a dictionary object of key / value pairs + */ + Data?: { [key: string]: string }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetRandomResultTablesRequest + */ + export interface GetRandomResultTablesRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Specifies the catalog version that should be used to retrieve the Random Result Tables. If unspecified, uses default/primary catalog. + */ + CatalogVersion?: string; + /** + / The unique identifier of the Random Result Table to use. + */ + TableIDs: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetRandomResultTablesResult + */ + export interface GetRandomResultTablesResult extends PlayFabModule.IPlayFabResultCommon { + /** + / array of random result tables currently available + */ + Tables?: { [key: string]: RandomResultTableListing }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetSegmentResult + */ + export interface GetSegmentResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique identifier for this segment. + */ + Id: string; + /** + / Segment name. + */ + Name?: string; + /** + / Identifier of the segments AB Test, if it is attached to one. + */ + ABTestParent?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetSharedGroupDataRequest + */ + export interface GetSharedGroupDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the shared group. + */ + SharedGroupId: string; + /** + / Specific keys to retrieve from the shared group (if not specified, all keys will be returned, while an empty array indicates that no keys should be returned). + */ + Keys?: string[]; + /** + / If true, return the list of all members of the shared group. + */ + GetMembers?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetSharedGroupDataResult + */ + export interface GetSharedGroupDataResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Data for the requested keys. + */ + Data?: { [key: string]: SharedGroupDataRecord }; + /** + / List of PlayFabId identifiers for the members of this group, if requested. + */ + Members?: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetTimeRequest + */ + export interface GetTimeRequest extends PlayFabModule.IPlayFabRequestCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetTimeResult + */ + export interface GetTimeResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Current server time when the request was received, in UTC + */ + Time: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetTitleDataRequest + */ + export interface GetTitleDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Specific keys to search for in the title data (leave null to get all keys) + */ + Keys?: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetTitleDataResult + */ + export interface GetTitleDataResult extends PlayFabModule.IPlayFabResultCommon { + /** + / a dictionary object of key / value pairs + */ + Data?: { [key: string]: string }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetTitleNewsRequest + */ + export interface GetTitleNewsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Limits the results to the last n entries. Defaults to 10 if not set. + */ + Count?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetTitleNewsResult + */ + export interface GetTitleNewsResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Array of news items. + */ + News?: TitleNewsItem[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetUserAccountInfoRequest + */ + export interface GetUserAccountInfoRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetUserAccountInfoResult + */ + export interface GetUserAccountInfoResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Account details for the user whose information was requested. + */ + UserInfo?: UserAccountInfo; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetUserBansRequest + */ + export interface GetUserBansRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetUserBansResult + */ + export interface GetUserBansResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Information about the bans + */ + BanData?: BanInfo[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetUserDataRequest + */ + export interface GetUserDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Specific keys to search for in the custom user data. + */ + Keys?: string[]; + /** + / The version that currently exists according to the caller. The call will return the data for all of the keys if the version in the system is greater than this. + */ + IfChangedFromDataVersion?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetUserDataResult + */ + export interface GetUserDataResult extends PlayFabModule.IPlayFabResultCommon { + /** + / PlayFab unique identifier of the user whose custom data is being returned. + */ + PlayFabId?: string; + /** + / Indicates the current version of the data that has been set. This is incremented with every set call for that type of data (read-only, internal, etc). This version can be provided in Get calls to find updated data. + */ + DataVersion: number; + /** + / User specific data for this title. + */ + Data?: { [key: string]: UserDataRecord }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetUserInventoryRequest + */ + export interface GetUserInventoryRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GetUserInventoryResult + */ + export interface GetUserInventoryResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId?: string; + /** + / Array of inventory items belonging to the user. + */ + Inventory?: ItemInstance[]; + /** + / Array of virtual currency balance(s) belonging to the user. + */ + VirtualCurrency?: { [key: string]: number }; + /** + / Array of remaining times and timestamps for virtual currencies. + */ + VirtualCurrencyRechargeTimes?: { [key: string]: VirtualCurrencyRechargeTime }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GrantCharacterToUserRequest + */ + export interface GrantCharacterToUserRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Non-unique display name of the character being granted. + */ + CharacterName: string; + /** + / Type of the character being granted; statistics can be sliced based on this value. + */ + CharacterType: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GrantCharacterToUserResult + */ + export interface GrantCharacterToUserResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique identifier tagged to this character. + */ + CharacterId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GrantedItemInstance + */ + export interface GrantedItemInstance { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId?: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId?: string; + /** + / Result of this operation. + */ + Result: boolean; + /** + / Unique identifier for the inventory item, as defined in the catalog. + */ + ItemId?: string; + /** + / Unique item identifier for this specific instance of the item. + */ + ItemInstanceId?: string; + /** + / Class name for the inventory item, as defined in the catalog. + */ + ItemClass?: string; + /** + / Timestamp for when this instance was purchased. + */ + PurchaseDate?: string; + /** + / Timestamp for when this instance will expire. + */ + Expiration?: string; + /** + / Total number of remaining uses, if this is a consumable item. + */ + RemainingUses?: number; + /** + / The number of uses that were added or removed to this item in this call. + */ + UsesIncrementedBy?: number; + /** + / Game specific comment associated with this instance when it was added to the user inventory. + */ + Annotation?: string; + /** + / Catalog version for the inventory item, when this instance was created. + */ + CatalogVersion?: string; + /** + / Unique identifier for the parent inventory item, as defined in the catalog, for object which were added from a bundle or container. + */ + BundleParent?: string; + /** + / CatalogItem.DisplayName at the time this item was purchased. + */ + DisplayName?: string; + /** + / Currency type for the cost of the catalog item. + */ + UnitCurrency?: string; + /** + / Cost of the catalog item in the given currency. + */ + UnitPrice: number; + /** + / Array of unique items that were awarded when this catalog item was purchased. + */ + BundleContents?: string[]; + /** + / A set of custom key-value pairs on the inventory item. + */ + CustomData?: { [key: string]: string }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GrantItemsToCharacterRequest + */ + export interface GrantItemsToCharacterRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Catalog version from which items are to be granted. + */ + CatalogVersion?: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / String detailing any additional information concerning this operation. + */ + Annotation?: string; + /** + / Array of itemIds to grant to the user. + */ + ItemIds?: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GrantItemsToCharacterResult + */ + export interface GrantItemsToCharacterResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Array of items granted to users. + */ + ItemGrantResults?: GrantedItemInstance[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GrantItemsToUserRequest + */ + export interface GrantItemsToUserRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Catalog version from which items are to be granted. + */ + CatalogVersion?: string; + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / String detailing any additional information concerning this operation. + */ + Annotation?: string; + /** + / Array of itemIds to grant to the user. + */ + ItemIds: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GrantItemsToUserResult + */ + export interface GrantItemsToUserResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Array of items granted to users. + */ + ItemGrantResults?: GrantedItemInstance[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GrantItemsToUsersRequest + */ + export interface GrantItemsToUsersRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Catalog version from which items are to be granted. + */ + CatalogVersion?: string; + /** + / Array of items to grant and the users to whom the items are to be granted. + */ + ItemGrants: ItemGrant[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.GrantItemsToUsersResult + */ + export interface GrantItemsToUsersResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Array of items granted to users. + */ + ItemGrantResults?: GrantedItemInstance[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ItemGrant + */ + export interface ItemGrant { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique identifier of the catalog item to be granted to the user. + */ + ItemId: string; + /** + / String detailing any additional information concerning this operation. + */ + Annotation?: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId?: string; + /** + / Key-value pairs to be written to the custom data. Note that keys are trimmed of whitespace, are limited in size, and may not begin with a '!' character. + */ + Data?: { [key: string]: string }; + /** + / Optional list of Data-keys to remove from UserData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + */ + KeysToRemove?: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ItemInstance + */ + export interface ItemInstance { + /** + / Unique identifier for the inventory item, as defined in the catalog. + */ + ItemId?: string; + /** + / Unique item identifier for this specific instance of the item. + */ + ItemInstanceId?: string; + /** + / Class name for the inventory item, as defined in the catalog. + */ + ItemClass?: string; + /** + / Timestamp for when this instance was purchased. + */ + PurchaseDate?: string; + /** + / Timestamp for when this instance will expire. + */ + Expiration?: string; + /** + / Total number of remaining uses, if this is a consumable item. + */ + RemainingUses?: number; + /** + / The number of uses that were added or removed to this item in this call. + */ + UsesIncrementedBy?: number; + /** + / Game specific comment associated with this instance when it was added to the user inventory. + */ + Annotation?: string; + /** + / Catalog version for the inventory item, when this instance was created. + */ + CatalogVersion?: string; + /** + / Unique identifier for the parent inventory item, as defined in the catalog, for object which were added from a bundle or container. + */ + BundleParent?: string; + /** + / CatalogItem.DisplayName at the time this item was purchased. + */ + DisplayName?: string; + /** + / Currency type for the cost of the catalog item. + */ + UnitCurrency?: string; + /** + / Cost of the catalog item in the given currency. + */ + UnitPrice: number; + /** + / Array of unique items that were awarded when this catalog item was purchased. + */ + BundleContents?: string[]; + /** + / A set of custom key-value pairs on the inventory item. + */ + CustomData?: { [key: string]: string }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ListUsersCharactersRequest + */ + export interface ListUsersCharactersRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ListUsersCharactersResult + */ + export interface ListUsersCharactersResult extends PlayFabModule.IPlayFabResultCommon { + /** + / The requested list of characters. + */ + Characters?: CharacterResult[]; + + } + + type LoginIdentityProvider = "Unknown" + | "PlayFab" + | "Custom" + | "GameCenter" + | "GooglePlay" + | "Steam" + | "XBoxLive" + | "PSN" + | "Kongregate" + | "Facebook" + | "IOSDevice" + | "AndroidDevice" + | "Twitch"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.LogStatement + */ + export interface LogStatement { + /** + / 'Debug', 'Info', or 'Error' + */ + Level?: string; + Message?: string; + /** + / Optional object accompanying the message as contextual information + */ + Data?: any; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ModifyCharacterVirtualCurrencyResult + */ + export interface ModifyCharacterVirtualCurrencyResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Name of the virtual currency which was modified. + */ + VirtualCurrency?: string; + /** + / Balance of the virtual currency after modification. + */ + Balance: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ModifyItemUsesRequest + */ + export interface ModifyItemUsesRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / PlayFab unique identifier of the user whose item is being modified. + */ + PlayFabId: string; + /** + / Unique instance identifier of the item to be modified. + */ + ItemInstanceId: string; + /** + / Number of uses to add to the item. Can be negative to remove uses. + */ + UsesToAdd: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ModifyItemUsesResult + */ + export interface ModifyItemUsesResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique instance identifier of the item with uses consumed. + */ + ItemInstanceId?: string; + /** + / Number of uses remaining on the item. + */ + RemainingUses: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ModifyUserVirtualCurrencyResult + */ + export interface ModifyUserVirtualCurrencyResult extends PlayFabModule.IPlayFabResultCommon { + /** + / User currency was subtracted from. + */ + PlayFabId?: string; + /** + / Name of the virtual currency which was modified. + */ + VirtualCurrency?: string; + /** + / Amount added or subtracted from the user's virtual currency. Maximum VC balance is Int32 (2,147,483,647). Any increase over this value will be discarded. + */ + BalanceChange: number; + /** + / Balance of the virtual currency after modification. + */ + Balance: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.MoveItemToCharacterFromCharacterRequest + */ + export interface MoveItemToCharacterFromCharacterRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique identifier of the character that currently has the item. + */ + GivingCharacterId: string; + /** + / Unique identifier of the character that will be receiving the item. + */ + ReceivingCharacterId: string; + /** + / Unique PlayFab assigned instance identifier of the item + */ + ItemInstanceId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.MoveItemToCharacterFromCharacterResult + */ + export interface MoveItemToCharacterFromCharacterResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.MoveItemToCharacterFromUserRequest + */ + export interface MoveItemToCharacterFromUserRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + /** + / Unique PlayFab assigned instance identifier of the item + */ + ItemInstanceId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.MoveItemToCharacterFromUserResult + */ + export interface MoveItemToCharacterFromUserResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.MoveItemToUserFromCharacterRequest + */ + export interface MoveItemToUserFromCharacterRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + /** + / Unique PlayFab assigned instance identifier of the item + */ + ItemInstanceId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.MoveItemToUserFromCharacterResult + */ + export interface MoveItemToUserFromCharacterResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.NameIdentifier + */ + export interface NameIdentifier { + Name?: string; + Id?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.NotifyMatchmakerPlayerLeftRequest + */ + export interface NotifyMatchmakerPlayerLeftRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier of the Game Instance the user is leaving. + */ + LobbyId: string; + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.NotifyMatchmakerPlayerLeftResult + */ + export interface NotifyMatchmakerPlayerLeftResult extends PlayFabModule.IPlayFabResultCommon { + /** + / State of user leaving the Game Server Instance. + */ + PlayerState?: string; + + } + + type PlayerConnectionState = "Unassigned" + | "Connecting" + | "Participating" + | "Participated"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.PlayerLeaderboardEntry + */ + export interface PlayerLeaderboardEntry { + /** + / PlayFab unique identifier of the user for this leaderboard entry. + */ + PlayFabId?: string; + /** + / Title-specific display name of the user for this leaderboard entry. + */ + DisplayName?: string; + /** + / Specific value of the user's statistic. + */ + StatValue: number; + /** + / User's overall position in the leaderboard. + */ + Position: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.PlayerLinkedAccount + */ + export interface PlayerLinkedAccount { + /** + / Authentication platform + */ + Platform?: string; + /** + / Platform user identifier + */ + PlatformUserId?: string; + /** + / Linked account's username + */ + Username?: string; + /** + / Linked account's email + */ + Email?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.PlayerLocation + */ + export interface PlayerLocation { + /** + / The two-character continent code for this location + */ + ContinentCode: string; + /** + / The two-character ISO 3166-1 country code for the country associated with the location + */ + CountryCode: string; + /** + / City of the player's geographic location. + */ + City?: string; + /** + / Latitude coordinate of the player's geographic location. + */ + Latitude?: number; + /** + / Longitude coordinate of the player's geographic location. + */ + Longitude?: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.PlayerProfile + */ + export interface PlayerProfile { + /** + / PlayFab Player ID + */ + PlayerId?: string; + /** + / Title ID this profile applies to + */ + TitleId?: string; + /** + / Player Display Name + */ + DisplayName?: string; + /** + / Publisher this player belongs to + */ + PublisherId?: string; + /** + / Player account origination + */ + Origination?: string; + /** + / Player record created + */ + Created?: string; + /** + / Last login + */ + LastLogin?: string; + /** + / Banned until UTC Date. If permanent ban this is set for 20 years after the original ban date. + */ + BannedUntil?: string; + /** + / Dictionary of player's statistics using only the latest version's value + */ + Statistics?: { [key: string]: number }; + /** + / A sum of player's total purchases in USD across all currencies. + */ + TotalValueToDateInUSD?: number; + /** + / Dictionary of player's total purchases by currency. + */ + ValuesToDate?: { [key: string]: number }; + /** + / List of player's tags for segmentation. + */ + Tags?: string[]; + /** + / Dictionary of player's locations by type. + */ + Locations?: { [key: string]: PlayerLocation }; + /** + / Dictionary of player's virtual currency balances + */ + VirtualCurrencyBalances?: { [key: string]: number }; + /** + / Array of ad campaigns player has been attributed to + */ + AdCampaignAttributions?: AdCampaignAttribution[]; + /** + / Array of configured push notification end points + */ + PushNotificationRegistrations?: PushNotificationRegistration[]; + /** + / Array of third party accounts linked to this player + */ + LinkedAccounts?: PlayerLinkedAccount[]; + /** + / Array of player statistics + */ + PlayerStatistics?: PlayerStatistic[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.PlayerStatistic + */ + export interface PlayerStatistic { + /** + / Statistic ID + */ + Id?: string; + /** + / Statistic version (0 if not a versioned statistic) + */ + StatisticVersion: number; + /** + / Current statistic value + */ + StatisticValue: number; + /** + / Statistic name + */ + Name?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.PlayerStatisticVersion + */ + export interface PlayerStatisticVersion { + /** + / name of the statistic when the version became active + */ + StatisticName?: string; + /** + / version of the statistic + */ + Version: number; + /** + / time at which the statistic version was scheduled to become active, based on the configured ResetInterval + */ + ScheduledActivationTime?: string; + /** + / time when the statistic version became active + */ + ActivationTime: string; + /** + / time at which the statistic version was scheduled to become inactive, based on the configured ResetInterval + */ + ScheduledDeactivationTime?: string; + /** + / time when the statistic version became inactive due to statistic version incrementing + */ + DeactivationTime?: string; + + } + + type PushNotificationPlatform = "ApplePushNotificationService" + | "GoogleCloudMessaging"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.PushNotificationRegistration + */ + export interface PushNotificationRegistration { + /** + / Push notification platform + */ + Platform?: string; + /** + / Notification configured endpoint + */ + NotificationEndpointARN?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.RandomResultTableListing + */ + export interface RandomResultTableListing { + /** + / Catalog version this table is associated with + */ + CatalogVersion?: string; + /** + / Unique name for this drop table + */ + TableId: string; + /** + / Child nodes that indicate what kind of drop table item this actually is. + */ + Nodes: ResultTableNode[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.RedeemCouponRequest + */ + export interface RedeemCouponRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Generated coupon code to redeem. + */ + CouponCode: string; + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Catalog version of the coupon. + */ + CatalogVersion?: string; + /** + / Optional identifier for the Character that should receive the item. If null, item is added to the player + */ + CharacterId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.RedeemCouponResult + */ + export interface RedeemCouponResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Items granted to the player as a result of redeeming the coupon. + */ + GrantedItems?: ItemInstance[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.RedeemMatchmakerTicketRequest + */ + export interface RedeemMatchmakerTicketRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Server authorization ticket passed back from a call to Matchmake or StartGame. + */ + Ticket: string; + /** + / Unique identifier of the Game Server Instance that is asking for validation of the authorization ticket. + */ + LobbyId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.RedeemMatchmakerTicketResult + */ + export interface RedeemMatchmakerTicketResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Boolean indicating whether the ticket was validated by the PlayFab service. + */ + TicketIsValid: boolean; + /** + / Error value if the ticket was not validated. + */ + Error?: string; + /** + / User account information for the user validated. + */ + UserInfo?: UserAccountInfo; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.RefreshGameServerInstanceHeartbeatRequest + */ + export interface RefreshGameServerInstanceHeartbeatRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier of the Game Server Instance for which the heartbeat is updated. + */ + LobbyId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.RefreshGameServerInstanceHeartbeatResult + */ + export interface RefreshGameServerInstanceHeartbeatResult extends PlayFabModule.IPlayFabResultCommon { + + } + + type Region = "USCentral" + | "USEast" + | "EUWest" + | "Singapore" + | "Japan" + | "Brazil" + | "Australia"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.RegisterGameRequest + */ + export interface RegisterGameRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / IP address of the Game Server Instance. + */ + ServerHost: string; + /** + / Port number for communication with the Game Server Instance. + */ + ServerPort: string; + /** + / Unique identifier of the build running on the Game Server Instance. + */ + Build: string; + /** + / Region in which the Game Server Instance is running. For matchmaking using non-AWS region names, set this to any AWS region and use Tags (below) to specify your custom region. + */ + Region: string; + /** + / Game Mode the Game Server instance is running. Note that this must be defined in the Game Modes tab in the PlayFab Game Manager, along with the Build ID (the same Game Mode can be defined for multiple Build IDs). + */ + GameMode: string; + /** + / Tags for the Game Server Instance + */ + Tags?: { [key: string]: string }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.RegisterGameResponse + */ + export interface RegisterGameResponse extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique identifier generated for the Game Server Instance that is registered. + */ + LobbyId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.RemoveFriendRequest + */ + export interface RemoveFriendRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / PlayFab identifier of the friend account which is to be removed. + */ + FriendPlayFabId: string; + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.RemovePlayerTagRequest + */ + export interface RemovePlayerTagRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique tag for player profile. + */ + TagName: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.RemovePlayerTagResult + */ + export interface RemovePlayerTagResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.RemoveSharedGroupMembersRequest + */ + export interface RemoveSharedGroupMembersRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the shared group. + */ + SharedGroupId: string; + /** + / An array of unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabIds: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.RemoveSharedGroupMembersResult + */ + export interface RemoveSharedGroupMembersResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ReportPlayerServerRequest + */ + export interface ReportPlayerServerRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / PlayFabId of the reporting player. + */ + ReporterId: string; + /** + / PlayFabId of the reported player. + */ + ReporteeId: string; + /** + / Title player was reported in, optional if report not for specific title. + */ + TitleId?: string; + /** + / Optional additional comment by reporting player. + */ + Comment?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ReportPlayerServerResult + */ + export interface ReportPlayerServerResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Indicates whether this action completed successfully. + */ + Updated: boolean; + /** + / The number of remaining reports which may be filed today by this reporting player. + */ + SubmissionsRemaining: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ResultTableNode + */ + export interface ResultTableNode { + /** + / Whether this entry in the table is an item or a link to another table + */ + ResultItemType: string; + /** + / Either an ItemId, or the TableId of another random result table + */ + ResultItem: string; + /** + / How likely this is to be rolled - larger numbers add more weight + */ + Weight: number; + + } + + type ResultTableNodeType = "ItemId" + | "TableId"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.RevokeAllBansForUserRequest + */ + export interface RevokeAllBansForUserRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.RevokeAllBansForUserResult + */ + export interface RevokeAllBansForUserResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Information on the bans that were revoked. + */ + BanData?: BanInfo[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.RevokeBansRequest + */ + export interface RevokeBansRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Ids of the bans to be revoked. Maximum 100. + */ + BanIds: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.RevokeBansResult + */ + export interface RevokeBansResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Information on the bans that were revoked + */ + BanData?: BanInfo[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.RevokeInventoryItemRequest + */ + export interface RevokeInventoryItemRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId?: string; + /** + / Unique PlayFab assigned instance identifier of the item + */ + ItemInstanceId: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.RevokeInventoryResult + */ + export interface RevokeInventoryResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.ScriptExecutionError + */ + export interface ScriptExecutionError { + /** + / Error code, such as CloudScriptNotFound, JavascriptException, CloudScriptFunctionArgumentSizeExceeded, CloudScriptAPIRequestCountExceeded, CloudScriptAPIRequestError, or CloudScriptHTTPRequestError + */ + Error?: string; + /** + / Details about the error + */ + Message?: string; + /** + / Point during the execution of the script at which the error occurred, if any + */ + StackTrace?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.SendPushNotificationRequest + */ + export interface SendPushNotificationRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / PlayFabId of the recipient of the push notification. + */ + Recipient: string; + /** + / Text of message to send. + */ + Message: string; + /** + / Subject of message to send (may not be displayed in all platforms. + */ + Subject?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.SendPushNotificationResult + */ + export interface SendPushNotificationResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.SetGameServerInstanceDataRequest + */ + export interface SetGameServerInstanceDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier of the Game Instance to be updated, in decimal format. + */ + LobbyId: string; + /** + / Custom data to set for the specified game server instance. + */ + GameServerData: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.SetGameServerInstanceDataResult + */ + export interface SetGameServerInstanceDataResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.SetGameServerInstanceStateRequest + */ + export interface SetGameServerInstanceStateRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier of the Game Instance to be updated, in decimal format. + */ + LobbyId: string; + /** + / State to set for the specified game server instance. + */ + State: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.SetGameServerInstanceStateResult + */ + export interface SetGameServerInstanceStateResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.SetGameServerInstanceTagsRequest + */ + export interface SetGameServerInstanceTagsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier of the Game Server Instance to be updated. + */ + LobbyId: string; + /** + / Tags to set for the specified Game Server Instance. Note that this is the complete list of tags to be associated with the Game Server Instance. + */ + Tags: { [key: string]: string }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.SetGameServerInstanceTagsResult + */ + export interface SetGameServerInstanceTagsResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.SetPublisherDataRequest + */ + export interface SetPublisherDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / key we want to set a value on (note, this is additive - will only replace an existing key's value if they are the same name.) Keys are trimmed of whitespace. Keys may not begin with the '!' character. + */ + Key: string; + /** + / new value to set. Set to null to remove a value + */ + Value?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.SetPublisherDataResult + */ + export interface SetPublisherDataResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.SetTitleDataRequest + */ + export interface SetTitleDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / key we want to set a value on (note, this is additive - will only replace an existing key's value if they are the same name.) Keys are trimmed of whitespace. Keys may not begin with the '!' character. + */ + Key: string; + /** + / new value to set. Set to null to remove a value + */ + Value?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.SetTitleDataResult + */ + export interface SetTitleDataResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.SharedGroupDataRecord + */ + export interface SharedGroupDataRecord { + /** + / Data stored for the specified group data key. + */ + Value?: string; + /** + / PlayFabId of the user to last update this value. + */ + LastUpdatedBy?: string; + /** + / Timestamp for when this data was last updated. + */ + LastUpdated: string; + /** + / Indicates whether this data can be read by all users (public) or only members of the group (private). + */ + Permission?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.StatisticNameVersion + */ + export interface StatisticNameVersion { + /** + / unique name of the statistic + */ + StatisticName: string; + /** + / the version of the statistic to be returned + */ + Version: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.StatisticUpdate + */ + export interface StatisticUpdate { + /** + / unique name of the statistic + */ + StatisticName: string; + /** + / for updates to an existing statistic value for a player, the version of the statistic when it was loaded. Null when setting the statistic value for the first time. + */ + Version?: number; + /** + / statistic value for the player + */ + Value: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.StatisticValue + */ + export interface StatisticValue { + /** + / unique name of the statistic + */ + StatisticName?: string; + /** + / statistic value for the player + */ + Value: number; + /** + / for updates to an existing statistic value for a player, the version of the statistic when it was loaded + */ + Version: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.SteamPlayFabIdPair + */ + export interface SteamPlayFabIdPair { + /** + / Unique Steam identifier for a user. + */ + SteamStringId?: string; + /** + / Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the Steam identifier. + */ + PlayFabId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.SubtractCharacterVirtualCurrencyRequest + */ + export interface SubtractCharacterVirtualCurrencyRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + /** + / Name of the virtual currency which is to be decremented. + */ + VirtualCurrency: string; + /** + / Amount to be subtracted from the user balance of the specified virtual currency. + */ + Amount: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.SubtractUserVirtualCurrencyRequest + */ + export interface SubtractUserVirtualCurrencyRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / PlayFab unique identifier of the user whose virtual currency balance is to be decreased. + */ + PlayFabId: string; + /** + / Name of the virtual currency which is to be decremented. + */ + VirtualCurrency: string; + /** + / Amount to be subtracted from the user balance of the specified virtual currency. + */ + Amount: number; + + } + + type TaskInstanceStatus = "Succeeded" + | "Starting" + | "InProgress" + | "Failed" + | "Aborted" + | "Pending"; + + type TitleActivationStatus = "None" + | "ActivatedTitleKey" + | "PendingSteam" + | "ActivatedSteam" + | "RevokedSteam"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.TitleNewsItem + */ + export interface TitleNewsItem { + /** + / Date and time when the news items was posted. + */ + Timestamp: string; + /** + / Unique identifier of news item. + */ + NewsId?: string; + /** + / Title of the news item. + */ + Title?: string; + /** + / News item text. + */ + Body?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UnlockContainerInstanceRequest + */ + export interface UnlockContainerInstanceRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId?: string; + /** + / ItemInstanceId of the container to unlock. + */ + ContainerItemInstanceId: string; + /** + / ItemInstanceId of the key that will be consumed by unlocking this container. If the container requires a key, this parameter is required. + */ + KeyItemInstanceId?: string; + /** + / Specifies the catalog version that should be used to determine container contents. If unspecified, uses catalog associated with the item instance. + */ + CatalogVersion?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UnlockContainerItemRequest + */ + export interface UnlockContainerItemRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId?: string; + /** + / Catalog ItemId of the container type to unlock. + */ + ContainerItemId: string; + /** + / Specifies the catalog version that should be used to determine container contents. If unspecified, uses default/primary catalog. + */ + CatalogVersion?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UnlockContainerItemResult + */ + export interface UnlockContainerItemResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Unique instance identifier of the container unlocked. + */ + UnlockedItemInstanceId?: string; + /** + / Unique instance identifier of the key used to unlock the container, if applicable. + */ + UnlockedWithItemInstanceId?: string; + /** + / Items granted to the player as a result of unlocking the container. + */ + GrantedItems?: ItemInstance[]; + /** + / Virtual currency granted to the player as a result of unlocking the container. + */ + VirtualCurrency?: { [key: string]: number }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UpdateBanRequest + */ + export interface UpdateBanRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / The id of the ban to be updated. + */ + BanId: string; + /** + / The updated reason for the ban to be updated. Maximum 140 characters. Null for no change. + */ + Reason?: string; + /** + / The updated expiration date for the ban. Null for no change. + */ + Expires?: string; + /** + / The updated IP address for the ban. Null for no change. + */ + IPAddress?: string; + /** + / The updated MAC address for the ban. Null for no change. + */ + MACAddress?: string; + /** + / Whether to make this ban permanent. Set to true to make this ban permanent. This will not modify Active state. + */ + Permanent?: boolean; + /** + / The updated active state for the ban. Null for no change. + */ + Active?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UpdateBansRequest + */ + export interface UpdateBansRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / List of bans to be updated. Maximum 100. + */ + Bans: UpdateBanRequest[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UpdateBansResult + */ + export interface UpdateBansResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Information on the bans that were updated + */ + BanData?: BanInfo[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UpdateCharacterDataRequest + */ + export interface UpdateCharacterDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + /** + / Key-value pairs to be written to the custom data. Note that keys are trimmed of whitespace, are limited in size, and may not begin with a '!' character. + */ + Data?: { [key: string]: string }; + /** + / Optional list of Data-keys to remove from UserData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + */ + KeysToRemove?: string[]; + /** + / Permission to be applied to all user data keys written in this request. Defaults to "private" if not set. + */ + Permission?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UpdateCharacterDataResult + */ + export interface UpdateCharacterDataResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Indicates the current version of the data that has been set. This is incremented with every set call for that type of data (read-only, internal, etc). This version can be provided in Get calls to find updated data. + */ + DataVersion: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UpdateCharacterStatisticsRequest + */ + export interface UpdateCharacterStatisticsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + /** + / Statistics to be updated with the provided values. + */ + CharacterStatistics?: { [key: string]: number }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UpdateCharacterStatisticsResult + */ + export interface UpdateCharacterStatisticsResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UpdatePlayerStatisticsRequest + */ + export interface UpdatePlayerStatisticsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Statistics to be updated with the provided values + */ + Statistics: StatisticUpdate[]; + /** + / Indicates whether the statistics provided should be set, regardless of the aggregation method set on the statistic. Default is false. + */ + ForceUpdate?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UpdatePlayerStatisticsResult + */ + export interface UpdatePlayerStatisticsResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UpdateSharedGroupDataRequest + */ + export interface UpdateSharedGroupDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique identifier for the shared group. + */ + SharedGroupId: string; + /** + / Key-value pairs to be written to the custom data. Note that keys are trimmed of whitespace, are limited in size, and may not begin with a '!' character. + */ + Data?: { [key: string]: string }; + /** + / Optional list of Data-keys to remove from UserData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + */ + KeysToRemove?: string[]; + /** + / Permission to be applied to all user data keys in this request. + */ + Permission?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UpdateSharedGroupDataResult + */ + export interface UpdateSharedGroupDataResult extends PlayFabModule.IPlayFabResultCommon { + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UpdateUserDataRequest + */ + export interface UpdateUserDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Key-value pairs to be written to the custom data. Note that keys are trimmed of whitespace, are limited in size, and may not begin with a '!' character. + */ + Data?: { [key: string]: string }; + /** + / Optional list of Data-keys to remove from UserData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + */ + KeysToRemove?: string[]; + /** + / Permission to be applied to all user data keys written in this request. Defaults to "private" if not set. + */ + Permission?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UpdateUserDataResult + */ + export interface UpdateUserDataResult extends PlayFabModule.IPlayFabResultCommon { + /** + / Indicates the current version of the data that has been set. This is incremented with every set call for that type of data (read-only, internal, etc). This version can be provided in Get calls to find updated data. + */ + DataVersion: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UpdateUserInternalDataRequest + */ + export interface UpdateUserInternalDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Key-value pairs to be written to the custom data. Note that keys are trimmed of whitespace, are limited in size, and may not begin with a '!' character. + */ + Data?: { [key: string]: string }; + /** + / Optional list of Data-keys to remove from UserData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + */ + KeysToRemove?: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UpdateUserInventoryItemDataRequest + */ + export interface UpdateUserInventoryItemDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId?: string; + /** + / Unique PlayFab assigned instance identifier of the item + */ + ItemInstanceId: string; + /** + / Key-value pairs to be written to the custom data. Note that keys are trimmed of whitespace, are limited in size, and may not begin with a '!' character. + */ + Data?: { [key: string]: string }; + /** + / Optional list of Data-keys to remove from UserData. Some SDKs cannot insert null-values into Data due to language constraints. Use this to delete the keys directly. + */ + KeysToRemove?: string[]; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UserAccountInfo + */ + export interface UserAccountInfo { + /** + / Unique identifier for the user account + */ + PlayFabId?: string; + /** + / Timestamp indicating when the user account was created + */ + Created: string; + /** + / User account name in the PlayFab service + */ + Username?: string; + /** + / Title-specific information for the user account + */ + TitleInfo?: UserTitleInfo; + /** + / Personal information for the user which is considered more sensitive + */ + PrivateInfo?: UserPrivateAccountInfo; + /** + / User Facebook information, if a Facebook account has been linked + */ + FacebookInfo?: UserFacebookInfo; + /** + / User Steam information, if a Steam account has been linked + */ + SteamInfo?: UserSteamInfo; + /** + / User Gamecenter information, if a Gamecenter account has been linked + */ + GameCenterInfo?: UserGameCenterInfo; + /** + / User iOS device information, if an iOS device has been linked + */ + IosDeviceInfo?: UserIosDeviceInfo; + /** + / User Android device information, if an Android device has been linked + */ + AndroidDeviceInfo?: UserAndroidDeviceInfo; + /** + / User Kongregate account information, if a Kongregate account has been linked + */ + KongregateInfo?: UserKongregateInfo; + /** + / User Twitch account information, if a Twitch account has been linked + */ + TwitchInfo?: UserTwitchInfo; + /** + / User PSN account information, if a PSN account has been linked + */ + PsnInfo?: UserPsnInfo; + /** + / User Google account information, if a Google account has been linked + */ + GoogleInfo?: UserGoogleInfo; + /** + / User XBox account information, if a XBox account has been linked + */ + XboxInfo?: UserXboxInfo; + /** + / Custom ID information, if a custom ID has been assigned + */ + CustomIdInfo?: UserCustomIdInfo; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UserAndroidDeviceInfo + */ + export interface UserAndroidDeviceInfo { + /** + / Android device ID + */ + AndroidDeviceId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UserCustomIdInfo + */ + export interface UserCustomIdInfo { + /** + / Custom ID + */ + CustomId?: string; + + } + + type UserDataPermission = "Private" + | "Public"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UserDataRecord + */ + export interface UserDataRecord { + /** + / Data stored for the specified user data key. + */ + Value?: string; + /** + / Timestamp for when this data was last updated. + */ + LastUpdated: string; + /** + / Indicates whether this data can be read by all users (public) or only the user (private). This is used for GetUserData requests being made by one player about another player. + */ + Permission?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UserFacebookInfo + */ + export interface UserFacebookInfo { + /** + / Facebook identifier + */ + FacebookId?: string; + /** + / Facebook full name + */ + FullName?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UserGameCenterInfo + */ + export interface UserGameCenterInfo { + /** + / Gamecenter identifier + */ + GameCenterId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UserGoogleInfo + */ + export interface UserGoogleInfo { + /** + / Google ID + */ + GoogleId?: string; + /** + / Email address of the Google account + */ + GoogleEmail?: string; + /** + / Locale of the Google account + */ + GoogleLocale?: string; + /** + / Gender information of the Google account + */ + GoogleGender?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UserIosDeviceInfo + */ + export interface UserIosDeviceInfo { + /** + / iOS device ID + */ + IosDeviceId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UserKongregateInfo + */ + export interface UserKongregateInfo { + /** + / Kongregate ID + */ + KongregateId?: string; + /** + / Kongregate Username + */ + KongregateName?: string; + + } + + type UserOrigination = "Organic" + | "Steam" + | "Google" + | "Amazon" + | "Facebook" + | "Kongregate" + | "GamersFirst" + | "Unknown" + | "IOS" + | "LoadTest" + | "Android" + | "PSN" + | "GameCenter" + | "CustomId" + | "XboxLive" + | "Parse" + | "Twitch"; + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UserPrivateAccountInfo + */ + export interface UserPrivateAccountInfo { + /** + / user email address + */ + Email?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UserPsnInfo + */ + export interface UserPsnInfo { + /** + / PSN account ID + */ + PsnAccountId?: string; + /** + / PSN online ID + */ + PsnOnlineId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UserSteamInfo + */ + export interface UserSteamInfo { + /** + / Steam identifier + */ + SteamId?: string; + /** + / the country in which the player resides, from Steam data + */ + SteamCountry?: string; + /** + / currency type set in the user Steam account + */ + SteamCurrency?: string; + /** + / what stage of game ownership the user is listed as being in, from Steam + */ + SteamActivationStatus?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UserTitleInfo + */ + export interface UserTitleInfo { + /** + / name of the user, as it is displayed in-game + */ + DisplayName?: string; + /** + / source by which the user first joined the game, if known + */ + Origination?: string; + /** + / timestamp indicating when the user was first associated with this game (this can differ significantly from when the user first registered with PlayFab) + */ + Created: string; + /** + / timestamp for the last user login for this title + */ + LastLogin?: string; + /** + / timestamp indicating when the user first signed into this game (this can differ from the Created timestamp, as other events, such as issuing a beta key to the user, can associate the title to the user) + */ + FirstLogin?: string; + /** + / boolean indicating whether or not the user is currently banned for a title + */ + isBanned?: boolean; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UserTwitchInfo + */ + export interface UserTwitchInfo { + /** + / Twitch ID + */ + TwitchId?: string; + /** + / Twitch Username + */ + TwitchUserName?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.UserXboxInfo + */ + export interface UserXboxInfo { + /** + / XBox user ID + */ + XboxUserId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.VirtualCurrencyRechargeTime + */ + export interface VirtualCurrencyRechargeTime { + /** + / Time remaining (in seconds) before the next recharge increment of the virtual currency. + */ + SecondsToRecharge: number; + /** + / Server timestamp in UTC indicating the next time the virtual currency will be incremented. + */ + RechargeTime: string; + /** + / Maximum value to which the regenerating currency will automatically increment. Note that it can exceed this value through use of the AddUserVirtualCurrency API call. However, it will not regenerate automatically until it has fallen below this value. + */ + RechargeMax: number; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.WriteEventResponse + */ + export interface WriteEventResponse extends PlayFabModule.IPlayFabResultCommon { + /** + / The unique identifier of the event. The values of this identifier consist of ASCII characters and are not constrained to any particular format. + */ + EventId?: string; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.WriteServerCharacterEventRequest + */ + export interface WriteServerCharacterEventRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / Unique PlayFab assigned ID for a specific character owned by a user + */ + CharacterId: string; + /** + / The name of the event, within the namespace scoped to the title. The naming convention is up to the caller, but it commonly follows the subject_verb_object pattern (e.g. player_logged_in). + */ + EventName: string; + /** + / The time (in UTC) associated with this event. The value dafaults to the current time. + */ + Timestamp?: string; + /** + / Custom event properties. Each property consists of a name (string) and a value (JSON object). + */ + Body?: { [key: string]: any }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.WriteServerPlayerEventRequest + */ + export interface WriteServerPlayerEventRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / Unique PlayFab assigned ID of the user on whom the operation will be performed. + */ + PlayFabId: string; + /** + / The name of the event, within the namespace scoped to the title. The naming convention is up to the caller, but it commonly follows the subject_verb_object pattern (e.g. player_logged_in). + */ + EventName: string; + /** + / The time (in UTC) associated with this event. The value dafaults to the current time. + */ + Timestamp?: string; + /** + / Custom data properties associated with the event. Each property consists of a name (string) and a value (JSON object). + */ + Body?: { [key: string]: any }; + + } + + /** + / https://api.playfab.com/Documentation/Client/datatype/PlayFab.Server.Models/PlayFab.Server.Models.WriteTitleEventRequest + */ + export interface WriteTitleEventRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + / The name of the event, within the namespace scoped to the title. The naming convention is up to the caller, but it commonly follows the subject_verb_object pattern (e.g. player_logged_in). + */ + EventName: string; + /** + / The time (in UTC) associated with this event. The value dafaults to the current time. + */ + Timestamp?: string; + /** + / Custom event properties. Each property consists of a name (string) and a value (JSON object). + */ + Body?: { [key: string]: any }; + + } + + +} diff --git a/PlayFabTestingExample/web.Debug.config b/PlayFabTestingExample/web.Debug.config new file mode 100644 index 00000000..2e302f9f --- /dev/null +++ b/PlayFabTestingExample/web.Debug.config @@ -0,0 +1,30 @@ + + + + + + + + + + \ No newline at end of file diff --git a/PlayFabTestingExample/web.Release.config b/PlayFabTestingExample/web.Release.config new file mode 100644 index 00000000..c3584446 --- /dev/null +++ b/PlayFabTestingExample/web.Release.config @@ -0,0 +1,31 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/PlayFabTestingExample/web.config b/PlayFabTestingExample/web.config new file mode 100644 index 00000000..bfb640da --- /dev/null +++ b/PlayFabTestingExample/web.config @@ -0,0 +1,11 @@ + + + + + + + + \ No newline at end of file diff --git a/README.md b/README.md index a9e33dee..816efe01 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,13 @@ JavaScriptSDK README ======== 1. Overview: ---- + JavaScriptSDK for the Client API of PlayFab +This SDK can alternatively be used via our CDN. Additional details can be found [here](https://playfab.com/playfab-now-serving-javascript-sdk-via-cdn/). + +If you want to start coding right away, check out our [JavaScript Getting Started Guide](JavaScriptGettingStarted.md) + 2. Prerequisites: ---- @@ -15,27 +20,18 @@ To connect to the PlayFab service, your machine must be running TLS v1.2 or bett * [Support for SSL/TLS protocols on Windows](http://blogs.msdn.com/b/kaushal/archive/2011/10/02/support-for-ssl-tls-protocols-on-windows.aspx) -3. Example Project: PlayFabApiTest.html & PlayFabApiTest.js: +3. Example Project (UNDER CONSTRUCTION) ---- -These files are an internal PlayFab testing project, which activates and tests the core functionality of the sdk. They are not part of the sdk. You should delete these two files before integrating the sdk with your project. - -They require a testTitleData.json file to exist, which is described below. - -This SDK can alternatively be obtained via our CDN. Additional details can be found [here](https://playfab.com/playfab-now-serving-javascript-sdk-via-cdn/). - - -4. testTitleData.json file required for example test files. ----- +The Example project is being revised for the upcoming 1.0 release This sdk includes an optional example project that is used by PlayFab to verify sdk features are fully functional. Please read about the testTitleData.json format, and purpose here: -* https://github.com/PlayFab/SDKGenerator/blob/master/JenkinsConsoleUtility/testTitleData.md -This file must be created and placed in the root of the sdk (beside PlayFabApiTest.html & PlayFabApiTest.js), and must be named "testTitleData.json" +* [testTitleData.md](https://github.com/PlayFab/SDKGenerator/blob/master/JenkinsConsoleUtility/testTitleData.md) must be created and placed in the root of the example (beside index.html & PlayFabApiTest.ts), and must be named "testTitleData.json" -5. Troubleshooting: +4. Troubleshooting: ---- For a complete list of available APIs, check out the [online documentation](http://api.playfab.com/Documentation/). @@ -47,71 +43,13 @@ Our Developer Success Team can assist with answering any questions as well as pr [Forums, Support and Knowledge Base](https://community.playfab.com/index.html) -6. Example Usage (Template): ----- -``` -// In this javascript example, it is assumed your html will include the PlayFab JavaScript Client SDK -// For example, in your html header, add this: -// - -// You must always set your titleId first -PlayFab.settings.titleId = null; // Set your titleId here. Example: "6195" - -// Utility function (We may add this to the core sdk later) -function CompileErrorReport(error) { - if (error == null) - return ""; - var fullErrors = error.errorMessage; - for (var paramName in error.errorDetails) - for (var msgIdx in error.errorDetails[paramName]) - fullErrors += "\n" + paramName + ": " + error.errorDetails[paramName][msgIdx]; - return fullErrors; -} - -// Define a callback function (In this case for any PlayFab-Login) -function OnLogin(response, error) { - if (response && response["code"] == 200) { - console.log("Login Successful: " + response.data.PlayFabId) - } - else { - console.log("LoginWithEmailAddress Failed: \n" + CompileErrorReport(error)) - } -} - -// Username and email is a typical login for Web-Pages -function ExampleLoginWithEmailAddress(email, password) -{ - // Request JSON - var loginRequest = { - TitleId: PlayFab.settings.titleId, - "Email": email, - "Password": password - }; - // https://api.playfab.com/Documentation/Client/method/LoginWithEmailAddress - PlayFabClientSDK.LoginWithEmailAddress(loginRequest, OnLogin); -} - -// CustomId should only be used for testing or evaluating PlayFab, but it can be any string -function ExampleLoginWithCustomId(customId) { - // Request JSON - var loginRequest = { - TitleId: PlayFab.settings.titleId, - CustomId: PlayFab._internalSettings.buildIdentifier, - CreateAccount: true - }; - // https://api.playfab.com/Documentation/Client/method/LoginWithCustomID - PlayFabClientSDK.LoginWithCustomID(loginRequest, OnLogin); -} -``` - - -7. Acknowledgements +5. Acknowledgements ---- - Example Usage provided by [dylanh724](https://www.github.com/dylanh724) + [dylanh724](https://www.github.com/dylanh724) - The previous tutorial before the current [Getting Started Guide](JavaScriptGettingStarted.md) -8. Copyright and Licensing Information: +6. Copyright and Licensing Information: ---- Apache License -- Version 2.0, January 2004