

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

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

# 使用 AWS MarketplaceAPIs處理私有優惠
<a name="work-with-private-offers"></a>

您可以使用 AWS Marketplace Catalog API自動化使用 優惠的任務。

雖然*產品*說明銷售內容AWS Marketplace，但*優惠*說明產品如何購買和使用的條款和規則。 AWS Marketplace產品可以有多個由不同賣家銷售的優惠。不過，每個AWS Marketplace優惠只能針對一個產品建立。*優惠*包含雙方之間的一系列協議條款。接受的優惠條款會翻譯成協議，做為交易的證明。

有兩種類型的優惠：
+ **私有優惠**是供賣方和買方協商定價。賣方簽署最終使用者授權合約 (EULA) 以進行軟體購買AWS Marketplace。只有指定的買方才能看見優惠。如需詳細資訊，請參閱 *AWS Marketplace賣方指南*中的[私有優惠](https://docs.aws.amazon.com/marketplace/latest/userguide/private-offers-overview.html)。
+ **公開優惠**適用於全球購買計劃。賣方會根據可用的計劃和地理位置來識別客戶，這使得優惠僅供特定客戶存取。

請參閱下列資源：
+ 如需工作代碼範例，請參閱 *AWS Marketplace 賣方研討會*中的[使用 API 管理優惠](https://catalog.workshops.aws/mpseller/en-US/manage-offers-with-api)。
+ 如需 API 請求程式碼範例，請參閱 GitHub 上*AWS範例*中的 [Python](https://github.com/aws-samples/aws-marketplace-reference-code/tree/main/python/src/catalog_api/offers) 和 [Java](https://github.com/aws-samples/aws-marketplace-reference-code/tree/main/java/resources/changeSets/offers) 範例。
+ 如需建立私有優惠的影片，請參閱[使用 YouTube 上的AWS Marketplace目錄 API 建立私有優惠](https://www.youtube.com/watch?v=Gg9JR0tB330)。 YouTube
+ 如需更新 AMI 定價的影片，請參閱[使用 YouTube 上的AWS Marketplace目錄 API 更新 AMI 產品定價](https://www.youtube.com/watch?v=AVIRlzHKEJw)。 YouTube

下列主題說明如何使用目錄 API 來建立和更新優惠：

**Topics**
+ [建立優惠](#create-offer)
+ [建立替代優惠](#create-replacement-offer)
+ [更新優惠資訊](#update-offer-information)
+ [更新目標組態](#update-targeting-offers)
+ [更新退款政策](#update-support-terms)
+ [更新法律資源](#update-legal-terms)
+ [更新定價](#update-pricing-terms)
+ [更新優惠的可探索性](#update-availability)
+ [定義使用優惠建立之協議的過期日期](#update-validity-terms)
+ [更新付款排程詳細資訊](#update-payment-schedule-terms)
+ [修改續約選項](#update-renewal-terms)
+ [發佈優惠](#release-offer)
+ [描述現有的優惠詳細資訊](#describe-entity)

## 建立優惠
<a name="create-offer"></a>

您可以使用 Catalog API 在 中建立新的優惠AWS Marketplace。如果您的請求處理成功， AWS Marketplace Catalog API會建立 `Draft`，這是買方看不到的未完成優惠。若要完成優惠，請使用 `Update` 變更類型。優惠完成後，請使用[`ReleaseOffer`](#release-offer)變更類型來建立和釋放優惠。發佈優惠會進行驗證，讓買方可以看見AWS Marketplace。

若要建立新的優惠，請使用`CreateOffer`變更類型呼叫 `StartChangeSet` API 操作，如下列範例所示。

**請求語法**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet": [
    {
      "ChangeType": "CreateOffer",
      "Entity": {
        "Type": "Offer@1.0"
      },
      "DetailsDocument": {
        "ProductId": "prod-ad8EXAMPLE51",
        "Name": "Test Offer",
        "OfferSetId": "offerset-b3f9EXAMPLE27"
      }
    }
  ]
}
```

提供要新增`CreateOffer`變更類型的欄位資訊：
+ **實體** （物件） （必要） – 您的優惠。
  + **類型** （字串） （必要） – 一律`Type`為 `Offer@1.0`。
+ **DetailsDocument** （物件） （必要） – 請求特定項目的 JSON 值。
  + **ProductId** （字串） （必要） – 所提供產品的唯一識別符。
  + **名稱** （字串） （選用） – 與優惠相關聯的名稱，可讓您和客戶更清楚閱讀。它也會顯示為協議資訊的一部分。
  + **OfferSetId** （字串） （選用） – 要與此優惠建立關聯的優惠集 ID。只有在建立將成為優惠集一部分的優惠時，才指定此欄位。如果未提供 OfferSetId，則會建立可獨立購買的個別優惠。請注意，在建立優惠期間指定 OfferSetId 僅表示您希望將優惠與該優惠集建立關聯。若要完成關聯，您必須在建立優惠後[使用 AssociateOffers 變更類型](work-with-offer-sets.md#associate-offers)。

**回應語法**

為您的請求建立變更集。對此請求的回應為您提供變更集`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`，則`OfferId`會產生新的 。

回傳的結果如下所示。

```
{
  "ChangeSetId": "example123456789012abcdef",
  "ChangeSetArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/ChangeSet/example123456789012abcdef",
  "ChangeSetName": "Submitted by 123456789012",
  "StartTime": "2021-05-27T22:21:26Z",
  "EndTime": "2021-05-27T22:32:19Z",
  "Status": "SUCCEEDED",
  "ChangeSet": [
    {
      "ChangeType": "CreateOffer",
      "Entity": {
        "Type": "Offer@1.0",
        "Identifier": "offer-123456789"
      },
      "DetailsDocument": {
        "ProductId": "prod-ad8EXAMPLE51",
        "Name": "Test Offer"
      },
      "ErrorDetailList": []
    }
  ]
}
```

**同步驗證**

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


| 輸入欄位 | 驗證規則 | HTTP 代碼 | 
| --- | --- | --- | 
| ProductId | 必要<br />長度必須介於 1 到 50 個字元之間 <br />不得包含非法字元 (\\、＜、＞) | 422 | 
| ProductId | 必要使用者必須獲得授權，才能為指定的產品建立優惠 | 403 | 
| ProductId | 必要必須是目錄中的現有產品，或在相同的變更集中建立 | 404 | 
| 名稱 | 選用<br />長度必須介於 1 到 150 個字元之間 <br />不得包含非法字元 (\\、＜、＞) | 422 | 

**非同步錯誤**

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


| 錯誤碼 | 錯誤訊息 | 
| --- | --- | 
| INCOMPATIBLE\_PRODUCT | 使用處於 Limited或 Public 狀態的作用中產品。 | 
| INCOMPATIBLE\_PRODUCT | 目前不支援管理所選產品類型的優惠AWS Marketplace Catalog API。 | 
| INCOMPATIBLE\_PRODUCT | 目前不支援管理產品的優惠AWS Marketplace Catalog API。 | 
| INCOMPATIBLE\_PRODUCT | 產品優惠不支援 OfferSetId。 | 
| INCOMPATIBLE\_PRODUCT | 無法叫用 CreateOffer 變更類型來建立產品的優惠。使用 CreateOfferUsingResaleAuthorization 變更類型。 | 

## 建立替代優惠
<a name="create-replacement-offer"></a>

您可以使用目錄 API 在 中建立替代優惠 （也稱為以協議為基礎的優惠）AWS Marketplace。

如果您的請求已成功處理， AWS Marketplace Catalog API將會為您產生處於 `Draft` 狀態的優惠，這是不完整的優惠，買方看不到AWS Marketplace。您將使用`Update`變更類型來完成優惠。優惠完成後，您將使用[`ReleaseOffer`](#release-offer)變更類型來完成優惠建立程序並釋出優惠，這會驗證整個優惠，並讓買方看到您的優惠AWS Marketplace。從那裡，買方可以選擇接受替代優惠，或根據原始協議繼續操作。

若要建立替代優惠，請使用`CreateReplacementOffer`變更類型呼叫 `StartChangeSet` API 操作，並提供預先存在的協議 ID，如下列範例所示。

**請求語法**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet": [
    {
      "ChangeType": "CreateReplacementOffer",
      "Entity": {
        "Type": "Offer@1.0"
      },
      "DetailsDocument": {
        "AgreementId": "agmt-12345",
        "Name": "Offer name"
      }
    }
  ]
}
```

提供要新增`CreateReplacementOffer`變更類型的欄位資訊：
+ **實體** （物件） （必要） – 您的優惠。
  + **類型** （字串） （必要） – 一律`Type`為 `Offer@1.0`。
+ **DetailsDocument** （物件） （必要） – 請求特定項目的 JSON 值。
  + **AgreementId** （字串） （必要） – 要取代之目前協議的唯一識別符。
  + **名稱** （字串） （選用） – 與優惠相關聯的名稱，讓您和客戶更清楚閱讀。它也會顯示為協議資訊的一部分。

**回應語法**

為您的請求建立變更集。對此請求的回應為您提供變更集`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。

**同步驗證**

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


| 輸入欄位 | 驗證規則 | HTTP 代碼 | 
| --- | --- | --- | 
| AgreementId | 必要長度必須介於 1 到 64 個字元之間 | 422 | 
| AgreementId | 必要使用者必須獲得授權，才能為指定的協議建立優惠 | 403 | 
| 名稱 | 選用長度必須介於 1 到 150 個字元之間<br />不得包含無效字元 (\\、＜、＞) | 422 | 

**非同步錯誤**

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


| 錯誤碼  | 錯誤訊息 | 
| --- | --- | 
| INCOMPATIBLE\_PRODUCT | 產品不支援替換優惠。 | 
| INCOMPATIBLE\_AGREEMENT | 無法叫用 CreateReplacementOffer 變更類型來建立協議的替代優惠。使用 CreateReplacementOfferUsingResaleAuthorization 變更類型。 | 

## 更新優惠資訊
<a name="update-offer-information"></a>

您可以使用 Catalog API 來更新 中的優惠資訊AWS Marketplace。

若要更新優惠資訊，請使用`UpdateInformation`變更類型呼叫 `StartChangeSet` API 操作，如下列範例所示。所有其他資訊將保持不變。

**請求語法**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet": [
    {
      "ChangeType": "UpdateInformation",
      "Entity": {
        "Type": "Offer@1.0",
        "Identifier": "offer-123456789"
      },
      "DetailsDocument": {
        "Name": "New offer name",
        "Description": "New offer description",
        "PreExistingAgreement": {
          "AcquisitionChannel": "External",
          "PricingModel": "Contract"
        }
      }
    }
  ]
}
```

提供要新增`UpdateInformation`變更類型的欄位資訊：
+ **實體** （物件） （必要） – 您的優惠。
  + **類型** （字串） （必要） – 一律`Type`為 `Offer@1.0`。
  + **識別符** （字串） （必要） – 您的優惠 ID。如需詳細資訊，請參閱[識別符](catalog-apis.md#identifier)。
+ **DetailsDocument** （物件） （必要） – 請求特定項目的 JSON 值。
  + **名稱** （字串） （選用） – 與優惠相關聯的名稱，以提高可讀性。它會顯示為協議資訊的一部分。
  + **描述** （字串） （選用） – 僅供您使用的任意格式文字，買方永遠不會看到。
  + **PreExistingAgreement** （物件） （選用） – 判斷此優惠是否為與現有客戶續約相同基礎產品的現有協議。現有協議可以在內部或外部AWS Marketplace。 AWS可能會稽核並確認您的優惠是否續約。如果 AWS無法驗證您的優惠，則 AWS可能會撤銷您客戶的優惠和權利。
    + **AcquisitionChannel** （字串） （必要） – 指出現有協議是在外部AWS Marketplace或內部簽署AWS Marketplace。

      可能的值如下：`External`, `AwsMarketplace` 
    + **PricingModel** （字串） （必要） – 指出現有協議使用的定價模式。

      可能的值如下：`Contract`, `Usage`, `Byol`, `Free` 

**回應語法**

為您的請求建立變更集。對此請求的回應為您提供變更集`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。

**同步驗證**

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


| 輸入欄位 | 驗證規則 | HTTP 代碼 | 
| --- | --- | --- | 
| Properties | 至少必須提供下列其中一個屬性 | 422 | 
| 名稱 | 選用<br />長度必須介於 1 到 150 個字元之間 <br />不得包含非法字元 (\\、＜、＞) | 422 | 
| 說明 | 選用<br />長度必須介於 1 到 255 個字元之間 | 422 | 
| PreExistingAgreement | 選用可為 null 以`PreExistingAgreement`從優惠中移除 | 422 | 
| PreExistingAgreement.PricingModel | 必要<br />可以是下列其中一個值：【`Byol`、`Free`、`Usage`、`Contract`】 | 422 | 
| PreExistingAgreement.AcquisitionChannel | 必要<br />可以是下列其中一個值：【`AwsMarketplace`、`External`】 | 422 | 

**非同步錯誤**

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


| 錯誤碼  | 錯誤訊息 | 
| --- | --- | 
| INCOMPATIBLE\_PRE\_EXISTING\_AGREEMENT | 優惠發行後，就無法變更 PreExistingAgreement。 | 

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

您可以使用 Catalog API 來更新 中優惠的目標組態AWS Marketplace。

所有未包含在最新請求中且將從優惠中移除的現有目標選項。

**注意**  
優惠可以選擇性地包含 `PositiveTargeting`或 `NegativeTargeting`，但不能同時包含兩者。  
**正面目標選項：**  
**僅限國家/地區代碼** – 建立可供指定國家/地區買方使用的公開優惠。
**僅限買方帳戶** – 建立以特定 AWS 帳戶為目標的私有優惠。
國家/**地區代碼和買方帳戶** – 建立私有優惠，目標帳戶只能在其中一個指定的國家/地區接受優惠。
**負目標選項：**  
**國家/地區代碼** – 排除來自指定國家/地區的買方。這會建立公開優惠，開放給所有列出的國家/地區。

若要更新優惠的目標組態，請使用`UpdateTargeting`變更類型呼叫 `StartChangeSet` API 操作，如下列範例所示。

**請求語法**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet": [
    {
      "ChangeType": "UpdateTargeting",
      "Entity": {
        "Type": "Offer@1.0",
        "Identifier": "offer-123456789"
      },
      "DetailsDocument": {
        "PositiveTargeting": {
          "CountryCodes": [
            "US",
            "CA"
          ],
          "BuyerAccounts": [
            "111122223333"
          ]
        },
        "NegativeTargeting": {
          "CountryCodes": [
            "XX"
          ]
        }
      }
    }
  ]
}
```

提供要新增`UpdateTargeting`變更類型的欄位資訊：
+ **實體** （物件） （必要） – 您的優惠。
  + **類型** （字串） （必要） – 一律`Type`為 `Offer@1.0`。
  + **識別符** （字串） （必要） – 您的優惠 ID。如需詳細資訊，請參閱[識別符](catalog-apis.md#identifier)。
+ **DetailsDocument** （物件） （必要） – 請求特定項目的 JSON 值。
  + **PositiveTargeting** （物件） （選用） – 正面鎖定定義任何買方設定檔應滿足的條件，以允許存取優惠。此欄位是選用的，但當此欄位存在時，應至少提供一個目標選項。
    + **CountryCodes** （字串陣列） （選用） – 列出為選項，以允許根據國家/地區設定目標。如果意圖不是以國家/地區的優惠為目標，則應該省略此欄位。如果有的話，清單必須至少包含一個國家/地區代碼。此清單中的每個元素都應該是有效的 2 個字母國家/地區代碼，使用此格式：ISO 3166-1 alpha-2。
    + **BuyerAccounts** （字串陣列） （選用） – 列出 作為允許根據 AWS 帳戶（也稱為私有優惠） 進行鎖定的選項。如果意圖不是以 的提議為目標AWS 帳戶，則應省略此欄位。
  + **NegativeTargeting** （物件） （選用） – 負面目標定義任何客戶的設定檔應滿足的條件，以限制存取優惠。雖然此欄位是選用的，但當此欄位存在時，至少應提供一個目標選項。
    + **CountryCodes** （字串陣列） （必要） – 列出為允許根據國家/地區設定目標的選項。如果不是以特定國家/地區的優惠為目標，則應該省略此欄位。如果有的話，清單必須至少包含一個國家/地區代碼。此清單中的每個元素都應該是有效的 2 個字母國家/地區代碼，使用此格式：ISO 3166-1 alpha-2。

**回應語法**

為您的請求建立變更集。對此請求的回應為您提供變更集`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。

**同步驗證**

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


| 輸入欄位 | 驗證規則 | HTTP 代碼 | 
| --- | --- | --- | 
| NegativeTargeting | 選用<br />可以有下列其中一項：【`CountryCodes`】 | 422 | 
| NegativeTargeting.CountryCodes | 選用<br />清單大小必須介於 1 到 244 之間<br />國家代碼必須是有效的 (ISO 3166-1 alpha-2) | 422 | 
|  PositiveTargeting | 選用<br />可以具有下列其中一項：【`CountryCodes`、`BuyerAccounts`】 | 422 | 
| PositiveTargeting.BuyerAccounts | 選用<br />清單大小必須介於 1 到 26 之間<br />AWS 帳戶IDs必須為有效格式 (12 位數字） | 422 | 
| PositiveTargeting.CountryCodes | 選用<br />清單大小必須介於 1 到 244 之間<br />國家代碼必須是有效的 (ISO 3166-1 alpha-2) | 422 | 

**非同步錯誤**

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


| 錯誤碼 | 錯誤訊息 | 
| --- | --- | 
| INVALID\_BUYER\_ACCOUNTS | 提供有效的買方帳戶。無效的帳戶：【x】。 | 
| INVALID\_COUNTRY\_CODES | 提供支援的國家/地區代碼。 | 
| INVALID\_TARGETING | 在相同的屬性上使用負或正目標。 | 
| INCOMPATIBLE\_PRODUCT | 產品不支援以國家/地區為基礎的目標鎖定。 | 
| INCOMPATIBLE\_RESALE\_AUTHORIZATION | 提供與 ResaleAuthorization 相容的 BuyerAccounts。 | 
| INCOMPATIBLE\_TARGETING | 請求的變更無法在優惠發佈後執行。 | 
| INCOMPATIBLE\_TARGETING | 請求的變更無法在優惠過期後執行。 | 
| INCOMPATIBLE\_TARGETING | 無法更新替代優惠的目標。如果買方未與提供的 AgreementId 相關聯，則提供與買方相關聯的 AgreementId，以建立新的私有優惠。 | 
| TOO\_MANY\_BUYER\_ACCOUNTS | 在允許的限制內提供 BuyerAccounts。 | 
| INCOMPATIBLE\_TARGETING | 優惠發行後，無法移除 BuyerAccounts。 | 
| INCOMPATIBLE\_TARGETING | 優惠發行後，無法新增 BuyerAccounts。 | 
| MISSING\_COUNTRY\_CODES | 使用 CountryCodes 提供 PositiveTargeting：【x】。 | 
| INCOMPATIBLE\_COUNTRY\_CODES | 提供相容的 CountryCodes。 | 
| INCOMPATIBLE\_BUYER\_ACCOUNTS | 提供與協議相容的BuyerAccounts。 | 

## 更新退款政策
<a name="update-support-terms"></a>

您可以使用 Catalog API 來更新 優惠的退款政策AWS Marketplace。

此變更不會影響現有的協議。未包含在最新請求中的支援條款將從優惠中移除。

若要更新退款政策，請使用`UpdateSupportTerms`變更類型呼叫 `StartChangeSet` API 操作，如下列範例所示。

**請求語法**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet": [
    {
      "ChangeType": "UpdateSupportTerms",
      "Entity": {
        "Type": "Offer@1.0",
        "Identifier": "offer-123456789"
      },
      "DetailsDocument": {
        "Terms": [
          {
            "Type": "SupportTerm",
            "RefundPolicy": "Updated refund policy description"
          }
        ]
      }
    }
  ]
}
```

提供要新增`UpdateSupportTerms`變更類型的欄位資訊：
+ **實體** （物件） （必要） – 您的優惠。
  + **類型** （字串） （必要） – 一律`Type`為 `Offer@1.0`。
  + **識別符** （字串） （必要） – 您的優惠 ID。如需詳細資訊，請參閱[識別符](catalog-apis.md#identifier)。
+ **DetailsDocument** （物件） （必要） – 請求特定項目的 JSON 值。
  + **術語** （結構陣列） （必要） – 您要更新的支援術語清單。接受的支援術語包括：
    + **SupportTerm** （物件） （必要） – 定義接受者在購買軟體時可用的客戶支援。
      + **類型** （字串） （必要） – 要更新的詞彙類型。這是物件值：`"SupportTerm"`。
      + **RefundPolicy** （字串） （必要） – 有關退款政策描述的任意文字欄位，該欄位將如網站和主控台所示顯示給客戶。

**回應語法**

為您的請求建立變更集。對此請求的回應為您提供變更集`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。

**同步驗證**

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


| 輸入欄位 | 驗證規則 | HTTP 代碼 | 
| --- | --- | --- | 
| 條款 | 必要 | 422 | 
| Terms【】。RefundPolicy | 必要<br />長度必須介於 1 到 500 之間<br />無法以空格領導或結尾 | 422 | 
| Terms【】。類型 | 必要只能是 `SupportTerm` | 422 | 

**非同步錯誤**

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


| 錯誤碼  | 錯誤訊息 | 
| --- | --- | 
| INCOMPATIBLE\_PRODUCT | 該產品的私有優惠不支援 SupportTerm。 | 
| INCOMPATIBLE\_TERMS | SupportTerm 不支援免費試用優惠。 | 
| INCOMPATIBLE\_TERMS | 無法在優惠發佈後執行請求的變更。 | 
| INCOMPATIBLE\_TERMS | 請求的變更無法在優惠過期後執行。 | 

## 更新法律資源
<a name="update-legal-terms"></a>

您可以使用目錄 API 取代現有的法律文件，例如最終使用者授權合約 (EULA)。未包含在最新請求中的法律條款將從優惠中移除。

若要更新優惠的法律資源，請使用`UpdateLegalTerms`變更類型呼叫 `StartChangeSet` API 操作，如下列範例所示。

**請求語法**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet": [
    {
      "ChangeType": "UpdateLegalTerms",
      "Entity": {
        "Type": "Offer@1.0",
        "Identifier": "offer-123456789"
      },
      "DetailsDocument": {
        "Terms": [
          {
            "Type": "LegalTerm",
            "Documents": [
              {
                "Type": "CustomEula",
                "Url": "https://s3.amazonaws.com/EULA/custom-eula-1234.txt"
              }
            ]
          }
        ]
      }
    }
  ]
}
```

提供要新增`UpdateLegalTerms`變更類型的欄位資訊：
+ **實體** （物件） （必要） – 您的優惠。
  + **類型** （字串） （必要） – 一律`Type`為 `Offer@1.0`。
  + **識別符** （字串） （必要） – 您的優惠 ID。如需詳細資訊，請參閱[識別符](catalog-apis.md#identifier)。
+ **DetailsDocument** （物件） （必要） – 請求特定項目的 JSON 值。
  + **LegalTerm** （物件） （必要） – 定義要提議給接受者的文字協議清單。這種協議的一個範例是最終使用者授權合約 (EULA)。
    + **類型** （字串） （必要） – 要更新的詞彙類型。這是物件值：`"LegalTerm"`。
    + **文件** （結構陣列） （必要） – 要提議給買方之法律資源的參考清單。這類資源的一個範例是最終使用者授權合約 (EULA)。每個參考都由 `Type`和 組成`URL`：
      + **類型** （字串） （必要） – 文件類型。可用的文件類型為：
        + **CustomEula** – 您以賣方身分提供的自訂 EULA。此文件類型需要公有 S3 URL [或預先簽章的 URL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html)。
        + **StandardEula** – 適用於 AWS Marketplace(SCMP) 的標準合約。如需 SCMP 的詳細資訊，請參閱 AWS Marketplace賣方指南。您不提供此類型的 URL，因為它由 管理AWS Marketplace。
      + **Url** （字串） （有條件需要） – 供買方讀取之法律文件的 URL。當 `Type`是下列其中一個 【`CustomEula`】 時為必要。
      + **版本** （字串） （有條件需要） – 由 提供的標準合約版本AWS Marketplace。當 `Type`為 【`StandardEula`】 時為必要。可用版本：
        + **2022-07-14** – 此版本的 標準合約可從此 Amazon S3 儲存貯AWS Marketplace體取得：https：//[https://s3.amazonaws.com/aws-mp-standard-contracts/Standard-Contact-for-AWS-Marketplace-2022-07-14.pdf](https://s3.amazonaws.com/aws-mp-standard-contracts/Standard-Contact-for-AWS-Marketplace-2022-07-14.pdf)

**回應語法**

為您的請求建立變更集。對此請求的回應為您提供變更集`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。

**同步驗證**

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


| 輸入欄位 | 驗證規則 | HTTP 代碼 | 
| --- | --- | --- | 
| 條款 | 必要<br />清單中只允許 `LegalTerm` 。<br />清單大小必須為 1 | 422 | 
| Terms【】。類型 | 必要只能為 `LegalTerm` | 422 | 
| Terms【】。LegalTerm.Documents | 必要 | 422 | 
| Terms【】。LegalTerm.Documents[].類型 | 必要<br />允許的值：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/marketplace/latest/developerguide/work-with-private-offers.html) | 422 | 
| Terms【】。LegalTerm.Documents[].Url | 當 Type為 時，必要且必須是有效的 URL CustomEula | 422 | 
| Terms【】。LegalTerm.Documents[].版本 | 當 Type為 時，必要且必須是有效的版本 StandardEula有效`StandardEula`版本：【"2019-04-24"、"2022-07-14"】 | 422 | 

**非同步錯誤**

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


| 錯誤碼  | 錯誤訊息 | 
| --- | --- | 
| INCOMPATIBLE\_TERMS | 無法在優惠發佈後執行請求的變更。 | 
| INCOMPATIBLE\_TERMS | 請求的變更無法在優惠過期後執行。 | 
| INVALID\_LEGAL\_DOCUMENTS | 為存放在可存取 S3 儲存貯體中的法律文件提供 URLs。 | 
| INVALID\_LEGAL\_DOCUMENTS | 新優惠僅支援最新版本的 StandardEula。 | 
| INVALID\_LEGAL\_DOCUMENTS | 以支援的檔案格式提供法律文件。 | 
| INVALID\_LEGAL\_DOCUMENTS | 使用支援的文件類型提供法律文件。 | 
| LIMIT\_EXCEEDED\_LEGAL\_DOCUMENT\_SIZE | 在允許的大小限制內提供法律文件。 | 
| INVALID\_LEGAL\_DOCUMENTS | LegalTerm (LegalTerm) 包含受密碼保護的文件。在 LegalTerm 中提供可存取的文件。 | 
| INVALID\_LEGAL\_DOCUMENTS | LegalTerm 包含無效的 PDF 文件 (s)。在 LegalTerm 中提供可存取的文件。 | 

## 更新定價
<a name="update-pricing-terms"></a>

您可以使用目錄 API 完整取代現有的定價條款。未包含在最新請求中的定價條款將從優惠中移除。

若要更新優惠的定價條件，請使用`UpdatePricingTerms`變更類型呼叫 `StartChangeSet` API 操作，如下列範例所示。

**注意**  
下列請求語法結合了多個範例。此組合無法做為有效的承載。例如，`Terms`陣列不能同時包含術語類型 `FixedUpfrontPricingTerm`和術語類型 `ConfigurableUpfrontPricingTerm`。如需如何針對不同定價使用案例結合不同詞彙類型的範例，請參閱 *AWS Marketplace賣方研討會*中的[使用 API 管理優惠](https://catalog.workshops.aws/mpseller/en-US/manage-offers-with-api)。

**注意**  
對於具有免費定價模型的 SaaS 產品，您必須包含`UsageBasedPricingTerm`或`ConfigurableUpfrontPricingTerm`至少包含一個 RateCard （維度），其中所有價格都設為 0.00 美元。此需求對 SaaS 產品而言是唯一的。

**請求語法**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet": [
    {
      "ChangeType": "UpdatePricingTerms",
      "Entity": {
        "Type": "Offer@1.0",
        "Identifier": "offer-123456789"
      },
      "DetailsDocument": {
        "PricingModel": "Usage",
        "Terms": [
          {
            "Type": "UsageBasedPricingTerm",
            "CurrencyCode": "USD",
            "RateCards": [
              {
                "RateCard": [
                  {
                    "DimensionKey": "m3.large",
                    "Price": "0.10"
                  },
                  {
                    "DimensionKey": "m4.xlarge",
                    "Price": "0.20"
                  }
                ]
              }
            ]
          },
          {
            "Type": "ConfigurableUpfrontPricingTerm",
            "CurrencyCode": "USD",
            "RateCards": [
              {
                "Selector": {
                  "Type": "Duration",
                  "Value": "P365D"
                },
                "RateCard": [
                  {
                    "DimensionKey": "m3.large",
                    "Price": "300"
                  },
                  {
                    "DimensionKey": "m4.xlarge",
                    "Price": "400"
                  }
                ],
                "Constraints": {
                  "MultipleDimensionSelection": "Allowed",
                  "QuantityConfiguration": "Allowed"
                }
              }
            ]
          },
          {
            "Type": "ByolPricingTerm"
          },
          {
            "Type": "RecurringPaymentTerm",
            "CurrencyCode": "USD",
            "BillingPeriod": "Monthly",
            "Price": "100.0"
          },
          {
            "Type": "FixedUpfrontPricingTerm",
            "CurrencyCode": "USD",
            "Price": "200.00",
            "Grants": [
              {
                "DimensionKey": "Users",
                "MaxQuantity": 10
              }
            ]
          },
          {
            "Type": "FreeTrialPricingTerm",
            "Duration": "P30D",
            "Grants": [
              {
                "DimensionKey": "m3.xlarge",
                "MaxQuantity": 10
              },
              {
                "DimensionKey": "m4.xlarge",
                "MaxQuantity": 10
              }
            ]
          }
        ]
      }
    }
  ]
}
```

提供要新增`UpdatePricingTerms`變更類型的欄位資訊：
+ **實體** （物件） （必要） – 您的優惠。
  + **類型** （字串） （必要） – 一律`Type`為 `Offer@1.0`。
  + **識別符** （字串） （必要） – 您的優惠 ID。如需詳細資訊，請參閱[識別符](catalog-apis.md#identifier)。
+ **DetailsDocument** （物件） （必要） – 請求特定項目的 JSON 值。
  + **PricingModel** （字串） （必要） – 您優惠的定價模型。定價模型的可能值為：
    + **用量** – 以用量為基礎的定價模式，其中會向買方收取其產品用量的費用。
    + **合約** – 以合約為基礎的定價模式，其中買方會針對您的產品使用預先計費，或提供彈性的付款排程。買方也可以支付超出合約的額外用量。
    + **免費** – 免費定價模式，買方無須支付產品使用費。使用此定價模型時，沒有任何定價條款或付款排程條款可以有非零的費率。
    + **Byol** – Byol 定價模式，買方會在其中擁有自己的產品使用授權。
  + **術語** （結構陣列） （必要） – 您要更新的定價術語清單。支援的定價條款如下：
    + **FreeTrialPricingTerm** （物件） – 定義短期免費定價模式，其中不會向買方收取指定限制內的任何費用。
      + **類型** （字串） – 要更新的詞彙類型。這是物件值：`"FreeTrialPricingTerm"`。
      + **持續時間** （字串） – 免費試用期間的持續時間。
      + **授予** （結構陣列） – 將授予免費試用接受者作為協議執行一部分的權利。
        + **DimensionKey** （字串） – 產品文件中定義的唯一維度索引鍵。維度代表產品中的容量類別，並在產品列出時指定AWS Marketplace。
        + **MaxQuantity** （整數） （選用） – 買方有權獲得產品指定維度的最大容量。如果`MaxQuantity`未提供 ，買方將能夠使用指定維度的無限數量。
    + **UsageBasedPricingTerm** （物件） – 定義pay-as-you-go(PAYG) 定價模式，其中會根據產品用量向客戶收費。
      + **類型** （字串） （必要） – 要更新的詞彙類別。這是物件值：`UsageBasedPricingTerm`。
      + **CurrencyCode** （字串） – 定義此術語所提及價格的貨幣。目前僅支援 USD。
      + **RateCards** （結構陣列） – 費率卡的清單。
        + **RateCard** （結構陣列） – 費率卡會定義產品維度的每單位費率。
          + **DimensionKey** （字串） – 套用指定權利的維度。維度代表產品中的容量類別，並在產品列出時指定AWS Marketplace。
          + **價格** （字串） – 用於計算要向買方收費金額之產品維度的單位價格。
    + **ConfigurableUpfrontPricingTerm** （物件） – 定義預付付款模型，允許買方設定他們想要購買的權利和權利的持續時間。您可以更新每個合約持續時間的費率清單，以及每個維度的權利。
      + **類型** （字串） （必要） – 要更新的詞彙類型。這是物件值：`ConfigurableUpfrontPricingTerm`。
      + **CurrencyCode** （字串） （必要） – 定義此術語中所提及價格的貨幣。對於公開優惠，僅支援 USD。對於私有優惠，支援 USD、UD、EUR、GBP 和 ¥C。
      + **RateCards** （結構陣列） （必要） – 費率卡清單。
        + **Selector** （物件） （必要） – Selector 用於區分同一定價期內的互斥費率卡，供買方選擇。
          + **類型** （字串） （必要） – Selector 的類別。目前僅支援 `Duration` 。
          + **值** （字串） （必要） – 合約持續時間。此欄位支援 ISO 8601 格式。
        + **RateCard** （結構陣列） （必要） – 費率卡會定義產品維度的每單位費率。
          + **DimensionKey** （字串） （必要） – 產品文件中定義的唯一維度索引鍵。維度代表產品中的容量類別，並在產品列出時指定AWS Marketplace。
          + **價格** （字串） （必要） – 產品維度的單位價格，將用於計算要向買方收取的金額。
        + **限制條件 **（物件） （必要） – 定義接受者如何設定詞彙的限制條件。
**注意**  
目前，**MultipleDimensionSelection** 和 **QuantityConfiguration** 值必須相同。
          + **MultipleDimensionSelection** （字串） （必要） – 判斷是否允許買方選取費率卡中的多個維度。可能值為 `Allowed` 和 `Disallowed`。
          + **QuantityConfiguration** （字串） （必要） – 判斷是否允許接受者設定費率卡中每個維度的數量。可能值為 `Allowed` 和 `Disallowed`。
    + **ByolPricingTerm** （物件） – 可讓您和客戶將現有協議移至其中AWS Marketplace。客戶無需支付 中的產品使用費，AWS Marketplace因為他們已在 之外支付產品的費用AWS Marketplace。
      + **類型** （字串） （必要） – 要更新的詞彙類型。這是物件值：`ByolPricingTerm`。
    + **RecurringPaymentTerm** （物件） – 定義定價模式，其中客戶在每個計費期間結束時需支付固定的經常性價格。
      + **類型** （字串） （必要） – 要更新的詞彙類型。這是物件值：`RecurringPaymentTerm`。
      + **BillingPeriod** （字串） （必要） – 定義向買方收費的週期。目前僅支援 `Monthly` 。
      + **價格** （字串） （必要） – 每個計費期間向買方收取的金額。
      + **CurrencyCode** （字串） （必要） – 定義此術語所提及價格的貨幣。目前僅支援 `USD`。
    + **FixedUpfrontPricingTerm** （物件） – 定義預付定價模式，向客戶收取固定的預付金額。
      + **類型** （字串） （必要） – 要更新的詞彙類型。這是物件值：`FixedUpfrontPricingTerm`。
      + **CurrencyCode** （字串） （必要） – 定義此術語中所提及價格的貨幣。對於公開優惠，僅支援 USD。對於私有優惠，支援 USD、UD、EUR、GBP 和 ¥C。
      + **價格** （字串） （必要） – 接受此期限時向客戶收取的固定金額。
      + **授予** （結構陣列） （必要） – 作為協議執行的一部分，將授予固定預付接受者的權利。
        + **DimensionKey** （字串） （必要） – 產品文件中定義的唯一維度索引鍵。維度代表產品中的容量類別，並在產品列出時指定AWS Marketplace。
        + **MaxQuantity** （整數） （必要） – 買方有權取得產品指定維度的最大容量。如果`MaxQuantity`未提供 ，買方將能夠使用指定維度的無限數量。
      + **持續時間** （字串） （選用） – 定義術語保持作用中的持續時間。此欄位支援 ISO 8601 格式。

**回應語法**

為您的請求建立變更集。對此請求的回應為您提供變更集`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。

**同步驗證**

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


| 輸入欄位 | 驗證規則 | HTTP | 
| --- | --- | --- | 
| PricingModel | 必要允許的定價模型：【"Byol"、"Free"、"Usage"、"Contract"】 | 422 | 
| 條款 | 必要允許的條款：【"ConfigurableUpfrontPricingTerm"、"ByolPricingTerm"、"FreeTrialPricingTerm"、"UsageBasedPricingTerm"、"RecurringPaymentTerm"、"FixedUpfrontPricingTerm"】 | 422 | 
| Terms【】。ByolPricingTerm | 必要 | 422 | 
| Terms【】。ByolPricingTerm.Type | 必要只能是「ByolPricingTerm」 | 422 | 
| Terms【】。ConfigurableUpfrontPricingTerm | 必要 | 422 | 
| Terms【】。ConfigurableUpfrontPricingTerm.Type | 必要只能是「ConfigurableUpfrontPricingTerm」 | 422 | 
| Terms【】。ConfigurableUpfrontPricingTerm.CurrencyCode | 必要支援的貨幣：【"USD"、"AUD"、"EUR"、"GBP"、"JPN"】 | 422 | 
| Terms【】。ConfigurableUpfrontPricingTerm.RateCards | 必要清單大小必須介於 1 到 5 之間 | 422 | 
| Terms【】。ConfigurableUpfrontPricingTerm.RateCards[].限制條件 | 必要 | 422 | 
| Terms【】。ConfigurableUpfrontPricingTerm.RateCards[].Contraints.MultipleDimensionSelection | 必要允許的值：【「允許」、「不允許」】 | 422 | 
| Terms【】。ConfigurableUpfrontPricingTerm.RateCards[].Contraints.QuantityConfiguration | 必要允許的值：【「允許」、「不允許」】 | 422 | 
| Terms【】。ConfigurableUpfrontPricingTerm.RateCards[].RateCard | 必要清單大小必須介於 1 到 800 之間 | 422 | 
| Terms【】。ConfigurableUpfrontPricingTerm.RateCards[].RateCard【】。DimensionKey | 必要長度必須介於 1 到 100 之間 | 422 | 
| Terms【】。ConfigurableUpfrontPricingTerm.RateCards[].RateCard【】。價格 | 必要資料類型為「字串」<br />支援最多 3 個小數位數的非負數小數位數 | 422 | 
| Terms【】。ConfigurableUpfrontPricingTerm.RateCards[].選擇器 | 必要 | 422 | 
| Terms【】。ConfigurableUpfrontPricingTerm.RateCards[].Selector.Type | 必要允許的值：【「持續時間」】 | 422 | 
| Terms【】。ConfigurableUpfrontPricingTerm.RateCards[].Selector.Value | 必要每個選取器類型的預期格式：ISO 8601 持續時間 | 422 | 
| Terms【】。FixedUpfrontPricingTerm | 必要 | 422 | 
| Terms【】。FixedUpfrontPricingTerm.Type | 必要只能是「FixedUpfrontPricingTerm」 | 422 | 
| Terms【】。FixedUpfrontPricingTerm.CurrencyCode | 必要支援的貨幣：【"USD"、"AUD"、"EUR"、"GBP"、"JPN"】 | 422 | 
| Terms【】。FixedUpfrontPricingTerm.Duration | 必要每個選取器類型的預期格式：ISO 8601 持續時間 | 422 | 
| Terms【】。FixedUpfrontPricingTerm.Grants | 必要清單大小必須介於 1 到 200 之間 | 422 | 
| Terms【】。FixedUpfrontPricingTerm.Grants[].DimensionKey | 必要長度必須介於 1 到 100 之間 | 422 | 
| Terms【】。FixedUpfrontPricingTerm.Grants[].MaxQuantity | RequiredValue 必須大於 0 | 422 | 
| Terms【】。FixedUpfrontPricingTerm.Price | 必要資料類型為「字串」<br />支援最多 3 個小數位數的非負數小數位數 | 422 | 
| Terms【】。FreeTrialPricingTerm | 必要 | 422 | 
| Terms【】。FreeTrialPricingTerm.Type | 必要只能是「FreeTrialPricingTerm」 | 422 | 
| Terms【】。FreeTrialPricingTerm.Duration | 必要預期的格式：ISO 8601 持續時間 | 422 | 
| Terms【】。FreeTrialPricingTerm.Grants | 必要清單大小必須介於 1 到 800 之間 | 422 | 
| Terms【】。FreeTrialPricingTerm.Grants[].DimensionKey | 必要長度必須介於 1 到 100 之間 | 422 | 
| Terms【】。FreeTrialPricingTerm.Grants[].MaxQuantity | 選用值必須大於 0 | 422 | 
| Terms【】。RecurringPaymentTerm | 必要 | 422 | 
| Terms【】。RecurringPaymentTerm.Type | 必要只能是「RecurringPaymentTerm」 | 422 | 
| Terms【】。RecurringPaymentTerm.BillingPeriod | 必要允許的值：【"Monthly"】 | 422 | 
| Terms【】。RecurringPaymentTerm.CurrencyCode | 必要支援的貨幣：【"USD"】 | 422 | 
| Terms【】。RecurringPaymentTerm.Price | 必要資料類型為「字串」<br />支援最多 3 個小數位數的非負數小數位數 | 422 | 
| Terms【】。UsageBasedPricingTerm | 必要 | 422 | 
| Terms【】。UsageBasedPricingTerm.Type | 必要只能是「UsagedBasedPricingTerm」 | 422 | 
| Terms【】。UsageBasedPricingTerm.CurrencyCode | 必要支援的貨幣：【"USD"】 | 422 | 
| Terms【】。UsageBasedPricingTerm.RateCards | 必要大小必須為 1 | 422 | 
| Terms【】。UsageBasedPricingTerm.RateCards[].RateCard | 必要清單大小必須介於 1 到 800 之間 | 422 | 
| Terms【】。UsageBasedPricingTerm.RateCards[].RateCard【】。DimensionKey | 必要長度必須介於 1 到 100 之間 | 422 | 
| Terms【】。UsageBasedPricingTerm.RateCards[].RateCard【】。價格 | 必要資料類型為「字串」<br />支援最多 8 個小數位數的非負數小數位數 | 422 | 

**非同步錯誤**

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


| 錯誤碼 | 錯誤訊息 | 
| --- | --- | 
| DUPLICATE\_DIMENSION\_KEYS | 在 【x】 中提供授予唯一的維度索引鍵清單。 | 
| DUPLICATE\_DIMENSION\_KEYS | 在 【x】 中提供 RateCard 唯一的維度索引鍵清單。 | 
| DUPLICATE\_SELECTORS  | 在 ConfigurableUpfrontPricingTerm 中提供唯一的選取器清單。 | 
| DUPLICATE\_TERM\_TYPES | 提供唯一的詞彙類型清單。 | 
| INCOMPATIBLE\_AGREEMENT | 下列術語無法從替代優惠中移除：【x， y， z】。 | 
| INCOMPATIBLE\_AGREEMENT | 下列術語無法新增至替代優惠：【x， y， z】。 | 
| INCOMPATIBLE\_CURRENCY\_CODE | 優惠發行後，無法變更 CurrencyCode。 | 
| INCOMPATIBLE\_PAYMENT\_SETTINGS | 更新您的付款設定，使其與 CurrencyCode 相容。 | 
| INCOMPATIBLE\_PRODUCT | 產品不支援用量定價模型。 | 
| INCOMPATIBLE\_PRODUCT | 產品不支援合約定價模式。 | 
| INCOMPATIBLE\_PRODUCT | 產品不支援 Byol 定價模型。 | 
| INCOMPATIBLE\_PRODUCT | 產品不支援免費定價模式。 | 
| INCOMPATIBLE\_PRODUCT | 產品的 優惠不支援 【x】。 | 
| INCOMPATIBLE\_PRODUCT | 提供的付款和定價條款不相容。 | 
| INCOMPATIBLE\_PRODUCT | 在 【x】 的產品中使用現有的可用維度。 | 
| INCOMPATIBLE\_PRODUCT | 產品不支援 FreeTrialPricingTerm 作為優惠的唯一定價期限。 | 
| INCOMPATIBLE\_PRODUCT | 產品不支援下列術語：【x，y，z】。 | 
| INCOMPATIBLE\_PRODUCT | 取代優惠僅支援合約定價模式。 | 
| INCOMPATIBLE\_PRODUCT | 提供與產品維度相容的定價期限 (s)。不相容的定價條款：【x，y，z】。 | 
| INCOMPATIBLE\_RATE\_CARD\_CONSTRAINTS | 針對用量定價模型，將 MultipleDimensionSelection 和 QuantityConfiguration 設定為 ConfigurableUpfrontPricingTerm 允許。 | 
| INCOMPATIBLE\_RATE\_CARD\_CONSTRAINTS | 在用量定價模型的 ConfigurableUpfrontPricingTerm 中將 MultipleDimensionSelection 和 QuantityConfiguration 設定為不允許。 | 
| INCOMPATIBLE\_RATE\_CARD\_CONSTRAINTS | 優惠發行後，無法變更 ConfigurableUpfrontPricingTerm 中的 QuantityConfiguration。 | 
| INCOMPATIBLE\_RATE\_CARD\_CONSTRAINTS | 優惠發行後，無法變更 ConfigurableUpfrontPricingTerm 中的 MultipleDimensionSelection。 | 
| INCOMPATIBLE\_RATES | 使用免費定價模型時，將所有費用金額和價格設為零 (0)。 | 
| INCOMPATIBLE\_RATES | UsageBasedPricingTerm 只允許零 (0) 價格以取得產品的免費試用優惠。 | 
| INCOMPATIBLE\_RESALE\_AUTHORIZATION | 提供與 ResaleAuthorization 中指定的相同 CurrencyCode。 | 
| INCOMPATIBLE\_RESALE\_AUTHORIZATION | 確保 FixedUpfrontPricingTerm 中的持續時間符合 ResaleAuthorization 中指定的持續時間。 | 
| INCOMPATIBLE\_RESALE\_AUTHORIZATION | 提供與 ResaleAuthorization 相容的 term(s)。不相容的術語：【x、y、z】。 | 
| INCOMPATIBLE\_SELECTOR\_DURATION | 優惠發行後，不允許從 ConfigurableUpfrontPricingTerm 中的費率卡中移除持續時間。 | 
| INCOMPATIBLE\_SELLER\_VERIFICATION | 完成所有必要的賣方驗證程序。 | 
| INCOMPATIBLE\_TERMS  | 【x】 與下列術語不支援：【y，z】。 | 
| INCOMPATIBLE\_TERMS  | 優惠發行後，無法新增下列術語：【x，y，z】。 | 
| INCOMPATIBLE\_TERMS  | 優惠發行後，無法移除下列術語：【x，y，z】。 | 
| INCOMPATIBLE\_TERMS  | 私有優惠不支援 【x】。 | 
| INCOMPATIBLE\_TERMS  | 授予無限用量的 FreeTrialPricingTerm 不支援下列術語：【x，y，z】。 | 
| INCOMPATIBLE\_TERMS  | FreeTrialPricingTerm 不支援產品的下列術語：【x，y，z】。 | 
| INCOMPATIBLE\_TERMS  | 當優惠包含 PaymentScheduleTerm 時，提供 FixedUpfrontPricingTerm 的零 (0) 價格。 | 
| INCOMPATIBLE\_TERMS  | 下列術語與 PricingModel 不相容：【x，y，z】。 | 
| INCOMPATIBLE\_TERMS  | 當 MarkupPercentage 大於零 (0) 時，不支援 FixedUpfrontPricingTerm。 | 
| INCOMPATIBLE\_TERMS  | 無法在優惠發佈後執行請求的變更。 | 
| INCOMPATIBLE\_TERMS  | 請求的變更無法在優惠過期後執行。 | 
| INVALID\_AGREEMENT\_DURATION | 提供介於 【x】 和 【y】 個月的持續時間。 | 
| INVALID\_AGREEMENT\_DURATION | 確保測量維度的持續時間精細程度處於天層級。 | 
| INVALID\_CURRENCY\_CODE | 提供支援的 CurrencyCode。 | 
| INVALID\_CURRENCY\_CODE | 在所有定價和付款條件中提供相同的 CurrencyCode。 | 
| INVALID\_CURRENCY\_CODE | 提供支援的 CurrencyCode。 | 
| INVALID\_CURRENCY\_CODE | 在所有定價和付款條件中提供相同的 CurrencyCode。 | 
| INVALID\_DURATION | 確保 FreeTrialPricingTerm 中的持續時間在允許的範圍內。 | 
| INVALID\_DURATION | 在 FixedUpfrontPricingTerm 中提供符合 AgreementStartDate 和 AgreementEndDate 之間持續時間的持續時間。 | 
| INVALID\_DURATION | 提供介於 【x】 和 【y】 個月的持續時間。 | 
| INVALID\_DURATION | 確保測量維度的持續時間精細程度位於天層級。 | 
| INVALID\_GRANTS | 為 FreeTrialPricingTerm 中的所有授權提供相同的 MaxQuantity。 | 
| INVALID\_GRANTS | 在 FreeTrialPricingTerm 中提供所有可用計量維度的授予。 | 
| INVALID\_GRANTS | The combination of Dimensions in grants is invalid in FixedUpfrontPricingTerm for the product. | 
| INVALID\_GRANTS | The combination of Dimensions in grants is invalid in FreeTrialPricingTerm for the product. | 
| INVALID\_GRANTS | FixedUpfrontPricingTerm with MaxQuantity is not supported for this product. | 
| INVALID\_PRICE\_CHANGE | 【x】 無法在 【y】 之前更新，因為您在過去 120 天內請求提高價格。若要取消先前的提高價格請求或取得詳細資訊，請聯絡 AWS MarketplaceManaged Catalog Operations 團隊。 | 
| INVALID\_PRICE\_CHANGE | 相同的請求不支援 【x】 中增加的價格和增加的維度。請先新增維度。 | 
| INVALID\_PRICE\_CHANGE | 同一請求不支援 UsageBasedPricingTerm 的價格提高和降低。首先降低價格。 | 
| INVALID\_PRICE\_CHANGE | 相同請求不支援 RecurringPaymentTerm 的價格增加和 UsageBasedPricingTerm 的價格減少。首先降低價格。 | 
| INVALID\_PRICE\_CHANGE | 相同請求不支援 RecurringPaymentTerm 的價格降低和 UsageBasedPricingTerm 的價格提高。首先降低價格。 | 
| INVALID\_RATE\_CARD | ConfigurableUpfrontPricingTerm 在持續時間 【x】 內缺少一或多個維度索引鍵。提供所有持續時間內同一組維度索引鍵的價格。 | 
| INVALID\_RATE\_CARD | 在 UsageBasedPricingTerm 中提供僅計量維度的費率卡。 | 
| INVALID\_RATE\_CARD | 無法從 【x】 移除費率。提供現有費率卡中所有維度的價格。 | 
| INVALID\_RATE\_CARD | 在 【x】 中提供單位相同的維度。 | 
| INVALID\_RATE\_CARD | 以 【x】 提供所有計量維度或所有授權維度。 | 
| INVALID\_RATE\_CARD | 僅提供 【x】 中具備權限的維度。 | 
| INVALID\_RATE\_CARD | 提供 UsageBasedPricingTerm 中所有可用計量維度的用量型費率。 | 
| INVALID\_RATE\_CARD | 提供所有免費試用維度的用量型費率。 | 
| INVALID\_RATE\_CARD | 在 UsageBasedPricingTerm 中提供最多 8 個小數位的價格。 | 
| INVALID\_RATE\_CARD | The combination of Dimensions in rate card is invalid in UsageBasedPricingTerm for the product. | 
| INVALID\_SELECTOR\_DURATION\_VALUE | 提供介於 【x】 和 【y】 個月的持續時間。 | 
| INVALID\_SELECTOR\_DURATION\_VALUE | 確保測量維度的持續時間精細程度位於天層級。 | 
| INVALID\_SELECTOR\_DURATION\_VALUE | 確保 ConfigurableUpfrontPricingTerm 中的持續時間在允許的範圍內。 | 
| INVALID\_SELECTOR\_DURATION\_VALUE | 提供一或多個支援的合約持續時間。 | 
| INVALID\_SELECTOR\_DURATION\_VALUE | 提供一或多個支援的合約持續時間或單一自訂持續時間。 | 
| INVALID\_SELECTOR\_DURATION\_VALUE | 在符合 AgreementStartDate 和 AgreementEndDate 之間持續時間的 ConfigurableUpfrontPricingTerm 中提供持續時間。 | 
| MISSING\_DURATION | 在 FixedUpfrontPricingTerm 中提供持續時間。 | 
| MISSING\_MANDATORY\_TERMS | 只有在與 ByolPricingTerm 或 PaymentScheduleTerm 配對時，才支援 FixedUpfrontPricingTerm PaymentScheduleTerm 。 ByolPricingTerm  | 
| MISSING\_MANDATORY\_TERMS | 至少提供其中一個 【x，y，z】。 | 
| MISSING\_MANDATORY\_TERMS | 使用 Byol 定價模型時提供 ByolPricingTerm。 | 
| TOO\_MANY\_GRANTS | 在 【y】 中提供最多 【x】 個授權。 | 
| TOO\_MANY\_RATE\_CARDS | 產品只允許使用 ConfigurableUpfrontPricingTerm 中的一張費率卡。 | 
| TOO\_MANY\_RATE\_CARDS | 產品在 ConfigurableUpfrontPricingTerm 中最多允許 【x】 張費率卡。 | 
| TOO\_MANY\_RATES | 在 ConfigurableUpfrontPricingTerm 中允許的限制內提供 RateCards。 | 
| TOO\_MANY\_RATES | 在 UsageBasedPricingTerm 中允許的限制內提供 RateCards。 | 
| INCOMPATIBLE\_RATE\_CARD\_CONSTRAINTS | 在 ConfigurableUpfrontPricingTerm 中將 MultipleDimensionSelection 和 QuantityConfiguration 設定為相同的值 （允許或不允許）。 | 
| INCOMPATIBLE\_RATE\_CARD\_CONSTRAINTS | 為 ConfigurableUpfrontPricingTerm 中的所有費率卡提供相同的限制條件。 | 
| INVALID\_UPDATE\_REQUEST | 【x】 無法更新。若要請求定價變更或取得詳細資訊，請聯絡 AWS MarketplaceManaged Catalog Operations 團隊。 | 
| INCOMPATIBLE\_PRICING\_MODEL | PricingModel 無法從 【x】 變更為 【y】。 | 
| INVALID\_GRANTS | FreeTrialPricingTerm MaxQuantity限制於產品。提供小於或等於 【x】 的 MaxQuantity。如需詳細資訊，請聯絡 AWS MarketplaceManaged Catalog Operations 團隊。 | 
| INVALID\_GRANTS | 為 FixedUpfrontPricingTerm 中的所有授權提供 MaxQuantity。 | 
| INVALID\_GRANTS | 產品的 FixedUpfrontPricingTerm 不支援 MaxQuantity。 | 
| INCOMPATIBLE\_RESALE\_AUTHORIZATION | 確保 FixedUpfrontPricingTerm 中的授與符合 ResaleAuthorization 中指定的 RateCards。 | 

## 更新優惠的可探索性
<a name="update-availability"></a>

您可以使用 Catalog API 來控制 優惠的可探索性AWS Marketplace。

您可以選擇在未來設定特定日期，以限制優惠的可探索性，或過去會使優惠過期。`UpdateAvailability` 變更類型不會影響現有的協議。

**注意**  
您可以在已[發佈](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/offers.html#release-offer) （也稱為*已發佈*) 的私有優惠上使用`UpdateAvailability`變更類型。如果買方已接受私有優惠，則這些現有協議不會受到影響。
修改現有私有優惠`AvailabilityEndDate`的 時，必須遵守[協議持續時間的限制](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/offers.html#update-validity-terms)。如果不是，請在此`UpdateValidityTerms`變更集中包含其他變更類型，以修改協議持續時間，以符合新的過期時間。`UpdateValidityTerms` 變更類型可用於已發行或尚未發行的私有優惠。
修改現有私有優惠`AvailabilityEndDate`的 時，必須遵循[付款排程的限制](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/offers.html#update-payment-schedule-terms)。如果尚未*發佈*私有優惠，請在此`UpdatePaymentScheduleTerms`變更集中包含其他變更類型，以修改付款排程以符合新的過期時間。如果私有優惠*已發行*，`AvailabilityEndDate`您只能在新日期遵守付款排程限制的情況下，對 進行變更。

若要控制優惠的可探索性，請使用`UpdateAvailability`變更類型呼叫 `StartChangeSet` API 操作，如下列範例所示。

**請求語法**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet": [
    {
      "ChangeType": "UpdateAvailability",
      "Entity": {
        "Type": "Offer@1.0",
        "Identifier": "offer-123456789"
      },
      "DetailsDocument": {
        "AvailabilityEndDate": "2024-05-31"
      }
    }
  ]
}
```

提供要新增`UpdateAvailability`變更類型的欄位資訊：
+ **實體** （物件） （必要） – 您的優惠。
  + **類型** （字串） （必要） – 一律`Type`為 `Offer@1.0`。
  + **識別符** （字串） （必要） – 您的優惠 ID。如需詳細資訊，請參閱[識別符](catalog-apis.md#identifier)。
+ **DetailsDocument** （物件） （必要） – 請求特定項目的 JSON 值。
  + **AvailabilityEndDate** （字串） （必要） – 這是優惠可探索且可購買的日期AWS Marketplace。您可以選擇在未來設定特定日期以限制可用性，或選擇過去將優惠過期。日期會以 `YYYY-MM-DD` 格式表示。

為您的請求建立變更集。對此請求的回應會為您提供變更集的 ID 和 ARN，如下所示。

**回應語法**

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

變更請求會新增至佇列並進行處理。它包含驗證資訊，以確保其符合AWS Marketplace準則。驗證程序可能需要幾分鐘的時間。您可以透過 AWS Marketplace 管理入口網站或在目錄 API 中使用 `DescribeChangeSet`動作來檢查請求的狀態。

**同步驗證**

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


| 輸入欄位 | 驗證規則 | HTTP 代碼 | 
| --- | --- | --- | 
| AvailabilityEndDate | 必要<br />格式："YYYY-MM-DD" | 422 | 

**非同步錯誤**

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


| 錯誤碼 | 錯誤訊息 | 
| --- | --- | 
| INVALID\_AVAILABILITY\_END\_DATE | 公有優惠不支援 AvailabilityEndDate。 | 
| INVALID\_AVAILABILITY\_END\_DATE | 提供未來的 AvailabilityEndDate。 | 
| INVALID\_AVAILABILITY\_END\_DATE | 提供在 AgreementEndDate 之前的 AvailabilityEndDate。 AgreementEndDate | 
| MISSING\_AVAILABILITY\_END\_DATE | 提供在協議結束日期之前的 AvailabilityEndDate。 | 

## 定義使用優惠建立之協議的過期日期
<a name="update-validity-terms"></a>

您可以使用 Catalog API 來定義使用 優惠建立之協議的過期日期詳細資訊AWS Marketplace。

此變更類型不會影響現有的協議。

**注意**  
您可以在已[發佈](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/offers.html#release-offer) （也稱為*已發佈*) 的私有優惠上使用`UpdateValidityTerms`變更類型。如果買方已接受私有優惠，則這些現有協議不會受到影響。  
對於 **AMI 型**和**容器型**產品，如果您的私有優惠[定價條款](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/offers.html#update-pricing-terms)包含具有 的術語類型 `Duration`（例如，術語類型 `FixedUpfrontPricingTerm`或 `ConfigurableUpfrontPricingTerm`)，則您在此變更類型中`AgreementDuration`設定的天數必須大於下列項目：從今天到[私有優惠到期的](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/offers.html#update-availability)天數，加上這些術語類型的 `Duration` 中設定的天數。這是因為在買方接受私有優惠並建立協議之後，他們可以選擇性地購買這些期限類型中指定的其他權利，直到私有優惠到期。此外，所有其他權利必須在協議之前終止。例如，如果買方在第一個可用日接受私有優惠，然後在最後一個可用日購買權利，則這些權利不得在協議結束日期之後終止。

若要定義使用優惠建立之協議的過期日期詳細資訊，請呼叫具有`UpdateValidityTerms`變更類型的 `StartChangeSet` API 操作，如下列範例所示。

**請求語法**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet": [
    {
      "ChangeType": "UpdateValidityTerms",
      "Entity": {
        "Type": "Offer@1.0",
        "Identifier": "offer-123456789"
      },
      "DetailsDocument": {
        "Terms": [
          {
            "Type": "ValidityTerm",
            "AgreementDuration": "P12M",
            "AgreementStartDate": "2021-08-01",
            "AgreementEndDate": "2022-08-01"
          }
        ]
      }
    }
  ]
}
```

提供要新增`UpdateValidityTerms`變更類型的欄位資訊：
+ **實體** （物件） （必要） – 您的優惠。
  + **類型** （字串） （必要） – 一律`Type`為 `Offer@1.0`。
  + **識別符** （字串） （必要） – 您的優惠 ID。如需詳細資訊，請參閱[識別符](catalog-apis.md#identifier)。
+ **DetailsDocument** （物件） （必要） – 請求特定項目的 JSON 值。
  + **術語** （結構陣列） – 您要更新的有效術語清單。支援的有效性術語為：
    + **ValidityTerm** （物件） – 定義將保留從本優惠建立的協議、有效的條件。
      + **類型** （字串） – 要更新的詞彙類別。 `ValidityTerm`
      + **AgreementDuration** （字串） – 定義協議保持作用中的持續時間。如果`AgreementStartDate`未提供 ，則協議持續時間與協議簽署時間相關。持續時間會以 ISO\_8601 格式表示。
      + **AgreementStartDate** （字串） – 定義協議開始的日期。 `AgreementStartDate` 會以 `YYYY-MM-DD` 格式表示。協議於 UTC 提供的日期起 00：00：00.000。如果`AgreementStartDate`未提供 ，則根據協議簽署時間來決定協議開始日期。
      + **AgreementEndDate** （字串） – 定義協議終止的日期。會以 `YYYY-MM-DD` 格式`AgreementEndDate`表示。協議於 UTC 提供的日期 23：59：59.999 結束。如果`AgreementEndDate`未提供 ，則協議結束日期取決於個別條款的有效性。

**回應語法**

為您的請求建立變更集。對此請求的回應為您提供變更集`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。

**同步驗證**

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


| 輸入欄位 | 驗證規則 | HTTP 代碼 | 
| --- | --- | --- | 
| 條款 | 必要 | 422 | 
| Terms【】。類型 | 必要<br />只能為 `"ValidityTerm"` | 422 | 
| Terms【】。AgreementDuration | 選用<br />每個選取器類型的預期格式：ISO 8601 持續時間<br />可以獨立或與 配對 `AgreementStartDate` | 422 | 
| Terms【】。AgreementEndDate | 選用<br />日期的格式必須為 `"YYYY-MM-DD"` | 422 | 
| Terms【】。AgreementStartDate | 選用<br />日期的格式必須為 `"YYYY-MM-DD"`<br />只能與 `AgreementEndDate`和 配對 `AgreementDuration` | 422 | 

**非同步錯誤**

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


| 錯誤碼 | 錯誤訊息 | 
| --- | --- | 
| INCOMPATIBLE\_AGREEMENT | 如果目前要取代的協議不是未來的日期，則 AgreementStartDate 不能在未來。 | 
| INCOMPATIBLE\_AGREEMENT\_END\_DATE | 優惠發行後，就無法更新 AgreementEndDate。 | 
| INCOMPATIBLE\_AGREEMENT\_START\_DATE | 優惠發行後，就無法更新 AgreementStartDate。 | 
| INCOMPATIBLE\_PRODUCT | 未來不支援 AgreementStartDate。 | 
| INCOMPATIBLE\_RESALE\_AUTHORIZATION | 確保 AgreementStartDate 和 AgreementEndDate 之間的持續時間與 ResaleAuthorization 相容。 | 
| INCOMPATIBLE\_RESALE\_AUTHORIZATION | 確保 AgreementStartDate 與 ResaleAuthorization 相容。 | 
| INCOMPATIBLE\_RESALE\_AUTHORIZATION | 確保 AgreementEndDate 與 ResaleAuthorization 相容。 | 
| INCOMPATIBLE\_RESALE\_AUTHORIZATION | 確保 AgreementStartDate 和 AgreementEndDate 之間的持續時間與 ResaleAuthorization 相容。 | 
| INCOMPATIBLE\_RESALE\_AUTHORIZATION | 確保 AgreementDuration 符合 ResaleAuthorization 中指定的持續時間。 | 
| INCOMPATIBLE\_TERMS  | 公開優惠不支援 ValidityTerm。 | 
| INCOMPATIBLE\_TERMS  | 請求的變更無法在優惠過期後執行。 | 
| INVALID\_AGREEMENT\_DURATION | 提供大於或等於 【x】 天的 AgreementDuration。 | 
| INVALID\_AGREEMENT\_END\_DATE | 提供未來的 AgreementEndDate。 | 
| INVALID\_AGREEMENT\_END\_DATE | 提供晚於或等於 【x】 的 AgreementEndDate。 | 
| INVALID\_AGREEMENT\_START\_DATE | 提供在 AvailabilityEndDate 之後的 AgreementStartDate。 AvailabilityEndDate | 
| INVALID\_AGREEMENT\_START\_DATE | 提供 AgreementStartDate 之前的 AgreementEndDate。 | 
| INVALID\_AGREEMENT\_START\_DATE | 提供距今天 【x】 年的 AgreementStartDate。 | 
| INVALID\_AGREEMENT\_TIME\_INTERVAL | 不支援同時具有 AgreementDuration 和 AgreementEndDate 的 ValidityTerm。 | 
| INVALID\_AGREEMENT\_TIME\_INTERVAL | 產品優惠不支援同時具有 AgreementStartDate 和 AgreementDuration 的 ValidityTerm。 | 
| INVALID\_AGREEMENT\_TIME\_INTERVAL | 產品優惠不支援 ValidityTerm with AgreementStartDate。 | 
| INVALID\_AGREEMENT\_TIME\_INTERVAL | 不支援僅含 AgreementStartDate 的 ValidityTerm。 | 
| INVALID\_AGREEMENT\_TIME\_INTERVAL | 除非與未來的 AgreementEndDate不支援 AgreementStartDate。 | 
| INVALID\_AGREEMENT\_TIME\_INTERVAL | 提供 AgreementStartDate 和 AgreementEndDate，其中差異小於或等於 【x】 年。 | 
| MISSING\_AGREEMENT\_START\_DATE | 與 ConfigurableUpfrontPricingTerm 搭配使用時，確保 ValidityTerm 中存在 AgreementStartDate。 | 
| INVALID\_AGREEMENT\_END\_DATE | 提供距今天 【x】 年的 AgreementEndDate。 | 
| INCOMPATIBLE\_AGREEMENT\_START\_DATE | 當協議有未來的開始日期時，提供與協議中定義的相同 AgreementStartDate。 | 
| INCOMPATIBLE\_AGREEMENT | 當協議不是未來的日期時， AgreementStartDate 不能是未來的日期。 | 

## 更新付款排程詳細資訊
<a name="update-payment-schedule-terms"></a>

您可以使用目錄 API 來更新優惠的付款排程詳細資訊，例如彈性付款排程AWS Marketplace。

**注意**  
您無法在已[發佈](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/offers.html#release-offer) （也稱為*已發佈*) 的優惠上使用`UpdatePaymentScheduleTerms`變更類型。  
私有優惠可在建立私有優惠與其[過期](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/offers.html#update-availability) （在 中設定`AvailabilityEndDate`) 之間的任何一天接受。只有一個付款排程`ChargeDate`的值可以是買方可以接受私有優惠的最後一天當天或之前的日期 （私有優惠過期日期）。的剩餘值`ChargeDate`必須在私有優惠到期之後，但如果立即接受私有優惠，則不得晚於協議結束。協議的結束取決於接受私有優惠的時間 （建立協議） 加上[協議的持續時間](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/offers.html#update-validity-terms)。

若要更新優惠的付款排程詳細資訊，請使用`UpdatePaymentScheduleTerms`變更類型呼叫 `StartChangeSet` API 操作，如下列範例所示。

**請求語法**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet": [
    {
      "ChangeType": "UpdatePaymentScheduleTerms",
      "Entity": {
        "Type": "Offer@1.0",
        "Identifier": "offer-123456789"
      },
      "DetailsDocument": {
        "Terms": [
          {
            "Type": "PaymentScheduleTerm",
            "Schedule": [
              {
                "ChargeDate": "2021-12-01",
                "ChargeAmount": "200.00"
              },
              {
                "ChargeDate": "2022-03-01",
                "ChargeAmount": "250.00"
              }
            ]
          }
        ]
      }
    }
  ]
}
```

提供要新增`UpdatePaymentScheduleTerms`變更類型的欄位資訊：
+ **實體** （物件） （必要） – 您的優惠。
  + **類型** （字串） （必要） – 一律`Type`為 `Offer@1.0`。
  + **識別符** （字串） （必要） – 您的優惠 ID。如需詳細資訊，請參閱[識別符](catalog-apis.md#identifier)。
+ **DetailsDocument** （物件） （必要） – 請求特定項目的 JSON 值。
  + **條件** （結構陣列） – 您要更新的付款條件清單。支援的付款條件為：
    + **PaymentScheduleTerm** （物件） – 定義以分期付款為基礎的定價模式，其中客戶會在協議有效期間的不同日期支付固定價格的費用。
      + **類型** （字串） – 要更新的詞彙類型。這是物件值：`"PaymentScheduleTerm"`。
      + **排程** （結構陣列） – 付款排程清單，其中每個元素定義一個付款分期。它包含計算要支付的價格以及向客戶收費的日期所需的資訊。
        + **ChargeDate** （字串） – 客戶支付此付款排程期間所定義價格的日期。 `ChargeDate` 以 YYYY-MM-DD 格式表示。發票會在提供的日期產生。
        + **ChargeAmount ** （字串） – 客戶在排程日期 () 支付的價格`ChargeDate`。

**回應語法**

為您的請求建立變更集。對此請求的回應為您提供變更集`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。

**同步驗證**

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


| 輸入欄位 | 驗證規則 | HTTP | 
| --- | --- | --- | 
| 條款 | 必要<br />只`PaymentScheduleTerm`允許<br />清單大小必須小於 2 | 422 | 
| Terms【】。類型 | 必要<br />只能為 `PaymentScheduleTerm` | 422 | 
| Terms【】。PaymentScheduleTerm.CurrencyCode | 必要<br />支援的貨幣：【"USD"、"AUD"、"EUR"、"GBP"、" 日元"】 | 422 | 
| Terms【】。PaymentScheduleTerm.Schedule[] | 必要 | 422 | 
| Terms【】。PaymentScheduleTerm.Schedule[].ChargeAmount | 必要日期類型為「字串」<br />支援最多 2 個小數位數的非負數小數位數 | 422 | 
| Terms【】。PaymentScheduleTerm.Schedule[].ChargeDate | 必要<br />日期格式必須為 "YYYY-MM-DD" | 422 | 

**非同步錯誤**

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


| 錯誤碼 | 錯誤訊息 | 
| --- | --- | 
| DUPLICATE\_charge\_DATES | 在 PaymentScheduleTerm 中提供唯一的收費日期。 | 
| INCOMPATIBLE\_CURRENCY\_CODE | 優惠發行後，無法變更 CurrencyCode。 | 
| INCOMPATIBLE\_MARKUP\_PERCENTAGE | 當 MarkupPercentage 大於零 (0) 時，不支援 PaymentScheduleTerm。 | 
| INCOMPATIBLE\_PAYMENT\_SETTINGS | 更新您的付款設定，使其與 CurrencyCode 相容。 | 
| INCOMPATIBLE\_RESALE\_AUTHORIZATION | 提供與 ResaleAuthorization 相容的 term(s)。不相容的術語：【PaymentScheduleTerm】。 | 
| INCOMPATIBLE\_RESALE\_AUTHORIZATION | 確保 PaymentScheduleTerm 中的 ChargeAmounts 總數與 ResaleAuthorization 相容。 | 
| INCOMPATIBLE\_SELLER\_VERIFICATION | 完成所有必要的賣方驗證程序。 | 
| INCOMPATIBLE\_TERMS | 無法在優惠發佈後執行請求的變更。 | 
| INCOMPATIBLE\_TERMS | 請求的變更無法在優惠過期後執行。 | 
| INVALID\_charge\_DATES | 提供 AgreementEndDate 之前的收費日期。 | 
| INVALID\_CURRENCY\_CODE | 提供支援的 CurrencyCode。 | 
| INVALID\_CURRENCY\_CODE | 在所有定價和付款條件中提供相同的 CurrencyCode。 | 
| TOO\_MANY\_BACKDATED\_CHARGES | 在 AvailabilityEndDate 之前提供最多 1 個排程付款。 | 
| INVALID\_charge\_DATES | 提供 AgreementEndDate 之前的最後一個收費日期。 | 
| INVALID\_charge\_DATES | 提供不是過去的第一個收費日期。 | 
| TOO\_MANY\_chargeS | 在 PaymentScheduleTerm 中提供最多 【x】 個排程付款。 | 

## 修改續約選項
<a name="update-renewal-terms"></a>

您可以使用目錄 API 來控制使用此優惠建立之協議的續約選項AWS Marketplace。

對於透過目錄 API 建立的優惠，自動續約預設為停用，直到您呼叫`UpdateRenewalTerms`變更類型以允許自動續約為止。此變更不會影響現有的協議。

若要控制使用此優惠建立之協議的續約選項，請呼叫具有`UpdateRenewalTerms`變更類型的 `StartChangeSet` API 操作，如下列範例所示。

**請求語法**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet": [
    {
      "ChangeType": "UpdateRenewalTerms",
      "Entity": {
        "Type": "Offer@1.0",
        "Identifier": "offer-123456789"
      },
      "DetailsDocument": {
        "Terms": [
          {
            "Type": "RenewalTerm"
          }
        ]
      }
    }
  ]
}
```

提供要新增`UpdateRenewalTerms`變更類型的欄位資訊：
+ **實體** （物件） （必要） – 您的優惠。
  + **類型** （字串） （必要） – 一律`Type`為 `Offer@1.0`。
  + **識別符** （字串） （必要） – 您的優惠 ID。如需詳細資訊，請參閱[識別符](catalog-apis.md#identifier)。
+ **DetailsDocument** （物件） （必要） – 請求特定項目的 JSON 值。
  + **術語** （結構陣列） – 您要更新的續約術語清單。支援的續約期限為：
    + **RenewalTerm** （物件） – 定義在協議的正常終止 （過期 `ValidityTerm`，而非買方AWS Marketplace或取消） 時，將使用現有協議上接受的條款建立新協議。換句話說，協議將會續約。在優惠`RenewalTerm`中存在 表示允許自動續約。買方可以選擇在建立優惠接受/協議時接受或拒絕自動續約。
      + **類型** （字串） – 要更新的詞彙類型。 `RenewalTerm`

**回應語法**

為您的請求建立變更集。對此請求的回應為您提供變更集`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。

**同步驗證**

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


| 輸入欄位 | 驗證規則 | HTTP 代碼 | 
| --- | --- | --- | 
| 條款 | 必要 | 422 | 
| Terms【】。類型 | 必要只能是「RenewalTerm」 | 422 | 

**非同步錯誤**

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


| 錯誤碼 | 錯誤訊息 | 
| --- | --- | 
| INCOMPATIBLE\_PRODUCT | 該產品的私有優惠不支援 RenewalTerm。 | 
| INCOMPATIBLE\_TERMS  | PaymentScheduleTerm 不支援 RenewalTerm。 PaymentScheduleTerm | 
| INCOMPATIBLE\_TERMS  | PricingModel不支援 RenewalTerm。 | 
| INCOMPATIBLE\_TERMS | 無法在優惠發佈後執行請求的變更。 | 
| INCOMPATIBLE\_TERMS | 請求的變更無法在優惠過期後執行。 | 

## 發佈優惠
<a name="release-offer"></a>

您可以使用目錄 API 來合併從所有更新變更類型收集的資訊，然後發佈優惠。

在`ReleaseOffer`呼叫 之前，優惠會保持 `Draft` 狀態。優惠發佈後，即可探索AWS Marketplace。

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

**請求語法**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet": [
    {
      "ChangeType": "ReleaseOffer",
      "Entity": {
        "Type": "Offer@1.0",
        "Identifier": "offer-123456789"
      },
      "DetailsDocument": {}
    }
  ]
}
```

提供要新增`ReleaseOffer`變更類型的欄位資訊：
+ **實體** （物件） – 所建立實體的命名類型。`Identifier` 是您的優惠 ID，而 一律`Type`是 `Offer@1.0`。如需詳細資訊，請參閱[識別符](catalog-apis.md#identifier)。
+ **DetailsDocument** （物件） – 請求特定項目的 JSON 值。其對於 必須是空的`ReleaseOffer`。

**回應語法**

為您的請求建立變更集。對此請求的回應為您提供變更集`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。

**同步驗證**

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


| 輸入欄位 | 驗證規則 | 
| --- | --- | 
| DetailsDocument | 必須為空白 ({}) | 

**非同步錯誤**

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


| 錯誤碼 | 錯誤訊息 | 
| --- | --- | 
| INCOMPATIBLE\_PAYMENT\_SETTINGS | 更新您的付款設定，使其與 CurrencyCode 相容。 | 
| INCOMPATIBLE\_PRODUCT | 首先建立產品的公開優惠。 | 
| INCOMPATIBLE\_SELLER\_VERIFICATION | 完成所有必要的賣方驗證程序。 | 
| INCOMPATIBLE\_TARGETING | PreExistingAgreement 僅支援以買方為目標的優惠。 | 
| INCOMPATIBLE\_TARGETING | OfferSetId 僅支援以買方為目標的優惠。 | 
| INVALID\_TAX\_INFORMATION | 您的稅務資訊不完整。若要銷售專業服務AWS Marketplace，您必須完成 DAC7 稅務問卷。導覽至付款資訊區段，然後選取 DAC7 稅務表單。最多可能需要兩個小時才會更新您的稅務資訊。 | 
| INVALID\_UPDATE\_REQUEST | 請求的變更無法在優惠發佈後執行。 | 
| MISSING\_AGREEMENT\_END\_DATE | 為替代優惠提供 AgreementEndDate。 | 
| MISSING\_AVAILABILITY\_END\_DATE | 為私有優惠提供 AvailabilityEndDate。 | 
| MISSING\_BUYER\_ACCOUNTS | 針對使用 ResaleAuthorization 建立的優惠，使用 BuyersAccounts 提供 PositiveTargeting。 | 
| MISSING\_BUYER\_ACCOUNTS | 產品的所有優惠都必須是私有的。使用BuyersAccounts提供 PositiveTargeting。 | 
| MISSING\_DESCRIPTION | 在發佈優惠之前設定描述。 | 
| MISSING\_MANDATORY\_TERMS | 將 【x】 新增至優惠。 | 
| MISSING\_MANDATORY\_TERMS | 當優惠包含 PaymentScheduleTerm 時，提供 FixedUpfrontPricingTerm。 PaymentScheduleTerm | 
| MISSING\_NAME | 在釋出優惠之前設定名稱。 | 
| TOO\_MANY\_OFFERS | 每個產品只能建立一個公開免費試用優惠。 | 
| TOO\_MANY\_OFFERS | 每個產品只能建立一個公開優惠。 | 
| MISSING\_MANDATORY\_TERMS | 提供具有產品合約定價的公開優惠RenewalTerm。 | 
| MISSING\_AGREEMENT\_END\_DATE | 為替代優惠提供 AgreementEndDate。 | 

## 描述現有的優惠詳細資訊
<a name="describe-entity"></a>

您可以使用目錄 API 來描述現有的優惠詳細資訊AWS Marketplace。

若要描述現有的優惠詳細資訊，請使用 `Offer@1.0`實體類型呼叫 `DescribeEntity` API 操作，如下列範例所示。

**請求語法**

```
GET /DescribeEntity?catalog=<Catalog>&entityId=<EntityId> HTTP/1.1
```

提供要新增`DescribeEntity`變更類型的欄位資訊：
+ **目錄** （字串） – 與請求相關的目錄。固定值：`AWSMarketplace`。
+ **entityId** （字串） – 要描述的提議的唯一 ID。

**回應語法**

對此請求的回應會為您提供優惠詳細資訊，如下所示。

```
{
  "EntityType": "Offer@1.0",
  "EntityIdentifier": "offer-ad8EXAMPLE51@1",
  "EntityArn": "arn:aws:aws-marketplace:us-east-1:111122223333:AWSMarketplace/Offer/offer-ad8EXAMPLE51",
  "LastModifiedDate": "2021-03-10T21:57:16Z",
  "DetailsDocument": {
    "Id": "offer-3rEXAMPLErn",
    "State": "Released",
    "Name": "Test Offer",
    "Description": "Worldwide offer for Test Product",
    "PreExistingAgreement": {
      "AcquisitionChannel": "External",
      "PricingModel": "Contract"
    },
    "ProductId": "prod-ad8EXAMPLE51",
    "OfferSetId": "offerset-b3f9EXAMPLE27",
    "Terms": [
      {
        "Type": "SupportTerm",
        "RefundPolicy": "If you need to request a refund for software sold by Amazon Web Services, LLC, please contact AWS Customer Service."
      },
      {
        "Type": "LegalTerm",
        "Documents": [
          {
            "Type": "CustomEula",
            "Url": "https://s3.amazonaws.com/EULA/custom-eula-1234.txt"
          }
        ]
      },
      {
        "Type": "FreeTrialPricingTerm",
        "Duration": "P30D",
        "Grants": [
          {
            "DimensionKey": "m3.xlarge",
            "MaxQuantity": 10
          },
          {
            "DimensionKey": "m4.xlarge",
            "MaxQuantity": 10
          }
        ]
      },
      {
        "Type": "ConfigurableUpfrontPricingTerm",
        "CurrencyCode": "USD",
        "RateCards": [
          {
            "Selector": {
              "Type": "Duration",
              "Value": "P365D"
            },
            "RateCard": [
              {
                "DimensionKey": "m3.large",
                "Price": "300.00"
              },
              {
                "DimensionKey": "m4.xlarge",
                "Price": "400.00"
              }
            ],
            "Constraints": {
              "MultipleDimensionSelection": "Allowed",
              "QuantityConfiguration": "Allowed"
            }
          }
        ]
      },
      {
        "Type": "UsageBasedPricingTerm",
        "CurrencyCode": "USD",
        "RateCards": [
          {
            "RateCard": [
              {
                "DimensionKey": "m3.large",
                "Price": "0.10"
              },
              {
                "DimensionKey": "m4.xlarge",
                "Price": "0.20"
              }
            ]
          }
        ]
      },
      {
        "Type": "FixedUpfrontPricingTerm",
        "CurrencyCode": "USD",
        "Price": "200.00",
        "Grants": [
          {
            "DimensionKey": "Users",
            "MaxQuantity": 10
          }
        ]
      },
      {
        "Type": "RecurringPaymentTerm",
        "CurrencyCode": "USD",
        "BillingPeriod": "Monthly",
        "Price": "100.0"
      },
      {
        "Type": "PaymentScheduleTerm",
        "CurrencyCode": "USD",
        "Schedule": [
          {
            "ChargeDate": "2020-12-01T00:00:00.000Z",
            "ChargeAmount": "1000.00"
          },
          {
            "ChargeDate": "2021-06-15T00:00:00.000Z",
            "ChargeAmount": "1250.00"
          }
        ]
      },
      {
        "Type": "ByolPricingTerm"
      },
      {
        "Type": "RenewalTerm"
      }
    ],
    "Rules": [
      {
        "Type": "TargetingRule",
        "PositiveTargeting": {
          "CountryCodes": [
            "US",
            "CA"
          ],
          "BuyerAccounts": [
            "444455556666"
          ]
        },
        "NegativeTargeting": {
          "CountryCodes": [
            "XX"
          ]
        }
      },
      {
        "Type": "AvailabilityRule",
        "AvailabilityEndDate": "2024-08-30T01:56:03.000Z"
      }
    ]
  }
}
```

以下是您在`DescribeEntity`回應中看到的欄位的相關資訊。
+ **EntityType** （字串） – 實體的命名類型，即 `Offer@1.0`。
+ **EntityIdentifier** （字串） – 實體的識別符，格式為 `EntityId@RevisionId`。
+ **EntityArn** （字串） – 與此請求中參考之變更集的唯一識別符相關聯的 ARN。
+ **LastModifiedDate** （字串） – 實體的上次修改日期，採用 ISO 8601 格式 （例如：`2018-02-27T13:45:22Z`)。
+ **詳細資訊** （字串） – 此字串化 JSON 物件包含實體的下列詳細資訊：
  + **ID** （字串） – 中優惠實體的唯一識別符，AWS Marketplace會在建立優惠期間產生。
  + **狀態** （字串） – 優惠的狀態。
  + **名稱** （字串） – 與優惠相關聯的名稱，可讓您和客戶更清楚閱讀。它也會顯示為協議資訊的一部分。
  + **描述** （字串） – 描述是一種自由格式的文字，僅供您使用，絕不會向買方公開。
  + **PreExistingAgreement** （字串） – 判斷此優惠是否為與現有客戶續約相同基礎產品的現有協議。現有協議可以在內部或外部AWS Marketplace。AWS您可以稽核並確認您的優惠是否續約。如果 AWS無法驗證您的優惠，則 AWS可能會撤銷您客戶的優惠和權利。
    + **AcquisitionChannel** （字串） – 指出現有協議是在外部AWS Marketplace還是內部簽署AWS Marketplace。可能的值：`External`、`AwsMarketplace`。

       
    + **PricingModel** （字串） – 指出現有協議使用的定價模型。可能的值：`Contract`、`Usage`、`Byol`、`Free`。
  + **ProductId** （字串） – 所提供產品的唯一識別符。
  + **OfferSetId** （字串） – 要與此優惠建立關聯之優惠集的唯一識別符。
  + **術語** （結構陣列） – 術語清單。
  + **規則** （結構陣列） – 規則清單。