

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 conjuntos de ofertas
<a name="work-with-offer-sets"></a>

Os conjuntos de ofertas do AWS Marketplace permitem que os vendedores empacotem várias ofertas privadas em pacotes unificados transacionáveis de vários produtos para compradores. Esse recurso atende à crescente demanda dos clientes por soluções abrangentes e completas em ambientes corporativos complexos.

Tradicionalmente, os compradores precisavam descobrir e adquirir produtos individuais de vários vendedores, resultando em experiências fragmentadas, desafios de integração e ciclos de aquisição mais longos. Os conjuntos de ofertas simplificam isso, permitindo que os parceiros do AWS Marketplace combinem várias ofertas, simplificando o processo de transação por meio de ofertas privadas coordenadas, nas quais os clientes podem revisar e aceitar todos os componentes com aprovação única.

Os conjuntos de ofertas funcionam em conjunto com as soluções para fornecer ofertas abrangentes de vários produtos. As soluções fornecem conteúdo de marketing rico, incluindo descrições detalhadas, diagramas de arquitetura e documentação de casos de uso, enquanto os conjuntos de ofertas lidam com a embalagem transacionável e os termos comerciais para uma aquisição unificada.

## Entidade do conjunto de ofertas
<a name="offer-set-entity"></a>

Um conjunto de ofertas é um contêiner que agrupa de 2 a 7 ofertas privadas em um único pacote transacionável. Cada oferta dentro de um conjunto de ofertas mantém seus próprios preços, condições de pagamento, duração e Contrato de Licença de Usuário Final (EULA), enquanto o conjunto de ofertas fornece uma experiência unificada de descoberta e aceitação para os compradores.

**Características principais:**
+ Agrupa várias ofertas privadas (mínimo 2, máximo 7)
+ Permite a aceitação unificada de todas as ofertas pelo comprador com uma única ação
+ Mantém a flexibilidade com termos distintos para cada oferta
+ Cria contratos separados para cada produto, permitindo gerenciamento independente após a compra
+ Pode ser associado opcionalmente a uma solução para conteúdo de marketing aprimorado

O tipo de entidade do conjunto de ofertas é`OfferSet@1.0`.

**Identificadores de entidade**

Os conjuntos de ofertas usam o formato do `offerset-*` identificador (por exemplo,`offerset-abc123def456`).

**Formato ARN da entidade**

Os conjuntos de ofertas seguem o formato ARN padrão da AWS:

```
arn:aws:aws-marketplace:{region}:{account-id}:AWSMarketplace/OfferSet/{offerset-id}
```

Exemplo:

```
arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/OfferSet/offerset-abc123def456
```

## Introdução aos conjuntos de ofertas
<a name="getting-started-with-offer-sets"></a>

