

AWS Marketplace API 參考已重組。如需支援的 API 操作的詳細資訊，請參閱 [AWS Marketplace API 參考](https://docs.aws.amazon.com/marketplace/latest/APIReference/Welcome.html)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用賣方產品
<a name="work-with-seller-products"></a>

您可以使用 AWS Marketplace Catalog API自動化使用賣方產品的任務。這包括建立、更新、檢視、列出和排序產品的功能。這可讓您自動化產品管理。例如，您可以在 上提供自助發佈功能AWS Marketplace 管理入口網站。

*產品*是您打算銷售的單位或資源AWS Marketplace，通常稱為基本產品。在您新增產品資訊、部署屬性和帳單資訊之前，買方無法使用基本產品。

*產品*說明您要銷售之清單的產品資訊、軟體部署屬性和計費機制。*產品*必須與 *優惠*配對，才能成為您可以銷售且買方可在其中使用的可交易單位AWS Marketplace。

您也可以使用 AWS Marketplace Catalog API來：
+ [使用 AWS MarketplaceAPIs處理私有優惠](work-with-private-offers.md)
+ [使用 AWS MarketplaceAPIs 處理轉售授權](work-with-resale-authorizations.md)
+ [使用 AWS MarketplaceAPIs 與管道合作夥伴私有優惠搭配使用](work-with-cppos.md)

每個產品類型都有不同的產品實體。*實體*可以是產品或優惠AWS Marketplace。支援下列產品類型和實體：


| 產品類型 | 實體 | 
| --- | --- | 
| Amazon Machine Image (AMI) 產品 | AmiProduct@1.0 | 
| 容器產品 | ContainerProduct@1.0 | 
| 軟體即服務 (SaaS) 產品 | SaaSProduct@1.0 | 
| 機器學習 (ML) 產品 | MachineLearningProduct@1.0 | 

**注意**  
不支援具有CloudFormation產品類型、AWS Data Exchange資料產品和專業服務產品的單一 AMI。

下列主題假設您具有 API 的存取權，且已完成任何賣方先決條件，如中所述[AWS Marketplace目錄 API 的存取控制](catalog-api-access-control.md)。

請參閱下列資源：
+ 若要了解使用AWS Marketplace目錄 API 的基本概念，請參閱 [使用 AWS Marketplace 目錄 API](catalog-apis.md)。
+ 如需具有工作程式碼範例的end-to-end實驗室，請參閱 *AWS Marketplace賣方研討會*中的[使用 API 管理產品](https://catalog.workshops.aws/mpseller/en-US/manage-products-with-api)。
+ 如需 API 請求的程式碼範例，請參閱 GitHub 上*AWS範例*中的 [Python](https://github.com/aws-samples/aws-marketplace-reference-code/tree/main/python/src/catalog_api/products) 和 [Java](https://github.com/aws-samples/aws-marketplace-reference-code/tree/main/java/resources/changeSets/products) 範例。

下列主題說明如何使用目錄 API 對單一 AMI 產品、容器型產品或 SaaS 產品執行動作。

**Topics**
+ [建立產品](#create-product)
+ [更新產品詳細資訊](#update-information)
+ [新增定價維度](#add-dimensions)
+ [更新定價維度](#update-dimensions)
+ [限制定價維度](#restrict-dimensions)
+ [更新目標組態](#update-targeting)
+ [更新產品可見性](#update-visibility)
+ [發佈產品](#release-product)
+ [尋找您的產品 ID](#seller-product-id)
+ [變更集狀態和錯誤](#seller-product-change-set-errors)
+ [使用 AMI 型產品](work-with-single-ami-products.md)
+ [使用 EC2 Image Builder 元件產品](work-with-ec2-image-builder-products.md)
+ [使用 AWS MarketplaceAPIs 使用容器型產品](work-with-container-products.md)
+ [使用 AWS MarketplaceAPIs 使用 SaaS 產品](work-with-saas-products.md)
+ [使用 AWS Marketplace APIs使用機器學習產品](work-with-ml-products.md)

## 建立產品
<a name="create-product"></a>

**注意**  
只有在您想要在AWS Marketplace目錄中建立全新的產品實體時，才需要此變更類型。更新現有產品時不需要。

您可以使用目錄 API，在其中建立具有識別符 （產品代碼和產品 ID) 的 AMI、容器、機器學習或 SaaS 產品文件AWS Marketplace。

您可以透過使用`CreateProduct`變更類型呼叫 `StartChangeSet` API 操作來建立處於 `Draft` 狀態的產品。

如果您的請求處理成功， 會為您AWS Marketplace Catalog API產生處於 `Draft` 狀態的產品。這是不完整的產品，買方看不到AWS Marketplace。

然後，您可以使用`Update`變更類型來完成建立產品程序：[UpdateInformation](#update-information)、[UpdateDimensions](#update-dimensions)、[UpdateTargeting](#update-targeting) 和 [UpdateVisibility](#update-visibility)。

產品完成後，您可以使用 [ReleaseProduct](#release-product) 變更類型來完成產品建立程序，然後釋出優惠。此程序會驗證整個產品，並將產品移至 `Limited` 狀態。

**注意**  
如需使用 建立產品的詳細資訊AWS Marketplace 管理入口網站，請參閱 *AWS Marketplace賣方指南*中的下列主題：  
[建立您的單一 AMI 產品](https://docs.aws.amazon.com/marketplace/latest/userguide/ami-single-ami-products.html#ami-create-product)  
您無法更新 版本的 AMI。如果您需要更新 AMI，請改為建立新的版本。
[建立容器產品](https://docs.aws.amazon.com/marketplace/latest/userguide/container-product-getting-started.html#create-container-product)
[建立 SaaS 產品](https://docs.aws.amazon.com/marketplace/latest/userguide/saas-create-product.html)
 [建立機器學習產品](https://docs.aws.amazon.com/marketplace/latest/userguide/ml-creating-your-listing.html) 
如果您使用 AWS Marketplace 管理入口網站建立產品，產品將處於 `Staging` 狀態。

若要建立處於 `Draft` 狀態的產品，請使用 `CreateProduct` 變更類型呼叫 `StartChangeSet` API 操作，如下列範例所示。

**請求語法**

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

{
"Catalog": "AWSMarketplace",
"ChangeSet": [ 
  { 
    "ChangeType":"CreateProduct",
    "Entity":{
      "Type": "SaaSProduct@1.0" // choose from ["AmiProduct@1.0", "ContainerProduct@1.0", "SaaSProduct@1.0", "MachineLearningProduct@1.0"]
     },
     "DetailsDocument": {
        "ProductTitle": "{{Test product title set in CreateProduct}}"
     }
  }
]
}
```

提供要新增`CreateProduct`變更類型的欄位資訊。此變更類型可以採用 `ProductTitle` 屬性，但需遵守與傳送至`UpdateInformation`變更類型的相同限制。
+ `Entity` （物件） （必要） – 所建立物件的命名類型。
  + `Type` （字串） （必要） – `Type`是以您的產品將使用的交付方法 （產品類型） 為基礎：`AmiProduct@1.0`、 `ContainerProduct@1.0``MachineLearningProduct@1.0`或 `SaaSProduct@1.0`。如需詳細資訊，請參閱[識別符](catalog-apis.md#identifier)。
+ `DetailsDocument` （物件） （必要） – 可能空白。
  + `ProductTitle` （選用） – 您產品的標題，長度上限為 72 個字元。請注意，您也可以稍後透過`UpdateInformation`變更類型設定或更新產品標題。

**回應語法**

為您的請求建立變更集。對此請求的回應為您提供變更集`ChangeSetId``ChangeSetArn`的 和 ，如下所示。

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

變更請求會新增至佇列並進行處理。

您可以透過 檢查請求的狀態AWS Marketplace 管理入口網站，或使用 API 操作直接透過目錄 `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API。

當請求完成時 （如果 `Status`是 `SUCCEEDED`)，`ProductId`會產生新的 。

**同步驗證**

下列結構描述驗證專屬於 中的`CreateProduct`動作AWS Marketplace Catalog API。這些驗證會在您呼叫 時執行`StartChangeSet`。如果請求不符合下列要求，它會失敗並顯示 HTTP 回應。


| 輸入欄位 | 驗證規則 | HTTP 代碼 | 
| --- | --- | --- | 
| ProductTitle （字串） | 長度上限：72 | 400 | 

**非同步錯誤**  
下列錯誤專屬於 中的`CreateProduct`動作AWS Marketplace Catalog API。當您在處理變更集`DescribeChangeSet`之後呼叫 時，會傳回這些錯誤。如需使用 `DescribeChangeSet`取得變更請求狀態的詳細資訊，請參閱 [使用變更集](catalog-apis.md#working-with-change-sets)。


| 錯誤碼  | 錯誤訊息 | 
| --- | --- | 
| INVALID\_INPUT | ProductTitle 欄位中發現不適當的內容 '{InappropriateContent}'。提供沒有不適當內容的 ProductTitle。 | 

## 更新產品詳細資訊
<a name="update-information"></a>

如果您已有產品AWS Marketplace，您可以使用目錄 API 來更新 AMI、容器、ML 或 SaaS 產品的產品詳細資訊。

**注意**  
如需使用 更新產品詳細資訊的詳細資訊AWS Marketplace 管理入口網站，請參閱《 *AWS Marketplace賣方指南*》中的下列主題：  
以 AMI 為基礎的產品：[更新產品資訊](https://docs.aws.amazon.com/marketplace/latest/userguide/ami-single-ami-products.html#single-ami-updating-product)
容器型產品：[建立或更新容器產品的產品資訊](https://docs.aws.amazon.com/marketplace/latest/userguide/container-product-getting-started.html#container-product-updating-version)
SaaS 型產品：[更新產品資訊](https://docs.aws.amazon.com/marketplace/latest/userguide/saas-product-settings.html#update-product-information)
機器學習產品：[更新產品資訊](https://docs.aws.amazon.com/marketplace/latest/userguide/ml-update-product.html)

若要更新產品詳細資訊，請使用`UpdateInformation`變更類型和您要變更的詳細資訊呼叫 `StartChangeSet` API 操作，如下列範例所示。

**請求語法**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "UpdateInformation",
      "Entity":
      {
        "Identifier": "{{prod-example12345}}",
        "Type": "AmiProduct@1.0"
      },
      "DetailsDocument":
      {
        "ProductTitle": "{{My Product Title}}",
        "ShortDescription": "{{My product short description.}}",
        "LongDescription": "{{My product longer description.}}",
        "Sku": "{{123example456}}",
        "LogoUrl": "https://awsmp-logos.s3.amazonaws.com/{{ca60b754fe05a24257176cdbf31c4e0d}}",
        "VideoUrls":
        [
          "https://{{example.com/my-video}}"
        ],
        "Highlights":
        [
          "{{123example45}}"
        ],
        "AdditionalResources":
        [
          {
            "Text": "{{123example456}}",
            "Url": "https://{{example.com/some-link}}"
          }
        ],
        "SupportDescription": "{{Need help? Contact our experts at support@example.com \n\nYour purchase includes 24x7 support.}}",
        "Categories":
        [
          "Operating Systems",
          "Network Infrastructure",
          "Application Development"
        ],
        "SearchKeywords":
        [
          "{{123example456}}"
        ]
      }
    }
  ]
}
```

提供要新增`UpdateInformation`變更類型的欄位資訊：
+ `Entity` （物件） （必要） – 要建立之實體的命名類型。
  + `Identifier` （字串） （必要） – 您的產品 ID。如需詳細資訊，請參閱[識別符](catalog-apis.md#identifier)。
  + `Type` （字串） （必要） – `Type`是以您的產品將使用的交付方法 （產品類型） 為基礎：`AmiProduct@1.0`、`MachineLearningProduct@1.0`、 `ContainerProduct@1.0`或 `SaaSProduct@1.0`。
+ `DetailsDocument` （物件） （必要） – 請求的詳細資訊，包括您要為產品更新的資訊。每個欄位都是選用的，但您必須至少包含一個要更新的變更。
  + `ProductTitle` （字串） – 要向買方顯示的產品名稱。
  + `ShortDescription` （字串） – 要向買方顯示的產品關鍵層面描述。這通常是 2-3 個句子。
  + `LongDescription` （字串） – 要向買方顯示之產品的較長描述。這通常是 1-3 個段落。
  + `Sku` （字串或 null) – 您定義的自由格式字串，做為您自己使用的參考。使用 `null` 來取消設定此欄位。
  + `LogoUrl` （字串） – 可公開存取的 Amazon Simple Storage Service (Amazon S3) 儲存貯體中映像的 URL。如需詳細資訊，請參閱[公司和產品標誌需求](https://docs.aws.amazon.com/marketplace/latest/userguide/product-submission.html#seller-and-product-logos)。
  + `VideoUrls` （字串陣列） – 公開提供、外部託管影片的 URLs 清單，做為產品資訊中買方的參考。
**注意**  
目前， AWS Marketplace支援陣列中的一個 URL。
  + `Highlights` （字串陣列） – 關鍵產品功能的簡短標註清單。
  + `AdditionalResources` （結構陣列） – 參考其他資源的清單，以了解您的產品。每個參考都由文字名稱和 URL 組成：
    + `Text` （字串） – 資源的名稱或標題。
    + `Url` （字串） – 資源的 URL，可能有助於買方了解您的產品。
  + `SupportDescription` （字串） – 有關產品支援方案的詳細資訊。
  + `Categories` （字串陣列） – 描述您產品的已定義產品類別清單AWS Marketplace。如需詳細資訊，請參閱《 *AWS Marketplace 買方指南*》中的[產品類別](https://docs.aws.amazon.com/marketplace/latest/buyerguide/buyer-product-categories.html)。
  + `SearchKeywords` （字串陣列） – 您產品的關鍵字清單，以增強搜尋體驗。賣方名稱、產品名稱和產品類別會自動包含在搜尋關鍵字中，不需要在此重複。

**注意**  
當您最初填入產品的產品資訊 （中繼資料） 時`Draft`，您需要在`UpdateInformation`變更類型的 `DetailsDocument` 物件中提供下列所有項目：`ProductTitle`、`ShortDescription`、`LongDescription`、`Categories`、、`LogoUrl``Highlights``AdditionalResources``SupportDescription`、 和 `SearchKeywords`。  
如果已在`CreateProduct`變更類型期間提供，`ProductTitle`則可以省略 。不過，當您更新產品的現有欄位時，您只能在變更類型的 `DetailsDocument` 物件中包含需要`UpdateInformation`變更的屬性。

**回應語法**

為您的請求建立變更集。對此請求的回應為您提供變更集`ChangeSetId``ChangeSetArn`的 和 ，如下所示。

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

變更請求會新增至佇列並進行處理。

若要檢查請求狀態，請使用 AWS Marketplace 管理入口網站或呼叫 `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API。

**同步驗證**

下列結構描述驗證專屬於 中的`UpdateInformation`動作AWS Marketplace Catalog API。這些驗證會在您呼叫 時執行`StartChangeSet`。如果請求不符合下列要求，它會失敗並顯示 HTTP 回應。


| 輸入欄位 | 驗證規則 | HTTP 代碼 | 
| --- | --- | --- | 
| 字串 （一般）  | 無控制字元 "\\\\x00-\\\\x08\\\\x0B-\\\\x1F" | 400 | 
| ProductTitle （字串） | 長度上限：72 必要 | 400 | 
| ShortDescription （字串） | 長度上限：1000 必要 | 400 | 
| LongDescription （字串） | 長度上限：5000 必要 | 400 | 
| Sku （字串） | 長度上限：100 選用 | 400 | 
| LogoUrl （字串） | URL 模式：<br />^https：//(www\\.)？【-a-zA-Z0- 9@.】{1，256}\\.【a-zA-Z0-9()】{2，63}\\b(【-a-zA- Z0-9@\+./】\*)<br />必要 | 400 | 
| VideoUrls （字串陣列） | URL 模式：<br />https：//(www\\\\.)？【-a-zA-Z0- 9@.\_】{1，256}\\\\.【a-zA-Z0-9()】{2，63}\\\\b(【-a-zA-Z0-9@\_\+\\\\/】 <br />選用 | 400 | 
| 反白 （字串陣列） | 必要：最小值 1 - 最大值 3 | 400 | 
| AdditionalResources （結構陣列） | 長度上限：500 選用 | 400 | 
| SupportDescription （字串） | 長度上限：2000必要 | 400 | 
| 類別 （字串陣列） | 最小值 1 - 最大值 3 必要 | 400 | 
| SearchKeywords （字串陣列） | 最小值 1 - 最大值 15 每個項目最多 50 個字元<br />必要 | 400 | 

**非同步錯誤**

下列錯誤專屬於 中的`UpdateInformation`動作AWS Marketplace Catalog API。當您在處理變更集`DescribeChangeSet`之後呼叫 時，會傳回這些錯誤。如需使用 `DescribeChangeSet` 取得變更請求狀態的詳細資訊，請參閱 [使用變更集](catalog-apis.md#working-with-change-sets)。


| 錯誤碼 | 錯誤訊息 | 
| --- | --- | 
| MISSING\_DATA  | 未提供任何資料來執行更新。提供至少 1 個產品欄位的資料。 | 
| INVALID\_INPUT | 提供 LogoUrl。 | 
| INVALID\_INPUT | 提供 ProductTitle。 | 
| INVALID\_INPUT | 提供 ShortDescription。 | 
| INVALID\_INPUT | 提供 LongDescription。 | 
| INVALID\_INPUT | 提供 SupportDescription。 | 
| INVALID\_INPUT | 提供至少一個搜尋關鍵字。 | 
| INVALID\_INPUT | 提供至少一個反白顯示。 | 
| INVALID\_INPUT | 提供 1 到 3 個產品類別。 | 
| INVALID\_INPUT | ProductTitle 欄位中發現不適當的內容 '{InappropriateContent}'。提供沒有不適當內容的 ProductTitle。 | 
| INVALID\_INPUT | ShortDescription 欄位中發現不適當的內容 '{InappropriateContent}'。提供 ShortDescription，沒有不適當的內容。 | 
| INVALID\_INPUT | 在 LongDescription 欄位中找到不適當的內容 '{InappropriateContent}'。提供沒有不適當內容的 LongDescription。 | 
| INVALID\_INPUT | SupportDescription 欄位中發現不適當的內容 '{InappropriateContent}'。提供 SupportDescription，沒有不適當的內容。 | 
| INVALID\_INPUT | 無效的 ProductTitle 欄位。在商標符號之前移除空格。 | 
| INVALID\_INPUT | 無效的 ShortDescription 欄位。在商標符號之前移除空格。 | 
| INVALID\_INPUT | 無效的 LongDescription 欄位。在商標符號之前移除空格。 | 
| INVALID\_INPUT | SupportDescription 欄位無效。移除商標符號之前的空格。 | 
| INVALID\_INPUT | 無效的 ProductTitle 欄位。移除不支援的字元 【UnsupportedCharacters】。 | 
| INVALID\_INPUT | 無效的 ShortDescription 欄位。移除不支援的字元 【UnsupportedCharacters】。 | 
| INVALID\_INPUT | 無效的 LongDescription 欄位。移除不支援的字元 【UnsupportedCharacters】。 | 
| INVALID\_INPUT | SupportDescription 欄位無效。移除不支援的字元 【UnsupportedCharacters】。 | 
| INVALID\_INPUT | 搜尋關鍵字不可超過 250 個字元。 | 
| INVALID\_INPUT | 無法讀取此變更類型的輸入。提交格式正確的輸入。 | 
| INVALID\_ADDITIONAL\_RESOURCES | AdditionalResources 中的無效 URLs：【InvalidAdditionalResourcesUrls】 提供有效的 URLs。 | 
| INVALID\_CATEGORY\_NAMES | 提供 支援的有效類別名稱AWS Marketplace。 | 
| InvalidImageProperties | 發現驗證錯誤：檔案不是映像類型。支援的影像類型：【png\|jpg\|gif】。 | 
| EXPLICIT\_CONTENT | 明確內容：偵測到 '{ExplicitContent}'。提供沒有明確內容的媒體。 | 
| INVALID\_MEDIA | 無效的 URL：{MediaUrl} 為存放在 S3 中的媒體提供新的 URL。 | 
| INVALID\_MEDIA | 無效的 URL：{MediaUrl} 提供不超過 2048 個字元的有效 URL。 | 
| INVALID\_MEDIA | 提供的位置無法存取：{MediaUrl} 為存放在 S3 中的媒體提供可存取的 URL。 | 
| INVALID\_MEDIA | 從 S3 複製媒體時發生問題。影像大小超過 5 MB。提供小於 5 MB 的映像。 | 
| INVALID\_MEDIA | 在媒體中偵測到惡意軟體。請重新提交不含惡意軟體的媒體。 | 
| TOO\_MANY\_MEDIA | 提供不超過 15 個媒體項目。 | 
| DUPLICATE\_MEDIA | 產品不允許重複媒體。請提供沒有重複項目的媒體。 | 

## 新增定價維度
<a name="add-dimensions"></a>

您可以使用 [AWS Marketplace Catalog Service Actions](https://docs.aws.amazon.com/marketplace/latest/APIReference/API_Operations_AWS_Marketplace_Catalog_Service.html) 來新增計費定價維度，讓您能夠向使用者收取 AMI、容器或 SaaS 產品的費用。

*定價維度*是賣方為向買方收費而定義的度量單位。賣方必須設定此資訊來向買方收取使用產品的帳單，無論是以用量為基礎還是以合約為基礎的定價模式。維度的類型取決於產品的定價模式。

**注意**  
對於具有免費定價模型的 SaaS 產品，您必須使用 UsageBasedPricingTerm 或 ConfigurableUpfrontPricingTerm 建立至少一個維度，且所有維度的價格必須為 0.00 美元。此需求專屬於 SaaS 產品，不適用於 AMI、容器或機器學習產品。

**注意**  
新的定價維度對 SaaS 買方有下列影響：  
對於具有從公開優惠建立之協議的買方，您可以報告新維度的耗用量，即使它們在建立協議時不存在於優惠中。
對於使用私有優惠建立協議的買方，您無法報告新維度的耗用量，因為在建立協議時，它們不存在於私有優惠中。呼叫 [BatchMeterUsage](https://docs.aws.amazon.com/marketplace/latest/APIReference/API_marketplace-metering_BatchMeterUsage.html) API 將會成功，但不會向買方收費，因此您必須追蹤哪些買方可以或不能為任何新維度收費。您也可以使用 [GetAgreementTerms](https://docs.aws.amazon.com/marketplace/latest/APIReference/API_marketplace-agreements_GetAgreementTerms.html) API 來查看每個買方協議中包含的維度。  
若要報告新維度的耗用量並向買方收取費用，您必須[擴展包含該維度的替代優惠](https://docs.aws.amazon.com/marketplace/latest/userguide/private-offers-upgrades-and-renewals.html#private-offers-upgrades-and-renewals-supported-products)，且買方必須接受該優惠。

如需產品定價的詳細資訊，請參閱《 *AWS Marketplace賣方指南*》中的下列主題：
+ [AMI 產品定價](https://docs.aws.amazon.com/marketplace/latest/userguide/pricing-ami-products.html)
+ [容器產品定價](https://docs.aws.amazon.com/marketplace/latest/userguide/pricing-container-products.html)
+ [SaaS 產品定價](https://docs.aws.amazon.com/marketplace/latest/userguide/saas-pricing-models.html)
+ [機器學習產品定價](https://docs.aws.amazon.com/marketplace/latest/userguide/machine-learning-pricing.html)

如需使用 新增定價維度的詳細資訊AWS Marketplace 管理入口網站，請參閱 *AWS Marketplace賣方指南*中的下列主題：
+ AMI 型產品：[更新定價](https://docs.aws.amazon.com/marketplace/latest/userguide/ami-single-ami-products.html#single-ami-update-product-pricing)。
+ 容器型產品：[新增定價維度](https://docs.aws.amazon.com/marketplace/latest/userguide/container-product-getting-started.html#container-add-pricing-dimensions)。
+ SaaS 型產品：[新增定價維度](https://docs.aws.amazon.com/marketplace/latest/userguide/saas-product-settings.html#saas-add-pricing-dimensions)。
+ ML 產品：不支援。機器學習產品具有固定的定價維度。不過，您可以[更新定價](https://docs.aws.amazon.com/marketplace/latest/userguide/ami-single-ami-products.html#single-ami-update-product-pricing)。

若要新增定價維度，請呼叫具有`AddDimensions`變更類型的 `StartChangeSet` API，如下列範例所示。

**注意**  
提交第一個具有指定定價模式維度`AddDimensions`的變更類型之後，您必須與AWS Marketplace賣方營運團隊合作：使用量、合約或合約使用量。它們可協助您新增類型在原始定價模型之外的維度。

**請求語法**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "AddDimensions",
      "DetailsDocument":
      [
        {
          "Description": "{{Description of the dimension}}",
          "Key": "{{UniqueApiKey}}",
          "Unit": "HostHrs",
          "Name": "{{First Dimension}}",
          "Types":
          [
            "ExternallyMetered"
          ]
        }
      ],
      "Entity":
      {
        "Identifier": "{{prod-example12345}}",
        "Type": "SaaSProduct@1.0"
      }
    }
  ]
}
```

提供變更`AddDimensions`類型的下列欄位。
+ `DetailsDocument` （物件陣列） （必要） – 請求的詳細資訊。
  + `Description` （字串） （必要） – 維度的完整詳細資訊，該維度將是買方檢視頁面上的詳細描述。
  + `Key` （字串） （必要） – 在將用於定義優惠中費率的構面中輸入 。此外，如果無法從外部計量維度，請輸入發佈至 AWS Marketplace Metering Service(MMS) 的維度。維度建立之後，就無法變更。
  + `Units` （字串） （必要） – 維度的單位類型。可能的單位包括使用者、主機、GB、MB、TB、Gbps、Mbps、請求、單位、UserHrs、UnitHrs、單位、HostHrs、TierHrs 和 TaskHrs。
  + `Name` （字串） （必要） – 網站和客戶帳單上維度的顯示名稱。
    + `Types` （字串陣列） （必要） （也稱為**標籤**) – 這些指示維度是否涵蓋外部計量、權利或支援外部計量。這在建立維度之後無法變更。
    + 
      + `Metered` – 表示應建立 Commerce Platform 用量類型，以允許針對此維度進行計量。
      + `ExternallyMetered` – 表示應在發佈期間建立AWS Marketplace計量服務 (MMS) 維度，以允許賣方透過 AWSSDK 計量。
      + `Entitled` – 表示可以在產品或優惠發佈期間授予維度的權限。

        下表列出支援的定價維度和產品組合。    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/marketplace/latest/developerguide/work-with-seller-products.html)
+ `Entity` （物件） （必要） – 要建立之實體的命名類型。
  + `Identifier` （字串） （必要） – 您的產品 ID。如需詳細資訊，請參閱[識別符](catalog-apis.md#identifier)。
  + `Type` （字串） （必要） – `Type`是以您的產品將使用的交付方法 （產品類型） 為基礎： `AmiProduct@1.0`或 `SaaSProduct@1.0`。

**回應語法**

為您的請求建立變更集。對此請求的回應為您提供變更集`ChangeSetId``ChangeSetArn`的 和 ，如下所示。

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

變更請求會新增至佇列並進行處理。這包括驗證資訊，以確保其符合AWS Marketplace準則。驗證程序可能需要幾分鐘到幾個小時。

您可以透過 檢查請求的狀態AWS Marketplace 管理入口網站，或使用 API 操作直接透過目錄 `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API。

**同步驗證**

下列結構描述驗證專屬於 中的`AddDimensions`動作AWS Marketplace Catalog API。這些驗證會在您呼叫 時執行`StartChangeSet`。如果請求不符合下列要求，它會失敗並顯示 HTTP 回應。


| 輸入欄位 | 驗證規則 | HTTP 代碼 | 
| --- | --- | --- | 
| 說明 | 長度上限：1000 必要 | 400 | 
| 金錀 | 長度上限：100 模式：【A-Za-z0-9\_.-】\+$ <br />必要 | 400 | 
| 維度單位 | 長度上限：20 必要 | 400 | 
| 名稱 | 長度上限：500 必要 | 400 | 
| 類型 （標籤） | 必要：最小值 1 - 最大值 3<br />輸入：Entitleed， Metered， ExternallyMetered <br />必要 | 400 | 

**非同步錯誤**

下列錯誤專屬於 中的`AddDimensions`動作AWS Marketplace Catalog API。當您在處理變更集`DescribeChangeSet`之後呼叫 時，會傳回這些錯誤。如需使用 `DescribeChangeSet` 取得變更請求狀態的詳細資訊，請參閱 [使用變更集](catalog-apis.md#working-with-change-sets)。


| 錯誤碼  | 錯誤訊息 | 
| --- | --- | 
| MISSING\_DATA | 未提供任何資料來執行更新。提供至少 1 個維度的資料。 | 
| INVALID\_DIMENSION | 提供不超過 200 個維度。 | 
| INVALID\_DIMENSION | 無法新增重複的維度。 | 
| INVALID\_DIMENSION | 維度無法在目前狀態 '%s' 中新增。支援維度更新的狀態為 %s。 | 
| INVALID\_DIMENSION | 無法新增維度。欄位 '%s' 在其他維度中有重複值 '%s'。 | 
| INVALID\_DIMENSION | 為每個維度提供非空白欄位 （金鑰、單位、名稱、類型）。 | 
| IINVALID\_TYPE | 移除無效類型 '%s'。有效類型為 【"Metered"、"Entitled"、"ExternallyMetered"】。 | 
| INVALID\_UNIT | 移除無效的單位 '%s'。有效單位為 【"GB"、"Gbps"、"HostHrs"、"Hosts"、"MB"、"Mbps"、"Requests"、"TaskHrs"、"TB"、"TierHrs"、"UnitHrs"、"Units"、"UserHrs"、"Users"】。 | 
| INVALID\_INPUT | 在 %s 欄位中發現不適當的內容 '%s'。提供沒有不適當內容的 %s。 | 
| INVALID\_INPUT | 無效的 '%s' 欄位。在商標符號之前移除空格。 | 
| INVALID\_INPUT | 無效的 '%s' 欄位。移除不支援的字元 %s。 | 
| INVALID\_DIMENSION | 移除無效的維度類型組合 %s。允許的值為 %s。 | 
| INVALID\_DIMENSION | 移除計量維度的無效維度索引鍵 '%s'。 | 
| INVALID\_DIMENSION | productCode '%s' 的名為 '%s' 的維度未通過AWS Marketplace計量服務驗證 %s。 | 
| INVALID\_DIMENSION | productCode '%s' 的名為 '%s' 的維度在計量服務中沒有計量記錄。產品從未啟動進行測試或設定錯誤，且未對AWS Marketplace計量服務進行適當的呼叫。 | 

## 更新定價維度
<a name="update-dimensions"></a>

您可以使用目錄 API 來更新 AMI、容器或 SaaS 產品的現有定價維度AWS Marketplace。

每個維度都是由維度索引鍵和維度類型唯一識別，以執行更新。更新維度不會影響原始維度建立的任何作用中優惠或客戶。

**注意**  
如需使用 更新定價維度的詳細資訊AWS Marketplace 管理入口網站，請參閱《 *AWS Marketplace賣方指南*》中的下列主題：  
以 AMI 為基礎的產品：[更新定價](https://docs.aws.amazon.com/marketplace/latest/userguide/ami-single-ami-products.html#single-ami-update-product-pricing)
容器型產品：[更新維度資訊](https://docs.aws.amazon.com/marketplace/latest/userguide/container-product-getting-started.html#container-update-dimensions-information)
SaaS 型產品：[更新定價維度](https://docs.aws.amazon.com/marketplace/latest/userguide/saas-product-settings.html#saas-update-dimension)
機器學習產品：[更新產品定價](https://docs.aws.amazon.com/marketplace/latest/userguide/ml-update-public-offer.html)

若要更新定價維度，請使用`UpdateDimensions`變更類型呼叫 `StartChangeSet` API 操作，如下列範例所示。

**請求語法**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "UpdateDimensions",
      "DetailsDocument":
      [
        {
          "Key": "{{UniqueApiKey}}",
          "Types":
          [
            "{{ExternallyMetered}}"
          ],
          "Name": "{{First Dimension}}",
          "Description": "{{Description of the dimension}}"
        }
      ],
      "Entity":
      {
        "Identifier": "{{prod-example12345}}",
        "Type": "SaaSProduct@1.0"
      }
    }
  ]
}
```

使用具有`UpdateDimensions`變更類型的下列欄位：
+ `DetailsDocument` （物件陣列） （必要） – 請求的詳細資訊。
  + `Key` （字串） （必要） – 從產品提供現有維度的索引鍵，以變更描述和名稱。對於 `UpdateDimension`，此欄位僅用於識別要變更的維度。
  + `Types` （字串陣列） （必要） （也稱為**標籤**) – 這些指示維度是否涵蓋外部計量、權利或支援外部計量。這在建立維度之後無法變更。
    + `Metered` – 表示應建立 Commerce Platform 用量類型，以允許針對此維度進行計量。
    + `ExternallyMetered` – 表示應該在發佈期間建立 AWS Marketplace Metering Service(MMS) 維度，以允許賣方透過 AWSSDK 計量。
    + `Entitled` – 表示可以在產品/優惠發佈期間授予維度的權限。  
**有效的定價維度類型組合**    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/marketplace/latest/developerguide/work-with-seller-products.html)
  + `Description` （字串） （選用 – 維度的完整描述，該維度將是買方檢視頁面上的長描述。
  + `Name` （字串） 選用 – 網站和客戶帳單上維度的 DIsplay 名稱。
+ `Entity` （物件） （必要） – 要建立之實體的命名類型。
  + `Identifier` （字串） （必要） – 您的產品 ID。如需詳細資訊，請參閱[識別符](catalog-apis.md#identifier)。
  + `Type` （字串） （必要） – `Type`是以您的產品將使用的交付方法 （產品類型） 為基礎： `AmiProduct@1.0`或 `SaaSProduct@1.0`。

**回應語法**

為您的請求建立變更集。對此請求的回應為您提供變更集`ChangeSetId``ChangeSetArn`的 和 ，如下所示。

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

變更請求會新增至佇列並進行處理。這包括驗證資訊，以確保其符合AWS Marketplace準則。驗證程序可能需要幾分鐘到幾個小時。

您可以透過 檢查請求的狀態AWS Marketplace 管理入口網站，或使用 API 操作直接透過目錄 `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API。

**同步驗證**

下列結構描述驗證專屬於 中的`UpdateDimensions`動作AWS Marketplace Catalog API。這些驗證會在您呼叫 時執行`StartChangeSet`。如果請求不符合下列要求，它會失敗並顯示 HTTP 回應。


| 輸入欄位 | 驗證規則 | HTTP 代碼 | 
| --- | --- | --- | 
| 說明  | 長度上限：1000<br />必要 | 400 | 
| 金錀  | 長度上限：100<br />模式：【A-Za-z0-9\_.-】\+$ <br />必要 | 400 | 
| 名稱 | 長度上限：5<br />必要 | 400 | 
|  類型 （標籤）  | 必要：最小值 1 - 最大值 3<br />輸入：`Entitled`、`Metered`、 `ExternallyMetered`<br />必要 | 422 | 

**非同步錯誤**

下列錯誤專屬於 中的`UpdateDimensions`動作AWS Marketplace Catalog API。當您在處理變更集`DescribeChangeSet`之後呼叫 時，會傳回這些錯誤。如需使用 `DescribeChangeSet` 取得變更請求狀態的詳細資訊，請參閱 [使用變更集](catalog-apis.md#working-with-change-sets)。


| 錯誤碼 | 錯誤訊息 | 
| --- | --- | 
| INVALID\_INPUT | 無效的 '%s' 欄位。在商標符號之前移除空格。 | 
| INVALID\_INPUT | 無效的 '%s' 欄位。移除不支援的字元 %s。 | 
| INVALID\_DIMENSION | 為每個維度提供非空白欄位 (Types、 KeyName和/或 Description)。 | 
| INVALID\_DIMENSION | 無法更新維度。欄位在其他維度中有Name重複的值 '%s'。 | 
| INVALID\_DIMENSION | 無法使用金鑰 '%s' 更新相同的維度，並在相同的請求中多次輸入 '%s'。 | 
| INVALID\_DIMENSION | 無法限制維度。類型為 '%s' 的維度索引鍵 '%s' 不存在。 | 
|  INVALID\_DIMENSION  | 無法更新維度。維度索引鍵 '%s' 是 Metered。 | 
|  INVALID\_DIMENSION  | 無法更新已限制維度的維度。 | 

## 限制定價維度
<a name="restrict-dimensions"></a>

您可以使用目錄 API 來限制 AMI 或 SaaS 產品的現有定價維度AWS Marketplace。

每個維度都是由維度索引鍵和維度類型唯一識別，以執行更新。限制維度不會影響原始維度已建立的任何作用中優惠或客戶。

若要限制定價維度，請呼叫具有`RestrictDimensions`變更類型的 `StartChangeSet` API。

**注意**  
定價維度限制僅適用於產品處於草稿狀態時。一旦產品移至有限或公有狀態，即不允許變更。

下列範例示範如何限制 SaaS 產品的`Entitled`維度。

**請求語法**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "RestrictDimensions",
      "DetailsDocument":
      [
        {
          "Key": "{{UniqueApiKey}}",
          "Types": ["Entitled"]
        }
      ],
      "Entity":
      {
        "Identifier": "{{prod-example12345}}",
        "Type": "SaaSProduct@1.0"
      }
    }
  ]
}
```

使用具有`RestrictDimensions`變更類型的下列欄位：
+ `DetailsDocument` （物件陣列） （必要） – 請求的詳細資訊。
  + `Key` （字串） （必要） – 從產品提供現有維度的索引鍵，以變更描述和名稱。對於 `RestrictDimensions`，此欄位僅用於識別要變更的維度。
  + `Types` （字串陣列） （必要） （也稱為**標籤**) – 這些指示維度是否涵蓋外部計量、權利或支援外部計量。這在建立維度之後無法變更。
    + `["ExternallyMetered", "Entitled"]` – 您只能將這些類型的 SaaS 合約與消費定價結合，其中可以預付或計量維度。
    + `["Metered"]` – 適用於 AMI 產品的每小時定價維度。表示應建立 Commerce Platform 用量類型，以允許針對此維度進行計量。
    + `["ExternallyMetered"]` – 用於 AMI、容器和 SaaS 產品的彈性耗用量定價維度 （也稱為自訂計量）。指出AWS應該在發佈期間建立 Marketplace Metering Service (MMS) 維度，以允許賣方透過 SDK AWS進行計量。
    + `["Entitled"]` – 適用於 SaaS 合約和專業服務產品的合約定價維度。此標籤授予使用軟體或服務的權限、設定用量的開始和結束日期，以及授予 AMI 年度產品的用量折扣權限。中的維度索引鍵可識別每個權利，AWS Marketplace Entitlement Service以建立和更新權利。金鑰表示可以在產品和優惠發佈期間授予維度的權利。
+ `Entity` （物件） （必要） – 所建立實體的命名類型。
  + `Identifier` （字串） （必要） – 您的產品 ID。如需詳細資訊，請參閱[識別符](catalog-apis.md#identifier)。
  + `Type` （字串） （必要） – `Type`是以您產品的交付方法 （產品類型） `AmiProduct@1.0`或 為基礎`SaaSProduct@1.0`。

**回應語法**

為您的請求建立變更集。對此請求的回應為您提供變更集`ChangeSetId``ChangeSetArn`的 和 ，如下所示。

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

變更請求會新增至佇列並進行處理。這包括驗證資訊，以確保其符合AWS Marketplace準則。驗證程序可能需要幾分鐘到幾個小時。

您可以透過 或呼叫 `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API AWS Marketplace 管理入口網站來檢查請求的狀態。

**同步驗證**

下列結構描述驗證專屬於 中的`RestrictDimensions`動作AWS Marketplace Catalog API。這些驗證會在您呼叫 時執行`StartChangeSet`。如果請求不符合下列要求，它會失敗並顯示 HTTP 回應。


| 輸入欄位 | 驗證規則 | HTTP 代碼 | 
| --- | --- | --- | 
| 說明  | 長度上限：1000<br />必要 | 400 | 
| 金錀  | 長度上限：100<br />模式：【A-Za-z0-9\_.-】\+$ <br />必要 | 400 | 
| 名稱 | 長度上限：5<br />必要 | 400 | 
|  類型 （標籤）  | 必要：最小值 1 - 最大值 3<br />輸入：`Entitled`、`Metered`、 `ExternallyMetered`<br />必要 | 400 | 

**非同步錯誤**

下列錯誤專屬於 中的`RestrictDimensions`動作AWS Marketplace Catalog API。當您在處理變更集`DescribeChangeSet`時呼叫 時，會傳回這些錯誤。如需使用 `DescribeChangeSet` 取得變更請求狀態的詳細資訊，請參閱 [使用變更集](catalog-apis.md#working-with-change-sets)。


| 錯誤碼 | 錯誤訊息 | 
| --- | --- | 
| INVALID\_INPUT | 無效的 '%s' 欄位。在商標符號之前移除空格。 | 
| INVALID\_INPUT | 無效的 '%s' 欄位。移除不支援的字元 %s。 | 
| INVALID\_DIMENSION | 類型為 '%s' 的維度索引鍵 '%s' 已受到限制 | 
| INVALID\_DIMENSION | 無法限制維度。類型為 '%s' 的維度索引鍵 '%s' 不存在 | 
| INVALID\_DIMENSION | 無法限制重複的維度。 | 
| INVALID\_DIMENSION | 無法限制所有具備權限的維度。必須至少有一個作用中的已授權維度。 | 
|  INVALID\_DIMENSION  | 類型為 '%s' 的維度索引鍵 '%s' 與不同類型 '%s' 的另一個維度相關聯。相同金鑰的兩個維度必須同時受到限制，才能有效。 | 

## 更新目標組態
<a name="update-targeting"></a>

您可以使用目錄 API 來新增允許在 中檢視 AMI、容器、ML 或 SaaS 產品的 AWS 帳戶IDs，AWS Marketplace然後再呼叫`UpdateTargeting`變更類型以移至 `Public` 狀態。

建立新產品時，受管目錄操作 (MCO) 帳戶會自動新增至允許的帳戶清單。檢視允許的帳戶時， AWS Marketplace管理入口網站 (AMMP) 中的賣方可以看到這些 MCO 帳戶，並在 `DescribeEntity` API 回應的 `Targeting`區段中看到這些 MCO 帳戶。

**注意**  
如需使用 新增 AWS 帳戶IDs 的詳細資訊AWS Marketplace 管理入口網站，請參閱《 *AWS Marketplace賣方指南*》中的下列主題：  
AMI 型產品：[更新允許清單 （預覽帳戶）](https://docs.aws.amazon.com/marketplace/latest/userguide/ami-single-ami-products.html#single-ami-updating-allowlist)
容器型產品：[更新 AWS 帳戶 IDs的允許清單](https://docs.aws.amazon.com/marketplace/latest/userguide/container-product-getting-started.html#container-update-allowlist)
以 SaaS 為基礎的產品：[更新 AWS 帳戶 IDs的允許清單](https://docs.aws.amazon.com/marketplace/latest/userguide/saas-product-settings.html#update-allowlist)
 機器學習產品：[更新允許清單](https://docs.aws.amazon.com/marketplace/latest/userguide/ml-update-allowlist.html) 

若要允許檢視 AMI、容器、ML 或 SaaS 產品的 AWS 帳戶IDs，請使用`UpdateTargeting`變更類型呼叫 `StartChangeSet` API 操作，如下列範例所示。

**請求語法**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "UpdateTargeting",
      "Entity":
      {
        "Type": "SaaSProduct@1.0",
        "Identifier": "{{prod-example12345}}"
      },
      "DetailsDocument":
      {
        "PositiveTargeting":
        {
          "BuyerAccounts":
          [
            "{{1112223334444}}"
          ]
        }
      }
    }
  ]
}
```

使用下列具有`UpdateTargeting`變更類型的欄位。
+ `Entity` （物件） （必要） – 所建立實體的命名類型。
  + `Identifier` （字串） （必要） – 您的產品 ID。如需詳細資訊，請參閱[識別符](catalog-apis.md#identifier)。
  + `Type` （字串） （必要） – `Type`是以您的產品將使用的交付方法 （產品類型） 為基礎：`AmiProduct@1.0`、 `MachineLearningProduct@1.0`或 `SaaSProduct@1.0`。
+ `DetailsDocument` （物件） （必要） – 執行 ChangeSet 所需的詳細資訊。
  + `PositiveTargeting` （物件） （選用） – 正面鎖定定義任何買方設定檔應滿足的條件，以允許其存取優惠。此欄位是選用的，但當此欄位存在時，應至少提供一個目標選項。
    + `BuyerAccounts` （字串陣列） （選用） – 列出 選項，以允許根據 AWS 帳戶 （也稱為 Private Offer) 進行目標鎖定。如果意圖不是以 AWS 帳戶的提議為目標，則應省略此欄位。

**回應語法**

為您的請求建立變更集。對此請求的回應為您提供變更集`ChangeSetId``ChangeSetArn`的 和 ，如下所示。

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

變更請求會新增至佇列並進行處理。這包括驗證資訊，以確保其符合AWS Marketplace準則。驗證程序可能需要幾分鐘到幾個小時。

若要檢查請求狀態，請使用 AWS Marketplace 管理入口網站或呼叫 `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API。

當請求完成時 （如果 `Status`是 `SUCCEEDED`)，`ProductId`會產生新的 。

**同步驗證**

下列結構描述驗證專屬於 中的`UpdateTargeting`動作AWS Marketplace Catalog API。這些驗證會在您呼叫 時執行`StartChangeSet`。如果請求不符合下列要求，它會失敗並顯示 HTTP 回應。


| 鎖定目標的類型 | 有效的目前可見性狀態 | BuyerAccounts （輸入） | Check | 
| --- | --- | --- | --- | 
| 積極 | 公有Limited、 或 Draft | 12 位數 AWS 帳戶ID 字串陣列。<br />最小大小：0。<br />大小上限：5000。 | 輸入必須與目前的文件目標帳戶不同。輸入必須為有效AWS 帳戶。 | 

**非同步錯誤**

下列錯誤專屬於 中的`DescribeChangeSet`動作AWS Marketplace Catalog API。當您在處理變更集`DescribeChangeSet`之後呼叫 時，會傳回這些錯誤。如需使用 `DescribeChangeSet` 取得變更請求狀態的詳細資訊，請參閱 [使用變更集](catalog-apis.md#working-with-change-sets)。


| 錯誤碼 | 錯誤訊息 | 
| --- | --- | 
| INVALID\_PRODUCT\_VISIBILITY | 使用現有的 Public Limited或 Draft 產品。 | 
| INVALID\_AWS\_ACCOUNT\_IDS | 提供 validAWS 帳戶IDs. AWS 帳戶找不到：【x， y， z】。 | 
| ValidationException | 專業服務產品沒有允許清單。與其他產品類型不同，狀態有限的專業服務產品可以延伸到任何買方，而不需要允許清單。 | 

## 更新產品可見性
<a name="update-visibility"></a>

您可以使用目錄 API 來更新 AMI、容器、ML 或 SaaS 產品的可見性 （也稱為生命週期狀態）AWS Marketplace。

**注意**  
如需使用 更新產品可見性的詳細資訊AWS Marketplace 管理入口網站，請參閱 *AWS Marketplace賣方指南*中的下列主題：  
AMI 型產品：[更新產品可見性](https://docs.aws.amazon.com/marketplace/latest/userguide/ami-single-ami-products.html#ami-update-self-service-visibility)
容器型產品：[更新產品可見性](https://docs.aws.amazon.com/marketplace/latest/userguide/container-product-getting-started.html#container-product-visibility)
以 SaaS 為基礎的產品：[更新產品可見性](https://docs.aws.amazon.com/marketplace/latest/userguide/saas-product-settings.html#saas-update-visibility)
機器學習產品：[更新產品可見性](https://docs.aws.amazon.com/marketplace/latest/userguide/ml-update-visibility.html)

允許的目標生命週期狀態為 `Limited`、 `Public`或 `Restricted`。

`Limited`   
產品已完成，且已成功完成 `ReleaseProduct` `ChangeType`。賣方可以檢視處於此狀態的產品詳細資訊。產品不是公開的。不過，賣方可以鎖定特定買方，以允許 預覽產品。

`Public`   
產品會顯示在 中AWS Marketplace。買方可以檢視和訂閱產品。

`Restricted`   
大眾不會再看到該產品，也不會接受新的訂閱者。現有的訂閱用戶可以繼續使用此產品，直到其訂閱過期為止。

**注意**  
`UpdateVisibility` 變更類型需要AWS Marketplace賣方營運團隊的手動審核，這會導致執行時間變長。在自己的變更集中`UpdateVisibility`分別使用 。

若要更新產品的可見性，請使用`UpdateVisibility`變更類型呼叫 `StartChangeSet` API 操作，如下列範例所示。

**請求語法**

對於 `TargetVisibility`為 `Public`或 的 `Limited`。

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "UpdateVisibility",
      "Entity":
      {
        "Type": "SaaSProduct@1.0",
        "Identifier": "{{prod-example12345}}"
      },
      "DetailsDocument":
      {
        "TargetVisibility": "Public"
      }
    }
  ]
}
```

對於 `TargetVisibility`為 的 `Restricted`。

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "UpdateVisibility",
      "Entity":
      {
        "Type": "SaaSProduct@1.0",
        "Identifier": "{{prod-example12345}}"
      },
      "DetailsDocument":
      {
        "TargetVisibility": "Restricted",
        "ReplacementProductId": "{{prod-example54321}}"
      }
    }
  ]
}
```

提供要新增`UpdateVisibility`變更類型的欄位資訊。
+ `Entity` （物件） （必要） – 所建立實體的命名類型。
  + `Identifier` （字串） （必要） – 您的產品 ID。如需詳細資訊，請參閱[識別符](catalog-apis.md#identifier)。
  + `Type` （字串） （必要） – `Type`是以您的產品將使用的交付方法 （產品類型） 為基礎：`AmiProduct@1.0`、`SaaSProduct@1.0`、`ContainerProduct@1.0`、`MachineLearningProduct@1.0`。如需詳細資訊，請參閱[識別符](catalog-apis.md#identifier)。
+ `DetailsDocument` （物件） （必要） – 執行 所需的詳細資訊`ChangeSet`。
  + 
    + `TargetVisibility` – 產品的預期新可見性。

      可能的值：`Public`、`Limited` 和 `Restricted`。
    + `ReplacementProductId` （字串） （選用） – 將產品替換為 的產品 ID`Restricted`。用來通知目前的訂閱者有關產品限制。

      僅接受 `Restricted` `TargetVisibility`。

**同步驗證**

下列結構描述驗證專屬於 中的`UpdateVisibility`動作AWS Marketplace Catalog API。這些驗證會在您呼叫 時執行`StartChangeSet`。如果請求不符合下列要求，它會失敗並顯示 HTTP 回應。


| 鎖定目標的類型  | 有效的目前狀態 | ReplacementProductId （輸入）  | 驗證檢查 | 
| --- | --- | --- | --- | 
| 公有 | Limited 和 Restricted | 不允許 | 有效的目前狀態 | 
| Limited | 公有和 Restricted | 不允許 | 有效的目前狀態 | 
| Restricted | 公有和 Limited | 字串 （選用） | ReplacementProductId 必須屬於現有Limited或公開產品。 | 

觸發此變更類型後，最多可能需要 37 天才能完成。這包括AWS Marketplace賣方操作團隊需要檢閱、稽核和核准的時間。限制產品時，在AWS Marketplace賣方操作團隊開始稽核`CancelChangeSet`之前，您有 24 小時可以藉由呼叫 來改變主意。如需詳細資訊，請參閱[https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_CancelChangeSet.html](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_CancelChangeSet.html)。

**回應語法**

為您的請求建立變更集。對此請求的回應為您提供變更集`ChangeSetId``ChangeSetArn`的 和 ，如下所示。

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

變更請求會新增至佇列並進行處理。這包括驗證資訊，以確保其符合AWS Marketplace準則。驗證程序可能需要幾分鐘到幾個小時。

您可以透過 檢查請求的狀態AWS Marketplace 管理入口網站，或使用 API 操作直接透過目錄 `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API。

當請求完成時 （如果 `Status`是 `SUCCEEDED`)，`ProductId`會產生新的 。

**非同步錯誤**

下列錯誤專屬於 中的`UpdateVisibility`動作AWS Marketplace Catalog API。當您在處理變更集`DescribeChangeSet`之後呼叫 時，會傳回這些錯誤。如需使用 `DescribeChangeSet` 取得變更請求狀態的詳細資訊，請參閱 [使用變更集](catalog-apis.md#working-with-change-sets)。


| 錯誤碼  | 錯誤訊息 | 
| --- | --- | 
| INVALID\_PRODUCT\_STATE | 使用現有的 Limited、 Public或 Restricted產品。 | 
| INVALID\_TARGET\_VISIBILITY | 提供有效的目標可見性狀態：Public、 Limited或 Restricted。 | 
| EMPTY\_TARGET\_VISIBILITY | 提供有效的目標可見性狀態：Public、 Limited或 Restricted。 | 
| INVALID\_REPLACEMENT\_PRODUCT\_ID | 使用現有 Public或 Limited產品取代。 | 
| INVALID\_REPLACEMENT\_PRODUCT\_ID | 替換產品 ID 只有在限制產品時才有效。 | 
| AUDIT\_ERROR | 根據 MCO 手動檢閱而有所不同。 | 
| MISSING\_SELLER\_PROFILE\_INFORMATION | 您必須先將公有設定檔新增至賣方帳戶，才能將產品更新為公有。 | 

## 發佈產品
<a name="release-product"></a>

您可以使用目錄 API 將 `Draft` AMI、容器、ML 或 SaaS 產品發佈至 `Limited` 狀態AWS Marketplace。

**注意**  
對於 `AmiProduct@1.0`和 `SaaSProduct@1.0`，`ReleaseProduct`變更類型必須隨附針對此產品建立之對應草稿公有`Offer@1.0`實體的變更`ReleaseOffer`類型。

若要發佈產品，請使用`ReleaseProduct`變更類型呼叫 `StartChangeSet` API 操作，如下列範例所示。

**請求語法**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "ReleaseProduct",
      "Entity":
      {
        "Type": "SaaSProduct@1.0",
        "Identifier": "{{prod-example12345}}"
      },
      "DetailsDocument": {}
    }
  ]
}
```

提供要新增至`ReleaseProduct`變更類型的欄位資訊。此變更類型不會接受任何參數承載。
+ `Entity` （物件） （必要） – 要建立之實體的命名類型。
  + `Identifier` （字串） （必要） – 您的產品 ID。如需詳細資訊，請參閱[識別符](catalog-apis.md#identifier)。
  + `Type` （字串） （必要） – `Type`是以您的產品將使用的交付方法 （產品類型） 為基礎：`AmiProduct@1.0`、`SaaSProduct@1.0`、`ContainerProduct@1.0`、`MachineLearningProduct@1.0`。如需詳細資訊，請參閱[識別符](catalog-apis.md#identifier)。
+ `DetailsDocument` （物件） （必要） - 必須是空白物件。變更類型`ReleaseProduct`不接受任何詳細資訊。

**回應語法**

為您的請求建立變更集。對此請求的回應為您提供變更集`ChangeSetId``ChangeSetArn`的 和 ，如下所示。

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

變更請求會新增至佇列並進行處理。這包括驗證資訊，以確保其符合AWS Marketplace準則。驗證程序可能需要幾分鐘到幾個小時。

您可以透過 檢查請求的狀態AWS Marketplace 管理入口網站，或使用 API 操作直接透過目錄 `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API。

當請求完成時 （如果 `Status`是 `SUCCEEDED`)，`ProductId`會產生新的 。

**非同步錯誤**

下列錯誤專屬於 中的`ReleaseProduct`動作AWS Marketplace Catalog API。當您在處理變更集`DescribeChangeSet`之後呼叫 時，會傳回這些錯誤。如需使用 `DescribeChangeSet` 取得變更請求狀態的詳細資訊，請參閱 [使用變更集](catalog-apis.md#working-with-change-sets)。


| 錯誤碼  | 錯誤訊息 | 
| --- | --- | 
| VALIDATION\_FAILED | 提供描述資訊。 | 
| VALIDATION\_FAILED | 提供版本資訊。 | 
| VALIDATION\_FAILED | 提供維度資訊。 | 
| VALIDATION\_FAILED | 提供描述 \| PromotionalResources \|SupportInformation 資訊。 | 

## 尋找您的產品 ID
<a name="seller-product-id"></a>

您必須取得產品的產品 ID，才能使用目錄 API 進行AWS Marketplace修改。有兩種方式可以尋找伺服器產品的產品 ID：
+ 開啟 AWS Marketplace 管理入口網站並使用您的賣方帳戶登入。從**產品**功能表中，選取**伺服器產品**，然後選擇您感興趣的產品。產品 ID 會列在**產品摘要**區段中。
+ 搭配 `EntityType`**AmiProduct**或 **ContainerProduct**、**SaaSProduct**、 **MachineLearningProduct**或 使用 [https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_ListEntities.html](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_ListEntities.html)動作**DataProduct**，透過目錄 API 取得產品清單，包括其產品 IDs。 `ListEntities`要求您不要包含實體類型的版本 （例如 `AmiProduct@1.0`)。

**注意**  
產品 ID 只有在您的產品發佈後才能使用，且至少可供您自行查看AWS Marketplace。當您首次建立產品時，可能需要幾天的時間才能完成檢閱和完整建立。在此期間，它不會有可用的產品 ID。

下列主題說明如何透過篩選實體 ID、產品標題、上次修改日期或可見性來尋找產品。

**Topics**
+ [根據產品標題尋找產品](#find-product-using-title)
+ [尋找以上次修改日期為基礎的產品](#find-product-using-last-mod-date)
+ [根據產品可見性尋找產品](#find-product-using-visibility)
+ [根據產品標題、上次修改日期和產品可見性尋找產品](#find-product-using-all)
+ [取得有關產品的其他詳細資訊](#get-additional-details)

### 根據產品標題尋找產品
<a name="find-product-using-title"></a>

**請求**

```
POST /ListEntities HTTP/1.1
Content-Type: application/json
      
{
    "Catalog": "AWSMarketplace",
    "EntityType": "AmiProduct",
    "MaxResults": 10,
    "EntityTypeFilters": {
        "AmiProductFilters": {
            "ProductTitle": {
                "WildCardValue": "{{XYZ}}"
            }
        }
    }
}
```

**回應**

```
HTTP/1.1 200
Content-type: application/json

{ 
  "EntitySummaryList": [ 
    { 
      "EntityArn": "arn:aws:aws-marketplace:{{us-east-1}}:{{123456789012}}:AWSMarketplace/AmiProduct/example-abcd-1234",
      "EntityId": "example1-abcd-1234-5ef6-7890abcdef12@1",
      "EntityType": "AmiProduct",
      "LastModifiedDate": "2018-02-27T13:45:22Z",
       "AmiProductSummary": {
            "ProductTitle": "{{ABC-XYZ-123}}",
            "Visibility": "Public"
       }
    } 
  ],
  "NextToken": "" 
}
```

### 尋找以上次修改日期為基礎的產品
<a name="find-product-using-last-mod-date"></a>

**請求**

```
POST /ListEntities HTTP/1.1
Content-Type: application/json
      
{
    "Catalog": "AWSMarketplace",
    "EntityType": "AmiProduct",
    "MaxResults": 10,
    "EntityTypeFilters": {
        "AmiProductFilters": {
            "LastModifiedDate": {
                "DateRange": {
                    "BeforeValue": "{{2018-03-27T13:45:22Z}}",
                    "AfterValue": "{{2018-01-27T13:45:22Z}}"
                }
            }
        }
    }
}
```

**回應**

```
HTTP/1.1 200
Content-type: application/json

{ 
  "EntitySummaryList": [ 
    { 
      "EntityArn": "arn:aws:aws-marketplace:{{us-east-1}}:{{123456789012}}:AWSMarketplace/AmiProduct/example-abcd-1234",
      "EntityId": "{{example1-abcd-1234-5ef6-7890abcdef12@1}}",
      "EntityType": "AmiProduct",
      "LastModifiedDate": "{{2018-02-27T13:45:22Z}}",
       "AmiProductSummary": {
            "ProductTitle": "{{ABC-XYZ-123}}",
            "Visibility": "Public"
       }
    } 
  ],
  "NextToken": "" 
}
```

### 根據產品可見性尋找產品
<a name="find-product-using-visibility"></a>

**請求**

```
POST /ListEntities HTTP/1.1
Content-Type: application/json
      
{
    "Catalog": "AWSMarketplace",
    "EntityType": "AmiProduct",
    "MaxResults": 10,
    "EntityTypeFilters": {
        "AmiProductFilters": {
            "Visibility": {
                "ValueList": [
                    "Public"
                ]
            }
        }
    }
}
```

**回應**

```
HTTP/1.1 200
Content-type: application/json

{ 
  "EntitySummaryList": [ 
    { 
      "EntityArn": "arn:aws:aws-marketplace:{{us-east-1}}:{{123456789012}}:AWSMarketplace/AmiProduct/example-abcd-1234",
      "EntityId": "{{example1-abcd-1234-5ef6-7890abcdef12@1}}",
      "EntityType": "AmiProduct",
      "LastModifiedDate": "{{2018-02-27T13:45:22Z}}",
       "AmiProductSummary": {
            "ProductTitle": "{{ABC-XYZ-123}}",
            "Visibility": "Public"
       }
    } 
  ],
  "NextToken": "" 
}
```

### 根據產品標題、上次修改日期和產品可見性尋找產品
<a name="find-product-using-all"></a>

**請求**

```
POST /ListEntities HTTP/1.1
Content-Type: application/json
      
{
    "Catalog": "AWSMarketplace",
    "EntityType": "AmiProduct",
    "MaxResults": 10,
    "EntityTypeFilters": {
        "AmiProductFilters": {
            "LastModifiedDate": {
                "DateRange": {
                    "BeforeValue": "{{2018-03-27T13:45:22Z}}",
                    "AfterValue": "{{2018-01-27T13:45:22Z}}"
                }
            },
            "Visibility": {
                "ValueList": [
                    "Public"
                ]
            },
            "ProductTitle": {
                "ValueList": [
                    "{{ABC-XYZ-123}}"
                ]
            }
        }
    }
}
```

**回應**

```
HTTP/1.1 200
Content-type: application/json

{ 
  "EntitySummaryList": [ 
    { 
      "EntityArn": "arn:aws:aws-marketplace:{{us-east-1}}:{{123456789012}}:AWSMarketplace/AmiProduct/example-abcd-1234",
      "EntityId": "example1-abcd-1234-5ef6-7890abcdef12@1",
      "EntityType": "AmiProduct",
      "LastModifiedDate": "{{2018-02-27T13:45:22Z}}",
       "AmiProductSummary": {
            "ProductTitle": "{{ABC-XYZ-123}}",
            "Visibility": "Public"
       }
    } 
  ],
  "NextToken": "" 
}
```

### 取得有關產品的其他詳細資訊
<a name="get-additional-details"></a>

您可以使用實體 ID 搭配 `DescribeEntity`動作來取得產品的其他詳細資訊。

**請求**

```
GET /DescribeEntity?catalog=AWSMarketplace&entityId={{example-abcd-1234}} HTTP/1.1
```

**回應**

```
HTTP/1.1 200
Content-type: application/json

{
   "DetailsDocument": {
        "ProductTitle": "{{ABC-XYZ-123}}",
        "ShortDescription": "{{My product short description.}}", 
        "LongDescription": "{{My product longer description.}}", 
        "Sku": "123example456", 
        "SupportDescription": "{{Need help? Contact our experts at support@example.com \n\nYour purchase includes 24x7 support.}}", 
        "Categories": [ 
            "Operating Systems", 
            "Network Infrastructure", 
            "Application Development" 
            ] 
   }
    "EntityArn": "arn:aws:aws-marketplace:{{us-east-1}}:{{123456789012}}:AWSMarketplace/AmiProduct/{{example-abcd-1234}}",
    "EntityId": "{{example1-abcd-1234-5ef6-7890abcdef12@1}}",
    "EntityType": "AmiProduct",
    "LastModifiedDate": "{{2018-02-27T13:45:22Z}}",
}
```

## 變更集狀態和錯誤
<a name="seller-product-change-set-errors"></a>

在AWS Marketplace目錄 API 中對賣方產品進行變更涉及建立變更集，以描述您想要進行的變更，然後使用 `StartChangeSet`動作來開始變更。請求的變更可能需要幾分鐘到數小時或更長的時間才能完成，視請求而定。對此請求的回應如下所示。

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

變更請求會新增至佇列並進行處理，包括掃描檔案和資訊，以確保其符合 產品的AWS Marketplace準則。視變更請求而定，此程序可能需要幾分鐘到幾天的時間。您可以透過 AWS Marketplace 管理入口網站或在目錄 API 中使用 `DescribeChangeSet`動作來檢查請求的狀態。如需變更集的詳細資訊，請參閱[使用變更集](catalog-apis.md#working-with-change-sets)。

若要檢查請求的狀態，請使用 `DescribeChangeSet`動作。

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

{
   "Catalog": "AWSMarketplace",
   "ChangeSetID": "{{{{example123456789012abcdef}}}}"
}
```

此呼叫的結果如下所示 （在此情況下，用於將新版本新增至容器產品）。

```
{
  "ChangeSetId": "{{example123456789012abcdef}}",
  "ChangeSetArn": "arn:aws:aws-marketplace:{{us-east-1}}:{{123456789012}}:AWSMarketplace/ChangeSet/{{example123456789012abcdef}}",
  "ChangeSetName": "Submitted by {{123456789012}}",
  "StartTime": "{{2020-10-27T22:21:26Z}}",
  "EndTime": "{{2020-10-27T22:32:19Z}}",
  "Status": "SUCCEEDED",
  "ChangeSet":
  [
    {
      "ChangeType": "AddDeliveryOptions",
      "Entity":
      {
        "Type": "ContainerProduct@1.0",
        "Identifier": "{{example-1234-abcd-56ef-abcdef12345678@4}}"
      },
      "Details": "{\"Version\": {\"VersionTitle\": \"1.1\",\"ReleaseNotes\": \"Minor bug fix\"},\"DeliveryOptions\": [{\"DeliveryOptionTitle\": \"EKSDelivery\",\"Details\": {\"EcrDeliveryOptionDetails\" : {\"ContainerImages\": [\"{{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame1:1.1\"],\"DeploymentResources\": [{\"Name\": \"HelmDeploymentTemplate\",\"Url\": \"{{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame2:mychart1.1\"}],\"CompatibleServices\": [\"EKS\"],\"Description\": \"Sample Description\",\"UsageInstructions\":\"helm pull {{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame2:mychart1.1\"}}},{\"DeliveryOptionTitle\": \"HelmChartDeliveryOption\",\"Details\": {\"HelmDeliveryOptionDetails\": {\"CompatibleServices\": [\"EKS\", \"EKS-Anywhere\"],\"ContainerImages\": [\"{{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame1:1.1\"],\"HelmChartUri\": \"{{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame1:helmchart1.1\",\"Description\": \"Helm chart description\",\"UsageInstructions\": \"Usage instructions\",\"MarketplaceServiceAccountName\": \"Service account name\",\"ReleaseName\": \"Optional release name\",\"Namespace\": \"Optional Kubernetes namespace\",\"OverrideParameters\": [{\"Key\": \"HelmKeyName1\",\"DefaultValue\": \"${AWSMP_LICENSE_SECRET}\"},{\"Key\": \"HelmKeyName2\",\"DefaultValue\": \"${AWSMP_SERVICE_ACCOUNT}\"}]}}}]}",
      "DetailsDocument":
      {
        "Version":
        {
          "VersionTitle": "1.1",
          "ReleaseNotes": "Minor bug fix"
        },
        "DeliveryOptions":
        [
          {
            "DeliveryOptionTitle": "EKSDelivery",
            "Details":
            {
              "EcrDeliveryOptionDetails":
              {
                "ContainerImages":
                [
                  "{{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame1:1.1"
                ],
                "DeploymentResources":
                [
                  {
                    "Name": "HelmDeploymentTemplate",
                    "Url": "{{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame2:mychart1.1"
                  }
                ],
                "CompatibleServices":
                [
                  "EKS"
                ],
                "Description": "Sample Description",
                "UsageInstructions": "helm pull {{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame2:mychart1.1"
              }
            }
          },
          {
            "DeliveryOptionTitle": "HelmChartDeliveryOption",
            "Details":
            {
              "HelmDeliveryOptionDetails":
              {
                "CompatibleServices":
                [
                  "EKS",
                  "EKS-Anywhere"
                ],
                "ContainerImages":
                [
                  "{{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame1:1.1"
                ],
                "HelmChartUri": "{{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame1:helmchart1.1",
                "Description": "Helm chart description",
                "UsageInstructions": "Usage instructions",
                "MarketplaceServiceAccountName": "Service account name",
                "ReleaseName": "Optional release name",
                "Namespace": "Optional Kubernetes namespace",
                "OverrideParameters":
                [
                  {
                    "Key": "HelmKeyName1",
                    "DefaultValue": "${AWSMP_LICENSE_SECRET}"
                  },
                  {
                    "Key": "HelmKeyName2",
                    "DefaultValue": "${AWSMP_SERVICE_ACCOUNT}"
                  }
                ]
              }
            }
          }
        ]
      },
      "ErrorDetailList":
      []
    }
  ]
}
```

`Status` 欄位會顯示請求的目前狀態，在此情況下為 `SUCCEEDED`。

如果有失敗，結果可以包含兩種類型的錯誤。對於大多數錯誤，錯誤訊息會直接包含在內。不過，掃描產品是否有安全漏洞時發現錯誤，而是在 `ErrorMessage` 欄位中包含列出所有發現錯誤的檔案 URL。掃描時發現的錯誤具有`ErrorCode`「`SCAN_ERROR`」。

```
{
  "ChangeSetId": "{{example123456789012abcdef}}",
  "ChangeSetArn": "arn:aws:aws-marketplace:{{us-east-1}}:{{123456789012}}:AWSMarketplace/ChangeSet/{{example123456789012abcdef}}",
  "ChangeSetName": "Submitted by {{123456789012}}",
  "StartTime": "{{2020-10-27T22:21:26Z}}",
  "EndTime": "{{2020-10-27T22:32:19Z}}",
  "Status": "FAILED",
  "FailureDescription": "Change set preparation has failed. For details see 'ErrorDetailList'.",
  "ChangeSet":
  [
    {
      "ChangeType": "AddDeliveryOptions",
      "Entity":
      {
        "Type": "ContainerProduct@1.0",
        "Identifier": "{{example-1234-abcd-56ef-abcdef12345678@4}}"
      },
      "Details": "{\"Version\": {\"VersionTitle\": \"1.1\",\"ReleaseNotes\": \"Minor bug fix\"},\"DeliveryOptions\": [{\"DeliveryOptionTitle\": \"EKSDelivery\",\"Details\": {\"EcrDeliveryOptionDetails\" : {\"ContainerImages\": [\"{{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame1:1.1\"],\"DeploymentResources\": [{\"Name\": \"HelmDeploymentTemplate\",\"Url\": \"{{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame2:mychart1.1\"}],\"CompatibleServices\": [\"EKS\"],\"Description\": \"Sample Description\",\"UsageInstructions\":\"helm pull {{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame2:mychart1.1\"}}},{\"DeliveryOptionTitle\": \"HelmChartDeliveryOption\",\"Details\": {\"HelmDeliveryOptionDetails\": {\"CompatibleServices\": [\"EKS\", \"EKS-Anywhere\"],\"ContainerImages\": [\"{{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame1:1.1\"],\"HelmChartUri\": \"{{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame1:helmchart1.1\",\"Description\": \"Helm chart description\",\"UsageInstructions\": \"Usage instructions\",\"MarketplaceServiceAccountName\": \"Service account name\",\"ReleaseName\": \"Optional release name\",\"Namespace\": \"Optional Kubernetes namespace\",\"OverrideParameters\": [{\"Key\": \"HelmKeyName1\",\"DefaultValue\": \"${AWSMP_LICENSE_SECRET}\"},{\"Key\": \"HelmKeyName2\",\"DefaultValue\": \"${AWSMP_SERVICE_ACCOUNT}\"}]}}}]}",
      "DetailsDocument":
      {
        "Version":
        {
          "VersionTitle": "1.1",
          "ReleaseNotes": "Minor bug fix"
        },
        "DeliveryOptions":
        [
          {
            "DeliveryOptionTitle": "EKSDelivery",
            "Details":
            {
              "EcrDeliveryOptionDetails":
              {
                "ContainerImages":
                [
                  "{{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame1:1.1"
                ],
                "DeploymentResources":
                [
                  {
                    "Name": "HelmDeploymentTemplate",
                    "Url": "{{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame2:mychart1.1"
                  }
                ],
                "CompatibleServices":
                [
                  "EKS"
                ],
                "Description": "Sample Description",
                "UsageInstructions": "helm pull {{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame2:mychart1.1"
              }
            }
          },
          {
            "DeliveryOptionTitle": "HelmChartDeliveryOption",
            "Details":
            {
              "HelmDeliveryOptionDetails":
              {
                "CompatibleServices":
                [
                  "EKS",
                  "EKS-Anywhere"
                ],
                "ContainerImages":
                [
                  "{{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame1:1.1"
                ],
                "HelmChartUri": "{{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame1:helmchart1.1",
                "Description": "Helm chart description",
                "UsageInstructions": "Usage instructions",
                "MarketplaceServiceAccountName": "Service account name",
                "ReleaseName": "Optional release name",
                "Namespace": "Optional Kubernetes namespace",
                "OverrideParameters":
                [
                  {
                    "Key": "HelmKeyName1",
                    "DefaultValue": "${AWSMP_LICENSE_SECRET}"
                  },
                  {
                    "Key": "HelmKeyName2",
                    "DefaultValue": "${AWSMP_SERVICE_ACCOUNT}"
                  }
                ]
              }
            }
          }
        ]
      },
      "ErrorDetailList":
      [
        {
          "ErrorCode": "DUPLICATE_VERSION_TITLE",
          "ErrorMessage": "The version title must be different from any other version titles of this product."
        },
        {
          "ErrorCode": "SCAN_ERROR",
          "ErrorMessage": "https://123sample456.cloudfront.net/example-1234-abcd-5678-abcdef12345678/1234abcdef567890"
        }
      ]
    }
  ]
}
```

在此範例中，直接報告了一個錯誤 (`DUPLICATE_VERSION_TITLE`)。另一個錯誤有一個包含錯誤訊息的檔案 （單一 `SCAN_ERROR` 可在連結的檔案中有多個找到的錯誤）。

**注意**  
在 中傳回的連結`ErrorMessage`有效期為 60 天。