

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 pasar pribadi menggunakanAWS MarketplaceAPI
<a name="work-with-private-marketplace"></a>

Anda dapat menggunakan AWS Marketplace Catalog API untuk mengelola *pasar pribadi* untuk Anda Akun AWS atau [organisasi](https://docs.aws.amazon.com/organizations/latest/userguide/).

Semua jenis perubahan hanya dapat dipanggil dari akun manajemen organisasi atau oleh akun anggota yang merupakan administrator yang didelegasikan untuk pasar pribadi. Jika Anda adalah pelanggan pasar pribadi saat ini tanpa AWS Organizations integrasi untuk pasar pribadi, Anda dapat membuat dan mengelola pasar pribadi dari akun mana pun di organisasi Anda yang memiliki kebijakan `AWSPrivateMarketplaceAdminFullAccess` IAM.

 Untuk informasi selengkapnya tentang pasar pribadi, lihat [Pasar pribadi di Panduan AWS Marketplace](https://docs.aws.amazon.com/marketplace/latest/buyerguide/private-marketplace.html) *Pembeli*. 

 Tabel berikut merinci serangkaian tugas untuk mengelola pasar pribadi dan jenis perubahan yang berlaku untuk setiap tugas. 


| Tugas | Tindakan | Ubah jenis | 
| --- | --- | --- | 
| [Menciptakan pasar pribadi](#creating-a-private-marketplace) | `StartChangeSet` | `CreateExperience`<br />`CreateProcurementPolicy` | 
| [Mengubah branding pengalaman pasar pribadi](#private-marketplace-branding) | `StartChangeSet` | `CreateBrandingSettings`<br />`UpdateBrandingSettings` | 
| [Mengaktifkan atau menonaktifkan pengalaman pasar pribadi](#enable-private-marketplace) | `StartChangeSet` | `UpdateExperience` | 
| [Mengaktifkan atau menonaktifkan permintaan pengguna](#private-marketplace-user-requests) | `StartChangeSet` | `UpdateProcurementPolicy` | 
| [Mendapatkan daftar produk dalam pengalaman pasar pribadi](#private-marketplace-policy-details) | `DescribeEntity` | Tidak berlaku | 
| [Menambahkan atau menghapus produk dari pasar pribadi](#private-marketplace-add-products) | `StartChangeSet` | `AllowProductProcurement`<br />`DenyProductProcurement` | 
| [Menemukan produk](#finding-product-ids) | Tidak berlaku | Tidak berlaku | 
| [Bekerja dengan pasar pribadi untukAWS Organizations](#private-marketplace-organizations) | Tidak berlaku | Tidak berlaku | 
| [Mengaitkan kepala sekolah dengan pengalaman](#private-marketplace-associate-accounts) | `StartChangeSet` | `AssociateAudience`<br />`DisassociateAudience` | 
| [Mengarsipkan dan mengaktifkan kembali pengalaman pasar pribadi](#archiving-and-reactivating-a-private-marketplace-experience-capi) | `StartChangeSet` | `RestrictExperience`<br />`ReviveExperience` | 

## Menciptakan pasar pribadi
<a name="creating-a-private-marketplace"></a>

Pasar pribadi untuk sebuah Akun AWS dapat dianggap sebagai daftar produk yang diizinkan pengguna untuk membeli di akun itu, dan branding untuk pasar. Dalam organisasi dengan beberapa akun, Anda dapat menggunakan pengelompokan dari [unit organisasi (OU)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#organizationalunit) yang AWS Organizations disebut untuk mengasosiasikan pengalaman. Misalnya, Anda dapat memiliki satu set produk yang diizinkan untuk dibeli oleh semua akun di organisasi, atau Anda dapat memiliki daftar produk yang berbeda untuk setiap OU dalam organisasi. Anda juga dapat memiliki daftar produk yang berbeda untuk akun individual di organisasi. *Setiap daftar produk dan branding yang disetujui disebut pengalaman pengadaan.* 

DalamAWS Marketplace Catalog API, empat entitas mewakili pengalaman:
+ `Experience`Entitas ini berada pada tingkat pengalaman tertinggi dan berisi dua entitas anak.
+ `ProcurementPolicy`entitas — Entitas ini mewakili produk yang telah diizinkan dan ditolak di pasar pribadi Anda.
+ `BrandingSettings`entitas — Anda juga dapat membuat `BrandingSettings` entitas untuk menentukan bagaimana pasar pribadi Anda terlihat kepada pengguna Anda. 
+ `Audience`entitas — Anda juga harus mengaitkan satu atau lebih `Audience` entitas, yang menentukan kumpulanAkun AWS, OU, atau organisasi tempat pengalaman tersebut berlaku.

Langkah-langkah untuk menciptakan pengalaman pengadaan adalah sebagai berikut:

1. Buat `Experience` entitas.

1. Buat `ProcurementPolicy` entitas untuk menyimpan daftar produk yang diizinkan atau ditolak untuk pengalaman tersebut.

1. (Opsional) Buat `BrandingSettings` entitas untuk menyesuaikan tampilan pengalaman pasar Anda.

1. Kaitkan kepala sekolah dengan pengalaman Anda. Kepala sekolah dapat berupaAkun AWS, OU, atau organisasi.

1. Aktifkan pengalaman.

**catatan**  
Jika akun Anda adalah bagian dari organisasiAWS Organizations, lihat[Bekerja dengan pasar pribadi untukAWS Organizations](#private-marketplace-organizations).

**Buat `Experience` entitas**

Untuk membuat `Experience` entitas, gunakan `StartChangeSet` tindakan dengan `CreateExperience` nilai untuk `ChangeType` parameter untuk meminta pengalaman dibuat olehAWS Marketplace. Lihat contoh kode berikut.

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "CreateExperience",
      "DetailsDocument":
      {
        "Name": "ExamplePrivateMarketplace"
      },
      "Entity":
      {
        "Type": "Experience@1.0"
      }
    }
  ],
  "ChangeSetName": "Create Private Marketplace Example"
}
```

Dalam tindakan ini, `Entity` adalah template untuk entitas yang ingin Anda buat. Itu ditugaskan `EntityId` ketika dibuat. `ChangeSetName`mengidentifikasi perubahan untuk membantu Anda menemukannya nanti.

Respon tersebut terlihat seperti berikut.

```
{
   "ChangeSetArn": "arn:...:AWSMarketplace/ChangeSet/abcd1234example5678frjzkz",
   "ChangeSetId": "abcd1234example5678frjzkz"
}
```

Respons termasuk `ChangeSetId` yang dapat Anda gunakan untuk mendapatkan status permintaan perubahan Anda saat diproses`DescribeChangeSet`. Anda juga dapat menggunakan `ListEntities` untuk menemukan `Experience` entitas Anda tanpa`ChangeSetId`. Untuk informasi selengkapnya tentang set perubahan, lihat[Bekerja dengan set perubahan](catalog-apis.md#working-with-change-sets).

`Experience`Entitas yang baru dibuat tidak memiliki kebijakan pengadaan secara default. Itu juga dibuat dengan pengaturan default untuk branding. Untuk informasi selengkapnya tentang setelan merek, termasuk cara menyesuaikannya, lihat[Mengubah branding pengalaman pasar pribadi](#private-marketplace-branding).

**Buat `ProcurementPolicy` entitas**

Anda harus membuat `ProcurementPolicy` entitas. Secara default, `Experience` entitas baru dinonaktifkan, sehingga Anda dapat membuat kebijakan pengadaan sebelum mengaktifkannya.

**catatan**  
`Experience`Entitas *tanpa* kebijakan pengadaan (null) memungkinkan semua produk untuk dibeli di pasar pribadi Anda. `Experience`Entitas dengan kebijakan pengadaan *kosong* tidak memiliki produk yang tersedia bagi pengguna untuk dibeli.

Untuk mengizinkan dan menolak produk di pasar pribadi Anda, Anda harus membuat kebijakan pengadaan. Untuk melakukan ini, Anda menelepon lagi`StartChangeSet`, tetapi kali ini dengan `ChangeType` dari`CreateProcurementPolicy`. Contoh kode berikut membuat kebijakan pengadaan kosong.

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "CreateProcurementPolicy",
      "DetailsDocument":
      {
        "Name": "ExampleProcurementPolicy"
      },
      "Entity":
      {
        "Type": "Experience@1.0",
        "Identifier": "exp-1234example@1"
      }
    }
  ]
}
```

Yang `Entity` Anda berikan dalam tindakan ini adalah `Experience` entitas yang Anda inginkan kebijakan pengadaan dibuat di dalamnya, jadi Anda harus menyertakan pengenal untuk entitas yang Anda buat sebelumnya. Gunakan `ListEntities` untuk menemukan `Experience` entitas. Anda juga dapat mengembalikan pengenal `DescribeChangeSet` dengan menggunakan pengenal set perubahan dari tindakan `CreateExperience`

**catatan**  
Contoh ini menunjukkan pengenal dengan revisi. `1` Untuk informasi selengkapnya tentang revisi untuk pengidentifikasi, lihat. [Pengidentifikasi](catalog-apis.md#identifier)

Anda dapat kembali menggunakan `DescribeChangeSet` pada jenis `CreateProcurementPolicy` perubahan untuk mengikuti pemrosesan permintaan Anda.

**catatan**  
Nama yang Anda berikan `Experience` dan `ProcurementPolicy` objek tidak munculAWS Marketplace. Nama-nama tersebut hanya untuk kemudahan Anda menemukan entitas di API.

Setelah Anda membuat kebijakan pengadaan, pasar pribadi Anda ditampilkan di. Konsol Manajemen AWS (Anda dapat pergi ke [halaman Private Marketplace](https://aws.amazon.com/marketplace/privatemarketplace) untuk melihatnya.) Setelah Anda menyelesaikan langkah-langkah ini, pasar pribadi Anda akan dinonaktifkan, memiliki merek default, memiliki kebijakan pengadaan kosong, dan tidak akan dikaitkan dengan prinsip apa pun di organisasi Anda. Anda dapat memperbarui branding dan menambahkan produk apa pun yang Anda inginkan di dalamnya, mengaitkan pengalaman dengan satu atau lebih akun, dan kemudian mengaktifkan pasar pribadi Anda.

Bagian berikut menjelaskan mengelola pasar pribadi Anda dengan. AWS Marketplace Catalog API

## Mengubah branding pengalaman pasar pribadi
<a name="private-marketplace-branding"></a>

Anda dapat menyesuaikan tampilan pasar pribadi Anda untuk pengguna Anda. Tanpa kustomisasi, pasar pribadi Anda akan memiliki pengaturan branding default, yang dijelaskan di bawah ini. Aspek branding yang dapat Anda ubah di pasar pribadi meliputi:
+ `Title`— Nama yang ditampilkan untuk pasar pribadi Anda. Ini sama dengan bidang **Nama** di layar **Pengaturan profil** pasar pribadi. Jika Anda mengatur `Title` ke**Example**, maka teks yang ditampilkan adalah **Example Private Marketplace**. Defaultnya adalah **Private Marketplace**.
+ `Information`— Paragraf yang ditampilkan di bawah nama di pasar pribadi Anda. Ini sama dengan bidang **Deskripsi** di **Pengaturan profil**. Defaultnya adalah tidak ada informasi, dalam hal ini deskripsi umum pasar pribadi ditampilkan.
+ `ThemeColor`— Warna yang ditampilkan di spanduk pasar pribadi Anda. Ini adalah warna dalam format heksadesimal RGB. Nilai ini sama dengan bidang **warna Tema** di **Pengaturan profil**. Nilai default-nya adalah `#232F3E`.
+ `LogoUrl`— URL yang menunjuk ke file gambar untuk digunakan sebagai logo di pasar pribadi Anda. URL harus tersedia untuk umum (misalnya, URL Amazon S3 yang ditandatangani). File harus berupa file.png atau .svg dan berada di bawah 500kb. Jika perlu, file gambar akan diubah ukurannya menjadi tinggi maksimum 30 piksel dan lebar maksimum 100 piksel. Ini adalah nilai yang sama dengan **Pilih** **Logo** di **Pengaturan Profil**. Defaultnya adalah tidak menampilkan logo.

Untuk mengatur nilai-nilai ini, Anda harus terlebih dahulu membuat `BrandingSettings` entitas dengan jenis `CreateBrandingSettings` perubahan. Anda kemudian dapat meminta `UpdateBrandingSettings` perubahan untuk mengatur atau mengubah merek. Anda hanya perlu membuat `BrandingSettings` objek sekali. Untuk membuat objek ini, panggil `StartChangeSet` dengan jenis `CreateBrandingSettings` perubahan, seperti yang ditunjukkan dalam contoh kode berikut.

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "CreateBrandingSettings",
      "DetailsDocument":
      {
        "Name": "ExampleBrandingSettingsName"
      },
      "Entity":
      {
        "Type": "Experience@1.0",
        "Identifier": "exp-1234example@2"
      }
    }
  ]
}
```

Contoh ini memodifikasi `Experience` entitas dengan menambahkan `BrandingSettings` objek ke dalamnya. Revisi pengenal entitas telah meningkat menjadi. `2` Untuk informasi selengkapnya tentang revisi untuk pengidentifikasi, lihat. [Pengidentifikasi](catalog-apis.md#identifier)

**catatan**  
Anda dapat menentukan semua detail pengaturan branding dalam panggilan untuk membuat entitas pengaturan merek. Aspek detailnya sama untuk `CreateBrandingSettings` dan`UpdateBrandingSettings`.

Anda mengubah pengaturan dengan memanggil `StartChangeSet` dengan jenis `UpdateBrandingSettings` perubahan. Pengaturan adalah bagian `Configuration` dari `DetailsDocument` objek.

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "UpdateBrandingSettings",
      "DetailsDocument":
      {
        "Name": "ExampleBrandingSettingsName",
        "Description": "Example description",
        "Configuration":
        {
          "Title": "ExampleName",
          "Information": "Example description.",
          "ThemeColor": "#0e7f74",
          "LogoUrl": "https://example.com/path/mylogo.png"
        }
      },
      "Entity":
      {
        "Type": "Experience@1.0",
        "Identifier": "exp-1234example@3"
      }
    }
  ]
}
```

**catatan**  
URL untuk logo digunakan untuk membuat salinan selama perubahan pembaruan. Setelah perubahan selesai, jika Anda menghapus atau mengubah URL di jalur itu, itu tidak akan mempengaruhi pasar pribadi Anda kecuali Anda meminta lagi`UpdateBrandingSettings`.

## Mengaktifkan atau menonaktifkan pengalaman pasar pribadi
<a name="enable-private-marketplace"></a>

Ketika pasar pribadi diaktifkan (dan memiliki kebijakan pengadaan), pengguna di akun terkait hanya dapat membeli produk yang telah Anda setujui. Jika tidak ada pengalaman pasar pribadi yang diaktifkan untuk akun, pengguna dapat membeli produk di seluruh AWS Marketplace katalog lengkap.

Untuk mengaktifkan pasar pribadi, gunakan `StartChangeRequest` tindakan dengan jenis `UpdateExperience` perubahan.

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "UpdateExperience",
      "DetailsDocument":
      {
        "Status": "Enabled"
      },
      "Entity":
      {
        "Type": "Experience@1.0",
        "Identifier": "exp-1234example@4"
      }
    }
  ]
}
```

Demikian pula, Anda dapat menggunakan tindakan yang sama dan`ChangeType`, tetapi ubah `DetailsDocument` ke `Disabled` untuk menonaktifkan pasar pribadi. `Status`

**catatan**  
Menonaktifkan pasar pribadi membuat daftar produk yang diizinkan dan ditolak, serta penyesuaian, seperti branding. Ketika pasar pribadi dinonaktifkan, pengguna tidak lagi melihat pasar pribadi (meskipun mereka mungkin masih diatur oleh pengalaman default untuk organisasi). Jika tidak ada pengalaman pasar pribadi yang diaktifkan untuk akun, maka semua batasan akan dihapus, dan pengguna dapat memperoleh produk apa pun di publikAWS Marketplace.

## Mengaktifkan atau menonaktifkan permintaan pengguna
<a name="private-marketplace-user-requests"></a>

Pengguna di organisasi Anda dapat melihat publik penuhAWS Marketplace, tetapi mereka hanya dapat berlangganan produk yang Anda izinkan. Secara default, mereka dapat meminta agar produk yang tidak ada di pasar pribadi ditambahkan ke dalamnya. Permintaan ini muncul di halaman administrator pasar pribadi ([Private Marketplace](https://aws.amazon.com/marketplace/privatemarketplace/admin/)), di mana Anda dapat memutuskan apakah akan menerima atau menolak permintaan (dan apakah akan memblokir permintaan lebih lanjut untuk produk yang sama). Anda tidak dapat melihat atau menanggapi permintaan dengan menggunakan API Katalog.

Anda dapat mengaktifkan atau menonaktifkan kemampuan pengguna untuk membuat permintaan untuk pengalaman pasar pribadi Anda. Gunakan `StartChangeSet` dengan tipe `UpdateProcurementPolicy` perubahan. Kemampuan untuk membuat permintaan dinonaktifkan dalam contoh kode berikut.

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "UpdateProcurementPolicy",
      "DetailsDocument":
      {
        "Configuration":
        {
          "PolicyResourceRequests": "Deny"
        }
      },
      "Entity":
      {
        "Type": "Experience@1.0",
        "Identifier": "exp-1234example@5"
      }
    }
  ]
}
```

Untuk mengaktifkan kemampuan permintaan perubahan bagi pengguna, gunakan `Allow` alih-alih `Deny` in`PolicyResourceRequests`.

Untuk mempelajari cara mendapatkan status saat ini dari pengaturan ini, lihat bagian selanjutnya,[Mendapatkan daftar produk dalam pengalaman pasar pribadi](#private-marketplace-policy-details).

## Mendapatkan daftar produk dalam pengalaman pasar pribadi
<a name="private-marketplace-policy-details"></a>

Produk yang diizinkan (dan ditolak) di pasar swasta adalah bagian dari kebijakan pengadaan di `Experience` entitas. Untuk mendapatkan rincian tentang kebijakan pengadaan di pasar pribadi, pertama-tama Anda mendapatkan pengidentifikasi kebijakan pengadaan dari `Experience` entitas, dan kemudian menelepon dengan pengenal itu. `DescribeEntity`

Untuk mendapatkan pengenal kebijakan pengadaan, gunakan `DescribeEntity` pada `Experience` entitas yang Anda minati, seperti yang ditunjukkan pada perintah berikut.

```
GET /DescribeEntity?catalog=AWSMarketplace&entityId={{exp-example01}}
```

Berikut adalah respons contohnya:

```
{
  "Details": "{\"Name\":\"New Private Marketplace\", \"Status\":\"Enabled\", \"ProcurementPolicies\":[\"procpolicy-123example456\"], \"BrandingSettings\":[\"brandsettings-456example123\"]}",
  "DetailsDocument":
  {
    "Name": "New Private Marketplace",
    "Status": "Enabled",
    "ProcurementPolicies":
    [
      "procpolicy-123example456"
    ],
    "BrandingSettings":
    [
      "brandsettings-456example123"
    ]
  },
  "EntityArn": "arn:<...>:AWSMarketplace/Experience/exp-example-01",
  "EntityIdentifier": "exp-example01@6",
  "EntityType": "Experience@1.0",
  "LastModifiedDate": "2021-01-13T20:31:36Z"
}
```

**catatan**  
`DetailsDocument`Atribut berisi rincian entitas sebagai objek JSON. `Details`Atribut warisan berisi objek JSON yang sama sebagai string. 

Anda dapat menggunakan pengembalian `EntityId` untuk kebijakan pengadaan untuk mendapatkan detailnya, seperti yang ditunjukkan pada perintah berikut.

```
GET /DescribeEntity?catalog=AWSMarketplace&entityId={{procpolicy-123example456}}
```

Ini mengembalikan rincian lengkap kebijakan, termasuk produk yang diizinkan dan ditolak. Berikut adalah respons contohnya:

```
{
  "Details": "{\"Name\":\"ExampleProcurementPolicy\", \"Statements\":[{\"Effect\":\"Allow\",\"Resources\":[{\"Type\":\"Product\",\"Ids\":[\"example1-1234-abcd-5678-90abcdef1234\"]},{\"Type\":\"Product\",\"Ids\":[\"example2-2345-bcde-6789-01bcdea2345\"]}]},{\"Effect\":\"Deny\",\"Resources\":[{\"Type\":\"Product\",\"Ids\":[\"example3-3456-cdef-7890-12defabc5678\"]}]}],\"Configuration\":{\"PolicyResourceRequests\":\"Allow\"}}",
  "DetailsDocument":
  {
    "Name": "ExampleProcurementPolicy",
    "Statements":
    [
      {
        "Effect": "Allow",
        "Resources":
        [
          {
            "Type": "Product",
            "Ids":
            [
              "example1-1234-abcd-5678-90abcdef1234"
            ]
          },
          {
            "Type": "Product",
            "Ids":
            [
              "example2-2345-bcde-6789-01bcdea2345"
            ]
          }
        ]
      },
      {
        "Effect": "Deny",
        "Resources":
        [
          {
            "Type": "Product",
            "Ids":
            [
              "example3-3456-cdef-7890-12defabc5678"
            ]
          }
        ]
      }
    ],
    "Configuration":
    {
      "PolicyResourceRequests": "Allow"
    }
  },
  "EntityArn": "arn:<...>AWSMarketplace/ProcurementPolicy/procpolicy-123example456",
  "EntityIdentifier": "procpolicy-123example456@4",
  "EntityType": "ProcurementPolicy@1.0",
  "LastModifiedDate": "2020-10-01T12:00:00Z"
}
```

Dalam contoh ini, kebijakan pengadaan memiliki dua produk yang diizinkan dan satu produk yang ditolak. Kebijakan ini memungkinkan permintaan sumber daya pengguna.

## Menambahkan atau menghapus produk dari pasar pribadi
<a name="private-marketplace-add-products"></a>

Secara default, pasar pribadi tidak memiliki produk yang disetujui di dalamnya. Gunakan permintaan perubahan untuk menambah atau menghapus produk. Untuk menambahkan produk, gunakan jenis `AllowProductProcurement` perubahan. Untuk menghapus produk, gunakan jenis `DenyProductProcurement` perubahan. 

Contoh kode berikut menunjukkan jenis `AllowProductProcurement` perubahan dengan `StartChangeSet` tindakan untuk menambahkan produk ke pasar pribadi.

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "AllowProductProcurement",
      "DetailsDocument":
      {
        "Products":
        [
          {
            "Ids":
            [
              "example-1234-abcd-5678-90abcded1234"
            ],
            "Notes": "Useful product"
          }
        ]
      },
      "Entity":
      {
        "Identifier": "exp-1234example@6",
        "Type": "Experience@1.0"
      }
    }
  ]
}
```

Anda menambahkan produk ke `Experience` entitas untuk pasar pribadi dengan menggunakan`AllowProductProcurement`. Sintaks untuk menghapus produk dari pasar pribadi identik, dengan pengecualian bahwa Anda menggunakan `DenyProductProcurement` `ChangeType` bukannya. `AllowProductProcurement` Produk ditambahkan ke daftar izinkan (atau tolak) `ProcurementPolicy` entitas yang terkandung oleh `Experience` entitas Anda.

**catatan**  
Daftar produk dalam perubahan Anda adalah array`Ids`, sehingga Anda dapat menambahkan (atau menghapus) beberapa produk dengan satu panggilan dengan menyertakan daftar pengidentifikasi produk. `DetailsDocument` Batasnya adalah 50 produk dalam satu permintaan.  
`Notes`Bidang untuk daftar `Ids` tidak diperlukan. Namun, Anda dapat menggunakannya untuk mencatat mengapa keputusan untuk mengizinkan atau menolak serangkaian produk dibuat.

## Menemukan produk
<a name="finding-product-ids"></a>

Dengan mendapatkan rincian kebijakan pengadaan Anda, Anda dapat menemukan ID produk untuk produk yang sudah ada di pasar pribadi. Namun, AWS Marketplace Catalog API tidak menyediakan cara untuk menemukan ID produk untuk produk lain. Ada dua cara untuk mendapatkan ID produk untuk digunakan dengan layanan API Katalog:
+ **Pasar publik** — Setelah Anda menemukan produk di pasar publik, pilih **Lanjutkan Berlangganan untuk** melihat halaman detail tentang produk (itu tidak akan berlangganan Anda ke produk). URL akan menyertakan ID produk sebagai parameter. Misalnya, di URL`https://aws.amazon.com/marketplace/fulfillment?productId=ab1234cd-1234-abcd-5678-90abcdef1234&ref_=dtl_psb_continue`, {{ab1234cd-1234-abcd-5678-90abcdef1234}} adalah ID produk.
+ **AWS MarketplaceDiscovery API** — Secara terprogram, Anda dapat mengakses daftar lengkap produk di dalam menggunakan AWS Marketplace Discovery API. Discovery API adalah API pribadi. Anda harus meminta akses untuk dapat menggunakannya. Untuk informasi selengkapnya, lihat [Kontrol akses untuk AWS Marketplace API Penemuan](discovery-api-access-control.md). 

## Bekerja dengan pasar pribadi untukAWS Organizations
<a name="private-marketplace-organizations"></a>

Apakah Anda bekerja dengan pasar pribadi untuk akun Anda atau organisasi Anda, Anda menggunakan API yang sama. Namun, ada perbedaan saat bekerja di dalam organisasi Anda:
+ Sebelum Anda dapat menggunakan fitur pasar pribadi dalam suatu organisasi, Anda harus [mengaktifkan akses tepercaya](https://docs.aws.amazon.com/organizations/latest/APIReference/API_EnableAWSServiceAccess.html) untuk menyediakan layanan pasar pribadi (`private-marketplace.marketplace.amazonaws.com`) akses ke AWS Organizations data Anda. Anda juga harus [membuat peran terkait layanan pasar pribadi](https://docs.aws.amazon.com/organizations/latest/APIReference/API_EnableAWSServiceAccess.html) di akun manajemen. Peran ini mencakup semua izin yang diperlukan pasar pribadi untuk mendeskripsikan AWS Organizations dan memperbarui sumber daya pasar pribadi atas nama Anda. Tindakan ini hanya dapat dilakukan oleh akun manajemen. Disarankan untuk melakukan pemberdayaan ini menggunakan halaman administrator pasar pribadi. Jika Anda adalah pelanggan baru, lihat [Pasar pribadi](https://docs.aws.amazon.com/marketplace/latest/buyerguide/buyer-using-service-linked-roles.html) di *Panduan AWS Marketplace Pembeli*. Jika Anda adalah pelanggan yang sudah ada, lihat [Membuat dan mengelola pasar pribadi](https://docs.aws.amazon.com/marketplace/latest/buyerguide/private-catalog-administration.html) di *Panduan AWS Marketplace Pembeli*. 
+ Sumber daya pasar pribadi dalam suatu organisasi dibuat di akun manajemen dan dibagikan dengan akun anggota yang merupakan administrator yang didelegasikan untuk pasar pribadi.
+ Saat mencantumkan objek di pasar pribadi dari akun anggota yang merupakan administrator yang didelegasikan untuk pasar pribadi, Anda harus secara khusus memintanya dengan `SharedWithMe` filter. Ini berlaku untuk keduanya `ListEntities` dan `ListChangeSets` tindakan.

Untuk membuat daftar `Experience` objek di akun Anda sendiri, panggil `ListEntities` seperti yang ditunjukkan pada contoh kode berikut.

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

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

Namun, untuk mencantumkan entitas yang telah dibagikan dengan Anda, Anda harus menambahkan `FilterList` dengan `Scope` dari`SharedWithMe`, seperti yang ditunjukkan pada contoh kode berikut. Akibatnya, AWS Marketplace cari di luar akun Anda sendiri untuk menemukan entitas yang dibagikan dengan Anda.

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

{"Catalog":"AWSMarketplace", 
"EntityType":"Experience",
 "FilterList": 
  [{
     "Name": "Scope",
     "ValueList":
      ["SharedWithMe"]
      }]}
```

Dalam hal ini, hanya entitas di luar akun Anda (yang untuk organisasi Anda) yang dikembalikan.

Demikian pula, untuk memanggil`ListChangeSets`, Anda harus mengatur ruang lingkup, seperti yang ditunjukkan dalam contoh kode berikut.

```
POST /ListChangeSets HTTP/1.1
Content-Type: application/json

{"Catalog":"AWSMarketplace", 
 "FilterList": 
  [{
     "Name": "Scope",
     "ValueList":
      ["SharedWithMe"]
      }]}
```

Ini mengembalikan set perubahan yang berlaku untuk pasar pribadi bersama untuk organisasi Anda.

## Mengaitkan kepala sekolah dengan pengalaman
<a name="private-marketplace-associate-accounts"></a>

Pengalaman pasar pribadi harus memiliki satu atau lebih prinsip yang terkait dengannya untuk memiliki efek apa pun dalam organisasi Anda. Untuk satuAkun AWS, Anda harus mengaitkan akun dengan pengalaman untuk menggunakan pasar pribadi. Dalam suatu organisasi, Anda dapat memiliki banyak pengalaman yang berlaku untuk prinsip yang berbeda. 

**catatan**  
Pengalaman yang terkait dengan organisasi adalah default untuk semua akun lain di organisasi. Mengaitkan akun anggota atau OU dengan pengalaman yang berbeda secara langsung menetapkan pengalaman yang berbeda untuk akun anggota atau akun anak OU.
Jika Anda adalah pelanggan pasar pribadi saat ini tanpa AWS Organizations integrasi untuk pasar pribadi, pengalaman yang terkait dengan akun manajemen adalah default untuk semua akun lain dalam organisasi.

Untuk mengaitkan prinsipal ke pengalaman, gunakan jenis `AssociateAudience` perubahan dengan `StartChangeSet` tindakan, seperti yang ditunjukkan pada contoh kode berikut.

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "Entity":
      {
        "Type": "Experience@1.0",
        "Identifier": "exp-example01@1"
      },
      "ChangeType": "AssociateAudience",
      "DetailsDocument":
      {
        "Name": "AudienceName",
        "Description": "Audience example.",
        "Principals":
        [
          "012345678901",
          "ou-abcd-01234567",
          "o-0123456789"
        ]
      }
    }
  ],
  "ChangeSetName": "Set Audience for experience 01"
}
```

*Penonton* adalah daftar *kepala sekolah yang* terkait dengan. `Experience` Prinsipal adalahAkun AWS, unit organisasi, atau organisasi yang ditentukan oleh ID-nya. `Principals`adalah daftar, sehingga Anda dapat menyertakan beberapa prinsip untuk dikaitkan dengan pengalaman. Setelah panggilan pertama, panggilan berikutnya ke jenis `AssociateAudience` perubahan akan menambahkan prinsip ke asosiasi untuk pengalaman tersebut.

Anda juga dapat menghapus akun dari pengalaman. Gunakan jenis `DisassociateAudience` perubahan untuk melakukan ini, seperti yang ditunjukkan pada contoh kode berikut.

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "Entity":
      {
        "Type": "Experience@1.0",
        "Identifier": "exp-example01@02"
      },
      "ChangeType": "DisassociateAudience",
      "DetailsDocument":
      {
        "Principals":
        [
          "012345678901",
          "ou-abcd-01234567",
          "o-0123456789"
        ]
      }
    }
  ],
  "ChangeSetName": "Disassociate audience example"
}
```

**catatan**  
Seorang kepala sekolah hanya dapat secara langsung dikaitkan dengan satu pengalaman. Untuk memindahkan kepala sekolah agar tidak terkait langsung dengan satu pengalaman ke pengalaman lain, Anda harus memisahkannya dari pengalaman awal, lalu mengaitkannya dengan pengalaman kedua.

## Mengarsipkan dan mengaktifkan kembali pengalaman pasar pribadi
<a name="archiving-and-reactivating-a-private-marketplace-experience-capi"></a>

Anda dapat menghapus pengalaman pasar pribadi dengan mengarsipkannya. Pengalaman yang diarsipkan tidak dapat diperbarui atau digunakan untuk mengatur akun di organisasi Anda. Jika Anda memiliki audiens yang terkait dengan pengalaman yang diarsipkan, Anda dapat mengaitkannya dengan pengalaman yang berbeda. Jika Anda memutuskan untuk menggunakan pengalaman di lain waktu, Anda selalu dapat mengaktifkannya kembali. Administrator dari akun manajemen atau akun anggota yang merupakan administrator yang didelegasikan untuk pasar pribadi memiliki izin untuk mengarsipkan dan mengaktifkan kembali pengalaman. Jika Anda adalah pelanggan pasar pribadi saat ini tanpa AWS Organizations integrasi untuk pasar pribadi, administrator dari akun yang menciptakan pengalaman memiliki izin untuk mengarsipkan dan mengaktifkan kembali pengalaman.

**catatan**  
Sebelum mengarsipkan pengalaman, Anda harus menonaktifkannya. *Untuk informasi tentang menonaktifkan pengalaman, lihat [Mengonfigurasi pasar pribadi Anda](https://docs.aws.amazon.com/marketplace/latest/buyerguide/private-catalog-administration.html#configure-your-private-marketplace) di Panduan Pembeli. AWS Marketplace*

Untuk mengarsipkan pengalaman, gunakan jenis `RestrictExperience` perubahan dengan `StartChangeSet` tindakan, seperti yang ditunjukkan dalam contoh kode berikut.

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "RestrictExperience",
      "DetailsDocument":
      {},
      "Entity":
      {
        "Type": "Experience@1.0",
        "Identifier": "exp-1234example"
      }
    }
  ]
}
```

Untuk mengaktifkan kembali pengalaman, gunakan jenis `ReviveExperience` perubahan dengan `StartChangeSet` tindakan, seperti yang ditunjukkan pada contoh kode berikut.

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "ReviveExperience",
      "DetailsDocument":
      {},
      "Entity":
      {
        "Type": "Experience@1.0",
        "Identifier": "exp-1234example"
      }
    }
  ]
}
```

## Kesalahan di API pasar pribadi
<a name="private-marketplace-error-codes"></a>

Kesalahan berikut khusus untuk tindakan pasar pribadi di API AWS Marketplace Katalog.


<table>
<thead>
  <tr><th>Jenis perubahan</th><th>Kode kesalahan</th><th>Pesan kesalahan</th><th>Deskripsi</th></tr>
</thead>
<tbody>
  <tr><td colspan="4">Errors returned directly by the StartChangeSet action</td></tr>
  <tr><td>Semua</td><td>422</td><td>Dokumen format JSON tidak valid</td><td>Input JSON tidak valid yang digunakan, periksa sintaks Anda.</td></tr>
  <tr><td>AllowProductProcurement, DenyProductProcurement</td><td>422</td><td>Nilai dalam array Ids harus unik</td><td>Anda tidak dapat menyertakan produk yang sama beberapa kali dalam satu permintaan perubahan.</td></tr>
  <tr><td>AllowProductProcurement, DenyProductProcurement</td><td>422</td><td>Jumlah kumulatif nilai dalam array Ids harus kurang dari atau sama dengan 50</td><td>Anda dapat mengizinkan atau menolak hingga 50 produk dalam satu permintaan perubahan.</td></tr>
  <tr><td colspan="4">Errors found by calling the DescribeChangeSet action</td></tr>
  <tr><td>CreateBrandingSettings, UpdateBrandingSettings</td><td>INVALID\_URL</td><td>Gambar tidak dapat diambil dari URL masukan</td><td>Anda harus menentukan URL yang valid dan dapat dijangkau untuk bidang logo di. `BrandingSettings`</td></tr>
  <tr><td>CreateBrandingSettings, UpdateBrandingSettings</td><td>INVALID\_IMAGE</td><td>Verifikasi gambar untuk jenis, konten, atau ukuran file gagal. Hanya jenis file.png dan .svg dengan ukuran kurang dari atau sama dengan 500KB yang didukung.</td><td>File gambar Anda harus sesuai dengan persyaratan logo untuk pengaturan branding.</td></tr>
  <tr><td>AllowProductProcurement, DenyProductProcurement</td><td>ENTITY\_NOT\_FOUND</td><td>Kebijakan pengadaan hilang dari Pengalaman</td><td>Anda harus membuat `ProcurementPolicy` sebelum mengizinkan atau menolak produk.</td></tr>
  <tr><td>CreateProcurementPolicy</td><td>ENTITY\_ALREADY\_EXISTS</td><td>Kebijakan pengadaan ada untuk Pengalaman</td><td>Anda hanya dapat memiliki kebijakan pengadaan tunggal untuk pasar pribadi.</td></tr>
  <tr><td>UpdateProcurementPolicy</td><td>ENTITY\_NOT\_FOUND</td><td>Kebijakan pengadaan hilang dari Pengalaman</td><td>Anda harus membuat `ProcurementPolicy` sebelum memperbarui kebijakan pengadaan.</td></tr>
  <tr><td>CreateBrandingSettings</td><td>ENTITY\_ALREADY\_EXISTS</td><td>Pengaturan branding ada untuk Pengalaman</td><td>Anda hanya dapat memiliki satu pengaturan branding untuk pasar pribadi.</td></tr>
  <tr><td>UpdateBrandingSettings</td><td>ENTITY\_NOT\_FOUND</td><td>Pengaturan branding hilang dari Pengalaman</td><td>Anda harus membuat `BrandingSettings` entitas sebelum memperbarui pengaturan branding.</td></tr>
  <tr><td>AssociateAudience</td><td>CALLER\_NOT\_AUTHORIZED</td><td>Penelepon tidak berwenang untuk menjalankan tindakan</td><td>Anda harus memiliki izin untuk memanggil tindakan. Akun yang ditambahkan harus berada di organisasi yang sama.</td></tr>
  <tr><td>CreateExperience</td><td>CALLER\_NOT\_AUTHORIZED</td><td>Penelepon tidak berwenang untuk menciptakan pengalaman. </td><td>Anda harus memiliki izin untuk menciptakan pengalaman.</td></tr>
  <tr><td>AssociateAudience</td><td>ENTITY\_ALREADY\_EXISTS</td><td>Pengalaman sudah dikaitkan dengan akun {accountID}. Lepaskan pengalaman sebelumnya sebelum memperbarui</td><td>Anda hanya dapat mengaitkan satu pengalaman dengan akun. Pisahkan pengalaman saat ini sebelum mengaitkan yang baru. </td></tr>
  <tr><td>AssociateAudience, DisassociateAudience</td><td>ENTITY\_IN\_USE</td><td>Sudah ada perubahan yang bertentangan dalam proses untuk akun yang dipilih. Coba lagi nanti</td><td>Anda tidak dapat mengubah asosiasi dengan akun sementara permintaan perubahan lain untuk mengubah asosiasi sudah berlangsung.</td></tr>
</tbody>
</table>


## Jenis entitas yang ditentukan oleh pasar pribadi
<a name="entity-types-defined-by-private-marketplace"></a>

Tabel berikut mencantumkan jenis, tujuan, dan tindakan entitas pasar pribadi yang masing-masing dapat ditentukan. Setiap jenis entitas dapat digunakan untuk menentukan sumber daya Amazon Resource Name (ARN) yang dapat digunakan dalam kebijakan AWS Identity and Access Management (IAM). Untuk detail lebih lanjut tentang format ARN, lihat. [Entitas API Katalog](catalog-apis.md#catalog-api-entities)


| Entitas | Tujuan | Tindakan | 
| --- | --- | --- | 
| `Experience` | Menyimpan pengaturan tingkat atas untuk pasar pribadi | `StartChangeSet`<br />`DescribeEntity` | 
| `BrandingSettings` | Menyimpan pengaturan branding untuk pasar pribadi | `DescribeEntity` | 
| `ProcurementPolicy` | Menyimpan pengaturan pengadaan dan daftar produk di pasar pribadi | `DescribeEntity` | 
| `Audience` | Menyimpan rincian prinsipal yang terkait dengan pasar pribadi | `DescribeEntity` | 