コンテンツへスキップ

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は販売可能なアイテムや特定のアイテムを取得することができます。

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

クーポン

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

操作

プロモーションコード

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

操作

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

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

操作

ディスカウント

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

操作

ボーナス

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

操作

ボーナスプロモーションのリストを取得Server-sideAdmin

リクエスト

プロジェクトのボーナスプロモーションのリストを取得します。

プロモーションは、ユーザーによる購入に無料のボーナスアイテムを追加します。 プロモーションは、プロジェクト内のすべての購入、または特定のアイテムを含む購入に適用することができます。

セキュリティ
basicAuth
パス
project_idinteger必須

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

例: 44056
クエリ
limitinteger>= 1

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

例: limit=50
offsetinteger>= 0

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

例: offset=0
curl -i -X GET \
  -u <username>:<password> \
  'https://xsolla.redocly.app/_mock/ja/api/shop-builder/v3/project/44056/admin/promotion/bonus?limit=50&offset=0'

レスポンス

ボーナスプロモーションのリストが正常に受信されました。

ボディapplication/json
active_promotions_countinteger(active_promotions_count)

アクティブなプロモーションの数。

inactive_promotions_countinteger(inactive_promotions_count)

非アクティブ化されたプロモーションの数。

promotionsArray of objects(Promotions_200-get-bonus-promotion-model)
total_promotions_countinteger(total_promotions_count)

プロモーションの合計数。

レスポンス
application/json
{ "active_promotions_count": 2, "inactive_promotions_count": 0, "promotions": [ {}, {} ], "total_promotions_count": 2 }

ボーナスプロモーションを作成Server-sideAdmin

リクエスト

ボーナスプロモーションを作成します。

プロモーションは、ユーザーによる購入に無料のボーナスアイテムを追加します。 プロモーションは、プロジェクト内のすべての購入、または特定のアイテムを含む購入に適用することができます。

セキュリティ
basicAuth
パス
project_idinteger必須

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

例: 44056
ボディapplication/json
attribute_conditionsArray of type = string (object) or type = number (object) or type = date (object)(promotion_user-attribute_conditions_model-post)[ 1 .. 100 ] items

ユーザー属性を検証するための条件。 ユーザー属性が指定されたすべての条件に一致するかどうかに基づいて、プロモーションの可用性を決定します。

bonusArray of objects or null必須
bonus[].​quantitynumber

アイテム数量。

デフォルト 1
bonus[].​skustring

アイテムSKU。

デフォルト "elven_shield"
conditionArray of objects or null必須

プロモーションを適用するために、購入に含める必要があるアイテムのセット。このパラメータがnullである場合、プロジェクト内のすべての購入にプロモーションが適用されます。

condition[].​skustring

アイテムSKU。

デフォルト "elven_sword"
excluded_promotionsArray of integers(excluded_promotions)

このプロモーションを適用する際に除外するプロモーションIDのリスト。
Example:[12, 789]

例: [12,789]
idinteger

プロモーションID。プロジェクト内での一意のプロモーション識別子。

is_enabledboolean(Promotions_is_enabled)

プロモーションが有効かどうか。

例: true
limitsobject(Promotions_promotion_limits)

プロモーションの制限。

nameobject必須

プロモーション名。キーと値のペアを含む必要があります。キーは"^[a-z]{2}-[A-Z]{2}$"フォーマットのロケール、値は文字列です。

例: {"de-DE":"Sommersaison Bonus","en-US":"Summer season bonus"}
name.​property name*string追加プロパティ
price_conditionsArray of objects or null(price_conditions_bonus)

プロモーションを適用する価格帯を設定する条件を持つオブジェクトの配列。
プロモーションは、価格が配列内のすべての条件を満たすアイテムにのみ適用されます。この配列を渡す場合は、条件オブジェクトの値をnullに設定します。

promotion_periodsArray of objects(promotion_periods)

プロモーションの有効期間。複数の期間を指定する場合は、date_fromdate_untilの両方が必須となります。

curl -i -X POST \
  -u <username>:<password> \
  https://xsolla.redocly.app/_mock/ja/api/shop-builder/v3/project/44056/admin/promotion/bonus \
  -H 'Content-Type: application/json' \
  -d '{
    "attribute_conditions": [
      {
        "attribute": "account_status",
        "can_be_missing": false,
        "operator": "eq",
        "type": "string",
        "value": "golden"
      }
    ],
    "bonus": [
      {
        "quantity": 50000,
        "sku": "com.xsolla.mp_credits"
      }
    ],
    "condition": [
      {
        "sku": "com.xsolla.year_1_season_pass"
      }
    ],
    "name": {
      "de-DE": "Neujahrsbonus",
      "en-US": "New Year Bonus"
    },
    "promotion_periods": [
      {
        "date_from": "2020-04-15T18:16:00+05:00",
        "date_until": "2020-04-25T18:16:00+05:00"
      }
    ]
  }'

レスポンス

プロモーションは正常に作成されました。

ボディapplication/json
promotion_idinteger

プロモーションID。プロジェクト内での一意のプロモーション識別子。

レスポンス
application/json
{ "promotion_id": 2384756 }

ボーナスプロモーションを削除Server-sideAdmin

リクエスト

ボーナスプロモーションを削除します。削除されたプロモーション:

  • プロジェクトで設定されたプロモーションのリストから消えます。
  • アイテムカタログとカートに適用されなくなります。

削除後、プロモーションを復元することはできません。

セキュリティ
basicAuth
パス
project_idinteger必須

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

例: 44056
promotion_idinteger必須

プロモーションID。プロジェクト内での一意のプロモーション識別子。

例: 111425
curl -i -X DELETE \
  -u <username>:<password> \
  https://xsolla.redocly.app/_mock/ja/api/shop-builder/v3/project/44056/admin/promotion/111425/bonus

レスポンス

プロモーションは正常に削除されました。

レスポンス
コンテンツなし
操作
操作
操作
操作
操作

クライアント

操作

クランクライアント

操作
操作

クライアント

操作
操作

クライアント

操作
操作

クライアント

操作
操作