跳转到内容

Overview

  • Version: 2.0.0
  • Servers: https://store.xsolla.com/api
  • Contact Us by Email
  • Contact URL: https://xsolla.com/
  • Required TLS version: 1.2

Shop Builder API provides a third-party solution for implementing the server side for your store interface. Use the endpoints to manage in-game items, in-game currencies, cart, player inventory, promotions, game library, etc.

下载 OpenAPI 描述
语言
服务器
Mock server
https://xsolla.redocly.app/_mock/zh/api/shop-builder/
https://store.xsolla.com/api/
操作

个性化目录

此API可让您针对用户属性指定规则。如果用户满足具体规则的所有条件,则会显示个性化商品。

有关个性化促销活动的信息,请参阅促销活动部分

要在购买前传递属性,您可以使用艾克索拉Login API或在使Pay Station API生成令牌时将它们传入user.attributes属性

操作
操作
操作
操作
操作
操作
操作
操作
操作
操作
操作
操作

目录

本API允许获取任意类型的可售商品或指定商品。

操作
操作
操作
操作
操作
操作

优惠券

此API让您可以管理优惠券。

操作

促销码

此API让您可以管理促销码。

操作

特别目录优惠

此API让您可以管理特别目录优惠活动。

操作

折扣

此API让您可以管理折扣促销活动。

操作

奖励

此API让您可以管理奖励促销活动。

操作
操作
操作
操作
操作
操作
操作
操作
操作

删除优惠链Server-sideAdmin

请求

删除指定优惠链。

删除后:

  • 用户已收到的奖励保留。
  • 未完成步骤不再可用,不可再获取奖励。

与通过启停优惠链禁用优惠链不同,删除不可恢复,用户进度不保留。

安全
basicAuth
路径
project_idinteger必需

项目ID。您可以在您的发布商帐户项目名称旁边找到。

示例: 44056
offer_chain_idinteger必需

优惠链ID。

示例: 101
curl -i -X DELETE \
  -u <username>:<password> \
  https://xsolla.redocly.app/_mock/zh/api/shop-builder/v2/project/44056/admin/offer_chain/id/101

响应

已成功删除优惠链。

正文
响应
无内容

获取优惠链Server-sideAdmin

请求

获取指定优惠链以用于管理。

安全
basicAuth
路径
project_idinteger必需

项目ID。您可以在您的发布商帐户项目名称旁边找到。

示例: 44056
offer_chain_idinteger必需

优惠链ID。

示例: 101
curl -i -X GET \
  -u <username>:<password> \
  https://xsolla.redocly.app/_mock/zh/api/shop-builder/v2/project/44056/admin/offer_chain/id/101

响应

优惠链数据获取成功。

正文application/json
attribute_conditionsArray of type = string (object) or type = number (object) or type = date (object)(chain_user-attribute_conditions_model-get)[ 1 .. 100 ] items

用户属性验证条件。 根据用户属性是否满足所有指定条件来确定优惠链可用性。

date_endstring or null(date-time)(offer_chain_date_end)

优惠链结束日期。可为null,若date_endnull则无时间限制。

示例: "2020-04-15T18:16:00+05:00"
date_startstring(date-time)(offer_chain_date_start)

优惠链开始日期。

示例: "2020-04-15T18:16:00+05:00"
description(two-letter (object or null)) or (five-letter (object or null))(description-localization-object)

包含本地化商品描述的对象。值接受以下两种格式之一:两个小写字母的语言代码(例如,en)或五个字符的区域设置代码(例如,en-US)。虽然两种格式都可作为输入接受,但响应会返回两个小写字母的语言代码。当为同一种语言提供了两种输入时(例如:enen-US),将存储最后提供的值。您可以在文档中找到支持语言的完整列表。

One of:

包含本地化商品描述的对象。值接受以下两种格式之一:两个小写字母的语言代码(例如,en)或五个字符的区域设置代码(例如,en-US)。虽然两种格式都可作为输入接受,但响应会返回两个小写字母的语言代码。当为同一种语言提供了两种输入时(例如:enen-US),将存储最后提供的值。您可以在文档中找到支持语言的完整列表。

idinteger(offer_chain_id)

优惠链唯一ID。

示例: 9
is_always_visibleboolean(chain_is_always_visible)

优惠链是否对所有用户可见:

  • 如为true,则无论用户的认证状态或属性如何,优惠链始终显示。
  • 如为false,则仅在未找到个性化优惠链时才显示该优惠链。例如,当用户未认证或其属性与任何个性化优惠链都不匹配时。

仅适用于存在个性化奖励链的前提,并在未传递attribute_conditions数组时使用。

默认值 true
示例: true
is_enabledboolean(is_enabled)
示例: true
name(two-letter (object or null)) or (five-letter (object or null))(name-localization-object)

