

对 AWS Marketplace API 参考进行了重组。有关支持的 API 操作的更多信息，请参阅 [ AWS 市场 API 参考](https://docs.aws.amazon.com/marketplace/latest/APIReference/Welcome.html)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用转售授权进行转售授权 AWS Marketplace API
<a name="work-with-resale-authorizations"></a>

您可以使用 AWS Marketplace Catalog API 来自动执行处理转售授权的任务。

虽然*产品*描述了销售的内容 AWS Marketplace，但*转售授权*（也称为机会）描述了有关如何授权该产品转售的条款和规则。 AWS Marketplace*CPPO * 是转售授权的目标。

转售授权包含一系列条款和规则，供制造商和渠道合作伙伴之间的经销商协议接受。接受转售授权的条款允许经销商根据条款中规定的条件为产品创建报价。

转售授权中有两种类型的规则：
+ **AvailabilityRule**— 控制中转售授权的生命周期。 AWS Marketplace
+ **PartnerTargetingRule **— 指定一组特定的渠道合作伙伴是否可以访问转售授权。

请参阅以下资源：
+ 有关带有工作代码示例的端到端实验，请参阅[实验室：在*AWS Marketplace 卖家研讨会*](https://catalog.workshops.aws/mpseller/en-US/manage-offers-with-api/authorize-a-reseller)中授权经销商。
+ 有关 API 请求的代码示例，请参阅示例[中的 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) 示例 GitHub。*AWS *
+ 有关创建转售授权的视频，请参阅上的使用目录 [ API 创建转售授权。 AWS Marketplace](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-net-payment-terms)
+ [更新转售授权详情](#update-resale-auth-information)
+ [限制转售授权](#restricte-resale-auth)
+ [发布转售授权并使其对渠道合作伙伴可见](#release-resale-auth)
+ [描述现有的转售授权](#describe-entity-resale-auth)

## 转售授权的先决条件
<a name="prerequisites"></a>

要使用转售授权，独立软件供应商 (ISV) 和 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

如果您的请求成功处理，则将在`Draft`状态下为您 AWS Marketplace Catalog API 生成转售授权。这是一份不完整的转售授权，渠道合作伙伴看不到。 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 操作直接通过目录 API 来检查请求的`[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)`状态。

请求完成后（如果`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 />不得为空或为空<br />长度必须介于 1 到 50 个字符之间  | 422 | 
| ProductId | 用户必须获得授权才能 ResaleAuthorization 为给定产品创建 | 403 | 
| ProductId | 必须是目录中的现有商品且未处于Draft状态 应支持产品进行转售 | 404 | 
| Name | 必填<br />不得为空或为空<br />长度必须介于 1 到 100 个字符之间 <br />不允许使用特殊字符 | 422 | 
| 说明 | 可选<br />长度必须介于 1 到 255 个字符之间 <br />不允许使用特殊字符 | 422 | 
| ResellerAccountId | 必填<br />不能为空<br />AWS 账户 身份证必须采用有效格式（12 位数字） | 422 | 
| BulkRequestId | 可选<br />长度必须介于 1 到 50 个字符之间 <br />必须采用 UUID 格式 | 422 | 
| 未知财产 | 不允许有其他房产 | 422 | 

**异步错误 **

以下错误特定于中的`CreateResaleAuthorization `操作 AWS Marketplace Catalog API。当您在处理变更集`DescribeChangeSet`后调用时，会返回这些错误。有关使用`DescribeChangeSet`获取变更请求状态的更多信息，请参阅[使用变更集](catalog-apis.md#working-with-change-sets)。


| 错误代码  | 错误消息 | 
| --- | --- | 
| 无效的经销商账户 | 提供有效的经销商账户。 | 

## 更新买家定位
<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 操作直接通过目录 API 来检查请求的`[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)`状态。

**同步验证 **

架构验证特定于中的`UpdateBuyerTargetingTerms` AWS Marketplace Catalog API操作。这些验证是在您致电`StartChangeSet`时执行的。如果请求不满足以下要求，它将失败并发出 HTTP 响应。


| 输入字段 | 验证规则 | 
| --- | --- | 
| 术语 | 可选<br />不得为空或为空<br />列表中只允许 BuyerTargetingTerm “” <br />清单大小必须为 1（目前没有需要多个买家条款的用例） | 
| BuyerTargetingTerm.PositiveTargeting | 必填<br />不能为空 | 
| BuyerTargetingTerm.PositiveTargeting.BuyerAccounts | 可选<br />AWS 账户 身份证必须采用有效格式（12 位数字）<br />不得包含超过 25 个账户 | 
| 未知财产 | 不允许有其他房产 | 

**异步错误 **

以下错误特定于中的`UpdateBuyerTargetingTerms`操作 AWS Marketplace Catalog API。当您在处理变更集`DescribeChangeSet`后调用时，会返回这些错误。有关使用`DescribeChangeSet`获取变更请求状态的更多信息，请参阅[使用变更集](catalog-apis.md#working-with-change-sets)。


| 错误代码  | 错误消息 | 
| --- | --- | 
| 不兼容的买家定位 | 必须至少有一个买家账户才能 ResaleAuthorization 使用 PreExistingBuyerAgreement。 | 

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

您可以使用 Catalog 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 操作直接通过目录 API 来检查请求的`[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)`状态。

**同步验证 **

架构验证特定于中的`UpdateAvailability` AWS Marketplace Catalog API操作。验证是在您致电`StartChangeSet`时执行的。如果请求不满足以下要求，它将失败并返回 HTTP 响应


| 输入字段 | 验证规则 | 
| --- | --- | 
| OffersMaxQuantity | 可选<br />必须是非负整数<br />允许的值仅为 “1”（目前没有支持多个数量的用例） | 
| AvailabilityEndDate | 可选<br />必须采用 ISO\_8601 格式 <br />必须是将来的日期 | 
| 可用性 | 提供 OffersMaxQuantity 或 AvailabilityEndDate。 | 
| 未知财产 | 不允许有其他房产 | 

**异步错误 **

以下错误特定于 AWS 商城目录 API 中的`UpdateAvailability`操作。当您在处理变更集`DescribeChangeSet`后调用时，会返回这些错误。有关使用`DescribeChangeSet`获取变更请求状态的更多信息，请参阅[使用变更集](catalog-apis.md#working-with-change-sets)。


| 错误代码  | 错误消息 | 
| --- | --- | 
| 无效可用性结束日期 | 提供 AvailabilityEndDate 一个先于一切 ChargeDate 的内容 ResalePaymentScheduleTerms。 | 
|  无效可用性结束日期 | 提供未来 AvailabilityEndDate。 | 

## 更新未来协议的有效性
<a name="update-validity-fda"></a>

您可以使用目录 API 在中修改和控制未来的服务开始日期 AWS Marketplace。

要发布转售授权，此变更集不是强制性的。

要修改和控制您的转售授权的产品协议期限，请使用`UpdateBuyerValidityTerms`变更类型调用 `StartChangeSet` API 操作，如以下示例所示。

**注意**  
Future-dated 协议仅支持 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 操作直接通过目录 API 来检查请求的`[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)`状态。

**同步验证 **

架构验证特定于中的`UpdateBuyerValidityTerms` AWS Marketplace Catalog API操作。验证是在您致电`StartChangeSet`时执行的。如果请求不满足以下要求，它将失败并发出 HTTP 响应。


| 输入字段 | 验证规则 | 
| --- | --- | 
|  术语  | 必填<br />不得为空或为空<br />列表中只允许 BuyerValidityTerm “”<br />列表大小必须为 1（目前没有需要多个服务可用性条款的用例） | 
| MaximumAgreementStartDate | 必填<br />不得为空或为空<br />必须是将来的日期，且不应超过 3 年 <br />必须采用 ISO\_8601 格式 | 
| 未知财产 | 不允许有其他房产 | 

**异步错误 **

以下错误特定于中的`UpdateBuyerValidityTerms `操作 AWS Marketplace Catalog API。当您在处理变更集`DescribeChangeSet`后调用时，会返回这些错误。有关使用`DescribeChangeSet`获取变更请求状态的更多信息，请参阅[使用变更集](catalog-apis.md#working-with-change-sets)。


| 错误代码  | 错误消息 | 
| --- | --- | 
| 不兼容的产品 | BuyerValidityTerm 该产品不支持。 | 
| 无效的最大协议起始日期 | 提供允许限额 MaximumAgreementStartDate 的期货。 | 

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

您可以使用目录 API 完全替换中的现有法律条款 AWS Marketplace。

最新申请中未包含的法律条款将从转售授权中删除。`BuyerLegalTerm`包含将包含在最终买方协议中的 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)。
    + **类型**（字符串）（必填）-正在更新的术语的类别。
    + **文件**（结构数组）（必填）— 向买方提出的法律资源参考清单。例如，最终用户许可协议。每个引用都由 a `Type` 和 a 组成`URL`：
      + **类型**（字符串）（必填）-文档的类型。可用的文件类型有：
        + **StandardEula**—的标准合同 AWS Marketplace. 有关更多信息，请参阅《*AWS Marketplace 卖家指南[》](https://docs.aws.amazon.com/marketplace/latest/userguide/standardized-license-terms.html#standard-contracts)*中的《南华早报》。您无需为此类型提供网址，因为它是由管理的 AWS Marketplace。
        + **EnterpriseEula**— 的企业合同 AWS Marketplace. 有关更多信息，请参阅《 AWS Marketplace 卖家指南》中的 DSA。您无需为此类型提供网址，因为它是由管理的 AWS Marketplace。
        + **CustomEula**— 您作为制造商提供的自定义 EULA。此文档类型需要存储在可访问的 S3 存储桶中的 EULA 网址。
      + **网址**（字符串）（有条件必填）— 法律文件的 URL，供买家阅读。当类别类型为时，这是必填项`CustomEula`。
    + **ResaleLegalTerm**（对象）（可选）-定义仅向渠道合作伙伴提议的文本协议清单。此术语不适用于买家。
      + **类型**（字符串）（必填）-正在更新的术语类别。
      + **文档**（结构数组）（必填）— 向渠道合作伙伴提出的经销商法律资源参考清单。
        + **类型**（字符串）（必填）-文档的类别。可用的文件类型有：
          + **StandardResellerContract**—的标准经销商合同. AWS Marketplace
          + **CustomResellerContract**— 您作为制造商签订的定制经销商合同。经销商合同的 URL 存储在可访问的 S3 存储桶中，是该文档类型所必需的。
        + **网址**（字符串）（有条件必填）— 供渠道合作伙伴阅读的经销商合同文档的 URL。如果类型为，则为必填项 CustomResellerContract。

**响应语法 **

系统会为您的请求创建变更集。对该请求的响应为您提供了变更集的和，如下所示。`ChangeSetId` `ChangeSetArn`

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

变更请求将添加到队列中并进行处理。这包括验证信息以确保其符合 AWS Marketplace 准则。验证过程可能需要几分钟到几小时不等。

您可以通过查看请求的状态 AWS Marketplace 管理门户，也可以使用 API 操作直接通过目录 API 来检查请求的`[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)`状态。

**同步验证 **

架构验证特定于中的`UpdateLegalTerms` AWS Marketplace Catalog API操作。验证是在您致电`StartChangeSet`时执行的。如果请求不满足以下要求，它将失败并发出 HTTP 响应。


| 输入字段 | 验证规则 | HTTP 代码 | 
| --- | --- | --- | 
| 术语 | 必填<br />不得为空或为空 | 422 | 
| 条款 []。BuyerLegalTerm | 必填<br />不得为空或为空 | 422 | 
| 条款 []。ResaleLegalTerm | 可选<br />如果存在，则不能为空或空 | 422 | 
| 条款 []。BuyerLegalTerm.Documents | 必填<br />不得为空或为空 | 422 | 
| 条款 []。BuyerLegalTerm.Documents[] .Type | 必填<br />不得为空或为空 <br />允许的值：+  StandardEula <br />+  EnterpriseEula <br />+  CustomEula  | 422 | 
| 条款 []。BuyerLegalTerm.Documents[] .Url | 当 “类型” 为 “” 时，必填且必须是有效的 URL CustomEula 当 “类型” 是 [” “,” StandardEula EnterpriseEula “] 之一时，不得提供 | 422 | 
| 条款 []。ResaleLegalTerm.Documents | 必填<br />不得为空或为空 | 422 | 
| 条款 []。ResaleLegalTerm.Documents[] .Type | 必填<br />不得为空或空允许值：+   StandardEula <br />+   CustomResellerContract  | 422 | 
| 条款 []。ResaleLegalTerm.Documents[] .Url | 当 “类型” 为 “” 时，必填且必须是有效的 URL CustomResellerContract<br />当 “类型” 为 [” StandardContract “] 之一时，不得提供 | 422 | 
| 未知财产 | 不允许有其他房产 | 422 | 

**异步错误 **

以下错误特定于中的`UpdateLegalTerms`操作 AWS Marketplace Catalog API。在处理变更集之后`DescribeChangeSet`，当你调用时，会返回这些错误。有关使用`DescribeChangeSet`获取变更请求状态的更多信息，请参阅[使用变更集](catalog-apis.md#working-with-change-sets)。


| 错误代码  | 错误消息 | 
| --- | --- | 
| 买家法律文件无效 | 为存储在可访问的 S3 存储桶中的买家法律文件提供网址。 | 
| 无效的转售法律文件 | 为存储在可访问的 S3 存储桶中的转售法律文件提供网址。 | 
| 缺少\_强制性条款 | 提供一个 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**（字符串）（必填）-您的报价的定价模式。定价模型的可能值为：
    + **用量 ** — Usage-based 定价模式，将向买家收取使用您产品的费用。
    + **合同 ** — 在基于合同的定价模式中，要么提前向买家收取产品使用费，要么为买家提供灵活的付款时间表。买家还可以在合同之外支付额外使用费。渠道合作伙伴可以将他们的加价添加到此付款计划和每个维度的定价中。
  + **条款**（结构数组）（必填）-您要更新的定价条款列表。支持的定价条款是：
    + **ResaleUsageBasedPricingTerm**（对象）— 定义即用即付 (PAYG) 定价模式，根据产品使用情况向客户收费。
      + **类型**（字符串）（必填）-术语的类别。
      + **CurrencyCode**（字符串）— 定义本术语中提及的价格的货币。目前，仅支持美元。
      + **RateCards**（结构数组）— 价目表列表。
        + **RateCard**（结构数组）— 费率卡定义了产品维度的每单位费率。
          + **DimensionKey**（字符串）-给定权利适用的维度。尺寸代表产品中的容量类别，在中列出该产品时指定 AWS Marketplace。
          + **价格**（字符串）-用于计算收费金额的产品维度的每单位价格。
        + **约束**（对象）（可选）-定义接受者如何配置术语的限制。
          + **MultipleDimensionSelection**（字符串）（可选）-确定是否允许买家在价目表中选择多个维度。可能的值为 `Allowed` 和 `Disallowed`。默认值为 `Allowed`。
          + **QuantityConfiguration**（字符串）（可选）-确定是否允许接受者为价目卡中的每个维度配置数量。可能的值为 `Allowed` 和 `Disallowed`。默认值为 `Allowed`。
    + **ResaleFixedUpfrontPricingTerm**（对象）— 定义预付费定价模式，向客户收取固定的预付金额。
      + **类型**（字符串）（必填）-正在更新的术语的类别。
      + **CurrencyCode**（字符串）— 定义本术语中提及的价格的货币。定义本术语中提及的价格的货币。支持美元、澳元、欧元、英镑和日元。
      + **价格**（字符串）（必填）— 接受此条款时向客户收取的固定金额。
      + **期限**（字符串）（必填）— 合同期限 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 操作直接通过目录 API 来检查请求的`[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)`状态。

**同步验证 **

以下架构验证特定于 AWS 市场目录 API 中的`UpdatePricingTerms`操作。验证是在您致电`StartChangeSet`时执行的。如果请求不满足以下要求，它将失败并发出 HTTP 响应。


| 输入字段 | 验证规则 | 
| --- | --- | 
| 术语 | 必填<br />不得为空或为空<br />每个学期只能显示一次允许的条款：+  \* ResaleUsageBasedPricingTerm <br />+  \* ResaleConfigurableUpfrontPricingTerm <br />+  \* ResaleFixedupfrontPricingTerm  | 
| 条款 []。ResaleUsageBasedPricingTerm.CurrencyCode | 必填 <br />允许的价值：美元 | 
| 条款 []。ResaleUsageBasedPricingTerm.Validity | 必填<br />不得为空或为空<br />预期格式：ISO 8601 持续时间 | 
| 条款 []。ResaleUsageBasedPricingTerm.RateCards | 必填<br />不得为空或为空 | 
| 条款 []。ResaleUsageBasedPricingTerm.RateCards[]。DimensionKey | 必填<br />不得为空或为空 <br />长度必须介于 1 到 60 之间 | 
| 条款 []。ResaleUsageBasedPricingTerm.RateCards[] .Price | 必填<br />不得为空或为空 <br />数据类型为 “字符串” <br />必须为非负数 <br />最多支持 8 位十进制<br />不支持特殊字符 | 
| 条款 []。ResaleConfigurableUpfrontPricingTerm.CurrencyCode | 必填 <br />允许的值：[“美元”、“澳元”、“欧元”、“英镑”、“日本”] | 
| 条款 []。ResaleConfigurableUpfrontPricingTerm.RateCards[]。Selector.Type | 必填<br />不得为空或为空 <br />允许的值：持续时间 | 
| 条款 []。ResaleConfigurableUpfrontPricingTerm.RateCards[]。Selector.Value | 必填<br />不得为空或为空<br />预期格式：ISO 8601 持续时间 | 
| 条款 []。ResaleConfigurableUpfrontPricingTerm.RateCards[]。RateCard.DimensionKey | 必填<br />不得为空或为空 <br />长度必须介于 1 到 60 之间 | 
| 条款 []。ResaleConfigurableUpfrontPricingTerm.RateCards[]。RateCard.Price | 必填<br />不得为空或为空 <br />数据类型为 “字符串” <br />必须为非负数 <br />最多支持 6 位十进制<br />不支持特殊字符 | 
| 条款 []。ResaleConfigurableUpfrontPricingTerm.RateCards[] .约束 | 可选 | 
| 条款 []。ResaleFixedUpfrontPricingTerm.CurrencyCode | 必填 允许的值：[“美元”、“澳元”、“欧元”、“英镑”、“日本”] | 
| 条款 []。ResaleFixedUpfrontPricingTerm.Price | 必填<br />不得为空或为空 <br />数据类型为 “字符串” <br />必须为非负数 <br />最多支持 6 位十进制<br />不支持特殊字符 <br />允许的值：0.0 | 
| 条款 []。ResaleFixedUpfrontPricingTerm.Duration | 必填<br />不得为空或为空<br />预期格式：ISO 8601 持续时间 | 
| 条款 []。ResaleFixedUpfrontPricingTerm.Grants[]。DimensionKey | 必填<br />不得为空或为空 <br />长度必须介于 1 到 60 之间 | 
| 条款 []。ResaleFixedUpfrontPricingTerm.Grants[]。MaxQuantty | 必填<br />不得为空或为空 | 
| 未知财产 | 不允许有其他房产 | 

**异步错误 **

以下错误特定于中的`UpdatePricingTerms`操作 AWS Marketplace Catalog API。当您在处理变更集`DescribeChangeSet`后调用时，会返回这些错误。有关使用`DescribeChangeSet`获取变更请求状态的更多信息，请参阅[使用变更集](catalog-apis.md#working-with-change-sets)。


| 错误代码 | 错误消息 | 
| --- | --- | 
| 无效的货币代码 | 在 CurrencyCode 所有定价和付款条款中提供相同的价格。 | 
| 不兼容的产品 | 使用 [x] 中产品中现有的可用尺寸。 | 
| 重复的维度密钥 | 在 [x] 中为价目表提供唯一的维度键列表  | 
| 无效费率卡 | 在 [x] 中提供单位相同的尺寸  | 
| 无效费率卡 | 仅提供计量尺寸的价目表。 ResaleUsageBasedPricingTerm | 
| 无效费率卡 | 为中所有可用的计量维度提供基于使用量的费率。 ResaleUsageBasedPricingTerm | 
| 太多\_RATES | 在允许的限度 RateCards 内提供 ResaleUsageBasedPricingTerm。 | 
| 重复选择器 | 在中提供唯一的选择器列表。 ResaleConfigurableUpfrontPricingTerm | 
| 无效费率卡 | ConfigurableUpfrontPricingTerm 在持续时间 [x] 内缺少一个或多个维度键。为所有持续时间内同一组维度密钥提供价格。 | 
| 无效费率卡 | 在 [x] 中提供所有计量尺寸或所有授权尺寸。 | 
| 不兼容速率卡约束 | 在中 QuantityConfiguration 将 MultipleDimensionSelection 和设置为 “ PricingModel不允许” ResaleConfigurableUpfrontPricingTerm 。 | 
| 太多\_RATE\_CARDS | 该商品 ConfigurableUpfrontPricingTerm仅允许使用一张价目表。 | 
| 不兼容条款 | 以下术语与 PricingModel:[x, y, z] 不兼容。 | 
| 太多\_RATES | 在 [x 学期] 允许的 RateCards 范围内提供。 | 
| 补助金太多了 | 在 [x 学期] 内提供最多 [N] 笔补助金。 | 
| 无效的选择器持续时间值 | 提供介于 [x] 和 [y] 个月之间的持续时间 ResaleConfigurableUpfront  | 
| 补助金太多了 | 提供介于 [x] 和 [y] 个月之间的持续时间。 | 
| 无效的选择器持续时间值 | 确保按计量维度的持续时间粒度为天级别 ResaleConfigurableUpfront  | 
| 无效持续时间 | 确保按计量维度的持续时间粒度为天级别。 FixedUpfront | 
| 无效费率卡 | 仅在 [x] 中提供标题的尺寸。 | 
| 缺少的持续时间 | 在 [x] 中提供持续时间。 | 
| 重复的维度密钥 | 在 [x] 中为 Grants 提供唯一的维度键列表。 | 
| 不兼容的付款设置 | 更新您的付款设置以使其兼容 CurrencyCode. | 
| 不兼容\_卖家\_验证 | 完成所有必需的卖家验证流程。 | 
| 无效的货币代码 | 提供支持的 CurrencyCode。 | 
| 无效的货币代码 | 在 CurrencyCode 所有定价和付款条款中提供相同的价格。 | 
| 不兼容的货币代码 | 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**（字符串）（必填）-定义附表中提及的付款的货币。支持美元、澳元、欧元、英镑和日元。
      + **时间表**（结构数组）-付款计划列表，其中每个元素定义一期付款。它包含计算要支付的价格和向客户收费的日期所需的信息。
        + **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 操作直接通过目录 API 来检查请求的`[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)`状态。

**同步验证 **

架构验证特定于中的`UpdatePaymentScheduleTerms` AWS Marketplace Catalog API操作。验证是在您致电`StartChangeSet`时执行的。如果请求不满足以下要求，它将失败并发出 HTTP 响应。


| 输入字段 | 验证规则 | HTTP | 
| --- | --- | --- | 
| Terms.Type | 必填<br />[x] 产品不支持 <br />允许的条款： ResalePaymentScheduleTerm | 422 | 
| 条款 []。CurrencyCode | 必填<br />允许的价值：美元 | 422 | 
| 条款 []。ResalePaymentScheduleTerm.Schedule | 必填<br />长度必须介于 1 到 60 之间 | 422 | 
| 条款 []。ResalePaymentScheduleTerm.Shedule.ChargeDate | 必填<br />必须采用 ISO 8601 格式<br />日期必须是将来的日期 | 422 | 
| 条款 []。ResalePaymentScheduleTerm.Shedule.ChargeAmount | 必填<br />必须为非负数 | 422 | 
| 未知财产 | 不允许有其他房产 | 422 | 

**异步错误 **

以下错误特定于中的`UpdatePaymentScheduleTerms`操作 AWS Marketplace Catalog API。当您在处理变更集`DescribeChangeSet`后致电时，会返回这些错误。有关使用`DescribeChangeSet`获取变更请求状态的更多信息，请参阅。[使用变更集](catalog-apis.md#working-with-change-sets)


| 错误代码 | 错误消息 | 
| --- | --- | 
| 不兼容条款 | OffersMaxQuantity 并且 AvailabilityEndDate 必须出席 ResalePaymentScheduleTerm。 | 
| 预定付款太多了 | 提供最多 60 笔定期付款 ResalePaymentScheduleTerm。 | 
| 重复的收费日期 | 在中提供唯一的收费日期 ResalePaymentScheduleTerm. | 
| 无效的收费日期 | 提供未来 ChargeDate。 | 
| 无效的收费日期 | 提供在 [x] 之前的最后一次充电日期。 | 
| 缺少\_强制性条款 |  ResalePaymentScheduleTerm 一起提供 a ResaleFixedUpfrontPricingTerm 和。 | 
| 无效的货币代码 | 在 CurrencyCode 所有定价和付款条款中提供相同的价格。 | 
| 不兼容的付款设置 | 更新您的付款设置以使其兼容 CurrencyCode. | 
| 不兼容\_卖家\_验证 | 完成所有必需的卖家验证流程。 | 
| 无效的货币代码 | 提供支持的 CurrencyCode。 | 
| 无效的货币代码 | 在 CurrencyCode 所有定价和付款条款中提供相同的价格。 | 
| 不兼容的货币代码 | CurrencyCode 优惠发布后无法更改。 | 

## 更新净付款条款
<a name="update-resale-net-payment-terms"></a>

您可以使用目录 API 在中设置您的转售授权的净付款条款。 AWS Marketplace净付款期限是指您指定发票开具后到期付款的天数。

您在转售授权上设置的净付款期限是渠道合作伙伴可以在渠道合作伙伴私人报价 (CPPO) 中向买家提供的最长付款期限。渠道合作伙伴可以提供相同的时间段或更短的期限，但不能提供更长的期限。有关更多信息，请参阅 [创建 CPPO](work-with-cppos.md#create-offer-using-resale-auth)。

**注意**  
净付款条款仅适用于采用按发票付款方式的买家。 AWS如果您未在转售授权上设置净付款条款，则渠道合作伙伴无法在 CPPO 上设置净付款条款，也无法使用 apply 设置买家的付款条款。 AWS 

要设置转售授权的净付款期限，请使用`UpdateNetPaymentTerms`更改类型调用 `StartChangeSet` API 操作，如以下示例所示。

**请求语法**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet": [
    {
      "ChangeType": "UpdateNetPaymentTerms",
      "Entity": {
        "Type": "ResaleAuthorization@1.0",
        "Identifier": "resaleauthz-123456789"
      },
      "DetailsDocument": {
        "Terms": [
          {
            "Type": "ResaleNetPaymentTerm",
            "PaymentDuePeriod": "P60D"
          }
        ]
      }
    }
  ]
}
```

为字段提供信息以添加`UpdateNetPaymentTerms`更改类型：
+ **实体**（对象）（必填）— 您的转售授权。
  + **类型**（字符串）（必填）-始终`Type`是`ResaleAuthorization@1.0`。
  + **标识符**（字符串）（必填）-您的转售授权 ID。有关更多信息，请参阅 [标识符](catalog-apis.md#identifier)。
+ **DetailsDocument**（对象）（必填）— 请求细节的 JSON 值。
  + **条款**（结构数组）（必填）-您要更新的净付款条件列表。转售授权最多可以包含一个净付款期限。要删除净付款期限，请提供一个空列表。支持的术语有：
    + **ResaleNetPaymentTerm**（对象）— 定义渠道合作伙伴可以向买家提供的最大净付款期限。
      + **类型**（字符串）-正在更新的术语的类型。这是对象的值:`"ResaleNetPaymentTerm"`.
      + **PaymentDuePeriod**（字符串）-发票开具之日后付款到期的天数。此字段支持 ISO 8601 格式。支持的值有 `P15D`、`P30D`、`P45D`、`P60D`、`P90D` 和 `P120D`。

**响应语法 **

系统会为您的请求创建变更集。对该请求的响应为您提供了变更集的和，如下所示。`ChangeSetId` `ChangeSetArn`

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

变更请求将添加到队列中并进行处理。这包括验证信息以确保其符合 AWS Marketplace 准则。验证过程可能需要几分钟。

您可以通过查看请求的状态 AWS Marketplace 管理门户，也可以使用 API 操作直接通过目录 API 来检查请求的`[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)`状态。

**同步验证 **

以下架构验证特定于中的`UpdateNetPaymentTerms` AWS Marketplace Catalog API操作。这些验证是在您致电`StartChangeSet`时执行的。如果请求不满足以下要求，它将失败并发出 HTTP 响应。


| 输入字段 | 验证规则 | HTTP 代码 | 
| --- | --- | --- | 
| 术语 | 必填<br />只`ResaleNetPaymentTerm`允许<br />列表大小必须小于 2 | 422 | 
| 条款 [] .Type | 必填<br />只能是 `ResaleNetPaymentTerm` | 422 | 
| 条款 []。ResaleNetPaymentTerm.PaymentDuePeriod | 必填<br />预期格式：ISO 8601 持续时间<br />允许的值：[“P15D”、“P30D”、“P45D”、“P60D”、“P90D”、“P120D”] | 422 | 

**异步错误 **

以下错误特定于中的`UpdateNetPaymentTerms`操作 AWS Marketplace Catalog API。当您在处理变更集`DescribeChangeSet`后调用时，会返回这些错误。有关使用`DescribeChangeSet`获取变更请求状态的更多信息，请参阅[使用变更集](catalog-apis.md#working-with-change-sets)。


| 错误代码 | 错误消息 | 
| --- | --- | 
| 不兼容状态 | UpdateNetPaymentTerms 发布转售授权后无法执行请求。 | 
| 不兼容条款 | ResaleNetPaymentTerm 卖家账户 [x] 不支持。 | 

## 更新转售授权详情
<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。 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 操作直接通过目录 API 来检查请求的`[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)`状态。

**同步验证 **

以下架构验证特定于中的`UpdateInformation` AWS Marketplace Catalog API操作。这些验证是在您调用时执行的`StartChangeSet`，如果输入不满足以下要求，则请求将失败并出现 HTTP 错误。


| 输入字段 | 验证规则 | HTTP 代码 | 
| --- | --- | --- | 
| Name | 可选<br />不得为空或为空<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)


| 错误代码 | 错误消息 | 
| --- | --- | 
| 不兼容的买家定位 | 必须至少有一个买家账户才能 ResaleAuthorization 使用 PreExistingBuyerAgreement。 | 

## 限制转售授权
<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 操作直接通过目录 API 来检查请求的`[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)`状态。

**同步验证 **

架构验证特定于 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)


| 错误代码 | 错误消息 | 
| --- | --- | 
| 不兼容状态 | 已过期 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 操作直接通过目录 API 来检查请求的`[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)`状态。

**同步验证 **

架构验证特定于中的`ReleaseResaleAuthorization` AWS Marketplace Catalog API操作。验证是在您致电`StartChangeSet`时执行的。如果请求不满足以下要求，它将失败并发出 HTTP 响应。


| 输入字段 | 验证规则 | HTTP 代码 | 
| --- | --- | --- | 
| 未知财产 | 不允许有其他房产 | 422 | 

**异步错误 **

以下错误特定于中的`ReleaseResaleAuthorization`操作 AWS Marketplace Catalog API。当您在处理变更集`DescribeChangeSet`后调用时，会返回这些错误。有关使用`DescribeChangeSet`获取变更请求状态的更多详细信息，请参阅[使用变更集](catalog-apis.md#working-with-change-sets)。


| 错误代码 | 错误消息 | 
| --- | --- | 
| 缺少\_强制性条款 | 提供一个 BuyerLegalTerm. | 
| 缺少\_强制性条款 | 提供一个 PricingTerm. | 
| 不兼容的产品 | 在有限或公共状态下使用活性产品。 | 
| 不兼容的定价条款 | PaymentScheduleTerm 并且 FixedUpfrontPricingTerm 必须一起出席。 | 
| 不兼容的买家定位 | 必须至少有一个买家账户才能 ResaleAuthorization 使用 PreExistingBuyerAgreement。 | 
| 缺少\_强制性条款 | 至少提供 [x, y, z] 中的一个。 | 
| 不兼容状态 | [x] 在发布转售授权后无法执行请求。 | 

## 描述现有的转售授权
<a name="describe-entity-resale-auth"></a>

要描述转售授权的详细信息，请使用`ResaleAuthorization@1.0`实体类型调用 `DescribeEntity` API 操作，如以下示例所示。

**请求语法**

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

为字段提供信息以添加`DescribeEntity`更改类型：
+ **目录**（字符串）-与请求相关的目录。固定值:`AWSMarketplace`.
+ **实体ID**（字符串）-`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": "ResaleNetPaymentTerm",
        "Id": "term_id_placeholder",
        "PaymentDuePeriod": "P60D"
      },
      {
        "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-0 T13:45:22Z 2-27）。
+ **DetailsDocument**（对象）（必填）-此 JSON 字符串包含实体的详细信息。
  + **名称**（字符串）— 与关联的 ResaleAuthorization 名称，以便于您和您的渠道合作伙伴阅读。它作为协议信息的一部分显示。
  + **描述**（字符串）-描述是自由格式的文本，仅供您使用，永远不会向买家公开。
  + **ProductId**（字符串）— 描述是自由格式的文本，仅供您使用，永远不会向买家公开。
  + **AgreementToken**（字符串）-根据中的内容生成 ResaleAuthorization。它包含有关创建协议时的条款、规则和提议者的信息。它用于采购期间的授权检查和验证。
  + **条款**（结构数组）-提交供接受的术语列表。
  + **规则**（结构数组）-规则列表或指令集。