コンテンツへスキップ

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

オファーチェーンID。

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

レスポンス

オファーチェーンのデータが正常に取得されました。

ボディapplication/json
attribute_conditionsArray of type = string (object) or type = number (object) or type = date (object)(chain_user-attribute_conditions_model-get)[ 1 .. 100 ] items

ユーザー属性を検証するための条件。 ユーザー属性が指定されたすべての条件に一致するかどうかに基づいて、オファーチェーンの可用性を決定します。

date_endstring or null(date-time)(offer_chain_date_end)

オファーチェーンの終了日です。nullも可能です。もしdate_endnullの場合、オファーチェーンには期限が設定されません。

例: "2020-04-15T18:16:00+05:00"
date_startstring(date-time)(offer_chain_date_start)

オファーチェーンの開始日。

例: "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(offer_chain_id)

一意のオファーチェーンID。

例: 9
is_always_visibleboolean(chain_is_always_visible)

チェーンがすべてのユーザーに表示されるかどうか:

  • trueの場合、ユーザーの認証ステータスや属性に関係なく常にチェーンが表示されます。
  • falseの場合、個人用設定されたチェーンが見つからない場合にのみチェーンが表示されます。例えば、ユーザーが認証されていない場合や、その属性がパーソナライズされたチェーンと一致しない場合などです。

パーソナライズされたチェーンのコンテキストでのみ適用され、attribute_conditions配列が渡されない場合に使用されます。

デフォルト true
例: true
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)、最後に提供された値が保存されます。サポートされている言語の完全なリストは、ドキュメントで確認できます。

orderinteger(order)

配列順序を定義します。

例: 1
recurrent_schedule(interval_type = 毎週 (object or null)) or (interval_type = 毎月 (object or null)) or (interval_type = 毎時間 (object or null))(offer_chain_recurrent_schedule)

オファーチェーンの定期リセット期間。

One of:

オファーチェーンの定期リセット期間。

stepsArray of objects(admin-offer-chain-step-model)
レスポンス
application/json
{ "attribute_conditions": [ {}, {}, {} ], "date_end": "2025-04-25T18:16:00+05:00", "date_start": "2023-04-15T18:16:00+05:00", "description": { "de": "Personalisierte Angebotskette mit Benutzerattributbedingungen - für Elfen der Stufe 10 und höher, die Stufe 10 spätestens am 2026-01-01 00:00:00 erreicht haben, einschließlich", "en": "Personalized offer chain with user attribute conditions - for level 10 and above elves who reached level 10 no later than 2026-01-01 00:00:00, inclusive", "fr": "Chaîne d'offres personnalisée avec des conditions d'attribut utilisateur - pour les elfes de niveau 10 et plus qui ont atteint le niveau 10 au plus tard le 2026-01-01 00:00:00, inclus", "it": "Catena di offerte personalizzata con condizioni di attributo utente - per elfi di livello 10 e superiore che hanno raggiunto il livello 10 non più tardi del 2026-01-01 00:00:00, inclusi", "ru": "Персонализированная цепочка предложений - для эльфов 10 уровня и выше, достигших 10 уровня не позднее 2026-01-01 00:00:00 включительно" }, "id": 3, "is_always_visible": false, "is_enabled": true, "name": { "de": "Angebotskette", "en": "Offer chain", "fr": "Chaîne d'offres", "it": "Catena di offerte", "ru": "Цепочка" }, "order": 1, "recurrent_schedule": null, "steps": [ {}, {}, {} ] }

オファーチェーンを更新するServer-sideAdmin

リクエスト

特定のオファーチェーンを更新するします。

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

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

例: 44056
offer_chain_idinteger必須

オファーチェーンID。

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

ユーザー属性を検証するための条件。 ユーザー属性が指定されたすべての条件に一致するかどうかに基づいて、オファーチェーンの可用性を決定します。

date_endstring or null(date-time)(offer_chain_date_end)

オファーチェーンの終了日です。nullも可能です。もしdate_endnullの場合、オファーチェーンには期限が設定されません。

例: "2020-04-15T18:16:00+05:00"
date_startstring(date-time)(offer_chain_date_start)必須

