

Referensi API AWS Marketplace direstrukturisasi. Untuk informasi selengkapnya tentang operasi API yang didukung, lihat [Referensi API AWS Marketplace](https://docs.aws.amazon.com/marketplace/latest/APIReference/Welcome.html).

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Bekerja dengan set penawaran
<a name="work-with-offer-sets"></a>

Kumpulan penawaran AWS Marketplace memungkinkan penjual untuk mengemas beberapa penawaran pribadi ke dalam paket transaksikan multi-produk terpadu untuk pembeli. Kemampuan ini memenuhi permintaan pelanggan yang terus meningkat akan solusi menyeluruh dan menyeluruh di lingkungan perusahaan yang kompleks.

Secara tradisional, pembeli harus menemukan dan mendapatkan produk individual dari beberapa penjual, menghasilkan pengalaman yang terfragmentasi, tantangan integrasi, dan siklus pengadaan yang lebih lama. Kumpulan penawaran menyederhanakan hal ini dengan memungkinkan mitra AWS Marketplace untuk menggabungkan beberapa penawaran bersama-sama, merampingkan proses transaksi melalui penawaran pribadi terkoordinasi di mana pelanggan dapat meninjau dan menerima semua komponen dengan persetujuan satu kali.

Set penawaran bekerja sama dengan solusi untuk memberikan penawaran multi-produk yang komprehensif. Solusi menyediakan konten pemasaran yang kaya termasuk deskripsi terperinci, diagram arsitektur, dan dokumentasi kasus penggunaan, sementara set penawaran menangani kemasan yang dapat ditransaksikan dan persyaratan komersial untuk pengadaan terpadu.

## Menawarkan entitas set
<a name="offer-set-entity"></a>

Set penawaran adalah wadah yang mengelompokkan 2-7 penawaran pribadi ke dalam satu paket yang dapat ditransaksikan. Setiap penawaran dalam satu set penawaran mempertahankan harga, ketentuan pembayaran, durasi, dan Perjanjian Lisensi Pengguna Akhir (EULA) yang berbeda, sementara set penawaran memberikan pengalaman penemuan dan penerimaan terpadu bagi pembeli.

**Karakteristik utama:**
+ Kelompokkan beberapa penawaran pribadi (minimal 2, maksimum 7)
+ Memungkinkan penerimaan pembeli terpadu dari semua penawaran dengan satu tindakan
+ Mempertahankan fleksibilitas dengan persyaratan yang berbeda untuk setiap penawaran
+ Membuat perjanjian terpisah untuk setiap produk, memungkinkan manajemen independen setelah pembelian
+ Dapat dikaitkan secara opsional dengan solusi untuk konten pemasaran yang disempurnakan

Jenis entitas set penawaran adalah`OfferSet@1.0`.

**Pengidentifikasi entitas**

Set penawaran menggunakan format `offerset-*` pengenal (misalnya,`offerset-abc123def456`).

**Format ARN entitas**

Set penawaran mengikuti format AWS ARN standar:

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

Contoh:

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

## Memulai dengan set penawaran
<a name="getting-started-with-offer-sets"></a>

Bagian ini memberikan informasi terperinci tentang membuat dan mengelola set penawaran menggunakan [tipe perubahan](https://docs.aws.amazon.com/marketplace/latest/APIReference/API_Change.html) API AWS Marketplace Katalog.

Sebelum Anda mulai, pastikan Anda memiliki:
+ Pendaftaran penjual AWS Marketplace yang valid dan profil publik. Untuk informasi selengkapnya, lihat [Mendaftar dan membuat profil penjual Anda](https://docs.aws.amazon.com/marketplace/latest/userguide/create-public-profile.html).
+ Akses ke API dan prasyarat penjual yang lengkap. Untuk informasi selengkapnya, lihat [Kontrol akses untuk AWS Marketplace Catalog API](https://docs.aws.amazon.com/marketplace/latest/APIReference/catalog-api-access-control.html).
+ Mempelajari dasar-dasar penggunaan AWS Marketplace Catalog API, lihat [Menggunakan AWS Marketplace Catalog API](https://docs.aws.amazon.com/marketplace/latest/APIReference/catalog-apis.html).

## Daftar set penawaran
<a name="list-offer-sets"></a>

Untuk mencantumkan semua set penawaran di akun Anda, panggil operasi `ListEntities` API dengan `EntityType` disetel ke`OfferSet`.

**Permintaan**

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

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

**Respons**

```
{
  "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
}
```

### Filter penawaran set menurut negara
<a name="filter-offer-sets-by-state"></a>

Anda dapat memfilter set penawaran berdasarkan status menggunakan `EntityTypeFilters` parameter.

**Permintaan**

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

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

### Filter set penawaran berdasarkan ID solusi
<a name="filter-offer-sets-by-solution-id"></a>

Anda dapat memfilter set penawaran berdasarkan ID solusi menggunakan `EntityTypeFilters` parameter.

**Permintaan**

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

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

### Filter set penawaran berdasarkan tanggal rilis
<a name="filter-offer-sets-by-release-date"></a>

Anda dapat memfilter set penawaran berdasarkan tanggal rilis dan mengurutkan hasil menggunakan `EntityTypeSort` parameter `EntityTypeFilters` dan.

**Permintaan**

```
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"
    }
  }
}
```

## Jelaskan set penawaran
<a name="describe-offer-set"></a>

Untuk mendapatkan informasi rinci tentang set penawaran tertentu, hubungi operasi `DescribeEntity` API.

**Permintaan**

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

**Respons**

```
{
  "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"
      }      
    ]
  }
}
```

## Buat set penawaran
<a name="create-offer-set"></a>

Gunakan jenis `CreateOfferSet` perubahan untuk membuat entitas set penawaran baru dalam status Draf. Ini adalah langkah pertama dalam siklus hidup set penawaran, menetapkan entitas dasar yang nantinya akan dikonfigurasi dengan asosiasi penawaran dan metadata sebelum dirilis ke pembeli.

**Permintaan Sintaks**

```
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"
      }
    }
  ]
}
```

Berikan informasi untuk bidang untuk menambahkan jenis `CreateOfferSet` perubahan:
+ `Entity`(object) (required) - Jenis entitas yang sedang dibuat.
  + `Type`(string) (wajib) - Harus`OfferSet@1.0`.
+ `DetailsDocument`(objek) (wajib) — Rincian permintaan.
  + `Name`(string) (wajib) — Nama yang terkait dengan penawaran ditetapkan untuk keterbacaan yang lebih baik bagi Anda dan pelanggan Anda. Panjang minimum: 1 karakter. Panjang maksimum: 150 karakter.

**Sintaks Respon**

Set perubahan dibuat untuk permintaan Anda. Respons terhadap permintaan ini memberi Anda `ChangeSetId` dan `ChangeSetArn` untuk set perubahan dan terlihat seperti berikut.

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

Permintaan perubahan ditambahkan ke antrian dan diproses. Ini termasuk memvalidasi informasi untuk memastikan bahwa informasi tersebut memenuhi pedoman AWS Marketplace. Proses validasi dapat memakan waktu beberapa menit.

Anda dapat memeriksa status permintaan melalui AWS Marketplace Management Portal, atau langsung melalui Catalog API menggunakan operasi `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

Setelah pemrosesan berhasil, buat AWS Marketplace penawaran yang ditetapkan dalam status Draf dengan pengenal unik yang diawali dengan. `offerset-`

## Perbarui informasi set penawaran
<a name="update-offer-set-information"></a>

Gunakan jenis `UpdateInformation` perubahan untuk memodifikasi rincian set penawaran yang ada, termasuk nama dan catatan pembeli.

**Permintaan Sintaks**

```
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"
      }
    }
  ]
}
```

Berikan informasi untuk bidang untuk menambahkan jenis `UpdateInformation` perubahan:
+ `Entity`(objek) (wajib) - Entitas yang diperbarui.
  + `Identifier`(string) (wajib) - ID set penawaran Anda. Untuk informasi selengkapnya, lihat [Pengidentifikasi](catalog-apis.md#identifier).
  + `Type`(string) (wajib) - Harus`OfferSet@1.0`.
+ `DetailsDocument`(objek) (wajib) - Setidaknya satu bidang harus disediakan.
  + `Name`(string) (opsional) - Nama tampilan terlihat oleh pembeli. Panjang minimum: 1 karakter. Panjang maksimum: 150 karakter.
  + `BuyerNotes`(string) (opsional) — Informasi terperinci tentang set penawaran yang membantu pembeli memahami tujuan dan isinya. Panjang minimum: 1 karakter. Panjang maksimum: 1.000 karakter.

**Sintaks Respon**

Set perubahan dibuat untuk permintaan Anda. Respons terhadap permintaan ini memberi Anda `ChangeSetId` dan `ChangeSetArn` untuk set perubahan dan terlihat seperti berikut.

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

Permintaan perubahan ditambahkan ke antrian dan diproses. Ini termasuk memvalidasi informasi untuk memastikan bahwa informasi tersebut memenuhi pedoman AWS Marketplace. Proses validasi dapat memakan waktu beberapa menit.

Anda dapat memeriksa status permintaan melalui AWS Marketplace Management Portal, atau langsung melalui Catalog API menggunakan operasi `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

## Mengaitkan penawaran dengan set penawaran
<a name="associate-offers"></a>

Gunakan jenis `AssociateOffers` perubahan untuk mengaitkan beberapa AWS Marketplace penawaran dengan set penawaran. Ini menciptakan hubungan antara penawaran dan set penawaran, menjadikan penawaran sebagai bagian dari konfigurasi transaksi set penawaran.

Operasi ini idempoten dan memungkinkan penawaran terkait terlepas dari keadaannya saat ini, memungkinkan konfigurasi lengkap sebelum penawaran individual dirilis. Setiap penawaran hanya dapat dimiliki oleh satu set penawaran.

**penting**  
Penawaran individual tidak dapat diubah dan hanya dapat diatur selama pembuatan penawaran. `OfferSetId` Sebelum mengaitkan penawaran dengan penawaran yang digunakan`AssociateOffers`, Anda harus terlebih dahulu membuat penawaran individual dan menentukan `OfferSetId` selama pembuatan penawaran. Jika Anda perlu menyertakan penawaran yang sudah ada yang tidak benar`OfferSetId`, Anda harus membuat penawaran baru dengan yang `OfferSetId` ditentukan dengan benar.

Untuk informasi tentang izin IAM yang diperlukan, lihat. [Izin IAM untuk set penawaran](#iam-permissions-offer-sets)

**Permintaan Sintaks**

```
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"
          }
        ]
      }
    }
  ]
}
```

Berikan informasi untuk bidang untuk menambahkan jenis `AssociateOffers` perubahan:
+ `Entity`(objek) (wajib) - Entitas yang diperbarui.
  + `Identifier`(string) (wajib) - ID set penawaran Anda. Untuk informasi selengkapnya, lihat [Pengidentifikasi](catalog-apis.md#identifier).
  + `Type`(string) (wajib) - Harus`OfferSet@1.0`.
+ `DetailsDocument`(objek) (wajib) — Rincian permintaan.
  + `Offers`(array) (wajib) — Daftar AWS Marketplace penawaran untuk diasosiasikan. Minimal: 1 item. Maksimal: 7 item.
    + `OfferId`(string) (wajib) — Pengenal AWS Marketplace penawaran. Panjang minimum: 1 karakter. Panjang maksimum: 36 karakter.

**Sintaks Respon**

Set perubahan dibuat untuk permintaan Anda. Respons terhadap permintaan ini memberi Anda `ChangeSetId` dan `ChangeSetArn` untuk set perubahan dan terlihat seperti berikut.

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

Permintaan perubahan ditambahkan ke antrian dan diproses. Ini termasuk memvalidasi informasi untuk memastikan bahwa informasi tersebut memenuhi pedoman AWS Marketplace. Proses validasi dapat memakan waktu beberapa menit.

Anda dapat memeriksa status permintaan melalui AWS Marketplace Management Portal, atau langsung melalui Catalog API menggunakan operasi `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

### Kesalahan Asinkron
<a name="associate-offers-asynchronous-errors"></a>

Kesalahan berikut khusus untuk `AssociateOffers` tindakan di API AWS Marketplace Katalog. Kesalahan ini dikembalikan saat Anda memanggil `DescribeChangeSet` setelah set perubahan diproses. Untuk informasi selengkapnya tentang penggunaan `DescribeChangeSet` untuk mendapatkan status permintaan perubahan, lihat[Bekerja dengan set perubahan](catalog-apis.md#working-with-change-sets).


| Kode kesalahan | Pesan kesalahan | 
| --- | --- | 
| TOO\_MANY\_OFFERS | Kaitkan hingga 7 penawaran ke set penawaran. | 
| INCOMPATIBLE\_OFFER\_SET\_REFERENCE | Pastikan semua penawaran dibuat khusus untuk set penawaran ini. | 
| INVALID\_UPDATE\_REQUEST | Perubahan yang diminta tidak dapat dilakukan setelah set penawaran dirilis. | 

## Pisahkan penawaran dari satu set penawaran
<a name="disassociate-offers"></a>

Gunakan jenis `DisassociateOffers` perubahan untuk menghapus beberapa AWS Marketplace penawaran dari satu set penawaran. Operasi idempoten ini menghapus hubungan asosiasi sambil mempertahankan atribut penawaran. `OfferSetId` Penawaran yang tidak terkait menjadi tersembunyi dari penemuan pembeli sampai dikaitkan kembali dengan set penawaran yang sama. Mereka tidak dapat dikaitkan dengan set penawaran yang berbeda.

**Permintaan Sintaks**

```
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"
          }
        ]
      }
    }
  ]
}
```

Berikan informasi untuk bidang untuk menambahkan jenis `DisassociateOffers` perubahan:
+ `Entity`(objek) (wajib) - Entitas yang diperbarui.
  + `Identifier`(string) (wajib) - ID set penawaran Anda. Untuk informasi selengkapnya, lihat [Pengidentifikasi](catalog-apis.md#identifier).
  + `Type`(string) (wajib) - Harus`OfferSet@1.0`.
+ `DetailsDocument`(objek) (wajib) — Rincian permintaan.
  + `Offers`(array) (wajib) — Daftar penawaran untuk dipisahkan. Minimal: 1 item. Maksimal: 7 item.
    + `OfferId`(string) (wajib) — Pengenal penawaran AWS Marketplace. Panjang minimum: 1 karakter. Panjang maksimum: 36 karakter.

**Sintaks Respon**

Set perubahan dibuat untuk permintaan Anda. Respons terhadap permintaan ini memberi Anda `ChangeSetId` dan `ChangeSetArn` untuk set perubahan dan terlihat seperti berikut.

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

Permintaan perubahan ditambahkan ke antrian dan diproses. Ini termasuk memvalidasi informasi untuk memastikan bahwa informasi tersebut memenuhi pedoman AWS Marketplace. Proses validasi dapat memakan waktu beberapa menit.

Anda dapat memeriksa status permintaan melalui AWS Marketplace Management Portal, atau langsung melalui Catalog API menggunakan operasi `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

