促销码

运行机制

促销码是吸引新用户和增加销量的营销工具。激活促销码后,用户将收到以下奖励之一:

  • 应用于用户购物车或指定商品的折扣
  • 一个或多个奖励品:
    • 游戏密钥
    • 虚拟货币套餐
    • 虚拟物品(包括捆绑包或时效性商品等)

主要功能:

  • 选择奖励,可以只包含折扣、只包含奖励品或两者都包含
  • 设置促销码在活动中可兑换的总次数
  • 设置单个用户在活动中可兑换促销码的次数
  • 根据需要设置区域限制
  • 可多次生成促销码
  • 应用促销码后向购物车添加奖励品
  • 使用促销码后对商品应用折扣

限制:

  • 一个购物车中只能应用一个促销码
  • 要获得折扣或奖励品,用户需支付购物车中的商品
  • 如果促销码包含具有区域销售限制的商品,则来自限制区域的用户使用该促销码也无法获得相应商品

运行机制

用户侧流程:

  1. 用户在UI相应字段中输入促销码。

  1. 重新计算商品价格及添加奖励品。
  2. 用户进行支付,支付后促销码视为已兑换。
  3. 如果促销码中包含奖励品,则通过以下方式之一发放给用户:
    • 直接发放至物品库(虚拟物品或虚拟货币套餐)
    • 通过邮件(游戏密钥)
    • 直接发放至权利系统(游戏密钥)
注意

您可为一个游戏或一组游戏设置不同类型的促销活动:折扣、优惠券、促销码及奖励。

如果购买时一个游戏或一组游戏存在多个有效的促销活动,则将逐个应用这些折扣,折扣的应用顺序对结果没有影响。

例如:

一个游戏密钥的价格是$10。在发布商帐户中,为游戏密钥设置了以下促销活动:

  • 黑色星期五折扣促销,11月4日-30日享受10%的折扣
  • 特价折扣促销,11月15日-12月15日享受20%的折扣
  • 促销码活动,11月4日-30日使用促销码享受5%的折扣

如果在11月20日购买游戏密钥,则两个折扣促销活动和一个促销码活动都有效。

游戏密钥的总价按照(($10 - 10%) - 20%) - 5%计算,最终为$6.84。

创建订单时,用户可以兑换促销码并看到应用的促销活动的信息:
  • 应用折扣促销活动的结果:
    • 促销活动的折扣数
    • 未应用折扣的价格(显示为划掉)
    • 折扣价格
  • 应用奖励促销活动的结果:
    • 奖励品
    • 在奖励品所在价格行显示免费
  • 应用促销码的结果
    • 促销码的折扣数
    • 未应用折扣的价格(显示为划掉)
    • 折扣价格
    • 奖励品
    • 在奖励品所在价格行显示免费

如何获取

前提条件

  1. 创建您的艾克索拉发布商帐户
  2. 连接游戏密钥模块并进行配置

集成过程

如用使用指定商品创建订单方法实现快速游戏密钥购买,用户将在不前往购物车的情况下直接进行支付。

与此同时,艾克索拉侧将创建一个购物车,该购物车不对用户显示。这是正确向用户所购商品应用所有现有折扣及在支付表单中显示包含所有折扣的金额所必需的。

设置促销码活动

  1. 前往发布商帐户中的商店 > 促销活动和奖励并创建一个促销活动。
  2. 指定以下的参数:
    1. 输入促销活动名称。
    2. 选择促销码作为促销活动类型。
  3. 创建一个External ID — 用于通过接收奖励兑换促销码方法管理促销活动的唯一促销活动标识符。
  4. 指定促销码的折扣百分比。折扣可应用于整个购物车或指定的商品。
  5. 选择用户兑换促销码时收到的奖励品:
  6. 指定总可兑换次数和每个用户可兑换的次数。
  7. 指定促销活动的持续时间。
  8. 检查设置并保存促销活动。
  9. 前往促销活动编辑菜单。
  10. 活动码选项卡中,选择促销码生成方式。
  11. 生成促销码或手动输入促销码。
  12. 保存更改。
  13. 激活促销活动。

虚拟货币套餐促销码

要创建虚拟货币套餐促销码:

  1. 创建一个虚拟货币套餐。
  2. 将虚拟货币套餐指定为奖励品。

