コンテンツへスキップ

Shop Builder API (2.0.0)

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/ja/api/shop-builder/
https://store.xsolla.com/api/
操作

個人用カタログ

ユーザー属性に応じたルールを指定することができるAPIです。 ユーザーが具体的なルールの条件をすべて満たした場合、パーソナライズされたアイテムが表示されます。

パーソナライズされたプロモーションについては、プロモーションセクションを参照してください。

購入前に属性を渡すには、Xsolla Login APIを使うか、Pay Station APIを使ってトークンを生成する際にそれをuser.attributesプロパティに渡します。

操作
操作
操作

カート(クライアント側)

操作

カート(サーバー側)

操作

決済(クライアント側)

操作

決済(サーバー側)

操作
操作

無料アイテム

操作

ウェブフック

操作
操作

マーチャント

操作

カタログ

このAPIは販売可能なアイテムや特定のアイテムを取得することができます。

操作
操作
操作

指定されたグループのゲームキーリストを取得Client-side

リクエスト

カタログ構築のために、指定されたグループからゲームキーのリストを取得します。

注意

すべてのプロジェクトには、応答で得られるアイテムの数に制限があります。初期値および最大値は、1応答50アイテムです。ページごとに多くのデータを取得するには、制限オフセットフィールドを使用します。

注意事項

アイテムカタログAPIコールの利用は、認証なしで可能ですが、パーソナライズされたカタログを取得するには、「認証」ヘッダーにユーザーのJWTを渡す必要があります。
セキュリティ
XsollaLoginUserJWT
パス
project_idinteger必須

プロジェクトID。このパラメータは、パブリッシャーアカウントのプロジェクト名の横にあります。

例: 44056
external_idstring必須

グループexternal ID。

デフォルト "all"
クエリ
limitinteger>= 1

ページでの要素数の制限。

例: limit=50
offsetinteger>= 0

リストが生成される要素番号(カウントは0から始まります)。

例: offset=0
localestring

応答言語。ISO 639-1に基づく小文字の2文字言語コード。

デフォルト "en"
additional_fields[]Array of strings

追加フィールドのリスト。これらのフィールドは、リクエストの中で送信すると、応答に含まれます。

アイテム 列挙型"media_list""order""long_description""custom_attributes""item_order_in_group"
countrystring

ISO 3166-1 alpha-2に従った2文字の大文字の国名コード。エクソーラがサポートする国国を決定するプロセスに関する詳細情報については、ドキュメントを確認してください。

例: country=US
promo_codestring[ 1 .. 128 ] characters

大文字と小文字を区別する一意のコードです。文字と数字が含まれます。

例: promo_code=WINTER2021
show_inactive_time_limited_itemsinteger

ユーザーに利用可能でない、期限付きアイテムを表示します。このようなアイテムの有効期間はまだ開始されていないか、すでに期限切れです。

デフォルト 0
例: show_inactive_time_limited_items=1
curl -i -X GET \
  'https://xsolla.redocly.app/_mock/ja/api/shop-builder/v2/project/44056/items/game/key/group/{external_id}?limit=50&offset=0&locale=en&additional_fields%5B%5D=media_list&country=US&promo_code=WINTER2021&show_inactive_time_limited_items=1' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

レスポンス

ゲームキーのリストが正常に受信されました。

ボディapplication/json
has_moreboolean(Pagination_has-more)

ページ数がもっとあることを示す指標として使用されます。

例: true
itemsArray of objects
例: [{"attributes":[{"external_id":"OS","name":"OS","values":[{"external_id":"9d5c5efb7c0f00a00fe4e3583f1215b0050bc723","value":"Windows"}]},{"external_id":"genre","name":"Genre","values":[{"external_id":"23fda05111c125608af8f1fa0e99db45a10ea1cc","value":"Horror"}]}],"description":"Game description","drm_name":"Steam","drm_sku":"steam_key_1","groups":[{"external_id":"all","name":"All games"},{"external_id":"Xsolla","name":"Xsolla games"}],"has_keys":true,"image_url":"https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png","is_free":false,"is_pre_order":true,"name":"Game name","periods":[{"date_from":"2020-08-11T10:00:00+03:00","date_until":"2020-08-11T20:00:00+03:00"}],"price":{"amount":"30.5","amount_without_discount":"30.5","currency":"USD"},"release_date":"2020-08-11T10:00:00+03:00","sku":"com.xsolla.game_1","type":"game_key","virtual_prices":[]},{"attributes":[{"external_id":"OS","name":"OS","values":[{"external_id":"9d5c5efb7c0f00a00fe4e3583f1215b0050bc723","value":"Windows"}]},{"external_id":"genre","name":"Genre","values":[{"external_id":"23fda05111c125608af8f1fa0e99db45a10ea1cc","value":"Horror"}]}],"description":"Game description","drm_name":"Steam","drm_sku":"steam_key_2","groups":[{"external_id":"all","name":"All games"}],"has_keys":true,"image_url":"https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png","is_free":false,"is_pre_order":false,"name":"Game name","periods":[],"price":{"amount":"30.5","amount_without_discount":"30.5","currency":"USD"},"release_date":null,"sku":"com.xsolla.game_2","type":"game_key","virtual_prices":[]}]
レスポンス
application/json
{ "has_more": true, "items": [ {}, {} ] }