### Kesalahan Asinkron
<a name="disassociate-offers-asynchronous-errors"></a>

Kesalahan berikut khusus untuk `DisassociateOffers` tindakan di API AWS Marketplace Katalog. Kesalahan ini dikembalikan saat Anda memanggil `DescribeChangeSet` setelah set perubahan diproses. Untuk informasi selengkapnya tentang penggunaan `DescribeChangeSet` untuk mendapatkan status permintaan perubahan, lihat[Bekerja dengan set perubahan](catalog-apis.md#working-with-change-sets).


| Kode kesalahan | Pesan kesalahan | 
| --- | --- | 
| INVALID\_UPDATE\_REQUEST | Perubahan yang diminta tidak dapat dilakukan setelah set penawaran dirilis. | 

## Kaitkan solusi dengan set penawaran
<a name="associate-solution-with-offer-set"></a>

Gunakan jenis `AssociateSolution` perubahan untuk mengaitkan satu solusi AWS Marketplace dengan set penawaran. Ini menciptakan hubungan yang memungkinkan pembeli menemukan koneksi set penawaran ke solusi dan mengakses konten pemasaran solusi yang kaya seperti deskripsi terperinci, diagram arsitektur, dan dokumentasi kasus penggunaan.

**catatan**  
Ini adalah asosiasi yang digabungkan secara longgar. AWS Marketplace tidak menerapkan konsistensi antara solusi dan set penawaran. Solusi tidak dapat berisi produk AWS Marketplace, produk yang berbeda dari yang ada di set penawaran, atau produk yang tumpang tindih. Anda memiliki fleksibilitas penuh untuk mengaitkan solusi apa pun yang Anda miliki untuk tujuan pemasaran dan penemuan.

Untuk informasi tentang izin IAM yang diperlukan, lihat. [Izin IAM untuk set penawaran](#iam-permissions-offer-sets)

**Permintaan Sintaks**

```
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"
      }
    }
  ]
}
```

Berikan informasi untuk bidang untuk menambahkan jenis `AssociateSolution` perubahan:
+ `Entity`(objek) (wajib) - Entitas yang diperbarui.
  + `Identifier`(string) (wajib) - ID set penawaran Anda. Untuk informasi selengkapnya, lihat [Pengidentifikasi](catalog-apis.md#identifier).
  + `Type`(string) (wajib) - Harus`OfferSet@1.0`.
+ `DetailsDocument`(objek) (wajib) — Rincian permintaan.
  + `SolutionId`(string) (wajib) — Pengenal solusi AWS Marketplace untuk diasosiasikan. Panjang minimum: 1 karakter. Panjang maksimum: 50 karakter. Harus cocok dengan pola`^soln-[A-Za-z0-9]+$`.

**Sintaks Respon**

Set perubahan dibuat untuk permintaan Anda. Respons terhadap permintaan ini memberi Anda `ChangeSetId` dan `ChangeSetArn` untuk set perubahan dan terlihat seperti berikut.

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

Permintaan perubahan ditambahkan ke antrian dan diproses. Ini termasuk memvalidasi informasi untuk memastikan bahwa informasi tersebut memenuhi pedoman AWS Marketplace. Proses validasi dapat memakan waktu beberapa menit.

Anda dapat memeriksa status permintaan melalui AWS Marketplace Management Portal, atau langsung melalui Catalog API menggunakan operasi `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

### Kesalahan Asinkron
<a name="associate-solution-asynchronous-errors"></a>

Kesalahan berikut khusus untuk `AssociateSolution` tindakan di API AWS Marketplace Katalog. Kesalahan ini dikembalikan saat Anda memanggil `DescribeChangeSet` setelah set perubahan diproses. Untuk informasi selengkapnya tentang penggunaan `DescribeChangeSet` untuk mendapatkan status permintaan perubahan, lihat[Bekerja dengan set perubahan](catalog-apis.md#working-with-change-sets).


| Kode kesalahan | Pesan kesalahan | 
| --- | --- | 
| INCOMPATIBLE\_SOLUTION\_ASSOCIATION | Lepaskan solusi yang ada sebelum mengaitkan solusi baru. | 
| INVALID\_UPDATE\_REQUEST | Perubahan yang diminta tidak dapat dilakukan setelah set penawaran dirilis. | 

## Pisahkan solusi dari set penawaran
<a name="disassociate-solution-from-offer-set"></a>

Gunakan jenis `DisassociateSolution` perubahan untuk menghapus asosiasi antara solusi dan set penawaran. Ini menghapus konten pemasaran solusi dari set penawaran sambil mempertahankan fungsionalitas transaksi set penawaran.

**Permintaan Sintaks**

```
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"
      }
    }
  ]
}
```

Berikan informasi untuk bidang untuk menambahkan jenis `DisassociateSolution` perubahan:
+ `Entity`(objek) (wajib) - Entitas yang diperbarui.
  + `Identifier`(string) (wajib) - ID set penawaran Anda. Untuk informasi selengkapnya, lihat [Pengidentifikasi](catalog-apis.md#identifier).
  + `Type`(string) (wajib) - Harus`OfferSet@1.0`.
+ `DetailsDocument`(objek) (wajib) — Rincian permintaan.
  + `SolutionId`(string) (wajib) — Pengidentifikasi solusi untuk memisahkan. Panjang minimum: 1 karakter. Panjang maksimum: 50 karakter.

**Sintaks Respon**

Set perubahan dibuat untuk permintaan Anda. Respons terhadap permintaan ini memberi Anda `ChangeSetId` dan `ChangeSetArn` untuk set perubahan dan terlihat seperti berikut.

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

Permintaan perubahan ditambahkan ke antrian dan diproses. Ini termasuk memvalidasi informasi untuk memastikan bahwa informasi tersebut memenuhi pedoman AWS Marketplace. Proses validasi dapat memakan waktu beberapa menit.

Anda dapat memeriksa status permintaan melalui AWS Marketplace Management Portal, atau langsung melalui Catalog API menggunakan operasi `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