包含商品本地化名称的对象。值接受以下两种格式之一:两个小写字母的语言代码(例如,en)或五个字符的语言代码(例如,en-US)。虽然两种格式都可作为输入接受,但响应会返回两个小写字母的语言代码。当为同一种语言提供了两种输入时(例如:enen-US),将存储最后提供的值。您可以在文档中找到支持语言的完整列表。

One of:

包含商品本地化名称的对象。值接受以下两种格式之一:两个小写字母的语言代码(例如,en)或五个字符的语言代码(例如,en-US)。虽然两种格式都可作为输入接受,但响应会返回两个小写字母的语言代码。当为同一种语言提供了两种输入时(例如:enen-US),将存储最后提供的值。您可以在文档中找到支持语言的完整列表。

orderinteger(order)

定义排列顺序。

示例: 1
recurrent_schedule(interval_type = weekly (object or null)) or (interval_type = monthly (object or null)) or (interval_type = hourly (object or null))(offer_chain_recurrent_schedule)

重复性优惠链的重置周期。

One of:

重复性优惠链的重置周期。

stepsArray of objects(admin-offer-chain-step-model)
响应
application/json
{ "attribute_conditions": [ {}, {}, {} ], "date_end": "2025-04-25T18:16:00+05:00", "date_start": "2023-04-15T18:16:00+05:00", "description": { "de": "Personalisierte Angebotskette mit Benutzerattributbedingungen - für Elfen der Stufe 10 und höher, die Stufe 10 spätestens am 2026-01-01 00:00:00 erreicht haben, einschließlich", "en": "Personalized offer chain with user attribute conditions - for level 10 and above elves who reached level 10 no later than 2026-01-01 00:00:00, inclusive", "fr": "Chaîne d'offres personnalisée avec des conditions d'attribut utilisateur - pour les elfes de niveau 10 et plus qui ont atteint le niveau 10 au plus tard le 2026-01-01 00:00:00, inclus", "it": "Catena di offerte personalizzata con condizioni di attributo utente - per elfi di livello 10 e superiore che hanno raggiunto il livello 10 non più tardi del 2026-01-01 00:00:00, inclusi", "ru": "Персонализированная цепочка предложений - для эльфов 10 уровня и выше, достигших 10 уровня не позднее 2026-01-01 00:00:00 включительно" }, "id": 3, "is_always_visible": false, "is_enabled": true, "name": { "de": "Angebotskette", "en": "Offer chain", "fr": "Chaîne d'offres", "it": "Catena di offerte", "ru": "Цепочка" }, "order": 1, "recurrent_schedule": null, "steps": [ {}, {}, {} ] }

更新优惠链Server-sideAdmin

请求

更新指定优惠链。

安全
basicAuth
路径
project_idinteger必需

项目ID。您可以在您的发布商帐户项目名称旁边找到。

示例: 44056
offer_chain_idinteger必需

优惠链ID。

示例: 101
正文application/json
attribute_conditionsArray of type = string (object) or type = number (object) or type = date (object)(chain_user-attribute_conditions_model-post)[ 1 .. 100 ] items

用户属性验证条件。 根据用户属性是否满足所有指定条件来确定优惠链可用性。

date_endstring or null(date-time)(offer_chain_date_end)

优惠链结束日期。可为null,若date_endnull则无时间限制。

示例: "2020-04-15T18:16:00+05:00"
date_startstring(date-time)(offer_chain_date_start)必需

优惠链开始日期。

示例: "2020-04-15T18:16:00+05:00"
description(two-letter (object or null)) or (five-letter (object or null))(description-localization-object)

包含本地化商品描述的对象。值接受以下两种格式之一:两个小写字母的语言代码(例如,en)或五个字符的区域设置代码(例如,en-US)。虽然两种格式都可作为输入接受,但响应会返回两个小写字母的语言代码。当为同一种语言提供了两种输入时(例如:enen-US),将存储最后提供的值。您可以在文档中找到支持语言的完整列表。

One of:

包含本地化商品描述的对象。值接受以下两种格式之一:两个小写字母的语言代码(例如,en)或五个字符的区域设置代码(例如,en-US)。虽然两种格式都可作为输入接受,但响应会返回两个小写字母的语言代码。当为同一种语言提供了两种输入时(例如:enen-US),将存储最后提供的值。您可以在文档中找到支持语言的完整列表。

idinteger(offer_chain_id)

优惠链唯一ID。

示例: 9
is_always_visibleboolean(chain_is_always_visible)

优惠链是否对所有用户可见:

  • 如为true,则无论用户的认证状态或属性如何,优惠链始终显示。
  • 如为false,则仅在未找到个性化优惠链时才显示该优惠链。例如,当用户未认证或其属性与任何个性化优惠链都不匹配时。

仅适用于存在个性化奖励链的前提,并在未传递attribute_conditions数组时使用。

默认值 true
示例: true
is_enabledboolean(is_enabled)必需
示例: true
name(two-letter (object or null)) or (five-letter (object or null))(name-localization-object)必需

