コンテンツへスキップ

LiveOps API (2.0.0)

概要

  • バージョン: 2.0.0
  • サーバーhttps://store.xsolla.com/api
  • メールでお問い合わせ
  • 連絡先URL: https://xsolla.com/
  • 要求されるTLSバージョン: 1.2

LiveOpsは、プロモーションやパーソナライズされたオファーを通じて、プレイヤーの継続的なエンゲージメントを促進するためのツールキットです。

APIを使用して、以下の機能を管理できます:

  • プロモーション — ーポン、プロモーションコード、割引、ボーナスキャンペーンを作成または管理します。
  • 個人用設定 — 特定の認証済みユーザーに対してのみ、アイテムカタログの表示やプロモーションの適用を行うための条件を指定します。
  • プロモーション制限 — ユーザーごとのプロモーション利用回数制限を設定、およびそれらの制限の定期的なリセットを設定します。
  • 報酬チェーンとバリューポイント — ポイント蓄積に連動した報酬進行(プログレッシブ報酬)を設定します。
  • デイリーチェーン — 定期的なログインを促すための、反復的なデイリー報酬をセットアップします。
  • オファーチェーン — 段階的な価格設定や無料報酬オプションを含む、一連の連続購入オファーを構築します。
  • アップセル — 付加価値の高いアイテムの購入をユーザーに促す販売手法。

APIコール

本APIは以下のグループに分かれています:

  • Admin — キャンペーンやチェーン設定の作成、更新、有効化、削除を行うためのコール。マーチャントまたはプロジェクトの認証情報を使用した基本アクセス認証で認証されます。
  • Client — 認証済みエンドユーザーに代わって、利用可能なプロモーションの取得、有効なチェーンの確認、コードの引き換え、報酬の受け取りなどを行うためのコール。ユーザーJWTで認証されます。
OpenAPI記述をダウンロード
言語
サーバー
https://store.xsolla.com/api/
Mock server
https://xsolla.redocly.app/_mock/ja/api/liveops/
操作

クーポン

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

操作

プロモーションコード

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

操作

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

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

操作

ディスカウント

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

操作

ボーナス

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

操作

個人用カタログ

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

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

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

操作
操作
操作

報酬チェーンを取得するServer-sideAdmin

リクエスト

特定の報酬チェーンを取得します。

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

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

例: 44056
reward_chain_idinteger必須

報酬チェーンID。

例: 101
curl -i -X GET \
  -u <username>:<password> \
  https://store.xsolla.com/api/v3/project/44056/admin/reward_chain/id/101

レスポンス

指定された報酬チェーンが正常に受信されました。

ボディapplication/json
One of:

報酬チェーン。

attribute_conditionsArray of type = string (object) or type = number (object) or type = date (object)(chain_user-attribute_conditions_model-get)[ 1 .. 100 ] items

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

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

image_urlstring or null(image_url)

画像URL。

例: "https://image.example.com"
is_always_visibleboolean(chain_is_always_visible)

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

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

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

デフォルト true
例: true
is_enabledboolean(is_enabled)
例: true
is_reset_after_endboolean(is_reset_after_end)

報酬チェーンの終了日以降に、報酬チェーン(バリューポイントおよび全ユーザーの進捗状況)をリセットするかどうか˙:

  • trueの場合、報酬チェーンはその終了日の後にリセットされます。
  • falseの場合、報酬チェーンはその終了日の後にリセットされません。

お知らせ

以下の場合、trueにすることはできません:
  • recurrent_scheduleでリセット期間が設定されません。
  • periods.date_untilnullの値が渡されます。
デフォルト false
例: false
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)が提供された場合、最後に提供された値が保存されます。サポートされている言語の完全なリストは、ドキュメントで確認できます。

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
periodsArray of objects(periods)

報酬チェーンの有効期間。複数の期間を指定する場合は、date_fromdate_untilの両方が必須となります。

recurrent_schedule(interval_type = 毎週 (object or null)) or (interval_type = 毎月 (object or null)) or (interval_type = 毎時間 (object or null))(admin_recurrent_schedule)

報酬チェーンの定期リセット期間。

One of:

報酬チェーンの定期リセット期間。

reward_chain_idinteger(reward_chain_id)

一意の報酬チェーンID。

