

Se reestructuró la referencia de API de AWS Marketplace. Para obtener más información sobre las operaciones de API compatibles, consulte la [referencia de API de AWS Marketplace](https://docs.aws.amazon.com/marketplace/latest/APIReference/Welcome.html).

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Trabaja con conjuntos de ofertas
<a name="work-with-offer-sets"></a>

Los conjuntos de ofertas de AWS Marketplace permiten a los vendedores empaquetar varias ofertas privadas en paquetes negociables unificados de varios productos para los compradores. Esta capacidad responde a la creciente demanda de los clientes de soluciones integrales e integrales en entornos empresariales complejos.

Tradicionalmente, los compradores tenían que descubrir y adquirir productos individuales de varios vendedores, lo que se traducía en experiencias fragmentadas, problemas de integración y ciclos de adquisición más largos. Los conjuntos de ofertas simplifican esta tarea al permitir a los socios de AWS Marketplace combinar varias ofertas, lo que agiliza el proceso de transacción mediante ofertas privadas coordinadas en las que los clientes pueden revisar y aceptar todos los componentes con una aprobación única.

Los conjuntos de ofertas funcionan junto con las soluciones para ofrecer ofertas integrales de varios productos. Las soluciones proporcionan un rico contenido de marketing que incluye descripciones detalladas, diagramas de arquitectura y documentación de casos de uso, mientras que los conjuntos de ofertas gestionan los paquetes negociables y las condiciones comerciales para unificar las adquisiciones.

## Ofrezca un conjunto de entidades
<a name="offer-set-entity"></a>

Un conjunto de ofertas es un contenedor que agrupa de 2 a 7 ofertas privadas en un solo paquete negociable. Cada oferta de un conjunto de ofertas mantiene sus propios precios, condiciones de pago, duración y contrato de licencia de usuario final (EULA) distintos, mientras que el conjunto de ofertas ofrece una experiencia unificada de descubrimiento y aceptación para los compradores.

**Características clave:**
+ Agrupa múltiples ofertas privadas (mínimo 2, máximo 7)
+ Permite que los compradores acepten todas las ofertas de forma unificada con una sola acción
+ Mantiene la flexibilidad con condiciones distintas para cada oferta
+ Crea acuerdos separados para cada producto, lo que permite una administración independiente después de la compra
+ Se puede asociar opcionalmente a una solución para mejorar el contenido de marketing

El tipo de entidad del conjunto de ofertas es`OfferSet@1.0`.

**Identificadores de entidad**

Los conjuntos de ofertas utilizan el formato de `offerset-*` identificador (por ejemplo,`offerset-abc123def456`).

**Formato ARN de entidad**

Los conjuntos de ofertas siguen el formato estándar de AWS ARN:

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

Ejemplo:

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

## Cómo empezar con los conjuntos de ofertas
<a name="getting-started-with-offer-sets"></a>

En esta sección, se proporciona información detallada sobre la creación y la gestión de conjuntos de ofertas mediante los [tipos de cambios](https://docs.aws.amazon.com/marketplace/latest/APIReference/API_Change.html) de la API de AWS Marketplace catálogo.

Antes de empezar, asegúrese de que tiene lo siguiente:
+ Registro de vendedor de AWS Marketplace válido y perfil público. Para obtener más información, consulte [Registrar y crear su perfil de vendedor](https://docs.aws.amazon.com/marketplace/latest/userguide/create-public-profile.html).
+ Acceso a la API y requisitos previos cumplidos como vendedor. Para obtener más información, consulte [Control de acceso para la API del catálogo de AWS Marketplace](https://docs.aws.amazon.com/marketplace/latest/APIReference/catalog-api-access-control.html).
+ Si conoce los conceptos básicos del uso de la API de AWS Marketplace Catalog, consulte [Uso de la API de AWS Marketplace Catalog](https://docs.aws.amazon.com/marketplace/latest/APIReference/catalog-apis.html).

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

Para ver todos los conjuntos de ofertas de tu cuenta, llama a la operación de `ListEntities` API con `EntityType` set to`OfferSet`.

**Solicitud**

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

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

**Respuesta**

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

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

Puede filtrar los conjuntos de ofertas por estado mediante el `EntityTypeFilters` parámetro.

**Solicitud**

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

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

### Filtre los conjuntos de ofertas por ID de solución
<a name="filter-offer-sets-by-solution-id"></a>

Puede filtrar los conjuntos de ofertas por ID de solución mediante el `EntityTypeFilters` parámetro.

**Solicitud**

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

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

### Filtra los conjuntos de ofertas por fecha de lanzamiento
<a name="filter-offer-sets-by-release-date"></a>

Puedes filtrar los conjuntos de ofertas por fecha de lanzamiento y ordenar los resultados mediante los `EntityTypeSort` parámetros `EntityTypeFilters` y.

**Solicitud**

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

## Describe un conjunto de ofertas
<a name="describe-offer-set"></a>

Para obtener información detallada sobre un conjunto de ofertas específico, llama a la operación de la `DescribeEntity` API.

**Solicitud**

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

**Respuesta**

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

## Crea un conjunto de ofertas
<a name="create-offer-set"></a>

Utilice el tipo de `CreateOfferSet` cambio para crear una nueva entidad de conjunto de ofertas en el estado Borrador. Este es el primer paso del ciclo de vida del conjunto de ofertas, en el que se establece la entidad fundamental que, posteriormente, se configurará con las asociaciones de ofertas y los metadatos antes de ponerla a disposición de los compradores.

**Sintaxis de la solicitud**

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

Proporciona información sobre los campos para añadir el tipo de `CreateOfferSet` cambio:
+ `Entity`(objeto) (obligatorio): el tipo de entidad que se está creando.
  + `Type`(cadena) (obligatorio): debe serlo`OfferSet@1.0`.
+ `DetailsDocument`(objeto) (obligatorio): detalles de la solicitud.
  + `Name`(cadena) (obligatorio): el nombre asociado al conjunto de ofertas para que usted y sus clientes puedan leerlo mejor. Longitud mínima: 1 carácter. Longitud máxima: 150 caracteres.

**Sintaxis de respuesta**

Se crea un conjunto de cambios para su solicitud. La respuesta a esta solicitud proporciona la información `ChangeSetId` necesaria `ChangeSetArn` para el conjunto de cambios y tiene el siguiente aspecto.

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

La solicitud de cambio se agrega a una cola y se procesa. Esto incluye la validación de la información para garantizar que cumpla con las directrices de AWS Marketplace. El proceso de validación puede tardar unos minutos.

Puede comprobar el estado de la solicitud a través del portal de administración de AWS Marketplace o directamente a través de la API del catálogo mediante la operación de la `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

Tras procesarse correctamente, AWS Marketplace genera un conjunto de ofertas en estado Borrador con un identificador único con `offerset-` el prefijo.

## Actualice la información del conjunto de ofertas
<a name="update-offer-set-information"></a>

Usa el tipo de `UpdateInformation` cambio para modificar los detalles de un conjunto de ofertas existente, incluidos su nombre y las notas del comprador.

**Sintaxis de la solicitud**

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

Proporcione información sobre los campos para añadir el tipo de `UpdateInformation` cambio:
+ `Entity`(objeto) (obligatorio): la entidad que se está actualizando.
  + `Identifier`(cadena) (obligatorio): el ID de tu conjunto de ofertas. Para obtener más información, consulte [Identificador](catalog-apis.md#identifier).
  + `Type`(cadena) (obligatorio): debe serlo`OfferSet@1.0`.
+ `DetailsDocument`(objeto) (obligatorio): se debe proporcionar al menos un campo.
  + `Name`(cadena) (opcional): nombre para mostrar visible para los compradores. Longitud mínima: 1 carácter. Longitud máxima: 150 caracteres.
  + `BuyerNotes`(cadena) (opcional): información detallada sobre el conjunto de ofertas que ayuda a los compradores a entender su finalidad y su contenido. Longitud mínima: 1 carácter. Longitud máxima: 1000 caracteres.

**Sintaxis de respuesta**

Se crea un conjunto de cambios para su solicitud. La respuesta a esta solicitud proporciona la información `ChangeSetId` necesaria `ChangeSetArn` para el conjunto de cambios y tiene el siguiente aspecto.

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

La solicitud de cambio se agrega a una cola y se procesa. Esto incluye la validación de la información para garantizar que cumpla con las directrices de AWS Marketplace. El proceso de validación puede tardar unos minutos.

Puede comprobar el estado de la solicitud a través del portal de administración de AWS Marketplace o directamente a través de la API del catálogo mediante la operación de la `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

## Asocie las ofertas a un conjunto de ofertas
<a name="associate-offers"></a>

Usa el tipo de `AssociateOffers` cambio para asociar varias AWS Marketplace ofertas a un conjunto de ofertas. Esto crea la relación entre las ofertas y el conjunto de ofertas, haciendo que las ofertas formen parte de la configuración negociable del conjunto de ofertas.

La operación es idempotente y permite asociar ofertas independientemente de su estado actual, lo que permite una configuración completa antes de que se publiquen las ofertas individuales. Cada oferta solo puede pertenecer a un conjunto de ofertas.

**importante**  
La `OfferSetId` oferta no individual es inmutable y solo se puede configurar durante la creación de la oferta. Antes de asociar las ofertas a un conjunto de ofertas mediante el uso`AssociateOffers`, primero debes crear las ofertas individuales y especificarlas `OfferSetId` durante la creación de la oferta. Si necesitas incluir una oferta existente que no tenga la correcta`OfferSetId`, debes crear una nueva oferta con la correcta `OfferSetId` especificada.

Para obtener información sobre los permisos de IAM necesarios, consulte[Permisos de IAM para conjuntos de ofertas](#iam-permissions-offer-sets).

**Sintaxis de la solicitud**

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

Proporcione información sobre los campos para añadir el tipo de `AssociateOffers` cambio:
+ `Entity`(objeto) (obligatorio): la entidad que se está actualizando.
  + `Identifier`(cadena) (obligatorio): el ID de tu conjunto de ofertas. Para obtener más información, consulte [Identificador](catalog-apis.md#identifier).
  + `Type`(cadena) (obligatorio): debe serlo`OfferSet@1.0`.
+ `DetailsDocument`(objeto) (obligatorio): detalles de la solicitud.
  + `Offers`(matriz) (obligatorio): lista de AWS Marketplace ofertas para asociar. Mínimo: 1 artículo. Máximo: 7 artículos.
    + `OfferId`(cadena) (obligatorio): el identificador de la AWS Marketplace oferta. Longitud mínima: 1 carácter. Longitud máxima: 36 caracteres.

**Sintaxis de respuesta**

Se crea un conjunto de cambios para su solicitud. La respuesta a esta solicitud proporciona la información `ChangeSetId` necesaria `ChangeSetArn` para el conjunto de cambios y tiene el siguiente aspecto.

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

La solicitud de cambio se agrega a una cola y se procesa. Esto incluye la validación de la información para garantizar que cumpla con las directrices de AWS Marketplace. El proceso de validación puede tardar unos minutos.

Puede comprobar el estado de la solicitud a través del portal de administración de AWS Marketplace o directamente a través de la API del catálogo mediante la operación de la `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

### Errores asíncronos
<a name="associate-offers-asynchronous-errors"></a>

Los siguientes errores son específicos de las `AssociateOffers` acciones de la API del AWS Marketplace catálogo. Estos errores se devuelven cuando llamas `DescribeChangeSet` después de que se esté procesando un conjunto de cambios. Para obtener más información sobre cómo `DescribeChangeSet` obtener el estado de una solicitud de cambio, consulte[Trabajar con conjuntos de cambios](catalog-apis.md#working-with-change-sets).


| Código de error | Mensaje de error | 
| --- | --- | 
| DEMASIADAS OFERTAS | Asocie hasta 7 ofertas al conjunto de ofertas. | 
| INCOMPATIBLE\_OFFER\_SET\_REFERENCE | Asegúrese de que todas las ofertas se hayan creado específicamente para este conjunto de ofertas. | 
| INVALID\_UPDATE\_REQUEST | El cambio solicitado no se podrá realizar después de que se publique el conjunto de ofertas. | 

## Disocia las ofertas de un conjunto de ofertas
<a name="disassociate-offers"></a>

Usa el tipo de `DisassociateOffers` cambio para eliminar varias AWS Marketplace ofertas de un conjunto de ofertas. Esta operación idempotente elimina la relación de asociación y, al mismo tiempo, conserva el atributo de `OfferSetId` la oferta. Las ofertas disociadas pasan a estar ocultas para que el comprador las descubra hasta que se vuelvan a asociar al mismo conjunto de ofertas. No se pueden asociar a un conjunto de ofertas diferente.

**Sintaxis de la solicitud**

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

Proporcione información sobre los campos para añadir el tipo de `DisassociateOffers` cambio:
+ `Entity`(objeto) (obligatorio): la entidad que se está actualizando.
  + `Identifier`(cadena) (obligatorio): el ID de tu conjunto de ofertas. Para obtener más información, consulte [Identificador](catalog-apis.md#identifier).
  + `Type`(cadena) (obligatorio): debe serlo`OfferSet@1.0`.
+ `DetailsDocument`(objeto) (obligatorio): detalles de la solicitud.
  + `Offers`(matriz) (obligatorio): lista de ofertas que se van a desasociar. Mínimo: 1 artículo. Máximo: 7 artículos.
    + `OfferId`(string) (obligatorio): el identificador de la oferta de AWS Marketplace. Longitud mínima: 1 carácter. Longitud máxima: 36 caracteres.

**Sintaxis de respuesta**

Se crea un conjunto de cambios para su solicitud. La respuesta a esta solicitud proporciona la información `ChangeSetId` necesaria `ChangeSetArn` para el conjunto de cambios y tiene el siguiente aspecto.

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

La solicitud de cambio se agrega a una cola y se procesa. Esto incluye la validación de la información para garantizar que cumpla con las directrices de AWS Marketplace. El proceso de validación puede tardar unos minutos.

Puede comprobar el estado de la solicitud a través del portal de administración de AWS Marketplace o directamente a través de la API del catálogo mediante la operación de la `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

### Errores asíncronos
<a name="disassociate-offers-asynchronous-errors"></a>

Los siguientes errores son específicos de las `DisassociateOffers` acciones de la API del AWS Marketplace catálogo. Estos errores se devuelven cuando llamas `DescribeChangeSet` después de que se esté procesando un conjunto de cambios. Para obtener más información sobre cómo `DescribeChangeSet` obtener el estado de una solicitud de cambio, consulte[Trabajar con conjuntos de cambios](catalog-apis.md#working-with-change-sets).


| Código de error | Mensaje de error | 
| --- | --- | 
| INVALID\_UPDATE\_REQUEST | El cambio solicitado no se podrá realizar después de que se publique el conjunto de ofertas. | 

## Asocie una solución a un conjunto de ofertas
<a name="associate-solution-with-offer-set"></a>

Utilice el tipo de `AssociateSolution` cambio para asociar una única solución de AWS Marketplace a un conjunto de ofertas. Esto crea una relación que permite a los compradores descubrir la conexión del conjunto de ofertas con la solución y acceder al rico contenido de marketing de la solución, como descripciones detalladas, diagramas de arquitectura y documentación de casos de uso.

**nota**  
Se trata de una asociación vagamente acoplada. AWS Marketplace no impone la coherencia entre la solución y el conjunto de ofertas. Las soluciones no pueden incluir productos de AWS Marketplace, productos diferentes a los del conjunto de ofertas o productos superpuestos. Dispone de total flexibilidad para asociar cualquier solución que posea con fines de marketing y descubrimiento.

Para obtener información sobre los permisos de IAM necesarios, consulte[Permisos de IAM para conjuntos de ofertas](#iam-permissions-offer-sets).

**Sintaxis de la solicitud**

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

Proporcione información sobre los campos para añadir el tipo de `AssociateSolution` cambio:
+ `Entity`(objeto) (obligatorio): la entidad que se está actualizando.
  + `Identifier`(cadena) (obligatorio): el ID de tu conjunto de ofertas. Para obtener más información, consulte [Identificador](catalog-apis.md#identifier).
  + `Type`(cadena) (obligatorio): debe serlo`OfferSet@1.0`.
+ `DetailsDocument`(objeto) (obligatorio): detalles de la solicitud.
  + `SolutionId`(string) (obligatorio): el identificador de la solución de AWS Marketplace que se va a asociar. Longitud mínima: 1 carácter. Longitud máxima: 50 caracteres. Debe coincidir con el patrón`^soln-[A-Za-z0-9]+$`.

**Sintaxis de respuesta**

Se crea un conjunto de cambios para su solicitud. La respuesta a esta solicitud proporciona la información `ChangeSetId` necesaria `ChangeSetArn` para el conjunto de cambios y tiene el siguiente aspecto.

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

La solicitud de cambio se agrega a una cola y se procesa. Esto incluye la validación de la información para garantizar que cumpla con las directrices de AWS Marketplace. El proceso de validación puede tardar unos minutos.

Puede comprobar el estado de la solicitud a través del portal de administración de AWS Marketplace o directamente a través de la API del catálogo mediante la operación de la `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

### Errores asíncronos
<a name="associate-solution-asynchronous-errors"></a>

Los siguientes errores son específicos de las `AssociateSolution` acciones de la API del AWS Marketplace catálogo. Estos errores se devuelven cuando llamas `DescribeChangeSet` después de que se esté procesando un conjunto de cambios. Para obtener más información sobre cómo `DescribeChangeSet` obtener el estado de una solicitud de cambio, consulte[Trabajar con conjuntos de cambios](catalog-apis.md#working-with-change-sets).


| Código de error | Mensaje de error | 
| --- | --- | 
| ASOCIACIÓN\_SOLUCIÓN\_INCOMPATIBLE\_SOLUCIÓN | Desasocie la solución existente antes de asociar una nueva solución. | 
| INVALID\_UPDATE\_REQUEST | El cambio solicitado no se podrá realizar después de que se publique el conjunto de ofertas. | 

## Disocia una solución de un conjunto de ofertas
<a name="disassociate-solution-from-offer-set"></a>

Utilice el tipo de `DisassociateSolution` cambio para eliminar la asociación entre una solución y un conjunto de ofertas. Esto elimina el contenido de marketing de la solución del conjunto de ofertas y, al mismo tiempo, mantiene la funcionalidad negociable del conjunto de ofertas.

**Sintaxis de la solicitud**

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

Proporcione información sobre los campos para añadir el tipo de `DisassociateSolution` cambio:
+ `Entity`(objeto) (obligatorio): la entidad que se está actualizando.
  + `Identifier`(cadena) (obligatorio): el ID de tu conjunto de ofertas. Para obtener más información, consulte [Identificador](catalog-apis.md#identifier).
  + `Type`(cadena) (obligatorio): debe serlo`OfferSet@1.0`.
+ `DetailsDocument`(objeto) (obligatorio): detalles de la solicitud.
  + `SolutionId`(cadena) (obligatorio): el identificador de la solución que se va a desasociar. Longitud mínima: 1 carácter. Longitud máxima: 50 caracteres.

**Sintaxis de respuesta**

Se crea un conjunto de cambios para su solicitud. La respuesta a esta solicitud proporciona la información `ChangeSetId` necesaria `ChangeSetArn` para el conjunto de cambios y tiene el siguiente aspecto.

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

La solicitud de cambio se agrega a una cola y se procesa. Esto incluye la validación de la información para garantizar que cumpla con las directrices de AWS Marketplace. El proceso de validación puede tardar unos minutos.

Puede comprobar el estado de la solicitud a través del portal de administración de AWS Marketplace o directamente a través de la API del catálogo mediante la operación de la `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

### Errores asíncronos
<a name="disassociate-solution-asynchronous-errors"></a>

Los siguientes errores son específicos de las `DisassociateSolution` acciones de la API del AWS Marketplace catálogo. Estos errores se devuelven cuando llamas `DescribeChangeSet` después de que se esté procesando un conjunto de cambios. Para obtener más información sobre cómo `DescribeChangeSet` obtener el estado de una solicitud de cambio, consulte[Trabajar con conjuntos de cambios](catalog-apis.md#working-with-change-sets).


| Código de error | Mensaje de error | 
| --- | --- | 
| INVALID\_UPDATE\_REQUEST | El cambio solicitado no se podrá realizar después de que se publique el conjunto de ofertas. | 

## Publica un conjunto de ofertas
<a name="release-offer-set"></a>

Usa el tipo de `ReleaseOfferSet` cambio para poner un conjunto de ofertas a disposición de los compradores. Una vez publicado, el conjunto de ofertas pasa del estado Borrador al Publicado, pasa a estar AWS Marketplace disponible y las ofertas asociadas solo se pueden encontrar como parte del paquete unificado.

Los conjuntos de ofertas publicados generan notificaciones en dos niveles: las ofertas individuales y el conjunto de ofertas en sí. Todas las notificaciones de ofertas individuales incluyen las de OfferSetId los canales de notificación existentes ([notificaciones por correo electrónico](https://docs.aws.amazon.com/marketplace/latest/userguide/email-notifications.html) y [ EventBridge eventos de Amazon](https://docs.aws.amazon.com/marketplace/latest/userguide/notifications-eventbridge.html)). Las notificaciones a nivel de conjunto de ofertas se envían para eventos clave, como el momento en que se publica el conjunto de ofertas.

**Sintaxis de la solicitud**

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

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

Proporcione información sobre los campos para añadir el tipo de `ReleaseOfferSet` cambio:
+ `Entity`(objeto) (obligatorio): la entidad que se está actualizando.
  + `Identifier`(cadena) (obligatorio): el ID de tu conjunto de ofertas. Para obtener más información, consulte [Identificador](catalog-apis.md#identifier).
  + `Type`(cadena) (obligatorio): debe serlo`OfferSet@1.0`.
+ `DetailsDocument`(objeto) (obligatorio): objeto vacío para esta operación.

**Sintaxis de respuesta**

Se crea un conjunto de cambios para su solicitud. La respuesta a esta solicitud proporciona la información `ChangeSetId` necesaria `ChangeSetArn` para el conjunto de cambios y tiene el siguiente aspecto.

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

La solicitud de cambio se agrega a una cola y se procesa. Esto incluye la validación de la información para garantizar que cumpla con las directrices de AWS Marketplace. El proceso de validación puede tardar unos minutos.

Puede comprobar el estado de la solicitud a través del portal de administración de AWS Marketplace o directamente a través de la API del catálogo mediante la operación de la `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

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

Los siguientes errores son específicos de las `ReleaseOfferSet` acciones de la API del AWS Marketplace catálogo. Estos errores se devuelven cuando llamas `DescribeChangeSet` después de que se esté procesando un conjunto de cambios. Para obtener más información sobre cómo `DescribeChangeSet` obtener el estado de una solicitud de cambio, consulte[Trabajar con conjuntos de cambios](catalog-apis.md#working-with-change-sets).


| Código de error | Mensaje de error | 
| --- | --- | 
| MISSING\_BUYER\_NOTES |  BuyerNotes Entréguelo antes de lanzar el conjunto de ofertas. | 
| MISSING\_OFFERS | Asocie al menos dos ofertas al conjunto de ofertas antes de publicarlo. | 
| DEMASIADAS OFERTAS POR PRODUCTO | Asocia solo una oferta por producto al conjunto de ofertas. | 
| INCONSISTENT\_OFFER\_CURRENCY\_CODE | Asegúrese de que todas las ofertas asociadas coincidan. CurrencyCode | 
| INCONSISTENT\_OFFER\_AVAILABILITY\_END\_DATE | Asegúrese de que todas las ofertas asociadas coincidan. AvailabilityEndDate | 
| INCONSISTENT\_OFFER\_TARGETING\_RULE | Asegúrese de que todas las ofertas asociadas coincidan. TargetingRule | 
| INCOMPATIBLE\_OFFER\_TARGETING\_RULE | Solo las ofertas dirigidas a los compradores se pueden asociar a un conjunto de ofertas. | 
| EXPIRED\_OFFERS | Desvincule las ofertas caducadas del conjunto de ofertas o amplíe sus ofertas. AvailabilityEndDates | 
| DRAFT\_OFFERS | Publica todas las ofertas asociadas antes de lanzar el conjunto de ofertas. | 
| INCOMPATIBLE\_SOLUTION\_STATE | Proporcione una solución en estado público o limitado. | 
| INVÁLID\_UPDATE\_REQUEST | El cambio solicitado no se podrá realizar después de que se publique el conjunto de ofertas. | 

## Ciclo de vida de la oferta
<a name="offer-set-lifecycle"></a>

El ciclo de vida del conjunto de ofertas consta de las siguientes etapas:

### Fase de creación
<a name="creation-phase"></a>

Cree la entidad del conjunto de ofertas en estado Borrador utilizando el tipo de `CreateOfferSet` cambio. El conjunto de ofertas recibe un identificador único y comienza en estado Borrador.

### Fase de configuración
<a name="configuration-phase"></a>

Durante la configuración, usted:
+ Agrega o actualiza los metadatos mediante `UpdateInformation` (nombre, notas del comprador)
+ Crea ofertas privadas individuales especificándolas `OfferSetId` durante la creación de la oferta
+ Asocie las ofertas al conjunto de ofertas mediante `AssociateOffers`
+ Si lo desea, asocie una solución utilizando `AssociateSolution` para mejorar el contenido de marketing

**importante**  
La opción `OfferSetId` de ofertas individuales es inmutable y solo se puede configurar durante la creación de la oferta. Antes de asociar las ofertas a un conjunto de ofertas mediante el uso`AssociateOffers`, primero debes crear las ofertas individuales y especificarlas `OfferSetId` durante la creación de la oferta. Si necesitas incluir una oferta existente que no tenga la correcta`OfferSetId`, debes crear una nueva oferta con la correcta `OfferSetId` especificada.

### Fase de validación
<a name="validation-phase"></a>

Antes de lanzar un conjunto de ofertas, asegúrate de:
+ El conjunto de ofertas contiene entre 2 y 7 ofertas
+ Todas las ofertas asociadas deben ser: 
  + En estado publicado
  + Activo
  + ¿Utilizan la misma moneda
  + Dirigirse a los mismos ID de cuenta de AWS del comprador
  + Tener fechas de caducidad idénticas

### Fase de lanzamiento
<a name="release-phase"></a>

Cuando esté listo, utilice el tipo de `ReleaseOfferSet` cambio para hacer que el conjunto de ofertas pase del estado Borrador al estado Publicado. De este modo, los compradores podrán descubrir el conjunto de ofertas a través AWS Marketplace de él.

### Post-release administración
<a name="post-release-management"></a>

**Gestión de vencimientos:**
+ El vencimiento efectivo de un conjunto de ofertas se calcula como la fecha de vencimiento más temprana de todas las ofertas asociadas
+ Puedes modificar las fechas de caducidad de cada oferta mediante las funciones de gestión de ofertas existentes (tipo de `UpdateAvailability` cambio)

**Modificaciones del conjunto de ofertas:**

Cuando los compradores soliciten cambios en un conjunto de ofertas publicado, utiliza el flujo de trabajo recreativo:

1. Crea una nueva entidad de conjunto de ofertas

1. En el caso de las ofertas que no requieren cambios, clone las ofertas existentes a través del portal AWS Marketplace de administración

1. En el caso de las ofertas que requieran modificaciones, cree nuevas ofertas con los cambios solicitados y especifique los nuevos `OfferSetId`

1. Asocie todas las ofertas (clonadas y nuevas) al nuevo conjunto de ofertas mediante `AssociateOffers`

1. Publica el nuevo conjunto de ofertas usando `ReleaseOfferSet`

1. Para caducar el conjunto de ofertas original, establece la fecha de finalización de la disponibilidad de las ofertas asociadas

## Permisos de IAM para conjuntos de ofertas
<a name="iam-permissions-offer-sets"></a>

Para trabajar con conjuntos de ofertas mediante la API de AWS Marketplace catálogo, necesitas permisos de IAM específicos. En esta sección se describen los permisos necesarios para las operaciones del conjunto de ofertas y los requisitos de autorización entre entidades.

### Acciones obligatorias
<a name="required-iam-actions"></a>

Las siguientes acciones de IAM son necesarias para las operaciones de conjuntos de ofertas:
+ `aws-marketplace:StartChangeSet`— Necesario para todos los tipos de cambio de conjuntos de ofertas, incluidas las operaciones de creación, actualización, asociación y publicación
+ `aws-marketplace:DescribeChangeSet`— Necesario para comprobar el estado y los resultados de la ejecución de los conjuntos de cambios
+ `aws-marketplace:ListEntities`— Necesario para incluir los conjuntos de ofertas en tu cuenta
+ `aws-marketplace:DescribeEntity`— Necesario para recuperar información detallada sobre un conjunto de ofertas

### Permisos de recursos
<a name="resource-permissions"></a>

Utilice los siguientes patrones de ARN para conceder permisos en recursos específicos:
+ **Conjuntos de ofertas**: `arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/OfferSet/*`
+ **Ofertas individuales** — `arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/Offer/*`
+ **Soluciones** — `arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/Solution/*`

Para obtener permisos más restrictivos, sustituya el comodín (\*) por identificadores de entidad específicos.

### Cross-entity autorización
<a name="cross-entity-authorization"></a>

Algunas operaciones del conjunto de ofertas requieren permisos tanto en el conjunto de ofertas como en las entidades asociadas:

**AssociateOffers**
+ `aws-marketplace:StartChangeSet`permiso sobre la entidad del conjunto de ofertas
+ `aws-marketplace:StartChangeSet`permiso con tipo de `AssociateWithOfferSet` cambio en cada entidad de oferta individual a la que se asocie

**AssociateSolution**
+ `aws-marketplace:StartChangeSet`permiso sobre la entidad del conjunto de ofertas
+ `aws-marketplace:StartChangeSet`permiso con tipo de `AssociateWithOfferSet` cambio en la entidad de solución que se está asociando

**nota**  
Tener solo un permiso `DescribeEntity` (de solo lectura) para las ofertas o soluciones no es suficiente para las operaciones de asociación. Debe tener `StartChangeSet` permiso para `AssociateWithOfferSet` cambiar el tipo de cambio en las entidades asociadas al conjunto de ofertas.

### Ejemplos de políticas de IAM
<a name="example-iam-policies"></a>

**Gestión básica del conjunto de ofertas**

Esta política proporciona permisos para las operaciones de conjuntos de ofertas básicos sin asociaciones 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 permisos para AssociateOffers**

Esta política demuestra los permisos y condiciones específicos necesarios 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 obtener permisos más restrictivos, sustituya el comodín (\*) por identificadores de entidad específicos.

**Cross-entity permisos para AssociateSolution**

Esta política demuestra los permisos y condiciones específicos necesarios 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 obtener permisos más restrictivos, sustituya el comodín (\*) por identificadores de entidad específicos.