オファーチェーンの開始日。

例: "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(offer_chain_id)

一意のオファーチェーンID。

例: 9
is_always_visibleboolean(chain_is_always_visible)

チェーンがすべてのユーザーに表示されるかどうか:

  • trueの場合、ユーザーの認証ステータスや属性に関係なく常にチェーンが表示されます。
  • falseの場合、個人用設定されたチェーンが見つからない場合にのみチェーンが表示されます。例えば、ユーザーが認証されていない場合や、その属性がパーソナライズされたチェーンと一致しない場合などです。

パーソナライズされたチェーンのコンテキストでのみ適用され、attribute_conditions配列が渡されない場合に使用されます。

デフォルト true
例: true
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
recurrent_schedule(interval_type = 毎週 (object or null)) or (interval_type = 毎月 (object or null)) or (interval_type = 毎時間 (object or null))(offer_chain_recurrent_schedule_create_update)

オファーチェーンのリセット期間。

One of:

オファーチェーンのリセット期間。

stepsArray of objects(modify-offer-chain-step-model)必須
steps[].​is_freeboolean(offer_chain_is_free)必須

オファーチェーンのステップが無料であるかどうかを示します:

steps[].​itemsArray of objects(modify-offer-chain-item-model)non-empty必須
steps[].​items[].​orderinteger or null>= 0

オファーチェーンステップの報酬注文。

steps[].​items[].​quantityinteger>= 1必須

このチェーンステップの報酬アイテム数量。

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

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

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

ユニークチェーンステップID。更新時にこれを指定することで、このステップに関するユーザーの進行状況を保持できます。

例: 10
steps[].​step_numberinteger(offer_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/offer_chain/id/101 \
  -H 'Content-Type: application/json' \
  -d '{
    "date_end": null,
    "date_start": "2023-04-15T18:16:00+05:00",
    "description": {
      "de": "Eine kurze Beschreibung einer regulären Angebotskette",
      "en": "A short description of a regular offer chain",
      "fr": "Une brève description d'\''une chaîne d'\''offres régulière",
      "it": "Una breve descrizione di una catena di offerte regolare",
      "ru": "Краткое описание обычной цепочки предложений"
    },
    "is_always_visible": true,
    "is_enabled": true,
    "name": {
      "de": "Aktualisierte Angebotskette",
      "en": "Updated offer chain",
      "fr": "Chaîne d'\''offres mise à jour",
      "it": "Catena di offerte aggiornata",
      "ru": "Обновляемая цепочка предложений"
    },
    "order": 4,
    "recurrent_schedule": null,
    "steps": [
      {
        "is_free": false,
        "items": [
          {
            "quantity": 2,
            "sku": "chain_step_1_paid_bundle_sku"
          }
        ],
        "step_id": 10,
        "step_number": 1
      },
      {
        "is_free": true,
        "items": [
          {
            "quantity": 1,
            "sku": "chain_step_2_free_virtual_good_sku"
          }
        ],
        "step_number": 2
      },
      {
        "is_free": false,
        "items": [
          {
            "quantity": 5,
            "sku": "chain_step_3_paid_virtual_currency_package_sku"
          }
        ],
        "step_number": 3
      },
      {
        "is_free": true,
        "items": [
          {
            "quantity": 1,
            "sku": "chain_step_4_free_bundle_sku"
          }
        ],
        "step_id": 9,
        "step_number": 4
      }
    ]
  }'

レスポンス

オファーチェーンは正常に更新されました。

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

オファーチェーンの有効/無効切り替えServer-sideAdmin

リクエスト

オファーチェーンを有効または無効にします。

オファーチェーンが無効になると、ユーザーは一時的にアクセスできなくなりますが、進行状況は保持されます。

オファーチェーンが再度有効になった後、ユーザーは中断したステップから再開できます。

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

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

例: 44056
offer_chain_idinteger必須

オファーチェーンID。

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

レスポンス

オファーチェーンが無効化/有効化されました。

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

クライアント

操作
操作

クライアント

操作
操作

クライアント

操作
操作