Documentation

UpdateCatalogItems

Updates the catalog configuration for virtual goods in the specified catalog version

Request Details

This operation is additive. Items with ItemId values not currently in the catalog will be added, while those with ItemId values matching items currently in the catalog will overwrite those items with the given values.

UpdateCatalogItemsRequest
Request Properties
Catalog List<CatalogItem>

Array of catalog items to be submitted. Note that while CatalogItem has a parameter for CatalogVersion, it is not required and ignored in this call.

CatalogVersion String

Which catalog is being updated. If null, uses the default catalog.

SetAsDefaultCatalog Boolean

Should this catalog be set as the default catalog. Defaults to true. If there is currently no default catalog, this will always set it.

POST https://{{TitleID}}.playfabapi.com/Admin/UpdateCatalogItems
    Content-Type: application/json
    X-SecretKey: <developer_secret_key>
{
  "CatalogVersion": "5",
  "Catalog": [
    {
      "ItemId": "shield_level_5",
      "ItemClass": "shields",
      "DisplayName": "Level 5 Shield",
      "Description": "Strong defense against projectile attacks",
      "VirtualCurrencyPrices": {
        "RM": 199,
        "GV": 25
      },
      "RealCurrencyPrices": {
        "GBP": 149,
        "EUR": 169
      },
      "CanBecomeCharacter": false,
      "IsStackable": false,
      "IsTradable": false,
      "IsLimitedEdition": false,
      "InitialLimitedEditionCount": 0
    },
    {
      "ItemId": "energy_boost_1",
      "ItemClass": "boosts",
      "DisplayName": "Energy Drink Six-Pack",
      "Description": "Get a quick burst of energy whenever you need it",
      "VirtualCurrencyPrices": {
        "RM": 199,
        "GV": 25
      },
      "CanBecomeCharacter": false,
      "IsStackable": false,
      "IsTradable": false,
      "IsLimitedEdition": false,
      "InitialLimitedEditionCount": 0
    },
    {
      "ItemId": "required_item_for_grant_a_1",
      "ItemClass": "sets",
      "DisplayName": "Grant Set Item 1",
      "Description": "Item 1 from the set of items needed to get Granted Item A for free",
      "VirtualCurrencyPrices": {
        "RM": 249,
        "GV": 1500
      },
      "CanBecomeCharacter": false,
      "IsStackable": false,
      "IsTradable": false,
      "IsLimitedEdition": false,
      "InitialLimitedEditionCount": 0
    },
    {
      "ItemId": "required_item_for_grant_a_2",
      "ItemClass": "sets",
      "DisplayName": "Grant Set Item 2",
      "Description": "Item 2 from the set of items needed to get Granted Item A for free",
      "VirtualCurrencyPrices": {
        "RM": 249,
        "GV": 1500
      },
      "CanBecomeCharacter": false,
      "IsStackable": false,
      "IsTradable": false,
      "IsLimitedEdition": false,
      "InitialLimitedEditionCount": 0
    },
    {
      "ItemId": "required_item_for_grant_a_3",
      "ItemClass": "sets",
      "DisplayName": "Grant Set Item 3",
      "Description": "Item 3 from the set of items needed to get Granted Item A for free",
      "VirtualCurrencyPrices": {
        "RM": 249,
        "GV": 1500
      },
      "CanBecomeCharacter": false,
      "IsStackable": false,
      "IsTradable": false,
      "IsLimitedEdition": false,
      "InitialLimitedEditionCount": 0
    },
    {
      "ItemId": "required_item_for_grant_a_4",
      "ItemClass": "sets",
      "DisplayName": "Grant Set Item 4",
      "Description": "Item 4 from the set of items needed to get Granted Item A for free",
      "VirtualCurrencyPrices": {
        "RM": 249,
        "GV": 1500
      },
      "CanBecomeCharacter": false,
      "IsStackable": false,
      "IsTradable": false,
      "IsLimitedEdition": false,
      "InitialLimitedEditionCount": 0
    },
    {
      "ItemId": "granted_item_a",
      "ItemClass": "sets",
      "DisplayName": "Granted Item A",
      "Description": "Bonus item granted for free once the full set of 4 Grant Set items are collected",
      "CanBecomeCharacter": false,
      "IsStackable": false,
      "IsTradable": false,
      "IsLimitedEdition": false,
      "InitialLimitedEditionCount": 0
    },
    {
      "ItemId": "consumable_item_1",
      "ItemClass": "Consumables",
      "DisplayName": "Consumable Item 1",
      "Description": "Item demonstrating usage-based consumables",
      "VirtualCurrencyPrices": {
        "GV": 500
      },
      "Consumable": {
        "UsageCount": 3
      },
      "CanBecomeCharacter": false,
      "IsStackable": false,
      "IsTradable": false,
      "IsLimitedEdition": false,
      "InitialLimitedEditionCount": 0
    },
    {
      "ItemId": "consumable_item_2",
      "ItemClass": "Consumables",
      "DisplayName": "Consumable Item 2",
      "Description": "Item demonstrating time-based consumables",
      "VirtualCurrencyPrices": {
        "GV": 750
      },
      "Consumable": {
        "UsagePeriod": 3600,
        "UsagePeriodGroup": "usage_group_1"
      },
      "CanBecomeCharacter": false,
      "IsStackable": false,
      "IsTradable": false,
      "IsLimitedEdition": false,
      "InitialLimitedEditionCount": 0
    },
    {
      "ItemId": "sub_bundle_item_1",
      "ItemClass": "Bundles",
      "DisplayName": "Bundled Item 1",
      "Description": "Item which is added to the user inventory as part of a bundle",
      "CanBecomeCharacter": false,
      "IsStackable": false,
      "IsTradable": false,
      "IsLimitedEdition": false,
      "InitialLimitedEditionCount": 0
    },
    {
      "ItemId": "sub_bundle_item_2",
      "ItemClass": "Bundles",
      "DisplayName": "Bundled Item 2",
      "Description": "Item which is added to the user inventory as part of a bundle",
      "CanBecomeCharacter": false,
      "IsStackable": false,
      "IsTradable": false,
      "IsLimitedEdition": false,
      "InitialLimitedEditionCount": 0
    },
    {
      "ItemId": "item_bundle_1",
      "ItemClass": "Bundles",
      "DisplayName": "Item bundle 1",
      "Description": "Item which, when added to the user inventory, also adds other bundled items",
      "VirtualCurrencyPrices": {
        "RM": 599
      },
      "Bundle": {
        "BundledItems": [
          "sub_bundle_item_1",
          "sub_bundle_item_2"
        ],
        "BundledResultTables": [
          "random_result_1"
        ],
        "BundledVirtualCurrencies": {
          "GV": 1000
        }
      },
      "CanBecomeCharacter": false,
      "IsStackable": false,
      "IsTradable": false,
      "IsLimitedEdition": false,
      "InitialLimitedEditionCount": 0
    },
    {
      "ItemId": "key_item_1",
      "ItemClass": "Containers",
      "DisplayName": "Key Item 1",
      "Description": "Key used to unlock Container 1",
      "VirtualCurrencyPrices": {
        "RM": 199
      },
      "CanBecomeCharacter": false,
      "IsStackable": false,
      "IsTradable": false,
      "IsLimitedEdition": false,
      "InitialLimitedEditionCount": 0
    },
    {
      "ItemId": "sub_container_item_1",
      "ItemClass": "Containers",
      "DisplayName": "Container Item 1",
      "Description": "Item which is added to the user inventory as part of opening a container",
      "CanBecomeCharacter": false,
      "IsStackable": false,
      "IsTradable": false,
      "IsLimitedEdition": false,
      "InitialLimitedEditionCount": 0
    },
    {
      "ItemId": "sub_container_item_2",
      "ItemClass": "Containers",
      "DisplayName": "Container Item 2",
      "Description": "Item which is added to the user inventory as part of opening a container",
      "CanBecomeCharacter": false,
      "IsStackable": false,
      "IsTradable": false,
      "IsLimitedEdition": false,
      "InitialLimitedEditionCount": 0
    },
    {
      "ItemId": "item_container_1",
      "ItemClass": "Containers",
      "DisplayName": "Item Container 1",
      "Description": "Item which, when opened with Key Item 1, also adds the items it holds to the user inventory",
      "VirtualCurrencyPrices": {
        "RM": 499
      },
      "Consumable": {
        "UsageCount": 1
      },
      "Container": {
        "KeyItemId": "key_item_1",
        "ItemContents": [
          "sub_container_item_1",
          "sub_container_item_2"
        ],
        "ResultTableContents": [
          "random_result_1"
        ],
        "VirtualCurrencyContents": {
          "GV": 1000
        }
      },
      "CanBecomeCharacter": false,
      "IsStackable": false,
      "IsTradable": false,
      "IsLimitedEdition": false,
      "InitialLimitedEditionCount": 0
    },
    {
      "ItemId": "item_container_2",
      "ItemClass": "Containers",
      "DisplayName": "Item Container 2",
      "Description": "Item which, when opened (no key needed), adds the items it holds to the user inventory",
      "VirtualCurrencyPrices": {
        "RM": 99
      },
      "Consumable": {
        "UsageCount": 1
      },
      "Container": {
        "VirtualCurrencyContents": {
          "GV": 1000
        }
      },
      "CanBecomeCharacter": false,
      "IsStackable": false,
      "IsTradable": false,
      "IsLimitedEdition": false,
      "InitialLimitedEditionCount": 0
    },
    {
      "ItemId": "starterpack_1",
      "ItemClass": "starterpacks",
      "DisplayName": "Super Starter Pack",
      "Description": "Everything you need to get started fast track at the right price",
      "CanBecomeCharacter": false,
      "IsStackable": false,
      "IsTradable": false,
      "IsLimitedEdition": false,
      "InitialLimitedEditionCount": 0
    }
  ]
}
        

Response Details

UpdateCatalogItemsResult
Result Properties

Sample Response

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8


Authentication

SecretKey

Possible Error Codes

Name Code
InvalidItemProperties 1091
InvalidJSONContent 1200