Skip to main content
POST
/
{YOUR_PERSONALIZE_WEBSTORE_ENDPOINT}
curl -X POST \
  'https://{YOUR_PERSONALIZE_WEBSTORE_ENDPOINT}' \
  -H 'Content-Type: application/json' \
  -H 'x-publisher-token: <x-publisher-token>' \
  -H 'signature: <signature>' \
  -d '{
    "playerId": "vip2247691"
  }'
{
  "version": 2,
  "logo": "game_logo_main",
  "status": "valid",
  "sessionMetadata": {
    "abTestGroup": "variant_A",
    "locale": "en-US",
    "campaignId": "summer_2025"
  },
  "profileFrameId": "diamond_frame",
  "playerLevelName": "Diamond Tier",
  "bannerExternalId": "welcome_banner_01",
  "playerLevel": {
    "assetId": "level_diamond",
    "text": "15% OFF",
    "endsIn": 1735689600000
  },
  "playerLevelBanners": [
    {
      "assetId": "seasonal_banner",
      "designId": "banner_design_01",
      "text": [
        {
          "id": "title",
          "content": "Summer Sale"
        },
        {
          "id": "subtitle",
          "content": "Up to 50% off"
        }
      ],
      "endsIn": 1735689600000
    }
  ],
  "offersOrder": "priceLowToHigh",
  "sectionsOrder": ["featured", "daily_deals", "bundles"],
  "segments": ["vip_players", "high_spenders", "active_users"],
  "focus": {
    "publisherBundleId": "mega_bundle"
  },
  "attributes": {
    "player_tier": "diamond",
    "monetization_persona": "whale",
    "last_purchase_days": 3
  },
  "balances": [
    {
      "publisherProductId": "gold_coins",
      "quantity": 15420
    },
    {
      "publisherProductId": "gems",
      "quantity": 850
    },
    {
      "publisherProductId": "energy",
      "quantity": 95
    }
  ],
  "offers": [
    {
      "publisherOfferId": "starter_pack_01",
      "offerDesignOverride": {
        "offerDesignSubtitleTextOverride": "Perfect for new players"
      },
      "offerDescriptionOverride": "Everything you need to get started! A great value bundle with essential resources.",
      "priceDiscount": {
        "priceBeforeDiscount": 999,
        "discount": 25,
        "type": "percentage"
      },
      "productsSequence": [
        {
          "index": 1,
          "products": [
            {
              "publisherProductId": "gold_coins",
              "quantity": 5000,
              "priority": "Main",
              "traits": [
                { "assetId": "rarity_common", "text": "Rarity: Common" },
                { "assetId": "bonus_starter", "text": "Starter Bonus: +50%" }
              ]
            },
            { "publisherProductId": "gems", "quantity": 100, "priority": "Sub" },
            { "publisherProductId": "energy", "quantity": 50, "priority": "Sub" }
          ]
        }
      ]
    },
    {
      "publisherOfferId": "weekend_special",
      "offerDesignOverride": {
        "offerDesignSubtitleTextOverride": "Limited time weekend deal"
      },
      "offerDescriptionOverride": "Don't miss out on this exclusive weekend offer with premium rewards!",
      "priceDiscount": {
        "priceBeforeDiscount": 4999,
        "discount": 40,
        "type": "percentage"
      },
      "productsSequence": [
        {
          "index": 1,
          "products": [
            {
              "publisherProductId": "gems",
              "quantity": 1200,
              "priority": "Main",
              "traits": [
                { "assetId": "rarity_rare", "text": "Rarity: Rare" },
                { "assetId": "bonus_weekend", "text": "Weekend Bonus: +100%" },
                { "assetId": "time_limited", "text": "Time Limited" }
              ]
            },
            { "publisherProductId": "gold_coins", "quantity": 25000, "priority": "Sub" },
            { "publisherProductId": "energy", "quantity": 200, "priority": "Sub" }
          ]
        }
      ]
    },
    {
      "publisherOfferId": "mega_bundle",
      "offerDesignOverride": {
        "offerDesignSubtitleTextOverride": "Best value for your money"
      },
      "offerDescriptionOverride": "Our most popular bundle! Get the best value with this mega pack of resources.",
      "priceDiscount": {
        "priceBeforeDiscount": 9999,
        "discount": 50,
        "type": "percentage"
      },
      "productsSequence": [
        {
          "index": 1,
          "products": [
            {
              "publisherProductId": "gold_coins",
              "quantity": 100000,
              "priority": "Main",
              "traits": [
                { "assetId": "rarity_epic", "text": "Rarity: Epic" },
                { "assetId": "bonus_mega", "text": "Mega Bonus: +200%" },
                { "assetId": "best_value", "text": "Best Value" }
              ]
            },
            { "publisherProductId": "gems", "quantity": 5000, "priority": "Sub" },
            { "publisherProductId": "energy", "quantity": 500, "priority": "Sub" }
          ]
        }
      ]
    },
    {
      "publisherOfferId": "daily_deal_gems",
      "offerDescriptionOverride": "Today's special: Premium gems at a discount!",
      "priceDiscount": {
        "priceBeforeDiscount": 1999,
        "discount": 30,
        "type": "percentage"
      },
      "offerDesignOverride": {
        "offerDesignSubtitleTextOverride": "Refreshes daily"
      },
      "productsSequence": [
        {
          "index": 1,
          "products": [
            {
              "publisherProductId": "gems",
              "quantity": 500,
              "priority": "Main",
              "traits": [
                { "assetId": "daily_special", "text": "Daily Special" }
              ]
            },
            { "publisherProductId": "gold_coins", "quantity": 10000, "priority": "Sub" },
            { "publisherProductId": "energy", "quantity": 75, "priority": "Sub" }
          ]
        }
      ]
    },
    {
      "publisherOfferId": "energy_boost",
      "offerDescriptionOverride": "Need more energy? This pack will keep you going!",
      "priceDiscount": {
        "priceBeforeDiscount": 499,
        "discount": 20,
        "type": "percentage"
      },
      "offerDesignOverride": {
        "offerDesignSubtitleTextOverride": "Energy pack"
      },
      "productsSequence": [
        {
          "index": 1,
          "products": [
            {
              "publisherProductId": "energy",
              "quantity": 150,
              "priority": "Main",
              "traits": [
                { "assetId": "instant_boost", "text": "Instant Boost" }
              ]
            },
            { "publisherProductId": "gold_coins", "quantity": 2500, "priority": "Sub" }
          ]
        }
      ]
    },
    {
      "publisherOfferId": "vip_exclusive",
      "offerDescriptionOverride": "Exclusive VIP bundle with premium rewards!",
      "priceDiscount": {
        "priceBeforeDiscount": 19999,
        "discount": 35,
        "type": "percentage"
      },
      "offerDesignOverride": {
        "offerDesignSubtitleTextOverride": "VIP members only"
      },
      "productsSequence": [
        {
          "index": 1,
          "products": [
            {
              "publisherProductId": "gems",
              "quantity": 15000,
              "priority": "Main",
              "traits": [
                { "assetId": "rarity_legendary", "text": "Rarity: Legendary" },
                { "assetId": "vip_exclusive", "text": "VIP Exclusive" }
              ]
            },
            { "publisherProductId": "gold_coins", "quantity": 250000, "priority": "Sub" },
            { "publisherProductId": "energy", "quantity": 1000, "priority": "Sub" }
          ]
        }
      ]
    }
  ]
}
curl -X POST \
  'https://{YOUR_PERSONALIZE_WEBSTORE_ENDPOINT}' \
  -H 'Content-Type: application/json' \
  -H 'x-publisher-token: <x-publisher-token>' \
  -H 'signature: <signature>' \
  -d '{
    "playerId": "vip2247691"
  }'
{
  "version": 2,
  "logo": "game_logo_main",
  "status": "valid",
  "sessionMetadata": {
    "abTestGroup": "variant_A",
    "locale": "en-US",
    "campaignId": "summer_2025"
  },
  "profileFrameId": "diamond_frame",
  "playerLevelName": "Diamond Tier",
  "bannerExternalId": "welcome_banner_01",
  "playerLevel": {
    "assetId": "level_diamond",
    "text": "15% OFF",
    "endsIn": 1735689600000
  },
  "playerLevelBanners": [
    {
      "assetId": "seasonal_banner",
      "designId": "banner_design_01",
      "text": [
        {
          "id": "title",
          "content": "Summer Sale"
        },
        {
          "id": "subtitle",
          "content": "Up to 50% off"
        }
      ],
      "endsIn": 1735689600000
    }
  ],
  "offersOrder": "priceLowToHigh",
  "sectionsOrder": ["featured", "daily_deals", "bundles"],
  "segments": ["vip_players", "high_spenders", "active_users"],
  "focus": {
    "publisherBundleId": "mega_bundle"
  },
  "attributes": {
    "player_tier": "diamond",
    "monetization_persona": "whale",
    "last_purchase_days": 3
  },
  "balances": [
    {
      "publisherProductId": "gold_coins",
      "quantity": 15420
    },
    {
      "publisherProductId": "gems",
      "quantity": 850
    },
    {
      "publisherProductId": "energy",
      "quantity": 95
    }
  ],
  "offers": [
    {
      "publisherOfferId": "starter_pack_01",
      "offerDesignOverride": {
        "offerDesignSubtitleTextOverride": "Perfect for new players"
      },
      "offerDescriptionOverride": "Everything you need to get started! A great value bundle with essential resources.",
      "priceDiscount": {
        "priceBeforeDiscount": 999,
        "discount": 25,
        "type": "percentage"
      },
      "productsSequence": [
        {
          "index": 1,
          "products": [
            {
              "publisherProductId": "gold_coins",
              "quantity": 5000,
              "priority": "Main",
              "traits": [
                { "assetId": "rarity_common", "text": "Rarity: Common" },
                { "assetId": "bonus_starter", "text": "Starter Bonus: +50%" }
              ]
            },
            { "publisherProductId": "gems", "quantity": 100, "priority": "Sub" },
            { "publisherProductId": "energy", "quantity": 50, "priority": "Sub" }
          ]
        }
      ]
    },
    {
      "publisherOfferId": "weekend_special",
      "offerDesignOverride": {
        "offerDesignSubtitleTextOverride": "Limited time weekend deal"
      },
      "offerDescriptionOverride": "Don't miss out on this exclusive weekend offer with premium rewards!",
      "priceDiscount": {
        "priceBeforeDiscount": 4999,
        "discount": 40,
        "type": "percentage"
      },
      "productsSequence": [
        {
          "index": 1,
          "products": [
            {
              "publisherProductId": "gems",
              "quantity": 1200,
              "priority": "Main",
              "traits": [
                { "assetId": "rarity_rare", "text": "Rarity: Rare" },
                { "assetId": "bonus_weekend", "text": "Weekend Bonus: +100%" },
                { "assetId": "time_limited", "text": "Time Limited" }
              ]
            },
            { "publisherProductId": "gold_coins", "quantity": 25000, "priority": "Sub" },
            { "publisherProductId": "energy", "quantity": 200, "priority": "Sub" }
          ]
        }
      ]
    },
    {
      "publisherOfferId": "mega_bundle",
      "offerDesignOverride": {
        "offerDesignSubtitleTextOverride": "Best value for your money"
      },
      "offerDescriptionOverride": "Our most popular bundle! Get the best value with this mega pack of resources.",
      "priceDiscount": {
        "priceBeforeDiscount": 9999,
        "discount": 50,
        "type": "percentage"
      },
      "productsSequence": [
        {
          "index": 1,
          "products": [
            {
              "publisherProductId": "gold_coins",
              "quantity": 100000,
              "priority": "Main",
              "traits": [
                { "assetId": "rarity_epic", "text": "Rarity: Epic" },
                { "assetId": "bonus_mega", "text": "Mega Bonus: +200%" },
                { "assetId": "best_value", "text": "Best Value" }
              ]
            },
            { "publisherProductId": "gems", "quantity": 5000, "priority": "Sub" },
            { "publisherProductId": "energy", "quantity": 500, "priority": "Sub" }
          ]
        }
      ]
    },
    {
      "publisherOfferId": "daily_deal_gems",
      "offerDescriptionOverride": "Today's special: Premium gems at a discount!",
      "priceDiscount": {
        "priceBeforeDiscount": 1999,
        "discount": 30,
        "type": "percentage"
      },
      "offerDesignOverride": {
        "offerDesignSubtitleTextOverride": "Refreshes daily"
      },
      "productsSequence": [
        {
          "index": 1,
          "products": [
            {
              "publisherProductId": "gems",
              "quantity": 500,
              "priority": "Main",
              "traits": [
                { "assetId": "daily_special", "text": "Daily Special" }
              ]
            },
            { "publisherProductId": "gold_coins", "quantity": 10000, "priority": "Sub" },
            { "publisherProductId": "energy", "quantity": 75, "priority": "Sub" }
          ]
        }
      ]
    },
    {
      "publisherOfferId": "energy_boost",
      "offerDescriptionOverride": "Need more energy? This pack will keep you going!",
      "priceDiscount": {
        "priceBeforeDiscount": 499,
        "discount": 20,
        "type": "percentage"
      },
      "offerDesignOverride": {
        "offerDesignSubtitleTextOverride": "Energy pack"
      },
      "productsSequence": [
        {
          "index": 1,
          "products": [
            {
              "publisherProductId": "energy",
              "quantity": 150,
              "priority": "Main",
              "traits": [
                { "assetId": "instant_boost", "text": "Instant Boost" }
              ]
            },
            { "publisherProductId": "gold_coins", "quantity": 2500, "priority": "Sub" }
          ]
        }
      ]
    },
    {
      "publisherOfferId": "vip_exclusive",
      "offerDescriptionOverride": "Exclusive VIP bundle with premium rewards!",
      "priceDiscount": {
        "priceBeforeDiscount": 19999,
        "discount": 35,
        "type": "percentage"
      },
      "offerDesignOverride": {
        "offerDesignSubtitleTextOverride": "VIP members only"
      },
      "productsSequence": [
        {
          "index": 1,
          "products": [
            {
              "publisherProductId": "gems",
              "quantity": 15000,
              "priority": "Main",
              "traits": [
                { "assetId": "rarity_legendary", "text": "Rarity: Legendary" },
                { "assetId": "vip_exclusive", "text": "VIP Exclusive" }
              ]
            },
            { "publisherProductId": "gold_coins", "quantity": 250000, "priority": "Sub" },
            { "publisherProductId": "energy", "quantity": 1000, "priority": "Sub" }
          ]
        }
      ]
    }
  ]
}

