Skip to content
Permalink
ee3f9b97b0
Switch branches/tags
Go to file
 
 
Cannot retrieve contributors at this time
6891 lines (6518 sloc) 243 KB
#if !DISABLE_PLAYFABCLIENT_API
using System;
using System.Collections.Generic;
using PlayFab.SharedModels;
namespace PlayFab.ClientModels
{
[Serializable]
public class AcceptTradeRequest : PlayFabRequestCommon
{
/// <summary>
/// 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.
/// </summary>
public List<string> AcceptedInventoryInstanceIds;
/// <summary>
/// Player who opened the trade.
/// </summary>
public string OfferingPlayerId;
/// <summary>
/// Trade identifier.
/// </summary>
public string TradeId;
}
[Serializable]
public class AcceptTradeResponse : PlayFabResultCommon
{
/// <summary>
/// Details about trade which was just accepted.
/// </summary>
public TradeInfo Trade;
}
[Serializable]
public class AdCampaignAttributionModel : PlayFabBaseModel
{
/// <summary>
/// UTC time stamp of attribution
/// </summary>
public DateTime AttributedAt;
/// <summary>
/// Attribution campaign identifier
/// </summary>
public string CampaignId;
/// <summary>
/// Attribution network name
/// </summary>
public string Platform;
}
[Serializable]
public class AddFriendRequest : PlayFabRequestCommon
{
/// <summary>
/// Email address of the user to attempt to add to the local user's friend list.
/// </summary>
public string FriendEmail;
/// <summary>
/// PlayFab identifier of the user to attempt to add to the local user's friend list.
/// </summary>
public string FriendPlayFabId;
/// <summary>
/// Title-specific display name of the user to attempt to add to the local user's friend list.
/// </summary>
public string FriendTitleDisplayName;
/// <summary>
/// PlayFab username of the user to attempt to add to the local user's friend list.
/// </summary>
public string FriendUsername;
}
[Serializable]
public class AddFriendResult : PlayFabResultCommon
{
/// <summary>
/// True if the friend request was processed successfully.
/// </summary>
public bool Created;
}
[Serializable]
public class AddGenericIDRequest : PlayFabRequestCommon
{
/// <summary>
/// Generic service identifier to add to the player account.
/// </summary>
public GenericServiceId GenericId;
}
[Serializable]
public class AddGenericIDResult : PlayFabResultCommon
{
}
/// <summary>
/// This API adds a contact email to the player's profile. If the player's profile already contains a contact email, it will
/// update the contact email to the email address specified.
/// </summary>
[Serializable]
public class AddOrUpdateContactEmailRequest : PlayFabRequestCommon
{
/// <summary>
/// The new contact email to associate with the player.
/// </summary>
public string EmailAddress;
}
[Serializable]
public class AddOrUpdateContactEmailResult : PlayFabResultCommon
{
}
[Serializable]
public class AddSharedGroupMembersRequest : PlayFabRequestCommon
{
/// <summary>
/// An array of unique PlayFab assigned ID of the user on whom the operation will be performed.
/// </summary>
public List<string> PlayFabIds;
/// <summary>
/// Unique identifier for the shared group.
/// </summary>
public string SharedGroupId;
}
[Serializable]
public class AddSharedGroupMembersResult : PlayFabResultCommon
{
}
[Serializable]
public class AddUsernamePasswordRequest : PlayFabRequestCommon
{
/// <summary>
/// User email address attached to their account
/// </summary>
public string Email;
/// <summary>
/// Password for the PlayFab account (6-100 characters)
/// </summary>
public string Password;
/// <summary>
/// PlayFab username for the account (3-20 characters)
/// </summary>
public string Username;
}
/// <summary>
/// Each account must have a unique username and email address in the PlayFab service. Once created, the account may be
/// associated with additional accounts (Steam, Facebook, Game Center, etc.), allowing for added social network lists and
/// achievements systems. This can also be used to provide a recovery method if the user loses their original means of
/// access.
/// </summary>
[Serializable]
public class AddUsernamePasswordResult : PlayFabResultCommon
{
/// <summary>
/// PlayFab unique user name.
/// </summary>
public string Username;
}
/// <summary>
/// This API must be enabled for use as an option in the game manager website. It is disabled by default.
/// </summary>
[Serializable]
public class AddUserVirtualCurrencyRequest : PlayFabRequestCommon
{
/// <summary>
/// Amount to be added to the user balance of the specified virtual currency.
/// </summary>
public int Amount;
/// <summary>
/// Name of the virtual currency which is to be incremented.
/// </summary>
public string VirtualCurrency;
}
/// <summary>
/// More information can be found on configuring your game for the Google Cloud Messaging service in the Google developer
/// documentation, here: http://developer.android.com/google/gcm/client.html. The steps to configure and send Push
/// Notifications is described in the PlayFab tutorials, here: https://api.playfab.com/docs/pushCrashCourse/.
/// </summary>
[Serializable]
public class AndroidDevicePushNotificationRegistrationRequest : PlayFabRequestCommon
{
/// <summary>
/// Message to display when confirming push notification.
/// </summary>
public string ConfirmationMessage;
/// <summary>
/// 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).
/// </summary>
public string DeviceToken;
/// <summary>
/// If true, send a test push message immediately after sucessful registration. Defaults to false.
/// </summary>
public bool? SendPushNotificationConfirmation;
}
[Serializable]
public class AndroidDevicePushNotificationRegistrationResult : PlayFabResultCommon
{
}
/// <summary>
/// If you have an ad attribution partner enabled, this will post an install to their service to track the device. It uses
/// the given device id to match based on clicks on ads.
/// </summary>
[Serializable]
public class AttributeInstallRequest : PlayFabRequestCommon
{
/// <summary>
/// The adid for this device.
/// </summary>
public string Adid;
/// <summary>
/// The IdentifierForAdvertisers for iOS Devices.
/// </summary>
public string Idfa;
}
[Serializable]
public class AttributeInstallResult : PlayFabResultCommon
{
}
[Serializable]
public class CancelTradeRequest : PlayFabRequestCommon
{
/// <summary>
/// Trade identifier.
/// </summary>
public string TradeId;
}
[Serializable]
public class CancelTradeResponse : PlayFabResultCommon
{
/// <summary>
/// Details about trade which was just canceled.
/// </summary>
public TradeInfo Trade;
}
[Serializable]
public class CartItem : PlayFabBaseModel
{
/// <summary>
/// Description of the catalog item.
/// </summary>
public string Description;
/// <summary>
/// Display name for the catalog item.
/// </summary>
public string DisplayName;
/// <summary>
/// Class name to which catalog item belongs.
/// </summary>
public string ItemClass;
/// <summary>
/// Unique identifier for the catalog item.
/// </summary>
public string ItemId;
/// <summary>
/// Unique instance identifier for this catalog item.
/// </summary>
public string ItemInstanceId;
/// <summary>
/// Cost of the catalog item for each applicable real world currency.
/// </summary>
public Dictionary<string,uint> RealCurrencyPrices;
/// <summary>
/// Amount of each applicable virtual currency which will be received as a result of purchasing this catalog item.
/// </summary>
public Dictionary<string,uint> VCAmount;
/// <summary>
/// Cost of the catalog item for each applicable virtual currency.
/// </summary>
public Dictionary<string,uint> VirtualCurrencyPrices;
}
/// <summary>
/// A purchasable item from the item catalog
/// </summary>
[Serializable]
public class CatalogItem : PlayFabBaseModel
{
/// <summary>
/// defines the bundle properties for the item - bundles are items which contain other items, including random drop tables
/// and virtual currencies
/// </summary>
public CatalogItemBundleInfo Bundle;
/// <summary>
/// if true, then an item instance of this type can be used to grant a character to a user.
/// </summary>
public bool CanBecomeCharacter;
/// <summary>
/// catalog version for this item
/// </summary>
public string CatalogVersion;
/// <summary>
/// defines the consumable properties (number of uses, timeout) for the item
/// </summary>
public CatalogItemConsumableInfo Consumable;
/// <summary>
/// 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
/// </summary>
public CatalogItemContainerInfo Container;
/// <summary>
/// game specific custom data
/// </summary>
public string CustomData;
/// <summary>
/// text description of item, to show in-game
/// </summary>
public string Description;
/// <summary>
/// text name for the item, to show in-game
/// </summary>
public string DisplayName;
/// <summary>
/// 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.
/// </summary>
public int InitialLimitedEditionCount;
/// <summary>
/// BETA: If true, then only a fixed number can ever be granted.
/// </summary>
public bool IsLimitedEdition;
/// <summary>
/// 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
/// </summary>
public bool IsStackable;
/// <summary>
/// if true, then an item instance of this type can be traded between players using the trading APIs
/// </summary>
public bool IsTradable;
/// <summary>
/// class to which the item belongs
/// </summary>
public string ItemClass;
/// <summary>
/// unique identifier for this item
/// </summary>
public string ItemId;
/// <summary>
/// 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.
/// </summary>
public string ItemImageUrl;
/// <summary>
/// override prices for this item for specific currencies
/// </summary>
public Dictionary<string,uint> RealCurrencyPrices;
/// <summary>
/// list of item tags
/// </summary>
public List<string> Tags;
/// <summary>
/// price of this item in virtual currencies and "RM" (the base Real Money purchase price, in USD pennies)
/// </summary>
public Dictionary<string,uint> VirtualCurrencyPrices;
}
[Serializable]
public class CatalogItemBundleInfo : PlayFabBaseModel
{
/// <summary>
/// unique ItemId values for all items which will be added to the player inventory when the bundle is added
/// </summary>
public List<string> BundledItems;
/// <summary>
/// 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)
/// </summary>
public List<string> BundledResultTables;
/// <summary>
/// virtual currency types and balances which will be added to the player inventory when the bundle is added
/// </summary>
public Dictionary<string,uint> BundledVirtualCurrencies;
}
[Serializable]
public class CatalogItemConsumableInfo : PlayFabBaseModel
{
/// <summary>
/// number of times this object can be used, after which it will be removed from the player inventory
/// </summary>
public uint? UsageCount;
/// <summary>
/// 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)
/// </summary>
public uint? UsagePeriod;
/// <summary>
/// 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
/// </summary>
public string UsagePeriodGroup;
}
/// <summary>
/// Containers are inventory items that can hold other items defined in the catalog, as well as virtual currency, which is
/// added to the player inventory when the container is unlocked, using the UnlockContainerItem API. The items can be
/// anything defined in the catalog, as well as RandomResultTable objects which will be resolved when the container is
/// unlocked. Containers and their keys should be defined as Consumable (having a limited number of uses) in their catalog
/// defintiions, unless the intent is for the player to be able to re-use them infinitely.
/// </summary>
[Serializable]
public class CatalogItemContainerInfo : PlayFabBaseModel
{
/// <summary>
/// unique ItemId values for all items which will be added to the player inventory, once the container has been unlocked
/// </summary>
public List<string> ItemContents;
/// <summary>
/// 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)
/// </summary>
public string KeyItemId;
/// <summary>
/// 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)
/// </summary>
public List<string> ResultTableContents;
/// <summary>
/// virtual currency types and balances which will be added to the player inventory when the container is unlocked
/// </summary>
public Dictionary<string,uint> VirtualCurrencyContents;
}
[Serializable]
public class CharacterInventory : PlayFabBaseModel
{
/// <summary>
/// The id of this character.
/// </summary>
public string CharacterId;
/// <summary>
/// The inventory of this character.
/// </summary>
public List<ItemInstance> Inventory;
}
[Serializable]
public class CharacterLeaderboardEntry : PlayFabBaseModel
{
/// <summary>
/// PlayFab unique identifier of the character that belongs to the user for this leaderboard entry.
/// </summary>
public string CharacterId;
/// <summary>
/// Title-specific display name of the character for this leaderboard entry.
/// </summary>
public string CharacterName;
/// <summary>
/// Name of the character class for this entry.
/// </summary>
public string CharacterType;
/// <summary>
/// Title-specific display name of the user for this leaderboard entry.
/// </summary>
public string DisplayName;
/// <summary>
/// PlayFab unique identifier of the user for this leaderboard entry.
/// </summary>
public string PlayFabId;
/// <summary>
/// User's overall position in the leaderboard.
/// </summary>
public int Position;
/// <summary>
/// Specific value of the user's statistic.
/// </summary>
public int StatValue;
}
[Serializable]
public class CharacterResult : PlayFabBaseModel
{
/// <summary>
/// The id for this character on this player.
/// </summary>
public string CharacterId;
/// <summary>
/// The name of this character.
/// </summary>
public string CharacterName;
/// <summary>
/// The type-string that was given to this character on creation.
/// </summary>
public string CharacterType;
}
public enum CloudScriptRevisionOption
{
Live,
Latest,
Specific
}
/// <summary>
/// Collection filter to include and/or exclude collections with certain key-value pairs. The filter generates a collection
/// set defined by Includes rules and then remove collections that matches the Excludes rules. A collection is considered
/// matching a rule if the rule describes a subset of the collection.
/// </summary>
[Serializable]
public class CollectionFilter : PlayFabBaseModel
{
/// <summary>
/// List of Exclude rules, with any of which if a collection matches, it is excluded by the filter.
/// </summary>
public List<Container_Dictionary_String_String> Excludes;
/// <summary>
/// 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
/// </summary>
public List<Container_Dictionary_String_String> Includes;
}
/// <summary>
/// The final step in the purchasing process, this API finalizes the purchase with the payment provider, where applicable,
/// adding virtual goods to the player inventory (including random drop table resolution and recursive addition of bundled
/// items) and adjusting virtual currency balances for funds used or added. Note that this is a pull operation, and should
/// be polled regularly when a purchase is in progress. Please note that the processing time for inventory grants and
/// purchases increases fractionally the more items are in the inventory, and the more items are in the grant/purchase
/// operation.
/// </summary>
[Serializable]
public class ConfirmPurchaseRequest : PlayFabRequestCommon
{
/// <summary>
/// Purchase order identifier returned from StartPurchase.
/// </summary>
public string OrderId;
}
/// <summary>
/// When the FailedByPaymentProvider error is returned, it's important to check the ProviderErrorCode, ProviderErrorMessage,
/// and ProviderErrorDetails to understand the specific reason the payment was rejected, as in some rare cases, this may
/// mean that the provider hasn't completed some operation required to finalize the purchase.
/// </summary>
[Serializable]
public class ConfirmPurchaseResult : PlayFabResultCommon
{
/// <summary>
/// Array of items purchased.
/// </summary>
public List<ItemInstance> Items;
/// <summary>
/// Purchase order identifier.
/// </summary>
public string OrderId;
/// <summary>
/// Date and time of the purchase.
/// </summary>
public DateTime PurchaseDate;
}
[Serializable]
public class ConsumeItemRequest : PlayFabRequestCommon
{
/// <summary>
/// Unique PlayFab assigned ID for a specific character owned by a user
/// </summary>
public string CharacterId;
/// <summary>
/// Number of uses to consume from the item.
/// </summary>
public int ConsumeCount;
/// <summary>
/// Unique instance identifier of the item to be consumed.
/// </summary>
public string ItemInstanceId;
}
[Serializable]
public class ConsumeItemResult : PlayFabResultCommon
{
/// <summary>
/// Unique instance identifier of the item with uses consumed.
/// </summary>
public string ItemInstanceId;
/// <summary>
/// Number of uses remaining on the item.
/// </summary>
public int RemainingUses;
}
[Serializable]
public class ConsumePSNEntitlementsRequest : PlayFabRequestCommon
{
/// <summary>
/// Which catalog to match granted entitlements against. If null, defaults to title default catalog
/// </summary>
public string CatalogVersion;
/// <summary>
/// Id of the PSN service label to consume entitlements from
/// </summary>
public int ServiceLabel;
}
[Serializable]
public class ConsumePSNEntitlementsResult : PlayFabResultCommon
{
/// <summary>
/// Array of items granted to the player as a result of consuming entitlements.
/// </summary>
public List<ItemInstance> ItemsGranted;
}
[Serializable]
public class ConsumeXboxEntitlementsRequest : PlayFabRequestCommon
{
/// <summary>
/// Catalog version to use
/// </summary>
public string CatalogVersion;
/// <summary>
/// Token provided by the Xbox Live SDK/XDK method GetTokenAndSignatureAsync("POST", "https://playfabapi.com/", "").
/// </summary>
public string XboxToken;
}
[Serializable]
public class ConsumeXboxEntitlementsResult : PlayFabResultCommon
{
/// <summary>
/// Details for the items purchased.
/// </summary>
public List<ItemInstance> Items;
}
[Serializable]
public class ContactEmailInfoModel : PlayFabBaseModel
{
/// <summary>
/// The email address
/// </summary>
public string EmailAddress;
/// <summary>
/// The name of the email info data
/// </summary>
public string Name;
/// <summary>
/// The verification status of the email
/// </summary>
public EmailVerificationStatus? VerificationStatus;
}
/// <summary>
/// A data container
/// </summary>
[Serializable]
public class Container_Dictionary_String_String : PlayFabBaseModel
{
/// <summary>
/// Content of data
/// </summary>
public Dictionary<string,string> Data;
}
public enum ContinentCode
{
AF,
AN,
AS,
EU,
NA,
OC,
SA
}
public enum 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
}
/// <summary>
/// If SharedGroupId is specified, the service will attempt to create a group with that identifier, and will return an error
/// if it is already in use. If no SharedGroupId is specified, a random identifier will be assigned.
/// </summary>
[Serializable]
public class CreateSharedGroupRequest : PlayFabRequestCommon
{
/// <summary>
/// Unique identifier for the shared group (a random identifier will be assigned, if one is not specified).
/// </summary>
public string SharedGroupId;
}
[Serializable]
public class CreateSharedGroupResult : PlayFabResultCommon
{
/// <summary>
/// Unique identifier for the shared group.
/// </summary>
public string SharedGroupId;
}
public enum 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
}
[Serializable]
public class CurrentGamesRequest : PlayFabRequestCommon
{
/// <summary>
/// Build to match against.
/// </summary>
public string BuildVersion;
/// <summary>
/// Game mode to look for.
/// </summary>
public string GameMode;
/// <summary>
/// Region to check for Game Server Instances.
/// </summary>
public Region? Region;
/// <summary>
/// Statistic name to find statistic-based matches.
/// </summary>
public string StatisticName;
/// <summary>
/// Filter to include and/or exclude Game Server Instances associated with certain tags.
/// </summary>
public CollectionFilter TagFilter;
}
[Serializable]
public class CurrentGamesResult : PlayFabResultCommon
{
/// <summary>
/// number of games running
/// </summary>
public int GameCount;
/// <summary>
/// array of games found
/// </summary>
public List<GameInfo> Games;
/// <summary>
/// total number of players across all servers
/// </summary>
public int PlayerCount;
}
/// <summary>
/// Any arbitrary information collected by the device
/// </summary>
[Serializable]
public class DeviceInfoRequest : PlayFabRequestCommon
{
/// <summary>
/// Information posted to the PlayStream Event. Currently arbitrary, and specific to the environment sending it.
/// </summary>
public Dictionary<string,object> Info;
}
public enum EmailVerificationStatus
{
Unverified,
Pending,
Confirmed
}
[Serializable]
public class EmptyResponse : PlayFabResultCommon
{
}
[Serializable]
public class EmptyResult : PlayFabResultCommon
{
}
/// <summary>
/// Combined entity type and ID structure which uniquely identifies a single entity.
/// </summary>
[Serializable]
public class EntityKey : PlayFabBaseModel
{
/// <summary>
/// Unique ID of the entity.
/// </summary>
public string Id;
/// <summary>
/// Entity type. See https://docs.microsoft.com/gaming/playfab/features/data/entities/available-built-in-entity-types
/// </summary>
public string Type;
}
[Serializable]
public class EntityTokenResponse : PlayFabBaseModel
{
/// <summary>
/// The entity id and type.
/// </summary>
public EntityKey Entity;
/// <summary>
/// The token used to set X-EntityToken for all entity based API calls.
/// </summary>
public string EntityToken;
/// <summary>
/// The time the token will expire, if it is an expiring token, in UTC.
/// </summary>
public DateTime? TokenExpiration;
}
[Serializable]
public class ExecuteCloudScriptRequest : PlayFabRequestCommon
{
/// <summary>
/// The name of the CloudScript function to execute
/// </summary>
public string FunctionName;
/// <summary>
/// Object that is passed in to the function as the first argument
/// </summary>
public object FunctionParameter;
/// <summary>
/// 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.
/// </summary>
public bool? GeneratePlayStreamEvent;
/// <summary>
/// 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'.
/// </summary>
public CloudScriptRevisionOption? RevisionSelection;
/// <summary>
/// The specivic revision to execute, when RevisionSelection is set to 'Specific'
/// </summary>
public int? SpecificRevision;
}
[Serializable]
public class ExecuteCloudScriptResult : PlayFabResultCommon
{
/// <summary>
/// Number of PlayFab API requests issued by the CloudScript function
/// </summary>
public int APIRequestsIssued;
/// <summary>
/// Information about the error, if any, that occurred during execution
/// </summary>
public ScriptExecutionError Error;
public double ExecutionTimeSeconds;
/// <summary>
/// The name of the function that executed
/// </summary>
public string FunctionName;
/// <summary>
/// The object returned from the CloudScript function, if any
/// </summary>
public object FunctionResult;
/// <summary>
/// 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.
/// </summary>
public bool? FunctionResultTooLarge;
/// <summary>
/// Number of external HTTP requests issued by the CloudScript function
/// </summary>
public int HttpRequestsIssued;
/// <summary>
/// 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.
/// </summary>
public List<LogStatement> Logs;
/// <summary>
/// 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.
/// </summary>
public bool? LogsTooLarge;
public uint MemoryConsumedBytes;
/// <summary>
/// Processor time consumed while executing the function. This does not include time spent waiting on API calls or HTTP
/// requests.
/// </summary>
public double ProcessorTimeSeconds;
/// <summary>
/// The revision of the CloudScript that executed
/// </summary>
public int Revision;
}
[Serializable]
public class FacebookInstantGamesPlayFabIdPair : PlayFabBaseModel
{
/// <summary>
/// Unique Facebook Instant Games identifier for a user.
/// </summary>
public string FacebookInstantGamesId;
/// <summary>
/// Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the Facebook Instant Games identifier.
/// </summary>
public string PlayFabId;
}
[Serializable]
public class FacebookPlayFabIdPair : PlayFabBaseModel
{
/// <summary>
/// Unique Facebook identifier for a user.
/// </summary>
public string FacebookId;
/// <summary>
/// Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the Facebook identifier.
/// </summary>
public string PlayFabId;
}
[Serializable]
public class FriendInfo : PlayFabBaseModel
{
/// <summary>
/// Available Facebook information (if the user and PlayFab friend are also connected in Facebook).
/// </summary>
public UserFacebookInfo FacebookInfo;
/// <summary>
/// PlayFab unique identifier for this friend.
/// </summary>
public string FriendPlayFabId;
/// <summary>
/// Available Game Center information (if the user and PlayFab friend are also connected in Game Center).
/// </summary>
public UserGameCenterInfo GameCenterInfo;
/// <summary>
/// The profile of the user, if requested.
/// </summary>
public PlayerProfileModel Profile;
/// <summary>
/// Available PSN information, if the user and PlayFab friend are both connected to PSN.
/// </summary>
public UserPsnInfo PSNInfo;
/// <summary>
/// Available Steam information (if the user and PlayFab friend are also connected in Steam).
/// </summary>
public UserSteamInfo SteamInfo;
/// <summary>
/// Tags which have been associated with this friend.
/// </summary>
public List<string> Tags;
/// <summary>
/// Title-specific display name for this friend.
/// </summary>
public string TitleDisplayName;
/// <summary>
/// PlayFab unique username for this friend.
/// </summary>
public string Username;
/// <summary>
/// Available Xbox information, if the user and PlayFab friend are both connected to Xbox Live.
/// </summary>
public UserXboxInfo XboxInfo;
}
[Serializable]
public class GameCenterPlayFabIdPair : PlayFabBaseModel
{
/// <summary>
/// Unique Game Center identifier for a user.
/// </summary>
public string GameCenterId;
/// <summary>
/// Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the Game Center identifier.
/// </summary>
public string PlayFabId;
}
[Serializable]
public class GameInfo : PlayFabBaseModel
{
/// <summary>
/// build version this server is running
/// </summary>
public string BuildVersion;
/// <summary>
/// game mode this server is running
/// </summary>
public string GameMode;
/// <summary>
/// game session custom data
/// </summary>
public string GameServerData;
/// <summary>
/// game specific string denoting server configuration
/// </summary>
public GameInstanceState? GameServerStateEnum;
/// <summary>
/// last heartbeat of the game server instance, used in external game server provider mode
/// </summary>
public DateTime? LastHeartbeat;
/// <summary>
/// unique lobby identifier for this game server
/// </summary>
public string LobbyID;
/// <summary>
/// maximum players this server can support
/// </summary>
public int? MaxPlayers;
/// <summary>
/// array of current player IDs on this server
/// </summary>
public List<string> PlayerUserIds;
/// <summary>
/// region to which this server is associated
/// </summary>
public Region? Region;
/// <summary>
/// duration in seconds this server has been running
/// </summary>
public uint RunTime;
/// <summary>
/// IPV4 address of the server
/// </summary>
public string ServerIPV4Address;
/// <summary>
/// IPV6 address of the server
/// </summary>
public string ServerIPV6Address;
/// <summary>
/// port number to use for non-http communications with the server
/// </summary>
public int? ServerPort;
/// <summary>
/// Public DNS name (if any) of the server
/// </summary>
public string ServerPublicDNSName;
/// <summary>
/// stastic used to match this game in player statistic matchmaking
/// </summary>
public string StatisticName;
/// <summary>
/// game session tags
/// </summary>
public Dictionary<string,string> Tags;
}
public enum GameInstanceState
{
Open,
Closed
}
[Serializable]
public class GameServerRegionsRequest : PlayFabRequestCommon
{
/// <summary>
/// version of game server for which stats are being requested
/// </summary>
public string BuildVersion;
/// <summary>
/// Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a
/// title has been selected.
/// </summary>
public string TitleId;
}
[Serializable]
public class GameServerRegionsResult : PlayFabResultCommon
{
/// <summary>
/// array of regions found matching the request parameters
/// </summary>
public List<RegionInfo> Regions;
}
[Serializable]
public class GenericPlayFabIdPair : PlayFabBaseModel
{
/// <summary>
/// Unique generic service identifier for a user.
/// </summary>
public GenericServiceId GenericId;
/// <summary>
/// Unique PlayFab identifier for a user, or null if no PlayFab account is linked to the given generic identifier.
/// </summary>
public string PlayFabId;
}
[Serializable]
public class GenericServiceId : PlayFabBaseModel
{
/// <summary>
/// Name of the service for which the player has a unique identifier.
/// </summary>
public string ServiceName;
/// <summary>
/// Unique identifier of the player in that service.
/// </summary>
public string UserId;
}
[Serializable]
public class GetAccountInfoRequest : PlayFabRequestCommon
{
/// <summary>
/// User email address for the account to find (if no Username is specified).
/// </summary>
public string Email;
/// <summary>
/// Unique PlayFab identifier of the user whose info is being requested. Optional, defaults to the authenticated user if no
/// other lookup identifier set.
/// </summary>
public string PlayFabId;
/// <summary>
/// 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.
/// </summary>
public string TitleDisplayName;
/// <summary>
/// PlayFab Username for the account to find (if no PlayFabId is specified).
/// </summary>
public string Username;
}
/// <summary>
/// This API retrieves details regarding the player in the PlayFab service. Note that when this call is used to retrieve
/// data about another player (not the one signed into the local client), some data, such as Personally Identifying
/// Information (PII), will be omitted for privacy reasons or to comply with the requirements of the platform belongs to.
/// The user account returned will be based on the identifier provided in priority order: PlayFabId, Username, Email, then
/// TitleDisplayName. If no identifier is specified, the currently signed in user's information will be returned.
/// </summary>
[Serializable]
public class GetAccountInfoResult : PlayFabResultCommon
{
/// <summary>
/// Account information for the local user.
/// </summary>
public UserAccountInfo AccountInfo;
}
[Serializable]
public class GetCatalogItemsRequest : PlayFabRequestCommon
{
/// <summary>
/// Which catalog is being requested. If null, uses the default catalog.
/// </summary>
public string CatalogVersion;
}
/// <summary>
/// If CatalogVersion is not specified, only inventory items associated with the most recent version of the catalog will be
/// returned.
/// </summary>
[Serializable]
public class GetCatalogItemsResult : PlayFabResultCommon
{
/// <summary>
/// Array of items which can be purchased.
/// </summary>
public List<CatalogItem> Catalog;
}
/// <summary>
/// Data is stored as JSON key-value pairs. If the Keys parameter is provided, the data object returned will only contain
/// the data specific to the indicated Keys. Otherwise, the full set of custom character data will be returned.
/// </summary>
[Serializable]
public class GetCharacterDataRequest : PlayFabRequestCommon
{
/// <summary>
/// Unique PlayFab assigned ID for a specific character owned by a user
/// </summary>
public string CharacterId;
/// <summary>
/// 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.
/// </summary>
public uint? IfChangedFromDataVersion;
/// <summary>
/// Specific keys to search for in the custom user data.
/// </summary>
public List<string> Keys;
/// <summary>
/// Unique PlayFab identifier of the user to load data for. Optional, defaults to yourself if not set.
/// </summary>
public string PlayFabId;
}
[Serializable]
public class GetCharacterDataResult : PlayFabResultCommon
{
/// <summary>
/// Unique PlayFab assigned ID for a specific character owned by a user
/// </summary>
public string CharacterId;
/// <summary>
/// User specific data for this title.
/// </summary>
public Dictionary<string,UserDataRecord> Data;
/// <summary>
/// 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.
/// </summary>
public uint DataVersion;
}
/// <summary>
/// All items currently in the character inventory will be returned, irrespective of how they were acquired (via purchasing,
/// grants, coupons, etc.). Items that are expired, fully consumed, or are no longer valid are not considered to be in the
/// user's current inventory, and so will not be not included. Also returns their virtual currency balances.
/// </summary>
[Serializable]
public class GetCharacterInventoryRequest : PlayFabRequestCommon
{
/// <summary>
/// Used to limit results to only those from a specific catalog version.
/// </summary>
public string CatalogVersion;
/// <summary>
/// Unique PlayFab assigned ID for a specific character owned by a user
/// </summary>
public string CharacterId;
}
[Serializable]
public class GetCharacterInventoryResult : PlayFabResultCommon
{
/// <summary>
/// Unique identifier of the character for this inventory.
/// </summary>
public string CharacterId;
/// <summary>
/// Array of inventory items belonging to the character.
/// </summary>
public List<ItemInstance> Inventory;
/// <summary>
/// Array of virtual currency balance(s) belonging to the character.
/// </summary>
public Dictionary<string,int> VirtualCurrency;
/// <summary>
/// Array of remaining times and timestamps for virtual currencies.
/// </summary>
public Dictionary<string,VirtualCurrencyRechargeTime> VirtualCurrencyRechargeTimes;
}
[Serializable]
public class GetCharacterLeaderboardRequest : PlayFabRequestCommon
{
/// <summary>
/// Optional character type on which to filter the leaderboard entries.
/// </summary>
public string CharacterType;
/// <summary>
/// Maximum number of entries to retrieve. Default 10, maximum 100.
/// </summary>
public int? MaxResultsCount;
/// <summary>
/// First entry in the leaderboard to be retrieved.
/// </summary>
public int StartPosition;
/// <summary>
/// Unique identifier for the title-specific statistic for the leaderboard.
/// </summary>
public string StatisticName;
}
/// <summary>
/// Note that the Position of the character in the results is for the overall leaderboard.
/// </summary>
[Serializable]
public class GetCharacterLeaderboardResult : PlayFabResultCommon
{
/// <summary>
/// Ordered list of leaderboard entries.
/// </summary>
public List<CharacterLeaderboardEntry> Leaderboard;
}
[Serializable]
public class GetCharacterStatisticsRequest : PlayFabRequestCommon
{
/// <summary>
/// Unique PlayFab assigned ID for a specific character owned by a user
/// </summary>
public string CharacterId;
}
/// <summary>
/// In addition to being available for use by the title, the statistics are used for all leaderboard operations in PlayFab.
/// </summary>
[Serializable]
public class GetCharacterStatisticsResult : PlayFabResultCommon
{
/// <summary>
/// The requested character statistics.
/// </summary>
public Dictionary<string,int> CharacterStatistics;
}
[Serializable]
public class GetContentDownloadUrlRequest : PlayFabRequestCommon
{
/// <summary>
/// HTTP method to fetch item - GET or HEAD. Use HEAD when only fetching metadata. Default is GET.
/// </summary>
public string HttpMethod;
/// <summary>
/// Key of the content item to fetch, usually formatted as a path, e.g. images/a.png
/// </summary>
public string Key;
/// <summary>
/// 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.
/// </summary>
public bool? ThruCDN;
}
[Serializable]
public class GetContentDownloadUrlResult : PlayFabResultCommon
{
/// <summary>
/// URL for downloading content via HTTP GET or HEAD method. The URL will expire in approximately one hour.
/// </summary>
public string URL;
}
[Serializable]
public class GetFriendLeaderboardAroundPlayerRequest : PlayFabRequestCommon
{
/// <summary>
/// Indicates whether Facebook friends should be included in the response. Default is true.
/// </summary>
public bool? IncludeFacebookFriends;
/// <summary>
/// Indicates whether Steam service friends should be included in the response. Default is true.
/// </summary>
public bool? IncludeSteamFriends;
/// <summary>
/// Maximum number of entries to retrieve. Default 10, maximum 100.
/// </summary>
public int? MaxResultsCount;
/// <summary>
/// PlayFab unique identifier of the user to center the leaderboard around. If null will center on the logged in user.
/// </summary>
public string PlayFabId;
/// <summary>
/// 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.
/// </summary>
public PlayerProfileViewConstraints ProfileConstraints;
/// <summary>
/// Statistic used to rank players for this leaderboard.
/// </summary>
public string StatisticName;
/// <summary>
/// The version of the leaderboard to get.
/// </summary>
public int? Version;
/// <summary>
/// Xbox token if Xbox friends should be included. Requires Xbox be configured on PlayFab.
/// </summary>
public string XboxToken;
}
/// <summary>
/// Note: When calling 'GetLeaderboardAround...' APIs, the position of the user defaults to 0 when the user does not have
/// the corresponding statistic.If Facebook friends are included, make sure the access token from previous LoginWithFacebook
/// call is still valid and not expired.
/// </summary>
[Serializable]
public class GetFriendLeaderboardAroundPlayerResult : PlayFabResultCommon
{
/// <summary>
/// Ordered listing of users and their positions in the requested leaderboard.
/// </summary>
public List<PlayerLeaderboardEntry> Leaderboard;
/// <summary>
/// The time the next scheduled reset will occur. Null if the leaderboard does not reset on a schedule.
/// </summary>
public DateTime? NextReset;
/// <summary>
/// The version of the leaderboard returned.
/// </summary>
public int Version;
}
[Serializable]
public class GetFriendLeaderboardRequest : PlayFabRequestCommon
{
/// <summary>
/// Indicates whether Facebook friends should be included in the response. Default is true.
/// </summary>
public bool? IncludeFacebookFriends;
/// <summary>
/// Indicates whether Steam service friends should be included in the response. Default is true.
/// </summary>
public bool? IncludeSteamFriends;
/// <summary>
/// Maximum number of entries to retrieve. Default 10, maximum 100.
/// </summary>
public int? MaxResultsCount;
/// <summary>
/// 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.
/// </summary>
public PlayerProfileViewConstraints ProfileConstraints;
/// <summary>
/// Position in the leaderboard to start this listing (defaults to the first entry).
/// </summary>
public int StartPosition;
/// <summary>
/// Statistic used to rank friends for this leaderboard.
/// </summary>
public string StatisticName;
/// <summary>
/// The version of the leaderboard to get.
/// </summary>
public int? Version;
/// <summary>
/// Xbox token if Xbox friends should be included. Requires Xbox be configured on PlayFab.
/// </summary>
public string XboxToken;
}
[Serializable]
public class GetFriendsListRequest : PlayFabRequestCommon
{
/// <summary>
/// Indicates whether Facebook friends should be included in the response. Default is true.
/// </summary>
public bool? IncludeFacebookFriends;
/// <summary>
/// Indicates whether Steam service friends should be included in the response. Default is true.
/// </summary>
public bool? IncludeSteamFriends;
/// <summary>
/// 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.
/// </summary>
public PlayerProfileViewConstraints ProfileConstraints;
/// <summary>
/// Xbox token if Xbox friends should be included. Requires Xbox be configured on PlayFab.
/// </summary>
public string XboxToken;
}
/// <summary>
/// If any additional services are queried for the user's friends, those friends who also have a PlayFab account registered
/// for the title will be returned in the results. For Facebook, user has to have logged into the title's Facebook app
/// recently, and only friends who also plays this game will be included.
/// </summary>
[Serializable]
public class GetFriendsListResult : PlayFabResultCommon
{
/// <summary>
/// Array of friends found.
/// </summary>
public List<FriendInfo> Friends;
}
[Serializable]
public class GetLeaderboardAroundCharacterRequest : PlayFabRequestCommon
{
/// <summary>
/// Unique PlayFab assigned ID for a specific character on which to center the leaderboard.
/// </summary>
public string CharacterId;
/// <summary>
/// Optional character type on which to filter the leaderboard entries.
/// </summary>
public string CharacterType;
/// <summary>
/// Maximum number of entries to retrieve. Default 10, maximum 100.
/// </summary>
public int? MaxResultsCount;
/// <summary>
/// Unique identifier for the title-specific statistic for the leaderboard.
/// </summary>
public string StatisticName;
}
/// <summary>
/// Note: When calling 'GetLeaderboardAround...' APIs, the position of the character defaults to 0 when the character does
/// not have the corresponding statistic.
/// </summary>
[Serializable]
public class GetLeaderboardAroundCharacterResult : PlayFabResultCommon
{
/// <summary>
/// Ordered list of leaderboard entries.
/// </summary>
public List<CharacterLeaderboardEntry> Leaderboard;
}
[Serializable]
public class GetLeaderboardAroundPlayerRequest : PlayFabRequestCommon
{
/// <summary>
/// Maximum number of entries to retrieve. Default 10, maximum 100.
/// </summary>
public int? MaxResultsCount;
/// <summary>
/// PlayFab unique identifier of the user to center the leaderboard around. If null will center on the logged in user.
/// </summary>
public string PlayFabId;
/// <summary>
/// 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.
/// </summary>
public PlayerProfileViewConstraints ProfileConstraints;
/// <summary>
/// Statistic used to rank players for this leaderboard.
/// </summary>
public string StatisticName;
/// <summary>
/// The version of the leaderboard to get.
/// </summary>
public int? Version;
}
/// <summary>
/// Note: When calling 'GetLeaderboardAround...' APIs, the position of the user defaults to 0 when the user does not have
/// the corresponding statistic.
/// </summary>
[Serializable]
public class GetLeaderboardAroundPlayerResult : PlayFabResultCommon
{
/// <summary>
/// Ordered listing of users and their positions in the requested leaderboard.
/// </summary>
public List<PlayerLeaderboardEntry> Leaderboard;
/// <summary>
/// The time the next scheduled reset will occur. Null if the leaderboard does not reset on a schedule.
/// </summary>
public DateTime? NextReset;
/// <summary>
/// The version of the leaderboard returned.
/// </summary>
public int Version;
}
[Serializable]
public class GetLeaderboardForUsersCharactersRequest : PlayFabRequestCommon
{
/// <summary>
/// Maximum number of entries to retrieve.
/// </summary>
public int MaxResultsCount;
/// <summary>
/// Unique identifier for the title-specific statistic for the leaderboard.
/// </summary>
public string StatisticName;
}
/// <summary>
/// Note that the Position of the character in the results is for the overall leaderboard.
/// </summary>
[Serializable]
public class GetLeaderboardForUsersCharactersResult : PlayFabResultCommon
{
/// <summary>
/// Ordered list of leaderboard entries.
/// </summary>
public List<CharacterLeaderboardEntry> Leaderboard;
}
[Serializable]
public class GetLeaderboardRequest : PlayFabRequestCommon
{
/// <summary>
/// Maximum number of entries to retrieve. Default 10, maximum 100.
/// </summary>
public int? MaxResultsCount;
/// <summary>
/// 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.
/// </summary>
public PlayerProfileViewConstraints ProfileConstraints;
/// <summary>
/// Position in the leaderboard to start this listing (defaults to the first entry).
/// </summary>
public int StartPosition;
/// <summary>
/// Statistic used to rank players for this leaderboard.
/// </summary>
public string StatisticName;
/// <summary>
/// The version of the leaderboard to get.
/// </summary>
public int? Version;
}
/// <summary>
/// Note: the user's Position is relative to the overall leaderboard.
/// </summary>
[Serializable]
public class GetLeaderboardResult : PlayFabResultCommon
{
/// <summary>
/// Ordered listing of users and their positions in the requested leaderboard.
/// </summary>
public List<PlayerLeaderboardEntry> Leaderboard;
/// <summary>
/// The time the next scheduled reset will occur. Null if the leaderboard does not reset on a schedule.
/// </summary>
public DateTime? NextReset;
/// <summary>
/// The version of the leaderboard returned.
/// </summary>
public int Version;
}
[Serializable]
public class GetPaymentTokenRequest : PlayFabRequestCommon
{
/// <summary>
/// The name of service to provide the payment token. Allowed Values are: xsolla
/// </summary>
public string TokenProvider;
}
[Serializable]
public class GetPaymentTokenResult : PlayFabResultCommon
{
/// <summary>
/// PlayFab's purchase order identifier.
/// </summary>
public string OrderId;
/// <summary>
/// The token from provider.
/// </summary>
public string ProviderToken;
}
[Serializable]
public class GetPhotonAuthenticationTokenRequest : PlayFabRequestCommon
{
/// <summary>
/// The Photon applicationId for the game you wish to log into.
/// </summary>
public string PhotonApplicationId;
}
[Serializable]
public class GetPhotonAuthenticationTokenResult : PlayFabResultCommon
{
/// <summary>
/// The Photon authentication token for this game-session.
/// </summary>
public string PhotonCustomAuthenticationToken;
}
[Serializable]
public class GetPlayerCombinedInfoRequest : PlayFabRequestCommon
{
/// <summary>
/// Flags for which pieces of info to return for the user.
/// </summary>
public GetPlayerCombinedInfoRequestParams InfoRequestParameters;
/// <summary>
/// PlayFabId of the user whose data will be returned. If not filled included, we return the data for the calling player.
/// </summary>
public string PlayFabId;
}
[Serializable]
public class GetPlayerCombinedInfoRequestParams : PlayFabBaseModel
{
/// <summary>
/// Whether to get character inventories. Defaults to false.
/// </summary>
public bool GetCharacterInventories;
/// <summary>
/// Whether to get the list of characters. Defaults to false.
/// </summary>
public bool GetCharacterList;
/// <summary>
/// Whether to get player profile. Defaults to false. Has no effect for a new player.
/// </summary>
public bool GetPlayerProfile;
/// <summary>
/// Whether to get player statistics. Defaults to false.
/// </summary>
public bool GetPlayerStatistics;
/// <summary>
/// Whether to get title data. Defaults to false.
/// </summary>
public bool GetTitleData;
/// <summary>
/// Whether to get the player's account Info. Defaults to false
/// </summary>
public bool GetUserAccountInfo;
/// <summary>
/// Whether to get the player's custom data. Defaults to false
/// </summary>
public bool GetUserData;
/// <summary>
/// Whether to get the player's inventory. Defaults to false
/// </summary>
public bool GetUserInventory;
/// <summary>
/// Whether to get the player's read only data. Defaults to false
/// </summary>
public bool GetUserReadOnlyData;
/// <summary>
/// Whether to get the player's virtual currency balances. Defaults to false
/// </summary>
public bool GetUserVirtualCurrency;
/// <summary>
/// Specific statistics to retrieve. Leave null to get all keys. Has no effect if GetPlayerStatistics is false
/// </summary>
public List<string> PlayerStatisticNames;
/// <summary>
/// Specifies the properties to return from the player profile. Defaults to returning the player's display name.
/// </summary>
public PlayerProfileViewConstraints ProfileConstraints;
/// <summary>
/// Specific keys to search for in the custom data. Leave null to get all keys. Has no effect if GetTitleData is false
/// </summary>
public List<string> TitleDataKeys;
/// <summary>
/// Specific keys to search for in the custom data. Leave null to get all keys. Has no effect if GetUserData is false
/// </summary>
public List<string> UserDataKeys;
/// <summary>
/// Specific keys to search for in the custom data. Leave null to get all keys. Has no effect if GetUserReadOnlyData is
/// false
/// </summary>
public List<string> UserReadOnlyDataKeys;
}
/// <summary>
/// Returns whatever info is requested in the response for the user. If no user is explicitly requested this defaults to the
/// authenticated user. If the user is the same as the requester, PII (like email address, facebook id) is returned if
/// available. Otherwise, only public information is returned. All parameters default to false.
/// </summary>
[Serializable]
public class GetPlayerCombinedInfoResult : PlayFabResultCommon
{
/// <summary>
/// Results for requested info.
/// </summary>
public GetPlayerCombinedInfoResultPayload InfoResultPayload;
/// <summary>
/// Unique PlayFab assigned ID of the user on whom the operation will be performed.
/// </summary>
public string PlayFabId;
}
[Serializable]
public class GetPlayerCombinedInfoResultPayload : PlayFabBaseModel
{
/// <summary>
/// Account information for the user. This is always retrieved.
/// </summary>
public UserAccountInfo AccountInfo;
/// <summary>
/// Inventories for each character for the user.
/// </summary>
public List<CharacterInventory> CharacterInventories;
/// <summary>
/// List of characters for the user.
/// </summary>
public List<CharacterResult> CharacterList;
/// <summary>
/// The profile of the players. This profile is not guaranteed to be up-to-date. For a new player, this profile will not
/// exist.
/// </summary>
public PlayerProfileModel PlayerProfile;
/// <summary>
/// List of statistics for this player.
/// </summary>
public List<StatisticValue> PlayerStatistics;
/// <summary>
/// Title data for this title.
/// </summary>
public Dictionary<string,string> TitleData;
/// <summary>
/// User specific custom data.
/// </summary>
public Dictionary<string,UserDataRecord> UserData;
/// <summary>
/// The version of the UserData that was returned.
/// </summary>
public uint UserDataVersion;
/// <summary>
/// Array of inventory items in the user's current inventory.
/// </summary>
public List<ItemInstance> UserInventory;
/// <summary>
/// User specific read-only data.
/// </summary>
public Dictionary<string,UserDataRecord> UserReadOnlyData;
/// <summary>
/// The version of the Read-Only UserData that was returned.
/// </summary>
public uint UserReadOnlyDataVersion;
/// <summary>
/// Dictionary of virtual currency balance(s) belonging to the user.
/// </summary>
public Dictionary<string,int> UserVirtualCurrency;
/// <summary>
/// Dictionary of remaining times and timestamps for virtual currencies.
/// </summary>
public Dictionary<string,VirtualCurrencyRechargeTime> UserVirtualCurrencyRechargeTimes;
}
/// <summary>
/// This API allows for access to details regarding a user in the PlayFab service, usually for purposes of customer support.
/// Note that data returned may be Personally Identifying Information (PII), such as email address, and so care should be
/// taken in how this data is stored and managed. Since this call will always return the relevant information for users who
/// have accessed the title, the recommendation is to not store this data locally.
/// </summary>
[Serializable]
public class GetPlayerProfileRequest : PlayFabRequestCommon
{
/// <summary>
/// Unique PlayFab assigned ID of the user on whom the operation will be performed.
/// </summary>
public string PlayFabId;
/// <summary>
/// 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.
/// </summary>
public PlayerProfileViewConstraints ProfileConstraints;
}
[Serializable]
public class GetPlayerProfileResult : PlayFabResultCommon
{
/// <summary>
/// The profile of the player. This profile is not guaranteed to be up-to-date. For a new player, this profile will not
/// exist.
/// </summary>
public PlayerProfileModel PlayerProfile;
}
[Serializable]
public class GetPlayerSegmentsRequest : PlayFabRequestCommon
{
}
[Serializable]
public class GetPlayerSegmentsResult : PlayFabResultCommon
{
/// <summary>
/// Array of segments the requested player currently belongs to.
/// </summary>
public List<GetSegmentResult> Segments;
}
[Serializable]
public class GetPlayerStatisticsRequest : PlayFabRequestCommon
{
/// <summary>
/// statistics to return (current version will be returned for each)
/// </summary>
public List<string> StatisticNames;
/// <summary>
/// statistics to return, if StatisticNames is not set (only statistics which have a version matching that provided will be
/// returned)
/// </summary>
public List<StatisticNameVersion> StatisticNameVersions;
}
/// <summary>
/// In addition to being available for use by the title, the statistics are used for all leaderboard operations in PlayFab.
/// </summary>
[Serializable]
public class GetPlayerStatisticsResult : PlayFabResultCommon
{
/// <summary>
/// User statistics for the requested user.
/// </summary>
public List<StatisticValue> Statistics;
}
[Serializable]
public class GetPlayerStatisticVersionsRequest : PlayFabRequestCommon
{
/// <summary>
/// unique name of the statistic
/// </summary>
public string StatisticName;
}
[Serializable]
public class GetPlayerStatisticVersionsResult : PlayFabResultCommon
{
/// <summary>
/// version change history of the statistic
/// </summary>
public List<PlayerStatisticVersion> StatisticVersions;
}
/// <summary>
/// This API will return a list of canonical tags which includes both namespace and tag's name. If namespace is not
/// provided, the result is a list of all canonical tags. TagName can be used for segmentation and Namespace is limited to
/// 128 characters.
/// </summary>
[Serializable]
public class GetPlayerTagsRequest : PlayFabRequestCommon
{
/// <summary>
/// Optional namespace to filter results by
/// </summary>
public string Namespace;
/// <summary>
/// Unique PlayFab assigned ID of the user on whom the operation will be performed.
/// </summary>
public string PlayFabId;
}
[Serializable]
public class GetPlayerTagsResult : PlayFabResultCommon
{
/// <summary>
/// Unique PlayFab assigned ID of the user on whom the operation will be performed.
/// </summary>
public string PlayFabId;
/// <summary>
/// Canonical tags (including namespace and tag's name) for the requested user
/// </summary>
public List<string> Tags;
}
[Serializable]
public class GetPlayerTradesRequest : PlayFabRequestCommon
{
/// <summary>
/// Returns only trades with the given status. If null, returns all trades.
/// </summary>
public TradeStatus? StatusFilter;
}
[Serializable]
public class GetPlayerTradesResponse : PlayFabResultCommon
{
/// <summary>
/// History of trades which this player has accepted.
/// </summary>
public List<TradeInfo> AcceptedTrades;
/// <summary>
/// The trades for this player which are currently available to be accepted.
/// </summary>
public List<TradeInfo> OpenedTrades;
}
[Serializable]
public class GetPlayFabIDsFromFacebookIDsRequest : PlayFabRequestCommon
{
/// <summary>
/// Array of unique Facebook identifiers for which the title needs to get PlayFab identifiers.
/// </summary>
public List<string> FacebookIDs;
}
/// <summary>
/// For Facebook identifiers which have not been linked to PlayFab accounts, null will be returned.
/// </summary>
[Serializable]
public class GetPlayFabIDsFromFacebookIDsResult : PlayFabResultCommon
{
/// <summary>
/// Mapping of Facebook identifiers to PlayFab identifiers.
/// </summary>
public List<FacebookPlayFabIdPair> Data;
}
[Serializable]
public class GetPlayFabIDsFromFacebookInstantGamesIdsRequest : PlayFabRequestCommon
{
/// <summary>
/// Array of unique Facebook Instant Games identifiers for which the title needs to get PlayFab identifiers.
/// </summary>
public List<string> FacebookInstantGamesIds;
}
/// <summary>
/// For Facebook Instant Game identifiers which have not been linked to PlayFab accounts, null will be returned.
/// </summary>
[Serializable]
public class GetPlayFabIDsFromFacebookInstantGamesIdsResult : PlayFabResultCommon
{
/// <summary>
/// Mapping of Facebook Instant Games identifiers to PlayFab identifiers.
/// </summary>
public List<FacebookInstantGamesPlayFabIdPair> Data;
}
[Serializable]
public class GetPlayFabIDsFromGameCenterIDsRequest : PlayFabRequestCommon
{
/// <summary>
/// Array of unique Game Center identifiers (the Player Identifier) for which the title needs to get PlayFab identifiers.
/// </summary>
public List<string> GameCenterIDs;
}
/// <summary>
/// For Game Center identifiers which have not been linked to PlayFab accounts, null will be returned.
/// </summary>
[Serializable]
public class GetPlayFabIDsFromGameCenterIDsResult : PlayFabResultCommon
{
/// <summary>
/// Mapping of Game Center identifiers to PlayFab identifiers.
/// </summary>
public List<GameCenterPlayFabIdPair> Data;
}
[Serializable]
public class GetPlayFabIDsFromGenericIDsRequest : PlayFabRequestCommon
{
/// <summary>
/// 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.
/// </summary>
public List<GenericServiceId> GenericIDs;
}
/// <summary>
/// For generic service identifiers which have not been linked to PlayFab accounts, null will be returned.
/// </summary>
[Serializable]
public class GetPlayFabIDsFromGenericIDsResult : PlayFabResultCommon
{
/// <summary>
/// Mapping of generic service identifiers to PlayFab identifiers.
/// </summary>
public List<GenericPlayFabIdPair> Data;
}
[Serializable]
public class GetPlayFabIDsFromGoogleIDsRequest : PlayFabRequestCommon
{
/// <summary>
/// Array of unique Google identifiers (Google+ user IDs) for which the title needs to get PlayFab identifiers.
/// </summary>
public List<string> GoogleIDs;
}
/// <summary>
/// For Google identifiers which have not been linked to PlayFab accounts, null will be returned.
/// </summary>
[Serializable]
public class GetPlayFabIDsFromGoogleIDsResult : PlayFabResultCommon
{
/// <summary>
/// Mapping of Google identifiers to PlayFab identifiers.
/// </summary>
public List<GooglePlayFabIdPair> Data;
}
[Serializable]
public class GetPlayFabIDsFromKongregateIDsRequest : PlayFabRequestCommon
{
/// <summary>
/// Array of unique Kongregate identifiers (Kongregate's user_id) for which the title needs to get PlayFab identifiers.
/// </summary>
public List<string> KongregateIDs;
}
/// <summary>
/// For Kongregate identifiers which have not been linked to PlayFab accounts, null will be returned.
/// </summary>
[Serializable]
public class GetPlayFabIDsFromKongregateIDsResult : PlayFabResultCommon
{
/// <summary>
/// Mapping of Kongregate identifiers to PlayFab identifiers.
/// </summary>
public List<KongregatePlayFabIdPair> Data;
}
[Serializable]
public class GetPlayFabIDsFromNintendoSwitchDeviceIdsRequest : PlayFabRequestCommon
{
/// <summary>
/// Array of unique Nintendo Switch Device identifiers for which the title needs to get PlayFab identifiers.
/// </summary>
public List<string> NintendoSwitchDeviceIds;
}
/// <summary>
/// For Nintendo Switch identifiers which have not been linked to PlayFab accounts, null will be returned.
/// </summary>
[Serializable]
public class GetPlayFabIDsFromNintendoSwitchDeviceIdsResult : PlayFabResultCommon
{
/// <summary>
/// Mapping of Nintendo Switch Device identifiers to PlayFab identifiers.
/// </summary>
public List<NintendoSwitchPlayFabIdPair> Data;
}
[Serializable]
public class GetPlayFabIDsFromPSNAccountIDsRequest : PlayFabRequestCommon
{
/// <summary>
/// Id of the PSN issuer environment. If null, defaults to 256 (production)
/// </summary>
public int? IssuerId;
/// <summary>
/// Array of unique PlayStation Network identifiers for which the title needs to get PlayFab identifiers.
/// </summary>
public List<string> PSNAccountIDs;
}
/// <summary>
/// For PlayStation Network identifiers which have not been linked to PlayFab accounts, null will be returned.
/// </summary>
[Serializable]
public class GetPlayFabIDsFromPSNAccountIDsResult : PlayFabResultCommon
{
/// <summary>
/// Mapping of PlayStation Network identifiers to PlayFab identifiers.
/// </summary>
public List<PSNAccountPlayFabIdPair> Data;
}
[Serializable]
public class GetPlayFabIDsFromSteamIDsRequest : PlayFabRequestCommon
{
/// <summary>
/// Array of unique Steam identifiers (Steam profile IDs) for which the title needs to get PlayFab identifiers.
/// </summary>
public List<string> SteamStringIDs;
}
/// <summary>
/// For Steam identifiers which have not been linked to PlayFab accounts, null will be returned.
/// </summary>
[Serializable]
public class GetPlayFabIDsFromSteamIDsResult : PlayFabResultCommon
{
/// <summary>
/// Mapping of Steam identifiers to PlayFab identifiers.
/// </summary>
public List<SteamPlayFabIdPair> Data;
}
[Serializable]
public class GetPlayFabIDsFromTwitchIDsRequest : PlayFabRequestCommon
{
/// <summary>
/// Array of unique Twitch identifiers (Twitch's _id) for which the title needs to get PlayFab identifiers.
/// </summary>
public List<string> TwitchIds;
}
/// <summary>
/// For Twitch identifiers which have not been linked to PlayFab accounts, null will be returned.
/// </summary>
[Serializable]
public class GetPlayFabIDsFromTwitchIDsResult : PlayFabResultCommon
{
/// <summary>
/// Mapping of Twitch identifiers to PlayFab identifiers.
/// </summary>
public List<TwitchPlayFabIdPair> Data;
}
[Serializable]
public class GetPlayFabIDsFromXboxLiveIDsRequest : PlayFabRequestCommon
{
/// <summary>
/// The ID of Xbox Live sandbox.
/// </summary>
public string Sandbox;
/// <summary>
/// Array of unique Xbox Live account identifiers for which the title needs to get PlayFab identifiers.
/// </summary>
public List<string> XboxLiveAccountIDs;
}
/// <summary>
/// For XboxLive identifiers which have not been linked to PlayFab accounts, null will be returned.
/// </summary>
[Serializable]
public class GetPlayFabIDsFromXboxLiveIDsResult : PlayFabResultCommon
{
/// <summary>
/// Mapping of PlayStation Network identifiers to PlayFab identifiers.
/// </summary>
public List<XboxLiveAccountPlayFabIdPair> Data;
}
/// <summary>
/// This API is designed to return publisher-specific values which can be read, but not written to, by the client. This data
/// is shared across all titles assigned to a particular publisher, and can be used for cross-game coordination. Only titles
/// assigned to a publisher can use this API. For more information email devrel@playfab.com. Note that there may up to a
/// minute delay in between updating title data and this API call returning the newest value.
/// </summary>
[Serializable]
public class GetPublisherDataRequest : PlayFabRequestCommon
{
/// <summary>
/// array of keys to get back data from the Publisher data blob, set by the admin tools
/// </summary>
public List<string> Keys;
}
[Serializable]
public class GetPublisherDataResult : PlayFabResultCommon
{
/// <summary>
/// a dictionary object of key / value pairs
/// </summary>
public Dictionary<string,string> Data;
}
[Serializable]
public class GetPurchaseRequest : PlayFabRequestCommon
{
/// <summary>
/// Purchase order identifier.
/// </summary>
public string OrderId;
}
[Serializable]
public class GetPurchaseResult : PlayFabResultCommon
{
/// <summary>
/// Purchase order identifier.
/// </summary>
public string OrderId;
/// <summary>
/// Payment provider used for transaction (If not VC)
/// </summary>
public string PaymentProvider;
/// <summary>
/// Date and time of the purchase.
/// </summary>
public DateTime PurchaseDate;
/// <summary>
/// Provider transaction ID (If not VC)
/// </summary>
public string TransactionId;
/// <summary>
/// PlayFab transaction status
/// </summary>
public string TransactionStatus;
}
[Serializable]
public class GetSegmentResult : PlayFabBaseModel
{
/// <summary>
/// Identifier of the segments AB Test, if it is attached to one.
/// </summary>
public string ABTestParent;
/// <summary>
/// Unique identifier for this segment.
/// </summary>
public string Id;
/// <summary>
/// Segment name.
/// </summary>
public string Name;
}
[Serializable]
public class GetSharedGroupDataRequest : PlayFabRequestCommon
{
/// <summary>
/// If true, return the list of all members of the shared group.
/// </summary>
public bool? GetMembers;
/// <summary>
/// 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).
/// </summary>
public List<string> Keys;
/// <summary>
/// Unique identifier for the shared group.
/// </summary>
public string SharedGroupId;
}
[Serializable]
public class GetSharedGroupDataResult : PlayFabResultCommon
{
/// <summary>
/// Data for the requested keys.
/// </summary>
public Dictionary<string,SharedGroupDataRecord> Data;
/// <summary>
/// List of PlayFabId identifiers for the members of this group, if requested.
/// </summary>
public List<string> Members;
}
/// <summary>
/// A store contains an array of references to items defined in one or more catalog versions of the game, along with the
/// prices for the item, in both real world and virtual currencies. These prices act as an override to any prices defined in
/// the catalog. In this way, the base definitions of the items may be defined in the catalog, with all associated
/// properties, while the pricing can be set for each store, as needed. This allows for subsets of goods to be defined for
/// different purposes (in order to simplify showing some, but not all catalog items to users, based upon different
/// characteristics), along with unique prices. Note that all prices defined in the catalog and store definitions for the
/// item are considered valid, and that a compromised client can be made to send a request for an item based upon any of
/// these definitions. If no price is specified in the store for an item, the price set in the catalog should be displayed
/// to the user.
/// </summary>
[Serializable]
public class GetStoreItemsRequest : PlayFabRequestCommon
{
/// <summary>
/// Catalog version to store items from. Use default catalog version if null
/// </summary>
public string CatalogVersion;
/// <summary>
/// Unqiue identifier for the store which is being requested.
/// </summary>
public string StoreId;
}
[Serializable]
public class GetStoreItemsResult : PlayFabResultCommon
{
/// <summary>
/// The base catalog that this store is a part of.
/// </summary>
public string CatalogVersion;
/// <summary>
/// Additional data about the store.
/// </summary>
public StoreMarketingModel MarketingData;
/// <summary>
/// How the store was last updated (Admin or a third party).
/// </summary>
public SourceType? Source;
/// <summary>
/// Array of items which can be purchased from this store.
/// </summary>
public List<StoreItem> Store;
/// <summary>
/// The ID of this store.
/// </summary>
public string StoreId;
}
/// <summary>
/// This query retrieves the current time from one of the servers in PlayFab. Please note that due to clock drift between
/// servers, there is a potential variance of up to 5 seconds.
/// </summary>
[Serializable]
public class GetTimeRequest : PlayFabRequestCommon
{
}
/// <summary>
/// Time is always returned as Coordinated Universal Time (UTC).
/// </summary>
[Serializable]
public class GetTimeResult : PlayFabResultCommon
{
/// <summary>
/// Current server time when the request was received, in UTC
/// </summary>
public DateTime Time;
}
/// <summary>
/// This API is designed to return title specific values which can be read, but not written to, by the client. For example,
/// a developer could choose to store values which modify the user experience, such as enemy spawn rates, weapon strengths,
/// movement speeds, etc. This allows a developer to update the title without the need to create, test, and ship a new
/// build. Note that there may up to a minute delay in between updating title data and this API call returning the newest
/// value.
/// </summary>
[Serializable]
public class GetTitleDataRequest : PlayFabRequestCommon
{
/// <summary>
/// Specific keys to search for in the title data (leave null to get all keys)
/// </summary>
public List<string> Keys;
}
[Serializable]
public class GetTitleDataResult : PlayFabResultCommon
{
/// <summary>
/// a dictionary object of key / value pairs
/// </summary>
public Dictionary<string,string> Data;
}
[Serializable]
public class GetTitleNewsRequest : PlayFabRequestCommon
{
/// <summary>
/// Limits the results to the last n entries. Defaults to 10 if not set.
/// </summary>
public int? Count;
}
[Serializable]
public class GetTitleNewsResult : PlayFabResultCommon
{
/// <summary>
/// Array of news items.
/// </summary>
public List<TitleNewsItem> News;
}
/// <summary>
/// An RSA CSP blob to be used to encrypt the payload of account creation requests when that API requires a signature
/// header. For example if Client/LoginWithCustomId requires signature headers but the player does not have an account yet
/// follow these steps: 1) Call Client/GetTitlePublicKey with one of the title's shared secrets. 2) Convert the Base64
/// encoded CSP blob to a byte array and create an RSA signing object. 3) Encrypt the UTF8 encoded JSON body of the
/// registration request and place the Base64 encoded result into the EncryptedRequest and with the TitleId field, all other
/// fields can be left empty when performing the API request. 4) Client receives authentication token as normal. Future
/// requests to LoginWithCustomId will require the X-PlayFab-Signature header.
/// </summary>
[Serializable]
public class GetTitlePublicKeyRequest : PlayFabRequestCommon
{
/// <summary>
/// Unique identifier for the title, found in the Settings > Game Properties section of the PlayFab developer site when a
/// title has been selected.
/// </summary>
public string TitleId;
/// <summary>
/// The shared secret key for this title
/// </summary>
public string TitleSharedSecret;
}
[Serializable]
public class GetTitlePublicKeyResult : PlayFabResultCommon
{
/// <summary>
/// Base64 encoded RSA CSP byte array blob containing the title's public RSA key
/// </summary>
public string RSAPublicKey;
}