

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

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

# 使用 AWS MarketplaceAPIs 處理轉售授權
<a name="work-with-resale-authorizations"></a>

您可以使用 AWS Marketplace Catalog API自動化使用轉售授權的任務。

雖然*產品*說明 中銷售的內容AWS Marketplace，*但轉售授權* （也稱為機會） 說明有關該產品如何獲得授權進行轉售的條款和規則AWS Marketplace。*CPPO* 是轉售授權的目標。

轉售授權具有一系列條款和規則，用於製造商和管道合作夥伴之間的經銷商協議。接受轉售授權的條款可讓經銷商根據條款中表達的條件為產品建立優惠。

轉售授權中有兩種類型的規則：
+ **AvailabilityRule** – 控制 中轉售授權的生命週期AWS Marketplace。
+ **PartnerTargetingRule ** – 指定是否應讓一組特定的頻道合作夥伴存取轉售授權。

請參閱下列資源：
+ 如需具有工作程式碼範例的end-to-end實驗室，請參閱 *AWS Marketplace 賣方研討會*中的[實驗室：授權經銷商](https://catalog.workshops.aws/mpseller/en-US/manage-offers-with-api/authorize-a-reseller)。
+ 如需 API 請求的程式碼範例，請參閱 GitHub 上*AWS範例*中的 [Python](https://github.com/aws-samples/aws-marketplace-reference-code/tree/main/python/src/catalog_api/resale_authorization) 和 [Java](https://github.com/aws-samples/aws-marketplace-reference-code/tree/main/java/resources/changeSets/channel_partner_offers) 範例。
+ 如需建立轉售授權的影片，請參閱[使用 YouTube 上的AWS Marketplace目錄 API 建立轉售授權](https://www.youtube.com/watch?v=vLIbvFYI974)。 YouTube

下列主題說明如何使用目錄 API 來建立和更新轉售授權：

**Topics**
+ [轉售授權先決條件](#prerequisites)
+ [建立新的轉售授權](#create-resale-authorization)
+ [更新以買方為目標的買方](#update-buyer-targeting)
+ [更新可用性](#update-availability-resale-auth)
+ [更新未來日期協議的有效性](#update-validity-fda)
+ [更新法律資源](#update-existing-legal-terms)
+ [更新定價](#update-existing-pricing-terms)
+ [更新付款排程](#update-payment-schedule-details)
+ [更新轉售授權詳細資訊](#update-resale-auth-information)
+ [限制轉售授權](#restricte-resale-auth)
+ [發佈轉售授權並讓通路合作夥伴可見](#release-resale-auth)
+ [描述現有的轉售授權](#describe-entity-resale-auth)

## 轉售授權先決條件
<a name="prerequisites"></a>

若要使用轉售授權，獨立軟體廠商 (ISVs) 和AWS Marketplace頻道合作夥伴都必須建立服務連結角色，以提供資源共用許可給 AWS。如果兩個群組都無法執行此先決條件，則 AWS無法將授權資源從 ISV 共用給AWS Marketplace頻道合作夥伴。如需詳細資訊，請參閱《 *AWS Marketplace 賣方指南*》中的[使用 的 角色進行轉售授權AWS Marketplace](https://docs.aws.amazon.com/marketplace/latest/userguide/using-roles-for-resale-authorization.html)。

## 建立新的轉售授權
<a name="create-resale-authorization"></a>

您可以使用目錄 API 在 中建立新的轉售授權AWS Marketplace。

如果您的請求處理成功， 會為您AWS Marketplace Catalog API產生處於 `Draft` 狀態的轉售授權。這是不完整的轉售授權，通路合作夥伴看不到AWS Marketplace。

使用`Update`變更類型來完成轉售授權。轉售授權完成後，請使用`ReleaseResaleAuthorization`變更類型來完成轉售授權建立程序並釋出轉售授權，這會驗證整個轉售授權，並讓管道合作夥伴看到您的授權AWS Marketplace。

若要在 `Draft` 狀態建立轉售授權，請呼叫`CreateResaleAuthorization`變更類型的 `StartChangeSet` API 操作，如下列範例所示。

**請求語法**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "CreateResaleAuthorization",
      "ChangeName": "xyz",
      "Entity":
      {
        "Type": "ResaleAuthorization@1.0"
      },
      "DetailsDocument":
      {
        "ProductId": "prod-ad8EXAMPLE51",
        "Name": "Test ResaleAuthorization",
        "Description": "Worldwide ResaleAuthorization for Test Product",
        "ResellerAccountId": "777788889999"
      }
    }
  ]
}
```

提供輸入欄位的資訊以新增`CreateResaleAuthorization`變更類型：
+ **實體** （物件） （必要） – 您的轉售授權。
  + **類型** （字串） （必要） – 一律`Type`為 `ResaleAuthorization@1.0`。
+ **DetailsDocument** （物件） （必要） – 請求的特定項目。
  + **ProductId** （字串） （必要） – 要為其建立轉售授權的產品 ID。
  + **名稱** （字串） （必要） – 與 ResaleAuthorization 相關聯的名稱，讓您和頻道合作夥伴更清楚閱讀。
  + **描述** （字串） （選用） – 可用於新增 ResaleAuthorization 詳細資訊的任意格式文字欄位。
  + **ResellerAccountId** （字串） （必要） – 新增AWS 帳戶可描述並使用此項目`ResaleAuthorization`來建立私有優惠的目標頻道合作夥伴。

**回應語法**

為您的請求建立變更集。對此請求的回應為您提供變更集`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`)，`ResaleAuthorization`會產生新的 。雖然`SUCCEEDED`狀態指出`CreateResaleAuthorization`變更類型呼叫已完成，但`ResaleAuthorization`狀態仍處於 `Draft` 狀態。

以下顯示 [DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html) API 操作的回應。

```
{
  "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": "CreateResaleAuthorization",
      "Entity":
      {
        "Type": "ResaleAuthorization@1.0",
        "Identifier": "resaleauthz-123456789"
      },
      "DetailsDocument":
      {
        "ProductId": "prod-ad8EXAMPLE51",
        "Name": "Test ResaleAuthorization",
        "Description": "Worldwide ResaleAuthorization for Test Product",
        "ResellerAccountId": "777788889999",
        "BulkRequestId": "84977023-5093-4a66-8b24-ef2c5a2f8b1f"
      },
      "ErrorDetailList":
      []
    }
  ]
}
```

**同步驗證**

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


| 輸入欄位 | 驗證規則 | HTTP 代碼 | 
| --- | --- | --- | 
| ProductId | 必要<br />不得為 null 或空白<br />長度必須介於 1 到 50 個字元之間  | 422 | 
| ProductId | 使用者必須獲得授權才能為指定產品建立 ResaleAuthorization  | 403 | 
| ProductId | 必須是目錄中的現有產品，而不是處於 Draft 狀態 應支援產品轉售 | 404 | 
| 名稱 | 必要<br />不得為 null 或空白<br />長度必須介於 1 到 100 個字元之間 <br />不允許特殊字元 | 422 | 
| 說明 | 選用<br />長度必須介於 1 到 255 個字元之間 <br />不允許特殊字元 | 422 | 
| ResellerAccountId | 必要<br />不得為空白<br />AWS 帳戶IDs必須為有效格式 (12 位數字） | 422 | 
| BulkRequestId | 選用<br />長度必須介於 1 到 50 個字元之間 <br />必須為 UUID 格式 | 422 | 
| 未知屬性 | 不允許其他屬性 | 422 | 

**非同步錯誤**

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


| 錯誤碼  | 錯誤訊息 | 
| --- | --- | 
| INVALID\_RESELLER\_ACCOUNT | 提供有效的經銷商帳戶。 | 

## 更新以買方為目標的買方
<a name="update-buyer-targeting"></a>

您可以使用目錄 API 來更新以您的轉售授權為目標的買方AWS Marketplace。

任何未包含在最新請求中的現有目標選項都會從轉售授權中移除。此變更類型對於發行轉售授權是選用的。

若要更新以您的轉售授權為目標的買方，請使用`UpdateBuyerTargetingTerms`變更類型呼叫 `StartChangeSet` API 操作，如下列範例所示。

**請求語法**

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

{
   "Catalog": "AWSMarketplace",
   "ChangeSet": [        
      {
         "ChangeType":"UpdateBuyerTargetingTerms",
         "Entity":{
            "Type": "ResaleAuthorization@1.0", 
            "Identifier": "resaleauthz-123456789"
         },
         "DetailsDocument":
         {
           "Terms":
           [
             {
               "Type": "BuyerTargetingTerm",
               "PositiveTargeting":
               {
                 "BuyerAccounts":
                 [
                  "123456789012"
                 ]
               }
             }
           ]
         }
      }
   ]
}
```

提供要新增`UpdateBuyerTargetingTerms`變更類型的欄位資訊：
+ **實體** （物件） （必要） – 您的轉售授權。
  + **類型** （字串） （必要） – 一律`Type`為 `ResaleAuthorization@1.0`。
  + **識別符** （字串） （必要） – 您的轉售授權 ID。如需詳細資訊，請參閱[識別符](catalog-apis.md#identifier)。
+ **DetailsDocument** （物件） （必要） – 請求的特定內容。
  + **術語** （結構陣列） （選用） – 針對您要更新之術語的買方清單。如果意圖不是將 設為任何特定買方`ResaleAuthorization`的目標，則可以略過詞彙欄位。根據預設， `ResaleAuthorization` 以所有買方為目標。支援的術語為：
    + **BuyerTargetingTerms** （物件） （選用） – 定義以您的 ResaleAuthorization 為目標的買方特定目標。
      + **類型** （字串） （必要） – 要更新的詞彙類別。
      + **PositiveTargeting** （物件） （必要） – 定義任何買方設定檔應滿足的條件，以允許存取 `ResaleAuthorization`。
        + **BuyerAccounts** （字串陣列） （選用） – 列為選用。您可以新增目標買方的 AWS 帳戶。如果意圖不是以特定買方`ResaleAuthorization`為目標，則應該省略此欄位。根據預設，所有買方都是以目標為目標。如果指定，目標頻道合作夥伴可以選擇建立私有優惠，並將一部分買方設為目標。

**回應語法**

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

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

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

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

**同步驗證**

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


| 輸入欄位 | 驗證規則 | 
| --- | --- | 
| 條款 | 選用<br />不得為 null 或空白<br />清單中只允許使用「BuyerTargetingTerm」 <br />清單大小必須為 1 （目前沒有需要多個買方條款的使用案例） | 
| BuyerTargetingTerm.PositiveTargeting | 必要<br />不得為空白 | 
| BuyerTargetingTerm.PositiveTargeting.BuyerAccounts | 選用<br />AWS 帳戶IDs必須為有效格式 (12 位數字）<br />不得包含超過 25 個帳戶 | 
| 未知屬性 | 不允許其他屬性 | 

**非同步錯誤**

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


| 錯誤碼  | 錯誤訊息 | 
| --- | --- | 
| INCOMPATIBLE\_BUYER\_TARGETING | 使用 PreExistingBuyerAgreement 進行 ResaleAuthorization 時，必須至少有一個買方帳戶。 | 

## 更新可用性
<a name="update-availability-resale-auth"></a>

您可以使用目錄 API 來限制建立多少私有優惠的可用性，或直到可以建立私有優惠的特定時間為止。

根據預設，此值不限用量，雖然您可以在規則清單下檢查可用性。

若要控制轉售授權的可用性和可用性，請使用`UpdateAvailability`變更類型呼叫 `StartChangeSet` API 操作，如下列範例所示。

**請求語法**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "UpdateAvailability",
      "Entity":
      {
        "Type": "ResaleAuthorization@1.0",
        "Identifier": "resaleauthz-123456789"
      },
      "DetailsDocument":
      {
        "AvailabilityEndDate": "2022-05-31",
        "OffersMaxQuantity": 1
      }
    }
  ]
}
```

提供要新增`UpdateAvailability`變更類型的欄位資訊：
+ **實體** （物件） （必要） – 您的轉售授權。
  + **類型** （字串） （必要） – 一律`Type`為 `ResaleAuthorization@1.0`。
  + **識別符** （字串） （必要） – 您的轉售授權 ID。如需詳細資訊，請參閱[識別符](catalog-apis.md#identifier)。
+ **DetailsDocument** （物件） （必要） – 請求的特定項目。
  + **AvailabilityEndDate** （字串） （選用） – 定義結束日期，直到頻道合作夥伴可以利用 `ResaleAuthorization`來建立優惠。頻道合作夥伴可以`ResaleAuthorization`多次使用此項目，直到指定的結束日期為止。日期以 ISO\_8601 格式表示。
  + **OffersMaxQuantity** （整數） （選用） – 定義可使用 ResaleAuthorization 建立的私有優惠數量上限。這不會定義訂閱數量。

**回應語法**

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

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

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

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

**同步驗證**

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


| 輸入欄位 | 驗證規則 | 
| --- | --- | 
| OffersMaxQuantity | 選用<br />必須是非負整數<br />僅允許 "1" 的值 （目前沒有支援多個數量的使用案例） | 
| AvailabilityEndDate | 選用<br />必須是 ISO\_8601 格式 <br />必須為未來的日期 | 
| 可用性 | 提供 OffersMaxQuantity 或 AvailabilityEndDate。 | 
| 未知屬性 | 不允許其他屬性 | 

**非同步錯誤**

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


| 錯誤碼  | 錯誤訊息 | 
| --- | --- | 
| INVALID\_AVAILABILITY\_END\_DATE | 提供在 ResalePaymentScheduleTerms 中所有 ChargeDate 之前的 AvailabilityEndDate。  | 
|  INVALID\_AVAILABILITY\_END\_DATE | 提供未來的 AvailabilityEndDate。 | 

## 更新未來日期協議的有效性
<a name="update-validity-fda"></a>

您可以使用目錄 API 來修改和控制未來日期的服務開始日期AWS Marketplace。

此變更集並非發行轉售授權的必要項目。

若要修改和控制轉售授權的產品協議持續時間，請使用`UpdateBuyerValidityTerms`變更類型呼叫 `StartChangeSet` API 操作，如下列範例所示。

**注意**  
未來日期的協議僅支援 SaaS 產品類型。

**請求語法**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "UpdateBuyerValidityTerms",
      "Entity":
      {
        "Type": "ResaleAuthorization@1.0",
        "Identifier": "resaleauthz-123456789"
      },
      "DetailsDocument":
      {
        "Terms":
        [
          {
            "Type": "BuyerValidityTerm",
            "MaximumAgreementStartDate": "2024-05-31"
          }
        ]
      }
    }
  ]
}
```

提供輸入欄位的資訊以新增`UpdateBuyerValidityTerms`變更類型：
+ **實體** （物件） （必要） – 您的轉售授權。
  + **類型** （字串） （必要） – 一律`Type`為 `ResaleAuthorization@1.0`。
  + **識別符** （字串） （必要） – 您的轉售授權 ID。如需詳細資訊，請參閱[識別符](catalog-apis.md#identifier)。
+ **DetailsDocument** （物件） （必要） – 請求的特定內容。
  + **條款** （結構陣列） – 您要更新的協議有效條款清單。支援的術語為：
    + **BuyerValidityTerm** （物件） – 定義您 ResaleAuthorization 中產品的服務可用性。
      + **類型** （字串） – 正在更新的詞彙類別。
      + **MaximumAgreementStartDate** （字串） （必要） – 定義所提供產品的協議開始日期。未來日期的優惠不能超過此服務的開始日期。日期以 ISO\_8601 格式表示。

**回應語法**

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

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

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

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

**同步驗證**

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


| 輸入欄位 | 驗證規則 | 
| --- | --- | 
|  條款  | 必要<br />不得為 null 或空白<br />清單中只允許「BuyerValidityTerm」<br />清單大小必須為 1 （目前沒有需要多個服務可用性條件的使用案例） | 
| MaximumAgreementStartDate | 必要<br />不得為 null 或空白<br />必須為未來日期，且自現在起不應超過 3 年 <br />必須是 ISO\_8601 格式 | 
| 未知屬性 | 不允許其他屬性 | 

**非同步錯誤**

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


| 錯誤碼  | 錯誤訊息 | 
| --- | --- | 
| INCOMPATIBLE\_PRODUCT | 產品不支援 BuyerValidityTerm。 | 
| INVALID\_MAXIMUM\_AGREEMENT\_START\_DATE | 以允許的限制提供未來的 MaximumAgreementStartDate。 | 

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

您可以使用目錄 API 完全取代 中現有的法律術語AWS Marketplace。

未包含在最新請求中的法律條款將從轉售授權中移除。 `BuyerLegalTerm`包含 EULA，該 EULA 將包含在最終買方協議中，並`LegalTerm`包含經銷商合約，該合約將包含在通路合作夥伴與 ISV 之間的經銷商協議中。

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

**請求語法**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "UpdateLegalTerms",
      "Entity":
      {
        "Type": "ResaleAuthorization@1.0",
        "Identifier": "resaleauthz-123456789"
      },
      "DetailsDocument":
      {
        "Terms":
        [
          {
            "Type": "BuyerLegalTerm",
            "Documents":
            [
              {
                "Type": "CustomEula",
                "Url": "https://my-public-bucket.s3.amazonaws.com/eula-example12345.txt"
              }
            ]
          },
          {
            "Type": "ResaleLegalTerm",
            "Documents":
            [
              {
                "Type": "CustomResellerContract",
                "Url": "https://my-public-bucket.s3.amazonaws.com/reseller-example12345.txt"
              }
            ]
          }
        ]
      }
    }
  ]
}
```

提供要新增`UpdateLegalTerms`變更類型的欄位資訊：
+ **實體** （物件） （必要） – 您的轉售授權。
  + **類型** （字串） （必要） – 一律`Type`為 `ResaleAuthorization@1.0`。
  + **識別符** （字串） （必要） – 您的轉售授權 ID。如需詳細資訊，請參閱[識別符](catalog-apis.md#identifier)。
+ **DetailsDocument** （物件） （必要） – 請求的特定項目。
  + **術語** （結構陣列） （必要） – 法律術語清單。支援的法律術語為：
    + **BuyerLegalTerm** （物件） （必要） – 定義要提議給接受者的文字協議清單。例如，最終使用者授權合約 (EULA)。
    + **類型** （字串） （必要） – 要更新的詞彙類別。
    + **文件** （結構陣列） （必要） – 要提議給買方之法律資源的參考清單。例如，EULA。每個參考都由 `Type`和 組成`URL`：
      + **類型** （字串） （必要） – 文件類型。可用的文件類型為：
        + **StandardEula** – 適用於 的標準合約AWS Marketplace。如需詳細資訊，請參閱《 *AWS Marketplace 賣方指南*》中的 [SCMP](https://docs.aws.amazon.com/marketplace/latest/userguide/standardized-license-terms.html#standard-contracts)。您不需要為此類型提供 URL，因為它是由 管理AWS Marketplace。
        + **EnterpriseEula** – 企業合約AWS Marketplace。如需詳細資訊，請參閱《 AWS Marketplace賣方指南》中的 DSA。您不需要為此類型提供 URL，因為它是由 管理AWS Marketplace。
        + **CustomEula** – 您以製造商身分提供的自訂 EULA。此文件類型需要存放在可存取 S3 儲存貯體中的 EULA URL。
      + **Url** （字串） （有條件必要） – 供買方讀取之法律文件的 URL。當類別類型為 時，這是必要的`CustomEula`。
    + **ResaleLegalTerm** （物件） （選用） – 定義僅向管道合作夥伴提議的文字協議清單。此術語不適用於買方。
      + **類型** （字串） （必要） – 正在更新的詞彙類別。
      + **文件** （結構陣列） （必要） – 要提議給管道合作夥伴之經銷商法律資源的參考清單。
        + **類型** （字串） （必要） – 文件的類別。可用的文件類型為：
          + **StandardResellerContract** – 適用於 的標準經銷商合約AWS Marketplace。
          + **CustomResellerContract** – 您身為製造商的自訂經銷商合約。經銷商合約的 URL 會存放在可存取的 S3 儲存貯體中，此文件類型需要此 URL。
        + **Url** （字串） （有條件需要） – 供管道合作夥伴讀取的經銷商合約文件 URL。當類型為 CustomResellerContract 時，這是必要的。

**回應語法**

為您的請求建立變更集。對此請求的回應為您提供變更集`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 />不得為 null 或空白 | 422 | 
| Terms【】。BuyerLegalTerm | 必要<br />不得為 null 或空白 | 422 | 
| Terms【】。ResaleLegalTerm | 選用<br />如果存在，則不得為 null 或空白 | 422 | 
| Terms【】。BuyerLegalTerm.Documents | 必要<br />不得為 null 或空白 | 422 | 
| Terms【】。BuyerLegalTerm.Documents[].類型 | 必要<br />不得為 null 或空白 <br />允許的值：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/marketplace/latest/developerguide/work-with-resale-authorizations.html) | 422 | 
| Terms【】。BuyerLegalTerm.Documents[].Url | 當 "Type" 為 "CustomEula" 時，必要且必須是有效的 URL 當 "Type" 是 【"StandardEula"、"EnterpriseEula"】 之一時，不得提供 | 422 | 
| Terms【】。ResaleLegalTerm.Documents | 必要<br />不得為 null 或空白 | 422 | 
| Terms【】。ResaleLegalTerm.Documents[].類型 | 必要<br />不得為 null 或空白允許值：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/marketplace/latest/developerguide/work-with-resale-authorizations.html) | 422 | 
| Terms【】。ResaleLegalTerm.Documents[].Url | 當 "Type" 為 "CustomResellerContract" 時，必要且必須是有效的 URL<br />當「類型」是 【「StandardContract」】 之一時，不得提供 | 422 | 
| 未知屬性 | 不允許其他屬性 | 422 | 

**非同步錯誤**

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


| 錯誤碼  | 錯誤訊息 | 
| --- | --- | 
| INVALID\_BUYER\_LEGAL\_DOCUMENTS | 為存放在可存取 S3 儲存貯體中的買方法律文件提供 URLs。 | 
| INVALID\_RESALE\_LEGAL\_DOCUMENTS | 提供存放在可存取 S3 儲存貯體中的轉售法律文件 URLs。 | 
| MISSING\_MANDATORY\_TERMS | 提供 BuyerLegalTerm。 | 

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

您可以使用目錄 API 完全取代 中現有的定價條款AWS Marketplace。

未包含在最新請求中的定價條款將從轉售授權中移除。您可以透過此 API 更新產品的折扣定價。

若要更新轉售授權的定價詳細資訊，請使用`UpdatePricingTerms`變更類型呼叫 `StartChangeSet` API 操作，如下列範例所示。

**請求語法**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "UpdatePricingTerms",
      "Entity":
      {
        "Type": "ResaleAuthorization@1.0",
        "Identifier": "resaleauthz-123456789"
      },
      "DetailsDocument":
      {
        "PricingModel": "Contract",
        "Terms":
        [
          {
            "Type": "ResaleUsageBasedPricingTerm",
            "CurrencyCode": "USD",
            "RateCards":
            [
              {
                "RateCard":
                [
                  {
                    "DimensionKey": "m3.large",
                    "Price": "0.10"
                  },
                  {
                    "DimensionKey": "m4.xlarge",
                    "Price": "0.20"
                  }
                ]
              }
            ]
          },
          {
            "Type": "ResaleConfigurableUpfrontPricingTerm",
            "CurrencyCode": "USD",
            "RateCards":
            [
              {
                "Selector":
                {
                  "Type": "Duration",
                  "Value": "P12M"
                },
                "RateCard":
                [
                  {
                    "DimensionKey": "m3.large",
                    "Price": "300"
                  },
                  {
                    "DimensionKey": "m4.xlarge",
                    "Price": "400"
                  }
                ],
                "Constraints":
                {
                  "MultipleDimensionSelection": "Allowed",
                  "QuantityConfiguration": "Allowed"
                }
              }
            ]
          },
          {
            "Type": "ResaleFixedUpfrontPricingTerm",
            "CurrencyCode": "USD",
            "Duration": "P2M",
            "Price": "200.0",
            "Grants":
            [
              {
                "DimensionKey": "Users",
                "MaxQuantity": 10
              }
            ]
          }
        ]
      }
    }
  ]
}
```

提供要新增`UpdatePricingTerms`變更類型的欄位資訊：
+ **實體** （物件） （必要） – 您的轉售授權。
  + **類型** （字串） （必要） – 一律`Type`為 `ResaleAuthorization@1.0`。
  + **識別符** （字串） （必要） – 您的轉售授權 ID。如需詳細資訊，請參閱[識別符](catalog-apis.md#identifier)。
+ **DetailsDocument** （物件） （必要） – 請求的特定項目。
  + **PricingModel** （字串） （必要） – 您優惠的定價模式。定價模型的可能值為：
    + **用量** – 以用量為基礎的定價模式，其中會向買方收取其產品用量的費用。
    + **合約** – 在以合約為基礎的定價模型中，買方會預先收到使用您產品的帳單，或提供彈性的付款排程。買方也可以支付超出合約的額外用量。管道合作夥伴可以將他們的標記新增至此付款排程和每個維度的定價。
  + **術語** （結構陣列） （必要） – 您要更新的定價術語清單。支援的定價條款如下：
    + **ResaleUsageBasedPricingTerm** （物件） – 定義pay-as-you-go(PAYG) 定價模式，其中會根據產品用量向客戶收費。
      + **類型** （字串） （必要） – 詞彙類別。
      + **CurrencyCode** （字串） – 定義此術語中所提及價格的貨幣。目前僅支援 USD。
      + **RateCards** （結構陣列） – 費率卡的清單。
        + **RateCard** （結構陣列） – 費率卡會定義產品維度的每單位費率。
          + **DimensionKey** （字串） – 適用指定權利的維度。維度代表產品中的容量類別，並在產品列出時指定AWS Marketplace。
          + **價格** （字串） – 用於計算要收費金額之產品維度的每單位價格。
        + **限制條件 **（物件） （選用） – 定義接受者如何設定詞彙的限制。
          + **MultipleDimensionSelection** （字串） （選用） – 判斷是否允許買方選取費率卡中的多個維度。可能值為 `Allowed` 和 `Disallowed`。預設值為 `Allowed`。
          + **QuantityConfiguration** （字串） （選用） – 判斷是否允許接受者設定費率卡中每個維度的數量。可能值為 `Allowed` 和 `Disallowed`。預設值為 `Allowed`。
    + **ResaleFixedUpfrontPricingTerm** （物件） – 定義向客戶收取固定預付金額的預付定價模型。
      + **類型** （字串） （必要） – 要更新的詞彙類別。
      + **CurrencyCode** （字串） – 定義此術語中所提及價格的貨幣。定義此術語所提及價格的貨幣。支援 USD、UD、EUR、GBP 和 ¥C。
      + **價格** （字串） （必要） – 接受此期限時向客戶收取的固定金額。
      + **持續時間** （字串） （必要） – ResaleAuthorization 的合約持續時間。此欄位支援 ISO 8601 格式。
      + **授予** （結構陣列） （必要） – 作為協議執行的一部分，將授予固定預付定價接受者的權利。
        + **DimensionKey** （字串） （必要） – 產品文件中定義的唯一維度索引鍵。維度代表產品中的容量類別，並在產品列出時指定AWS Marketplace。
        + **MaxQuantity** （整數） （必要） – 買方有權取得產品指定維度的最大容量。如果未提供 MaxQuantity，買方將能夠使用指定維度的無限數量。

**回應語法**

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

**同步驗證**

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


| 輸入欄位 | 驗證規則 | 
| --- | --- | 
| 條款 | 必要<br />不得為 null 或空白<br />每個術語只能顯示一次允許術語：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/marketplace/latest/developerguide/work-with-resale-authorizations.html) | 
| Terms【】。ResaleUsageBasedPricingTerm.CurrencyCode | 必要 <br />允許的值：USD | 
| Terms【】。ResaleUsageBasedPricingTerm.Validity | 必要<br />不得為 null 或空白<br />預期格式：ISO 8601 持續時間 | 
| Terms【】。ResaleUsageBasedPricingTerm.RateCards | 必要<br />不得為 null 或空白 | 
| Terms【】。ResaleUsageBasedPricingTerm.RateCards[].DimensionKey | 必要<br />不得為 null 或空白 <br />長度必須介於 1 到 60 之間 | 
| Terms【】。ResaleUsageBasedPricingTerm.RateCards[].價格 | 必要<br />不得為 null 或空白 <br />資料類型為「字串」 <br />必須為非負數 <br />支援最多 8 個小數位數<br />不支援特殊字元 | 
| Terms【】。ResaleConfigurableUpfrontPricingTerm.CurrencyCode | 必要 <br />允許的值：【"USD"、"AUD"、"EUR"、"GBP"、"JPN"】 | 
| Terms【】。ResaleConfigurableUpfrontPricingTerm.RateCards[].Selector.Type | 必要<br />不得為 null 或空白 <br />允許的值：持續時間 | 
| Terms【】。ResaleConfigurableUpfrontPricingTerm.RateCards[].Selector.Value | 必要<br />不得為 null 或空白<br />預期格式：ISO 8601 持續時間 | 
| Terms【】。ResaleConfigurableUpfrontPricingTerm.RateCards[].RateCard.DimensionKey | 必要<br />不得為 null 或空白 <br />長度必須介於 1 到 60 之間 | 
| Terms【】。ResaleConfigurableUpfrontPricingTerm.RateCards[].RateCard.Price | 必要<br />不得為 null 或空白 <br />資料類型為「字串」 <br />必須為非負數 <br />支援最多 6 個小數位數<br />不支援特殊字元 | 
| Terms【】。ResaleConfigurableUpfrontPricingTerm.RateCards[].限制條件 | 選用 | 
| Terms【】。ResaleFixedUpfrontPricingTerm.CurrencyCode | 必要 允許的值：【"USD"、"AUD"、"EUR"、"GBP"、"JPN"】 | 
| Terms【】。ResaleFixedUpfrontPricingTerm.Price | 必要<br />不得為 null 或空白 <br />資料類型為「字串」 <br />必須為非負數 <br />支援最多 6 個小數位數<br />不支援特殊字元 <br />允許的值：0.0 | 
| Terms【】。ResaleFixedUpfrontPricingTerm.Duration | 必要<br />不得為 null 或空白<br />預期格式：ISO 8601 持續時間 | 
| Terms【】。ResaleFixedUpfrontPricingTerm.Grants[].DimensionKey | 必要<br />不得為 null 或空白 <br />長度必須介於 1 到 60 之間 | 
| Terms【】。ResaleFixedUpfrontPricingTerm.Grants[].MaxQuantty | 必要<br />不得為 null 或空白 | 
| 未知屬性 | 不允許其他屬性 | 

**非同步錯誤**

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


| 錯誤碼 | 錯誤訊息 | 
| --- | --- | 
| INVALID\_CURRENCY\_CODE | 在所有定價和付款條件中提供相同的 CurrencyCode。 | 
| INCOMPATIBLE\_PRODUCT | 在 【x】 的產品中使用現有的可用維度。 | 
| DUPLICATE\_DIMENSION\_KEYS | 在 【x】 中提供具有唯一維度索引鍵清單的費率卡 | 
| INVALID\_RATE\_CARD | 在 【x】 中提供具有相同單位的維度 | 
| INVALID\_RATE\_CARD | 在 ResaleUsageBasedPricingTerm 中提供僅計量維度的費率卡。 | 
| INVALID\_RATE\_CARD | 在 ResaleUsageBasedPricingTerm 中提供所有可用計量維度的用量型費率。 | 
| TOO\_MANY\_RATES | 在 ResaleUsageBasedPricingTerm 中允許的限制內提供 RateCards。 | 
| DUPLICATE\_SELECTORS | 在 ResaleConfigurableUpfrontPricingTerm 中提供唯一的選取器清單。 | 
| INVALID\_RATE\_CARD | ConfigurableUpfrontPricingTerm 在持續時間 【x】 內缺少一或多個維度索引鍵。提供所有持續時間內同一組維度索引鍵的價格。 | 
| INVALID\_RATE\_CARD | 以 【x】 提供所有計量維度或所有授權維度。 | 
| INCOMPATIBLE\_RATE\_CARD\_CONSTRAINTS | 在 PricingModel 的 ResaleConfigurableUpfrontPricingTerm 中將 MultipleDimensionSelection 和 QuantityConfiguration 設定為不允許。 | 
| TOO\_MANY\_RATE\_CARDS | 產品只允許使用 ConfigurableUpfrontPricingTerm 中的一張費率卡。 | 
| INCOMPATIBLE\_TERMS | 下列術語與 PricingModel 不相容：【x，y，z】。 | 
| TOO\_MANY\_RATES | 在 【x term】 的允許限制內提供 RateCards  | 
| TOO\_MANY\_GRANTS | 在 【x term】 中提供最多 【N】 個授權。 | 
| INVALID\_SELECTOR\_DURATION\_VALUE | 在 ResaleConfigurableUpfront 中提供介於 【x】 和 【y】 個月的持續時間 | 
| TOO\_MANY\_GRANTS | 提供介於 【x】 和 【y】 個月的持續時間。 | 
| INVALID\_SELECTOR\_DURATION\_VALUE | 確保 ResaleConfigurableUpfront 中計量維度的持續時間精細程度處於天層級 | 
| INVALID\_DURATION | 確保 FixedUpfront 中計量維度的持續時間精細程度處於天層級。 | 
| INVALID\_RATE\_CARD | 僅提供 【x】 中具備權限的維度。 | 
| MISSING\_DURATION | 以 【x】 提供持續時間。 | 
| DUPLICATE\_DIMENSION\_KEYS | 在 【x】 中提供授予唯一的維度索引鍵清單。 | 
| INCOMPATIBLE\_PAYMENT\_SETTINGS | 更新您的付款設定，使其與 CurrencyCode 相容。 | 
| INCOMPATIBLE\_SELLER\_VERIFICATION | 完成所有必要的賣方驗證程序。 | 
| INVALID\_CURRENCY\_CODE | 提供支援的 CurrencyCode。 | 
| INVALID\_CURRENCY\_CODE | 在所有定價和付款條件中提供相同的 CurrencyCode。 | 
| INCOMPATIBLE\_CURRENCY\_CODE | 優惠發行後，無法變更 CurrencyCode。 | 

## 更新付款排程
<a name="update-payment-schedule-details"></a>

您可以使用目錄 API 變更付款相關詳細資訊，例如彈性付款排程AWS Marketplace。

若要更新轉售授權的付款相關詳細資訊，請使用`UpdatePaymentScheduleTerms`變更類型呼叫 `StartChangeSet` API 操作，如下列範例所示。

**請求語法**

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

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

提供要新增`UpdatePaymentScheduleTerms`變更類型的欄位資訊：
+ **實體** （物件） （必要） – 您的轉售授權。
  + **類型** （字串） （必要） – 一律`Type`為 `ResaleAuthorization@1.0`。
  + **識別符** （字串） （必要） – 您的轉售授權 ID。如需詳細資訊，請參閱[識別符](catalog-apis.md#identifier)。
+ **DetailsDocument** （物件） （必要） – 請求的特定項目。
  + **條件** （結構陣列） – 您要更新的付款條件清單。支援的付款條件為：
    + **ResalePaymentScheduleTerm** （物件） – 定義以分期付款為基礎的定價模式，其中客戶會在協議有效期間的不同日期支付固定價格的費用。
      + **類型** （字串） – 要更新的詞彙類別。
      + **CurrencyCode** （字串） （必要） – 定義排程中所提及付款的貨幣。支援 USD、UD、EUR、GBP 和 ¥C。
      + **排程** （結構陣列） – 付款排程清單，其中每個元素定義一個付款分期。它包含計算要支付的價格所需的資訊，以及向客戶收費的日期。
        + **ChargeDate** （字串） （必要） – 客戶支付此付款排程期間所定義價格的日期。此欄位支援 ISO 8601 格式。
        + **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 | 
| --- | --- | --- | 
| Terms.Type | 必要<br />【x】 產品不支援 <br />允許的條款：ResalePaymentScheduleTerm | 422 | 
| Terms【】。CurrencyCode | 必要<br />允許的值：USD | 422 | 
| Terms【】。ResalePaymentScheduleTerm.Schedule | 必要<br />長度必須介於 1 到 60 之間 | 422 | 
| Terms【】。ResalePaymentScheduleTerm.Shedule.ChargeDate | 必要<br />必須為 ISO 8601 格式<br />日期必須在未來 | 422 | 
| Terms【】。ResalePaymentScheduleTerm.Shedule.ChargeAmount | 必要<br />必須為非負數 | 422 | 
| 未知屬性 | 不允許其他屬性 | 422 | 

**非同步錯誤**

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


| 錯誤碼 | 錯誤訊息 | 
| --- | --- | 
| INCOMPATIBLE\_TERMS | OffersMaxQuantity 和 AvailabilityEndDate 必須與 ResalePaymentScheduleTerm 一起存在。  | 
| TOO\_MANY\_SCHEDULED\_PAYMENTS | 在 ResalePaymentScheduleTerm 中提供最多 60 個排程付款。 | 
| DUPLICATE\_charge\_DATES | 在 ResalePaymentScheduleTerm 中提供唯一的收費日期。 | 
| INVALID\_charge\_DATES | 提供未來的 ChargeDate。  | 
| INVALID\_charge\_DATES | 提供 【x】 之前的最後一個收費日期。 | 
| MISSING\_MANDATORY\_TERMS | 同時提供 ResaleFixedUpfrontPricingTerm 和 ResalePaymentScheduleTerm。 | 
| INVALID\_CURRENCY\_CODE | 在所有定價和付款條件中提供相同的 CurrencyCode。 | 
| INCOMPATIBLE\_PAYMENT\_SETTINGS | 更新您的付款設定，使其與 CurrencyCode 相容。 | 
| INCOMPATIBLE\_SELLER\_VERIFICATION | 完成所有必要的賣方驗證程序。 | 
| INVALID\_CURRENCY\_CODE | 提供支援的 CurrencyCode。 | 
| INVALID\_CURRENCY\_CODE | 在所有定價和付款條件中提供相同的 CurrencyCode。 | 
| INCOMPATIBLE\_CURRENCY\_CODE | 優惠發行後，無法變更 CurrencyCode。 | 

## 更新轉售授權詳細資訊
<a name="update-resale-auth-information"></a>

您可以使用目錄 API 來更新 中的轉售授權詳細資訊AWS Marketplace。

若要更新轉售授權詳細資訊，請使用`UpdateInformation`變更類型呼叫 `StartChangeSet` API 操作，如下列範例所示。

**注意**  
`UpdateInformation` 變更類型只會更新請求中提供的區段；所有其他資訊保持不變。

**請求語法**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "UpdateInformation",
      "Entity":
      {
        "Type": "ResaleAuthorization@1.0",
        "Identifier": "resaleauthz-123456789"
      },
      "DetailsDocument":
      {
        "Name": "TestResaleAuthorization",
        "Description": "Worldwide ResaleAuthorization for Test Product",
        "PreExistingBuyerAgreement":
        {
          "AcquisitionChannel": "AwsMarketplace",
          "PricingModel": "Contract"
        }
      }
    }
  ]
}
```

提供要新增`UpdateInformation`變更類型的欄位資訊：
+ **實體** （物件） （必要） – 您的轉售授權。
  + **類型** （字串） （必要） – 一律`Type`為 `ResaleAuthorization@1.0`。
  + **識別符** （字串） （必要） – 您的轉售授權 ID。如需詳細資訊，請參閱[識別符](catalog-apis.md#identifier)。
+ **DetailsDocument** （物件） （必要） – 請求的詳細資訊，包括您要更新轉售授權資訊的資訊。
  + **名稱** （字串） （選用） – 與 ResaleAuthorization 相關聯的名稱，可讓您和頻道合作夥伴更清楚閱讀。
  + **描述** （字串） （選用） – 描述為自由格式文字，您可以在其中新增 ResaleAuthorization 的詳細資訊。
  + **PreExistingBuyerAgreement** （物件） （選用） – 判斷此優惠是否為與現有客戶續約相同基礎產品的現有協議。現有協議可以在 AWS Marketplace.AWSmay 稽核內外，並確認您的優惠是續約。如果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 代碼 | 
| --- | --- | --- | 
| 名稱 | 選用<br />不得為 null 或空白<br />長度必須介於 1 到 100 個字元之間 <br />模式 ^【A-Za-z0-9】\*$<br />不允許特殊字元或空格 | 422 | 
| 說明 | 選用<br />長度必須介於 1 到 255 個字元之間 <br />模式 ^【A-Za-z0-9\\\\s】\*$<br />不允許特殊字元 | 422 | 
| 未知屬性 | 不允許其他屬性 | 422 | 

**非同步錯誤**

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


| 錯誤碼 | 錯誤訊息 | 
| --- | --- | 
| INCOMPATIBLE\_BUYER\_TARGETING | 使用 PreExistingBuyerAgreement 進行 ResaleAuthorization 時，必須至少有一個買方帳戶。 | 

## 限制轉售授權
<a name="restricte-resale-auth"></a>

您可以使用目錄 API，將限制規則設定為 中的轉售授權AWS Marketplace。

頻道合作夥伴無法再使用受限制的轉售授權來建立私有優惠。現有的私有優惠不會受到影響。

若要限制您的轉售授權，請使用`RestrictResaleAuthorization`變更類型呼叫 `StartChangeSet` API 操作，如下列範例所示。

**重要**  
這是不可復原的操作。轉售授權標示為 後`Restricted`，就無法再次處於 `Active` 狀態。

**請求語法**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet": [
    {
      "ChangeType": "RestrictResaleAuthorization",
      "Entity": {
        "Type": "ResaleAuthorization@1.0",
        "Identifier": "resaleauthz-123456789"
      },
      "DetailsDocument": {}
    }
  ]
}
```

提供要新增`RestrictResaleAuthorization`變更類型的欄位資訊：
+ **實體** （物件） （必要） – 您的轉售授權。
  + **類型** （字串） （必要） – 一律`Type`為 `ResaleAuthorization@1.0`。
  + **識別符** （字串） （必要） – 您的轉售授權 ID。如需詳細資訊，請參閱[識別符](catalog-apis.md#identifier)。
+ **DetailsDocument** （物件） （必要） – 請求的特定項目。它必須是 的空白物件`RestrictResaleAuthorization`。

**回應語法**

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

**同步驗證**

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


| 輸入欄位 | 驗證規則 | HTTP 代碼 | 
| --- | --- | --- | 
| DetailsDocument | 必須為空白 | 422 | 
| RestrictResaleAuthorization | 過期的 ResaleAuthorization 無法標記為 `Restricted` | 422 | 
| 未知屬性 | 不允許其他屬性 | 422 | 

**非同步錯誤**

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


| 錯誤碼 | 錯誤訊息 | 
| --- | --- | 
| INCOMPATIBLE\_STATUS | 過期的 ResaleAuthorization 無法標示為受限。  | 

## 發佈轉售授權並讓通路合作夥伴可見
<a name="release-resale-auth"></a>

您可以使用目錄 API 將 啟動`ResaleAuthorization`為 `Active` 狀態。

 `ReleaseResaleAuthorization` 會啟用您的轉售授權，讓通路合作夥伴可以使用您的轉售授權來建立私有優惠。

若要釋出您的轉售授權，請使用`ReleaseResaleAuthorization`變更類型呼叫 `StartChangeSet` API 操作，如下列範例所示。

**請求語法**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "ReleaseResaleAuthorization",
      "Entity":
      {
        "Type": "ResaleAuthorization@1.0",
        "Identifier": "resaleauthz-123456789"
      },
      "DetailsDocument": {}
    }
  ]
}
```

提供要新增`ReleaseResaleAuthorization`變更類型的欄位資訊：
+ **實體** （物件） （必要） – 您的轉售授權。
  + **類型** （字串） （必要） – 一律`Type`為 `ResaleAuthorization@1.0`。
  + **識別符** （字串） （必要） – 您的轉售授權 ID。如需詳細資訊，請參閱[識別符](catalog-apis.md#identifier)。
+ **DetailsDocument** （物件） （必要） – 請求的特定項目。其對於 必須是空的`ReleaseResaleAuthorization`。

**回應語法**

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

**同步驗證**

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


| 輸入欄位 | 驗證規則 | HTTP 代碼 | 
| --- | --- | --- | 
| 未知屬性 | 不允許其他屬性 | 422 | 

**非同步錯誤**

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


| 錯誤碼 | 錯誤訊息 | 
| --- | --- | 
| MISSING\_MANDATORY\_TERMS | 提供 BuyerLegalTerm。 | 
| MISSING\_MANDATORY\_TERMS | 提供 PricingTerm。 | 
| INCOMPATIBLE\_PRODUCT | 在有限或公有狀態下使用作用中產品。 | 
| INCOMPATIBLE\_PRICING\_TERM | PaymentScheduleTerm 和 FixedUpfrontPricingTerm 必須同時存在。 | 
| INCOMPATIBLE\_BUYER\_TARGETING | 使用 PreExistingBuyerAgreement 進行 ResaleAuthorization 時，必須至少有一個買方帳戶。 | 
| MISSING\_MANDATORY\_TERMS | 至少提供其中一個 【x，y，z】。 | 
| INCOMPATIBLE\_STATUS | 發佈轉售授權後，無法執行 【x】 請求。 | 

## 描述現有的轉售授權
<a name="describe-entity-resale-auth"></a>

若要描述轉售授權詳細資訊，請使用 `ResaleAuthorization@1.0`實體類型呼叫 `DescribeEntity` API 操作，如下列範例所示。

**請求語法**

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

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

**回應語法**

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

```
{
  "EntityType": "ResaleAuthorization@1.0",
  "EntityIdentifier": "resaleauthz-123456789",
  "EntityArn": "arn:aws:aws-marketplace:us-east-1:111122223333:AWSMarketplace/ResaleAuthorization/resaleauthz-123456789",
  "LastModifiedDate": "2021-03-10T21:57:16Z",
  "DetailsDocument": {
    "Name": "TestResaleAuthorization",
    "Description": "ResaleAuthorization for Test Product",
    "ProductId": "prod-ad8EXAMPLE51",
    "ProductName": "TestProduct",
    "Status": "Active", /*Draft, Active, Restricted*/
    "PreExistingBuyerAgreement": {
      "AcquisitionChannel": "Unknown",
      "PricingModel": "Unknown"
    },
    "CreatedDate": "2023-07-18T16:39:31.335Z",
    "ManufacturerLegalName": "ChannelCAPI.Inc",
    "ManufacturerAccountId": "123456789012",
    "Dimensions": [
      {
        "Name": "Protected Resources",
        "Description": "Additional 100 protected resources",
        "Key": "hundredresources",
        "Unit": "Units",
        "Types": [
          "Entitled"
        ]
      }
    ],
    "OfferDetails": {
      "OfferExtendedStatus": "Not Started", /* Not Started, Completed-Used, Completed-Usable*/
      "OfferCreatedCount": 0
    },
    "Terms": [
      {
        "Type": "ResaleUsageBasedPricingTerm",
        "Id": "term_id_placeholder",
        "CurrencyCode": "USD",
        "RateCards": [
          {
            "RateCard": [
              {
                "DimensionKey": "resource_number",
                "Price": "0.05"
              },
              {
                "DimensionKey": "scanned_data",
                "Price": "0.05"
              }
            ]
          }
        ]
      },
      {
        "Type": "ResaleConfigurableUpfrontPricingTerm",
        "Id": "term_id_placeholder",
        "CurrencyCode": "USD",
        "RateCards": [
          {
            "Selector": {
              "Type": "Duration",
              "Value": "P24M"
            },
            "RateCard": [
              {
                "DimensionKey": "hundredresources",
                "Price": "0.04"
              },
              {
                "DimensionKey": "tenTBData",
                "Price": "0.03"
              },
              {
                "DimensionKey": "channel_custom",
                "Price": "0.02"
              }
            ],
            "Constraints": {
              "MultipleDimensionSelection": "Allowed",
              "QuantityConfiguration": "Allowed"
            }
          }
        ]
      },
      {
        "Type": "ResaleFixedUpfrontPricingTerm",
        "Id": "term-sdh27fb2",
        "CurrencyCode": "USD",
        "Duration": "P180D",
        "Price": "0.0",
        "Grants": [
          {
            "DimensionKey": "sdf73rbns93nl120d10xm1",
            "MaxQuantity": 1
          }
        ]
      },
      {
        "Type": "ResalePaymentScheduleTerm",
        "Id": "term-sdh27fb2",
        "CurrencyCode": "USD",
        "Schedule": [
          {
            "ChargeDate": "2018-07-01T00:00:00.000Z",
            "ChargeAmount": "200.00"
          },
          {
            "ChargeDate": "2019-05-01T00:00:00.000Z",
            "ChargeAmount": "200.00"
          }
        ]
      },
      {
        "Type": "BuyerLegalTerm",
        "Id": "term_id_placeholder",
        "Documents": [
          {
            "Type": "StandardEula",
            "Url": "https://resale-auth-legal-terms-iad-beta.s3.us-east-1.amazonaws.com/09ae57d6-c75a-3a4c-aadf-9b866bae64ab/a85cace8-6d9d-40ca-a053-78fc265479bf?isSigned=yes"
          }
        ]
      },
      {
        "Type": "ResaleLegalTerm",
        "Id": "term_id_placeholder",
        "Documents": [
          {
            "Type": "StandardResellerContract",
            "Url": "https://resale-auth-legal-terms-iad-beta.s3.us-east-1.amazonaws.com/09ae57d6-c75a-3a4c-aadf-9b866bae64ab/bed55b56-7ab4-4c4c-b633-3bf4f6efcb98?isSigned=yes"
          }
        ]
      },
      {
        "Type": "BuyerValidityTerm",
        "Id": "term_id_placeholder",
        "MaximumAgreementStartDate": "2023-09-25T23:59:59.000Z"
      },
      {
        "Type": "BuyerTargetingTerm",
        "Id": "term_id_placeholder",
        "PositiveTargeting": {
          "BuyerAccounts": [
            {
              "AwsAccountId": "444455556666"
            }
          ]
        }
      }
    ],
    "Rules": [
      {
        "Type": "AvailabilityRule",
        "Id": "availability_rule_id_placeholder",
        /* If the AvailabilityEndDate and OffersMaxQuantity not present Usage will be Unlimited*/
        "Usage": "Limited",
        "AvailabilityEndDate": "2022-05-31T23:59:59Z",
        "OffersMaxQuantity": 1
      },
      {
        "Type": "PartnerTargetingRule",
        "Id": "partner_targeting_rule_id_placeholder",
        "ResellerAccountId": "777777777777",
        "ResellerLegalName": "ChannelCAPICP.Inc"
      }
    ]
  }
}
```

以下是您在`DescribeEntity`回應中看到的欄位的相關資訊。
+ **EntityType** （字串） – 實體的命名類型，即 ResaleAuthorization@1.0。
+ **EntityIdentifier** （字串） – 實體的識別符，格式為 EntityId@RevisionId。
+ **EntityArn** （字串） – 與此請求中參考之變更集的唯一識別符相關聯的 ARN。
+ **LastModifiedDate** （字串） – 實體的上次修改日期，格式為 ISO 8601 (2018-02-27T13：45：22Z)。
+ **DetailsDocument** （物件） （必要） – 此 JSON 字串包含實體的詳細資訊。
  + **名稱** （字串） – 與 ResaleAuthorization 相關聯的名稱，讓您和頻道合作夥伴更清楚閱讀。它會顯示為協議資訊的一部分。
  + **描述** （字串） – 描述是一種自由格式文字，僅供您使用，絕不會向買方公開。
  + **ProductId** （字串） – 描述是一種自由格式的文字，僅供您使用，絕不會向買方公開。
  + **AgreementToken** （字串） – 從 ResaleAuthorization 中的內容產生。它包含在建立協議時有關條款、規則和提案者的資訊。它用於在採購期間進行授權檢查和驗證。
  + **術語** （結構陣列） – 呈現以供接受的術語清單。
  + **規則** （結構陣列） – 規則清單或一組指示。