

AWS Marketplace API リファレンスが再構築されました。サポートされている API オペレーションの詳細については、[AWS Marketplace API リファレンス](https://docs.aws.amazon.com/marketplace/latest/APIReference/Welcome.html)を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# オファーセットの使用
<a name="work-with-offer-sets"></a>

AWS Marketplace オファーセットを使用すると、販売者は複数のプライベートオファーを購入者向けの統合マルチ製品取引可能パッケージにパッケージ化できます。この機能は、複雑なエンタープライズ環境における包括的なend-to-endソリューションに対する顧客の需要の高まりに対処します。

従来、購入者は複数の販売者から個々の製品を検出して調達する必要があり、その結果、エクスペリエンスが断片化され、統合の課題が発生し、調達サイクルが長くなりました。オファーセットは、AWS Marketplace パートナーが複数のオファーを組み合わせて、顧客が 1 回限りの承認ですべてのコンポーネントを確認して受け入れることができる、調整されたプライベートオファーを通じてトランザクションプロセスを合理化することで、これを簡素化します。

オファーセットは ソリューションと連携して、包括的なマルチ製品を提供します。ソリューションは、詳細な説明、アーキテクチャ図、ユースケースドキュメントなどの豊富なマーケティングコンテンツを提供しますが、オファーセットは、統合調達のための取引可能なパッケージングと商用条件を処理します。

## オファーセットエンティティ
<a name="offer-set-entity"></a>

オファーセットは、2～7 のプライベートオファーを 1 つのトランザクション可能なパッケージにグループ化するコンテナです。オファーセット内の各オファーは独自の料金、支払い条件、期間、エンドユーザーライセンス契約 (EULA) を維持し、オファーセットは購入者に統一された検出と承諾エクスペリエンスを提供します。

**主な特性:**
+ 複数のプライベートオファーをグループ化する (最小 2、最大 7)
+ 1 つのアクションですべてのオファーを購入者が一元的に承諾できるようにします
+ オファーごとに異なる用語で柔軟性を維持します
+ 製品ごとに個別の契約を作成し、購入後に独立した管理を可能にします
+ オプションで、拡張マーケティングコンテンツ用のソリューションに関連付けることができます。

オファーセットエンティティタイプは です`OfferSet@1.0`。

**エンティティ識別子**

オファーセットは`offerset-*`識別子形式 ( など`offerset-abc123def456`) を使用します。

**エンティティ ARN 形式**

オファーセットは、標準の AWS ARN 形式に従います。

```
arn:aws:aws-marketplace:{region}:{account-id}:AWSMarketplace/OfferSet/{offerset-id}
```

例:

```
arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/OfferSet/offerset-abc123def456
```

## オファーセットの開始方法
<a name="getting-started-with-offer-sets"></a>

このセクションでは、 AWS Marketplace Catalog API [変更タイプ](https://docs.aws.amazon.com/marketplace/latest/APIReference/API_Change.html)を使用したオファーセットの作成と管理に関する詳細情報を提供します。

開始する前に、以下の準備が整っていることを確認します。
+ 有効な AWS Marketplace 販売者登録とパブリックプロファイル。詳細については、「販売[者プロファイルの登録と作成](https://docs.aws.amazon.com/marketplace/latest/userguide/create-public-profile.html)」を参照してください。
+ API へのアクセスと完了した販売者の前提条件。詳細については、[「AWS Marketplace Catalog API のアクセスコントロール](https://docs.aws.amazon.com/marketplace/latest/APIReference/catalog-api-access-control.html)」を参照してください。
+ AWS Marketplace Catalog API の使用の基本については、[「AWS Marketplace Catalog API の使用](https://docs.aws.amazon.com/marketplace/latest/APIReference/catalog-apis.html)」を参照してください。

## オファーセットを一覧表示する
<a name="list-offer-sets"></a>

アカウント内のすべてのオファーセットを一覧表示するには、 を `EntityType`に設定して `ListEntities` API オペレーションを呼び出します`OfferSet`。

**リクエスト**

```
POST /ListEntities HTTP/1.1
Content-type: application/json

{
  "Catalog": "AWSMarketplace",
  "EntityType": "OfferSet"
}
```

**レスポンス**

```
{
  "EntitySummaryList": [
    {
      "EntityType": "OfferSet",
      "EntityId": "offerset-xyz123",
      "EntityArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/OfferSet/offerset-xyz123",
      "LastModifiedDate": "2025-06-25T23:46:25Z",
      "OfferSetSummary": {
        "Name": "Enterprise Security Solution Offer Set",
        "State": "Released",
        "ReleaseDate": "2025-06-25T23:46:20Z",
        "SolutionId": "soln-abc987",
        "AssociatedOfferIds": [
          "offer-abc123",
          "offer-def456",
          "offer-ghi789"
        ]
      }
    }
  ],
  "NextToken": null
}
```

### オファーセットを状態別にフィルタリングする
<a name="filter-offer-sets-by-state"></a>

オファーセットは、 `EntityTypeFilters`パラメータを使用して状態別にフィルタリングできます。

**[リクエスト]**

```
POST /ListEntities HTTP/1.1
Content-type: application/json

{
  "Catalog": "AWSMarketplace",
  "EntityType": "OfferSet",
  "EntityTypeFilters": {
    "OfferSetFilters": {
      "State": {
        "ValueList": [
          "Released"
        ]
      }
    }
  }
}
```

### ソリューション ID でオファーセットをフィルタリングする
<a name="filter-offer-sets-by-solution-id"></a>

オファーセットは、 `EntityTypeFilters`パラメータを使用してソリューション ID でフィルタリングできます。

**[リクエスト]**

```
POST /ListEntities HTTP/1.1
Content-type: application/json

{
  "Catalog": "AWSMarketplace",
  "EntityType": "OfferSet",
  "EntityTypeFilters": {
    "OfferSetFilters": {
      "SolutionId": {
        "ValueList": [
          "soln-abc987"
        ]
      }
    }
  }
}
```

### リリース日でオファーセットをフィルタリングする
<a name="filter-offer-sets-by-release-date"></a>

オファーセットをリリース日でフィルタリングし、 `EntityTypeFilters` および `EntityTypeSort`パラメータを使用して結果をソートできます。

**[リクエスト]**

```
POST /ListEntities HTTP/1.1
Content-type: application/json

{
  "Catalog": "AWSMarketplace",
  "EntityType": "OfferSet",
  "EntityTypeFilters": {
    "OfferSetFilters": {
      "ReleaseDate": {
        "AfterValue": "2025-11-01"
      }
    }
  },
  "EntityTypeSort": {
    "OfferSetSort": {
      "SortBy": "ReleaseDate",
      "SortOrder": "DESCENDING"
    }
  }
}
```

## オファーセットの説明
<a name="describe-offer-set"></a>

特定のオファーセットに関する詳細情報を取得するには、 `DescribeEntity` API オペレーションを呼び出します。

**リクエスト**

```
GET /DescribeEntity?catalog=AWSMarketplace&entityId=offerset-xyz123 HTTP/1.1
```

**レスポンス**

```
{
  "EntityType": "OfferSet@1.0",
  "EntityId": "offerset-xyz123",
  "EntityArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/OfferSet/offerset-xyz123",
  "LastModifiedDate": "2025-06-25T23:46:25Z",
  "DetailsDocument": {
    "Id": "offerset-xyz123",
    "Name": "Enterprise Security Solution Offer Set",
    "BuyerNotes": "Complete security solution including endpoint protection and network monitoring",
    "State": "Released",
    "SolutionId": "soln-abc987",
    "ReleaseDate": "2025-06-25T23:46:20Z",
    "AssociatedOffers": [
      {
        "OfferId": "offer-abc123"
      },
      {
        "OfferId": "offer-def456"
      },
      {
        "OfferId": "offer-ghi789"
      }      
    ]
  }
}
```

## オファーセットを作成する
<a name="create-offer-set"></a>

`CreateOfferSet` 変更タイプを使用して、Draft 状態の新しいオファーセットエンティティを作成します。これはオファーセットライフサイクルの最初のステップであり、後で購入者にリリースする前にオファーの関連付けとメタデータで設定される基盤エンティティを確立します。

**リクエストの構文**

```
POST /StartChangeSet HTTP/1.1
Content-type: application/json

{
  "Catalog": "AWSMarketplace",
  "ChangeSet": [
    {
      "ChangeType": "CreateOfferSet",
      "Entity": {
        "Type": "OfferSet@1.0"
      },
      "ChangeName": "CreateOfferSetChange",
      "DetailsDocument": {
        "Name": "Enterprise Security Solution Offer Set"
      }
    }
  ]
}
```

`CreateOfferSet` 変更タイプを追加するフィールドの情報を入力します。
+ `Entity` (オブジェクト) (必須) – 作成されるエンティティタイプ。
  + `Type` (文字列) (必須) – である必要があります`OfferSet@1.0`。
+ `DetailsDocument` (オブジェクト) (必須) – リクエストの詳細。
  + `Name` (文字列) (必須) – お客様およびお客様の顧客にとって読みやすくするために、オファーセットに関連付けられた名前。最小長: 1 文字。最大長: 150 文字。

**レスポンスの構文**

リクエストの変更セットが作成されます。このリクエストに対するレスポンスは、変更セット`ChangeSetArn`の `ChangeSetId`と を提供し、次のようになります。

```
{
  "ChangeSetId": "example123456789012abcdef",
  "ChangeSetArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/ChangeSet/example123456789012abcdef"
}
```

変更リクエストがキューに追加され、処理されます。これには、AWS Marketplace ガイドラインを満たしていることを確認するための情報の検証が含まれます。検証プロセスには数分かかる場合があります。

リクエストのステータスは、AWS Marketplace 管理ポータルを通じて、または API オペレーションを使用して Catalog `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API から直接確認できます。

処理が成功すると、 は というプレフィックスが付いた一意の識別子を持つオファーセットをドラフト状態で AWS Marketplace 生成します`offerset-`。

## オファーセット情報の更新
<a name="update-offer-set-information"></a>

`UpdateInformation` 変更タイプを使用して、名前や購入者のメモなど、既存のオファーセットの詳細を変更します。

**リクエストの構文**

```
POST /StartChangeSet HTTP/1.1
Content-type: application/json

{
  "Catalog": "AWSMarketplace",
  "ChangeSet": [
    {
      "ChangeType": "UpdateInformation",
      "Entity": {
        "Type": "OfferSet@1.0",
        "Identifier": "offerset-abc123"
      },
      "DetailsDocument": {
        "Name": "Updated Enterprise Security Offer Set",
        "BuyerNotes": "Complete security solution including endpoint protection, network monitoring, and professional services implementation"
      }
    }
  ]
}
```

`UpdateInformation` 変更タイプを追加するフィールドの情報を入力します。
+ `Entity` (オブジェクト) (必須) – 更新されるエンティティ。
  + `Identifier` (文字列) (必須) – オファーセット ID。詳細については、「[識別子](catalog-apis.md#identifier)」を参照してください。
  + `Type` (文字列) (必須) – である必要があります`OfferSet@1.0`。
+ `DetailsDocument` (オブジェクト) (必須) – 少なくとも 1 つのフィールドを指定する必要があります。
  + `Name` (文字列) (オプション) – 購入者に表示される表示名。最小長: 1 文字。最大長: 150 文字。
  + `BuyerNotes` (文字列) (オプション) – 購入者がその目的と内容を理解するのに役立つオファーセットに関する詳細情報。最小長: 1 文字。最大長: 1,000 文字。

**レスポンスの構文**

リクエストの変更セットが作成されます。このリクエストに対するレスポンスは、変更セット`ChangeSetArn`の `ChangeSetId`と を提供し、次のようになります。

```
{
  "ChangeSetId": "example123456789012abcdef",
  "ChangeSetArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/ChangeSet/example123456789012abcdef"
}
```

変更リクエストがキューに追加され、処理されます。これには、AWS Marketplace ガイドラインを満たしていることを確認するための情報の検証が含まれます。検証プロセスには数分かかる場合があります。

リクエストのステータスは、AWS Marketplace 管理ポータルを通じて、または API オペレーションを使用して Catalog `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API から直接確認できます。

## オファーをオファーセットに関連付ける
<a name="associate-offers"></a>

`AssociateOffers` 変更タイプを使用して、複数の AWS Marketplace オファーをオファーセットに関連付けます。これにより、オファーとオファーセットの関係が作成され、オファーセットのトランザクション可能な設定の一部になります。

オペレーションはべき等であり、現在の状態に関係なくオファーを関連付けることができるため、個々のオファーがリリースされる前に完全な設定が可能になります。各オファーは 1 つのオファーセットにのみ属できます。

**重要**  
個々のオファー`OfferSetId`の はイミュータブルであり、オファーの作成時にのみ設定できます。を使用してオファーをオファーセットに関連付ける前に`AssociateOffers`、まず個々のオファーを作成し、オファーの作成`OfferSetId`時に を指定する必要があります。正しい がない既存のオファーを含める必要がある場合は`OfferSetId`、正しい `OfferSetId` を指定して新しいオファーを作成する必要があります。

必要な IAM アクセス許可の詳細については、「」を参照してください[オファーセットの IAM アクセス許可](#iam-permissions-offer-sets)。

**リクエストの構文**

```
POST /StartChangeSet HTTP/1.1
Content-type: application/json

{
  "Catalog": "AWSMarketplace",
  "ChangeSet": [
    {
      "ChangeType": "AssociateOffers",
      "Entity": {
        "Type": "OfferSet@1.0",
        "Identifier": "offerset-abc123"
      },
      "DetailsDocument": {
        "Offers": [
          {
            "OfferId": "offer-xyz789"
          },
          {
            "OfferId": "offer-def456"
          },
          {
            "OfferId": "offer-ghi123"
          }
        ]
      }
    }
  ]
}
```

`AssociateOffers` 変更タイプを追加するフィールドの情報を入力します。
+ `Entity` (オブジェクト) (必須) – 更新されるエンティティ。
  + `Identifier` (文字列) (必須) – オファーセット ID。詳細については、「[識別子](catalog-apis.md#identifier)」を参照してください。
  + `Type` (文字列) (必須) – である必要があります`OfferSet@1.0`。
+ `DetailsDocument` (オブジェクト) (必須) – リクエストの詳細。
  + `Offers` (配列) (必須) – 関連付ける AWS Marketplace オファーのリスト。最小: 1 項目。最大: 7 項目。
    + `OfferId` (文字列) (必須) – AWS Marketplace オファーの識別子。最小長: 1 文字。最大長: 36 文字。

**レスポンスの構文**

リクエストの変更セットが作成されます。このリクエストに対するレスポンスは、変更セット`ChangeSetArn`の `ChangeSetId`と を提供し、次のようになります。

```
{
  "ChangeSetId": "example123456789012abcdef",
  "ChangeSetArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/ChangeSet/example123456789012abcdef"
}
```

変更リクエストがキューに追加され、処理されます。これには、AWS Marketplace ガイドラインを満たしていることを確認するための情報の検証が含まれます。検証プロセスには数分かかる場合があります。

リクエストのステータスは、AWS Marketplace 管理ポータルを通じて、または API オペレーションを使用して Catalog `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API から直接確認できます。

### 非同期エラー
<a name="associate-offers-asynchronous-errors"></a>

以下のエラーは、 AWS Marketplace Catalog API の `AssociateOffers`アクションに固有のものです。これらのエラーは、変更セットの処理`DescribeChangeSet`後に を呼び出すと返されます。`DescribeChangeSet` を使用して変更リクエストのステータスを取得する方法の詳細については、「」を参照してください[変更セットの使用](catalog-apis.md#working-with-change-sets)。


| エラーコード | エラーメッセージ | 
| --- | --- | 
| TOO\_MANY\_OFFERS | 最大 7 つのオファーをオファーセットに関連付けます。 | 
| INCOMPATIBLE\_OFFER\_SET\_REFERENCE | すべてのオファーがこのオファーセット専用に作成されていることを確認します。 | 
| INVALID\_UPDATE\_REQUEST | リクエストされた変更は、オファーセットのリリース後に実行することはできません。 | 

## オファーセットからオファーの関連付けを解除する
<a name="disassociate-offers"></a>

`DisassociateOffers` 変更タイプを使用して、 AWS Marketplace オファーセットから複数のオファーを削除します。このべき等操作は、オファーの `OfferSetId` 属性を保持しながら関連付け関係を削除します。関連付けが解除されたオファーは、同じオファーセットに再関連付けされるまで、購入者検出から非表示になります。別のオファーセットに関連付けることはできません。

**リクエストの構文**

```
POST /StartChangeSet HTTP/1.1
Content-type: application/json

{
  "Catalog": "AWSMarketplace",
  "ChangeSet": [
    {
      "ChangeType": "DisassociateOffers",
      "Entity": {
        "Type": "OfferSet@1.0",
        "Identifier": "offerset-abc123"
      },
      "DetailsDocument": {
        "Offers": [
          {
            "OfferId": "offer-xyz789"
          }
        ]
      }
    }
  ]
}
```

`DisassociateOffers` 変更タイプを追加するフィールドの情報を入力します。
+ `Entity` (オブジェクト) (必須) – 更新するエンティティ。
  + `Identifier` (文字列) (必須) – オファーセット ID。詳細については、「[識別子](catalog-apis.md#identifier)」を参照してください。
  + `Type` (文字列) (必須) – である必要があります`OfferSet@1.0`。
+ `DetailsDocument` (オブジェクト) (必須) – リクエストの詳細。
  + `Offers` (配列) (必須) – 関連付けを解除するオファーのリスト。最小: 1 項目。最大: 7 項目。
    + `OfferId` (文字列) (必須) – AWS Marketplace オファーの識別子。最小長: 1 文字。最大長: 36 文字。

**レスポンスの構文**

リクエストの変更セットが作成されます。このリクエストに対するレスポンスは、変更セット`ChangeSetArn`の `ChangeSetId`と を提供し、次のようになります。

```
{
  "ChangeSetId": "example123456789012abcdef",
  "ChangeSetArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/ChangeSet/example123456789012abcdef"
}
```

変更リクエストがキューに追加され、処理されます。これには、AWS Marketplace ガイドラインを満たしていることを確認するための情報の検証が含まれます。検証プロセスには数分かかる場合があります。

リクエストのステータスは、AWS Marketplace 管理ポータルを通じて、または API オペレーションを使用して Catalog `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API から直接確認できます。

### 非同期エラー
<a name="disassociate-offers-asynchronous-errors"></a>

次のエラーは、 AWS Marketplace Catalog API の `DisassociateOffers`アクションに固有のものです。これらのエラーは、変更セットの処理`DescribeChangeSet`後に を呼び出すと返されます。`DescribeChangeSet` を使用して変更リクエストのステータスを取得する方法の詳細については、「」を参照してください[変更セットの使用](catalog-apis.md#working-with-change-sets)。


| エラーコード | エラーメッセージ | 
| --- | --- | 
| INVALID\_UPDATE\_REQUEST | リクエストされた変更は、オファーセットのリリース後に実行することはできません。 | 

## ソリューションをオファーセットに関連付ける
<a name="associate-solution-with-offer-set"></a>

`AssociateSolution` 変更タイプを使用して、単一の AWS Marketplace ソリューションをオファーセットに関連付けます。これにより、購入者はソリューションへのオファーセットの接続を検出し、詳細な説明、アーキテクチャ図、ユースケースドキュメントなどのソリューションの豊富なマーケティングコンテンツにアクセスできるようになります。

**注記**  
これは疎結合の関連付けです。AWS Marketplace では、ソリューションとオファーセット間の一貫性は強制されません。ソリューションには、AWS Marketplace 製品、オファーセット内の製品とは異なる製品、または重複する製品を含めることはできません。マーケティングおよび検出の目的で、所有しているソリューションを完全に柔軟に関連付けることができます。

必要な IAM アクセス許可の詳細については、「」を参照してください[オファーセットの IAM アクセス許可](#iam-permissions-offer-sets)。

**リクエストの構文**

```
POST /StartChangeSet HTTP/1.1
Content-type: application/json

{
  "Catalog": "AWSMarketplace",
  "ChangeSet": [
    {
      "ChangeType": "AssociateSolution",
      "Entity": {
        "Type": "OfferSet@1.0",
        "Identifier": "offerset-abc123"
      },
      "DetailsDocument": {
        "SolutionId": "soln-xyz789"
      }
    }
  ]
}
```

`AssociateSolution` 変更タイプを追加するフィールドの情報を入力します。
+ `Entity` (オブジェクト) (必須) – 更新するエンティティ。
  + `Identifier` (文字列) (必須) – オファーセット ID。詳細については、「[識別子](catalog-apis.md#identifier)」を参照してください。
  + `Type` (文字列) (必須) – である必要があります`OfferSet@1.0`。
+ `DetailsDocument` (オブジェクト) (必須) – リクエストの詳細。
  + `SolutionId` (文字列) (必須) – 関連付ける AWS Marketplace ソリューションの識別子。最小長: 1 文字。最大長: 50 文字。パターン と一致する必要があります`^soln-[A-Za-z0-9]+$`。

**レスポンスの構文**

リクエストの変更セットが作成されます。このリクエストに対するレスポンスは、変更セット`ChangeSetArn`の `ChangeSetId`と を提供し、次のようになります。

```
{
  "ChangeSetId": "example123456789012abcdef",
  "ChangeSetArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/ChangeSet/example123456789012abcdef"
}
```

変更リクエストがキューに追加され、処理されます。これには、AWS Marketplace ガイドラインを満たしていることを確認するための情報の検証が含まれます。検証プロセスには数分かかる場合があります。

リクエストのステータスは、AWS Marketplace 管理ポータルを通じて、または API オペレーションを使用して Catalog `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API から直接確認できます。

### 非同期エラー
<a name="associate-solution-asynchronous-errors"></a>

次のエラーは、 AWS Marketplace Catalog API の `AssociateSolution`アクションに固有です。これらのエラーは、変更セットの処理`DescribeChangeSet`後に を呼び出すと返されます。`DescribeChangeSet` を使用して変更リクエストのステータスを取得する方法の詳細については、「」を参照してください[変更セットの使用](catalog-apis.md#working-with-change-sets)。


| エラーコード | エラーメッセージ | 
| --- | --- | 
| INCOMPATIBLE\_SOLUTION\_ASSOCIATION | 新しいソリューションを関連付ける前に、既存のソリューションの関連付けを解除します。 | 
| INVALID\_UPDATE\_REQUEST | リクエストされた変更は、オファーセットのリリース後に実行することはできません。 | 

## オファーセットからソリューションの関連付けを解除する
<a name="disassociate-solution-from-offer-set"></a>

`DisassociateSolution` 変更タイプを使用して、ソリューションとオファーセット間の関連付けを削除します。これにより、オファーセットのトランザクション可能な機能を維持しながら、ソリューションのマーケティングコンテンツがオファーセットから削除されます。

**リクエストの構文**

```
POST /StartChangeSet HTTP/1.1
Content-type: application/json

{
  "Catalog": "AWSMarketplace",
  "ChangeSet": [
    {
      "ChangeType": "DisassociateSolution",
      "Entity": {
        "Type": "OfferSet@1.0",
        "Identifier": "offerset-abc123"
      },
      "DetailsDocument": {
        "SolutionId": "soln-xyz789"
      }
    }
  ]
}
```

`DisassociateSolution` 変更タイプを追加するフィールドの情報を入力します。
+ `Entity` (オブジェクト) (必須) – 更新するエンティティ。
  + `Identifier` (文字列) (必須) – オファーセット ID。詳細については、「[識別子](catalog-apis.md#identifier)」を参照してください。
  + `Type` (文字列) (必須) – である必要があります`OfferSet@1.0`。
+ `DetailsDocument` (オブジェクト) (必須) – リクエストの詳細。
  + `SolutionId` (文字列) (必須) – 関連付けを解除するソリューションの識別子。最小長: 1 文字。最大長: 50 文字。

**レスポンスの構文**

リクエストの変更セットが作成されます。このリクエストに対するレスポンスは、変更セット`ChangeSetArn`の `ChangeSetId`と を提供し、次のようになります。

```
{
  "ChangeSetId": "example123456789012abcdef",
  "ChangeSetArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/ChangeSet/example123456789012abcdef"
}
```

変更リクエストがキューに追加され、処理されます。これには、AWS Marketplace ガイドラインを満たしていることを確認するための情報の検証が含まれます。検証プロセスには数分かかる場合があります。

リクエストのステータスは、AWS Marketplace 管理ポータルを通じて、または API オペレーションを使用して Catalog `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API から直接確認できます。

### 非同期エラー
<a name="disassociate-solution-asynchronous-errors"></a>

以下のエラーは、 AWS Marketplace Catalog API の `DisassociateSolution`アクションに固有のものです。これらのエラーは、変更セットの処理`DescribeChangeSet`後に を呼び出すと返されます。`DescribeChangeSet` を使用して変更リクエストのステータスを取得する方法の詳細については、「」を参照してください[変更セットの使用](catalog-apis.md#working-with-change-sets)。


| エラーコード | エラーメッセージ | 
| --- | --- | 
| INVALID\_UPDATE\_REQUEST | リクエストされた変更は、オファーセットのリリース後に実行することはできません。 | 

## オファーセットをリリースする
<a name="release-offer-set"></a>

`ReleaseOfferSet` 変更タイプを使用して、購入者がオファーセットを利用できるようにします。リリースされると、オファーセットはドラフト状態からリリース状態に移行し、 を通じて検出可能になり AWS Marketplace、関連するオファーは統合パッケージの一部としてのみ見つかります。

リリースされたオファーセットは、個別のオファーとオファーセット自体の 2 つのレベルで通知を生成します。すべての個々のオファー通知には、既存の通知チャネル ([E メール通知](https://docs.aws.amazon.com/marketplace/latest/userguide/email-notifications.html)と [Amazon EventBridge イベント](https://docs.aws.amazon.com/marketplace/latest/userguide/notifications-eventbridge.html)) の OfferSetId が含まれます。オファーセットレベルの通知は、オファーセットがリリースされたときなどの主要なイベントに送信されます。

**リクエストの構文**

```
POST /StartChangeSet HTTP/1.1
Content-type: application/json

{
  "Catalog": "AWSMarketplace",
  "ChangeSet": [
    {
      "ChangeType": "ReleaseOfferSet",
      "Entity": {
        "Type": "OfferSet@1.0",
        "Identifier": "offerset-abc123"
      },
      "DetailsDocument": {}
    }
  ]
}
```

`ReleaseOfferSet` 変更タイプを追加するフィールドの情報を入力します。
+ `Entity` (オブジェクト) (必須) – 更新されるエンティティ。
  + `Identifier` (文字列) (必須) – オファーセット ID。詳細については、「[識別子](catalog-apis.md#identifier)」を参照してください。
  + `Type` (文字列) (必須) – である必要があります`OfferSet@1.0`。
+ `DetailsDocument` (オブジェクト) (必須) – このオペレーションの空のオブジェクト。

**レスポンスの構文**

リクエストの変更セットが作成されます。このリクエストに対するレスポンスは、変更セット`ChangeSetArn`の `ChangeSetId`と を提供し、次のようになります。

```
{
  "ChangeSetId": "example123456789012abcdef",
  "ChangeSetArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/ChangeSet/example123456789012abcdef"
}
```

変更リクエストがキューに追加され、処理されます。これには、AWS Marketplace ガイドラインを満たしていることを確認するための情報の検証が含まれます。検証プロセスには数分かかる場合があります。

リクエストのステータスは、AWS Marketplace 管理ポータルを通じて、または API オペレーションを使用して Catalog `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API から直接確認できます。

### 非同期エラー
<a name="release-offer-set-asynchronous-errors"></a>

以下のエラーは、 AWS Marketplace Catalog API の `ReleaseOfferSet`アクションに固有です。これらのエラーは、変更セットの処理`DescribeChangeSet`後に を呼び出すと返されます。`DescribeChangeSet` を使用して変更リクエストのステータスを取得する方法の詳細については、「」を参照してください[変更セットの使用](catalog-apis.md#working-with-change-sets)。


| エラーコード | エラーメッセージ | 
| --- | --- | 
| MISSING\_BUYER\_NOTES | オファーセットをリリースする前に BuyerNotes を指定します。 | 
| MISSING\_OFFERS | リリースする前に、オファーセットに少なくとも 2 つのオファーを関連付けます。 | 
| TOO\_MANY\_OFFERS\_PER\_PRODUCT | 製品ごとに 1 つのオファーのみをオファーセットに関連付けます。 | 
| INCONSISTENT\_OFFER\_CURRENCY\_CODE | 関連付けられたすべてのオファーに、一致する CurrencyCode があることを確認します。 | 
| INCONSISTENT\_OFFER\_AVAILABILITY\_END\_DATE | 関連するオファーがすべて一致する AvailabilityEndDate であることを確認します。 | 
| INCONSISTENT\_OFFER\_TARGETING\_RULE | 関連するオファーがすべて一致する TargetingRule であることを確認します。 | 
| INCOMPATIBLE\_OFFER\_TARGETING\_RULE | オファーセットに関連付けることができるのは、購入者対象オファーのみです。 | 
| EXPIRED\_OFFERS | 期限切れのオファーとオファーセットの関連付けを解除するか、AvailabilityEndDates を拡張します。 | 
| DRAFT\_OFFERS | オファーセットをリリースする前に、関連するすべてのオファーをリリースします。 | 
| INCOMPATIBLE\_SOLUTION\_STATE | 制限付きまたはパブリック状態のソリューションを提供します。 | 
| INVALID\_UPDATE\_REQUEST | リクエストされた変更は、オファーセットのリリース後に実行することはできません。 | 

## オファーセットのライフサイクル
<a name="offer-set-lifecycle"></a>

オファーセットのライフサイクルは、次のステージで構成されます。

### 作成フェーズ
<a name="creation-phase"></a>

`CreateOfferSet` 変更タイプを使用して、オファーセットエンティティをドラフト状態で作成します。オファーセットは一意の識別子を受け取り、ドラフト状態で開始します。

### 設定フェーズ
<a name="configuration-phase"></a>

設定中、次の操作を行います。
+ を使用してメタデータを追加または更新する `UpdateInformation` (名前、購入者ノート)
+ オファーの作成`OfferSetId`時に を指定して、個別のプライベートオファーを作成する
+ を使用してオファーをオファーセットに関連付ける `AssociateOffers`
+ オプションで、マーケティングコンテンツを強化`AssociateSolution`するために を使用してソリューションを関連付ける

**重要**  
個々のオファー`OfferSetId`の はイミュータブルであり、オファーの作成時にのみ設定できます。を使用してオファーをオファーセットに関連付ける前に`AssociateOffers`、まず個々のオファーを作成し、オファーの作成`OfferSetId`時に を指定する必要があります。正しい がない既存のオファーを含める必要がある場合は`OfferSetId`、正しい `OfferSetId` を指定して新しいオファーを作成する必要があります。

### 検証フェーズ
<a name="validation-phase"></a>

オファーセットをリリースする前に、以下を確認してください。
+ オファーセットには 2～7 つのオファーが含まれています
+ 関連するオファーはすべて、次の条件を満たす必要があります。
  + リリース済み状態
  + アクティブ
  + 同じ通貨を使用する
  + 同じ購入者の AWS アカウント ID (複数可) をターゲットにする
  + 有効期限が同じである

### リリースフェーズ
<a name="release-phase"></a>

準備ができたら、`ReleaseOfferSet`変更タイプを使用してオファーセットをドラフト状態からリリース状態に移行します。これにより、オファーセットは購入者が検出できるようになります AWS Marketplace。

### リリース後の管理
<a name="post-release-management"></a>

**有効期限管理:**
+ オファーセットの有効な有効期限は、関連するすべてのオファーの中で最も早い有効期限として計算されます。
+ 既存のオファー管理機能を使用して、個々のオファーの有効期限を変更できます (`UpdateAvailability` 変更タイプ)

**オファーセットの変更:**

購入者がリリースされたオファーセットの変更をリクエストする場合は、再作成ワークフローを使用します。

1. 新しいオファーセットエンティティを作成する

1. 変更を必要としないオファーの場合は、 AWS Marketplace 管理ポータルを使用して既存のオファーのクローンを作成します。

1. 変更が必要なオファーの場合は、リクエストされた変更で新しいオファーを作成し、新しいオファーを指定します。 `OfferSetId`

1. を使用して、すべてのオファー (クローンおよび新規) を新しいオファーセットに関連付ける `AssociateOffers`

1. を使用して新しいオファーセットをリリースする `ReleaseOfferSet`

1. 関連するオファーの可用性の終了日を設定して、元のオファーセットを期限切れにする

## オファーセットの IAM アクセス許可
<a name="iam-permissions-offer-sets"></a>

 AWS Marketplace Catalog API を使用してオファーセットを使用するには、特定の IAM アクセス許可が必要です。このセクションでは、オファーセットオペレーションとクロスエンティティ認可要件に必要なアクセス許可について説明します。

### 必須 IAM アクション
<a name="required-iam-actions"></a>

オファーセットオペレーションには、次の IAM アクションが必要です。
+ `aws-marketplace:StartChangeSet` – 作成、更新、関連付け、リリースオペレーションを含むすべてのオファーセット変更タイプに必要です
+ `aws-marketplace:DescribeChangeSet` – 変更セット実行のステータスと結果をチェックするために必要です
+ `aws-marketplace:ListEntities` – アカウントのオファーセットを一覧表示するために必要です
+ `aws-marketplace:DescribeEntity` – オファーセットに関する詳細情報を取得するために必要です

### リソースのアクセス許可
<a name="resource-permissions"></a>

次の ARN パターンを使用して、特定のリソースに対するアクセス許可を付与します。
+ **オファーセット** – `arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/OfferSet/*`
+ **個々のオファー** – `arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/Offer/*`
+ **ソリューション** – `arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/Solution/*`

アクセス許可をより制限するには、ワイルドカード (\*) を特定のエンティティ識別子に置き換えます。

### クロスエンティティ認可
<a name="cross-entity-authorization"></a>

一部のオファーセットオペレーションでは、オファーセットと関連付けられているエンティティの両方に対するアクセス許可が必要です。

**AssociateOffers**
+ `aws-marketplace:StartChangeSet` オファーセットエンティティに対する アクセス許可
+ `aws-marketplace:StartChangeSet` 関連付けられている個々のオファーエンティティ`AssociateWithOfferSet`の変更タイプを含む アクセス許可

**AssociateSolution**
+ `aws-marketplace:StartChangeSet` オファーセットエンティティに対する アクセス許可
+ `aws-marketplace:StartChangeSet` 関連付けられているソリューションエンティティ`AssociateWithOfferSet`の変更タイプの アクセス許可

**注記**  
関連付けオペレーションでは、オファーまたはソリューションに対する `DescribeEntity` (読み取り専用) アクセス許可のみを持つだけでは不十分です。オファーセットに関連付けられているエンティティ`AssociateWithOfferSet`の変更タイプを持つ`StartChangeSet`アクセス許可が必要です。

### IAM ポリシーの例
<a name="example-iam-policies"></a>

**基本的なオファーセット管理**

このポリシーは、エンティティ間の関連付けなしで基本的なオファーセットオペレーションのアクセス許可を提供します。

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "aws-marketplace:StartChangeSet",
        "aws-marketplace:DescribeChangeSet",
        "aws-marketplace:ListEntities",
        "aws-marketplace:DescribeEntity"
      ],
      "Resource": [
        "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/OfferSet/*"
      ]
    }
  ]
}
```

**AssociateOffers のクロスエンティティアクセス許可**

このポリシーは、AssociateOffers に必要な特定のアクセス許可と条件を示しています。

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "aws-marketplace:StartChangeSet",
      "Resource": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/OfferSet/*",
      "Condition": {
        "StringEquals": {
          "catalog:ChangeType": ["AssociateOffers"]
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": "aws-marketplace:DescribeEntity",
      "Resource": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/Offer/*"
    },
    {
      "Effect": "Allow",
      "Action": "aws-marketplace:StartChangeSet",
      "Resource": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/Offer/*",
      "Condition": {
        "StringEquals": {
          "catalog:ChangeType": ["AssociateWithOfferSet"]
        }
      }
    }
  ]
}
```

より制限の厳しいアクセス許可を得るには、ワイルドカード (\*) を特定のエンティティ識別子に置き換えます。

**AssociateSolution のクロスエンティティアクセス許可**

このポリシーは、AssociateSolution に必要な特定のアクセス許可と条件を示しています。

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "aws-marketplace:StartChangeSet",
      "Resource": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/OfferSet/*",
      "Condition": {
        "StringEquals": {
          "catalog:ChangeType": ["AssociateSolution"]
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": "aws-marketplace:DescribeEntity",
      "Resource": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/Solution/*"
    },
    {
      "Effect": "Allow",
      "Action": "aws-marketplace:StartChangeSet",
      "Resource": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/Solution/*",
      "Condition": {
        "StringEquals": {
          "catalog:ChangeType": ["AssociateWithOfferSet"]
        }
      }
    }
  ]
}
```

より制限の厳しいアクセス許可を得るには、ワイルドカード (\*) を特定のエンティティ識別子に置き換えます。