` is the user token. The token identifies the user and provides access to personalized data. You can try this call using the following test token:
```
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE5NjIyMzQwNDgsImlzcyI6Imh0dHBzOi8vbG9naW4ueHNvbGxhLmNvbSIsImlhdCI6MTU2MjE0NzY0OCwidXNlcm5hbWUiOiJ4c29sbGEiLCJ4c29sbGFfbG9naW5fYWNjZXNzX2tleSI6IjA2SWF2ZHpDeEVHbm5aMTlpLUc5TmMxVWFfTWFZOXhTR3ZEVEY4OFE3RnMiLCJzdWIiOiJkMzQyZGFkMi05ZDU5LTExZTktYTM4NC00MjAxMGFhODAwM2YiLCJlbWFpbCI6InN1cHBvcnRAeHNvbGxhLmNvbSIsInR5cGUiOiJ4c29sbGFfbG9naW4iLCJ4c29sbGFfbG9naW5fcHJvamVjdF9pZCI6ImU2ZGZhYWM2LTc4YTgtMTFlOS05MjQ0LTQyMDEwYWE4MDAwNCIsInB1Ymxpc2hlcl9pZCI6MTU5MjR9.GCrW42OguZbLZTaoixCZgAeNLGH2xCeJHxl8u8Xn2aI
```
Alternatively, you can use a [token for opening the payment UI](/ja/api/pay-station/token/create-token).
2. **Simplified mode without Authorization header.** This mode is used only for unauthorized users and can be applied only for [game key sales](/ja/doc/buy-button/how-to/set-up-authentication/#guides_buy_button_selling_items_not_authenticated_users). Instead of a token, the request must include the following headers:
- `x-unauthorized-id` with a request ID
- `x-user` with the user's email address encoded in Base64
## Useful links
- [API calls by interaction model](https://developers.xsolla.com/ja/api/catalog/)
- [Endpoint types](https://developers.xsolla.com/ja/api/catalog/)
- [Errors handling](https://developers.xsolla.com/ja/api/catalog/)
- [API keys](https://developers.xsolla.com/ja/api/catalog/)
# Core entity structure
Items of all types (virtual items, bundles, virtual currency, and keys) use a similar data structure. Understanding the basic structure simplifies working with the API and helps you navigate the documentation more easily.
Note
Some calls may include additional fields but they don't change the basic structure.
**Identification**
- `merchant_id` — company ID in [Publisher Account](https://publisher.xsolla.com/)
- `project_id` — project ID in Publisher Account
- `sku` — item SKU, unique within the project
**Store display**
- `name` — item name
- `description` — item description
- `image_url` — image URL
- `is_enabled` — item availability
- `is_show_in_store` — whether the item is displayed in the catalog
For more information about managing item availability in the catalog, see the [documentation](/ja/items-catalog/catalog-features/items-availability/).
**Organization**
- `type` — item type, for example, a virtual item (`virtual_item`) or bundle (`bundle`)
- `groups` — groups the item belongs to
- `order` — display order in the catalog
**Sale conditions**
- `prices` — prices in real or virtual currency
- `limits` — purchase limits
- `periods` — availability periods
- `regions` — regional restrictions
**Example of core entity structure:**
```json
{
"attributes": [],
"bundle_type": "virtual_currency_package",
"content": [
{
"description": {
"en": "Main in-game currency"
},
"image_url": "https://.../image.png",
"name": {
"en": "Crystals",
"de": "Kristalle"
},
"quantity": 500,
"sku": "com.xsolla.crystal_2",
"type": "virtual_currency"
}
],
"description": {
"en": "Crystals x500"
},
"groups": [],
"image_url": "https://.../image.png",
"is_enabled": true,
"is_free": false,
"is_show_in_store": true,
"limits": {
"per_item": null,
"per_user": null,
"recurrent_schedule": null
},
"long_description": null,
"media_list": [],
"name": {
"en": "Medium crystal pack"
},
"order": 1,
"periods": [
{
"date_from": null,
"date_until": "2020-08-11T20:00:00+03:00"
}
],
"prices": [
{
"amount": 20,
"country_iso": "US",
"currency": "USD",
"is_default": true,
"is_enabled": true
}
],
"regions": [],
"sku": "com.xsolla.crystal_pack_2",
"type": "bundle",
"vc_prices": []
}
```
# Basic purchase flow
The Xsolla API allows you to implement in-game store logic, including retrieving the item catalog, managing the cart, creating orders, and tracking their status. Depending on the integration scenario, API calls are divided into **Admin** and **Catalog** subsections, which use different [authentication schemes](/ja/api/catalog/section/authentication).
The following example shows a basic flow for setting up and operating a store, from item creation to purchase.
## Create items and groups (Admin)
Create an item catalog for your store, such as virtual items, bundles, or virtual currency.
Example API calls:
- [Create virtual item](/ja/api/catalog/virtual-items-currency-admin/admin-create-virtual-item)
- [Create bundle](/ja/api/catalog/bundles-admin/admin-create-bundle)
- [Create virtual currency](/ja/api/catalog/virtual-items-currency-admin/admin-create-virtual-currency)
## Set up promotions, chains, and limits (Admin)
Configure user acquisition and monetization tools, such as discounts, bonuses, daily rewards, or offer chains.
Example API calls:
- [Create bonus promotion](/ja/api/liveops/promotions-bonuses/create-bonus-promotion)
- [Create daily reward](/ja/api/liveops/daily-chain-admin/admin-create-daily-chain)
- [Create unique catalog offer promotion](/ja/api/liveops/promotions-unique-catalog-offers/admin-create-unique-catalog-offer)
## Get item information (Client)
Configure item display in your application.
Notice
Do not use API calls from the Admin subsection to build a user catalog. These API calls have
rate limits and aren't intended for user traffic.
Example API calls:
- [Get virtual items list](/ja/api/catalog/virtual-items-currency-catalog/get-virtual-items)
- [Get item group list](/ja/api/catalog/virtual-items-currency-catalog/get-item-groups)
- [Get list of bundles](/ja/api/catalog/bundles-catalog/get-bundle-list)
- [Get sellable items list](/ja/api/catalog/common-catalog/get-sellable-items)
Note
By default, catalog API calls return items that are currently available in the store at the time of the request. To retrieve items that are not yet available or are no longer available, include the parameter "show_inactive_time_limited_items": 1 in the catalog request.
## Sell items
You can sell items using the following methods:
- Fast purchase — sell one SKU multiple times.
- Cart purchase — the user adds items to the cart, removes items, and updates quantities within a single order.
If an item is purchased using virtual currency instead of real money, use the [Create order with specified item purchased by virtual currency](/ja/api/catalog/virtual-payment/create-order-with-item-for-virtual-currency) API call. The payment UI is not required, as the charge is processed when the API call is executed.
For free item purchase, use the [Create order with specified free item](/ja/api/catalog/free-item/create-free-order-with-item) API call or the [Create order with free cart](/ja/api/catalog/free-item/create-free-order) API call. The payment UI is not required — the order is immediately set to the done status.
### Fast purchase
Use the client-side API call to [create an order with a specified item](/ja/api/catalog/payment-client-side/create-order-with-item). The call returns a token used to open the payment UI.
Note
Discount information is available to the user only in the payment UI. Promo codes are not supported.
### Cart purchase
Cart setup and purchase can be performed on the client or on the server side.
**Set up and purchase a cart on the client**
Implement the logic of adding and removing items by yourself. Before calling the API for setting up a cart, you will not have information about which promotions will be applied to the purchase. This means that the total cost and details of the added bonus items will not be known.
Implement the following cart logic:
1. After the player has filled a cart, use the [Fill cart with items](/ja/api/shop-builder/operation/cart-fill/) API call. The call returns the current information about the selected items (prices before and after discounts, bonus items).
2. Update the cart contents based on user actions:
- To add an item or change item quantity, use the [Update cart item by cart ID](/ja/api/shop-builder/operation/put-item-by-cart-id/) API call.
- To remove an item, use the [Delete cart item by cart ID](/ja/api/shop-builder/operation/delete-item-by-cart-id/) API call.
Note
To get the current status of the cart, use the Get current user's cart API call.
3. Use the [Create order with all items from current cart](/ja/api/shop-builder/operation/create-order/) API call. The call returns the order ID and payment token. The newly created order is set to new status by default.
**Set up and purchase a cart on the server**
This setup option may take longer for setting the cart up, since each change to the cart must be accompanied by API calls.
Implement the following cart logic:
1. After the player has filled a cart, use the [Fill cart with items](/ja/api/catalog/cart-server-side) API call. The call returns current information about the selected items (prices before and after discounts, bonus items).
2. Use the [Create order with all items from current cart](/ja/api/shop-builder/operation/create-order/) API call. The call returns the order ID and payment token. The newly created order is set to new status by default.
## Open payment UI
Use the returned token to open the payment UI in a new window. Other ways to open the payment UI are described in the [documentation](/ja/payment-ui-and-flow/payment-ui/how-to-open-payment-ui/#open_payment_ui).
| Action | Endpoint |
|:--------------------------------|:--------------------------------------------------------------------------|
| Open in production environment. | https://secure.xsolla.com/paystation4/?token={token} |
| Open in sandbox mode. | https://sandbox-secure.xsolla.com/paystation4/?token={token} |
Note
Use sandbox mode during development and testing. Test purchases don't charge real accounts. You can use
test bank cards.
After the first real payment is made, a strict sandbox payment policy takes effect. A payment in sandbox mode is available only to users specified in [Publisher Account > Company settings > Users](https://publisher.xsolla.com/0/settings/users).
Buying virtual currency and items for real currency is possible only after signing a license agreement with Xsolla. To do this, in [Publisher Account](https://publisher.xsolla.com/), go to **Agreements & Taxes > Agreements**, complete the agreement form, and wait for confirmation. It may take up to 3 business days to review the agreement.
To enable or disable sandbox mode, change the value of the `sandbox` parameter in the request for fast purchase and cart purchase. Sandbox mode is off by default.
Possible order statuses:
- `new` — order created
- `paid` — payment received
- `done` — item delivered
- `canceled` — order canceled
- `expired` — payment expired
Track order status using one of the following methods:
- [webhooks configured on your server](/ja/virtual-goods/own-ui/server-side-token-generation/set-up-order-tracking/#payments_integration_order_tracking)
- [short-polling](/ja/virtual-goods/own-ui/client-side-token-generation/set-up-order-tracking/#guides_shop_builder_integrate_store_get_order_status_via_short_polling)
- [WebSocket API](/ja/virtual-goods/own-ui/client-side-token-generation/set-up-order-tracking/#guides_shop_builder_integrate_store_get_order_status_via_websocket_api)
## Useful links
- Authentication
- [API calls by interaction model](/ja/api/catalog/section/authentication)
- [Payment testing](/ja/dev-resources/testing/general-info/#general_overview)
- [Set up order status tracking](/ja/virtual-goods/own-ui/client-side-token-generation/set-up-order-tracking/?link=200-api#payments_integration_order_tracking)
- [Webhooks](/ja/webhooks/overview)
- [Rate limits](/ja/api/login/rate-limits)
- [Errors handling](/ja/api/getting-started/#api_errors_handling)
- [API keys](/ja/api/getting-started/#api_keys_overview)
# Pagination
API calls that return large sets of records (for example, when building a catalog) return data in pages. Pagination is a mechanism that limits the number of items returned in a single API response and allows you to retrieve subsequent pages sequentially.
Use the following parameters to control the number of returned items:
- `limit` — number of items per page
- `offset` — index of the first item on the page (numbering starts from 0)
- `has_more` — indicates whether another page is available
- `total_items_count` — total number of items
Example request:
```
GET /items?limit=20&offset=40
```
Response example:
```json
{
"items": [...],
"has_more": true,
"total_items_count": 135
}
```
It is recommended to send subsequent requests until the response returns `has_more = false`.
# Date and time format
Dates and time values are passed in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
The following are supported:
- UTC offset
- `null` value when there is no time restriction for displaying an item
- [Unix timestamp](https://www.unixtimestamp.com/) (in seconds) used in some fields
Format: `YYYY-MM-DDTHH:MM:SS±HH:MM`
Example: `2026-03-16T10:00:00+03:00`
# Localization
Xsolla supports localization of user-facing fields such as item name and description. Localized values are passed as an object where the language code is used as the key. The full list of supported languages is available in the [documentation](/ja/doc/shop-builder/references/supported-languages/).
**Supported fields**
Localization can be specified for the following parameters:
- `name`
- `description`
- `long_description`
**Locale format**
The locale key can be specified in one of the following formats:
- Two-letter language code: `en`, `ru`
- Five-letter language code: `en-US`, `ru-RU`, `de-DE`
**Examples**
Example with a two-letter language code:
```json
{
"name": {
"en": "Starter Pack",
"ru": "Стартовый набор"
}
}
```
Example with a five-letter language code:
```json
{
"description": {
"en-US": "Premium bundle",
"de-DE": "Premium-Paket"
}
}
```
# Error response format
If an error occurs, the API returns an HTTP status and a JSON response body. The full list of store-related errors is available in the [documentation](/ja/dev-resources/references/errors/store-errors/).
**Response example:**
```json
{
"errorCode": 1102,
"errorMessage": "Validation error",
"statusCode": 422,
"transactionId": "c9e1a..."
}
```
- `errorCode` — error code.
- `errorMessage` — short error description.
- `statusCode` — HTTP response status.
- `transactionId` — request ID. Returned only in some cases.
- `errorMessageExtended` — additional error details, such as request parameters. Returned only in some cases.
**Extended response example:**
```json
{
"errorCode": 7001,
"errorMessage": "Chain not found",
"errorMessageExtended": {
"chain_id": "test_chain_id",
"project_id": "test_project_id",
"step_number": 2
},
"statusCode": 404
}
```
**Common HTTP status codes**
- `400` — invalid request
- `401` — authentication error
- `403` — insufficient permissions
- `404` — resource not found
- `422` — validation error
- `429` — rate limit exceeded
**Recommendations**
- Handle the HTTP status and the response body together.
- Use `errorCode` to process errors related to application logic.
- Use `transactionId` to identify requests more quickly when analyzing errors.
Version: 2.0.0
## Servers
```
https://store.xsolla.com/api
```
## Security
### AuthForCart
`AuthForCart`認証スキームはカートでの購入用であり、以下の2つのモードに対応しています:
ユーザーのJWTによる認証。トークンは、以下の形式で認証ヘッダーに渡されます:`Authorization: Bearer `。「」はユーザー用トークンです。このトークンによってユーザーが識別され、パーソナライズされたデータへのアクセスが可能になります。以下のテスト用トークンを使用して、このAPIコールを試すことができます:`Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE5NjIyMzQwNDgsImlzcyI6Imh0dHBzOi8vbG9naW4ueHNvbGxhLmNvbSIsImlhdCI6MTU2MjE0NzY0OCwidXNlcm5hbWUiOiJ4c29sbGEiLCJ4c29sbGFfbG9naW5fYWNjZXNzX2tleSI6IjA2SWF2ZHpDeEVHbm5aMTlpLUc5TmMxVWFfTWFZOXhTR3ZEVEY4OFE3RnMiLCJzdWIiOiJkMzQyZGFkMi05ZDU5LTExZTktYTM4NC00MjAxMGFhODAwM2YiLCJlbWFpbCI6InN1cHBvcnRAeHNvbGxhLmNvbSIsInR5cGUiOiJ4c29sbGFfbG9naW4iLCJ4c29sbGFfbG9naW5fcHJvamVjdF9pZCI6ImU2ZGZhYWM2LTc4YTgtMTFlOS05MjQ0LTQyMDEwYWE4MDAwNCIsInB1Ymxpc2hlcl9pZCI6MTU5MjR9.GCrW42OguZbLZTaoixCZgAeNLGH2xCeJHxl8u8Xn2aI`。
別の方法として、[決済UIを開くためのトークン](/ja/api/pay-station/token/create-token)を使用できます。
`Authorization`ヘッダーなしの簡易モード。これは未認証ユーザー専用のモードであり、[ゲームキー販売(/doc/buy-button/how-to/set-up-authentication/#guides_buy_button_selling_items_not_authenticated_users)のケースにのみ利用できます。トークンの代わりに、リクエストには以下のヘッダーを含める必要があります:
* リクエストIDを指定した`x-unauthorized-id`
* Base64でエンコードされたユーザーのメールアドレスを指定した`x-user`
Type: http
Scheme: bearer
### XsollaLoginUserJWT
クライアント側からのAPIコールには、`XsollaLoginUserJWT`認証スキームを使用します。リクエストの`Authorization`ヘッダーには、「Bearer ``」という形式でユーザーのJWTを含める必要があります。このトークンによってユーザーが識別され、パーソナライズされたデータへのアクセスが可能になります。トークンの作成方法の詳細については、[エクソーラログインAPI](/ja/api/login/authentication-schemes#getting-user-token)に関するドキュメントをご参照ください。
以下のテスト用トークンを使用して、このAPIコールを試すことができます:`Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE5NjIyMzQwNDgsImlzcyI6Imh0dHBzOi8vbG9naW4ueHNvbGxhLmNvbSIsImlhdCI6MTU2MjE0NzY0OCwidXNlcm5hbWUiOiJ4c29sbGEiLCJ4c29sbGFfbG9naW5fYWNjZXNzX2tleSI6IjA2SWF2ZHpDeEVHbm5aMTlpLUc5TmMxVWFfTWFZOXhTR3ZEVEY4OFE3RnMiLCJzdWIiOiJkMzQyZGFkMi05ZDU5LTExZTktYTM4NC00MjAxMGFhODAwM2YiLCJlbWFpbCI6InN1cHBvcnRAeHNvbGxhLmNvbSIsInR5cGUiOiJ4c29sbGFfbG9naW4iLCJ4c29sbGFfbG9naW5fcHJvamVjdF9pZCI6ImU2ZGZhYWM2LTc4YTgtMTFlOS05MjQ0LTQyMDEwYWE4MDAwNCIsInB1Ymxpc2hlcl9pZCI6MTU5MjR9.GCrW42OguZbLZTaoixCZgAeNLGH2xCeJHxl8u8Xn2aI`。
別の方法として、[決済UIを開くためのトークン](/ja/api/pay-station/token/create-token)を使用することも可能です。
Type: http
Scheme: bearer
Bearer Format: JWT
### basicAuth
サーバー側からのAPIコールには、`basicAuth`認証スキームを使用します。すべてのAPIリクエストには
`Authorization: Basic `
ヘッダーを含める必要があります。ここで、`your_authorization_basic_key`は`project_id:api_key`
のペアをBase64標準に従ってエンコードしたものです。
必要に応じて、`project_id`の代わりに`merchant_id`を使用することができます。機能には影響しません。
[パブリッシャーアカウント](https://publisher.xsolla.com/)に移動して、パラメータの値を確認します:
* `merchant_id`が表示されます:
* **会社設定 > 会社**セクションで
* 任意のパブリッシャーアカウントページのブラウザアドレスバーにあるURL。URLは以下の形式です:`https://publisher.xsolla.com/`。
* `api_key`は、作成時に一度だけパブリッシャーアカウントに表示され、お客様側で保存する必要があります。新しいキーは、次のセクションで作成することができます:
* [会社設定 > APIキー](https://publisher.xsolla.com/0/settings/api_key)
* [プロジェクト設定 > APIキー](https://publisher.xsolla.com/0/projects/0/edit/api_key)
{% html name="div" attrs={"class": "notice"} %}
**注意**
必須のAPIコールに`project_id`パスパラメータが含まれていない場合は、会社全般のプロジェクトで有効なAPIキーを認証に使用してください。
{% /html %}
* `project_id`が以下の場所で表示されます:
* パブリッシャーアカウント内のプロジェクト名の横。
* パブリッシャーアカウントでプロジェクトを操作している際、ブラウザのアドレスバーに表示されるURLの中。URLの形式は以下の通りです:`https://publisher.xsolla.com//projects/`。
APIキーの操作に関する詳細は、[APIリファレンス](https://developers.xsolla.com/ja/api/getting-started/#api_keys_overview)を参照してください。
Type: http
Scheme: basic
### basicMerchantAuth
サーバー側からのAPIコールには、`basicMerchantAuth`認証スキームを使用します。APIへのすべてのリクエストは
`Authorization: Basic `
ヘッダーを含む必要があり、`your_authorization_basic_key`
はBase64標準に従ってエンコードされた`merchant_id:api_key`ペアです。
[パブリッシャーアカウント](https://publisher.xsolla.com/)に移動して、パラメータの値を確認します:
* `merchant_id`が表示されます:
* **会社設定 > 会社**セクションで
* 任意のパブリッシャーアカウントページのブラウザアドレスバーにあるURL。URLは以下の形式です:`https://publisher.xsolla.com/`
* `api_key`は、作成時に一度だけパブリッシャーアカウントに表示され、お客様側で保存する必要があります。[会社設定 > APIキー](https://publisher.xsolla.com/0/settings/api_key)セクションで、新しいキーを作成できます。
APIキーの操作に関する詳細は、[APIリファレンス](https://developers.xsolla.com/ja/api/getting-started/#api_keys_overview)を参照してください。
Type: http
Scheme: basic
## Download OpenAPI description
[LiveOps API](https://developers.xsolla.com/_bundle/@l10n/ja/api/liveops/index.yaml)
## Common API calls
You can call API methods from this subsection to manage different types of promotions.
### プロモーションをアクティブ化にする
- [PUT /v2/project/{project_id}/admin/promotion/{promotion_id}/activate](https://developers.xsolla.com/ja/api/liveops/promotions-common/activate-promotion.md): プロモーションをアクティブ化にします。
### プロモーションを停止
- [PUT /v2/project/{project_id}/admin/promotion/{promotion_id}/deactivate](https://developers.xsolla.com/ja/api/liveops/promotions-common/deactivate-promotion.md): プロモーションを停止にします。
### プロモーションコードを検証する
- [GET /v2/project/{project_id}/promotion/code/{code}/verify](https://developers.xsolla.com/ja/api/liveops/promotions-common/verify-promotion-code.md): Determines if the code is a promo code or coupon code and if the user can apply it.
Note
This API call uses a user JWT for authorization.
Include the token in the Authorization header in the following format: Bearer <user_JWT>. For more information about user JWT, see the Security block for this call.
### すべてのプロモーションリストを取得
- [GET /v3/project/{project_id}/admin/promotion](https://developers.xsolla.com/ja/api/liveops/promotions-common/get-promotion-list.md): プロジェクトのプロモーションリストを取得します。
### コードで引き換え可能なプロモーションを入手する
- [GET /v3/project/{project_id}/admin/promotion/redeemable/code/{code}](https://developers.xsolla.com/ja/api/liveops/promotions-common/get-redeemable-promotion-by-code.md): プロモーションコードまたはクーポンコードを取得します。
## クーポン
Call API methods from this subsection to configure and manage coupon promotions.
Note
Refer to our documentation for detailed information about coupons.
### 一意のクーポンコード制限を取得する
- [GET /v2/project/{project_id}/admin/code/limit/coupon/external_id/{external_id}](https://developers.xsolla.com/ja/api/liveops/promotions-coupons/get-coupon-code-limit.md): コードの残り使用可能回数を取得します。コードのフィルタリングには、codesクエリパラメータを使用します。
コードの上限を設定するには、管理セクションに移動します:
* クーポン
### クーポンプロモーションをアクティブ化にする
- [PUT /v2/project/{project_id}/admin/coupon/{external_id}/activate](https://developers.xsolla.com/ja/api/liveops/promotions-coupons/activate-coupon.md): クーポンプロモーションをアクティブ化にします。
作成されたクーポンのプロモーションは、デフォルトで無効になっています。
アクティブ化されるまで、引き換えの準備ができません。
このエンドポイントを使用して、クーポンのプロモーションをアクティブ化にします。
### クーポンコードを取得
- [GET /v2/project/{project_id}/admin/coupon/{external_id}/code](https://developers.xsolla.com/ja/api/liveops/promotions-coupons/get-coupon-codes.md): クーポンコードを取得します。
### クーポンコードを作成
- [POST /v2/project/{project_id}/admin/coupon/{external_id}/code](https://developers.xsolla.com/ja/api/liveops/promotions-coupons/create-coupon-code.md): クーポンコードを作成します。
### クーポンコードを生成
- [PUT /v2/project/{project_id}/admin/coupon/{external_id}/code/generate](https://developers.xsolla.com/ja/api/liveops/promotions-coupons/generate-coupon-codes.md): クーポンコードを生成します。
### クーポンプロモーションを非アクティブ化にする
- [PUT /v2/project/{project_id}/admin/coupon/{external_id}/deactivate](https://developers.xsolla.com/ja/api/liveops/promotions-coupons/deactivate-coupon.md): クーポンプロモーションを非アクティブ化にします。
作成されたクーポンのプロモーションは、デフォルトで無効になっています。
アクティブ化されるまで、引き換えの準備ができません。
このエンドポイントを使用して、クーポンのプロモーションを無効化または非アクティブ化します。
### 指定したユーザーのクーポン上限を取得する
- [GET /v2/project/{project_id}/admin/user/limit/coupon/external_id/{external_id}](https://developers.xsolla.com/ja/api/liveops/promotions-coupons/get-coupon-user-limit.md): 指定したユーザがクーポンを使用できる残り回数を取得します。
User limit APIを使用すると、ユーザーがクーポンを使用できる回数を制限することができます。ユーザー制限自体の設定は、管理セクションにアクセスしてください:
* クーポン
### クーポン特典を入手
- [GET /v2/project/{project_id}/coupon/code/{coupon_code}/rewards](https://developers.xsolla.com/ja/api/liveops/promotions-coupons/get-coupon-rewards-by-code.md): Gets coupons rewards by its code.
Can be used to allow users to choose one of many items as a bonus.
The usual case is choosing a DRM if the coupon contains a game as a bonus (type=unit).
Note
This API call uses a user JWT for authorization.
Include the token in the Authorization header in the following format: Bearer <user_JWT>. For more information about user JWT, see the Security block for this call.
### クポーンコードを引き換える
- [POST /v2/project/{project_id}/coupon/redeem](https://developers.xsolla.com/ja/api/liveops/promotions-coupons/redeem-coupon.md): Redeems a coupon code. The user gets a bonus after a coupon is redeemed.
Note
This API call uses a user JWT for authorization.
Include the token in the Authorization header in the following format: Bearer <user_JWT>. For more information about user JWT, see the Security block for this call.
### クーポンプロモーションのリストを取得
- [GET /v3/project/{project_id}/admin/coupon](https://developers.xsolla.com/ja/api/liveops/promotions-coupons/get-coupons.md): プロジェクトのクーポンプロモーションのリストを取得します。
### クーポンプロモーションを作成
- [POST /v3/project/{project_id}/admin/coupon](https://developers.xsolla.com/ja/api/liveops/promotions-coupons/admin-create-coupon.md): クーポンプロモーションを作成します。
### クーポンプロモーションを削除
- [DELETE /v3/project/{project_id}/admin/coupon/{external_id}](https://developers.xsolla.com/ja/api/liveops/promotions-coupons/delete-coupon-promotion.md): クーポンプロモーションを削除します。削除されたプロモーション:
* プロジェクトで設定されたプロモーションのリストから消えます。
* アイテムカタログに適用されなくなります。
削除後、プロモーションを復元することはできません。
削除されたプロモーションのクーポンコードは、既存のプロモーションに追加することができます。
### クーポンプロモーションを取得
- [GET /v3/project/{project_id}/admin/coupon/{external_id}](https://developers.xsolla.com/ja/api/liveops/promotions-coupons/get-coupon.md): 指定されたクーポンプロモーションを取得します。
### クーポンプロモーションを更新
- [PUT /v3/project/{project_id}/admin/coupon/{external_id}](https://developers.xsolla.com/ja/api/liveops/promotions-coupons/update-coupon-promotion.md): クーポンプロモーションを更新しました。
## プロモーションコード
Call API methods from this subsection to configure and manage promo code promotions.
Note
Refer to our documentation for detailed information about promo codes.
### コードのプロモーションコード制限を取得する
- [GET /v2/project/{project_id}/admin/code/limit/promocode/external_id/{external_id}](https://developers.xsolla.com/ja/api/liveops/promotions-promo-codes/get-promo-code-code-limit.md): コードの残り使用可能回数を取得します。コードのフィルタリングには、codesクエリパラメータを使用します。
コードの上限を設定するには、管理セクションに移動します:
* プロモーションコード
### プロモーションコードのプロモーションをアクティブ化
- [PUT /v2/project/{project_id}/admin/promocode/{external_id}/activate](https://developers.xsolla.com/ja/api/liveops/promotions-promo-codes/activate-promo-code.md): プロモーションコードのプロモーションをアクティブ化にします。
作成されたプロモーションコードのプロモーションは、デフォルトで無効になっています。
アクティブ化されるまで、引き換えの準備ができません。
このエンドポイントを使用して、プロモーションコードのプロモーションを有効化またはアクティブ化します。
### プロモーションコードのプロモーション用のコードを取得
- [GET /v2/project/{project_id}/admin/promocode/{external_id}/code](https://developers.xsolla.com/ja/api/liveops/promotions-promo-codes/get-promocode-codes.md): プロモーションコードのプロモーション用のコードを取得します。
### プロモーションコードのプロモーション用のコードを作成
- [POST /v2/project/{project_id}/admin/promocode/{external_id}/code](https://developers.xsolla.com/ja/api/liveops/promotions-promo-codes/create-promo-code-code.md): プロモーションコードのプロモーション用のコードを作成します。
### プロモーションコードのプロモーション用のコードを生成
- [PUT /v2/project/{project_id}/admin/promocode/{external_id}/code/generate](https://developers.xsolla.com/ja/api/liveops/promotions-promo-codes/generate-promo-code-codes.md): プロモーションコードのプロモーション用のコードを生成します。
### プロモーションコードのプロモーションを非アクティブ化
- [PUT /v2/project/{project_id}/admin/promocode/{external_id}/deactivate](https://developers.xsolla.com/ja/api/liveops/promotions-promo-codes/deactivate-promo-code.md): プロモーションコードのプロモーションを非アクティブ化にします。
作成されたプロモーションコードのプロモーションは、デフォルトで無効になっています。
アクティブ化されるまで、引き換えの準備ができません。
このエンドポイントを使用して、プロモーションコードのプロモーションを無効化または非アクティブ化します。
### 指定したユーザーのプロモーションコード上限を取得する
- [GET /v2/project/{project_id}/admin/user/limit/promocode/external_id/{external_id}](https://developers.xsolla.com/ja/api/liveops/promotions-promo-codes/get-promo-code-user-limit.md): 指定したユーザがプロモーションコードを使用できる残り回数を取得します。
User limit APIを使用すると、ユーザーがプロモーションコードを使用できる回数を制限することができます。ユーザー制限自体の設定は、管理セクションにアクセスしてください:
* プロモーションコード
### プロモーションコードの特典を入手
- [GET /v2/project/{project_id}/promocode/code/{promocode_code}/rewards](https://developers.xsolla.com/ja/api/liveops/promotions-promo-codes/get-promo-code-rewards-by-code.md): Gets promo code rewards by its code.
Can be used to allow users to choose one of many items as a bonus.
The usual case is choosing a DRM if the promo code contains a game as a bonus (type=unit).
Note
This API call uses a user JWT for authorization.
Include the token in the Authorization header in the following format: Bearer <user_JWT>. For more information about user JWT, see the Security block for this call.
### プロモーションコードを引き換える
- [POST /v2/project/{project_id}/promocode/redeem](https://developers.xsolla.com/ja/api/liveops/promotions-promo-codes/redeem-promo-code.md): プロモーションコードを引き換えます。
プロモーションコードを引き換えた後、ユーザーは無料でアイテムを入手したり、カートや特定のアイテムの価格を下げたりすることができます。
### カートからプロモーションコードを削除
- [PUT /v2/project/{project_id}/promocode/remove](https://developers.xsolla.com/ja/api/liveops/promotions-promo-codes/remove-cart-promo-code.md): プロモーションコードをカートから削除します。
プロモーションコードを削除した後、カート内のすべてのアイテムの合計金額は、プロモーションコードによるボーナスや割引を除いて再計算されます。
### プロモーションコードのプロモーションのリストを取得
- [GET /v3/project/{project_id}/admin/promocode](https://developers.xsolla.com/ja/api/liveops/promotions-promo-codes/get-promo-codes.md): プロジェクトのプロモーションコードリストを取得します。
### プロモーションコードのプロモーションを作成
- [POST /v3/project/{project_id}/admin/promocode](https://developers.xsolla.com/ja/api/liveops/promotions-promo-codes/create-promo-code.md): プロモーションコードのプロモーションを作成します。
### プロモーションコードのプロモーションを削除
- [DELETE /v3/project/{project_id}/admin/promocode/{external_id}](https://developers.xsolla.com/ja/api/liveops/promotions-promo-codes/delete-promo-code.md): プロモーションコードのプロモーションを削除します。削除されたプロモーション:
* プロジェクトで設定されたプロモーションのリストから消える。
* アイテムカタログとカートに適用されなくなる。
削除後、プロモーションを復元することはできません。
削除されたプロモーションのプロモーションコードを既存のプロモーションに追加できます。
### プロモーションコードのプロモーションを取得
- [GET /v3/project/{project_id}/admin/promocode/{external_id}](https://developers.xsolla.com/ja/api/liveops/promotions-promo-codes/get-promo-code.md): 指定されたプロモーションコードを取得します。
### プロモーションコードのプロモーションを更新
- [PUT /v3/project/{project_id}/admin/promocode/{external_id}](https://developers.xsolla.com/ja/api/liveops/promotions-promo-codes/update-promo-code.md): プロモーションコードのプロモーションを更新しました。
## ユニークなカタログオファー
Call API methods from this subsection to configure and manage unique catalog offers.
Note
Refer to our documentation for detailed information about unique offers.
### ユニークなカタログオファープロモーションをアクティブ化にする
- [PUT /v2/project/{project_id}/admin/unique_catalog_offer/{external_id}/activate](https://developers.xsolla.com/ja/api/liveops/promotions-unique-catalog-offers/activate-unique-catalog-offer.md): ユニークなカタログオファープロモーションをアクティブ化にします。
作成されたユニークなカタログオファープロモーションは、デフォルトでは無効になっています。
アクティブ化するまで引き換えることはできません。
このエンドポイントを使用して、クーポンプロモーションを有効化およびアクティブ化します。
### ユニークなカタログオファーコードを取得する
- [GET /v2/project/{project_id}/admin/unique_catalog_offer/{external_id}/code](https://developers.xsolla.com/ja/api/liveops/promotions-unique-catalog-offers/get-unique-catalog-offer-codes.md): ユニークなカタログオファーコードを取得する
### ユニークなカタログオファーコードを作成する
- [POST /v2/project/{project_id}/admin/unique_catalog_offer/{external_id}/code](https://developers.xsolla.com/ja/api/liveops/promotions-unique-catalog-offers/create-unique-catalog-offer-code.md): ユニークなカタログオファーコードを作成します。
### ユニークなカタログオファーコードを生成する
- [PUT /v2/project/{project_id}/admin/unique_catalog_offer/{external_id}/code/generate](https://developers.xsolla.com/ja/api/liveops/promotions-unique-catalog-offers/generate-unique-catalog-offer-codes.md): ユニークなカタログオファーコードを生成します。
### ユニークカタログオファープロモーションを非アクティブ化する
- [PUT /v2/project/{project_id}/admin/unique_catalog_offer/{external_id}/deactivate](https://developers.xsolla.com/ja/api/liveops/promotions-unique-catalog-offers/deactivate-unique-catalog-offer.md): ユニークなカタログオファープロモーションを非アクティブ化にします。
作成されたユニークなカタログオファープロモーションは、デフォルトでは無効になっています。
アクティブ化するまで引き換えることはできません。
このエンドポイントを使用して、クーポンプロモーションを無効化および非アクティブ化します。
### ユニークなカタログオファープロモーションのリストを取得します。
- [GET /v3/project/{project_id}/admin/unique_catalog_offer](https://developers.xsolla.com/ja/api/liveops/promotions-unique-catalog-offers/get-unique-catalog-offers.md): プロジェクトのユニークなカタログオファープロモーションのリストを取得します。
### ユニークなカタログオファープロモーションを作成する
- [POST /v3/project/{project_id}/admin/unique_catalog_offer](https://developers.xsolla.com/ja/api/liveops/promotions-unique-catalog-offers/admin-create-unique-catalog-offer.md): ユニークなカタログオファープロモーションを作成します。
### ユニークなカタログオファープロモーションを削除
- [DELETE /v3/project/{project_id}/admin/unique_catalog_offer/{external_id}](https://developers.xsolla.com/ja/api/liveops/promotions-unique-catalog-offers/delete-unique-catalog-offer-promotion.md): ユニークなカタログオファープロモーションを削除します。削除されたプロモーション:
* プロジェクトで設定されたプロモーションのリストから消えます。
* アイテムカタログとカートに適用されなくなります。
削除後、プロモーションは復元できません。
### ユニークなカタログオファープロモーションを取得
- [GET /v3/project/{project_id}/admin/unique_catalog_offer/{external_id}](https://developers.xsolla.com/ja/api/liveops/promotions-unique-catalog-offers/get-unique-catalog-offer.md): 指定されたユニークなカタログオファープロモーションを取得します。
### ユニークカタログオファープロモーションをアップデート
- [PUT /v3/project/{project_id}/admin/unique_catalog_offer/{external_id}](https://developers.xsolla.com/ja/api/liveops/promotions-unique-catalog-offers/update-unique-catalog-offer-promotion.md): ユニークカタログオファープロモーションをアップデート
## ディスカウント
Call API methods from this subsection to configure and manage discount promotions.
Note
Refer to our documentation for detailed information about discounts.
### アイテムプロモーションのリストを取得
- [GET /v3/project/{project_id}/admin/promotion/item](https://developers.xsolla.com/ja/api/liveops/promotions-discounts/get-item-promotion-list.md): プロジェクトのアイテムプロモーションのリストを取得します。
プロモーションは、アイテムの割引(%)を提供します。
指定したアイテムの全価格に割引が適用されます。
### アイテムの割引プロモーションを作成
- [POST /v3/project/{project_id}/admin/promotion/item](https://developers.xsolla.com/ja/api/liveops/promotions-discounts/create-item-promotion.md): アイテムの割引キャンペーンを作成します。
キャンペーンは、アイテムの割引(%)を提供します。
指定したアイテムの全価格に割引が適用されます。
### アイテムプロモーションを削除
- [DELETE /v3/project/{project_id}/admin/promotion/{promotion_id}/item](https://developers.xsolla.com/ja/api/liveops/promotions-discounts/delete-item-promotion.md): 割引プロモーションを削除します。削除されたプロモーション:
* プロジェクトで設定されたプロモーションのリストから消えます。
* アイテムカタログとカートに適用されなくなります。
削除後、プロモーションは復元できません。
### アイテムプロモーションを取得
- [GET /v3/project/{project_id}/admin/promotion/{promotion_id}/item](https://developers.xsolla.com/ja/api/liveops/promotions-discounts/get-item-promotion.md): 特定のアイテムに適用されるプロモーションを取得します。
プロモーションは、商品の割引(%)を提供します。
指定した商品の全価格に割引が適用されます。
### アイテムプロモーションを更新する
- [PUT /v3/project/{project_id}/admin/promotion/{promotion_id}/item](https://developers.xsolla.com/ja/api/liveops/promotions-discounts/update-item-promotion.md): プロモーションを更新します。
注意新しいデータは古いデータに取って代わります。プロモーションの一部だけを更新したい場合は、必要なデータもすべてリクエストで転送する必要があります。
プロモーションは、商品の割引(%)を提供します。
指定した商品の全価格に割引が適用されます。
## ボーナス
Call API methods from this subsection to configure and manage bonus promotions.
Note
Refer to our documentation for detailed information about bonuses.
### ボーナスプロモーションのリストを取得
- [GET /v3/project/{project_id}/admin/promotion/bonus](https://developers.xsolla.com/ja/api/liveops/promotions-bonuses/get-bonus-promotion-list.md): プロジェクトのボーナスプロモーションのリストを取得します。
プロモーションは、ユーザーによる購入に無料のボーナスアイテムを追加します。
プロモーションは、プロジェクト内のすべての購入、または特定のアイテムを含む購入に適用することができます。
### ボーナスプロモーションを作成
- [POST /v3/project/{project_id}/admin/promotion/bonus](https://developers.xsolla.com/ja/api/liveops/promotions-bonuses/create-bonus-promotion.md): ボーナスプロモーションを作成します。
プロモーションは、ユーザーによる購入に無料のボーナスアイテムを追加します。
プロモーションは、プロジェクト内のすべての購入、または特定のアイテムを含む購入に適用することができます。
### ボーナスプロモーションを削除
- [DELETE /v3/project/{project_id}/admin/promotion/{promotion_id}/bonus](https://developers.xsolla.com/ja/api/liveops/promotions-bonuses/delete-bonus-promotion.md): ボーナスプロモーションを削除します。削除されたプロモーション:
* プロジェクトで設定されたプロモーションのリストから消えます。
* アイテムカタログとカートに適用されなくなります。
削除後、プロモーションを復元することはできません。
### ボーナスプロモーションを取得
- [GET /v3/project/{project_id}/admin/promotion/{promotion_id}/bonus](https://developers.xsolla.com/ja/api/liveops/promotions-bonuses/get-bonus-promotion.md): ボーナスプロモーションを取得します。
プロモーションは、ユーザーによる購入に無料のボーナスアイテムを追加します。
プロモーションは、プロジェクト内のすべての購入、または特定のアイテムを含む購入に適用することができます。
### ボーナスプロモーションを更新
- [PUT /v3/project/{project_id}/admin/promotion/{promotion_id}/bonus](https://developers.xsolla.com/ja/api/liveops/promotions-bonuses/update-bonus-promotion.md): プロモーションを更新します。
注意新しいデータは古いデータに置き換わります。プロモーションの一部だけを更新したい場合は、必要なデータもすべてリクエストで転送する必要があります。
プロモーションは、ユーザーによる購入に無料のボーナスアイテムを追加します。
プロモーションは、プロジェクト内のすべての購入、または特定のアイテムを含む購入に適用することができます。
## 個人用カタログ
Personalization allows you to specify the conditions for displaying the item catalog and applying promotions only for specific authorized users. Conditions are defined based on user attributes and allow you to offer items and promotions that are most relevant to particular users.
The following personalization types are available:
* [Xsolla-side personalization](/ja/liveops/promotion-tools/personalization/#guides_personalization_on_xsolla_side). Personalization rules and logic are configured and stored on the Xsolla side. You pass user attributes, and Xsolla uses them to generate a personalized catalog.
* [Partner-side personalization](/ja/liveops/promotion-tools/personalization/#guides_personalization_on_partner_side). You configure personalization rules and logic on your side and send a final catalog payload for a specific user to Xsolla.
Note
You can use only one personalization type. To change it, follow the
instructions.
To configure personalization on the Xsolla side using the Xsolla API:
1. Create items using the API calls from the **Admin** subsection of the [Virtual items and currency](/ja/api/catalog/virtual-items-currency-admin/admin-get-virtual-items-list/), [Bundles](/ja/api/catalog/bundles-admin/admin-create-bundle) or [Game keys](/ja/api/catalog/game-keys-admin) groups.
2. [Set up user attributes using the Xsolla Login API](/ja/liveops/promotion-tools/personalization/#web_shop_guide_personalization_setting_attributes) and keep them synchronized by updating data in Xsolla whenever changes occur in your game.
3. Configure personalization for items or promotions:
* To personalize the item catalog, define catalog display rules using the [Create catalog filter rule](/ja/api/liveops/personalized-catalog/create-filter-rule) API call:
* In the [attribute_conditions](/ja/api/liveops/personalized-catalog/create-filter-rule#personalized-catalog/create-filter-rule/t=request&path=attribute_conditions) array, specify the conditions that determine item availability based on user attributes.
* In the [items](/ja/api/liveops/personalized-catalog/create-filter-rule#personalized-catalog/create-filter-rule/t=request&path=items) array, provide the list of items that should be visible to the user if their attributes match the specified conditions.
* To configure personalized promotions, use the [create and update API calls for the required promotion type](/ja/api/liveops/promotions-discounts/create-item-promotion). In the [attribute_conditions](/ja/api/liveops/promotions-discounts/create-item-promotion) array, specify the conditions that determine promotion availability based on user attributes.
4. Pass the [user JWT](/ja/api/login/getting-user-token#getting-user-token) with user attributes to the [catalog retrieval API calls](https://developers.xsolla.com/ja/api/catalog/virtual-items-currency-catalog/get-virtual-items) to receive a personalized catalog.
**Sequence for configuring and applying Xsolla-side personalization for item catalog:**

**Sequence for configuring and applying Xsolla-side personalization for promotions:**

Note
Detailed information is provided:
### カタログフィルタルールのリストを取得
- [GET /v2/project/{project_id}/admin/user/attribute/rule](https://developers.xsolla.com/ja/api/liveops/personalized-catalog/get-filter-rules.md): ユーザー属性に適用されるすべてのルールを取得します。
### カタログフィルタルールを作成
- [POST /v2/project/{project_id}/admin/user/attribute/rule](https://developers.xsolla.com/ja/api/liveops/personalized-catalog/create-filter-rule.md): ユーザー属性のルールを作成します。
### クライアントサイドで検索するためのすべてのカタログルールを取得します
- [GET /v2/project/{project_id}/admin/user/attribute/rule/all](https://developers.xsolla.com/ja/api/liveops/personalized-catalog/get-all-filter-rules.md): クライアントサイドで検索するためのすべてのカタログルールのリストを取得します。
注意ルールID、名前、is_enabledのみを返します。
### カタログフィルタルールを削除
- [DELETE /v2/project/{project_id}/admin/user/attribute/rule/{rule_id}](https://developers.xsolla.com/ja/api/liveops/personalized-catalog/delete-filter-rule-by-id.md): 特定のルールを削除します。
### カタログフィルタルールを取得
- [GET /v2/project/{project_id}/admin/user/attribute/rule/{rule_id}](https://developers.xsolla.com/ja/api/liveops/personalized-catalog/get-filter-rule-by-id.md): ユーザー属性に適用される特定のルールを取得します。
### カタログフィルタルールを修正
- [PATCH /v2/project/{project_id}/admin/user/attribute/rule/{rule_id}](https://developers.xsolla.com/ja/api/liveops/personalized-catalog/patch-filter-rule-by-id.md): ユーザー属性に適用される特定のルールを更新します。指定されていないプロパティには、現在の値が使用されます。
### カタログフィルタールールを更新
- [PUT /v2/project/{project_id}/admin/user/attribute/rule/{rule_id}](https://developers.xsolla.com/ja/api/liveops/personalized-catalog/update-filter-rule-by-id.md): ユーザー属性に適用される特定のルールを更新します。指定されていないプロパティはデフォルト値が使用されます(プロパティが必須でない場合)。
## 管理
### 指定したユーザーのプロモーション制限をすべて更新する
- [DELETE /v2/project/{project_id}/admin/user/limit/promotion/all](https://developers.xsolla.com/ja/api/liveops/user-limits-admin/reset-all-user-promotions-limit.md): して、これらのプロモーションを再度使用できるため、指定されたユーザーのすべてのプロモーションのすべての制限を更新します。
User limit API を使用すると、ユーザーがプロモーションを使用できる回数を制限できます。ユーザー制限自体を構成するには、目的のプロモーションタイプの管理セクションに移動します:
* 割引プロモーション
* ボーナスプロモーション
### 指定したユーザーのプロモーション制限を減らす
- [DELETE /v2/project/{project_id}/admin/user/limit/promotion/id/{promotion_id}](https://developers.xsolla.com/ja/api/liveops/user-limits-admin/remove-user-promotion-limit.md): 指定されたユーザーが適用される制限内でプロモーションを使用できる残りの回数を減らします。
User limit API を使用すると、ユーザーがプロモーションを使用できる回数を制限できます。ユーザー制限自体を構成するには、目的のプロモーションタイプの管理セクションに移動します:
* 割引プロモーション
* ボーナスプロモーション
### 指定したユーザーのプロモーション制限を取得する
- [GET /v2/project/{project_id}/admin/user/limit/promotion/id/{promotion_id}](https://developers.xsolla.com/ja/api/liveops/user-limits-admin/get-user-promotion-limit.md): 指定されたユーザーが適用される制限内でプロモーションを使用できる残りの回数を取得します。
User limit API を使用すると、ユーザーがプロモーションを使用できる回数を制限できます。ユーザー制限自体を構成するには、目的のプロモーションタイプの管理セクションに移動します:
* 割引プロモーション
* ボーナスプロモーション
### 指定したユーザーのプロモーション制限を増やす
- [POST /v2/project/{project_id}/admin/user/limit/promotion/id/{promotion_id}](https://developers.xsolla.com/ja/api/liveops/user-limits-admin/add-user-promotion-limit.md): 指定されたユーザーが適用される制限内でプロモーションを使用できる残りの回数を増やします。
User limit API を使用すると、ユーザーがプロモーションを使用できる回数を制限できます。ユーザー制限自体を構成するには、目的のプロモーションタイプの管理セクションに移動します:
* 割引プロモーション
* ボーナスプロモーション
### 指定したユーザーのプロモーション制限を設定する
- [PUT /v2/project/{project_id}/admin/user/limit/promotion/id/{promotion_id}](https://developers.xsolla.com/ja/api/liveops/user-limits-admin/set-user-promotion-limit.md): プロモーションの増減後に適用される制限の中で、指定したユーザーが利用できる回数を設定します。
User limit API を使用すると、ユーザーがプロモーションを使用できる回数を制限できます。ユーザー制限自体を構成するには、目的のプロモーションタイプの管理セクションに移動します:
* 割引プロモーション
* ボーナスプロモーション
### ユーザー向けプロモーション制限を更新する
- [DELETE /v2/project/{project_id}/admin/user/limit/promotion/id/{promotion_id}/all](https://developers.xsolla.com/ja/api/liveops/user-limits-admin/reset-user-promotion-limit.md): ユーザーがこのプロモーションを再度使用できるように、プロモーション制限を更新します。userパラメータがnullである場合、このコールはすべてのユーザーのこの制限を更新します。
User limit API を使用すると、ユーザーがプロモーションを使用できる回数を制限できます。ユーザー制限自体を構成するには、目的のプロモーションタイプの管理セクションに移動します:
* 割引プロモーション
* ボーナスプロモーション
## 管理者
### バリューポイントのリストを取得する
- [GET /v2/project/{project_id}/admin/items/value_points](https://developers.xsolla.com/ja/api/liveops/reward-chain-value-points-admin/admin-get-value-points-list.md): 管理用のプロジェクト内のバリューポイントのリストを取得します。
### バリューポイントを作成する
- [POST /v2/project/{project_id}/admin/items/value_points](https://developers.xsolla.com/ja/api/liveops/reward-chain-value-points-admin/admin-create-value-points.md): バリューポイントを作成します。
### バリューポイントを削除する
- [DELETE /v2/project/{project_id}/admin/items/value_points/sku/{item_sku}](https://developers.xsolla.com/ja/api/liveops/reward-chain-value-points-admin/admin-delete-value-point.md): SKUによって識別されるバリューポイントを削除します。
### バリューポイントを取得する
- [GET /v2/project/{project_id}/admin/items/value_points/sku/{item_sku}](https://developers.xsolla.com/ja/api/liveops/reward-chain-value-points-admin/admin-get-value-point.md): 管理用のプロジェクト内のSKUによってバリューポイントを取得します。
### バリューポイントを更新する
- [PUT /v2/project/{project_id}/admin/items/value_points/sku/{item_sku}](https://developers.xsolla.com/ja/api/liveops/reward-chain-value-points-admin/admin-update-value-point.md): SKUで特定されるバリューポイントを更新します。
### アイテムからバリューポイントを削除する
- [DELETE /v2/project/{project_id}/admin/items/{value_point_sku}/value_points/rewards](https://developers.xsolla.com/ja/api/liveops/reward-chain-value-points-admin/admin-delete-items-value-point-reward.md): すべてのアイテムからバリューポイント報酬を削除します。
### バリューポイントを持つアイテムのリストを取得する
- [GET /v2/project/{project_id}/admin/items/{value_point_sku}/value_points/rewards](https://developers.xsolla.com/ja/api/liveops/reward-chain-value-points-admin/admin-get-items-value-point-reward.md): 管理用に、プロジェクト内のバリューポイントを持つすべてのアイテムリストを取得します。
### アイテムのバリューポイントを部分的に更新する
- [PATCH /v2/project/{project_id}/admin/items/{value_point_sku}/value_points/rewards](https://developers.xsolla.com/ja/api/liveops/reward-chain-value-points-admin/admin-patch-items-value-point-reward.md): SKUに基づいて、1つまたは複数のアイテムのバリューポイント数を部分的に更新します。
バリューポイント更新の原則:
* アイテムがまだバリューポイントを持っていない場合、amountフィールドにゼロ以外の値を送信すると、バリューポイントが作成されます。
* アイテムがすでにバリューポイントを持っている場合、amountフィールドに 0 以外の値を送信すると、バリューポイントが更新されます。
* amountが0に設定された場合、そのアイテムの既存のバリューポイントは削除されます。
PUTメソッド(アイテムにバリューポイントを設定する)とは異なり、このPATCHメソッドは、プロジェクト内のアイテムの既存のバリューポイントをすべて上書きするのではなく、指定されたアイテムのみを更新します。
1 つのリクエストで最大100アイテムまで更新できます。重複するアイテム SKU を同じリクエストに含めることはできません。
### アイテムのバリューポイントを設定する
- [PUT /v2/project/{project_id}/admin/items/{value_point_sku}/value_points/rewards](https://developers.xsolla.com/ja/api/liveops/reward-chain-value-points-admin/admin-set-items-value-point-reward.md): SKUによって1つまたは複数のアイテムにバリューポイントを割り当てます。ユーザーはこれらのアイテムを購入した後にバリューポイントを受け取ります。
このPUT要求は、プロジェクト内のアイテムの以前に設定されたすべてのバリューポイントを上書きすることに注意してください。
意図しないバリューポイントの削除を避けるため、各PUTリクエストにすべてのアイテムとそれぞれのバリューポイントを含めてください。
特定のアイテムのバリューポイントだけを更新し、他のアイテムのバリューポイントを保持したい場合は、GETリクエストを使って現在のバリューポイントセットを取得し、ご希望のアイテムのバリューポイントを修正し、修正したバリューポイントセットを特定のアイテムの更新されたバリューポイントと一緒に送り返す必要があります。
### 報酬チェーンのリストを取得する
- [GET /v3/project/{project_id}/admin/reward_chain](https://developers.xsolla.com/ja/api/liveops/reward-chain-value-points-admin/admin-get-reward-chains.md): 報酬チェーンのリストを取得します。
注意すべてのプロジェクトには、応答で得られるアイテムの数に制限があります。初期値および最大値は、1応答あたり10アイテムです。ページごとにより多くのデータを取得するには、LIMITとOFFSETフィールドを使用してください。
### 報酬チェーンを作成する
- [POST /v3/project/{project_id}/admin/reward_chain](https://developers.xsolla.com/ja/api/liveops/reward-chain-value-points-admin/admin-create-reward-chain.md): 報酬チェーンを作成します。
### 報酬チェーンを削除する
- [DELETE /v3/project/{project_id}/admin/reward_chain/id/{reward_chain_id}](https://developers.xsolla.com/ja/api/liveops/reward-chain-value-points-admin/admin-delete-reward-chain.md): 特定の報酬チェーンを削除します。
### 報酬チェーンを取得する
- [GET /v3/project/{project_id}/admin/reward_chain/id/{reward_chain_id}](https://developers.xsolla.com/ja/api/liveops/reward-chain-value-points-admin/admin-get-reward-chain.md): 特定の報酬チェーンを取得します。
### 報酬チェーンを更新する
- [PUT /v3/project/{project_id}/admin/reward_chain/id/{reward_chain_id}](https://developers.xsolla.com/ja/api/liveops/reward-chain-value-points-admin/admin-update-reward-chain.md): 特定の報酬チェーンを更新します。
### 報酬チェーンのリセット
- [POST /v3/project/{project_id}/admin/reward_chain/id/{reward_chain_id}/reset](https://developers.xsolla.com/ja/api/liveops/reward-chain-value-points-admin/admin-reset-reward-chain.md): 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.
### 報酬チェーンの切り替え
- [PUT /v3/project/{project_id}/admin/reward_chain/id/{reward_chain_id}/toggle](https://developers.xsolla.com/ja/api/liveops/reward-chain-value-points-admin/admin-toggle-reward-chain.md): 報酬チェーンを有効/無効にします。
## クライアント
### 現在のユーザーの報酬チェーンを取得する
- [GET /v2/project/{project_id}/user/reward_chain](https://developers.xsolla.com/ja/api/liveops/reward-chain-client/get-reward-chains-list.md): Client endpoint. Gets the current user’s reward chains.
Attention
All projects have the limitation to the number of items that you can
get in the response. The default and maximum value is 50 items
per response. To get more data page by page, use limit
and offset fields.
Note
This API call uses a user JWT for authorization.
Include the token in the Authorization header in the following format: Bearer <user_JWT>. For more information about user JWT, see the Security block for this call.
### 現在のユーザーのバリューポイント残高を取得する
- [GET /v2/project/{project_id}/user/reward_chain/{reward_chain_id}/balance](https://developers.xsolla.com/ja/api/liveops/reward-chain-client/get-user-reward-chain-balance.md): Client endpoint. Gets the current user’s value point balance.
Note
This API call uses a user JWT for authorization.
Include the token in the Authorization header in the following format: Bearer <user_JWT>. For more information about user JWT, see the Security block for this call.
### ステップ報酬を請求する
- [POST /v2/project/{project_id}/user/reward_chain/{reward_chain_id}/step/{step_id}/claim](https://developers.xsolla.com/ja/api/liveops/reward-chain-client/claim-user-reward-chain-step-reward.md): Client endpoint. Claims the current user’s step reward from a reward chain.
Note
This API call uses a user JWT for authorization.
Include the token in the Authorization header in the following format: Bearer <user_JWT>. For more information about user JWT, see the Security block for this call.
## クランクライアント
### クランの下で報酬チェーンへの貢献度トップ10を獲得する
- [GET /v2/project/{project_id}/user/clan/contributors/{reward_chain_id}/top](https://developers.xsolla.com/ja/api/liveops/clan-reward-chain-client/get-user-clan-top-contributors.md): Retrieves the list of top 10 contributors to the specific reward chain under the current user's clan. If a user doesn't belong to a clan, the call returns an empty array.
Note
This API call uses a user JWT for authorization.
Include the token in the Authorization header in the following format: Bearer <user_JWT>. For more information about user JWT, see the Security block for this call.
### 現在のユーザーのクランを更新する
- [PUT /v2/project/{project_id}/user/clan/update](https://developers.xsolla.com/ja/api/liveops/clan-reward-chain-client/user-clan-update.md): Updates a current user's clan via user attributes. Claims all rewards from reward chains that were not claimed for a previous clan and returns them in the response. If the user was in a clan and now is not — their inclusion in the clan will be revoked. If the user changed the clan — the clan will be changed.
Note
This API call uses a user JWT for authorization.
Include the token in the Authorization header in the following format: Bearer <user_JWT>. For more information about user JWT, see the Security block for this call.
## 管理者
### デイリー報酬のリストを取得する
- [GET /v2/project/{project_id}/admin/daily_chain](https://developers.xsolla.com/ja/api/liveops/daily-chain-admin/admin-get-daily-chains.md): 管理用にデイリー報酬のリストを取得します。
注意このメソッドはページ分割されたアイテムリストを返します。1 回のレスポンスで返されるアイテム数の上限とデフォルト値は50件です。それ以上のアイテムを取得する場合は、limitおよび offset パラメータを使用して追加のページを取得してください。例:limit = 25、offset = 100を指定した場合、全体リストの 101 件目から始まる 25 件が返されます。
### デイリー報酬の作成
- [POST /v2/project/{project_id}/admin/daily_chain](https://developers.xsolla.com/ja/api/liveops/daily-chain-admin/admin-create-daily-chain.md): デイリー報酬を作成します。
### デイリー報酬の削除
- [DELETE /v2/project/{project_id}/admin/daily_chain/id/{daily_chain_id}](https://developers.xsolla.com/ja/api/liveops/daily-chain-admin/admin-delete-daily-chain.md): 特定のデイリー報酬を削除します。
### デイリー報酬を取得する
- [GET /v2/project/{project_id}/admin/daily_chain/id/{daily_chain_id}](https://developers.xsolla.com/ja/api/liveops/daily-chain-admin/admin-get-daily-chain.md): 管理用の特定のデイリー報酬を取得します。
### デイリー報酬を更新する
- [PUT /v2/project/{project_id}/admin/daily_chain/id/{daily_chain_id}](https://developers.xsolla.com/ja/api/liveops/daily-chain-admin/admin-update-daily-chain.md): 特定のデイリー報酬を更新します。
### デイリー報酬をリセット
- [POST /v2/project/{project_id}/admin/daily_chain/id/{daily_chain_id}/reset](https://developers.xsolla.com/ja/api/liveops/daily-chain-admin/admin-reset-daily-chain.md): デイリー報酬における全ユーザーの進行状況をリセットします。rollingタイプのデイリー報酬にのみ適用されます。
### デイリー報酬のトグルを切り替える
- [PUT /v2/project/{project_id}/admin/daily_chain/id/{daily_chain_id}/toggle](https://developers.xsolla.com/ja/api/liveops/daily-chain-admin/admin-toggle-daily-chain.md): デイリー報酬を有効/無効にします。
## クライアント
### 現在のユーザーのデイリー報酬を取得する
- [GET /v2/project/{project_id}/user/daily_chain](https://developers.xsolla.com/ja/api/liveops/daily-chain-client/get-daily-chains-list.md): Client endpoint. Gets the current user's daily rewards.
NoticeA method returns a paginated list of items. The maximum and default value is 50 items per response. To get more items from the list, use the limit and offset parameters and fetch more pages. For example, when calling a method with limit = 25 and offset = 100, the response returns 25 items starting from the 101st item in the overall list.
Note
This API call uses a user JWT for authorization.
Include the token in the Authorization header in the following format: Bearer <user_JWT>. For more information about user JWT, see the Security block for this call.
### ID を指定して現在のユーザーのデイリー報酬を取得します。
- [GET /v2/project/{project_id}/user/daily_chain/{daily_chain_id}](https://developers.xsolla.com/ja/api/liveops/daily-chain-client/get-user-daily-chain-by-id.md): Client endpoint. Gets the current user’s daily reward by its ID.
Note
This API call uses a user JWT for authorization.
Include the token in the Authorization header in the following format: Bearer <user_JWT>. For more information about user JWT, see the Security block for this call.
### デイリー報酬ステップを受け取る
- [POST /v2/project/{project_id}/user/daily_chain/{daily_chain_id}/step/number/{step_number}/claim](https://developers.xsolla.com/ja/api/liveops/daily-chain-client/claim-user-daily-chain-step-reward.md): Client endpoint. Claims the current user's step reward from a daily reward. All steps can only be claimed in sequential order. The reward for a missed step cannot be obtained for virtual or real currency, or by watching an ad
Note
This API call uses a user JWT for authorization.
Include the token in the Authorization header in the following format: Bearer <user_JWT>. For more information about user JWT, see the Security block for this call.
## 管理者
### オファーチェーンのリストを取得する
- [GET /v2/project/{project_id}/admin/offer_chain](https://developers.xsolla.com/ja/api/liveops/offer-chain-admin/admin-get-offer-chains.md): 管理用のオファーチェーンリストを取得します。
注意すべてのプロジェクトには、1つの応答で返されるアイテム数に制限があります。デフォルトおよび最大値は1応答あたり10アイテムです。より多くのデータを取得するには、ページネーションのためにlimitとoffsetクエリパラメータを使用してください。
### オファーチェーンを作成する
- [POST /v2/project/{project_id}/admin/offer_chain](https://developers.xsolla.com/ja/api/liveops/offer-chain-admin/admin-create-offer-chain.md): オファーチェーンを作成します。
### オファーチェーンを削除する
- [DELETE /v2/project/{project_id}/admin/offer_chain/id/{offer_chain_id}](https://developers.xsolla.com/ja/api/liveops/offer-chain-admin/admin-delete-offer-chain.md): 特定のオファーチェーンを削除します。
削除後:ユーザーがすでに受け取ったすべての報酬は保持されます。未完了のステップは利用不可になり、その報酬は取得できなくなります。
オファーチェーンの有効/無効切り替えるコールによるオファーチェーンの無効化とは異なり、削除は元に戻すことができず、ユーザーの進捗状況は保持されません。
### オファーチェーンを取得する
- [GET /v2/project/{project_id}/admin/offer_chain/id/{offer_chain_id}](https://developers.xsolla.com/ja/api/liveops/offer-chain-admin/admin-get-offer-chain.md): 管理用の特定のオファーチェーンを取得します。
### オファーチェーンを更新する
- [PUT /v2/project/{project_id}/admin/offer_chain/id/{offer_chain_id}](https://developers.xsolla.com/ja/api/liveops/offer-chain-admin/admin-update-offer-chain.md): 特定のオファーチェーンを更新するします。
### オファーチェーンの有効/無効切り替え
- [PUT /v2/project/{project_id}/admin/offer_chain/id/{offer_chain_id}/toggle](https://developers.xsolla.com/ja/api/liveops/offer-chain-admin/admin-toggle-offer-chain.md): オファーチェーンを有効または無効にします。
オファーチェーンが無効になると、ユーザーは一時的にアクセスできなくなりますが、進行状況は保持されます。
オファーチェーンが再度有効になった後、ユーザーは中断したステップから再開できます。
## クライアント
### 現在のユーザーのオファーチェーンを取得する
- [GET /v2/project/{project_id}/user/offer_chain](https://developers.xsolla.com/ja/api/liveops/offer-chain-client/get-offer-chains-list.md): Gets the current user’s offer chains.
NoticeAll projects have a limit on the number of items that can be returned in a single response. The default and maximum value is 30 items per response. To get more data, use the limit and offset query parameters for pagination.
Note
This API call uses a user JWT for authorization.
Include the token in the Authorization header in the following format: Bearer <user_JWT>. For more information about user JWT, see the Security block for this call.
### IDで現在のユーザーのオファーチェーンを取得する
- [GET /v2/project/{project_id}/user/offer_chain/{offer_chain_id}](https://developers.xsolla.com/ja/api/liveops/offer-chain-client/get-user-offer-chain-by-id.md): Gets the current user’s offer chain by the offer chain's ID.
Note
This API call uses a user JWT for authorization.
Include the token in the Authorization header in the following format: Bearer <user_JWT>. For more information about user JWT, see the Security block for this call.
### 無料オファーチェーンステップを請求する
- [POST /v2/project/{project_id}/user/offer_chain/{offer_chain_id}/step/number/{step_number}/claim](https://developers.xsolla.com/ja/api/liveops/offer-chain-client/claim-user-offer-chain-step-reward.md): Completes the current user’s progression through the offer chain step and grants the associated reward.
Notice
Use this call only for free steps in the offer chain.
For steps that require payment in real currency, use the Create order for paid offer chain step call instead.
Note
This API call uses a user JWT for authorization.
Include the token in the Authorization header in the following format: Bearer <user_JWT>. For more information about user JWT, see the Security block for this call.
### 有料のオファーチェーンステップの注文を作成する
- [POST /v2/project/{project_id}/user/offer_chain/{offer_chain_id}/step/number/{step_number}/order](https://developers.xsolla.com/ja/api/liveops/offer-chain-client/order-user-offer-chain-step-reward.md): Creates an order for the item associated with the specified paid offer chain step. The created order gets the new order status.
To open the payment UI in a new window, use the following link: https://secure.xsolla.com/paystation4/?token={token}, where {token} is the received token.
For testing purposes, use this URL: https://sandbox-secure.xsolla.com/paystation4/?token={token}.
Notice
This method must be used on the client side. The user's IP address is used to determine the country, which affects the currency and available payment methods. Using this method from the server side may result in incorrect currency detection and affect payment methods in Pay Station.
Notice
Use this call only for paid offer chain steps.
For free steps, use the Claim free offer chain step call instead.
Note
This API call uses a user JWT for authorization.
Include the token in the Authorization header in the following format: Bearer <user_JWT>. For more information about user JWT, see the Security block for this call.
## payment-client-side
### 有料のオファーチェーンステップの注文を作成する
- [POST /v2/project/{project_id}/user/offer_chain/{offer_chain_id}/step/number/{step_number}/order](https://developers.xsolla.com/ja/api/liveops/offer-chain-client/order-user-offer-chain-step-reward.md): Creates an order for the item associated with the specified paid offer chain step. The created order gets the new order status.
To open the payment UI in a new window, use the following link: https://secure.xsolla.com/paystation4/?token={token}, where {token} is the received token.
For testing purposes, use this URL: https://sandbox-secure.xsolla.com/paystation4/?token={token}.
Notice
This method must be used on the client side. The user's IP address is used to determine the country, which affects the currency and available payment methods. Using this method from the server side may result in incorrect currency detection and affect payment methods in Pay Station.
Notice
Use this call only for paid offer chain steps.
For free steps, use the Claim free offer chain step call instead.
Note
This API call uses a user JWT for authorization.
Include the token in the Authorization header in the following format: Bearer <user_JWT>. For more information about user JWT, see the Security block for this call.
## 管理者
### プロジェクトのアップセル情報を入手
- [GET /v2/project/{project_id}/admin/items/upsell](https://developers.xsolla.com/ja/api/liveops/upsell-admin/get-upsell-configurations-for-project-admin.md): プロジェクト内のアップセルに関する情報を取得します:アップセルが有効かどうか、アップセルのタイプ、アップセルの一部であるアイテムのSKUリスト。
### アップセルを作成
- [POST /v2/project/{project_id}/admin/items/upsell](https://developers.xsolla.com/ja/api/liveops/upsell-admin/post-upsell.md): Creates an upsell for a project.
Notice
This API call uses a user JWT for authorization.
Include the token in the Authorization header in the following format: Bearer <user_JWT>. For more information about user JWT, see the Security block for this call.
### アップセルを更新
- [PUT /v2/project/{project_id}/admin/items/upsell](https://developers.xsolla.com/ja/api/liveops/upsell-admin/put-upsell.md): Update an upsell for a project.
Notice
This API call uses a user JWT for authorization.
Include the token in the Authorization header in the following format: Bearer <user_JWT>. For more information about user JWT, see the Security block for this call.
### プロジェクトのアップセルをアクティブ化/非アクティブ化
- [PUT /v2/project/{project_id}/admin/items/upsell/{toggle}](https://developers.xsolla.com/ja/api/liveops/upsell-admin/put-upsell-toggle-active-inactive.md): Changes an upsell’s status in a project to be either active or inactive.
Notice
This API call uses a user JWT for authorization.
Include the token in the Authorization header in the following format: Bearer <user_JWT>. For more information about user JWT, see the Security block for this call.
## クライアント
### プロジェクト内のアップセルアイテムのリストを取得する
- [GET /v2/project/{project_id}/items/upsell](https://developers.xsolla.com/ja/api/liveops/upsell-client/get-upsell-for-project-client.md): Gets a list of upsell items in a project if they have already been set up.
Note
This API call uses a user JWT for authorization.
Include the token in the Authorization header in the following format: Bearer <user_JWT>. For more information about user JWT, see the Security block for this call.