跳转到内容

Digital Distribution Hub (1.0.0)

概览

Digital Distribution Hub是一个全新的艾克索拉解决方案,旨在通过推送支付(Push payments)技术和电子商务来联结数字与现金支付。

本参考指南合并介绍了用于以下两个艾克索拉产品的API端点:游戏内商店支付中心。基础URL有两个:

  • https://store.xsolla.com/api ,用于常用目录购物车订单组。
  • https://ps.xsolla.com,用于通知组。

目录组中的API端点不需要授权。

要使用购物车订单组中的操作,需通过创建用户令牌来生成一个令牌。

注:

本参考展示的是未来可能的API设计,并非已经完全运作的界面。目前只支持尝试目录通知组端点。如想向我们提供反馈,请发送邮件至techdoc@xsolla.com
下载 OpenAPI 描述
语言
服务器
https://store.xsolla.com/api/
Mock server
https://xsolla.redocly.app/_mock/zh/api/digital-distribution-hub/
操作
操作

请求

获取用于构建目录的游戏列表。

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

项目ID。

示例: 44056
查询
limitinteger

页面上元素数量的限制。

示例: limit=50
offsetinteger

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

示例: offset=0
localestring

响应语言。符合ISO 639-1标准的两个小写字母的语言代码。

默认值 "en"
additional_fields[]Array of strings

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

countrystring

对于该目录要计算区域价格和限制的国家/地区。符合ISO 3166-1 alpha-2的两个大写字母的国家/地区代码。如果未明确指定国家/地区,则将根据用户的IP地址进行计算。

默认值 "US"
curl -i -X GET \
  'https://store.xsolla.com/api/v2/project/44056/items/game?limit=50&offset=0&locale=en&additional_fields%5B%5D=string&country=US' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

响应

游戏列表已成功接收。

正文application/json
itemsArray of objects(Catalog_inline_response_200_items)
示例: [{"attributes":{"$ref":"#/components/examples/client-attribute-game/Catalog_value"},"description":"Game description","groups":[{"external_id":"all","name":"All games"},{"external_id":"Xsolla","name":"Xsolla games"}],"image_url":"https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png","name":"Game name","sku":"game_1","type":"unit","unit_items":[{"drm_name":"Steam","drm_sku":"steam","has_keys":true,"is_free":false,"is_pre_order":true,"price":{"amount":"30.5","amount_without_discount":"30.5","currency":"USD"},"release_date":"2020-08-11T10:00:00+03:00","sku":"game_key_01","type":"game_key","virtual_prices":[]},{"drm_name":"Origin","drm_sku":"origin","has_keys":false,"is_free":false,"is_pre_order":false,"price":{"amount":"30.5","amount_without_discount":"30.5","currency":"USD"},"sku":"game_key_02","type":"game_key","virtual_prices":[]}],"unit_type":"game"},{"attributes":[{"external_id":"OS","name":"OS","values":[{"external_id":"9d5c5efb7c0f00a00fe4e3583f1215b0050bc723","value":"Windows"}]}],"description":"Game description","groups":[{"external_id":"all","name":"All games"}],"image_url":"https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png","name":"Game name","sku":"game_2","type":"unit","unit_items":[{"drm_name":"Steam","drm_sku":"steam","has_keys":false,"is_free":false,"is_pre_order":false,"price":{"amount":"30.5","amount_without_discount":"30.5","currency":"USD"},"sku":"game_key_01","type":"game_key","virtual_prices":[]}],"unit_type":"game"}]
items[].​attributesArray of objects(Catalog_client-attributes-common)

与商品对应的属性及其值的列表。可用于目录筛选。

默认值 []
items[].​attributes[].​external_idstring(Catalog_admin-attribute-external_id)[ 1 .. 255 ] characters^[a-zA-Z0-9-_]+$

唯一属性ID。 external_id只能包含小写英文字母和数字字符、破折号和下划线。

