コンテンツへスキップ

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
daily_chain_idinteger必須

デイリー報酬ID。

例: 101
curl -i -X GET \
  -u <username>:<password> \
  https://xsolla.redocly.app/_mock/ja/api/shop-builder/v2/project/44056/admin/daily_chain/id/101

レスポンス

デイリー報酬データが正常に取得されました。

ボディapplication/json
date_startstring(date-time)(calendar_hard_date_start)

デイリー報酬の開始日。

例: "2020-04-15T18:16:00+05:00"
is_recurrentboolean(calendar_hard_is_recurrent)

デイリー報酬が繰り返し発生するかどうか。trueの場合、デイリー報酬は終了日後に自動的にリセットされます。次回のstart_dateおよびend_dateのスケジュールは、デイリー報酬ステップの数とstart_dateに設定された初期時間に基づいて決定されます。

デフォルト false
例: true
typestring

ユーザーが報酬をいつ受け取れるかを決定するデイリー報酬のタイプ。

列挙型 値説明
calendar_hard

24時間ごとに次の報酬ステップが解除されます。次のステップ報酬が利用可能になると、受け取られなかった報酬は永久に失われます。

rolling_skippable

date_startに基づき、24時間ごとに次のステップの報酬を解除します。進行は順序通りです。前の報酬が受け取られるまでは、新しい報酬は解除されません。ユーザーが1日以上スキップした場合でも、中断したところから再開します。ミスした日に対して複数の報酬が付与されることはありません。

rolling_unskippable

date_startに基づき、24時間ごとに次のステップの報酬を解除します。進行は順序通りです。前の報酬が受け取られるまでは、新しい報酬は解除されません。ただし、ユーザーが1日でもスキップした場合、進行状況はリセットされ、最初のステップからやり直す必要があります。

ディスクリミネーター
date_endstring or null(date-time)(daily_chain_date_end)

デイリー報酬の終了日。nullにすることも可能です。calendar_hardタイプを設定すると、追加したステップ数に基づいてこの日付が自動的に設定されるため、nullのままにしておいても問題ありません。

例: "2020-04-15T18:16:00+05:00"
description(two-letter (object or null)) or (five-letter (object or null))(description-localization-object)

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

One of:

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

idinteger(daily_chain_id)

一意なデイリー報酬 ID。

例: 9
is_enabledboolean(is_enabled)
例: true
name(two-letter (object or null)) or (five-letter (object or null))(name-localization-object)

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

One of:

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

number_of_stepsinteger(daily_chain_number_of_step)

これはデイリー報酬で設定されたステップ数です。ここでの各ステップは、デイリー報酬における1日を表します。

例: 3
orderinteger(order)

配列順序を定義します。

例: 1
stepsArray of objects(admin-daily-chain-step-model)
レスポンス
application/json
{ "date_end": "2025-04-25T18:16:00+05:00", "date_start": "2023-04-15T18:16:00+05:00", "description": { "en": "Daily reward short description" }, "id": 3, "is_enabled": true, "is_recurrent": false, "name": { "en": "Daily reward", "ru": "Ежедневная награда" }, "number_of_steps": 3, "order": 1, "steps": [ {}, {}, {} ], "type": "calendar_hard" }

デイリー報酬を更新するServer-sideAdmin

リクエスト

特定のデイリー報酬を更新します。

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

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

例: 44056
daily_chain_idinteger必須

デイリー報酬ID。

例: 101
ボディapplication/json
One of:

calendar_hardタイプのデイリー報酬。

date_startstring(date-time)(calendar_hard_date_start)必須

デイリー報酬の開始日。

例: "2020-04-15T18:16:00+05:00"
is_recurrentboolean(calendar_hard_is_recurrent)

デイリー報酬が繰り返し発生するかどうか。trueの場合、デイリー報酬は終了日後に自動的にリセットされます。次回のstart_dateおよびend_dateのスケジュールは、デイリー報酬ステップの数とstart_dateに設定された初期時間に基づいて決定されます。

デフォルト false
例: true
typestring必須

ユーザーが報酬をいつ受け取れるかを決定するデイリー報酬のタイプ。

列挙型 値説明
calendar_hard

24時間ごとに次の報酬ステップが解除されます。次のステップ報酬が利用可能になると、受け取られなかった報酬は永久に失われます。

rolling_skippable

date_startに基づき、24時間ごとに次のステップの報酬を解除します。進行は順序通りです。前の報酬が受け取られるまでは、新しい報酬は解除されません。ユーザーが1日以上スキップした場合でも、中断したところから再開します。ミスした日に対して複数の報酬が付与されることはありません。

rolling_unskippable

