UNPKG

playfab-sdk

Version:

Playfab SDK for node.js applications

1,013 lines (968 loc) 107 kB
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