示例: "attribute_1"
items[].​attributes[].​namestring

属性名称。

示例: "Genre"
items[].​attributes[].​valuesArray of objects
items[].​attributes[].​values[].​external_idstring(Catalog_value-external_id)[ 1 .. 255 ] characters^[-_.\d\w]+$

属性的唯一值ID。 external_id只能包含小写英文字母和数字字符、破折号和下划线。

示例: "attribute_value"
items[].​attributes[].​values[].​valuestring

属性值。

示例: "Strategy"
items[].​descriptionstring

商品描述。

示例: "Game description"
items[].​groupsArray of objects(Catalog_inline_response_200_groups)

商品所属分组。

示例: [{"external_id":"all","name":"All games"},{"external_id":"Xsolla","name":"Xsolla game"}]
items[].​groups[].​external_idstring
示例: "accessory"
items[].​groups[].​namestring
示例: "Accessory"
items[].​image_urlstring

图像URL。

示例: "https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png"
items[].​namestring

商品名称。

示例: "Game name"
items[].​skustring

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

示例: "game_01"
items[].​typestring

商品类型:virtual_good/virtual_currency/bundle/physical_good/unit

示例: "unit"
items[].​unit_itemsArray of objects(Catalog_inline_response_200_unit_items)
items[].​unit_items[].​drm_namestring

DRM名称。

示例: "Steam"
items[].​unit_items[].​drm_skustring

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

示例: "steam"
items[].​unit_items[].​has_keysboolean

如果为true,则游戏密钥有供销售的密钥。

示例: false
items[].​unit_items[].​is_freeboolean

如果为true,则该商品为免费。

示例: false
items[].​unit_items[].​is_pre_orderboolean

如果为true,则游戏密钥为预订,并且发布日期尚未到来。

示例: true
items[].​unit_items[].​priceobject(Catalog_inline_response_200_price)

商品价格。

items[].​unit_items[].​price.​amountstring

折扣后的商品价格。

示例: "2.9900"
items[].​unit_items[].​price.​amount_without_discountstring

商品价格。

示例: "2.9900"
items[].​unit_items[].​price.​currencystring

默认购买货币。符合ISO 4217的三字母代码。

示例: "USD"
items[].​unit_items[].​release_datestring

符合ISO 8601规定格式的游戏发行日期。

示例: "2020-08-11T10:00:00+03:00"
items[].​unit_items[].​skustring

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

示例: "game_01"
items[].​unit_items[].​typestring

商品类型:game_key

示例: "game_key"
items[].​unit_items[].​virtual_pricesArray of objects(Catalog_inline_response_200_virtual_prices)

虚拟价格。

items[].​unit_items[].​virtual_prices[].​amountinteger

折扣后的商品虚拟货币价格。

示例: 100
items[].​unit_items[].​virtual_prices[].​amount_without_discountinteger

商品价格。

示例: 200
items[].​unit_items[].​virtual_prices[].​descriptionstring

虚拟货币说明。

示例: "Big Rocket - description"
items[].​unit_items[].​virtual_prices[].​image_urlstring

虚拟货币图像。

示例: "http://image.png"
items[].​unit_items[].​virtual_prices[].​is_defaultboolean

商品价格是否为默认。

示例: true
items[].​unit_items[].​virtual_prices[].​namestring

虚拟货币名称。

示例: "SHOTGUN FOR TRUE RAIDERS"
items[].​unit_items[].​virtual_prices[].​skustring

虚拟货币商品SKU。

示例: "vc_test"
items[].​unit_items[].​virtual_prices[].​typestring

虚拟货币类型。

示例: "virtual_currency"
items[].​unit_typestring

单位类型:game

示例: "game"
响应
application/json
{ "items": [ {}, {} ] }

请求

获取可用DRM的列表。

安全
AuthForClient
路径
project_idinteger必需

项目ID。

