

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 productos de vendedores
<a name="work-with-seller-products"></a>

Puedes utilizarla AWS Marketplace Catalog API para automatizar las tareas de trabajo con los productos de los vendedores. Esto incluye la posibilidad de crear, actualizar, ver, enumerar y ordenar productos. Esto le permite automatizar la gestión de los productos. Por ejemplo, puede proporcionar funciones de publicación de autoservicio en el AWS Marketplace Management Portal.

Un *producto* es una unidad o un recurso en el que se pretende vender AWS Marketplace, lo que suele denominarse producto base. Los compradores no pueden consumir un producto base hasta que añadas la información del producto, los atributos de despliegue y la información de facturación.

Un *producto* describe la información del producto, los atributos de implementación del software y el mecanismo de facturación del anuncio que pretendes vender. El *producto* debe ir acompañado de una *oferta* para convertirse en una unidad negociable que puedas vender y que los compradores puedan utilizar. AWS Marketplace

También puedes utilizarla para: AWS Marketplace Catalog API 
+ [Trabaje con ofertas privadas utilizando el AWS Marketplace API](work-with-private-offers.md)
+ [Trabaje con las autorizaciones de reventa utilizando el AWS Marketplace API](work-with-resale-authorizations.md)
+ [Trabaje con las ofertas privadas de los socios de canal mediante el AWS Marketplace API](work-with-cppos.md)

Cada tipo de producto tiene una entidad de producto diferente. Una *entidad* puede ser un producto o una oferta AWS Marketplace. Se admiten los siguientes tipos de productos y entidades: 


| Tipo de producto | Entidad | 
| --- | --- | 
| Productos de imagen de máquina de Amazon (AMI) | AmiProduct@1.0 | 
| Productos de contenedor | ContainerProduct@1.0 | 
| Productos de software como servicio (SaaS) | SaaSProduct@1.0 | 
| Productos de aprendizaje automático (ML) | MachineLearningProduct@1.0 | 

**nota**  
Single-AMI con tipos de CloudFormation productos, no se admiten productos de AWS Data Exchange datos ni productos de servicios profesionales.

En los siguientes temas se presupone que tienes acceso a la API y que has cumplido todos los requisitos previos para vender, tal y como se describe en[Control de acceso para AWS Marketplace API del catálogo](catalog-api-access-control.md).

