Documentation

SetCatalogItems

Creates the catalog configuration of all virtual goods for the specified catalog version

Request Details

This operation is not additive. Using it will cause the indicated catalog version to be created from scratch. If there is an existing catalog with the version number in question, it will be deleted and replaced with only the items specified in this call.

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/SetCatalogItems
    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
InvalidDropTable 1201
InvalidItemProperties 1091
InvalidJSONContent 1200