示例: 44056
curl -i -X GET \
  https://store.xsolla.com/api/v2/project/44056/items/game/drm \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

响应

已成功接收DRM列表。

正文application/json
drmArray of objects(Catalog_inline_response_200_4_drm)
示例: [{"drm_id":1,"image":"https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png","link":"https://support.steampowered.com","name":"Steam","redeem_instruction_link":"https://support.steampowered.com","sku":"steam"},{"drm_id":2,"image":"https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png","name":"Playstation","redeem_instruction_link":"https://support.us.playstation.com","sku":"playstation"}]
drm[].​drm_idnumber

DRM ID。

示例: 1
drm[].​imagestring

图像URL。

示例: "https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png"
drm[].​linkstring

兑换链接。

示例: "https://support.us.playstation.com"
drm[].​namestring

DRM名称。

示例: "Steam"
drm[].​redeem_instruction_linkstring

兑换说明链接。

示例: "https://support.us.playstation.com"
drm[].​skustring

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

示例: "steam"
响应
application/json
{ "drm": [ {}, {} ] }

按指定组获取游戏列表

请求

从指定组中获取游戏列表以构建目录。

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

项目ID。

示例: 44056
external_idstring必需

组外部ID。

默认值 "all"
查询
limitinteger

页面上元素数量的限制。

示例: limit=50
offsetinteger

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

示例: offset=0
localestring

响应语言。符合ISO 639-1标准的两个小写字母的语言代码。

默认值 "en"
additional_fields[]Array of strings

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

countrystring

对于该目录要计算区域价格和限制的国家/地区。符合ISO 3166-1 alpha-2的两个大写字母的国家/地区代码。如果未明确指定国家/地区,则将根据用户的IP地址进行计算。

默认值 "US"
curl -i -X GET \
  'https://store.xsolla.com/api/v2/project/44056/items/game/group/{external_id}?limit=50&offset=0&locale=en&additional_fields%5B%5D=string&country=US' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

响应

游戏列表已成功接收。

正文application/json
itemsArray of objects(Catalog_inline_response_200_items)
示例: [{"attributes":{"$ref":"#/components/examples/client-attribute-game/Catalog_value"},"description":"Game description","groups":[{"external_id":"all","name":"All games"},{"external_id":"Xsolla","name":"Xsolla games"}],"image_url":"https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png","name":"Game name","sku":"game_1","type":"unit","unit_items":[{"drm_name":"Steam","drm_sku":"steam","has_keys":true,"is_free":false,"is_pre_order":true,"price":{"amount":"30.5","amount_without_discount":"30.5","currency":"USD"},"release_date":"2020-08-11T10:00:00+03:00","sku":"game_key_01","type":"game_key","virtual_prices":[]},{"drm_name":"Origin","drm_sku":"origin","has_keys":false,"is_free":false,"is_pre_order":false,"price":{"amount":"30.5","amount_without_discount":"30.5","currency":"USD"},"sku":"game_key_02","type":"game_key","virtual_prices":[]}],"unit_type":"game"},{"attributes":[{"external_id":"OS","name":"OS","values":[{"external_id":"9d5c5efb7c0f00a00fe4e3583f1215b0050bc723","value":"Windows"}]}],"description":"Game description","groups":[{"external_id":"all","name":"All games"}],"image_url":"https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png","name":"Game name","sku":"game_2","type":"unit","unit_items":[{"drm_name":"Steam","drm_sku":"steam","has_keys":false,"is_free":false,"is_pre_order":false,"price":{"amount":"30.5","amount_without_discount":"30.5","currency":"USD"},"sku":"game_key_01","type":"game_key","virtual_prices":[]}],"unit_type":"game"}]
items[].​attributesArray of objects(Catalog_client-attributes-common)

与商品对应的属性及其值的列表。可用于目录筛选。

默认值 []
items[].​attributes[].​external_idstring(Catalog_admin-attribute-external_id)[ 1 .. 255 ] characters^[a-zA-Z0-9-_]+$