カタログ用のゲームキーを取得するClient-side

リクエスト

カタログのゲームキーを取得します。

注意

このエンドポイントは認証なしでアクセスでき、一般的なデータを返します。しかし、認証は、利用可能なユーザー制限やプロモーションのような、パーソナライズされた結果のためのユーザー固有の詳細で応答の質を高めます。
セキュリティ
XsollaLoginUserJWT
パス
project_idinteger必須

プロジェクトID。このパラメータは、パブリッシャーアカウントのプロジェクト名の横にあります。

例: 44056
item_skustring必須

アイテムSKU。

デフォルト "xsollus_basic_edition_steam"
クエリ
localestring

応答言語。ISO 639-1に基づく小文字の2文字言語コード。

デフォルト "en"
additional_fields[]Array of strings

追加フィールドのリスト。これらのフィールドは、リクエストの中で送信すると、応答に含まれます。

アイテム 列挙型"media_list""order""long_description""custom_attributes""item_order_in_group"
countrystring

ISO 3166-1 alpha-2に従った2文字の大文字の国名コード。エクソーラがサポートする国国を決定するプロセスに関する詳細情報については、ドキュメントを確認してください。

例: country=US
promo_codestring[ 1 .. 128 ] characters

大文字と小文字を区別する一意のコードです。文字と数字が含まれます。

例: promo_code=WINTER2021
show_inactive_time_limited_itemsinteger

ユーザーに利用可能でない、期限付きアイテムを表示します。このようなアイテムの有効期間はまだ開始されていないか、すでに期限切れです。

デフォルト 0
例: show_inactive_time_limited_items=1
curl -i -X GET \
  'https://xsolla.redocly.app/_mock/ja/api/shop-builder/v2/project/44056/items/game/key/sku/{item_sku}?locale=en&additional_fields%5B%5D=media_list&country=US&promo_code=WINTER2021&show_inactive_time_limited_items=1' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

レスポンス

ゲームキーは正常に受信されました。

ボディapplication/json
attributesArray of objects(Game-Keys_schemas-client-attributes)

アイテムに対応する属性と値のリスト。カタログのフィルタリングに使用できます。

デフォルト []
例: {"value":{"external_id":"genre","name":"Жанр","values":[{"external_id":"genre_e3364991f92e751689a68b96598a5a5a84010b85","value":"Casual"},{"external_id":"genre_eba07bfd0f982940773cba3744d97264dd58acd7","value":"Strategy"},{"external_id":"genre_b8d0c6d8f0524c2b2d79ebb93aa3cd0e8b5199a8","value":"Mobile"}]}}
can_be_boughtboolean(Can_be_bought)

trueの場合、ユーザーはアイテムを購入することができます。

例: true
descriptionstring

アイテムの説明。

例: "Game description"
drm_namestring

DRM名。

例: "Steam"
drm_skustring

一意のDRM ID。SKUには、小文字と大文字のラテン英数字、ピリオド、ダッシュ、およびアンダースコアのみが含まれます。

例: "steam_key_1"
groupsArray of objects(items_client_groups_response)

アイテムが所属するグループ。

デフォルト []
例: [{"external_id":"exclusive","name":"Exclusive"}]
has_keysboolean

trueの場合、ゲームキーに販売用のキーがあります。

例: true
image_urlstring

画像URL。

例: "https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png"
is_freeboolean(value-is_free)

trueの場合で、アイテムは無料です。

デフォルト false
例: false
is_pre_orderboolean

trueの場合、ゲームキーは先行予約で、まだ発売されていません。

例: true
limitsobject or null(Catalog_item_limits)

アイテム制限。

namestring

アイテム名。

例: "Game name"
periodsArray of objects or null(item-periods)

アイテム販売期間。

priceobject

アイテム価格。

例: {"amount":"30.5","amount_without_discount":"30.5","currency":"USD"}
promotionsArray of objects(Catalog_item_promotions)

カート内の特定アイテムに適用されるプロモーション。この配列は、以下のケースで返されます:

  • 特定のアイテムに対して、割引キャンペーンが構成されている場合。

  • 選択されたアイテムの割引設定を持つプロモーションコードが適用された場合。

アイテムレベルのプロモーションが適用されない場合は、空の配列が返されます。

release_datestring

ISO 8601形式でのゲームキーのリリース日。

例: "2020-08-11T10:00:00+03:00"
skustring

一意のアイテムID。SKUには、小文字と大文字のラテン英数字、ピリオド、ダッシュ、およびアンダースコアのみが含まれます。

例: "com.xsolla.game_1"
typestring

アイテムタイプ:game_key

例: "game_key"
virtual_pricesArray of objects

仮想価格。

