playfab-sdk
Version:
Playfab SDK for node.js applications
1,013 lines (968 loc) • 107 kB
TypeScript
declare module PlayFabEconomyModule {
export interface IPlayFabEconomy {
settings: PlayFabModule.IPlayFabSettings;
// Add inventory items. Up to 10,000 stacks of items can be added to a single inventory collection. Stack size is uncapped.
// https://docs.microsoft.com/rest/api/playfab/economy/inventory/addinventoryitems
AddInventoryItems(
request: PlayFabEconomyModels.AddInventoryItemsRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.AddInventoryItemsResponse> | null,
): void;
// Creates a new item in the working catalog using provided metadata. Note: SAS tokens provided are valid for 1 hour.
// https://docs.microsoft.com/rest/api/playfab/economy/catalog/createdraftitem
CreateDraftItem(
request: PlayFabEconomyModels.CreateDraftItemRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.CreateDraftItemResponse> | null,
): void;
// Creates one or more upload URLs which can be used by the client to upload raw file data. Content URls and uploaded
// content will be garbage collected after 24 hours if not attached to a draft or published item. Detailed pricing info
// around uploading content can be found here:
// https://learn.microsoft.com/en-us/gaming/playfab/features/pricing/meters/catalog-meters
// https://docs.microsoft.com/rest/api/playfab/economy/catalog/createuploadurls
CreateUploadUrls(
request: PlayFabEconomyModels.CreateUploadUrlsRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.CreateUploadUrlsResponse> | null,
): void;
// Deletes all reviews, helpfulness votes, and ratings submitted by the entity specified.
// https://docs.microsoft.com/rest/api/playfab/economy/catalog/deleteentityitemreviews
DeleteEntityItemReviews(
request: PlayFabEconomyModels.DeleteEntityItemReviewsRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.DeleteEntityItemReviewsResponse> | null,
): void;
// Delete an Inventory Collection. More information about Inventory Collections can be found here:
// https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/inventory/collections
// https://docs.microsoft.com/rest/api/playfab/economy/inventory/deleteinventorycollection
DeleteInventoryCollection(
request: PlayFabEconomyModels.DeleteInventoryCollectionRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.DeleteInventoryCollectionResponse> | null,
): void;
// Delete inventory items
// https://docs.microsoft.com/rest/api/playfab/economy/inventory/deleteinventoryitems
DeleteInventoryItems(
request: PlayFabEconomyModels.DeleteInventoryItemsRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.DeleteInventoryItemsResponse> | null,
): void;
// Removes an item from working catalog and all published versions from the public catalog.
// https://docs.microsoft.com/rest/api/playfab/economy/catalog/deleteitem
DeleteItem(
request: PlayFabEconomyModels.DeleteItemRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.DeleteItemResponse> | null,
): void;
// Execute a list of Inventory Operations. A maximum list of 50 operations can be performed by a single request. There is
// also a limit to 300 items that can be modified/added in a single request. For example, adding a bundle with 50 items
// counts as 50 items modified. All operations must be done within a single inventory collection. This API has a reduced
// RPS compared to an individual inventory operation with Player Entities limited to 60 requests in 90 seconds.
// https://docs.microsoft.com/rest/api/playfab/economy/inventory/executeinventoryoperations
ExecuteInventoryOperations(
request: PlayFabEconomyModels.ExecuteInventoryOperationsRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.ExecuteInventoryOperationsResponse> | null,
): void;
// Transfer a list of inventory items. A maximum list of 50 operations can be performed by a single request. When the
// response code is 202, one or more operations did not complete within the timeframe of the request. You can identify the
// pending operations by looking for OperationStatus = 'InProgress'. You can check on the operation status at anytime
// within 1 day of the request by passing the TransactionToken to the GetInventoryOperationStatus API.
// https://docs.microsoft.com/rest/api/playfab/economy/inventory/executetransferoperations
ExecuteTransferOperations(
request: PlayFabEconomyModels.ExecuteTransferOperationsRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.ExecuteTransferOperationsResponse> | null,
): void;
// Gets the configuration for the catalog. Only Title Entities can call this API. There is a limit of 100 requests in 10
// seconds for this API. More information about the Catalog Config can be found here:
// https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/settings
// https://docs.microsoft.com/rest/api/playfab/economy/catalog/getcatalogconfig
GetCatalogConfig(
request: PlayFabEconomyModels.GetCatalogConfigRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.GetCatalogConfigResponse> | null,
): void;
// Retrieves an item from the working catalog. This item represents the current working state of the item. GetDraftItem
// does not work off a cache of the Catalog and should be used when trying to get recent item updates. However, please note
// that item references data is cached and may take a few moments for changes to propagate. Note: SAS tokens provided are
// valid for 1 hour.
// https://docs.microsoft.com/rest/api/playfab/economy/catalog/getdraftitem
GetDraftItem(
request: PlayFabEconomyModels.GetDraftItemRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.GetDraftItemResponse> | null,
): void;
// Retrieves a paginated list of the items from the draft catalog. Up to 50 IDs can be retrieved in a single request.
// GetDraftItems does not work off a cache of the Catalog and should be used when trying to get recent item updates. Note:
// SAS tokens provided are valid for 1 hour.
// https://docs.microsoft.com/rest/api/playfab/economy/catalog/getdraftitems
GetDraftItems(
request: PlayFabEconomyModels.GetDraftItemsRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.GetDraftItemsResponse> | null,
): void;
// Retrieves a paginated list of the items from the draft catalog created by the Entity. Up to 50 items can be returned at
// once. You can use continuation tokens to paginate through results that return greater than the limit.
// GetEntityDraftItems does not work off a cache of the Catalog and should be used when trying to get recent item updates.
// https://docs.microsoft.com/rest/api/playfab/economy/catalog/getentitydraftitems
GetEntityDraftItems(
request: PlayFabEconomyModels.GetEntityDraftItemsRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.GetEntityDraftItemsResponse> | null,
): void;
// Gets the submitted review for the specified item by the authenticated entity. Individual ratings and reviews data update
// in near real time with delays within a few seconds.
// https://docs.microsoft.com/rest/api/playfab/economy/catalog/getentityitemreview
GetEntityItemReview(
request: PlayFabEconomyModels.GetEntityItemReviewRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.GetEntityItemReviewResponse> | null,
): void;
// Get Inventory Collection Ids. Up to 50 Ids can be returned at once (or 250 with response compression enabled). You can
// use continuation tokens to paginate through results that return greater than the limit. It can take a few seconds for
// new collection Ids to show up.
// https://docs.microsoft.com/rest/api/playfab/economy/inventory/getinventorycollectionids
GetInventoryCollectionIds(
request: PlayFabEconomyModels.GetInventoryCollectionIdsRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.GetInventoryCollectionIdsResponse> | null,
): void;
// Get current inventory items.
// https://docs.microsoft.com/rest/api/playfab/economy/inventory/getinventoryitems
GetInventoryItems(
request: PlayFabEconomyModels.GetInventoryItemsRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.GetInventoryItemsResponse> | null,
): void;
// Get the status of an inventory operation using an OperationToken. You can check on the operation status at anytime
// within 1 day of the request by passing the TransactionToken to the this API.
// https://docs.microsoft.com/rest/api/playfab/economy/inventory/getinventoryoperationstatus
GetInventoryOperationStatus(
request: PlayFabEconomyModels.GetInventoryOperationStatusRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.GetInventoryOperationStatusResponse> | null,
): void;
// Retrieves an item from the public catalog. GetItem does not work off a cache of the Catalog and should be used when
// trying to get recent item updates. However, please note that item references data is cached and may take a few moments
// for changes to propagate.
// https://docs.microsoft.com/rest/api/playfab/economy/catalog/getitem
GetItem(
request: PlayFabEconomyModels.GetItemRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.GetItemResponse> | null,
): void;
// Search for a given item and return a set of bundles and stores containing the item. Up to 50 items can be returned at
// once. You can use continuation tokens to paginate through results that return greater than the limit. This API is
// intended for tooling/automation scenarios and has a reduced RPS with Player Entities limited to 30 requests in 300
// seconds and Title Entities limited to 100 requests in 10 seconds.
// https://docs.microsoft.com/rest/api/playfab/economy/catalog/getitemcontainers
GetItemContainers(
request: PlayFabEconomyModels.GetItemContainersRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.GetItemContainersResponse> | null,
): void;
// Gets the moderation state for an item, including the concern category and string reason. More information about
// moderation states can be found here: https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/ugc/moderation
// https://docs.microsoft.com/rest/api/playfab/economy/catalog/getitemmoderationstate
GetItemModerationState(
request: PlayFabEconomyModels.GetItemModerationStateRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.GetItemModerationStateResponse> | null,
): void;
// Gets the status of a publish of an item.
// https://docs.microsoft.com/rest/api/playfab/economy/catalog/getitempublishstatus
GetItemPublishStatus(
request: PlayFabEconomyModels.GetItemPublishStatusRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.GetItemPublishStatusResponse> | null,
): void;
// Get a paginated set of reviews associated with the specified item. Individual ratings and reviews data update in near
// real time with delays within a few seconds.
// https://docs.microsoft.com/rest/api/playfab/economy/catalog/getitemreviews
GetItemReviews(
request: PlayFabEconomyModels.GetItemReviewsRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.GetItemReviewsResponse> | null,
): void;
// Get a summary of all ratings and reviews associated with the specified item. Summary ratings data is cached with update
// data coming within 15 minutes.
// https://docs.microsoft.com/rest/api/playfab/economy/catalog/getitemreviewsummary
GetItemReviewSummary(
request: PlayFabEconomyModels.GetItemReviewSummaryRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.GetItemReviewSummaryResponse> | null,
): void;
// Retrieves items from the public catalog. Up to 50 items can be returned at once. GetItems does not work off a cache of
// the Catalog and should be used when trying to get recent item updates. However, please note that item references data is
// cached and may take a few moments for changes to propagate.
// https://docs.microsoft.com/rest/api/playfab/economy/catalog/getitems
GetItems(
request: PlayFabEconomyModels.GetItemsRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.GetItemsResponse> | null,
): void;
// Gets the access tokens.
// https://docs.microsoft.com/rest/api/playfab/economy/inventory/getmicrosoftstoreaccesstokens
GetMicrosoftStoreAccessTokens(
request: PlayFabEconomyModels.GetMicrosoftStoreAccessTokensRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.GetMicrosoftStoreAccessTokensResponse> | null,
): void;
// Get transaction history for a player. Up to 250 Events can be returned at once. You can use continuation tokens to
// paginate through results that return greater than the limit. Getting transaction history has a lower RPS limit than
// getting a Player's inventory with Player Entities having a limit of 30 requests in 300 seconds.
// https://docs.microsoft.com/rest/api/playfab/economy/inventory/gettransactionhistory
GetTransactionHistory(
request: PlayFabEconomyModels.GetTransactionHistoryRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.GetTransactionHistoryResponse> | null,
): void;
// Initiates a publish of an item from the working catalog to the public catalog. You can use the GetItemPublishStatus API
// to track the state of the item publish.
// https://docs.microsoft.com/rest/api/playfab/economy/catalog/publishdraftitem
PublishDraftItem(
request: PlayFabEconomyModels.PublishDraftItemRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.PublishDraftItemResponse> | null,
): void;
// Purchase an item or bundle. Up to 10,000 stacks of items can be added to a single inventory collection. Stack size is
// uncapped.
// https://docs.microsoft.com/rest/api/playfab/economy/inventory/purchaseinventoryitems
PurchaseInventoryItems(
request: PlayFabEconomyModels.PurchaseInventoryItemsRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.PurchaseInventoryItemsResponse> | null,
): void;
// Redeem items.
// https://docs.microsoft.com/rest/api/playfab/economy/inventory/redeemappleappstoreinventoryitems
RedeemAppleAppStoreInventoryItems(
request: PlayFabEconomyModels.RedeemAppleAppStoreInventoryItemsRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.RedeemAppleAppStoreInventoryItemsResponse> | null,
): void;
// Redeem items.
// https://docs.microsoft.com/rest/api/playfab/economy/inventory/redeemgoogleplayinventoryitems
RedeemGooglePlayInventoryItems(
request: PlayFabEconomyModels.RedeemGooglePlayInventoryItemsRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.RedeemGooglePlayInventoryItemsResponse> | null,
): void;
// Redeem items.
// https://docs.microsoft.com/rest/api/playfab/economy/inventory/redeemmicrosoftstoreinventoryitems
RedeemMicrosoftStoreInventoryItems(
request: PlayFabEconomyModels.RedeemMicrosoftStoreInventoryItemsRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.RedeemMicrosoftStoreInventoryItemsResponse> | null,
): void;
// Redeem items.
// https://docs.microsoft.com/rest/api/playfab/economy/inventory/redeemnintendoeshopinventoryitems
RedeemNintendoEShopInventoryItems(
request: PlayFabEconomyModels.RedeemNintendoEShopInventoryItemsRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.RedeemNintendoEShopInventoryItemsResponse> | null,
): void;
// Redeem items.
// https://docs.microsoft.com/rest/api/playfab/economy/inventory/redeemplaystationstoreinventoryitems
RedeemPlayStationStoreInventoryItems(
request: PlayFabEconomyModels.RedeemPlayStationStoreInventoryItemsRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.RedeemPlayStationStoreInventoryItemsResponse> | null,
): void;
// Redeem items.
// https://docs.microsoft.com/rest/api/playfab/economy/inventory/redeemsteaminventoryitems
RedeemSteamInventoryItems(
request: PlayFabEconomyModels.RedeemSteamInventoryItemsRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.RedeemSteamInventoryItemsResponse> | null,
): void;
// Submit a report for an item, indicating in what way the item is inappropriate.
// https://docs.microsoft.com/rest/api/playfab/economy/catalog/reportitem
ReportItem(
request: PlayFabEconomyModels.ReportItemRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.ReportItemResponse> | null,
): void;
// Submit a report for a review
// https://docs.microsoft.com/rest/api/playfab/economy/catalog/reportitemreview
ReportItemReview(
request: PlayFabEconomyModels.ReportItemReviewRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.ReportItemReviewResponse> | null,
): void;
// Creates or updates a review for the specified item. More information around the caching surrounding item ratings and
// reviews can be found here:
// https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/catalog/ratings#ratings-design-and-caching
// https://docs.microsoft.com/rest/api/playfab/economy/catalog/reviewitem
ReviewItem(
request: PlayFabEconomyModels.ReviewItemRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.ReviewItemResponse> | null,
): void;
// Executes a search against the public catalog using the provided search parameters and returns a set of paginated
// results. SearchItems uses a cache of the catalog with item updates taking up to a few minutes to propagate. You should
// use the GetItem API for when trying to immediately get recent item updates. More information about the Search API can be
// found here: https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/catalog/search
// https://docs.microsoft.com/rest/api/playfab/economy/catalog/searchitems
SearchItems(
request: PlayFabEconomyModels.SearchItemsRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.SearchItemsResponse> | null,
): void;
// Sets the moderation state for an item, including the concern category and string reason. More information about
// moderation states can be found here: https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/ugc/moderation
// https://docs.microsoft.com/rest/api/playfab/economy/catalog/setitemmoderationstate
SetItemModerationState(
request: PlayFabEconomyModels.SetItemModerationStateRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.SetItemModerationStateResponse> | null,
): void;
// Submit a vote for a review, indicating whether the review was helpful or unhelpful.
// https://docs.microsoft.com/rest/api/playfab/economy/catalog/submititemreviewvote
SubmitItemReviewVote(
request: PlayFabEconomyModels.SubmitItemReviewVoteRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.SubmitItemReviewVoteResponse> | null,
): void;
// Subtract inventory items.
// https://docs.microsoft.com/rest/api/playfab/economy/inventory/subtractinventoryitems
SubtractInventoryItems(
request: PlayFabEconomyModels.SubtractInventoryItemsRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.SubtractInventoryItemsResponse> | null,
): void;
// Submit a request to takedown one or more reviews.
// https://docs.microsoft.com/rest/api/playfab/economy/catalog/takedownitemreviews
TakedownItemReviews(
request: PlayFabEconomyModels.TakedownItemReviewsRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.TakedownItemReviewsResponse> | null,
): void;
// Transfer inventory items. When transferring across collections, a 202 response indicates that the transfer did not
// complete within the timeframe of the request. You can identify the pending operations by looking for OperationStatus =
// 'InProgress'. You can check on the operation status at anytime within 1 day of the request by passing the
// TransactionToken to the GetInventoryOperationStatus API. More information about item transfer scenarios can be found
// here:
// https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/inventory/?tabs=inventory-game-manager#transfer-inventory-items
// https://docs.microsoft.com/rest/api/playfab/economy/inventory/transferinventoryitems
TransferInventoryItems(
request: PlayFabEconomyModels.TransferInventoryItemsRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.TransferInventoryItemsResponse> | null,
): void;
// Updates the configuration for the catalog. Only Title Entities can call this API. There is a limit of 10 requests in 10
// seconds for this API. More information about the Catalog Config can be found here:
// https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/settings
// https://docs.microsoft.com/rest/api/playfab/economy/catalog/updatecatalogconfig
UpdateCatalogConfig(
request: PlayFabEconomyModels.UpdateCatalogConfigRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.UpdateCatalogConfigResponse> | null,
): void;
// Update the metadata for an item in the working catalog. Note: SAS tokens provided are valid for 1 hour.
// https://docs.microsoft.com/rest/api/playfab/economy/catalog/updatedraftitem
UpdateDraftItem(
request: PlayFabEconomyModels.UpdateDraftItemRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.UpdateDraftItemResponse> | null,
): void;
// Update inventory items
// https://docs.microsoft.com/rest/api/playfab/economy/inventory/updateinventoryitems
UpdateInventoryItems(
request: PlayFabEconomyModels.UpdateInventoryItemsRequest | null,
callback: PlayFabModule.ApiCallback<PlayFabEconomyModels.UpdateInventoryItemsResponse> | null,
): void;
}
}
declare module PlayFabEconomyModels {
export interface AddInventoryItemsOperation {
// The amount to add to the current item amount.
Amount?: number;
// The duration to add to the current item expiration date.
DurationInSeconds?: number;
// The inventory item the operation applies to.
Item?: InventoryItemReference;
// The values to apply to a stack newly created by this operation.
NewStackValues?: InitialValues;
}
export interface AddInventoryItemsRequest extends PlayFabModule.IPlayFabRequestCommon {
// The amount to add for the current item.
Amount?: number;
// The id of the entity's collection to perform this action on. (Default="default"). The number of inventory collections is
// unlimited.
CollectionId?: string;
// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
CustomTags?: { [key: string]: string | null };
// The duration to add to the current item expiration date.
DurationInSeconds?: number;
// The entity to perform this action on.
Entity?: EntityKey;
// ETags are used for concurrency checking when updating resources. More information about using ETags can be found here:
// https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/catalog/etags
ETag?: string;
// The Idempotency ID for this request. Idempotency IDs can be used to prevent operation replay in the medium term but will
// be garbage collected eventually.
IdempotencyId?: string;
// The inventory item the request applies to.
Item?: InventoryItemReference;
// The values to apply to a stack newly created by this request.
NewStackValues?: InitialValues;
}
export interface AddInventoryItemsResponse extends PlayFabModule.IPlayFabResultCommon {
// ETags are used for concurrency checking when updating resources. More information about using ETags can be found here:
// https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/catalog/etags
ETag?: string;
// The idempotency id used in the request.
IdempotencyId?: string;
// The ids of transactions that occurred as a result of the request.
TransactionIds?: string[];
}
export interface AlternateId {
// Type of the alternate ID.
Type?: string;
// Value of the alternate ID.
Value?: string;
}
export interface CatalogAlternateId {
// Type of the alternate ID.
Type?: string;
// Value of the alternate ID.
Value?: string;
}
export interface CatalogConfig {
// A list of player entity keys that will have admin permissions. There is a maximum of 64 entities that can be added.
AdminEntities?: EntityKey[];
// The set of configuration that only applies to catalog items.
Catalog?: CatalogSpecificConfig;
// A list of deep link formats. Up to 10 can be added.
DeepLinkFormats?: DeepLinkFormat[];
// A list of display properties to index. Up to 5 mappings can be added per Display Property Type. More info on display
// properties can be found here:
// https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/catalog/content-types-tags-and-properties#displayproperties
DisplayPropertyIndexInfos?: DisplayPropertyIndexInfo[];
// The set of configuration that only applies to Files.
File?: FileConfig;
// The set of configuration that only applies to Images.
Image?: ImageConfig;
// Flag defining whether catalog is enabled.
IsCatalogEnabled: boolean;
// A list of Platforms that can be applied to catalog items. Each platform can have a maximum character length of 40 and up
// to 128 platforms can be listed.
Platforms?: string[];
// The set of configuration that only applies to Ratings and Reviews.
Review?: ReviewConfig;
// A set of player entity keys that are allowed to review content. There is a maximum of 128 entities that can be added.
ReviewerEntities?: EntityKey[];
// The set of configuration that only applies to user generated contents.
UserGeneratedContent?: UserGeneratedContentSpecificConfig;
}
export interface CatalogItem {
// The alternate IDs associated with this item. An alternate ID can be set to 'FriendlyId' or any of the supported
// marketplace names.
AlternateIds?: CatalogAlternateId[];
// The set of content/files associated with this item. Up to 100 files can be added to an item.
Contents?: Content[];
// The client-defined type of the item.
ContentType?: string;
// The date and time when this item was created.
CreationDate?: string;
// The ID of the creator of this catalog item.
CreatorEntity?: EntityKey;
// The set of platform specific deep links for this item.
DeepLinks?: DeepLink[];
// The Stack Id that will be used as default for this item in Inventory when an explicit one is not provided. This
// DefaultStackId can be a static stack id or '{guid}', which will generate a unique stack id for the item. If null,
// Inventory's default stack id will be used.
DefaultStackId?: string;
// A dictionary of localized descriptions. Key is language code and localized string is the value. The NEUTRAL locale is
// required. Descriptions have a 10000 character limit per country code.
Description?: { [key: string]: string | null };
// Game specific properties for display purposes. This is an arbitrary JSON blob. The Display Properties field has a 10000
// byte limit per item.
DisplayProperties?: any;
// The user provided version of the item for display purposes. Maximum character length of 50.
DisplayVersion?: string;
// The date of when the item will cease to be available. If not provided then the product will be available indefinitely.
EndDate?: string;
// The current ETag value that can be used for optimistic concurrency in the If-None-Match header.
ETag?: string;
// The unique ID of the item.
Id?: string;
// The images associated with this item. Images can be thumbnails or screenshots. Up to 100 images can be added to an item.
// Only .png, .jpg, .gif, and .bmp file types can be uploaded
Images?: Image[];
// Indicates if the item is hidden.
IsHidden?: boolean;
// The item references associated with this item. For example, the items in a Bundle/Store/Subscription. Every item can
// have up to 50 item references.
ItemReferences?: CatalogItemReference[];
// A dictionary of localized keywords. Key is language code and localized list of keywords is the value. Keywords have a 50
// character limit per keyword and up to 32 keywords can be added per country code.
Keywords?: { [key: string]: KeywordSet };
// The date and time this item was last updated.
LastModifiedDate?: string;
// The moderation state for this item.
Moderation?: ModerationState;
// The platforms supported by this item.
Platforms?: string[];
// The prices the item can be purchased for.
PriceOptions?: CatalogPriceOptions;
// Rating summary for this item.
Rating?: Rating;
// The real price the item was purchased for per marketplace.
RealMoneyPriceDetails?: RealMoneyPriceDetails;
// The date of when the item will be available. If not provided then the product will appear immediately.
StartDate?: string;
// Optional details for stores items.
StoreDetails?: StoreDetails;
// The list of tags that are associated with this item. Up to 32 tags can be added to an item.
Tags?: string[];
// A dictionary of localized titles. Key is language code and localized string is the value. The NEUTRAL locale is
// required. Titles have a 512 character limit per country code.
Title?: { [key: string]: string | null };
// The high-level type of the item. The following item types are supported: bundle, catalogItem, currency, store, ugc,
// subscription.
Type?: string;
}
export interface CatalogItemReference {
// The amount of the catalog item.
Amount?: number;
// The unique ID of the catalog item.
Id?: string;
// The prices the catalog item can be purchased for.
PriceOptions?: CatalogPriceOptions;
}
export interface CatalogPrice {
// The amounts of the catalog item price. Each price can have up to 15 item amounts.
Amounts?: CatalogPriceAmount[];
// The per-unit amount this price can be used to purchase.
UnitAmount?: number;
// The per-unit duration this price can be used to purchase. The maximum duration is 100 years.
UnitDurationInSeconds?: number;
}
export interface CatalogPriceAmount {
// The amount of the price.
Amount: number;
// The Item Id of the price.
ItemId?: string;
}
export interface CatalogPriceAmountOverride {
// The exact value that should be utilized in the override.
FixedValue?: number;
// The id of the item this override should utilize.
ItemId?: string;
// The multiplier that will be applied to the base Catalog value to determine what value should be utilized in the
// override.
Multiplier?: number;
}
export interface CatalogPriceOptions {
// Prices of the catalog item. An item can have up to 15 prices
Prices?: CatalogPrice[];
}
export interface CatalogPriceOptionsOverride {
// The prices utilized in the override.
Prices?: CatalogPriceOverride[];
}
export interface CatalogPriceOverride {
// The currency amounts utilized in the override for a singular price.
Amounts?: CatalogPriceAmountOverride[];
}
export interface CatalogSpecificConfig {
// The set of content types that will be used for validation. Each content type can have a maximum character length of 40
// and up to 128 types can be listed.
ContentTypes?: string[];
// The set of tags that will be used for validation. Each tag can have a maximum character length of 32 and up to 1024 tags
// can be listed.
Tags?: string[];
}
export interface CategoryRatingConfig {
// Name of the category.
Name?: string;
}
type ConcernCategory = "None"
| "OffensiveContent"
| "ChildExploitation"
| "MalwareOrVirus"
| "PrivacyConcerns"
| "MisleadingApp"
| "PoorPerformance"
| "ReviewResponse"
| "SpamAdvertising"
| "Profanity";
export interface Content {
// The content unique ID.
Id?: string;
// The maximum client version that this content is compatible with. Client Versions can be up to 3 segments separated by
// periods(.) and each segment can have a maximum value of 65535.
MaxClientVersion?: string;
// The minimum client version that this content is compatible with. Client Versions can be up to 3 segments separated by
// periods(.) and each segment can have a maximum value of 65535.
MinClientVersion?: string;
// The list of tags that are associated with this content. Tags must be defined in the Catalog Config before being used in
// content.
Tags?: string[];
// The client-defined type of the content. Content Types must be defined in the Catalog Config before being used.
Type?: string;
// The Azure CDN URL for retrieval of the catalog item binary content.
Url?: string;
}
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"
| "Unknown";
export interface CreateDraftItemRequest extends PlayFabModule.IPlayFabRequestCommon {
// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
CustomTags?: { [key: string]: string | null };
// Metadata describing the new catalog item to be created.
Item?: CatalogItem;
// Whether the item should be published immediately. This value is optional, defaults to false.
Publish: boolean;
}
export interface CreateDraftItemResponse extends PlayFabModule.IPlayFabResultCommon {
// Updated metadata describing the catalog item just created.
Item?: CatalogItem;
}
export interface CreateUploadUrlsRequest extends PlayFabModule.IPlayFabRequestCommon {
// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
CustomTags?: { [key: string]: string | null };
// Description of the files to be uploaded by the client.
Files?: UploadInfo[];
}
export interface CreateUploadUrlsResponse extends PlayFabModule.IPlayFabResultCommon {
// List of URLs metadata for the files to be uploaded by the client.
UploadUrls?: UploadUrlMetadata[];
}
export interface DeepLink {
// Target platform for this deep link.
Platform?: string;
// The deep link for this platform.
Url?: string;
}
export interface DeepLinkFormat {
// The format of the deep link to return. The format should contain '{id}' to represent where the item ID should be placed.
Format?: string;
// The target platform for the deep link.
Platform?: string;
}
export interface DeleteEntityItemReviewsRequest extends PlayFabModule.IPlayFabRequestCommon {
// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
CustomTags?: { [key: string]: string | null };
// The entity to perform this action on.
Entity?: EntityKey;
}
export interface DeleteEntityItemReviewsResponse extends PlayFabModule.IPlayFabResultCommon {}
export interface DeleteInventoryCollectionRequest extends PlayFabModule.IPlayFabRequestCommon {
// The inventory collection id the request applies to.
CollectionId?: string;
// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
CustomTags?: { [key: string]: string | null };
// The entity the request is about. Set to the caller by default.
Entity?: EntityKey;
// ETags are used for concurrency checking when updating resources. More information about using ETags can be found here:
// https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/catalog/etags
ETag?: string;
}
export interface DeleteInventoryCollectionResponse extends PlayFabModule.IPlayFabResultCommon {}
export interface DeleteInventoryItemsOperation {
// The inventory item the operation applies to.
Item?: InventoryItemReference;
}
export interface DeleteInventoryItemsRequest extends PlayFabModule.IPlayFabRequestCommon {
// The id of the entity's collection to perform this action on. (Default="default"). The number of inventory collections is
// unlimited.
CollectionId?: string;
// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
CustomTags?: { [key: string]: string | null };
// The entity to perform this action on.
Entity?: EntityKey;
// ETags are used for concurrency checking when updating resources. More information about using ETags can be found here:
// https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/catalog/etags
ETag?: string;
// The Idempotency ID for this request. Idempotency IDs can be used to prevent operation replay in the medium term but will
// be garbage collected eventually.
IdempotencyId?: string;
// The inventory item the request applies to.
Item?: InventoryItemReference;
}
export interface DeleteInventoryItemsResponse extends PlayFabModule.IPlayFabResultCommon {
// ETags are used for concurrency checking when updating resources.
ETag?: string;
// The idempotency id used in the request.
IdempotencyId?: string;
// The ids of transactions that occurred as a result of the request.
TransactionIds?: string[];
}
export interface DeleteItemRequest extends PlayFabModule.IPlayFabRequestCommon {
// An alternate ID associated with this item.
AlternateId?: CatalogAlternateId;
// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
CustomTags?: { [key: string]: string | null };
// The entity to perform this action on.
Entity?: EntityKey;
// The unique ID of the item.
Id?: string;
}
export interface DeleteItemResponse extends PlayFabModule.IPlayFabResultCommon {}
export interface DisplayPropertyIndexInfo {
// The property name in the 'DisplayProperties' property to be indexed.
Name?: string;
// The type of the property to be indexed.
Type?: string;
}
type DisplayPropertyType = "None"
| "QueryDateTime"
| "QueryDouble"
| "QueryString"
| "SearchString";
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 ExecuteInventoryOperationsRequest extends PlayFabModule.IPlayFabRequestCommon {
// The id of the entity's collection to perform this action on. (Default="default"). The number of inventory collections is
// unlimited.
CollectionId?: string;
// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
CustomTags?: { [key: string]: string | null };
// The entity to perform this action on.
Entity?: EntityKey;
// ETags are used for concurrency checking when updating resources. More information about using ETags can be found here:
// https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/catalog/etags
ETag?: string;
// The Idempotency ID for this request. Idempotency IDs can be used to prevent operation replay in the medium term but will
// be garbage collected eventually.
IdempotencyId?: string;
// The operations to run transactionally. The operations will be executed in-order sequentially and will succeed or fail as
// a batch. Up to 50 operations can be added.
Operations?: InventoryOperation[];
}
export interface ExecuteInventoryOperationsResponse extends PlayFabModule.IPlayFabResultCommon {
// ETags are used for concurrency checking when updating resources. More information about using ETags can be found here:
// https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/catalog/etags
ETag?: string;
// The idempotency id used in the request.
IdempotencyId?: string;
// The ids of the transactions that occurred as a result of the request.
TransactionIds?: string[];
}
export interface ExecuteTransferOperationsRequest extends PlayFabModule.IPlayFabRequestCommon {
// The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
CustomTags?: { [key: string]: string | null };
// The inventory collection id the request is transferring from. (Default="default")
GivingCollectionId?: string;
// The entity the request is transferring from. Set to the caller by default.
GivingEntity?: EntityKey;
// ETags are used for concurrency checking when updating resources. More information about using ETags can be found here:
// https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/catalog/etags
GivingETag?: string;
// The idempotency id for the request.
IdempotencyId?: string;
// The transfer operations to run transactionally. The operations will be executed in-order sequentially and will succeed
// or fail as a batch. Up to 50 operations can be added.
Operations?: TransferInventoryItemsOperation[];
// The inventory collection id the request is transferring to. (Default="default")
ReceivingCollectionId?: string;
// The entity the request