跳转到内容

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允许获取任意类型的可售商品或指定商品。

操作
操作
操作
操作

授予权利(管理员)Server-sideAdmin

请求

授予用户权利。

注意:

只能授予DRM free平台的游戏代码或游戏。
安全
basicAuth
路径
project_idinteger必需

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

示例: 44056
正文application/json必需
codestring or null

游戏的游戏代码。

示例: "AAAA-BBBB-CCCC-DDDD"
drmobject必需

包含DRM属性的对象。

示例: {"sku":"com.xsolla.key_1"}
drm.​skustring(Game-Keys_drm_sku)必需

唯一DRM ID。

枚举"steam""playstation""xbox""uplay""origin""drmfree""gog""epicgames""nintendo_eshop""discord_game_store"
示例: "steam"
gameobject必需

包含游戏属性的对象。

示例: {"sku":"com.xsolla.game_1"}
game.​skustring(Game-Keys_game_sku)[ 1 .. 255 ] characters^[a-zA-Z0-9_\-–.]*$必需

唯一密钥套餐ID。

示例: "theGreatestGameSku"
modestring必需

应该授予什么类型的权利。如果该参数设置为sandbox,则将在沙盒模式下授予用户权利。如果该参数设置为default,则在实时模式下授予用户权利。

枚举"default""sandbox"
示例: "default"
user_countrystring or null

用户所在国家/地区。

示例: "US"
user_external_idstring必需

唯一用户标识符。

示例: "user-external-id"
curl -i -X POST \
  -u <username>:<password> \
  https://xsolla.redocly.app/_mock/zh/api/shop-builder/v2/project/44056/admin/entitlement/grant \
  -H 'Content-Type: application/json' \
  -d '{
    "code": "AAAA-BBBB-CCCC-DDDD",
    "drm": {
      "sku": "com.xsolla.key_1"
    },
    "game": {
      "sku": "com.xsolla.game_1"
    },
    "mode": "default",
    "user_country": "US",
    "user_external_id": "user-external-id"
  }'

响应

已授予权利。

响应
无内容

撤销授权(管理员)Server-sideAdmin

请求

撤销用户的权利。

注意:

只能撤销DRM free平台的游戏密钥或游戏。
安全
basicAuth
路径
project_idinteger必需

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

示例: 44056
正文application/json必需
drmobject必需

包含DRM属性的对象。

示例: {"sku":"com.xsolla.key_1"}
drm.​skustring(Game-Keys_drm_sku)必需

唯一DRM ID。

枚举"steam""playstation""xbox""uplay""origin""drmfree""gog""epicgames""nintendo_eshop""discord_game_store"
示例: "steam"
gameobject必需

包含游戏属性的对象。

示例: {"sku":"com.xsolla.game_1"}
game.​skustring(Game-Keys_game_sku)[ 1 .. 255 ] characters^[a-zA-Z0-9_\-–.]*$必需

唯一密钥套餐ID。

示例: "theGreatestGameSku"
modestring必需

应该撤销什么类型的权利。如果该参数设置为sandbox,则将在沙盒模式下撤销用户权利。如果该参数设置为default,则在实时模式下撤销用户权利。

枚举"default""sandbox"
示例: "default"
user_external_idstring必需

唯一用户标识符。

示例: "user-external-id"
curl -i -X POST \
  -u <username>:<password> \
  https://xsolla.redocly.app/_mock/zh/api/shop-builder/v2/project/44056/admin/entitlement/revoke \
  -H 'Content-Type: application/json' \
  -d '{
    "drm": {
      "sku": "com.xsolla.key_1"
    },
    "game": {
      "sku": "com.xsolla.game_1"
    },
    "mode": "default",
    "user_external_id": "user-external-id"
  }'

响应

成功撤销。

响应
无内容

获取用户拥有的游戏列表Client-side

请求

获取用户拥有的游戏列表。响应将包含指定用户拥有的一组游戏。

注意:

所有项目对于可以在响应中获得的商品数量均都限制。默认值和最大值是每个响应50项。要逐页获取更多数据,请使用limitoffset字段。
安全
XsollaLoginUserJWT
路径
project_idinteger必需

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

示例: 44056
查询
limitinteger>= 1

页面上元素数量的限制。

示例: limit=50
offsetinteger>= 0

元素编号,从该元素开始生成列表(从0开始数)。

示例: offset=0
sandboxinteger

应返回何种类型的权利。如果该参数设置为1,则仅返回用户在沙盒模式下收到的权限。如果未传递该参数或设置为0,则仅返回用户在实时模式下收到的权利。

默认值 0
additional_fields[]Array of strings

附加字段列表。如果在请求中发送这些字段,则它们将包含在响应中。可用字段attributes

curl -i -X GET \
  'https://xsolla.redocly.app/_mock/zh/api/shop-builder/v2/project/44056/entitlement?limit=50&offset=0&sandbox=0&additional_fields%5B%5D=string' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

响应

已成功接收用户拥有的游戏密钥的列表。

正文application/json
has_moreboolean(Pagination_has-more)

用作指示还有更多页面。

示例: true
itemsArray of objects(Game-Keys_entitlement_item)
total_items_countinteger(Pagination_total-items-count)

系统中的商品总数。

示例: 10
响应
application/json
{ "has_more": false, "items": [ {} ], "total_items_count": 1 }
操作
操作

优惠券

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

操作

促销码

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

操作

特别目录优惠

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

操作

折扣

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

操作

奖励

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

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