コンテンツへスキップ

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プロパティに渡します。

操作
操作
操作

指定されたグループのバンドルリストを取得する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/bundle/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(Bundles_client_bundle)
レスポンス
application/json
{ "has_more": true, "items": [ {} ] }

指定されたバンドルを取得するClient-side

リクエスト

指定されたバンドルを取得します。



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

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

例: 44056
skustring必須

バンドルSKU。

例: kg_1
クエリ
promo_codestring[ 1 .. 128 ] characters

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

例: promo_code=WINTER2021
show_inactive_time_limited_itemsinteger

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

デフォルト 0
例: show_inactive_time_limited_items=1
additional_fields[]Array of strings

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

アイテム 列挙型"media_list""order""long_description""custom_attributes""item_order_in_group"
curl -i -X GET \
  'https://xsolla.redocly.app/_mock/ja/api/shop-builder/v2/project/44056/items/bundle/sku/kg_1?promo_code=WINTER2021&show_inactive_time_limited_items=1&additional_fields%5B%5D=media_list' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

レスポンス

指定されたバンドルは正常に受信されました。

ボディapplication/json
attributesArray of objects(Bundles_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"}]}}
bundle_typestring(Bundles_bundle_type)

バンドルタイプ。standardを使用してアイテムのバンドルを作成し、バンドルに含まれるアイテムの SKU を指定します。 partner_side_contentを使用して空のバンドルを作成し、ウェブフックを使用してユーザー側でアイテムを追加します。このタイプは、パートナー側でのカタログ個人用設定でのみ使用されます。

デフォルト "standard"
列挙型"standard""partner_side_content"
例: "standard"
can_be_boughtboolean(Can_be_bought)

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

例: true
contentArray of objects(Bundles_client_content)

バンドルパッケージのコンテンツ。

例: [{"attributes":[],"description":"Big Rocket - short description.","groups":[],"image_url":"https://popmedia.blob.core.windows.net/popyourself/male/outfit/male_armor_white_a-01.png","is_free":false,"name":"Big Rocket","price":{"amount":"10.99","amount_without_discount":"10.99","currency":"USD"},"quantity":100,"sku":"com.xsolla.big_rocket_1","type":"virtual_currency"}]
custom_attributesobject(json)(item-custom-attributes-response)

アイテムの属性と値を含むJSONオブジェクト。

descriptionstring or null(Bundles_client_description)

アイテムの説明。

例: "Big Rocket - description."
groupsArray of objects(items_client_groups_response)

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

デフォルト []
例: [{"external_id":"exclusive","name":"Exclusive"}]
image_urlstring or null(Bundles_image_url)

画像URL。

例: "https://image.example.com"
is_freeboolean(value-is_free)

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

デフォルト false
例: false
item_idinteger(Bundles_item_id)[ 1 .. 255 ] characters

内部の一意のアイテムID。

例: 1
limitsobject or null(Catalog_item_limits_with_hourly)

アイテム制限。

long_description(two-letter (object or null)) or (five-letter (object or null))(long-description-localization-object)

アイテムの長文説明のローカライズを含むオブジェクト。2文字の小文字の言語コード(例:en)または5文字のロケールコード(例:en-US)のいずれかの形式で値を受け入れます。どちらの形式も入力として受け入れられますが、応答は2文字の小文字の言語コードを返します。同じ言語に対して両方のバリアント(例:enen-US)が提供された場合、最後に提供された値が保存されます。サポートされている言語の完全なリストは、ドキュメントで確認できます。

Any of:

アイテムの長文説明のローカライズを含むオブジェクト。2文字の小文字の言語コード(例:en)または5文字のロケールコード(例:en-US)のいずれかの形式で値を受け入れます。どちらの形式も入力として受け入れられますが、応答は2文字の小文字の言語コードを返します。同じ言語に対して両方のバリアント(例:enen-US)が提供された場合、最後に提供された値が保存されます。サポートされている言語の完全なリストは、ドキュメントで確認できます。

media_listArray of objects(Bundles_media_list)

バンドルの追加アセット。

例: [{"type":"image","url":"https://cdn3.xsolla.com/img/misc/images/71ab1e12126f2103e1868076f0acb21a.jpg"}]
namestring(Bundles_client_name)

アイテム名。

例: "Big Rocket"
orderinteger(Bundles_order)

リスト内のバンドル順の優先順位。

デフォルト 1
例: 1
periodsArray of objects or null(item-periods)

アイテム販売期間。

priceobject or null(Bundles_price)

アイテム価格。

promotionsArray of objects(Catalog_item_promotions)

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

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

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

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

skustring(Bundles_sku)[ 1 .. 255 ] characters^[a-zA-Z0-9_\-–.]*$

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

例: "bundle_1"
total_content_priceobject or null(Bundles_total_content_price)

バンドルコンテンツ価格の合計。

typestring(Bundles_type)

アイテムタイプ。

例: "bundle"
virtual_pricesArray of objects(Bundles_virtual_prices)

仮想価格。

vp_rewardsArray of objects(client-item-value-point-reward)

バリューポイントアイテム報酬。

レスポンス
application/json
{ "attributes": [], "bundle_type": "standard", "can_be_bought": true, "content": [ {} ], "custom_attributes": { "attr": "value", "purchased": 0 }, "description": "pricePoint_44056_1.", "groups": [], "image_url": null, "is_free": false, "item_id": 610316, "limits": { "per_user": {} }, "long_description": null, "media_list": [], "name": "kg_10.00_bundle", "order": 999, "periods": [ {} ], "price": { "amount": "9.99", "amount_without_discount": "9.99", "currency": "USD" }, "promotions": [], "sku": "com.xsolla.kg_1", "total_content_price": { "amount": "10.99", "amount_without_discount": "10.99", "currency": "USD" }, "type": "bundle", "virtual_prices": [], "vp_rewards": [ {}, {} ] }

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

操作

カート(サーバー側)

操作

決済(クライアント側)

操作

決済(サーバー側)

操作
操作

無料アイテム

操作

ウェブフック

操作
操作

マーチャント

操作

カタログ

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

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

クーポン

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

操作

プロモーションコード

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

操作

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

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

操作

ディスカウント

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

操作

ボーナス

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

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

クライアント

操作

クランクライアント

操作
操作

クライアント

操作
操作

クライアント

操作
操作

クライアント

操作
操作