例: 9
stepsArray of objects(reward_step_short)
value_pointobject
レスポンス
application/json
{ "clan_type": "guild", "description": { "en": "Clan reward chain description." }, "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png", "is_enabled": true, "long_description": { "en": "Clan reward chain long description." }, "name": { "en": "Clan reward chain" }, "order": 1, "periods": [ {} ], "popup_header": { "en": "How to unlock rewards" }, "popup_image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png", "popup_instruction": { "en": "You must be a clan member in order to get clan rewards. You join a clan when a clan member invites you to the clan, and you accept the invite. You can also create your own clan." }, "recurrent_schedule": { "day_of_week": 2, "displayable_reset_next_date": "2023-03-07T11:00:00+08:00", "displayable_reset_start_date": "2023-02-28T11:00:00+08:00", "interval_type": "weekly", "reset_next_date": 1677553200, "time": "11:00:00+08:00" }, "reward_chain_id": 1, "steps": [ {}, {} ], "value_point": { "description": {}, "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png", "is_clan": true, "is_enabled": true, "long_description": {}, "media_list": [], "name": {}, "order": 1, "sku": "com.xsolla.clan_value_point_1" } }

報酬チェーンを更新するServer-sideAdmin

リクエスト

特定の報酬チェーンを更新します。

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

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

例: 44056
reward_chain_idinteger必須

報酬チェーンID。

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

報酬チェーン。

attribute_conditionsArray of type = string (object) or type = number (object) or type = date (object)(chain_user-attribute_conditions_model-post)[ 1 .. 100 ] items

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

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

image_urlstring or null(image_url)

画像URL。

例: "https://image.example.com"
is_always_visibleboolean(chain_is_always_visible)

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

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

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

デフォルト true
例: true
is_enabledboolean(is_enabled)必須
例: true
is_reset_after_endboolean(is_reset_after_end)

報酬チェーンの終了日以降に、報酬チェーン(バリューポイントおよび全ユーザーの進捗状況)をリセットするかどうか˙:

  • trueの場合、報酬チェーンはその終了日の後にリセットされます。
  • falseの場合、報酬チェーンはその終了日の後にリセットされません。

お知らせ

以下の場合、trueにすることはできません:
  • recurrent_scheduleでリセット期間が設定されません。
  • periods.date_untilnullの値が渡されます。
デフォルト false
例: false
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)が提供された場合、最後に提供された値が保存されます。サポートされている言語の完全なリストは、ドキュメントで確認できます。

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
periodsArray of objects(periods)必須

報酬チェーンの有効期間。複数の期間を指定する場合は、date_fromdate_untilの両方が必須となります。

periods[].​date_fromstring(date-time)必須

指定された報酬チェーンの開始日。

例: "2020-08-11T10:00:00+03:00"
periods[].​date_untilstring or null(date-time)

指定された報酬チェーンの終了日。 有効期間が1つだけ指定されている場合に限り、nullに設定可能です。

例: "2020-08-11T20:00:00+03:00"
recurrent_schedule(interval_type = 毎週 (object or null)) or (interval_type = 毎月 (object or null)) or (interval_type = 毎時間 (object or null))(recurrent_schedule_create_update)

報酬チェーンの定期リセット期間。

One of:

報酬チェーンの定期リセット期間。

stepsArray of objects(modify_reward_step)必須
steps[].​image_urlstring or null(image_url)

画像URL。

例: "https://image.example.com"
steps[].​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)、最後に提供された値が保存されます。サポートされている言語の完全なリストは、ドキュメントで確認できます。

steps[].​name.​arstring or null

アラビア語

steps[].​name.​bgstring or null

ブルガリア語

steps[].​name.​cnstring or null

中国語(簡体字)

steps[].​name.​csstring or null

チェコ語

steps[].​name.​destring or null

ドイツ語

steps[].​name.​enstring or null

英語

steps[].​name.​esstring or null

スペイン語(スペイン)

steps[].​name.​frstring or null

フランス語

steps[].​name.​hestring or null

ヘブライ語

steps[].​name.​idstring or null

インドネシア語

steps[].​name.​itstring or null

イタリア語

steps[].​name.​jastring or null

日本語

steps[].​name.​kmstring or null

クメール語

steps[].​name.​kostring or null

韓国語

steps[].​name.​lostring or null

ラオス語

steps[].​name.​mystring or null

ビルマ語

steps[].​name.​nestring or null

ネパール語

steps[].​name.​phstring or null