例: []
レスポンス
application/json
{ "attributes": [ {}, {} ], "can_be_bought": true, "description": "Game description", "drm_name": "Steam", "drm_sku": "steam_key_1", "groups": [ {}, {} ], "has_keys": true, "image_url": "https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png", "is_free": false, "is_pre_order": true, "limits": null, "name": "Game name", "periods": [ {} ], "price": { "amount": "30.5", "amount_without_discount": "30.5", "currency": "USD" }, "promotions": [], "release_date": "2020-08-11T10:00:00+03:00", "sku": "com.xsolla.game_1", "type": "game_key", "virtual_prices": [] }

カタログ用ゲームを取得するClient-side

リクエスト

カタログのゲームを取得します。



このエンドポイントは認証なしでアクセスでき、一般的なデータを返します。しかし、認証は、利用可能なユーザー制限やプロモーションのような、パーソナライズされた結果のためのユーザー固有の詳細で応答の質を高めます。
セキュリティ
XsollaLoginUserJWT
パス
project_idinteger必須

プロジェクトID。このパラメータは、パブリッシャーアカウントのプロジェクト名の横にあります。

例: 44056
item_skustring必須

アイテムSKU。

デフォルト "full_game_1"
クエリ
localestring

応答言語。ISO 639-1に基づく小文字の2文字言語コード。

デフォルト "en"
additional_fields[]Array of strings

追加フィールドのリスト。これらのフィールドは、リクエストの中で送信すると、応答に含まれます。

アイテム 列挙型"media_list""order""long_description""custom_attributes""item_order_in_group"
countrystring

ISO 3166-1 alpha-2に従った2文字の大文字の国名コード。エクソーラがサポートする国国を決定するプロセスに関する詳細情報については、ドキュメントを確認してください。

例: country=US
promo_codestring[ 1 .. 128 ] characters

大文字と小文字を区別する一意のコードです。文字と数字が含まれます。

例: promo_code=WINTER2021
show_inactive_time_limited_itemsinteger

ユーザーに利用可能でない、期限付きアイテムを表示します。このようなアイテムの有効期間はまだ開始されていないか、すでに期限切れです。

デフォルト 0
例: show_inactive_time_limited_items=1
curl -i -X GET \
  'https://xsolla.redocly.app/_mock/ja/api/shop-builder/v2/project/44056/items/game/sku/{item_sku}?locale=en&additional_fields%5B%5D=media_list&country=US&promo_code=WINTER2021&show_inactive_time_limited_items=1' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

レスポンス

ゲームは正常に受信されました。

ボディapplication/json
attributesArray of objects(Game-Keys_schemas-client-attributes)

アイテムに対応する属性と値のリスト。カタログのフィルタリングに使用できます。

デフォルト []
例: {"value":{"external_id":"genre","name":"Жанр","values":[{"external_id":"genre_e3364991f92e751689a68b96598a5a5a84010b85","value":"Casual"},{"external_id":"genre_eba07bfd0f982940773cba3744d97264dd58acd7","value":"Strategy"},{"external_id":"genre_b8d0c6d8f0524c2b2d79ebb93aa3cd0e8b5199a8","value":"Mobile"}]}}
descriptionstring

アイテムの説明。

例: "Game description"
groupsArray of objects(items_client_groups_response)

アイテムが所属するグループ。

デフォルト []
例: [{"external_id":"exclusive","name":"Exclusive"}]
image_urlstring

画像URL。

例: "https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png"
namestring

アイテム名。

例: "Game name"
promotionsArray of objects(Catalog_item_promotions)

カート内の特定アイテムに適用されるプロモーション。この配列は、以下のケースで返されます:

  • 特定のアイテムに対して、割引キャンペーンが構成されている場合。

  • 選択されたアイテムの割引設定を持つプロモーションコードが適用された場合。

アイテムレベルのプロモーションが適用されない場合は、空の配列が返されます。

skustring

一意のアイテムID。SKUには、小文字と大文字のラテン英数字、ピリオド、ダッシュ、およびアンダースコアのみが含まれます。

例: "game_01"
typestring

アイテムタイプ:virtual_good/virtual_currency/bundle/physical_good/unit

例: "unit"
unit_itemsArray of objects
unit_typestring

ユニットタイプ:game

例: "game"
レスポンス
application/json
{ "attributes": [ {}, {} ], "description": "Game description", "groups": [ {}, {} ], "image_url": "https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png", "name": "Game name", "promotions": [], "sku": "com.xsolla.game_1", "type": "unit", "unit_items": [ {}, {} ], "unit_type": "game" }
操作
操作
操作

クーポン

このAPIを使用すると、クーポンを管理できます。

操作

プロモーションコード

このAPI を使用すると、プロモーションコードを管理できます。

操作

ユニークなカタログオファー

このAPIを使用すると、ユニークなカタログオファーを管理することができます。

操作

ディスカウント

このAPIを使用すると、割引キャンペーンを管理することができます。

操作

ボーナス

このAPIを使用すると、ボーナスプロモーションを管理できます。

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

クライアント

操作

クランクライアント

操作
操作

クライアント

操作
操作

クライアント

操作
操作

クライアント

操作
操作