### Kesalahan Asinkron
<a name="disassociate-solution-asynchronous-errors"></a>

Kesalahan berikut khusus untuk `DisassociateSolution` tindakan di API AWS Marketplace Katalog. Kesalahan ini dikembalikan saat Anda memanggil `DescribeChangeSet` setelah set perubahan diproses. Untuk informasi selengkapnya tentang penggunaan `DescribeChangeSet` untuk mendapatkan status permintaan perubahan, lihat[Bekerja dengan set perubahan](catalog-apis.md#working-with-change-sets).


| Kode kesalahan | Pesan kesalahan | 
| --- | --- | 
| INVALID\_UPDATE\_REQUEST | Perubahan yang diminta tidak dapat dilakukan setelah set penawaran dirilis. | 

## Lepaskan satu set penawaran
<a name="release-offer-set"></a>

Gunakan jenis `ReleaseOfferSet` perubahan untuk membuat set penawaran tersedia bagi pembeli. Setelah dirilis, penawaran mengatur transisi dari Draft ke status Dirilis, menjadi dapat ditemukan melalui AWS Marketplace, dan penawaran terkait hanya dapat ditemukan sebagai bagian dari paket terpadu.

Set penawaran yang dirilis menghasilkan pemberitahuan pada dua tingkat: penawaran individual dan penawaran itu sendiri. Semua pemberitahuan penawaran individu termasuk OfferSetId di saluran notifikasi yang ada ([pemberitahuan email](https://docs.aws.amazon.com/marketplace/latest/userguide/email-notifications.html) dan [ EventBridge acara Amazon](https://docs.aws.amazon.com/marketplace/latest/userguide/notifications-eventbridge.html)). Pemberitahuan set-level penawaran dikirim untuk acara-acara penting seperti saat set penawaran dirilis.

**Permintaan Sintaks**

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

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

Berikan informasi untuk bidang untuk menambahkan jenis `ReleaseOfferSet` perubahan:
+ `Entity`(objek) (wajib) - Entitas yang diperbarui.
  + `Identifier`(string) (wajib) - ID set penawaran Anda. Untuk informasi selengkapnya, lihat [Pengidentifikasi](catalog-apis.md#identifier).
  + `Type`(string) (wajib) - Harus`OfferSet@1.0`.
+ `DetailsDocument`(object) (required) - Objek kosong untuk operasi ini.

**Sintaks Respon**

Set perubahan dibuat untuk permintaan Anda. Respons terhadap permintaan ini memberi Anda `ChangeSetId` dan `ChangeSetArn` untuk set perubahan dan terlihat seperti berikut.

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

Permintaan perubahan ditambahkan ke antrian dan diproses. Ini termasuk memvalidasi informasi untuk memastikan bahwa informasi tersebut memenuhi pedoman AWS Marketplace. Proses validasi dapat memakan waktu beberapa menit.

Anda dapat memeriksa status permintaan melalui AWS Marketplace Management Portal, atau langsung melalui Catalog API menggunakan operasi `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

### Kesalahan Asinkron
<a name="release-offer-set-asynchronous-errors"></a>

Kesalahan berikut khusus untuk `ReleaseOfferSet` tindakan di API AWS Marketplace Katalog. Kesalahan ini dikembalikan saat Anda memanggil `DescribeChangeSet` setelah set perubahan diproses. Untuk informasi selengkapnya tentang penggunaan `DescribeChangeSet` untuk mendapatkan status permintaan perubahan, lihat[Bekerja dengan set perubahan](catalog-apis.md#working-with-change-sets).


| Kode kesalahan | Pesan kesalahan | 
| --- | --- | 
| HILANG\_BUYER\_NOTES | Berikan BuyerNotes sebelum merilis set penawaran. | 
| HILANG\_PENAWARAN | Kaitkan setidaknya dua penawaran ke penawaran yang ditetapkan sebelum merilisnya. | 
| TOO\_MANY\_OFFERS\_PER\_PRODUCT | Kaitkan hanya satu penawaran per produk ke set penawaran. | 
| INKONSISTEN\_OFFER\_CURRENCY\_CODE | Pastikan semua penawaran terkait memiliki kecocokan CurrencyCode. | 
| INKONSISTEN\_OFFER\_AVAILABILITY\_END\_DATE | Pastikan semua penawaran terkait memiliki kecocokan AvailabilityEndDate. | 
| INCONSISTENT\_OFFER\_TARGETING\_RULE | Pastikan semua penawaran terkait memiliki kecocokan TargetingRule. | 
| INCOMPATIBLE\_OFFER\_TARGETING\_RULE | Hanya penawaran yang ditargetkan pembeli yang dapat dikaitkan dengan set penawaran. | 
| KEDALUWARSA\_PENAWARAN | Lepaskan penawaran yang kedaluwarsa dari penawaran yang ditetapkan atau perpanjang. AvailabilityEndDates | 
| DRAFT\_OFFERS | Lepaskan semua penawaran terkait sebelum merilis set penawaran. | 
| INCOMPATIBLE\_SOLUTION\_STATE | Memberikan solusi di negara terbatas atau publik. | 
| INVALID\_UPDATE\_REQUEST | Perubahan yang diminta tidak dapat dilakukan setelah set penawaran dirilis. | 

## Tawarkan siklus hidup yang ditetapkan
<a name="offer-set-lifecycle"></a>

Siklus hidup yang ditetapkan penawaran terdiri dari tahapan berikut:

### Fase penciptaan
<a name="creation-phase"></a>

Buat entitas set penawaran dalam status Draft menggunakan jenis `CreateOfferSet` perubahan. Set penawaran menerima pengenal unik dan dimulai dalam status Draf.

### Fase konfigurasi
<a name="configuration-phase"></a>

Selama konfigurasi, Anda:
+ Tambahkan atau perbarui metadata menggunakan `UpdateInformation` (nama, catatan pembeli)
+ Buat penawaran pribadi individual, tentukan `OfferSetId` selama pembuatan penawaran
+ Kaitkan penawaran dengan penawaran yang ditetapkan menggunakan `AssociateOffers`
+ Secara opsional mengaitkan solusi menggunakan konten pemasaran `AssociateSolution` yang disempurnakan

**penting**  
Penawaran individual tidak dapat diubah dan hanya dapat diatur selama pembuatan penawaran. `OfferSetId` Sebelum mengaitkan penawaran dengan penawaran yang digunakan`AssociateOffers`, Anda harus terlebih dahulu membuat penawaran individual dan menentukan `OfferSetId` selama pembuatan penawaran. Jika Anda perlu menyertakan penawaran yang sudah ada yang tidak benar`OfferSetId`, Anda harus membuat penawaran baru dengan yang `OfferSetId` ditentukan dengan benar.

### Fase validasi
<a name="validation-phase"></a>

Sebelum merilis set penawaran, pastikan:
+ Set penawaran berisi antara 2 dan 7 penawaran
+ Semua penawaran terkait harus: 
  + Dalam keadaan Dirilis
  + Aktif
  + Menggunakan mata uang yang sama
  + Menargetkan ID akun AWS pembeli yang sama
  + Memiliki tanggal kedaluwarsa yang identik

### Fase rilis
<a name="release-phase"></a>

Saat siap, gunakan jenis `ReleaseOfferSet` perubahan untuk mentransisikan set penawaran dari Draft ke status Dirilis. Hal ini membuat set penawaran dapat ditemukan oleh pembeli melalui. AWS Marketplace

### Post-release manajemen
<a name="post-release-management"></a>

**Manajemen kedaluwarsa:**
+ Kedaluwarsa efektif dari satu set penawaran dihitung sebagai tanggal kedaluwarsa paling awal di antara semua penawaran terkait
+ Anda dapat mengubah tanggal kedaluwarsa penawaran individual menggunakan kemampuan manajemen penawaran yang ada (jenis `UpdateAvailability` perubahan)

**Tawarkan modifikasi set:**

Saat pembeli meminta perubahan pada set penawaran yang dirilis, gunakan alur kerja rekreasi:

1. Buat entitas set penawaran baru

1. Untuk penawaran yang tidak memerlukan perubahan, kloning penawaran yang ada melalui Portal AWS Marketplace Manajemen

1. Untuk penawaran yang membutuhkan modifikasi, buat penawaran baru dengan perubahan yang diminta, tentukan yang baru `OfferSetId`

1. Kaitkan semua penawaran (kloning dan baru) dengan set penawaran baru menggunakan `AssociateOffers`

1. Lepaskan set penawaran baru menggunakan `ReleaseOfferSet`

1. Kedaluwarsa penawaran asli yang ditetapkan dengan menetapkan tanggal akhir ketersediaan penawaran terkait

## Izin IAM untuk set penawaran
<a name="iam-permissions-offer-sets"></a>

Untuk bekerja dengan set penawaran menggunakan API AWS Marketplace Katalog, Anda memerlukan izin IAM tertentu. Bagian ini menjelaskan izin yang diperlukan untuk operasi set penawaran dan persyaratan otorisasi lintas entitas.

### Tindakan IAM yang diperlukan
<a name="required-iam-actions"></a>

Tindakan IAM berikut diperlukan untuk operasi set penawaran:
+ `aws-marketplace:StartChangeSet`— Diperlukan untuk semua jenis perubahan set penawaran termasuk membuat, memperbarui, mengaitkan, dan operasi rilis
+ `aws-marketplace:DescribeChangeSet`— Diperlukan untuk memeriksa status dan hasil eksekusi set perubahan
+ `aws-marketplace:ListEntities`— Diperlukan untuk mencantumkan set penawaran di akun Anda
+ `aws-marketplace:DescribeEntity`— Diperlukan untuk mengambil informasi rinci tentang set penawaran

### Izin sumber daya
<a name="resource-permissions"></a>

Gunakan pola ARN berikut untuk memberikan izin pada sumber daya tertentu:
+ **Set penawaran** — `arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/OfferSet/*`
+ **Penawaran individu** — `arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/Offer/*`
+ **Solusi** — `arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/Solution/*`

Untuk izin yang lebih ketat, ganti wildcard (\*) dengan pengenal entitas tertentu.

### Cross-entity otorisasi
<a name="cross-entity-authorization"></a>

Beberapa operasi set penawaran memerlukan izin pada set penawaran dan entitas yang terkait:

**AssociateOffers**
+ `aws-marketplace:StartChangeSet`izin pada entitas set penawaran
+ `aws-marketplace:StartChangeSet`izin dengan jenis `AssociateWithOfferSet` perubahan pada setiap entitas penawaran individu yang terkait

**AssociateSolution**
+ `aws-marketplace:StartChangeSet`izin pada entitas set penawaran
+ `aws-marketplace:StartChangeSet`izin dengan jenis `AssociateWithOfferSet` perubahan pada entitas solusi yang terkait

**catatan**  
Hanya memiliki izin `DescribeEntity` (hanya-baca) pada penawaran atau solusi tidak cukup untuk operasi asosiasi. Anda harus memiliki `StartChangeSet` izin dengan jenis `AssociateWithOfferSet` perubahan pada entitas yang terkait dengan set penawaran.

### Contoh kebijakan IAM
<a name="example-iam-policies"></a>

**Manajemen set penawaran dasar**

Kebijakan ini memberikan izin untuk operasi set penawaran dasar tanpa asosiasi lintas entitas:

```
{
  "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/*"
      ]
    }
  ]
}
```

**Cross-entity izin untuk AssociateOffers**

Kebijakan ini menunjukkan izin dan ketentuan khusus yang diperlukan untuk: 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"]
        }
      }
    }
  ]
}
```

Untuk izin yang lebih ketat, ganti wildcard (\*) dengan pengenal entitas tertentu.

**Cross-entity izin untuk AssociateSolution**

Kebijakan ini menunjukkan izin dan ketentuan khusus yang diperlukan untuk: 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"]
        }
      }
    }
  ]
}
```

Untuk izin yang lebih ketat, ganti wildcard (\*) dengan pengenal entitas tertentu.