

A referência de API do AWS Marketplace foi reestruturada. Para obter mais informações sobre as operações de API suportadas, consulte a Referência de API do [ AWS Marketplace](https://docs.aws.amazon.com/marketplace/latest/APIReference/Welcome.html).

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Trabalhe com autorizações de revenda usando o AWS Marketplace APIs
<a name="work-with-resale-authorizations"></a>

Você pode usar o AWS Marketplace Catalog API para automatizar tarefas para trabalhar com autorizações de revenda. 

Embora o * produto * descreva o que está sendo vendido AWS Marketplace, a Autorização de * Revenda * (também conhecida como oportunidade) descreve os termos e regras sobre como esse produto é autorizado a ser revendido. AWS Marketplace O * CPPO * é o alvo da Autorização de Revenda.

Uma autorização de revenda tem um conjunto de termos e regras a serem aceitos para um contrato de revenda entre fabricantes e parceiros de canal. A aceitação dos termos da Autorização de Revenda permite que o revendedor crie ofertas para o produto de acordo com as condições expressas nos termos.

Há dois tipos de regras em uma autorização de revenda:
+ **AvailabilityRule**— Controla o ciclo de vida da Autorização de Revenda em. AWS Marketplace
+ **PartnerTargetingRule **— Especifica se a autorização de revenda deve ser acessível a um conjunto específico de parceiros de canal.

Consulte os recursos a seguir:
+ Para laboratórios completos com exemplos de código funcional, consulte [ Laboratório: Autorizar um revendedor ](https://catalog.workshops.aws/mpseller/en-US/manage-offers-with-api/authorize-a-reseller) na oficina do vendedor. *AWS Marketplace *
+ Para exemplos de código de solicitações de API, consulte [ exemplos de [ Python ](https://github.com/aws-samples/aws-marketplace-reference-code/tree/main/python/src/catalog_api/resale_authorization) e ](https://github.com/aws-samples/aws-marketplace-reference-code/tree/main/java/resources/changeSets/channel_partner_offers) Java em *AWS Samples * on GitHub.
+ Para assistir a um vídeo sobre como criar autorizações de revenda, consulte [ Criar autorizações de revenda usando a API do AWS Marketplace catálogo em. ](https://www.youtube.com/watch?v=vLIbvFYI974) YouTube

Os tópicos a seguir descrevem como usar a API Catalog para criar e atualizar autorizações de revenda:

**Topics**
+ [Pré-requisitos de autorização de revenda](#prerequisites)
+ [Criar uma nova autorização de revenda](#create-resale-authorization)
+ [Atualizar a segmentação de compradores](#update-buyer-targeting)
+ [Disponibilidade de atualizações](#update-availability-resale-auth)
+ [Atualizar a validade de um contrato com data futura](#update-validity-fda)
+ [Atualizar recursos legais](#update-existing-legal-terms)
+ [Atualizar preços](#update-existing-pricing-terms)
+ [Atualizar cronograma de pagamento](#update-payment-schedule-details)
+ [Atualizar as condições de pagamento líquido](#update-resale-net-payment-terms)
+ [Atualizar detalhes da autorização de revenda](#update-resale-auth-information)
+ [Restringir uma autorização de revenda](#restricte-resale-auth)
+ [Libere uma autorização de revenda e torne-a visível para um parceiro de canal](#release-resale-auth)
+ [Descrever uma autorização de revenda existente](#describe-entity-resale-auth)

## Pré-requisitos de autorização de revenda
<a name="prerequisites"></a>

Para usar a Autorização de Revenda, tanto os fornecedores independentes de software (ISVs) quanto os parceiros de AWS Marketplace canal devem criar uma função vinculada ao serviço que forneça permissões de compartilhamento de recursos a. AWS Se os dois grupos não cumprirem esse pré-requisito, não AWS poderão compartilhar o recurso de autorização do ISV com o parceiro de canal. AWS Marketplace Para obter mais informações, consulte [ Como usar funções para autorização de revenda AWS Marketplace](https://docs.aws.amazon.com/marketplace/latest/userguide/using-roles-for-resale-authorization.html) no Guia * do *AWS Marketplace vendedor.

## Criar uma nova autorização de revenda
<a name="create-resale-authorization"></a>

Você pode usar a API do catálogo para criar uma nova autorização de revenda em AWS Marketplace.

Se sua solicitação for processada com sucesso, AWS Marketplace Catalog API gera uma Autorização de Revenda no `Draft` estado para você. É uma autorização de revenda incompleta e não está visível para os parceiros de canal em AWS Marketplace. 

Use os tipos de `Update` alteração para concluir a Autorização de Revenda. Depois que a Autorização de Revenda for concluída, use o tipo de `ReleaseResaleAuthorization` alteração para concluir o processo de criação da Autorização de Revenda e liberar a Autorização de Revenda, que validará toda a Autorização de Revenda e a tornará visível para os parceiros de canal. AWS Marketplace

Para criar uma Autorização de Revenda no `Draft` estado, chame a operação da `StartChangeSet` API com o tipo de `CreateResaleAuthorization` alteração, conforme mostrado no exemplo a seguir. 

**Sintaxe da solicitação**

```
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"
      }
    }
  ]
}
```

Forneça informações para os campos de entrada para adicionar o tipo de `CreateResaleAuthorization` alteração:
+ **Entidade ** (objeto) (obrigatório) — Sua autorização de revenda. 
  + **Tipo ** (string) (obrigatório) — O `Type` é sempre`ResaleAuthorization@1.0`. 
+ **DetailsDocument**(objeto) (obrigatório) — Especificações da solicitação.
  + **ProductId**(string) (obrigatório) — ID do produto para a qual criar a autorização de revenda.
  + **Nome ** (string) (obrigatório) — Nome associado ao ResaleAuthorization para melhor legibilidade para você e seus parceiros de canal.
  + **Descrição ** (string) (opcional) — Um campo de texto de formato livre disponível para adicionar detalhes sobre o. ResaleAuthorization
  + **ResellerAccountId**(string) (obrigatório) — Adicione parceiros de canal segmentados Conta da AWS que possam descrever e usar isso `ResaleAuthorization` para criar uma oferta privada.

**Sintaxe de resposta **

Um conjunto de alterações é criado para sua solicitação. A resposta a essa solicitação fornece o `ChangeSetId` e `ChangeSetArn` para o conjunto de alterações e tem a seguinte aparência.

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

A solicitação de alteração é adicionada a uma fila e processada. 

Você pode verificar o status da solicitação por meio da Portal de gerenciamento do AWS Marketplace API Catalog ou diretamente pela API Catalog usando a operação da `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

Quando a solicitação for concluída (se `Status` for o caso`SUCCEEDED`), uma nova `ResaleAuthorization` é gerada. Embora o `SUCCEEDED` status indique que a chamada do tipo de `CreateResaleAuthorization` alteração foi concluída, o `ResaleAuthorization` status ainda está em `Draft` vigor.

A seguir, mostramos a resposta da operação [ DescribeChangeSet ](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html) da 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":
      []
    }
  ]
}
```

**Validações síncronas **

As validações do esquema são específicas `CreateResaleAuthorization` das ações no. AWS Marketplace Catalog API As validações são realizadas quando você liga`StartChangeSet`. Se a solicitação não atender aos seguintes requisitos, ela falhará com uma resposta HTTP.


| Campo de entrada | Regra de validação | Código HTTP | 
| --- | --- | --- | 
| ProductId | Obrigatório<br />Não deve ser nulo ou vazio<br />O comprimento deve estar entre 1 e 50 caracteres  | 422 | 
| ProductId | O usuário deve estar autorizado a criar ResaleAuthorization para o produto em questão | 403 | 
| ProductId | Deve ser um produto existente no catálogo e não no Draft estado O produto deve ser suportado para revenda | 404 | 
| Nome | Obrigatório<br />Não deve ser nulo ou vazio<br />O comprimento deve estar entre 1 e 100 caracteres <br />Não são permitidos caracteres especiais | 422 | 
| Description | Opcional<br />O comprimento deve estar entre 1 e 255 caracteres <br />Não são permitidos caracteres especiais | 422 | 
| ResellerAccountId | Obrigatório<br />Não deve estar vazio<br />Conta da AWS Os IDs devem estar em formato válido (número de 12 dígitos) | 422 | 
| BulkRequestId | Opcional<br />O comprimento deve estar entre 1 e 50 caracteres <br />Deve estar no formato UUID | 422 | 
| Uma propriedade desconhecida | Nenhuma propriedade adicional é permitida | 422 | 

**Erros assíncronos **

Os erros a seguir são específicos `CreateResaleAuthorization ` das ações no AWS Marketplace Catalog API. Esses erros são retornados quando você liga `DescribeChangeSet` após o processamento de um conjunto de alterações. Para obter mais informações sobre como usar `DescribeChangeSet` para obter o status de uma solicitação de alteração, consulte[Trabalhando com conjuntos de alterações](catalog-apis.md#working-with-change-sets).


| Código de erro  | Mensagem de erro | 
| --- | --- | 
| CONTA\_REVENDEDOR\_INVÁLIDA | Forneça uma conta de revendedor válida.  | 

## Atualizar a segmentação de compradores
<a name="update-buyer-targeting"></a>

Você pode usar a API Catalog para atualizar os compradores que estão direcionando sua autorização de revenda em. AWS Marketplace

Todas as opções de segmentação existentes que não estão incluídas na solicitação mais recente são removidas da Autorização de Revenda. Esse tipo de alteração é opcional para a liberação da Autorização de Revenda.

Para atualizar os compradores que visam sua autorização de revenda, chame a operação da `StartChangeSet` API com o tipo de `UpdateBuyerTargetingTerms` alteração, conforme mostrado no exemplo a seguir. 

**Sintaxe da solicitação**

```
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"
                 ]
               }
             }
           ]
         }
      }
   ]
}
```

Forneça informações para os campos para adicionar o tipo de `UpdateBuyerTargetingTerms` alteração:
+ **Entidade ** (objeto) (obrigatório) — Sua autorização de revenda. 
  + **Tipo ** (string) (obrigatório) — O `Type` é sempre`ResaleAuthorization@1.0`. 
  + **Identificador ** (string) (obrigatório) — Seu ID de autorização de revenda. Para obter mais informações, consulte [Identificador](catalog-apis.md#identifier).
+ **DetailsDocument**(objeto) (obrigatório) — Especificações da solicitação.
  + **Termos ** (matriz de estruturas) (opcional) — Lista de compradores que segmentam termos que você deseja atualizar. Se a intenção não for direcioná-la `ResaleAuthorization` a nenhum comprador específico, o campo de termos poderá ser ignorado. Por padrão, `ResaleAuthorization` é direcionado a todos os compradores. Os termos aceitos são:
    + **BuyerTargetingTerms**(objeto) (opcional) — Defina a segmentação específica do comprador para seu. ResaleAuthorization
      + **Tipo ** (string) (obrigatório) — Categoria do termo que está sendo atualizado.
      + **PositiveTargeting**(objeto) (obrigatório) — Define os critérios que o perfil de qualquer comprador deve cumprir para ter acesso ao`ResaleAuthorization`.
        + **BuyerAccounts**(matriz de strings) (opcional) — Listar como opcional. Você pode adicionar o do comprador-alvo Contas da AWS. Se a intenção não for `ResaleAuthorization` atingir compradores específicos, esse campo deve ser omitido. Por padrão, todos os compradores são segmentados. Os parceiros de canal segmentados podem optar por criar uma oferta privada e segmentar um subconjunto de compradores, se especificado.

**Sintaxe de resposta **

Um conjunto de alterações é criado para sua solicitação. A resposta a essa solicitação fornece o `ChangeSetId` e `ChangeSetArn` para o conjunto de alterações e tem a seguinte aparência.

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

A solicitação de alteração é adicionada a uma fila e processada. Isso inclui a validação das informações com a equipe de operações do AWS Marketplace vendedor para garantir que elas atendam às AWS Marketplace diretrizes. O processo de validação pode levar de alguns minutos a algumas horas. 

Você pode verificar o status da solicitação por meio da Portal de gerenciamento do AWS Marketplace API Catalog ou diretamente pela API Catalog usando a operação da `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

**Validações síncronas **

As validações do esquema são específicas `UpdateBuyerTargetingTerms` das ações no. AWS Marketplace Catalog API Essas validações são realizadas quando você liga`StartChangeSet`. Se a solicitação não atender aos seguintes requisitos, ela falhará com uma resposta HTTP.


| Campo de entrada | Regra de validação | 
| --- | --- | 
| Termos | Opcional<br />Não deve ser nulo ou vazio<br />Somente "BuyerTargetingTerm" é permitido na lista <br />O tamanho da lista deve ser 1 (atualmente não há nenhum caso de uso que exija vários termos de compra) | 
| BuyerTargetingTerm.PositiveTargeting | Obrigatório<br />Não deve estar vazio | 
| BuyerTargetingTerm.PositiveTargeting.BuyerAccounts | Opcional<br />Conta da AWS Os IDs devem estar em formato válido (número de 12 dígitos)<br />Não deve conter mais de 25 contas | 
| Uma propriedade desconhecida | Nenhuma propriedade adicional é permitida | 

**Erros assíncronos **

Os erros a seguir são específicos `UpdateBuyerTargetingTerms` das ações no AWS Marketplace Catalog API. Esses erros são retornados quando você liga `DescribeChangeSet` após o processamento de um conjunto de alterações. Para obter mais informações sobre como usar `DescribeChangeSet` para obter o status de uma solicitação de alteração, consulte[Trabalhando com conjuntos de alterações](catalog-apis.md#working-with-change-sets).


| Código de erro  | Mensagem de erro | 
| --- | --- | 
| SEGMENTAÇÃO\_COMPRADOR\_INCOMPATÍVEL | Pelo menos uma conta de comprador deve estar presente no ResaleAuthorization With PreExistingBuyerAgreement.  | 

## Disponibilidade de atualizações
<a name="update-availability-resale-auth"></a>

Você pode usar a API Catalog para limitar a disponibilidade de quantas ofertas privadas são criadas ou até quando uma oferta privada pode ser criada.

Por padrão, o valor é o uso ilimitado dessa Autorização de Revenda, embora você possa verificar a disponibilidade na lista de regras.

Para controlar a disponibilidade e a usabilidade de sua Autorização de Revenda, chame a operação da `StartChangeSet` API com o tipo de `UpdateAvailability` alteração, conforme mostrado no exemplo a seguir. 

**Sintaxe da solicitação**

```
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
      }
    }
  ]
}
```

Forneça informações para os campos para adicionar o tipo de `UpdateAvailability` alteração:
+ **Entidade ** (objeto) (obrigatório) — Sua autorização de revenda. 
  + **Tipo ** (string) (obrigatório) — O `Type` é sempre`ResaleAuthorization@1.0`. 
  + **Identificador ** (string) (obrigatório) — Seu ID de autorização de revenda. Para obter mais informações, consulte [Identificador](catalog-apis.md#identifier).
+ **DetailsDocument**(objeto) (obrigatório) — Especificações da solicitação.
  + **AvailabilityEndDate**(string) (opcional) — Defina a data de término até que os parceiros de canal possam aproveitar o `ResaleAuthorization` para criar uma oferta. Os parceiros de canal podem usar isso `ResaleAuthorization` várias vezes até a data de término especificada. As datas são representadas no formato ISO\_8601.
  + **OffersMaxQuantity**(inteiro) (opcional) — Defina o número máximo de ofertas privadas que podem ser criadas usando o. ResaleAuthorization Isso não define o número de assinaturas.

**Sintaxe de resposta **

Um conjunto de alterações é criado para sua solicitação. A resposta a essa solicitação fornece o `ChangeSetId` e `ChangeSetArn` para o conjunto de alterações e tem a seguinte aparência.

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

A solicitação de alteração é adicionada a uma fila e processada. Isso inclui a validação das informações com a equipe de operações do AWS Marketplace vendedor para garantir que elas atendam às AWS Marketplace diretrizes. O processo de validação pode levar de alguns minutos a algumas horas. 

Você pode verificar o status da solicitação por meio da Portal de gerenciamento do AWS Marketplace API Catalog ou diretamente pela API Catalog usando a operação da `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

**Validações síncronas **

As validações do esquema são específicas `UpdateAvailability` das ações no. AWS Marketplace Catalog API As validações são realizadas quando você liga`StartChangeSet`. Se a solicitação não atender aos seguintes requisitos, ela falhará com uma resposta HTTP


| Campo de entrada | Regra de validação | 
| --- | --- | 
| OffersMaxQuantity | Opcional<br />Deve ser um número inteiro não negativo<br />Valor permitido somente “1" (atualmente, nenhum caso de uso compatível com várias quantidades) | 
| AvailabilityEndDate | Opcional<br />Deve estar no formato ISO\_8601 <br />Deve ser uma data futura | 
| Disponibilidade | Forneça um OffersMaxQuantity ou AvailabilityEndDate. | 
| Uma propriedade desconhecida | Nenhuma propriedade adicional é permitida | 

**Erros assíncronos **

Os erros a seguir são específicos `UpdateAvailability` das ações na API do AWS Marketplace Catalog. Esses erros são retornados quando você liga `DescribeChangeSet` após o processamento de um conjunto de alterações. Para obter mais informações sobre como usar `DescribeChangeSet` para obter o status de uma solicitação de alteração, consulte[Trabalhando com conjuntos de alterações](catalog-apis.md#working-with-change-sets).


| Código de erro  | Mensagem de erro | 
| --- | --- | 
| DATA\_FINAL\_DE\_DISPONIBILIDADE INVÁLIDA | Forneça um AvailabilityEndDate que seja antes ChargeDate de tudo ResalePaymentScheduleTerms.  | 
|  DATA\_FINAL\_DE\_DISPONIBILIDADE INVÁLIDA | Proporcione um futuro AvailabilityEndDate.  | 

## Atualizar a validade de um contrato com data futura
<a name="update-validity-fda"></a>

Você pode usar a API Catalog para modificar e controlar uma data futura de início do serviço em AWS Marketplace.

Esse conjunto de alterações não é obrigatório para liberar uma autorização de revenda.

Para modificar e controlar a duração do contrato de produto da sua Autorização de Revenda, chame a operação da `StartChangeSet` API com o tipo de `UpdateBuyerValidityTerms` alteração, conforme mostrado no exemplo a seguir. 

**nota**  
Future-dated os contratos são suportados apenas para tipos de produtos SaaS.

**Sintaxe da solicitação**

```
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"
          }
        ]
      }
    }
  ]
}
```

Forneça informações para os campos de entrada para adicionar o tipo de `UpdateBuyerValidityTerms` alteração:
+ **Entidade ** (objeto) (obrigatório) — Sua autorização de revenda. 
  + **Tipo ** (string) (obrigatório) — O `Type` é sempre`ResaleAuthorization@1.0`. 
  + **Identificador ** (string) (obrigatório) — Seu ID de autorização de revenda. Para obter mais informações, consulte [Identificador](catalog-apis.md#identifier).
+ **DetailsDocument**(objeto) (obrigatório) — Especificações da solicitação.
  + **Termos ** (matriz de estruturas) — Lista dos termos de validade do contrato que você deseja atualizar. Os termos aceitos são:
    + **BuyerValidityTerm**(objeto) — Define a disponibilidade de um serviço para um produto em seu ResaleAuthorization.
      + **Tipo ** (string) — Categoria do termo que está sendo atualizada.
      + **MaximumAgreementStartDate**(string) (obrigatório) — Defina a data de início do contrato para o produto oferecido. Ofertas com data futura não podem exceder essa data de início do serviço. As datas são representadas no formato ISO\_8601. 

**Sintaxe de resposta **

Um conjunto de alterações é criado para sua solicitação. A resposta a essa solicitação fornece o `ChangeSetId` e `ChangeSetArn` para o conjunto de alterações e tem a seguinte aparência.

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

A solicitação de alteração é adicionada a uma fila e processada. Isso inclui a validação das informações com a equipe de operações do AWS Marketplace vendedor para garantir que elas atendam às AWS Marketplace diretrizes. O processo de validação pode levar de alguns minutos a algumas horas. 

Você pode verificar o status da solicitação por meio da Portal de gerenciamento do AWS Marketplace API Catalog ou diretamente pela API Catalog usando a operação da `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

**Validações síncronas **

As validações do esquema são específicas `UpdateBuyerValidityTerms` das ações no. AWS Marketplace Catalog API As validações são realizadas quando você liga`StartChangeSet`. Se a solicitação não atender aos seguintes requisitos, ela falhará com uma resposta HTTP.


| Campo de entrada | Regra de validação | 
| --- | --- | 
|  Termos  | Obrigatório<br />Não deve ser nulo ou vazio<br />Somente "BuyerValidityTerm" é permitido na lista<br />O tamanho da lista deve ser 1 (atualmente não há nenhum caso de uso que exija vários termos de disponibilidade do serviço) | 
| MaximumAgreementStartDate | Obrigatório<br />Não deve ser nulo ou vazio<br />Deve ser uma data futura e não deve exceder mais de 3 anos a partir de agora <br />Deve estar no formato ISO\_8601 | 
| Uma propriedade desconhecida | Nenhuma propriedade adicional é permitida | 

**Erros assíncronos **

Os erros a seguir são específicos `UpdateBuyerValidityTerms ` das ações no AWS Marketplace Catalog API. Esses erros são retornados quando você liga `DescribeChangeSet` após o processamento de um conjunto de alterações. Para obter mais informações sobre como usar `DescribeChangeSet` para obter o status de uma solicitação de alteração, consulte[Trabalhando com conjuntos de alterações](catalog-apis.md#working-with-change-sets).


| Código de erro  | Mensagem de erro | 
| --- | --- | 
| PRODUTO\_INCOMPATÍVEL | BuyerValidityTerm não é compatível com o produto.  | 
| DATA DE INÍCIO DO CONTRATO MÁXIMO INVÁLIDA | Forneça um futuro MaximumAgreementStartDate com um limite permitido.  | 

## Atualizar recursos legais
<a name="update-existing-legal-terms"></a>

Você pode usar a API Catalog para substituir completamente os termos legais existentes em AWS Marketplace.

Os termos legais que não estão incluídos na solicitação mais recente serão removidos da Autorização de Revenda. `BuyerLegalTerm`contém o EULA, que será incluído no contrato final do comprador, e `LegalTerm` inclui o Contrato de Revendedor, que será incluído no contrato de revendedor entre o parceiro de canal e o ISV.

Para atualizar seus termos legais`ResaleAuthorization`, chame a operação da `StartChangeSet` API com o tipo de `UpdateLegalTerms` alteração, conforme mostrado no exemplo a seguir. 

**Sintaxe da solicitação**

```
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"
              }
            ]
          }
        ]
      }
    }
  ]
}
```

Forneça informações para os campos para adicionar o tipo de `UpdateLegalTerms` alteração:
+ **Entidade ** (objeto) (obrigatório) — Sua autorização de revenda. 
  + **Tipo ** (string) (obrigatório) — O `Type` é sempre`ResaleAuthorization@1.0`. 
  + **Identificador ** (string) (obrigatório) — Seu ID de autorização de revenda. Para obter mais informações, consulte [Identificador](catalog-apis.md#identifier).
+ **DetailsDocument**(objeto) (obrigatório) — Especificações da solicitação.
  + **Termos ** (matriz de estruturas) (obrigatório) — Lista de termos legais. Os termos legais aceitos são:
    + **BuyerLegalTerm**(objeto) (obrigatório) — Define a lista de acordos de texto a serem propostos aos aceitantes. Por exemplo, o contrato de licença de usuário final (EULA).
    + **Tipo ** (string) (obrigatório) — Categoria do termo que está sendo atualizado.
    + **Documentos ** (matriz de estruturas) (obrigatório) — Lista de referências a recursos legais a serem propostos aos compradores. Por exemplo, o EULA. Cada referência é composta por a `Type` e a`URL`:
      + **Tipo ** (string) (obrigatório) — Tipo de documento. Os tipos de documentos disponíveis são:
        + **StandardEula**— Contrato padrão para AWS Marketplace. Para obter mais informações, consulte [ SCMP ](https://docs.aws.amazon.com/marketplace/latest/userguide/standardized-license-terms.html#standard-contracts) no Guia * do *AWS Marketplace vendedor. Você não precisa fornecer um URL para esse tipo porque ele é gerenciado pelo AWS Marketplace.
        + **EnterpriseEula**— Contrato empresarial para AWS Marketplace. Para obter mais informações, consulte DSA no Guia do AWS Marketplace vendedor. Você não precisa fornecer um URL para esse tipo porque ele é gerenciado pelo AWS Marketplace.
        + **CustomEula**— EULA personalizado fornecido por você como fabricante. É necessário um URL para o EULA armazenado em um bucket acessível do S3 para esse tipo de documento.
      + **Url ** (string) (obrigatório condicionalmente) — Um URL do documento legal para os compradores lerem. Isso é necessário quando o Tipo de categoria é`CustomEula`.
    + **ResaleLegalTerm**(objeto) (opcional) — Define a lista de contratos de texto a serem propostos somente aos parceiros de canal. Esse termo não estará disponível para compradores.
      + **Tipo ** (string) (obrigatório) — Categoria do termo que está sendo atualizada.
      + **Documentos ** (variedade de estruturas) (obrigatório) — Lista de referências aos recursos jurídicos do revendedor a serem propostos aos parceiros do canal.
        + **Tipo ** (string) (obrigatório) — Categoria do documento. Os tipos de documentos disponíveis são:
          + **StandardResellerContract**— Contrato de revendedor padrão para AWS Marketplace.
          + **CustomResellerContract**— Um contrato de revendedor personalizado feito por você como fabricante. Um URL para o contrato de revendedor é armazenado em um bucket acessível do S3 e é necessário para esse tipo de documento.
        + **Url ** (string) (obrigatório condicionalmente) — URL do documento do contrato de revendedor para os parceiros de canal lerem. É necessário quando o Tipo é CustomResellerContract.

**Sintaxe de resposta **

Um conjunto de alterações é criado para sua solicitação. A resposta a essa solicitação fornece o `ChangeSetId` e `ChangeSetArn` para o conjunto de alterações e tem a seguinte aparência.

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

A solicitação de alteração é adicionada a uma fila e processada. Isso inclui a validação de informações para garantir que elas atendam às AWS Marketplace diretrizes. O processo de validação pode levar de alguns minutos a algumas horas.

Você pode verificar o status da solicitação por meio da Portal de gerenciamento do AWS Marketplace API Catalog ou diretamente pela API Catalog usando a operação da `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

**Validações síncronas **

As validações do esquema são específicas `UpdateLegalTerms` das ações no. AWS Marketplace Catalog API As validações são realizadas quando você liga`StartChangeSet`. Se a solicitação não atender aos seguintes requisitos, ela falhará com uma resposta HTTP.


| Campo de entrada | Regra de validação | Código HTTP | 
| --- | --- | --- | 
| Termos | Obrigatório<br />Não deve ser nulo ou vazio | 422 | 
| Termos []. BuyerLegalTerm | Obrigatório<br />Não deve ser nulo ou vazio | 422 | 
| Termos []. ResaleLegalTerm | Opcional<br />Não deve ser nulo ou vazio se estiver presente | 422 | 
| Termos []. BuyerLegalTerm.Documents | Obrigatório<br />Não deve ser nulo ou vazio | 422 | 
| Termos []. BuyerLegalTerm.Documents[] .Tipo | Obrigatório<br />Não deve ser nulo ou vazio <br />Valores permitidos:+  StandardEula <br />+  EnterpriseEula <br />+  CustomEula  | 422 | 
| Termos []. BuyerLegalTerm.Documents[] .URL | Obrigatório e deve ser um URL válido quando “Tipo” é "CustomEula” Não deve ser fornecido quando “Tipo” é um dos [” StandardEula “," EnterpriseEula “] | 422 | 
| Termos []. ResaleLegalTerm.Documents | Obrigatório<br />Não deve ser nulo ou vazio | 422 | 
| Termos []. ResaleLegalTerm.Documents[] .Tipo | Obrigatório<br />Valores permitidos não devem ser nulos ou vazios:+   StandardEula <br />+   CustomResellerContract  | 422 | 
| Termos []. ResaleLegalTerm.Documents[] .URL | Obrigatório e deve ser um URL válido quando “Tipo” é "CustomResellerContract”<br />Não deve ser fornecido quando “Tipo” é um dos [” StandardContract “] | 422 | 
| Uma propriedade desconhecida | Nenhuma propriedade adicional é permitida | 422 | 

**Erros assíncronos **

Os erros a seguir são específicos `UpdateLegalTerms` das ações no AWS Marketplace Catalog API. Esses erros são retornados quando você liga`DescribeChangeSet`, após o processamento de um conjunto de alterações. Para obter mais informações sobre como usar `DescribeChangeSet` para obter o status de uma solicitação de alteração, consulte[Trabalhando com conjuntos de alterações](catalog-apis.md#working-with-change-sets).


| Código de erro  | Mensagem de erro | 
| --- | --- | 
| DOCUMENTOS\_LEGAIS\_COMPRADORES\_INVÁLIDOS | Forneça URLs para documentos legais do comprador armazenados em buckets acessíveis do S3.  | 
| DOCUMENTOS\_LEGAIS\_DE REVENDA INVÁLIDOS | Forneça URLs para documentos legais de revenda armazenados em buckets acessíveis do S3.  | 
| TERMOS\_OBRIGATÓRIOS AUSENTES | Forneça um BuyerLegalTerm.  | 

## Atualizar preços
<a name="update-existing-pricing-terms"></a>

Você pode usar a API Catalog para substituir completamente os termos de preços existentes AWS Marketplace.

Os termos de preços que não estão incluídos na solicitação mais recente serão removidos da Autorização de Revenda. Você pode atualizar o preço com desconto do seu produto por meio dessa API.

Para atualizar os detalhes de preços de suas autorizações de revenda, chame a operação da `StartChangeSet` API com o tipo de `UpdatePricingTerms` alteração, conforme mostrado no exemplo a seguir. 

**Sintaxe da solicitação**

```
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
              }
            ]
          }
        ]
      }
    }
  ]
}
```

Forneça informações para os campos para adicionar o tipo de `UpdatePricingTerms` alteração:
+ **Entidade ** (objeto) (obrigatório) — Sua autorização de revenda. 
  + **Tipo ** (string) (obrigatório) — O `Type` é sempre`ResaleAuthorization@1.0`. 
  + **Identificador ** (string) (obrigatório) — Seu ID de autorização de revenda. Para obter mais informações, consulte [Identificador](catalog-apis.md#identifier).
+ **DetailsDocument**(objeto) (obrigatório) — Especificações da solicitação.
  + **PricingModel**(string) (obrigatório) — Modelo de preço para sua oferta. Os valores possíveis para o modelo de preços são:
    + **Uso ** — modelo Usage-based de preços em que os compradores serão cobrados pelo uso de seu produto.
    + **Contrato ** — No modelo de preços baseado em contrato, os compradores são cobrados antecipadamente pelo uso de seu produto ou oferecem um cronograma de pagamento flexível. Os compradores também podem pagar pelo uso adicional acima do contrato. Os parceiros de canal podem adicionar sua margem de lucro a esse cronograma de pagamento e preços para cada dimensão.
  + **Termos ** (matriz de estruturas) (obrigatório) — Lista de termos de preços que você deseja atualizar. Os termos de preços aceitos são:
    + **ResaleUsageBasedPricingTerm**(objeto) — Define um modelo de preços pré-pago (PAYG) em que os clientes são cobrados com base no uso do produto.
      + **Tipo ** (string) (obrigatório) — Categoria do termo.
      + **CurrencyCode**(string) — Define a moeda para os preços mencionados neste termo. Atualmente, somente USD é suportado.
      + **RateCards**(matriz de estruturas) — Lista de tabelas de tarifas.
        + **RateCard**(matriz de estruturas) — Uma tabela de tarifas define as tarifas por unidade para as dimensões do produto.
          + **DimensionKey**(string) — Dimensão à qual o direito fornecido se aplica. As dimensões representam categorias de capacidade em um produto e são especificadas quando o produto é listado em AWS Marketplace.
          + **Preço ** (string) — Preço por unidade para a dimensão do produto que é usada para calcular o valor a ser cobrado.
        + **Restrições ** (objeto) (opcional) — Define limites de como o termo pode ser configurado pelos aceitadores.
          + **MultipleDimensionSelection**(string) (opcional) — Determina se os compradores podem selecionar várias dimensões na tabela de preços. Os possíveis valores são `Allowed` e `Disallowed`. O valor padrão é `Allowed`.
          + **QuantityConfiguration**(string) (opcional) — Determina se os aceitantes podem configurar a quantidade para cada dimensão na tabela de preços. Os possíveis valores são `Allowed` e `Disallowed`. O valor padrão é `Allowed`.
    + **ResaleFixedUpfrontPricingTerm**(objeto) — Define um modelo de preço pré-pago em que os clientes recebem um valor inicial fixo.
      + **Tipo ** (string) (obrigatório) — Categoria do termo que está sendo atualizado.
      + **CurrencyCode**(string) — Define a moeda para os preços mencionados neste termo. Define a moeda para os preços mencionados neste termo. USD, AUD, EUR, GBP e JPY são suportados.
      + **Preço ** (string) (obrigatório) — Valor fixo a ser cobrado do cliente quando esse termo for aceito.
      + **Duração ** (string) (obrigatório) — Duração do contrato do ResaleAuthorization. Esse campo é compatível com o formato ISO 8601.
      + **Subsídios ** (variedade de estruturas) (obrigatório) — Direitos que serão concedidos ao aceitante de preços iniciais fixos como parte da execução do contrato.
        + **DimensionKey**(string) (obrigatório) — Chave de dimensão exclusiva definida no documento do produto. As dimensões representam categorias de capacidade em um produto e são especificadas quando o produto é listado em AWS Marketplace.
        + **MaxQuantity**(inteiro) (obrigatório) — Quantidade máxima de capacidade que o comprador pode ter direito à determinada dimensão do produto. Se não MaxQuantity for fornecido, o comprador poderá usar uma quantidade ilimitada da dimensão especificada.

**Sintaxe de resposta **

Um conjunto de alterações é criado para sua solicitação. A resposta a essa solicitação fornece o `ChangeSetId` e `ChangeSetArn` para o conjunto de alterações e tem a seguinte aparência.

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

A solicitação de alteração é adicionada a uma fila e processada. Isso inclui a validação de informações para garantir que elas atendam às AWS Marketplace diretrizes. O processo de validação pode levar de alguns minutos a algumas horas.

Você pode verificar o status da solicitação por meio da Portal de gerenciamento do AWS Marketplace API Catalog ou diretamente pela API Catalog usando a operação da `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

**Validações síncronas **

As validações de esquema a seguir são específicas para `UpdatePricingTerms` ações na API do AWS Marketplace Catalog. As validações são realizadas quando você liga`StartChangeSet`. Se a solicitação não atender aos seguintes requisitos, ela falhará com uma resposta HTTP.


| Campo de entrada | Regra de validação | 
| --- | --- | 
| Termos | Obrigatório<br />Não deve ser nulo ou vazio<br />Cada termo deve apresentar apenas os termos permitidos uma única vez:+  \* ResaleUsageBasedPricingTerm <br />+  \* ResaleConfigurableUpfrontPricingTerm <br />+  \* ResaleFixedupfrontPricingTerm  | 
| Termos []. ResaleUsageBasedPricingTerm.CurrencyCode | Obrigatório <br />Valores permitidos: USD | 
| Termos []. ResaleUsageBasedPricingTerm.Validity | Obrigatório<br />Não deve ser nulo ou vazio<br />Formato esperado: duração da ISO 8601 | 
| Termos []. ResaleUsageBasedPricingTerm.RateCards | Obrigatório<br />Não deve ser nulo ou vazio | 
| Termos []. ResaleUsageBasedPricingTerm.RateCards[]. DimensionKey | Obrigatório<br />Não deve ser nulo ou vazio <br />O comprimento deve estar entre 1 e 60 | 
| Termos []. ResaleUsageBasedPricingTerm.RateCards[] .Preço | Obrigatório<br />Não deve ser nulo ou vazio <br />O tipo de dados é “String” <br />Deve ser não negativo <br />Suporta até 8 decimais<br />Não há suporte para caracteres especiais | 
| Termos []. ResaleConfigurableUpfrontPricingTerm.CurrencyCode | Obrigatório <br />Valores permitidos: ["USD”, “AUD”, “EUR”, “GBP”, “JPN"] | 
| Termos []. ResaleConfigurableUpfrontPricingTerm.RateCards[]. Selector.Type | Obrigatório<br />Não deve ser nulo ou vazio <br />Valores permitidos: Duração | 
| Termos []. ResaleConfigurableUpfrontPricingTerm.RateCards[]. Selector.Value | Obrigatório<br />Não deve ser nulo ou vazio<br />Formato esperado: duração da ISO 8601 | 
| Termos []. ResaleConfigurableUpfrontPricingTerm.RateCards[]. RateCard.DimensionKey | Obrigatório<br />Não deve ser nulo ou vazio <br />O comprimento deve estar entre 1 e 60 | 
| Termos []. ResaleConfigurableUpfrontPricingTerm.RateCards[]. RateCard.Price | Obrigatório<br />Não deve ser nulo ou vazio <br />O tipo de dados é “String” <br />Deve ser não negativo <br />Suporta até 6 decimais<br />Não há suporte para caracteres especiais | 
| Termos []. ResaleConfigurableUpfrontPricingTerm.RateCards[] .Restrições | Opcional | 
| Termos []. ResaleFixedUpfrontPricingTerm.CurrencyCode | Obrigatório Valores permitidos: ["USD”, “AUD”, “EUR”, “GBP”, “JPN"] | 
| Termos []. ResaleFixedUpfrontPricingTerm.Price | Obrigatório<br />Não deve ser nulo ou vazio <br />O tipo de dados é “String” <br />Deve ser não negativo <br />Suporta até 6 decimais<br />Não há suporte para caracteres especiais <br />Valores permitidos: 0,0 | 
| Termos []. ResaleFixedUpfrontPricingTerm.Duration | Obrigatório<br />Não deve ser nulo ou vazio<br />Formato esperado: duração da ISO 8601 | 
| Termos []. ResaleFixedUpfrontPricingTerm.Grants[]. DimensionKey | Obrigatório<br />Não deve ser nulo ou vazio <br />O comprimento deve estar entre 1 e 60 | 
| Termos []. ResaleFixedUpfrontPricingTerm.Grants[]. MaxQuantty | Obrigatório<br />Não deve ser nulo ou vazio | 
| Uma propriedade desconhecida | Nenhuma propriedade adicional é permitida | 

**Erros assíncronos **

Os erros a seguir são específicos `UpdatePricingTerms` das ações no AWS Marketplace Catalog API. Esses erros são retornados quando você liga `DescribeChangeSet` após o processamento de um conjunto de alterações. Para obter mais informações sobre como usar `DescribeChangeSet` para obter o status de uma solicitação de alteração, consulte[Trabalhando com conjuntos de alterações](catalog-apis.md#working-with-change-sets).


| Código de erro | Mensagem de erro | 
| --- | --- | 
| CÓDIGO\_DE\_MOEDA INVÁLIDO | Forneça o mesmo CurrencyCode em todos os preços e condições de pagamento.  | 
| PRODUTO\_INCOMPATÍVEL | Use as dimensões existentes e disponíveis no produto em [x].  | 
| CHAVES\_DIMENSÕES\_DUPLICADAS | Forneça uma tabela de tarifas com uma lista exclusiva de chaves de dimensão em [x]  | 
| CARTÃO\_DE\_TARIFA INVÁLIDA | Forneça dimensões que tenham a mesma unidade em [x]  | 
| CARTÃO\_DE\_TARIFA INVÁLIDA | Forneça uma tabela de preços apenas para dimensões medidas em ResaleUsageBasedPricingTerm.  | 
| CARTÃO\_DE\_TARIFA INVÁLIDA | Forneça taxas baseadas no uso para todas as dimensões medidas disponíveis em ResaleUsageBasedPricingTerm.  | 
| MUITOS\_TAXAS | Forneça RateCards dentro dos limites permitidos em ResaleUsageBasedPricingTerm.  | 
| SELETORES\_DUPLICADOS | Forneça uma lista exclusiva de seletores em ResaleConfigurableUpfrontPricingTerm.  | 
| CARTÃO\_DE\_TARIFA INVÁLIDA | ConfigurableUpfrontPricingTerm está faltando uma ou mais chaves de dimensão durante a duração [x]. Forneça preços para o mesmo conjunto de chaves de dimensão para todas as durações.  | 
| CARTÃO\_DE\_TARIFA INVÁLIDA | Forneça todas as dimensões medidas ou todas as dimensões autorizadas em [x].  | 
| RESTRIÇÕES DE TAXA DE CARTÃO INCOMPATÍVEIS |  QuantityConfiguration Defina MultipleDimensionSelection e como Não permitido ResaleConfigurableUpfrontPricingTerm para o. PricingModel  | 
| CARTÕES DE TARIFA DEMAIS | Somente uma tabela de tarifas ConfigurableUpfrontPricingTerm é permitida para o produto.  | 
| TERMOS\_INCOMPATÍVEIS | Os termos a seguir não são compatíveis com PricingModel: [x, y, z].  | 
| MUITOS\_TAXAS | Forneça RateCards dentro dos limites permitidos em [prazo x].  | 
| MUITOS\_SUBSÍDIOS | Forneça até [N] subsídios em [prazo x].  | 
| VALOR\_DURAÇÃO\_SELETOR\_INVÁLIDO | Forneça duração entre [x] e [y] meses em ResaleConfigurableUpfront  | 
| MUITOS\_SUBSÍDIOS | Forneça uma duração entre [x] e [y] meses.  | 
| VALOR\_DURAÇÃO\_SELETOR\_INVÁLIDO | Garanta que a granularidade da duração esteja no nível do dia para dimensões medidas em ResaleConfigurableUpfront  | 
| DURAÇÃO\_INVÁLIDA | Garanta que a granularidade da duração esteja no nível do dia para dimensões medidas em. FixedUpfront  | 
| CARTÃO\_DE\_TARIFA INVÁLIDA | Forneça somente dimensões autorizadas em [x].  | 
| DURAÇÃO\_AUSENTE | Forneça uma duração em [x].  | 
| CHAVES\_DIMENSÕES\_DUPLICADAS | Forneça aos Grants uma lista exclusiva de chaves de dimensão em [x].  | 
| CONFIGURAÇÕES\_DE\_PAGAMENTO INCOMPATÍVEIS | Atualize suas configurações de pagamento para serem compatíveis com CurrencyCode o.  | 
| VERIFICAÇÃO\_DO\_VENDEDOR\_INCOMPATÍVEL | Conclua todos os processos de verificação do vendedor necessários.  | 
| CÓDIGO\_DE\_MOEDA INVÁLIDO | Forneça um suporte CurrencyCode.  | 
| CÓDIGO\_DE\_MOEDA INVÁLIDO | Forneça o mesmo CurrencyCode em todos os preços e condições de pagamento.  | 
| CÓDIGO\_DE\_MOEDA INCOMPATÍVEL | CurrencyCode não pode ser alterado após o lançamento da oferta.  | 

## Atualizar cronograma de pagamento
<a name="update-payment-schedule-details"></a>

Você pode usar a API Catalog para alterar os detalhes associados ao pagamento, como um cronograma de pagamento flexível, em. AWS Marketplace

Para atualizar os detalhes associados ao pagamento da sua Autorização de Revenda, chame a operação da `StartChangeSet` API com o tipo de `UpdatePaymentScheduleTerms` alteração, conforme mostrado no exemplo a seguir.

**Sintaxe da solicitação**

```
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"
              }
            ]
          }
        ]
      }
    }
  ]
}
```

Forneça informações para os campos para adicionar o tipo de `UpdatePaymentScheduleTerms` alteração:
+ **Entidade ** (objeto) (obrigatório) — Sua autorização de revenda. 
  + **Tipo ** (string) (obrigatório) — O `Type` é sempre`ResaleAuthorization@1.0`. 
  + **Identificador ** (string) (obrigatório) — Seu ID de autorização de revenda. Para obter mais informações, consulte [Identificador](catalog-apis.md#identifier).
+ **DetailsDocument**(objeto) (obrigatório) — Especificações da solicitação.
  + **Termos ** (matriz de estruturas) — Lista de condições de pagamento que você deseja atualizar. As condições de pagamento aceitas são:
    + **ResalePaymentScheduleTerm**(objeto) — Define um modelo de preço baseado em parcelas em que os clientes recebem um preço fixo em datas diferentes durante o período de validade do contrato.
      + **Tipo ** (string) — Categoria do termo que está sendo atualizado.
      + **CurrencyCode**(string) (obrigatório) — Define a moeda para o pagamento mencionado na programação. USD, AUD, EUR, GBP e JPY são suportados.
      + **Cronograma ** (matriz de estruturas) — Lista do cronograma de pagamento em que cada elemento define uma parcela do pagamento. Ele contém as informações necessárias para calcular o preço a ser pago e a data em que o cliente seria cobrado.
        + **ChargeDate**(string) (obrigatório) — A data em que o cliente pagaria o preço definido neste prazo do cronograma de pagamento. Esse campo é compatível com o formato ISO 8601.
        + **ChargeAmount**(string) (obrigatório) — O preço que o cliente pagaria em uma data programada (ChargeDate).

**Sintaxe de resposta **

Um conjunto de alterações é criado para sua solicitação. A resposta a essa solicitação fornece o `ChangeSetId` e `ChangeSetArn` para o conjunto de alterações e tem a seguinte aparência.

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

A solicitação de alteração é adicionada a uma fila e processada. Isso inclui a validação de informações para garantir que elas atendam às AWS Marketplace diretrizes. O processo de validação pode levar de alguns minutos a algumas horas.

Você pode verificar o status da solicitação por meio da Portal de gerenciamento do AWS Marketplace API Catalog ou diretamente pela API Catalog usando a operação da `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

**Validações síncronas **

As validações do esquema são específicas `UpdatePaymentScheduleTerms` das ações no. AWS Marketplace Catalog API As validações são realizadas quando você liga`StartChangeSet`. Se a solicitação não atender aos seguintes requisitos, ela falhará com uma resposta HTTP.


| Campo de entrada | Regra de validação | HTTP | 
| --- | --- | --- | 
| Terms.Type | Obrigatório<br />Não compatível com o produto [x] <br />Termos permitidos: ResalePaymentScheduleTerm | 422 | 
| Termos []. CurrencyCode | Obrigatório<br />Valores permitidos: USD | 422 | 
| Termos []. ResalePaymentScheduleTerm.Schedule | Obrigatório<br />O comprimento deve estar entre 1 e 60 | 422 | 
| Termos []. ResalePaymentScheduleTerm.Shedule.ChargeDate | Obrigatório<br />Deve estar no formato ISO 8601<br />A data deve estar no futuro | 422 | 
| Termos []. ResalePaymentScheduleTerm.Shedule.ChargeAmount | Obrigatório<br />Deve ser não negativo | 422 | 
| Uma propriedade desconhecida | Nenhuma propriedade adicional é permitida | 422 | 

**Erros assíncronos **

Os erros a seguir são específicos `UpdatePaymentScheduleTerms` das ações no AWS Marketplace Catalog API. Esses erros são retornados quando você liga `DescribeChangeSet` após o processamento de um conjunto de alterações. Para obter mais informações sobre como usar `DescribeChangeSet` para obter o status de uma solicitação de alteração, consulte. [Trabalhando com conjuntos de alterações](catalog-apis.md#working-with-change-sets)


| Código de erro | Mensagem de erro | 
| --- | --- | 
| TERMOS\_INCOMPATÍVEIS | OffersMaxQuantity e AvailabilityEndDate deve estar presente com ResalePaymentScheduleTerm.  | 
| MUITOS PAGAMENTOS PROGRAMADOS | Forneça até 60 pagamentos programados em ResalePaymentScheduleTerm.  | 
| DATAS\_DE\_COBRANÇA DUPLICADAS | Forneça datas de cobrança exclusivas em ResalePaymentScheduleTerm.  | 
| DATAS\_DE\_COBRANÇA INVÁLIDAS | Proporcione um futuro ChargeDate.  | 
| DATAS\_DE\_COBRANÇA INVÁLIDAS | Forneça uma data da última cobrança anterior a [x].  | 
| TERMOS\_OBRIGATÓRIOS AUSENTES | Forneça um ResaleFixedUpfrontPricingTerm e ResalePaymentScheduleTerm juntos.  | 
| CÓDIGO\_DE\_MOEDA INVÁLIDO | Forneça o mesmo CurrencyCode em todos os preços e condições de pagamento.  | 
| CONFIGURAÇÕES\_DE\_PAGAMENTO INCOMPATÍVEIS | Atualize suas configurações de pagamento para serem compatíveis com CurrencyCode o.  | 
| VERIFICAÇÃO\_DO\_VENDEDOR\_INCOMPATÍVEL | Conclua todos os processos de verificação do vendedor necessários.  | 
| CÓDIGO\_DE\_MOEDA INVÁLIDO | Forneça um suporte CurrencyCode.  | 
| CÓDIGO\_DE\_MOEDA INVÁLIDO | Forneça o mesmo CurrencyCode em todos os preços e condições de pagamento.  | 
| CÓDIGO\_DE\_MOEDA INCOMPATÍVEL | CurrencyCode não pode ser alterado após o lançamento da oferta.  | 

## Atualizar as condições de pagamento líquido
<a name="update-resale-net-payment-terms"></a>

Você pode usar a API Catalog para definir as condições de pagamento líquido da sua Autorização de Revenda em AWS Marketplace. Um prazo de pagamento líquido é um prazo em que você especifica o número de dias após a emissão da fatura pelo qual o pagamento é devido.

O prazo de pagamento líquido definido em uma Autorização de Revenda é o prazo máximo que o parceiro de canal pode oferecer a um comprador em uma oferta privada de parceiro de canal (CPPO). O parceiro de canal pode oferecer o mesmo período ou um período mais curto, mas não mais longo. Para obter mais informações, consulte [Crie um CPPO](work-with-cppos.md#create-offer-using-resale-auth).

**nota**  
As condições de pagamento líquido só se aplicam aos compradores que têm um método de pagamento por fatura com. AWS Se você não definir condições de pagamento líquido em sua Autorização de Revenda, o parceiro de canal não poderá definir condições de pagamento líquido no CPPO, e as condições de pagamento do comprador serão aplicadas. AWS 

Para definir o prazo de pagamento líquido da sua Autorização de Revenda, chame a operação da `StartChangeSet` API com o tipo de `UpdateNetPaymentTerms` alteração, conforme mostrado no exemplo a seguir.

**Sintaxe da solicitação**

```
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"
          }
        ]
      }
    }
  ]
}
```

Forneça informações para os campos para adicionar o tipo de `UpdateNetPaymentTerms` alteração:
+ **Entidade ** (objeto) (obrigatório) — Sua autorização de revenda.
  + **Tipo ** (string) (obrigatório) — O `Type` é sempre`ResaleAuthorization@1.0`.
  + **Identificador ** (string) (obrigatório) — Seu ID de autorização de revenda. Para obter mais informações, consulte [Identificador](catalog-apis.md#identifier).
+ **DetailsDocument**(object) (obrigatório) — O valor JSON dos detalhes da solicitação.
  + **Termos ** (matriz de estruturas) (obrigatório) — Lista das condições de pagamento líquido que você deseja atualizar. Uma autorização de revenda pode conter no máximo um prazo de pagamento líquido. Para remover o prazo de pagamento líquido, forneça uma lista vazia. Os termos aceitos são:
    + **ResaleNetPaymentTerm**(objeto) — Define o prazo máximo de pagamento líquido que o parceiro de canal pode oferecer a um comprador.
      + **Tipo ** (string) — Tipo do termo que está sendo atualizado. Este é o valor do objeto:`"ResaleNetPaymentTerm"`.
      + **PaymentDuePeriod**(string) — O número de dias após a data de emissão da fatura em que o pagamento é devido. Esse campo suporta o formato ISO 8601. Os valores compatíveis são `P15D`, `P30D`, `P45D`, `P60D`, `P90D` e `P120D`.

**Sintaxe de resposta **

Um conjunto de alterações é criado para sua solicitação. A resposta a essa solicitação fornece o `ChangeSetId` e `ChangeSetArn` para o conjunto de alterações e tem a seguinte aparência.

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

A solicitação de alteração é adicionada a uma fila e processada. Isso inclui a validação de informações para garantir que elas atendam às AWS Marketplace diretrizes. O processo de validação pode levar alguns minutos. 

Você pode verificar o status da solicitação por meio da Portal de gerenciamento do AWS Marketplace API Catalog ou diretamente pela API Catalog usando a operação da `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

**Validações síncronas **

As validações de esquema a seguir são específicas `UpdateNetPaymentTerms` das ações no. AWS Marketplace Catalog API Essas validações são realizadas quando você liga`StartChangeSet`. Se a solicitação não atender aos seguintes requisitos, ela falhará com uma resposta HTTP.


| Campo de entrada | Regra de validação | Código HTTP | 
| --- | --- | --- | 
| Termos | Obrigatório<br />Só `ResaleNetPaymentTerm` é permitido<br />O tamanho da lista deve ser menor que 2 | 422 | 
| Termos [] .Tipo | Obrigatório<br />Só pode ser `ResaleNetPaymentTerm` | 422 | 
| Termos []. ResaleNetPaymentTerm.PaymentDuePeriod | Obrigatório<br />Formato esperado: duração da ISO 8601<br />Valores permitidos: ["P15D”, “P30D”, “P45D”, “P60D”, “P90D”, “P120D"] | 422 | 

**Erros assíncronos **

Os erros a seguir são específicos `UpdateNetPaymentTerms` das ações no AWS Marketplace Catalog API. Esses erros são retornados quando você liga `DescribeChangeSet` após o processamento de um conjunto de alterações. Para obter mais informações sobre como usar `DescribeChangeSet` para obter o status de uma solicitação de alteração, consulte[Trabalhando com conjuntos de alterações](catalog-apis.md#working-with-change-sets).


| Código de erro | Mensagem de erro | 
| --- | --- | 
| STATUS\_INCOMPATÍVEL | UpdateNetPaymentTerms a solicitação não pode ser executada após a liberação da autorização de revenda.  | 
| TERMOS\_INCOMPATÍVEIS | ResaleNetPaymentTerm não é compatível com a conta do vendedor [x].  | 

## Atualizar detalhes da autorização de revenda
<a name="update-resale-auth-information"></a>

Você pode usar a API do catálogo para atualizar os detalhes da autorização de revenda em AWS Marketplace.

Para atualizar os detalhes da autorização de revenda, chame a operação da `StartChangeSet` API com o tipo de `UpdateInformation` alteração, conforme mostrado no exemplo a seguir. 

**nota**  
O tipo de `UpdateInformation` alteração atualiza somente as seções fornecidas na solicitação; todas as outras informações permanecem inalteradas.

**Sintaxe da solicitação**

```
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"
        }
      }
    }
  ]
}
```

Forneça informações para os campos para adicionar o tipo de `UpdateInformation` alteração:
+ **Entidade ** (objeto) (obrigatório) — Sua autorização de revenda. 
  + **Tipo ** (string) (obrigatório) — O `Type` é sempre`ResaleAuthorization@1.0`. 
  + **Identificador ** (string) (obrigatório) — Seu ID de autorização de revenda. Para obter mais informações, consulte [Identificador](catalog-apis.md#identifier).
+ **DetailsDocument**(objeto) (obrigatório) — Detalhes da solicitação, incluindo as informações que você deseja atualizar para a Autorização de Revenda.
  + **Nome ** (string) (opcional) — O nome associado ao ResaleAuthorization para melhor legibilidade para você e seus parceiros de canal.
  + **Descrição ** (string) (opcional) — A descrição é um texto de formato livre onde você pode adicionar detalhes sobre o. ResaleAuthorization
  + **PreExistingBuyerAgreement**(objeto) (opcional) — Determina se essa oferta é uma renovação de um contrato existente com um cliente existente para o mesmo produto subjacente. O contrato existente pode ser interno ou externo AWS Marketplace. AWS pode auditar e verificar se sua oferta é uma renovação. Se AWS não conseguir verificar sua oferta, AWS poderá revogar a oferta e os direitos de seu cliente.
    + **AcquisitionChannel**(string) (obrigatório) — Indica se o contrato de compra existente foi assinado externamente AWS Marketplace ou internamente AWS Marketplace.

      Possíveis valores: `External`, `AwsMarketplace`
    + **PricingModel**(string) (obrigatório) ** — ** Indica qual modelo de preço o contrato existente usa.

      Possíveis valores: `Contract`, `Usage`, `BYOL`, `Free`

**Sintaxe de resposta **

Um conjunto de alterações é criado para sua solicitação. A resposta a essa solicitação fornece o `ChangeSetId` e `ChangeSetArn` para o conjunto de alterações e tem a seguinte aparência.

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

A solicitação de alteração é adicionada a uma fila e processada. Isso inclui a validação de informações para garantir que elas atendam às AWS Marketplace diretrizes. O processo de validação pode levar de alguns minutos a algumas horas.

Você pode verificar o status da solicitação por meio da Portal de gerenciamento do AWS Marketplace API Catalog ou diretamente pela API Catalog usando a operação da `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

**Validações síncronas **

As validações de esquema a seguir são específicas `UpdateInformation` das ações no. AWS Marketplace Catalog API Essas validações são realizadas quando você liga`StartChangeSet`, e a solicitação falhará com um erro HTTP se a entrada não atender aos seguintes requisitos.


| Campo de entrada | Regra de validação | Código HTTP | 
| --- | --- | --- | 
| Nome | Opcional<br />Não deve ser nulo ou vazio<br />O comprimento deve estar entre 1 e 100 caracteres <br />Padrão ^ [A-Za-z0-9] \*$<br />Nenhum caractere especial ou espaço em branco é permitido | 422 | 
| Description | Opcional<br />O comprimento deve estar entre 1 e 255 caracteres <br />Padrão ^ [A-Za-z0-9\\\\ s] \*$<br />Não são permitidos caracteres especiais | 422 | 
| Uma propriedade desconhecida | Nenhuma propriedade adicional é permitida | 422 | 

**Erros assíncronos **

Os erros a seguir são específicos `UpdateInformation` das ações no AWS Marketplace Catalog API. Esses erros são retornados quando você liga `DescribeChangeSet` após o processamento de um conjunto de alterações. Para obter mais informações sobre como usar `DescribeChangeSet` para obter o status de uma solicitação de alteração, consulte. [Trabalhando com conjuntos de alterações](catalog-apis.md#working-with-change-sets)


| Código de erro | Mensagem de erro | 
| --- | --- | 
| SEGMENTAÇÃO INCOMPATÍVEL DO COMPRADOR | Pelo menos uma conta de comprador deve estar presente no ResaleAuthorization With PreExistingBuyerAgreement.  | 

## Restringir uma autorização de revenda
<a name="restricte-resale-auth"></a>

Você pode usar a API do catálogo para definir regras restritas para uma autorização de revenda em AWS Marketplace.

Uma autorização de revenda restrita não pode mais ser usada por um parceiro de canal para criar uma oferta privada. Uma oferta privada existente não será afetada.

Para restringir sua autorização de revenda, chame a operação da `StartChangeSet` API com o tipo de `RestrictResaleAuthorization` alteração, conforme mostrado no exemplo a seguir. 

**Importante**  
Esta é uma operação irreversível. Depois que a Autorização de Revenda for marcada como`Restricted`, ela não poderá estar em um `Active` estado novamente.

**Sintaxe da solicitação**

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

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

Forneça informações para os campos para adicionar o tipo de `RestrictResaleAuthorization` alteração:
+ **Entidade ** (objeto) (obrigatório) — Sua autorização de revenda. 
  + **Tipo ** (string) (obrigatório) — O `Type` é sempre`ResaleAuthorization@1.0`. 
  + **Identificador ** (string) (obrigatório) — Seu ID de autorização de revenda. Para obter mais informações, consulte [Identificador](catalog-apis.md#identifier).
+ **DetailsDocument**(objeto) (obrigatório) — Especificações da solicitação. Deve ser um objeto vazio para`RestrictResaleAuthorization`.

**Sintaxe de resposta **

Um conjunto de alterações é criado para sua solicitação. A resposta a essa solicitação fornece o `ChangeSetId` e `ChangeSetArn` para o conjunto de alterações e tem a seguinte aparência.

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

A solicitação de alteração é adicionada a uma fila e processada. Isso inclui a validação de informações para garantir que elas atendam às AWS Marketplace diretrizes. O processo de validação pode levar de alguns minutos a algumas horas.

Você pode verificar o status da solicitação por meio da Portal de gerenciamento do AWS Marketplace API Catalog ou diretamente pela API Catalog usando a operação da `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

**Validações síncronas **

As validações do esquema são específicas para `RestrictResaleAuthorization` ações na API do AWS Marketplace Catalog. Essas validações são realizadas quando você liga`StartChangeSet`. Se a solicitação não atender aos seguintes requisitos, ela falhará com uma resposta HTTP.


| Campo de entrada | Regra de validação | Código HTTP | 
| --- | --- | --- | 
| DetailsDocument | Deve estar vazio | 422 | 
| RestrictResaleAuthorization | Expirado não ResaleAuthorization pode ser marcado como `Restricted` | 422 | 
| Uma propriedade desconhecida | Nenhuma propriedade adicional é permitida | 422 | 

**Erros assíncronos **

Os erros a seguir são específicos `RestrictResaleAuthorization` das ações no AWS Marketplace Catalog API. Esses erros são retornados quando você liga `DescribeChangeSet` após o processamento de um conjunto de alterações. Para obter mais informações sobre como usar `DescribeChangeSet` para obter o status de uma solicitação de alteração, consulte. [Trabalhando com conjuntos de alterações](catalog-apis.md#working-with-change-sets)


| Código de erro | Mensagem de erro | 
| --- | --- | 
| STATUS\_INCOMPATÍVEL | Expirado não ResaleAuthorization pode ser marcado como restrito.  | 

## Libere uma autorização de revenda e torne-a visível para um parceiro de canal
<a name="release-resale-auth"></a>

Você pode usar a API Catalog para `ResaleAuthorization` iniciá-lo em um `Active` estado.

 `ReleaseResaleAuthorization`ativa sua autorização de revenda para que um parceiro de canal possa usar sua autorização de revenda para criar ofertas privadas.

Para liberar sua autorização de revenda, chame a operação da `StartChangeSet` API com o tipo de `ReleaseResaleAuthorization` alteração, conforme mostrado no exemplo a seguir.

**Sintaxe da solicitação**

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

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

Forneça informações para os campos para adicionar o tipo de `ReleaseResaleAuthorization` alteração:
+ **Entidade ** (objeto) (obrigatório) — Sua autorização de revenda. 
  + **Tipo ** (string) (obrigatório) — O `Type` é sempre`ResaleAuthorization@1.0`. 
  + **Identificador ** (string) (obrigatório) — Seu ID de autorização de revenda. Para obter mais informações, consulte [Identificador](catalog-apis.md#identifier).
+ **DetailsDocument**(objeto) (obrigatório) — Especificações da solicitação. Deve estar vazio para`ReleaseResaleAuthorization`.

**Sintaxe de resposta **

Um conjunto de alterações é criado para sua solicitação. A resposta a essa solicitação fornece o `ChangeSetId` e `ChangeSetArn` para o conjunto de alterações e tem a seguinte aparência.

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

A solicitação de alteração é adicionada a uma fila e processada. Isso inclui a validação de informações para garantir que elas atendam às AWS Marketplace diretrizes. O processo de validação pode levar de alguns minutos a algumas horas.

Você pode verificar o status da solicitação por meio da Portal de gerenciamento do AWS Marketplace API Catalog ou diretamente pela API Catalog usando a operação da `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

**Validações síncronas **

As validações do esquema são específicas `ReleaseResaleAuthorization` das ações no. AWS Marketplace Catalog API As validações são realizadas quando você liga`StartChangeSet`. Se a solicitação não atender aos seguintes requisitos, ela falhará com uma resposta HTTP.


| Campo de entrada | Regra de validação | Código HTTP | 
| --- | --- | --- | 
| Uma propriedade desconhecida | Nenhuma propriedade adicional é permitida | 422 | 

**Erros assíncronos **

Os erros a seguir são específicos `ReleaseResaleAuthorization` das ações no AWS Marketplace Catalog API. Esses erros são retornados quando você liga `DescribeChangeSet` após o processamento de um conjunto de alterações. Para obter mais detalhes sobre como usar `DescribeChangeSet` para obter o status de uma solicitação de alteração, consulte[Trabalhando com conjuntos de alterações](catalog-apis.md#working-with-change-sets).


| Código de erro | Mensagem de erro | 
| --- | --- | 
| TERMOS\_OBRIGATÓRIOS AUSENTES | Forneça um BuyerLegalTerm.  | 
| TERMOS\_OBRIGATÓRIOS AUSENTES | Forneça um PricingTerm.  | 
| PRODUTO\_INCOMPATÍVEL | Use um produto ativo em estado limitado ou público.  | 
| TERMO\_DE\_PREÇO INCOMPATÍVEL | PaymentScheduleTerm e FixedUpfrontPricingTerm devem estar presentes juntos.  | 
| SEGMENTAÇÃO INCOMPATÍVEL DO COMPRADOR | Pelo menos uma conta de comprador deve estar presente no ResaleAuthorization With PreExistingBuyerAgreement.  | 
| TERMOS\_OBRIGATÓRIOS AUSENTES | Forneça pelo menos um dos [x, y, z].  | 
| STATUS\_INCOMPATÍVEL | A solicitação [x] não pode ser executada após a liberação da autorização de revenda.  | 

## Descrever uma autorização de revenda existente
<a name="describe-entity-resale-auth"></a>

Para descrever os detalhes da autorização de revenda, chame a operação da `DescribeEntity` API com o tipo de `ResaleAuthorization@1.0` entidade, conforme mostrado no exemplo a seguir.

**Sintaxe da solicitação**

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

Forneça informações para os campos para adicionar o tipo de `DescribeEntity` alteração:
+ **catalog ** (string) — O catálogo relacionado à solicitação. Valor fixo:`AWSMarketplace`.
+ **entityId ** (string) — O ID exclusivo do `ResaleAuthorization` a ser descrito.

**Sintaxe de resposta **

A resposta a essa solicitação fornece os detalhes da oferta e tem a seguinte aparência.

```
{
  "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"
      }
    ]
  }
}
```

A seguir estão as informações sobre os campos que você vê na `DescribeEntity` resposta.
+ **EntityType**(string) — O tipo nomeado da entidade, que é ResaleAuthorization @1 .0.
+ **EntityIdentifier**(string) — O identificador da entidade, no formato EntityId @RevisionId.
+ **EntityArn**(string) — O ARN associado ao identificador exclusivo do conjunto de alterações referenciado nesta solicitação.
+ **LastModifiedDate**(string) — A data da última modificação da entidade, no formato ISO 8601 (27/02/2018T13:45:22Z).
+ **DetailsDocument**(object) (obrigatório) — Essa string JSON inclui os detalhes da entidade.
  + **Nome ** (string) — Nome associado ao ResaleAuthorization para melhor legibilidade para você e seus parceiros de canal. Ele é exibido como parte das informações do Contrato.
  + **Descrição ** (string) — A descrição é um texto de formato livre que deve ser usado somente por você e nunca será exposto aos compradores.
  + **ProductId**(string) — A descrição é um texto de formato livre que deve ser usado somente por você e nunca será exposto aos compradores.
  + **AgreementToken**(string) — Gerado a partir do conteúdo em ResaleAuthorization. Ele contém informações sobre termos, regras e proponente ao criar um contrato. Ele é usado para verificações e validações de autorização durante a aquisição.
  + **Termos ** (matriz de estruturas) — Lista de termos apresentados para aceitação.
  + **Regras ** (matriz de estruturas) — Lista de regras ou conjunto de instruções.