Consulte los siguientes recursos:
+ Para entender los aspectos básicos del uso de la API AWS Marketplace de catálogo, consulta[Uso de AWS Marketplace API del catálogo](catalog-apis.md).
+ Para ver laboratorios integrales con ejemplos de códigos funcionales, consulta Cómo [gestionar productos con la API](https://catalog.workshops.aws/mpseller/en-US/manage-products-with-api) en el *taller para AWS Marketplace vendedores*.
+ Para ver ejemplos de código de solicitudes de API, consulta ejemplos de [Python](https://github.com/aws-samples/aws-marketplace-reference-code/tree/main/python/src/catalog_api/products) y [Java](https://github.com/aws-samples/aws-marketplace-reference-code/tree/main/java/resources/changeSets/products) en *AWS Samples* on GitHub.

En los siguientes temas se describe cómo utilizar la API de catálogo para realizar acciones en sus productos de una sola AMI, productos basados en contenedores o productos SaaS.

**Topics**
+ [Cree un producto](#create-product)
+ [Actualiza los detalles del producto](#update-information)
+ [Adición de dimensiones de precios](#add-dimensions)
+ [Actualización de las dimensiones de precios](#update-dimensions)
+ [Restricción de dimensiones de precios](#restrict-dimensions)
+ [Actualice la configuración de segmentación](#update-targeting)
+ [Actualice la visibilidad del producto](#update-visibility)
+ [Publicar un producto](#release-product)
+ [Encuentra el identificador de tu producto](#seller-product-id)
+ [Cambia el estado y los errores del conjunto](#seller-product-change-set-errors)
+ [Trabaja con AMI-based productos](work-with-single-ami-products.md)
+ [Trabaje con los productos componentes de EC2 Image Builder](work-with-ec2-image-builder-products.md)
+ [Trabaje con productos basados en contenedores utilizando el AWS Marketplace API](work-with-container-products.md)
+ [Trabaje con productos SaaS mediante el AWS Marketplace API](work-with-saas-products.md)
+ [Trabaje con productos de aprendizaje automático mediante AWS Marketplace API](work-with-ml-products.md)

## Cree un producto
<a name="create-product"></a>

**nota**  
Este tipo de cambio solo es necesario si se pretende crear una entidad de producto completamente nueva en el AWS Marketplace catálogo. No es necesario cuando se actualizan los productos existentes.

Puede usar la API del catálogo para crear un documento de AMI, contenedor, aprendizaje automático o SaaS con identificadores (código de producto e ID de producto). AWS Marketplace

Para crear un producto en `Draft` estado, llame a la operación de la `StartChangeSet` API con el tipo de `CreateProduct` cambio. 

Si tu solicitud se procesa correctamente, AWS Marketplace Catalog API generará un producto en ese `Draft` estado para ti. Se trata de un producto incompleto y los compradores no lo pueden ver en él AWS Marketplace. 

A continuación, utilizas los tipos de `Update` cambios para completar el proceso de creación del producto: [UpdateInformation[UpdateDimensions](#update-dimensions)](#update-information), [UpdateTargeting](#update-targeting), y [UpdateVisibility](#update-visibility). 

Una vez completado el producto, puedes usar el tipo de [ReleaseProduct](#release-product)cambio para completar el proceso de creación del producto y, a continuación, lanzar la oferta. Este proceso valida todo el producto y lo traslada al `Limited` estado.

**nota**  
Para obtener más información sobre cómo crear un producto mediante el AWS Marketplace Management Portal, consulta los siguientes temas de la *Guía del AWS Marketplace vendedor*:  
[Cree su producto con una sola AMI](https://docs.aws.amazon.com/marketplace/latest/userguide/ami-single-ami-products.html#ami-create-product)  
No puede actualizar la AMI para la versión. Si necesita actualizar la AMI, cree una nueva versión en su lugar.
[Crear un producto contenedor](https://docs.aws.amazon.com/marketplace/latest/userguide/container-product-getting-started.html#create-container-product)
[Creación de un producto SaaS](https://docs.aws.amazon.com/marketplace/latest/userguide/saas-create-product.html)
 [Crear un producto de aprendizaje automático](https://docs.aws.amazon.com/marketplace/latest/userguide/ml-creating-your-listing.html) 
Si utilizas el AWS Marketplace Management Portal para crear un producto, el producto estará en el `Staging` estado.

Para crear un producto en `Draft` estado, llama a la operación de `StartChangeSet` API con el tipo de `CreateProduct` cambio, como se muestra en el siguiente ejemplo. 

**Sintaxis de la solicitud**

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

{
"Catalog": "AWSMarketplace",
"ChangeSet": [ 
  { 
    "ChangeType":"CreateProduct",
    "Entity":{
      "Type": "SaaSProduct@1.0" // choose from ["AmiProduct@1.0", "ContainerProduct@1.0", "SaaSProduct@1.0", "MachineLearningProduct@1.0"]
     },
     "DetailsDocument": {
        "ProductTitle": "{{Test product title set in CreateProduct}}"
     }
  }
]
}
```

Proporcione información sobre los campos para añadir el tipo de `CreateProduct` cambio. Este tipo de cambio puede incluir un `ProductTitle` atributo, sujeto a las mismas restricciones que el que se envía al tipo de `UpdateInformation` cambio.
+ `Entity`(objeto) (obligatorio): el tipo de objeto con nombre que se va a crear.
  + `Type`(cadena) (obligatorio): `Type` se basa en el método de entrega (tipo de producto) que utilizará tu producto:`AmiProduct@1.0`,`ContainerProduct@1.0`, `MachineLearningProduct@1.0` o`SaaSProduct@1.0`. Para obtener más información, consulte [Identificador](catalog-apis.md#identifier). 
+ `DetailsDocument`(objeto) (obligatorio): puede estar vacío.
  + `ProductTitle`(opcional): el título del producto tiene una longitud máxima de 72 caracteres. Ten en cuenta que también puedes configurar o actualizar el título del producto más adelante mediante el tipo de `UpdateInformation` cambio.

**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. 

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

Cuando se completa la solicitud (si lo `Status` está`SUCCEEDED`), `ProductId` se genera una nueva.

**Validaciones sincrónicas**

Las siguientes validaciones de esquema son específicas de las acciones de. `CreateProduct` AWS Marketplace Catalog API Estas validaciones se realizan cuando llamas. `StartChangeSet` Si la solicitud no cumple los siguientes requisitos, fallará y generará una respuesta HTTP.


| Campo de entrada | Regla de validación | Código de HTTP | 
| --- | --- | --- | 
| ProductTitle (cadena) | Longitud máxima: 72 | 400 | 

**Errores asíncronos**  
Los siguientes errores son específicos de las `CreateProduct` acciones de. AWS Marketplace Catalog API Estos errores se devuelven cuando se llama `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\_INPUT | Se ha encontrado contenido inapropiado '{InappropriateContent}' en ProductTitle el campo. No ProductTitle incluya contenido inapropiado. | 

## Actualiza los detalles del producto
<a name="update-information"></a>

Si ya tienes un producto AWS Marketplace, puedes usar la API de catálogo para actualizar los detalles del producto de un producto de AMI, contenedor, ML o SaaS. 

**nota**  
Para obtener más información sobre cómo actualizar los detalles del producto mediante el AWS Marketplace Management Portal, consulta los siguientes temas de la *Guía del AWS Marketplace vendedor*:  
AMI-based producto: [actualiza la información del producto](https://docs.aws.amazon.com/marketplace/latest/userguide/ami-single-ami-products.html#single-ami-updating-product)
Container-based producto: [crear o actualizar la información del producto para su producto en contenedor](https://docs.aws.amazon.com/marketplace/latest/userguide/container-product-getting-started.html#container-product-updating-version)
SaaS-based producto: [actualice la información del producto](https://docs.aws.amazon.com/marketplace/latest/userguide/saas-product-settings.html#update-product-information)
Producto de aprendizaje automático: [actualización de la información del producto](https://docs.aws.amazon.com/marketplace/latest/userguide/ml-update-product.html)

Para actualizar los detalles del producto, llama a la operación de la `StartChangeSet` API con el tipo de `UpdateInformation` cambio y los detalles que deseas cambiar, como se muestra en el siguiente ejemplo.

**Sintaxis de la solicitud**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "UpdateInformation",
      "Entity":
      {
        "Identifier": "{{prod-example12345}}",
        "Type": "AmiProduct@1.0"
      },
      "DetailsDocument":
      {
        "ProductTitle": "{{My Product Title}}",
        "ShortDescription": "{{My product short description.}}",
        "LongDescription": "{{My product longer description.}}",
        "Sku": "{{123example456}}",
        "LogoUrl": "https://awsmp-logos.s3.amazonaws.com/{{ca60b754fe05a24257176cdbf31c4e0d}}",
        "VideoUrls":
        [
          "https://{{example.com/my-video}}"
        ],
        "Highlights":
        [
          "{{123example45}}"
        ],
        "AdditionalResources":
        [
          {
            "Text": "{{123example456}}",
            "Url": "https://{{example.com/some-link}}"
          }
        ],
        "SupportDescription": "{{Need help? Contact our experts at support@example.com \n\nYour purchase includes 24x7 support.}}",
        "Categories":
        [
          "Operating Systems",
          "Network Infrastructure",
          "Application Development"
        ],
        "SearchKeywords":
        [
          "{{123example456}}"
        ]
      }
    }
  ]
}
```

Proporciona información sobre los campos para añadir el tipo de `UpdateInformation` cambio:
+ `Entity`(objeto) (obligatorio): el tipo de entidad con nombre que se va a crear.
  + `Identifier`(cadena) (obligatorio): el identificador del producto. Para obtener más información, consulte [Identificador](catalog-apis.md#identifier).
  + `Type`(cadena) (obligatorio): `Type` se basa en el método de entrega (tipo de producto) que utilizará tu producto:`AmiProduct@1.0`,`ContainerProduct@1.0`,`MachineLearningProduct@1.0`, o`SaaSProduct@1.0`. 
+ `DetailsDocument`(objeto) (obligatorio): los detalles de la solicitud, incluida la información que deseas actualizar para tu producto. Cada campo es opcional, pero debes incluir al menos un cambio para actualizarlo.
  + `ProductTitle`(cadena): el nombre del producto que se mostrará a los compradores.
  + `ShortDescription`(cadena): descripción de los aspectos clave del producto que se mostrará a los compradores. Suele ser de 2 a 3 oraciones.
  + `LongDescription`(cadena): la descripción más larga del producto que se mostrará a los compradores. Suele ser de 1 a 3 párrafos.
  + `Sku`(cadena o nulo): cadena de formato libre que se define como referencia para su propio uso. Se utiliza `null` para anular la configuración de este campo.
  + `LogoUrl`(string): la URL de una imagen en un bucket de Amazon Simple Storage Service (Amazon S3) de acceso público. Para obtener más información, consulte los [requisitos para el logotipo de la empresa y del producto](https://docs.aws.amazon.com/marketplace/latest/userguide/product-submission.html#seller-and-product-logos).
  + `VideoUrls`(conjunto de cadenas): la lista de direcciones URL de vídeos alojados externamente y disponibles para el público que debes incluir como referencia para los compradores en la información del producto.
**nota**  
Actualmente, AWS Marketplace admite una URL de la matriz.
  + `Highlights`(matriz de cadenas): lista de rótulos cortos para las principales características del producto.
  + `AdditionalResources`(conjunto de estructuras): lista de referencias a recursos adicionales para obtener información sobre el producto. Cada referencia se compone de un nombre de texto y una URL:
    + `Text`(cadena): el nombre o el título del recurso.
    + `Url`(cadena): la URL de un recurso que puede ser útil para que un comprador comprenda tu producto.
  + `SupportDescription`(cadena): los detalles de tu oferta de soporte para tu producto.
  + `Categories`(conjunto de cadenas): la lista de categorías de productos AWS Marketplace definidas que describen el producto. Para obtener más información, consulta [las categorías de productos](https://docs.aws.amazon.com/marketplace/latest/buyerguide/buyer-product-categories.html) en la *Guía del AWS Marketplace comprador*.
  + `SearchKeywords`(conjunto de cadenas): la lista de palabras clave de tu producto para mejorar la experiencia de búsqueda. El nombre del vendedor, el nombre del producto y las categorías de productos se incluyen automáticamente en las palabras clave de búsqueda y no es necesario repetirlos aquí.

**nota**  
Cuando rellenes por primera vez la información del `Draft` producto (metadatos) de un producto, tendrás que proporcionar todos los siguientes datos en el tipo de `DetailsDocument` objeto de `UpdateInformation` cambio: `ProductTitle` `ShortDescription``LongDescription`,`LogoUrl`,`Highlights`,`AdditionalResources`, `SupportDescription``Categories`, y`SearchKeywords`.   
Se `ProductTitle` puede omitir si ya se proporcionó durante el tipo de `CreateProduct` cambio. Sin embargo, al actualizar los campos existentes del producto, solo puede incluir los atributos que deben cambiarse en el `DetailsDocument` objeto del tipo de `UpdateInformation` cambio. 

**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.

Para comprobar el estado de la solicitud, usa la `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API AWS Marketplace Management Portal o llama a ella.

**Validaciones sincrónicas**

Las siguientes validaciones de esquema son específicas de las acciones de. `UpdateInformation` AWS Marketplace Catalog API Estas validaciones se realizan cuando llamas. `StartChangeSet` Si la solicitud no cumple los siguientes requisitos, fallará y generará una respuesta HTTP.


| Campo de entrada | Regla de validación | Código de HTTP | 
| --- | --- | --- | 
| Cadena (general)  | Sin caracteres de control «\\\\ x00-\\\\ x08\\\\ x0B-\\\\ x1F» | 400 | 
| ProductTitle (cadena) | Longitud máxima: 72 Obligatorio | 400 | 
| ShortDescription (cadena) | Longitud máxima: 1000 Obligatorio | 400 | 
| LongDescription (cadena) | Longitud máxima: 5000 Obligatorio | 400 | 
| Sku (cadena) | Longitud máxima: 100 Opcional | 400 | 
| LogoUrl (cadena) | Patrón de URL: <br />^ https://(www\\.)? [-a-z A-Z0 - 9@.] {1.256}\\. [a-z A-Z0-9 ()] {2,63}\\ b ([-a-Z- @\+./] \*) Z0-9<br />Obligatorio | 400 | 
| VideoUrls (matriz de cadenas) | Patrón de URL: <br />https://(www\\\\.)? [-a-z A-Z0 - 9@.\_] {1256}\\\\. [a-z A-Z0-9 ()] {2,63}\\\\ b ([-a-z @\_ \+.\\/] A-Z0-9 <br />Opcional | 400 | 
| Aspectos destacados (conjunto de cadenas) | Necesario: Mín 1 - Máximo 3 | 400 | 
| AdditionalResources (conjunto de estructuras) | Longitud máxima: 500 Opcional | 400 | 
| SupportDescription (cadena) | Longitud máxima: 2000Obligatorio | 400 | 
| Categorías (matriz de cadenas) | Mín 1 - Máximo 3 Obligatorio | 400 | 
| SearchKeywords (matriz de cadenas) | Mín 1 - Máximo 15 Máximo 50 caracteres para cada artículo<br />Obligatorio | 400 | 

**Errores asíncronos**

Los siguientes errores son específicos de las `UpdateInformation` acciones de. AWS Marketplace Catalog API Estos errores se devuelven cuando se llama `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 | 
| --- | --- | 
| DATOS\_FALTANTES  | No se proporcionaron datos para realizar una actualización. Proporciona datos para al menos un campo del producto.  | 
| INVALID\_INPUT | Proporcione LogoUrl. | 
| INVALID\_INPUT | Proporcionar ProductTitle. | 
| INVALID\_INPUT | Proporcionar ShortDescription. | 
| INVALID\_INPUT | Proporcionar LongDescription. | 
| INVALID\_INPUT | Proporcionar SupportDescription. | 
| INVALID\_INPUT | Proporcione al menos una palabra clave de búsqueda. | 
| INVALID\_INPUT | Indique al menos un elemento destacado. | 
| INVALID\_INPUT | Proporcione entre 1 y 3 categorías de productos. | 
| INVALID\_INPUT | Se ha encontrado contenido inapropiado '{InappropriateContent}' en ProductTitle el campo. No ProductTitle incluya contenido inapropiado. | 
| INVALID\_INPUT | Se ha encontrado contenido inapropiado '{InappropriateContent}' en ShortDescription el campo. No ShortDescription incluya contenido inapropiado. | 
| INVALID\_INPUT | Se ha encontrado contenido inapropiado '{InappropriateContent}' en LongDescription el campo. No LongDescription incluya contenido inapropiado. | 
| INVALID\_INPUT | Se ha encontrado contenido inapropiado '{InappropriateContent}' en SupportDescription el campo. No SupportDescription incluya contenido inapropiado. | 
| INVALID\_INPUT |  ProductTitle Campo no válido. Elimine los espacios antes del símbolo de la marca comercial. | 
| INVALID\_INPUT |  ShortDescription Campo no válido. Elimine los espacios antes del símbolo de la marca comercial. | 
| INVALID\_INPUT |  LongDescription Campo no válido. Elimine los espacios antes del símbolo de la marca comercial. | 
| INVALID\_INPUT |  SupportDescription Campo no válido. Elimine los espacios antes del símbolo de la marca comercial. | 
| INVALID\_INPUT |  ProductTitle Campo no válido. Eliminar caracteres no admitidos [UnsupportedCharacters]. | 
| INVALID\_INPUT |  ShortDescription Campo no válido. Eliminar caracteres no admitidos [UnsupportedCharacters]. | 
| INVALID\_INPUT |  LongDescription Campo no válido. Eliminar caracteres no admitidos [UnsupportedCharacters]. | 
| INVALID\_INPUT |  SupportDescription Campo no válido. Eliminar caracteres no admitidos [UnsupportedCharacters]. | 
| INVALID\_INPUT | Las palabras clave de búsqueda no deben tener más de 250 caracteres combinados. | 
| INVALID\_INPUT | No se pudo leer la entrada para este tipo de cambio. Envíe una entrada con el formato correcto. | 
| RECURSOS\_ADICIONALES\_INVÁLIDOS | Las direcciones URL no son válidas en: [] Proporcione direcciones URL válidas. AdditionalResources InvalidAdditionalResourcesUrls | 
| NOMBRES\_DE\_CATEGORÍAS NO VÁLIDOS | Proporcione nombres de categorías válidos compatibles con. AWS Marketplace | 
| InvalidImageProperties | Se encontraron errores de validación: el archivo no es del tipo de imagen. Tipos de imagen compatibles: [png\|jpg\|gif]. | 
| CONTENIDO\_EXPLÍCITO | Contenido explícito: se detectó '{ExplicitContent}'. Proporcione contenido multimedia sin contenido explícito. | 
| INVALID\_MEDIA | URL no válida: {MediaUrl} Proporcione una nueva URL para el contenido multimedia almacenado en S3. | 
| INVALID\_MEDIA | URL no válida: {MediaUrl} Proporcione una URL válida que no supere los 2048 caracteres. | 
| INVÁLID\_MEDIA | La ubicación proporcionada no es accesible: {MediaUrl} Proporcione una URL accesible para los archivos multimedia almacenados en S3. | 
| INVÁLID\_MEDIA | Se ha producido un problema al copiar el contenido multimedia de S3. El tamaño de la imagen supera los 5 MB. Proporcione una imagen de menos de 5 MB. | 
| MEDIA\_INVALID\_MEDIA | Se ha detectado malware en los medios. Vuelva a enviar el contenido multimedia sin malware. | 
| TOO\_MANY\_MEDIA | No proporcione más de 15 elementos multimedia. | 
| DUPLICATE\_MEDIA | No se permite el uso de medios duplicados para un producto. Proporcione material multimedia sin duplicados. | 

## Adición de dimensiones de precios
<a name="add-dimensions"></a>

Puede utilizar las [acciones del servicio de catálogo de AWS Marketplace](https://docs.aws.amazon.com/marketplace/latest/APIReference/API_Operations_AWS_Marketplace_Catalog_Service.html) para añadir dimensiones de precios facturables que le permitan cobrar a los usuarios por productos AMI, contenedores o SaaS.

Una *dimensión de precios* es una unidad de medida que los vendedores definen para cobrar a los compradores. Los vendedores deben configurar esta información para facturar a los compradores por el uso del producto, tanto si se trata de un modelo de precios basado en el uso como en un modelo de precios basado en un contrato. El tipo de dimensión depende del modelo de precios del producto. 

**nota**  
Para los productos SaaS con un modelo de precios gratuito, debe crear al menos una dimensión con UsageBasedPricingTerm o ConfigurableUpfrontPricingTerm, y todas las dimensiones deben tener un precio de 0,00$. Este requisito es exclusivo de los productos SaaS y no se aplica a los productos de AMI, contenedores o aprendizaje automático.

**nota**  
Las nuevas dimensiones de precios tienen los siguientes impactos en los compradores de SaaS:  
En el caso de los compradores con acuerdos creados a partir de ofertas públicas, puedes informar sobre el consumo de las nuevas dimensiones aunque no estuvieran en la oferta cuando se creó el acuerdo.
En el caso de los compradores con acuerdos creados a partir de ofertas privadas, no puedes informar del consumo en las nuevas dimensiones porque no existían en la oferta privada cuando se creó el acuerdo. Las llamadas a la [BatchMeterUsage](https://docs.aws.amazon.com/marketplace/latest/APIReference/API_marketplace-metering_BatchMeterUsage.html)API se realizarán correctamente, pero no se facturará al comprador, por lo que debes llevar un registro de los compradores a los que se les puede facturar y a los que no se les puede facturar por cualquier dimensión nueva. También puedes usar la [GetAgreementTerms](https://docs.aws.amazon.com/marketplace/latest/APIReference/API_marketplace-agreements_GetAgreementTerms.html)API para ver las dimensiones incluidas en cada acuerdo con el comprador.  
Para informar del consumo de una nueva dimensión y facturar al comprador, debes [extender una oferta de reemplazo](https://docs.aws.amazon.com/marketplace/latest/userguide/private-offers-upgrades-and-renewals.html#private-offers-upgrades-and-renewals-supported-products) que incluya la dimensión y el comprador debe aceptar la oferta.

Para obtener más información sobre los precios de los productos, consulta los siguientes temas de la *Guía del AWS Marketplace vendedor*:
+ [Precios de los productos AMI](https://docs.aws.amazon.com/marketplace/latest/userguide/pricing-ami-products.html)
+ [Precios de productos de contenedores](https://docs.aws.amazon.com/marketplace/latest/userguide/pricing-container-products.html)
+ [Precios de productos SaaS](https://docs.aws.amazon.com/marketplace/latest/userguide/saas-pricing-models.html)
+ [Precios de productos de aprendizaje automático](https://docs.aws.amazon.com/marketplace/latest/userguide/machine-learning-pricing.html)

Para obtener más información sobre cómo añadir dimensiones de precios mediante el AWS Marketplace Management Portal, consulta los siguientes temas de la *Guía del AWS Marketplace vendedor*:
+ AMI-based productos: [actualiza los precios](https://docs.aws.amazon.com/marketplace/latest/userguide/ami-single-ami-products.html#single-ami-update-product-pricing).
+ Container-based productos: [añadir una dimensión de precios](https://docs.aws.amazon.com/marketplace/latest/userguide/container-product-getting-started.html#container-add-pricing-dimensions).
+ SaaS-based productos: [añade dimensiones de precios](https://docs.aws.amazon.com/marketplace/latest/userguide/saas-product-settings.html#saas-add-pricing-dimensions).
+ Productos de aprendizaje automático: no compatibles. Los productos de aprendizaje automático tienen precios fijos. Sin embargo, puedes [actualizar los precios](https://docs.aws.amazon.com/marketplace/latest/userguide/ami-single-ami-products.html#single-ami-update-product-pricing).

Para añadir dimensiones de precios, llama a la `StartChangeSet` API con el tipo de `AddDimensions` cambio, como se muestra en el siguiente ejemplo.

**nota**  
Tras enviar el primer tipo de `AddDimensions` cambio con dimensiones que especifiquen un tipo de modelo de precios (uso, contrato o contrato con consumo), debes trabajar con el equipo de operaciones de AWS Marketplace venta. Te ayudan a añadir una dimensión con tipos que están fuera del modelo de precios original.

**Sintaxis de la solicitud**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "AddDimensions",
      "DetailsDocument":
      [
        {
          "Description": "{{Description of the dimension}}",
          "Key": "{{UniqueApiKey}}",
          "Unit": "HostHrs",
          "Name": "{{First Dimension}}",
          "Types":
          [
            "ExternallyMetered"
          ]
        }
      ],
      "Entity":
      {
        "Identifier": "{{prod-example12345}}",
        "Type": "SaaSProduct@1.0"
      }
    }
  ]
}
```

Proporcione los siguientes campos para el tipo de `AddDimensions` cambio.
+ `DetailsDocument`(conjunto de objetos) (obligatorio): detalles de la solicitud. 
  + `Description`(cadena) (obligatorio): detalles completos de la dimensión que formará la descripción larga en la página de visualización del comprador.
  + `Key`(cadena) (obligatorio): introduce la faceta que se utilizará para definir las tarifas de la oferta. Introduzca también las dimensiones publicadas en el AWS Marketplace Metering Service (MMS) si la dimensión no se puede medir externamente. Una vez creada la dimensión, no se puede cambiar.
  + `Units`(cadena) (obligatorio): el tipo de unidad de la dimensión. Las unidades posibles son usuarios, hosts, GB, MB, TB, Gbps, Mbps, solicitudes, unidades UserHrs UnitHrs,, unidades HostHrs TierHrs, y TaskHrs.
  + `Name`(cadena) (obligatorio): el nombre que se muestra de la dimensión en el sitio web y en la factura del cliente.
    + `Types`(conjunto de cadenas) (obligatorio) (también conocidas como **etiquetas**): indican si la dimensión abarca la medición, los derechos o la compatibilidad con la medición externa. Esto no se puede cambiar una vez creada la dimensión.
    + 
      + `Metered`— Indica que los tipos de uso de la plataforma de comercio deben crearse para permitir la medición en esta dimensión.
      + `ExternallyMetered`— Indica que las dimensiones del servicio de AWS Marketplace medición (MMS) deben crearse durante la publicación para que los vendedores puedan medir a través del SDK. AWS 
      + `Entitled`— Indica que se pueden conceder derechos sobre la dimensión durante la publicación del producto o la oferta.

        En la siguiente tabla se enumeran las combinaciones de precios, dimensiones y productos admitidas.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/marketplace/latest/developerguide/work-with-seller-products.html)
+ `Entity`(objeto) (obligatorio): el tipo de entidad nombrado que se va a crear.
  + `Identifier`(cadena) (obligatorio): el identificador del producto. Para obtener más información, consulte [Identificador](catalog-apis.md#identifier).
  + `Type`(cadena) (obligatorio): `Type` se basa en el método de entrega (tipo de producto) que utilizará tu producto: `AmiProduct@1.0` o`SaaSProduct@1.0`. 

**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 validar la información para garantizar que cumpla con las AWS Marketplace directrices. El proceso de validación puede tardar desde unos minutos hasta unas horas. 

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

**Validaciones sincrónicas**

Las siguientes validaciones de esquema son específicas de las acciones de. `AddDimensions` AWS Marketplace Catalog API Estas validaciones se realizan cuando llamas. `StartChangeSet` Si la solicitud no cumple los siguientes requisitos, fallará y generará una respuesta HTTP.


| Campo de entrada | Regla de validación | Código de HTTP | 
| --- | --- | --- | 
| Description (Descripción) | Longitud máxima: 1000 Obligatorio | 400 | 
| Key | Longitud máxima: 100 Patrón: [A-Za-z0-9\_.-] \+$ <br />Obligatorio | 400 | 
| Unidades de dimensión | Longitud máxima: 20 Obligatorio | 400 | 
| Name | Longitud máxima: 500 Obligatorio | 400 | 
| Tipo (etiqueta) | Necesario: Mín 1 - Máximo 3<br />Entradas: tituladas, medidas, ExternallyMetered <br />Obligatorio | 400 | 

**Errores asíncronos**

Los siguientes errores son específicos de las `AddDimensions` acciones de. AWS Marketplace Catalog API Estos errores se devuelven cuando se llama `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 | 
| --- | --- | 
| DATOS\_FALTANTES | No se proporcionaron datos para realizar una actualización. Proporcione datos para al menos una dimensión. | 
| DIMENSIÓN\_INVÁLIDA | Proporcione no más de 200 dimensiones. | 
| DIMENSIÓN\_INVÁLIDA | No se pueden añadir dimensiones duplicadas. | 
| DIMENSIÓN\_INVÁLIDA | No se puede añadir la dimensión en el estado actual «%s». Indica que las actualizaciones de dimensiones compatibles son %s. | 
| DIMENSIÓN\_INVÁLIDA | No se puede añadir la dimensión. El campo '%s' tiene valores duplicados '%s' en otras dimensiones. | 
| DIMENSIÓN\_INVÁLIDA | Proporcione campos que no estén vacíos (clave, unidad, nombre, tipos) para cada dimensión. | 
| TIPO\_INVÁLIDO | Elimine el tipo no válido «%s». Los tipos válidos son ["Medido», «Autorizado», "ExternallyMetered«]. | 
| UNIDAD\_VÁLIDA | Elimine la unidad «%s» no válida. Las unidades válidas son ["GB», «Gbps», "HostHrs«, «Hosts», «MB», «Mbps», «Requests», "TaskHrs«, «TB», "TierHrs«, UnitHrs «Units», "UserHrs«Users"]. | 
| INVALID\_INPUT | Se ha encontrado contenido inapropiado '%s' en el campo %s. Proporcione a %s ningún contenido inapropiado. | 
| INVALID\_INPUT | El campo '%s' no es válido. Elimine los espacios antes del símbolo de la marca comercial. | 
| INVALID\_INPUT | El campo '%s' no es válido. Elimine los caracteres no admitidos %s. | 
| DIMENSIÓN\_INVÁLIDA | Elimine la combinación de tipos de dimensiones no válida %s. Los valores permitidos son %s. | 
| DIMENSIÓN\_INVÁLIDA | Elimine la clave de dimensión no válida '%s' para la dimensión medida. | 
| DIMENSIÓN\_INVÁLIDA | La dimensión denominada '%s' para ProductCode '%s' no pasó la validación %s del servicio de AWS Marketplace medición. | 
| DIMENSIÓN\_INVÁLIDA | La dimensión denominada '%s' para ProductCode '%s' no tiene ningún registro de medición presente en Metering Service. El producto no se ha lanzado nunca para ser sometido a pruebas o está mal configurado y no realiza las llamadas correspondientes al servicio de medición. AWS Marketplace  | 

## Actualización de las dimensiones de precios
<a name="update-dimensions"></a>

Puede usar la API de catálogo para actualizar las dimensiones de precios existentes de una AMI, un contenedor o un producto SaaS en. AWS Marketplace

Cada dimensión se identifica de forma única mediante la clave de dimensión y los tipos de dimensiones para realizar la actualización. La actualización de una dimensión no afecta a ninguna oferta activa ni a los clientes que haya creado la dimensión original. 

**nota**  
Para obtener más información sobre cómo actualizar las dimensiones de precios mediante la AWS Marketplace Management Portal, consulta los siguientes temas de la *Guía del AWS Marketplace vendedor*:  
AMI-based producto: [actualiza los precios](https://docs.aws.amazon.com/marketplace/latest/userguide/ami-single-ami-products.html#single-ami-update-product-pricing)
Container-based producto: [Actualización de la información de dimensiones](https://docs.aws.amazon.com/marketplace/latest/userguide/container-product-getting-started.html#container-update-dimensions-information)
SaaS-based producto: [actualice las dimensiones del precio](https://docs.aws.amazon.com/marketplace/latest/userguide/saas-product-settings.html#saas-update-dimension)
Producto de aprendizaje automático: [actualice los precios del producto](https://docs.aws.amazon.com/marketplace/latest/userguide/ml-update-public-offer.html)

Para actualizar las dimensiones de los precios, llama a la operación de la `StartChangeSet` API con el tipo de `UpdateDimensions` cambio, como se muestra en el siguiente ejemplo.

**Sintaxis de la solicitud**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "UpdateDimensions",
      "DetailsDocument":
      [
        {
          "Key": "{{UniqueApiKey}}",
          "Types":
          [
            "{{ExternallyMetered}}"
          ],
          "Name": "{{First Dimension}}",
          "Description": "{{Description of the dimension}}"
        }
      ],
      "Entity":
      {
        "Identifier": "{{prod-example12345}}",
        "Type": "SaaSProduct@1.0"
      }
    }
  ]
}
```

Usa los siguientes campos con el tipo de `UpdateDimensions` cambio:
+ `DetailsDocument`(conjunto de objetos) (obligatorio): detalles de la solicitud.
  + `Key`(cadena) (obligatorio): proporciona la clave de la dimensión existente del producto para cambiar la descripción y el nombre. Para ello`UpdateDimension`, este campo solo sirve para identificar la dimensión que se va a cambiar.
  + `Types`(matriz de cadenas) (obligatorio) (también conocidas como **etiquetas**): indican si la dimensión cubre la medición, la asignación de derechos o la compatibilidad con la medición externa. Esto no se puede cambiar una vez creada la dimensión.
    + `Metered`— Indica que los tipos de uso de la plataforma de comercio deben crearse para permitir la medición en esta dimensión.
    + `ExternallyMetered`— Indica que las dimensiones AWS Marketplace Metering Service (MMS) se deben crear durante la publicación para que los vendedores puedan medir a través del AWS SDK.
    + `Entitled`— Indica que se pueden conceder derechos a la dimensión durante la publicación. product/offer  
**Combinaciones de tipos de dimensiones de precios válidas**    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/marketplace/latest/developerguide/work-with-seller-products.html)
  + `Description`(cadena) (opcional): descripción completa de la dimensión que aparecerá en la página de visualización del comprador.
  + `Name`(cadena) opcional: muestra el nombre de la dimensión en el sitio web y en la factura del cliente.
+ `Entity`(objeto) (obligatorio): el tipo de entidad con nombre que se va a crear.
  + `Identifier`(cadena) (obligatorio): el identificador del producto. Para obtener más información, consulte [Identificador](catalog-apis.md#identifier).
  + `Type`(cadena) (obligatorio): `Type` se basa en el método de entrega (tipo de producto) que utilizará tu producto: `AmiProduct@1.0` o`SaaSProduct@1.0`. 

**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 incluyó la validación de la información para garantizar que cumpla con las AWS Marketplace pautas. El proceso de validación puede tardar desde unos minutos hasta unas horas.

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

**Validaciones sincrónicas**

Las siguientes validaciones de esquema son específicas de las acciones de. `UpdateDimensions` AWS Marketplace Catalog API Estas validaciones se realizan cuando llamas. `StartChangeSet` Si la solicitud no cumple los siguientes requisitos, fallará y generará una respuesta HTTP.


| Campo de entrada | Regla de validación | Código de HTTP | 
| --- | --- | --- | 
| Description (Descripción)  | Longitud máxima: 1000<br />Obligatorio | 400 | 
| Key  | Longitud máxima: 100<br />Patrón: [A-Za-z0-9\_.-] \+$ <br />Obligatorio | 400 | 
| Name | Longitud máxima: 5<br />Obligatorio | 400 | 
|  Tipos (etiqueta)  | Necesario: Mín 1 - Máximo 3<br />Entradas:`Entitled`,`Metered`, `ExternallyMetered` <br />Obligatorio | 422 | 

**Errores asíncronos**

Los siguientes errores son específicos de las `UpdateDimensions` acciones de. AWS Marketplace Catalog API Estos errores se devuelven cuando se llama `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\_INPUT | El campo %s no es válido. Elimine los espacios antes del símbolo de la marca comercial. | 
| INVALID\_INPUT | El campo '%s' no es válido. Elimine los caracteres no admitidos %s. | 
| DIMENSIÓN\_INVÁLIDA | Proporcione campos no vacíos (Key,Types, Name and/orDescription) para cada dimensión. | 
| DIMENSIÓN\_INVÁLIDA | No se puede actualizar la dimensión. El campo Name tiene valores duplicados '%s' en otras dimensiones. | 
| DIMENSIÓN\_INVÁLIDA | No se puede actualizar la misma dimensión con la clave '%s' y escribir '%s' varias veces en la misma solicitud. | 
| DIMENSIÓN\_INVÁLIDA | No se puede restringir la dimensión. La clave de dimensión '%s' con los tipos '%s' no existe. | 
|  DIMENSIÓN\_INVÁLIDA  | No se puede actualizar la dimensión. La clave de dimensión '%s' esMetered. | 
|  DIMENSIÓN\_INVÁLIDA  | La dimensión no se puede actualizar para una dimensión ya restringida. | 

## Restricción de dimensiones de precios
<a name="restrict-dimensions"></a>

Puede utilizar la API de catálogo para restringir las dimensiones de precios existentes de un producto AMI o SaaS. AWS Marketplace

Cada dimensión se identifica de forma única mediante la clave de dimensión y los tipos de dimensiones para realizar la actualización. La restricción de una dimensión no afecta a ninguna oferta activa ni a los clientes que haya creado la dimensión original. 

Para restringir las dimensiones de precios, llama a la `StartChangeSet` API con el tipo de `RestrictDimensions` cambio.

**nota**  
Las restricciones por dimensión de precios solo están disponibles mientras el producto esté en estado de borrador. No se permiten cambios una vez que el producto pase a un estado limitado o público.

El siguiente ejemplo muestra cómo restringir la `Entitled` dimensión de un producto SaaS.

**Sintaxis de la solicitud**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "RestrictDimensions",
      "DetailsDocument":
      [
        {
          "Key": "{{UniqueApiKey}}",
          "Types": ["Entitled"]
        }
      ],
      "Entity":
      {
        "Identifier": "{{prod-example12345}}",
        "Type": "SaaSProduct@1.0"
      }
    }
  ]
}
```

Utilice los siguientes campos con el tipo de `RestrictDimensions` cambio:
+ `DetailsDocument`(conjunto de objetos) (obligatorio): detalles de la solicitud.
  + `Key`(cadena) (obligatorio): proporciona la clave de la dimensión existente del producto para cambiar la descripción y el nombre. Para ello`RestrictDimensions`, este campo solo sirve para identificar la dimensión que se va a cambiar.
  + `Types`(matriz de cadenas) (obligatorio) (también conocidas como **etiquetas**): indican si la dimensión cubre la medición, la asignación de derechos o la compatibilidad con la medición externa. Esto no se puede cambiar una vez creada la dimensión.
    + `["ExternallyMetered", "Entitled"]`— Solo puedes combinar estos tipos de precios de contrato de SaaS con precios de consumo, donde las dimensiones se pueden pagar por adelantado o con contador.
    + `["Metered"]`— Para las dimensiones de precios por hora de los productos AMI. Indica que los tipos de uso de la plataforma de comercio deben crearse para permitir la medición de esta dimensión.
    + `["ExternallyMetered"]`— Para dimensiones flexibles de precios de consumo (también conocidas como medición personalizada) de productos AMI, contenedores y SaaS. Indica que las dimensiones del AWS Marketplace Metering Service (MMS) se deben crear durante la publicación para que los vendedores puedan medir a través del AWS SDK.
    + `["Entitled"]`— Para las dimensiones de precios contractuales de los contratos de SaaS y los productos de servicios profesionales. Esta etiqueta otorga derechos de uso de un software o servicio, establece las fechas de inicio y finalización del uso y otorga derechos de descuento por uso para los productos anuales de AMI. Cada derecho se identifica mediante una clave de dimensión AWS Marketplace Entitlement Service para crear y actualizar los derechos. La clave indica que se pueden conceder derechos sobre la dimensión durante la publicación de los productos y las ofertas.
+ `Entity`(objeto) (obligatorio): el tipo de entidad nombrado que se está creando.
  + `Identifier`(cadena) (obligatorio): el identificador del producto. Para obtener más información, consulte [Identificador](catalog-apis.md#identifier).
  + `Type`(cadena) (obligatorio): `Type` se basa en el método de entrega del producto (tipo de producto): `AmiProduct@1.0` o`SaaSProduct@1.0`. 

**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 incluyó la validación de la información para garantizar que cumpla con las AWS Marketplace pautas. El proceso de validación puede tardar desde unos minutos hasta unas horas.

Puedes comprobar el estado de la solicitud a través de la AWS Marketplace Management Portal`[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API o llamando a ella.

**Validaciones sincrónicas**

Las siguientes validaciones de esquema son específicas de las acciones de. `RestrictDimensions` AWS Marketplace Catalog API Estas validaciones se realizan cuando llamas. `StartChangeSet` Si la solicitud no cumple los siguientes requisitos, fallará y generará una respuesta HTTP.


| Campo de entrada | Regla de validación | Código de HTTP | 
| --- | --- | --- | 
| Description (Descripción)  | Longitud máxima: 1000<br />Obligatorio | 400 | 
| Key  | Longitud máxima: 100<br />Patrón: [A-Za-z0-9\_.-] \+$ <br />Obligatorio | 400 | 
| Name | Longitud máxima: 5<br />Obligatorio | 400 | 
|  Tipos (etiqueta)  | Necesario: Mín 1 - Máximo 3<br />Entradas:`Entitled`,`Metered`, `ExternallyMetered` <br />Obligatorio | 400 | 

**Errores asíncronos**

Los siguientes errores son específicos de las `RestrictDimensions` acciones de. AWS Marketplace Catalog API Estos errores se devuelven cuando se llama `DescribeChangeSet` mientras 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\_INPUT | El campo %s no es válido. Elimine los espacios antes del símbolo de la marca comercial. | 
| INVALID\_INPUT | El campo '%s' no es válido. Elimine los caracteres no admitidos %s. | 
| DIMENSIÓN\_INVÁLIDA | La clave de dimensión '%s' con los tipos '%s' ya estaba restringida | 
| DIMENSIÓN\_INVÁLIDA | No se puede restringir la dimensión. La clave de dimensión '%s' con los tipos '%s' no existe | 
| DIMENSIÓN\_INVÁLIDA | No se pueden restringir las dimensiones duplicadas. | 
| DIMENSIÓN\_INVÁLIDA | No se pueden restringir todas las dimensiones autorizadas. Debe haber al menos una dimensión autorizada activa. | 
|  DIMENSIÓN\_INVÁLIDA  | La clave de dimensión '%s' con los tipos '%s' está asociada a otra dimensión de tipos diferentes '%s'. Las dos dimensiones de la misma clave deben estar restringidas al mismo tiempo para que sean válidas. | 

## Actualice la configuración de segmentación
<a name="update-targeting"></a>

Puede usar la API de catálogo para agregar Cuenta de AWS ID que permitan ver la AMI, el contenedor, el ML o el producto SaaS AWS Marketplace antes de que se traslade a un `Public` estado llamando al tipo de `UpdateTargeting` cambio. 

Las cuentas de Managed Catalog Operations (MCO) se añaden automáticamente a la lista de cuentas permitidas cuando se crean nuevos productos. Los vendedores pueden ver estas cuentas de MCO en el portal AWS Marketplace de administración (AMMP) al consultar las cuentas permitidas y en la `Targeting` sección de respuesta de la `DescribeEntity` API.

**nota**  
Para obtener más información sobre cómo añadir Cuenta de AWS identificadores mediante el AWS Marketplace Management Portal, consulta los siguientes temas de la Guía del *AWS Marketplace vendedor*:  
AMI-based producto: [actualiza la lista de permitidos (previsualiza las cuentas](https://docs.aws.amazon.com/marketplace/latest/userguide/ami-single-ami-products.html#single-ami-updating-allowlist))
Container-based producto: [Actualización de la lista de identificadores de cuentas de AWS permitidos](https://docs.aws.amazon.com/marketplace/latest/userguide/container-product-getting-started.html#container-update-allowlist)
SaaS-based producto: [Actualización de la lista de identificadores de cuentas de AWS permitidos](https://docs.aws.amazon.com/marketplace/latest/userguide/saas-product-settings.html#update-allowlist)
 Producto de aprendizaje automático: [actualización de la lista de permitidos](https://docs.aws.amazon.com/marketplace/latest/userguide/ml-update-allowlist.html) 

Para agregar Cuenta de AWS identificadores que permitan ver la AMI, el contenedor, el ML o el producto SaaS, llame a la operación de `StartChangeSet` API con el tipo de `UpdateTargeting` cambio, como se muestra en el siguiente ejemplo.

**Sintaxis de la solicitud**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "UpdateTargeting",
      "Entity":
      {
        "Type": "SaaSProduct@1.0",
        "Identifier": "{{prod-example12345}}"
      },
      "DetailsDocument":
      {
        "PositiveTargeting":
        {
          "BuyerAccounts":
          [
            "{{1112223334444}}"
          ]
        }
      }
    }
  ]
}
```

Utilice los siguientes campos con el tipo de `UpdateTargeting` cambio. 
+ `Entity`(objeto) (obligatorio): el tipo de entidad con nombre que se va a crear.
  + `Identifier`(cadena) (obligatorio): el identificador del producto. Para obtener más información, consulte [Identificador](catalog-apis.md#identifier).
  + `Type`(cadena) (obligatorio): `Type` se basa en el método de entrega (tipo de producto) que utilizará tu producto:`AmiProduct@1.0`,`MachineLearningProduct@1.0`, o`SaaSProduct@1.0`. 
+ `DetailsDocument`(objeto) (obligatorio): los detalles necesarios para ejecutar el ChangeSet.
  + `PositiveTargeting`(objeto) (opcional): la segmentación positiva define los criterios que debe cumplir el perfil de cualquier comprador para poder acceder a la oferta. Este campo es opcional, pero se debe proporcionar al menos una opción de segmentación cuando este campo esté presente.
    + `BuyerAccounts`(conjunto de cadenas) (opcional): aparece como opción para permitir la segmentación en función de las cuentas de AWS (también conocida como oferta privada). Si la intención es no dirigir la oferta a una cuenta de AWS, se debe omitir este campo.

**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 incluyó la validación de la información para garantizar que cumpla con las AWS Marketplace pautas. El proceso de validación puede tardar desde unos minutos hasta unas horas.

Para comprobar el estado de la solicitud, usa la `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API AWS Marketplace Management Portal o llama a ella.

Cuando se completa la solicitud (si lo `Status` está`SUCCEEDED`), `ProductId` se genera una nueva.

**Validaciones sincrónicas**

Las siguientes validaciones de esquema son específicas de las acciones de. `UpdateTargeting` AWS Marketplace Catalog API Estas validaciones se realizan cuando llamas. `StartChangeSet` Si la solicitud no cumple los siguientes requisitos, fallará y generará una respuesta HTTP.


| Tipo de segmentación | Estados de visibilidad actuales válidos | BuyerAccounts (entrada) | Check | 
| --- | --- | --- | --- | 
| Positivo | PúblicoLimited, o Draft | Matriz de cadenas de Cuenta de AWS identificación de 12 dígitos.<br />Tamaño mínimo: 0. <br />Tamaño máximo: 5000. | La entrada debe ser diferente de la de las cuentas de destino del documento actual.La entrada debe ser válida Cuentas de AWS. | 

**Errores asíncronos**

Los siguientes errores son específicos de las `DescribeChangeSet` acciones de. AWS Marketplace Catalog API Estos errores se devuelven cuando se llama `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 | 
| --- | --- | 
| INVÁLID\_PRODUCT\_VISIBILITY | Usa un producto o público existente. Limited Draft | 
| NO VÁLIDO\_ S AWS\_ACCOUNT\_ID | Proporcione identificaciones válidas Cuenta de AWS . Cuentas de AWS no se encontró: [x, y, z]. | 
| ValidationException | Los productos de servicios profesionales no tienen listas de permitidos. A diferencia de otros tipos de productos, los productos de servicios profesionales en estado limitado se pueden extender a cualquier comprador sin necesidad de una lista de permitidos. | 

## Actualice la visibilidad del producto
<a name="update-visibility"></a>

Puede usar la API de catálogo para actualizar la visibilidad (también conocida como estado del ciclo de vida) de un producto AMI, contenedor, ML o SaaS. AWS Marketplace

**nota**  
Para obtener más información sobre la actualización de la visibilidad del producto mediante la AWS Marketplace Management Portal, consulta los siguientes temas de la *Guía del AWS Marketplace vendedor*:  
AMI-based producto: [actualiza la visibilidad del producto](https://docs.aws.amazon.com/marketplace/latest/userguide/ami-single-ami-products.html#ami-update-self-service-visibility)
Container-based producto: [Actualización de la visibilidad del producto](https://docs.aws.amazon.com/marketplace/latest/userguide/container-product-getting-started.html#container-product-visibility)
SaaS-based producto: [actualice la visibilidad del producto](https://docs.aws.amazon.com/marketplace/latest/userguide/saas-product-settings.html#saas-update-visibility)
Producto de aprendizaje automático: [actualización de la visibilidad del producto](https://docs.aws.amazon.com/marketplace/latest/userguide/ml-update-visibility.html)

Los estados del ciclo de vida objetivo permitidos son `Limited``Public`, o`Restricted`.

`Limited`   
El producto está completo y ha completado satisfactoriamente el `ReleaseProduct``ChangeType`. Los vendedores pueden ver los detalles del producto en este estado. El producto no es público. Sin embargo, los vendedores pueden dirigirse a compradores específicos para obtener una vista previa del producto.

`Public`   
El producto está visible en AWS Marketplace. Los compradores pueden ver el producto y suscribirse a él.

`Restricted`   
El producto ya no está visible para el público y no acepta nuevos suscriptores. Los suscriptores actuales pueden seguir utilizando este producto hasta que caduque su suscripción.

**nota**  
El tipo de `UpdateVisibility` cambio requiere una revisión manual por parte del equipo de AWS Marketplace operaciones de venta, lo que se traduce en un tiempo de ejecución más prolongado. Úselo `UpdateVisibility` por separado en su propio conjunto de cambios.

Para actualizar la visibilidad de tu producto, llama a la operación de `StartChangeSet` API con el tipo de `UpdateVisibility` cambio, como se muestra en el siguiente ejemplo.

**Sintaxis de la solicitud**

Para cuándo `TargetVisibility` es `Public` o`Limited`.

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "UpdateVisibility",
      "Entity":
      {
        "Type": "SaaSProduct@1.0",
        "Identifier": "{{prod-example12345}}"
      },
      "DetailsDocument":
      {
        "TargetVisibility": "Public"
      }
    }
  ]
}
```

Para cuando `TargetVisibility` es`Restricted`.

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "UpdateVisibility",
      "Entity":
      {
        "Type": "SaaSProduct@1.0",
        "Identifier": "{{prod-example12345}}"
      },
      "DetailsDocument":
      {
        "TargetVisibility": "Restricted",
        "ReplacementProductId": "{{prod-example54321}}"
      }
    }
  ]
}
```

Proporcione información sobre los campos para agregar el tipo de `UpdateVisibility` cambio. 
+ `Entity`(objeto) (obligatorio): el tipo de entidad con nombre que se va a crear.
  + `Identifier`(cadena) (obligatorio): el identificador del producto. Para obtener más información, consulte [Identificador](catalog-apis.md#identifier).
  + `Type`(cadena) (obligatorio): `Type` se basa en el método de entrega (tipo de producto) que utilizará tu producto:`AmiProduct@1.0`,`SaaSProduct@1.0`,`ContainerProduct@1.0`,`MachineLearningProduct@1.0`. Para obtener más información, consulte [Identificador](catalog-apis.md#identifier).
+ `DetailsDocument`(objeto) (obligatorio): los detalles necesarios para ejecutar el`ChangeSet`.
  + 
    + `TargetVisibility`— La nueva visibilidad prevista del producto.

      Valores posibles: `Public`, `Limited` y `Restricted`
    + `ReplacementProductId`(cadena) (opcional): identificador de producto de sustitución del producto en cuestión`Restricted`. Se utiliza para informar a los suscriptores actuales sobre la restricción del producto.

      Solo acepta `Restricted` para`TargetVisibility`.

**Validaciones sincrónicas**

Las siguientes validaciones de esquema son específicas de las acciones de. `UpdateVisibility` AWS Marketplace Catalog API Estas validaciones se realizan cuando llamas. `StartChangeSet` Si la solicitud no cumple los siguientes requisitos, fallará y generará una respuesta HTTP.


| Tipo de segmentación  | Estados actuales válidos | ReplacementProductId (entrada)  | Controles de validación | 
| --- | --- | --- | --- | 
| Public | Limited y Restricted | No permitido | Estado actual válido | 
| Limited | Público y Restricted | No permitido | Estado actual válido | 
| Restricted | Público y Limited | Cadena (opcional) | ReplacementProductId debe pertenecer a un producto existente Limited o público. | 

Tras activar este tipo de cambio, puede tardar hasta 37 días en completarse. Esto incluye el tiempo que el AWS Marketplace equipo de operaciones de venta necesita para revisar, auditar y aprobar. Al restringir un producto, dispones de 24 horas para cambiar de opinión y llamar `CancelChangeSet` al equipo de operaciones de venta antes de que el equipo AWS Marketplace de operaciones de venta comience la auditoría. Para obtener más información, consulte [https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_CancelChangeSet.html](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_CancelChangeSet.html).

**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 incluyó la validación de la información para garantizar que cumpla con las AWS Marketplace pautas. El proceso de validación puede tardar desde unos minutos hasta unas horas.

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

Cuando se completa la solicitud (si lo `Status` está`SUCCEEDED`), `ProductId` se genera una nueva.

**Errores asíncronos**

Los siguientes errores son específicos de las `UpdateVisibility` acciones de. AWS Marketplace Catalog API Estos errores se devuelven cuando se llama `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 | 
| --- | --- | 
| ESTADO DEL PRODUCTO NO VÁLIDO | Usa un producto o un producto existentePublic. Limited Restricted | 
| VISIBILIDAD DE DESTINO NO VÁLIDA | Proporcione un estado de visibilidad del objetivo válido:,, o. Public Limited Restricted | 
| EMPTY\_TARGET\_VISIBILITY | Proporcione un estado de visibilidad del objetivo válido:,, o. Public Limited Restricted | 
| INVALID\_REPLACEMENT\_PRODUCT\_ID | Usa un producto o uno existente como reemplazo. Public Limited | 
| INVÁLID\_REPLACEMENT\_PRODUCT\_ID | El identificador de producto de reemplazo solo es válido cuando se restringe un producto. | 
| ERROR DE AUDITORÍA | Varía según la revisión manual de la MCO. | 
| FALTA INFORMACIÓN SOBRE EL PERFIL DEL VENDEDOR | Para poder actualizar tu producto a público, debes añadir un perfil público a tu cuenta de vendedor. | 

## Publicar un producto
<a name="release-product"></a>

Puede usar la API de catálogo para publicar un producto de `Draft` AMI, contenedor, ML o SaaS en `Limited` State in. AWS Marketplace

**nota**  
Para `AmiProduct@1.0` y`SaaSProduct@1.0`, el tipo de `ReleaseProduct` cambio debe ir acompañado del tipo de `ReleaseOffer` cambio en el borrador de la `Offer@1.0` entidad pública correspondiente creada para este producto.

Para publicar un producto, llame a la operación de `StartChangeSet` API con el tipo de `ReleaseProduct` cambio, como se muestra en el siguiente ejemplo.

**Sintaxis de la solicitud**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "ReleaseProduct",
      "Entity":
      {
        "Type": "SaaSProduct@1.0",
        "Identifier": "{{prod-example12345}}"
      },
      "DetailsDocument": {}
    }
  ]
}
```

Proporcione información sobre los campos que desee añadir al tipo de `ReleaseProduct` cambio. Este tipo de cambio no utiliza ninguna carga útil de parámetros.
+ `Entity`(objeto) (obligatorio): el tipo de entidad nombrado que se va a crear.
  + `Identifier`(cadena) (obligatorio): el identificador del producto. Para obtener más información, consulte [Identificador](catalog-apis.md#identifier).
  + `Type`(cadena) (obligatorio): `Type` se basa en el método de entrega (tipo de producto) que utilizará tu producto:`AmiProduct@1.0`,`SaaSProduct@1.0`,`ContainerProduct@1.0`,`MachineLearningProduct@1.0`. Para obtener más información, consulte [Identificador](catalog-apis.md#identifier).
+ `DetailsDocument`(objeto) (obligatorio): debe ser un objeto vacío. El tipo de cambio `ReleaseProduct` no acepta ningún detalle.

**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 incluyó la validación de la información para garantizar que cumpla con las AWS Marketplace pautas. El proceso de validación puede tardar desde unos minutos hasta unas horas.

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

Cuando se completa la solicitud (si lo `Status` está`SUCCEEDED`), `ProductId` se genera una nueva.

**Errores asíncronos**

Los siguientes errores son específicos de las `ReleaseProduct` acciones de. AWS Marketplace Catalog API Estos errores se devuelven cuando se llama `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 | 
| --- | --- | 
| FALLÓ LA VALIDACIÓN | Proporcione información descriptiva. | 
| FALLÓ LA VALIDACIÓN | Proporcione información sobre las versiones. | 
| FALLÓ LA VALIDACIÓN | Proporcione información sobre las dimensiones. | 
| FALLÓ LA VALIDACIÓN | Proporcione una descripción\| \| información. PromotionalResources SupportInformation | 

## Encuentra el identificador de tu producto
<a name="seller-product-id"></a>

Debes obtener el identificador de producto de tu producto antes de poder modificarlo con la API del AWS Marketplace catálogo. Hay dos formas de encontrar el identificador de producto de los productos de servidor:
+ Abre AWS Marketplace Management Portal e inicia sesión con tu cuenta de vendedor. En el menú **Productos**, selecciona **Productos para servidores** y, a continuación, elige el producto que te interese. El identificador del producto aparece en la sección **Resumen del producto**.
+ Usa la [https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_ListEntities.html](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_ListEntities.html)acción junto con `EntityType` **AmiProduct** o**ContainerProduct**, **SaaSProduct****MachineLearningProduct**, o **DataProduct** para obtener una lista de productos, incluidos sus identificadores de producto, a través de la API de catálogo. `ListEntities`requiere que no incluyas la versión del tipo de entidad (por ejemplo,`AmiProduct@1.0`).

**nota**  
El identificador del producto solo está disponible después de que el producto se haya publicado y, al menos, tú lo puedas ver en él AWS Marketplace. La primera vez que crees tu producto, es posible que tardes varios días en revisarlo y crearlo por completo. Durante este tiempo, no tendrá un identificador de producto disponible. 

En los siguientes temas se explica cómo encontrar un producto filtrando por identificador de entidad, título del producto, fecha de la última modificación o visibilidad.

**Topics**
+ [Busca un producto en función del título del producto](#find-product-using-title)
+ [Busca un producto según la fecha de la última modificación](#find-product-using-last-mod-date)
+ [Busca un producto en función de la visibilidad del producto](#find-product-using-visibility)
+ [Busca un producto en función del título del producto, la fecha de la última modificación y la visibilidad del producto](#find-product-using-all)
+ [Obtén detalles adicionales sobre un producto](#get-additional-details)

### Busca un producto en función del título del producto
<a name="find-product-using-title"></a>

**Solicitud**

```
POST /ListEntities HTTP/1.1
Content-Type: application/json
      
{
    "Catalog": "AWSMarketplace",
    "EntityType": "AmiProduct",
    "MaxResults": 10,
    "EntityTypeFilters": {
        "AmiProductFilters": {
            "ProductTitle": {
                "WildCardValue": "{{XYZ}}"
            }
        }
    }
}
```

**Respuesta**

```
HTTP/1.1 200
Content-type: application/json

{ 
  "EntitySummaryList": [ 
    { 
      "EntityArn": "arn:aws:aws-marketplace:{{us-east-1}}:{{123456789012}}:AWSMarketplace/AmiProduct/example-abcd-1234",
      "EntityId": "example1-abcd-1234-5ef6-7890abcdef12@1",
      "EntityType": "AmiProduct",
      "LastModifiedDate": "2018-02-27T13:45:22Z",
       "AmiProductSummary": {
            "ProductTitle": "{{ABC-XYZ-123}}",
            "Visibility": "Public"
       }
    } 
  ],
  "NextToken": "" 
}
```

### Busca un producto según la fecha de la última modificación
<a name="find-product-using-last-mod-date"></a>

**Solicitud**

```
POST /ListEntities HTTP/1.1
Content-Type: application/json
      
{
    "Catalog": "AWSMarketplace",
    "EntityType": "AmiProduct",
    "MaxResults": 10,
    "EntityTypeFilters": {
        "AmiProductFilters": {
            "LastModifiedDate": {
                "DateRange": {
                    "BeforeValue": "{{2018-03-27T13:45:22Z}}",
                    "AfterValue": "{{2018-01-27T13:45:22Z}}"
                }
            }
        }
    }
}
```

**Respuesta**

```
HTTP/1.1 200
Content-type: application/json

{ 
  "EntitySummaryList": [ 
    { 
      "EntityArn": "arn:aws:aws-marketplace:{{us-east-1}}:{{123456789012}}:AWSMarketplace/AmiProduct/example-abcd-1234",
      "EntityId": "{{example1-abcd-1234-5ef6-7890abcdef12@1}}",
      "EntityType": "AmiProduct",
      "LastModifiedDate": "{{2018-02-27T13:45:22Z}}",
       "AmiProductSummary": {
            "ProductTitle": "{{ABC-XYZ-123}}",
            "Visibility": "Public"
       }
    } 
  ],
  "NextToken": "" 
}
```

### Busca un producto en función de la visibilidad del producto
<a name="find-product-using-visibility"></a>

**Solicitud**

```
POST /ListEntities HTTP/1.1
Content-Type: application/json
      
{
    "Catalog": "AWSMarketplace",
    "EntityType": "AmiProduct",
    "MaxResults": 10,
    "EntityTypeFilters": {
        "AmiProductFilters": {
            "Visibility": {
                "ValueList": [
                    "Public"
                ]
            }
        }
    }
}
```

**Respuesta**

```
HTTP/1.1 200
Content-type: application/json

{ 
  "EntitySummaryList": [ 
    { 
      "EntityArn": "arn:aws:aws-marketplace:{{us-east-1}}:{{123456789012}}:AWSMarketplace/AmiProduct/example-abcd-1234",
      "EntityId": "{{example1-abcd-1234-5ef6-7890abcdef12@1}}",
      "EntityType": "AmiProduct",
      "LastModifiedDate": "{{2018-02-27T13:45:22Z}}",
       "AmiProductSummary": {
            "ProductTitle": "{{ABC-XYZ-123}}",
            "Visibility": "Public"
       }
    } 
  ],
  "NextToken": "" 
}
```

### Busca un producto en función del título del producto, la fecha de la última modificación y la visibilidad del producto
<a name="find-product-using-all"></a>

**Solicitud**

```
POST /ListEntities HTTP/1.1
Content-Type: application/json
      
{
    "Catalog": "AWSMarketplace",
    "EntityType": "AmiProduct",
    "MaxResults": 10,
    "EntityTypeFilters": {
        "AmiProductFilters": {
            "LastModifiedDate": {
                "DateRange": {
                    "BeforeValue": "{{2018-03-27T13:45:22Z}}",
                    "AfterValue": "{{2018-01-27T13:45:22Z}}"
                }
            },
            "Visibility": {
                "ValueList": [
                    "Public"
                ]
            },
            "ProductTitle": {
                "ValueList": [
                    "{{ABC-XYZ-123}}"
                ]
            }
        }
    }
}
```

**Respuesta**

```
HTTP/1.1 200
Content-type: application/json

{ 
  "EntitySummaryList": [ 
    { 
      "EntityArn": "arn:aws:aws-marketplace:{{us-east-1}}:{{123456789012}}:AWSMarketplace/AmiProduct/example-abcd-1234",
      "EntityId": "example1-abcd-1234-5ef6-7890abcdef12@1",
      "EntityType": "AmiProduct",
      "LastModifiedDate": "{{2018-02-27T13:45:22Z}}",
       "AmiProductSummary": {
            "ProductTitle": "{{ABC-XYZ-123}}",
            "Visibility": "Public"
       }
    } 
  ],
  "NextToken": "" 
}
```

### Obtén detalles adicionales sobre un producto
<a name="get-additional-details"></a>

Para obtener detalles adicionales sobre el producto, utiliza el identificador de entidad incluido en la `DescribeEntity` acción.

**Solicitud**

```
GET /DescribeEntity?catalog=AWSMarketplace&entityId={{example-abcd-1234}} HTTP/1.1
```

**Respuesta**

```
HTTP/1.1 200
Content-type: application/json

{
   "DetailsDocument": {
        "ProductTitle": "{{ABC-XYZ-123}}",
        "ShortDescription": "{{My product short description.}}", 
        "LongDescription": "{{My product longer description.}}", 
        "Sku": "123example456", 
        "SupportDescription": "{{Need help? Contact our experts at support@example.com \n\nYour purchase includes 24x7 support.}}", 
        "Categories": [ 
            "Operating Systems", 
            "Network Infrastructure", 
            "Application Development" 
            ] 
   }
    "EntityArn": "arn:aws:aws-marketplace:{{us-east-1}}:{{123456789012}}:AWSMarketplace/AmiProduct/{{example-abcd-1234}}",
    "EntityId": "{{example1-abcd-1234-5ef6-7890abcdef12@1}}",
    "EntityType": "AmiProduct",
    "LastModifiedDate": "{{2018-02-27T13:45:22Z}}",
}
```

## Cambia el estado y los errores del conjunto
<a name="seller-product-change-set-errors"></a>

Para realizar cambios en los productos de los vendedores en la API de AWS Marketplace catálogo, es necesario crear conjuntos de cambios que describan los cambios que deseas realizar y, a continuación, utilizar la `StartChangeSet` acción para iniciar los cambios. Los cambios de la solicitud pueden tardar minutos, horas o más en completarse, en función de la solicitud. La respuesta a esta solicitud es similar a la siguiente.

```
{
    "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, lo que incluye el escaneo de los archivos y la información para garantizar que cumple con las AWS Marketplace pautas de los productos. En función de las solicitudes de cambio, este proceso puede tardar de unos minutos a días. Puedes comprobar el estado de la solicitud a través de la AWS Marketplace Management Portal API del catálogo o en la API del catálogo con la `DescribeChangeSet` acción. Para obtener más información sobre los conjuntos de cambios, consulte [Trabajar con conjuntos de cambios](catalog-apis.md#working-with-change-sets).

Para comprobar el estado de la solicitud, usa la `DescribeChangeSet` acción.

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

{
   "Catalog": "AWSMarketplace",
   "ChangeSetID": "{{{{example123456789012abcdef}}}}"
}
```

El resultado de esta llamada es el siguiente (en este caso, para añadir una nueva versión a un producto contenedor).

```
{
  "ChangeSetId": "{{example123456789012abcdef}}",
  "ChangeSetArn": "arn:aws:aws-marketplace:{{us-east-1}}:{{123456789012}}:AWSMarketplace/ChangeSet/{{example123456789012abcdef}}",
  "ChangeSetName": "Submitted by {{123456789012}}",
  "StartTime": "{{2020-10-27T22:21:26Z}}",
  "EndTime": "{{2020-10-27T22:32:19Z}}",
  "Status": "SUCCEEDED",
  "ChangeSet":
  [
    {
      "ChangeType": "AddDeliveryOptions",
      "Entity":
      {
        "Type": "ContainerProduct@1.0",
        "Identifier": "{{example-1234-abcd-56ef-abcdef12345678@4}}"
      },
      "Details": "{\"Version\": {\"VersionTitle\": \"1.1\",\"ReleaseNotes\": \"Minor bug fix\"},\"DeliveryOptions\": [{\"DeliveryOptionTitle\": \"EKSDelivery\",\"Details\": {\"EcrDeliveryOptionDetails\" : {\"ContainerImages\": [\"{{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame1:1.1\"],\"DeploymentResources\": [{\"Name\": \"HelmDeploymentTemplate\",\"Url\": \"{{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame2:mychart1.1\"}],\"CompatibleServices\": [\"EKS\"],\"Description\": \"Sample Description\",\"UsageInstructions\":\"helm pull {{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame2:mychart1.1\"}}},{\"DeliveryOptionTitle\": \"HelmChartDeliveryOption\",\"Details\": {\"HelmDeliveryOptionDetails\": {\"CompatibleServices\": [\"EKS\", \"EKS-Anywhere\"],\"ContainerImages\": [\"{{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame1:1.1\"],\"HelmChartUri\": \"{{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame1:helmchart1.1\",\"Description\": \"Helm chart description\",\"UsageInstructions\": \"Usage instructions\",\"MarketplaceServiceAccountName\": \"Service account name\",\"ReleaseName\": \"Optional release name\",\"Namespace\": \"Optional Kubernetes namespace\",\"OverrideParameters\": [{\"Key\": \"HelmKeyName1\",\"DefaultValue\": \"${AWSMP_LICENSE_SECRET}\"},{\"Key\": \"HelmKeyName2\",\"DefaultValue\": \"${AWSMP_SERVICE_ACCOUNT}\"}]}}}]}",
      "DetailsDocument":
      {
        "Version":
        {
          "VersionTitle": "1.1",
          "ReleaseNotes": "Minor bug fix"
        },
        "DeliveryOptions":
        [
          {
            "DeliveryOptionTitle": "EKSDelivery",
            "Details":
            {
              "EcrDeliveryOptionDetails":
              {
                "ContainerImages":
                [
                  "{{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame1:1.1"
                ],
                "DeploymentResources":
                [
                  {
                    "Name": "HelmDeploymentTemplate",
                    "Url": "{{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame2:mychart1.1"
                  }
                ],
                "CompatibleServices":
                [
                  "EKS"
                ],
                "Description": "Sample Description",
                "UsageInstructions": "helm pull {{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame2:mychart1.1"
              }
            }
          },
          {
            "DeliveryOptionTitle": "HelmChartDeliveryOption",
            "Details":
            {
              "HelmDeliveryOptionDetails":
              {
                "CompatibleServices":
                [
                  "EKS",
                  "EKS-Anywhere"
                ],
                "ContainerImages":
                [
                  "{{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame1:1.1"
                ],
                "HelmChartUri": "{{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame1:helmchart1.1",
                "Description": "Helm chart description",
                "UsageInstructions": "Usage instructions",
                "MarketplaceServiceAccountName": "Service account name",
                "ReleaseName": "Optional release name",
                "Namespace": "Optional Kubernetes namespace",
                "OverrideParameters":
                [
                  {
                    "Key": "HelmKeyName1",
                    "DefaultValue": "${AWSMP_LICENSE_SECRET}"
                  },
                  {
                    "Key": "HelmKeyName2",
                    "DefaultValue": "${AWSMP_SERVICE_ACCOUNT}"
                  }
                ]
              }
            }
          }
        ]
      },
      "ErrorDetailList":
      []
    }
  ]
}
```

El `Status` campo muestra el estado actual de la solicitud, en este caso,`SUCCEEDED`.

Si hay errores, el resultado puede incluir dos tipos de errores. Para la mayoría de los errores, el mensaje de error se incluye directamente. Sin embargo, los errores detectados al escanear el producto en busca de vulnerabilidades de seguridad incluyen, en cambio, la URL de un archivo que muestra todos los errores encontrados en el `ErrorMessage` campo. Los errores detectados al escanear tienen el `ErrorCode` signo "`SCAN_ERROR`».

```
{
  "ChangeSetId": "{{example123456789012abcdef}}",
  "ChangeSetArn": "arn:aws:aws-marketplace:{{us-east-1}}:{{123456789012}}:AWSMarketplace/ChangeSet/{{example123456789012abcdef}}",
  "ChangeSetName": "Submitted by {{123456789012}}",
  "StartTime": "{{2020-10-27T22:21:26Z}}",
  "EndTime": "{{2020-10-27T22:32:19Z}}",
  "Status": "FAILED",
  "FailureDescription": "Change set preparation has failed. For details see 'ErrorDetailList'.",
  "ChangeSet":
  [
    {
      "ChangeType": "AddDeliveryOptions",
      "Entity":
      {
        "Type": "ContainerProduct@1.0",
        "Identifier": "{{example-1234-abcd-56ef-abcdef12345678@4}}"
      },
      "Details": "{\"Version\": {\"VersionTitle\": \"1.1\",\"ReleaseNotes\": \"Minor bug fix\"},\"DeliveryOptions\": [{\"DeliveryOptionTitle\": \"EKSDelivery\",\"Details\": {\"EcrDeliveryOptionDetails\" : {\"ContainerImages\": [\"{{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame1:1.1\"],\"DeploymentResources\": [{\"Name\": \"HelmDeploymentTemplate\",\"Url\": \"{{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame2:mychart1.1\"}],\"CompatibleServices\": [\"EKS\"],\"Description\": \"Sample Description\",\"UsageInstructions\":\"helm pull {{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame2:mychart1.1\"}}},{\"DeliveryOptionTitle\": \"HelmChartDeliveryOption\",\"Details\": {\"HelmDeliveryOptionDetails\": {\"CompatibleServices\": [\"EKS\", \"EKS-Anywhere\"],\"ContainerImages\": [\"{{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame1:1.1\"],\"HelmChartUri\": \"{{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame1:helmchart1.1\",\"Description\": \"Helm chart description\",\"UsageInstructions\": \"Usage instructions\",\"MarketplaceServiceAccountName\": \"Service account name\",\"ReleaseName\": \"Optional release name\",\"Namespace\": \"Optional Kubernetes namespace\",\"OverrideParameters\": [{\"Key\": \"HelmKeyName1\",\"DefaultValue\": \"${AWSMP_LICENSE_SECRET}\"},{\"Key\": \"HelmKeyName2\",\"DefaultValue\": \"${AWSMP_SERVICE_ACCOUNT}\"}]}}}]}",
      "DetailsDocument":
      {
        "Version":
        {
          "VersionTitle": "1.1",
          "ReleaseNotes": "Minor bug fix"
        },
        "DeliveryOptions":
        [
          {
            "DeliveryOptionTitle": "EKSDelivery",
            "Details":
            {
              "EcrDeliveryOptionDetails":
              {
                "ContainerImages":
                [
                  "{{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame1:1.1"
                ],
                "DeploymentResources":
                [
                  {
                    "Name": "HelmDeploymentTemplate",
                    "Url": "{{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame2:mychart1.1"
                  }
                ],
                "CompatibleServices":
                [
                  "EKS"
                ],
                "Description": "Sample Description",
                "UsageInstructions": "helm pull {{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame2:mychart1.1"
              }
            }
          },
          {
            "DeliveryOptionTitle": "HelmChartDeliveryOption",
            "Details":
            {
              "HelmDeliveryOptionDetails":
              {
                "CompatibleServices":
                [
                  "EKS",
                  "EKS-Anywhere"
                ],
                "ContainerImages":
                [
                  "{{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame1:1.1"
                ],
                "HelmChartUri": "{{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame1:helmchart1.1",
                "Description": "Helm chart description",
                "UsageInstructions": "Usage instructions",
                "MarketplaceServiceAccountName": "Service account name",
                "ReleaseName": "Optional release name",
                "Namespace": "Optional Kubernetes namespace",
                "OverrideParameters":
                [
                  {
                    "Key": "HelmKeyName1",
                    "DefaultValue": "${AWSMP_LICENSE_SECRET}"
                  },
                  {
                    "Key": "HelmKeyName2",
                    "DefaultValue": "${AWSMP_SERVICE_ACCOUNT}"
                  }
                ]
              }
            }
          }
        ]
      },
      "ErrorDetailList":
      [
        {
          "ErrorCode": "DUPLICATE_VERSION_TITLE",
          "ErrorMessage": "The version title must be different from any other version titles of this product."
        },
        {
          "ErrorCode": "SCAN_ERROR",
          "ErrorMessage": "https://123sample456.cloudfront.net/example-1234-abcd-5678-abcdef12345678/1234abcdef567890"
        }
      ]
    }
  ]
}
```

En este ejemplo, se informa directamente de un error (`DUPLICATE_VERSION_TITLE`). El otro error tiene un archivo con mensajes de error (uno `SCAN_ERROR` puede tener varios errores encontrados en el archivo vinculado). 

**nota**  
El enlace devuelto `ErrorMessage` es válido durante 60 días.