Player Item Management - Unlock Container Item

NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for version 2. Searches Player or Character inventory for any ItemInstance matching the given CatalogItemId, if necessary unlocks it using any appropriate key, and returns the contents of the opened container. If the container (and key when relevant) are consumable (RemainingUses > 0), their RemainingUses will be decremented, consistent with the operation of ConsumeItem.

POST https://titleId.playfabapi.com/Server/UnlockContainerItem

Request Header

Name Required Type Description
X-SecretKey True

string

This API requires a title secret key, available to title admins, from PlayFab Game Manager.

Request Body

Name Required Type Description
ContainerItemId True

string

Catalog ItemId of the container type to unlock.

PlayFabId True

string

Unique PlayFab assigned ID of the user on whom the operation will be performed.

CatalogVersion

string

Specifies the catalog version that should be used to determine container contents. If unspecified, uses default/primary catalog.

CharacterId

string

Unique PlayFab assigned ID for a specific character owned by a user

CustomTags

object

The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).

Responses

Name Type Description
200 OK

UnlockContainerItemResult

The items and vc found within the container. These will be added and stacked in your inventory as appropriate.

400 Bad Request

ApiErrorWrapper

This is the outer wrapper for all responses with errors

Security

X-SecretKey

This API requires a title secret key, available to title admins, from PlayFab Game Manager.

Type: apiKey
In: header

Definitions

Name Description
ApiErrorWrapper

The basic wrapper around every failed API response

ItemInstance

A unique instance of an item in a user's inventory. Note, to retrieve additional information for an item such as Tags, Description that are the same across all instances of the item, a call to GetCatalogItems is required. The ItemID of can be matched to a catalog entry, which contains the additional information. Also note that Custom Data is only set when the User's specific instance has updated the CustomData via a call to UpdateUserInventoryItemCustomData. Other fields such as UnitPrice and UnitCurrency are only set when the item was granted via a purchase.

UnlockContainerItemRequest

Specify the type of container to open and optionally the catalogVersion for the container to open

UnlockContainerItemResult

The items and vc found within the container. These will be added and stacked in your inventory as appropriate.

ApiErrorWrapper

The basic wrapper around every failed API response

Name Type Description
code

integer

Numerical HTTP code

error

string

Playfab error code

errorCode

integer

Numerical PlayFab error code

errorDetails

object

Detailed description of individual issues with the request object

errorMessage

string

Description for the PlayFab errorCode

status

string

String HTTP code

ItemInstance

A unique instance of an item in a user's inventory. Note, to retrieve additional information for an item such as Tags, Description that are the same across all instances of the item, a call to GetCatalogItems is required. The ItemID of can be matched to a catalog entry, which contains the additional information. Also note that Custom Data is only set when the User's specific instance has updated the CustomData via a call to UpdateUserInventoryItemCustomData. Other fields such as UnitPrice and UnitCurrency are only set when the item was granted via a purchase.

Name Type Description
Annotation

string

Game specific comment associated with this instance when it was added to the user inventory.

BundleContents

string[]

Array of unique items that were awarded when this catalog item was purchased.

BundleParent

string

Unique identifier for the parent inventory item, as defined in the catalog, for object which were added from a bundle or container.

CatalogVersion

string

Catalog version for the inventory item, when this instance was created.

CustomData

object

A set of custom key-value pairs on the instance of the inventory item, which is not to be confused with the catalog item's custom data.

DisplayName

string

CatalogItem.DisplayName at the time this item was purchased.

Expiration

string

Timestamp for when this instance will expire.

ItemClass

string

Class name for the inventory item, as defined in the catalog.

ItemId

string

Unique identifier for the inventory item, as defined in the catalog.

ItemInstanceId

string

Unique item identifier for this specific instance of the item.

PurchaseDate

string

Timestamp for when this instance was purchased.

RemainingUses

number

Total number of remaining uses, if this is a consumable item.

UnitCurrency

string

Currency type for the cost of the catalog item. Not available when granting items.

UnitPrice

number

Cost of the catalog item in the given currency. Not available when granting items.

UsesIncrementedBy

number

The number of uses that were added or removed to this item in this call.

UnlockContainerItemRequest

Specify the type of container to open and optionally the catalogVersion for the container to open

Name Type Description
CatalogVersion

string

Specifies the catalog version that should be used to determine container contents. If unspecified, uses default/primary catalog.

CharacterId

string

Unique PlayFab assigned ID for a specific character owned by a user

ContainerItemId

string

Catalog ItemId of the container type to unlock.

CustomTags

object

The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).

PlayFabId

string

Unique PlayFab assigned ID of the user on whom the operation will be performed.

UnlockContainerItemResult

The items and vc found within the container. These will be added and stacked in your inventory as appropriate.

Name Type Description
GrantedItems

ItemInstance[]

Items granted to the player as a result of unlocking the container.

UnlockedItemInstanceId

string

Unique instance identifier of the container unlocked.

UnlockedWithItemInstanceId

string

Unique instance identifier of the key used to unlock the container, if applicable.

VirtualCurrency

object

Virtual currency granted to the player as a result of unlocking the container.

Error Codes

Name Code
CharacterNotFound 1135
ContainerKeyInvalid 1205
ContainerNotOwned 1018
InvalidContainerItem 1017
InvalidItemIdInTable 1020
InvalidItemProperties 1091
KeyNotOwned 1019