From 98651823c9483681c4d7b667a81869ddcd63cc75 Mon Sep 17 00:00:00 2001 From: Viktor Nagy Date: Sat, 23 May 2020 15:38:37 +0200 Subject: [PATCH 1/2] Export PlayFab from PlayFabClientApi In order to use PlayFabClientApi with module bundlers, it should be exported. --- PlayFabSdk/src/PlayFab/PlayFabClientApi.js | 1 + 1 file changed, 1 insertion(+) diff --git a/PlayFabSdk/src/PlayFab/PlayFabClientApi.js b/PlayFabSdk/src/PlayFab/PlayFabClientApi.js index 0d7ba542..a184c6c1 100644 --- a/PlayFabSdk/src/PlayFab/PlayFabClientApi.js +++ b/PlayFabSdk/src/PlayFab/PlayFabClientApi.js @@ -1384,3 +1384,4 @@ PlayFab.RegisterWithPhaser = function() { }; PlayFab.RegisterWithPhaser(); +export default PlayFab From 552bbc8b0a5994ff860dfd9cb08d94fb1ab71641 Mon Sep 17 00:00:00 2001 From: Viktor Nagy Date: Sun, 24 May 2020 14:59:21 +0200 Subject: [PATCH 2/2] Changed to support the CDN approach --- PlayFabSdk/package.json | 4 +- PlayFabSdk/src/PlayFab/PlayFabAdminApi.js | 698 -- .../src/PlayFab/PlayFabAuthenticationApi.js | 271 - PlayFabSdk/src/PlayFab/PlayFabClientApi.js | 1387 -- .../src/PlayFab/PlayFabCloudScriptApi.js | 302 - PlayFabSdk/src/PlayFab/PlayFabDataApi.js | 282 - PlayFabSdk/src/PlayFab/PlayFabEventsApi.js | 262 - .../src/PlayFab/PlayFabExperimentationApi.js | 286 - PlayFabSdk/src/PlayFab/PlayFabGroupsApi.js | 354 - PlayFabSdk/src/PlayFab/PlayFabInsightsApi.js | 278 - .../src/PlayFab/PlayFabLocalizationApi.js | 258 - .../src/PlayFab/PlayFabMatchmakerApi.js | 274 - .../src/PlayFab/PlayFabMultiplayerApi.js | 497 - PlayFabSdk/src/PlayFab/PlayFabProfilesApi.js | 282 - PlayFabSdk/src/PlayFab/PlayFabServerApi.js | 782 -- .../src/Typings/PlayFab/PlayFabClientApi.d.ts | 10415 ++++++++-------- PlayFabSdk/src/Typings/PlayFab/Playfab.d.ts | 105 +- README.md | 76 +- 18 files changed, 5253 insertions(+), 11560 deletions(-) delete mode 100644 PlayFabSdk/src/PlayFab/PlayFabAdminApi.js delete mode 100644 PlayFabSdk/src/PlayFab/PlayFabAuthenticationApi.js delete mode 100644 PlayFabSdk/src/PlayFab/PlayFabClientApi.js delete mode 100644 PlayFabSdk/src/PlayFab/PlayFabCloudScriptApi.js delete mode 100644 PlayFabSdk/src/PlayFab/PlayFabDataApi.js delete mode 100644 PlayFabSdk/src/PlayFab/PlayFabEventsApi.js delete mode 100644 PlayFabSdk/src/PlayFab/PlayFabExperimentationApi.js delete mode 100644 PlayFabSdk/src/PlayFab/PlayFabGroupsApi.js delete mode 100644 PlayFabSdk/src/PlayFab/PlayFabInsightsApi.js delete mode 100644 PlayFabSdk/src/PlayFab/PlayFabLocalizationApi.js delete mode 100644 PlayFabSdk/src/PlayFab/PlayFabMatchmakerApi.js delete mode 100644 PlayFabSdk/src/PlayFab/PlayFabMultiplayerApi.js delete mode 100644 PlayFabSdk/src/PlayFab/PlayFabProfilesApi.js delete mode 100644 PlayFabSdk/src/PlayFab/PlayFabServerApi.js diff --git a/PlayFabSdk/package.json b/PlayFabSdk/package.json index 046175d2..3fc28fc6 100644 --- a/PlayFabSdk/package.json +++ b/PlayFabSdk/package.json @@ -1,10 +1,10 @@ { - "name": "playfab-web-sdk", + "name": "@nagyv/playfab-web-sdk", "version": "1.65.200518", "description": "Playfab SDK for JS client applications", "license": "Apache-2.0", "repository": { "type": "git", - "url": "https://github.com/playfab/JavaScriptSDK" + "url": "https://github.com/nagyv/PlayFab-JavaScript-SDK" } } diff --git a/PlayFabSdk/src/PlayFab/PlayFabAdminApi.js b/PlayFabSdk/src/PlayFab/PlayFabAdminApi.js deleted file mode 100644 index cf9e4a78..00000000 --- a/PlayFabSdk/src/PlayFab/PlayFabAdminApi.js +++ /dev/null @@ -1,698 +0,0 @@ -/// - -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, - GlobalHeaderInjection: 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 = { - entityToken: null, - sdkVersion: "1.65.200518", - requestGetParams: { - sdk: "JavaScriptSDK-1.65.200518" - }, - sessionTicket: null, - verticalName: null, // The name of a customer vertical. This is only for customers running a private cluster. Generally you shouldn't touch this - productionServerUrl: ".playfabapi.com", - errorTitleId: "Must be have PlayFab.settings.titleId set to call this method", - errorLoggedIn: "Must be logged in to call this method", - errorEntityToken: "You must successfully call GetEntityToken before calling this", - errorSecretKey: "Must have PlayFab.settings.developerSecretKey set to call this method", - - GetServerUrl: function () { - if (!(PlayFab._internalSettings.productionServerUrl.substring(0, 4) === "http")) { - if (PlayFab._internalSettings.verticalName) { - return "https://" + PlayFab._internalSettings.verticalName + PlayFab._internalSettings.productionServerUrl; - } else { - return "https://" + PlayFab.settings.titleId + PlayFab._internalSettings.productionServerUrl; - } - } else { - return PlayFab._internalSettings.productionServerUrl; - } - }, - - InjectHeaders: function (xhr, headersObj) { - if (!headersObj) - return; - - for (var headerKey in headersObj) - { - try { - xhr.setRequestHeader(gHeaderKey, headersObj[headerKey]); - } catch (e) { - console.log("Failed to append header: " + headerKey + " = " + headersObj[headerKey] + "Error: " + e); - } - } - }, - - ExecuteRequest: function (url, request, authkey, authValue, callback, customData, extraHeaders) { - var resultPromise = new Promise(function (resolve, reject) { - if (callback != null && typeof (callback) !== "function") - throw "Callback must be null or a function"; - - if (request == null) - request = {}; - - var startTime = new Date(); - var requestBody = JSON.stringify(request); - - var urlArr = [url]; - var getParams = PlayFab._internalSettings.requestGetParams; - if (getParams != null) { - var firstParam = true; - for (var key in getParams) { - if (firstParam) { - urlArr.push("?"); - firstParam = false; - } else { - urlArr.push("&"); - } - urlArr.push(key); - urlArr.push("="); - urlArr.push(getParams[key]); - } - } - - var completeUrl = urlArr.join(""); - - var xhr = new XMLHttpRequest(); - // window.console.log("URL: " + completeUrl); - xhr.open("POST", completeUrl, true); - - xhr.setRequestHeader("Content-Type", "application/json"); - xhr.setRequestHeader("X-PlayFabSDK", "JavaScriptSDK-" + PlayFab._internalSettings.sdkVersion); - if (authkey != null) - xhr.setRequestHeader(authkey, authValue); - PlayFab._internalSettings.InjectHeaders(xhr, PlayFab.settings.GlobalHeaderInjection); - PlayFab._internalSettings.InjectHeaders(xhr, extraHeaders); - - xhr.onloadend = function () { - if (callback == null) - return; - - var result = PlayFab._internalSettings.GetPlayFabResponse(request, xhr, startTime, customData); - if (result.code === 200) { - callback(result, null); - } else { - callback(null, result); - } - } - - xhr.onerror = function () { - if (callback == null) - return; - - var result = PlayFab._internalSettings.GetPlayFabResponse(request, xhr, startTime, customData); - callback(null, result); - } - - xhr.send(requestBody); - xhr.onreadystatechange = function () { - if (this.readyState === 4) { - var xhrResult = PlayFab._internalSettings.GetPlayFabResponse(request, this, startTime, customData); - if (this.status === 200) { - resolve(xhrResult); - } else { - reject(xhrResult); - } - } - }; - }); - // Return a Promise so that calls to various API methods can be handled asynchronously - return resultPromise; - }, - - GetPlayFabResponse: function(request, xhr, startTime, customData) { - var result = null; - 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; - result.Request = request; - result.CustomData = customData; - return result; - }, - - authenticationContext: { - PlayFabId: null, - EntityId: null, - EntityType: null, - SessionTicket: null, - EntityToken: null - }, - - UpdateAuthenticationContext: function (authenticationContext, result) { - var authenticationContextUpdates = {}; - if(result.data.PlayFabId !== null) { - PlayFab._internalSettings.authenticationContext.PlayFabId = result.data.PlayFabId; - authenticationContextUpdates.PlayFabId = result.data.PlayFabId; - } - if(result.data.SessionTicket !== null) { - PlayFab._internalSettings.authenticationContext.SessionTicket = result.data.SessionTicket; - authenticationContextUpdates.SessionTicket = result.data.SessionTicket; - } - if (result.data.EntityToken !== null) { - PlayFab._internalSettings.authenticationContext.EntityId = result.data.EntityToken.Entity.Id; - authenticationContextUpdates.EntityId = result.data.EntityToken.Entity.Id; - PlayFab._internalSettings.authenticationContext.EntityType = result.data.EntityToken.Entity.Type; - authenticationContextUpdates.EntityType = result.data.EntityToken.Entity.Type; - PlayFab._internalSettings.authenticationContext.EntityToken = result.data.EntityToken.EntityToken; - authenticationContextUpdates.EntityToken = result.data.EntityToken.EntityToken; - } - // Update the authenticationContext with values from the result - authenticationContext = Object.assign(authenticationContext, authenticationContextUpdates); - return authenticationContext; - }, - - AuthInfoMap: { - "X-EntityToken": { - authAttr: "entityToken", - authError: "errorEntityToken" - }, - "X-Authorization": { - authAttr: "sessionTicket", - authError: "errorLoggedIn" - }, - "X-SecretKey": { - authAttr: "developerSecretKey", - authError: "errorSecretKey" - } - }, - - GetAuthInfo: function (request, authKey) { - // Use the most-recently saved authKey, unless one was provided in the request via the AuthenticationContext - var authError = PlayFab._internalSettings.AuthInfoMap[authKey].authError; - var authAttr = PlayFab._internalSettings.AuthInfoMap[authKey].authAttr; - var defaultAuthValue = null; - if (authAttr === "entityToken") - defaultAuthValue = PlayFab._internalSettings.entityToken; - else if (authAttr === "sessionTicket") - defaultAuthValue = PlayFab._internalSettings.sessionTicket; - else if (authAttr === "developerSecretKey") - defaultAuthValue = PlayFab.settings.developerSecretKey; - var authValue = request.AuthenticationContext ? request.AuthenticationContext[authAttr] : defaultAuthValue; - return {"authKey": authKey, "authValue": authValue, "authError": authError}; - }, - - ExecuteRequestWrapper: function (apiURL, request, authKey, callback, customData, extraHeaders) { - var authValue = null; - if (authKey !== null){ - var authInfo = PlayFab._internalSettings.GetAuthInfo(request, authKey=authKey); - var authKey = authInfo.authKey, authValue = authInfo.authValue, authError = authInfo.authError; - - if (!authValue) throw authError; - } - return PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + apiURL, request, authKey, authValue, callback, customData, extraHeaders); - } - } -} - -PlayFab.buildIdentifier = "jbuild_javascriptsdk__sdk-genericslave-1_2"; -PlayFab.sdkVersion = "1.65.200518"; -PlayFab.GenerateErrorReport = function (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; -}; - -PlayFab.AdminApi = { - ForgetAllCredentials: function () { - PlayFab._internalSettings.sessionTicket = null; - PlayFab._internalSettings.entityToken = null; - }, - - AbortTaskInstance: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/AbortTaskInstance", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - AddLocalizedNews: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/AddLocalizedNews", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - AddNews: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/AddNews", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - AddPlayerTag: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/AddPlayerTag", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - AddServerBuild: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/AddServerBuild", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - AddUserVirtualCurrency: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/AddUserVirtualCurrency", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - AddVirtualCurrencyTypes: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/AddVirtualCurrencyTypes", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - BanUsers: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/BanUsers", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - CheckLimitedEditionItemAvailability: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/CheckLimitedEditionItemAvailability", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - CreateActionsOnPlayersInSegmentTask: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/CreateActionsOnPlayersInSegmentTask", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - CreateCloudScriptTask: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/CreateCloudScriptTask", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - CreateInsightsScheduledScalingTask: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/CreateInsightsScheduledScalingTask", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - CreateOpenIdConnection: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/CreateOpenIdConnection", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - CreatePlayerSharedSecret: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/CreatePlayerSharedSecret", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - CreatePlayerStatisticDefinition: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/CreatePlayerStatisticDefinition", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - DeleteContent: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/DeleteContent", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - DeleteMasterPlayerAccount: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/DeleteMasterPlayerAccount", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - DeleteOpenIdConnection: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/DeleteOpenIdConnection", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - DeletePlayer: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/DeletePlayer", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - DeletePlayerSharedSecret: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/DeletePlayerSharedSecret", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - DeleteStore: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/DeleteStore", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - DeleteTask: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/DeleteTask", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - DeleteTitle: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/DeleteTitle", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - ExportMasterPlayerData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/ExportMasterPlayerData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetActionsOnPlayersInSegmentTaskInstance: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/GetActionsOnPlayersInSegmentTaskInstance", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetAllSegments: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/GetAllSegments", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetCatalogItems: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/GetCatalogItems", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetCloudScriptRevision: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/GetCloudScriptRevision", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetCloudScriptTaskInstance: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/GetCloudScriptTaskInstance", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetCloudScriptVersions: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/GetCloudScriptVersions", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetContentList: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/GetContentList", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetContentUploadUrl: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/GetContentUploadUrl", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetDataReport: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/GetDataReport", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetMatchmakerGameInfo: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/GetMatchmakerGameInfo", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetMatchmakerGameModes: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/GetMatchmakerGameModes", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetPlayedTitleList: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/GetPlayedTitleList", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetPlayerIdFromAuthToken: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/GetPlayerIdFromAuthToken", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetPlayerProfile: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/GetPlayerProfile", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetPlayerSegments: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/GetPlayerSegments", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetPlayerSharedSecrets: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/GetPlayerSharedSecrets", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetPlayersInSegment: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/GetPlayersInSegment", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetPlayerStatisticDefinitions: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/GetPlayerStatisticDefinitions", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetPlayerStatisticVersions: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/GetPlayerStatisticVersions", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetPlayerTags: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/GetPlayerTags", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetPolicy: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/GetPolicy", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetPublisherData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/GetPublisherData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetRandomResultTables: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/GetRandomResultTables", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetServerBuildInfo: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/GetServerBuildInfo", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetServerBuildUploadUrl: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/GetServerBuildUploadUrl", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetStoreItems: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/GetStoreItems", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetTaskInstances: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/GetTaskInstances", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetTasks: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/GetTasks", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetTitleData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/GetTitleData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetTitleInternalData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/GetTitleInternalData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetUserAccountInfo: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/GetUserAccountInfo", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetUserBans: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/GetUserBans", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetUserData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/GetUserData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetUserInternalData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/GetUserInternalData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetUserInventory: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/GetUserInventory", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetUserPublisherData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/GetUserPublisherData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetUserPublisherInternalData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/GetUserPublisherInternalData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetUserPublisherReadOnlyData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/GetUserPublisherReadOnlyData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetUserReadOnlyData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/GetUserReadOnlyData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GrantItemsToUsers: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/GrantItemsToUsers", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - IncrementLimitedEditionItemAvailability: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/IncrementLimitedEditionItemAvailability", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - IncrementPlayerStatisticVersion: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/IncrementPlayerStatisticVersion", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - ListOpenIdConnection: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/ListOpenIdConnection", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - ListServerBuilds: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/ListServerBuilds", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - ListVirtualCurrencyTypes: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/ListVirtualCurrencyTypes", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - ModifyMatchmakerGameModes: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/ModifyMatchmakerGameModes", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - ModifyServerBuild: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/ModifyServerBuild", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - RefundPurchase: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/RefundPurchase", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - RemovePlayerTag: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/RemovePlayerTag", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - RemoveServerBuild: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/RemoveServerBuild", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - RemoveVirtualCurrencyTypes: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/RemoveVirtualCurrencyTypes", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - ResetCharacterStatistics: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/ResetCharacterStatistics", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - ResetPassword: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/ResetPassword", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - ResetUserStatistics: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/ResetUserStatistics", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - ResolvePurchaseDispute: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/ResolvePurchaseDispute", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - RevokeAllBansForUser: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/RevokeAllBansForUser", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - RevokeBans: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/RevokeBans", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - RevokeInventoryItem: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/RevokeInventoryItem", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - RevokeInventoryItems: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/RevokeInventoryItems", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - RunTask: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/RunTask", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - SendAccountRecoveryEmail: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/SendAccountRecoveryEmail", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - SetCatalogItems: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/SetCatalogItems", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - SetPlayerSecret: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/SetPlayerSecret", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - SetPublishedRevision: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/SetPublishedRevision", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - SetPublisherData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/SetPublisherData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - SetStoreItems: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/SetStoreItems", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - SetTitleData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/SetTitleData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - SetTitleInternalData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/SetTitleInternalData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - SetupPushNotification: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/SetupPushNotification", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - SubtractUserVirtualCurrency: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/SubtractUserVirtualCurrency", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - UpdateBans: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/UpdateBans", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - UpdateCatalogItems: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/UpdateCatalogItems", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - UpdateCloudScript: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/UpdateCloudScript", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - UpdateOpenIdConnection: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/UpdateOpenIdConnection", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - UpdatePlayerSharedSecret: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/UpdatePlayerSharedSecret", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - UpdatePlayerStatisticDefinition: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/UpdatePlayerStatisticDefinition", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - UpdatePolicy: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/UpdatePolicy", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - UpdateRandomResultTables: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/UpdateRandomResultTables", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - UpdateStoreItems: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/UpdateStoreItems", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - UpdateTask: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/UpdateTask", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - UpdateUserData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/UpdateUserData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - UpdateUserInternalData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/UpdateUserInternalData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - UpdateUserPublisherData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/UpdateUserPublisherData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - UpdateUserPublisherInternalData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/UpdateUserPublisherInternalData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - UpdateUserPublisherReadOnlyData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/UpdateUserPublisherReadOnlyData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - UpdateUserReadOnlyData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/UpdateUserReadOnlyData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - UpdateUserTitleDisplayName: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Admin/UpdateUserTitleDisplayName", request, "X-SecretKey", callback, customData, extraHeaders); - }, -}; - -var PlayFabAdminSDK = PlayFab.AdminApi; - diff --git a/PlayFabSdk/src/PlayFab/PlayFabAuthenticationApi.js b/PlayFabSdk/src/PlayFab/PlayFabAuthenticationApi.js deleted file mode 100644 index 7724d78c..00000000 --- a/PlayFabSdk/src/PlayFab/PlayFabAuthenticationApi.js +++ /dev/null @@ -1,271 +0,0 @@ -/// - -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, - GlobalHeaderInjection: 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 = { - entityToken: null, - sdkVersion: "1.65.200518", - requestGetParams: { - sdk: "JavaScriptSDK-1.65.200518" - }, - sessionTicket: null, - verticalName: null, // The name of a customer vertical. This is only for customers running a private cluster. Generally you shouldn't touch this - productionServerUrl: ".playfabapi.com", - errorTitleId: "Must be have PlayFab.settings.titleId set to call this method", - errorLoggedIn: "Must be logged in to call this method", - errorEntityToken: "You must successfully call GetEntityToken before calling this", - errorSecretKey: "Must have PlayFab.settings.developerSecretKey set to call this method", - - GetServerUrl: function () { - if (!(PlayFab._internalSettings.productionServerUrl.substring(0, 4) === "http")) { - if (PlayFab._internalSettings.verticalName) { - return "https://" + PlayFab._internalSettings.verticalName + PlayFab._internalSettings.productionServerUrl; - } else { - return "https://" + PlayFab.settings.titleId + PlayFab._internalSettings.productionServerUrl; - } - } else { - return PlayFab._internalSettings.productionServerUrl; - } - }, - - InjectHeaders: function (xhr, headersObj) { - if (!headersObj) - return; - - for (var headerKey in headersObj) - { - try { - xhr.setRequestHeader(gHeaderKey, headersObj[headerKey]); - } catch (e) { - console.log("Failed to append header: " + headerKey + " = " + headersObj[headerKey] + "Error: " + e); - } - } - }, - - ExecuteRequest: function (url, request, authkey, authValue, callback, customData, extraHeaders) { - var resultPromise = new Promise(function (resolve, reject) { - if (callback != null && typeof (callback) !== "function") - throw "Callback must be null or a function"; - - if (request == null) - request = {}; - - var startTime = new Date(); - var requestBody = JSON.stringify(request); - - var urlArr = [url]; - var getParams = PlayFab._internalSettings.requestGetParams; - if (getParams != null) { - var firstParam = true; - for (var key in getParams) { - if (firstParam) { - urlArr.push("?"); - firstParam = false; - } else { - urlArr.push("&"); - } - urlArr.push(key); - urlArr.push("="); - urlArr.push(getParams[key]); - } - } - - var completeUrl = urlArr.join(""); - - var xhr = new XMLHttpRequest(); - // window.console.log("URL: " + completeUrl); - xhr.open("POST", completeUrl, true); - - xhr.setRequestHeader("Content-Type", "application/json"); - xhr.setRequestHeader("X-PlayFabSDK", "JavaScriptSDK-" + PlayFab._internalSettings.sdkVersion); - if (authkey != null) - xhr.setRequestHeader(authkey, authValue); - PlayFab._internalSettings.InjectHeaders(xhr, PlayFab.settings.GlobalHeaderInjection); - PlayFab._internalSettings.InjectHeaders(xhr, extraHeaders); - - xhr.onloadend = function () { - if (callback == null) - return; - - var result = PlayFab._internalSettings.GetPlayFabResponse(request, xhr, startTime, customData); - if (result.code === 200) { - callback(result, null); - } else { - callback(null, result); - } - } - - xhr.onerror = function () { - if (callback == null) - return; - - var result = PlayFab._internalSettings.GetPlayFabResponse(request, xhr, startTime, customData); - callback(null, result); - } - - xhr.send(requestBody); - xhr.onreadystatechange = function () { - if (this.readyState === 4) { - var xhrResult = PlayFab._internalSettings.GetPlayFabResponse(request, this, startTime, customData); - if (this.status === 200) { - resolve(xhrResult); - } else { - reject(xhrResult); - } - } - }; - }); - // Return a Promise so that calls to various API methods can be handled asynchronously - return resultPromise; - }, - - GetPlayFabResponse: function(request, xhr, startTime, customData) { - var result = null; - 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; - result.Request = request; - result.CustomData = customData; - return result; - }, - - authenticationContext: { - PlayFabId: null, - EntityId: null, - EntityType: null, - SessionTicket: null, - EntityToken: null - }, - - UpdateAuthenticationContext: function (authenticationContext, result) { - var authenticationContextUpdates = {}; - if(result.data.PlayFabId !== null) { - PlayFab._internalSettings.authenticationContext.PlayFabId = result.data.PlayFabId; - authenticationContextUpdates.PlayFabId = result.data.PlayFabId; - } - if(result.data.SessionTicket !== null) { - PlayFab._internalSettings.authenticationContext.SessionTicket = result.data.SessionTicket; - authenticationContextUpdates.SessionTicket = result.data.SessionTicket; - } - if (result.data.EntityToken !== null) { - PlayFab._internalSettings.authenticationContext.EntityId = result.data.EntityToken.Entity.Id; - authenticationContextUpdates.EntityId = result.data.EntityToken.Entity.Id; - PlayFab._internalSettings.authenticationContext.EntityType = result.data.EntityToken.Entity.Type; - authenticationContextUpdates.EntityType = result.data.EntityToken.Entity.Type; - PlayFab._internalSettings.authenticationContext.EntityToken = result.data.EntityToken.EntityToken; - authenticationContextUpdates.EntityToken = result.data.EntityToken.EntityToken; - } - // Update the authenticationContext with values from the result - authenticationContext = Object.assign(authenticationContext, authenticationContextUpdates); - return authenticationContext; - }, - - AuthInfoMap: { - "X-EntityToken": { - authAttr: "entityToken", - authError: "errorEntityToken" - }, - "X-Authorization": { - authAttr: "sessionTicket", - authError: "errorLoggedIn" - }, - "X-SecretKey": { - authAttr: "developerSecretKey", - authError: "errorSecretKey" - } - }, - - GetAuthInfo: function (request, authKey) { - // Use the most-recently saved authKey, unless one was provided in the request via the AuthenticationContext - var authError = PlayFab._internalSettings.AuthInfoMap[authKey].authError; - var authAttr = PlayFab._internalSettings.AuthInfoMap[authKey].authAttr; - var defaultAuthValue = null; - if (authAttr === "entityToken") - defaultAuthValue = PlayFab._internalSettings.entityToken; - else if (authAttr === "sessionTicket") - defaultAuthValue = PlayFab._internalSettings.sessionTicket; - else if (authAttr === "developerSecretKey") - defaultAuthValue = PlayFab.settings.developerSecretKey; - var authValue = request.AuthenticationContext ? request.AuthenticationContext[authAttr] : defaultAuthValue; - return {"authKey": authKey, "authValue": authValue, "authError": authError}; - }, - - ExecuteRequestWrapper: function (apiURL, request, authKey, callback, customData, extraHeaders) { - var authValue = null; - if (authKey !== null){ - var authInfo = PlayFab._internalSettings.GetAuthInfo(request, authKey=authKey); - var authKey = authInfo.authKey, authValue = authInfo.authValue, authError = authInfo.authError; - - if (!authValue) throw authError; - } - return PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + apiURL, request, authKey, authValue, callback, customData, extraHeaders); - } - } -} - -PlayFab.buildIdentifier = "jbuild_javascriptsdk__sdk-genericslave-1_2"; -PlayFab.sdkVersion = "1.65.200518"; -PlayFab.GenerateErrorReport = function (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; -}; - -PlayFab.AuthenticationApi = { - ForgetAllCredentials: function () { - PlayFab._internalSettings.sessionTicket = null; - PlayFab._internalSettings.entityToken = null; - }, - - GetEntityToken: function (request, callback, customData, extraHeaders) { - var authKey = null; var authValue = null; - if (!authKey && PlayFab._internalSettings.sessionTicket) { var authInfo = PlayFab._internalSettings.GetAuthInfo(request, authKey="X-Authorization"); authKey = authInfo.authKey, authValue = authInfo.authValue; } - if (!authKey && PlayFab.settings.developerSecretKey) { var authInfo = PlayFab._internalSettings.GetAuthInfo(request, authKey="X-SecretKey"); authKey = authInfo.authKey, authValue = authInfo.authValue; } - var overloadCallback = function (result, error) { - if (result != null && result.data.EntityToken != null) - PlayFab._internalSettings.entityToken = result.data.EntityToken; - if (callback != null && typeof (callback) === "function") - callback(result, error); - }; - return PlayFab._internalSettings.ExecuteRequestWrapper("/Authentication/GetEntityToken", request, authKey, overloadCallback, customData, extraHeaders); - }, - - ValidateEntityToken: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Authentication/ValidateEntityToken", request, "X-EntityToken", callback, customData, extraHeaders); - }, -}; - -var PlayFabAuthenticationSDK = PlayFab.AuthenticationApi; - diff --git a/PlayFabSdk/src/PlayFab/PlayFabClientApi.js b/PlayFabSdk/src/PlayFab/PlayFabClientApi.js deleted file mode 100644 index a184c6c1..00000000 --- a/PlayFabSdk/src/PlayFab/PlayFabClientApi.js +++ /dev/null @@ -1,1387 +0,0 @@ -/// - -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, - GlobalHeaderInjection: 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 = { - entityToken: null, - sdkVersion: "1.65.200518", - requestGetParams: { - sdk: "JavaScriptSDK-1.65.200518" - }, - sessionTicket: null, - verticalName: null, // The name of a customer vertical. This is only for customers running a private cluster. Generally you shouldn't touch this - productionServerUrl: ".playfabapi.com", - errorTitleId: "Must be have PlayFab.settings.titleId set to call this method", - errorLoggedIn: "Must be logged in to call this method", - errorEntityToken: "You must successfully call GetEntityToken before calling this", - errorSecretKey: "Must have PlayFab.settings.developerSecretKey set to call this method", - - GetServerUrl: function () { - if (!(PlayFab._internalSettings.productionServerUrl.substring(0, 4) === "http")) { - if (PlayFab._internalSettings.verticalName) { - return "https://" + PlayFab._internalSettings.verticalName + PlayFab._internalSettings.productionServerUrl; - } else { - return "https://" + PlayFab.settings.titleId + PlayFab._internalSettings.productionServerUrl; - } - } else { - return PlayFab._internalSettings.productionServerUrl; - } - }, - - InjectHeaders: function (xhr, headersObj) { - if (!headersObj) - return; - - for (var headerKey in headersObj) - { - try { - xhr.setRequestHeader(gHeaderKey, headersObj[headerKey]); - } catch (e) { - console.log("Failed to append header: " + headerKey + " = " + headersObj[headerKey] + "Error: " + e); - } - } - }, - - ExecuteRequest: function (url, request, authkey, authValue, callback, customData, extraHeaders) { - var resultPromise = new Promise(function (resolve, reject) { - if (callback != null && typeof (callback) !== "function") - throw "Callback must be null or a function"; - - if (request == null) - request = {}; - - var startTime = new Date(); - var requestBody = JSON.stringify(request); - - var urlArr = [url]; - var getParams = PlayFab._internalSettings.requestGetParams; - if (getParams != null) { - var firstParam = true; - for (var key in getParams) { - if (firstParam) { - urlArr.push("?"); - firstParam = false; - } else { - urlArr.push("&"); - } - urlArr.push(key); - urlArr.push("="); - urlArr.push(getParams[key]); - } - } - - var completeUrl = urlArr.join(""); - - var xhr = new XMLHttpRequest(); - // window.console.log("URL: " + completeUrl); - xhr.open("POST", completeUrl, true); - - xhr.setRequestHeader("Content-Type", "application/json"); - xhr.setRequestHeader("X-PlayFabSDK", "JavaScriptSDK-" + PlayFab._internalSettings.sdkVersion); - if (authkey != null) - xhr.setRequestHeader(authkey, authValue); - PlayFab._internalSettings.InjectHeaders(xhr, PlayFab.settings.GlobalHeaderInjection); - PlayFab._internalSettings.InjectHeaders(xhr, extraHeaders); - - xhr.onloadend = function () { - if (callback == null) - return; - - var result = PlayFab._internalSettings.GetPlayFabResponse(request, xhr, startTime, customData); - if (result.code === 200) { - callback(result, null); - } else { - callback(null, result); - } - } - - xhr.onerror = function () { - if (callback == null) - return; - - var result = PlayFab._internalSettings.GetPlayFabResponse(request, xhr, startTime, customData); - callback(null, result); - } - - xhr.send(requestBody); - xhr.onreadystatechange = function () { - if (this.readyState === 4) { - var xhrResult = PlayFab._internalSettings.GetPlayFabResponse(request, this, startTime, customData); - if (this.status === 200) { - resolve(xhrResult); - } else { - reject(xhrResult); - } - } - }; - }); - // Return a Promise so that calls to various API methods can be handled asynchronously - return resultPromise; - }, - - GetPlayFabResponse: function(request, xhr, startTime, customData) { - var result = null; - 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; - result.Request = request; - result.CustomData = customData; - return result; - }, - - authenticationContext: { - PlayFabId: null, - EntityId: null, - EntityType: null, - SessionTicket: null, - EntityToken: null - }, - - UpdateAuthenticationContext: function (authenticationContext, result) { - var authenticationContextUpdates = {}; - if(result.data.PlayFabId !== null) { - PlayFab._internalSettings.authenticationContext.PlayFabId = result.data.PlayFabId; - authenticationContextUpdates.PlayFabId = result.data.PlayFabId; - } - if(result.data.SessionTicket !== null) { - PlayFab._internalSettings.authenticationContext.SessionTicket = result.data.SessionTicket; - authenticationContextUpdates.SessionTicket = result.data.SessionTicket; - } - if (result.data.EntityToken !== null) { - PlayFab._internalSettings.authenticationContext.EntityId = result.data.EntityToken.Entity.Id; - authenticationContextUpdates.EntityId = result.data.EntityToken.Entity.Id; - PlayFab._internalSettings.authenticationContext.EntityType = result.data.EntityToken.Entity.Type; - authenticationContextUpdates.EntityType = result.data.EntityToken.Entity.Type; - PlayFab._internalSettings.authenticationContext.EntityToken = result.data.EntityToken.EntityToken; - authenticationContextUpdates.EntityToken = result.data.EntityToken.EntityToken; - } - // Update the authenticationContext with values from the result - authenticationContext = Object.assign(authenticationContext, authenticationContextUpdates); - return authenticationContext; - }, - - AuthInfoMap: { - "X-EntityToken": { - authAttr: "entityToken", - authError: "errorEntityToken" - }, - "X-Authorization": { - authAttr: "sessionTicket", - authError: "errorLoggedIn" - }, - "X-SecretKey": { - authAttr: "developerSecretKey", - authError: "errorSecretKey" - } - }, - - GetAuthInfo: function (request, authKey) { - // Use the most-recently saved authKey, unless one was provided in the request via the AuthenticationContext - var authError = PlayFab._internalSettings.AuthInfoMap[authKey].authError; - var authAttr = PlayFab._internalSettings.AuthInfoMap[authKey].authAttr; - var defaultAuthValue = null; - if (authAttr === "entityToken") - defaultAuthValue = PlayFab._internalSettings.entityToken; - else if (authAttr === "sessionTicket") - defaultAuthValue = PlayFab._internalSettings.sessionTicket; - else if (authAttr === "developerSecretKey") - defaultAuthValue = PlayFab.settings.developerSecretKey; - var authValue = request.AuthenticationContext ? request.AuthenticationContext[authAttr] : defaultAuthValue; - return {"authKey": authKey, "authValue": authValue, "authError": authError}; - }, - - ExecuteRequestWrapper: function (apiURL, request, authKey, callback, customData, extraHeaders) { - var authValue = null; - if (authKey !== null){ - var authInfo = PlayFab._internalSettings.GetAuthInfo(request, authKey=authKey); - var authKey = authInfo.authKey, authValue = authInfo.authValue, authError = authInfo.authError; - - if (!authValue) throw authError; - } - return PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + apiURL, request, authKey, authValue, callback, customData, extraHeaders); - } - } -} - -PlayFab.buildIdentifier = "jbuild_javascriptsdk__sdk-genericslave-1_2"; -PlayFab.sdkVersion = "1.65.200518"; -PlayFab.GenerateErrorReport = function (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; -}; - -PlayFab.ClientApi = { - - IsClientLoggedIn: function () { - return PlayFab._internalSettings.sessionTicket != null && PlayFab._internalSettings.sessionTicket.length > 0; - }, - ForgetAllCredentials: function () { - PlayFab._internalSettings.sessionTicket = null; - PlayFab._internalSettings.entityToken = null; - }, - - AcceptTrade: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/AcceptTrade", request, "X-Authorization", callback, customData, extraHeaders); - }, - - AddFriend: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/AddFriend", request, "X-Authorization", callback, customData, extraHeaders); - }, - - AddGenericID: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/AddGenericID", request, "X-Authorization", callback, customData, extraHeaders); - }, - - AddOrUpdateContactEmail: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/AddOrUpdateContactEmail", request, "X-Authorization", callback, customData, extraHeaders); - }, - - AddSharedGroupMembers: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/AddSharedGroupMembers", request, "X-Authorization", callback, customData, extraHeaders); - }, - - AddUsernamePassword: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/AddUsernamePassword", request, "X-Authorization", callback, customData, extraHeaders); - }, - - AddUserVirtualCurrency: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/AddUserVirtualCurrency", request, "X-Authorization", callback, customData, extraHeaders); - }, - - AndroidDevicePushNotificationRegistration: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/AndroidDevicePushNotificationRegistration", request, "X-Authorization", callback, customData, extraHeaders); - }, - - AttributeInstall: function (request, callback, customData, extraHeaders) { - 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); - }; - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/AttributeInstall", request, "X-Authorization", overloadCallback, customData, extraHeaders); - }, - - CancelTrade: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/CancelTrade", request, "X-Authorization", callback, customData, extraHeaders); - }, - - ConfirmPurchase: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/ConfirmPurchase", request, "X-Authorization", callback, customData, extraHeaders); - }, - - ConsumeItem: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/ConsumeItem", request, "X-Authorization", callback, customData, extraHeaders); - }, - - ConsumePSNEntitlements: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/ConsumePSNEntitlements", request, "X-Authorization", callback, customData, extraHeaders); - }, - - ConsumeXboxEntitlements: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/ConsumeXboxEntitlements", request, "X-Authorization", callback, customData, extraHeaders); - }, - - CreateSharedGroup: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/CreateSharedGroup", request, "X-Authorization", callback, customData, extraHeaders); - }, - - ExecuteCloudScript: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/ExecuteCloudScript", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetAccountInfo: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetAccountInfo", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetAdPlacements: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetAdPlacements", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetAllUsersCharacters: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetAllUsersCharacters", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetCatalogItems: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetCatalogItems", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetCharacterData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetCharacterData", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetCharacterInventory: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetCharacterInventory", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetCharacterLeaderboard: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetCharacterLeaderboard", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetCharacterReadOnlyData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetCharacterReadOnlyData", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetCharacterStatistics: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetCharacterStatistics", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetContentDownloadUrl: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetContentDownloadUrl", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetCurrentGames: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetCurrentGames", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetFriendLeaderboard: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetFriendLeaderboard", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetFriendLeaderboardAroundPlayer: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetFriendLeaderboardAroundPlayer", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetFriendsList: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetFriendsList", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetGameServerRegions: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetGameServerRegions", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetLeaderboard: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetLeaderboard", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetLeaderboardAroundCharacter: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetLeaderboardAroundCharacter", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetLeaderboardAroundPlayer: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetLeaderboardAroundPlayer", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetLeaderboardForUserCharacters: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetLeaderboardForUserCharacters", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetPaymentToken: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetPaymentToken", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetPhotonAuthenticationToken: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetPhotonAuthenticationToken", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetPlayerCombinedInfo: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetPlayerCombinedInfo", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetPlayerProfile: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetPlayerProfile", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetPlayerSegments: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetPlayerSegments", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetPlayerStatistics: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetPlayerStatistics", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetPlayerStatisticVersions: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetPlayerStatisticVersions", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetPlayerTags: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetPlayerTags", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetPlayerTrades: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetPlayerTrades", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetPlayFabIDsFromFacebookIDs: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetPlayFabIDsFromFacebookIDs", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetPlayFabIDsFromFacebookInstantGamesIds: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetPlayFabIDsFromFacebookInstantGamesIds", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetPlayFabIDsFromGameCenterIDs: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetPlayFabIDsFromGameCenterIDs", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetPlayFabIDsFromGenericIDs: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetPlayFabIDsFromGenericIDs", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetPlayFabIDsFromGoogleIDs: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetPlayFabIDsFromGoogleIDs", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetPlayFabIDsFromKongregateIDs: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetPlayFabIDsFromKongregateIDs", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetPlayFabIDsFromNintendoSwitchDeviceIds: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetPlayFabIDsFromNintendoSwitchDeviceIds", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetPlayFabIDsFromPSNAccountIDs: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetPlayFabIDsFromPSNAccountIDs", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetPlayFabIDsFromSteamIDs: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetPlayFabIDsFromSteamIDs", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetPlayFabIDsFromTwitchIDs: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetPlayFabIDsFromTwitchIDs", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetPlayFabIDsFromXboxLiveIDs: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetPlayFabIDsFromXboxLiveIDs", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetPublisherData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetPublisherData", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetPurchase: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetPurchase", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetSharedGroupData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetSharedGroupData", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetStoreItems: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetStoreItems", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetTime: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetTime", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetTitleData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetTitleData", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetTitleNews: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetTitleNews", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetTitlePublicKey: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetTitlePublicKey", request, null, callback, customData, extraHeaders); - }, - - GetTradeStatus: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetTradeStatus", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetUserData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetUserData", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetUserInventory: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetUserInventory", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetUserPublisherData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetUserPublisherData", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetUserPublisherReadOnlyData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetUserPublisherReadOnlyData", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetUserReadOnlyData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetUserReadOnlyData", request, "X-Authorization", callback, customData, extraHeaders); - }, - - GetWindowsHelloChallenge: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GetWindowsHelloChallenge", request, null, callback, customData, extraHeaders); - }, - - GrantCharacterToUser: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/GrantCharacterToUser", request, "X-Authorization", callback, customData, extraHeaders); - }, - - LinkAndroidDeviceID: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/LinkAndroidDeviceID", request, "X-Authorization", callback, customData, extraHeaders); - }, - - LinkApple: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/LinkApple", request, "X-Authorization", callback, customData, extraHeaders); - }, - - LinkCustomID: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/LinkCustomID", request, "X-Authorization", callback, customData, extraHeaders); - }, - - LinkFacebookAccount: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/LinkFacebookAccount", request, "X-Authorization", callback, customData, extraHeaders); - }, - - LinkFacebookInstantGamesId: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/LinkFacebookInstantGamesId", request, "X-Authorization", callback, customData, extraHeaders); - }, - - LinkGameCenterAccount: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/LinkGameCenterAccount", request, "X-Authorization", callback, customData, extraHeaders); - }, - - LinkGoogleAccount: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/LinkGoogleAccount", request, "X-Authorization", callback, customData, extraHeaders); - }, - - LinkIOSDeviceID: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/LinkIOSDeviceID", request, "X-Authorization", callback, customData, extraHeaders); - }, - - LinkKongregate: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/LinkKongregate", request, "X-Authorization", callback, customData, extraHeaders); - }, - - LinkNintendoSwitchAccount: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/LinkNintendoSwitchAccount", request, "X-Authorization", callback, customData, extraHeaders); - }, - - LinkNintendoSwitchDeviceId: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/LinkNintendoSwitchDeviceId", request, "X-Authorization", callback, customData, extraHeaders); - }, - - LinkOpenIdConnect: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/LinkOpenIdConnect", request, "X-Authorization", callback, customData, extraHeaders); - }, - - LinkPSNAccount: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/LinkPSNAccount", request, "X-Authorization", callback, customData, extraHeaders); - }, - - LinkSteamAccount: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/LinkSteamAccount", request, "X-Authorization", callback, customData, extraHeaders); - }, - - LinkTwitch: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/LinkTwitch", request, "X-Authorization", callback, customData, extraHeaders); - }, - - LinkWindowsHello: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/LinkWindowsHello", request, "X-Authorization", callback, customData, extraHeaders); - }, - - LinkXboxAccount: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/LinkXboxAccount", request, "X-Authorization", callback, customData, extraHeaders); - }, - - LoginWithAndroidDeviceID: function (request, callback, customData, extraHeaders) { - request.TitleId = PlayFab.settings.titleId ? PlayFab.settings.titleId : request.TitleId; if (!request.TitleId) throw PlayFab._internalSettings.errorTitleId; - // PlayFab._internalSettings.authenticationContext can be modified by other asynchronous login attempts - // Deep-copy the authenticationContext here to safely update it - var authenticationContext = JSON.parse(JSON.stringify(PlayFab._internalSettings.authenticationContext)); - var overloadCallback = function (result, error) { - if (result != null) { - if(result.data.SessionTicket != null) { - PlayFab._internalSettings.sessionTicket = result.data.SessionTicket; - } - if (result.data.EntityToken != null) { - PlayFab._internalSettings.entityToken = result.data.EntityToken.EntityToken; - } - // Apply the updates for the AuthenticationContext returned to the client - authenticationContext = PlayFab._internalSettings.UpdateAuthenticationContext(authenticationContext, result); - PlayFab.ClientApi._MultiStepClientLogin(result.data.SettingsForUser.NeedsAttribution); - } - if (callback != null && typeof (callback) === "function") - callback(result, error); - }; - PlayFab._internalSettings.ExecuteRequestWrapper("/Client/LoginWithAndroidDeviceID", request, null, overloadCallback, customData, extraHeaders); - // Return a Promise so that multiple asynchronous calls to this method can be handled simultaneously with Promise.all() - return new Promise(function(resolve){resolve(authenticationContext);}); - }, - - LoginWithApple: function (request, callback, customData, extraHeaders) { - request.TitleId = PlayFab.settings.titleId ? PlayFab.settings.titleId : request.TitleId; if (!request.TitleId) throw PlayFab._internalSettings.errorTitleId; - // PlayFab._internalSettings.authenticationContext can be modified by other asynchronous login attempts - // Deep-copy the authenticationContext here to safely update it - var authenticationContext = JSON.parse(JSON.stringify(PlayFab._internalSettings.authenticationContext)); - var overloadCallback = function (result, error) { - if (result != null) { - if(result.data.SessionTicket != null) { - PlayFab._internalSettings.sessionTicket = result.data.SessionTicket; - } - if (result.data.EntityToken != null) { - PlayFab._internalSettings.entityToken = result.data.EntityToken.EntityToken; - } - // Apply the updates for the AuthenticationContext returned to the client - authenticationContext = PlayFab._internalSettings.UpdateAuthenticationContext(authenticationContext, result); - PlayFab.ClientApi._MultiStepClientLogin(result.data.SettingsForUser.NeedsAttribution); - } - if (callback != null && typeof (callback) === "function") - callback(result, error); - }; - PlayFab._internalSettings.ExecuteRequestWrapper("/Client/LoginWithApple", request, null, overloadCallback, customData, extraHeaders); - // Return a Promise so that multiple asynchronous calls to this method can be handled simultaneously with Promise.all() - return new Promise(function(resolve){resolve(authenticationContext);}); - }, - - LoginWithCustomID: function (request, callback, customData, extraHeaders) { - request.TitleId = PlayFab.settings.titleId ? PlayFab.settings.titleId : request.TitleId; if (!request.TitleId) throw PlayFab._internalSettings.errorTitleId; - // PlayFab._internalSettings.authenticationContext can be modified by other asynchronous login attempts - // Deep-copy the authenticationContext here to safely update it - var authenticationContext = JSON.parse(JSON.stringify(PlayFab._internalSettings.authenticationContext)); - var overloadCallback = function (result, error) { - if (result != null) { - if(result.data.SessionTicket != null) { - PlayFab._internalSettings.sessionTicket = result.data.SessionTicket; - } - if (result.data.EntityToken != null) { - PlayFab._internalSettings.entityToken = result.data.EntityToken.EntityToken; - } - // Apply the updates for the AuthenticationContext returned to the client - authenticationContext = PlayFab._internalSettings.UpdateAuthenticationContext(authenticationContext, result); - PlayFab.ClientApi._MultiStepClientLogin(result.data.SettingsForUser.NeedsAttribution); - } - if (callback != null && typeof (callback) === "function") - callback(result, error); - }; - PlayFab._internalSettings.ExecuteRequestWrapper("/Client/LoginWithCustomID", request, null, overloadCallback, customData, extraHeaders); - // Return a Promise so that multiple asynchronous calls to this method can be handled simultaneously with Promise.all() - return new Promise(function(resolve){resolve(authenticationContext);}); - }, - - LoginWithEmailAddress: function (request, callback, customData, extraHeaders) { - request.TitleId = PlayFab.settings.titleId ? PlayFab.settings.titleId : request.TitleId; if (!request.TitleId) throw PlayFab._internalSettings.errorTitleId; - // PlayFab._internalSettings.authenticationContext can be modified by other asynchronous login attempts - // Deep-copy the authenticationContext here to safely update it - var authenticationContext = JSON.parse(JSON.stringify(PlayFab._internalSettings.authenticationContext)); - var overloadCallback = function (result, error) { - if (result != null) { - if(result.data.SessionTicket != null) { - PlayFab._internalSettings.sessionTicket = result.data.SessionTicket; - } - if (result.data.EntityToken != null) { - PlayFab._internalSettings.entityToken = result.data.EntityToken.EntityToken; - } - // Apply the updates for the AuthenticationContext returned to the client - authenticationContext = PlayFab._internalSettings.UpdateAuthenticationContext(authenticationContext, result); - PlayFab.ClientApi._MultiStepClientLogin(result.data.SettingsForUser.NeedsAttribution); - } - if (callback != null && typeof (callback) === "function") - callback(result, error); - }; - PlayFab._internalSettings.ExecuteRequestWrapper("/Client/LoginWithEmailAddress", request, null, overloadCallback, customData, extraHeaders); - // Return a Promise so that multiple asynchronous calls to this method can be handled simultaneously with Promise.all() - return new Promise(function(resolve){resolve(authenticationContext);}); - }, - - LoginWithFacebook: function (request, callback, customData, extraHeaders) { - request.TitleId = PlayFab.settings.titleId ? PlayFab.settings.titleId : request.TitleId; if (!request.TitleId) throw PlayFab._internalSettings.errorTitleId; - // PlayFab._internalSettings.authenticationContext can be modified by other asynchronous login attempts - // Deep-copy the authenticationContext here to safely update it - var authenticationContext = JSON.parse(JSON.stringify(PlayFab._internalSettings.authenticationContext)); - var overloadCallback = function (result, error) { - if (result != null) { - if(result.data.SessionTicket != null) { - PlayFab._internalSettings.sessionTicket = result.data.SessionTicket; - } - if (result.data.EntityToken != null) { - PlayFab._internalSettings.entityToken = result.data.EntityToken.EntityToken; - } - // Apply the updates for the AuthenticationContext returned to the client - authenticationContext = PlayFab._internalSettings.UpdateAuthenticationContext(authenticationContext, result); - PlayFab.ClientApi._MultiStepClientLogin(result.data.SettingsForUser.NeedsAttribution); - } - if (callback != null && typeof (callback) === "function") - callback(result, error); - }; - PlayFab._internalSettings.ExecuteRequestWrapper("/Client/LoginWithFacebook", request, null, overloadCallback, customData, extraHeaders); - // Return a Promise so that multiple asynchronous calls to this method can be handled simultaneously with Promise.all() - return new Promise(function(resolve){resolve(authenticationContext);}); - }, - - LoginWithFacebookInstantGamesId: function (request, callback, customData, extraHeaders) { - request.TitleId = PlayFab.settings.titleId ? PlayFab.settings.titleId : request.TitleId; if (!request.TitleId) throw PlayFab._internalSettings.errorTitleId; - // PlayFab._internalSettings.authenticationContext can be modified by other asynchronous login attempts - // Deep-copy the authenticationContext here to safely update it - var authenticationContext = JSON.parse(JSON.stringify(PlayFab._internalSettings.authenticationContext)); - var overloadCallback = function (result, error) { - if (result != null) { - if(result.data.SessionTicket != null) { - PlayFab._internalSettings.sessionTicket = result.data.SessionTicket; - } - if (result.data.EntityToken != null) { - PlayFab._internalSettings.entityToken = result.data.EntityToken.EntityToken; - } - // Apply the updates for the AuthenticationContext returned to the client - authenticationContext = PlayFab._internalSettings.UpdateAuthenticationContext(authenticationContext, result); - PlayFab.ClientApi._MultiStepClientLogin(result.data.SettingsForUser.NeedsAttribution); - } - if (callback != null && typeof (callback) === "function") - callback(result, error); - }; - PlayFab._internalSettings.ExecuteRequestWrapper("/Client/LoginWithFacebookInstantGamesId", request, null, overloadCallback, customData, extraHeaders); - // Return a Promise so that multiple asynchronous calls to this method can be handled simultaneously with Promise.all() - return new Promise(function(resolve){resolve(authenticationContext);}); - }, - - LoginWithGameCenter: function (request, callback, customData, extraHeaders) { - request.TitleId = PlayFab.settings.titleId ? PlayFab.settings.titleId : request.TitleId; if (!request.TitleId) throw PlayFab._internalSettings.errorTitleId; - // PlayFab._internalSettings.authenticationContext can be modified by other asynchronous login attempts - // Deep-copy the authenticationContext here to safely update it - var authenticationContext = JSON.parse(JSON.stringify(PlayFab._internalSettings.authenticationContext)); - var overloadCallback = function (result, error) { - if (result != null) { - if(result.data.SessionTicket != null) { - PlayFab._internalSettings.sessionTicket = result.data.SessionTicket; - } - if (result.data.EntityToken != null) { - PlayFab._internalSettings.entityToken = result.data.EntityToken.EntityToken; - } - // Apply the updates for the AuthenticationContext returned to the client - authenticationContext = PlayFab._internalSettings.UpdateAuthenticationContext(authenticationContext, result); - PlayFab.ClientApi._MultiStepClientLogin(result.data.SettingsForUser.NeedsAttribution); - } - if (callback != null && typeof (callback) === "function") - callback(result, error); - }; - PlayFab._internalSettings.ExecuteRequestWrapper("/Client/LoginWithGameCenter", request, null, overloadCallback, customData, extraHeaders); - // Return a Promise so that multiple asynchronous calls to this method can be handled simultaneously with Promise.all() - return new Promise(function(resolve){resolve(authenticationContext);}); - }, - - LoginWithGoogleAccount: function (request, callback, customData, extraHeaders) { - request.TitleId = PlayFab.settings.titleId ? PlayFab.settings.titleId : request.TitleId; if (!request.TitleId) throw PlayFab._internalSettings.errorTitleId; - // PlayFab._internalSettings.authenticationContext can be modified by other asynchronous login attempts - // Deep-copy the authenticationContext here to safely update it - var authenticationContext = JSON.parse(JSON.stringify(PlayFab._internalSettings.authenticationContext)); - var overloadCallback = function (result, error) { - if (result != null) { - if(result.data.SessionTicket != null) { - PlayFab._internalSettings.sessionTicket = result.data.SessionTicket; - } - if (result.data.EntityToken != null) { - PlayFab._internalSettings.entityToken = result.data.EntityToken.EntityToken; - } - // Apply the updates for the AuthenticationContext returned to the client - authenticationContext = PlayFab._internalSettings.UpdateAuthenticationContext(authenticationContext, result); - PlayFab.ClientApi._MultiStepClientLogin(result.data.SettingsForUser.NeedsAttribution); - } - if (callback != null && typeof (callback) === "function") - callback(result, error); - }; - PlayFab._internalSettings.ExecuteRequestWrapper("/Client/LoginWithGoogleAccount", request, null, overloadCallback, customData, extraHeaders); - // Return a Promise so that multiple asynchronous calls to this method can be handled simultaneously with Promise.all() - return new Promise(function(resolve){resolve(authenticationContext);}); - }, - - LoginWithIOSDeviceID: function (request, callback, customData, extraHeaders) { - request.TitleId = PlayFab.settings.titleId ? PlayFab.settings.titleId : request.TitleId; if (!request.TitleId) throw PlayFab._internalSettings.errorTitleId; - // PlayFab._internalSettings.authenticationContext can be modified by other asynchronous login attempts - // Deep-copy the authenticationContext here to safely update it - var authenticationContext = JSON.parse(JSON.stringify(PlayFab._internalSettings.authenticationContext)); - var overloadCallback = function (result, error) { - if (result != null) { - if(result.data.SessionTicket != null) { - PlayFab._internalSettings.sessionTicket = result.data.SessionTicket; - } - if (result.data.EntityToken != null) { - PlayFab._internalSettings.entityToken = result.data.EntityToken.EntityToken; - } - // Apply the updates for the AuthenticationContext returned to the client - authenticationContext = PlayFab._internalSettings.UpdateAuthenticationContext(authenticationContext, result); - PlayFab.ClientApi._MultiStepClientLogin(result.data.SettingsForUser.NeedsAttribution); - } - if (callback != null && typeof (callback) === "function") - callback(result, error); - }; - PlayFab._internalSettings.ExecuteRequestWrapper("/Client/LoginWithIOSDeviceID", request, null, overloadCallback, customData, extraHeaders); - // Return a Promise so that multiple asynchronous calls to this method can be handled simultaneously with Promise.all() - return new Promise(function(resolve){resolve(authenticationContext);}); - }, - - LoginWithKongregate: function (request, callback, customData, extraHeaders) { - request.TitleId = PlayFab.settings.titleId ? PlayFab.settings.titleId : request.TitleId; if (!request.TitleId) throw PlayFab._internalSettings.errorTitleId; - // PlayFab._internalSettings.authenticationContext can be modified by other asynchronous login attempts - // Deep-copy the authenticationContext here to safely update it - var authenticationContext = JSON.parse(JSON.stringify(PlayFab._internalSettings.authenticationContext)); - var overloadCallback = function (result, error) { - if (result != null) { - if(result.data.SessionTicket != null) { - PlayFab._internalSettings.sessionTicket = result.data.SessionTicket; - } - if (result.data.EntityToken != null) { - PlayFab._internalSettings.entityToken = result.data.EntityToken.EntityToken; - } - // Apply the updates for the AuthenticationContext returned to the client - authenticationContext = PlayFab._internalSettings.UpdateAuthenticationContext(authenticationContext, result); - PlayFab.ClientApi._MultiStepClientLogin(result.data.SettingsForUser.NeedsAttribution); - } - if (callback != null && typeof (callback) === "function") - callback(result, error); - }; - PlayFab._internalSettings.ExecuteRequestWrapper("/Client/LoginWithKongregate", request, null, overloadCallback, customData, extraHeaders); - // Return a Promise so that multiple asynchronous calls to this method can be handled simultaneously with Promise.all() - return new Promise(function(resolve){resolve(authenticationContext);}); - }, - - LoginWithNintendoSwitchAccount: function (request, callback, customData, extraHeaders) { - request.TitleId = PlayFab.settings.titleId ? PlayFab.settings.titleId : request.TitleId; if (!request.TitleId) throw PlayFab._internalSettings.errorTitleId; - // PlayFab._internalSettings.authenticationContext can be modified by other asynchronous login attempts - // Deep-copy the authenticationContext here to safely update it - var authenticationContext = JSON.parse(JSON.stringify(PlayFab._internalSettings.authenticationContext)); - var overloadCallback = function (result, error) { - if (result != null) { - if(result.data.SessionTicket != null) { - PlayFab._internalSettings.sessionTicket = result.data.SessionTicket; - } - if (result.data.EntityToken != null) { - PlayFab._internalSettings.entityToken = result.data.EntityToken.EntityToken; - } - // Apply the updates for the AuthenticationContext returned to the client - authenticationContext = PlayFab._internalSettings.UpdateAuthenticationContext(authenticationContext, result); - PlayFab.ClientApi._MultiStepClientLogin(result.data.SettingsForUser.NeedsAttribution); - } - if (callback != null && typeof (callback) === "function") - callback(result, error); - }; - PlayFab._internalSettings.ExecuteRequestWrapper("/Client/LoginWithNintendoSwitchAccount", request, null, overloadCallback, customData, extraHeaders); - // Return a Promise so that multiple asynchronous calls to this method can be handled simultaneously with Promise.all() - return new Promise(function(resolve){resolve(authenticationContext);}); - }, - - LoginWithNintendoSwitchDeviceId: function (request, callback, customData, extraHeaders) { - request.TitleId = PlayFab.settings.titleId ? PlayFab.settings.titleId : request.TitleId; if (!request.TitleId) throw PlayFab._internalSettings.errorTitleId; - // PlayFab._internalSettings.authenticationContext can be modified by other asynchronous login attempts - // Deep-copy the authenticationContext here to safely update it - var authenticationContext = JSON.parse(JSON.stringify(PlayFab._internalSettings.authenticationContext)); - var overloadCallback = function (result, error) { - if (result != null) { - if(result.data.SessionTicket != null) { - PlayFab._internalSettings.sessionTicket = result.data.SessionTicket; - } - if (result.data.EntityToken != null) { - PlayFab._internalSettings.entityToken = result.data.EntityToken.EntityToken; - } - // Apply the updates for the AuthenticationContext returned to the client - authenticationContext = PlayFab._internalSettings.UpdateAuthenticationContext(authenticationContext, result); - PlayFab.ClientApi._MultiStepClientLogin(result.data.SettingsForUser.NeedsAttribution); - } - if (callback != null && typeof (callback) === "function") - callback(result, error); - }; - PlayFab._internalSettings.ExecuteRequestWrapper("/Client/LoginWithNintendoSwitchDeviceId", request, null, overloadCallback, customData, extraHeaders); - // Return a Promise so that multiple asynchronous calls to this method can be handled simultaneously with Promise.all() - return new Promise(function(resolve){resolve(authenticationContext);}); - }, - - LoginWithOpenIdConnect: function (request, callback, customData, extraHeaders) { - request.TitleId = PlayFab.settings.titleId ? PlayFab.settings.titleId : request.TitleId; if (!request.TitleId) throw PlayFab._internalSettings.errorTitleId; - // PlayFab._internalSettings.authenticationContext can be modified by other asynchronous login attempts - // Deep-copy the authenticationContext here to safely update it - var authenticationContext = JSON.parse(JSON.stringify(PlayFab._internalSettings.authenticationContext)); - var overloadCallback = function (result, error) { - if (result != null) { - if(result.data.SessionTicket != null) { - PlayFab._internalSettings.sessionTicket = result.data.SessionTicket; - } - if (result.data.EntityToken != null) { - PlayFab._internalSettings.entityToken = result.data.EntityToken.EntityToken; - } - // Apply the updates for the AuthenticationContext returned to the client - authenticationContext = PlayFab._internalSettings.UpdateAuthenticationContext(authenticationContext, result); - PlayFab.ClientApi._MultiStepClientLogin(result.data.SettingsForUser.NeedsAttribution); - } - if (callback != null && typeof (callback) === "function") - callback(result, error); - }; - PlayFab._internalSettings.ExecuteRequestWrapper("/Client/LoginWithOpenIdConnect", request, null, overloadCallback, customData, extraHeaders); - // Return a Promise so that multiple asynchronous calls to this method can be handled simultaneously with Promise.all() - return new Promise(function(resolve){resolve(authenticationContext);}); - }, - - LoginWithPlayFab: function (request, callback, customData, extraHeaders) { - request.TitleId = PlayFab.settings.titleId ? PlayFab.settings.titleId : request.TitleId; if (!request.TitleId) throw PlayFab._internalSettings.errorTitleId; - // PlayFab._internalSettings.authenticationContext can be modified by other asynchronous login attempts - // Deep-copy the authenticationContext here to safely update it - var authenticationContext = JSON.parse(JSON.stringify(PlayFab._internalSettings.authenticationContext)); - var overloadCallback = function (result, error) { - if (result != null) { - if(result.data.SessionTicket != null) { - PlayFab._internalSettings.sessionTicket = result.data.SessionTicket; - } - if (result.data.EntityToken != null) { - PlayFab._internalSettings.entityToken = result.data.EntityToken.EntityToken; - } - // Apply the updates for the AuthenticationContext returned to the client - authenticationContext = PlayFab._internalSettings.UpdateAuthenticationContext(authenticationContext, result); - PlayFab.ClientApi._MultiStepClientLogin(result.data.SettingsForUser.NeedsAttribution); - } - if (callback != null && typeof (callback) === "function") - callback(result, error); - }; - PlayFab._internalSettings.ExecuteRequestWrapper("/Client/LoginWithPlayFab", request, null, overloadCallback, customData, extraHeaders); - // Return a Promise so that multiple asynchronous calls to this method can be handled simultaneously with Promise.all() - return new Promise(function(resolve){resolve(authenticationContext);}); - }, - - LoginWithPSN: function (request, callback, customData, extraHeaders) { - request.TitleId = PlayFab.settings.titleId ? PlayFab.settings.titleId : request.TitleId; if (!request.TitleId) throw PlayFab._internalSettings.errorTitleId; - // PlayFab._internalSettings.authenticationContext can be modified by other asynchronous login attempts - // Deep-copy the authenticationContext here to safely update it - var authenticationContext = JSON.parse(JSON.stringify(PlayFab._internalSettings.authenticationContext)); - var overloadCallback = function (result, error) { - if (result != null) { - if(result.data.SessionTicket != null) { - PlayFab._internalSettings.sessionTicket = result.data.SessionTicket; - } - if (result.data.EntityToken != null) { - PlayFab._internalSettings.entityToken = result.data.EntityToken.EntityToken; - } - // Apply the updates for the AuthenticationContext returned to the client - authenticationContext = PlayFab._internalSettings.UpdateAuthenticationContext(authenticationContext, result); - PlayFab.ClientApi._MultiStepClientLogin(result.data.SettingsForUser.NeedsAttribution); - } - if (callback != null && typeof (callback) === "function") - callback(result, error); - }; - PlayFab._internalSettings.ExecuteRequestWrapper("/Client/LoginWithPSN", request, null, overloadCallback, customData, extraHeaders); - // Return a Promise so that multiple asynchronous calls to this method can be handled simultaneously with Promise.all() - return new Promise(function(resolve){resolve(authenticationContext);}); - }, - - LoginWithSteam: function (request, callback, customData, extraHeaders) { - request.TitleId = PlayFab.settings.titleId ? PlayFab.settings.titleId : request.TitleId; if (!request.TitleId) throw PlayFab._internalSettings.errorTitleId; - // PlayFab._internalSettings.authenticationContext can be modified by other asynchronous login attempts - // Deep-copy the authenticationContext here to safely update it - var authenticationContext = JSON.parse(JSON.stringify(PlayFab._internalSettings.authenticationContext)); - var overloadCallback = function (result, error) { - if (result != null) { - if(result.data.SessionTicket != null) { - PlayFab._internalSettings.sessionTicket = result.data.SessionTicket; - } - if (result.data.EntityToken != null) { - PlayFab._internalSettings.entityToken = result.data.EntityToken.EntityToken; - } - // Apply the updates for the AuthenticationContext returned to the client - authenticationContext = PlayFab._internalSettings.UpdateAuthenticationContext(authenticationContext, result); - PlayFab.ClientApi._MultiStepClientLogin(result.data.SettingsForUser.NeedsAttribution); - } - if (callback != null && typeof (callback) === "function") - callback(result, error); - }; - PlayFab._internalSettings.ExecuteRequestWrapper("/Client/LoginWithSteam", request, null, overloadCallback, customData, extraHeaders); - // Return a Promise so that multiple asynchronous calls to this method can be handled simultaneously with Promise.all() - return new Promise(function(resolve){resolve(authenticationContext);}); - }, - - LoginWithTwitch: function (request, callback, customData, extraHeaders) { - request.TitleId = PlayFab.settings.titleId ? PlayFab.settings.titleId : request.TitleId; if (!request.TitleId) throw PlayFab._internalSettings.errorTitleId; - // PlayFab._internalSettings.authenticationContext can be modified by other asynchronous login attempts - // Deep-copy the authenticationContext here to safely update it - var authenticationContext = JSON.parse(JSON.stringify(PlayFab._internalSettings.authenticationContext)); - var overloadCallback = function (result, error) { - if (result != null) { - if(result.data.SessionTicket != null) { - PlayFab._internalSettings.sessionTicket = result.data.SessionTicket; - } - if (result.data.EntityToken != null) { - PlayFab._internalSettings.entityToken = result.data.EntityToken.EntityToken; - } - // Apply the updates for the AuthenticationContext returned to the client - authenticationContext = PlayFab._internalSettings.UpdateAuthenticationContext(authenticationContext, result); - PlayFab.ClientApi._MultiStepClientLogin(result.data.SettingsForUser.NeedsAttribution); - } - if (callback != null && typeof (callback) === "function") - callback(result, error); - }; - PlayFab._internalSettings.ExecuteRequestWrapper("/Client/LoginWithTwitch", request, null, overloadCallback, customData, extraHeaders); - // Return a Promise so that multiple asynchronous calls to this method can be handled simultaneously with Promise.all() - return new Promise(function(resolve){resolve(authenticationContext);}); - }, - - LoginWithWindowsHello: function (request, callback, customData, extraHeaders) { - request.TitleId = PlayFab.settings.titleId ? PlayFab.settings.titleId : request.TitleId; if (!request.TitleId) throw PlayFab._internalSettings.errorTitleId; - // PlayFab._internalSettings.authenticationContext can be modified by other asynchronous login attempts - // Deep-copy the authenticationContext here to safely update it - var authenticationContext = JSON.parse(JSON.stringify(PlayFab._internalSettings.authenticationContext)); - var overloadCallback = function (result, error) { - if (result != null) { - if(result.data.SessionTicket != null) { - PlayFab._internalSettings.sessionTicket = result.data.SessionTicket; - } - if (result.data.EntityToken != null) { - PlayFab._internalSettings.entityToken = result.data.EntityToken.EntityToken; - } - // Apply the updates for the AuthenticationContext returned to the client - authenticationContext = PlayFab._internalSettings.UpdateAuthenticationContext(authenticationContext, result); - PlayFab.ClientApi._MultiStepClientLogin(result.data.SettingsForUser.NeedsAttribution); - } - if (callback != null && typeof (callback) === "function") - callback(result, error); - }; - PlayFab._internalSettings.ExecuteRequestWrapper("/Client/LoginWithWindowsHello", request, null, overloadCallback, customData, extraHeaders); - // Return a Promise so that multiple asynchronous calls to this method can be handled simultaneously with Promise.all() - return new Promise(function(resolve){resolve(authenticationContext);}); - }, - - LoginWithXbox: function (request, callback, customData, extraHeaders) { - request.TitleId = PlayFab.settings.titleId ? PlayFab.settings.titleId : request.TitleId; if (!request.TitleId) throw PlayFab._internalSettings.errorTitleId; - // PlayFab._internalSettings.authenticationContext can be modified by other asynchronous login attempts - // Deep-copy the authenticationContext here to safely update it - var authenticationContext = JSON.parse(JSON.stringify(PlayFab._internalSettings.authenticationContext)); - var overloadCallback = function (result, error) { - if (result != null) { - if(result.data.SessionTicket != null) { - PlayFab._internalSettings.sessionTicket = result.data.SessionTicket; - } - if (result.data.EntityToken != null) { - PlayFab._internalSettings.entityToken = result.data.EntityToken.EntityToken; - } - // Apply the updates for the AuthenticationContext returned to the client - authenticationContext = PlayFab._internalSettings.UpdateAuthenticationContext(authenticationContext, result); - PlayFab.ClientApi._MultiStepClientLogin(result.data.SettingsForUser.NeedsAttribution); - } - if (callback != null && typeof (callback) === "function") - callback(result, error); - }; - PlayFab._internalSettings.ExecuteRequestWrapper("/Client/LoginWithXbox", request, null, overloadCallback, customData, extraHeaders); - // Return a Promise so that multiple asynchronous calls to this method can be handled simultaneously with Promise.all() - return new Promise(function(resolve){resolve(authenticationContext);}); - }, - - Matchmake: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/Matchmake", request, "X-Authorization", callback, customData, extraHeaders); - }, - - OpenTrade: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/OpenTrade", request, "X-Authorization", callback, customData, extraHeaders); - }, - - PayForPurchase: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/PayForPurchase", request, "X-Authorization", callback, customData, extraHeaders); - }, - - PurchaseItem: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/PurchaseItem", request, "X-Authorization", callback, customData, extraHeaders); - }, - - RedeemCoupon: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/RedeemCoupon", request, "X-Authorization", callback, customData, extraHeaders); - }, - - RefreshPSNAuthToken: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/RefreshPSNAuthToken", request, "X-Authorization", callback, customData, extraHeaders); - }, - - RegisterForIOSPushNotification: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/RegisterForIOSPushNotification", request, "X-Authorization", callback, customData, extraHeaders); - }, - - RegisterPlayFabUser: function (request, callback, customData, extraHeaders) { - request.TitleId = PlayFab.settings.titleId ? PlayFab.settings.titleId : request.TitleId; if (!request.TitleId) throw PlayFab._internalSettings.errorTitleId; - // PlayFab._internalSettings.authenticationContext can be modified by other asynchronous login attempts - // Deep-copy the authenticationContext here to safely update it - var authenticationContext = JSON.parse(JSON.stringify(PlayFab._internalSettings.authenticationContext)); - 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); - }; - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/RegisterPlayFabUser", request, null, overloadCallback, customData, extraHeaders); - }, - - RegisterWithWindowsHello: function (request, callback, customData, extraHeaders) { - request.TitleId = PlayFab.settings.titleId ? PlayFab.settings.titleId : request.TitleId; if (!request.TitleId) throw PlayFab._internalSettings.errorTitleId; - // PlayFab._internalSettings.authenticationContext can be modified by other asynchronous login attempts - // Deep-copy the authenticationContext here to safely update it - var authenticationContext = JSON.parse(JSON.stringify(PlayFab._internalSettings.authenticationContext)); - var overloadCallback = function (result, error) { - if (result != null) { - if(result.data.SessionTicket != null) { - PlayFab._internalSettings.sessionTicket = result.data.SessionTicket; - } - if (result.data.EntityToken != null) { - PlayFab._internalSettings.entityToken = result.data.EntityToken.EntityToken; - } - // Apply the updates for the AuthenticationContext returned to the client - authenticationContext = PlayFab._internalSettings.UpdateAuthenticationContext(authenticationContext, result); - PlayFab.ClientApi._MultiStepClientLogin(result.data.SettingsForUser.NeedsAttribution); - } - if (callback != null && typeof (callback) === "function") - callback(result, error); - }; - PlayFab._internalSettings.ExecuteRequestWrapper("/Client/RegisterWithWindowsHello", request, null, overloadCallback, customData, extraHeaders); - // Return a Promise so that multiple asynchronous calls to this method can be handled simultaneously with Promise.all() - return new Promise(function(resolve){resolve(authenticationContext);}); - }, - - RemoveContactEmail: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/RemoveContactEmail", request, "X-Authorization", callback, customData, extraHeaders); - }, - - RemoveFriend: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/RemoveFriend", request, "X-Authorization", callback, customData, extraHeaders); - }, - - RemoveGenericID: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/RemoveGenericID", request, "X-Authorization", callback, customData, extraHeaders); - }, - - RemoveSharedGroupMembers: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/RemoveSharedGroupMembers", request, "X-Authorization", callback, customData, extraHeaders); - }, - - ReportAdActivity: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/ReportAdActivity", request, "X-Authorization", callback, customData, extraHeaders); - }, - - ReportDeviceInfo: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/ReportDeviceInfo", request, "X-Authorization", callback, customData, extraHeaders); - }, - - ReportPlayer: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/ReportPlayer", request, "X-Authorization", callback, customData, extraHeaders); - }, - - RestoreIOSPurchases: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/RestoreIOSPurchases", request, "X-Authorization", callback, customData, extraHeaders); - }, - - RewardAdActivity: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/RewardAdActivity", request, "X-Authorization", callback, customData, extraHeaders); - }, - - SendAccountRecoveryEmail: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/SendAccountRecoveryEmail", request, null, callback, customData, extraHeaders); - }, - - SetFriendTags: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/SetFriendTags", request, "X-Authorization", callback, customData, extraHeaders); - }, - - SetPlayerSecret: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/SetPlayerSecret", request, "X-Authorization", callback, customData, extraHeaders); - }, - - StartGame: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/StartGame", request, "X-Authorization", callback, customData, extraHeaders); - }, - - StartPurchase: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/StartPurchase", request, "X-Authorization", callback, customData, extraHeaders); - }, - - SubtractUserVirtualCurrency: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/SubtractUserVirtualCurrency", request, "X-Authorization", callback, customData, extraHeaders); - }, - - UnlinkAndroidDeviceID: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/UnlinkAndroidDeviceID", request, "X-Authorization", callback, customData, extraHeaders); - }, - - UnlinkApple: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/UnlinkApple", request, "X-Authorization", callback, customData, extraHeaders); - }, - - UnlinkCustomID: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/UnlinkCustomID", request, "X-Authorization", callback, customData, extraHeaders); - }, - - UnlinkFacebookAccount: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/UnlinkFacebookAccount", request, "X-Authorization", callback, customData, extraHeaders); - }, - - UnlinkFacebookInstantGamesId: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/UnlinkFacebookInstantGamesId", request, "X-Authorization", callback, customData, extraHeaders); - }, - - UnlinkGameCenterAccount: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/UnlinkGameCenterAccount", request, "X-Authorization", callback, customData, extraHeaders); - }, - - UnlinkGoogleAccount: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/UnlinkGoogleAccount", request, "X-Authorization", callback, customData, extraHeaders); - }, - - UnlinkIOSDeviceID: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/UnlinkIOSDeviceID", request, "X-Authorization", callback, customData, extraHeaders); - }, - - UnlinkKongregate: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/UnlinkKongregate", request, "X-Authorization", callback, customData, extraHeaders); - }, - - UnlinkNintendoSwitchAccount: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/UnlinkNintendoSwitchAccount", request, "X-Authorization", callback, customData, extraHeaders); - }, - - UnlinkNintendoSwitchDeviceId: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/UnlinkNintendoSwitchDeviceId", request, "X-Authorization", callback, customData, extraHeaders); - }, - - UnlinkOpenIdConnect: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/UnlinkOpenIdConnect", request, "X-Authorization", callback, customData, extraHeaders); - }, - - UnlinkPSNAccount: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/UnlinkPSNAccount", request, "X-Authorization", callback, customData, extraHeaders); - }, - - UnlinkSteamAccount: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/UnlinkSteamAccount", request, "X-Authorization", callback, customData, extraHeaders); - }, - - UnlinkTwitch: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/UnlinkTwitch", request, "X-Authorization", callback, customData, extraHeaders); - }, - - UnlinkWindowsHello: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/UnlinkWindowsHello", request, "X-Authorization", callback, customData, extraHeaders); - }, - - UnlinkXboxAccount: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/UnlinkXboxAccount", request, "X-Authorization", callback, customData, extraHeaders); - }, - - UnlockContainerInstance: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/UnlockContainerInstance", request, "X-Authorization", callback, customData, extraHeaders); - }, - - UnlockContainerItem: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/UnlockContainerItem", request, "X-Authorization", callback, customData, extraHeaders); - }, - - UpdateAvatarUrl: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/UpdateAvatarUrl", request, "X-Authorization", callback, customData, extraHeaders); - }, - - UpdateCharacterData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/UpdateCharacterData", request, "X-Authorization", callback, customData, extraHeaders); - }, - - UpdateCharacterStatistics: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/UpdateCharacterStatistics", request, "X-Authorization", callback, customData, extraHeaders); - }, - - UpdatePlayerStatistics: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/UpdatePlayerStatistics", request, "X-Authorization", callback, customData, extraHeaders); - }, - - UpdateSharedGroupData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/UpdateSharedGroupData", request, "X-Authorization", callback, customData, extraHeaders); - }, - - UpdateUserData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/UpdateUserData", request, "X-Authorization", callback, customData, extraHeaders); - }, - - UpdateUserPublisherData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/UpdateUserPublisherData", request, "X-Authorization", callback, customData, extraHeaders); - }, - - UpdateUserTitleDisplayName: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/UpdateUserTitleDisplayName", request, "X-Authorization", callback, customData, extraHeaders); - }, - - ValidateAmazonIAPReceipt: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/ValidateAmazonIAPReceipt", request, "X-Authorization", callback, customData, extraHeaders); - }, - - ValidateGooglePlayPurchase: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/ValidateGooglePlayPurchase", request, "X-Authorization", callback, customData, extraHeaders); - }, - - ValidateIOSReceipt: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/ValidateIOSReceipt", request, "X-Authorization", callback, customData, extraHeaders); - }, - - ValidateWindowsStoreReceipt: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/ValidateWindowsStoreReceipt", request, "X-Authorization", callback, customData, extraHeaders); - }, - - WriteCharacterEvent: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/WriteCharacterEvent", request, "X-Authorization", callback, customData, extraHeaders); - }, - - WritePlayerEvent: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/WritePlayerEvent", request, "X-Authorization", callback, customData, extraHeaders); - }, - - WriteTitleEvent: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Client/WriteTitleEvent", request, "X-Authorization", callback, customData, extraHeaders); - }, - - _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; - -PlayFab.RegisterWithPhaser = function() { - if ( typeof Phaser === "undefined" || typeof Phaser.Plugin === "undefined" ) - return; - - Phaser.Plugin.PlayFab = function (game, parent) { - Phaser.Plugin.call(this, game, parent); - }; - Phaser.Plugin.PlayFab.prototype = Object.create(Phaser.Plugin.prototype); - Phaser.Plugin.PlayFab.prototype.constructor = Phaser.Plugin.PlayFab; - Phaser.Plugin.PlayFab.prototype.PlayFab = PlayFab; - Phaser.Plugin.PlayFab.prototype.settings = PlayFab.settings; - Phaser.Plugin.PlayFab.prototype.ClientApi = PlayFab.ClientApi; -}; -PlayFab.RegisterWithPhaser(); - -export default PlayFab diff --git a/PlayFabSdk/src/PlayFab/PlayFabCloudScriptApi.js b/PlayFabSdk/src/PlayFab/PlayFabCloudScriptApi.js deleted file mode 100644 index 07dd485f..00000000 --- a/PlayFabSdk/src/PlayFab/PlayFabCloudScriptApi.js +++ /dev/null @@ -1,302 +0,0 @@ -/// - -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, - GlobalHeaderInjection: 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 = { - entityToken: null, - sdkVersion: "1.65.200518", - requestGetParams: { - sdk: "JavaScriptSDK-1.65.200518" - }, - sessionTicket: null, - verticalName: null, // The name of a customer vertical. This is only for customers running a private cluster. Generally you shouldn't touch this - productionServerUrl: ".playfabapi.com", - errorTitleId: "Must be have PlayFab.settings.titleId set to call this method", - errorLoggedIn: "Must be logged in to call this method", - errorEntityToken: "You must successfully call GetEntityToken before calling this", - errorSecretKey: "Must have PlayFab.settings.developerSecretKey set to call this method", - - GetServerUrl: function () { - if (!(PlayFab._internalSettings.productionServerUrl.substring(0, 4) === "http")) { - if (PlayFab._internalSettings.verticalName) { - return "https://" + PlayFab._internalSettings.verticalName + PlayFab._internalSettings.productionServerUrl; - } else { - return "https://" + PlayFab.settings.titleId + PlayFab._internalSettings.productionServerUrl; - } - } else { - return PlayFab._internalSettings.productionServerUrl; - } - }, - - InjectHeaders: function (xhr, headersObj) { - if (!headersObj) - return; - - for (var headerKey in headersObj) - { - try { - xhr.setRequestHeader(gHeaderKey, headersObj[headerKey]); - } catch (e) { - console.log("Failed to append header: " + headerKey + " = " + headersObj[headerKey] + "Error: " + e); - } - } - }, - - ExecuteRequest: function (url, request, authkey, authValue, callback, customData, extraHeaders) { - var resultPromise = new Promise(function (resolve, reject) { - if (callback != null && typeof (callback) !== "function") - throw "Callback must be null or a function"; - - if (request == null) - request = {}; - - var startTime = new Date(); - var requestBody = JSON.stringify(request); - - var urlArr = [url]; - var getParams = PlayFab._internalSettings.requestGetParams; - if (getParams != null) { - var firstParam = true; - for (var key in getParams) { - if (firstParam) { - urlArr.push("?"); - firstParam = false; - } else { - urlArr.push("&"); - } - urlArr.push(key); - urlArr.push("="); - urlArr.push(getParams[key]); - } - } - - var completeUrl = urlArr.join(""); - - var xhr = new XMLHttpRequest(); - // window.console.log("URL: " + completeUrl); - xhr.open("POST", completeUrl, true); - - xhr.setRequestHeader("Content-Type", "application/json"); - xhr.setRequestHeader("X-PlayFabSDK", "JavaScriptSDK-" + PlayFab._internalSettings.sdkVersion); - if (authkey != null) - xhr.setRequestHeader(authkey, authValue); - PlayFab._internalSettings.InjectHeaders(xhr, PlayFab.settings.GlobalHeaderInjection); - PlayFab._internalSettings.InjectHeaders(xhr, extraHeaders); - - xhr.onloadend = function () { - if (callback == null) - return; - - var result = PlayFab._internalSettings.GetPlayFabResponse(request, xhr, startTime, customData); - if (result.code === 200) { - callback(result, null); - } else { - callback(null, result); - } - } - - xhr.onerror = function () { - if (callback == null) - return; - - var result = PlayFab._internalSettings.GetPlayFabResponse(request, xhr, startTime, customData); - callback(null, result); - } - - xhr.send(requestBody); - xhr.onreadystatechange = function () { - if (this.readyState === 4) { - var xhrResult = PlayFab._internalSettings.GetPlayFabResponse(request, this, startTime, customData); - if (this.status === 200) { - resolve(xhrResult); - } else { - reject(xhrResult); - } - } - }; - }); - // Return a Promise so that calls to various API methods can be handled asynchronously - return resultPromise; - }, - - GetPlayFabResponse: function(request, xhr, startTime, customData) { - var result = null; - 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; - result.Request = request; - result.CustomData = customData; - return result; - }, - - authenticationContext: { - PlayFabId: null, - EntityId: null, - EntityType: null, - SessionTicket: null, - EntityToken: null - }, - - UpdateAuthenticationContext: function (authenticationContext, result) { - var authenticationContextUpdates = {}; - if(result.data.PlayFabId !== null) { - PlayFab._internalSettings.authenticationContext.PlayFabId = result.data.PlayFabId; - authenticationContextUpdates.PlayFabId = result.data.PlayFabId; - } - if(result.data.SessionTicket !== null) { - PlayFab._internalSettings.authenticationContext.SessionTicket = result.data.SessionTicket; - authenticationContextUpdates.SessionTicket = result.data.SessionTicket; - } - if (result.data.EntityToken !== null) { - PlayFab._internalSettings.authenticationContext.EntityId = result.data.EntityToken.Entity.Id; - authenticationContextUpdates.EntityId = result.data.EntityToken.Entity.Id; - PlayFab._internalSettings.authenticationContext.EntityType = result.data.EntityToken.Entity.Type; - authenticationContextUpdates.EntityType = result.data.EntityToken.Entity.Type; - PlayFab._internalSettings.authenticationContext.EntityToken = result.data.EntityToken.EntityToken; - authenticationContextUpdates.EntityToken = result.data.EntityToken.EntityToken; - } - // Update the authenticationContext with values from the result - authenticationContext = Object.assign(authenticationContext, authenticationContextUpdates); - return authenticationContext; - }, - - AuthInfoMap: { - "X-EntityToken": { - authAttr: "entityToken", - authError: "errorEntityToken" - }, - "X-Authorization": { - authAttr: "sessionTicket", - authError: "errorLoggedIn" - }, - "X-SecretKey": { - authAttr: "developerSecretKey", - authError: "errorSecretKey" - } - }, - - GetAuthInfo: function (request, authKey) { - // Use the most-recently saved authKey, unless one was provided in the request via the AuthenticationContext - var authError = PlayFab._internalSettings.AuthInfoMap[authKey].authError; - var authAttr = PlayFab._internalSettings.AuthInfoMap[authKey].authAttr; - var defaultAuthValue = null; - if (authAttr === "entityToken") - defaultAuthValue = PlayFab._internalSettings.entityToken; - else if (authAttr === "sessionTicket") - defaultAuthValue = PlayFab._internalSettings.sessionTicket; - else if (authAttr === "developerSecretKey") - defaultAuthValue = PlayFab.settings.developerSecretKey; - var authValue = request.AuthenticationContext ? request.AuthenticationContext[authAttr] : defaultAuthValue; - return {"authKey": authKey, "authValue": authValue, "authError": authError}; - }, - - ExecuteRequestWrapper: function (apiURL, request, authKey, callback, customData, extraHeaders) { - var authValue = null; - if (authKey !== null){ - var authInfo = PlayFab._internalSettings.GetAuthInfo(request, authKey=authKey); - var authKey = authInfo.authKey, authValue = authInfo.authValue, authError = authInfo.authError; - - if (!authValue) throw authError; - } - return PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + apiURL, request, authKey, authValue, callback, customData, extraHeaders); - } - } -} - -PlayFab.buildIdentifier = "jbuild_javascriptsdk__sdk-genericslave-1_2"; -PlayFab.sdkVersion = "1.65.200518"; -PlayFab.GenerateErrorReport = function (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; -}; - -PlayFab.CloudScriptApi = { - ForgetAllCredentials: function () { - PlayFab._internalSettings.sessionTicket = null; - PlayFab._internalSettings.entityToken = null; - }, - - ExecuteEntityCloudScript: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/CloudScript/ExecuteEntityCloudScript", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - ExecuteFunction: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/CloudScript/ExecuteFunction", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - ListFunctions: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/CloudScript/ListFunctions", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - ListHttpFunctions: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/CloudScript/ListHttpFunctions", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - ListQueuedFunctions: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/CloudScript/ListQueuedFunctions", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - PostFunctionResultForEntityTriggeredAction: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/CloudScript/PostFunctionResultForEntityTriggeredAction", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - PostFunctionResultForFunctionExecution: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/CloudScript/PostFunctionResultForFunctionExecution", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - PostFunctionResultForPlayerTriggeredAction: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/CloudScript/PostFunctionResultForPlayerTriggeredAction", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - PostFunctionResultForScheduledTask: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/CloudScript/PostFunctionResultForScheduledTask", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - RegisterHttpFunction: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/CloudScript/RegisterHttpFunction", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - RegisterQueuedFunction: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/CloudScript/RegisterQueuedFunction", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - UnregisterFunction: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/CloudScript/UnregisterFunction", request, "X-EntityToken", callback, customData, extraHeaders); - }, -}; - -var PlayFabCloudScriptSDK = PlayFab.CloudScriptApi; - diff --git a/PlayFabSdk/src/PlayFab/PlayFabDataApi.js b/PlayFabSdk/src/PlayFab/PlayFabDataApi.js deleted file mode 100644 index 5d4e4434..00000000 --- a/PlayFabSdk/src/PlayFab/PlayFabDataApi.js +++ /dev/null @@ -1,282 +0,0 @@ -/// - -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, - GlobalHeaderInjection: 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 = { - entityToken: null, - sdkVersion: "1.65.200518", - requestGetParams: { - sdk: "JavaScriptSDK-1.65.200518" - }, - sessionTicket: null, - verticalName: null, // The name of a customer vertical. This is only for customers running a private cluster. Generally you shouldn't touch this - productionServerUrl: ".playfabapi.com", - errorTitleId: "Must be have PlayFab.settings.titleId set to call this method", - errorLoggedIn: "Must be logged in to call this method", - errorEntityToken: "You must successfully call GetEntityToken before calling this", - errorSecretKey: "Must have PlayFab.settings.developerSecretKey set to call this method", - - GetServerUrl: function () { - if (!(PlayFab._internalSettings.productionServerUrl.substring(0, 4) === "http")) { - if (PlayFab._internalSettings.verticalName) { - return "https://" + PlayFab._internalSettings.verticalName + PlayFab._internalSettings.productionServerUrl; - } else { - return "https://" + PlayFab.settings.titleId + PlayFab._internalSettings.productionServerUrl; - } - } else { - return PlayFab._internalSettings.productionServerUrl; - } - }, - - InjectHeaders: function (xhr, headersObj) { - if (!headersObj) - return; - - for (var headerKey in headersObj) - { - try { - xhr.setRequestHeader(gHeaderKey, headersObj[headerKey]); - } catch (e) { - console.log("Failed to append header: " + headerKey + " = " + headersObj[headerKey] + "Error: " + e); - } - } - }, - - ExecuteRequest: function (url, request, authkey, authValue, callback, customData, extraHeaders) { - var resultPromise = new Promise(function (resolve, reject) { - if (callback != null && typeof (callback) !== "function") - throw "Callback must be null or a function"; - - if (request == null) - request = {}; - - var startTime = new Date(); - var requestBody = JSON.stringify(request); - - var urlArr = [url]; - var getParams = PlayFab._internalSettings.requestGetParams; - if (getParams != null) { - var firstParam = true; - for (var key in getParams) { - if (firstParam) { - urlArr.push("?"); - firstParam = false; - } else { - urlArr.push("&"); - } - urlArr.push(key); - urlArr.push("="); - urlArr.push(getParams[key]); - } - } - - var completeUrl = urlArr.join(""); - - var xhr = new XMLHttpRequest(); - // window.console.log("URL: " + completeUrl); - xhr.open("POST", completeUrl, true); - - xhr.setRequestHeader("Content-Type", "application/json"); - xhr.setRequestHeader("X-PlayFabSDK", "JavaScriptSDK-" + PlayFab._internalSettings.sdkVersion); - if (authkey != null) - xhr.setRequestHeader(authkey, authValue); - PlayFab._internalSettings.InjectHeaders(xhr, PlayFab.settings.GlobalHeaderInjection); - PlayFab._internalSettings.InjectHeaders(xhr, extraHeaders); - - xhr.onloadend = function () { - if (callback == null) - return; - - var result = PlayFab._internalSettings.GetPlayFabResponse(request, xhr, startTime, customData); - if (result.code === 200) { - callback(result, null); - } else { - callback(null, result); - } - } - - xhr.onerror = function () { - if (callback == null) - return; - - var result = PlayFab._internalSettings.GetPlayFabResponse(request, xhr, startTime, customData); - callback(null, result); - } - - xhr.send(requestBody); - xhr.onreadystatechange = function () { - if (this.readyState === 4) { - var xhrResult = PlayFab._internalSettings.GetPlayFabResponse(request, this, startTime, customData); - if (this.status === 200) { - resolve(xhrResult); - } else { - reject(xhrResult); - } - } - }; - }); - // Return a Promise so that calls to various API methods can be handled asynchronously - return resultPromise; - }, - - GetPlayFabResponse: function(request, xhr, startTime, customData) { - var result = null; - 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; - result.Request = request; - result.CustomData = customData; - return result; - }, - - authenticationContext: { - PlayFabId: null, - EntityId: null, - EntityType: null, - SessionTicket: null, - EntityToken: null - }, - - UpdateAuthenticationContext: function (authenticationContext, result) { - var authenticationContextUpdates = {}; - if(result.data.PlayFabId !== null) { - PlayFab._internalSettings.authenticationContext.PlayFabId = result.data.PlayFabId; - authenticationContextUpdates.PlayFabId = result.data.PlayFabId; - } - if(result.data.SessionTicket !== null) { - PlayFab._internalSettings.authenticationContext.SessionTicket = result.data.SessionTicket; - authenticationContextUpdates.SessionTicket = result.data.SessionTicket; - } - if (result.data.EntityToken !== null) { - PlayFab._internalSettings.authenticationContext.EntityId = result.data.EntityToken.Entity.Id; - authenticationContextUpdates.EntityId = result.data.EntityToken.Entity.Id; - PlayFab._internalSettings.authenticationContext.EntityType = result.data.EntityToken.Entity.Type; - authenticationContextUpdates.EntityType = result.data.EntityToken.Entity.Type; - PlayFab._internalSettings.authenticationContext.EntityToken = result.data.EntityToken.EntityToken; - authenticationContextUpdates.EntityToken = result.data.EntityToken.EntityToken; - } - // Update the authenticationContext with values from the result - authenticationContext = Object.assign(authenticationContext, authenticationContextUpdates); - return authenticationContext; - }, - - AuthInfoMap: { - "X-EntityToken": { - authAttr: "entityToken", - authError: "errorEntityToken" - }, - "X-Authorization": { - authAttr: "sessionTicket", - authError: "errorLoggedIn" - }, - "X-SecretKey": { - authAttr: "developerSecretKey", - authError: "errorSecretKey" - } - }, - - GetAuthInfo: function (request, authKey) { - // Use the most-recently saved authKey, unless one was provided in the request via the AuthenticationContext - var authError = PlayFab._internalSettings.AuthInfoMap[authKey].authError; - var authAttr = PlayFab._internalSettings.AuthInfoMap[authKey].authAttr; - var defaultAuthValue = null; - if (authAttr === "entityToken") - defaultAuthValue = PlayFab._internalSettings.entityToken; - else if (authAttr === "sessionTicket") - defaultAuthValue = PlayFab._internalSettings.sessionTicket; - else if (authAttr === "developerSecretKey") - defaultAuthValue = PlayFab.settings.developerSecretKey; - var authValue = request.AuthenticationContext ? request.AuthenticationContext[authAttr] : defaultAuthValue; - return {"authKey": authKey, "authValue": authValue, "authError": authError}; - }, - - ExecuteRequestWrapper: function (apiURL, request, authKey, callback, customData, extraHeaders) { - var authValue = null; - if (authKey !== null){ - var authInfo = PlayFab._internalSettings.GetAuthInfo(request, authKey=authKey); - var authKey = authInfo.authKey, authValue = authInfo.authValue, authError = authInfo.authError; - - if (!authValue) throw authError; - } - return PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + apiURL, request, authKey, authValue, callback, customData, extraHeaders); - } - } -} - -PlayFab.buildIdentifier = "jbuild_javascriptsdk__sdk-genericslave-1_2"; -PlayFab.sdkVersion = "1.65.200518"; -PlayFab.GenerateErrorReport = function (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; -}; - -PlayFab.DataApi = { - ForgetAllCredentials: function () { - PlayFab._internalSettings.sessionTicket = null; - PlayFab._internalSettings.entityToken = null; - }, - - AbortFileUploads: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/File/AbortFileUploads", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - DeleteFiles: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/File/DeleteFiles", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - FinalizeFileUploads: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/File/FinalizeFileUploads", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - GetFiles: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/File/GetFiles", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - GetObjects: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Object/GetObjects", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - InitiateFileUploads: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/File/InitiateFileUploads", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - SetObjects: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Object/SetObjects", request, "X-EntityToken", callback, customData, extraHeaders); - }, -}; - -var PlayFabDataSDK = PlayFab.DataApi; - diff --git a/PlayFabSdk/src/PlayFab/PlayFabEventsApi.js b/PlayFabSdk/src/PlayFab/PlayFabEventsApi.js deleted file mode 100644 index efae9e81..00000000 --- a/PlayFabSdk/src/PlayFab/PlayFabEventsApi.js +++ /dev/null @@ -1,262 +0,0 @@ -/// - -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, - GlobalHeaderInjection: 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 = { - entityToken: null, - sdkVersion: "1.65.200518", - requestGetParams: { - sdk: "JavaScriptSDK-1.65.200518" - }, - sessionTicket: null, - verticalName: null, // The name of a customer vertical. This is only for customers running a private cluster. Generally you shouldn't touch this - productionServerUrl: ".playfabapi.com", - errorTitleId: "Must be have PlayFab.settings.titleId set to call this method", - errorLoggedIn: "Must be logged in to call this method", - errorEntityToken: "You must successfully call GetEntityToken before calling this", - errorSecretKey: "Must have PlayFab.settings.developerSecretKey set to call this method", - - GetServerUrl: function () { - if (!(PlayFab._internalSettings.productionServerUrl.substring(0, 4) === "http")) { - if (PlayFab._internalSettings.verticalName) { - return "https://" + PlayFab._internalSettings.verticalName + PlayFab._internalSettings.productionServerUrl; - } else { - return "https://" + PlayFab.settings.titleId + PlayFab._internalSettings.productionServerUrl; - } - } else { - return PlayFab._internalSettings.productionServerUrl; - } - }, - - InjectHeaders: function (xhr, headersObj) { - if (!headersObj) - return; - - for (var headerKey in headersObj) - { - try { - xhr.setRequestHeader(gHeaderKey, headersObj[headerKey]); - } catch (e) { - console.log("Failed to append header: " + headerKey + " = " + headersObj[headerKey] + "Error: " + e); - } - } - }, - - ExecuteRequest: function (url, request, authkey, authValue, callback, customData, extraHeaders) { - var resultPromise = new Promise(function (resolve, reject) { - if (callback != null && typeof (callback) !== "function") - throw "Callback must be null or a function"; - - if (request == null) - request = {}; - - var startTime = new Date(); - var requestBody = JSON.stringify(request); - - var urlArr = [url]; - var getParams = PlayFab._internalSettings.requestGetParams; - if (getParams != null) { - var firstParam = true; - for (var key in getParams) { - if (firstParam) { - urlArr.push("?"); - firstParam = false; - } else { - urlArr.push("&"); - } - urlArr.push(key); - urlArr.push("="); - urlArr.push(getParams[key]); - } - } - - var completeUrl = urlArr.join(""); - - var xhr = new XMLHttpRequest(); - // window.console.log("URL: " + completeUrl); - xhr.open("POST", completeUrl, true); - - xhr.setRequestHeader("Content-Type", "application/json"); - xhr.setRequestHeader("X-PlayFabSDK", "JavaScriptSDK-" + PlayFab._internalSettings.sdkVersion); - if (authkey != null) - xhr.setRequestHeader(authkey, authValue); - PlayFab._internalSettings.InjectHeaders(xhr, PlayFab.settings.GlobalHeaderInjection); - PlayFab._internalSettings.InjectHeaders(xhr, extraHeaders); - - xhr.onloadend = function () { - if (callback == null) - return; - - var result = PlayFab._internalSettings.GetPlayFabResponse(request, xhr, startTime, customData); - if (result.code === 200) { - callback(result, null); - } else { - callback(null, result); - } - } - - xhr.onerror = function () { - if (callback == null) - return; - - var result = PlayFab._internalSettings.GetPlayFabResponse(request, xhr, startTime, customData); - callback(null, result); - } - - xhr.send(requestBody); - xhr.onreadystatechange = function () { - if (this.readyState === 4) { - var xhrResult = PlayFab._internalSettings.GetPlayFabResponse(request, this, startTime, customData); - if (this.status === 200) { - resolve(xhrResult); - } else { - reject(xhrResult); - } - } - }; - }); - // Return a Promise so that calls to various API methods can be handled asynchronously - return resultPromise; - }, - - GetPlayFabResponse: function(request, xhr, startTime, customData) { - var result = null; - 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; - result.Request = request; - result.CustomData = customData; - return result; - }, - - authenticationContext: { - PlayFabId: null, - EntityId: null, - EntityType: null, - SessionTicket: null, - EntityToken: null - }, - - UpdateAuthenticationContext: function (authenticationContext, result) { - var authenticationContextUpdates = {}; - if(result.data.PlayFabId !== null) { - PlayFab._internalSettings.authenticationContext.PlayFabId = result.data.PlayFabId; - authenticationContextUpdates.PlayFabId = result.data.PlayFabId; - } - if(result.data.SessionTicket !== null) { - PlayFab._internalSettings.authenticationContext.SessionTicket = result.data.SessionTicket; - authenticationContextUpdates.SessionTicket = result.data.SessionTicket; - } - if (result.data.EntityToken !== null) { - PlayFab._internalSettings.authenticationContext.EntityId = result.data.EntityToken.Entity.Id; - authenticationContextUpdates.EntityId = result.data.EntityToken.Entity.Id; - PlayFab._internalSettings.authenticationContext.EntityType = result.data.EntityToken.Entity.Type; - authenticationContextUpdates.EntityType = result.data.EntityToken.Entity.Type; - PlayFab._internalSettings.authenticationContext.EntityToken = result.data.EntityToken.EntityToken; - authenticationContextUpdates.EntityToken = result.data.EntityToken.EntityToken; - } - // Update the authenticationContext with values from the result - authenticationContext = Object.assign(authenticationContext, authenticationContextUpdates); - return authenticationContext; - }, - - AuthInfoMap: { - "X-EntityToken": { - authAttr: "entityToken", - authError: "errorEntityToken" - }, - "X-Authorization": { - authAttr: "sessionTicket", - authError: "errorLoggedIn" - }, - "X-SecretKey": { - authAttr: "developerSecretKey", - authError: "errorSecretKey" - } - }, - - GetAuthInfo: function (request, authKey) { - // Use the most-recently saved authKey, unless one was provided in the request via the AuthenticationContext - var authError = PlayFab._internalSettings.AuthInfoMap[authKey].authError; - var authAttr = PlayFab._internalSettings.AuthInfoMap[authKey].authAttr; - var defaultAuthValue = null; - if (authAttr === "entityToken") - defaultAuthValue = PlayFab._internalSettings.entityToken; - else if (authAttr === "sessionTicket") - defaultAuthValue = PlayFab._internalSettings.sessionTicket; - else if (authAttr === "developerSecretKey") - defaultAuthValue = PlayFab.settings.developerSecretKey; - var authValue = request.AuthenticationContext ? request.AuthenticationContext[authAttr] : defaultAuthValue; - return {"authKey": authKey, "authValue": authValue, "authError": authError}; - }, - - ExecuteRequestWrapper: function (apiURL, request, authKey, callback, customData, extraHeaders) { - var authValue = null; - if (authKey !== null){ - var authInfo = PlayFab._internalSettings.GetAuthInfo(request, authKey=authKey); - var authKey = authInfo.authKey, authValue = authInfo.authValue, authError = authInfo.authError; - - if (!authValue) throw authError; - } - return PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + apiURL, request, authKey, authValue, callback, customData, extraHeaders); - } - } -} - -PlayFab.buildIdentifier = "jbuild_javascriptsdk__sdk-genericslave-1_2"; -PlayFab.sdkVersion = "1.65.200518"; -PlayFab.GenerateErrorReport = function (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; -}; - -PlayFab.EventsApi = { - ForgetAllCredentials: function () { - PlayFab._internalSettings.sessionTicket = null; - PlayFab._internalSettings.entityToken = null; - }, - - WriteEvents: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Event/WriteEvents", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - WriteTelemetryEvents: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Event/WriteTelemetryEvents", request, "X-EntityToken", callback, customData, extraHeaders); - }, -}; - -var PlayFabEventsSDK = PlayFab.EventsApi; - diff --git a/PlayFabSdk/src/PlayFab/PlayFabExperimentationApi.js b/PlayFabSdk/src/PlayFab/PlayFabExperimentationApi.js deleted file mode 100644 index d3b2277a..00000000 --- a/PlayFabSdk/src/PlayFab/PlayFabExperimentationApi.js +++ /dev/null @@ -1,286 +0,0 @@ -/// - -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, - GlobalHeaderInjection: 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 = { - entityToken: null, - sdkVersion: "1.65.200518", - requestGetParams: { - sdk: "JavaScriptSDK-1.65.200518" - }, - sessionTicket: null, - verticalName: null, // The name of a customer vertical. This is only for customers running a private cluster. Generally you shouldn't touch this - productionServerUrl: ".playfabapi.com", - errorTitleId: "Must be have PlayFab.settings.titleId set to call this method", - errorLoggedIn: "Must be logged in to call this method", - errorEntityToken: "You must successfully call GetEntityToken before calling this", - errorSecretKey: "Must have PlayFab.settings.developerSecretKey set to call this method", - - GetServerUrl: function () { - if (!(PlayFab._internalSettings.productionServerUrl.substring(0, 4) === "http")) { - if (PlayFab._internalSettings.verticalName) { - return "https://" + PlayFab._internalSettings.verticalName + PlayFab._internalSettings.productionServerUrl; - } else { - return "https://" + PlayFab.settings.titleId + PlayFab._internalSettings.productionServerUrl; - } - } else { - return PlayFab._internalSettings.productionServerUrl; - } - }, - - InjectHeaders: function (xhr, headersObj) { - if (!headersObj) - return; - - for (var headerKey in headersObj) - { - try { - xhr.setRequestHeader(gHeaderKey, headersObj[headerKey]); - } catch (e) { - console.log("Failed to append header: " + headerKey + " = " + headersObj[headerKey] + "Error: " + e); - } - } - }, - - ExecuteRequest: function (url, request, authkey, authValue, callback, customData, extraHeaders) { - var resultPromise = new Promise(function (resolve, reject) { - if (callback != null && typeof (callback) !== "function") - throw "Callback must be null or a function"; - - if (request == null) - request = {}; - - var startTime = new Date(); - var requestBody = JSON.stringify(request); - - var urlArr = [url]; - var getParams = PlayFab._internalSettings.requestGetParams; - if (getParams != null) { - var firstParam = true; - for (var key in getParams) { - if (firstParam) { - urlArr.push("?"); - firstParam = false; - } else { - urlArr.push("&"); - } - urlArr.push(key); - urlArr.push("="); - urlArr.push(getParams[key]); - } - } - - var completeUrl = urlArr.join(""); - - var xhr = new XMLHttpRequest(); - // window.console.log("URL: " + completeUrl); - xhr.open("POST", completeUrl, true); - - xhr.setRequestHeader("Content-Type", "application/json"); - xhr.setRequestHeader("X-PlayFabSDK", "JavaScriptSDK-" + PlayFab._internalSettings.sdkVersion); - if (authkey != null) - xhr.setRequestHeader(authkey, authValue); - PlayFab._internalSettings.InjectHeaders(xhr, PlayFab.settings.GlobalHeaderInjection); - PlayFab._internalSettings.InjectHeaders(xhr, extraHeaders); - - xhr.onloadend = function () { - if (callback == null) - return; - - var result = PlayFab._internalSettings.GetPlayFabResponse(request, xhr, startTime, customData); - if (result.code === 200) { - callback(result, null); - } else { - callback(null, result); - } - } - - xhr.onerror = function () { - if (callback == null) - return; - - var result = PlayFab._internalSettings.GetPlayFabResponse(request, xhr, startTime, customData); - callback(null, result); - } - - xhr.send(requestBody); - xhr.onreadystatechange = function () { - if (this.readyState === 4) { - var xhrResult = PlayFab._internalSettings.GetPlayFabResponse(request, this, startTime, customData); - if (this.status === 200) { - resolve(xhrResult); - } else { - reject(xhrResult); - } - } - }; - }); - // Return a Promise so that calls to various API methods can be handled asynchronously - return resultPromise; - }, - - GetPlayFabResponse: function(request, xhr, startTime, customData) { - var result = null; - 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; - result.Request = request; - result.CustomData = customData; - return result; - }, - - authenticationContext: { - PlayFabId: null, - EntityId: null, - EntityType: null, - SessionTicket: null, - EntityToken: null - }, - - UpdateAuthenticationContext: function (authenticationContext, result) { - var authenticationContextUpdates = {}; - if(result.data.PlayFabId !== null) { - PlayFab._internalSettings.authenticationContext.PlayFabId = result.data.PlayFabId; - authenticationContextUpdates.PlayFabId = result.data.PlayFabId; - } - if(result.data.SessionTicket !== null) { - PlayFab._internalSettings.authenticationContext.SessionTicket = result.data.SessionTicket; - authenticationContextUpdates.SessionTicket = result.data.SessionTicket; - } - if (result.data.EntityToken !== null) { - PlayFab._internalSettings.authenticationContext.EntityId = result.data.EntityToken.Entity.Id; - authenticationContextUpdates.EntityId = result.data.EntityToken.Entity.Id; - PlayFab._internalSettings.authenticationContext.EntityType = result.data.EntityToken.Entity.Type; - authenticationContextUpdates.EntityType = result.data.EntityToken.Entity.Type; - PlayFab._internalSettings.authenticationContext.EntityToken = result.data.EntityToken.EntityToken; - authenticationContextUpdates.EntityToken = result.data.EntityToken.EntityToken; - } - // Update the authenticationContext with values from the result - authenticationContext = Object.assign(authenticationContext, authenticationContextUpdates); - return authenticationContext; - }, - - AuthInfoMap: { - "X-EntityToken": { - authAttr: "entityToken", - authError: "errorEntityToken" - }, - "X-Authorization": { - authAttr: "sessionTicket", - authError: "errorLoggedIn" - }, - "X-SecretKey": { - authAttr: "developerSecretKey", - authError: "errorSecretKey" - } - }, - - GetAuthInfo: function (request, authKey) { - // Use the most-recently saved authKey, unless one was provided in the request via the AuthenticationContext - var authError = PlayFab._internalSettings.AuthInfoMap[authKey].authError; - var authAttr = PlayFab._internalSettings.AuthInfoMap[authKey].authAttr; - var defaultAuthValue = null; - if (authAttr === "entityToken") - defaultAuthValue = PlayFab._internalSettings.entityToken; - else if (authAttr === "sessionTicket") - defaultAuthValue = PlayFab._internalSettings.sessionTicket; - else if (authAttr === "developerSecretKey") - defaultAuthValue = PlayFab.settings.developerSecretKey; - var authValue = request.AuthenticationContext ? request.AuthenticationContext[authAttr] : defaultAuthValue; - return {"authKey": authKey, "authValue": authValue, "authError": authError}; - }, - - ExecuteRequestWrapper: function (apiURL, request, authKey, callback, customData, extraHeaders) { - var authValue = null; - if (authKey !== null){ - var authInfo = PlayFab._internalSettings.GetAuthInfo(request, authKey=authKey); - var authKey = authInfo.authKey, authValue = authInfo.authValue, authError = authInfo.authError; - - if (!authValue) throw authError; - } - return PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + apiURL, request, authKey, authValue, callback, customData, extraHeaders); - } - } -} - -PlayFab.buildIdentifier = "jbuild_javascriptsdk__sdk-genericslave-1_2"; -PlayFab.sdkVersion = "1.65.200518"; -PlayFab.GenerateErrorReport = function (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; -}; - -PlayFab.ExperimentationApi = { - ForgetAllCredentials: function () { - PlayFab._internalSettings.sessionTicket = null; - PlayFab._internalSettings.entityToken = null; - }, - - CreateExperiment: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Experimentation/CreateExperiment", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - DeleteExperiment: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Experimentation/DeleteExperiment", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - GetExperiments: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Experimentation/GetExperiments", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - GetLatestScorecard: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Experimentation/GetLatestScorecard", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - GetTreatmentAssignment: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Experimentation/GetTreatmentAssignment", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - StartExperiment: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Experimentation/StartExperiment", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - StopExperiment: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Experimentation/StopExperiment", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - UpdateExperiment: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Experimentation/UpdateExperiment", request, "X-EntityToken", callback, customData, extraHeaders); - }, -}; - -var PlayFabExperimentationSDK = PlayFab.ExperimentationApi; - diff --git a/PlayFabSdk/src/PlayFab/PlayFabGroupsApi.js b/PlayFabSdk/src/PlayFab/PlayFabGroupsApi.js deleted file mode 100644 index b695cddf..00000000 --- a/PlayFabSdk/src/PlayFab/PlayFabGroupsApi.js +++ /dev/null @@ -1,354 +0,0 @@ -/// - -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, - GlobalHeaderInjection: 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 = { - entityToken: null, - sdkVersion: "1.65.200518", - requestGetParams: { - sdk: "JavaScriptSDK-1.65.200518" - }, - sessionTicket: null, - verticalName: null, // The name of a customer vertical. This is only for customers running a private cluster. Generally you shouldn't touch this - productionServerUrl: ".playfabapi.com", - errorTitleId: "Must be have PlayFab.settings.titleId set to call this method", - errorLoggedIn: "Must be logged in to call this method", - errorEntityToken: "You must successfully call GetEntityToken before calling this", - errorSecretKey: "Must have PlayFab.settings.developerSecretKey set to call this method", - - GetServerUrl: function () { - if (!(PlayFab._internalSettings.productionServerUrl.substring(0, 4) === "http")) { - if (PlayFab._internalSettings.verticalName) { - return "https://" + PlayFab._internalSettings.verticalName + PlayFab._internalSettings.productionServerUrl; - } else { - return "https://" + PlayFab.settings.titleId + PlayFab._internalSettings.productionServerUrl; - } - } else { - return PlayFab._internalSettings.productionServerUrl; - } - }, - - InjectHeaders: function (xhr, headersObj) { - if (!headersObj) - return; - - for (var headerKey in headersObj) - { - try { - xhr.setRequestHeader(gHeaderKey, headersObj[headerKey]); - } catch (e) { - console.log("Failed to append header: " + headerKey + " = " + headersObj[headerKey] + "Error: " + e); - } - } - }, - - ExecuteRequest: function (url, request, authkey, authValue, callback, customData, extraHeaders) { - var resultPromise = new Promise(function (resolve, reject) { - if (callback != null && typeof (callback) !== "function") - throw "Callback must be null or a function"; - - if (request == null) - request = {}; - - var startTime = new Date(); - var requestBody = JSON.stringify(request); - - var urlArr = [url]; - var getParams = PlayFab._internalSettings.requestGetParams; - if (getParams != null) { - var firstParam = true; - for (var key in getParams) { - if (firstParam) { - urlArr.push("?"); - firstParam = false; - } else { - urlArr.push("&"); - } - urlArr.push(key); - urlArr.push("="); - urlArr.push(getParams[key]); - } - } - - var completeUrl = urlArr.join(""); - - var xhr = new XMLHttpRequest(); - // window.console.log("URL: " + completeUrl); - xhr.open("POST", completeUrl, true); - - xhr.setRequestHeader("Content-Type", "application/json"); - xhr.setRequestHeader("X-PlayFabSDK", "JavaScriptSDK-" + PlayFab._internalSettings.sdkVersion); - if (authkey != null) - xhr.setRequestHeader(authkey, authValue); - PlayFab._internalSettings.InjectHeaders(xhr, PlayFab.settings.GlobalHeaderInjection); - PlayFab._internalSettings.InjectHeaders(xhr, extraHeaders); - - xhr.onloadend = function () { - if (callback == null) - return; - - var result = PlayFab._internalSettings.GetPlayFabResponse(request, xhr, startTime, customData); - if (result.code === 200) { - callback(result, null); - } else { - callback(null, result); - } - } - - xhr.onerror = function () { - if (callback == null) - return; - - var result = PlayFab._internalSettings.GetPlayFabResponse(request, xhr, startTime, customData); - callback(null, result); - } - - xhr.send(requestBody); - xhr.onreadystatechange = function () { - if (this.readyState === 4) { - var xhrResult = PlayFab._internalSettings.GetPlayFabResponse(request, this, startTime, customData); - if (this.status === 200) { - resolve(xhrResult); - } else { - reject(xhrResult); - } - } - }; - }); - // Return a Promise so that calls to various API methods can be handled asynchronously - return resultPromise; - }, - - GetPlayFabResponse: function(request, xhr, startTime, customData) { - var result = null; - 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; - result.Request = request; - result.CustomData = customData; - return result; - }, - - authenticationContext: { - PlayFabId: null, - EntityId: null, - EntityType: null, - SessionTicket: null, - EntityToken: null - }, - - UpdateAuthenticationContext: function (authenticationContext, result) { - var authenticationContextUpdates = {}; - if(result.data.PlayFabId !== null) { - PlayFab._internalSettings.authenticationContext.PlayFabId = result.data.PlayFabId; - authenticationContextUpdates.PlayFabId = result.data.PlayFabId; - } - if(result.data.SessionTicket !== null) { - PlayFab._internalSettings.authenticationContext.SessionTicket = result.data.SessionTicket; - authenticationContextUpdates.SessionTicket = result.data.SessionTicket; - } - if (result.data.EntityToken !== null) { - PlayFab._internalSettings.authenticationContext.EntityId = result.data.EntityToken.Entity.Id; - authenticationContextUpdates.EntityId = result.data.EntityToken.Entity.Id; - PlayFab._internalSettings.authenticationContext.EntityType = result.data.EntityToken.Entity.Type; - authenticationContextUpdates.EntityType = result.data.EntityToken.Entity.Type; - PlayFab._internalSettings.authenticationContext.EntityToken = result.data.EntityToken.EntityToken; - authenticationContextUpdates.EntityToken = result.data.EntityToken.EntityToken; - } - // Update the authenticationContext with values from the result - authenticationContext = Object.assign(authenticationContext, authenticationContextUpdates); - return authenticationContext; - }, - - AuthInfoMap: { - "X-EntityToken": { - authAttr: "entityToken", - authError: "errorEntityToken" - }, - "X-Authorization": { - authAttr: "sessionTicket", - authError: "errorLoggedIn" - }, - "X-SecretKey": { - authAttr: "developerSecretKey", - authError: "errorSecretKey" - } - }, - - GetAuthInfo: function (request, authKey) { - // Use the most-recently saved authKey, unless one was provided in the request via the AuthenticationContext - var authError = PlayFab._internalSettings.AuthInfoMap[authKey].authError; - var authAttr = PlayFab._internalSettings.AuthInfoMap[authKey].authAttr; - var defaultAuthValue = null; - if (authAttr === "entityToken") - defaultAuthValue = PlayFab._internalSettings.entityToken; - else if (authAttr === "sessionTicket") - defaultAuthValue = PlayFab._internalSettings.sessionTicket; - else if (authAttr === "developerSecretKey") - defaultAuthValue = PlayFab.settings.developerSecretKey; - var authValue = request.AuthenticationContext ? request.AuthenticationContext[authAttr] : defaultAuthValue; - return {"authKey": authKey, "authValue": authValue, "authError": authError}; - }, - - ExecuteRequestWrapper: function (apiURL, request, authKey, callback, customData, extraHeaders) { - var authValue = null; - if (authKey !== null){ - var authInfo = PlayFab._internalSettings.GetAuthInfo(request, authKey=authKey); - var authKey = authInfo.authKey, authValue = authInfo.authValue, authError = authInfo.authError; - - if (!authValue) throw authError; - } - return PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + apiURL, request, authKey, authValue, callback, customData, extraHeaders); - } - } -} - -PlayFab.buildIdentifier = "jbuild_javascriptsdk__sdk-genericslave-1_2"; -PlayFab.sdkVersion = "1.65.200518"; -PlayFab.GenerateErrorReport = function (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; -}; - -PlayFab.GroupsApi = { - ForgetAllCredentials: function () { - PlayFab._internalSettings.sessionTicket = null; - PlayFab._internalSettings.entityToken = null; - }, - - AcceptGroupApplication: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Group/AcceptGroupApplication", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - AcceptGroupInvitation: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Group/AcceptGroupInvitation", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - AddMembers: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Group/AddMembers", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - ApplyToGroup: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Group/ApplyToGroup", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - BlockEntity: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Group/BlockEntity", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - ChangeMemberRole: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Group/ChangeMemberRole", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - CreateGroup: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Group/CreateGroup", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - CreateRole: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Group/CreateRole", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - DeleteGroup: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Group/DeleteGroup", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - DeleteRole: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Group/DeleteRole", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - GetGroup: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Group/GetGroup", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - InviteToGroup: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Group/InviteToGroup", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - IsMember: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Group/IsMember", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - ListGroupApplications: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Group/ListGroupApplications", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - ListGroupBlocks: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Group/ListGroupBlocks", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - ListGroupInvitations: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Group/ListGroupInvitations", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - ListGroupMembers: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Group/ListGroupMembers", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - ListMembership: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Group/ListMembership", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - ListMembershipOpportunities: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Group/ListMembershipOpportunities", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - RemoveGroupApplication: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Group/RemoveGroupApplication", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - RemoveGroupInvitation: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Group/RemoveGroupInvitation", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - RemoveMembers: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Group/RemoveMembers", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - UnblockEntity: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Group/UnblockEntity", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - UpdateGroup: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Group/UpdateGroup", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - UpdateRole: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Group/UpdateRole", request, "X-EntityToken", callback, customData, extraHeaders); - }, -}; - -var PlayFabGroupsSDK = PlayFab.GroupsApi; - diff --git a/PlayFabSdk/src/PlayFab/PlayFabInsightsApi.js b/PlayFabSdk/src/PlayFab/PlayFabInsightsApi.js deleted file mode 100644 index dcb3b812..00000000 --- a/PlayFabSdk/src/PlayFab/PlayFabInsightsApi.js +++ /dev/null @@ -1,278 +0,0 @@ -/// - -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, - GlobalHeaderInjection: 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 = { - entityToken: null, - sdkVersion: "1.65.200518", - requestGetParams: { - sdk: "JavaScriptSDK-1.65.200518" - }, - sessionTicket: null, - verticalName: null, // The name of a customer vertical. This is only for customers running a private cluster. Generally you shouldn't touch this - productionServerUrl: ".playfabapi.com", - errorTitleId: "Must be have PlayFab.settings.titleId set to call this method", - errorLoggedIn: "Must be logged in to call this method", - errorEntityToken: "You must successfully call GetEntityToken before calling this", - errorSecretKey: "Must have PlayFab.settings.developerSecretKey set to call this method", - - GetServerUrl: function () { - if (!(PlayFab._internalSettings.productionServerUrl.substring(0, 4) === "http")) { - if (PlayFab._internalSettings.verticalName) { - return "https://" + PlayFab._internalSettings.verticalName + PlayFab._internalSettings.productionServerUrl; - } else { - return "https://" + PlayFab.settings.titleId + PlayFab._internalSettings.productionServerUrl; - } - } else { - return PlayFab._internalSettings.productionServerUrl; - } - }, - - InjectHeaders: function (xhr, headersObj) { - if (!headersObj) - return; - - for (var headerKey in headersObj) - { - try { - xhr.setRequestHeader(gHeaderKey, headersObj[headerKey]); - } catch (e) { - console.log("Failed to append header: " + headerKey + " = " + headersObj[headerKey] + "Error: " + e); - } - } - }, - - ExecuteRequest: function (url, request, authkey, authValue, callback, customData, extraHeaders) { - var resultPromise = new Promise(function (resolve, reject) { - if (callback != null && typeof (callback) !== "function") - throw "Callback must be null or a function"; - - if (request == null) - request = {}; - - var startTime = new Date(); - var requestBody = JSON.stringify(request); - - var urlArr = [url]; - var getParams = PlayFab._internalSettings.requestGetParams; - if (getParams != null) { - var firstParam = true; - for (var key in getParams) { - if (firstParam) { - urlArr.push("?"); - firstParam = false; - } else { - urlArr.push("&"); - } - urlArr.push(key); - urlArr.push("="); - urlArr.push(getParams[key]); - } - } - - var completeUrl = urlArr.join(""); - - var xhr = new XMLHttpRequest(); - // window.console.log("URL: " + completeUrl); - xhr.open("POST", completeUrl, true); - - xhr.setRequestHeader("Content-Type", "application/json"); - xhr.setRequestHeader("X-PlayFabSDK", "JavaScriptSDK-" + PlayFab._internalSettings.sdkVersion); - if (authkey != null) - xhr.setRequestHeader(authkey, authValue); - PlayFab._internalSettings.InjectHeaders(xhr, PlayFab.settings.GlobalHeaderInjection); - PlayFab._internalSettings.InjectHeaders(xhr, extraHeaders); - - xhr.onloadend = function () { - if (callback == null) - return; - - var result = PlayFab._internalSettings.GetPlayFabResponse(request, xhr, startTime, customData); - if (result.code === 200) { - callback(result, null); - } else { - callback(null, result); - } - } - - xhr.onerror = function () { - if (callback == null) - return; - - var result = PlayFab._internalSettings.GetPlayFabResponse(request, xhr, startTime, customData); - callback(null, result); - } - - xhr.send(requestBody); - xhr.onreadystatechange = function () { - if (this.readyState === 4) { - var xhrResult = PlayFab._internalSettings.GetPlayFabResponse(request, this, startTime, customData); - if (this.status === 200) { - resolve(xhrResult); - } else { - reject(xhrResult); - } - } - }; - }); - // Return a Promise so that calls to various API methods can be handled asynchronously - return resultPromise; - }, - - GetPlayFabResponse: function(request, xhr, startTime, customData) { - var result = null; - 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; - result.Request = request; - result.CustomData = customData; - return result; - }, - - authenticationContext: { - PlayFabId: null, - EntityId: null, - EntityType: null, - SessionTicket: null, - EntityToken: null - }, - - UpdateAuthenticationContext: function (authenticationContext, result) { - var authenticationContextUpdates = {}; - if(result.data.PlayFabId !== null) { - PlayFab._internalSettings.authenticationContext.PlayFabId = result.data.PlayFabId; - authenticationContextUpdates.PlayFabId = result.data.PlayFabId; - } - if(result.data.SessionTicket !== null) { - PlayFab._internalSettings.authenticationContext.SessionTicket = result.data.SessionTicket; - authenticationContextUpdates.SessionTicket = result.data.SessionTicket; - } - if (result.data.EntityToken !== null) { - PlayFab._internalSettings.authenticationContext.EntityId = result.data.EntityToken.Entity.Id; - authenticationContextUpdates.EntityId = result.data.EntityToken.Entity.Id; - PlayFab._internalSettings.authenticationContext.EntityType = result.data.EntityToken.Entity.Type; - authenticationContextUpdates.EntityType = result.data.EntityToken.Entity.Type; - PlayFab._internalSettings.authenticationContext.EntityToken = result.data.EntityToken.EntityToken; - authenticationContextUpdates.EntityToken = result.data.EntityToken.EntityToken; - } - // Update the authenticationContext with values from the result - authenticationContext = Object.assign(authenticationContext, authenticationContextUpdates); - return authenticationContext; - }, - - AuthInfoMap: { - "X-EntityToken": { - authAttr: "entityToken", - authError: "errorEntityToken" - }, - "X-Authorization": { - authAttr: "sessionTicket", - authError: "errorLoggedIn" - }, - "X-SecretKey": { - authAttr: "developerSecretKey", - authError: "errorSecretKey" - } - }, - - GetAuthInfo: function (request, authKey) { - // Use the most-recently saved authKey, unless one was provided in the request via the AuthenticationContext - var authError = PlayFab._internalSettings.AuthInfoMap[authKey].authError; - var authAttr = PlayFab._internalSettings.AuthInfoMap[authKey].authAttr; - var defaultAuthValue = null; - if (authAttr === "entityToken") - defaultAuthValue = PlayFab._internalSettings.entityToken; - else if (authAttr === "sessionTicket") - defaultAuthValue = PlayFab._internalSettings.sessionTicket; - else if (authAttr === "developerSecretKey") - defaultAuthValue = PlayFab.settings.developerSecretKey; - var authValue = request.AuthenticationContext ? request.AuthenticationContext[authAttr] : defaultAuthValue; - return {"authKey": authKey, "authValue": authValue, "authError": authError}; - }, - - ExecuteRequestWrapper: function (apiURL, request, authKey, callback, customData, extraHeaders) { - var authValue = null; - if (authKey !== null){ - var authInfo = PlayFab._internalSettings.GetAuthInfo(request, authKey=authKey); - var authKey = authInfo.authKey, authValue = authInfo.authValue, authError = authInfo.authError; - - if (!authValue) throw authError; - } - return PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + apiURL, request, authKey, authValue, callback, customData, extraHeaders); - } - } -} - -PlayFab.buildIdentifier = "jbuild_javascriptsdk__sdk-genericslave-1_2"; -PlayFab.sdkVersion = "1.65.200518"; -PlayFab.GenerateErrorReport = function (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; -}; - -PlayFab.InsightsApi = { - ForgetAllCredentials: function () { - PlayFab._internalSettings.sessionTicket = null; - PlayFab._internalSettings.entityToken = null; - }, - - GetDetails: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Insights/GetDetails", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - GetLimits: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Insights/GetLimits", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - GetOperationStatus: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Insights/GetOperationStatus", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - GetPendingOperations: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Insights/GetPendingOperations", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - SetPerformance: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Insights/SetPerformance", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - SetStorageRetention: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Insights/SetStorageRetention", request, "X-EntityToken", callback, customData, extraHeaders); - }, -}; - -var PlayFabInsightsSDK = PlayFab.InsightsApi; - diff --git a/PlayFabSdk/src/PlayFab/PlayFabLocalizationApi.js b/PlayFabSdk/src/PlayFab/PlayFabLocalizationApi.js deleted file mode 100644 index 0e45a412..00000000 --- a/PlayFabSdk/src/PlayFab/PlayFabLocalizationApi.js +++ /dev/null @@ -1,258 +0,0 @@ -/// - -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, - GlobalHeaderInjection: 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 = { - entityToken: null, - sdkVersion: "1.65.200518", - requestGetParams: { - sdk: "JavaScriptSDK-1.65.200518" - }, - sessionTicket: null, - verticalName: null, // The name of a customer vertical. This is only for customers running a private cluster. Generally you shouldn't touch this - productionServerUrl: ".playfabapi.com", - errorTitleId: "Must be have PlayFab.settings.titleId set to call this method", - errorLoggedIn: "Must be logged in to call this method", - errorEntityToken: "You must successfully call GetEntityToken before calling this", - errorSecretKey: "Must have PlayFab.settings.developerSecretKey set to call this method", - - GetServerUrl: function () { - if (!(PlayFab._internalSettings.productionServerUrl.substring(0, 4) === "http")) { - if (PlayFab._internalSettings.verticalName) { - return "https://" + PlayFab._internalSettings.verticalName + PlayFab._internalSettings.productionServerUrl; - } else { - return "https://" + PlayFab.settings.titleId + PlayFab._internalSettings.productionServerUrl; - } - } else { - return PlayFab._internalSettings.productionServerUrl; - } - }, - - InjectHeaders: function (xhr, headersObj) { - if (!headersObj) - return; - - for (var headerKey in headersObj) - { - try { - xhr.setRequestHeader(gHeaderKey, headersObj[headerKey]); - } catch (e) { - console.log("Failed to append header: " + headerKey + " = " + headersObj[headerKey] + "Error: " + e); - } - } - }, - - ExecuteRequest: function (url, request, authkey, authValue, callback, customData, extraHeaders) { - var resultPromise = new Promise(function (resolve, reject) { - if (callback != null && typeof (callback) !== "function") - throw "Callback must be null or a function"; - - if (request == null) - request = {}; - - var startTime = new Date(); - var requestBody = JSON.stringify(request); - - var urlArr = [url]; - var getParams = PlayFab._internalSettings.requestGetParams; - if (getParams != null) { - var firstParam = true; - for (var key in getParams) { - if (firstParam) { - urlArr.push("?"); - firstParam = false; - } else { - urlArr.push("&"); - } - urlArr.push(key); - urlArr.push("="); - urlArr.push(getParams[key]); - } - } - - var completeUrl = urlArr.join(""); - - var xhr = new XMLHttpRequest(); - // window.console.log("URL: " + completeUrl); - xhr.open("POST", completeUrl, true); - - xhr.setRequestHeader("Content-Type", "application/json"); - xhr.setRequestHeader("X-PlayFabSDK", "JavaScriptSDK-" + PlayFab._internalSettings.sdkVersion); - if (authkey != null) - xhr.setRequestHeader(authkey, authValue); - PlayFab._internalSettings.InjectHeaders(xhr, PlayFab.settings.GlobalHeaderInjection); - PlayFab._internalSettings.InjectHeaders(xhr, extraHeaders); - - xhr.onloadend = function () { - if (callback == null) - return; - - var result = PlayFab._internalSettings.GetPlayFabResponse(request, xhr, startTime, customData); - if (result.code === 200) { - callback(result, null); - } else { - callback(null, result); - } - } - - xhr.onerror = function () { - if (callback == null) - return; - - var result = PlayFab._internalSettings.GetPlayFabResponse(request, xhr, startTime, customData); - callback(null, result); - } - - xhr.send(requestBody); - xhr.onreadystatechange = function () { - if (this.readyState === 4) { - var xhrResult = PlayFab._internalSettings.GetPlayFabResponse(request, this, startTime, customData); - if (this.status === 200) { - resolve(xhrResult); - } else { - reject(xhrResult); - } - } - }; - }); - // Return a Promise so that calls to various API methods can be handled asynchronously - return resultPromise; - }, - - GetPlayFabResponse: function(request, xhr, startTime, customData) { - var result = null; - 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; - result.Request = request; - result.CustomData = customData; - return result; - }, - - authenticationContext: { - PlayFabId: null, - EntityId: null, - EntityType: null, - SessionTicket: null, - EntityToken: null - }, - - UpdateAuthenticationContext: function (authenticationContext, result) { - var authenticationContextUpdates = {}; - if(result.data.PlayFabId !== null) { - PlayFab._internalSettings.authenticationContext.PlayFabId = result.data.PlayFabId; - authenticationContextUpdates.PlayFabId = result.data.PlayFabId; - } - if(result.data.SessionTicket !== null) { - PlayFab._internalSettings.authenticationContext.SessionTicket = result.data.SessionTicket; - authenticationContextUpdates.SessionTicket = result.data.SessionTicket; - } - if (result.data.EntityToken !== null) { - PlayFab._internalSettings.authenticationContext.EntityId = result.data.EntityToken.Entity.Id; - authenticationContextUpdates.EntityId = result.data.EntityToken.Entity.Id; - PlayFab._internalSettings.authenticationContext.EntityType = result.data.EntityToken.Entity.Type; - authenticationContextUpdates.EntityType = result.data.EntityToken.Entity.Type; - PlayFab._internalSettings.authenticationContext.EntityToken = result.data.EntityToken.EntityToken; - authenticationContextUpdates.EntityToken = result.data.EntityToken.EntityToken; - } - // Update the authenticationContext with values from the result - authenticationContext = Object.assign(authenticationContext, authenticationContextUpdates); - return authenticationContext; - }, - - AuthInfoMap: { - "X-EntityToken": { - authAttr: "entityToken", - authError: "errorEntityToken" - }, - "X-Authorization": { - authAttr: "sessionTicket", - authError: "errorLoggedIn" - }, - "X-SecretKey": { - authAttr: "developerSecretKey", - authError: "errorSecretKey" - } - }, - - GetAuthInfo: function (request, authKey) { - // Use the most-recently saved authKey, unless one was provided in the request via the AuthenticationContext - var authError = PlayFab._internalSettings.AuthInfoMap[authKey].authError; - var authAttr = PlayFab._internalSettings.AuthInfoMap[authKey].authAttr; - var defaultAuthValue = null; - if (authAttr === "entityToken") - defaultAuthValue = PlayFab._internalSettings.entityToken; - else if (authAttr === "sessionTicket") - defaultAuthValue = PlayFab._internalSettings.sessionTicket; - else if (authAttr === "developerSecretKey") - defaultAuthValue = PlayFab.settings.developerSecretKey; - var authValue = request.AuthenticationContext ? request.AuthenticationContext[authAttr] : defaultAuthValue; - return {"authKey": authKey, "authValue": authValue, "authError": authError}; - }, - - ExecuteRequestWrapper: function (apiURL, request, authKey, callback, customData, extraHeaders) { - var authValue = null; - if (authKey !== null){ - var authInfo = PlayFab._internalSettings.GetAuthInfo(request, authKey=authKey); - var authKey = authInfo.authKey, authValue = authInfo.authValue, authError = authInfo.authError; - - if (!authValue) throw authError; - } - return PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + apiURL, request, authKey, authValue, callback, customData, extraHeaders); - } - } -} - -PlayFab.buildIdentifier = "jbuild_javascriptsdk__sdk-genericslave-1_2"; -PlayFab.sdkVersion = "1.65.200518"; -PlayFab.GenerateErrorReport = function (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; -}; - -PlayFab.LocalizationApi = { - ForgetAllCredentials: function () { - PlayFab._internalSettings.sessionTicket = null; - PlayFab._internalSettings.entityToken = null; - }, - - GetLanguageList: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Locale/GetLanguageList", request, "X-EntityToken", callback, customData, extraHeaders); - }, -}; - -var PlayFabLocalizationSDK = PlayFab.LocalizationApi; - diff --git a/PlayFabSdk/src/PlayFab/PlayFabMatchmakerApi.js b/PlayFabSdk/src/PlayFab/PlayFabMatchmakerApi.js deleted file mode 100644 index 0507ec19..00000000 --- a/PlayFabSdk/src/PlayFab/PlayFabMatchmakerApi.js +++ /dev/null @@ -1,274 +0,0 @@ -/// - -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, - GlobalHeaderInjection: 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 = { - entityToken: null, - sdkVersion: "1.65.200518", - requestGetParams: { - sdk: "JavaScriptSDK-1.65.200518" - }, - sessionTicket: null, - verticalName: null, // The name of a customer vertical. This is only for customers running a private cluster. Generally you shouldn't touch this - productionServerUrl: ".playfabapi.com", - errorTitleId: "Must be have PlayFab.settings.titleId set to call this method", - errorLoggedIn: "Must be logged in to call this method", - errorEntityToken: "You must successfully call GetEntityToken before calling this", - errorSecretKey: "Must have PlayFab.settings.developerSecretKey set to call this method", - - GetServerUrl: function () { - if (!(PlayFab._internalSettings.productionServerUrl.substring(0, 4) === "http")) { - if (PlayFab._internalSettings.verticalName) { - return "https://" + PlayFab._internalSettings.verticalName + PlayFab._internalSettings.productionServerUrl; - } else { - return "https://" + PlayFab.settings.titleId + PlayFab._internalSettings.productionServerUrl; - } - } else { - return PlayFab._internalSettings.productionServerUrl; - } - }, - - InjectHeaders: function (xhr, headersObj) { - if (!headersObj) - return; - - for (var headerKey in headersObj) - { - try { - xhr.setRequestHeader(gHeaderKey, headersObj[headerKey]); - } catch (e) { - console.log("Failed to append header: " + headerKey + " = " + headersObj[headerKey] + "Error: " + e); - } - } - }, - - ExecuteRequest: function (url, request, authkey, authValue, callback, customData, extraHeaders) { - var resultPromise = new Promise(function (resolve, reject) { - if (callback != null && typeof (callback) !== "function") - throw "Callback must be null or a function"; - - if (request == null) - request = {}; - - var startTime = new Date(); - var requestBody = JSON.stringify(request); - - var urlArr = [url]; - var getParams = PlayFab._internalSettings.requestGetParams; - if (getParams != null) { - var firstParam = true; - for (var key in getParams) { - if (firstParam) { - urlArr.push("?"); - firstParam = false; - } else { - urlArr.push("&"); - } - urlArr.push(key); - urlArr.push("="); - urlArr.push(getParams[key]); - } - } - - var completeUrl = urlArr.join(""); - - var xhr = new XMLHttpRequest(); - // window.console.log("URL: " + completeUrl); - xhr.open("POST", completeUrl, true); - - xhr.setRequestHeader("Content-Type", "application/json"); - xhr.setRequestHeader("X-PlayFabSDK", "JavaScriptSDK-" + PlayFab._internalSettings.sdkVersion); - if (authkey != null) - xhr.setRequestHeader(authkey, authValue); - PlayFab._internalSettings.InjectHeaders(xhr, PlayFab.settings.GlobalHeaderInjection); - PlayFab._internalSettings.InjectHeaders(xhr, extraHeaders); - - xhr.onloadend = function () { - if (callback == null) - return; - - var result = PlayFab._internalSettings.GetPlayFabResponse(request, xhr, startTime, customData); - if (result.code === 200) { - callback(result, null); - } else { - callback(null, result); - } - } - - xhr.onerror = function () { - if (callback == null) - return; - - var result = PlayFab._internalSettings.GetPlayFabResponse(request, xhr, startTime, customData); - callback(null, result); - } - - xhr.send(requestBody); - xhr.onreadystatechange = function () { - if (this.readyState === 4) { - var xhrResult = PlayFab._internalSettings.GetPlayFabResponse(request, this, startTime, customData); - if (this.status === 200) { - resolve(xhrResult); - } else { - reject(xhrResult); - } - } - }; - }); - // Return a Promise so that calls to various API methods can be handled asynchronously - return resultPromise; - }, - - GetPlayFabResponse: function(request, xhr, startTime, customData) { - var result = null; - 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; - result.Request = request; - result.CustomData = customData; - return result; - }, - - authenticationContext: { - PlayFabId: null, - EntityId: null, - EntityType: null, - SessionTicket: null, - EntityToken: null - }, - - UpdateAuthenticationContext: function (authenticationContext, result) { - var authenticationContextUpdates = {}; - if(result.data.PlayFabId !== null) { - PlayFab._internalSettings.authenticationContext.PlayFabId = result.data.PlayFabId; - authenticationContextUpdates.PlayFabId = result.data.PlayFabId; - } - if(result.data.SessionTicket !== null) { - PlayFab._internalSettings.authenticationContext.SessionTicket = result.data.SessionTicket; - authenticationContextUpdates.SessionTicket = result.data.SessionTicket; - } - if (result.data.EntityToken !== null) { - PlayFab._internalSettings.authenticationContext.EntityId = result.data.EntityToken.Entity.Id; - authenticationContextUpdates.EntityId = result.data.EntityToken.Entity.Id; - PlayFab._internalSettings.authenticationContext.EntityType = result.data.EntityToken.Entity.Type; - authenticationContextUpdates.EntityType = result.data.EntityToken.Entity.Type; - PlayFab._internalSettings.authenticationContext.EntityToken = result.data.EntityToken.EntityToken; - authenticationContextUpdates.EntityToken = result.data.EntityToken.EntityToken; - } - // Update the authenticationContext with values from the result - authenticationContext = Object.assign(authenticationContext, authenticationContextUpdates); - return authenticationContext; - }, - - AuthInfoMap: { - "X-EntityToken": { - authAttr: "entityToken", - authError: "errorEntityToken" - }, - "X-Authorization": { - authAttr: "sessionTicket", - authError: "errorLoggedIn" - }, - "X-SecretKey": { - authAttr: "developerSecretKey", - authError: "errorSecretKey" - } - }, - - GetAuthInfo: function (request, authKey) { - // Use the most-recently saved authKey, unless one was provided in the request via the AuthenticationContext - var authError = PlayFab._internalSettings.AuthInfoMap[authKey].authError; - var authAttr = PlayFab._internalSettings.AuthInfoMap[authKey].authAttr; - var defaultAuthValue = null; - if (authAttr === "entityToken") - defaultAuthValue = PlayFab._internalSettings.entityToken; - else if (authAttr === "sessionTicket") - defaultAuthValue = PlayFab._internalSettings.sessionTicket; - else if (authAttr === "developerSecretKey") - defaultAuthValue = PlayFab.settings.developerSecretKey; - var authValue = request.AuthenticationContext ? request.AuthenticationContext[authAttr] : defaultAuthValue; - return {"authKey": authKey, "authValue": authValue, "authError": authError}; - }, - - ExecuteRequestWrapper: function (apiURL, request, authKey, callback, customData, extraHeaders) { - var authValue = null; - if (authKey !== null){ - var authInfo = PlayFab._internalSettings.GetAuthInfo(request, authKey=authKey); - var authKey = authInfo.authKey, authValue = authInfo.authValue, authError = authInfo.authError; - - if (!authValue) throw authError; - } - return PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + apiURL, request, authKey, authValue, callback, customData, extraHeaders); - } - } -} - -PlayFab.buildIdentifier = "jbuild_javascriptsdk__sdk-genericslave-1_2"; -PlayFab.sdkVersion = "1.65.200518"; -PlayFab.GenerateErrorReport = function (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; -}; - -PlayFab.MatchmakerApi = { - ForgetAllCredentials: function () { - PlayFab._internalSettings.sessionTicket = null; - PlayFab._internalSettings.entityToken = null; - }, - - AuthUser: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Matchmaker/AuthUser", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - PlayerJoined: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Matchmaker/PlayerJoined", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - PlayerLeft: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Matchmaker/PlayerLeft", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - StartGame: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Matchmaker/StartGame", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - UserInfo: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Matchmaker/UserInfo", request, "X-SecretKey", callback, customData, extraHeaders); - }, -}; - -var PlayFabMatchmakerSDK = PlayFab.MatchmakerApi; - diff --git a/PlayFabSdk/src/PlayFab/PlayFabMultiplayerApi.js b/PlayFabSdk/src/PlayFab/PlayFabMultiplayerApi.js deleted file mode 100644 index 64b81cd2..00000000 --- a/PlayFabSdk/src/PlayFab/PlayFabMultiplayerApi.js +++ /dev/null @@ -1,497 +0,0 @@ -/// - -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, - GlobalHeaderInjection: 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 = { - entityToken: null, - sdkVersion: "1.65.200518", - requestGetParams: { - sdk: "JavaScriptSDK-1.65.200518" - }, - sessionTicket: null, - verticalName: null, // The name of a customer vertical. This is only for customers running a private cluster. Generally you shouldn't touch this - productionServerUrl: ".playfabapi.com", - errorTitleId: "Must be have PlayFab.settings.titleId set to call this method", - errorLoggedIn: "Must be logged in to call this method", - errorEntityToken: "You must successfully call GetEntityToken before calling this", - errorSecretKey: "Must have PlayFab.settings.developerSecretKey set to call this method", - - GetServerUrl: function () { - if (!(PlayFab._internalSettings.productionServerUrl.substring(0, 4) === "http")) { - if (PlayFab._internalSettings.verticalName) { - return "https://" + PlayFab._internalSettings.verticalName + PlayFab._internalSettings.productionServerUrl; - } else { - return "https://" + PlayFab.settings.titleId + PlayFab._internalSettings.productionServerUrl; - } - } else { - return PlayFab._internalSettings.productionServerUrl; - } - }, - - InjectHeaders: function (xhr, headersObj) { - if (!headersObj) - return; - - for (var headerKey in headersObj) - { - try { - xhr.setRequestHeader(gHeaderKey, headersObj[headerKey]); - } catch (e) { - console.log("Failed to append header: " + headerKey + " = " + headersObj[headerKey] + "Error: " + e); - } - } - }, - - ExecuteRequest: function (url, request, authkey, authValue, callback, customData, extraHeaders) { - var resultPromise = new Promise(function (resolve, reject) { - if (callback != null && typeof (callback) !== "function") - throw "Callback must be null or a function"; - - if (request == null) - request = {}; - - var startTime = new Date(); - var requestBody = JSON.stringify(request); - - var urlArr = [url]; - var getParams = PlayFab._internalSettings.requestGetParams; - if (getParams != null) { - var firstParam = true; - for (var key in getParams) { - if (firstParam) { - urlArr.push("?"); - firstParam = false; - } else { - urlArr.push("&"); - } - urlArr.push(key); - urlArr.push("="); - urlArr.push(getParams[key]); - } - } - - var completeUrl = urlArr.join(""); - - var xhr = new XMLHttpRequest(); - // window.console.log("URL: " + completeUrl); - xhr.open("POST", completeUrl, true); - - xhr.setRequestHeader("Content-Type", "application/json"); - xhr.setRequestHeader("X-PlayFabSDK", "JavaScriptSDK-" + PlayFab._internalSettings.sdkVersion); - if (authkey != null) - xhr.setRequestHeader(authkey, authValue); - PlayFab._internalSettings.InjectHeaders(xhr, PlayFab.settings.GlobalHeaderInjection); - PlayFab._internalSettings.InjectHeaders(xhr, extraHeaders); - - xhr.onloadend = function () { - if (callback == null) - return; - - var result = PlayFab._internalSettings.GetPlayFabResponse(request, xhr, startTime, customData); - if (result.code === 200) { - callback(result, null); - } else { - callback(null, result); - } - } - - xhr.onerror = function () { - if (callback == null) - return; - - var result = PlayFab._internalSettings.GetPlayFabResponse(request, xhr, startTime, customData); - callback(null, result); - } - - xhr.send(requestBody); - xhr.onreadystatechange = function () { - if (this.readyState === 4) { - var xhrResult = PlayFab._internalSettings.GetPlayFabResponse(request, this, startTime, customData); - if (this.status === 200) { - resolve(xhrResult); - } else { - reject(xhrResult); - } - } - }; - }); - // Return a Promise so that calls to various API methods can be handled asynchronously - return resultPromise; - }, - - GetPlayFabResponse: function(request, xhr, startTime, customData) { - var result = null; - 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; - result.Request = request; - result.CustomData = customData; - return result; - }, - - authenticationContext: { - PlayFabId: null, - EntityId: null, - EntityType: null, - SessionTicket: null, - EntityToken: null - }, - - UpdateAuthenticationContext: function (authenticationContext, result) { - var authenticationContextUpdates = {}; - if(result.data.PlayFabId !== null) { - PlayFab._internalSettings.authenticationContext.PlayFabId = result.data.PlayFabId; - authenticationContextUpdates.PlayFabId = result.data.PlayFabId; - } - if(result.data.SessionTicket !== null) { - PlayFab._internalSettings.authenticationContext.SessionTicket = result.data.SessionTicket; - authenticationContextUpdates.SessionTicket = result.data.SessionTicket; - } - if (result.data.EntityToken !== null) { - PlayFab._internalSettings.authenticationContext.EntityId = result.data.EntityToken.Entity.Id; - authenticationContextUpdates.EntityId = result.data.EntityToken.Entity.Id; - PlayFab._internalSettings.authenticationContext.EntityType = result.data.EntityToken.Entity.Type; - authenticationContextUpdates.EntityType = result.data.EntityToken.Entity.Type; - PlayFab._internalSettings.authenticationContext.EntityToken = result.data.EntityToken.EntityToken; - authenticationContextUpdates.EntityToken = result.data.EntityToken.EntityToken; - } - // Update the authenticationContext with values from the result - authenticationContext = Object.assign(authenticationContext, authenticationContextUpdates); - return authenticationContext; - }, - - AuthInfoMap: { - "X-EntityToken": { - authAttr: "entityToken", - authError: "errorEntityToken" - }, - "X-Authorization": { - authAttr: "sessionTicket", - authError: "errorLoggedIn" - }, - "X-SecretKey": { - authAttr: "developerSecretKey", - authError: "errorSecretKey" - } - }, - - GetAuthInfo: function (request, authKey) { - // Use the most-recently saved authKey, unless one was provided in the request via the AuthenticationContext - var authError = PlayFab._internalSettings.AuthInfoMap[authKey].authError; - var authAttr = PlayFab._internalSettings.AuthInfoMap[authKey].authAttr; - var defaultAuthValue = null; - if (authAttr === "entityToken") - defaultAuthValue = PlayFab._internalSettings.entityToken; - else if (authAttr === "sessionTicket") - defaultAuthValue = PlayFab._internalSettings.sessionTicket; - else if (authAttr === "developerSecretKey") - defaultAuthValue = PlayFab.settings.developerSecretKey; - var authValue = request.AuthenticationContext ? request.AuthenticationContext[authAttr] : defaultAuthValue; - return {"authKey": authKey, "authValue": authValue, "authError": authError}; - }, - - ExecuteRequestWrapper: function (apiURL, request, authKey, callback, customData, extraHeaders) { - var authValue = null; - if (authKey !== null){ - var authInfo = PlayFab._internalSettings.GetAuthInfo(request, authKey=authKey); - var authKey = authInfo.authKey, authValue = authInfo.authValue, authError = authInfo.authError; - - if (!authValue) throw authError; - } - return PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + apiURL, request, authKey, authValue, callback, customData, extraHeaders); - } - } -} - -PlayFab.buildIdentifier = "jbuild_javascriptsdk__sdk-genericslave-1_2"; -PlayFab.sdkVersion = "1.65.200518"; -PlayFab.GenerateErrorReport = function (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; -}; - -PlayFab.MultiplayerApi = { - ForgetAllCredentials: function () { - PlayFab._internalSettings.sessionTicket = null; - PlayFab._internalSettings.entityToken = null; - }, - - CancelAllMatchmakingTicketsForPlayer: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Match/CancelAllMatchmakingTicketsForPlayer", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - CancelAllServerBackfillTicketsForPlayer: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Match/CancelAllServerBackfillTicketsForPlayer", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - CancelMatchmakingTicket: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Match/CancelMatchmakingTicket", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - CancelServerBackfillTicket: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Match/CancelServerBackfillTicket", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - CreateBuildAlias: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/CreateBuildAlias", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - CreateBuildWithCustomContainer: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/CreateBuildWithCustomContainer", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - CreateBuildWithManagedContainer: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/CreateBuildWithManagedContainer", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - CreateMatchmakingTicket: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Match/CreateMatchmakingTicket", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - CreateRemoteUser: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/CreateRemoteUser", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - CreateServerBackfillTicket: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Match/CreateServerBackfillTicket", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - CreateServerMatchmakingTicket: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Match/CreateServerMatchmakingTicket", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - DeleteAsset: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/DeleteAsset", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - DeleteBuild: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/DeleteBuild", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - DeleteBuildAlias: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/DeleteBuildAlias", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - DeleteBuildRegion: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/DeleteBuildRegion", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - DeleteCertificate: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/DeleteCertificate", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - DeleteContainerImageRepository: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/DeleteContainerImageRepository", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - DeleteRemoteUser: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/DeleteRemoteUser", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - EnableMultiplayerServersForTitle: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/EnableMultiplayerServersForTitle", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - GetAssetUploadUrl: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/GetAssetUploadUrl", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - GetBuild: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/GetBuild", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - GetBuildAlias: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/GetBuildAlias", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - GetContainerRegistryCredentials: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/GetContainerRegistryCredentials", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - GetMatch: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Match/GetMatch", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - GetMatchmakingQueue: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Match/GetMatchmakingQueue", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - GetMatchmakingTicket: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Match/GetMatchmakingTicket", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - GetMultiplayerServerDetails: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/GetMultiplayerServerDetails", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - GetMultiplayerServerLogs: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/GetMultiplayerServerLogs", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - GetMultiplayerSessionLogsBySessionId: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/GetMultiplayerSessionLogsBySessionId", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - GetQueueStatistics: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Match/GetQueueStatistics", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - GetRemoteLoginEndpoint: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/GetRemoteLoginEndpoint", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - GetServerBackfillTicket: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Match/GetServerBackfillTicket", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - GetTitleEnabledForMultiplayerServersStatus: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/GetTitleEnabledForMultiplayerServersStatus", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - GetTitleMultiplayerServersQuotas: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/GetTitleMultiplayerServersQuotas", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - JoinMatchmakingTicket: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Match/JoinMatchmakingTicket", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - ListArchivedMultiplayerServers: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/ListArchivedMultiplayerServers", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - ListAssetSummaries: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/ListAssetSummaries", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - ListBuildAliases: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/ListBuildAliases", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - ListBuildSummaries: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/ListBuildSummaries", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - ListCertificateSummaries: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/ListCertificateSummaries", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - ListContainerImages: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/ListContainerImages", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - ListContainerImageTags: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/ListContainerImageTags", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - ListMatchmakingQueues: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Match/ListMatchmakingQueues", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - ListMatchmakingTicketsForPlayer: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Match/ListMatchmakingTicketsForPlayer", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - ListMultiplayerServers: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/ListMultiplayerServers", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - ListPartyQosServers: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/ListPartyQosServers", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - /** - * @deprecated Please use ListQosServersForTitle instead. - */ - ListQosServers: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/ListQosServers", request, null, callback, customData, extraHeaders); - }, - - ListQosServersForTitle: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/ListQosServersForTitle", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - ListServerBackfillTicketsForPlayer: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Match/ListServerBackfillTicketsForPlayer", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - ListVirtualMachineSummaries: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/ListVirtualMachineSummaries", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - RemoveMatchmakingQueue: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Match/RemoveMatchmakingQueue", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - RequestMultiplayerServer: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/RequestMultiplayerServer", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - RolloverContainerRegistryCredentials: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/RolloverContainerRegistryCredentials", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - SetMatchmakingQueue: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Match/SetMatchmakingQueue", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - ShutdownMultiplayerServer: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/ShutdownMultiplayerServer", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - UntagContainerImage: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/UntagContainerImage", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - UpdateBuildAlias: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/UpdateBuildAlias", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - UpdateBuildRegion: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/UpdateBuildRegion", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - UpdateBuildRegions: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/UpdateBuildRegions", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - UploadCertificate: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/MultiplayerServer/UploadCertificate", request, "X-EntityToken", callback, customData, extraHeaders); - }, -}; - -var PlayFabMultiplayerSDK = PlayFab.MultiplayerApi; - diff --git a/PlayFabSdk/src/PlayFab/PlayFabProfilesApi.js b/PlayFabSdk/src/PlayFab/PlayFabProfilesApi.js deleted file mode 100644 index 14d102d1..00000000 --- a/PlayFabSdk/src/PlayFab/PlayFabProfilesApi.js +++ /dev/null @@ -1,282 +0,0 @@ -/// - -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, - GlobalHeaderInjection: 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 = { - entityToken: null, - sdkVersion: "1.65.200518", - requestGetParams: { - sdk: "JavaScriptSDK-1.65.200518" - }, - sessionTicket: null, - verticalName: null, // The name of a customer vertical. This is only for customers running a private cluster. Generally you shouldn't touch this - productionServerUrl: ".playfabapi.com", - errorTitleId: "Must be have PlayFab.settings.titleId set to call this method", - errorLoggedIn: "Must be logged in to call this method", - errorEntityToken: "You must successfully call GetEntityToken before calling this", - errorSecretKey: "Must have PlayFab.settings.developerSecretKey set to call this method", - - GetServerUrl: function () { - if (!(PlayFab._internalSettings.productionServerUrl.substring(0, 4) === "http")) { - if (PlayFab._internalSettings.verticalName) { - return "https://" + PlayFab._internalSettings.verticalName + PlayFab._internalSettings.productionServerUrl; - } else { - return "https://" + PlayFab.settings.titleId + PlayFab._internalSettings.productionServerUrl; - } - } else { - return PlayFab._internalSettings.productionServerUrl; - } - }, - - InjectHeaders: function (xhr, headersObj) { - if (!headersObj) - return; - - for (var headerKey in headersObj) - { - try { - xhr.setRequestHeader(gHeaderKey, headersObj[headerKey]); - } catch (e) { - console.log("Failed to append header: " + headerKey + " = " + headersObj[headerKey] + "Error: " + e); - } - } - }, - - ExecuteRequest: function (url, request, authkey, authValue, callback, customData, extraHeaders) { - var resultPromise = new Promise(function (resolve, reject) { - if (callback != null && typeof (callback) !== "function") - throw "Callback must be null or a function"; - - if (request == null) - request = {}; - - var startTime = new Date(); - var requestBody = JSON.stringify(request); - - var urlArr = [url]; - var getParams = PlayFab._internalSettings.requestGetParams; - if (getParams != null) { - var firstParam = true; - for (var key in getParams) { - if (firstParam) { - urlArr.push("?"); - firstParam = false; - } else { - urlArr.push("&"); - } - urlArr.push(key); - urlArr.push("="); - urlArr.push(getParams[key]); - } - } - - var completeUrl = urlArr.join(""); - - var xhr = new XMLHttpRequest(); - // window.console.log("URL: " + completeUrl); - xhr.open("POST", completeUrl, true); - - xhr.setRequestHeader("Content-Type", "application/json"); - xhr.setRequestHeader("X-PlayFabSDK", "JavaScriptSDK-" + PlayFab._internalSettings.sdkVersion); - if (authkey != null) - xhr.setRequestHeader(authkey, authValue); - PlayFab._internalSettings.InjectHeaders(xhr, PlayFab.settings.GlobalHeaderInjection); - PlayFab._internalSettings.InjectHeaders(xhr, extraHeaders); - - xhr.onloadend = function () { - if (callback == null) - return; - - var result = PlayFab._internalSettings.GetPlayFabResponse(request, xhr, startTime, customData); - if (result.code === 200) { - callback(result, null); - } else { - callback(null, result); - } - } - - xhr.onerror = function () { - if (callback == null) - return; - - var result = PlayFab._internalSettings.GetPlayFabResponse(request, xhr, startTime, customData); - callback(null, result); - } - - xhr.send(requestBody); - xhr.onreadystatechange = function () { - if (this.readyState === 4) { - var xhrResult = PlayFab._internalSettings.GetPlayFabResponse(request, this, startTime, customData); - if (this.status === 200) { - resolve(xhrResult); - } else { - reject(xhrResult); - } - } - }; - }); - // Return a Promise so that calls to various API methods can be handled asynchronously - return resultPromise; - }, - - GetPlayFabResponse: function(request, xhr, startTime, customData) { - var result = null; - 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; - result.Request = request; - result.CustomData = customData; - return result; - }, - - authenticationContext: { - PlayFabId: null, - EntityId: null, - EntityType: null, - SessionTicket: null, - EntityToken: null - }, - - UpdateAuthenticationContext: function (authenticationContext, result) { - var authenticationContextUpdates = {}; - if(result.data.PlayFabId !== null) { - PlayFab._internalSettings.authenticationContext.PlayFabId = result.data.PlayFabId; - authenticationContextUpdates.PlayFabId = result.data.PlayFabId; - } - if(result.data.SessionTicket !== null) { - PlayFab._internalSettings.authenticationContext.SessionTicket = result.data.SessionTicket; - authenticationContextUpdates.SessionTicket = result.data.SessionTicket; - } - if (result.data.EntityToken !== null) { - PlayFab._internalSettings.authenticationContext.EntityId = result.data.EntityToken.Entity.Id; - authenticationContextUpdates.EntityId = result.data.EntityToken.Entity.Id; - PlayFab._internalSettings.authenticationContext.EntityType = result.data.EntityToken.Entity.Type; - authenticationContextUpdates.EntityType = result.data.EntityToken.Entity.Type; - PlayFab._internalSettings.authenticationContext.EntityToken = result.data.EntityToken.EntityToken; - authenticationContextUpdates.EntityToken = result.data.EntityToken.EntityToken; - } - // Update the authenticationContext with values from the result - authenticationContext = Object.assign(authenticationContext, authenticationContextUpdates); - return authenticationContext; - }, - - AuthInfoMap: { - "X-EntityToken": { - authAttr: "entityToken", - authError: "errorEntityToken" - }, - "X-Authorization": { - authAttr: "sessionTicket", - authError: "errorLoggedIn" - }, - "X-SecretKey": { - authAttr: "developerSecretKey", - authError: "errorSecretKey" - } - }, - - GetAuthInfo: function (request, authKey) { - // Use the most-recently saved authKey, unless one was provided in the request via the AuthenticationContext - var authError = PlayFab._internalSettings.AuthInfoMap[authKey].authError; - var authAttr = PlayFab._internalSettings.AuthInfoMap[authKey].authAttr; - var defaultAuthValue = null; - if (authAttr === "entityToken") - defaultAuthValue = PlayFab._internalSettings.entityToken; - else if (authAttr === "sessionTicket") - defaultAuthValue = PlayFab._internalSettings.sessionTicket; - else if (authAttr === "developerSecretKey") - defaultAuthValue = PlayFab.settings.developerSecretKey; - var authValue = request.AuthenticationContext ? request.AuthenticationContext[authAttr] : defaultAuthValue; - return {"authKey": authKey, "authValue": authValue, "authError": authError}; - }, - - ExecuteRequestWrapper: function (apiURL, request, authKey, callback, customData, extraHeaders) { - var authValue = null; - if (authKey !== null){ - var authInfo = PlayFab._internalSettings.GetAuthInfo(request, authKey=authKey); - var authKey = authInfo.authKey, authValue = authInfo.authValue, authError = authInfo.authError; - - if (!authValue) throw authError; - } - return PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + apiURL, request, authKey, authValue, callback, customData, extraHeaders); - } - } -} - -PlayFab.buildIdentifier = "jbuild_javascriptsdk__sdk-genericslave-1_2"; -PlayFab.sdkVersion = "1.65.200518"; -PlayFab.GenerateErrorReport = function (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; -}; - -PlayFab.ProfilesApi = { - ForgetAllCredentials: function () { - PlayFab._internalSettings.sessionTicket = null; - PlayFab._internalSettings.entityToken = null; - }, - - GetGlobalPolicy: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Profile/GetGlobalPolicy", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - GetProfile: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Profile/GetProfile", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - GetProfiles: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Profile/GetProfiles", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - GetTitlePlayersFromMasterPlayerAccountIds: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Profile/GetTitlePlayersFromMasterPlayerAccountIds", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - SetGlobalPolicy: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Profile/SetGlobalPolicy", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - SetProfileLanguage: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Profile/SetProfileLanguage", request, "X-EntityToken", callback, customData, extraHeaders); - }, - - SetProfilePolicy: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Profile/SetProfilePolicy", request, "X-EntityToken", callback, customData, extraHeaders); - }, -}; - -var PlayFabProfilesSDK = PlayFab.ProfilesApi; - diff --git a/PlayFabSdk/src/PlayFab/PlayFabServerApi.js b/PlayFabSdk/src/PlayFab/PlayFabServerApi.js deleted file mode 100644 index 049d85b5..00000000 --- a/PlayFabSdk/src/PlayFab/PlayFabServerApi.js +++ /dev/null @@ -1,782 +0,0 @@ -/// - -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, - GlobalHeaderInjection: 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 = { - entityToken: null, - sdkVersion: "1.65.200518", - requestGetParams: { - sdk: "JavaScriptSDK-1.65.200518" - }, - sessionTicket: null, - verticalName: null, // The name of a customer vertical. This is only for customers running a private cluster. Generally you shouldn't touch this - productionServerUrl: ".playfabapi.com", - errorTitleId: "Must be have PlayFab.settings.titleId set to call this method", - errorLoggedIn: "Must be logged in to call this method", - errorEntityToken: "You must successfully call GetEntityToken before calling this", - errorSecretKey: "Must have PlayFab.settings.developerSecretKey set to call this method", - - GetServerUrl: function () { - if (!(PlayFab._internalSettings.productionServerUrl.substring(0, 4) === "http")) { - if (PlayFab._internalSettings.verticalName) { - return "https://" + PlayFab._internalSettings.verticalName + PlayFab._internalSettings.productionServerUrl; - } else { - return "https://" + PlayFab.settings.titleId + PlayFab._internalSettings.productionServerUrl; - } - } else { - return PlayFab._internalSettings.productionServerUrl; - } - }, - - InjectHeaders: function (xhr, headersObj) { - if (!headersObj) - return; - - for (var headerKey in headersObj) - { - try { - xhr.setRequestHeader(gHeaderKey, headersObj[headerKey]); - } catch (e) { - console.log("Failed to append header: " + headerKey + " = " + headersObj[headerKey] + "Error: " + e); - } - } - }, - - ExecuteRequest: function (url, request, authkey, authValue, callback, customData, extraHeaders) { - var resultPromise = new Promise(function (resolve, reject) { - if (callback != null && typeof (callback) !== "function") - throw "Callback must be null or a function"; - - if (request == null) - request = {}; - - var startTime = new Date(); - var requestBody = JSON.stringify(request); - - var urlArr = [url]; - var getParams = PlayFab._internalSettings.requestGetParams; - if (getParams != null) { - var firstParam = true; - for (var key in getParams) { - if (firstParam) { - urlArr.push("?"); - firstParam = false; - } else { - urlArr.push("&"); - } - urlArr.push(key); - urlArr.push("="); - urlArr.push(getParams[key]); - } - } - - var completeUrl = urlArr.join(""); - - var xhr = new XMLHttpRequest(); - // window.console.log("URL: " + completeUrl); - xhr.open("POST", completeUrl, true); - - xhr.setRequestHeader("Content-Type", "application/json"); - xhr.setRequestHeader("X-PlayFabSDK", "JavaScriptSDK-" + PlayFab._internalSettings.sdkVersion); - if (authkey != null) - xhr.setRequestHeader(authkey, authValue); - PlayFab._internalSettings.InjectHeaders(xhr, PlayFab.settings.GlobalHeaderInjection); - PlayFab._internalSettings.InjectHeaders(xhr, extraHeaders); - - xhr.onloadend = function () { - if (callback == null) - return; - - var result = PlayFab._internalSettings.GetPlayFabResponse(request, xhr, startTime, customData); - if (result.code === 200) { - callback(result, null); - } else { - callback(null, result); - } - } - - xhr.onerror = function () { - if (callback == null) - return; - - var result = PlayFab._internalSettings.GetPlayFabResponse(request, xhr, startTime, customData); - callback(null, result); - } - - xhr.send(requestBody); - xhr.onreadystatechange = function () { - if (this.readyState === 4) { - var xhrResult = PlayFab._internalSettings.GetPlayFabResponse(request, this, startTime, customData); - if (this.status === 200) { - resolve(xhrResult); - } else { - reject(xhrResult); - } - } - }; - }); - // Return a Promise so that calls to various API methods can be handled asynchronously - return resultPromise; - }, - - GetPlayFabResponse: function(request, xhr, startTime, customData) { - var result = null; - 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; - result.Request = request; - result.CustomData = customData; - return result; - }, - - authenticationContext: { - PlayFabId: null, - EntityId: null, - EntityType: null, - SessionTicket: null, - EntityToken: null - }, - - UpdateAuthenticationContext: function (authenticationContext, result) { - var authenticationContextUpdates = {}; - if(result.data.PlayFabId !== null) { - PlayFab._internalSettings.authenticationContext.PlayFabId = result.data.PlayFabId; - authenticationContextUpdates.PlayFabId = result.data.PlayFabId; - } - if(result.data.SessionTicket !== null) { - PlayFab._internalSettings.authenticationContext.SessionTicket = result.data.SessionTicket; - authenticationContextUpdates.SessionTicket = result.data.SessionTicket; - } - if (result.data.EntityToken !== null) { - PlayFab._internalSettings.authenticationContext.EntityId = result.data.EntityToken.Entity.Id; - authenticationContextUpdates.EntityId = result.data.EntityToken.Entity.Id; - PlayFab._internalSettings.authenticationContext.EntityType = result.data.EntityToken.Entity.Type; - authenticationContextUpdates.EntityType = result.data.EntityToken.Entity.Type; - PlayFab._internalSettings.authenticationContext.EntityToken = result.data.EntityToken.EntityToken; - authenticationContextUpdates.EntityToken = result.data.EntityToken.EntityToken; - } - // Update the authenticationContext with values from the result - authenticationContext = Object.assign(authenticationContext, authenticationContextUpdates); - return authenticationContext; - }, - - AuthInfoMap: { - "X-EntityToken": { - authAttr: "entityToken", - authError: "errorEntityToken" - }, - "X-Authorization": { - authAttr: "sessionTicket", - authError: "errorLoggedIn" - }, - "X-SecretKey": { - authAttr: "developerSecretKey", - authError: "errorSecretKey" - } - }, - - GetAuthInfo: function (request, authKey) { - // Use the most-recently saved authKey, unless one was provided in the request via the AuthenticationContext - var authError = PlayFab._internalSettings.AuthInfoMap[authKey].authError; - var authAttr = PlayFab._internalSettings.AuthInfoMap[authKey].authAttr; - var defaultAuthValue = null; - if (authAttr === "entityToken") - defaultAuthValue = PlayFab._internalSettings.entityToken; - else if (authAttr === "sessionTicket") - defaultAuthValue = PlayFab._internalSettings.sessionTicket; - else if (authAttr === "developerSecretKey") - defaultAuthValue = PlayFab.settings.developerSecretKey; - var authValue = request.AuthenticationContext ? request.AuthenticationContext[authAttr] : defaultAuthValue; - return {"authKey": authKey, "authValue": authValue, "authError": authError}; - }, - - ExecuteRequestWrapper: function (apiURL, request, authKey, callback, customData, extraHeaders) { - var authValue = null; - if (authKey !== null){ - var authInfo = PlayFab._internalSettings.GetAuthInfo(request, authKey=authKey); - var authKey = authInfo.authKey, authValue = authInfo.authValue, authError = authInfo.authError; - - if (!authValue) throw authError; - } - return PlayFab._internalSettings.ExecuteRequest(PlayFab._internalSettings.GetServerUrl() + apiURL, request, authKey, authValue, callback, customData, extraHeaders); - } - } -} - -PlayFab.buildIdentifier = "jbuild_javascriptsdk__sdk-genericslave-1_2"; -PlayFab.sdkVersion = "1.65.200518"; -PlayFab.GenerateErrorReport = function (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; -}; - -PlayFab.ServerApi = { - ForgetAllCredentials: function () { - PlayFab._internalSettings.sessionTicket = null; - PlayFab._internalSettings.entityToken = null; - }, - - AddCharacterVirtualCurrency: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/AddCharacterVirtualCurrency", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - AddFriend: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/AddFriend", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - AddGenericID: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/AddGenericID", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - AddPlayerTag: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/AddPlayerTag", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - AddSharedGroupMembers: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/AddSharedGroupMembers", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - AddUserVirtualCurrency: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/AddUserVirtualCurrency", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - AuthenticateSessionTicket: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/AuthenticateSessionTicket", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - AwardSteamAchievement: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/AwardSteamAchievement", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - BanUsers: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/BanUsers", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - ConsumeItem: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/ConsumeItem", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - CreateSharedGroup: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/CreateSharedGroup", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - DeleteCharacterFromUser: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/DeleteCharacterFromUser", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - DeletePlayer: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/DeletePlayer", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - DeletePushNotificationTemplate: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/DeletePushNotificationTemplate", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - DeleteSharedGroup: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/DeleteSharedGroup", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - DeregisterGame: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/DeregisterGame", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - EvaluateRandomResultTable: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/EvaluateRandomResultTable", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - ExecuteCloudScript: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/ExecuteCloudScript", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetAllSegments: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetAllSegments", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetAllUsersCharacters: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetAllUsersCharacters", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetCatalogItems: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetCatalogItems", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetCharacterData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetCharacterData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetCharacterInternalData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetCharacterInternalData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetCharacterInventory: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetCharacterInventory", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetCharacterLeaderboard: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetCharacterLeaderboard", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetCharacterReadOnlyData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetCharacterReadOnlyData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetCharacterStatistics: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetCharacterStatistics", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetContentDownloadUrl: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetContentDownloadUrl", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetFriendLeaderboard: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetFriendLeaderboard", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetFriendsList: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetFriendsList", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetLeaderboard: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetLeaderboard", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetLeaderboardAroundCharacter: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetLeaderboardAroundCharacter", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetLeaderboardAroundUser: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetLeaderboardAroundUser", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetLeaderboardForUserCharacters: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetLeaderboardForUserCharacters", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetPlayerCombinedInfo: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetPlayerCombinedInfo", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetPlayerProfile: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetPlayerProfile", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetPlayerSegments: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetPlayerSegments", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetPlayersInSegment: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetPlayersInSegment", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetPlayerStatistics: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetPlayerStatistics", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetPlayerStatisticVersions: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetPlayerStatisticVersions", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetPlayerTags: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetPlayerTags", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetPlayFabIDsFromFacebookIDs: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetPlayFabIDsFromFacebookIDs", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetPlayFabIDsFromFacebookInstantGamesIds: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetPlayFabIDsFromFacebookInstantGamesIds", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetPlayFabIDsFromGenericIDs: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetPlayFabIDsFromGenericIDs", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetPlayFabIDsFromNintendoSwitchDeviceIds: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetPlayFabIDsFromNintendoSwitchDeviceIds", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetPlayFabIDsFromPSNAccountIDs: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetPlayFabIDsFromPSNAccountIDs", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetPlayFabIDsFromSteamIDs: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetPlayFabIDsFromSteamIDs", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetPlayFabIDsFromXboxLiveIDs: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetPlayFabIDsFromXboxLiveIDs", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetPublisherData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetPublisherData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetRandomResultTables: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetRandomResultTables", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetServerCustomIDsFromPlayFabIDs: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetServerCustomIDsFromPlayFabIDs", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetSharedGroupData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetSharedGroupData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetStoreItems: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetStoreItems", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetTime: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetTime", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetTitleData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetTitleData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetTitleInternalData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetTitleInternalData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetTitleNews: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetTitleNews", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetUserAccountInfo: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetUserAccountInfo", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetUserBans: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetUserBans", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetUserData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetUserData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetUserInternalData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetUserInternalData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetUserInventory: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetUserInventory", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetUserPublisherData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetUserPublisherData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetUserPublisherInternalData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetUserPublisherInternalData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetUserPublisherReadOnlyData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetUserPublisherReadOnlyData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GetUserReadOnlyData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GetUserReadOnlyData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GrantCharacterToUser: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GrantCharacterToUser", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GrantItemsToCharacter: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GrantItemsToCharacter", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GrantItemsToUser: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GrantItemsToUser", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - GrantItemsToUsers: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/GrantItemsToUsers", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - LinkPSNAccount: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/LinkPSNAccount", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - LinkServerCustomId: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/LinkServerCustomId", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - LinkXboxAccount: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/LinkXboxAccount", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - LoginWithServerCustomId: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/LoginWithServerCustomId", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - LoginWithXbox: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/LoginWithXbox", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - LoginWithXboxId: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/LoginWithXboxId", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - ModifyItemUses: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/ModifyItemUses", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - MoveItemToCharacterFromCharacter: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/MoveItemToCharacterFromCharacter", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - MoveItemToCharacterFromUser: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/MoveItemToCharacterFromUser", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - MoveItemToUserFromCharacter: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/MoveItemToUserFromCharacter", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - NotifyMatchmakerPlayerLeft: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/NotifyMatchmakerPlayerLeft", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - RedeemCoupon: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/RedeemCoupon", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - RedeemMatchmakerTicket: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/RedeemMatchmakerTicket", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - RefreshGameServerInstanceHeartbeat: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/RefreshGameServerInstanceHeartbeat", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - RegisterGame: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/RegisterGame", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - RemoveFriend: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/RemoveFriend", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - RemoveGenericID: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/RemoveGenericID", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - RemovePlayerTag: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/RemovePlayerTag", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - RemoveSharedGroupMembers: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/RemoveSharedGroupMembers", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - ReportPlayer: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/ReportPlayer", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - RevokeAllBansForUser: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/RevokeAllBansForUser", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - RevokeBans: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/RevokeBans", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - RevokeInventoryItem: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/RevokeInventoryItem", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - RevokeInventoryItems: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/RevokeInventoryItems", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - SavePushNotificationTemplate: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/SavePushNotificationTemplate", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - SendCustomAccountRecoveryEmail: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/SendCustomAccountRecoveryEmail", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - SendEmailFromTemplate: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/SendEmailFromTemplate", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - SendPushNotification: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/SendPushNotification", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - SendPushNotificationFromTemplate: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/SendPushNotificationFromTemplate", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - SetFriendTags: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/SetFriendTags", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - SetGameServerInstanceData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/SetGameServerInstanceData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - SetGameServerInstanceState: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/SetGameServerInstanceState", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - SetGameServerInstanceTags: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/SetGameServerInstanceTags", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - SetPlayerSecret: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/SetPlayerSecret", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - SetPublisherData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/SetPublisherData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - SetTitleData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/SetTitleData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - SetTitleInternalData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/SetTitleInternalData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - SubtractCharacterVirtualCurrency: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/SubtractCharacterVirtualCurrency", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - SubtractUserVirtualCurrency: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/SubtractUserVirtualCurrency", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - UnlinkPSNAccount: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/UnlinkPSNAccount", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - UnlinkServerCustomId: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/UnlinkServerCustomId", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - UnlinkXboxAccount: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/UnlinkXboxAccount", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - UnlockContainerInstance: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/UnlockContainerInstance", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - UnlockContainerItem: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/UnlockContainerItem", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - UpdateAvatarUrl: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/UpdateAvatarUrl", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - UpdateBans: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/UpdateBans", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - UpdateCharacterData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/UpdateCharacterData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - UpdateCharacterInternalData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/UpdateCharacterInternalData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - UpdateCharacterReadOnlyData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/UpdateCharacterReadOnlyData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - UpdateCharacterStatistics: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/UpdateCharacterStatistics", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - UpdatePlayerStatistics: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/UpdatePlayerStatistics", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - UpdateSharedGroupData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/UpdateSharedGroupData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - UpdateUserData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/UpdateUserData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - UpdateUserInternalData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/UpdateUserInternalData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - UpdateUserInventoryItemCustomData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/UpdateUserInventoryItemCustomData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - UpdateUserPublisherData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/UpdateUserPublisherData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - UpdateUserPublisherInternalData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/UpdateUserPublisherInternalData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - UpdateUserPublisherReadOnlyData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/UpdateUserPublisherReadOnlyData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - UpdateUserReadOnlyData: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/UpdateUserReadOnlyData", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - WriteCharacterEvent: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/WriteCharacterEvent", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - WritePlayerEvent: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/WritePlayerEvent", request, "X-SecretKey", callback, customData, extraHeaders); - }, - - WriteTitleEvent: function (request, callback, customData, extraHeaders) { - return PlayFab._internalSettings.ExecuteRequestWrapper("/Server/WriteTitleEvent", request, "X-SecretKey", callback, customData, extraHeaders); - }, -}; - -var PlayFabServerSDK = PlayFab.ServerApi; - diff --git a/PlayFabSdk/src/Typings/PlayFab/PlayFabClientApi.d.ts b/PlayFabSdk/src/Typings/PlayFab/PlayFabClientApi.d.ts index 800307ba..bb6cc9d5 100644 --- a/PlayFabSdk/src/Typings/PlayFab/PlayFabClientApi.d.ts +++ b/PlayFabSdk/src/Typings/PlayFab/PlayFabClientApi.d.ts @@ -1,5394 +1,5389 @@ /// +import * as PlayFabModule from './Playfab' + +export interface IPlayFabClient { + IsClientLoggedIn(): boolean; + + ForgetAllCredentials(): void; + + /** + * Accepts an open trade (one that has not yet been accepted or cancelled), if the locally signed-in player is in the + * allowed player list for the trade, or it is open to all players. If the call is successful, the offered and accepted + * items will be swapped between the two players' inventories. + * https://docs.microsoft.com/rest/api/playfab/client/trading/accepttrade + */ + AcceptTrade(request: AcceptTradeRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/friend-list-management/addfriend + */ + AddFriend(request: AddFriendRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/account-management/addgenericid + */ + AddGenericID(request: AddGenericIDRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Adds or updates a contact email to the player's profile. + * https://docs.microsoft.com/rest/api/playfab/client/account-management/addorupdatecontactemail + */ + AddOrUpdateContactEmail(request: AddOrUpdateContactEmailRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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. Shared Groups are designed for sharing data between a very small number of players, + * please see our guide: https://docs.microsoft.com/gaming/playfab/features/social/groups/using-shared-group-data + * https://docs.microsoft.com/rest/api/playfab/client/shared-group-data/addsharedgroupmembers + */ + AddSharedGroupMembers(request: AddSharedGroupMembersRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Adds playfab username/password auth to an existing account created via an anonymous auth method, e.g. automatic device + * ID login. + * https://docs.microsoft.com/rest/api/playfab/client/account-management/addusernamepassword + */ + AddUsernamePassword(request: AddUsernamePasswordRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Increments the user's balance of the specified virtual currency by the stated amount + * https://docs.microsoft.com/rest/api/playfab/client/player-item-management/adduservirtualcurrency + */ + AddUserVirtualCurrency(request: AddUserVirtualCurrencyRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Registers the Android device to receive push notifications + * https://docs.microsoft.com/rest/api/playfab/client/platform-specific-methods/androiddevicepushnotificationregistration + */ + AndroidDevicePushNotificationRegistration(request: AndroidDevicePushNotificationRegistrationRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Attributes an install for advertisment. + * https://docs.microsoft.com/rest/api/playfab/client/advertising/attributeinstall + */ + AttributeInstall(request: AttributeInstallRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Cancels an open trade (one that has not yet been accepted or cancelled). Note that only the player who created the trade + * can cancel it via this API call, to prevent griefing of the trade system (cancelling trades in order to prevent other + * players from accepting them, for trades that can be claimed by more than one player). + * https://docs.microsoft.com/rest/api/playfab/client/trading/canceltrade + */ + CancelTrade(request: CancelTradeRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Confirms with the payment provider that the purchase was approved (if applicable) and adjusts inventory and virtual + * currency balances as appropriate + * https://docs.microsoft.com/rest/api/playfab/client/player-item-management/confirmpurchase + */ + ConfirmPurchase(request: ConfirmPurchaseRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Consume uses of a consumable item. When all uses are consumed, it will be removed from the player's inventory. + * https://docs.microsoft.com/rest/api/playfab/client/player-item-management/consumeitem + */ + ConsumeItem(request: ConsumeItemRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Checks for any new consumable entitlements. If any are found, they are consumed and added as PlayFab items + * https://docs.microsoft.com/rest/api/playfab/client/platform-specific-methods/consumepsnentitlements + */ + ConsumePSNEntitlements(request: ConsumePSNEntitlementsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Grants the player's current entitlements from Xbox Live, consuming all availble items in Xbox and granting them to the + * player's PlayFab inventory. This call is idempotent and will not grant previously granted items to the player. + * https://docs.microsoft.com/rest/api/playfab/client/platform-specific-methods/consumexboxentitlements + */ + ConsumeXboxEntitlements(request: ConsumeXboxEntitlementsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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. Shared Groups are designed for sharing data + * between a very small number of players, please see our guide: + * https://docs.microsoft.com/gaming/playfab/features/social/groups/using-shared-group-data + * https://docs.microsoft.com/rest/api/playfab/client/shared-group-data/createsharedgroup + */ + CreateSharedGroup(request: CreateSharedGroupRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Executes a CloudScript function, with the 'currentPlayerId' set to the PlayFab ID of the authenticated player. + * https://docs.microsoft.com/rest/api/playfab/client/server-side-cloud-script/executecloudscript + */ + ExecuteCloudScript(request: ExecuteCloudScriptRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Retrieves the user's PlayFab account details + * https://docs.microsoft.com/rest/api/playfab/client/account-management/getaccountinfo + */ + GetAccountInfo(request: GetAccountInfoRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Returns a list of ad placements and a reward for each + * https://docs.microsoft.com/rest/api/playfab/client/advertising/getadplacements + */ + GetAdPlacements(request: GetAdPlacementsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/characters/getalluserscharacters + */ + GetAllUsersCharacters(request: ListUsersCharactersRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Retrieves the specified version of the title's catalog of virtual goods, including all defined properties + * https://docs.microsoft.com/rest/api/playfab/client/title-wide-data-management/getcatalogitems + */ + GetCatalogItems(request: GetCatalogItemsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Retrieves the title-specific custom data for the character which is readable and writable by the client + * https://docs.microsoft.com/rest/api/playfab/client/character-data/getcharacterdata + */ + GetCharacterData(request: GetCharacterDataRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Retrieves the specified character's current inventory of virtual goods + * https://docs.microsoft.com/rest/api/playfab/client/player-item-management/getcharacterinventory + */ + GetCharacterInventory(request: GetCharacterInventoryRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Retrieves a list of ranked characters for the given statistic, starting from the indicated point in the leaderboard + * https://docs.microsoft.com/rest/api/playfab/client/characters/getcharacterleaderboard + */ + GetCharacterLeaderboard(request: GetCharacterLeaderboardRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Retrieves the title-specific custom data for the character which can only be read by the client + * https://docs.microsoft.com/rest/api/playfab/client/character-data/getcharacterreadonlydata + */ + GetCharacterReadOnlyData(request: GetCharacterDataRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Retrieves the details of all title-specific statistics for the user + * https://docs.microsoft.com/rest/api/playfab/client/characters/getcharacterstatistics + */ + GetCharacterStatistics(request: GetCharacterStatisticsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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/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://docs.microsoft.com/rest/api/playfab/client/content/getcontentdownloadurl + */ + GetContentDownloadUrl(request: GetContentDownloadUrlRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Get details about all current running game servers matching the given parameters. + * https://docs.microsoft.com/rest/api/playfab/client/matchmaking/getcurrentgames + */ + GetCurrentGames(request: CurrentGamesRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Retrieves a list of ranked friends of the current player for the given statistic, starting from the indicated point in + * the leaderboard + * https://docs.microsoft.com/rest/api/playfab/client/player-data-management/getfriendleaderboard + */ + GetFriendLeaderboard(request: GetFriendLeaderboardRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/player-data-management/getfriendleaderboardaroundplayer + */ + GetFriendLeaderboardAroundPlayer(request: GetFriendLeaderboardAroundPlayerRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/friend-list-management/getfriendslist + */ + GetFriendsList(request: GetFriendsListRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Get details about the regions hosting game servers matching the given parameters. + * https://docs.microsoft.com/rest/api/playfab/client/matchmaking/getgameserverregions + */ + GetGameServerRegions(request: GameServerRegionsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Retrieves a list of ranked users for the given statistic, starting from the indicated point in the leaderboard + * https://docs.microsoft.com/rest/api/playfab/client/player-data-management/getleaderboard + */ + GetLeaderboard(request: GetLeaderboardRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Retrieves a list of ranked characters for the given statistic, centered on the requested Character ID + * https://docs.microsoft.com/rest/api/playfab/client/characters/getleaderboardaroundcharacter + */ + GetLeaderboardAroundCharacter(request: GetLeaderboardAroundCharacterRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/player-data-management/getleaderboardaroundplayer + */ + GetLeaderboardAroundPlayer(request: GetLeaderboardAroundPlayerRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Retrieves a list of all of the user's characters for the given statistic. + * https://docs.microsoft.com/rest/api/playfab/client/characters/getleaderboardforusercharacters + */ + GetLeaderboardForUserCharacters(request: GetLeaderboardForUsersCharactersRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * For payments flows where the provider requires playfab (the fulfiller) to initiate the transaction, but the client + * completes the rest of the flow. In the Xsolla case, the token returned here will be passed to Xsolla by the client to + * create a cart. Poll GetPurchase using the returned OrderId once you've completed the payment. + * https://docs.microsoft.com/rest/api/playfab/client/player-item-management/getpaymenttoken + */ + GetPaymentToken(request: GetPaymentTokenRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Gets a Photon custom authentication token that can be used to securely join the player into a Photon room. See + * https://docs.microsoft.com/gaming/playfab/features/multiplayer/photon/quickstart for more details. + * https://docs.microsoft.com/rest/api/playfab/client/authentication/getphotonauthenticationtoken + */ + GetPhotonAuthenticationToken(request: GetPhotonAuthenticationTokenRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Retrieves all of the user's different kinds of info. + * https://docs.microsoft.com/rest/api/playfab/client/account-management/getplayercombinedinfo + */ + GetPlayerCombinedInfo(request: GetPlayerCombinedInfoRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Retrieves the player's profile + * https://docs.microsoft.com/rest/api/playfab/client/account-management/getplayerprofile + */ + GetPlayerProfile(request: GetPlayerProfileRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * List all segments that a player currently belongs to at this moment in time. + * https://docs.microsoft.com/rest/api/playfab/client/playstream/getplayersegments + */ + GetPlayerSegments(request: GetPlayerSegmentsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Retrieves the indicated statistics (current version and values for all statistics, if none are specified), for the local + * player. + * https://docs.microsoft.com/rest/api/playfab/client/player-data-management/getplayerstatistics + */ + GetPlayerStatistics(request: GetPlayerStatisticsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Retrieves the information on the available versions of the specified statistic. + * https://docs.microsoft.com/rest/api/playfab/client/player-data-management/getplayerstatisticversions + */ + GetPlayerStatisticVersions(request: GetPlayerStatisticVersionsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Get all tags with a given Namespace (optional) from a player profile. + * https://docs.microsoft.com/rest/api/playfab/client/playstream/getplayertags + */ + GetPlayerTags(request: GetPlayerTagsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Gets all trades the player has either opened or accepted, optionally filtered by trade status. + * https://docs.microsoft.com/rest/api/playfab/client/trading/getplayertrades + */ + GetPlayerTrades(request: GetPlayerTradesRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Retrieves the unique PlayFab identifiers for the given set of Facebook identifiers. + * https://docs.microsoft.com/rest/api/playfab/client/account-management/getplayfabidsfromfacebookids + */ + GetPlayFabIDsFromFacebookIDs(request: GetPlayFabIDsFromFacebookIDsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Retrieves the unique PlayFab identifiers for the given set of Facebook Instant Game identifiers. + * https://docs.microsoft.com/rest/api/playfab/client/account-management/getplayfabidsfromfacebookinstantgamesids + */ + GetPlayFabIDsFromFacebookInstantGamesIds(request: GetPlayFabIDsFromFacebookInstantGamesIdsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/account-management/getplayfabidsfromgamecenterids + */ + GetPlayFabIDsFromGameCenterIDs(request: GetPlayFabIDsFromGameCenterIDsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/account-management/getplayfabidsfromgenericids + */ + GetPlayFabIDsFromGenericIDs(request: GetPlayFabIDsFromGenericIDsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/account-management/getplayfabidsfromgoogleids + */ + GetPlayFabIDsFromGoogleIDs(request: GetPlayFabIDsFromGoogleIDsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/account-management/getplayfabidsfromkongregateids + */ + GetPlayFabIDsFromKongregateIDs(request: GetPlayFabIDsFromKongregateIDsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Retrieves the unique PlayFab identifiers for the given set of Nintendo Switch identifiers. + * https://docs.microsoft.com/rest/api/playfab/client/account-management/getplayfabidsfromnintendoswitchdeviceids + */ + GetPlayFabIDsFromNintendoSwitchDeviceIds(request: GetPlayFabIDsFromNintendoSwitchDeviceIdsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Retrieves the unique PlayFab identifiers for the given set of PlayStation Network identifiers. + * https://docs.microsoft.com/rest/api/playfab/client/account-management/getplayfabidsfrompsnaccountids + */ + GetPlayFabIDsFromPSNAccountIDs(request: GetPlayFabIDsFromPSNAccountIDsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/account-management/getplayfabidsfromsteamids + */ + GetPlayFabIDsFromSteamIDs(request: GetPlayFabIDsFromSteamIDsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/account-management/getplayfabidsfromtwitchids + */ + GetPlayFabIDsFromTwitchIDs(request: GetPlayFabIDsFromTwitchIDsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Retrieves the unique PlayFab identifiers for the given set of XboxLive identifiers. + * https://docs.microsoft.com/rest/api/playfab/client/account-management/getplayfabidsfromxboxliveids + */ + GetPlayFabIDsFromXboxLiveIDs(request: GetPlayFabIDsFromXboxLiveIDsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Retrieves the key-value store of custom publisher settings + * https://docs.microsoft.com/rest/api/playfab/client/title-wide-data-management/getpublisherdata + */ + GetPublisherData(request: GetPublisherDataRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Retrieves a purchase along with its current PlayFab status. Returns inventory items from the purchase that are still + * active. + * https://docs.microsoft.com/rest/api/playfab/client/player-item-management/getpurchase + */ + GetPurchase(request: GetPurchaseRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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. + * Shared Groups are designed for sharing data between a very small number of players, please see our guide: + * https://docs.microsoft.com/gaming/playfab/features/social/groups/using-shared-group-data + * https://docs.microsoft.com/rest/api/playfab/client/shared-group-data/getsharedgroupdata + */ + GetSharedGroupData(request: GetSharedGroupDataRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Retrieves the set of items defined for the specified store, including all prices defined + * https://docs.microsoft.com/rest/api/playfab/client/title-wide-data-management/getstoreitems + */ + GetStoreItems(request: GetStoreItemsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Retrieves the current server time + * https://docs.microsoft.com/rest/api/playfab/client/title-wide-data-management/gettime + */ + GetTime(request: GetTimeRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Retrieves the key-value store of custom title settings + * https://docs.microsoft.com/rest/api/playfab/client/title-wide-data-management/gettitledata + */ + GetTitleData(request: GetTitleDataRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Retrieves the title news feed, as configured in the developer portal + * https://docs.microsoft.com/rest/api/playfab/client/title-wide-data-management/gettitlenews + */ + GetTitleNews(request: GetTitleNewsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Returns the title's base 64 encoded RSA CSP blob. + * https://docs.microsoft.com/rest/api/playfab/client/authentication/gettitlepublickey + */ + GetTitlePublicKey(request: GetTitlePublicKeyRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Gets the current status of an existing trade. + * https://docs.microsoft.com/rest/api/playfab/client/trading/gettradestatus + */ + GetTradeStatus(request: GetTradeStatusRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Retrieves the title-specific custom data for the user which is readable and writable by the client + * https://docs.microsoft.com/rest/api/playfab/client/player-data-management/getuserdata + */ + GetUserData(request: GetUserDataRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Retrieves the user's current inventory of virtual goods + * https://docs.microsoft.com/rest/api/playfab/client/player-item-management/getuserinventory + */ + GetUserInventory(request: GetUserInventoryRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Retrieves the publisher-specific custom data for the user which is readable and writable by the client + * https://docs.microsoft.com/rest/api/playfab/client/player-data-management/getuserpublisherdata + */ + GetUserPublisherData(request: GetUserDataRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Retrieves the publisher-specific custom data for the user which can only be read by the client + * https://docs.microsoft.com/rest/api/playfab/client/player-data-management/getuserpublisherreadonlydata + */ + GetUserPublisherReadOnlyData(request: GetUserDataRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Retrieves the title-specific custom data for the user which can only be read by the client + * https://docs.microsoft.com/rest/api/playfab/client/player-data-management/getuserreadonlydata + */ + GetUserReadOnlyData(request: GetUserDataRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Requests a challenge from the server to be signed by Windows Hello Passport service to authenticate. + * https://docs.microsoft.com/rest/api/playfab/client/authentication/getwindowshellochallenge + */ + GetWindowsHelloChallenge(request: GetWindowsHelloChallengeRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/characters/grantcharactertouser + */ + GrantCharacterToUser(request: GrantCharacterToUserRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Links the Android device identifier to the user's PlayFab account + * https://docs.microsoft.com/rest/api/playfab/client/account-management/linkandroiddeviceid + */ + LinkAndroidDeviceID(request: LinkAndroidDeviceIDRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Links the Apple account associated with the token to the user's PlayFab account. + * https://docs.microsoft.com/rest/api/playfab/client/account-management/linkapple + */ + LinkApple(request: LinkAppleRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Links the custom identifier, generated by the title, to the user's PlayFab account + * https://docs.microsoft.com/rest/api/playfab/client/account-management/linkcustomid + */ + LinkCustomID(request: LinkCustomIDRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Links the Facebook account associated with the provided Facebook access token to the user's PlayFab account + * https://docs.microsoft.com/rest/api/playfab/client/account-management/linkfacebookaccount + */ + LinkFacebookAccount(request: LinkFacebookAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Links the Facebook Instant Games Id to the user's PlayFab account + * https://docs.microsoft.com/rest/api/playfab/client/account-management/linkfacebookinstantgamesid + */ + LinkFacebookInstantGamesId(request: LinkFacebookInstantGamesIdRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Links the Game Center account associated with the provided Game Center ID to the user's PlayFab account + * https://docs.microsoft.com/rest/api/playfab/client/account-management/linkgamecenteraccount + */ + LinkGameCenterAccount(request: LinkGameCenterAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Links the currently signed-in user account to their Google account, using their Google account credentials + * https://docs.microsoft.com/rest/api/playfab/client/account-management/linkgoogleaccount + */ + LinkGoogleAccount(request: LinkGoogleAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Links the vendor-specific iOS device identifier to the user's PlayFab account + * https://docs.microsoft.com/rest/api/playfab/client/account-management/linkiosdeviceid + */ + LinkIOSDeviceID(request: LinkIOSDeviceIDRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Links the Kongregate identifier to the user's PlayFab account + * https://docs.microsoft.com/rest/api/playfab/client/account-management/linkkongregate + */ + LinkKongregate(request: LinkKongregateAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Links the Nintendo Switch account associated with the token to the user's PlayFab account. + * https://docs.microsoft.com/rest/api/playfab/client/account-management/linknintendoswitchaccount + */ + LinkNintendoSwitchAccount(request: LinkNintendoSwitchAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Links the NintendoSwitchDeviceId to the user's PlayFab account + * https://docs.microsoft.com/rest/api/playfab/client/account-management/linknintendoswitchdeviceid + */ + LinkNintendoSwitchDeviceId(request: LinkNintendoSwitchDeviceIdRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Links an OpenID Connect account to a user's PlayFab account, based on an existing relationship between a title and an + * Open ID Connect provider and the OpenId Connect JWT from that provider. + * https://docs.microsoft.com/rest/api/playfab/client/account-management/linkopenidconnect + */ + LinkOpenIdConnect(request: LinkOpenIdConnectRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Links the PlayStation Network account associated with the provided access code to the user's PlayFab account + * https://docs.microsoft.com/rest/api/playfab/client/account-management/linkpsnaccount + */ + LinkPSNAccount(request: LinkPSNAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Links the Steam account associated with the provided Steam authentication ticket to the user's PlayFab account + * https://docs.microsoft.com/rest/api/playfab/client/account-management/linksteamaccount + */ + LinkSteamAccount(request: LinkSteamAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Links the Twitch account associated with the token to the user's PlayFab account. + * https://docs.microsoft.com/rest/api/playfab/client/account-management/linktwitch + */ + LinkTwitch(request: LinkTwitchAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Link Windows Hello authentication to the current PlayFab Account + * https://docs.microsoft.com/rest/api/playfab/client/account-management/linkwindowshello + */ + LinkWindowsHello(request: LinkWindowsHelloAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Links the Xbox Live account associated with the provided access code to the user's PlayFab account + * https://docs.microsoft.com/rest/api/playfab/client/account-management/linkxboxaccount + */ + LinkXboxAccount(request: LinkXboxAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/authentication/loginwithandroiddeviceid + */ + LoginWithAndroidDeviceID(request: LoginWithAndroidDeviceIDRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Signs in the user with a Sign in with Apple identity token. + * https://docs.microsoft.com/rest/api/playfab/client/authentication/loginwithapple + */ + LoginWithApple(request: LoginWithAppleRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/authentication/loginwithcustomid + */ + LoginWithCustomID(request: LoginWithCustomIDRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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 most other login API calls, LoginWithEmailAddress does not permit the + * creation of new accounts via the CreateAccountFlag. Email addresses may be used to create accounts via + * RegisterPlayFabUser. + * https://docs.microsoft.com/rest/api/playfab/client/authentication/loginwithemailaddress + */ + LoginWithEmailAddress(request: LoginWithEmailAddressRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/authentication/loginwithfacebook + */ + LoginWithFacebook(request: LoginWithFacebookRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Signs the user in using a Facebook Instant Games ID, returning a session identifier that can subsequently be used for + * API calls which require an authenticated user. Requires Facebook Instant Games to be configured. + * https://docs.microsoft.com/rest/api/playfab/client/authentication/loginwithfacebookinstantgamesid + */ + LoginWithFacebookInstantGamesId(request: LoginWithFacebookInstantGamesIdRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/authentication/loginwithgamecenter + */ + LoginWithGameCenter(request: LoginWithGameCenterRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Signs the user in using their Google account credentials + * https://docs.microsoft.com/rest/api/playfab/client/authentication/loginwithgoogleaccount + */ + LoginWithGoogleAccount(request: LoginWithGoogleAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/authentication/loginwithiosdeviceid + */ + LoginWithIOSDeviceID(request: LoginWithIOSDeviceIDRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Signs the user in using a Kongregate player account. + * https://docs.microsoft.com/rest/api/playfab/client/authentication/loginwithkongregate + */ + LoginWithKongregate(request: LoginWithKongregateRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Signs in the user with a Nintendo Switch Account identity token. + * https://docs.microsoft.com/rest/api/playfab/client/authentication/loginwithnintendoswitchaccount + */ + LoginWithNintendoSwitchAccount(request: LoginWithNintendoSwitchAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Signs the user in using a Nintendo Switch Device ID, returning a session identifier that can subsequently be used for + * API calls which require an authenticated user + * https://docs.microsoft.com/rest/api/playfab/client/authentication/loginwithnintendoswitchdeviceid + */ + LoginWithNintendoSwitchDeviceId(request: LoginWithNintendoSwitchDeviceIdRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Logs in a user with an Open ID Connect JWT created by an existing relationship between a title and an Open ID Connect + * provider. + * https://docs.microsoft.com/rest/api/playfab/client/authentication/loginwithopenidconnect + */ + LoginWithOpenIdConnect(request: LoginWithOpenIdConnectRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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 most other login API calls, LoginWithPlayFab does not permit the creation of + * new accounts via the CreateAccountFlag. Username/Password credentials may be used to create accounts via + * RegisterPlayFabUser, or added to existing accounts using AddUsernamePassword. + * https://docs.microsoft.com/rest/api/playfab/client/authentication/loginwithplayfab + */ + LoginWithPlayFab(request: LoginWithPlayFabRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Signs the user in using a PlayStation Network authentication code, returning a session identifier that can subsequently + * be used for API calls which require an authenticated user + * https://docs.microsoft.com/rest/api/playfab/client/authentication/loginwithpsn + */ + LoginWithPSN(request: LoginWithPSNRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/authentication/loginwithsteam + */ + LoginWithSteam(request: LoginWithSteamRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Signs the user in using a Twitch access token. + * https://docs.microsoft.com/rest/api/playfab/client/authentication/loginwithtwitch + */ + LoginWithTwitch(request: LoginWithTwitchRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Completes the Windows Hello login flow by returning the signed value of the challange from GetWindowsHelloChallenge. + * Windows Hello has a 2 step client to server authentication scheme. Step one is to request from the server a challenge + * string. Step two is to request the user sign the string via Windows Hello and then send the signed value back to the + * server. + * https://docs.microsoft.com/rest/api/playfab/client/authentication/loginwithwindowshello + */ + LoginWithWindowsHello(request: LoginWithWindowsHelloRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Signs the user in using a Xbox Live Token, returning a session identifier that can subsequently be used for API calls + * which require an authenticated user + * https://docs.microsoft.com/rest/api/playfab/client/authentication/loginwithxbox + */ + LoginWithXbox(request: LoginWithXboxRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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. + * https://docs.microsoft.com/rest/api/playfab/client/matchmaking/matchmake + */ + Matchmake(request: MatchmakeRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Opens a new outstanding trade. Note that a given item instance may only be in one open trade at a time. + * https://docs.microsoft.com/rest/api/playfab/client/trading/opentrade + */ + OpenTrade(request: OpenTradeRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Selects a payment option for purchase order created via StartPurchase + * https://docs.microsoft.com/rest/api/playfab/client/player-item-management/payforpurchase + */ + PayForPurchase(request: PayForPurchaseRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/player-item-management/purchaseitem + */ + PurchaseItem(request: PurchaseItemRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/player-item-management/redeemcoupon + */ + RedeemCoupon(request: RedeemCouponRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Uses the supplied OAuth code to refresh the internally cached player PSN auth token + * https://docs.microsoft.com/rest/api/playfab/client/platform-specific-methods/refreshpsnauthtoken + */ + RefreshPSNAuthToken(request: RefreshPSNAuthTokenRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Registers the iOS device to receive push notifications + * https://docs.microsoft.com/rest/api/playfab/client/platform-specific-methods/registerforiospushnotification + */ + RegisterForIOSPushNotification(request: RegisterForIOSPushNotificationRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/authentication/registerplayfabuser + */ + RegisterPlayFabUser(request: RegisterPlayFabUserRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Registers a new PlayFab user account using Windows Hello authentication, returning a session ticket that can + * subsequently be used for API calls which require an authenticated user + * https://docs.microsoft.com/rest/api/playfab/client/authentication/registerwithwindowshello + */ + RegisterWithWindowsHello(request: RegisterWithWindowsHelloRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Removes a contact email from the player's profile. + * https://docs.microsoft.com/rest/api/playfab/client/account-management/removecontactemail + */ + RemoveContactEmail(request: RemoveContactEmailRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Removes a specified user from the friend list of the local user + * https://docs.microsoft.com/rest/api/playfab/client/friend-list-management/removefriend + */ + RemoveFriend(request: RemoveFriendRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Removes the specified generic service identifier from the player's PlayFab account. + * https://docs.microsoft.com/rest/api/playfab/client/account-management/removegenericid + */ + RemoveGenericID(request: RemoveGenericIDRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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. Shared Groups are designed for sharing data between a very small number of players, please see our + * guide: https://docs.microsoft.com/gaming/playfab/features/social/groups/using-shared-group-data + * https://docs.microsoft.com/rest/api/playfab/client/shared-group-data/removesharedgroupmembers + */ + RemoveSharedGroupMembers(request: RemoveSharedGroupMembersRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Report player's ad activity + * https://docs.microsoft.com/rest/api/playfab/client/advertising/reportadactivity + */ + ReportAdActivity(request: ReportAdActivityRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Write a PlayStream event to describe the provided player device information. This API method is not designed to be + * called directly by developers. Each PlayFab client SDK will eventually report this information automatically. + * https://docs.microsoft.com/rest/api/playfab/client/analytics/reportdeviceinfo + */ + ReportDeviceInfo(request: DeviceInfoRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/account-management/reportplayer + */ + ReportPlayer(request: ReportPlayerClientRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Restores all in-app purchases based on the given restore receipt + * https://docs.microsoft.com/rest/api/playfab/client/platform-specific-methods/restoreiospurchases + */ + RestoreIOSPurchases(request: RestoreIOSPurchasesRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Reward player's ad activity + * https://docs.microsoft.com/rest/api/playfab/client/advertising/rewardadactivity + */ + RewardAdActivity(request: RewardAdActivityRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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.If an account recovery email template ID is provided, an email using the custom email template will + * be used. + * https://docs.microsoft.com/rest/api/playfab/client/account-management/sendaccountrecoveryemail + */ + SendAccountRecoveryEmail(request: SendAccountRecoveryEmailRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Updates the tag list for a specified user in the friend list of the local user + * https://docs.microsoft.com/rest/api/playfab/client/friend-list-management/setfriendtags + */ + SetFriendTags(request: SetFriendTagsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Sets the player's secret if it is not already set. Player secrets are used to sign API requests. To reset a player's + * secret use the Admin or Server API method SetPlayerSecret. + * https://docs.microsoft.com/rest/api/playfab/client/authentication/setplayersecret + */ + SetPlayerSecret(request: SetPlayerSecretRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Start a new game server with a given configuration, add the current player and return the connection information. + * https://docs.microsoft.com/rest/api/playfab/client/matchmaking/startgame + */ + StartGame(request: StartGameRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Creates an order for a list of items from the title catalog + * https://docs.microsoft.com/rest/api/playfab/client/player-item-management/startpurchase + */ + StartPurchase(request: StartPurchaseRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Decrements the user's balance of the specified virtual currency by the stated amount. It is possible to make a VC + * balance negative with this API. + * https://docs.microsoft.com/rest/api/playfab/client/player-item-management/subtractuservirtualcurrency + */ + SubtractUserVirtualCurrency(request: SubtractUserVirtualCurrencyRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Unlinks the related Android device identifier from the user's PlayFab account + * https://docs.microsoft.com/rest/api/playfab/client/account-management/unlinkandroiddeviceid + */ + UnlinkAndroidDeviceID(request: UnlinkAndroidDeviceIDRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Unlinks the related Apple account from the user's PlayFab account. + * https://docs.microsoft.com/rest/api/playfab/client/account-management/unlinkapple + */ + UnlinkApple(request: UnlinkAppleRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Unlinks the related custom identifier from the user's PlayFab account + * https://docs.microsoft.com/rest/api/playfab/client/account-management/unlinkcustomid + */ + UnlinkCustomID(request: UnlinkCustomIDRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Unlinks the related Facebook account from the user's PlayFab account + * https://docs.microsoft.com/rest/api/playfab/client/account-management/unlinkfacebookaccount + */ + UnlinkFacebookAccount(request: UnlinkFacebookAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Unlinks the related Facebook Instant Game Ids from the user's PlayFab account + * https://docs.microsoft.com/rest/api/playfab/client/account-management/unlinkfacebookinstantgamesid + */ + UnlinkFacebookInstantGamesId(request: UnlinkFacebookInstantGamesIdRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Unlinks the related Game Center account from the user's PlayFab account + * https://docs.microsoft.com/rest/api/playfab/client/account-management/unlinkgamecenteraccount + */ + UnlinkGameCenterAccount(request: UnlinkGameCenterAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/account-management/unlinkgoogleaccount + */ + UnlinkGoogleAccount(request: UnlinkGoogleAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Unlinks the related iOS device identifier from the user's PlayFab account + * https://docs.microsoft.com/rest/api/playfab/client/account-management/unlinkiosdeviceid + */ + UnlinkIOSDeviceID(request: UnlinkIOSDeviceIDRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Unlinks the related Kongregate identifier from the user's PlayFab account + * https://docs.microsoft.com/rest/api/playfab/client/account-management/unlinkkongregate + */ + UnlinkKongregate(request: UnlinkKongregateAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Unlinks the related Nintendo Switch account from the user's PlayFab account. + * https://docs.microsoft.com/rest/api/playfab/client/account-management/unlinknintendoswitchaccount + */ + UnlinkNintendoSwitchAccount(request: UnlinkNintendoSwitchAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Unlinks the related NintendoSwitchDeviceId from the user's PlayFab account + * https://docs.microsoft.com/rest/api/playfab/client/account-management/unlinknintendoswitchdeviceid + */ + UnlinkNintendoSwitchDeviceId(request: UnlinkNintendoSwitchDeviceIdRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Unlinks an OpenID Connect account from a user's PlayFab account, based on the connection ID of an existing relationship + * between a title and an Open ID Connect provider. + * https://docs.microsoft.com/rest/api/playfab/client/account-management/unlinkopenidconnect + */ + UnlinkOpenIdConnect(request: UnlinkOpenIdConnectRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Unlinks the related PSN account from the user's PlayFab account + * https://docs.microsoft.com/rest/api/playfab/client/account-management/unlinkpsnaccount + */ + UnlinkPSNAccount(request: UnlinkPSNAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Unlinks the related Steam account from the user's PlayFab account + * https://docs.microsoft.com/rest/api/playfab/client/account-management/unlinksteamaccount + */ + UnlinkSteamAccount(request: UnlinkSteamAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Unlinks the related Twitch account from the user's PlayFab account. + * https://docs.microsoft.com/rest/api/playfab/client/account-management/unlinktwitch + */ + UnlinkTwitch(request: UnlinkTwitchAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Unlink Windows Hello authentication from the current PlayFab Account + * https://docs.microsoft.com/rest/api/playfab/client/account-management/unlinkwindowshello + */ + UnlinkWindowsHello(request: UnlinkWindowsHelloAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Unlinks the related Xbox Live account from the user's PlayFab account + * https://docs.microsoft.com/rest/api/playfab/client/account-management/unlinkxboxaccount + */ + UnlinkXboxAccount(request: UnlinkXboxAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/player-item-management/unlockcontainerinstance + */ + UnlockContainerInstance(request: UnlockContainerInstanceRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/player-item-management/unlockcontaineritem + */ + UnlockContainerItem(request: UnlockContainerItemRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Update the avatar URL of the player + * https://docs.microsoft.com/rest/api/playfab/client/account-management/updateavatarurl + */ + UpdateAvatarUrl(request: UpdateAvatarUrlRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Creates and updates the title-specific custom data for the user's character which is readable and writable by the client + * https://docs.microsoft.com/rest/api/playfab/client/character-data/updatecharacterdata + */ + UpdateCharacterData(request: UpdateCharacterDataRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/characters/updatecharacterstatistics + */ + UpdateCharacterStatistics(request: UpdateCharacterStatisticsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/player-data-management/updateplayerstatistics + */ + UpdatePlayerStatistics(request: UpdatePlayerStatisticsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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. Shared Groups are designed for + * sharing data between a very small number of players, please see our guide: + * https://docs.microsoft.com/gaming/playfab/features/social/groups/using-shared-group-data + * https://docs.microsoft.com/rest/api/playfab/client/shared-group-data/updatesharedgroupdata + */ + UpdateSharedGroupData(request: UpdateSharedGroupDataRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Creates and updates the title-specific custom data for the user which is readable and writable by the client + * https://docs.microsoft.com/rest/api/playfab/client/player-data-management/updateuserdata + */ + UpdateUserData(request: UpdateUserDataRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Creates and updates the publisher-specific custom data for the user which is readable and writable by the client + * https://docs.microsoft.com/rest/api/playfab/client/player-data-management/updateuserpublisherdata + */ + UpdateUserPublisherData(request: UpdateUserDataRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Updates the title specific display name for the user + * https://docs.microsoft.com/rest/api/playfab/client/account-management/updateusertitledisplayname + */ + UpdateUserTitleDisplayName(request: UpdateUserTitleDisplayNameRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/platform-specific-methods/validateamazoniapreceipt + */ + ValidateAmazonIAPReceipt(request: ValidateAmazonReceiptRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Validates a Google Play purchase and gives the corresponding item to the player. + * https://docs.microsoft.com/rest/api/playfab/client/platform-specific-methods/validategoogleplaypurchase + */ + ValidateGooglePlayPurchase(request: ValidateGooglePlayPurchaseRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/platform-specific-methods/validateiosreceipt + */ + ValidateIOSReceipt(request: ValidateIOSReceiptRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Validates with Windows that the receipt for an Windows App Store in-app purchase is valid and that it matches the + * purchased catalog item + * https://docs.microsoft.com/rest/api/playfab/client/platform-specific-methods/validatewindowsstorereceipt + */ + ValidateWindowsStoreReceipt(request: ValidateWindowsReceiptRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Writes a character-based event into PlayStream. + * https://docs.microsoft.com/rest/api/playfab/client/analytics/writecharacterevent + */ + WriteCharacterEvent(request: WriteClientCharacterEventRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Writes a player-based event into PlayStream. + * https://docs.microsoft.com/rest/api/playfab/client/analytics/writeplayerevent + */ + WritePlayerEvent(request: WriteClientPlayerEventRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; + /** + * Writes a title-based event into PlayStream. + * https://docs.microsoft.com/rest/api/playfab/client/analytics/writetitleevent + */ + WriteTitleEvent(request: WriteTitleEventRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; -declare module PlayFabClientModule { - export interface IPlayFabClient { - IsClientLoggedIn(): boolean; - - ForgetAllCredentials(): void; - - /** - * Accepts an open trade (one that has not yet been accepted or cancelled), if the locally signed-in player is in the - * allowed player list for the trade, or it is open to all players. If the call is successful, the offered and accepted - * items will be swapped between the two players' inventories. - * https://docs.microsoft.com/rest/api/playfab/client/trading/accepttrade - */ - AcceptTrade(request: PlayFabClientModels.AcceptTradeRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/friend-list-management/addfriend - */ - AddFriend(request: PlayFabClientModels.AddFriendRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/account-management/addgenericid - */ - AddGenericID(request: PlayFabClientModels.AddGenericIDRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Adds or updates a contact email to the player's profile. - * https://docs.microsoft.com/rest/api/playfab/client/account-management/addorupdatecontactemail - */ - AddOrUpdateContactEmail(request: PlayFabClientModels.AddOrUpdateContactEmailRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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. Shared Groups are designed for sharing data between a very small number of players, - * please see our guide: https://docs.microsoft.com/gaming/playfab/features/social/groups/using-shared-group-data - * https://docs.microsoft.com/rest/api/playfab/client/shared-group-data/addsharedgroupmembers - */ - AddSharedGroupMembers(request: PlayFabClientModels.AddSharedGroupMembersRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Adds playfab username/password auth to an existing account created via an anonymous auth method, e.g. automatic device - * ID login. - * https://docs.microsoft.com/rest/api/playfab/client/account-management/addusernamepassword - */ - AddUsernamePassword(request: PlayFabClientModels.AddUsernamePasswordRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Increments the user's balance of the specified virtual currency by the stated amount - * https://docs.microsoft.com/rest/api/playfab/client/player-item-management/adduservirtualcurrency - */ - AddUserVirtualCurrency(request: PlayFabClientModels.AddUserVirtualCurrencyRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Registers the Android device to receive push notifications - * https://docs.microsoft.com/rest/api/playfab/client/platform-specific-methods/androiddevicepushnotificationregistration - */ - AndroidDevicePushNotificationRegistration(request: PlayFabClientModels.AndroidDevicePushNotificationRegistrationRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Attributes an install for advertisment. - * https://docs.microsoft.com/rest/api/playfab/client/advertising/attributeinstall - */ - AttributeInstall(request: PlayFabClientModels.AttributeInstallRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Cancels an open trade (one that has not yet been accepted or cancelled). Note that only the player who created the trade - * can cancel it via this API call, to prevent griefing of the trade system (cancelling trades in order to prevent other - * players from accepting them, for trades that can be claimed by more than one player). - * https://docs.microsoft.com/rest/api/playfab/client/trading/canceltrade - */ - CancelTrade(request: PlayFabClientModels.CancelTradeRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Confirms with the payment provider that the purchase was approved (if applicable) and adjusts inventory and virtual - * currency balances as appropriate - * https://docs.microsoft.com/rest/api/playfab/client/player-item-management/confirmpurchase - */ - ConfirmPurchase(request: PlayFabClientModels.ConfirmPurchaseRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Consume uses of a consumable item. When all uses are consumed, it will be removed from the player's inventory. - * https://docs.microsoft.com/rest/api/playfab/client/player-item-management/consumeitem - */ - ConsumeItem(request: PlayFabClientModels.ConsumeItemRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Checks for any new consumable entitlements. If any are found, they are consumed and added as PlayFab items - * https://docs.microsoft.com/rest/api/playfab/client/platform-specific-methods/consumepsnentitlements - */ - ConsumePSNEntitlements(request: PlayFabClientModels.ConsumePSNEntitlementsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Grants the player's current entitlements from Xbox Live, consuming all availble items in Xbox and granting them to the - * player's PlayFab inventory. This call is idempotent and will not grant previously granted items to the player. - * https://docs.microsoft.com/rest/api/playfab/client/platform-specific-methods/consumexboxentitlements - */ - ConsumeXboxEntitlements(request: PlayFabClientModels.ConsumeXboxEntitlementsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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. Shared Groups are designed for sharing data - * between a very small number of players, please see our guide: - * https://docs.microsoft.com/gaming/playfab/features/social/groups/using-shared-group-data - * https://docs.microsoft.com/rest/api/playfab/client/shared-group-data/createsharedgroup - */ - CreateSharedGroup(request: PlayFabClientModels.CreateSharedGroupRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Executes a CloudScript function, with the 'currentPlayerId' set to the PlayFab ID of the authenticated player. - * https://docs.microsoft.com/rest/api/playfab/client/server-side-cloud-script/executecloudscript - */ - ExecuteCloudScript(request: PlayFabClientModels.ExecuteCloudScriptRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Retrieves the user's PlayFab account details - * https://docs.microsoft.com/rest/api/playfab/client/account-management/getaccountinfo - */ - GetAccountInfo(request: PlayFabClientModels.GetAccountInfoRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Returns a list of ad placements and a reward for each - * https://docs.microsoft.com/rest/api/playfab/client/advertising/getadplacements - */ - GetAdPlacements(request: PlayFabClientModels.GetAdPlacementsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/characters/getalluserscharacters - */ - GetAllUsersCharacters(request: PlayFabClientModels.ListUsersCharactersRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Retrieves the specified version of the title's catalog of virtual goods, including all defined properties - * https://docs.microsoft.com/rest/api/playfab/client/title-wide-data-management/getcatalogitems - */ - GetCatalogItems(request: PlayFabClientModels.GetCatalogItemsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Retrieves the title-specific custom data for the character which is readable and writable by the client - * https://docs.microsoft.com/rest/api/playfab/client/character-data/getcharacterdata - */ - GetCharacterData(request: PlayFabClientModels.GetCharacterDataRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Retrieves the specified character's current inventory of virtual goods - * https://docs.microsoft.com/rest/api/playfab/client/player-item-management/getcharacterinventory - */ - GetCharacterInventory(request: PlayFabClientModels.GetCharacterInventoryRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Retrieves a list of ranked characters for the given statistic, starting from the indicated point in the leaderboard - * https://docs.microsoft.com/rest/api/playfab/client/characters/getcharacterleaderboard - */ - GetCharacterLeaderboard(request: PlayFabClientModels.GetCharacterLeaderboardRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Retrieves the title-specific custom data for the character which can only be read by the client - * https://docs.microsoft.com/rest/api/playfab/client/character-data/getcharacterreadonlydata - */ - GetCharacterReadOnlyData(request: PlayFabClientModels.GetCharacterDataRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Retrieves the details of all title-specific statistics for the user - * https://docs.microsoft.com/rest/api/playfab/client/characters/getcharacterstatistics - */ - GetCharacterStatistics(request: PlayFabClientModels.GetCharacterStatisticsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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/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://docs.microsoft.com/rest/api/playfab/client/content/getcontentdownloadurl - */ - GetContentDownloadUrl(request: PlayFabClientModels.GetContentDownloadUrlRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Get details about all current running game servers matching the given parameters. - * https://docs.microsoft.com/rest/api/playfab/client/matchmaking/getcurrentgames - */ - GetCurrentGames(request: PlayFabClientModels.CurrentGamesRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Retrieves a list of ranked friends of the current player for the given statistic, starting from the indicated point in - * the leaderboard - * https://docs.microsoft.com/rest/api/playfab/client/player-data-management/getfriendleaderboard - */ - GetFriendLeaderboard(request: PlayFabClientModels.GetFriendLeaderboardRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/player-data-management/getfriendleaderboardaroundplayer - */ - GetFriendLeaderboardAroundPlayer(request: PlayFabClientModels.GetFriendLeaderboardAroundPlayerRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/friend-list-management/getfriendslist - */ - GetFriendsList(request: PlayFabClientModels.GetFriendsListRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Get details about the regions hosting game servers matching the given parameters. - * https://docs.microsoft.com/rest/api/playfab/client/matchmaking/getgameserverregions - */ - GetGameServerRegions(request: PlayFabClientModels.GameServerRegionsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Retrieves a list of ranked users for the given statistic, starting from the indicated point in the leaderboard - * https://docs.microsoft.com/rest/api/playfab/client/player-data-management/getleaderboard - */ - GetLeaderboard(request: PlayFabClientModels.GetLeaderboardRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Retrieves a list of ranked characters for the given statistic, centered on the requested Character ID - * https://docs.microsoft.com/rest/api/playfab/client/characters/getleaderboardaroundcharacter - */ - GetLeaderboardAroundCharacter(request: PlayFabClientModels.GetLeaderboardAroundCharacterRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/player-data-management/getleaderboardaroundplayer - */ - GetLeaderboardAroundPlayer(request: PlayFabClientModels.GetLeaderboardAroundPlayerRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Retrieves a list of all of the user's characters for the given statistic. - * https://docs.microsoft.com/rest/api/playfab/client/characters/getleaderboardforusercharacters - */ - GetLeaderboardForUserCharacters(request: PlayFabClientModels.GetLeaderboardForUsersCharactersRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * For payments flows where the provider requires playfab (the fulfiller) to initiate the transaction, but the client - * completes the rest of the flow. In the Xsolla case, the token returned here will be passed to Xsolla by the client to - * create a cart. Poll GetPurchase using the returned OrderId once you've completed the payment. - * https://docs.microsoft.com/rest/api/playfab/client/player-item-management/getpaymenttoken - */ - GetPaymentToken(request: PlayFabClientModels.GetPaymentTokenRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Gets a Photon custom authentication token that can be used to securely join the player into a Photon room. See - * https://docs.microsoft.com/gaming/playfab/features/multiplayer/photon/quickstart for more details. - * https://docs.microsoft.com/rest/api/playfab/client/authentication/getphotonauthenticationtoken - */ - GetPhotonAuthenticationToken(request: PlayFabClientModels.GetPhotonAuthenticationTokenRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Retrieves all of the user's different kinds of info. - * https://docs.microsoft.com/rest/api/playfab/client/account-management/getplayercombinedinfo - */ - GetPlayerCombinedInfo(request: PlayFabClientModels.GetPlayerCombinedInfoRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Retrieves the player's profile - * https://docs.microsoft.com/rest/api/playfab/client/account-management/getplayerprofile - */ - GetPlayerProfile(request: PlayFabClientModels.GetPlayerProfileRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * List all segments that a player currently belongs to at this moment in time. - * https://docs.microsoft.com/rest/api/playfab/client/playstream/getplayersegments - */ - GetPlayerSegments(request: PlayFabClientModels.GetPlayerSegmentsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Retrieves the indicated statistics (current version and values for all statistics, if none are specified), for the local - * player. - * https://docs.microsoft.com/rest/api/playfab/client/player-data-management/getplayerstatistics - */ - GetPlayerStatistics(request: PlayFabClientModels.GetPlayerStatisticsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Retrieves the information on the available versions of the specified statistic. - * https://docs.microsoft.com/rest/api/playfab/client/player-data-management/getplayerstatisticversions - */ - GetPlayerStatisticVersions(request: PlayFabClientModels.GetPlayerStatisticVersionsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Get all tags with a given Namespace (optional) from a player profile. - * https://docs.microsoft.com/rest/api/playfab/client/playstream/getplayertags - */ - GetPlayerTags(request: PlayFabClientModels.GetPlayerTagsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Gets all trades the player has either opened or accepted, optionally filtered by trade status. - * https://docs.microsoft.com/rest/api/playfab/client/trading/getplayertrades - */ - GetPlayerTrades(request: PlayFabClientModels.GetPlayerTradesRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Retrieves the unique PlayFab identifiers for the given set of Facebook identifiers. - * https://docs.microsoft.com/rest/api/playfab/client/account-management/getplayfabidsfromfacebookids - */ - GetPlayFabIDsFromFacebookIDs(request: PlayFabClientModels.GetPlayFabIDsFromFacebookIDsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Retrieves the unique PlayFab identifiers for the given set of Facebook Instant Game identifiers. - * https://docs.microsoft.com/rest/api/playfab/client/account-management/getplayfabidsfromfacebookinstantgamesids - */ - GetPlayFabIDsFromFacebookInstantGamesIds(request: PlayFabClientModels.GetPlayFabIDsFromFacebookInstantGamesIdsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/account-management/getplayfabidsfromgamecenterids - */ - GetPlayFabIDsFromGameCenterIDs(request: PlayFabClientModels.GetPlayFabIDsFromGameCenterIDsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/account-management/getplayfabidsfromgenericids - */ - GetPlayFabIDsFromGenericIDs(request: PlayFabClientModels.GetPlayFabIDsFromGenericIDsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/account-management/getplayfabidsfromgoogleids - */ - GetPlayFabIDsFromGoogleIDs(request: PlayFabClientModels.GetPlayFabIDsFromGoogleIDsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/account-management/getplayfabidsfromkongregateids - */ - GetPlayFabIDsFromKongregateIDs(request: PlayFabClientModels.GetPlayFabIDsFromKongregateIDsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Retrieves the unique PlayFab identifiers for the given set of Nintendo Switch identifiers. - * https://docs.microsoft.com/rest/api/playfab/client/account-management/getplayfabidsfromnintendoswitchdeviceids - */ - GetPlayFabIDsFromNintendoSwitchDeviceIds(request: PlayFabClientModels.GetPlayFabIDsFromNintendoSwitchDeviceIdsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Retrieves the unique PlayFab identifiers for the given set of PlayStation Network identifiers. - * https://docs.microsoft.com/rest/api/playfab/client/account-management/getplayfabidsfrompsnaccountids - */ - GetPlayFabIDsFromPSNAccountIDs(request: PlayFabClientModels.GetPlayFabIDsFromPSNAccountIDsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/account-management/getplayfabidsfromsteamids - */ - GetPlayFabIDsFromSteamIDs(request: PlayFabClientModels.GetPlayFabIDsFromSteamIDsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/account-management/getplayfabidsfromtwitchids - */ - GetPlayFabIDsFromTwitchIDs(request: PlayFabClientModels.GetPlayFabIDsFromTwitchIDsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Retrieves the unique PlayFab identifiers for the given set of XboxLive identifiers. - * https://docs.microsoft.com/rest/api/playfab/client/account-management/getplayfabidsfromxboxliveids - */ - GetPlayFabIDsFromXboxLiveIDs(request: PlayFabClientModels.GetPlayFabIDsFromXboxLiveIDsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Retrieves the key-value store of custom publisher settings - * https://docs.microsoft.com/rest/api/playfab/client/title-wide-data-management/getpublisherdata - */ - GetPublisherData(request: PlayFabClientModels.GetPublisherDataRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Retrieves a purchase along with its current PlayFab status. Returns inventory items from the purchase that are still - * active. - * https://docs.microsoft.com/rest/api/playfab/client/player-item-management/getpurchase - */ - GetPurchase(request: PlayFabClientModels.GetPurchaseRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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. - * Shared Groups are designed for sharing data between a very small number of players, please see our guide: - * https://docs.microsoft.com/gaming/playfab/features/social/groups/using-shared-group-data - * https://docs.microsoft.com/rest/api/playfab/client/shared-group-data/getsharedgroupdata - */ - GetSharedGroupData(request: PlayFabClientModels.GetSharedGroupDataRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Retrieves the set of items defined for the specified store, including all prices defined - * https://docs.microsoft.com/rest/api/playfab/client/title-wide-data-management/getstoreitems - */ - GetStoreItems(request: PlayFabClientModels.GetStoreItemsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Retrieves the current server time - * https://docs.microsoft.com/rest/api/playfab/client/title-wide-data-management/gettime - */ - GetTime(request: PlayFabClientModels.GetTimeRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Retrieves the key-value store of custom title settings - * https://docs.microsoft.com/rest/api/playfab/client/title-wide-data-management/gettitledata - */ - GetTitleData(request: PlayFabClientModels.GetTitleDataRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Retrieves the title news feed, as configured in the developer portal - * https://docs.microsoft.com/rest/api/playfab/client/title-wide-data-management/gettitlenews - */ - GetTitleNews(request: PlayFabClientModels.GetTitleNewsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Returns the title's base 64 encoded RSA CSP blob. - * https://docs.microsoft.com/rest/api/playfab/client/authentication/gettitlepublickey - */ - GetTitlePublicKey(request: PlayFabClientModels.GetTitlePublicKeyRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Gets the current status of an existing trade. - * https://docs.microsoft.com/rest/api/playfab/client/trading/gettradestatus - */ - GetTradeStatus(request: PlayFabClientModels.GetTradeStatusRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Retrieves the title-specific custom data for the user which is readable and writable by the client - * https://docs.microsoft.com/rest/api/playfab/client/player-data-management/getuserdata - */ - GetUserData(request: PlayFabClientModels.GetUserDataRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Retrieves the user's current inventory of virtual goods - * https://docs.microsoft.com/rest/api/playfab/client/player-item-management/getuserinventory - */ - GetUserInventory(request: PlayFabClientModels.GetUserInventoryRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Retrieves the publisher-specific custom data for the user which is readable and writable by the client - * https://docs.microsoft.com/rest/api/playfab/client/player-data-management/getuserpublisherdata - */ - GetUserPublisherData(request: PlayFabClientModels.GetUserDataRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Retrieves the publisher-specific custom data for the user which can only be read by the client - * https://docs.microsoft.com/rest/api/playfab/client/player-data-management/getuserpublisherreadonlydata - */ - GetUserPublisherReadOnlyData(request: PlayFabClientModels.GetUserDataRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Retrieves the title-specific custom data for the user which can only be read by the client - * https://docs.microsoft.com/rest/api/playfab/client/player-data-management/getuserreadonlydata - */ - GetUserReadOnlyData(request: PlayFabClientModels.GetUserDataRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Requests a challenge from the server to be signed by Windows Hello Passport service to authenticate. - * https://docs.microsoft.com/rest/api/playfab/client/authentication/getwindowshellochallenge - */ - GetWindowsHelloChallenge(request: PlayFabClientModels.GetWindowsHelloChallengeRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/characters/grantcharactertouser - */ - GrantCharacterToUser(request: PlayFabClientModels.GrantCharacterToUserRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Links the Android device identifier to the user's PlayFab account - * https://docs.microsoft.com/rest/api/playfab/client/account-management/linkandroiddeviceid - */ - LinkAndroidDeviceID(request: PlayFabClientModels.LinkAndroidDeviceIDRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Links the Apple account associated with the token to the user's PlayFab account. - * https://docs.microsoft.com/rest/api/playfab/client/account-management/linkapple - */ - LinkApple(request: PlayFabClientModels.LinkAppleRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Links the custom identifier, generated by the title, to the user's PlayFab account - * https://docs.microsoft.com/rest/api/playfab/client/account-management/linkcustomid - */ - LinkCustomID(request: PlayFabClientModels.LinkCustomIDRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Links the Facebook account associated with the provided Facebook access token to the user's PlayFab account - * https://docs.microsoft.com/rest/api/playfab/client/account-management/linkfacebookaccount - */ - LinkFacebookAccount(request: PlayFabClientModels.LinkFacebookAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Links the Facebook Instant Games Id to the user's PlayFab account - * https://docs.microsoft.com/rest/api/playfab/client/account-management/linkfacebookinstantgamesid - */ - LinkFacebookInstantGamesId(request: PlayFabClientModels.LinkFacebookInstantGamesIdRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Links the Game Center account associated with the provided Game Center ID to the user's PlayFab account - * https://docs.microsoft.com/rest/api/playfab/client/account-management/linkgamecenteraccount - */ - LinkGameCenterAccount(request: PlayFabClientModels.LinkGameCenterAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Links the currently signed-in user account to their Google account, using their Google account credentials - * https://docs.microsoft.com/rest/api/playfab/client/account-management/linkgoogleaccount - */ - LinkGoogleAccount(request: PlayFabClientModels.LinkGoogleAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Links the vendor-specific iOS device identifier to the user's PlayFab account - * https://docs.microsoft.com/rest/api/playfab/client/account-management/linkiosdeviceid - */ - LinkIOSDeviceID(request: PlayFabClientModels.LinkIOSDeviceIDRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Links the Kongregate identifier to the user's PlayFab account - * https://docs.microsoft.com/rest/api/playfab/client/account-management/linkkongregate - */ - LinkKongregate(request: PlayFabClientModels.LinkKongregateAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Links the Nintendo Switch account associated with the token to the user's PlayFab account. - * https://docs.microsoft.com/rest/api/playfab/client/account-management/linknintendoswitchaccount - */ - LinkNintendoSwitchAccount(request: PlayFabClientModels.LinkNintendoSwitchAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Links the NintendoSwitchDeviceId to the user's PlayFab account - * https://docs.microsoft.com/rest/api/playfab/client/account-management/linknintendoswitchdeviceid - */ - LinkNintendoSwitchDeviceId(request: PlayFabClientModels.LinkNintendoSwitchDeviceIdRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Links an OpenID Connect account to a user's PlayFab account, based on an existing relationship between a title and an - * Open ID Connect provider and the OpenId Connect JWT from that provider. - * https://docs.microsoft.com/rest/api/playfab/client/account-management/linkopenidconnect - */ - LinkOpenIdConnect(request: PlayFabClientModels.LinkOpenIdConnectRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Links the PlayStation Network account associated with the provided access code to the user's PlayFab account - * https://docs.microsoft.com/rest/api/playfab/client/account-management/linkpsnaccount - */ - LinkPSNAccount(request: PlayFabClientModels.LinkPSNAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Links the Steam account associated with the provided Steam authentication ticket to the user's PlayFab account - * https://docs.microsoft.com/rest/api/playfab/client/account-management/linksteamaccount - */ - LinkSteamAccount(request: PlayFabClientModels.LinkSteamAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Links the Twitch account associated with the token to the user's PlayFab account. - * https://docs.microsoft.com/rest/api/playfab/client/account-management/linktwitch - */ - LinkTwitch(request: PlayFabClientModels.LinkTwitchAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Link Windows Hello authentication to the current PlayFab Account - * https://docs.microsoft.com/rest/api/playfab/client/account-management/linkwindowshello - */ - LinkWindowsHello(request: PlayFabClientModels.LinkWindowsHelloAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Links the Xbox Live account associated with the provided access code to the user's PlayFab account - * https://docs.microsoft.com/rest/api/playfab/client/account-management/linkxboxaccount - */ - LinkXboxAccount(request: PlayFabClientModels.LinkXboxAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/authentication/loginwithandroiddeviceid - */ - LoginWithAndroidDeviceID(request: PlayFabClientModels.LoginWithAndroidDeviceIDRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Signs in the user with a Sign in with Apple identity token. - * https://docs.microsoft.com/rest/api/playfab/client/authentication/loginwithapple - */ - LoginWithApple(request: PlayFabClientModels.LoginWithAppleRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/authentication/loginwithcustomid - */ - LoginWithCustomID(request: PlayFabClientModels.LoginWithCustomIDRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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 most other login API calls, LoginWithEmailAddress does not permit the - * creation of new accounts via the CreateAccountFlag. Email addresses may be used to create accounts via - * RegisterPlayFabUser. - * https://docs.microsoft.com/rest/api/playfab/client/authentication/loginwithemailaddress - */ - LoginWithEmailAddress(request: PlayFabClientModels.LoginWithEmailAddressRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/authentication/loginwithfacebook - */ - LoginWithFacebook(request: PlayFabClientModels.LoginWithFacebookRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Signs the user in using a Facebook Instant Games ID, returning a session identifier that can subsequently be used for - * API calls which require an authenticated user. Requires Facebook Instant Games to be configured. - * https://docs.microsoft.com/rest/api/playfab/client/authentication/loginwithfacebookinstantgamesid - */ - LoginWithFacebookInstantGamesId(request: PlayFabClientModels.LoginWithFacebookInstantGamesIdRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/authentication/loginwithgamecenter - */ - LoginWithGameCenter(request: PlayFabClientModels.LoginWithGameCenterRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Signs the user in using their Google account credentials - * https://docs.microsoft.com/rest/api/playfab/client/authentication/loginwithgoogleaccount - */ - LoginWithGoogleAccount(request: PlayFabClientModels.LoginWithGoogleAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/authentication/loginwithiosdeviceid - */ - LoginWithIOSDeviceID(request: PlayFabClientModels.LoginWithIOSDeviceIDRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Signs the user in using a Kongregate player account. - * https://docs.microsoft.com/rest/api/playfab/client/authentication/loginwithkongregate - */ - LoginWithKongregate(request: PlayFabClientModels.LoginWithKongregateRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Signs in the user with a Nintendo Switch Account identity token. - * https://docs.microsoft.com/rest/api/playfab/client/authentication/loginwithnintendoswitchaccount - */ - LoginWithNintendoSwitchAccount(request: PlayFabClientModels.LoginWithNintendoSwitchAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Signs the user in using a Nintendo Switch Device ID, returning a session identifier that can subsequently be used for - * API calls which require an authenticated user - * https://docs.microsoft.com/rest/api/playfab/client/authentication/loginwithnintendoswitchdeviceid - */ - LoginWithNintendoSwitchDeviceId(request: PlayFabClientModels.LoginWithNintendoSwitchDeviceIdRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Logs in a user with an Open ID Connect JWT created by an existing relationship between a title and an Open ID Connect - * provider. - * https://docs.microsoft.com/rest/api/playfab/client/authentication/loginwithopenidconnect - */ - LoginWithOpenIdConnect(request: PlayFabClientModels.LoginWithOpenIdConnectRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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 most other login API calls, LoginWithPlayFab does not permit the creation of - * new accounts via the CreateAccountFlag. Username/Password credentials may be used to create accounts via - * RegisterPlayFabUser, or added to existing accounts using AddUsernamePassword. - * https://docs.microsoft.com/rest/api/playfab/client/authentication/loginwithplayfab - */ - LoginWithPlayFab(request: PlayFabClientModels.LoginWithPlayFabRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Signs the user in using a PlayStation Network authentication code, returning a session identifier that can subsequently - * be used for API calls which require an authenticated user - * https://docs.microsoft.com/rest/api/playfab/client/authentication/loginwithpsn - */ - LoginWithPSN(request: PlayFabClientModels.LoginWithPSNRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/authentication/loginwithsteam - */ - LoginWithSteam(request: PlayFabClientModels.LoginWithSteamRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Signs the user in using a Twitch access token. - * https://docs.microsoft.com/rest/api/playfab/client/authentication/loginwithtwitch - */ - LoginWithTwitch(request: PlayFabClientModels.LoginWithTwitchRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Completes the Windows Hello login flow by returning the signed value of the challange from GetWindowsHelloChallenge. - * Windows Hello has a 2 step client to server authentication scheme. Step one is to request from the server a challenge - * string. Step two is to request the user sign the string via Windows Hello and then send the signed value back to the - * server. - * https://docs.microsoft.com/rest/api/playfab/client/authentication/loginwithwindowshello - */ - LoginWithWindowsHello(request: PlayFabClientModels.LoginWithWindowsHelloRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Signs the user in using a Xbox Live Token, returning a session identifier that can subsequently be used for API calls - * which require an authenticated user - * https://docs.microsoft.com/rest/api/playfab/client/authentication/loginwithxbox - */ - LoginWithXbox(request: PlayFabClientModels.LoginWithXboxRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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. - * https://docs.microsoft.com/rest/api/playfab/client/matchmaking/matchmake - */ - Matchmake(request: PlayFabClientModels.MatchmakeRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Opens a new outstanding trade. Note that a given item instance may only be in one open trade at a time. - * https://docs.microsoft.com/rest/api/playfab/client/trading/opentrade - */ - OpenTrade(request: PlayFabClientModels.OpenTradeRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Selects a payment option for purchase order created via StartPurchase - * https://docs.microsoft.com/rest/api/playfab/client/player-item-management/payforpurchase - */ - PayForPurchase(request: PlayFabClientModels.PayForPurchaseRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/player-item-management/purchaseitem - */ - PurchaseItem(request: PlayFabClientModels.PurchaseItemRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/player-item-management/redeemcoupon - */ - RedeemCoupon(request: PlayFabClientModels.RedeemCouponRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Uses the supplied OAuth code to refresh the internally cached player PSN auth token - * https://docs.microsoft.com/rest/api/playfab/client/platform-specific-methods/refreshpsnauthtoken - */ - RefreshPSNAuthToken(request: PlayFabClientModels.RefreshPSNAuthTokenRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Registers the iOS device to receive push notifications - * https://docs.microsoft.com/rest/api/playfab/client/platform-specific-methods/registerforiospushnotification - */ - RegisterForIOSPushNotification(request: PlayFabClientModels.RegisterForIOSPushNotificationRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/authentication/registerplayfabuser - */ - RegisterPlayFabUser(request: PlayFabClientModels.RegisterPlayFabUserRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Registers a new PlayFab user account using Windows Hello authentication, returning a session ticket that can - * subsequently be used for API calls which require an authenticated user - * https://docs.microsoft.com/rest/api/playfab/client/authentication/registerwithwindowshello - */ - RegisterWithWindowsHello(request: PlayFabClientModels.RegisterWithWindowsHelloRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Removes a contact email from the player's profile. - * https://docs.microsoft.com/rest/api/playfab/client/account-management/removecontactemail - */ - RemoveContactEmail(request: PlayFabClientModels.RemoveContactEmailRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Removes a specified user from the friend list of the local user - * https://docs.microsoft.com/rest/api/playfab/client/friend-list-management/removefriend - */ - RemoveFriend(request: PlayFabClientModels.RemoveFriendRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Removes the specified generic service identifier from the player's PlayFab account. - * https://docs.microsoft.com/rest/api/playfab/client/account-management/removegenericid - */ - RemoveGenericID(request: PlayFabClientModels.RemoveGenericIDRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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. Shared Groups are designed for sharing data between a very small number of players, please see our - * guide: https://docs.microsoft.com/gaming/playfab/features/social/groups/using-shared-group-data - * https://docs.microsoft.com/rest/api/playfab/client/shared-group-data/removesharedgroupmembers - */ - RemoveSharedGroupMembers(request: PlayFabClientModels.RemoveSharedGroupMembersRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Report player's ad activity - * https://docs.microsoft.com/rest/api/playfab/client/advertising/reportadactivity - */ - ReportAdActivity(request: PlayFabClientModels.ReportAdActivityRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Write a PlayStream event to describe the provided player device information. This API method is not designed to be - * called directly by developers. Each PlayFab client SDK will eventually report this information automatically. - * https://docs.microsoft.com/rest/api/playfab/client/analytics/reportdeviceinfo - */ - ReportDeviceInfo(request: PlayFabClientModels.DeviceInfoRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/account-management/reportplayer - */ - ReportPlayer(request: PlayFabClientModels.ReportPlayerClientRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Restores all in-app purchases based on the given restore receipt - * https://docs.microsoft.com/rest/api/playfab/client/platform-specific-methods/restoreiospurchases - */ - RestoreIOSPurchases(request: PlayFabClientModels.RestoreIOSPurchasesRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Reward player's ad activity - * https://docs.microsoft.com/rest/api/playfab/client/advertising/rewardadactivity - */ - RewardAdActivity(request: PlayFabClientModels.RewardAdActivityRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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.If an account recovery email template ID is provided, an email using the custom email template will - * be used. - * https://docs.microsoft.com/rest/api/playfab/client/account-management/sendaccountrecoveryemail - */ - SendAccountRecoveryEmail(request: PlayFabClientModels.SendAccountRecoveryEmailRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Updates the tag list for a specified user in the friend list of the local user - * https://docs.microsoft.com/rest/api/playfab/client/friend-list-management/setfriendtags - */ - SetFriendTags(request: PlayFabClientModels.SetFriendTagsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Sets the player's secret if it is not already set. Player secrets are used to sign API requests. To reset a player's - * secret use the Admin or Server API method SetPlayerSecret. - * https://docs.microsoft.com/rest/api/playfab/client/authentication/setplayersecret - */ - SetPlayerSecret(request: PlayFabClientModels.SetPlayerSecretRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Start a new game server with a given configuration, add the current player and return the connection information. - * https://docs.microsoft.com/rest/api/playfab/client/matchmaking/startgame - */ - StartGame(request: PlayFabClientModels.StartGameRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Creates an order for a list of items from the title catalog - * https://docs.microsoft.com/rest/api/playfab/client/player-item-management/startpurchase - */ - StartPurchase(request: PlayFabClientModels.StartPurchaseRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Decrements the user's balance of the specified virtual currency by the stated amount. It is possible to make a VC - * balance negative with this API. - * https://docs.microsoft.com/rest/api/playfab/client/player-item-management/subtractuservirtualcurrency - */ - SubtractUserVirtualCurrency(request: PlayFabClientModels.SubtractUserVirtualCurrencyRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Unlinks the related Android device identifier from the user's PlayFab account - * https://docs.microsoft.com/rest/api/playfab/client/account-management/unlinkandroiddeviceid - */ - UnlinkAndroidDeviceID(request: PlayFabClientModels.UnlinkAndroidDeviceIDRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Unlinks the related Apple account from the user's PlayFab account. - * https://docs.microsoft.com/rest/api/playfab/client/account-management/unlinkapple - */ - UnlinkApple(request: PlayFabClientModels.UnlinkAppleRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Unlinks the related custom identifier from the user's PlayFab account - * https://docs.microsoft.com/rest/api/playfab/client/account-management/unlinkcustomid - */ - UnlinkCustomID(request: PlayFabClientModels.UnlinkCustomIDRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Unlinks the related Facebook account from the user's PlayFab account - * https://docs.microsoft.com/rest/api/playfab/client/account-management/unlinkfacebookaccount - */ - UnlinkFacebookAccount(request: PlayFabClientModels.UnlinkFacebookAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Unlinks the related Facebook Instant Game Ids from the user's PlayFab account - * https://docs.microsoft.com/rest/api/playfab/client/account-management/unlinkfacebookinstantgamesid - */ - UnlinkFacebookInstantGamesId(request: PlayFabClientModels.UnlinkFacebookInstantGamesIdRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Unlinks the related Game Center account from the user's PlayFab account - * https://docs.microsoft.com/rest/api/playfab/client/account-management/unlinkgamecenteraccount - */ - UnlinkGameCenterAccount(request: PlayFabClientModels.UnlinkGameCenterAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/account-management/unlinkgoogleaccount - */ - UnlinkGoogleAccount(request: PlayFabClientModels.UnlinkGoogleAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Unlinks the related iOS device identifier from the user's PlayFab account - * https://docs.microsoft.com/rest/api/playfab/client/account-management/unlinkiosdeviceid - */ - UnlinkIOSDeviceID(request: PlayFabClientModels.UnlinkIOSDeviceIDRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Unlinks the related Kongregate identifier from the user's PlayFab account - * https://docs.microsoft.com/rest/api/playfab/client/account-management/unlinkkongregate - */ - UnlinkKongregate(request: PlayFabClientModels.UnlinkKongregateAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Unlinks the related Nintendo Switch account from the user's PlayFab account. - * https://docs.microsoft.com/rest/api/playfab/client/account-management/unlinknintendoswitchaccount - */ - UnlinkNintendoSwitchAccount(request: PlayFabClientModels.UnlinkNintendoSwitchAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Unlinks the related NintendoSwitchDeviceId from the user's PlayFab account - * https://docs.microsoft.com/rest/api/playfab/client/account-management/unlinknintendoswitchdeviceid - */ - UnlinkNintendoSwitchDeviceId(request: PlayFabClientModels.UnlinkNintendoSwitchDeviceIdRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Unlinks an OpenID Connect account from a user's PlayFab account, based on the connection ID of an existing relationship - * between a title and an Open ID Connect provider. - * https://docs.microsoft.com/rest/api/playfab/client/account-management/unlinkopenidconnect - */ - UnlinkOpenIdConnect(request: PlayFabClientModels.UnlinkOpenIdConnectRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Unlinks the related PSN account from the user's PlayFab account - * https://docs.microsoft.com/rest/api/playfab/client/account-management/unlinkpsnaccount - */ - UnlinkPSNAccount(request: PlayFabClientModels.UnlinkPSNAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Unlinks the related Steam account from the user's PlayFab account - * https://docs.microsoft.com/rest/api/playfab/client/account-management/unlinksteamaccount - */ - UnlinkSteamAccount(request: PlayFabClientModels.UnlinkSteamAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Unlinks the related Twitch account from the user's PlayFab account. - * https://docs.microsoft.com/rest/api/playfab/client/account-management/unlinktwitch - */ - UnlinkTwitch(request: PlayFabClientModels.UnlinkTwitchAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Unlink Windows Hello authentication from the current PlayFab Account - * https://docs.microsoft.com/rest/api/playfab/client/account-management/unlinkwindowshello - */ - UnlinkWindowsHello(request: PlayFabClientModels.UnlinkWindowsHelloAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Unlinks the related Xbox Live account from the user's PlayFab account - * https://docs.microsoft.com/rest/api/playfab/client/account-management/unlinkxboxaccount - */ - UnlinkXboxAccount(request: PlayFabClientModels.UnlinkXboxAccountRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/player-item-management/unlockcontainerinstance - */ - UnlockContainerInstance(request: PlayFabClientModels.UnlockContainerInstanceRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/player-item-management/unlockcontaineritem - */ - UnlockContainerItem(request: PlayFabClientModels.UnlockContainerItemRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Update the avatar URL of the player - * https://docs.microsoft.com/rest/api/playfab/client/account-management/updateavatarurl - */ - UpdateAvatarUrl(request: PlayFabClientModels.UpdateAvatarUrlRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Creates and updates the title-specific custom data for the user's character which is readable and writable by the client - * https://docs.microsoft.com/rest/api/playfab/client/character-data/updatecharacterdata - */ - UpdateCharacterData(request: PlayFabClientModels.UpdateCharacterDataRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/characters/updatecharacterstatistics - */ - UpdateCharacterStatistics(request: PlayFabClientModels.UpdateCharacterStatisticsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/player-data-management/updateplayerstatistics - */ - UpdatePlayerStatistics(request: PlayFabClientModels.UpdatePlayerStatisticsRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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. Shared Groups are designed for - * sharing data between a very small number of players, please see our guide: - * https://docs.microsoft.com/gaming/playfab/features/social/groups/using-shared-group-data - * https://docs.microsoft.com/rest/api/playfab/client/shared-group-data/updatesharedgroupdata - */ - UpdateSharedGroupData(request: PlayFabClientModels.UpdateSharedGroupDataRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Creates and updates the title-specific custom data for the user which is readable and writable by the client - * https://docs.microsoft.com/rest/api/playfab/client/player-data-management/updateuserdata - */ - UpdateUserData(request: PlayFabClientModels.UpdateUserDataRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Creates and updates the publisher-specific custom data for the user which is readable and writable by the client - * https://docs.microsoft.com/rest/api/playfab/client/player-data-management/updateuserpublisherdata - */ - UpdateUserPublisherData(request: PlayFabClientModels.UpdateUserDataRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Updates the title specific display name for the user - * https://docs.microsoft.com/rest/api/playfab/client/account-management/updateusertitledisplayname - */ - UpdateUserTitleDisplayName(request: PlayFabClientModels.UpdateUserTitleDisplayNameRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/platform-specific-methods/validateamazoniapreceipt - */ - ValidateAmazonIAPReceipt(request: PlayFabClientModels.ValidateAmazonReceiptRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Validates a Google Play purchase and gives the corresponding item to the player. - * https://docs.microsoft.com/rest/api/playfab/client/platform-specific-methods/validategoogleplaypurchase - */ - ValidateGooglePlayPurchase(request: PlayFabClientModels.ValidateGooglePlayPurchaseRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): 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://docs.microsoft.com/rest/api/playfab/client/platform-specific-methods/validateiosreceipt - */ - ValidateIOSReceipt(request: PlayFabClientModels.ValidateIOSReceiptRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Validates with Windows that the receipt for an Windows App Store in-app purchase is valid and that it matches the - * purchased catalog item - * https://docs.microsoft.com/rest/api/playfab/client/platform-specific-methods/validatewindowsstorereceipt - */ - ValidateWindowsStoreReceipt(request: PlayFabClientModels.ValidateWindowsReceiptRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Writes a character-based event into PlayStream. - * https://docs.microsoft.com/rest/api/playfab/client/analytics/writecharacterevent - */ - WriteCharacterEvent(request: PlayFabClientModels.WriteClientCharacterEventRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Writes a player-based event into PlayStream. - * https://docs.microsoft.com/rest/api/playfab/client/analytics/writeplayerevent - */ - WritePlayerEvent(request: PlayFabClientModels.WriteClientPlayerEventRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - /** - * Writes a title-based event into PlayStream. - * https://docs.microsoft.com/rest/api/playfab/client/analytics/writetitleevent - */ - WriteTitleEvent(request: PlayFabClientModels.WriteTitleEventRequest, callback: PlayFabModule.ApiCallback, customData?: any, extraHeaders?: { [key: string]: string }): void; - - } -} - -declare module PlayFabClientModels { - export interface AcceptTradeRequest extends PlayFabModule.IPlayFabRequestCommon { - /** - * Items from the accepting player's inventory in exchange for the offered items in the trade. In the case of a gift, this - * will be null. - */ - AcceptedInventoryInstanceIds?: string[]; - /** Player who opened the trade. */ - OfferingPlayerId: string; - /** Trade identifier. */ - TradeId: string; - - } - - export interface AcceptTradeResponse extends PlayFabModule.IPlayFabResultCommon { - /** Details about trade which was just accepted. */ - Trade?: TradeInfo; - - } - - type AdActivity = "Opened" - | "Closed" - | "Start" - | "End"; - - export interface AdCampaignAttributionModel { - /** UTC time stamp of attribution */ - AttributedAt: string; - /** Attribution campaign identifier */ - CampaignId?: string; - /** Attribution network name */ - Platform?: string; - - } - - export interface AddFriendRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Email address of the user to attempt to add to the local user's friend list. */ - FriendEmail?: string; - /** PlayFab identifier of the user to attempt to add to the local user's friend list. */ - FriendPlayFabId?: string; - /** Title-specific display name of the user to attempt to add to the local user's friend list. */ - FriendTitleDisplayName?: string; - /** PlayFab username of the user to attempt to add to the local user's friend list. */ - FriendUsername?: string; - - } - - export interface AddFriendResult extends PlayFabModule.IPlayFabResultCommon { - /** True if the friend request was processed successfully. */ - Created: boolean; - - } - - export interface AddGenericIDRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Generic service identifier to add to the player account. */ - GenericId: GenericServiceId; - - } - - export interface AddGenericIDResult extends PlayFabModule.IPlayFabResultCommon { - - } - - export interface AddOrUpdateContactEmailRequest extends PlayFabModule.IPlayFabRequestCommon { - /** The new contact email to associate with the player. */ - EmailAddress: string; - - } - - export interface AddOrUpdateContactEmailResult extends PlayFabModule.IPlayFabResultCommon { - - } - - export interface AddSharedGroupMembersRequest 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 shared group. */ - SharedGroupId: string; - - } - - export interface AddSharedGroupMembersResult extends PlayFabModule.IPlayFabResultCommon { - - } - - export interface AddUsernamePasswordRequest extends PlayFabModule.IPlayFabRequestCommon { - /** User email address attached to their account */ - Email: string; - /** Password for the PlayFab account (6-100 characters) */ - Password: string; - /** PlayFab username for the account (3-20 characters) */ - Username: string; +} + +export interface AcceptTradeRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + * Items from the accepting player's inventory in exchange for the offered items in the trade. In the case of a gift, this + * will be null. + */ + AcceptedInventoryInstanceIds?: string[]; + /** Player who opened the trade. */ + OfferingPlayerId: string; + /** Trade identifier. */ + TradeId: string; + +} + +export interface AcceptTradeResponse extends PlayFabModule.IPlayFabResultCommon { + /** Details about trade which was just accepted. */ + Trade?: TradeInfo; + +} + +type AdActivity = "Opened" + | "Closed" + | "Start" + | "End"; + +export interface AdCampaignAttributionModel { + /** UTC time stamp of attribution */ + AttributedAt: string; + /** Attribution campaign identifier */ + CampaignId?: string; + /** Attribution network name */ + Platform?: string; + +} + +export interface AddFriendRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Email address of the user to attempt to add to the local user's friend list. */ + FriendEmail?: string; + /** PlayFab identifier of the user to attempt to add to the local user's friend list. */ + FriendPlayFabId?: string; + /** Title-specific display name of the user to attempt to add to the local user's friend list. */ + FriendTitleDisplayName?: string; + /** PlayFab username of the user to attempt to add to the local user's friend list. */ + FriendUsername?: string; + +} + +export interface AddFriendResult extends PlayFabModule.IPlayFabResultCommon { + /** True if the friend request was processed successfully. */ + Created: boolean; + +} + +export interface AddGenericIDRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Generic service identifier to add to the player account. */ + GenericId: GenericServiceId; + +} + +export interface AddGenericIDResult extends PlayFabModule.IPlayFabResultCommon { + +} + +export interface AddOrUpdateContactEmailRequest extends PlayFabModule.IPlayFabRequestCommon { + /** The new contact email to associate with the player. */ + EmailAddress: string; + +} + +export interface AddOrUpdateContactEmailResult extends PlayFabModule.IPlayFabResultCommon { + +} + +export interface AddSharedGroupMembersRequest 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 shared group. */ + SharedGroupId: string; + +} + +export interface AddSharedGroupMembersResult extends PlayFabModule.IPlayFabResultCommon { + +} + +export interface AddUsernamePasswordRequest extends PlayFabModule.IPlayFabRequestCommon { + /** User email address attached to their account */ + Email: string; + /** Password for the PlayFab account (6-100 characters) */ + Password: string; + /** PlayFab username for the account (3-20 characters) */ + Username: string; + +} + +export interface AddUsernamePasswordResult extends PlayFabModule.IPlayFabResultCommon { + /** PlayFab unique user name. */ + Username?: string; + +} + +export interface AddUserVirtualCurrencyRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Amount to be added to the user balance of the specified virtual currency. */ + Amount: number; + /** Name of the virtual currency which is to be incremented. */ + VirtualCurrency: string; + +} + +export interface AdPlacementDetails { + /** Placement unique ID */ + PlacementId?: string; + /** Placement name */ + PlacementName?: string; + /** If placement has viewing limits indicates how many views are left */ + PlacementViewsRemaining?: number; + /** If placement has viewing limits indicates when they will next reset */ + PlacementViewsResetMinutes?: number; + /** Optional URL to a reward asset */ + RewardAssetUrl?: string; + /** Reward description */ + RewardDescription?: string; + /** Reward unique ID */ + RewardId?: string; + /** Reward name */ + RewardName?: string; + +} + +export interface AdRewardItemGranted { + /** Catalog ID */ + CatalogId?: string; + /** Catalog item display name */ + DisplayName?: string; + /** Inventory instance ID */ + InstanceId?: string; + /** Item ID */ + ItemId?: string; + +} + +export interface AdRewardResults { + /** Array of the items granted to the player */ + GrantedItems?: AdRewardItemGranted[]; + /** Dictionary of virtual currencies that were granted to the player */ + GrantedVirtualCurrencies?: { [key: string]: number }; + /** Dictionary of statistics that were modified for the player */ + IncrementedStatistics?: { [key: string]: number }; + +} + +export interface AndroidDevicePushNotificationRegistrationRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Message to display when confirming push notification. */ + ConfirmationMessage?: string; + /** + * 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; + +} + +export interface AndroidDevicePushNotificationRegistrationResult extends PlayFabModule.IPlayFabResultCommon { + +} + +export interface AttributeInstallRequest extends PlayFabModule.IPlayFabRequestCommon { + /** The adid for this device. */ + Adid?: string; + /** The IdentifierForAdvertisers for iOS Devices. */ + Idfa?: string; + +} + +export interface AttributeInstallResult extends PlayFabModule.IPlayFabResultCommon { + +} + +export interface CancelTradeRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Trade identifier. */ + TradeId: string; + +} + +export interface CancelTradeResponse extends PlayFabModule.IPlayFabResultCommon { + /** Details about trade which was just canceled. */ + Trade?: TradeInfo; + +} + +export interface CartItem { + /** Description of the catalog item. */ + Description?: string; + /** Display name for the catalog item. */ + DisplayName?: string; + /** Class name to which catalog item belongs. */ + ItemClass?: string; + /** Unique identifier for the catalog item. */ + ItemId?: string; + /** Unique instance identifier for this catalog item. */ + ItemInstanceId?: string; + /** 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 }; + /** Cost of the catalog item for each applicable virtual currency. */ + VirtualCurrencyPrices?: { [key: string]: number }; + +} + +export interface CatalogItem { + /** + * 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; + /** catalog version for this item */ + CatalogVersion?: 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; + /** game specific custom data */ + CustomData?: string; + /** text description of item, to show in-game */ + Description?: string; + /** text name for the item, to show in-game */ + DisplayName?: string; + /** + * 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; + /** BETA: If true, then only a fixed number can ever be granted. */ + IsLimitedEdition: 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; + /** class to which the item belongs */ + ItemClass?: string; + /** unique identifier for this item */ + ItemId: string; + /** + * 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; + /** override prices for this item for specific currencies */ + RealCurrencyPrices?: { [key: string]: number }; + /** list of item tags */ + Tags?: string[]; + /** price of this item in virtual currencies and "RM" (the base Real Money purchase price, in USD pennies) */ + VirtualCurrencyPrices?: { [key: string]: number }; + +} + +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 }; + +} + +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; + +} + +export interface CatalogItemContainerInfo { + /** unique ItemId values for all items which will be added to the player inventory, once the container has been unlocked */ + ItemContents?: string[]; + /** + * 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 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 }; + +} + +export interface CharacterInventory { + /** The id of this character. */ + CharacterId?: string; + /** The inventory of this character. */ + Inventory?: ItemInstance[]; + +} + +export interface CharacterLeaderboardEntry { + /** 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; + /** Name of the character class for this entry. */ + CharacterType?: string; + /** Title-specific display name of the user for this leaderboard entry. */ + DisplayName?: string; + /** PlayFab unique identifier of the user for this leaderboard entry. */ + PlayFabId?: string; + /** User's overall position in the leaderboard. */ + Position: number; + /** Specific value of the user's statistic. */ + StatValue: number; + +} + +export interface CharacterResult { + /** 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"; + +export interface CollectionFilter { + /** List of Exclude rules, with any of which if a collection matches, it is excluded by the filter. */ + Excludes?: Container_Dictionary_String_String[]; + /** + * 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[]; + +} + +export interface ConfirmPurchaseRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Purchase order identifier returned from StartPurchase. */ + OrderId: string; + +} + +export interface ConfirmPurchaseResult extends PlayFabModule.IPlayFabResultCommon { + /** Array of items purchased. */ + Items?: ItemInstance[]; + /** Purchase order identifier. */ + OrderId?: string; + /** Date and time of the purchase. */ + PurchaseDate: string; + +} + +export interface ConsumeItemRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Unique PlayFab assigned ID for a specific character owned by a user */ + CharacterId?: string; + /** Number of uses to consume from the item. */ + ConsumeCount: number; + /** Unique instance identifier of the item to be consumed. */ + ItemInstanceId: string; + +} + +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; + +} + +export interface ConsumePSNEntitlementsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Which catalog to match granted entitlements against. If null, defaults to title default catalog */ + CatalogVersion?: string; + /** Id of the PSN service label to consume entitlements from */ + ServiceLabel: number; + +} + +export interface ConsumePSNEntitlementsResult extends PlayFabModule.IPlayFabResultCommon { + /** Array of items granted to the player as a result of consuming entitlements. */ + ItemsGranted?: ItemInstance[]; + +} + +export interface ConsumeXboxEntitlementsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Catalog version to use */ + CatalogVersion?: string; + /** Token provided by the Xbox Live SDK/XDK method GetTokenAndSignatureAsync("POST", "https://playfabapi.com/", ""). */ + XboxToken: string; + +} + +export interface ConsumeXboxEntitlementsResult extends PlayFabModule.IPlayFabResultCommon { + /** Details for the items purchased. */ + Items?: ItemInstance[]; + +} + +export interface ContactEmailInfoModel { + /** The email address */ + EmailAddress?: string; + /** The name of the email info data */ + Name?: string; + /** The verification status of the email */ + VerificationStatus?: string; + +} + +export interface Container_Dictionary_String_String { + /** Content of data */ + Data?: { [key: string]: string | null }; + +} + +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"; + +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; + +} + +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"; + +export interface CurrentGamesRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Build to match against. */ + BuildVersion?: string; + /** Game mode to look for. */ + GameMode?: string; + /** Region to check for Game Server Instances. */ + Region?: 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; + +} + +export interface CurrentGamesResult extends PlayFabModule.IPlayFabResultCommon { + /** number of games running */ + GameCount: number; + /** array of games found */ + Games?: GameInfo[]; + /** total number of players across all servers */ + PlayerCount: number; + +} + +export interface DeviceInfoRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Information posted to the PlayStream Event. Currently arbitrary, and specific to the environment sending it. */ + Info?: { [key: string]: any }; + +} + +type EmailVerificationStatus = "Unverified" + | "Pending" + | "Confirmed"; + +export interface EmptyResponse extends PlayFabModule.IPlayFabResultCommon { + +} + +export interface EmptyResult extends PlayFabModule.IPlayFabResultCommon { + +} + +export interface EntityKey { + /** Unique ID of the entity. */ + Id: string; + /** Entity type. See https://docs.microsoft.com/gaming/playfab/features/data/entities/available-built-in-entity-types */ + Type?: string; + +} + +export interface EntityTokenResponse { + /** The entity id and type. */ + Entity?: EntityKey; + /** The token used to set X-EntityToken for all entity based API calls. */ + EntityToken?: string; + /** The time the token will expire, if it is an expiring token, in UTC. */ + TokenExpiration?: string; + +} + +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; + /** + * 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; + /** + * 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; + +} + +export interface ExecuteCloudScriptResult extends PlayFabModule.IPlayFabResultCommon { + /** Number of PlayFab API requests issued by the CloudScript function */ + APIRequestsIssued: number; + /** Information about the error, if any, that occurred during execution */ + Error?: ScriptExecutionError; + ExecutionTimeSeconds: number; + /** The name of the function that executed */ + FunctionName?: string; + /** The object returned from the CloudScript function, if any */ + FunctionResult?: any; + /** + * Flag indicating if the FunctionResult was too large and was subsequently dropped from this event. This only occurs if + * the total event size is larger than 350KB. + */ + FunctionResultTooLarge?: boolean; + /** Number of external HTTP requests issued by the CloudScript function */ + HttpRequestsIssued: number; + /** + * 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[]; + /** + * Flag indicating if the logs were too large and were subsequently dropped from this event. This only occurs if the total + * event size is larger than 350KB after the FunctionResult was removed. + */ + LogsTooLarge?: boolean; + MemoryConsumedBytes: number; + /** + * Processor time consumed while executing the function. This does not include time spent waiting on API calls or HTTP + * requests. + */ + ProcessorTimeSeconds: number; + /** The revision of the CloudScript that executed */ + Revision: number; + +} + +export interface FacebookInstantGamesPlayFabIdPair { + /** Unique Facebook Instant Games identifier for a user. */ + FacebookInstantGamesId?: string; + /** Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the Facebook Instant Games identifier. */ + PlayFabId?: string; + +} + +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; + +} + +export interface FriendInfo { + /** Available Facebook information (if the user and PlayFab friend are also connected in Facebook). */ + FacebookInfo?: UserFacebookInfo; + /** PlayFab unique identifier for this friend. */ + FriendPlayFabId?: string; + /** Available Game Center information (if the user and PlayFab friend are also connected in Game Center). */ + GameCenterInfo?: UserGameCenterInfo; + /** The profile of the user, if requested. */ + Profile?: PlayerProfileModel; + /** Available PSN information, if the user and PlayFab friend are both connected to PSN. */ + PSNInfo?: UserPsnInfo; + /** Available Steam information (if the user and PlayFab friend are also connected in Steam). */ + SteamInfo?: UserSteamInfo; + /** Tags which have been associated with this friend. */ + Tags?: string[]; + /** Title-specific display name for this friend. */ + TitleDisplayName?: string; + /** PlayFab unique username for this friend. */ + Username?: string; + /** Available Xbox information, if the user and PlayFab friend are both connected to Xbox Live. */ + XboxInfo?: UserXboxInfo; + +} + +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; + +} + +export interface GameInfo { + /** build version this server is running */ + BuildVersion?: string; + /** game mode this server is running */ + GameMode?: string; + /** game session custom data */ + GameServerData?: string; + /** game specific string denoting server configuration */ + GameServerStateEnum?: string; + /** last heartbeat of the game server instance, used in external game server provider mode */ + LastHeartbeat?: string; + /** unique lobby identifier for this game server */ + LobbyID?: string; + /** maximum players this server can support */ + MaxPlayers?: number; + /** array of current player IDs on this server */ + PlayerUserIds?: string[]; + /** region to which this server is associated */ + Region?: string; + /** duration in seconds this server has been running */ + RunTime: number; + /** IPV4 address of the server */ + ServerIPV4Address?: string; + /** IPV6 address of the server */ + ServerIPV6Address?: string; + /** port number to use for non-http communications with the server */ + ServerPort?: number; + /** Public DNS name (if any) of the server */ + ServerPublicDNSName?: string; + /** stastic used to match this game in player statistic matchmaking */ + StatisticName?: string; + /** game session tags */ + Tags?: { [key: string]: string | null }; + +} + +type GameInstanceState = "Open" + | "Closed"; + +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; + +} + +export interface GameServerRegionsResult extends PlayFabModule.IPlayFabResultCommon { + /** array of regions found matching the request parameters */ + Regions?: RegionInfo[]; + +} + +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; + +} + +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; + +} + +export interface GetAccountInfoRequest extends PlayFabModule.IPlayFabRequestCommon { + /** User email address for the account to find (if no Username is specified). */ + Email?: string; + /** + * 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; + /** + * 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; + /** PlayFab Username for the account to find (if no PlayFabId is specified). */ + Username?: string; + +} + +export interface GetAccountInfoResult extends PlayFabModule.IPlayFabResultCommon { + /** Account information for the local user. */ + AccountInfo?: UserAccountInfo; + +} + +export interface GetAdPlacementsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** The current AppId to use */ + AppId: string; + /** Using the name or unique identifier, filter the result for get a specific placement. */ + Identifier?: NameIdentifier; + +} + +export interface GetAdPlacementsResult extends PlayFabModule.IPlayFabResultCommon { + /** Array of results */ + AdPlacements?: AdPlacementDetails[]; + +} + +export interface GetCatalogItemsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Which catalog is being requested. If null, uses the default catalog. */ + CatalogVersion?: string; + +} + +export interface GetCatalogItemsResult extends PlayFabModule.IPlayFabResultCommon { + /** Array of items which can be purchased. */ + Catalog?: CatalogItem[]; + +} + +export interface GetCharacterDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Unique PlayFab assigned ID for a specific character owned by a user */ + CharacterId: 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; + /** Specific keys to search for in the custom user data. */ + Keys?: string[]; + /** Unique PlayFab identifier of the user to load data for. Optional, defaults to yourself if not set. */ + PlayFabId?: string; + +} + +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; + +} + +export interface GetCharacterInventoryRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Used to limit results to only those from a specific catalog version. */ + CatalogVersion?: string; + /** Unique PlayFab assigned ID for a specific character owned by a user */ + CharacterId: string; + +} + +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 }; + +} + +export interface GetCharacterLeaderboardRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Optional character type on which to filter the leaderboard entries. */ + CharacterType?: string; + /** Maximum number of entries to retrieve. Default 10, maximum 100. */ + MaxResultsCount?: number; + /** First entry in the leaderboard to be retrieved. */ + StartPosition: number; + /** Unique identifier for the title-specific statistic for the leaderboard. */ + StatisticName: string; + +} + +export interface GetCharacterLeaderboardResult extends PlayFabModule.IPlayFabResultCommon { + /** Ordered list of leaderboard entries. */ + Leaderboard?: CharacterLeaderboardEntry[]; + +} + +export interface GetCharacterStatisticsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Unique PlayFab assigned ID for a specific character owned by a user */ + CharacterId: string; + +} + +export interface GetCharacterStatisticsResult extends PlayFabModule.IPlayFabResultCommon { + /** The requested character statistics. */ + CharacterStatistics?: { [key: string]: number }; + +} + +export interface GetContentDownloadUrlRequest extends PlayFabModule.IPlayFabRequestCommon { + /** HTTP method to fetch item - GET or HEAD. Use HEAD when only fetching metadata. Default is GET. */ + HttpMethod?: string; + /** Key of the content item to fetch, usually formatted as a path, e.g. images/a.png */ + Key: string; + /** + * True to download through CDN. CDN provides higher download bandwidth and lower latency. However, if you want the latest, + * non-cached version of the content during development, set this to false. Default is true. + */ + ThruCDN?: boolean; + +} + +export interface GetContentDownloadUrlResult extends PlayFabModule.IPlayFabResultCommon { + /** URL for downloading content via HTTP GET or HEAD method. The URL will expire in approximately one hour. */ + URL?: string; + +} + +export interface GetFriendLeaderboardAroundPlayerRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Indicates whether Facebook friends should be included in the response. Default is true. */ + IncludeFacebookFriends?: boolean; + /** Indicates whether Steam service friends should be included in the response. Default is true. */ + IncludeSteamFriends?: boolean; + /** 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; + /** + * If non-null, this determines which properties of the resulting player profiles to return. For API calls from the client, + * only the allowed client profile properties for the title may be requested. These allowed properties are configured in + * the Game Manager "Client Profile Options" tab in the "Settings" section. + */ + ProfileConstraints?: PlayerProfileViewConstraints; + /** Statistic used to rank players for this leaderboard. */ + StatisticName: string; + /** The version of the leaderboard to get. */ + Version?: number; + /** Xbox token if Xbox friends should be included. Requires Xbox be configured on PlayFab. */ + XboxToken?: string; + +} + +export interface GetFriendLeaderboardAroundPlayerResult extends PlayFabModule.IPlayFabResultCommon { + /** Ordered listing of users and their positions in the requested leaderboard. */ + Leaderboard?: PlayerLeaderboardEntry[]; + /** The time the next scheduled reset will occur. Null if the leaderboard does not reset on a schedule. */ + NextReset?: string; + /** The version of the leaderboard returned. */ + Version: number; + +} + +export interface GetFriendLeaderboardRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Indicates whether Facebook friends should be included in the response. Default is true. */ + IncludeFacebookFriends?: boolean; + /** Indicates whether Steam service friends should be included in the response. Default is true. */ + IncludeSteamFriends?: boolean; + /** Maximum number of entries to retrieve. Default 10, maximum 100. */ + MaxResultsCount?: number; + /** + * If non-null, this determines which properties of the resulting player profiles to return. For API calls from the client, + * only the allowed client profile properties for the title may be requested. These allowed properties are configured in + * the Game Manager "Client Profile Options" tab in the "Settings" section. + */ + ProfileConstraints?: PlayerProfileViewConstraints; + /** Position in the leaderboard to start this listing (defaults to the first entry). */ + StartPosition: number; + /** Statistic used to rank friends for this leaderboard. */ + StatisticName: string; + /** The version of the leaderboard to get. */ + Version?: number; + /** Xbox token if Xbox friends should be included. Requires Xbox be configured on PlayFab. */ + XboxToken?: string; + +} + +export interface GetFriendsListRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Indicates whether Facebook friends should be included in the response. Default is true. */ + IncludeFacebookFriends?: boolean; + /** Indicates whether Steam service friends should be included in the response. Default is true. */ + IncludeSteamFriends?: boolean; + /** + * If non-null, this determines which properties of the resulting player profiles to return. For API calls from the client, + * only the allowed client profile properties for the title may be requested. These allowed properties are configured in + * the Game Manager "Client Profile Options" tab in the "Settings" section. + */ + ProfileConstraints?: PlayerProfileViewConstraints; + /** Xbox token if Xbox friends should be included. Requires Xbox be configured on PlayFab. */ + XboxToken?: string; + +} + +export interface GetFriendsListResult extends PlayFabModule.IPlayFabResultCommon { + /** Array of friends found. */ + Friends?: FriendInfo[]; + +} + +export interface GetLeaderboardAroundCharacterRequest extends PlayFabModule.IPlayFabRequestCommon { + /** 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; + /** Unique identifier for the title-specific statistic for the leaderboard. */ + StatisticName: string; + +} + +export interface GetLeaderboardAroundCharacterResult extends PlayFabModule.IPlayFabResultCommon { + /** Ordered list of leaderboard entries. */ + Leaderboard?: CharacterLeaderboardEntry[]; + +} + +export interface GetLeaderboardAroundPlayerRequest extends PlayFabModule.IPlayFabRequestCommon { + /** 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; + /** + * If non-null, this determines which properties of the resulting player profiles to return. For API calls from the client, + * only the allowed client profile properties for the title may be requested. These allowed properties are configured in + * the Game Manager "Client Profile Options" tab in the "Settings" section. + */ + ProfileConstraints?: PlayerProfileViewConstraints; + /** Statistic used to rank players for this leaderboard. */ + StatisticName: string; + /** The version of the leaderboard to get. */ + Version?: number; + +} + +export interface GetLeaderboardAroundPlayerResult extends PlayFabModule.IPlayFabResultCommon { + /** Ordered listing of users and their positions in the requested leaderboard. */ + Leaderboard?: PlayerLeaderboardEntry[]; + /** The time the next scheduled reset will occur. Null if the leaderboard does not reset on a schedule. */ + NextReset?: string; + /** The version of the leaderboard returned. */ + Version: number; + +} + +export interface GetLeaderboardForUsersCharactersRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Maximum number of entries to retrieve. */ + MaxResultsCount: number; + /** Unique identifier for the title-specific statistic for the leaderboard. */ + StatisticName: string; + +} + +export interface GetLeaderboardForUsersCharactersResult extends PlayFabModule.IPlayFabResultCommon { + /** Ordered list of leaderboard entries. */ + Leaderboard?: CharacterLeaderboardEntry[]; + +} + +export interface GetLeaderboardRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Maximum number of entries to retrieve. Default 10, maximum 100. */ + MaxResultsCount?: number; + /** + * If non-null, this determines which properties of the resulting player profiles to return. For API calls from the client, + * only the allowed client profile properties for the title may be requested. These allowed properties are configured in + * the Game Manager "Client Profile Options" tab in the "Settings" section. + */ + ProfileConstraints?: PlayerProfileViewConstraints; + /** Position in the leaderboard to start this listing (defaults to the first entry). */ + StartPosition: number; + /** Statistic used to rank players for this leaderboard. */ + StatisticName: string; + /** The version of the leaderboard to get. */ + Version?: number; + +} + +export interface GetLeaderboardResult extends PlayFabModule.IPlayFabResultCommon { + /** Ordered listing of users and their positions in the requested leaderboard. */ + Leaderboard?: PlayerLeaderboardEntry[]; + /** The time the next scheduled reset will occur. Null if the leaderboard does not reset on a schedule. */ + NextReset?: string; + /** The version of the leaderboard returned. */ + Version: number; + +} + +export interface GetPaymentTokenRequest extends PlayFabModule.IPlayFabRequestCommon { + /** The name of service to provide the payment token. Allowed Values are: xsolla */ + TokenProvider: string; + +} + +export interface GetPaymentTokenResult extends PlayFabModule.IPlayFabResultCommon { + /** PlayFab's purchase order identifier. */ + OrderId?: string; + /** The token from provider. */ + ProviderToken?: string; + +} + +export interface GetPhotonAuthenticationTokenRequest extends PlayFabModule.IPlayFabRequestCommon { + /** The Photon applicationId for the game you wish to log into. */ + PhotonApplicationId: string; + +} + +export interface GetPhotonAuthenticationTokenResult extends PlayFabModule.IPlayFabResultCommon { + /** The Photon authentication token for this game-session. */ + PhotonCustomAuthenticationToken?: string; + +} + +export interface GetPlayerCombinedInfoRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Flags for which pieces of info to return for the user. */ + InfoRequestParameters: GetPlayerCombinedInfoRequestParams; + /** PlayFabId of the user whose data will be returned. If not filled included, we return the data for the calling player. */ + PlayFabId?: string; + +} + +export interface GetPlayerCombinedInfoRequestParams { + /** 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 player profile. Defaults to false. Has no effect for a new player. */ + GetPlayerProfile: boolean; + /** Whether to get player statistics. Defaults to false. */ + GetPlayerStatistics: boolean; + /** Whether to get title data. Defaults to false. */ + GetTitleData: boolean; + /** Whether to get the player's account Info. Defaults to false */ + GetUserAccountInfo: boolean; + /** Whether to get the player's custom data. Defaults to false */ + GetUserData: boolean; + /** Whether to get the player's inventory. Defaults to false */ + GetUserInventory: boolean; + /** Whether to get the player's read only data. Defaults to false */ + GetUserReadOnlyData: boolean; + /** Whether to get the player's virtual currency balances. Defaults to false */ + GetUserVirtualCurrency: boolean; + /** Specific statistics to retrieve. Leave null to get all keys. Has no effect if GetPlayerStatistics is false */ + PlayerStatisticNames?: string[]; + /** Specifies the properties to return from the player profile. Defaults to returning the player's display name. */ + ProfileConstraints?: PlayerProfileViewConstraints; + /** Specific keys to search for in the custom data. Leave null to get all keys. Has no effect if GetTitleData is false */ + TitleDataKeys?: string[]; + /** Specific keys to search for in the custom data. Leave null to get all keys. Has no effect if GetUserData is false */ + UserDataKeys?: string[]; + /** + * Specific keys to search for in the custom data. Leave null to get all keys. Has no effect if GetUserReadOnlyData is + * false + */ + UserReadOnlyDataKeys?: string[]; + +} + +export interface GetPlayerCombinedInfoResult extends PlayFabModule.IPlayFabResultCommon { + /** Results for requested info. */ + InfoResultPayload?: GetPlayerCombinedInfoResultPayload; + /** Unique PlayFab assigned ID of the user on whom the operation will be performed. */ + PlayFabId?: string; + +} + +export interface GetPlayerCombinedInfoResultPayload { + /** Account information for the user. This is always retrieved. */ + AccountInfo?: UserAccountInfo; + /** Inventories for each character for the user. */ + CharacterInventories?: CharacterInventory[]; + /** List of characters for the user. */ + CharacterList?: CharacterResult[]; + /** + * The profile of the players. This profile is not guaranteed to be up-to-date. For a new player, this profile will not + * exist. + */ + PlayerProfile?: PlayerProfileModel; + /** List of statistics for this player. */ + PlayerStatistics?: StatisticValue[]; + /** Title data for this title. */ + TitleData?: { [key: string]: string | null }; + /** User specific custom data. */ + UserData?: { [key: string]: UserDataRecord }; + /** The version of the UserData that was returned. */ + UserDataVersion: number; + /** Array of inventory items in the user's current inventory. */ + UserInventory?: ItemInstance[]; + /** User specific read-only data. */ + UserReadOnlyData?: { [key: string]: UserDataRecord }; + /** The version of the Read-Only UserData that was returned. */ + UserReadOnlyDataVersion: number; + /** 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 }; + +} + +export interface GetPlayerProfileRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Unique PlayFab assigned ID of the user on whom the operation will be performed. */ + PlayFabId?: string; + /** + * If non-null, this determines which properties of the resulting player profiles to return. For API calls from the client, + * only the allowed client profile properties for the title may be requested. These allowed properties are configured in + * the Game Manager "Client Profile Options" tab in the "Settings" section. + */ + ProfileConstraints?: PlayerProfileViewConstraints; + +} + +export interface GetPlayerProfileResult extends PlayFabModule.IPlayFabResultCommon { + /** + * The profile of the player. This profile is not guaranteed to be up-to-date. For a new player, this profile will not + * exist. + */ + PlayerProfile?: PlayerProfileModel; + +} + +export interface GetPlayerSegmentsRequest extends PlayFabModule.IPlayFabRequestCommon { + +} + +export interface GetPlayerSegmentsResult extends PlayFabModule.IPlayFabResultCommon { + /** Array of segments the requested player currently belongs to. */ + Segments?: GetSegmentResult[]; + +} + +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[]; + +} + +export interface GetPlayerStatisticsResult extends PlayFabModule.IPlayFabResultCommon { + /** User statistics for the requested user. */ + Statistics?: StatisticValue[]; + +} + +export interface GetPlayerStatisticVersionsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** unique name of the statistic */ + StatisticName?: string; + +} + +export interface GetPlayerStatisticVersionsResult extends PlayFabModule.IPlayFabResultCommon { + /** version change history of the statistic */ + StatisticVersions?: PlayerStatisticVersion[]; + +} + +export interface GetPlayerTagsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Optional namespace to filter results by */ + Namespace?: string; + /** Unique PlayFab assigned ID of the user on whom the operation will be performed. */ + PlayFabId: string; + +} + +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[]; + +} + +export interface GetPlayerTradesRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Returns only trades with the given status. If null, returns all trades. */ + StatusFilter?: string; + +} + +export interface GetPlayerTradesResponse extends PlayFabModule.IPlayFabResultCommon { + /** History of trades which this player has accepted. */ + AcceptedTrades?: TradeInfo[]; + /** The trades for this player which are currently available to be accepted. */ + OpenedTrades?: TradeInfo[]; + +} + +export interface GetPlayFabIDsFromFacebookIDsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. */ + FacebookIDs: string[]; + +} + +export interface GetPlayFabIDsFromFacebookIDsResult extends PlayFabModule.IPlayFabResultCommon { + /** Mapping of Facebook identifiers to PlayFab identifiers. */ + Data?: FacebookPlayFabIdPair[]; + +} + +export interface GetPlayFabIDsFromFacebookInstantGamesIdsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. */ + FacebookInstantGamesIds: string[]; + +} + +export interface GetPlayFabIDsFromFacebookInstantGamesIdsResult extends PlayFabModule.IPlayFabResultCommon { + /** Mapping of Facebook Instant Games identifiers to PlayFab identifiers. */ + Data?: FacebookInstantGamesPlayFabIdPair[]; + +} + +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[]; + +} + +export interface GetPlayFabIDsFromGameCenterIDsResult extends PlayFabModule.IPlayFabResultCommon { + /** Mapping of Game Center identifiers to PlayFab identifiers. */ + Data?: GameCenterPlayFabIdPair[]; + +} + +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[]; + +} + +export interface GetPlayFabIDsFromGenericIDsResult extends PlayFabModule.IPlayFabResultCommon { + /** Mapping of generic service identifiers to PlayFab identifiers. */ + Data?: GenericPlayFabIdPair[]; + +} + +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[]; + +} + +export interface GetPlayFabIDsFromGoogleIDsResult extends PlayFabModule.IPlayFabResultCommon { + /** Mapping of Google identifiers to PlayFab identifiers. */ + Data?: GooglePlayFabIdPair[]; + +} + +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[]; + +} + +export interface GetPlayFabIDsFromKongregateIDsResult extends PlayFabModule.IPlayFabResultCommon { + /** Mapping of Kongregate identifiers to PlayFab identifiers. */ + Data?: KongregatePlayFabIdPair[]; + +} + +export interface GetPlayFabIDsFromNintendoSwitchDeviceIdsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. */ + NintendoSwitchDeviceIds: string[]; + +} + +export interface GetPlayFabIDsFromNintendoSwitchDeviceIdsResult extends PlayFabModule.IPlayFabResultCommon { + /** Mapping of Nintendo Switch Device identifiers to PlayFab identifiers. */ + Data?: NintendoSwitchPlayFabIdPair[]; + +} + +export interface GetPlayFabIDsFromPSNAccountIDsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Id of the PSN issuer environment. If null, defaults to 256 (production) */ + IssuerId?: number; + /** Array of unique PlayStation Network identifiers for which the title needs to get PlayFab identifiers. */ + PSNAccountIDs: string[]; + +} + +export interface GetPlayFabIDsFromPSNAccountIDsResult extends PlayFabModule.IPlayFabResultCommon { + /** Mapping of PlayStation Network identifiers to PlayFab identifiers. */ + Data?: PSNAccountPlayFabIdPair[]; + +} + +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[]; + +} + +export interface GetPlayFabIDsFromSteamIDsResult extends PlayFabModule.IPlayFabResultCommon { + /** Mapping of Steam identifiers to PlayFab identifiers. */ + Data?: SteamPlayFabIdPair[]; + +} + +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[]; + +} + +export interface GetPlayFabIDsFromTwitchIDsResult extends PlayFabModule.IPlayFabResultCommon { + /** Mapping of Twitch identifiers to PlayFab identifiers. */ + Data?: TwitchPlayFabIdPair[]; + +} + +export interface GetPlayFabIDsFromXboxLiveIDsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** The ID of Xbox Live sandbox. */ + Sandbox?: string; + /** Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. */ + XboxLiveAccountIDs: string[]; + +} + +export interface GetPlayFabIDsFromXboxLiveIDsResult extends PlayFabModule.IPlayFabResultCommon { + /** Mapping of PlayStation Network identifiers to PlayFab identifiers. */ + Data?: XboxLiveAccountPlayFabIdPair[]; + +} + +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[]; + +} + +export interface GetPublisherDataResult extends PlayFabModule.IPlayFabResultCommon { + /** a dictionary object of key / value pairs */ + Data?: { [key: string]: string | null }; + +} + +export interface GetPurchaseRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Purchase order identifier. */ + OrderId: string; + +} + +export interface GetPurchaseResult extends PlayFabModule.IPlayFabResultCommon { + /** Purchase order identifier. */ + OrderId?: string; + /** Payment provider used for transaction (If not VC) */ + PaymentProvider?: string; + /** Date and time of the purchase. */ + PurchaseDate: string; + /** Provider transaction ID (If not VC) */ + TransactionId?: string; + /** PlayFab transaction status */ + TransactionStatus?: string; + +} + +export interface GetSegmentResult { + /** Identifier of the segments AB Test, if it is attached to one. */ + ABTestParent?: string; + /** Unique identifier for this segment. */ + Id: string; + /** Segment name. */ + Name?: string; + +} + +export interface GetSharedGroupDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** If true, return the list of all members of the shared group. */ + GetMembers?: boolean; + /** + * 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[]; + /** Unique identifier for the shared group. */ + SharedGroupId: string; + +} + +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[]; + +} + +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; + +} + +export interface GetStoreItemsResult extends PlayFabModule.IPlayFabResultCommon { + /** The base catalog that this store is a part of. */ + CatalogVersion?: string; + /** Additional data about the store. */ + MarketingData?: StoreMarketingModel; + /** How the store was last updated (Admin or a third party). */ + Source?: string; + /** Array of items which can be purchased from this store. */ + Store?: StoreItem[]; + /** The ID of this store. */ + StoreId?: string; + +} + +export interface GetTimeRequest extends PlayFabModule.IPlayFabRequestCommon { + +} + +export interface GetTimeResult extends PlayFabModule.IPlayFabResultCommon { + /** Current server time when the request was received, in UTC */ + Time: string; + +} + +export interface GetTitleDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Specific keys to search for in the title data (leave null to get all keys) */ + Keys?: string[]; + +} + +export interface GetTitleDataResult extends PlayFabModule.IPlayFabResultCommon { + /** a dictionary object of key / value pairs */ + Data?: { [key: string]: string | null }; + +} + +export interface GetTitleNewsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Limits the results to the last n entries. Defaults to 10 if not set. */ + Count?: number; + +} + +export interface GetTitleNewsResult extends PlayFabModule.IPlayFabResultCommon { + /** Array of news items. */ + News?: TitleNewsItem[]; + +} + +export interface GetTitlePublicKeyRequest 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; + /** The shared secret key for this title */ + TitleSharedSecret: string; + +} + +export interface GetTitlePublicKeyResult extends PlayFabModule.IPlayFabResultCommon { + /** Base64 encoded RSA CSP byte array blob containing the title's public RSA key */ + RSAPublicKey?: string; + +} + +export interface GetTradeStatusRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Player who opened trade. */ + OfferingPlayerId: string; + /** Trade identifier as returned by OpenTradeOffer. */ + TradeId: string; + +} + +export interface GetTradeStatusResponse extends PlayFabModule.IPlayFabResultCommon { + /** Information about the requested trade. */ + Trade?: TradeInfo; + +} + +export interface GetUserDataRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + * 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; + /** List of unique keys to load from. */ + 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; + +} + +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; + +} + +export interface GetUserInventoryRequest extends PlayFabModule.IPlayFabRequestCommon { + +} + +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 }; + +} + +export interface GetWindowsHelloChallengeRequest extends PlayFabModule.IPlayFabRequestCommon { + /** SHA256 hash of the PublicKey generated by Windows Hello. */ + PublicKeyHint: 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; + +} + +export interface GetWindowsHelloChallengeResponse extends PlayFabModule.IPlayFabResultCommon { + /** Server generated challenge to be signed by the user. */ + Challenge?: string; + +} + +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; + +} + +export interface GrantCharacterToUserRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Catalog version from which items are to be granted. */ + CatalogVersion?: string; + /** Non-unique display name of the character being granted (1-40 characters in length). */ + CharacterName: 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; + +} + +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; + +} + +export interface ItemInstance { + /** Game specific comment associated with this instance when it was added to the user inventory. */ + Annotation?: string; + /** Array of unique items that were awarded when this catalog item was purchased. */ + BundleContents?: 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; + /** Catalog version for the inventory item, when this instance was created. */ + CatalogVersion?: string; + /** + * A set of custom key-value pairs on the instance of the inventory item, which is not to be confused with the catalog + * item's custom data. + */ + CustomData?: { [key: string]: string | null }; + /** CatalogItem.DisplayName at the time this item was purchased. */ + DisplayName?: string; + /** Timestamp for when this instance will expire. */ + Expiration?: string; + /** Class name for the inventory item, as defined in the catalog. */ + ItemClass?: string; + /** 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; + /** Timestamp for when this instance was purchased. */ + PurchaseDate?: string; + /** Total number of remaining uses, if this is a consumable item. */ + RemainingUses?: number; + /** Currency type for the cost of the catalog item. Not available when granting items. */ + UnitCurrency?: string; + /** Cost of the catalog item in the given currency. Not available when granting items. */ + UnitPrice: number; + /** The number of uses that were added or removed to this item in this call. */ + UsesIncrementedBy?: number; + +} + +export interface ItemPurchaseRequest { + /** Title-specific text concerning this purchase. */ + Annotation?: string; + /** Unique ItemId of the item to purchase. */ + ItemId: string; + /** How many of this item to purchase. Min 1, maximum 25. */ + Quantity: number; + /** Items to be upgraded as a result of this purchase (upgraded items are hidden, as they are "replaced" by the new items). */ + UpgradeFromItems?: string[]; + +} + +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; + +} + +export interface LinkAndroidDeviceIDRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Specific model of the user's device. */ + AndroidDevice?: string; + /** Android device identifier for the user's device. */ + AndroidDeviceId: string; + /** If another user is already linked to the device, unlink the other user and re-link. */ + ForceLink?: boolean; + /** Specific Operating System version for the user's device. */ + OS?: string; + +} + +export interface LinkAndroidDeviceIDResult extends PlayFabModule.IPlayFabResultCommon { + +} + +export interface LinkAppleRequest extends PlayFabModule.IPlayFabRequestCommon { + /** If another user is already linked to a specific Apple account, unlink the other user and re-link. */ + ForceLink?: boolean; + /** + * The JSON Web token (JWT) returned by Apple after login. Represented as the identityToken field in the authorization + * credential payload. Used to validate the request and find the user ID (Apple subject) to link with. + */ + IdentityToken: string; + +} + +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; + +} + +export interface LinkCustomIDResult extends PlayFabModule.IPlayFabResultCommon { + +} + +export interface LinkedPlatformAccountModel { + /** Linked account email of the user on the platform, if available */ + Email?: string; + /** Authentication platform */ + Platform?: string; + /** Unique account identifier of the user on the platform */ + PlatformUserId?: string; + /** Linked account username of the user on the platform, if available */ + Username?: string; + +} + +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; + +} + +export interface LinkFacebookAccountResult extends PlayFabModule.IPlayFabResultCommon { + +} + +export interface LinkFacebookInstantGamesIdRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Facebook Instant Games signature for the user. */ + FacebookInstantGamesSignature: string; + /** If another user is already linked to the Facebook Instant Games ID, unlink the other user and re-link. */ + ForceLink?: boolean; + +} + +export interface LinkFacebookInstantGamesIdResult extends PlayFabModule.IPlayFabResultCommon { + +} + +export interface LinkGameCenterAccountRequest extends PlayFabModule.IPlayFabRequestCommon { + /** If another user is already linked to the account, unlink the other user and re-link. */ + ForceLink?: boolean; + /** Game Center identifier for the player account to be linked. */ + GameCenterId: string; + /** The URL for the public encryption key that will be used to verify the signature. */ + PublicKeyUrl?: string; + /** A random value used to compute the hash and keep it randomized. */ + Salt?: string; + /** The verification signature of the authentication payload. */ + Signature?: string; + /** + * The integer representation of date and time that the signature was created on. PlayFab will reject authentication + * signatures not within 10 minutes of the server's current time. + */ + Timestamp?: string; + +} + +export interface LinkGameCenterAccountResult extends PlayFabModule.IPlayFabResultCommon { + +} + +export interface LinkGoogleAccountRequest extends PlayFabModule.IPlayFabRequestCommon { + /** If another user is already linked to the account, unlink the other user and re-link. */ + ForceLink?: boolean; + /** + * 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; + +} + +export interface LinkGoogleAccountResult extends PlayFabModule.IPlayFabResultCommon { + +} + +export interface LinkIOSDeviceIDRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Vendor-specific iOS identifier for the user's device. */ + DeviceId: 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; + /** Specific Operating System version for the user's device. */ + OS?: string; + +} + +export interface LinkIOSDeviceIDResult extends PlayFabModule.IPlayFabResultCommon { + +} + +export interface LinkKongregateAccountRequest extends PlayFabModule.IPlayFabRequestCommon { + /** 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; + /** Numeric user ID assigned by Kongregate */ + KongregateId: string; + +} + +export interface LinkKongregateAccountResult extends PlayFabModule.IPlayFabResultCommon { + +} + +export interface LinkNintendoSwitchAccountRequest extends PlayFabModule.IPlayFabRequestCommon { + /** ID of the Nintendo Switch environment. If null, defaults to the production environment. */ + EnvironmentId?: string; + /** If another user is already linked to a specific Nintendo Switch account, unlink the other user and re-link. */ + ForceLink?: boolean; + /** + * The JSON Web token (JWT) returned by Nintendo after login. Used to validate the request and find the user ID (Nintendo + * Switch subject) to link with. + */ + IdentityToken: string; + +} + +export interface LinkNintendoSwitchDeviceIdRequest extends PlayFabModule.IPlayFabRequestCommon { + /** If another user is already linked to the Nintendo Switch Device ID, unlink the other user and re-link. */ + ForceLink?: boolean; + /** Nintendo Switch unique identifier for the user's device. */ + NintendoSwitchDeviceId: string; + +} + +export interface LinkNintendoSwitchDeviceIdResult extends PlayFabModule.IPlayFabResultCommon { + +} + +export interface LinkOpenIdConnectRequest extends PlayFabModule.IPlayFabRequestCommon { + /** A name that identifies which configured OpenID Connect provider relationship to use. Maximum 100 characters. */ + ConnectionId: string; + /** If another user is already linked to a specific OpenId Connect user, unlink the other user and re-link. */ + ForceLink?: boolean; + /** + * The JSON Web token (JWT) returned by the identity provider after login. Represented as the id_token field in the + * identity provider's response. Used to validate the request and find the user ID (OpenID Connect subject) to link with. + */ + IdToken: string; + +} + +export interface LinkPSNAccountRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Authentication code provided by the PlayStation Network. */ + AuthCode: string; + /** If another user is already linked to the account, unlink the other user and re-link. */ + ForceLink?: boolean; + /** Id of the PSN issuer environment. If null, defaults to 256 (production) */ + IssuerId?: number; + /** Redirect URI supplied to PSN when requesting an auth code */ + RedirectUri: string; + +} + +export interface LinkPSNAccountResult extends PlayFabModule.IPlayFabResultCommon { + +} + +export interface LinkSteamAccountRequest extends PlayFabModule.IPlayFabRequestCommon { + /** If another user is already linked to the account, unlink the other user and re-link. */ + ForceLink?: boolean; + /** + * 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; + +} + +export interface LinkSteamAccountResult extends PlayFabModule.IPlayFabResultCommon { + +} + +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; + +} + +export interface LinkTwitchAccountResult extends PlayFabModule.IPlayFabResultCommon { + +} + +export interface LinkWindowsHelloAccountRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Device name. */ + DeviceName?: string; + /** If another user is already linked to the account, unlink the other user and re-link. */ + ForceLink?: boolean; + /** PublicKey generated by Windows Hello. */ + PublicKey: string; + /** Player's user named used by Windows Hello. */ + UserName: string; + +} + +export interface LinkWindowsHelloAccountResponse extends PlayFabModule.IPlayFabResultCommon { + +} + +export interface LinkXboxAccountRequest extends PlayFabModule.IPlayFabRequestCommon { + /** If another user is already linked to the account, unlink the other user and re-link. */ + ForceLink?: boolean; + /** Token provided by the Xbox Live SDK/XDK method GetTokenAndSignatureAsync("POST", "https://playfabapi.com/", ""). */ + XboxToken: string; + +} + +export interface LinkXboxAccountResult extends PlayFabModule.IPlayFabResultCommon { + +} + +export interface ListUsersCharactersRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Unique PlayFab assigned ID of the user on whom the operation will be performed. */ + PlayFabId?: string; + +} + +export interface ListUsersCharactersResult extends PlayFabModule.IPlayFabResultCommon { + /** The requested list of characters. */ + Characters?: CharacterResult[]; + +} + +export interface LocationModel { + /** City name. */ + City?: string; + /** 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; + /** Latitude coordinate of the geographic location. */ + Latitude?: number; + /** Longitude coordinate of the geographic location. */ + Longitude?: number; + +} + +type LoginIdentityProvider = "Unknown" + | "PlayFab" + | "Custom" + | "GameCenter" + | "GooglePlay" + | "Steam" + | "XBoxLive" + | "PSN" + | "Kongregate" + | "Facebook" + | "IOSDevice" + | "AndroidDevice" + | "Twitch" + | "WindowsHello" + | "GameServer" + | "CustomServer" + | "NintendoSwitch" + | "FacebookInstantGames" + | "OpenIdConnect" + | "Apple" + | "NintendoSwitchAccount"; + +export interface LoginResult extends PlayFabModule.IPlayFabResultCommon { + /** + * If LoginTitlePlayerAccountEntity flag is set on the login request the title_player_account will also be logged in and + * returned. + */ + EntityToken?: EntityTokenResponse; + /** Results for requested info. */ + InfoResultPayload?: GetPlayerCombinedInfoResultPayload; + /** The time of this user's previous login. If there was no previous login, then it's DateTime.MinValue */ + LastLoginTime?: string; + /** True if the account was newly created on this login. */ + NewlyCreated: boolean; + /** Player's unique PlayFabId. */ + PlayFabId?: string; + /** Unique token authorizing the user and game at the server level, for the current session. */ + SessionTicket?: string; + /** Settings specific to this user. */ + SettingsForUser?: UserSettings; + /** The experimentation treatments for this user at the time of login. */ + TreatmentAssignment?: TreatmentAssignment; + +} + +export interface LoginWithAndroidDeviceIDRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Specific model of the user's device. */ + AndroidDevice?: string; + /** Android device identifier for the user's device. */ + AndroidDeviceId?: string; + /** Automatically create a PlayFab account if one is not currently linked to this ID. */ + CreateAccount?: boolean; + /** Base64 encoded body that is encrypted with the Title's public RSA key (Enterprise Only). */ + EncryptedRequest?: string; + /** Flags for which pieces of info to return for the user. */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + /** Specific Operating System version for the user's device. */ + OS?: string; + /** Player secret that is used to verify API request signatures (Enterprise Only). */ + PlayerSecret?: 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; + +} + +export interface LoginWithAppleRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Automatically create a PlayFab account if one is not currently linked to this ID. */ + CreateAccount?: boolean; + /** Base64 encoded body that is encrypted with the Title's public RSA key (Enterprise Only). */ + EncryptedRequest?: string; + /** + * The JSON Web token (JWT) returned by Apple after login. Represented as the identityToken field in the authorization + * credential payload. + */ + IdentityToken: string; + /** Flags for which pieces of info to return for the user. */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + /** Player secret that is used to verify API request signatures (Enterprise Only). */ + PlayerSecret?: 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; + +} + +export interface LoginWithCustomIDRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Automatically create a PlayFab account if one is not currently linked to this ID. */ + CreateAccount?: boolean; + /** Custom unique identifier for the user, generated by the title. */ + CustomId?: string; + /** Base64 encoded body that is encrypted with the Title's public RSA key (Enterprise Only). */ + EncryptedRequest?: string; + /** Flags for which pieces of info to return for the user. */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + /** Player secret that is used to verify API request signatures (Enterprise Only). */ + PlayerSecret?: 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; + +} + +export interface LoginWithEmailAddressRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Email address for the account. */ + Email: string; + /** Flags for which pieces of info to return for the user. */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + /** Password for the PlayFab account (6-100 characters) */ + Password: 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; + +} + +export interface LoginWithFacebookInstantGamesIdRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Automatically create a PlayFab account if one is not currently linked to this ID. */ + CreateAccount?: boolean; + /** Base64 encoded body that is encrypted with the Title's public RSA key (Enterprise Only). */ + EncryptedRequest?: string; + /** Facebook Instant Games signature for the user. */ + FacebookInstantGamesSignature: string; + /** Flags for which pieces of info to return for the user. */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + /** Player secret that is used to verify API request signatures (Enterprise Only). */ + PlayerSecret?: 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; + +} + +export interface LoginWithFacebookRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Unique identifier from Facebook for the user. */ + AccessToken: string; + /** Automatically create a PlayFab account if one is not currently linked to this ID. */ + CreateAccount?: boolean; + /** Base64 encoded body that is encrypted with the Title's public RSA key (Enterprise Only). */ + EncryptedRequest?: string; + /** Flags for which pieces of info to return for the user. */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + /** Player secret that is used to verify API request signatures (Enterprise Only). */ + PlayerSecret?: 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; + +} + +export interface LoginWithGameCenterRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Automatically create a PlayFab account if one is not currently linked to this ID. */ + CreateAccount?: boolean; + /** Base64 encoded body that is encrypted with the Title's public RSA key (Enterprise Only). */ + EncryptedRequest?: string; + /** Flags for which pieces of info to return for the user. */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + /** Unique Game Center player id. */ + PlayerId?: string; + /** Player secret that is used to verify API request signatures (Enterprise Only). */ + PlayerSecret?: string; + /** The URL for the public encryption key that will be used to verify the signature. */ + PublicKeyUrl?: string; + /** A random value used to compute the hash and keep it randomized. */ + Salt?: string; + /** The verification signature of the authentication payload. */ + Signature?: string; + /** + * The integer representation of date and time that the signature was created on. PlayFab will reject authentication + * signatures not within 10 minutes of the server's current time. + */ + 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; + +} + +export interface LoginWithGoogleAccountRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Automatically create a PlayFab account if one is not currently linked to this ID. */ + CreateAccount?: boolean; + /** Base64 encoded body that is encrypted with the Title's public RSA key (Enterprise Only). */ + EncryptedRequest?: string; + /** Flags for which pieces of info to return for the user. */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + /** Player secret that is used to verify API request signatures (Enterprise Only). */ + PlayerSecret?: 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; + /** + * 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; + +} + +export interface LoginWithIOSDeviceIDRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Automatically create a PlayFab account if one is not currently linked to this ID. */ + CreateAccount?: boolean; + /** Vendor-specific iOS identifier for the user's device. */ + DeviceId?: string; + /** Specific model of the user's device. */ + DeviceModel?: string; + /** Base64 encoded body that is encrypted with the Title's public RSA key (Enterprise Only). */ + EncryptedRequest?: string; + /** Flags for which pieces of info to return for the user. */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + /** Specific Operating System version for the user's device. */ + OS?: string; + /** Player secret that is used to verify API request signatures (Enterprise Only). */ + PlayerSecret?: 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; + +} + +export interface LoginWithKongregateRequest extends PlayFabModule.IPlayFabRequestCommon { + /** 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 ID. */ + CreateAccount?: boolean; + /** Base64 encoded body that is encrypted with the Title's public RSA key (Enterprise Only). */ + EncryptedRequest?: string; + /** Flags for which pieces of info to return for the user. */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + /** Numeric user ID assigned by Kongregate */ + KongregateId?: string; + /** Player secret that is used to verify API request signatures (Enterprise Only). */ + PlayerSecret?: 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; + +} + +export interface LoginWithNintendoSwitchAccountRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Automatically create a PlayFab account if one is not currently linked to this ID. */ + CreateAccount?: boolean; + /** Base64 encoded body that is encrypted with the Title's public RSA key (Enterprise Only). */ + EncryptedRequest?: string; + /** ID of the Nintendo Switch environment. If null, defaults to the production environment. */ + EnvironmentId?: string; + /** The JSON Web token (JWT) returned by Nintendo after login. */ + IdentityToken: string; + /** Flags for which pieces of info to return for the user. */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + /** Player secret that is used to verify API request signatures (Enterprise Only). */ + PlayerSecret?: 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; + +} + +export interface LoginWithNintendoSwitchDeviceIdRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Automatically create a PlayFab account if one is not currently linked to this ID. */ + CreateAccount?: boolean; + /** Base64 encoded body that is encrypted with the Title's public RSA key (Enterprise Only). */ + EncryptedRequest?: string; + /** Flags for which pieces of info to return for the user. */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + /** Nintendo Switch unique identifier for the user's device. */ + NintendoSwitchDeviceId?: string; + /** Player secret that is used to verify API request signatures (Enterprise Only). */ + PlayerSecret?: 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; + +} + +export interface LoginWithOpenIdConnectRequest extends PlayFabModule.IPlayFabRequestCommon { + /** A name that identifies which configured OpenID Connect provider relationship to use. Maximum 100 characters. */ + ConnectionId: string; + /** Automatically create a PlayFab account if one is not currently linked to this ID. */ + CreateAccount?: boolean; + /** Base64 encoded body that is encrypted with the Title's public RSA key (Enterprise Only). */ + EncryptedRequest?: string; + /** + * The JSON Web token (JWT) returned by the identity provider after login. Represented as the id_token field in the + * identity provider's response. + */ + IdToken: string; + /** Flags for which pieces of info to return for the user. */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + /** Player secret that is used to verify API request signatures (Enterprise Only). */ + PlayerSecret?: 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; + +} + +export interface LoginWithPlayFabRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Flags for which pieces of info to return for the user. */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + /** Password for the PlayFab account (6-100 characters) */ + Password: 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; + /** PlayFab username for the account. */ + Username: string; + +} + +export interface LoginWithPSNRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Auth code provided by the PSN OAuth provider. */ + AuthCode?: string; + /** Automatically create a PlayFab account if one is not currently linked to this ID. */ + CreateAccount?: boolean; + /** Base64 encoded body that is encrypted with the Title's public RSA key (Enterprise Only). */ + EncryptedRequest?: string; + /** Flags for which pieces of info to return for the user. */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + /** Id of the PSN issuer environment. If null, defaults to 256 (production) */ + IssuerId?: number; + /** Player secret that is used to verify API request signatures (Enterprise Only). */ + PlayerSecret?: string; + /** Redirect URI supplied to PSN when requesting an auth code */ + RedirectUri?: 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; + +} + +export interface LoginWithSteamRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Automatically create a PlayFab account if one is not currently linked to this ID. */ + CreateAccount?: boolean; + /** Base64 encoded body that is encrypted with the Title's public RSA key (Enterprise Only). */ + EncryptedRequest?: string; + /** Flags for which pieces of info to return for the user. */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + /** Player secret that is used to verify API request signatures (Enterprise Only). */ + PlayerSecret?: 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; + /** + * 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; + +} + +export interface LoginWithTwitchRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Token issued by Twitch's API for the user. */ + AccessToken?: string; + /** Automatically create a PlayFab account if one is not currently linked to this ID. */ + CreateAccount?: boolean; + /** Base64 encoded body that is encrypted with the Title's public RSA key (Enterprise Only). */ + EncryptedRequest?: string; + /** Flags for which pieces of info to return for the user. */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + /** Player secret that is used to verify API request signatures (Enterprise Only). */ + PlayerSecret?: 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; + +} + +export interface LoginWithWindowsHelloRequest extends PlayFabModule.IPlayFabRequestCommon { + /** The signed response from the user for the Challenge. */ + ChallengeSignature: string; + /** Flags for which pieces of info to return for the user. */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + /** SHA256 hash of the PublicKey generated by Windows Hello. */ + PublicKeyHint: 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; + +} + +export interface LoginWithXboxRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Automatically create a PlayFab account if one is not currently linked to this ID. */ + CreateAccount?: boolean; + /** Base64 encoded body that is encrypted with the Title's public RSA key (Enterprise Only). */ + EncryptedRequest?: string; + /** Flags for which pieces of info to return for the user. */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + /** Player secret that is used to verify API request signatures (Enterprise Only). */ + PlayerSecret?: 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; + /** Token provided by the Xbox Live SDK/XDK method GetTokenAndSignatureAsync("POST", "https://playfabapi.com/", ""). */ + XboxToken?: string; + +} + +export interface LogStatement { + /** Optional object accompanying the message as contextual information */ + Data?: any; + /** 'Debug', 'Info', or 'Error' */ + Level?: string; + Message?: string; + +} + +export interface MatchmakeRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Build version to match against. [Note: Required if LobbyId is not specified] */ + BuildVersion?: string; + /** Character to use for stats based matching. Leave null to use account stats. */ + CharacterId?: 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; + /** Region to match make against. [Note: Required if LobbyId is not specified] */ + Region?: string; + /** Start a game session if one with an open slot is not found. Defaults to true. */ + StartNewIfNoneFound?: boolean; + /** Player statistic to use in finding a match. May be null for no stat-based matching. */ + StatisticName?: string; + /** Filter to include and/or exclude Game Server Instances associated with certain Tags */ + TagFilter?: CollectionFilter; + +} + +export interface MatchmakeResult extends PlayFabModule.IPlayFabResultCommon { + /** timestamp for when the server will expire, if applicable */ + Expires?: string; + /** unique lobby identifier of the server matched */ + LobbyID?: string; + /** time in milliseconds the application is configured to wait on matchmaking results */ + PollWaitTimeMS?: number; + /** IPV4 address of the server */ + ServerIPV4Address?: string; + /** IPV6 address of the server */ + ServerIPV6Address?: string; + /** port number to use for non-http communications with the server */ + ServerPort?: number; + /** Public DNS name (if any) of the server */ + ServerPublicDNSName?: string; + /** result of match making process */ + Status?: string; + /** server authorization ticket (used by RedeemMatchmakerTicket to validate user insertion into the game) */ + Ticket?: string; + +} + +type MatchmakeStatus = "Complete" + | "Waiting" + | "GameNotFound" + | "NoAvailableSlots" + | "SessionClosed"; + +export interface MembershipModel { + /** Whether this membership is active. That is, whether the MembershipExpiration time has been reached. */ + IsActive: boolean; + /** The time this membership expires */ + MembershipExpiration: string; + /** The id of the membership */ + MembershipId?: string; + /** + * Membership expirations can be explicitly overridden (via game manager or the admin api). If this membership has been + * overridden, this will be the new expiration time. + */ + OverrideExpiration?: string; + /** The list of subscriptions that this player has for this membership */ + Subscriptions?: SubscriptionModel[]; + +} + +export interface ModifyUserVirtualCurrencyResult extends PlayFabModule.IPlayFabResultCommon { + /** Balance of the virtual currency after modification. */ + Balance: number; + /** + * 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; + /** User currency was subtracted from. */ + PlayFabId?: string; + /** Name of the virtual currency which was modified. */ + VirtualCurrency?: string; + +} + +export interface NameIdentifier { + /** Id Identifier, if present */ + Id?: string; + /** Name Identifier, if present */ + Name?: string; + +} + +export interface NintendoSwitchPlayFabIdPair { + /** Unique Nintendo Switch Device identifier for a user. */ + NintendoSwitchDeviceId?: string; + /** Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the Nintendo Switch Device identifier. */ + PlayFabId?: string; + +} + +export interface OpenTradeRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + * 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[]; + /** 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[]; + +} + +export interface OpenTradeResponse extends PlayFabModule.IPlayFabResultCommon { + /** The information about the trade that was just opened. */ + Trade?: TradeInfo; + +} + +export interface PayForPurchaseRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Currency to use to fund the purchase. */ + Currency: string; + /** Purchase order identifier returned from StartPurchase. */ + OrderId: string; + /** Payment provider to use to fund the purchase. */ + ProviderName: string; + /** Payment provider transaction identifier. Required for Facebook Payments. */ + ProviderTransactionId?: string; + +} + +export interface PayForPurchaseResult extends PlayFabModule.IPlayFabResultCommon { + /** Local credit applied to the transaction (provider specific). */ + CreditApplied: number; + /** Purchase order identifier. */ + OrderId?: string; + /** Provider used for the transaction. */ + ProviderData?: string; + /** A token generated by the provider to authenticate the request (provider-specific). */ + ProviderToken?: string; + /** URL to the purchase provider page that details the purchase. */ + PurchaseConfirmationPageURL?: string; + /** Currency for the transaction, may be a virtual currency or real money. */ + PurchaseCurrency?: string; + /** Cost of the transaction. */ + PurchasePrice: number; + /** Status of the transaction. */ + Status?: string; + /** Virtual currencies granted by the transaction, if any. */ + VCAmount?: { [key: string]: number }; + /** Current virtual currency balances for the user. */ + VirtualCurrency?: { [key: string]: number }; + +} + +export interface PaymentOption { + /** Specific currency to use to fund the purchase. */ + Currency?: string; + /** Amount of the specified currency needed for the purchase. */ + Price: number; + /** Name of the purchase provider for this option. */ + ProviderName?: string; + /** Amount of existing credit the user has with the provider. */ + StoreCredit: number; + +} + +export interface PlayerLeaderboardEntry { + /** Title-specific display name of the user for this leaderboard entry. */ + DisplayName?: string; + /** PlayFab unique identifier of the user for this leaderboard entry. */ + PlayFabId?: string; + /** User's overall position in the leaderboard. */ + Position: number; + /** The profile of the user, if requested. */ + Profile?: PlayerProfileModel; + /** Specific value of the user's statistic. */ + StatValue: number; + +} + +export interface PlayerProfileModel { + /** List of advertising campaigns the player has been attributed to */ + AdCampaignAttributions?: AdCampaignAttributionModel[]; + /** URL of the player's avatar image */ + AvatarUrl?: string; + /** If the player is currently banned, the UTC Date when the ban expires */ + BannedUntil?: string; + /** List of all contact email info associated with the player account */ + ContactEmailAddresses?: ContactEmailInfoModel[]; + /** Player record created */ + Created?: string; + /** Player display name */ + DisplayName?: string; + /** List of experiment variants for the player. */ + ExperimentVariants?: string[]; + /** UTC time when the player most recently logged in to the title */ + LastLogin?: string; + /** List of all authentication systems linked to this player account */ + LinkedAccounts?: LinkedPlatformAccountModel[]; + /** List of geographic locations from which the player has logged in to the title */ + Locations?: LocationModel[]; + /** List of memberships for the player, along with whether are expired. */ + Memberships?: MembershipModel[]; + /** Player account origination */ + Origination?: string; + /** PlayFab player account unique identifier */ + PlayerId?: string; + /** Publisher this player belongs to */ + PublisherId?: string; + /** List of configured end points registered for sending the player push notifications */ + PushNotificationRegistrations?: PushNotificationRegistrationModel[]; + /** List of leaderboard statistic values for the player */ + Statistics?: StatisticModel[]; + /** List of player's tags for segmentation */ + Tags?: TagModel[]; + /** Title ID this player profile applies to */ + TitleId?: string; + /** + * Sum of the player's purchases made with real-money currencies, converted to US dollars equivalent and represented as a + * whole number of cents (1/100 USD). For example, 999 indicates nine dollars and ninety-nine cents. + */ + TotalValueToDateInUSD?: number; + /** List of the player's lifetime purchase totals, summed by real-money currency */ + ValuesToDate?: ValueToDateModel[]; + +} + +export interface PlayerProfileViewConstraints { + /** Whether to show player's avatar URL. Defaults to false */ + ShowAvatarUrl: boolean; + /** Whether to show the banned until time. Defaults to false */ + ShowBannedUntil: boolean; + /** Whether to show campaign attributions. Defaults to false */ + ShowCampaignAttributions: boolean; + /** Whether to show contact email addresses. Defaults to false */ + ShowContactEmailAddresses: boolean; + /** Whether to show the created date. Defaults to false */ + ShowCreated: boolean; + /** Whether to show the display name. Defaults to false */ + ShowDisplayName: boolean; + /** Whether to show player's experiment variants. Defaults to false */ + ShowExperimentVariants: boolean; + /** Whether to show the last login time. Defaults to false */ + ShowLastLogin: boolean; + /** Whether to show the linked accounts. Defaults to false */ + ShowLinkedAccounts: boolean; + /** Whether to show player's locations. Defaults to false */ + ShowLocations: boolean; + /** Whether to show player's membership information. Defaults to false */ + ShowMemberships: boolean; + /** Whether to show origination. Defaults to false */ + ShowOrigination: boolean; + /** Whether to show push notification registrations. Defaults to false */ + ShowPushNotificationRegistrations: boolean; + /** Reserved for future development */ + ShowStatistics: boolean; + /** Whether to show tags. Defaults to false */ + ShowTags: boolean; + /** Whether to show the total value to date in usd. Defaults to false */ + ShowTotalValueToDateInUsd: boolean; + /** Whether to show the values to date. Defaults to false */ + ShowValuesToDate: boolean; + +} + +export interface PlayerStatisticVersion { + /** time when the statistic version became active */ + ActivationTime: string; + /** time when the statistic version became inactive due to statistic version incrementing */ + DeactivationTime?: string; + /** time at which the statistic version was scheduled to become active, based on the configured ResetInterval */ + ScheduledActivationTime?: string; + /** time at which the statistic version was scheduled to become inactive, based on the configured ResetInterval */ + ScheduledDeactivationTime?: string; + /** name of the statistic when the version became active */ + StatisticName?: string; + /** version of the statistic */ + Version: number; + +} + +export interface PSNAccountPlayFabIdPair { + /** Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the PlayStation Network identifier. */ + PlayFabId?: string; + /** Unique PlayStation Network identifier for a user. */ + PSNAccountId?: string; + +} + +export interface PurchaseItemRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Catalog version for the items to be purchased (defaults to most recent version. */ + CatalogVersion?: string; + /** Unique PlayFab assigned ID for a specific character owned by a user */ + CharacterId?: string; + /** Unique identifier of the item to purchase. */ + ItemId: string; + /** Price the client expects to pay for the item (in case a new catalog or store was uploaded, with new prices). */ + Price: number; + /** Store to buy this item through. If not set, prices default to those in the catalog. */ + StoreId?: string; + /** Virtual currency to use to purchase the item. */ + VirtualCurrency: string; + +} + +export interface PurchaseItemResult extends PlayFabModule.IPlayFabResultCommon { + /** Details for the items purchased. */ + Items?: ItemInstance[]; + +} + +export interface PurchaseReceiptFulfillment { + /** Items granted to the player in fulfillment of the validated receipt. */ + FulfilledItems?: ItemInstance[]; + /** + * Source of the payment price information for the recorded purchase transaction. A value of 'Request' indicates that the + * price specified in the request was used, whereas a value of 'Catalog' indicates that the real-money price of the catalog + * item matching the product ID in the validated receipt transaction and the currency specified in the request (defaulting + * to USD) was used. + */ + RecordedPriceSource?: string; + /** Currency used to purchase the items (ISO 4217 currency code). */ + RecordedTransactionCurrency?: string; + /** Amount of the stated currency paid for the items, in centesimal units */ + RecordedTransactionTotal?: number; + +} + +type PushNotificationPlatform = "ApplePushNotificationService" + | "GoogleCloudMessaging"; + +export interface PushNotificationRegistrationModel { + /** Notification configured endpoint */ + NotificationEndpointARN?: string; + /** Push notification platform */ + Platform?: string; + +} + +export interface RedeemCouponRequest extends PlayFabModule.IPlayFabRequestCommon { + /** 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; + /** Generated coupon code to redeem. */ + CouponCode: string; + +} + +export interface RedeemCouponResult extends PlayFabModule.IPlayFabResultCommon { + /** Items granted to the player as a result of redeeming the coupon. */ + GrantedItems?: ItemInstance[]; + +} + +export interface RefreshPSNAuthTokenRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Auth code returned by PSN OAuth system. */ + AuthCode: string; + /** Id of the PSN issuer environment. If null, defaults to 256 (production) */ + IssuerId?: number; + /** Redirect URI supplied to PSN when requesting an auth code */ + RedirectUri: string; + +} + +type Region = "USCentral" + | "USEast" + | "EUWest" + | "Singapore" + | "Japan" + | "Brazil" + | "Australia"; + +export interface RegionInfo { + /** indicates whether the server specified is available in this region */ + Available: boolean; + /** name of the region */ + Name?: string; + /** url to ping to get roundtrip time */ + PingUrl?: string; + /** unique identifier for the region */ + Region?: string; + +} + +export interface RegisterForIOSPushNotificationRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Message to display when confirming push notification. */ + ConfirmationMessage?: string; + /** 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; + +} + +export interface RegisterForIOSPushNotificationResult extends PlayFabModule.IPlayFabResultCommon { + +} + +export interface RegisterPlayFabUserRequest extends PlayFabModule.IPlayFabRequestCommon { + /** An optional parameter for setting the display name for this title (3-25 characters). */ + DisplayName?: string; + /** User email address attached to their account */ + Email?: string; + /** Base64 encoded body that is encrypted with the Title's public RSA key (Enterprise Only). */ + EncryptedRequest?: string; + /** Flags for which pieces of info to return for the user. */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + /** Password for the PlayFab account (6-100 characters) */ + Password?: string; + /** Player secret that is used to verify API request signatures (Enterprise Only). */ + PlayerSecret?: 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; + /** + * 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; + +} + +export interface RegisterPlayFabUserResult extends PlayFabModule.IPlayFabResultCommon { + /** + * If LoginTitlePlayerAccountEntity flag is set on the login request the title_player_account will also be logged in and + * returned. + */ + EntityToken?: EntityTokenResponse; + /** 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; + /** Settings specific to this user. */ + SettingsForUser?: UserSettings; + /** PlayFab unique user name. */ + Username?: string; + +} + +export interface RegisterWithWindowsHelloRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Device name. */ + DeviceName?: string; + /** Base64 encoded body that is encrypted with the Title's public RSA key (Enterprise Only). */ + EncryptedRequest?: string; + /** Flags for which pieces of info to return for the user. */ + InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; + /** Player secret that is used to verify API request signatures (Enterprise Only). */ + PlayerSecret?: string; + /** PublicKey generated by Windows Hello. */ + PublicKey?: 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; + /** Player's user name used by Windows Hello. */ + UserName?: string; + +} + +export interface RemoveContactEmailRequest extends PlayFabModule.IPlayFabRequestCommon { + +} + +export interface RemoveContactEmailResult extends PlayFabModule.IPlayFabResultCommon { + +} + +export interface RemoveFriendRequest extends PlayFabModule.IPlayFabRequestCommon { + /** PlayFab identifier of the friend account which is to be removed. */ + FriendPlayFabId: string; + +} + +export interface RemoveFriendResult extends PlayFabModule.IPlayFabResultCommon { + +} + +export interface RemoveGenericIDRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Generic service identifier to be removed from the player. */ + GenericId: GenericServiceId; + +} + +export interface RemoveGenericIDResult extends PlayFabModule.IPlayFabResultCommon { + +} + +export interface RemoveSharedGroupMembersRequest 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 shared group. */ + SharedGroupId: string; + +} + +export interface RemoveSharedGroupMembersResult extends PlayFabModule.IPlayFabResultCommon { + +} + +export interface ReportAdActivityRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Type of activity, may be Opened, Closed, Start or End */ + Activity: string; + /** Unique ID of the placement to report for */ + PlacementId: string; + /** Unique ID of the reward the player was offered */ + RewardId: string; + +} + +export interface ReportAdActivityResult extends PlayFabModule.IPlayFabResultCommon { + +} + +export interface ReportPlayerClientRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Optional additional comment by reporting player. */ + Comment?: string; + /** Unique PlayFab identifier of the reported player. */ + ReporteeId: string; + +} + +export interface ReportPlayerClientResult extends PlayFabModule.IPlayFabResultCommon { + /** The number of remaining reports which may be filed today. */ + SubmissionsRemaining: number; + +} + +export interface RestoreIOSPurchasesRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Catalog version of the restored items. If null, defaults to primary catalog. */ + CatalogVersion?: string; + /** Base64 encoded receipt data, passed back by the App Store as a result of a successful purchase. */ + ReceiptData: string; + +} + +export interface RestoreIOSPurchasesResult extends PlayFabModule.IPlayFabResultCommon { + /** Fulfilled inventory items and recorded purchases in fulfillment of the validated receipt transactions. */ + Fulfillments?: PurchaseReceiptFulfillment[]; + +} + +export interface RewardAdActivityRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Placement unique ID */ + PlacementId: string; + /** Reward unique ID */ + RewardId: string; + +} + +export interface RewardAdActivityResult extends PlayFabModule.IPlayFabResultCommon { + /** PlayStream Event ID that was generated by this reward (all subsequent events are associated with this event identifier) */ + AdActivityEventId?: string; + /** Debug results from the grants */ + DebugResults?: string[]; + /** Id of the placement the reward was for */ + PlacementId?: string; + /** Name of the placement the reward was for */ + PlacementName?: string; + /** If placement has viewing limits indicates how many views are left */ + PlacementViewsRemaining?: number; + /** If placement has viewing limits indicates when they will next reset */ + PlacementViewsResetMinutes?: number; + /** Reward results */ + RewardResults?: AdRewardResults; + +} + +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; + +} + +export interface SendAccountRecoveryEmailRequest extends PlayFabModule.IPlayFabRequestCommon { + /** User email address attached to their account */ + Email: string; + /** The email template id of the account recovery email template to send. */ + EmailTemplateId?: 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; + +} + +export interface SendAccountRecoveryEmailResult extends PlayFabModule.IPlayFabResultCommon { + +} + +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[]; + +} + +export interface SetFriendTagsResult extends PlayFabModule.IPlayFabResultCommon { + +} + +export interface SetPlayerSecretRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Base64 encoded body that is encrypted with the Title's public RSA key (Enterprise Only). */ + EncryptedRequest?: string; + /** Player secret that is used to verify API request signatures (Enterprise Only). */ + PlayerSecret?: string; + +} + +export interface SetPlayerSecretResult extends PlayFabModule.IPlayFabResultCommon { + +} + +export interface SharedGroupDataRecord { + /** Timestamp for when this data was last updated. */ + LastUpdated: string; + /** Unique PlayFab identifier of the user to last update this value. */ + LastUpdatedBy?: string; + /** Indicates whether this data can be read by all users (public) or only members of the group (private). */ + Permission?: string; + /** Data stored for the specified group data key. */ + Value?: string; + +} - } +type SourceType = "Admin" + | "BackEnd" + | "GameClient" + | "GameServer" + | "Partner" + | "Custom" + | "API"; + +export interface StartGameRequest extends PlayFabModule.IPlayFabRequestCommon { + /** version information for the build of the game server which is to be started */ + BuildVersion: 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; + /** the title-defined game mode this server is to be running (defaults to 0 if there is only one mode) */ + GameMode: string; + /** the region to associate this server with for match filtering */ + Region: string; + /** player statistic for others to use in finding this game. May be null for no stat-based matching */ + StatisticName?: string; - export interface AddUsernamePasswordResult extends PlayFabModule.IPlayFabResultCommon { - /** PlayFab unique user name. */ - Username?: string; - - } - - export interface AddUserVirtualCurrencyRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Amount to be added to the user balance of the specified virtual currency. */ - Amount: number; - /** Name of the virtual currency which is to be incremented. */ - VirtualCurrency: string; - - } - - export interface AdPlacementDetails { - /** Placement unique ID */ - PlacementId?: string; - /** Placement name */ - PlacementName?: string; - /** If placement has viewing limits indicates how many views are left */ - PlacementViewsRemaining?: number; - /** If placement has viewing limits indicates when they will next reset */ - PlacementViewsResetMinutes?: number; - /** Optional URL to a reward asset */ - RewardAssetUrl?: string; - /** Reward description */ - RewardDescription?: string; - /** Reward unique ID */ - RewardId?: string; - /** Reward name */ - RewardName?: string; - - } - - export interface AdRewardItemGranted { - /** Catalog ID */ - CatalogId?: string; - /** Catalog item display name */ - DisplayName?: string; - /** Inventory instance ID */ - InstanceId?: string; - /** Item ID */ - ItemId?: string; - - } - - export interface AdRewardResults { - /** Array of the items granted to the player */ - GrantedItems?: AdRewardItemGranted[]; - /** Dictionary of virtual currencies that were granted to the player */ - GrantedVirtualCurrencies?: { [key: string]: number }; - /** Dictionary of statistics that were modified for the player */ - IncrementedStatistics?: { [key: string]: number }; - - } - - export interface AndroidDevicePushNotificationRegistrationRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Message to display when confirming push notification. */ - ConfirmationMessage?: string; - /** - * 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; - - } - - export interface AndroidDevicePushNotificationRegistrationResult extends PlayFabModule.IPlayFabResultCommon { - - } - - export interface AttributeInstallRequest extends PlayFabModule.IPlayFabRequestCommon { - /** The adid for this device. */ - Adid?: string; - /** The IdentifierForAdvertisers for iOS Devices. */ - Idfa?: string; - - } - - export interface AttributeInstallResult extends PlayFabModule.IPlayFabResultCommon { - - } - - export interface CancelTradeRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Trade identifier. */ - TradeId: string; - - } - - export interface CancelTradeResponse extends PlayFabModule.IPlayFabResultCommon { - /** Details about trade which was just canceled. */ - Trade?: TradeInfo; - - } - - export interface CartItem { - /** Description of the catalog item. */ - Description?: string; - /** Display name for the catalog item. */ - DisplayName?: string; - /** Class name to which catalog item belongs. */ - ItemClass?: string; - /** Unique identifier for the catalog item. */ - ItemId?: string; - /** Unique instance identifier for this catalog item. */ - ItemInstanceId?: string; - /** 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 }; - /** Cost of the catalog item for each applicable virtual currency. */ - VirtualCurrencyPrices?: { [key: string]: number }; - - } - - export interface CatalogItem { - /** - * 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; - /** catalog version for this item */ - CatalogVersion?: 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; - /** game specific custom data */ - CustomData?: string; - /** text description of item, to show in-game */ - Description?: string; - /** text name for the item, to show in-game */ - DisplayName?: string; - /** - * 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; - /** BETA: If true, then only a fixed number can ever be granted. */ - IsLimitedEdition: 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; - /** class to which the item belongs */ - ItemClass?: string; - /** unique identifier for this item */ - ItemId: string; - /** - * 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; - /** override prices for this item for specific currencies */ - RealCurrencyPrices?: { [key: string]: number }; - /** list of item tags */ - Tags?: string[]; - /** price of this item in virtual currencies and "RM" (the base Real Money purchase price, in USD pennies) */ - VirtualCurrencyPrices?: { [key: string]: number }; - - } - - 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 }; - - } - - 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; - - } - - export interface CatalogItemContainerInfo { - /** unique ItemId values for all items which will be added to the player inventory, once the container has been unlocked */ - ItemContents?: string[]; - /** - * 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 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 }; - - } - - export interface CharacterInventory { - /** The id of this character. */ - CharacterId?: string; - /** The inventory of this character. */ - Inventory?: ItemInstance[]; - - } - - export interface CharacterLeaderboardEntry { - /** 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; - /** Name of the character class for this entry. */ - CharacterType?: string; - /** Title-specific display name of the user for this leaderboard entry. */ - DisplayName?: string; - /** PlayFab unique identifier of the user for this leaderboard entry. */ - PlayFabId?: string; - /** User's overall position in the leaderboard. */ - Position: number; - /** Specific value of the user's statistic. */ - StatValue: number; - - } - - export interface CharacterResult { - /** 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"; - - export interface CollectionFilter { - /** List of Exclude rules, with any of which if a collection matches, it is excluded by the filter. */ - Excludes?: Container_Dictionary_String_String[]; - /** - * 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[]; - - } - - export interface ConfirmPurchaseRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Purchase order identifier returned from StartPurchase. */ - OrderId: string; - - } - - export interface ConfirmPurchaseResult extends PlayFabModule.IPlayFabResultCommon { - /** Array of items purchased. */ - Items?: ItemInstance[]; - /** Purchase order identifier. */ - OrderId?: string; - /** Date and time of the purchase. */ - PurchaseDate: string; - - } - - export interface ConsumeItemRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Unique PlayFab assigned ID for a specific character owned by a user */ - CharacterId?: string; - /** Number of uses to consume from the item. */ - ConsumeCount: number; - /** Unique instance identifier of the item to be consumed. */ - ItemInstanceId: string; - - } - - 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; - - } - - export interface ConsumePSNEntitlementsRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Which catalog to match granted entitlements against. If null, defaults to title default catalog */ - CatalogVersion?: string; - /** Id of the PSN service label to consume entitlements from */ - ServiceLabel: number; - - } - - export interface ConsumePSNEntitlementsResult extends PlayFabModule.IPlayFabResultCommon { - /** Array of items granted to the player as a result of consuming entitlements. */ - ItemsGranted?: ItemInstance[]; - - } - - export interface ConsumeXboxEntitlementsRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Catalog version to use */ - CatalogVersion?: string; - /** Token provided by the Xbox Live SDK/XDK method GetTokenAndSignatureAsync("POST", "https://playfabapi.com/", ""). */ - XboxToken: string; - - } - - export interface ConsumeXboxEntitlementsResult extends PlayFabModule.IPlayFabResultCommon { - /** Details for the items purchased. */ - Items?: ItemInstance[]; - - } - - export interface ContactEmailInfoModel { - /** The email address */ - EmailAddress?: string; - /** The name of the email info data */ - Name?: string; - /** The verification status of the email */ - VerificationStatus?: string; - - } - - export interface Container_Dictionary_String_String { - /** Content of data */ - Data?: { [key: string]: string | null }; - - } - - 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"; - - 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; - - } - - 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"; - - export interface CurrentGamesRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Build to match against. */ - BuildVersion?: string; - /** Game mode to look for. */ - GameMode?: string; - /** Region to check for Game Server Instances. */ - Region?: 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; - - } - - export interface CurrentGamesResult extends PlayFabModule.IPlayFabResultCommon { - /** number of games running */ - GameCount: number; - /** array of games found */ - Games?: GameInfo[]; - /** total number of players across all servers */ - PlayerCount: number; - - } - - export interface DeviceInfoRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Information posted to the PlayStream Event. Currently arbitrary, and specific to the environment sending it. */ - Info?: { [key: string]: any }; - - } - - type EmailVerificationStatus = "Unverified" - | "Pending" - | "Confirmed"; - - export interface EmptyResponse extends PlayFabModule.IPlayFabResultCommon { - - } - - export interface EmptyResult extends PlayFabModule.IPlayFabResultCommon { - - } - - export interface EntityKey { - /** Unique ID of the entity. */ - Id: string; - /** Entity type. See https://docs.microsoft.com/gaming/playfab/features/data/entities/available-built-in-entity-types */ - Type?: string; - - } - - export interface EntityTokenResponse { - /** The entity id and type. */ - Entity?: EntityKey; - /** The token used to set X-EntityToken for all entity based API calls. */ - EntityToken?: string; - /** The time the token will expire, if it is an expiring token, in UTC. */ - TokenExpiration?: string; - - } - - 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; - /** - * 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; - /** - * 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; - - } - - export interface ExecuteCloudScriptResult extends PlayFabModule.IPlayFabResultCommon { - /** Number of PlayFab API requests issued by the CloudScript function */ - APIRequestsIssued: number; - /** Information about the error, if any, that occurred during execution */ - Error?: ScriptExecutionError; - ExecutionTimeSeconds: number; - /** The name of the function that executed */ - FunctionName?: string; - /** The object returned from the CloudScript function, if any */ - FunctionResult?: any; - /** - * Flag indicating if the FunctionResult was too large and was subsequently dropped from this event. This only occurs if - * the total event size is larger than 350KB. - */ - FunctionResultTooLarge?: boolean; - /** Number of external HTTP requests issued by the CloudScript function */ - HttpRequestsIssued: number; - /** - * 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[]; - /** - * Flag indicating if the logs were too large and were subsequently dropped from this event. This only occurs if the total - * event size is larger than 350KB after the FunctionResult was removed. - */ - LogsTooLarge?: boolean; - MemoryConsumedBytes: number; - /** - * Processor time consumed while executing the function. This does not include time spent waiting on API calls or HTTP - * requests. - */ - ProcessorTimeSeconds: number; - /** The revision of the CloudScript that executed */ - Revision: number; - - } - - export interface FacebookInstantGamesPlayFabIdPair { - /** Unique Facebook Instant Games identifier for a user. */ - FacebookInstantGamesId?: string; - /** Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the Facebook Instant Games identifier. */ - PlayFabId?: string; - - } - - 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; - - } - - export interface FriendInfo { - /** Available Facebook information (if the user and PlayFab friend are also connected in Facebook). */ - FacebookInfo?: UserFacebookInfo; - /** PlayFab unique identifier for this friend. */ - FriendPlayFabId?: string; - /** Available Game Center information (if the user and PlayFab friend are also connected in Game Center). */ - GameCenterInfo?: UserGameCenterInfo; - /** The profile of the user, if requested. */ - Profile?: PlayerProfileModel; - /** Available PSN information, if the user and PlayFab friend are both connected to PSN. */ - PSNInfo?: UserPsnInfo; - /** Available Steam information (if the user and PlayFab friend are also connected in Steam). */ - SteamInfo?: UserSteamInfo; - /** Tags which have been associated with this friend. */ - Tags?: string[]; - /** Title-specific display name for this friend. */ - TitleDisplayName?: string; - /** PlayFab unique username for this friend. */ - Username?: string; - /** Available Xbox information, if the user and PlayFab friend are both connected to Xbox Live. */ - XboxInfo?: UserXboxInfo; - - } - - 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; - - } - - export interface GameInfo { - /** build version this server is running */ - BuildVersion?: string; - /** game mode this server is running */ - GameMode?: string; - /** game session custom data */ - GameServerData?: string; - /** game specific string denoting server configuration */ - GameServerStateEnum?: string; - /** last heartbeat of the game server instance, used in external game server provider mode */ - LastHeartbeat?: string; - /** unique lobby identifier for this game server */ - LobbyID?: string; - /** maximum players this server can support */ - MaxPlayers?: number; - /** array of current player IDs on this server */ - PlayerUserIds?: string[]; - /** region to which this server is associated */ - Region?: string; - /** duration in seconds this server has been running */ - RunTime: number; - /** IPV4 address of the server */ - ServerIPV4Address?: string; - /** IPV6 address of the server */ - ServerIPV6Address?: string; - /** port number to use for non-http communications with the server */ - ServerPort?: number; - /** Public DNS name (if any) of the server */ - ServerPublicDNSName?: string; - /** stastic used to match this game in player statistic matchmaking */ - StatisticName?: string; - /** game session tags */ - Tags?: { [key: string]: string | null }; - - } - - type GameInstanceState = "Open" - | "Closed"; - - 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; - - } - - export interface GameServerRegionsResult extends PlayFabModule.IPlayFabResultCommon { - /** array of regions found matching the request parameters */ - Regions?: RegionInfo[]; - - } - - 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; - - } - - 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; - - } - - export interface GetAccountInfoRequest extends PlayFabModule.IPlayFabRequestCommon { - /** User email address for the account to find (if no Username is specified). */ - Email?: string; - /** - * 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; - /** - * 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; - /** PlayFab Username for the account to find (if no PlayFabId is specified). */ - Username?: string; - - } - - export interface GetAccountInfoResult extends PlayFabModule.IPlayFabResultCommon { - /** Account information for the local user. */ - AccountInfo?: UserAccountInfo; - - } - - export interface GetAdPlacementsRequest extends PlayFabModule.IPlayFabRequestCommon { - /** The current AppId to use */ - AppId: string; - /** Using the name or unique identifier, filter the result for get a specific placement. */ - Identifier?: NameIdentifier; - - } - - export interface GetAdPlacementsResult extends PlayFabModule.IPlayFabResultCommon { - /** Array of results */ - AdPlacements?: AdPlacementDetails[]; - - } - - export interface GetCatalogItemsRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Which catalog is being requested. If null, uses the default catalog. */ - CatalogVersion?: string; - - } - - export interface GetCatalogItemsResult extends PlayFabModule.IPlayFabResultCommon { - /** Array of items which can be purchased. */ - Catalog?: CatalogItem[]; - - } - - export interface GetCharacterDataRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Unique PlayFab assigned ID for a specific character owned by a user */ - CharacterId: 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; - /** Specific keys to search for in the custom user data. */ - Keys?: string[]; - /** Unique PlayFab identifier of the user to load data for. Optional, defaults to yourself if not set. */ - PlayFabId?: string; - - } - - 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; - - } - - export interface GetCharacterInventoryRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Used to limit results to only those from a specific catalog version. */ - CatalogVersion?: string; - /** Unique PlayFab assigned ID for a specific character owned by a user */ - CharacterId: string; - - } - - 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 }; - - } - - export interface GetCharacterLeaderboardRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Optional character type on which to filter the leaderboard entries. */ - CharacterType?: string; - /** Maximum number of entries to retrieve. Default 10, maximum 100. */ - MaxResultsCount?: number; - /** First entry in the leaderboard to be retrieved. */ - StartPosition: number; - /** Unique identifier for the title-specific statistic for the leaderboard. */ - StatisticName: string; - - } - - export interface GetCharacterLeaderboardResult extends PlayFabModule.IPlayFabResultCommon { - /** Ordered list of leaderboard entries. */ - Leaderboard?: CharacterLeaderboardEntry[]; - - } - - export interface GetCharacterStatisticsRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Unique PlayFab assigned ID for a specific character owned by a user */ - CharacterId: string; - - } - - export interface GetCharacterStatisticsResult extends PlayFabModule.IPlayFabResultCommon { - /** The requested character statistics. */ - CharacterStatistics?: { [key: string]: number }; - - } - - export interface GetContentDownloadUrlRequest extends PlayFabModule.IPlayFabRequestCommon { - /** HTTP method to fetch item - GET or HEAD. Use HEAD when only fetching metadata. Default is GET. */ - HttpMethod?: string; - /** Key of the content item to fetch, usually formatted as a path, e.g. images/a.png */ - Key: string; - /** - * True to download through CDN. CDN provides higher download bandwidth and lower latency. However, if you want the latest, - * non-cached version of the content during development, set this to false. Default is true. - */ - ThruCDN?: boolean; - - } - - export interface GetContentDownloadUrlResult extends PlayFabModule.IPlayFabResultCommon { - /** URL for downloading content via HTTP GET or HEAD method. The URL will expire in approximately one hour. */ - URL?: string; - - } - - export interface GetFriendLeaderboardAroundPlayerRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Indicates whether Facebook friends should be included in the response. Default is true. */ - IncludeFacebookFriends?: boolean; - /** Indicates whether Steam service friends should be included in the response. Default is true. */ - IncludeSteamFriends?: boolean; - /** 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; - /** - * If non-null, this determines which properties of the resulting player profiles to return. For API calls from the client, - * only the allowed client profile properties for the title may be requested. These allowed properties are configured in - * the Game Manager "Client Profile Options" tab in the "Settings" section. - */ - ProfileConstraints?: PlayerProfileViewConstraints; - /** Statistic used to rank players for this leaderboard. */ - StatisticName: string; - /** The version of the leaderboard to get. */ - Version?: number; - /** Xbox token if Xbox friends should be included. Requires Xbox be configured on PlayFab. */ - XboxToken?: string; - - } - - export interface GetFriendLeaderboardAroundPlayerResult extends PlayFabModule.IPlayFabResultCommon { - /** Ordered listing of users and their positions in the requested leaderboard. */ - Leaderboard?: PlayerLeaderboardEntry[]; - /** The time the next scheduled reset will occur. Null if the leaderboard does not reset on a schedule. */ - NextReset?: string; - /** The version of the leaderboard returned. */ - Version: number; - - } - - export interface GetFriendLeaderboardRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Indicates whether Facebook friends should be included in the response. Default is true. */ - IncludeFacebookFriends?: boolean; - /** Indicates whether Steam service friends should be included in the response. Default is true. */ - IncludeSteamFriends?: boolean; - /** Maximum number of entries to retrieve. Default 10, maximum 100. */ - MaxResultsCount?: number; - /** - * If non-null, this determines which properties of the resulting player profiles to return. For API calls from the client, - * only the allowed client profile properties for the title may be requested. These allowed properties are configured in - * the Game Manager "Client Profile Options" tab in the "Settings" section. - */ - ProfileConstraints?: PlayerProfileViewConstraints; - /** Position in the leaderboard to start this listing (defaults to the first entry). */ - StartPosition: number; - /** Statistic used to rank friends for this leaderboard. */ - StatisticName: string; - /** The version of the leaderboard to get. */ - Version?: number; - /** Xbox token if Xbox friends should be included. Requires Xbox be configured on PlayFab. */ - XboxToken?: string; - - } - - export interface GetFriendsListRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Indicates whether Facebook friends should be included in the response. Default is true. */ - IncludeFacebookFriends?: boolean; - /** Indicates whether Steam service friends should be included in the response. Default is true. */ - IncludeSteamFriends?: boolean; - /** - * If non-null, this determines which properties of the resulting player profiles to return. For API calls from the client, - * only the allowed client profile properties for the title may be requested. These allowed properties are configured in - * the Game Manager "Client Profile Options" tab in the "Settings" section. - */ - ProfileConstraints?: PlayerProfileViewConstraints; - /** Xbox token if Xbox friends should be included. Requires Xbox be configured on PlayFab. */ - XboxToken?: string; - - } - - export interface GetFriendsListResult extends PlayFabModule.IPlayFabResultCommon { - /** Array of friends found. */ - Friends?: FriendInfo[]; - - } - - export interface GetLeaderboardAroundCharacterRequest extends PlayFabModule.IPlayFabRequestCommon { - /** 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; - /** Unique identifier for the title-specific statistic for the leaderboard. */ - StatisticName: string; - - } - - export interface GetLeaderboardAroundCharacterResult extends PlayFabModule.IPlayFabResultCommon { - /** Ordered list of leaderboard entries. */ - Leaderboard?: CharacterLeaderboardEntry[]; - - } - - export interface GetLeaderboardAroundPlayerRequest extends PlayFabModule.IPlayFabRequestCommon { - /** 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; - /** - * If non-null, this determines which properties of the resulting player profiles to return. For API calls from the client, - * only the allowed client profile properties for the title may be requested. These allowed properties are configured in - * the Game Manager "Client Profile Options" tab in the "Settings" section. - */ - ProfileConstraints?: PlayerProfileViewConstraints; - /** Statistic used to rank players for this leaderboard. */ - StatisticName: string; - /** The version of the leaderboard to get. */ - Version?: number; - - } - - export interface GetLeaderboardAroundPlayerResult extends PlayFabModule.IPlayFabResultCommon { - /** Ordered listing of users and their positions in the requested leaderboard. */ - Leaderboard?: PlayerLeaderboardEntry[]; - /** The time the next scheduled reset will occur. Null if the leaderboard does not reset on a schedule. */ - NextReset?: string; - /** The version of the leaderboard returned. */ - Version: number; - - } - - export interface GetLeaderboardForUsersCharactersRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Maximum number of entries to retrieve. */ - MaxResultsCount: number; - /** Unique identifier for the title-specific statistic for the leaderboard. */ - StatisticName: string; - - } - - export interface GetLeaderboardForUsersCharactersResult extends PlayFabModule.IPlayFabResultCommon { - /** Ordered list of leaderboard entries. */ - Leaderboard?: CharacterLeaderboardEntry[]; - - } - - export interface GetLeaderboardRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Maximum number of entries to retrieve. Default 10, maximum 100. */ - MaxResultsCount?: number; - /** - * If non-null, this determines which properties of the resulting player profiles to return. For API calls from the client, - * only the allowed client profile properties for the title may be requested. These allowed properties are configured in - * the Game Manager "Client Profile Options" tab in the "Settings" section. - */ - ProfileConstraints?: PlayerProfileViewConstraints; - /** Position in the leaderboard to start this listing (defaults to the first entry). */ - StartPosition: number; - /** Statistic used to rank players for this leaderboard. */ - StatisticName: string; - /** The version of the leaderboard to get. */ - Version?: number; - - } - - export interface GetLeaderboardResult extends PlayFabModule.IPlayFabResultCommon { - /** Ordered listing of users and their positions in the requested leaderboard. */ - Leaderboard?: PlayerLeaderboardEntry[]; - /** The time the next scheduled reset will occur. Null if the leaderboard does not reset on a schedule. */ - NextReset?: string; - /** The version of the leaderboard returned. */ - Version: number; - - } - - export interface GetPaymentTokenRequest extends PlayFabModule.IPlayFabRequestCommon { - /** The name of service to provide the payment token. Allowed Values are: xsolla */ - TokenProvider: string; - - } - - export interface GetPaymentTokenResult extends PlayFabModule.IPlayFabResultCommon { - /** PlayFab's purchase order identifier. */ - OrderId?: string; - /** The token from provider. */ - ProviderToken?: string; - - } - - export interface GetPhotonAuthenticationTokenRequest extends PlayFabModule.IPlayFabRequestCommon { - /** The Photon applicationId for the game you wish to log into. */ - PhotonApplicationId: string; - - } - - export interface GetPhotonAuthenticationTokenResult extends PlayFabModule.IPlayFabResultCommon { - /** The Photon authentication token for this game-session. */ - PhotonCustomAuthenticationToken?: string; - - } - - export interface GetPlayerCombinedInfoRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Flags for which pieces of info to return for the user. */ - InfoRequestParameters: GetPlayerCombinedInfoRequestParams; - /** PlayFabId of the user whose data will be returned. If not filled included, we return the data for the calling player. */ - PlayFabId?: string; - - } - - export interface GetPlayerCombinedInfoRequestParams { - /** 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 player profile. Defaults to false. Has no effect for a new player. */ - GetPlayerProfile: boolean; - /** Whether to get player statistics. Defaults to false. */ - GetPlayerStatistics: boolean; - /** Whether to get title data. Defaults to false. */ - GetTitleData: boolean; - /** Whether to get the player's account Info. Defaults to false */ - GetUserAccountInfo: boolean; - /** Whether to get the player's custom data. Defaults to false */ - GetUserData: boolean; - /** Whether to get the player's inventory. Defaults to false */ - GetUserInventory: boolean; - /** Whether to get the player's read only data. Defaults to false */ - GetUserReadOnlyData: boolean; - /** Whether to get the player's virtual currency balances. Defaults to false */ - GetUserVirtualCurrency: boolean; - /** Specific statistics to retrieve. Leave null to get all keys. Has no effect if GetPlayerStatistics is false */ - PlayerStatisticNames?: string[]; - /** Specifies the properties to return from the player profile. Defaults to returning the player's display name. */ - ProfileConstraints?: PlayerProfileViewConstraints; - /** Specific keys to search for in the custom data. Leave null to get all keys. Has no effect if GetTitleData is false */ - TitleDataKeys?: string[]; - /** Specific keys to search for in the custom data. Leave null to get all keys. Has no effect if GetUserData is false */ - UserDataKeys?: string[]; - /** - * Specific keys to search for in the custom data. Leave null to get all keys. Has no effect if GetUserReadOnlyData is - * false - */ - UserReadOnlyDataKeys?: string[]; - - } - - export interface GetPlayerCombinedInfoResult extends PlayFabModule.IPlayFabResultCommon { - /** Results for requested info. */ - InfoResultPayload?: GetPlayerCombinedInfoResultPayload; - /** Unique PlayFab assigned ID of the user on whom the operation will be performed. */ - PlayFabId?: string; - - } - - export interface GetPlayerCombinedInfoResultPayload { - /** Account information for the user. This is always retrieved. */ - AccountInfo?: UserAccountInfo; - /** Inventories for each character for the user. */ - CharacterInventories?: CharacterInventory[]; - /** List of characters for the user. */ - CharacterList?: CharacterResult[]; - /** - * The profile of the players. This profile is not guaranteed to be up-to-date. For a new player, this profile will not - * exist. - */ - PlayerProfile?: PlayerProfileModel; - /** List of statistics for this player. */ - PlayerStatistics?: StatisticValue[]; - /** Title data for this title. */ - TitleData?: { [key: string]: string | null }; - /** User specific custom data. */ - UserData?: { [key: string]: UserDataRecord }; - /** The version of the UserData that was returned. */ - UserDataVersion: number; - /** Array of inventory items in the user's current inventory. */ - UserInventory?: ItemInstance[]; - /** User specific read-only data. */ - UserReadOnlyData?: { [key: string]: UserDataRecord }; - /** The version of the Read-Only UserData that was returned. */ - UserReadOnlyDataVersion: number; - /** 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 }; - - } - - export interface GetPlayerProfileRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Unique PlayFab assigned ID of the user on whom the operation will be performed. */ - PlayFabId?: string; - /** - * If non-null, this determines which properties of the resulting player profiles to return. For API calls from the client, - * only the allowed client profile properties for the title may be requested. These allowed properties are configured in - * the Game Manager "Client Profile Options" tab in the "Settings" section. - */ - ProfileConstraints?: PlayerProfileViewConstraints; - - } - - export interface GetPlayerProfileResult extends PlayFabModule.IPlayFabResultCommon { - /** - * The profile of the player. This profile is not guaranteed to be up-to-date. For a new player, this profile will not - * exist. - */ - PlayerProfile?: PlayerProfileModel; - - } - - export interface GetPlayerSegmentsRequest extends PlayFabModule.IPlayFabRequestCommon { - - } - - export interface GetPlayerSegmentsResult extends PlayFabModule.IPlayFabResultCommon { - /** Array of segments the requested player currently belongs to. */ - Segments?: GetSegmentResult[]; - - } - - 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[]; - - } - - export interface GetPlayerStatisticsResult extends PlayFabModule.IPlayFabResultCommon { - /** User statistics for the requested user. */ - Statistics?: StatisticValue[]; - - } - - export interface GetPlayerStatisticVersionsRequest extends PlayFabModule.IPlayFabRequestCommon { - /** unique name of the statistic */ - StatisticName?: string; - - } +} + +export interface StartGameResult extends PlayFabModule.IPlayFabResultCommon { + /** timestamp for when the server should expire, if applicable */ + Expires?: string; + /** unique identifier for the lobby of the server started */ + LobbyID?: string; + /** password required to log into the server */ + Password?: string; + /** server IPV4 address */ + ServerIPV4Address?: string; + /** server IPV6 address */ + ServerIPV6Address?: string; + /** port on the server to be used for communication */ + ServerPort?: number; + /** server public DNS name */ + ServerPublicDNSName?: string; + /** unique identifier for the server */ + Ticket?: string; + +} + +export interface StartPurchaseRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Catalog version for the items to be purchased. Defaults to most recent catalog. */ + CatalogVersion?: string; + /** Array of items to purchase. */ + Items: ItemPurchaseRequest[]; + /** Store through which to purchase items. If not set, prices will be pulled from the catalog itself. */ + StoreId?: string; + +} + +export interface StartPurchaseResult extends PlayFabModule.IPlayFabResultCommon { + /** Cart items to be purchased. */ + Contents?: CartItem[]; + /** Purchase order identifier. */ + OrderId?: string; + /** Available methods by which the user can pay. */ + PaymentOptions?: PaymentOption[]; + /** Current virtual currency totals for the user. */ + VirtualCurrencyBalances?: { [key: string]: number }; + +} + +export interface StatisticModel { + /** Statistic name */ + Name?: string; + /** Statistic value */ + Value: number; + /** Statistic version (0 if not a versioned statistic) */ + Version: number; + +} + +export interface StatisticNameVersion { + /** unique name of the statistic */ + StatisticName: string; + /** the version of the statistic to be returned */ + Version: number; + +} + +export interface StatisticUpdate { + /** 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. Null when + * setting the statistic value for the first time. + */ + Version?: number; + +} + +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; + +} + +export interface SteamPlayFabIdPair { + /** Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the Steam identifier. */ + PlayFabId?: string; + /** Unique Steam identifier for a user. */ + SteamStringId?: string; + +} + +export interface StoreItem { + /** 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; + /** + * 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 for specific currencies */ + RealCurrencyPrices?: { [key: string]: number }; + /** Override prices for this item in virtual currencies and "RM" (the base Real Money purchase price, in USD pennies) */ + VirtualCurrencyPrices?: { [key: string]: number }; + +} + +export interface StoreMarketingModel { + /** Tagline for a store. */ + Description?: string; + /** Display name of a store as it will appear to users. */ + DisplayName?: string; + /** Custom data about a store. */ + Metadata?: any; + +} + +export interface SubscriptionModel { + /** When this subscription expires. */ + Expiration: string; + /** The time the subscription was orignially purchased */ + InitialSubscriptionTime: string; + /** Whether this subscription is currently active. That is, if Expiration > now. */ + IsActive: boolean; + /** The status of this subscription, according to the subscription provider. */ + Status?: string; + /** The id for this subscription */ + SubscriptionId?: string; + /** The item id for this subscription from the primary catalog */ + SubscriptionItemId?: string; + /** The provider for this subscription. Apple or Google Play are supported today. */ + SubscriptionProvider?: string; - export interface GetPlayerStatisticVersionsResult extends PlayFabModule.IPlayFabResultCommon { - /** version change history of the statistic */ - StatisticVersions?: PlayerStatisticVersion[]; +} + +type SubscriptionProviderStatus = "NoError" + | "Cancelled" + | "UnknownError" + | "BillingError" + | "ProductUnavailable" + | "CustomerDidNotAcceptPriceChange" + | "FreeTrial" + | "PaymentPending"; + +export interface SubtractUserVirtualCurrencyRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Amount to be subtracted from the user balance of the specified virtual currency. */ + Amount: number; + /** Name of the virtual currency which is to be decremented. */ + VirtualCurrency: string; + +} + +export interface TagModel { + /** Full value of the tag, including namespace */ + TagValue?: string; + +} + +type TitleActivationStatus = "None" + | "ActivatedTitleKey" + | "PendingSteam" + | "ActivatedSteam" + | "RevokedSteam"; + +export interface TitleNewsItem { + /** News item text. */ + Body?: string; + /** Unique identifier of news item. */ + NewsId?: string; + /** Date and time when the news item was posted. */ + Timestamp: string; + /** Title of the news item. */ + Title?: string; - } +} - export interface GetPlayerTagsRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Optional namespace to filter results by */ - Namespace?: string; - /** Unique PlayFab assigned ID of the user on whom the operation will be performed. */ - PlayFabId: string; +export interface TradeInfo { + /** Item instances from the accepting player that are used to fulfill the trade. If null, no one has accepted the trade. */ + AcceptedInventoryInstanceIds?: string[]; + /** The PlayFab ID of the player who accepted the trade. If null, no one has accepted the trade. */ + AcceptedPlayerId?: string; + /** An optional list of players allowed to complete this trade. If null, anybody can complete the trade. */ + AllowedPlayerIds?: string[]; + /** If set, The UTC time when this trade was canceled. */ + CancelledAt?: string; + /** If set, The UTC time when this trade was fulfilled. */ + FilledAt?: string; + /** If set, The UTC time when this trade was made invalid. */ + InvalidatedAt?: string; + /** The catalogItem Ids of the item instances being offered. */ + OfferedCatalogItemIds?: string[]; + /** The itemInstance Ids that are being offered. */ + OfferedInventoryInstanceIds?: string[]; + /** The PlayFabId for the offering player. */ + OfferingPlayerId?: string; + /** The UTC time when this trade was created. */ + OpenedAt?: string; + /** The catalogItem Ids requested in exchange. */ + RequestedCatalogItemIds?: string[]; + /** Describes the current state of this trade. */ + Status?: string; + /** The identifier for this trade. */ + TradeId?: string; - } +} - 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[]; +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"; + +export interface TreatmentAssignment { + /** List of the experiment variables. */ + Variables?: Variable[]; + /** List of the experiment variants. */ + Variants?: string[]; - } +} - export interface GetPlayerTradesRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Returns only trades with the given status. If null, returns all trades. */ - StatusFilter?: string; +export interface TwitchPlayFabIdPair { + /** Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the Twitch identifier. */ + PlayFabId?: string; + /** Unique Twitch identifier for a user. */ + TwitchId?: string; - } +} - export interface GetPlayerTradesResponse extends PlayFabModule.IPlayFabResultCommon { - /** History of trades which this player has accepted. */ - AcceptedTrades?: TradeInfo[]; - /** The trades for this player which are currently available to be accepted. */ - OpenedTrades?: TradeInfo[]; +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; - } +} - export interface GetPlayFabIDsFromFacebookIDsRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers. */ - FacebookIDs: string[]; +export interface UnlinkAndroidDeviceIDResult extends PlayFabModule.IPlayFabResultCommon { - } +} - export interface GetPlayFabIDsFromFacebookIDsResult extends PlayFabModule.IPlayFabResultCommon { - /** Mapping of Facebook identifiers to PlayFab identifiers. */ - Data?: FacebookPlayFabIdPair[]; +export interface UnlinkAppleRequest extends PlayFabModule.IPlayFabRequestCommon { - } +} - export interface GetPlayFabIDsFromFacebookInstantGamesIdsRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers. */ - FacebookInstantGamesIds: string[]; +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; - } +} - export interface GetPlayFabIDsFromFacebookInstantGamesIdsResult extends PlayFabModule.IPlayFabResultCommon { - /** Mapping of Facebook Instant Games identifiers to PlayFab identifiers. */ - Data?: FacebookInstantGamesPlayFabIdPair[]; +export interface UnlinkCustomIDResult extends PlayFabModule.IPlayFabResultCommon { - } +} - 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[]; +export interface UnlinkFacebookAccountRequest extends PlayFabModule.IPlayFabRequestCommon { - } +} - export interface GetPlayFabIDsFromGameCenterIDsResult extends PlayFabModule.IPlayFabResultCommon { - /** Mapping of Game Center identifiers to PlayFab identifiers. */ - Data?: GameCenterPlayFabIdPair[]; +export interface UnlinkFacebookAccountResult extends PlayFabModule.IPlayFabResultCommon { - } +} - 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[]; +export interface UnlinkFacebookInstantGamesIdRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Facebook Instant Games identifier for the user. If not specified, the most recently signed in ID will be used. */ + FacebookInstantGamesId?: string; - } +} - export interface GetPlayFabIDsFromGenericIDsResult extends PlayFabModule.IPlayFabResultCommon { - /** Mapping of generic service identifiers to PlayFab identifiers. */ - Data?: GenericPlayFabIdPair[]; +export interface UnlinkFacebookInstantGamesIdResult extends PlayFabModule.IPlayFabResultCommon { - } +} - 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[]; +export interface UnlinkGameCenterAccountRequest extends PlayFabModule.IPlayFabRequestCommon { - } +} - export interface GetPlayFabIDsFromGoogleIDsResult extends PlayFabModule.IPlayFabResultCommon { - /** Mapping of Google identifiers to PlayFab identifiers. */ - Data?: GooglePlayFabIdPair[]; +export interface UnlinkGameCenterAccountResult extends PlayFabModule.IPlayFabResultCommon { - } +} - 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[]; +export interface UnlinkGoogleAccountRequest extends PlayFabModule.IPlayFabRequestCommon { - } +} - export interface GetPlayFabIDsFromKongregateIDsResult extends PlayFabModule.IPlayFabResultCommon { - /** Mapping of Kongregate identifiers to PlayFab identifiers. */ - Data?: KongregatePlayFabIdPair[]; +export interface UnlinkGoogleAccountResult extends PlayFabModule.IPlayFabResultCommon { - } +} - export interface GetPlayFabIDsFromNintendoSwitchDeviceIdsRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers. */ - NintendoSwitchDeviceIds: string[]; +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; - } +} - export interface GetPlayFabIDsFromNintendoSwitchDeviceIdsResult extends PlayFabModule.IPlayFabResultCommon { - /** Mapping of Nintendo Switch Device identifiers to PlayFab identifiers. */ - Data?: NintendoSwitchPlayFabIdPair[]; +export interface UnlinkIOSDeviceIDResult extends PlayFabModule.IPlayFabResultCommon { - } +} - export interface GetPlayFabIDsFromPSNAccountIDsRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Id of the PSN issuer environment. If null, defaults to 256 (production) */ - IssuerId?: number; - /** Array of unique PlayStation Network identifiers for which the title needs to get PlayFab identifiers. */ - PSNAccountIDs: string[]; +export interface UnlinkKongregateAccountRequest extends PlayFabModule.IPlayFabRequestCommon { - } +} - export interface GetPlayFabIDsFromPSNAccountIDsResult extends PlayFabModule.IPlayFabResultCommon { - /** Mapping of PlayStation Network identifiers to PlayFab identifiers. */ - Data?: PSNAccountPlayFabIdPair[]; +export interface UnlinkKongregateAccountResult extends PlayFabModule.IPlayFabResultCommon { - } +} - 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[]; +export interface UnlinkNintendoSwitchAccountRequest extends PlayFabModule.IPlayFabRequestCommon { - } +} - export interface GetPlayFabIDsFromSteamIDsResult extends PlayFabModule.IPlayFabResultCommon { - /** Mapping of Steam identifiers to PlayFab identifiers. */ - Data?: SteamPlayFabIdPair[]; +export interface UnlinkNintendoSwitchDeviceIdRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Nintendo Switch Device identifier for the user. If not specified, the most recently signed in device ID will be used. */ + NintendoSwitchDeviceId?: string; - } +} - 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[]; +export interface UnlinkNintendoSwitchDeviceIdResult extends PlayFabModule.IPlayFabResultCommon { - } +} - export interface GetPlayFabIDsFromTwitchIDsResult extends PlayFabModule.IPlayFabResultCommon { - /** Mapping of Twitch identifiers to PlayFab identifiers. */ - Data?: TwitchPlayFabIdPair[]; +export interface UnlinkOpenIdConnectRequest extends PlayFabModule.IPlayFabRequestCommon { + /** A name that identifies which configured OpenID Connect provider relationship to use. Maximum 100 characters. */ + ConnectionId: string; - } +} - export interface GetPlayFabIDsFromXboxLiveIDsRequest extends PlayFabModule.IPlayFabRequestCommon { - /** The ID of Xbox Live sandbox. */ - Sandbox?: string; - /** Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers. */ - XboxLiveAccountIDs: string[]; +export interface UnlinkPSNAccountRequest extends PlayFabModule.IPlayFabRequestCommon { - } +} - export interface GetPlayFabIDsFromXboxLiveIDsResult extends PlayFabModule.IPlayFabResultCommon { - /** Mapping of PlayStation Network identifiers to PlayFab identifiers. */ - Data?: XboxLiveAccountPlayFabIdPair[]; +export interface UnlinkPSNAccountResult extends PlayFabModule.IPlayFabResultCommon { - } +} - 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[]; +export interface UnlinkSteamAccountRequest extends PlayFabModule.IPlayFabRequestCommon { - } +} - export interface GetPublisherDataResult extends PlayFabModule.IPlayFabResultCommon { - /** a dictionary object of key / value pairs */ - Data?: { [key: string]: string | null }; +export interface UnlinkSteamAccountResult extends PlayFabModule.IPlayFabResultCommon { - } +} - export interface GetPurchaseRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Purchase order identifier. */ - OrderId: string; +export interface UnlinkTwitchAccountRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + * Valid token issued by Twitch. Used to specify which twitch account to unlink from the profile. By default it uses the + * one that is present on the profile. + */ + AccessToken?: string; - } +} - export interface GetPurchaseResult extends PlayFabModule.IPlayFabResultCommon { - /** Purchase order identifier. */ - OrderId?: string; - /** Payment provider used for transaction (If not VC) */ - PaymentProvider?: string; - /** Date and time of the purchase. */ - PurchaseDate: string; - /** Provider transaction ID (If not VC) */ - TransactionId?: string; - /** PlayFab transaction status */ - TransactionStatus?: string; +export interface UnlinkTwitchAccountResult extends PlayFabModule.IPlayFabResultCommon { - } +} - export interface GetSegmentResult { - /** Identifier of the segments AB Test, if it is attached to one. */ - ABTestParent?: string; - /** Unique identifier for this segment. */ - Id: string; - /** Segment name. */ - Name?: string; +export interface UnlinkWindowsHelloAccountRequest extends PlayFabModule.IPlayFabRequestCommon { + /** SHA256 hash of the PublicKey generated by Windows Hello. */ + PublicKeyHint: string; - } +} - export interface GetSharedGroupDataRequest extends PlayFabModule.IPlayFabRequestCommon { - /** If true, return the list of all members of the shared group. */ - GetMembers?: boolean; - /** - * 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[]; - /** Unique identifier for the shared group. */ - SharedGroupId: string; +export interface UnlinkWindowsHelloAccountResponse extends PlayFabModule.IPlayFabResultCommon { - } +} - 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[]; +export interface UnlinkXboxAccountRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Token provided by the Xbox Live SDK/XDK method GetTokenAndSignatureAsync("POST", "https://playfabapi.com/", ""). */ + XboxToken?: string; - } +} - 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; +export interface UnlinkXboxAccountResult extends PlayFabModule.IPlayFabResultCommon { - } +} - export interface GetStoreItemsResult extends PlayFabModule.IPlayFabResultCommon { - /** The base catalog that this store is a part of. */ - CatalogVersion?: string; - /** Additional data about the store. */ - MarketingData?: StoreMarketingModel; - /** How the store was last updated (Admin or a third party). */ - Source?: string; - /** Array of items which can be purchased from this store. */ - Store?: StoreItem[]; - /** The ID of this store. */ - StoreId?: string; +export interface UnlockContainerInstanceRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + * Specifies the catalog version that should be used to determine container contents. If unspecified, uses catalog + * associated with the item instance. + */ + CatalogVersion?: 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; - } - - export interface GetTimeRequest extends PlayFabModule.IPlayFabRequestCommon { - - } - - export interface GetTimeResult extends PlayFabModule.IPlayFabResultCommon { - /** Current server time when the request was received, in UTC */ - Time: string; - - } - - export interface GetTitleDataRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Specific keys to search for in the title data (leave null to get all keys) */ - Keys?: string[]; - - } - - export interface GetTitleDataResult extends PlayFabModule.IPlayFabResultCommon { - /** a dictionary object of key / value pairs */ - Data?: { [key: string]: string | null }; - - } - - export interface GetTitleNewsRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Limits the results to the last n entries. Defaults to 10 if not set. */ - Count?: number; - - } - - export interface GetTitleNewsResult extends PlayFabModule.IPlayFabResultCommon { - /** Array of news items. */ - News?: TitleNewsItem[]; - - } - - export interface GetTitlePublicKeyRequest 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; - /** The shared secret key for this title */ - TitleSharedSecret: string; - - } - - export interface GetTitlePublicKeyResult extends PlayFabModule.IPlayFabResultCommon { - /** Base64 encoded RSA CSP byte array blob containing the title's public RSA key */ - RSAPublicKey?: string; - - } - - export interface GetTradeStatusRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Player who opened trade. */ - OfferingPlayerId: string; - /** Trade identifier as returned by OpenTradeOffer. */ - TradeId: string; - - } - - export interface GetTradeStatusResponse extends PlayFabModule.IPlayFabResultCommon { - /** Information about the requested trade. */ - Trade?: TradeInfo; - - } - - export interface GetUserDataRequest extends PlayFabModule.IPlayFabRequestCommon { - /** - * 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; - /** List of unique keys to load from. */ - 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; - - } - - 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; - - } - - export interface GetUserInventoryRequest extends PlayFabModule.IPlayFabRequestCommon { - - } - - 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 }; - - } - - export interface GetWindowsHelloChallengeRequest extends PlayFabModule.IPlayFabRequestCommon { - /** SHA256 hash of the PublicKey generated by Windows Hello. */ - PublicKeyHint: 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; - - } - - export interface GetWindowsHelloChallengeResponse extends PlayFabModule.IPlayFabResultCommon { - /** Server generated challenge to be signed by the user. */ - Challenge?: string; - - } - - 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; - - } - - export interface GrantCharacterToUserRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Catalog version from which items are to be granted. */ - CatalogVersion?: string; - /** Non-unique display name of the character being granted (1-40 characters in length). */ - CharacterName: 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; - - } - - 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; - - } - - export interface ItemInstance { - /** Game specific comment associated with this instance when it was added to the user inventory. */ - Annotation?: string; - /** Array of unique items that were awarded when this catalog item was purchased. */ - BundleContents?: 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; - /** Catalog version for the inventory item, when this instance was created. */ - CatalogVersion?: string; - /** - * A set of custom key-value pairs on the instance of the inventory item, which is not to be confused with the catalog - * item's custom data. - */ - CustomData?: { [key: string]: string | null }; - /** CatalogItem.DisplayName at the time this item was purchased. */ - DisplayName?: string; - /** Timestamp for when this instance will expire. */ - Expiration?: string; - /** Class name for the inventory item, as defined in the catalog. */ - ItemClass?: string; - /** 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; - /** Timestamp for when this instance was purchased. */ - PurchaseDate?: string; - /** Total number of remaining uses, if this is a consumable item. */ - RemainingUses?: number; - /** Currency type for the cost of the catalog item. Not available when granting items. */ - UnitCurrency?: string; - /** Cost of the catalog item in the given currency. Not available when granting items. */ - UnitPrice: number; - /** The number of uses that were added or removed to this item in this call. */ - UsesIncrementedBy?: number; - - } - - export interface ItemPurchaseRequest { - /** Title-specific text concerning this purchase. */ - Annotation?: string; - /** Unique ItemId of the item to purchase. */ - ItemId: string; - /** How many of this item to purchase. Min 1, maximum 25. */ - Quantity: number; - /** Items to be upgraded as a result of this purchase (upgraded items are hidden, as they are "replaced" by the new items). */ - UpgradeFromItems?: string[]; - - } - - 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; - - } - - export interface LinkAndroidDeviceIDRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Specific model of the user's device. */ - AndroidDevice?: string; - /** Android device identifier for the user's device. */ - AndroidDeviceId: string; - /** If another user is already linked to the device, unlink the other user and re-link. */ - ForceLink?: boolean; - /** Specific Operating System version for the user's device. */ - OS?: string; - - } - - export interface LinkAndroidDeviceIDResult extends PlayFabModule.IPlayFabResultCommon { - - } - - export interface LinkAppleRequest extends PlayFabModule.IPlayFabRequestCommon { - /** If another user is already linked to a specific Apple account, unlink the other user and re-link. */ - ForceLink?: boolean; - /** - * The JSON Web token (JWT) returned by Apple after login. Represented as the identityToken field in the authorization - * credential payload. Used to validate the request and find the user ID (Apple subject) to link with. - */ - IdentityToken: string; - - } - - 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; - - } - - export interface LinkCustomIDResult extends PlayFabModule.IPlayFabResultCommon { - - } - - export interface LinkedPlatformAccountModel { - /** Linked account email of the user on the platform, if available */ - Email?: string; - /** Authentication platform */ - Platform?: string; - /** Unique account identifier of the user on the platform */ - PlatformUserId?: string; - /** Linked account username of the user on the platform, if available */ - Username?: string; - - } - - 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; - - } - - export interface LinkFacebookAccountResult extends PlayFabModule.IPlayFabResultCommon { - - } - - export interface LinkFacebookInstantGamesIdRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Facebook Instant Games signature for the user. */ - FacebookInstantGamesSignature: string; - /** If another user is already linked to the Facebook Instant Games ID, unlink the other user and re-link. */ - ForceLink?: boolean; - - } - - export interface LinkFacebookInstantGamesIdResult extends PlayFabModule.IPlayFabResultCommon { - - } - - export interface LinkGameCenterAccountRequest extends PlayFabModule.IPlayFabRequestCommon { - /** If another user is already linked to the account, unlink the other user and re-link. */ - ForceLink?: boolean; - /** Game Center identifier for the player account to be linked. */ - GameCenterId: string; - /** The URL for the public encryption key that will be used to verify the signature. */ - PublicKeyUrl?: string; - /** A random value used to compute the hash and keep it randomized. */ - Salt?: string; - /** The verification signature of the authentication payload. */ - Signature?: string; - /** - * The integer representation of date and time that the signature was created on. PlayFab will reject authentication - * signatures not within 10 minutes of the server's current time. - */ - Timestamp?: string; - - } - - export interface LinkGameCenterAccountResult extends PlayFabModule.IPlayFabResultCommon { - - } +} - export interface LinkGoogleAccountRequest extends PlayFabModule.IPlayFabRequestCommon { - /** If another user is already linked to the account, unlink the other user and re-link. */ - ForceLink?: boolean; - /** - * 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; - - } +export interface UnlockContainerItemRequest extends PlayFabModule.IPlayFabRequestCommon { + /** + * 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; + /** Catalog ItemId of the container type to unlock. */ + ContainerItemId: string; - export interface LinkGoogleAccountResult extends PlayFabModule.IPlayFabResultCommon { +} - } +export interface UnlockContainerItemResult extends PlayFabModule.IPlayFabResultCommon { + /** Items granted to the player as a result of unlocking the container. */ + GrantedItems?: ItemInstance[]; + /** Unique instance identifier of the container unlocked. */ + UnlockedItemInstanceId?: string; + /** Unique instance identifier of the key used to unlock the container, if applicable. */ + UnlockedWithItemInstanceId?: string; + /** Virtual currency granted to the player as a result of unlocking the container. */ + VirtualCurrency?: { [key: string]: number }; - export interface LinkIOSDeviceIDRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Vendor-specific iOS identifier for the user's device. */ - DeviceId: 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; - /** Specific Operating System version for the user's device. */ - OS?: string; +} - } +export interface UpdateAvatarUrlRequest extends PlayFabModule.IPlayFabRequestCommon { + /** URL of the avatar image. If empty, it removes the existing avatar URL. */ + ImageUrl: string; - export interface LinkIOSDeviceIDResult extends PlayFabModule.IPlayFabResultCommon { +} - } +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 or be null. + */ + Data?: { [key: string]: string | null }; + /** + * 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; - export interface LinkKongregateAccountRequest extends PlayFabModule.IPlayFabRequestCommon { - /** 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; - /** Numeric user ID assigned by Kongregate */ - KongregateId: string; +} - } +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; - export interface LinkKongregateAccountResult extends PlayFabModule.IPlayFabResultCommon { +} - } +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, in the Key(string), Value(int) pattern. */ + CharacterStatistics?: { [key: string]: number }; - export interface LinkNintendoSwitchAccountRequest extends PlayFabModule.IPlayFabRequestCommon { - /** ID of the Nintendo Switch environment. If null, defaults to the production environment. */ - EnvironmentId?: string; - /** If another user is already linked to a specific Nintendo Switch account, unlink the other user and re-link. */ - ForceLink?: boolean; - /** - * The JSON Web token (JWT) returned by Nintendo after login. Used to validate the request and find the user ID (Nintendo - * Switch subject) to link with. - */ - IdentityToken: string; +} - } +export interface UpdateCharacterStatisticsResult extends PlayFabModule.IPlayFabResultCommon { - export interface LinkNintendoSwitchDeviceIdRequest extends PlayFabModule.IPlayFabRequestCommon { - /** If another user is already linked to the Nintendo Switch Device ID, unlink the other user and re-link. */ - ForceLink?: boolean; - /** Nintendo Switch unique identifier for the user's device. */ - NintendoSwitchDeviceId: string; +} - } +export interface UpdatePlayerStatisticsRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Statistics to be updated with the provided values */ + Statistics: StatisticUpdate[]; - export interface LinkNintendoSwitchDeviceIdResult extends PlayFabModule.IPlayFabResultCommon { +} - } +export interface UpdatePlayerStatisticsResult extends PlayFabModule.IPlayFabResultCommon { - export interface LinkOpenIdConnectRequest extends PlayFabModule.IPlayFabRequestCommon { - /** A name that identifies which configured OpenID Connect provider relationship to use. Maximum 100 characters. */ - ConnectionId: string; - /** If another user is already linked to a specific OpenId Connect user, unlink the other user and re-link. */ - ForceLink?: boolean; - /** - * The JSON Web token (JWT) returned by the identity provider after login. Represented as the id_token field in the - * identity provider's response. Used to validate the request and find the user ID (OpenID Connect subject) to link with. - */ - IdToken: string; +} - } +export interface UpdateSharedGroupDataRequest 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 or be null. + */ + Data?: { [key: string]: string | null }; + /** + * 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; + /** Unique identifier for the shared group. */ + SharedGroupId: string; - export interface LinkPSNAccountRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Authentication code provided by the PlayStation Network. */ - AuthCode: string; - /** If another user is already linked to the account, unlink the other user and re-link. */ - ForceLink?: boolean; - /** Id of the PSN issuer environment. If null, defaults to 256 (production) */ - IssuerId?: number; - /** Redirect URI supplied to PSN when requesting an auth code */ - RedirectUri: string; +} - } - - export interface LinkPSNAccountResult extends PlayFabModule.IPlayFabResultCommon { - - } - - export interface LinkSteamAccountRequest extends PlayFabModule.IPlayFabRequestCommon { - /** If another user is already linked to the account, unlink the other user and re-link. */ - ForceLink?: boolean; - /** - * 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; - - } - - export interface LinkSteamAccountResult extends PlayFabModule.IPlayFabResultCommon { - - } - - 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; - - } - - export interface LinkTwitchAccountResult extends PlayFabModule.IPlayFabResultCommon { - - } - - export interface LinkWindowsHelloAccountRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Device name. */ - DeviceName?: string; - /** If another user is already linked to the account, unlink the other user and re-link. */ - ForceLink?: boolean; - /** PublicKey generated by Windows Hello. */ - PublicKey: string; - /** Player's user named used by Windows Hello. */ - UserName: string; - - } - - export interface LinkWindowsHelloAccountResponse extends PlayFabModule.IPlayFabResultCommon { - - } - - export interface LinkXboxAccountRequest extends PlayFabModule.IPlayFabRequestCommon { - /** If another user is already linked to the account, unlink the other user and re-link. */ - ForceLink?: boolean; - /** Token provided by the Xbox Live SDK/XDK method GetTokenAndSignatureAsync("POST", "https://playfabapi.com/", ""). */ - XboxToken: string; - - } - - export interface LinkXboxAccountResult extends PlayFabModule.IPlayFabResultCommon { - - } - - export interface ListUsersCharactersRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Unique PlayFab assigned ID of the user on whom the operation will be performed. */ - PlayFabId?: string; - - } - - export interface ListUsersCharactersResult extends PlayFabModule.IPlayFabResultCommon { - /** The requested list of characters. */ - Characters?: CharacterResult[]; - - } - - export interface LocationModel { - /** City name. */ - City?: string; - /** 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; - /** Latitude coordinate of the geographic location. */ - Latitude?: number; - /** Longitude coordinate of the geographic location. */ - Longitude?: number; - - } - - type LoginIdentityProvider = "Unknown" - | "PlayFab" - | "Custom" - | "GameCenter" - | "GooglePlay" - | "Steam" - | "XBoxLive" - | "PSN" - | "Kongregate" - | "Facebook" - | "IOSDevice" - | "AndroidDevice" - | "Twitch" - | "WindowsHello" - | "GameServer" - | "CustomServer" - | "NintendoSwitch" - | "FacebookInstantGames" - | "OpenIdConnect" - | "Apple" - | "NintendoSwitchAccount"; - - export interface LoginResult extends PlayFabModule.IPlayFabResultCommon { - /** - * If LoginTitlePlayerAccountEntity flag is set on the login request the title_player_account will also be logged in and - * returned. - */ - EntityToken?: EntityTokenResponse; - /** Results for requested info. */ - InfoResultPayload?: GetPlayerCombinedInfoResultPayload; - /** The time of this user's previous login. If there was no previous login, then it's DateTime.MinValue */ - LastLoginTime?: string; - /** True if the account was newly created on this login. */ - NewlyCreated: boolean; - /** Player's unique PlayFabId. */ - PlayFabId?: string; - /** Unique token authorizing the user and game at the server level, for the current session. */ - SessionTicket?: string; - /** Settings specific to this user. */ - SettingsForUser?: UserSettings; - /** The experimentation treatments for this user at the time of login. */ - TreatmentAssignment?: TreatmentAssignment; - - } - - export interface LoginWithAndroidDeviceIDRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Specific model of the user's device. */ - AndroidDevice?: string; - /** Android device identifier for the user's device. */ - AndroidDeviceId?: string; - /** Automatically create a PlayFab account if one is not currently linked to this ID. */ - CreateAccount?: boolean; - /** Base64 encoded body that is encrypted with the Title's public RSA key (Enterprise Only). */ - EncryptedRequest?: string; - /** Flags for which pieces of info to return for the user. */ - InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; - /** Specific Operating System version for the user's device. */ - OS?: string; - /** Player secret that is used to verify API request signatures (Enterprise Only). */ - PlayerSecret?: 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; - - } - - export interface LoginWithAppleRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Automatically create a PlayFab account if one is not currently linked to this ID. */ - CreateAccount?: boolean; - /** Base64 encoded body that is encrypted with the Title's public RSA key (Enterprise Only). */ - EncryptedRequest?: string; - /** - * The JSON Web token (JWT) returned by Apple after login. Represented as the identityToken field in the authorization - * credential payload. - */ - IdentityToken: string; - /** Flags for which pieces of info to return for the user. */ - InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; - /** Player secret that is used to verify API request signatures (Enterprise Only). */ - PlayerSecret?: 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; - - } - - export interface LoginWithCustomIDRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Automatically create a PlayFab account if one is not currently linked to this ID. */ - CreateAccount?: boolean; - /** Custom unique identifier for the user, generated by the title. */ - CustomId?: string; - /** Base64 encoded body that is encrypted with the Title's public RSA key (Enterprise Only). */ - EncryptedRequest?: string; - /** Flags for which pieces of info to return for the user. */ - InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; - /** Player secret that is used to verify API request signatures (Enterprise Only). */ - PlayerSecret?: 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; - - } - - export interface LoginWithEmailAddressRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Email address for the account. */ - Email: string; - /** Flags for which pieces of info to return for the user. */ - InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; - /** Password for the PlayFab account (6-100 characters) */ - Password: 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; - - } - - export interface LoginWithFacebookInstantGamesIdRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Automatically create a PlayFab account if one is not currently linked to this ID. */ - CreateAccount?: boolean; - /** Base64 encoded body that is encrypted with the Title's public RSA key (Enterprise Only). */ - EncryptedRequest?: string; - /** Facebook Instant Games signature for the user. */ - FacebookInstantGamesSignature: string; - /** Flags for which pieces of info to return for the user. */ - InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; - /** Player secret that is used to verify API request signatures (Enterprise Only). */ - PlayerSecret?: 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; - - } - - export interface LoginWithFacebookRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Unique identifier from Facebook for the user. */ - AccessToken: string; - /** Automatically create a PlayFab account if one is not currently linked to this ID. */ - CreateAccount?: boolean; - /** Base64 encoded body that is encrypted with the Title's public RSA key (Enterprise Only). */ - EncryptedRequest?: string; - /** Flags for which pieces of info to return for the user. */ - InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; - /** Player secret that is used to verify API request signatures (Enterprise Only). */ - PlayerSecret?: 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; - - } - - export interface LoginWithGameCenterRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Automatically create a PlayFab account if one is not currently linked to this ID. */ - CreateAccount?: boolean; - /** Base64 encoded body that is encrypted with the Title's public RSA key (Enterprise Only). */ - EncryptedRequest?: string; - /** Flags for which pieces of info to return for the user. */ - InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; - /** Unique Game Center player id. */ - PlayerId?: string; - /** Player secret that is used to verify API request signatures (Enterprise Only). */ - PlayerSecret?: string; - /** The URL for the public encryption key that will be used to verify the signature. */ - PublicKeyUrl?: string; - /** A random value used to compute the hash and keep it randomized. */ - Salt?: string; - /** The verification signature of the authentication payload. */ - Signature?: string; - /** - * The integer representation of date and time that the signature was created on. PlayFab will reject authentication - * signatures not within 10 minutes of the server's current time. - */ - 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; - - } - - export interface LoginWithGoogleAccountRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Automatically create a PlayFab account if one is not currently linked to this ID. */ - CreateAccount?: boolean; - /** Base64 encoded body that is encrypted with the Title's public RSA key (Enterprise Only). */ - EncryptedRequest?: string; - /** Flags for which pieces of info to return for the user. */ - InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; - /** Player secret that is used to verify API request signatures (Enterprise Only). */ - PlayerSecret?: 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; - /** - * 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; - - } - - export interface LoginWithIOSDeviceIDRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Automatically create a PlayFab account if one is not currently linked to this ID. */ - CreateAccount?: boolean; - /** Vendor-specific iOS identifier for the user's device. */ - DeviceId?: string; - /** Specific model of the user's device. */ - DeviceModel?: string; - /** Base64 encoded body that is encrypted with the Title's public RSA key (Enterprise Only). */ - EncryptedRequest?: string; - /** Flags for which pieces of info to return for the user. */ - InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; - /** Specific Operating System version for the user's device. */ - OS?: string; - /** Player secret that is used to verify API request signatures (Enterprise Only). */ - PlayerSecret?: 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; - - } - - export interface LoginWithKongregateRequest extends PlayFabModule.IPlayFabRequestCommon { - /** 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 ID. */ - CreateAccount?: boolean; - /** Base64 encoded body that is encrypted with the Title's public RSA key (Enterprise Only). */ - EncryptedRequest?: string; - /** Flags for which pieces of info to return for the user. */ - InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; - /** Numeric user ID assigned by Kongregate */ - KongregateId?: string; - /** Player secret that is used to verify API request signatures (Enterprise Only). */ - PlayerSecret?: 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; - - } - - export interface LoginWithNintendoSwitchAccountRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Automatically create a PlayFab account if one is not currently linked to this ID. */ - CreateAccount?: boolean; - /** Base64 encoded body that is encrypted with the Title's public RSA key (Enterprise Only). */ - EncryptedRequest?: string; - /** ID of the Nintendo Switch environment. If null, defaults to the production environment. */ - EnvironmentId?: string; - /** The JSON Web token (JWT) returned by Nintendo after login. */ - IdentityToken: string; - /** Flags for which pieces of info to return for the user. */ - InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; - /** Player secret that is used to verify API request signatures (Enterprise Only). */ - PlayerSecret?: 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; - - } - - export interface LoginWithNintendoSwitchDeviceIdRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Automatically create a PlayFab account if one is not currently linked to this ID. */ - CreateAccount?: boolean; - /** Base64 encoded body that is encrypted with the Title's public RSA key (Enterprise Only). */ - EncryptedRequest?: string; - /** Flags for which pieces of info to return for the user. */ - InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; - /** Nintendo Switch unique identifier for the user's device. */ - NintendoSwitchDeviceId?: string; - /** Player secret that is used to verify API request signatures (Enterprise Only). */ - PlayerSecret?: 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; - - } - - export interface LoginWithOpenIdConnectRequest extends PlayFabModule.IPlayFabRequestCommon { - /** A name that identifies which configured OpenID Connect provider relationship to use. Maximum 100 characters. */ - ConnectionId: string; - /** Automatically create a PlayFab account if one is not currently linked to this ID. */ - CreateAccount?: boolean; - /** Base64 encoded body that is encrypted with the Title's public RSA key (Enterprise Only). */ - EncryptedRequest?: string; - /** - * The JSON Web token (JWT) returned by the identity provider after login. Represented as the id_token field in the - * identity provider's response. - */ - IdToken: string; - /** Flags for which pieces of info to return for the user. */ - InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; - /** Player secret that is used to verify API request signatures (Enterprise Only). */ - PlayerSecret?: 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; - - } - - export interface LoginWithPlayFabRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Flags for which pieces of info to return for the user. */ - InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; - /** Password for the PlayFab account (6-100 characters) */ - Password: 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; - /** PlayFab username for the account. */ - Username: string; - - } - - export interface LoginWithPSNRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Auth code provided by the PSN OAuth provider. */ - AuthCode?: string; - /** Automatically create a PlayFab account if one is not currently linked to this ID. */ - CreateAccount?: boolean; - /** Base64 encoded body that is encrypted with the Title's public RSA key (Enterprise Only). */ - EncryptedRequest?: string; - /** Flags for which pieces of info to return for the user. */ - InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; - /** Id of the PSN issuer environment. If null, defaults to 256 (production) */ - IssuerId?: number; - /** Player secret that is used to verify API request signatures (Enterprise Only). */ - PlayerSecret?: string; - /** Redirect URI supplied to PSN when requesting an auth code */ - RedirectUri?: 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; - - } - - export interface LoginWithSteamRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Automatically create a PlayFab account if one is not currently linked to this ID. */ - CreateAccount?: boolean; - /** Base64 encoded body that is encrypted with the Title's public RSA key (Enterprise Only). */ - EncryptedRequest?: string; - /** Flags for which pieces of info to return for the user. */ - InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; - /** Player secret that is used to verify API request signatures (Enterprise Only). */ - PlayerSecret?: 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; - /** - * 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; - - } - - export interface LoginWithTwitchRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Token issued by Twitch's API for the user. */ - AccessToken?: string; - /** Automatically create a PlayFab account if one is not currently linked to this ID. */ - CreateAccount?: boolean; - /** Base64 encoded body that is encrypted with the Title's public RSA key (Enterprise Only). */ - EncryptedRequest?: string; - /** Flags for which pieces of info to return for the user. */ - InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; - /** Player secret that is used to verify API request signatures (Enterprise Only). */ - PlayerSecret?: 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; - - } - - export interface LoginWithWindowsHelloRequest extends PlayFabModule.IPlayFabRequestCommon { - /** The signed response from the user for the Challenge. */ - ChallengeSignature: string; - /** Flags for which pieces of info to return for the user. */ - InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; - /** SHA256 hash of the PublicKey generated by Windows Hello. */ - PublicKeyHint: 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; - - } - - export interface LoginWithXboxRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Automatically create a PlayFab account if one is not currently linked to this ID. */ - CreateAccount?: boolean; - /** Base64 encoded body that is encrypted with the Title's public RSA key (Enterprise Only). */ - EncryptedRequest?: string; - /** Flags for which pieces of info to return for the user. */ - InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; - /** Player secret that is used to verify API request signatures (Enterprise Only). */ - PlayerSecret?: 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; - /** Token provided by the Xbox Live SDK/XDK method GetTokenAndSignatureAsync("POST", "https://playfabapi.com/", ""). */ - XboxToken?: string; - - } - - export interface LogStatement { - /** Optional object accompanying the message as contextual information */ - Data?: any; - /** 'Debug', 'Info', or 'Error' */ - Level?: string; - Message?: string; - - } - - export interface MatchmakeRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Build version to match against. [Note: Required if LobbyId is not specified] */ - BuildVersion?: string; - /** Character to use for stats based matching. Leave null to use account stats. */ - CharacterId?: 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; - /** Region to match make against. [Note: Required if LobbyId is not specified] */ - Region?: string; - /** Start a game session if one with an open slot is not found. Defaults to true. */ - StartNewIfNoneFound?: boolean; - /** Player statistic to use in finding a match. May be null for no stat-based matching. */ - StatisticName?: string; - /** Filter to include and/or exclude Game Server Instances associated with certain Tags */ - TagFilter?: CollectionFilter; - - } - - export interface MatchmakeResult extends PlayFabModule.IPlayFabResultCommon { - /** timestamp for when the server will expire, if applicable */ - Expires?: string; - /** unique lobby identifier of the server matched */ - LobbyID?: string; - /** time in milliseconds the application is configured to wait on matchmaking results */ - PollWaitTimeMS?: number; - /** IPV4 address of the server */ - ServerIPV4Address?: string; - /** IPV6 address of the server */ - ServerIPV6Address?: string; - /** port number to use for non-http communications with the server */ - ServerPort?: number; - /** Public DNS name (if any) of the server */ - ServerPublicDNSName?: string; - /** result of match making process */ - Status?: string; - /** server authorization ticket (used by RedeemMatchmakerTicket to validate user insertion into the game) */ - Ticket?: string; - - } - - type MatchmakeStatus = "Complete" - | "Waiting" - | "GameNotFound" - | "NoAvailableSlots" - | "SessionClosed"; - - export interface MembershipModel { - /** Whether this membership is active. That is, whether the MembershipExpiration time has been reached. */ - IsActive: boolean; - /** The time this membership expires */ - MembershipExpiration: string; - /** The id of the membership */ - MembershipId?: string; - /** - * Membership expirations can be explicitly overridden (via game manager or the admin api). If this membership has been - * overridden, this will be the new expiration time. - */ - OverrideExpiration?: string; - /** The list of subscriptions that this player has for this membership */ - Subscriptions?: SubscriptionModel[]; - - } - - export interface ModifyUserVirtualCurrencyResult extends PlayFabModule.IPlayFabResultCommon { - /** Balance of the virtual currency after modification. */ - Balance: number; - /** - * 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; - /** User currency was subtracted from. */ - PlayFabId?: string; - /** Name of the virtual currency which was modified. */ - VirtualCurrency?: string; - - } - - export interface NameIdentifier { - /** Id Identifier, if present */ - Id?: string; - /** Name Identifier, if present */ - Name?: string; - - } - - export interface NintendoSwitchPlayFabIdPair { - /** Unique Nintendo Switch Device identifier for a user. */ - NintendoSwitchDeviceId?: string; - /** Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the Nintendo Switch Device identifier. */ - PlayFabId?: string; - - } - - export interface OpenTradeRequest extends PlayFabModule.IPlayFabRequestCommon { - /** - * 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[]; - /** 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[]; - - } - - export interface OpenTradeResponse extends PlayFabModule.IPlayFabResultCommon { - /** The information about the trade that was just opened. */ - Trade?: TradeInfo; - - } - - export interface PayForPurchaseRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Currency to use to fund the purchase. */ - Currency: string; - /** Purchase order identifier returned from StartPurchase. */ - OrderId: string; - /** Payment provider to use to fund the purchase. */ - ProviderName: string; - /** Payment provider transaction identifier. Required for Facebook Payments. */ - ProviderTransactionId?: string; - - } - - export interface PayForPurchaseResult extends PlayFabModule.IPlayFabResultCommon { - /** Local credit applied to the transaction (provider specific). */ - CreditApplied: number; - /** Purchase order identifier. */ - OrderId?: string; - /** Provider used for the transaction. */ - ProviderData?: string; - /** A token generated by the provider to authenticate the request (provider-specific). */ - ProviderToken?: string; - /** URL to the purchase provider page that details the purchase. */ - PurchaseConfirmationPageURL?: string; - /** Currency for the transaction, may be a virtual currency or real money. */ - PurchaseCurrency?: string; - /** Cost of the transaction. */ - PurchasePrice: number; - /** Status of the transaction. */ - Status?: string; - /** Virtual currencies granted by the transaction, if any. */ - VCAmount?: { [key: string]: number }; - /** Current virtual currency balances for the user. */ - VirtualCurrency?: { [key: string]: number }; - - } - - export interface PaymentOption { - /** Specific currency to use to fund the purchase. */ - Currency?: string; - /** Amount of the specified currency needed for the purchase. */ - Price: number; - /** Name of the purchase provider for this option. */ - ProviderName?: string; - /** Amount of existing credit the user has with the provider. */ - StoreCredit: number; - - } - - export interface PlayerLeaderboardEntry { - /** Title-specific display name of the user for this leaderboard entry. */ - DisplayName?: string; - /** PlayFab unique identifier of the user for this leaderboard entry. */ - PlayFabId?: string; - /** User's overall position in the leaderboard. */ - Position: number; - /** The profile of the user, if requested. */ - Profile?: PlayerProfileModel; - /** Specific value of the user's statistic. */ - StatValue: number; - - } - - export interface PlayerProfileModel { - /** List of advertising campaigns the player has been attributed to */ - AdCampaignAttributions?: AdCampaignAttributionModel[]; - /** URL of the player's avatar image */ - AvatarUrl?: string; - /** If the player is currently banned, the UTC Date when the ban expires */ - BannedUntil?: string; - /** List of all contact email info associated with the player account */ - ContactEmailAddresses?: ContactEmailInfoModel[]; - /** Player record created */ - Created?: string; - /** Player display name */ - DisplayName?: string; - /** List of experiment variants for the player. */ - ExperimentVariants?: string[]; - /** UTC time when the player most recently logged in to the title */ - LastLogin?: string; - /** List of all authentication systems linked to this player account */ - LinkedAccounts?: LinkedPlatformAccountModel[]; - /** List of geographic locations from which the player has logged in to the title */ - Locations?: LocationModel[]; - /** List of memberships for the player, along with whether are expired. */ - Memberships?: MembershipModel[]; - /** Player account origination */ - Origination?: string; - /** PlayFab player account unique identifier */ - PlayerId?: string; - /** Publisher this player belongs to */ - PublisherId?: string; - /** List of configured end points registered for sending the player push notifications */ - PushNotificationRegistrations?: PushNotificationRegistrationModel[]; - /** List of leaderboard statistic values for the player */ - Statistics?: StatisticModel[]; - /** List of player's tags for segmentation */ - Tags?: TagModel[]; - /** Title ID this player profile applies to */ - TitleId?: string; - /** - * Sum of the player's purchases made with real-money currencies, converted to US dollars equivalent and represented as a - * whole number of cents (1/100 USD). For example, 999 indicates nine dollars and ninety-nine cents. - */ - TotalValueToDateInUSD?: number; - /** List of the player's lifetime purchase totals, summed by real-money currency */ - ValuesToDate?: ValueToDateModel[]; - - } - - export interface PlayerProfileViewConstraints { - /** Whether to show player's avatar URL. Defaults to false */ - ShowAvatarUrl: boolean; - /** Whether to show the banned until time. Defaults to false */ - ShowBannedUntil: boolean; - /** Whether to show campaign attributions. Defaults to false */ - ShowCampaignAttributions: boolean; - /** Whether to show contact email addresses. Defaults to false */ - ShowContactEmailAddresses: boolean; - /** Whether to show the created date. Defaults to false */ - ShowCreated: boolean; - /** Whether to show the display name. Defaults to false */ - ShowDisplayName: boolean; - /** Whether to show player's experiment variants. Defaults to false */ - ShowExperimentVariants: boolean; - /** Whether to show the last login time. Defaults to false */ - ShowLastLogin: boolean; - /** Whether to show the linked accounts. Defaults to false */ - ShowLinkedAccounts: boolean; - /** Whether to show player's locations. Defaults to false */ - ShowLocations: boolean; - /** Whether to show player's membership information. Defaults to false */ - ShowMemberships: boolean; - /** Whether to show origination. Defaults to false */ - ShowOrigination: boolean; - /** Whether to show push notification registrations. Defaults to false */ - ShowPushNotificationRegistrations: boolean; - /** Reserved for future development */ - ShowStatistics: boolean; - /** Whether to show tags. Defaults to false */ - ShowTags: boolean; - /** Whether to show the total value to date in usd. Defaults to false */ - ShowTotalValueToDateInUsd: boolean; - /** Whether to show the values to date. Defaults to false */ - ShowValuesToDate: boolean; - - } - - export interface PlayerStatisticVersion { - /** time when the statistic version became active */ - ActivationTime: string; - /** time when the statistic version became inactive due to statistic version incrementing */ - DeactivationTime?: string; - /** time at which the statistic version was scheduled to become active, based on the configured ResetInterval */ - ScheduledActivationTime?: string; - /** time at which the statistic version was scheduled to become inactive, based on the configured ResetInterval */ - ScheduledDeactivationTime?: string; - /** name of the statistic when the version became active */ - StatisticName?: string; - /** version of the statistic */ - Version: number; - - } - - export interface PSNAccountPlayFabIdPair { - /** Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the PlayStation Network identifier. */ - PlayFabId?: string; - /** Unique PlayStation Network identifier for a user. */ - PSNAccountId?: string; - - } - - export interface PurchaseItemRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Catalog version for the items to be purchased (defaults to most recent version. */ - CatalogVersion?: string; - /** Unique PlayFab assigned ID for a specific character owned by a user */ - CharacterId?: string; - /** Unique identifier of the item to purchase. */ - ItemId: string; - /** Price the client expects to pay for the item (in case a new catalog or store was uploaded, with new prices). */ - Price: number; - /** Store to buy this item through. If not set, prices default to those in the catalog. */ - StoreId?: string; - /** Virtual currency to use to purchase the item. */ - VirtualCurrency: string; - - } - - export interface PurchaseItemResult extends PlayFabModule.IPlayFabResultCommon { - /** Details for the items purchased. */ - Items?: ItemInstance[]; - - } - - export interface PurchaseReceiptFulfillment { - /** Items granted to the player in fulfillment of the validated receipt. */ - FulfilledItems?: ItemInstance[]; - /** - * Source of the payment price information for the recorded purchase transaction. A value of 'Request' indicates that the - * price specified in the request was used, whereas a value of 'Catalog' indicates that the real-money price of the catalog - * item matching the product ID in the validated receipt transaction and the currency specified in the request (defaulting - * to USD) was used. - */ - RecordedPriceSource?: string; - /** Currency used to purchase the items (ISO 4217 currency code). */ - RecordedTransactionCurrency?: string; - /** Amount of the stated currency paid for the items, in centesimal units */ - RecordedTransactionTotal?: number; - - } - - type PushNotificationPlatform = "ApplePushNotificationService" - | "GoogleCloudMessaging"; - - export interface PushNotificationRegistrationModel { - /** Notification configured endpoint */ - NotificationEndpointARN?: string; - /** Push notification platform */ - Platform?: string; - - } - - export interface RedeemCouponRequest extends PlayFabModule.IPlayFabRequestCommon { - /** 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; - /** Generated coupon code to redeem. */ - CouponCode: string; - - } - - export interface RedeemCouponResult extends PlayFabModule.IPlayFabResultCommon { - /** Items granted to the player as a result of redeeming the coupon. */ - GrantedItems?: ItemInstance[]; - - } - - export interface RefreshPSNAuthTokenRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Auth code returned by PSN OAuth system. */ - AuthCode: string; - /** Id of the PSN issuer environment. If null, defaults to 256 (production) */ - IssuerId?: number; - /** Redirect URI supplied to PSN when requesting an auth code */ - RedirectUri: string; - - } - - type Region = "USCentral" - | "USEast" - | "EUWest" - | "Singapore" - | "Japan" - | "Brazil" - | "Australia"; - - export interface RegionInfo { - /** indicates whether the server specified is available in this region */ - Available: boolean; - /** name of the region */ - Name?: string; - /** url to ping to get roundtrip time */ - PingUrl?: string; - /** unique identifier for the region */ - Region?: string; - - } - - export interface RegisterForIOSPushNotificationRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Message to display when confirming push notification. */ - ConfirmationMessage?: string; - /** 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; - - } - - export interface RegisterForIOSPushNotificationResult extends PlayFabModule.IPlayFabResultCommon { - - } - - export interface RegisterPlayFabUserRequest extends PlayFabModule.IPlayFabRequestCommon { - /** An optional parameter for setting the display name for this title (3-25 characters). */ - DisplayName?: string; - /** User email address attached to their account */ - Email?: string; - /** Base64 encoded body that is encrypted with the Title's public RSA key (Enterprise Only). */ - EncryptedRequest?: string; - /** Flags for which pieces of info to return for the user. */ - InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; - /** Password for the PlayFab account (6-100 characters) */ - Password?: string; - /** Player secret that is used to verify API request signatures (Enterprise Only). */ - PlayerSecret?: 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; - /** - * 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; - - } - - export interface RegisterPlayFabUserResult extends PlayFabModule.IPlayFabResultCommon { - /** - * If LoginTitlePlayerAccountEntity flag is set on the login request the title_player_account will also be logged in and - * returned. - */ - EntityToken?: EntityTokenResponse; - /** 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; - /** Settings specific to this user. */ - SettingsForUser?: UserSettings; - /** PlayFab unique user name. */ - Username?: string; - - } - - export interface RegisterWithWindowsHelloRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Device name. */ - DeviceName?: string; - /** Base64 encoded body that is encrypted with the Title's public RSA key (Enterprise Only). */ - EncryptedRequest?: string; - /** Flags for which pieces of info to return for the user. */ - InfoRequestParameters?: GetPlayerCombinedInfoRequestParams; - /** Player secret that is used to verify API request signatures (Enterprise Only). */ - PlayerSecret?: string; - /** PublicKey generated by Windows Hello. */ - PublicKey?: 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; - /** Player's user name used by Windows Hello. */ - UserName?: string; - - } - - export interface RemoveContactEmailRequest extends PlayFabModule.IPlayFabRequestCommon { - - } - - export interface RemoveContactEmailResult extends PlayFabModule.IPlayFabResultCommon { - - } - - export interface RemoveFriendRequest extends PlayFabModule.IPlayFabRequestCommon { - /** PlayFab identifier of the friend account which is to be removed. */ - FriendPlayFabId: string; - - } - - export interface RemoveFriendResult extends PlayFabModule.IPlayFabResultCommon { - - } - - export interface RemoveGenericIDRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Generic service identifier to be removed from the player. */ - GenericId: GenericServiceId; - - } - - export interface RemoveGenericIDResult extends PlayFabModule.IPlayFabResultCommon { - - } - - export interface RemoveSharedGroupMembersRequest 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 shared group. */ - SharedGroupId: string; - - } - - export interface RemoveSharedGroupMembersResult extends PlayFabModule.IPlayFabResultCommon { - - } - - export interface ReportAdActivityRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Type of activity, may be Opened, Closed, Start or End */ - Activity: string; - /** Unique ID of the placement to report for */ - PlacementId: string; - /** Unique ID of the reward the player was offered */ - RewardId: string; - - } - - export interface ReportAdActivityResult extends PlayFabModule.IPlayFabResultCommon { - - } - - export interface ReportPlayerClientRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Optional additional comment by reporting player. */ - Comment?: string; - /** Unique PlayFab identifier of the reported player. */ - ReporteeId: string; +export interface UpdateSharedGroupDataResult extends PlayFabModule.IPlayFabResultCommon { - } +} - export interface ReportPlayerClientResult extends PlayFabModule.IPlayFabResultCommon { - /** The number of remaining reports which may be filed today. */ - SubmissionsRemaining: number; +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 or be null. + */ + Data?: { [key: string]: string | null }; + /** + * 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; - } +} - export interface RestoreIOSPurchasesRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Catalog version of the restored items. If null, defaults to primary catalog. */ - CatalogVersion?: string; - /** Base64 encoded receipt data, passed back by the App Store as a result of a successful purchase. */ - ReceiptData: string; +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; - } +} - export interface RestoreIOSPurchasesResult extends PlayFabModule.IPlayFabResultCommon { - /** Fulfilled inventory items and recorded purchases in fulfillment of the validated receipt transactions. */ - Fulfillments?: PurchaseReceiptFulfillment[]; +export interface UpdateUserTitleDisplayNameRequest extends PlayFabModule.IPlayFabRequestCommon { + /** New title display name for the user - must be between 3 and 25 characters. */ + DisplayName: string; - } +} - export interface RewardAdActivityRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Placement unique ID */ - PlacementId: string; - /** Reward unique ID */ - RewardId: string; +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; - } +} - export interface RewardAdActivityResult extends PlayFabModule.IPlayFabResultCommon { - /** PlayStream Event ID that was generated by this reward (all subsequent events are associated with this event identifier) */ - AdActivityEventId?: string; - /** Debug results from the grants */ - DebugResults?: string[]; - /** Id of the placement the reward was for */ - PlacementId?: string; - /** Name of the placement the reward was for */ - PlacementName?: string; - /** If placement has viewing limits indicates how many views are left */ - PlacementViewsRemaining?: number; - /** If placement has viewing limits indicates when they will next reset */ - PlacementViewsResetMinutes?: number; - /** Reward results */ - RewardResults?: AdRewardResults; - - } - - 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; - - } - - export interface SendAccountRecoveryEmailRequest extends PlayFabModule.IPlayFabRequestCommon { - /** User email address attached to their account */ - Email: string; - /** The email template id of the account recovery email template to send. */ - EmailTemplateId?: 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; - - } - - export interface SendAccountRecoveryEmailResult extends PlayFabModule.IPlayFabResultCommon { - - } - - 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[]; - - } - - export interface SetFriendTagsResult extends PlayFabModule.IPlayFabResultCommon { - - } - - export interface SetPlayerSecretRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Base64 encoded body that is encrypted with the Title's public RSA key (Enterprise Only). */ - EncryptedRequest?: string; - /** Player secret that is used to verify API request signatures (Enterprise Only). */ - PlayerSecret?: string; - - } - - export interface SetPlayerSecretResult extends PlayFabModule.IPlayFabResultCommon { - - } - - export interface SharedGroupDataRecord { - /** Timestamp for when this data was last updated. */ - LastUpdated: string; - /** Unique PlayFab identifier of the user to last update this value. */ - LastUpdatedBy?: string; - /** Indicates whether this data can be read by all users (public) or only members of the group (private). */ - Permission?: string; - /** Data stored for the specified group data key. */ - Value?: string; - - } - - type SourceType = "Admin" - | "BackEnd" - | "GameClient" - | "GameServer" - | "Partner" - | "Custom" - | "API"; - - export interface StartGameRequest extends PlayFabModule.IPlayFabRequestCommon { - /** version information for the build of the game server which is to be started */ - BuildVersion: 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; - /** the title-defined game mode this server is to be running (defaults to 0 if there is only one mode) */ - GameMode: string; - /** the region to associate this server with for match filtering */ - Region: string; - /** player statistic for others to use in finding this game. May be null for no stat-based matching */ - StatisticName?: string; - - } - - export interface StartGameResult extends PlayFabModule.IPlayFabResultCommon { - /** timestamp for when the server should expire, if applicable */ - Expires?: string; - /** unique identifier for the lobby of the server started */ - LobbyID?: string; - /** password required to log into the server */ - Password?: string; - /** server IPV4 address */ - ServerIPV4Address?: string; - /** server IPV6 address */ - ServerIPV6Address?: string; - /** port on the server to be used for communication */ - ServerPort?: number; - /** server public DNS name */ - ServerPublicDNSName?: string; - /** unique identifier for the server */ - Ticket?: string; - - } - - export interface StartPurchaseRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Catalog version for the items to be purchased. Defaults to most recent catalog. */ - CatalogVersion?: string; - /** Array of items to purchase. */ - Items: ItemPurchaseRequest[]; - /** Store through which to purchase items. If not set, prices will be pulled from the catalog itself. */ - StoreId?: string; - - } - - export interface StartPurchaseResult extends PlayFabModule.IPlayFabResultCommon { - /** Cart items to be purchased. */ - Contents?: CartItem[]; - /** Purchase order identifier. */ - OrderId?: string; - /** Available methods by which the user can pay. */ - PaymentOptions?: PaymentOption[]; - /** Current virtual currency totals for the user. */ - VirtualCurrencyBalances?: { [key: string]: number }; - - } - - export interface StatisticModel { - /** Statistic name */ - Name?: string; - /** Statistic value */ - Value: number; - /** Statistic version (0 if not a versioned statistic) */ - Version: number; - - } - - export interface StatisticNameVersion { - /** unique name of the statistic */ - StatisticName: string; - /** the version of the statistic to be returned */ - Version: number; - - } - - export interface StatisticUpdate { - /** 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. Null when - * setting the statistic value for the first time. - */ - Version?: number; - - } - - 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; - - } - - export interface SteamPlayFabIdPair { - /** Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the Steam identifier. */ - PlayFabId?: string; - /** Unique Steam identifier for a user. */ - SteamStringId?: string; - - } - - export interface StoreItem { - /** 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; - /** - * 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 for specific currencies */ - RealCurrencyPrices?: { [key: string]: number }; - /** Override prices for this item in virtual currencies and "RM" (the base Real Money purchase price, in USD pennies) */ - VirtualCurrencyPrices?: { [key: string]: number }; - - } - - export interface StoreMarketingModel { - /** Tagline for a store. */ - Description?: string; - /** Display name of a store as it will appear to users. */ - DisplayName?: string; - /** Custom data about a store. */ - Metadata?: any; - - } - - export interface SubscriptionModel { - /** When this subscription expires. */ - Expiration: string; - /** The time the subscription was orignially purchased */ - InitialSubscriptionTime: string; - /** Whether this subscription is currently active. That is, if Expiration > now. */ - IsActive: boolean; - /** The status of this subscription, according to the subscription provider. */ - Status?: string; - /** The id for this subscription */ - SubscriptionId?: string; - /** The item id for this subscription from the primary catalog */ - SubscriptionItemId?: string; - /** The provider for this subscription. Apple or Google Play are supported today. */ - SubscriptionProvider?: string; - - } - - type SubscriptionProviderStatus = "NoError" - | "Cancelled" - | "UnknownError" - | "BillingError" - | "ProductUnavailable" - | "CustomerDidNotAcceptPriceChange" - | "FreeTrial" - | "PaymentPending"; - - export interface SubtractUserVirtualCurrencyRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Amount to be subtracted from the user balance of the specified virtual currency. */ - Amount: number; - /** Name of the virtual currency which is to be decremented. */ - VirtualCurrency: string; - - } - - export interface TagModel { - /** Full value of the tag, including namespace */ - TagValue?: string; - - } - - type TitleActivationStatus = "None" - | "ActivatedTitleKey" - | "PendingSteam" - | "ActivatedSteam" - | "RevokedSteam"; - - export interface TitleNewsItem { - /** News item text. */ - Body?: string; - /** Unique identifier of news item. */ - NewsId?: string; - /** Date and time when the news item was posted. */ - Timestamp: string; - /** Title of the news item. */ - Title?: string; - - } - - export interface TradeInfo { - /** Item instances from the accepting player that are used to fulfill the trade. If null, no one has accepted the trade. */ - AcceptedInventoryInstanceIds?: string[]; - /** The PlayFab ID of the player who accepted the trade. If null, no one has accepted the trade. */ - AcceptedPlayerId?: string; - /** An optional list of players allowed to complete this trade. If null, anybody can complete the trade. */ - AllowedPlayerIds?: string[]; - /** If set, The UTC time when this trade was canceled. */ - CancelledAt?: string; - /** If set, The UTC time when this trade was fulfilled. */ - FilledAt?: string; - /** If set, The UTC time when this trade was made invalid. */ - InvalidatedAt?: string; - /** The catalogItem Ids of the item instances being offered. */ - OfferedCatalogItemIds?: string[]; - /** The itemInstance Ids that are being offered. */ - OfferedInventoryInstanceIds?: string[]; - /** The PlayFabId for the offering player. */ - OfferingPlayerId?: string; - /** The UTC time when this trade was created. */ - OpenedAt?: string; - /** The catalogItem Ids requested in exchange. */ - RequestedCatalogItemIds?: string[]; - /** Describes the current state of this trade. */ - Status?: string; - /** The identifier for this trade. */ - TradeId?: 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"; +export interface UserAccountInfo { + /** User Android device information, if an Android device has been linked */ + AndroidDeviceInfo?: UserAndroidDeviceInfo; + /** Sign in with Apple account information, if an Apple account has been linked */ + AppleAccountInfo?: UserAppleIdInfo; + /** Timestamp indicating when the user account was created */ + Created: string; + /** Custom ID information, if a custom ID has been assigned */ + CustomIdInfo?: UserCustomIdInfo; + /** User Facebook information, if a Facebook account has been linked */ + FacebookInfo?: UserFacebookInfo; + /** Facebook Instant Games account information, if a Facebook Instant Games account has been linked */ + FacebookInstantGamesIdInfo?: UserFacebookInstantGamesIdInfo; + /** User Gamecenter information, if a Gamecenter account has been linked */ + GameCenterInfo?: UserGameCenterInfo; + /** User Google account information, if a Google account has been linked */ + GoogleInfo?: UserGoogleInfo; + /** User iOS device information, if an iOS device has been linked */ + IosDeviceInfo?: UserIosDeviceInfo; + /** User Kongregate account information, if a Kongregate account has been linked */ + KongregateInfo?: UserKongregateInfo; + /** Nintendo Switch account information, if a Nintendo Switch account has been linked */ + NintendoSwitchAccountInfo?: UserNintendoSwitchAccountIdInfo; + /** Nintendo Switch device information, if a Nintendo Switch device has been linked */ + NintendoSwitchDeviceIdInfo?: UserNintendoSwitchDeviceIdInfo; + /** OpenID Connect information, if any OpenID Connect accounts have been linked */ + OpenIdInfo?: UserOpenIdInfo[]; + /** Unique identifier for the user account */ + PlayFabId?: string; + /** Personal information for the user which is considered more sensitive */ + PrivateInfo?: UserPrivateAccountInfo; + /** User PSN account information, if a PSN account has been linked */ + PsnInfo?: UserPsnInfo; + /** User Steam information, if a Steam account has been linked */ + SteamInfo?: UserSteamInfo; + /** Title-specific information for the user account */ + TitleInfo?: UserTitleInfo; + /** User Twitch account information, if a Twitch account has been linked */ + TwitchInfo?: UserTwitchInfo; + /** User account name in the PlayFab service */ + Username?: string; + /** Windows Hello account information, if a Windows Hello account has been linked */ + WindowsHelloInfo?: UserWindowsHelloInfo; + /** User XBox account information, if a XBox account has been linked */ + XboxInfo?: UserXboxInfo; - export interface TreatmentAssignment { - /** List of the experiment variables. */ - Variables?: Variable[]; - /** List of the experiment variants. */ - Variants?: string[]; +} - } +export interface UserAndroidDeviceInfo { + /** Android device ID */ + AndroidDeviceId?: string; - export interface TwitchPlayFabIdPair { - /** Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the Twitch identifier. */ - PlayFabId?: string; - /** Unique Twitch identifier for a user. */ - TwitchId?: string; +} - } +export interface UserAppleIdInfo { + /** Apple subject ID */ + AppleSubjectId?: string; - 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; +} - } +export interface UserCustomIdInfo { + /** Custom ID */ + CustomId?: string; - export interface UnlinkAndroidDeviceIDResult extends PlayFabModule.IPlayFabResultCommon { +} - } +type UserDataPermission = "Private" + | "Public"; - export interface UnlinkAppleRequest extends PlayFabModule.IPlayFabRequestCommon { +export interface UserDataRecord { + /** 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; + /** Data stored for the specified user data key. */ + Value?: string; - } +} - 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; +export interface UserFacebookInfo { + /** Facebook identifier */ + FacebookId?: string; + /** Facebook full name */ + FullName?: string; - } +} - export interface UnlinkCustomIDResult extends PlayFabModule.IPlayFabResultCommon { +export interface UserFacebookInstantGamesIdInfo { + /** Facebook Instant Games ID */ + FacebookInstantGamesId?: string; - } +} - export interface UnlinkFacebookAccountRequest extends PlayFabModule.IPlayFabRequestCommon { +export interface UserGameCenterInfo { + /** Gamecenter identifier */ + GameCenterId?: string; - } +} - export interface UnlinkFacebookAccountResult extends PlayFabModule.IPlayFabResultCommon { +export interface UserGoogleInfo { + /** Email address of the Google account */ + GoogleEmail?: string; + /** Gender information of the Google account */ + GoogleGender?: string; + /** Google ID */ + GoogleId?: string; + /** Locale of the Google account */ + GoogleLocale?: string; + /** Name of the Google account user */ + GoogleName?: string; - } +} - export interface UnlinkFacebookInstantGamesIdRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Facebook Instant Games identifier for the user. If not specified, the most recently signed in ID will be used. */ - FacebookInstantGamesId?: string; +export interface UserIosDeviceInfo { + /** iOS device ID */ + IosDeviceId?: string; - } +} - export interface UnlinkFacebookInstantGamesIdResult extends PlayFabModule.IPlayFabResultCommon { +export interface UserKongregateInfo { + /** Kongregate ID */ + KongregateId?: string; + /** Kongregate Username */ + KongregateName?: string; - } +} - export interface UnlinkGameCenterAccountRequest extends PlayFabModule.IPlayFabRequestCommon { +export interface UserNintendoSwitchAccountIdInfo { + /** Nintendo Switch account subject ID */ + NintendoSwitchAccountSubjectId?: string; - } +} - export interface UnlinkGameCenterAccountResult extends PlayFabModule.IPlayFabResultCommon { +export interface UserNintendoSwitchDeviceIdInfo { + /** Nintendo Switch Device ID */ + NintendoSwitchDeviceId?: string; - } +} - export interface UnlinkGoogleAccountRequest extends PlayFabModule.IPlayFabRequestCommon { +export interface UserOpenIdInfo { + /** OpenID Connection ID */ + ConnectionId?: string; + /** OpenID Issuer */ + Issuer?: string; + /** OpenID Subject */ + Subject?: string; - } +} - export interface UnlinkGoogleAccountResult extends PlayFabModule.IPlayFabResultCommon { +type UserOrigination = "Organic" + | "Steam" + | "Google" + | "Amazon" + | "Facebook" + | "Kongregate" + | "GamersFirst" + | "Unknown" + | "IOS" + | "LoadTest" + | "Android" + | "PSN" + | "GameCenter" + | "CustomId" + | "XboxLive" + | "Parse" + | "Twitch" + | "WindowsHello" + | "ServerCustomId" + | "NintendoSwitchDeviceId" + | "FacebookInstantGamesId" + | "OpenIdConnect" + | "Apple" + | "NintendoSwitchAccount"; + +export interface UserPrivateAccountInfo { + /** user email address */ + Email?: string; - } +} - 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; +export interface UserPsnInfo { + /** PSN account ID */ + PsnAccountId?: string; + /** PSN online ID */ + PsnOnlineId?: string; - } +} - export interface UnlinkIOSDeviceIDResult extends PlayFabModule.IPlayFabResultCommon { +export interface UserSettings { + /** Boolean for whether this player is eligible for gathering device info. */ + GatherDeviceInfo: boolean; + /** Boolean for whether this player should report OnFocus play-time tracking. */ + GatherFocusInfo: boolean; + /** Boolean for whether this player is eligible for ad tracking. */ + NeedsAttribution: boolean; - } +} - export interface UnlinkKongregateAccountRequest extends PlayFabModule.IPlayFabRequestCommon { +export interface UserSteamInfo { + /** what stage of game ownership the user is listed as being in, from Steam */ + SteamActivationStatus?: string; + /** the country in which the player resides, from Steam data */ + SteamCountry?: string; + /** currency type set in the user Steam account */ + SteamCurrency?: string; + /** Steam identifier */ + SteamId?: string; + /** Steam display name */ + SteamName?: string; - } +} - export interface UnlinkKongregateAccountResult extends PlayFabModule.IPlayFabResultCommon { +export interface UserTitleInfo { + /** URL to the player's avatar. */ + AvatarUrl?: 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; + /** name of the user, as it is displayed in-game */ + DisplayName?: 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; + /** timestamp for the last user login for this title */ + LastLogin?: string; + /** source by which the user first joined the game, if known */ + Origination?: string; + /** Title player account entity for this user */ + TitlePlayerAccount?: EntityKey; - } +} - export interface UnlinkNintendoSwitchAccountRequest extends PlayFabModule.IPlayFabRequestCommon { +export interface UserTwitchInfo { + /** Twitch ID */ + TwitchId?: string; + /** Twitch Username */ + TwitchUserName?: string; - } +} - export interface UnlinkNintendoSwitchDeviceIdRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Nintendo Switch Device identifier for the user. If not specified, the most recently signed in device ID will be used. */ - NintendoSwitchDeviceId?: string; +export interface UserWindowsHelloInfo { + /** Windows Hello Device Name */ + WindowsHelloDeviceName?: string; + /** Windows Hello Public Key Hash */ + WindowsHelloPublicKeyHash?: string; - } +} - export interface UnlinkNintendoSwitchDeviceIdResult extends PlayFabModule.IPlayFabResultCommon { +export interface UserXboxInfo { + /** XBox user ID */ + XboxUserId?: string; - } +} - export interface UnlinkOpenIdConnectRequest extends PlayFabModule.IPlayFabRequestCommon { - /** A name that identifies which configured OpenID Connect provider relationship to use. Maximum 100 characters. */ - ConnectionId: string; +export interface ValidateAmazonReceiptRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Catalog version of the fulfilled items. If null, defaults to the primary catalog. */ + CatalogVersion?: string; + /** Currency used to pay for the purchase (ISO 4217 currency code). */ + CurrencyCode?: string; + /** Amount of the stated currency paid, in centesimal units. */ + PurchasePrice: number; + /** 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; - } +} - export interface UnlinkPSNAccountRequest extends PlayFabModule.IPlayFabRequestCommon { +export interface ValidateAmazonReceiptResult extends PlayFabModule.IPlayFabResultCommon { + /** Fulfilled inventory items and recorded purchases in fulfillment of the validated receipt transactions. */ + Fulfillments?: PurchaseReceiptFulfillment[]; - } +} - export interface UnlinkPSNAccountResult extends PlayFabModule.IPlayFabResultCommon { +export interface ValidateGooglePlayPurchaseRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Catalog version of the fulfilled items. If null, defaults to the primary catalog. */ + CatalogVersion?: string; + /** Currency used to pay for the purchase (ISO 4217 currency code). */ + CurrencyCode?: string; + /** Amount of the stated currency paid, in centesimal units. */ + PurchasePrice?: number; + /** Original JSON string returned by the Google Play IAB API. */ + ReceiptJson: string; + /** Signature returned by the Google Play IAB API. */ + Signature: string; - } +} - export interface UnlinkSteamAccountRequest extends PlayFabModule.IPlayFabRequestCommon { +export interface ValidateGooglePlayPurchaseResult extends PlayFabModule.IPlayFabResultCommon { + /** Fulfilled inventory items and recorded purchases in fulfillment of the validated receipt transactions. */ + Fulfillments?: PurchaseReceiptFulfillment[]; - } +} - export interface UnlinkSteamAccountResult extends PlayFabModule.IPlayFabResultCommon { +export interface ValidateIOSReceiptRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Catalog version of the fulfilled items. If null, defaults to the primary catalog. */ + CatalogVersion?: string; + /** Currency used to pay for the purchase (ISO 4217 currency code). */ + CurrencyCode?: string; + /** Amount of the stated currency paid, in centesimal units. */ + PurchasePrice: number; + /** Base64 encoded receipt data, passed back by the App Store as a result of a successful purchase. */ + ReceiptData: string; - } +} - export interface UnlinkTwitchAccountRequest extends PlayFabModule.IPlayFabRequestCommon { - /** - * Valid token issued by Twitch. Used to specify which twitch account to unlink from the profile. By default it uses the - * one that is present on the profile. - */ - AccessToken?: string; +export interface ValidateIOSReceiptResult extends PlayFabModule.IPlayFabResultCommon { + /** Fulfilled inventory items and recorded purchases in fulfillment of the validated receipt transactions. */ + Fulfillments?: PurchaseReceiptFulfillment[]; - } +} - export interface UnlinkTwitchAccountResult extends PlayFabModule.IPlayFabResultCommon { +export interface ValidateWindowsReceiptRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Catalog version of the fulfilled items. If null, defaults to the primary catalog. */ + CatalogVersion?: string; + /** Currency used to pay for the purchase (ISO 4217 currency code). */ + CurrencyCode: string; + /** Amount of the stated currency paid, in centesimal units. */ + PurchasePrice: number; + /** XML Receipt returned by the Windows App Store in-app purchase API */ + Receipt: string; - } +} - export interface UnlinkWindowsHelloAccountRequest extends PlayFabModule.IPlayFabRequestCommon { - /** SHA256 hash of the PublicKey generated by Windows Hello. */ - PublicKeyHint: string; +export interface ValidateWindowsReceiptResult extends PlayFabModule.IPlayFabResultCommon { + /** Fulfilled inventory items and recorded purchases in fulfillment of the validated receipt transactions. */ + Fulfillments?: PurchaseReceiptFulfillment[]; - } +} - export interface UnlinkWindowsHelloAccountResponse extends PlayFabModule.IPlayFabResultCommon { +export interface ValueToDateModel { + /** ISO 4217 code of the currency used in the purchases */ + Currency?: string; + /** + * Total value of the purchases in a whole number of 1/100 monetary units. For example, 999 indicates nine dollars and + * ninety-nine cents when Currency is 'USD') + */ + TotalValue: number; + /** + * Total value of the purchases in a string representation of decimal monetary units. For example, '9.99' indicates nine + * dollars and ninety-nine cents when Currency is 'USD'. + */ + TotalValueAsDecimal?: string; - } +} - export interface UnlinkXboxAccountRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Token provided by the Xbox Live SDK/XDK method GetTokenAndSignatureAsync("POST", "https://playfabapi.com/", ""). */ - XboxToken?: string; +export interface Variable { + /** Name of the variable. */ + Name: string; + /** Value of the variable. */ + Value?: string; - } +} - export interface UnlinkXboxAccountResult extends PlayFabModule.IPlayFabResultCommon { +export interface VirtualCurrencyRechargeTime { + /** + * 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; + /** Server timestamp in UTC indicating the next time the virtual currency will be incremented. */ + RechargeTime: string; + /** Time remaining (in seconds) before the next recharge increment of the virtual currency. */ + SecondsToRecharge: number; - } +} - export interface UnlockContainerInstanceRequest extends PlayFabModule.IPlayFabRequestCommon { - /** - * Specifies the catalog version that should be used to determine container contents. If unspecified, uses catalog - * associated with the item instance. - */ - CatalogVersion?: 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; +export interface WriteClientCharacterEventRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Custom event properties. Each property consists of a name (string) and a value (JSON object). */ + Body?: { [key: string]: any }; + /** 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 defaults to the current time. */ + Timestamp?: string; - } +} - export interface UnlockContainerItemRequest extends PlayFabModule.IPlayFabRequestCommon { - /** - * 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; - /** Catalog ItemId of the container type to unlock. */ - ContainerItemId: string; +export interface WriteClientPlayerEventRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Custom data properties associated with the event. Each property consists of a name (string) and a value (JSON object). */ + Body?: { [key: string]: any }; + /** + * 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 defaults to the current time. */ + Timestamp?: string; - } +} - export interface UnlockContainerItemResult extends PlayFabModule.IPlayFabResultCommon { - /** Items granted to the player as a result of unlocking the container. */ - GrantedItems?: ItemInstance[]; - /** Unique instance identifier of the container unlocked. */ - UnlockedItemInstanceId?: string; - /** Unique instance identifier of the key used to unlock the container, if applicable. */ - UnlockedWithItemInstanceId?: string; - /** Virtual currency granted to the player as a result of unlocking the container. */ - VirtualCurrency?: { [key: string]: number }; +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; - } +} - export interface UpdateAvatarUrlRequest extends PlayFabModule.IPlayFabRequestCommon { - /** URL of the avatar image. If empty, it removes the existing avatar URL. */ - ImageUrl: string; - - } +export interface WriteTitleEventRequest extends PlayFabModule.IPlayFabRequestCommon { + /** Custom event properties. Each property consists of a name (string) and a value (JSON object). */ + Body?: { [key: string]: any }; + /** + * 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 defaults to the current time. */ + Timestamp?: string; - 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 or be null. - */ - Data?: { [key: string]: string | null }; - /** - * 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; - - } - - 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; - - } - - 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, in the Key(string), Value(int) pattern. */ - CharacterStatistics?: { [key: string]: number }; - - } - - export interface UpdateCharacterStatisticsResult extends PlayFabModule.IPlayFabResultCommon { - - } - - export interface UpdatePlayerStatisticsRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Statistics to be updated with the provided values */ - Statistics: StatisticUpdate[]; - - } - - export interface UpdatePlayerStatisticsResult extends PlayFabModule.IPlayFabResultCommon { - - } - - export interface UpdateSharedGroupDataRequest 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 or be null. - */ - Data?: { [key: string]: string | null }; - /** - * 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; - /** Unique identifier for the shared group. */ - SharedGroupId: string; - - } - - export interface UpdateSharedGroupDataResult extends PlayFabModule.IPlayFabResultCommon { - - } - - 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 or be null. - */ - Data?: { [key: string]: string | null }; - /** - * 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; - - } - - 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; - - } - - export interface UpdateUserTitleDisplayNameRequest extends PlayFabModule.IPlayFabRequestCommon { - /** New title display name for the user - must be between 3 and 25 characters. */ - DisplayName: string; - - } - - 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; - - } - - export interface UserAccountInfo { - /** User Android device information, if an Android device has been linked */ - AndroidDeviceInfo?: UserAndroidDeviceInfo; - /** Sign in with Apple account information, if an Apple account has been linked */ - AppleAccountInfo?: UserAppleIdInfo; - /** Timestamp indicating when the user account was created */ - Created: string; - /** Custom ID information, if a custom ID has been assigned */ - CustomIdInfo?: UserCustomIdInfo; - /** User Facebook information, if a Facebook account has been linked */ - FacebookInfo?: UserFacebookInfo; - /** Facebook Instant Games account information, if a Facebook Instant Games account has been linked */ - FacebookInstantGamesIdInfo?: UserFacebookInstantGamesIdInfo; - /** User Gamecenter information, if a Gamecenter account has been linked */ - GameCenterInfo?: UserGameCenterInfo; - /** User Google account information, if a Google account has been linked */ - GoogleInfo?: UserGoogleInfo; - /** User iOS device information, if an iOS device has been linked */ - IosDeviceInfo?: UserIosDeviceInfo; - /** User Kongregate account information, if a Kongregate account has been linked */ - KongregateInfo?: UserKongregateInfo; - /** Nintendo Switch account information, if a Nintendo Switch account has been linked */ - NintendoSwitchAccountInfo?: UserNintendoSwitchAccountIdInfo; - /** Nintendo Switch device information, if a Nintendo Switch device has been linked */ - NintendoSwitchDeviceIdInfo?: UserNintendoSwitchDeviceIdInfo; - /** OpenID Connect information, if any OpenID Connect accounts have been linked */ - OpenIdInfo?: UserOpenIdInfo[]; - /** Unique identifier for the user account */ - PlayFabId?: string; - /** Personal information for the user which is considered more sensitive */ - PrivateInfo?: UserPrivateAccountInfo; - /** User PSN account information, if a PSN account has been linked */ - PsnInfo?: UserPsnInfo; - /** User Steam information, if a Steam account has been linked */ - SteamInfo?: UserSteamInfo; - /** Title-specific information for the user account */ - TitleInfo?: UserTitleInfo; - /** User Twitch account information, if a Twitch account has been linked */ - TwitchInfo?: UserTwitchInfo; - /** User account name in the PlayFab service */ - Username?: string; - /** Windows Hello account information, if a Windows Hello account has been linked */ - WindowsHelloInfo?: UserWindowsHelloInfo; - /** User XBox account information, if a XBox account has been linked */ - XboxInfo?: UserXboxInfo; - - } - - export interface UserAndroidDeviceInfo { - /** Android device ID */ - AndroidDeviceId?: string; - - } - - export interface UserAppleIdInfo { - /** Apple subject ID */ - AppleSubjectId?: string; - - } - - export interface UserCustomIdInfo { - /** Custom ID */ - CustomId?: string; - - } - - type UserDataPermission = "Private" - | "Public"; - - export interface UserDataRecord { - /** 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; - /** Data stored for the specified user data key. */ - Value?: string; - - } - - export interface UserFacebookInfo { - /** Facebook identifier */ - FacebookId?: string; - /** Facebook full name */ - FullName?: string; - - } - - export interface UserFacebookInstantGamesIdInfo { - /** Facebook Instant Games ID */ - FacebookInstantGamesId?: string; - - } - - export interface UserGameCenterInfo { - /** Gamecenter identifier */ - GameCenterId?: string; - - } - - export interface UserGoogleInfo { - /** Email address of the Google account */ - GoogleEmail?: string; - /** Gender information of the Google account */ - GoogleGender?: string; - /** Google ID */ - GoogleId?: string; - /** Locale of the Google account */ - GoogleLocale?: string; - /** Name of the Google account user */ - GoogleName?: string; - - } - - export interface UserIosDeviceInfo { - /** iOS device ID */ - IosDeviceId?: string; - - } - - export interface UserKongregateInfo { - /** Kongregate ID */ - KongregateId?: string; - /** Kongregate Username */ - KongregateName?: string; - - } - - export interface UserNintendoSwitchAccountIdInfo { - /** Nintendo Switch account subject ID */ - NintendoSwitchAccountSubjectId?: string; - - } - - export interface UserNintendoSwitchDeviceIdInfo { - /** Nintendo Switch Device ID */ - NintendoSwitchDeviceId?: string; - - } - - export interface UserOpenIdInfo { - /** OpenID Connection ID */ - ConnectionId?: string; - /** OpenID Issuer */ - Issuer?: string; - /** OpenID Subject */ - Subject?: string; - - } - - type UserOrigination = "Organic" - | "Steam" - | "Google" - | "Amazon" - | "Facebook" - | "Kongregate" - | "GamersFirst" - | "Unknown" - | "IOS" - | "LoadTest" - | "Android" - | "PSN" - | "GameCenter" - | "CustomId" - | "XboxLive" - | "Parse" - | "Twitch" - | "WindowsHello" - | "ServerCustomId" - | "NintendoSwitchDeviceId" - | "FacebookInstantGamesId" - | "OpenIdConnect" - | "Apple" - | "NintendoSwitchAccount"; - - export interface UserPrivateAccountInfo { - /** user email address */ - Email?: string; - - } - - export interface UserPsnInfo { - /** PSN account ID */ - PsnAccountId?: string; - /** PSN online ID */ - PsnOnlineId?: string; - - } - - export interface UserSettings { - /** Boolean for whether this player is eligible for gathering device info. */ - GatherDeviceInfo: boolean; - /** Boolean for whether this player should report OnFocus play-time tracking. */ - GatherFocusInfo: boolean; - /** Boolean for whether this player is eligible for ad tracking. */ - NeedsAttribution: boolean; - - } - - export interface UserSteamInfo { - /** what stage of game ownership the user is listed as being in, from Steam */ - SteamActivationStatus?: string; - /** the country in which the player resides, from Steam data */ - SteamCountry?: string; - /** currency type set in the user Steam account */ - SteamCurrency?: string; - /** Steam identifier */ - SteamId?: string; - /** Steam display name */ - SteamName?: string; - - } - - export interface UserTitleInfo { - /** URL to the player's avatar. */ - AvatarUrl?: 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; - /** name of the user, as it is displayed in-game */ - DisplayName?: 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; - /** timestamp for the last user login for this title */ - LastLogin?: string; - /** source by which the user first joined the game, if known */ - Origination?: string; - /** Title player account entity for this user */ - TitlePlayerAccount?: EntityKey; - - } - - export interface UserTwitchInfo { - /** Twitch ID */ - TwitchId?: string; - /** Twitch Username */ - TwitchUserName?: string; - - } - - export interface UserWindowsHelloInfo { - /** Windows Hello Device Name */ - WindowsHelloDeviceName?: string; - /** Windows Hello Public Key Hash */ - WindowsHelloPublicKeyHash?: string; - - } - - export interface UserXboxInfo { - /** XBox user ID */ - XboxUserId?: string; - - } - - export interface ValidateAmazonReceiptRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Catalog version of the fulfilled items. If null, defaults to the primary catalog. */ - CatalogVersion?: string; - /** Currency used to pay for the purchase (ISO 4217 currency code). */ - CurrencyCode?: string; - /** Amount of the stated currency paid, in centesimal units. */ - PurchasePrice: number; - /** 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; - - } - - export interface ValidateAmazonReceiptResult extends PlayFabModule.IPlayFabResultCommon { - /** Fulfilled inventory items and recorded purchases in fulfillment of the validated receipt transactions. */ - Fulfillments?: PurchaseReceiptFulfillment[]; - - } - - export interface ValidateGooglePlayPurchaseRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Catalog version of the fulfilled items. If null, defaults to the primary catalog. */ - CatalogVersion?: string; - /** Currency used to pay for the purchase (ISO 4217 currency code). */ - CurrencyCode?: string; - /** Amount of the stated currency paid, in centesimal units. */ - PurchasePrice?: number; - /** Original JSON string returned by the Google Play IAB API. */ - ReceiptJson: string; - /** Signature returned by the Google Play IAB API. */ - Signature: string; - - } - - export interface ValidateGooglePlayPurchaseResult extends PlayFabModule.IPlayFabResultCommon { - /** Fulfilled inventory items and recorded purchases in fulfillment of the validated receipt transactions. */ - Fulfillments?: PurchaseReceiptFulfillment[]; - - } - - export interface ValidateIOSReceiptRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Catalog version of the fulfilled items. If null, defaults to the primary catalog. */ - CatalogVersion?: string; - /** Currency used to pay for the purchase (ISO 4217 currency code). */ - CurrencyCode?: string; - /** Amount of the stated currency paid, in centesimal units. */ - PurchasePrice: number; - /** Base64 encoded receipt data, passed back by the App Store as a result of a successful purchase. */ - ReceiptData: string; - - } - - export interface ValidateIOSReceiptResult extends PlayFabModule.IPlayFabResultCommon { - /** Fulfilled inventory items and recorded purchases in fulfillment of the validated receipt transactions. */ - Fulfillments?: PurchaseReceiptFulfillment[]; - - } - - export interface ValidateWindowsReceiptRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Catalog version of the fulfilled items. If null, defaults to the primary catalog. */ - CatalogVersion?: string; - /** Currency used to pay for the purchase (ISO 4217 currency code). */ - CurrencyCode: string; - /** Amount of the stated currency paid, in centesimal units. */ - PurchasePrice: number; - /** XML Receipt returned by the Windows App Store in-app purchase API */ - Receipt: string; - - } - - export interface ValidateWindowsReceiptResult extends PlayFabModule.IPlayFabResultCommon { - /** Fulfilled inventory items and recorded purchases in fulfillment of the validated receipt transactions. */ - Fulfillments?: PurchaseReceiptFulfillment[]; - - } - - export interface ValueToDateModel { - /** ISO 4217 code of the currency used in the purchases */ - Currency?: string; - /** - * Total value of the purchases in a whole number of 1/100 monetary units. For example, 999 indicates nine dollars and - * ninety-nine cents when Currency is 'USD') - */ - TotalValue: number; - /** - * Total value of the purchases in a string representation of decimal monetary units. For example, '9.99' indicates nine - * dollars and ninety-nine cents when Currency is 'USD'. - */ - TotalValueAsDecimal?: string; - - } - - export interface Variable { - /** Name of the variable. */ - Name: string; - /** Value of the variable. */ - Value?: string; - - } - - export interface VirtualCurrencyRechargeTime { - /** - * 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; - /** Server timestamp in UTC indicating the next time the virtual currency will be incremented. */ - RechargeTime: string; - /** Time remaining (in seconds) before the next recharge increment of the virtual currency. */ - SecondsToRecharge: number; - - } - - export interface WriteClientCharacterEventRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Custom event properties. Each property consists of a name (string) and a value (JSON object). */ - Body?: { [key: string]: any }; - /** 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 defaults to the current time. */ - Timestamp?: string; - - } - - export interface WriteClientPlayerEventRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Custom data properties associated with the event. Each property consists of a name (string) and a value (JSON object). */ - Body?: { [key: string]: any }; - /** - * 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 defaults to the current time. */ - Timestamp?: string; - - } - - 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; - - } - - export interface WriteTitleEventRequest extends PlayFabModule.IPlayFabRequestCommon { - /** Custom event properties. Each property consists of a name (string) and a value (JSON object). */ - Body?: { [key: string]: any }; - /** - * 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 defaults to the current time. */ - Timestamp?: string; - - } - - export interface XboxLiveAccountPlayFabIdPair { - /** Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the Xbox Live identifier. */ - PlayFabId?: string; - /** Unique Xbox Live identifier for a user. */ - XboxLiveAccountId?: string; - - } +} +export interface XboxLiveAccountPlayFabIdPair { + /** Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the Xbox Live identifier. */ + PlayFabId?: string; + /** Unique Xbox Live identifier for a user. */ + XboxLiveAccountId?: string; } diff --git a/PlayFabSdk/src/Typings/PlayFab/Playfab.d.ts b/PlayFabSdk/src/Typings/PlayFab/Playfab.d.ts index f3d91fe6..1d4a6b34 100644 --- a/PlayFabSdk/src/Typings/PlayFab/Playfab.d.ts +++ b/PlayFabSdk/src/Typings/PlayFab/Playfab.d.ts @@ -1,82 +1,27 @@ -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// - -declare module PlayFabModule { - export interface ISettings { - titleId: string; - developerSecretKey: string; - GlobalHeaderInjection?: { [key: string]: 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[] }; - request?: any; - customData?: any; - } - export interface SuccessContainer extends IPlayFabError { - data: TResult; - } - export interface IPlayFabResultCommon extends IPlayFabError { } - - export interface ApiCallback { (result: SuccessContainer, error: IPlayFabError): void } +export interface ISettings { + titleId: string; + developerSecretKey: string; + GlobalHeaderInjection?: { [key: string]: 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[] }; + request?: any; + customData?: any; +} +export interface SuccessContainer extends IPlayFabError { + data: TResult; +} +export interface IPlayFabResultCommon extends IPlayFabError { } -declare var PlayFab: { - buildIdentifier: string; - sdkVersion: string; - GenerateErrorReport(IPlayFabError): string; - settings: PlayFabModule.ISettings; - AdminApi: PlayFabAdminModule.IPlayFabAdmin; - ClientApi: PlayFabClientModule.IPlayFabClient; - MatchmakerApi: PlayFabMatchmakerModule.IPlayFabMatchmaker; - ServerApi: PlayFabServerModule.IPlayFabServer; - AuthenticationApi: PlayFabAuthenticationModule.IPlayFabAuthentication; - CloudScriptApi: PlayFabCloudScriptModule.IPlayFabCloudScript; - DataApi: PlayFabDataModule.IPlayFabData; - EventsApi: PlayFabEventsModule.IPlayFabEvents; - ExperimentationApi: PlayFabExperimentationModule.IPlayFabExperimentation; - InsightsApi: PlayFabInsightsModule.IPlayFabInsights; - GroupsApi: PlayFabGroupsModule.IPlayFabGroups; - LocalizationApi: PlayFabLocalizationModule.IPlayFabLocalization; - MultiplayerApi: PlayFabMultiplayerModule.IPlayFabMultiplayer; - ProfilesApi: PlayFabProfilesModule.IPlayFabProfiles; - -}; -// Continue to support older usage -declare var PlayFabAdminSDK: PlayFabAdminModule.IPlayFabAdmin; -declare var PlayFabClientSDK: PlayFabClientModule.IPlayFabClient; -declare var PlayFabMatchmakerSDK: PlayFabMatchmakerModule.IPlayFabMatchmaker; -declare var PlayFabServerSDK: PlayFabServerModule.IPlayFabServer; -declare var PlayFabAuthenticationSDK: PlayFabAuthenticationModule.IPlayFabAuthentication; -declare var PlayFabCloudScriptSDK: PlayFabCloudScriptModule.IPlayFabCloudScript; -declare var PlayFabDataSDK: PlayFabDataModule.IPlayFabData; -declare var PlayFabEventsSDK: PlayFabEventsModule.IPlayFabEvents; -declare var PlayFabExperimentationSDK: PlayFabExperimentationModule.IPlayFabExperimentation; -declare var PlayFabInsightsSDK: PlayFabInsightsModule.IPlayFabInsights; -declare var PlayFabGroupsSDK: PlayFabGroupsModule.IPlayFabGroups; -declare var PlayFabLocalizationSDK: PlayFabLocalizationModule.IPlayFabLocalization; -declare var PlayFabMultiplayerSDK: PlayFabMultiplayerModule.IPlayFabMultiplayer; -declare var PlayFabProfilesSDK: PlayFabProfilesModule.IPlayFabProfiles; - +export interface ApiCallback { (result: SuccessContainer, error: IPlayFabError): void } diff --git a/README.md b/README.md index 39c1e079..3d5cc095 100644 --- a/README.md +++ b/README.md @@ -1,65 +1,31 @@ # JavaScriptSDK README +This is **hack** around the original PlayFab JS SDK to provide support for generic Typescript projects -## 1. Overview: +## How to use -JavaScriptSDK for the Client API of PlayFab +Use the web SDK Playfab provides as a pre-built package. -This SDK can alternatively be used via our CDN. Additional details can be found [here](https://blog.playfab.com/blog/playfab-now-serving-javascript-sdk-via-cdn). +```html + +``` -If you want to start coding right away, check out our [JavaScript Getting Started Guide](JavaScriptGettingStarted.md) +Create a `global.d.ts` to define its public interface +```js +import {ISettings} from '@nagyv/playfab-web-sdk/src/Typings/PlayFab/PlayFab' +import {IPlayFabClient} from '@nagyv/playfab-web-sdk/src/Typings/PlayFab/PlayFabClientApi' -## 2. Prerequisites: +export {}; -* Users should be very familiar with the topics covered in our [getting started guide](https://api.playfab.com/docs/general-getting-started). +declare global { + interface Window { + PlayFab: { + settings: ISettings, + } + PlayFabClientSDK: IPlayFabClient + } +} +``` -To connect to the PlayFab service, your machine must be running TLS v1.2 or better. -* For Windows, this means Windows 7 and above -* [Official Microsoft Documentation](https://msdn.microsoft.com/en-us/library/windows/desktop/aa380516%28v=vs.85%29.aspx) -* [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 (UNDER CONSTRUCTION) - -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: -* [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" - - -## 4. Troubleshooting: - -For a complete list of available APIs, check out the [online documentation](http://api.playfab.com/Documentation/). - -#### Contact Us -We love to hear from our developer community! -Do you have ideas on how we can make our products and services better? - -Our Developer Success Team can assist with answering any questions as well as process any feedback you have about PlayFab services. - -[Forums, Support and Knowledge Base](https://community.playfab.com/index.html) - -## 7. NPM support: -You may install JavaScript SDK with npm by running : - -`npm install playfab-web-sdk` - -Notice that it will install web JavaScript package as opposed to `npm install playfab` which will install NodeJS SDK. - -While npm is generally used for server side packages, you may use one of popular build tools to mix NPM installed packages into your clientside JS codebase. Consider Babel, Webpack, Gulp or Grunt for different approaches to building and automation. - -## 6. Acknowledgements - - [dylanh724](https://www.github.com/dylanh724) - The previous tutorial before the current [Getting Started Guide](JavaScriptGettingStarted.md) - - -## 7. Copyright and Licensing Information: - - Apache License -- - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - Full details available within the LICENSE file. +Import the interface definitions as needed into your own code as shown in the `global.d.ts` snippet above.