要创建虚拟货币套餐:

  1. 前往商店 > 虚拟货币模块设置并创建一个虚拟货币。方法是单击新建虚拟货币,然后添加:
    • 套餐图片(可选)
    • 虚拟货币SKU
    • 虚拟货币名称
    • 虚拟货币的单价
    • 默认货币
    • 属性(可选)
  2. 创建虚拟货币套餐。方法是单击新套餐,然后添加:
    • 套餐图片(可选)
    • 套餐SKU
    • 套餐名称
    • 套餐简短描述
    • 套餐包含的虚拟货币
    • 套餐中的货币数量
    • 在真实和/或虚拟货币下的价格
    • 默认货币
    • 属性(可选)
  3. 单击创建套餐
注:
创建虚拟物品、虚拟货币或虚拟货币套餐后,您可以为该商品设置相应状态,使其可销售、不可销售或一定情况下可销售。

虚拟物品促销码

要创建虚拟物品促销码:

  1. 创建一个虚拟物品。
  2. 将虚拟物品指定为奖励品。

要创建虚拟物品:

  1. 前往商店 > 虚拟物品模块设置,然后单击创建物品
  2. 为每个物品添加:
    • 图片(可选)
    • SKU
    • 该物品所属的一个或多个组(可选)
    • 物品名称
    • 物品描述
    • 物品属性 – 消耗品、非消耗品或时效性商品
    • 在真实和/或虚拟货币下的价格
  3. 单击创建物品
注:
创建虚拟物品、虚拟货币或虚拟货币套餐后,您可以为该商品设置相应状态,使其可销售、不可销售或一定情况下可销售。
可为一个促销码指定一个物品或SKU不同的多个物品,包括捆绑包和时效性商品等。

游戏密钥促销码

要创建游戏密钥促销码:
  1. 创建一个游戏密钥套餐
  2. 指定所创建的游戏密钥套餐的SKU作为奖励,并指定选择游戏购买平台的方法:

    • 促销码针对已设置的指定平台进行生成。
    • 用户使用促销码时选择一个指定平台。

可为一个促销码选择具有不同SKU的多个游戏密钥。

生成促销码

活动可以包含一个或多个促销码。促销码格式有两种选择:
  • 手动输入促销码 — 适用于只有一个且可重复使用多次的促销码(最多128个字符)。
  • 生成促销码 — 由数字和英文字母组成的号码(10个字符)。适合包含多个促销码的活动。
您可以在创建促销码活动后在促销活动编辑器中生成促销码。您可以多次生成促销码。如果要上传手动输入的促销码,请将需求通过邮件发送给艾克索拉
注:
优惠券码区分大小写。例如:winter2021WINTER2021是两个不同的优惠券。

区域限制

区域限制应用于整个促销活动。如要应用区域限制,请将需求通过邮件发送给艾克索拉

获取促销码奖励

请实现Get promo code rewards方法调用以获取用户兑换促销码后收到的商品的列表。根据响应中的is_selectable参数值,有两种可能的流程:
  1. 如果值为is_selectable=true,则应对于每个具有type=unit元素的item显示从unit_items对象中选择元素的表单。在该表单中,用户对于每种unit类型只能选择一个元素。