唯一属性ID。 external_id只能包含小写英文字母和数字字符、破折号和下划线。

示例: "attribute_1"
items[].​attributes[].​namestring

属性名称。

示例: "Genre"
items[].​attributes[].​valuesArray of objects
items[].​attributes[].​values[].​external_idstring(Catalog_value-external_id)[ 1 .. 255 ] characters^[-_.\d\w]+$

属性的唯一值ID。 external_id只能包含小写英文字母和数字字符、破折号和下划线。

示例: "attribute_value"
items[].​attributes[].​values[].​valuestring

属性值。

示例: "Strategy"
items[].​descriptionstring

商品描述。

示例: "Game description"
items[].​groupsArray of objects(Catalog_inline_response_200_groups)

商品所属分组。

示例: [{"external_id":"all","name":"All games"},{"external_id":"Xsolla","name":"Xsolla game"}]
items[].​groups[].​external_idstring
示例: "accessory"
items[].​groups[].​namestring
示例: "Accessory"
items[].​image_urlstring

图像URL。

示例: "https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png"
items[].​namestring

商品名称。

示例: "Game name"
items[].​skustring

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

示例: "game_01"
items[].​typestring

商品类型:virtual_good/virtual_currency/bundle/physical_good/unit

示例: "unit"
items[].​unit_itemsArray of objects(Catalog_inline_response_200_unit_items)
items[].​unit_items[].​drm_namestring

DRM名称。

示例: "Steam"
items[].​unit_items[].​drm_skustring

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

示例: "steam"
items[].​unit_items[].​has_keysboolean

如果为true,则游戏密钥有供销售的密钥。

示例: false
items[].​unit_items[].​is_freeboolean

如果为true,则该商品为免费。

示例: false
items[].​unit_items[].​is_pre_orderboolean

如果为true,则游戏密钥为预订,并且发布日期尚未到来。

示例: true
items[].​unit_items[].​priceobject(Catalog_inline_response_200_price)

商品价格。

items[].​unit_items[].​price.​amountstring

折扣后的商品价格。

示例: "2.9900"
items[].​unit_items[].​price.​amount_without_discountstring

商品价格。

示例: "2.9900"
items[].​unit_items[].​price.​currencystring

默认购买货币。符合ISO 4217的三字母代码。

示例: "USD"
items[].​unit_items[].​release_datestring

符合ISO 8601规定格式的游戏发行日期。

示例: "2020-08-11T10:00:00+03:00"
items[].​unit_items[].​skustring

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

示例: "game_01"
items[].​unit_items[].​typestring

商品类型:game_key

示例: "game_key"
items[].​unit_items[].​virtual_pricesArray of objects(Catalog_inline_response_200_virtual_prices)

虚拟价格。

items[].​unit_items[].​virtual_prices[].​amountinteger

折扣后的商品虚拟货币价格。

示例: 100
items[].​unit_items[].​virtual_prices[].​amount_without_discountinteger

商品价格。

示例: 200
items[].​unit_items[].​virtual_prices[].​descriptionstring

虚拟货币说明。

示例: "Big Rocket - description"
items[].​unit_items[].​virtual_prices[].​image_urlstring

虚拟货币图像。

示例: "http://image.png"
items[].​unit_items[].​virtual_prices[].​is_defaultboolean

商品价格是否为默认。

示例: true
items[].​unit_items[].​virtual_prices[].​namestring

虚拟货币名称。

示例: "SHOTGUN FOR TRUE RAIDERS"
items[].​unit_items[].​virtual_prices[].​skustring

虚拟货币商品SKU。

示例: "vc_test"
items[].​unit_items[].​virtual_prices[].​typestring

虚拟货币类型。

示例: "virtual_currency"
items[].​unit_typestring

单位类型:game

示例: "game"
响应
application/json
{ "items": [ {}, {} ] }
操作
操作
操作
操作
操作