包含商品本地化名称的对象。值接受以下两种格式之一:两个小写字母的语言代码(例如,en)或五个字符的语言代码(例如,en-US)。虽然两种格式都可作为输入接受,但响应会返回两个小写字母的语言代码。当为同一种语言提供了两种输入时(例如:enen-US),将存储最后提供的值。您可以在文档中找到支持语言的完整列表。

One of:

包含商品本地化名称的对象。值接受以下两种格式之一:两个小写字母的语言代码(例如,en)或五个字符的语言代码(例如,en-US)。虽然两种格式都可作为输入接受,但响应会返回两个小写字母的语言代码。当为同一种语言提供了两种输入时(例如:enen-US),将存储最后提供的值。您可以在文档中找到支持语言的完整列表。

name.​arstring or null

阿拉伯语

name.​bgstring or null

保加利亚语

name.​cnstring or null

中文(简体)

name.​csstring or null

捷克语

name.​destring or null

德语

name.​enstring or null

英语

name.​esstring or null

西班牙语(西班牙)

name.​frstring or null

法语

name.​hestring or null

希伯来语

name.​idstring or null

印度尼西亚语

name.​itstring or null

意大利语

name.​jastring or null

日语

name.​kmstring or null

高棉语

name.​kostring or null

韩语

name.​lostring or null

老挝语

name.​mystring or null

缅甸语

name.​nestring or null

尼泊尔语

name.​phstring or null

菲律宾语

name.​plstring or null

波兰语

name.​ptstring or null

葡萄牙语

name.​rostring or null

罗马尼亚语

name.​rustring or null

俄语

name.​thstring or null

泰语

name.​trstring or null

土耳其语

name.​twstring or null

中文(繁体)

name.​vistring or null

越南语

orderinteger(order)

定义排列顺序。

示例: 1
recurrent_schedule(interval_type = weekly (object or null)) or (interval_type = monthly (object or null)) or (interval_type = hourly (object or null))(offer_chain_recurrent_schedule_create_update)

优惠链的重置周期。

One of:

优惠链的重置周期。

stepsArray of objects(modify-offer-chain-step-model)必需
steps[].​is_freeboolean(offer_chain_is_free)必需

是否为免费步骤:

steps[].​itemsArray of objects(modify-offer-chain-item-model)non-empty必需
steps[].​items[].​orderinteger or null>= 0

优惠链步骤奖励顺序。

steps[].​items[].​quantityinteger>= 1必需

此步骤的奖励品数量。

steps[].​items[].​skustring(sku)[ 1 .. 255 ] characters^[a-zA-Z0-9_\-–.]*$必需

唯一商品ID。 SKU只能包含大小写英文字母和数字字符、句点、破折号和下划线。

示例: "booster_mega_1"
steps[].​step_idinteger or null(update_step_id)>= 1

链步骤的唯一ID。更新时指定以保留用户进度。

示例: 10
steps[].​step_numberinteger(offer_chain_step_number)>= 1必需

步骤编号。

示例: 2
curl -i -X PUT \
  -u <username>:<password> \
  https://xsolla.redocly.app/_mock/zh/api/shop-builder/v2/project/44056/admin/offer_chain/id/101 \
  -H 'Content-Type: application/json' \
  -d '{
    "date_end": null,
    "date_start": "2023-04-15T18:16:00+05:00",
    "description": {
      "de": "Eine kurze Beschreibung einer regulären Angebotskette",
      "en": "A short description of a regular offer chain",
      "fr": "Une brève description d'\''une chaîne d'\''offres régulière",
      "it": "Una breve descrizione di una catena di offerte regolare",
      "ru": "Краткое описание обычной цепочки предложений"
    },
    "is_always_visible": true,
    "is_enabled": true,
    "name": {
      "de": "Aktualisierte Angebotskette",
      "en": "Updated offer chain",
      "fr": "Chaîne d'\''offres mise à jour",
      "it": "Catena di offerte aggiornata",
      "ru": "Обновляемая цепочка предложений"
    },
    "order": 4,
    "recurrent_schedule": null,
    "steps": [
      {
        "is_free": false,
        "items": [
          {
            "quantity": 2,
            "sku": "chain_step_1_paid_bundle_sku"
          }
        ],
        "step_id": 10,
        "step_number": 1
      },
      {
        "is_free": true,
        "items": [
          {
            "quantity": 1,
            "sku": "chain_step_2_free_virtual_good_sku"
          }
        ],
        "step_number": 2
      },
      {
        "is_free": false,
        "items": [
          {
            "quantity": 5,
            "sku": "chain_step_3_paid_virtual_currency_package_sku"
          }
        ],
        "step_number": 3
      },
      {
        "is_free": true,
        "items": [
          {
            "quantity": 1,
            "sku": "chain_step_4_free_bundle_sku"
          }
        ],
        "step_id": 9,
        "step_number": 4
      }
    ]
  }'

响应

已成功更新优惠链。

正文
响应
无内容
操作
操作
操作
操作
操作
操作