date_startに基づき、24時間ごとに次のステップの報酬を解除します。進行は順序通りです。前の報酬が受け取られるまでは、新しい報酬は解除されません。ただし、ユーザーが1日でもスキップした場合、進行状況はリセットされ、最初のステップからやり直す必要があります。

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

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

One of:

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

idinteger(daily_chain_id)

一意なデイリー報酬 ID。

例: 9
is_enabledboolean(is_enabled)必須
例: true
name(two-letter (object or null)) or (five-letter (object or null))(name-localization-object)必須

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

One of:

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

name.​arstring or null

アラビア語

name.​bgstring or null

ブルガリア語

name.​cnstring or null

中国語(簡体字)

name.​csstring or null

チェコ語

name.​destring or null

ドイツ語

name.​enstring or null

英語

name.​esstring or null

スペイン語(スペイン)

name.​frstring or null

フランス語

name.​hestring or null

ヘブライ語

name.​idstring or null

インドネシア語

name.​itstring or null

イタリア語

name.​jastring or null

日本語

name.​kmstring or null

クメール語

name.​kostring or null

韓国語

name.​lostring or null

ラオス語

name.​mystring or null

ビルマ語

name.​nestring or null

ネパール語

name.​phstring or null

フィリピン語

name.​plstring or null

ポーランド語

name.​ptstring or null

ポルトガル語

name.​rostring or null

ルーマニア語

name.​rustring or null

ロシア語

name.​thstring or null

タイ語

name.​trstring or null

トルコ語

name.​twstring or null

中国語(繁体字)

name.​vistring or null

ベトナム語

orderinteger(order)

配列順序を定義します。

例: 1
stepsArray of objects(modify-daily-chain-step-model)必須
steps[].​itemsArray of objects(modify-daily-chain-item-model)non-empty必須
steps[].​items[].​quantityinteger>= 1必須

該当SKUに設定されたデイリー報酬ステップの数量

steps[].​items[].​skustring(sku)[ 1 .. 255 ] characters^[a-zA-Z0-9_\-–.]*$必須

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

例: "booster_mega_1"
steps[].​step_idinteger or null(daily_chain_update_step_id)>= 1

デイリー報酬ステップの一意識別子。更新時に指定することで、このステップにおけるユーザーの進捗を保持できます。

例: 10
steps[].​step_numberinteger(daily_chain_step_number)>= 1必須

ステップ番号。

例: 2
curl -i -X PUT \
  -u <username>:<password> \
  https://xsolla.redocly.app/_mock/ja/api/shop-builder/v2/project/44056/admin/daily_chain/id/101 \
  -H 'Content-Type: application/json' \
  -d '{
    "date_start": "2023-04-15T18:16:00+05:00",
    "description": {
      "en": "Updated daily reward description"
    },
    "is_enabled": true,
    "name": {
      "en": "Updated daily reward",
      "ru": "Обновленная ежедневная награда"
    },
    "order": 4,
    "steps": [
      {
        "items": [
          {
            "quantity": 1,
            "sku": "vg_enabled_shown_in_store_1"
          }
        ],
        "step_number": 1
      },
      {
        "items": [
          {
            "quantity": 1,
            "sku": "vg_enabled_shown_in_store_2"
          }
        ],
        "step_number": 2
      },
      {
        "items": [
          {
            "quantity": 1,
            "sku": "vg_not_shown_in_store"
          }
        ],
        "step_id": 10,
        "step_number": 3
      },
      {
        "items": [
          {
            "quantity": 1,
            "sku": "bundle_enabled_shown_in_store_with_2_enabled_shown_in_store_vg"
          }
        ],
        "step_id": 8,
        "step_number": 4
      },
      {
        "items": [
          {
            "quantity": 1,
            "sku": "vcp_enabled_shown_in_store_1_of_10_vc_enabled_shown_in_store_1"
          }
        ],
        "step_number": 5
      }
    ],
    "type": "calendar_hard"
  }'

レスポンス

デイリー報酬が正常に更新されました。

ボディ
レスポンス
コンテンツなし

デイリー報酬をリセットServer-sideAdmin

リクエスト

デイリー報酬における全ユーザーの進行状況をリセットします。rollingタイプのデイリー報酬にのみ適用されます。

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

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

例: 44056
daily_chain_idinteger必須

デイリー報酬ID。

例: 101
curl -i -X POST \
  -u <username>:<password> \
  https://xsolla.redocly.app/_mock/ja/api/shop-builder/v2/project/44056/admin/daily_chain/id/101/reset

レスポンス

デイリー報酬はリセットされました。

ボディ
レスポンス
コンテンツなし

クライアント

操作
操作

クライアント

操作
操作