Headers

x-publisher-token
string

Publisher token.

signature
string

The signed payload.

Body

application/json
playerId
string

Player ID (the same value as the publisherPlayerId property returned in the Authenticate Player Callback).

Response

200 - application/json

Successful operation

status
enum<string>
required

Web store personalization request status.

Available options:
valid,
invalid
Example:

"valid"

sessionMetadata
object
required

Container for storing any pertinent information related to the player's session. If enabled, this is sent back in the Grant Award Callback as well.

version
integer

The used version. In this case, the value is ‘2’

Example:

2

Logo ID provided when a file is uploaded to the Assets Library. Use this to display a logo in your web store.

Example:

"MY_LOGO_ASSET_ID"

profileFrameId
string

Corresponds to the profile frame picture ID uploaded to the asset library in Appcharge's dashboard. Displayed above the player's profile picture.

Example:

"profileFrame123"

playerLevelName
string

Aligns with the player level picture name/ID uploaded to the asset library in Appcharge's dashboard. Displayed alongside the footer.

Example:

"playerLevelName"

bannerExternalId
string

Aligns with the banner asset ID uploaded to the asset library in Appcharge’s dashboard. Displayed at the top of the screen.

Example:

"playerLevelAssetId"

playerLevel
object

Presents discounts related to the player’s level.

playerLevelBanners
object[]

List of banners to display to players based on their game level.

offersOrder
enum<string>
default:priceLowToHigh

Defines the order of offers.

Available options:
publisherOrder,
priceHighToLow,
priceLowToHigh
sectionsOrder
string[]

An array of publisher’s section ids that defines the order of sections for the store.

segments
string[]

The list of segments associated with the player.

focus
object

Customize which offer you want to focus on.

attributes
object

A set of custom key-value pairs that you can define to tag players for segmentation and A/B testing. These attributes can then be used to filter players in the Publisher Dashboard.

Example: { "BF_test": "test", "monetization_persona": "non_payer" }

balances
object[]

A list of product balances of the player.

offers
object[]