Inventory - Purchase Inventory Items
Purchase an item or bundle. Up to 10,000 stacks of items can be added to a single inventory collection. Stack size is uncapped.
POST https://titleId.playfabapi.com/Inventory/PurchaseInventoryItems
Request Header
Name | Required | Type | Description |
---|---|---|---|
X-EntityToken | True |
string |
This API requires an Entity Session Token, available from the Entity GetEntityToken method. |
Request Body
Name | Required | Type | Description |
---|---|---|---|
DeleteEmptyStacks | True |
boolean |
Indicates whether stacks reduced to an amount of 0 during the request should be deleted from the inventory. (Default=false) |
Amount |
number |
The amount to purchase. |
|
CollectionId |
string |
The id of the entity's collection to perform this action on. (Default="default"). The number of inventory collections is unlimited. |
|
CustomTags |
object |
The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). |
|
DurationInSeconds |
number |
The duration to purchase. |
|
ETag |
string |
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 |
|
Entity |
The entity to perform this action on. |
||
IdempotencyId |
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. |
|
Item |
The inventory item the request applies to. |
||
NewStackValues |
The values to apply to a stack newly created by this request. |
||
PriceAmounts |
The per-item price the item is expected to be purchased at. This must match a value configured in the Catalog or specified Store. |
||
StoreId |
string |
The id of the Store to purchase the item from. |
Responses
Name | Type | Description |
---|---|---|
200 OK | ||
400 Bad Request |
This is the outer wrapper for all responses with errors |
Security
X-EntityToken
This API requires an Entity Session Token, available from the Entity GetEntityToken method.
Type:
apiKey
In:
header
Definitions
Name | Description |
---|---|
Alternate |
|
Api |
The basic wrapper around every failed API response |
Entity |
Combined entity type and ID structure which uniquely identifies a single entity. |
Initial |
|
Inventory |
|
Purchase |
Purchase a single item or bundle, paying the associated price. |
Purchase |
|
Purchase |
AlternateId
Name | Type | Description |
---|---|---|
Type |
string |
Type of the alternate ID. |
Value |
string |
Value of the alternate ID. |
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 |
EntityKey
Combined entity type and ID structure which uniquely identifies a single entity.
Name | Type | Description |
---|---|---|
Id |
string |
Unique ID of the entity. |
Type |
string |
Entity type. See https://docs.microsoft.com/gaming/playfab/features/data/entities/available-built-in-entity-types |
InitialValues
Name | Type | Description |
---|---|---|
DisplayProperties |
object |
Game specific properties for display purposes. The Display Properties field has a 1000 byte limit. |
InventoryItemReference
Name | Type | Description |
---|---|---|
AlternateId |
The inventory item alternate id the request applies to. |
|
Id |
string |
The inventory item id the request applies to. |
StackId |
string |
The inventory stack id the request should redeem to. (Default="default") |
PurchaseInventoryItemsRequest
Purchase a single item or bundle, paying the associated price.
Name | Type | Description |
---|---|---|
Amount |
number |
The amount to purchase. |
CollectionId |
string |
The id of the entity's collection to perform this action on. (Default="default"). The number of inventory collections is unlimited. |
CustomTags |
object |
The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.). |
DeleteEmptyStacks |
boolean |
Indicates whether stacks reduced to an amount of 0 during the request should be deleted from the inventory. (Default=false) |
DurationInSeconds |
number |
The duration to purchase. |
ETag |
string |
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 |
Entity |
The entity to perform this action on. |
|
IdempotencyId |
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. |
Item |
The inventory item the request applies to. |
|
NewStackValues |
The values to apply to a stack newly created by this request. |
|
PriceAmounts |
The per-item price the item is expected to be purchased at. This must match a value configured in the Catalog or specified Store. |
|
StoreId |
string |
The id of the Store to purchase the item from. |
PurchaseInventoryItemsResponse
Name | Type | Description |
---|---|---|
ETag |
string |
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 |
IdempotencyId |
string |
The idempotency id used in the request. |
TransactionIds |
string[] |
The ids of transactions that occurred as a result of the request. |
PurchasePriceAmount
Name | Type | Description |
---|---|---|
Amount |
number |
The amount of the inventory item to use in the purchase . |
ItemId |
string |
The inventory item id to use in the purchase . |
StackId |
string |
The inventory stack id the to use in the purchase. Set to "default" by default |
Error Codes
Name | Code |
---|---|
DatabaseThroughputExceeded | 1113 |
InsufficientFunds | 1059 |
InvalidCatalogItemConfiguration | 4015 |
ItemNotFound | 1047 |