フィリピン語

steps[].​name.​plstring or null

ポーランド語

steps[].​name.​ptstring or null

ポルトガル語

steps[].​name.​rostring or null

ルーマニア語

steps[].​name.​rustring or null

ロシア語

steps[].​name.​thstring or null

タイ語

steps[].​name.​trstring or null

トルコ語

steps[].​name.​twstring or null

中国語(繁体字)

steps[].​name.​vistring or null

ベトナム語

steps[].​priceobject(reward_step_price)必須
steps[].​price.​amountinteger(step_price_amount)必須

バリューポイントでのステップ価格。

例: 100
steps[].​rewardArray of objects必須
steps[].​reward[].​attribute_conditionsArray of type = string (object) or type = number (object) or type = date (object)(reward-chain-step-reward_user-attribute_conditions_model-post)[ 1 .. 100 ] items

ユーザー属性を検証するための条件。 ユーザー属性が指定されたすべての条件に一致するかどうかに基づいて、報酬チェーンの各ステップにおける報酬の可用性を決定します。

steps[].​reward[].​quantityinteger(reward_item_quantity)必須

アイテム数量。

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

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

例: "booster_mega_1"
steps[].​step_idinteger or null(step_id)必須

一意のステップID。

例: 10
curl -i -X PUT \
  -u <username>:<password> \
  https://store.xsolla.com/api/v3/project/44056/admin/reward_chain/id/101 \
  -H 'Content-Type: application/json' \
  -d '{
    "clan_type": "guild",
    "description": {
      "en": "Clan reward chain description."
    },
    "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
    "is_enabled": true,
    "long_description": {
      "en": "Clan reward chain long description."
    },
    "name": {
      "en": "Clan reward chain"
    },
    "order": 1,
    "periods": [
      {
        "date_from": "2026-01-01T01:00:00+05:00",
        "date_until": "2026-01-31T23:59:59+05:00"
      },
      {
        "date_from": "2026-02-01T01:00:00+05:00",
        "date_until": "2026-02-28T23:59:59+05:00"
      }
    ],
    "popup_header": {
      "en": "How to unlock rewards"
    },
    "popup_image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
    "popup_instruction": {
      "en": "You should be a clan member to get clan rewards. You join a clan when a clan member invited you to the clan, and you accepted the invite. You can create your own clan."
    },
    "recurrent_schedule": {
      "day_of_week": 1,
      "interval_type": "weekly",
      "time": "01:00:00+08:00"
    },
    "steps": [
      {
        "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
        "name": {
          "en": "First step of the reward chain"
        },
        "price": {
          "amount": 10
        },
        "reward": [
          {
            "quantity": 5,
            "sku": "com.xsolla.item_1"
          },
          {
            "quantity": 1,
            "sku": "com.xsolla.item_2"
          }
        ],
        "step_id": 1
      },
      {
        "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
        "name": {
          "en": "Second step of the reward chain"
        },
        "price": {
          "amount": 15
        },
        "reward": [
          {
            "quantity": 5,
            "sku": "com.xsolla.item_3"
          },
          {
            "quantity": 1,
            "sku": "com.xsolla.item_4"
          }
        ],
        "step_id": 2
      }
    ]
  }'

レスポンス

報酬チェーンは正常に更新されました。

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

報酬チェーンのリセットServer-sideAdmin

リクエスト

Resets the value points balance and progress of all users in the reward chain.
The balance is tied to the value points type, not to a specific reward chain. If these value points are used in other chains, the balance will be reset in all chains that use these value points.
After the reset, you can update the reward chain’s validity period, and users will be able to progress through it again.
The clan balance is calculated as the sum of its members’ balances. Therefore, after the reset, the clan balance is also reset.
This request is irreversible and applies to all users of the project.

Notice

You should not reset the reward chain during its validity period. In this case, users may lose earned value points before they claim their reward.
セキュリティ
basicAuth
パス
project_idinteger必須

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

例: 44056
reward_chain_idinteger必須

報酬チェーンID。

例: 101
curl -i -X POST \
  -u <username>:<password> \
  https://store.xsolla.com/api/v3/project/44056/admin/reward_chain/id/101/reset

レスポンス

報酬チェーンはリセットされました。

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

クライアント

操作

クランクライアント

操作
操作

クライアント

操作
操作

クライアント

操作
操作

クライアント

操作