Esta seção fornece informações detalhadas sobre como criar e gerenciar conjuntos de ofertas usando os [tipos de alteração](https://docs.aws.amazon.com/marketplace/latest/APIReference/API_Change.html) da API de AWS Marketplace catálogo.

Antes de começar, você deve ter o seguinte:
+ Registro de vendedor válido no AWS Marketplace e um perfil público. Para obter mais informações, consulte [Registrar e criar seu perfil de vendedor](https://docs.aws.amazon.com/marketplace/latest/userguide/create-public-profile.html).
+ Acesso à API e pré-requisitos preenchidos do vendedor. Para obter mais informações, consulte [Controle de acesso para a API do AWS Marketplace Catalog](https://docs.aws.amazon.com/marketplace/latest/APIReference/catalog-api-access-control.html).
+ Aprenda os conceitos básicos do uso da API do AWS Marketplace Catalog, consulte Como [usar a API do AWS Marketplace Catalog](https://docs.aws.amazon.com/marketplace/latest/APIReference/catalog-apis.html).

## Listar conjuntos de ofertas
<a name="list-offer-sets"></a>

Para listar todos os conjuntos de ofertas em sua conta, chame a operação da `ListEntities` API com `EntityType` set to`OfferSet`.

**Solicitação**

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

{
  "Catalog": "AWSMarketplace",
  "EntityType": "OfferSet"
}
```

**Resposta**

```
{
  "EntitySummaryList": [
    {
      "EntityType": "OfferSet",
      "EntityId": "offerset-xyz123",
      "EntityArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/OfferSet/offerset-xyz123",
      "LastModifiedDate": "2025-06-25T23:46:25Z",
      "OfferSetSummary": {
        "Name": "Enterprise Security Solution Offer Set",
        "State": "Released",
        "ReleaseDate": "2025-06-25T23:46:20Z",
        "SolutionId": "soln-abc987",
        "AssociatedOfferIds": [
          "offer-abc123",
          "offer-def456",
          "offer-ghi789"
        ]
      }
    }
  ],
  "NextToken": null
}
```

### Filtrar conjuntos de ofertas por estado
<a name="filter-offer-sets-by-state"></a>

Você pode filtrar conjuntos de ofertas por estado usando o `EntityTypeFilters` parâmetro.

**Solicitação**

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

{
  "Catalog": "AWSMarketplace",
  "EntityType": "OfferSet",
  "EntityTypeFilters": {
    "OfferSetFilters": {
      "State": {
        "ValueList": [
          "Released"
        ]
      }
    }
  }
}
```

### Filtrar conjuntos de ofertas por ID da solução
<a name="filter-offer-sets-by-solution-id"></a>

Você pode filtrar conjuntos de ofertas por ID da solução usando o `EntityTypeFilters` parâmetro.

**Solicitação**

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

{
  "Catalog": "AWSMarketplace",
  "EntityType": "OfferSet",
  "EntityTypeFilters": {
    "OfferSetFilters": {
      "SolutionId": {
        "ValueList": [
          "soln-abc987"
        ]
      }
    }
  }
}
```

### Filtrar conjuntos de ofertas por data de lançamento
<a name="filter-offer-sets-by-release-date"></a>

Você pode filtrar conjuntos de ofertas por data de lançamento e classificar os resultados usando `EntityTypeSort` os parâmetros e. `EntityTypeFilters`

**Solicitação**

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

{
  "Catalog": "AWSMarketplace",
  "EntityType": "OfferSet",
  "EntityTypeFilters": {
    "OfferSetFilters": {
      "ReleaseDate": {
        "AfterValue": "2025-11-01"
      }
    }
  },
  "EntityTypeSort": {
    "OfferSetSort": {
      "SortBy": "ReleaseDate",
      "SortOrder": "DESCENDING"
    }
  }
}
```

## Descreva um conjunto de ofertas
<a name="describe-offer-set"></a>

Para obter informações detalhadas sobre um conjunto de ofertas específico, chame a operação `DescribeEntity` da API.

**Solicitação**

```
GET /DescribeEntity?catalog=AWSMarketplace&entityId=offerset-xyz123 HTTP/1.1
```

**Resposta**

```
{
  "EntityType": "OfferSet@1.0",
  "EntityId": "offerset-xyz123",
  "EntityArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/OfferSet/offerset-xyz123",
  "LastModifiedDate": "2025-06-25T23:46:25Z",
  "DetailsDocument": {
    "Id": "offerset-xyz123",
    "Name": "Enterprise Security Solution Offer Set",
    "BuyerNotes": "Complete security solution including endpoint protection and network monitoring",
    "State": "Released",
    "SolutionId": "soln-abc987",
    "ReleaseDate": "2025-06-25T23:46:20Z",
    "AssociatedOffers": [
      {
        "OfferId": "offer-abc123"
      },
      {
        "OfferId": "offer-def456"
      },
      {
        "OfferId": "offer-ghi789"
      }      
    ]
  }
}
```

## Crie um conjunto de ofertas
<a name="create-offer-set"></a>

Use o tipo de `CreateOfferSet` alteração para criar uma nova entidade do conjunto de ofertas no estado Rascunho. Essa é a primeira etapa do ciclo de vida do conjunto de ofertas, estabelecendo a entidade fundamental que será posteriormente configurada com associações e metadados da oferta antes da liberação para os compradores.

**Sintaxe da solicitação**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet": [
    {
      "ChangeType": "CreateOfferSet",
      "Entity": {
        "Type": "OfferSet@1.0"
      },
      "ChangeName": "CreateOfferSetChange",
      "DetailsDocument": {
        "Name": "Enterprise Security Solution Offer Set"
      }
    }
  ]
}
```

Forneça informações sobre os campos para adicionar o tipo de `CreateOfferSet` alteração:
+ `Entity`(objeto) (obrigatório) — O tipo de entidade que está sendo criado.
  + `Type`(string) (obrigatório) — Deve ser`OfferSet@1.0`.
+ `DetailsDocument`(objeto) (obrigatório) — Os detalhes da solicitação.
  + `Name`(string) (obrigatório) — O nome associado ao conjunto de ofertas para facilitar a leitura para você e seus clientes. Tamanho mínimo: 1 caractere. Tamanho máximo: 150 caracteres.

**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 diretrizes do AWS Marketplace. O processo de validação pode levar alguns minutos.

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

Após o processamento bem-sucedido, AWS Marketplace gera uma oferta definida no estado Rascunho com um identificador exclusivo prefixado com`offerset-`.

## Atualizar as informações do conjunto de ofertas
<a name="update-offer-set-information"></a>

Use o tipo de `UpdateInformation` alteração para modificar os detalhes de um conjunto de ofertas existente, incluindo seu nome e notas do comprador.

**Sintaxe da solicitação**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet": [
    {
      "ChangeType": "UpdateInformation",
      "Entity": {
        "Type": "OfferSet@1.0",
        "Identifier": "offerset-abc123"
      },
      "DetailsDocument": {
        "Name": "Updated Enterprise Security Offer Set",
        "BuyerNotes": "Complete security solution including endpoint protection, network monitoring, and professional services implementation"
      }
    }
  ]
}
```

Forneça informações sobre os campos para adicionar o tipo de `UpdateInformation` alteração:
+ `Entity`(objeto) (obrigatório) — A entidade que está sendo atualizada.
  + `Identifier`(string) (obrigatório) — Seu ID do conjunto de ofertas. Para obter mais informações, consulte [Identificador](catalog-apis.md#identifier).
  + `Type`(string) (obrigatório) — Deve ser`OfferSet@1.0`.
+ `DetailsDocument`(objeto) (obrigatório) — Pelo menos um campo deve ser fornecido.
  + `Name`(string) (opcional) — Nome de exibição visível para os compradores. Tamanho mínimo: 1 caractere. Tamanho máximo: 150 caracteres.
  + `BuyerNotes`(string) (opcional) — Informações detalhadas sobre o conjunto de ofertas que ajudam os compradores a entender sua finalidade e conteúdo. Tamanho mínimo: 1 caractere. Tamanho máximo: 1.000 caracteres.

**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 diretrizes do AWS Marketplace. O processo de validação pode levar alguns minutos.

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

## Associar ofertas a um conjunto de ofertas
<a name="associate-offers"></a>

Use o tipo de `AssociateOffers` alteração para associar várias AWS Marketplace ofertas a um conjunto de ofertas. Isso cria a relação entre as ofertas e o conjunto de ofertas, tornando as ofertas parte da configuração transacionável do conjunto de ofertas.

A operação é idempotente e permite associar ofertas independentemente de seu estado atual, permitindo a configuração completa antes do lançamento de ofertas individuais. Cada oferta só pode pertencer a um conjunto de ofertas.

**Importante**  
As `OfferSetId` ofertas individuais são imutáveis e só podem ser definidas durante a criação da oferta. Antes de associar ofertas a um conjunto de ofertas usando`AssociateOffers`, você deve primeiro criar as ofertas individuais e especificá-las `OfferSetId` durante a criação da oferta. Se precisar incluir uma oferta existente que não tenha a correta`OfferSetId`, você deverá criar uma nova oferta com a correta `OfferSetId` especificada.

Para obter informações sobre as permissões necessárias do IAM, consulte[Permissões do IAM para conjuntos de ofertas](#iam-permissions-offer-sets).

**Sintaxe da solicitação**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet": [
    {
      "ChangeType": "AssociateOffers",
      "Entity": {
        "Type": "OfferSet@1.0",
        "Identifier": "offerset-abc123"
      },
      "DetailsDocument": {
        "Offers": [
          {
            "OfferId": "offer-xyz789"
          },
          {
            "OfferId": "offer-def456"
          },
          {
            "OfferId": "offer-ghi123"
          }
        ]
      }
    }
  ]
}
```

Forneça informações sobre os campos para adicionar o tipo de `AssociateOffers` alteração:
+ `Entity`(objeto) (obrigatório) — A entidade que está sendo atualizada.
  + `Identifier`(string) (obrigatório) — Seu ID do conjunto de ofertas. Para obter mais informações, consulte [Identificador](catalog-apis.md#identifier).
  + `Type`(string) (obrigatório) — Deve ser`OfferSet@1.0`.
+ `DetailsDocument`(objeto) (obrigatório) — Os detalhes da solicitação.
  + `Offers`(matriz) (obrigatório) — Lista de AWS Marketplace ofertas a serem associadas. Mínimo: 1 item. Máximo: 7 itens.
    + `OfferId`(string) (obrigatório) — O identificador da AWS Marketplace oferta. Tamanho mínimo: 1 caractere. Tamanho máximo: 36 caracteres.

**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 diretrizes do AWS Marketplace. O processo de validação pode levar alguns minutos.

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

### Erros assíncronos
<a name="associate-offers-asynchronous-errors"></a>

Os erros a seguir são específicos de `AssociateOffers` ações na API AWS Marketplace de catálogo. 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 | 
| --- | --- | 
| MUITAS\_OFERTAS | Associe até 7 ofertas ao conjunto de ofertas. | 
| REFERÊNCIA\_DO\_DE\_OFERTA\_INCOMPATÍVEL | Certifique-se de que todas as ofertas foram criadas especificamente para esse conjunto de ofertas. | 
| SOLICITAÇÃO\_DE ATUALIZAÇÃO INVÁLIDA | A alteração solicitada não pode ser realizada após o lançamento do conjunto de ofertas. | 

## Desassociar ofertas de um conjunto de ofertas
<a name="disassociate-offers"></a>

Use o tipo de `DisassociateOffers` alteração para remover várias AWS Marketplace ofertas de um conjunto de ofertas. Essa operação idempotente remove a relação de associação enquanto preserva o atributo da oferta. `OfferSetId` As ofertas dissociadas ficam ocultas da descoberta do comprador até serem reassociadas ao mesmo conjunto de ofertas. Eles não podem ser associados a um conjunto de ofertas diferente.

**Sintaxe da solicitação**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet": [
    {
      "ChangeType": "DisassociateOffers",
      "Entity": {
        "Type": "OfferSet@1.0",
        "Identifier": "offerset-abc123"
      },
      "DetailsDocument": {
        "Offers": [
          {
            "OfferId": "offer-xyz789"
          }
        ]
      }
    }
  ]
}
```

Forneça informações sobre os campos para adicionar o tipo de `DisassociateOffers` alteração:
+ `Entity`(objeto) (obrigatório) — A entidade que está sendo atualizada.
  + `Identifier`(string) (obrigatório) — Seu ID do conjunto de ofertas. Para obter mais informações, consulte [Identificador](catalog-apis.md#identifier).
  + `Type`(string) (obrigatório) — Deve ser`OfferSet@1.0`.
+ `DetailsDocument`(objeto) (obrigatório) — Os detalhes da solicitação.
  + `Offers`(matriz) (obrigatório) — Lista de ofertas a serem desassociadas. Mínimo: 1 item. Máximo: 7 itens.
    + `OfferId`(string) (obrigatório) — O identificador da oferta do AWS Marketplace. Tamanho mínimo: 1 caractere. Tamanho máximo: 36 caracteres.

**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 diretrizes do AWS Marketplace. O processo de validação pode levar alguns minutos.

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

### Erros assíncronos
<a name="disassociate-offers-asynchronous-errors"></a>

Os erros a seguir são específicos de `DisassociateOffers` ações na API AWS Marketplace de catálogo. 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 | 
| --- | --- | 
| SOLICITAÇÃO\_DE ATUALIZAÇÃO INVÁLIDA | A alteração solicitada não pode ser realizada após o lançamento do conjunto de ofertas. | 

## Associar uma solução a um conjunto de ofertas
<a name="associate-solution-with-offer-set"></a>

Use o tipo de `AssociateSolution` alteração para associar uma única solução do AWS Marketplace a um conjunto de ofertas. Isso cria um relacionamento que permite aos compradores descobrir a conexão do conjunto de ofertas com a solução e acessar o rico conteúdo de marketing da solução, como descrições detalhadas, diagramas de arquitetura e documentação de casos de uso.

**nota**  
Essa é uma associação fracamente acoplada. O AWS Marketplace não impõe consistência entre a solução e o conjunto de ofertas. As soluções não podem conter produtos do AWS Marketplace, produtos diferentes dos do conjunto de ofertas ou produtos sobrepostos. Você tem total flexibilidade para associar qualquer solução que possua para fins de marketing e descoberta.

Para obter informações sobre as permissões necessárias do IAM, consulte[Permissões do IAM para conjuntos de ofertas](#iam-permissions-offer-sets).

**Sintaxe da solicitação**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet": [
    {
      "ChangeType": "AssociateSolution",
      "Entity": {
        "Type": "OfferSet@1.0",
        "Identifier": "offerset-abc123"
      },
      "DetailsDocument": {
        "SolutionId": "soln-xyz789"
      }
    }
  ]
}
```

Forneça informações sobre os campos para adicionar o tipo de `AssociateSolution` alteração:
+ `Entity`(objeto) (obrigatório) — A entidade que está sendo atualizada.
  + `Identifier`(string) (obrigatório) — Seu ID do conjunto de ofertas. Para obter mais informações, consulte [Identificador](catalog-apis.md#identifier).
  + `Type`(string) (obrigatório) — Deve ser`OfferSet@1.0`.
+ `DetailsDocument`(objeto) (obrigatório) — Os detalhes da solicitação.
  + `SolutionId`(string) (obrigatório) — O identificador da solução do AWS Marketplace a ser associada. Tamanho mínimo: 1 caractere. Tamanho máximo: 50 caracteres. Deve corresponder ao padrão`^soln-[A-Za-z0-9]+$`.

**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 diretrizes do AWS Marketplace. O processo de validação pode levar alguns minutos.

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

### Erros assíncronos
<a name="associate-solution-asynchronous-errors"></a>

Os erros a seguir são específicos de `AssociateSolution` ações na API AWS Marketplace de catálogo. 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 | 
| --- | --- | 
| ASSOCIAÇÃO\_DE\_SOLUÇÃO INCOMPATÍVEL | Desassocie a solução existente antes de associar uma nova solução. | 
| SOLICITAÇÃO\_DE ATUALIZAÇÃO INVÁLIDA | A alteração solicitada não pode ser realizada após o lançamento do conjunto de ofertas. | 

## Desassociar uma solução de um conjunto de ofertas
<a name="disassociate-solution-from-offer-set"></a>

Use o tipo de `DisassociateSolution` alteração para remover a associação entre uma solução e um conjunto de ofertas. Isso remove o conteúdo de marketing da solução do conjunto de ofertas, mantendo a funcionalidade transacionável do conjunto de ofertas.

**Sintaxe da solicitação**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet": [
    {
      "ChangeType": "DisassociateSolution",
      "Entity": {
        "Type": "OfferSet@1.0",
        "Identifier": "offerset-abc123"
      },
      "DetailsDocument": {
        "SolutionId": "soln-xyz789"
      }
    }
  ]
}
```

Forneça informações sobre os campos para adicionar o tipo de `DisassociateSolution` alteração:
+ `Entity`(objeto) (obrigatório) — A entidade que está sendo atualizada.
  + `Identifier`(string) (obrigatório) — Seu ID do conjunto de ofertas. Para obter mais informações, consulte [Identificador](catalog-apis.md#identifier).
  + `Type`(string) (obrigatório) — Deve ser`OfferSet@1.0`.
+ `DetailsDocument`(objeto) (obrigatório) — Os detalhes da solicitação.
  + `SolutionId`(string) (obrigatório) — O identificador da solução a ser desassociada. Tamanho mínimo: 1 caractere. Tamanho máximo: 50 caracteres.

**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 diretrizes do AWS Marketplace. O processo de validação pode levar alguns minutos.

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

### Erros assíncronos
<a name="disassociate-solution-asynchronous-errors"></a>

Os erros a seguir são específicos de `DisassociateSolution` ações na API AWS Marketplace de catálogo. 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 | 
| --- | --- | 
| SOLICITAÇÃO\_DE ATUALIZAÇÃO INVÁLIDA | A alteração solicitada não pode ser realizada após o lançamento do conjunto de ofertas. | 

## Libere um conjunto de ofertas
<a name="release-offer-set"></a>

Use o tipo de `ReleaseOfferSet` alteração para disponibilizar um conjunto de ofertas aos compradores. Depois de lançado, o conjunto de ofertas passa do estado de Rascunho para Lançado, torna-se detectável por meio AWS Marketplace dele, e as ofertas associadas só podem ser encontradas como parte do pacote unificado.

Os conjuntos de ofertas lançados geram notificações em dois níveis: ofertas individuais e o próprio conjunto de ofertas. Todas as notificações de ofertas individuais incluem os OfferSetId canais de notificação existentes ([notificações por e-mail](https://docs.aws.amazon.com/marketplace/latest/userguide/email-notifications.html) e [ EventBridge eventos da Amazon](https://docs.aws.amazon.com/marketplace/latest/userguide/notifications-eventbridge.html)). As notificações no nível do conjunto de ofertas são enviadas para eventos importantes, como quando o conjunto de ofertas é lançado.

**Sintaxe da solicitação**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet": [
    {
      "ChangeType": "ReleaseOfferSet",
      "Entity": {
        "Type": "OfferSet@1.0",
        "Identifier": "offerset-abc123"
      },
      "DetailsDocument": {}
    }
  ]
}
```

Forneça informações sobre os campos para adicionar o tipo de `ReleaseOfferSet` alteração:
+ `Entity`(objeto) (obrigatório) — A entidade que está sendo atualizada.
  + `Identifier`(string) (obrigatório) — Seu ID do conjunto de ofertas. Para obter mais informações, consulte [Identificador](catalog-apis.md#identifier).
  + `Type`(string) (obrigatório) — Deve ser`OfferSet@1.0`.
+ `DetailsDocument`(objeto) (obrigatório) — Objeto vazio para esta operação.

**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 diretrizes do AWS Marketplace. O processo de validação pode levar alguns minutos.

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

### Erros assíncronos
<a name="release-offer-set-asynchronous-errors"></a>

Os erros a seguir são específicos de `ReleaseOfferSet` ações na API AWS Marketplace de catálogo. 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 | 
| --- | --- | 
| NOTAS\_DO\_COMPRADORAS\_AUSENTES | Forneça BuyerNotes antes de liberar o conjunto de ofertas. | 
| OFERTAS\_PERDIDAS | Associe pelo menos duas ofertas ao conjunto de ofertas antes de lançá-lo. | 
| MUITAS OFERTAS POR PRODUTO | Associe somente uma oferta por produto ao conjunto de ofertas. | 
| CÓDIGO\_DO\_MOEDA\_OFERTA\_INCONSISTENTE | Certifique-se de que todas as ofertas associadas sejam equivalentes CurrencyCode. | 
| DATA-FINAL DA OFERTA\_DISPONIBILIDADE\_INCONSISTENTE | Certifique-se de que todas as ofertas associadas sejam equivalentes AvailabilityEndDate. | 
| REGRA DE DIRECIONAMENTO DE OFERTA INCONSISTENTE | Certifique-se de que todas as ofertas associadas sejam equivalentes TargetingRule. | 
| REGRA DE DIRECIONAMENTO DE OFERTA INCOMPATÍVEL | Somente ofertas direcionadas ao comprador podem ser associadas a um conjunto de ofertas. | 
| OFERTAS\_EXPIRADAS | Desassocie ofertas expiradas do conjunto de ofertas ou estenda suas. AvailabilityEndDates | 
| RASCUNHO DE OFERTAS | Libere todas as ofertas associadas antes de liberar o conjunto de ofertas. | 
| ESTADO\_DE\_SOLUÇÃO\_INCOMPATÍVEL | Forneça uma solução em estado limitado ou público. | 
| SOLICITAÇÃO\_DE ATUALIZAÇÃO INVÁLIDA | A alteração solicitada não pode ser realizada após o lançamento do conjunto de ofertas. | 

## Ofereça um ciclo de vida definido
<a name="offer-set-lifecycle"></a>

O ciclo de vida do conjunto de ofertas consiste nas seguintes etapas:

### Fase de criação
<a name="creation-phase"></a>

Crie a entidade do conjunto de ofertas no estado Rascunho usando o tipo de `CreateOfferSet` alteração. O conjunto de ofertas recebe um identificador exclusivo e começa no estado Rascunho.

### Fase de configuração
<a name="configuration-phase"></a>

Durante a configuração, você:
+ Adicione ou atualize metadados usando `UpdateInformation` (nome, notas do comprador)
+ Crie ofertas privadas individuais, especificando `OfferSetId` durante a criação da oferta
+ Associe ofertas ao conjunto de ofertas usando `AssociateOffers`
+ Opcionalmente, associe uma solução usando `AssociateSolution` para aprimorar o conteúdo de marketing

**Importante**  
As `OfferSetId` ofertas individuais são imutáveis e só podem ser definidas durante a criação da oferta. Antes de associar ofertas a um conjunto de ofertas usando`AssociateOffers`, você deve primeiro criar as ofertas individuais e especificá-las `OfferSetId` durante a criação da oferta. Se precisar incluir uma oferta existente que não tenha a correta`OfferSetId`, você deverá criar uma nova oferta com a correta `OfferSetId` especificada.

### Fase de validação
<a name="validation-phase"></a>

Antes de lançar um conjunto de ofertas, certifique-se de:
+ O conjunto de ofertas contém entre 2 e 7 ofertas
+ Todas as ofertas associadas devem ser: 
  + Em estado de lançamento
  + Ativo
  + Usando a mesma moeda
  + Visando o mesmo comprador (s) ID (s) de conta da AWS
  + Ter datas de vencimento idênticas

### Fase de lançamento
<a name="release-phase"></a>

Quando estiver pronto, use o tipo de `ReleaseOfferSet` alteração para fazer a transição do conjunto de ofertas do estado Rascunho para Lançado. Isso faz com que o conjunto de ofertas possa ser descoberto pelos compradores por meio de AWS Marketplace.

### Post-release gestão
<a name="post-release-management"></a>

**Gerenciamento de vencimentos:**
+ A expiração efetiva de um conjunto de ofertas é calculada como a data de expiração mais próxima entre todas as ofertas associadas.
+ Você pode modificar as datas de vencimento de ofertas individuais usando os recursos existentes de gerenciamento de ofertas (tipo de `UpdateAvailability` alteração)

**Ofereça modificações no conjunto:**

Quando os compradores solicitarem alterações em um conjunto de ofertas lançado, use o fluxo de trabalho de recreação:

1. Crie uma nova entidade de conjunto de ofertas

1. Para ofertas que não exigem alterações, clone as ofertas existentes por meio do Portal AWS Marketplace de Gerenciamento

1. Para ofertas que exigem modificações, crie novas ofertas com as alterações solicitadas, especificando as novas `OfferSetId`

1. Associe todas as ofertas (clonadas e novas) ao novo conjunto de ofertas usando `AssociateOffers`

1. Libere o novo conjunto de ofertas usando `ReleaseOfferSet`

1. Expire a oferta original definida definindo a data de término da disponibilidade das ofertas associadas

## Permissões do IAM para conjuntos de ofertas
<a name="iam-permissions-offer-sets"></a>

Para trabalhar com conjuntos de ofertas usando a API de AWS Marketplace catálogo, você precisa de permissões específicas do IAM. Esta seção descreve as permissões necessárias para operações de conjuntos de ofertas e requisitos de autorização entre entidades.

### Ações de IAM necessárias
<a name="required-iam-actions"></a>

As seguintes ações do IAM são necessárias para as operações do conjunto de ofertas:
+ `aws-marketplace:StartChangeSet`— Obrigatório para todos os tipos de alteração do conjunto de ofertas, incluindo operações de criação, atualização, associação e lançamento
+ `aws-marketplace:DescribeChangeSet`— Necessário para verificar o status e os resultados das execuções do conjunto de alterações
+ `aws-marketplace:ListEntities`— Necessário para listar conjuntos de ofertas em sua conta
+ `aws-marketplace:DescribeEntity`— Necessário para recuperar informações detalhadas sobre um conjunto de ofertas

### Permissões de recursos
<a name="resource-permissions"></a>

Use os seguintes padrões de ARN para conceder permissões em recursos específicos:
+ **Conjuntos de ofertas** — `arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/OfferSet/*`
+ **Ofertas individuais** — `arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/Offer/*`
+ **Soluções** — `arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/Solution/*`

Para obter permissões mais restritivas, substitua o caractere curinga (\*) por identificadores de entidade específicos.

### Cross-entity autorização
<a name="cross-entity-authorization"></a>

Algumas operações do conjunto de ofertas exigem permissões tanto no conjunto de ofertas quanto nas entidades associadas:

**AssociateOffers**
+ `aws-marketplace:StartChangeSet`permissão na entidade do conjunto de ofertas
+ `aws-marketplace:StartChangeSet`permissão com tipo de `AssociateWithOfferSet` alteração em cada entidade de oferta individual associada

**AssociateSolution**
+ `aws-marketplace:StartChangeSet`permissão na entidade do conjunto de ofertas
+ `aws-marketplace:StartChangeSet`permissão com tipo de `AssociateWithOfferSet` alteração na entidade da solução que está sendo associada

**nota**  
Ter permissão somente `DescribeEntity` (somente leitura) em ofertas ou soluções não é suficiente para operações de associação. Você deve ter `StartChangeSet` permissão com o tipo de `AssociateWithOfferSet` alteração nas entidades associadas ao conjunto de ofertas.

### Políticas de exemplo do IAM
<a name="example-iam-policies"></a>

**Gerenciamento básico do conjunto de ofertas**

Essa política fornece permissões para operações básicas de conjuntos de ofertas sem associações entre entidades:

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "aws-marketplace:StartChangeSet",
        "aws-marketplace:DescribeChangeSet",
        "aws-marketplace:ListEntities",
        "aws-marketplace:DescribeEntity"
      ],
      "Resource": [
        "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/OfferSet/*"
      ]
    }
  ]
}
```

**Cross-entity permissões para AssociateOffers**

Essa política demonstra as permissões e condições específicas necessárias para AssociateOffers:

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "aws-marketplace:StartChangeSet",
      "Resource": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/OfferSet/*",
      "Condition": {
        "StringEquals": {
          "catalog:ChangeType": ["AssociateOffers"]
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": "aws-marketplace:DescribeEntity",
      "Resource": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/Offer/*"
    },
    {
      "Effect": "Allow",
      "Action": "aws-marketplace:StartChangeSet",
      "Resource": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/Offer/*",
      "Condition": {
        "StringEquals": {
          "catalog:ChangeType": ["AssociateWithOfferSet"]
        }
      }
    }
  ]
}
```

Para obter permissões mais restritivas, substitua o caractere curinga (\*) por identificadores de entidade específicos.

**Cross-entity permissões para AssociateSolution**

Essa política demonstra as permissões e condições específicas necessárias para AssociateSolution:

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "aws-marketplace:StartChangeSet",
      "Resource": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/OfferSet/*",
      "Condition": {
        "StringEquals": {
          "catalog:ChangeType": ["AssociateSolution"]
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": "aws-marketplace:DescribeEntity",
      "Resource": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/Solution/*"
    },
    {
      "Effect": "Allow",
      "Action": "aws-marketplace:StartChangeSet",
      "Resource": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/Solution/*",
      "Condition": {
        "StringEquals": {
          "catalog:ChangeType": ["AssociateWithOfferSet"]
        }
      }
    }
  ]
}
```

Para obter permissões mais restritivas, substitua o caractere curinga (\*) por identificadores de entidade específicos.