# オファーチェーンを作成する

オファーチェーンを作成します。

Endpoint: POST /v2/project/{project_id}/admin/offer_chain
Version: 2.0.0
Security: basicAuth

## Path parameters:

  - `project_id` (integer, required)
    プロジェクトID。このパラメータは、パブリッシャーアカウントのプロジェクト名の横、またはプロジェクトの作業中にブラウザのアドレスバーで確認できます。URLの形式は以下の通りです：https://publisher.xsolla.com//projects/。
    Example: 44056

## Request fields (application/json):

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

  - `order` (integer)
    配列順序を定義します。

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

  - `date_start` (string, required)
    オファーチェーンの開始日。

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

  - `is_enabled` (boolean, required)

  - `recurrent_schedule` (any)

  - `steps` (array, required)

  - `steps.step_number` (integer, required)
    ステップ番号。

  - `steps.is_free` (boolean, required)
    オファーチェーンのステップが無料であるかどうかを示します：trueの場合、ステップは無料オファーチェーンステップを請求するコールを使用して請求する必要があります。falseの場合、有料オファーチェーンステップの注文を作成するコールを使用して購入する必要があります。

  - `steps.items` (array, required)

  - `steps.items.sku` (string, required)
    一意のアイテムID。SKUには、小文字と大文字のラテン英数字、ピリオド、ダッシュ、およびアンダースコアのみが含まれます。

  - `steps.items.quantity` (integer, required)
    このチェーンステップの報酬アイテム数量。

  - `steps.items.order` (integer,null)
    オファーチェーンステップの報酬注文。

  - `is_always_visible` (boolean)
    報酬チェーンをすべてのユーザーに表示するかどうかを設定します。trueの場合、ユーザーの認証ステータスや属性に関わらず、チェーンは常に表示されます。

個人用設定を設定するには、falseを渡す必要があります。チェーンの表示ロジックは以下のようになります：
  * falseが渡され、かつattribute_conditions配列に表示条件が指定されている場合、そのチェーンはパーソナライズされているとみなされ、指定された条件を満たす認証されたユーザーにのみ表示されます。
  * falseが渡され、かつattribute_conditions配列が渡されないか空である場合、チェーンは未認証のユーザーに表示されます。また、認証されたユーザーに対して一致するチェーンが見つからない場合にも表示されます。

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

## Response 201 fields (application/json):

  - `offer_chain_id` (integer)
    Example: 10

## Response 401 fields (application/json):

  - `statusCode` (integer)
    Example: 401

  - `errorCode` (integer)
    Example: 1020

  - `errorMessage` (string)
    Example: "[0401-1020]: Error in Authentication method occurred"

## Response 422 fields (application/json):

  - `statusCode` (integer)
    Example: 422

  - `errorCode` (integer)
    Example: 1102

  - `errorMessage` (string)
    Example: "[0401-1102]: Unprocessable Entity. The property `property_name` is required"

  - `transactionId` (string)
    Example: "x-x-x-x-transactionId-mock-x-x-x"

  - `errorMessageExtended` (object,null)


