

A referência da 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 ofertas privadas usando oAWS MarketplaceAPIs
<a name="work-with-private-offers"></a>

Você pode usar o AWS Marketplace Catalog API para automatizar tarefas para trabalhar com ofertas. 

Enquanto o *produto* descreve o que está sendo vendidoAWS Marketplace, a *oferta* descreve os termos e regras de como um produto é comprado e consumido. AWS Marketplaceos produtos podem ter várias ofertas vendidas por vendedores diferentes. Cada AWS Marketplace oferta, no entanto, só pode ser criada para um produto. Uma *oferta* contém uma coleção de termos de contrato entre duas partes. Os termos da oferta aceita são traduzidos em um contrato como prova de uma transação.

Há dois tipos de ofertas:
+ As **ofertas privadas** são para vendedores e compradores negociarem preços. Os vendedores assinam um contrato de licença de usuário final (EULA) para compras de software em. AWS Marketplace Uma oferta é visível somente para um comprador específico. Para obter mais informações, consulte [Ofertas privadas](https://docs.aws.amazon.com/marketplace/latest/userguide/private-offers-overview.html) no *Guia do AWS Marketplace vendedor*.
+ As **ofertas públicas** são para programas de compras globais. Os vendedores identificam os clientes com base nos programas e localizações geográficas disponíveis, o que torna a oferta acessível somente a clientes específicos.

Consulte os recursos a seguir:
+ Para exemplos de códigos funcionais, consulte [Gerenciar ofertas com API](https://catalog.workshops.aws/mpseller/en-US/manage-offers-with-api) no *workshop do AWS Marketplace vendedor*. 
+ Para exemplos de código de solicitação de API, consulte exemplos de [Python](https://github.com/aws-samples/aws-marketplace-reference-code/tree/main/python/src/catalog_api/offers) e [Java](https://github.com/aws-samples/aws-marketplace-reference-code/tree/main/java/resources/changeSets/offers) em *AWSSamples* on. GitHub
+ Para assistir a um vídeo sobre a criação de ofertas privadas, consulte [Criar uma oferta privada usando a API de AWS Marketplace catálogo](https://www.youtube.com/watch?v=Gg9JR0tB330) em YouTube.
+ Para assistir a um vídeo sobre a atualização dos preços da AMI, consulte [Atualizar os preços dos produtos da AMI usando a API de AWS Marketplace catálogo](https://www.youtube.com/watch?v=AVIRlzHKEJw) em YouTube.

Os tópicos a seguir descrevem como usar a API de catálogo para criar e atualizar ofertas:

**Topics**
+ [Crie uma oferta](#create-offer)
+ [Crie uma oferta de substituição](#create-replacement-offer)
+ [Atualizar as informações da oferta](#update-offer-information)
+ [Atualizar a configuração de segmentação](#update-targeting-offers)
+ [Atualizar política de reembolso](#update-support-terms)
+ [Atualizar recursos legais](#update-legal-terms)
+ [Atualizar preços](#update-pricing-terms)
+ [Atualize a visibilidade da oferta](#update-availability)
+ [Defina a data de expiração dos contratos criados usando a oferta](#update-validity-terms)
+ [Atualizar detalhes do cronograma de pagamento](#update-payment-schedule-terms)
+ [Modificar as opções de renovação](#update-renewal-terms)
+ [Publique uma oferta](#release-offer)
+ [Descreva os detalhes da oferta existente](#describe-entity)

## Crie uma oferta
<a name="create-offer"></a>

Você pode usar a API do Catálogo para criar uma nova oferta emAWS Marketplace. Se sua solicitação for processada com sucesso`Draft`, AWS Marketplace Catalog API criará uma oferta incompleta e invisível para os compradores. Para concluir uma oferta, use o tipo de `Update` alteração. Quando a oferta for concluída, use o tipo de [`ReleaseOffer`](#release-offer)alteração para criá-la e liberá-la. O lançamento de uma oferta a valida e a torna visível para os compradores em. AWS Marketplace

Para criar uma nova oferta, chame a operação da `StartChangeSet` API com o tipo de `CreateOffer` 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": "CreateOffer",
      "Entity": {
        "Type": "Offer@1.0"
      },
      "DetailsDocument": {
        "ProductId": "prod-ad8EXAMPLE51",
        "Name": "Test Offer",
        "OfferSetId": "offerset-b3f9EXAMPLE27"
      }
    }
  ]
}
```

Forneça informações sobre os campos para adicionar o tipo de `CreateOffer` alteração:
+ **Entidade** (objeto) (obrigatório) — Sua oferta.
  + **Tipo** (string) (obrigatório) — O `Type` é sempre`Offer@1.0`. 
+ **DetailsDocument**(object) (obrigatório) — O valor JSON das especificações da solicitação.
  + **ProductId**(string) (obrigatório) — O identificador exclusivo do produto oferecido.
  + **Nome** (string) (opcional) — O nome associado à oferta para melhor legibilidade para você e seus clientes. Também é exibido como parte das informações do Contrato.
  + **OfferSetId**(string) (opcional) — O ID do conjunto de ofertas ao qual associar essa oferta. Especifique esse campo somente ao criar uma oferta que fará parte de um conjunto de ofertas. Se não OfferSetId for fornecida, será criada uma oferta individual que pode ser comprada de forma independente. Observe que especificar um OfferSetId durante a criação da oferta indica apenas sua intenção de associar a oferta a esse conjunto de ofertas. Para concluir a associação, você deve [usar o tipo de AssociateOffers alteração](work-with-offer-sets.md#associate-offers) após a criação da oferta.

**Sintaxe de resposta**

Um conjunto de alterações é criado para sua solicitação. A resposta a essa solicitação fornece a `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 daPortal de gerenciamento do AWS Marketplace, ou diretamente por meio da API de catálogo, usando a operação da `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

Se `Status` for`SUCCEEDED`, um novo será `OfferId` gerado.

A resposta é semelhante à seguinte.

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

**Validações síncronas**

As seguintes validações de esquema são específicas para `CreateOffer` 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 requisitos a seguir, ela falhará com uma resposta HTTP.


| Campo de entrada | Regra de validação | Código HTTP | 
| --- | --- | --- | 
| ProductId | Obrigatório<br />O comprimento deve estar entre 1 e 50 caracteres <br />Não deve conter caracteres ilegais (\\, <, >) | 422 | 
| ProductId | ObrigatórioO usuário deve estar autorizado a criar uma oferta para o produto em questão | 403 | 
| ProductId | ObrigatórioDeve ser um produto existente no catálogo ou estar sendo criado no mesmo conjunto de alterações | 404 | 
| Nome | Opcional<br />O comprimento deve estar entre 1 e 150 caracteres <br />Não deve conter caracteres ilegais (\\, <, >) | 422 | 

**Erros assíncronos**

Os erros a seguir são específicos `CreateOffer` das ações noAWS 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 | Use um produto ativo em Limited nosso Public estado. | 
| PRODUTO\_INCOMPATÍVEL | Atualmente, o gerenciamento de ofertas para o tipo de produto escolhido não é suportado noAWS Marketplace Catalog API. | 
| PRODUTO\_INCOMPATÍVEL | Atualmente, o gerenciamento de ofertas do produto não é suportado noAWS Marketplace Catalog API. | 
| PRODUTO\_INCOMPATÍVEL | OfferSetId não é suportado nas ofertas do produto. | 
| PRODUTO\_INCOMPATÍVEL | CreateOffer o tipo de alteração não pode ser invocado para criar uma oferta para o produto. Use o tipo de CreateOfferUsingResaleAuthorization alteração. | 

## Crie uma oferta de substituição
<a name="create-replacement-offer"></a>

Você pode usar a API do Catálogo para criar uma oferta de substituição (também conhecida como oferta baseada em contrato) no. AWS Marketplace 

Se sua solicitação foi processada com sucesso, uma oferta no `Draft` estado atual AWS Marketplace Catalog API será gerada para você, que é uma oferta incompleta e não está visível para os compradoresAWS Marketplace. Você usará os tipos de `Update` alteração para concluir a oferta. Depois que a oferta for concluída, você usará o tipo de [`ReleaseOffer`](#release-offer)alteração para concluir o processo de criação da oferta e liberar a oferta, o que validará toda a oferta e tornará sua oferta visível para os compradores emAWS Marketplace. A partir daí, o comprador tem a opção de aceitar a oferta de substituição ou continuar operando de acordo com o contrato original.

Para criar uma oferta de substituição, chame a operação de `StartChangeSet` API com o tipo de `CreateReplacementOffer` alteração e forneça um ID de contrato preexistente, conforme mostrado no exemplo a seguir. 

**Sintaxe da solicitação**

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

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

Forneça informações sobre os campos para adicionar o tipo de `CreateReplacementOffer` alteração:
+ **Entidade** (objeto) (obrigatório) — Sua oferta. 
  + **Tipo** (string) (obrigatório) — O `Type` é sempre`Offer@1.0`. 
+ **DetailsDocument**(object) (obrigatório) — O valor JSON das especificações da solicitação.
  + **AgreementId**(string) (obrigatório) — O identificador exclusivo do contrato atual a ser substituído.
  + **Nome** (string) (opcional) — O nome associado à oferta para melhor legibilidade para você e seus clientes. Também será exibido como parte das informações do Contrato.

**Sintaxe de resposta**

Um conjunto de alterações é criado para sua solicitação. A resposta a essa solicitação fornece a `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 daPortal de gerenciamento do AWS Marketplace, ou diretamente por meio da API de catálogo, 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 seguintes validações de esquema são específicas para `CreateReplacementOffer` 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 requisitos a seguir, ela falhará com uma resposta HTTP.


| Campo de entrada | Regra de validação | Código HTTP | 
| --- | --- | --- | 
| AgreementId | ObrigatórioO comprimento deve estar entre 1 e 64 caracteres | 422 | 
| AgreementId | ObrigatórioO usuário deve estar autorizado a criar uma oferta para o contrato em questão | 403 | 
| Nome | OpcionalO comprimento deve estar entre 1 e 150 caracteres<br />Não deve conter caracteres inválidos (\\, <, >) | 422 | 

**Erros assíncronos**

Os erros a seguir são específicos `CreateReplacementOffer` das ações noAWS 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 | Não há suporte para ofertas de substituição para o produto. | 
| ACORDO\_INCOMPATÍVEL | CreateReplacementOffer o tipo de alteração não pode ser invocado para criar uma oferta de substituição para o contrato. Use o tipo de CreateReplacementOfferUsingResaleAuthorization alteração. | 

## Atualizar as informações da oferta
<a name="update-offer-information"></a>

Você pode usar a API do Catálogo para atualizar as informações da oferta emAWS Marketplace. 

Para atualizar as informações da oferta, chame a operação da `StartChangeSet` API com o tipo de `UpdateInformation` alteração, conforme mostrado no exemplo a seguir. Todas as outras informações permanecerão inalteradas.

**Sintaxe da solicitação**

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

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

Forneça informações sobre os campos para adicionar o tipo de `UpdateInformation` alteração:
+ **Entidade** (objeto) (obrigatório) — Sua oferta. 
  + **Tipo** (string) (obrigatório) — O `Type` é sempre`Offer@1.0`. 
  + **Identificador** (string) (obrigatório) — Seu ID da oferta. Para obter mais informações, consulte [Identificador](catalog-apis.md#identifier).
+ **DetailsDocument**(object) (obrigatório) — O valor JSON das especificações da solicitação.
  + **Nome** (string) (opcional) — Nome associado à oferta para melhor legibilidade. Ele é exibido como parte das informações do contrato.
  + **Descrição** (string) (opcional) — Um texto de formato livre que deve ser usado somente por você e nunca estará visível para os compradores.
  + **PreExistingAgreement**(objeto) (opcional) — Determina se essa oferta é uma renovação de um contrato existente com um cliente existente para o mesmo produto subjacente. O acordo existente pode ser interno ou externoAWS Marketplace. AWSpode 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 do seu cliente.
    + **AcquisitionChannel**(string) (obrigatório) — Indica se o contrato existente foi assinado externamente AWS Marketplace ou internamenteAWS Marketplace.

      Possíveis valores: `External`, `AwsMarketplace`
    + **PricingModel**(string) (obrigatório) — Indica qual modelo de preços 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 a `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 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 daPortal de gerenciamento do AWS Marketplace, ou diretamente por meio da API de catálogo, 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 seguintes validações de esquema são específicas para `UpdateInformation` 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 requisitos a seguir, ela falhará com uma resposta HTTP.


| Campo de entrada | Regra de validação | Código HTTP | 
| --- | --- | --- | 
| Propriedades | Pelo menos uma das seguintes propriedades deve ser fornecida | 422 | 
| Nome | Opcional<br />O comprimento deve estar entre 1 e 150 caracteres <br />Não deve conter caracteres ilegais (\\, <, >) | 422 | 
| Description | Opcional<br />O comprimento deve estar entre 1 e 255 caracteres | 422 | 
| PreExistingAgreement | OpcionalPode ser nulo para remover `PreExistingAgreement` da oferta | 422 | 
| PreExistingAgreement.PricingModel | Obrigatório<br />Pode ser um desses valores: [`Byol`,`Free`,`Usage`,`Contract`] | 422 | 
| PreExistingAgreement.AcquisitionChannel | Obrigatório<br />Pode ser um desses valores: [`AwsMarketplace`,`External`] | 422 | 

**Erros assíncronos**

Os erros a seguir são específicos `UpdateInformation` das ações noAWS 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 | 
| --- | --- | 
| ACORDO PRÉ-EXISTENTE INCOMPATÍVEL | PreExistingAgreement não pode ser alterado após o lançamento da oferta. | 

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

Você pode usar a API do Catalog para atualizar a configuração de segmentação da sua oferta emAWS Marketplace. 

Todas as opções de segmentação existentes que não estão incluídas na solicitação mais recente e serão removidas da oferta.

**nota**  
Opcionalmente, uma oferta pode incluir `PositiveTargeting` ou`NegativeTargeting`, mas não ambas.  
**Opções de segmentação positiva:**  
**Somente códigos de país** — cria uma oferta pública disponível para compradores nos países especificados.
**Somente contas de compradores** — Cria uma oferta privada direcionada a contas específicas da AWS.
**Códigos de país e contas de compradores** — cria uma oferta privada em que as contas segmentadas só podem aceitar a oferta se estiverem localizadas em um dos países especificados.
**Opções de segmentação negativa:**  
**Códigos de país** — exclui compradores dos países especificados. Isso cria uma oferta pública disponível para todos os países, exceto os listados.

Para atualizar a configuração de segmentação da sua oferta, chame a operação da `StartChangeSet` API com o tipo de `UpdateTargeting` 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": "UpdateTargeting",
      "Entity": {
        "Type": "Offer@1.0",
        "Identifier": "offer-123456789"
      },
      "DetailsDocument": {
        "PositiveTargeting": {
          "CountryCodes": [
            "US",
            "CA"
          ],
          "BuyerAccounts": [
            "111122223333"
          ]
        },
        "NegativeTargeting": {
          "CountryCodes": [
            "XX"
          ]
        }
      }
    }
  ]
}
```

Forneça informações sobre os campos para adicionar o tipo de `UpdateTargeting` alteração:
+ **Entidade** (objeto) (obrigatório) — Sua oferta.
  + **Tipo** (string) (obrigatório) — O `Type` é sempre`Offer@1.0`. 
  + **Identificador** (string) (obrigatório) — Seu ID da oferta. Para obter mais informações, consulte [Identificador](catalog-apis.md#identifier).
+ **DetailsDocument**(object) (obrigatório) — O valor JSON das especificações da solicitação.
  + **PositiveTargeting**(objeto) (opcional) — A segmentação positiva define os critérios que o perfil de qualquer comprador deve atender para poder acessar a oferta. Esse campo é opcional, mas pelo menos uma opção de segmentação deve ser fornecida quando esse campo estiver presente.
    + **CountryCodes**(matriz de cadeias de caracteres) (opcional) — Lista como opção para permitir a segmentação com base no país. Se a intenção não for direcionar a oferta para um país, esse campo deve ser omitido. Se estiver presente, a lista deve conter pelo menos um código de país. Cada elemento dessa lista deve ser um código de país válido de 2 letras, usando este formato: ISO 3166-1 alfa-2.
    + **BuyerAccounts**(matriz de strings) (opcional) — Listar como uma opção para permitir a segmentação com base em Contas da AWS (também conhecida como Oferta Privada). Se a intenção é não direcionar a oferta para umConta da AWS, esse campo deve ser omitido.
  + **NegativeTargeting**(objeto) (opcional) — A segmentação negativa define os critérios que o perfil de qualquer cliente deve cumprir para ter acesso restrito à oferta. Embora esse campo seja opcional, pelo menos uma opção de segmentação deve ser fornecida quando esse campo estiver presente.
    + **CountryCodes**(matriz de sequências de caracteres) (obrigatório) — Lista como opção para permitir a segmentação com base no país. Se a intenção não for direcionar a oferta para um país específico, esse campo deverá ser omitido. Se estiver presente, a lista deve conter pelo menos um código de país. Cada elemento dessa lista deve ser um código de país válido de 2 letras usando este formato: ISO 3166-1 alfa-2.

**Sintaxe de resposta**

Um conjunto de alterações é criado para sua solicitação. A resposta a essa solicitação fornece a `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 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 daPortal de gerenciamento do AWS Marketplace, ou diretamente por meio da API de catálogo, 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 seguintes validações de esquema são específicas para `UpdateTargeting` 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 requisitos a seguir, ela falhará com uma resposta HTTP.


| Campo de entrada | Regra de validação | Código HTTP | 
| --- | --- | --- | 
| NegativeTargeting | Opcional<br />Pode ter qualquer um dos seguintes: [`CountryCodes`] | 422 | 
| NegativeTargeting.CountryCodes | Opcional<br />O tamanho da lista deve estar entre 1 e 244<br />Os códigos de país devem ser válidos (ISO 3166-1 alpha-2) | 422 | 
|  PositiveTargeting | Opcional<br />Pode ter qualquer um dos seguintes: [`CountryCodes`,`BuyerAccounts`] | 422 | 
| PositiveTargeting.BuyerAccounts | Opcional<br />O tamanho da lista deve estar entre 1 e 26<br />Conta da AWSOs IDs devem estar em formato válido (número de 12 dígitos) | 422 | 
| PositiveTargeting.CountryCodes | Opcional<br />O tamanho da lista deve estar entre 1 e 244<br />Os códigos de país devem ser válidos (ISO 3166-1 alpha-2) | 422 | 

**Erros assíncronos**

Os erros a seguir são específicos `UpdateTargeting` das ações noAWS 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 | 
| --- | --- | 
| CONTAS\_DE COMPRADORES INVÁLIDAS | Forneça contas de comprador válidas. Contas inválidas: [x]. | 
| CÓDIGOS DE PAÍS INVÁLIDOS | Forneça códigos de país compatíveis. | 
| SEGMENTAÇÃO\_INVÁLIDA | Use segmentação negativa ou positiva no mesmo atributo. | 
| PRODUTO\_INCOMPATÍVEL | Country-based a segmentação não é compatível com o produto. | 
| AUTORIZAÇÃO\_DE REVENDA INCOMPATÍVEL | Forneça BuyerAccounts que sejam compatíveis com ResaleAuthorization o. | 
| SEGMENTAÇÃO\_INCOMPATÍVEL | A alteração solicitada não pode ser realizada após o lançamento da oferta. | 
| SEGMENTAÇÃO\_INCOMPATÍVEL | A alteração solicitada não pode ser realizada após a expiração da oferta. | 
| SEGMENTAÇÃO\_INCOMPATÍVEL | A segmentação não pode ser atualizada em uma oferta substituta. Se o comprador não estiver associado ao fornecido AgreementId, crie uma nova oferta privada fornecendo um AgreementId associado ao comprador. | 
| MUITAS CONTAS DE COMPRADORES | Forneça BuyerAccounts dentro dos limites permitidos. | 
| SEGMENTAÇÃO\_INCOMPATÍVEL | BuyerAccounts não pode ser removido após o lançamento da oferta. | 
| SEGMENTAÇÃO\_INCOMPATÍVEL | BuyerAccounts não podem ser adicionados após o lançamento da oferta. | 
| CÓDIGOS DE PAÍS AUSENTES | Forneça PositiveTargeting com CountryCodes: [x]. | 
| CÓDIGOS DE PAÍS INCOMPATÍVEIS | Forneça CountryCodes que sejam compatíveis. | 
| CONTAS\_DE\_COMPRADORES INCOMPATÍVEIS | Forneça BuyerAccounts que sejam compatíveis com o contrato. | 

## Atualizar política de reembolso
<a name="update-support-terms"></a>

Você pode usar a API do Catálogo para atualizar a política de reembolso da sua oferta emAWS Marketplace. 

Essa alteração não afeta os contratos existentes. Os termos de suporte que não estão incluídos na solicitação mais recente serão removidos da oferta.

Para atualizar a política de reembolso, chame a operação da `StartChangeSet` API com o tipo de `UpdateSupportTerms` 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": "UpdateSupportTerms",
      "Entity": {
        "Type": "Offer@1.0",
        "Identifier": "offer-123456789"
      },
      "DetailsDocument": {
        "Terms": [
          {
            "Type": "SupportTerm",
            "RefundPolicy": "Updated refund policy description"
          }
        ]
      }
    }
  ]
}
```

Forneça informações sobre os campos para adicionar o tipo de `UpdateSupportTerms` alteração:
+ **Entidade** (objeto) (obrigatório) — Sua oferta. 
  + **Tipo** (string) (obrigatório) — O `Type` é sempre`Offer@1.0`. 
  + **Identificador** (string) (obrigatório) — Seu ID da oferta. Para obter mais informações, consulte [Identificador](catalog-apis.md#identifier).
+ **DetailsDocument**(object) (obrigatório) — O valor JSON das especificações da solicitação.
  + **Termos** (matriz de estruturas) (obrigatório) — Lista de termos de suporte que você gostaria de atualizar. Os termos de suporte aceitos são:
    + **SupportTerm**(objeto) (obrigatório) — Define o suporte ao cliente disponível para os aceitantes quando eles compram o software.
      + **Tipo** (string) (obrigatório) — Tipo do termo que está sendo atualizado. Este é o valor do objeto:`"SupportTerm"`.
      + **RefundPolicy**(string) (obrigatório) — Free-text campo sobre a descrição da política de reembolso que será exibido aos clientes como está no site e no console.

**Sintaxe de resposta**

Um conjunto de alterações é criado para sua solicitação. A resposta a essa solicitação fornece a `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 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 daPortal de gerenciamento do AWS Marketplace, ou diretamente por meio da API de catálogo, 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 seguintes validações de esquema são específicas para `UpdateSupportTerms` 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 requisitos a seguir, ela falhará com uma resposta HTTP.


| Campo de entrada | Regra de validação | Código HTTP | 
| --- | --- | --- | 
| Termos | Obrigatório | 422 | 
| Termos []. RefundPolicy | Obrigatório<br />O comprimento deve estar entre 1 e 500<br />Não pode liderar ou terminar com espaços | 422 | 
| Termos [] .Tipo | ObrigatórioSó pode ser `SupportTerm` | 422 | 

**Erros assíncronos**

Os erros a seguir são específicos `UpdateSupportTerms` das ações noAWS 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 | SupportTerm não é suportado em ofertas privadas do produto. | 
| TERMOS\_INCOMPATÍVEIS | SupportTerm não é compatível com ofertas de teste gratuito. | 
| TERMOS\_INCOMPATÍVEIS | A alteração solicitada não pode ser realizada após o lançamento da oferta. | 
| TERMOS\_INCOMPATÍVEIS | A alteração solicitada não pode ser realizada após a expiração da oferta. | 

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

Você pode usar a API do Catálogo para substituir os documentos legais existentes, como um contrato de licença de usuário final (EULA). Os termos legais que não estão incluídos na solicitação mais recente serão removidos da oferta. 

Para atualizar os recursos legais da sua oferta, 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": "Offer@1.0",
        "Identifier": "offer-123456789"
      },
      "DetailsDocument": {
        "Terms": [
          {
            "Type": "LegalTerm",
            "Documents": [
              {
                "Type": "CustomEula",
                "Url": "https://s3.amazonaws.com/EULA/custom-eula-1234.txt"
              }
            ]
          }
        ]
      }
    }
  ]
}
```

Forneça informações sobre os campos para adicionar o tipo de `UpdateLegalTerms` alteração:
+ **Entidade** (objeto) (obrigatório) — Sua oferta. 
  + **Tipo** (string) (obrigatório) — O `Type` é sempre`Offer@1.0`. 
  + **Identificador** (string) (obrigatório) — Seu ID da oferta. Para obter mais informações, consulte [Identificador](catalog-apis.md#identifier).
+ **DetailsDocument**(object) (obrigatório) — O valor JSON das especificações da solicitação.
  + **LegalTerm**(objeto) (obrigatório) — Define a lista de contratos de texto a serem propostos aos aceitantes. Um exemplo desse contrato é o contrato de licença de usuário final (EULA).
    + **Tipo** (string) (obrigatório) — Tipo do termo que está sendo atualizado. Este é o valor do objeto:`"LegalTerm"`.
    + **Documentos** (matriz de estruturas) (obrigatório) — Lista de referências aos recursos legais a serem propostos aos compradores. Um exemplo desse recurso é o contrato de licença de usuário final (EULA). Cada referência é composta por um `Type` e um`URL`:
      + **Tipo** (string) (obrigatório) — Tipo de documento. Os tipos de documentos disponíveis são:
        + **CustomEula**— Um EULA personalizado fornecido por você como vendedor. É necessário um URL público do S3 ou um [URL pré-assinado](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html) para esse tipo de documento.
        + **StandardEula**— Contrato padrão para AWS Marketplace (SCMP). Para obter mais informações sobre o SCMP, consulte o Guia do AWS Marketplace vendedor. Você não fornece um URL para esse tipo porque ele é gerenciado porAWS Marketplace.
      + **Url** (string) (obrigatório condicionalmente) — Um URL para o documento legal para os compradores lerem. Obrigatório quando uma das opções a seguir `Type` é [`CustomEula`].
      + **Versão** (string) (exigida condicionalmente) — Versão dos contratos padrão fornecida pelaAWS Marketplace. Obrigatório quando `Type` é [`StandardEula`]. Versão disponível:
        + **14/07/2022** — Esta versão do contrato padrão para AWS Marketplace está disponível neste bucket do Amazon S3: [https://s3.amazonaws.com/aws-mp-standard-contracts/Standard-Contact-for-AWS-Marketplace-2022-07-14.pdf](https://s3.amazonaws.com/aws-mp-standard-contracts/Standard-Contact-for-AWS-Marketplace-2022-07-14.pdf)

**Sintaxe de resposta**

Um conjunto de alterações é criado para sua solicitação. A resposta a essa solicitação fornece a `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 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 daPortal de gerenciamento do AWS Marketplace, ou diretamente por meio da API de catálogo, 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 seguintes validações de esquema são específicas para `UpdateLegalTerms` 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 requisitos a seguir, ela falhará com uma resposta HTTP.


| Campo de entrada | Regra de validação | Código HTTP | 
| --- | --- | --- | 
| Termos | Obrigatório<br />Só `LegalTerm` é permitido na lista<br />O tamanho da lista deve ser 1 | 422 | 
| Termos [] .Tipo | ObrigatórioSó pode ser `LegalTerm` | 422 | 
| Termos []. LegalTerm.Documents | Obrigatório | 422 | 
| Termos []. LegalTerm.Documents[] .Tipo | Obrigatório<br />Valores permitidos:[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/marketplace/latest/developerguide/work-with-private-offers.html) | 422 | 
| Termos []. LegalTerm.Documents[] .URL | Obrigatório e deve ser um URL válido quando Type for CustomEula | 422 | 
| Termos []. LegalTerm.Documents[] .Versão | Obrigatório e deve ser uma versão válida quando Type for StandardEula`StandardEula`Versões válidas: ["2019-04-24", “2022-07-14"] | 422 | 

**Erros assíncronos**

Os erros a seguir são específicos `UpdateLegalTerms` das ações noAWS 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 | A alteração solicitada não pode ser realizada após o lançamento da oferta. | 
| TERMOS\_INCOMPATÍVEIS | A alteração solicitada não pode ser realizada após a expiração da oferta. | 
| DOCUMENTOS\_LEGAIS\_INVÁLIDOS | Forneça URLs para documentos legais armazenados em buckets acessíveis do S3. | 
| DOCUMENTOS\_LEGAIS\_INVÁLIDOS | Somente a versão mais recente do StandardEula é compatível com novas ofertas. | 
| DOCUMENTOS\_LEGAIS\_INVÁLIDOS | Forneça documentos legais nos formatos de arquivo compatíveis. | 
| DOCUMENTOS\_LEGAIS\_INVÁLIDOS | Forneça documentos legais usando os tipos de documentos compatíveis. | 
| LIMITE EXCEDIDO DO TAMANHO DO DOCUMENTO LEGAL | Forneça documentos legais dentro dos limites de tamanho permitidos. | 
| DOCUMENTOS\_LEGAIS\_INVÁLIDOS | LegalTerm contém documento (s) protegido (s) por senha. Forneça documentos acessíveis em LegalTerm. | 
| DOCUMENTOS\_LEGAIS\_INVÁLIDOS | LegalTerm contém documento (s) PDF inválido. Forneça documentos acessíveis em LegalTerm. | 

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

Você pode usar a API de catálogo para substituir completamente os termos de preços existentes. Os termos de preço que não estão incluídos na solicitação mais recente serão removidos da oferta. 

Para atualizar os termos de preço da sua oferta, chame a operação da `StartChangeSet` API com o tipo de `UpdatePricingTerms` alteração, conforme mostrado no exemplo a seguir.

**nota**  
A sintaxe de solicitação a seguir combina vários exemplos. Essa combinação não funciona como uma carga válida. Por exemplo, uma `Terms` matriz não pode incluir tanto o tipo de termo `FixedUpfrontPricingTerm` quanto o tipo de termo`ConfigurableUpfrontPricingTerm`. Para ver exemplos de como diferentes tipos de termos são combinados para diferentes casos de uso de preços, consulte [Gerenciar ofertas com API](https://catalog.workshops.aws/mpseller/en-US/manage-offers-with-api) no *workshop do AWS Marketplace vendedor*.

**nota**  
Para produtos SaaS com modelo de preços gratuito, você deve incluir uma `UsageBasedPricingTerm` ou `ConfigurableUpfrontPricingTerm` pelo menos uma RateCard (dimensão) em que todos os preços estejam definidos como 0,00 USD. Esse requisito é exclusivo para produtos SaaS.

**Sintaxe da solicitação**

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

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

Forneça informações sobre os campos para adicionar o tipo de `UpdatePricingTerms` alteração:
+ **Entidade** (objeto) (obrigatório) — Sua oferta. 
  + **Tipo** (string) (obrigatório) — O `Type` é sempre`Offer@1.0`. 
  + **Identificador** (string) (obrigatório) — Seu ID da oferta. Para obter mais informações, consulte [Identificador](catalog-apis.md#identifier).
+ **DetailsDocument**(object) (obrigatório) — O valor JSON das 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 do seu produto.
    + **Contrato** — modelo de Contract-based preços em que 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 por um uso adicional acima do contrato.
    + **Gratuito** — Modelo de preço gratuito em que os compradores não serão cobrados pelo uso do produto. Ao usar esse modelo de preços, nenhuma condição de preço ou prazo do cronograma de pagamento pode ter taxas diferentes de zero.
    + **Byol** — Modelo de preços da Byol em que os compradores trarão sua própria licença para uso do produto.
  + **Termos** (matriz de estruturas) (obrigatório) — Lista dos termos de preços que você deseja atualizar. Os termos de preços aceitos são:
    + **FreeTrialPricingTerm**(objeto) — Define um modelo de preço gratuito de curto prazo em que os compradores não pagam nada dentro de um limite especificado.
      + **Tipo** (string) — Tipo do termo que está sendo atualizado. Este é o valor do objeto:`"FreeTrialPricingTerm"`.
      + **Duração** (string) — Duração do período de teste gratuito.
      + **Subsídios** (variedade de estruturas) — Direitos que serão concedidos ao aceitante de um teste gratuito como parte da execução de um contrato.
        + **DimensionKey**(string) — 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 emAWS Marketplace.
        + **MaxQuantity**(inteiro) (opcional) — 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 fornecida.
    + **UsageBasedPricingTerm**(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 que está sendo atualizado. Este é o valor do objeto:`UsageBasedPricingTerm`.
      + **CurrencyCode**(string) — Define a moeda dos preços mencionados neste termo. Atualmente, somente USD são aceitos.
      + **RateCards**(matriz de estruturas) — Lista de tabelas de preços.
        + **RateCard**(matriz de estruturas) — Uma tabela de tarifas define as taxas 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 emAWS Marketplace.
          + **Preço** (string) — Per-unit preço da dimensão do produto que será usada para calcular o valor a ser cobrado do comprador.
    + **ConfigurableUpfrontPricingTerm**(objeto) — Define o modelo de pagamento pré-pago que permite aos compradores configurar os direitos que desejam comprar e a duração dos direitos. Você pode atualizar a lista de taxas para cada duração do contrato e direitos para cada dimensão.
      + **Tipo** (string) (obrigatório) — Tipo do termo que está sendo atualizado. Este é o valor do objeto:`ConfigurableUpfrontPricingTerm`.
      + **CurrencyCode**(string) (obrigatório) — Define a moeda dos preços mencionados neste termo. Para ofertas públicas, somente USD são aceitos. Para ofertas privadas, USD, AUD, EUR, GBP e JPY são suportados.
      + **RateCards**(matriz de estruturas) (obrigatório) — Lista de tabelas de preços.
        + **Seletor** (objeto) (obrigatório) — O seletor é usado para diferenciar as tabelas de tarifas mutuamente exclusivas no mesmo termo de preço, a serem selecionadas pelo comprador.
          + **Tipo** (string) (obrigatório) — Categoria do seletor. No momento, somente `Duration` é suportado.
          + **Valor** (string) (obrigatório) — Duração do contrato. Esse campo é compatível com o formato ISO 8601.
        + **RateCard**(matriz de estruturas) (obrigatório) — Uma tabela de tarifas define as taxas por unidade para as dimensões do produto.
          + **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 emAWS Marketplace.
          + **Preço** (string) (obrigatório) — Per-unit preço da dimensão do produto que será usado para calcular o valor a ser cobrado do comprador.
        + **Restrições** (objeto) (obrigatório) — Define restrições sobre como o termo pode ser configurado pelos aceitantes.
**nota**  
Atualmente, **MultipleDimensionSelection**e **QuantityConfiguration**os valores precisam ser os mesmos.
          + **MultipleDimensionSelection**(string) (obrigatório) — Determina se os compradores podem selecionar várias dimensões na tabela de tarifas. Os possíveis valores são `Allowed` e `Disallowed`.
          + **QuantityConfiguration**(string) (obrigatório) — Determina se os aceitadores têm permissão para configurar a quantidade para cada dimensão na tabela de tarifas. Os possíveis valores são `Allowed` e `Disallowed`.
    + **ByolPricingTerm**(objeto) — Permite que você e seus clientes transfiram seus contratos existentes para AWS Marketplace o. O cliente não será cobrado pelo uso do produto AWS Marketplace porque já pagou pelo produto fora deAWS Marketplace.
      + **Tipo** (string) (obrigatório) — Tipo do termo que está sendo atualizado. Este é o valor do objeto:`ByolPricingTerm`.
    + **RecurringPaymentTerm**(objeto) — Define um modelo de preços em que os clientes pagam um preço fixo recorrente no final de cada período de cobrança.
      + **Tipo** (string) (obrigatório) — Tipo do termo que está sendo atualizado. Este é o valor do objeto:`RecurringPaymentTerm`.
      + **BillingPeriod**(string) (obrigatório) — Define a recorrência na qual os compradores são cobrados. Só `Monthly` é suportado atualmente.
      + **Preço** (sequência de caracteres) (obrigatório) — Valor cobrado do comprador em cada período de cobrança.
      + **CurrencyCode**(string) (obrigatório) — Define a moeda dos preços mencionados neste termo. No momento, só há compatibilidade com `USD`.
    + **FixedUpfrontPricingTerm**(objeto) — Define um modelo de preço pré-pago em que os clientes pagam um valor inicial fixo.
      + **Tipo** (string) (obrigatório) — Tipo do termo que está sendo atualizado. Este é o valor do objeto:`FixedUpfrontPricingTerm`.
      + **CurrencyCode**(string) (obrigatório) — Define a moeda dos preços mencionados neste termo. Para ofertas públicas, somente USD são aceitos. Para ofertas privadas, USD, AUD, EUR, GBP e JPY são suportados.
      + **Preço** (sequência de caracteres) (obrigatório) — Valor fixo a ser cobrado do cliente quando esse termo for aceito.
      + **Subsídios** (conjunto de estruturas) (obrigatório) — Direitos que serão concedidos ao aceitante do pagamento adiantado fixo 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 emAWS 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 fornecida.
      + **Duração** (string) (opcional) — Define a duração em que o termo permanece ativo. Esse campo é compatível com o formato ISO 8601.

**Sintaxe de resposta**

Um conjunto de alterações é criado para sua solicitação. A resposta a essa solicitação fornece a `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 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 daPortal de gerenciamento do AWS Marketplace, ou diretamente por meio da API de catálogo, 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 seguintes validações de esquema são específicas para `UpdatePricingTerms` 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 requisitos a seguir, ela falhará com uma resposta HTTP.


| Campo de entrada | Regra de validação | HTTP | 
| --- | --- | --- | 
| PricingModel | ObrigatórioModelos de preços permitidos: ["Byol”, “Free”, “Usage”, “Contract"] | 422 | 
| Termos | ObrigatórioTermos permitidos: [” ConfigurableUpfrontPricingTerm “," ByolPricingTerm “," FreeTrialPricingTerm “," UsageBasedPricingTerm “," RecurringPaymentTerm “," FixedUpfrontPricingTerm “] | 422 | 
| Termos []. ByolPricingTerm | Obrigatório | 422 | 
| Termos []. ByolPricingTerm.Type | ObrigatórioSó pode ser "ByolPricingTerm” | 422 | 
| Termos []. ConfigurableUpfrontPricingTerm | Obrigatório | 422 | 
| Termos []. ConfigurableUpfrontPricingTerm.Type | ObrigatórioSó pode ser "ConfigurableUpfrontPricingTerm” | 422 | 
| Termos []. ConfigurableUpfrontPricingTerm.CurrencyCode | ObrigatórioMoedas suportadas: ["USD”, “AUD”, “EUR”, “GBP”, “JPN"] | 422 | 
| Termos []. ConfigurableUpfrontPricingTerm.RateCards | ObrigatórioO tamanho da lista deve estar entre 1 e 5 | 422 | 
| Termos []. ConfigurableUpfrontPricingTerm.RateCards[] .Restrições | Obrigatório | 422 | 
| Termos []. ConfigurableUpfrontPricingTerm.RateCards[]. Contraints.MultipleDimensionSelection | ObrigatórioValores permitidos: ["Permitido”, “Não permitido"] | 422 | 
| Termos []. ConfigurableUpfrontPricingTerm.RateCards[]. Contraints.QuantityConfiguration | ObrigatórioValores permitidos: ["Permitido”, “Não permitido"] | 422 | 
| Termos []. ConfigurableUpfrontPricingTerm.RateCards[]. RateCard | ObrigatórioO tamanho da lista deve estar entre 1 e 800 | 422 | 
| Termos []. ConfigurableUpfrontPricingTerm.RateCards[]. RateCard[]. DimensionKey | ObrigatórioO comprimento deve estar entre 1 e 100 | 422 | 
| Termos []. ConfigurableUpfrontPricingTerm.RateCards[]. RateCard[] .Preço | ObrigatórioO tipo de dados é “String”<br />Non-negativenúmeros decimais com até 3 casas decimais suportadas | 422 | 
| Termos []. ConfigurableUpfrontPricingTerm.RateCards[] .Seletor | Obrigatório | 422 | 
| Termos []. ConfigurableUpfrontPricingTerm.RateCards[]. Selector.Type | ObrigatórioValores permitidos: ["Duração"] | 422 | 
| Termos []. ConfigurableUpfrontPricingTerm.RateCards[]. Selector.Value | ObrigatórioFormato esperado por tipo de seletor: duração ISO 8601 | 422 | 
| Termos []. FixedUpfrontPricingTerm | Obrigatório | 422 | 
| Termos []. FixedUpfrontPricingTerm.Type | ObrigatórioSó pode ser "FixedUpfrontPricingTerm” | 422 | 
| Termos []. FixedUpfrontPricingTerm.CurrencyCode | ObrigatórioMoedas suportadas: ["USD”, “AUD”, “EUR”, “GBP”, “JPN"] | 422 | 
| Termos []. FixedUpfrontPricingTerm.Duration | ObrigatórioFormato esperado por tipo de seletor: duração ISO 8601 | 422 | 
| Termos []. FixedUpfrontPricingTerm.Grants | ObrigatórioO tamanho da lista deve estar entre 1 e 200 | 422 | 
| Termos []. FixedUpfrontPricingTerm.Grants[]. DimensionKey | ObrigatórioO comprimento deve estar entre 1 e 100 | 422 | 
| Termos []. FixedUpfrontPricingTerm.Grants[]. MaxQuantity | RequiredValue deve ser maior que 0 | 422 | 
| Termos []. FixedUpfrontPricingTerm.Price | ObrigatórioO tipo de dados é “String”<br />Non-negativenúmeros decimais com até 3 casas decimais suportadas | 422 | 
| Termos []. FreeTrialPricingTerm | Obrigatório | 422 | 
| Termos []. FreeTrialPricingTerm.Type | ObrigatórioSó pode ser "FreeTrialPricingTerm” | 422 | 
| Termos []. FreeTrialPricingTerm.Duration | ObrigatórioFormato esperado: duração da ISO 8601 | 422 | 
| Termos []. FreeTrialPricingTerm.Grants | ObrigatórioO tamanho da lista deve estar entre 1 e 800 | 422 | 
| Termos []. FreeTrialPricingTerm.Grants[]. DimensionKey | ObrigatórioO comprimento deve estar entre 1 e 100 | 422 | 
| Termos []. FreeTrialPricingTerm.Grants[]. MaxQuantity | OpcionalO valor deve ser maior que 0 | 422 | 
| Termos []. RecurringPaymentTerm | Obrigatório | 422 | 
| Termos []. RecurringPaymentTerm.Type | ObrigatórioSó pode ser "RecurringPaymentTerm” | 422 | 
| Termos []. RecurringPaymentTerm.BillingPeriod | ObrigatórioValores permitidos: ["Mensalmente"] | 422 | 
| Termos []. RecurringPaymentTerm.CurrencyCode | ObrigatórioMoedas suportadas: ["USD"] | 422 | 
| Termos []. RecurringPaymentTerm.Price | ObrigatórioO tipo de dados é “String”<br />Non-negativenúmeros decimais com até 3 casas decimais suportadas | 422 | 
| Termos []. UsageBasedPricingTerm | Obrigatório | 422 | 
| Termos []. UsageBasedPricingTerm.Type | ObrigatórioSó pode ser "UsagedBasedPricingTerm” | 422 | 
| Termos []. UsageBasedPricingTerm.CurrencyCode | ObrigatórioMoedas suportadas: ["USD"] | 422 | 
| Termos []. UsageBasedPricingTerm.RateCards | ObrigatórioDeve ser do tamanho de 1 | 422 | 
| Termos []. UsageBasedPricingTerm.RateCards[]. RateCard | ObrigatórioO tamanho da lista deve estar entre 1 e 800 | 422 | 
| Termos []. UsageBasedPricingTerm.RateCards[]. RateCard[]. DimensionKey | ObrigatórioO comprimento deve estar entre 1 e 100 | 422 | 
| Termos []. UsageBasedPricingTerm.RateCards[]. RateCard[] .Preço | ObrigatórioO tipo de dados é “String”<br />Non-negativenúmeros decimais com até 8 casas decimais suportadas | 422 | 

**Erros assíncronos**

Os erros a seguir são específicos `UpdatePricingTerms` das ações noAWS 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 | 
| --- | --- | 
| CHAVES DE DIMENSÃO DUPLICADAS | Forneça aos Grants uma lista exclusiva de chaves de dimensão em [x]. | 
| CHAVES DE DIMENSÃO DUPLICADAS |  RateCard Forneça uma lista exclusiva de chaves de dimensão em [x]. | 
| SELETORES\_DUPLICADOS  | Forneça uma lista exclusiva de seletores em ConfigurableUpfrontPricingTerm. | 
| TIPOS\_TERMO\_DUPLICADOS | Forneça uma lista exclusiva de tipos de termos. | 
| ACORDO\_INCOMPATÍVEL | Os termos a seguir não podem ser removidos da oferta de substituição: [x, y, z]. | 
| ACORDO\_INCOMPATÍVEL | Os seguintes termos não podem ser adicionados à oferta de substituição: [x, y, z]. | 
| CÓDIGO\_DE\_MOEDA INCOMPATÍVEL | CurrencyCode não pode ser alterado após o lançamento da oferta. | 
| CONFIGURAÇÕES\_DE PAGAMENTO INCOMPATÍVEIS | Atualize suas configurações de pagamento para serem compatíveis com CurrencyCode o. | 
| PRODUTO\_INCOMPATÍVEL | O modelo de preços de uso não é compatível com o produto. | 
| PRODUTO\_INCOMPATÍVEL | O modelo de preços contratuais não é compatível com o produto. | 
| PRODUTO\_INCOMPATÍVEL | O modelo de preços Byol não é compatível com o produto. | 
| PRODUTO\_INCOMPATÍVEL | O modelo de preço gratuito não é compatível com o produto. | 
| PRODUTO\_INCOMPATÍVEL | [x] não é compatível com uma oferta do produto. | 
| PRODUTO\_INCOMPATÍVEL | As condições de pagamento e preço fornecidas são incompatíveis. | 
| PRODUTO\_INCOMPATÍVEL | Use as dimensões existentes e disponíveis no produto em [x]. | 
| PRODUTO\_INCOMPATÍVEL | FreeTrialPricingTerm pois o único termo de preço da oferta não é compatível com o produto. | 
| PRODUTO\_INCOMPATÍVEL | Os seguintes termos não são compatíveis com o produto: [x, y, z]. | 
| PRODUTO\_INCOMPATÍVEL | As ofertas de substituição são suportadas somente para o modelo de preços contratuais. | 
| PRODUTO\_INCOMPATÍVEL | Forneça termos de preços compatíveis com as dimensões do produto. Termos de preços incompatíveis: [x, y, z]. | 
| RESTRIÇÕES DE TARIFA\_CARTÃO INCOMPATÍVEIS |  QuantityConfiguration Defina MultipleDimensionSelection e como Permitido no modelo ConfigurableUpfrontPricingTerm de preços de uso. | 
| RESTRIÇÕES DE TARIFA\_CARTÃO INCOMPATÍVEIS |  QuantityConfiguration Defina MultipleDimensionSelection e como Não permitido no modelo ConfigurableUpfrontPricingTerm de preços de uso. | 
| RESTRIÇÕES DE TARIFA\_CARTÃO INCOMPATÍVEIS | QuantityConfiguration a ConfigurableUpfrontPricingTerm entrada não pode ser alterada após o lançamento da oferta. | 
| RESTRIÇÕES DE TARIFA\_CARTÃO INCOMPATÍVEIS | MultipleDimensionSelection a ConfigurableUpfrontPricingTerm entrada não pode ser alterada após o lançamento da oferta. | 
| TAXAS\_INCOMPATÍVEIS | Defina todos os valores e preços de cobrança como zero (0) ao usar o modelo de preços gratuitos. | 
| TAXAS\_INCOMPATÍVEIS | Somente zero (0) preços são permitidos UsageBasedPricingTerm para uma oferta de teste gratuito do produto. | 
| AUTORIZAÇÃO\_DE REVENDA INCOMPATÍVEL | Forneça o mesmo CurrencyCode que está especificado no ResaleAuthorization. | 
| AUTORIZAÇÃO\_DE REVENDA INCOMPATÍVEL | Garanta a duração nas FixedUpfrontPricingTerm partidas com a duração especificada no ResaleAuthorization. | 
| AUTORIZAÇÃO\_DE REVENDA INCOMPATÍVEL | Forneça termos que sejam compatíveis com ResaleAuthorization o. Termos incompatíveis: [x, y, z]. | 
| DURAÇÃO\_SELETOR\_INCOMPATÍVEL | As durações não podem ser removidas das tabelas de tarifas ConfigurableUpfrontPricingTerm após o lançamento da oferta. | 
| VERIFICAÇÃO\_DO\_VENDEDOR\_INCOMPATÍVEL | Conclua todos os processos necessários de verificação do vendedor. | 
| TERMOS\_INCOMPATÍVEIS  | [x] não é compatível com os seguintes termos: [y, z]. | 
| TERMOS\_INCOMPATÍVEIS  | Os seguintes termos não podem ser adicionados após o lançamento da oferta: [x, y, z]. | 
| TERMOS\_INCOMPATÍVEIS  | Os termos a seguir não podem ser removidos após o lançamento da oferta: [x, y, z]. | 
| TERMOS\_INCOMPATÍVEIS  | [x] não é compatível com ofertas privadas. | 
| TERMOS\_INCOMPATÍVEIS  | Os termos a seguir não são compatíveis com o FreeTrialPricingTerm que concede uso ilimitado: [x, y, z]. | 
| TERMOS\_INCOMPATÍVEIS  | Os seguintes termos não são compatíveis com FreeTrialPricingTerm o produto: [x, y, z]. | 
| TERMOS\_INCOMPATÍVEIS  | Forneça um preço zero (0) para FixedUpfrontPricingTerm quando a oferta contiver um PaymentScheduleTerm. | 
| TERMOS\_INCOMPATÍVEIS  | Os termos a seguir não são compatíveis com PricingModel: [x, y, z]. | 
| TERMOS\_INCOMPATÍVEIS  | FixedUpfrontPricingTerm não é suportado quando MarkupPercentage é maior que zero (0). | 
| TERMOS\_INCOMPATÍVEIS  | A alteração solicitada não pode ser realizada após o lançamento da oferta. | 
| TERMOS\_INCOMPATÍVEIS  | A alteração solicitada não pode ser realizada após a expiração da oferta. | 
| DURAÇÃO\_DE\_CONTRATO INVÁLIDA | Forneça uma duração entre [x] e [y] meses. | 
| DURAÇÃO\_DE\_CONTRATO INVÁLIDA | Certifique-se de que a granularidade da duração esteja no nível do dia para dimensões medidas. | 
| 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 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. | 
| DURAÇÃO\_INVÁLIDA | Certifique-se de que a duração em FreeTrialPricingTerm esteja dentro do intervalo permitido. | 
| DURAÇÃO\_INVÁLIDA | Forneça uma duração FixedUpfrontPricingTerm que corresponda à duração entre AgreementStartDate AgreementEndDate e. | 
| DURAÇÃO\_INVÁLIDA | Forneça uma duração entre [x] e [y] meses. | 
| DURAÇÃO\_INVÁLIDA | Certifique-se de que a granularidade da duração esteja no nível do dia para dimensões medidas. | 
| SUBVENÇÕES\_INVÁLIDAS | Forneça o mesmo MaxQuantity para todos os subsídios em FreeTrialPricingTerm. | 
| SUBVENÇÕES\_INVÁLIDAS | Forneça subsídios para todas as dimensões medidas disponíveis em FreeTrialPricingTerm. | 
| SUBVENÇÕES\_INVÁLIDAS | The combination of Dimensions in grants is invalid in FixedUpfrontPricingTerm for the product. | 
| SUBVENÇÕES\_INVÁLIDAS | The combination of Dimensions in grants is invalid in FreeTrialPricingTerm for the product. | 
| SUBVENÇÕES\_INVÁLIDAS | FixedUpfrontPricingTerm with MaxQuantity is not supported for this product. | 
| ALTERAÇÃO\_DE\_PREÇO\_INVÁLIDA | [x] não pode ser atualizado até [y] porque você solicitou um aumento de preço nos últimos 120 dias. Para cancelar sua solicitação anterior de aumento de preço ou para obter mais informações, entre em contato com a equipe de operações do catálogo AWS Marketplace gerenciado. | 
| ALTERAÇÃO\_DE\_PREÇO\_INVÁLIDA | O aumento de preço e a adição de dimensões em [x] não são aceitos na mesma solicitação. Adicione as dimensões primeiro. | 
| ALTERAÇÃO\_DE\_PREÇO\_INVÁLIDA | O aumento e a diminuição de preços UsageBasedPricingTerm não são suportados na mesma solicitação. Diminua os preços primeiro. | 
| ALTERAÇÃO\_DE\_PREÇO\_INVÁLIDA | O aumento RecurringPaymentTerm e a diminuição do preço em UsageBasedPricingTerm não são suportados na mesma solicitação. Diminua os preços primeiro. | 
| ALTERAÇÃO\_DE\_PREÇO\_INVÁLIDA | A redução de preço RecurringPaymentTerm e o aumento de preço em UsageBasedPricingTerm não são suportados na mesma solicitação. Diminua os preços primeiro. | 
| CARTÃO\_TAXA\_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\_TAXA\_INVÁLIDA | Forneça uma tabela de tarifas apenas para dimensões medidas. UsageBasedPricingTerm | 
| CARTÃO\_TAXA\_INVÁLIDA | As tarifas não podem ser removidas de [x]. Forneça preços para todas as dimensões na tabela de preços existente. | 
| CARTÃO\_TAXA\_INVÁLIDA | Forneça dimensões que tenham a mesma unidade em [x]. | 
| CARTÃO\_TAXA\_INVÁLIDA | Forneça todas as dimensões medidas ou todas as dimensões autorizadas em [x]. | 
| CARTÃO\_TAXA\_INVÁLIDA | Forneça somente as dimensões autorizadas em [x]. | 
| CARTÃO\_TAXA\_INVÁLIDA | Forneça taxas baseadas no uso para todas as dimensões medidas disponíveis em UsageBasedPricingTerm. | 
| CARTÃO\_TAXA\_INVÁLIDA | Forneça taxas baseadas no uso para todas as dimensões do teste gratuito. | 
| CARTÃO\_TAXA\_INVÁLIDA | Forneça preços com até 8 casas decimais. UsageBasedPricingTerm | 
| CARTÃO\_TAXA\_INVÁLIDA | The combination of Dimensions in rate card is invalid in UsageBasedPricingTerm for the product. | 
| VALOR\_DURAÇÃO\_SELETOR\_INVÁLIDO | Forneça uma duração entre [x] e [y] meses. | 
| VALOR\_DURAÇÃO\_SELETOR\_INVÁLIDO | Certifique-se de que a granularidade da duração esteja no nível do dia para dimensões medidas. | 
| VALOR\_DURAÇÃO\_SELETOR\_INVÁLIDO | Certifique-se de que a duração em ConfigurableUpfrontPricingTerm esteja dentro do intervalo permitido. | 
| VALOR\_DURAÇÃO\_SELETOR\_INVÁLIDO | Forneça uma ou mais durações de contrato suportadas. | 
| VALOR\_DURAÇÃO\_SELETOR\_INVÁLIDO | Forneça uma ou mais durações de contrato suportadas ou uma única duração personalizada. | 
| VALOR\_DURAÇÃO\_SELETOR\_INVÁLIDO | Forneça uma duração ConfigurableUpfrontPricingTerm que corresponda à duração entre AgreementStartDate AgreementEndDate e. | 
| DURAÇÃO\_AUSENTE | Forneça a duração em FixedUpfrontPricingTerm. | 
| TERMOS\_OBRIGATÓRIOS AUSENTES | FixedUpfrontPricingTerm só é suportado quando emparelhado com ByolPricingTerm ou PaymentScheduleTerm. | 
| TERMOS\_OBRIGATÓRIOS AUSENTES | Forneça pelo menos um de [x, y, z]. | 
| TERMOS\_OBRIGATÓRIOS AUSENTES | Forneça um ByolPricingTerm ao usar o modelo de preços Byol. | 
| MUITOS\_SUBSÍDIOS | Forneça até [x] subsídios em [y]. | 
| MUITOS\_CARTÕES\_TARIFÁRIOS | Somente uma tabela de preços ConfigurableUpfrontPricingTerm é permitida para o produto. | 
| MUITOS\_CARTÕES\_TARIFÁRIOS | Até [x] cartões de avaliação são permitidos ConfigurableUpfrontPricingTerm para o produto. | 
| MUITAS\_TARIFAS | Forneça RateCards dentro dos limites permitidos em ConfigurableUpfrontPricingTerm. | 
| MUITAS\_TARIFAS | Forneça RateCards dentro dos limites permitidos em UsageBasedPricingTerm. | 
| RESTRIÇÕES DE TARIFA\_CARTÃO INCOMPATÍVEIS |  QuantityConfiguration Defina ambos MultipleDimensionSelection e com o mesmo valor (Permitido ou Não permitido) em ConfigurableUpfrontPricingTerm. | 
| RESTRIÇÕES DE TARIFA\_CARTÃO INCOMPATÍVEIS | Forneça as mesmas restrições para todas as tabelas de preços em. ConfigurableUpfrontPricingTerm | 
| SOLICITAÇÃO\_DE ATUALIZAÇÃO INVÁLIDA | [x] não pode ser atualizado. Para solicitar alterações de preços ou obter mais informações, entre em contato com a equipe de operações do catálogo AWS Marketplace gerenciado. | 
| MODELO\_DE\_PRECIFICAÇÃO INCOMPATÍVEL | PricingModel não pode mudar de [x] para [y]. | 
| SUBVENÇÕES\_INVÁLIDAS | MaxQuantity pois o FreeTrialPricingTerm é limitado para o produto. Forneça um valor MaxQuantity menor ou igual a [x]. Para obter mais informações, entre em contato com a equipe de operações do catálogo AWS Marketplace gerenciado. | 
| SUBVENÇÕES\_INVÁLIDAS |  MaxQuantity Forneça todos os subsídios em FixedUpfrontPricingTerm. | 
| SUBVENÇÕES\_INVÁLIDAS | MaxQuantity não é compatível com FixedUpfrontPricingTerm o produto. | 
| AUTORIZAÇÃO\_DE REVENDA INCOMPATÍVEL | Garanta subsídios em FixedUpfrontPricingTerm partidas RateCards especificadas no ResaleAuthorization. | 

## Atualize a visibilidade da oferta
<a name="update-availability"></a>

Você pode usar a API do Catálogo para controlar a descoberta de sua oferta emAWS Marketplace. 

Você pode escolher definir uma data específica no futuro para restringir a descoberta de sua oferta ou, no passado, para expirar sua oferta. O tipo de `UpdateAvailability` alteração não afeta os contratos existentes.

**nota**  
Você pode usar o tipo de `UpdateAvailability` alteração em uma oferta privada que já foi [publicada](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/offers.html#release-offer) (também conhecida como *lançada*). Se os compradores já aceitaram a oferta privada, esses contratos existentes não serão afetados.
Ao modificar uma oferta privada existente, as [restrições da duração do contrato](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/offers.html#update-validity-terms) devem ser respeitadas. `AvailabilityEndDate` Caso contrário, inclua um tipo de `UpdateValidityTerms` alteração adicional nesse conjunto de alterações para modificar a duração do contrato e aderir à nova expiração. O tipo de `UpdateValidityTerms` alteração pode ser usado em uma oferta privada que foi lançada ou ainda não foi lançada.
Ao modificar uma oferta privada existente, as [restrições do cronograma de pagamento](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/offers.html#update-payment-schedule-terms) devem ser respeitadas. `AvailabilityEndDate` Se não estiver e a oferta privada *ainda não tiver sido lançada*, inclua um tipo de `UpdatePaymentScheduleTerms` alteração adicional nesse conjunto de alterações para modificar o cronograma de pagamento de acordo com a nova expiração. Se a oferta privada *já tiver sido lançada*, você só poderá fazer alterações na, `AvailabilityEndDate` desde que a nova data esteja de acordo com as restrições do cronograma de pagamento.

Para controlar a capacidade de descoberta de sua oferta, 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": "Offer@1.0",
        "Identifier": "offer-123456789"
      },
      "DetailsDocument": {
        "AvailabilityEndDate": "2024-05-31"
      }
    }
  ]
}
```

Forneça informações sobre os campos para adicionar o tipo de `UpdateAvailability` alteração:
+ **Entidade** (objeto) (obrigatório) — Sua oferta. 
  + **Tipo** (string) (obrigatório) — O `Type` é sempre`Offer@1.0`. 
  + **Identificador** (string) (obrigatório) — Seu ID da oferta. Para obter mais informações, consulte [Identificador](catalog-apis.md#identifier).
+ **DetailsDocument**(object) (obrigatório) — O valor JSON das especificações da solicitação.
  + **AvailabilityEndDate**(string) (obrigatório) — Essa é a data até a qual a oferta pode ser descoberta e comprada em. AWS Marketplace Você pode escolher definir uma data específica no futuro para restringir a disponibilidade ou no passado para expirar a oferta. As datas são representadas em `YYYY-MM-DD` formato.

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

**Sintaxe de resposta**

```
{
  "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. Inclui informações de validação 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 doPortal de gerenciamento do AWS Marketplace, ou na API do Catálogo com a `DescribeChangeSet` ação.

**Validações síncronas**

As seguintes validações de esquema são específicas para `UpdateAvailability` 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 requisitos a seguir, ela falhará com uma resposta HTTP.


| Campo de entrada | Regra de validação | Código HTTP | 
| --- | --- | --- | 
| AvailabilityEndDate | Obrigatório<br />Formato: "YYYY-MM-DD” | 422 | 

**Erros assíncronos**

Os erros a seguir são específicos `UpdateAvailability` das ações noAWS 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 | 
| --- | --- | 
| DATA-FINAL DE DISPONIBILIDADE\_INVÁLIDA | AvailabilityEndDate não é compatível com ofertas públicas. | 
| DATA-FINAL DE DISPONIBILIDADE\_INVÁLIDA | Ofereça um futuro AvailabilityEndDate. | 
| DATA-FINAL DE DISPONIBILIDADE\_INVÁLIDA | Forneça AvailabilityEndDate o que é antes AgreementEndDate. | 
| DATA DE TÉRMINO DA DISPONIBILIDADE\_FALTANTE | Forneça um AvailabilityEndDate que seja anterior à data de término do contrato. | 

## Defina a data de expiração dos contratos criados usando a oferta
<a name="update-validity-terms"></a>

Você pode usar a API do Catálogo para definir os detalhes da data de expiração dos contratos criados usando a oferta emAWS Marketplace. 

Esse tipo de alteração não afeta os contratos existentes.

**nota**  
Você pode usar o tipo de `UpdateValidityTerms` alteração em uma oferta privada que já foi [publicada](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/offers.html#release-offer) (também conhecida como *lançada*). Se os compradores já aceitaram a oferta privada, esses contratos existentes não serão afetados.  
Para produtos **baseados em contêineres **AMI-based**e produtos baseados em** contêineres, se [os termos de preços](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/offers.html#update-pricing-terms) de sua oferta privada incluírem um tipo de termo que tenha um `Duration` (por exemplo, os tipos de termos `FixedUpfrontPricingTerm` ou`ConfigurableUpfrontPricingTerm`), seu `AgreementDuration` conjunto nesse tipo de alteração deverá ser maior do que o seguinte: o número de dias [de hoje até a expiração da oferta privada](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/offers.html#update-availability) mais o número de dias definido nesses tipos `Duration` de termos. Isso ocorre porque, depois que um comprador aceita a oferta privada e o contrato é criado, ele pode, opcionalmente, comprar direitos adicionais especificados nesses tipos de termos até que a oferta privada expire. Além disso, todos os direitos adicionais devem terminar antes que o contrato termine. Por exemplo, se o comprador aceitar a oferta privada no primeiro dia disponível e depois comprar direitos no último dia disponível, esses direitos não devem terminar após a data de término do contrato.

Para definir os detalhes da data de expiração dos contratos criados usando a oferta, chame a operação da `StartChangeSet` API com o tipo de `UpdateValidityTerms` 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": "UpdateValidityTerms",
      "Entity": {
        "Type": "Offer@1.0",
        "Identifier": "offer-123456789"
      },
      "DetailsDocument": {
        "Terms": [
          {
            "Type": "ValidityTerm",
            "AgreementDuration": "P12M",
            "AgreementStartDate": "2021-08-01",
            "AgreementEndDate": "2022-08-01"
          }
        ]
      }
    }
  ]
}
```

Forneça informações sobre os campos para adicionar o tipo de `UpdateValidityTerms` alteração:
+ **Entidade** (objeto) (obrigatório) — Sua oferta. 
  + **Tipo** (string) (obrigatório) — O `Type` é sempre`Offer@1.0`. 
  + **Identificador** (string) (obrigatório) — Seu ID da oferta. Para obter mais informações, consulte [Identificador](catalog-apis.md#identifier).
+ **DetailsDocument**(object) (obrigatório) — O valor JSON das especificações da solicitação.
  + **Termos** (matriz de estruturas) — Lista dos termos de validade que você deseja atualizar. Os termos de validade aceitos são:
    + **ValidityTerm**(objeto) — Define as condições que manterão um contrato, criado a partir desta oferta, válido.
      + **Tipo** (string) — Categoria do termo que está sendo atualizado. `ValidityTerm`
      + **AgreementDuration**(string) — Define por quanto tempo o contrato permanece ativo. Se `AgreementStartDate` não for fornecida, a duração do contrato é relativa à hora da assinatura do contrato. A duração é representada no formato ISO\_8601.
      + **AgreementStartDate**(string) — Define a data em que o contrato começa. `AgreementStartDate`é representado em `YYYY-MM-DD` formato. O contrato começa às 00:00:00.000 UTC na data fornecida. Se `AgreementStartDate` não for fornecida, a data de início do contrato é determinada com base na hora da assinatura do contrato.
      + **AgreementEndDate**(string) — Define a data em que o contrato termina. O `AgreementEndDate` é representado em `YYYY-MM-DD` formato. O contrato termina às 23:59:59.999 UTC na data fornecida. Se `AgreementEndDate` não for fornecida, a data de término do contrato é determinada pela validade dos termos individuais.

**Sintaxe de resposta**

Um conjunto de alterações é criado para sua solicitação. A resposta a essa solicitação fornece a `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 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 daPortal de gerenciamento do AWS Marketplace, ou diretamente por meio da API de catálogo, 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 seguintes validações de esquema são específicas para `UpdateValidityTerms` 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 requisitos a seguir, ela falhará com uma resposta HTTP.


| Campo de entrada | Regra de validação | Código HTTP | 
| --- | --- | --- | 
| Termos | Obrigatório | 422 | 
| Termos [] .Tipo | Obrigatório<br />Só pode ser `"ValidityTerm"` | 422 | 
| Termos []. AgreementDuration | Opcional<br />Formato esperado por tipo de seletor: duração ISO 8601<br />Pode ser autônomo ou emparelhado com `AgreementStartDate` | 422 | 
| Termos []. AgreementEndDate | Opcional<br />A data deve ser formatada como `"YYYY-MM-DD"` | 422 | 
| Termos []. AgreementStartDate | Opcional<br />A data deve ser formatada como `"YYYY-MM-DD"`<br />Só pode ser emparelhado com `AgreementEndDate` e `AgreementDuration` | 422 | 

**Erros assíncronos**

Os erros a seguir são específicos `UpdateValidityTerms` das ações noAWS 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 | 
| --- | --- | 
| ACORDO\_INCOMPATÍVEL | AgreementStartDate não pode estar no futuro quando o contrato atual a ser substituído não tiver data futura. | 
| DATA-FINAL DO CONTRATO INCOMPATÍVEL | AgreementEndDate não podem ser atualizados após o lançamento da oferta. | 
| DATA DE INÍCIO DO CONTRATO INCOMPATÍVEL | AgreementStartDate não podem ser atualizados após o lançamento da oferta. | 
| PRODUTO\_INCOMPATÍVEL | AgreementStartDate in the future não é suportado. | 
| AUTORIZAÇÃO\_DE REVENDA INCOMPATÍVEL | Certifique-se de que a duração entre AgreementStartDate e AgreementEndDate seja compatível com ResaleAuthorization o. | 
| AUTORIZAÇÃO\_DE REVENDA INCOMPATÍVEL | Certifique-se de AgreementStartDate que é compatível com ResaleAuthorization o. | 
| AUTORIZAÇÃO\_DE REVENDA INCOMPATÍVEL | Certifique-se de AgreementEndDate que é compatível com ResaleAuthorization o. | 
| AUTORIZAÇÃO\_DE REVENDA INCOMPATÍVEL | Certifique-se de que a duração entre AgreementStartDate e AgreementEndDate seja compatível com ResaleAuthorization o. | 
| AUTORIZAÇÃO\_DE REVENDA INCOMPATÍVEL | Certifique-se de que a duração das AgreementDuration correspondências seja especificada no ResaleAuthorization. | 
| TERMOS\_INCOMPATÍVEIS  | ValidityTerm não é compatível com ofertas públicas. | 
| TERMOS\_INCOMPATÍVEIS  | A alteração solicitada não pode ser realizada após a expiração da oferta. | 
| DURAÇÃO\_DE\_CONTRATO INVÁLIDA | Forneça AgreementDuration que seja maior ou igual a [x] dias. | 
| DATA-FINAL DO CONTRATO INVÁLIDA | Ofereça um futuro AgreementEndDate. | 
| DATA-FINAL DO CONTRATO INVÁLIDA | Forneça AgreementEndDate que seja posterior ou igual a [x]. | 
| DATA\_DE\_INICIO\_DO\_CONTRATO INVÁLIDA | Forneça um AgreementStartDate que vem depois AvailabilityEndDate. | 
| DATA\_DE\_INICIO\_DO\_CONTRATO INVÁLIDA | Forneça um AgreementStartDate que esteja antes do AgreementEndDate. | 
| DATA\_DE\_INICIO\_DO\_CONTRATO INVÁLIDA | Forneça um AgreementStartDate que esteja dentro de [x] anos a partir de hoje. | 
| INTERVALO\_TEMPO\_DO\_CONTRATO INVÁLIDO | ValidityTerm com ambos AgreementDuration e AgreementEndDate não é compatível. | 
| INTERVALO\_TEMPO\_DO\_CONTRATO INVÁLIDO | ValidityTerm com ambos AgreementStartDate e AgreementDuration não é suportado em uma oferta para o produto. | 
| INTERVALO\_TEMPO\_DO\_CONTRATO INVÁLIDO | ValidityTerm with AgreementStartDate não é compatível com uma oferta do produto. | 
| INTERVALO\_TEMPO\_DO\_CONTRATO INVÁLIDO | ValidityTerm with only AgreementStartDate não é suportado. | 
| INTERVALO\_TEMPO\_DO\_CONTRATO INVÁLIDO | AgreementEndDate não é suportado, a menos que seja usado em combinação com um future AgreementStartDate ou para ofertas de substituição. | 
| INTERVALO\_TEMPO\_DO\_CONTRATO INVÁLIDO | Forneça AgreementStartDate e AgreementEndDate onde a diferença seja menor ou igual a [x] anos. | 
| DATA DE INÍCIO DO CONTRATO AUSENTE | Certifique-se de que AgreementStartDate está presente ValidityTerm quando usado junto com ConfigurableUpfrontPricingTerm. | 
| DATA-FINAL DO CONTRATO INVÁLIDA | Forneça um AgreementEndDate que esteja dentro de [x] anos a partir de hoje. | 
| DATA DE INÍCIO DO CONTRATO INCOMPATÍVEL | Forneça o AgreementStartDate mesmo definido no contrato quando o contrato tiver uma data de início futura. | 
| ACORDO\_INCOMPATÍVEL | AgreementStartDate não pode ter data futura quando o contrato não tem data futura. | 

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

Você pode usar a API do Catálogo para atualizar os detalhes do cronograma de pagamento da sua oferta, como o cronograma de pagamento flexível, emAWS Marketplace. 

**nota**  
Você não pode usar o tipo de `UpdatePaymentScheduleTerms` alteração em uma oferta que já foi [publicada](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/offers.html#release-offer) (também conhecida como *lançada*).  
A oferta privada pode ser aceita em qualquer dia entre a criação da oferta privada e sua [expiração](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/offers.html#update-availability) (definida no`AvailabilityEndDate`). Somente um `ChargeDate` valor do plano de pagamento pode ser uma data igual ou anterior ao último dia em que o comprador pode aceitar a oferta privada (a data de expiração da oferta privada). Os valores restantes de `ChargeDate` devem ser após a expiração da oferta privada, mas não depois do final do contrato, caso a oferta privada tenha sido aceita imediatamente. O final do contrato é baseado em quando a oferta privada é aceita (criação do contrato) mais a [duração do contrato](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/offers.html#update-validity-terms).

Para atualizar os detalhes do cronograma de pagamento da sua oferta, 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": "Offer@1.0",
        "Identifier": "offer-123456789"
      },
      "DetailsDocument": {
        "Terms": [
          {
            "Type": "PaymentScheduleTerm",
            "Schedule": [
              {
                "ChargeDate": "2021-12-01",
                "ChargeAmount": "200.00"
              },
              {
                "ChargeDate": "2022-03-01",
                "ChargeAmount": "250.00"
              }
            ]
          }
        ]
      }
    }
  ]
}
```

Forneça informações sobre os campos para adicionar o tipo de `UpdatePaymentScheduleTerms` alteração:
+ **Entidade** (objeto) (obrigatório) — Sua oferta. 
  + **Tipo** (string) (obrigatório) — O `Type` é sempre`Offer@1.0`. 
  + **Identificador** (string) (obrigatório) — Seu ID da oferta. Para obter mais informações, consulte [Identificador](catalog-apis.md#identifier).
+ **DetailsDocument**(object) (obrigatório) — O valor JSON das especificações da solicitação.
  + **Condições** (matriz de estruturas) — Lista das condições de pagamento que você deseja atualizar. As condições de pagamento aceitas são:
    + **PaymentScheduleTerm**(objeto) — Define um modelo de preços baseado em parcelas em que os clientes pagam um preço fixo em datas diferentes durante o período de validade do contrato.
      + **Tipo** (string) — Tipo do termo que está sendo atualizado. Este é o valor do objeto:`"PaymentScheduleTerm"`.
      + **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) — A data em que o cliente pagaria o preço definido nesse prazo do cronograma de pagamento. `ChargeDate`é representado em YYYY-MM-DD formato. As faturas são geradas na data fornecida.
        + **ChargeAmount**(string) — O preço que o cliente pagaria na data programada (`ChargeDate`).

**Sintaxe de resposta**

Um conjunto de alterações é criado para sua solicitação. A resposta a essa solicitação fornece a `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 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 daPortal de gerenciamento do AWS Marketplace, ou diretamente por meio da API de catálogo, 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 seguintes validações de esquema são específicas para `UpdatePaymentScheduleTerms` 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 requisitos a seguir, ela falhará com uma resposta HTTP.


| Campo de entrada | Regra de validação | HTTP | 
| --- | --- | --- | 
| Termos | Obrigatório<br />Só `PaymentScheduleTerm` é permitido<br />O tamanho da lista deve ser menor que 2 | 422 | 
| Termos [] .Tipo | Obrigatório<br />Só pode ser `PaymentScheduleTerm` | 422 | 
| Termos []. PaymentScheduleTerm.CurrencyCode | Obrigatório<br />Moedas suportadas: ["USD”, “AUD”, “EUR”, “GBP”, “JPY"] | 422 | 
| Termos []. PaymentScheduleTerm.Schedule[] | Obrigatório | 422 | 
| Termos []. PaymentScheduleTerm.Schedule[]. ChargeAmount | ObrigatórioO tipo de data é “String”<br />Non-negativenúmeros decimais com até 2 casas decimais suportadas | 422 | 
| Termos []. PaymentScheduleTerm.Schedule[]. ChargeDate | Obrigatório<br />A data deve ser formatada como "” YYYY-MM-DD | 422 | 

**Erros assíncronos**

Os erros a seguir são específicos `UpdatePaymentScheduleTerms` das ações noAWS 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 | 
| --- | --- | 
| DATAS\_DE\_COBRANÇA DUPLICADAS | Forneça datas de cobrança exclusivas em PaymentScheduleTerm. | 
| CÓDIGO\_DE\_MOEDA INCOMPATÍVEL | CurrencyCode não pode ser alterado após o lançamento da oferta. | 
| PERCENTAGEM\_DE\_MARCAÇÃO INCOMPATÍVEL | PaymentScheduleTerm não é suportado quando MarkupPercentage é maior que zero (0). | 
| CONFIGURAÇÕES\_DE PAGAMENTO INCOMPATÍVEIS | Atualize suas configurações de pagamento para serem compatíveis com CurrencyCode o. | 
| AUTORIZAÇÃO\_DE REVENDA INCOMPATÍVEL | Forneça termos que sejam compatíveis com ResaleAuthorization o. Termos incompatíveis: [PaymentScheduleTerm]. | 
| AUTORIZAÇÃO\_DE REVENDA INCOMPATÍVEL | Certifique-se de que a ChargeAmounts entrada total PaymentScheduleTerm seja compatível com ResaleAuthorization o. | 
| VERIFICAÇÃO\_DO\_VENDEDOR\_INCOMPATÍVEL | Conclua todos os processos necessários de verificação do vendedor. | 
| TERMOS\_INCOMPATÍVEIS | A alteração solicitada não pode ser realizada após o lançamento da oferta. | 
| TERMOS\_INCOMPATÍVEIS | A alteração solicitada não pode ser realizada após a expiração da oferta. | 
| DATAS\_DE\_COBRANÇA INVÁLIDAS | Forneça datas de cobrança antes AgreementEndDate. | 
| 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. | 
| MUITAS\_COBRANÇAS RETROATIVAS | Forneça até 1 pagamento agendado antes AvailabilityEndDate. | 
| DATAS\_DE\_COBRANÇA INVÁLIDAS | Forneça uma data da última cobrança anterior AgreementEndDate. | 
| DATAS\_DE\_COBRANÇA INVÁLIDAS | Forneça uma data da primeira cobrança que não esteja no passado. | 
| MUITAS COBRANÇAS | Forneça até [x] pagamentos programados em PaymentScheduleTerm. | 

## Modificar as opções de renovação
<a name="update-renewal-terms"></a>

Você pode usar a API do Catálogo para controlar as opções de renovação dos contratos criados usando essa oferta emAWS Marketplace. 

Para ofertas criadas por meio da API de catálogo, a renovação automática permanece desativada por padrão até que você ligue para o tipo de `UpdateRenewalTerms` alteração para permitir a renovação automática. Essa alteração não afeta os contratos existentes.

Para controlar as opções de renovação dos contratos criados usando essa oferta, chame a operação da `StartChangeSet` API com o tipo de `UpdateRenewalTerms` 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": "UpdateRenewalTerms",
      "Entity": {
        "Type": "Offer@1.0",
        "Identifier": "offer-123456789"
      },
      "DetailsDocument": {
        "Terms": [
          {
            "Type": "RenewalTerm"
          }
        ]
      }
    }
  ]
}
```

Forneça informações sobre os campos para adicionar o tipo de `UpdateRenewalTerms` alteração:
+ **Entidade** (objeto) (obrigatório) — Sua oferta. 
  + **Tipo** (string) (obrigatório) — O `Type` é sempre`Offer@1.0`. 
  + **Identificador** (string) (obrigatório) — Seu ID da oferta. Para obter mais informações, consulte [Identificador](catalog-apis.md#identifier).
+ **DetailsDocument**(object) (obrigatório) — O valor JSON das especificações da solicitação.
  + **Termos** (matriz de estruturas) — Lista dos termos de renovação que você deseja atualizar. Os termos de renovação aceitos são:
    + **RenewalTerm**(objeto) — Define que, na rescisão normal (expiração do contrato`ValidityTerm`, não do comprador ou AWS Marketplace cancelamento), um novo contrato será criado usando os termos aceitos no contrato existente. Em outras palavras, o acordo será renovado. A presença de `RenewalTerm` na oferta significa que a renovação automática é permitida. Os compradores terão a opção de aceitar ou recusar a renovação automática na acceptance/agreement criação da oferta.
      + **Tipo** (string) — Tipo do termo que está sendo atualizado. `RenewalTerm`

**Sintaxe de resposta**

Um conjunto de alterações é criado para sua solicitação. A resposta a essa solicitação fornece a `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 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 daPortal de gerenciamento do AWS Marketplace, ou diretamente por meio da API de catálogo, 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 seguintes validações de esquema são específicas para `UpdateRenewalTerms` 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 requisitos a seguir, ela falhará com uma resposta HTTP.


| Campo de entrada | Regra de validação | Código HTTP | 
| --- | --- | --- | 
| Termos | Obrigatório | 422 | 
| Termos [] .Tipo | ObrigatórioSó pode ser "RenewalTerm” | 422 | 

**Erros assíncronos**

Os erros a seguir são específicos `UpdateRenewalTerms` das ações noAWS 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 | 
| --- | --- | 
| PRODUTO\_INCOMPATÍVEL | RenewalTerm não é suportado em ofertas privadas do produto. | 
| TERMOS\_INCOMPATÍVEIS  | RenewalTerm não é suportado junto com PaymentScheduleTerm. | 
| TERMOS\_INCOMPATÍVEIS  | RenewalTerm não é compatível com PricingModel o. | 
| TERMOS\_INCOMPATÍVEIS | A alteração solicitada não pode ser realizada após o lançamento da oferta. | 
| TERMOS\_INCOMPATÍVEIS | A alteração solicitada não pode ser realizada após a expiração da oferta. | 

## Publique uma oferta
<a name="release-offer"></a>

Você pode usar a API do Catálogo para mesclar as informações coletadas de todos os tipos de alteração de atualização e depois publicar a oferta.

As ofertas permanecem em um `Draft` estado até serem `ReleaseOffer` chamadas. Depois que a oferta for lançada, ela poderá ser descoberta emAWS Marketplace.

Para publicar sua oferta, chame a operação da `StartChangeSet` API com o tipo de `ReleaseOffer` 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": "ReleaseOffer",
      "Entity": {
        "Type": "Offer@1.0",
        "Identifier": "offer-123456789"
      },
      "DetailsDocument": {}
    }
  ]
}
```

Forneça informações sobre os campos para adicionar o tipo de `ReleaseOffer` alteração:
+ **Entidade** (objeto) — O tipo nomeado de entidade que está sendo criada. Esse `Identifier` é o ID da sua oferta, e `Type` é sempre`Offer@1.0`. Para obter mais informações, consulte [Identificador](catalog-apis.md#identifier).
+ **DetailsDocument**(object) — O valor JSON das especificações da solicitação. Deve estar vazio para`ReleaseOffer`.

**Sintaxe de resposta**

Um conjunto de alterações é criado para sua solicitação. A resposta a essa solicitação fornece a `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 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 daPortal de gerenciamento do AWS Marketplace, ou diretamente por meio da API de catálogo, 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 seguintes validações de esquema são específicas para `ReleaseOffer` 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 requisitos a seguir, ela falhará com uma resposta HTTP.


| Campo de entrada | Regra de validação | 
| --- | --- | 
| DetailsDocument | Deve estar vazio ({}) | 

**Erros assíncronos**

Os erros a seguir são específicos `ReleaseOffer` das ações noAWS 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 | 
| --- | --- | 
| CONFIGURAÇÕES\_DE PAGAMENTO INCOMPATÍVEIS | Atualize suas configurações de pagamento para serem compatíveis com CurrencyCode o. | 
| PRODUTO\_INCOMPATÍVEL | Primeiro, crie uma oferta pública para o produto. | 
| VERIFICAÇÃO\_DO\_VENDEDOR\_INCOMPATÍVEL | Conclua todos os processos necessários de verificação do vendedor. | 
| SEGMENTAÇÃO\_INCOMPATÍVEL | PreExistingAgreement só é compatível com ofertas direcionadas ao comprador. | 
| SEGMENTAÇÃO\_INCOMPATÍVEL | OfferSetId só é compatível com ofertas direcionadas ao comprador. | 
| INFORMAÇÕES\_FISCAIS INVÁLIDAS | Suas informações fiscais estão incompletas. Para vender serviços profissionaisAWS Marketplace, você deve preencher o questionário tributário DAC7. Navegue até a seção Informações de pagamento e selecione o formulário fiscal DAC7. Pode levar até duas horas para que suas informações fiscais sejam atualizadas. | 
| SOLICITAÇÃO\_DE ATUALIZAÇÃO INVÁLIDA | A alteração solicitada não pode ser realizada após o lançamento da oferta. | 
| DATA DE TÉRMINO DO CONTRATO AUSENTE | Forneça uma AgreementEndDate para ofertas de substituição. | 
| DATA DE TÉRMINO DA DISPONIBILIDADE\_FALTANTE | Forneça uma AvailabilityEndDate oferta privada. | 
| CONTAS DE COMPRADORES AUSENTES |  PositiveTargeting BuyersAccounts Forneça ofertas criadas usando ResaleAuthorization. | 
| CONTAS DE COMPRADORES AUSENTES | Todas as ofertas do produto devem ser privadas. Forneça PositiveTargeting com BuyersAccounts. | 
| DESCRIÇÃO\_AUSENTE | Defina a descrição antes de lançar a oferta. | 
| TERMOS\_OBRIGATÓRIOS AUSENTES | Adicione [x] à oferta. | 
| TERMOS\_OBRIGATÓRIOS AUSENTES | Forneça um FixedUpfrontPricingTerm quando a oferta contiver um PaymentScheduleTerm. | 
| NOME\_AUSENTE | Defina o nome antes de liberar a oferta. | 
| MUITAS\_OFERTAS | Somente uma oferta pública de teste gratuito pode ser criada por produto. | 
| MUITAS\_OFERTAS | Somente uma oferta pública pode ser criada por produto. | 
| TERMOS\_OBRIGATÓRIOS AUSENTES | Forneça RenewalTerm ofertas públicas com preços contratuais para o produto. | 
| DATA DE TÉRMINO DO CONTRATO AUSENTE | Forneça uma AgreementEndDate para ofertas de substituição. | 

## Descreva os detalhes da oferta existente
<a name="describe-entity"></a>

Você pode usar a API do Catálogo para descrever os detalhes da oferta existente emAWS Marketplace. 

Para descrever os detalhes da oferta existente, chame a operação da `DescribeEntity` API com o tipo de `Offer@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 sobre 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 da oferta a ser descrita.

**Sintaxe de resposta**

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

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

A seguir estão as informações sobre os campos que você vê na `DescribeEntity` resposta.
+ **EntityType**(string) — O tipo nomeado da entidade, que é`Offer@1.0`.
+ **EntityIdentifier**(string) — O identificador da entidade, no formato de`EntityId@RevisionId`.
+ **EntityArn**(string) — O ARN associado ao identificador exclusivo do conjunto de alterações referenciado nessa solicitação.
+ **LastModifiedDate**(string) — A data da última modificação da entidade, no formato ISO 8601 (por exemplo:`2018-02-27T13:45:22Z`).
+ **Detalhes** (string) — Esse objeto JSON em sequência de caracteres inclui os seguintes detalhes da entidade:
  + **Id** (string) — Identificador exclusivo de uma entidade de oferta em AWS Marketplace e é gerado durante a criação de uma oferta.
  + **State** (string) — O status da oferta.
  + **Nome** (string) — O nome associado à oferta para melhor legibilidade para você e seus clientes. Também será 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.
  + **PreExistingAgreement**(string) — Determina se essa oferta é uma renovação de um contrato existente com um cliente existente para o mesmo produto subjacente. O acordo existente pode ser interno ou externoAWS Marketplace. AWSpode 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 do seu cliente.
    + **AcquisitionChannel**(string) — Indica se o contrato existente foi assinado externamente AWS Marketplace ou internamenteAWS Marketplace. Valores possíveis:`External`,`AwsMarketplace`.

       
    + **PricingModel**(string) — Indica qual modelo de preços o contrato existente usa. Valores possíveis:`Contract`,`Usage`,`Byol`,`Free`.
  + **ProductId**(string) — O identificador exclusivo do produto que está sendo oferecido.
  + **OfferSetId**(string) — O identificador exclusivo do conjunto de ofertas ao qual associar essa oferta.
  + **Termos** (matriz de estruturas) — Lista de termos.
  + **Regras** (matriz de estruturas) — Lista de regras.