响应示例:
Copy
Full screen
Small screen
{
	"bonus": [{
		"item": {
			"sku": "xsollus_gold_edition",
			"name": "Xsollus: Gold Edition",
			"type": "unit",
			"description": null,
			"image_url": "https:\/\/cdn3.xsolla.com\/img\/misc\/images\/9541470622d96a821a9a11ea7763ea4c.png",
			"unit_items": [{
				"sku": "xsollus_gold_edition_steam",
				"name": "Xsollus: Gold Edition (steam)",
				"type": "game_key",
				"drm_name": "Steam",
				"drm_sku": "steam"
			}, {
				"sku": "xsollus_gold_edition_playstation",
				"name": "Xsollus: Gold Edition (playstation)",
				"type": "game_key",
				"drm_name": "Playstation",
				"drm_sku": "playstation"
			}, {
				"sku": "xsollus_gold_edition_xbox",
				"name": "Xsollus: Gold Edition (xbox)",
				"type": "game_key",
				"drm_name": "XBox",
				"drm_sku": "xbox"
			}, {
				"sku": "xsollus_gold_edition_nintendo_eshop",
				"name": "Xsollus: Gold Edition (nintendo_eshop)",
				"type": "game_key",
				"drm_name": "Nintendo Switch eShop",
				"drm_sku": "nintendo_eshop"
			}]
		},
		"quantity": 1
	}, {
		"item": {
			"sku": "xsollus_bonus_pack_edition",
			"name": "Xsollus: Bonus Pack",
			"type": "unit",
			"description": null,
			"image_url": "https:\/\/cdn3.xsolla.com\/img\/misc\/images\/aa2efd78dfd4e5dda5293f8c8e49af6d.png",
			"unit_items": [{
				"sku": "xsollus_bonus_pack_edition_steam",
				"name": "Xsollus: Bonus Pack (steam)",
				"type": "game_key",
				"drm_name": "Steam",
				"drm_sku": "steam"
			}, {
				"sku": "xsollus_bonus_pack_edition_origin",
				"name": "Xsollus: Bonus Pack (origin)",
				"type": "game_key",
				"drm_name": "Origin",
				"drm_sku": "origin"
			}, {
				"sku": "xsollus_bonus_pack_edition_drmfree",
				"name": "Xsollus: Bonus Pack (drmfree)",
				"type": "game_key",
				"drm_name": "DRM Free",
				"drm_sku": "drmfree"
			}, {
				"sku": "xsollus_bonus_pack_edition_gog",
				"name": "Xsollus: Bonus Pack (gog)",
				"type": "game_key",
				"drm_name": "GOG",
				"drm_sku": "gog"
			}, {
				"sku": "xsollus_bonus_pack_edition_rockstar",
				"name": "Xsollus: Bonus Pack (rockstar)",
				"type": "game_key",
				"drm_name": "Rockstar Games Launcher",
				"drm_sku": "rockstar"
			}]
		},
		"quantity": 3
	}],
	"discount": {
		"percent": null
	},
	"is_selectable": true
  1. 如果is_selectable=false,则不应在请求中传入额外参数。

兑换促销码

实现Redeem promo code方法调用以使用促销码。根据is_selectable参数值,Get promo code rewards方法响应中有两种可能的流程:
  1. 如果is_selectable=true,调用Redeem promo code方法时应用以下格式传入selected_unit_items对象:
Copy
Full screen
Small screen
selected_unit_items:{
      unit_1_sku: "selected_unit_item_sku",
      unit_2_sku: "selected_unit_item_sku"
}

响应示例:

Copy
Full screen
Small screen
{
  {
    "items": [
    {
      "sku": "xsollus_gold_edition_steam",
      "name": "Xsollus: Gold Edition (steam)",
      "type": "game_key",
      "description": null,
      "image_url": "https:\/\/cdn3.xsolla.com\/img\/misc\/images\/9541470622d96a821a9a11ea7763ea4c.png",
      "attributes": [],
      "is_free": true,
      "groups": [],
      "price": null,
      "virtual_prices": [],
      "drm_name": "Steam",
      "drm_sku": "steam",
      "has_keys": false,
      "is_pre_order": true,
      "release_date": null,
      "quantity": 1
    },
    {
      "sku": "xsollus_bonus_pack_edition_origin",
      "name": "Xsollus: Bonus Pack (origin)",
      "type": "game_key",
      "description": null,
      "image_url": "https:\/\/cdn3.xsolla.com\/img\/misc\/images\/aa2efd78dfd4e5dda5293f8c8e49af6d.png",
      "attributes": [],
      "is_free": true,
      "groups": [],
      "price": null,
      "virtual_prices": [],
      "drm_name": "Origin",
      "drm_sku": "origin",
      "has_keys": false,
      "is_pre_order": true,
      "release_date": null,
      "quantity": 3
    }
    ]
}
  1. 如果is_selectable=false,则不应在请求中传入额外参数。
本文对您的有帮助吗?
谢谢!
我们还有其他可改进之处吗? 留言
非常抱歉
请说明为何本文没有帮助到您。 留言
感谢您的反馈!
我们会查看您的留言并运用它改进用户体验。
上次更新时间: 2024年11月8日

发现了错别字或其他内容错误? 请选择文本,然后按Ctrl+Enter。

报告问题
我们非常重视内容质量。您的反馈将帮助我们做得更好。
请留下邮箱以便我们后续跟进
感谢您的反馈!