Player Item Management - Unlock Container Instance
NOTE: This is a Legacy Economy API, and is in bugfix-only mode. All new Economy features are being developed only for version 2. Opens a specific container (ContainerItemInstanceId), with a specific key (KeyItemInstanceId, when required), and returns the contents of the opened container. If the container (and key when relevant) are consumable (RemainingUses > 0), their RemainingUses will be decremented, consistent with the operation of ConsumeItem.
POST https://titleId.playfabapi.com/Server/UnlockContainerInstance
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 |
|---|---|---|---|
| ContainerItemInstanceId | True |
string |
ItemInstanceId of the container 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 catalog associated with the item instance. |
|
| 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.). |
|
| KeyItemInstanceId |
string |
ItemInstanceId of the key that will be consumed by unlocking this container. If the container requires a key, this parameter is required. |
Responses
| Name | Type | Description |
|---|---|---|
| 200 OK |
The items and vc found within the container. These will be added and stacked in your inventory as appropriate. |
|
| 400 Bad Request |
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 |
|---|---|
|
Api |
The basic wrapper around every failed API response |
|
Item |
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. |
|
Unlock |
Specify the container and optionally the catalogVersion for the container to open |
|
Unlock |
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. |
UnlockContainerInstanceRequest
Specify the container 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 catalog associated with the item instance. |
| CharacterId |
string |
Unique PlayFab assigned ID for a specific character owned by a user |
| ContainerItemInstanceId |
string |
ItemInstanceId of the container to unlock. |
| CustomTags |
object |
The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). |
| KeyItemInstanceId |
string |
ItemInstanceId of the key that will be consumed by unlocking this container. If the container requires a key, this parameter is required. |
| 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 |
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 |
|---|---|
| ContainerKeyInvalid | 1205 |
| ContainerNotOwned | 1018 |
| InvalidContainerItem | 1017 |
| InvalidItemIdInTable | 1020 |
| InvalidItemProperties | 1091 |
| KeyNotOwned | 1019 |