

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.

# Trabaje con ofertas privadas utilizando el AWS Marketplace API
<a name="work-with-private-offers"></a>

Puedes utilizarlas AWS Marketplace Catalog API para automatizar las tareas de trabajo con las ofertas. 

Si bien el *producto* describe en qué se vende AWS Marketplace, la *oferta* describe los términos y reglas que rigen la compra y el consumo de un producto. AWS Marketplace los productos pueden tener varias ofertas vendidas por distintos vendedores. Sin embargo, cada AWS Marketplace oferta solo se puede crear para un producto. Una *oferta* contiene un conjunto de condiciones acordadas entre dos partes. Los términos de la oferta aceptados se traducen en un acuerdo como prueba de la transacción.

Existen dos tipos de ofertas:
+ Las **ofertas privadas** son para que vendedores y compradores negocien precios. Los vendedores firman un acuerdo de licencia de usuario final (EULA) para la compra de software en. AWS Marketplace Una oferta solo es visible para un comprador específico. Para obtener más información, consulta las [ofertas privadas](https://docs.aws.amazon.com/marketplace/latest/userguide/private-offers-overview.html) en la *Guía del AWS Marketplace vendedor*.
+ Las **ofertas públicas** son para programas de compras globales. Los vendedores identifican a los clientes según los programas disponibles y las ubicaciones geográficas, lo que hace que la oferta solo sea accesible para clientes específicos.

Consulte los siguientes recursos:
+ Para ver ejemplos de códigos funcionales, consulta [Cómo gestionar ofertas con la API](https://catalog.workshops.aws/mpseller/en-US/manage-offers-with-api) en el *taller para AWS Marketplace vendedores*. 
+ Para ver ejemplos de código de solicitud de API, consulta ejemplos de [Python](https://github.com/aws-samples/aws-marketplace-reference-code/tree/main/python/src/catalog_api/offers) y [Java](https://github.com/aws-samples/aws-marketplace-reference-code/tree/main/java/resources/changeSets/offers) en *AWS Samples* on GitHub.
+ Para ver un vídeo sobre cómo crear ofertas privadas, consulte [Crear una oferta privada con la API de AWS Marketplace catálogo](https://www.youtube.com/watch?v=Gg9JR0tB330) en YouTube.
+ Para ver un vídeo sobre la actualización de los precios de la AMI, consulte [Actualizar los precios de los productos de la AMI mediante la API de AWS Marketplace catálogo](https://www.youtube.com/watch?v=AVIRlzHKEJw) en YouTube.

En los siguientes temas se describe cómo utilizar la API del catálogo para crear y actualizar ofertas:

**Topics**
+ [Crea una oferta](#create-offer)
+ [Crea una oferta de reemplazo](#create-replacement-offer)
+ [Actualiza la información de la oferta](#update-offer-information)
+ [Actualiza la configuración de segmentación](#update-targeting-offers)
+ [Actualice la política de devoluciones](#update-support-terms)
+ [Actualiza los recursos legales](#update-legal-terms)
+ [Actualizar los precios](#update-pricing-terms)
+ [Actualice la visibilidad de la oferta](#update-availability)
+ [Defina la fecha de caducidad de los acuerdos creados con la oferta](#update-validity-terms)
+ [Actualizar los detalles del calendario de pagos](#update-payment-schedule-terms)
+ [Modifique las opciones de renovación](#update-renewal-terms)
+ [Publica una oferta](#release-offer)
+ [Describa los detalles de la oferta existente](#describe-entity)

## Crea una oferta
<a name="create-offer"></a>

Puedes usar la API de catálogo para crear una nueva oferta en AWS Marketplace. Si tu solicitud se procesa correctamente`Draft`, se AWS Marketplace Catalog API crea una oferta incompleta que los compradores no ven. Para completar una oferta, usa el tipo de `Update` cambio. Cuando la oferta esté completa, usa el tipo de [`ReleaseOffer`](#release-offer)cambio para crearla y publicarla. Publicar una oferta la valida y la hace visible para los compradores. AWS Marketplace

Para crear una oferta nueva, llama a la operación de `StartChangeSet` API con el tipo de `CreateOffer` 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": "CreateOffer",
      "Entity": {
        "Type": "Offer@1.0"
      },
      "DetailsDocument": {
        "ProductId": "prod-ad8EXAMPLE51",
        "Name": "Test Offer",
        "OfferSetId": "offerset-b3f9EXAMPLE27"
      }
    }
  ]
}
```

Proporcione información sobre los campos para añadir el tipo de `CreateOffer` cambio:
+ **Entidad** (objeto) (obligatorio): su oferta.
  + **Tipo** (cadena) (obligatorio): siempre `Type` está`Offer@1.0`. 
+ **DetailsDocument**(objeto) (obligatorio): el valor JSON de las características específicas de la solicitud.
  + **ProductId**(cadena) (obligatorio): el identificador único del producto que se ofrece.
  + **Nombre** (cadena) (opcional): el nombre asociado a la oferta para que usted y sus clientes puedan leerlo mejor. También se muestra como parte de la información del acuerdo.
  + **OfferSetId**(cadena) (opcional): el identificador del conjunto de ofertas al que se va a asociar esta oferta. Especifique este campo únicamente al crear una oferta que formará parte de un conjunto de ofertas. Si no OfferSetId se proporciona, se creará una oferta individual que se podrá comprar de forma independiente. Ten en cuenta que especificar una OfferSetId durante la creación de la oferta solo indica tu intención de asociarla a ese conjunto de ofertas. Para completar la asociación, debes [usar el tipo de AssociateOffers cambio](work-with-offer-sets.md#associate-offers) después de crear la oferta.

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

Si `Status` es así`SUCCEEDED`, `OfferId` se genera una nueva.

La respuesta tiene este aspecto:

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

**Validaciones sincrónicas**

Las siguientes validaciones de esquema son específicas de las acciones de. `CreateOffer` 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 | 
| --- | --- | --- | 
| ProductId | Obligatorio<br />La longitud debe estar entre 1 y 50 caracteres <br />No debe contener caracteres no válidos (\\, <, >) | 422 | 
| ProductId | ObligatorioEl usuario debe estar autorizado para crear una oferta para el producto en cuestión | 403 | 
| ProductId | ObligatorioDebe ser un producto existente en el catálogo o estar creado en el mismo conjunto de cambios | 404 | 
| Name | Opcional<br />La longitud debe estar entre 1 y 150 caracteres <br />No debe contener caracteres no válidos (\\, <, >) | 422 | 

**Errores asíncronos**

Los siguientes errores son específicos de las `CreateOffer` 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 | 
| --- | --- | 
| PRODUCTO\_INCOMPATIBLE | Usa un producto activo en nuestro estado. Limited Public | 
| PRODUCTO\_INCOMPATIBLE | La gestión de ofertas para el tipo de producto que has elegido no es compatible actualmente con. AWS Marketplace Catalog API | 
| PRODUCTO\_INCOMPATIBLE | Actualmente, no se admite la gestión de las ofertas del producto en. AWS Marketplace Catalog API | 
| PRODUCTO\_INCOMPATIBLE | OfferSetId no está incluido en las ofertas del producto. | 
| PRODUCTO\_INCOMPATIBLE\_DE\_PRODUCTO | CreateOffer no se puede invocar el tipo de cambio para crear una oferta para el producto. Usa el tipo de CreateOfferUsingResaleAuthorization cambio. | 

## Crea una oferta de reemplazo
<a name="create-replacement-offer"></a>

Puedes usar la API del catálogo para crear una oferta de reemplazo (también conocida como oferta basada en acuerdos) en. AWS Marketplace

Si tu solicitud se ha procesado correctamente, se AWS Marketplace Catalog API generará una oferta en `Draft` estado para ti, que es una oferta incompleta que los compradores no podrán ver en ella. AWS Marketplace Utilizarás los tipos de `Update` cambio para completar la oferta. Una vez finalizada la oferta, utilizarás el tipo de [`ReleaseOffer`](#release-offer)cambio para completar el proceso de creación de la oferta y publicarla. De este modo, se validará toda la oferta y los compradores podrán verla AWS Marketplace. A partir de ahí, el comprador tiene la opción de aceptar la oferta de reemplazo o de seguir operando según el acuerdo original.

Para crear una oferta de reemplazo, llama a la operación de la `StartChangeSet` API con el tipo de `CreateReplacementOffer` cambio y proporciona un identificador de acuerdo preexistente, como se muestra en el siguiente ejemplo. 

**Sintaxis de la solicitud**

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

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

Proporcione información sobre los campos para añadir el tipo de `CreateReplacementOffer` cambio:
+ **Entidad** (objeto) (obligatorio): su oferta. 
  + **Tipo** (cadena) (obligatorio): siempre `Type` está`Offer@1.0`. 
+ **DetailsDocument**(objeto) (obligatorio): el valor JSON de las características específicas de la solicitud.
  + **AgreementId**(cadena) (obligatorio): el identificador único del acuerdo actual que se va a reemplazar.
  + **Nombre** (cadena) (opcional): el nombre asociado a la oferta para que usted y sus clientes puedan leerlo mejor. También se mostrará como parte de la información del acuerdo.

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

**Validaciones sincrónicas**

Las siguientes validaciones de esquema son específicas de las acciones de. `CreateReplacementOffer` 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 | 
| --- | --- | --- | 
| AgreementId | ObligatorioLa longitud debe estar entre 1 y 64 caracteres | 422 | 
| AgreementId | ObligatorioEl usuario debe estar autorizado a crear una oferta para el acuerdo en cuestión | 403 | 
| Name | OpcionalLa longitud debe estar entre 1 y 150 caracteres<br />No debe contener caracteres no válidos (\\, <, >) | 422 | 

**Errores asíncronos**

Los siguientes errores son específicos de las `CreateReplacementOffer` 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 | 
| --- | --- | 
| PRODUCTO\_INCOMPATIBLE | No se admiten ofertas de reemplazo para este producto. | 
| ACUERDO\_INCOMPATIBLE | CreateReplacementOffer no se puede invocar el tipo de cambio para crear una oferta que sustituya al acuerdo. Usa el tipo de CreateReplacementOfferUsingResaleAuthorization cambio. | 

## Actualiza la información de la oferta
<a name="update-offer-information"></a>

Puedes usar la API del catálogo para actualizar la información de la oferta en AWS Marketplace. 

Para actualizar la información de la oferta, llama a la operación de la `StartChangeSet` API con el tipo de `UpdateInformation` cambio, como se muestra en el siguiente ejemplo. El resto de la información permanecerá sin cambios.

**Sintaxis de la solicitud**

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

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

Proporcione información sobre los campos para añadir el tipo de `UpdateInformation` cambio:
+ **Entidad** (objeto) (obligatorio): su oferta. 
  + **Tipo** (cadena) (obligatorio): siempre `Type` está`Offer@1.0`. 
  + **Identificador** (cadena) (obligatorio): el identificador de tu oferta. Para obtener más información, consulte [Identificador](catalog-apis.md#identifier).
+ **DetailsDocument**(objeto) (obligatorio): el valor JSON de los detalles de la solicitud.
  + **Nombre** (cadena) (opcional): nombre asociado a la oferta para una mejor legibilidad. Se muestra como parte de la información del acuerdo.
  + **Descripción** (cadena) (opcional): texto de formato libre que está pensado para que lo utilices solo tú y que los compradores nunca podrán ver.
  + **PreExistingAgreement**(objeto) (opcional): determina si esta oferta es una renovación de un acuerdo existente con un cliente existente para el mismo producto subyacente. El acuerdo existente puede ser interno o externo AWS Marketplace. AWS puede auditar y verificar que su oferta es una renovación. Si AWS no puede verificar su oferta, AWS podrá revocar la oferta y los derechos de su cliente.
    + **AcquisitionChannel**(string) (obligatorio): indica si el acuerdo existente se firmó de forma externa AWS Marketplace o interna. AWS Marketplace

      Valores posibles: `External`, `AwsMarketplace`
    + **PricingModel**(cadena) (obligatorio): indica qué modelo de precios utiliza el acuerdo existente.

      Valores posibles: `Contract`, `Usage`, `Byol`, `Free`

**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 AWS Marketplace directrices. El proceso de validación puede tardar unos minutos. 

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. `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 | 
| --- | --- | --- | 
| Propiedades | Debe proporcionarse al menos una de las siguientes propiedades | 422 | 
| Name | Opcional<br />La longitud debe estar entre 1 y 150 caracteres <br />No debe contener caracteres no válidos (\\, <, >) | 422 | 
| Description (Descripción) | Opcional<br />La longitud debe estar entre 1 y 255 caracteres | 422 | 
| PreExistingAgreement | OpcionalPuede ser nulo para eliminarlo `PreExistingAgreement` de la oferta | 422 | 
| PreExistingAgreement.PricingModel | Obligatorio<br />Puede ser uno de estos valores: [`Byol`,`Free`,`Usage`,`Contract`] | 422 | 
| PreExistingAgreement.AcquisitionChannel | Obligatorio<br />Puede ser uno de los siguientes valores: [`AwsMarketplace`,`External`] | 422 | 

**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 | 
| --- | --- | 
| INCOMPATIBLE\_PRE\_EXISTING\_AGREEMENT | PreExistingAgreement no se puede cambiar una vez publicada la oferta. | 

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

Puedes usar la API del catálogo para actualizar la configuración de segmentación de tu oferta en AWS Marketplace. 

Todas las opciones de segmentación existentes que no se incluyeron en la última solicitud y que se eliminarán de la oferta.

**nota**  
De forma opcional`NegativeTargeting`, una oferta puede incluir `PositiveTargeting` o no ambas.  
**Opciones de segmentación positiva:**  
**Solo códigos de país**: crea una oferta pública disponible para los compradores de los países especificados.
**Solo cuentas de compradores**: crea una oferta privada dirigida a cuentas de AWS específicas.
**Códigos de país y cuentas de comprador**: crea una oferta privada en la que las cuentas segmentadas solo pueden aceptar la oferta si están ubicadas en uno de los países especificados.
**Opciones de segmentación negativa:**  
**Códigos de país**: excluyen a los compradores de los países especificados. Esto crea una oferta pública disponible para todos los países excepto para los que aparecen en la lista.

Para actualizar la configuración de segmentación de tu oferta, llama a la operación de la `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": "Offer@1.0",
        "Identifier": "offer-123456789"
      },
      "DetailsDocument": {
        "PositiveTargeting": {
          "CountryCodes": [
            "US",
            "CA"
          ],
          "BuyerAccounts": [
            "111122223333"
          ]
        },
        "NegativeTargeting": {
          "CountryCodes": [
            "XX"
          ]
        }
      }
    }
  ]
}
```

Proporciona información sobre los campos para añadir el tipo de `UpdateTargeting` cambio:
+ **Entidad** (objeto) (obligatorio): su oferta.
  + **Tipo** (cadena) (obligatorio): siempre `Type` está`Offer@1.0`. 
  + **Identificador** (cadena) (obligatorio): el identificador de tu oferta. Para obtener más información, consulte [Identificador](catalog-apis.md#identifier).
+ **DetailsDocument**(objeto) (obligatorio): el valor JSON de los detalles de la solicitud.
  + **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.
    + **CountryCodes**(conjunto de cadenas) (opcional): se muestra como opción para permitir la segmentación en función del país. Si la intención no es dirigir la oferta a un país, se debe omitir este campo. Si está presente, la lista debe contener al menos un código de país. Cada elemento de esta lista debe ser un código de país válido de 2 letras y utilizar este formato: ISO 3166-1 alpha-2.
    + **BuyerAccounts**(conjunto de cadenas) (opcional): aparece como una opción para permitir la segmentación en función de Cuentas de AWS (también conocida como oferta privada). Si la intención es no segmentar la oferta a una persona Cuenta de AWS, se debe omitir este campo.
  + **NegativeTargeting**(objeto) (opcional): la segmentación negativa define los criterios que debe cumplir el perfil de cualquier cliente para que se le restrinja el acceso a la oferta. Aunque este campo es opcional, se debe proporcionar al menos una opción de segmentación cuando este campo esté presente.
    + **CountryCodes**(conjunto de cadenas) (obligatorio): aparece como opción para permitir la segmentación en función del país. Si la intención no es dirigir la oferta a un país específico, se debe omitir este campo. Si está presente, la lista debe contener al menos un código de país. Cada elemento de esta lista debe ser un código de país válido de 2 letras que utilice este formato: ISO 3166-1 alpha-2.

**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 AWS Marketplace directrices. El proceso de validación puede tardar unos minutos. 

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


| Campo de entrada | Regla de validación | Código de HTTP | 
| --- | --- | --- | 
| NegativeTargeting | Opcional<br />Puede tener una de las siguientes opciones: [`CountryCodes`] | 422 | 
| NegativeTargeting.CountryCodes | Opcional<br />El tamaño de la lista debe estar comprendido entre 1 y 244<br />Los códigos de país deben ser válidos (ISO 3166-1 alpha-2) | 422 | 
|  PositiveTargeting | Opcional<br />Puede tener uno de los siguientes elementos: [,] `CountryCodes` `BuyerAccounts` | 422 | 
| PositiveTargeting.BuyerAccounts | Opcional<br />El tamaño de la lista debe estar comprendido entre 1 y 26<br />Cuenta de AWS Los ID deben tener un formato válido (número de 12 dígitos) | 422 | 
| PositiveTargeting.CountryCodes | Opcional<br />El tamaño de la lista debe estar comprendido entre 1 y 244<br />Los códigos de país deben ser válidos (ISO 3166-1 alpha-2) | 422 | 

**Errores asíncronos**

Los siguientes errores son específicos de las `UpdateTargeting` 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 | 
| --- | --- | 
| CUENTAS\_DE\_COMPRADOR NO VÁLIDAS | Proporcione cuentas de comprador válidas. Cuentas no válidas: [x]. | 
| CÓDIGO\_DE\_PAÍS NO VÁLIDO | Proporcione los códigos de país compatibles. | 
| SEGMENTACIÓN NO VÁLIDA | Usa segmentación negativa o positiva en el mismo atributo. | 
| PRODUCTO\_INCOMPATIBLE | Country-based la segmentación no es compatible con el producto. | 
| INCOMPATIBLE\_RESALE\_AUTHORIZATION | Siempre que sean compatibles con. BuyerAccounts ResaleAuthorization | 
| SEGMENTACIÓN INCOMPATIBLE | El cambio solicitado no se podrá realizar una vez publicada la oferta. | 
| SEGMENTACIÓN INCOMPATIBLE | El cambio solicitado no se podrá realizar una vez que la oferta haya caducado. | 
| SEGMENTACIÓN INCOMPATIBLE | La segmentación no se puede actualizar en una oferta de reemplazo. Si el comprador no está asociado a la oferta proporcionada AgreementId, crea una nueva oferta privada proporcionando una AgreementId asociada al comprador. | 
| DEMASIADAS CUENTAS DE COMPRADOR | Proporcione dentro de los límites permitidos. BuyerAccounts  | 
| SEGMENTACIÓN INCOMPATIBLE | BuyerAccounts no se puede eliminar una vez publicada la oferta. | 
| SEGMENTACIÓN INCOMPATIBLE | BuyerAccounts no se puede añadir después de que se publique la oferta. | 
| ¿FALTAN CÓDIGOS DE PAÍS | Proporcione: [x PositiveTargeting ] CountryCodes. | 
| CÓDIGOS\_PAÍSES INCOMPATIBLES | Indique que sean compatibles. CountryCodes  | 
| CUENTAS DE COMPRADOR INCOMPATIBLES | Siempre BuyerAccounts que sean compatibles con el acuerdo. | 

## Actualice la política de devoluciones
<a name="update-support-terms"></a>

Puedes usar la API del catálogo para actualizar la política de reembolsos de tu oferta en AWS Marketplace. 

Este cambio no afecta a los acuerdos existentes. Los términos de soporte que no estén incluidos en la última solicitud se eliminarán de la oferta.

Para actualizar la política de reembolsos, llama a la operación de la `StartChangeSet` API con el tipo de `UpdateSupportTerms` 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": "UpdateSupportTerms",
      "Entity": {
        "Type": "Offer@1.0",
        "Identifier": "offer-123456789"
      },
      "DetailsDocument": {
        "Terms": [
          {
            "Type": "SupportTerm",
            "RefundPolicy": "Updated refund policy description"
          }
        ]
      }
    }
  ]
}
```

Proporciona información sobre los campos para añadir el tipo de `UpdateSupportTerms` cambio:
+ **Entidad** (objeto) (obligatorio): su oferta. 
  + **Tipo** (cadena) (obligatorio): siempre `Type` está`Offer@1.0`. 
  + **Identificador** (cadena) (obligatorio): el identificador de tu oferta. Para obtener más información, consulte [Identificador](catalog-apis.md#identifier).
+ **DetailsDocument**(objeto) (obligatorio): el valor JSON de los detalles de la solicitud.
  + **Términos** (conjunto de estructuras) (obligatorio): lista de términos de soporte que desea actualizar. Los términos de soporte aceptados son:
    + **SupportTerm**(objeto) (obligatorio): define la atención al cliente disponible para los aceptadores cuando adquieren el software.
      + **Tipo** (cadena) (obligatorio): tipo del término que se va a actualizar. Este es el valor del objeto:`"SupportTerm"`.
      + **RefundPolicy**(cadena) (obligatorio): Free-text campo sobre la descripción de la política de reembolsos que se mostrará a los clientes tal como aparece en el sitio web y en la consola.

**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 AWS Marketplace directrices. El proceso de validación puede tardar unos minutos. 

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. `UpdateSupportTerms` 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 | 
| --- | --- | --- | 
| Términos | Obligatorio | 422 | 
| Condiciones []. RefundPolicy | Obligatorio<br />La longitud debe estar entre 1 y 500<br />No puede comenzar ni terminar con espacios | 422 | 
| Términos [] .Tipo | ObligatorioSolo puede ser `SupportTerm` | 422 | 

**Errores asíncronos**

Los siguientes errores son específicos de las `UpdateSupportTerms` 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 | 
| --- | --- | 
| PRODUCTO\_INCOMPATIBLE | SupportTerm no se admite en las ofertas privadas del producto. | 
| TERMINOS\_INCOMPATIBLES | SupportTerm no es compatible con las ofertas de prueba gratuitas. | 
| TERMINOS\_INCOMPATIBLES | El cambio solicitado no se podrá realizar una vez publicada la oferta. | 
| TERMINOS\_INCOMPATIBLES | El cambio solicitado no se podrá realizar una vez que la oferta haya caducado. | 

## Actualiza los recursos legales
<a name="update-legal-terms"></a>

Puede usar la API del catálogo para reemplazar los documentos legales existentes, como un acuerdo de licencia de usuario final (EULA). Los términos legales que no estén incluidos en la última solicitud se eliminarán de la oferta. 

Para actualizar los recursos legales de tu oferta, llama a la operación de la `StartChangeSet` API con el tipo de `UpdateLegalTerms` 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": "UpdateLegalTerms",
      "Entity": {
        "Type": "Offer@1.0",
        "Identifier": "offer-123456789"
      },
      "DetailsDocument": {
        "Terms": [
          {
            "Type": "LegalTerm",
            "Documents": [
              {
                "Type": "CustomEula",
                "Url": "https://s3.amazonaws.com/EULA/custom-eula-1234.txt"
              }
            ]
          }
        ]
      }
    }
  ]
}
```

Proporciona información sobre los campos para añadir el tipo de `UpdateLegalTerms` cambio:
+ **Entidad** (objeto) (obligatorio): su oferta. 
  + **Tipo** (cadena) (obligatorio): siempre `Type` está`Offer@1.0`. 
  + **Identificador** (cadena) (obligatorio): el identificador de tu oferta. Para obtener más información, consulte [Identificador](catalog-apis.md#identifier).
+ **DetailsDocument**(objeto) (obligatorio): el valor JSON de los detalles de la solicitud.
  + **LegalTerm**(objeto) (obligatorio): define la lista de acuerdos de texto que se propondrán a los aceptadores. Un ejemplo de este tipo de acuerdo es el acuerdo de licencia de usuario final (EULA).
    + **Tipo** (cadena) (obligatorio): tipo del término que se va a actualizar. Este es el valor del objeto:`"LegalTerm"`.
    + **Documentos** (conjunto de estructuras) (obligatorio): lista de referencias a recursos legales que se propondrá a los compradores. Un ejemplo de un recurso de este tipo es el acuerdo de licencia de usuario final (EULA). Cada referencia se compone de un `Type` y un`URL`:
      + **Tipo** (cadena) (obligatorio): tipo de documento. Los tipos de documentos disponibles son:
        + **CustomEula**— Un EULA personalizado proporcionado por ti como vendedor. Para este tipo de documento se requiere una [URL pública de S3 o una URL prefirmada](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html).
        + **StandardEula**— Contrato estándar para AWS Marketplace (SCMP). Para obtener más información sobre SCMP, consulta la Guía del AWS Marketplace vendedor. No proporcionas una URL para este tipo porque está gestionada por AWS Marketplace.
      + **Url** (cadena) (obligatorio condicionalmente): URL del documento legal para que la lean los compradores. Obligatorio cuando `Type` es uno de los siguientes [`CustomEula`].
      + **Versión** (cadena) (requerida condicionalmente): versión de los contratos estándar proporcionada por AWS Marketplace. Se requiere cuando `Type` es [`StandardEula`]. Versión disponible:
        + **14 de julio de 2022** — Esta versión del contrato estándar para AWS Marketplace está disponible en este bucket de Amazon S3: [https://s3.amazonaws.com/aws-mp-standard-contracts/Standard-Contact-for-AWS-Marketplace-2022-07-14.pdf](https://s3.amazonaws.com/aws-mp-standard-contracts/Standard-Contact-for-AWS-Marketplace-2022-07-14.pdf)

**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 AWS Marketplace directrices. El proceso de validación puede tardar unos minutos. 

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. `UpdateLegalTerms` 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 | 
| --- | --- | --- | 
| Términos | Obligatorio<br />Solo `LegalTerm` está permitida en la lista<br />El tamaño de la lista debe ser 1 | 422 | 
| Términos [] .Tipo | ObligatorioSolo puede ser `LegalTerm` | 422 | 
| Términos []. LegalTerm.Documents | Obligatorio | 422 | 
| Condiciones []. LegalTerm.Documents[] .Tipo | Obligatorio<br />Valores permitidos:[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/marketplace/latest/developerguide/work-with-private-offers.html) | 422 | 
| Términos []. LegalTerm.Documents[] .Url | Obligatorio y debe ser una URL válida cuando Type es CustomEula | 422 | 
| Condiciones []. LegalTerm.Documents[] .Versión | Obligatorio y debe ser una versión válida cuando esté TypeStandardEula`StandardEula`Versiones válidas: ["2019-04-24", «2022-07-14"] | 422 | 

**Errores asíncronos**

Los siguientes errores son específicos de las `UpdateLegalTerms` 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 | 
| --- | --- | 
| TERMINOS\_INCOMPATIBLES | El cambio solicitado no se podrá realizar una vez publicada la oferta. | 
| TERMINOS\_INCOMPATIBLES | El cambio solicitado no se podrá realizar una vez que la oferta haya caducado. | 
| DOCUMENTOS\_LEGALES\_INVÁLIDOS | Proporcione las URL de los documentos legales almacenados en depósitos de S3 accesibles. | 
| DOCUMENTOS\_LEGALES\_INVÁLIDOS | Solo se admite la versión más reciente de para las nuevas ofertas StandardEula . | 
| DOCUMENTOS\_LEGALES\_INVÁLIDOS | Proporcione los documentos legales en los formatos de archivo compatibles. | 
| DOCUMENTOS\_LEGALES\_INVÁLIDOS | Proporcione documentos legales utilizando los tipos de documentos compatibles. | 
| LIMIT\_EXCEEDED\_LEGAL\_DOCUMENT\_SIZE | Proporcione los documentos legales dentro de los límites de tamaño permitidos. | 
| DOCUMENTOS\_LEGALES\_INVÁLIDOS | LegalTerm contiene documento (s) protegido (s) con contraseña. Proporcione documentos accesibles en. LegalTerm | 
| DOCUMENTOS\_LEGALES\_INVÁLIDOS | LegalTerm contiene documentos PDF no válidos. Proporcione los documentos accesibles en LegalTerm. | 

## Actualizar los precios
<a name="update-pricing-terms"></a>

Puedes usar la API del catálogo para reemplazar por completo las condiciones de precios existentes. Los términos de precios que no estén incluidos en la última solicitud se eliminarán de la oferta. 

Para actualizar las condiciones de precios de tu oferta, llama a la operación de la `StartChangeSet` API con el tipo de `UpdatePricingTerms` cambio, como se muestra en el siguiente ejemplo.

**nota**  
La siguiente sintaxis de solicitud combina varios ejemplos. Esta combinación no funciona como carga útil válida. Por ejemplo, una `Terms` matriz no puede incluir tanto el tipo de término como el tipo `FixedUpfrontPricingTerm` de término. `ConfigurableUpfrontPricingTerm` Para ver ejemplos de cómo se combinan distintos tipos de términos para distintos casos de uso de precios, consulta Cómo [gestionar ofertas con la API](https://catalog.workshops.aws/mpseller/en-US/manage-offers-with-api) en el *taller para AWS Marketplace vendedores*.

**nota**  
En el caso de los productos SaaS con un modelo de precios gratuito, debe incluir una (dimensión) `UsageBasedPricingTerm` o `ConfigurableUpfrontPricingTerm` al menos una RateCard (dimensión) en la que todos los precios estén establecidos en 0,00$. Este requisito es exclusivo de los productos SaaS.

**Sintaxis de la solicitud**

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

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

Proporcione información sobre los campos para añadir el tipo de `UpdatePricingTerms` cambio:
+ **Entidad** (objeto) (obligatorio): su oferta. 
  + **Tipo** (cadena) (obligatorio): siempre `Type` está`Offer@1.0`. 
  + **Identificador** (cadena) (obligatorio): el identificador de tu oferta. Para obtener más información, consulte [Identificador](catalog-apis.md#identifier).
+ **DetailsDocument**(objeto) (obligatorio): el valor JSON de los detalles de la solicitud.
  + **PricingModel**(string) (obligatorio): modelo de precios para tu oferta. Los valores posibles para el modelo de precios son:
    + **Uso**: modelo Usage-based de precios en el que se facturará a los compradores por el uso que hagan del producto.
    + **Contrato**: modelo de Contract-based precios en el que a los compradores se les factura por adelantado el uso de tu producto o se les ofrece un calendario de pagos flexible. Los compradores también pueden pagar por un uso adicional por encima de lo estipulado en el contrato.
    + **Gratis**: modelo de precios gratuito en el que no se cobrará a los compradores por el uso del producto. Si se utiliza este modelo de precios, ninguna de las condiciones de fijación de precios o plazos de pago puede tener tasas distintas de cero.
    + **Byol**: modelo de precios de Byol en el que los compradores traerán su propia licencia de uso del producto.
  + **Términos** (conjunto de estructuras) (obligatorio): lista de los términos de precios que deseas actualizar. Los términos de precios admitidos son:
    + **FreeTrialPricingTerm**(objeto): define un modelo de precios gratuitos a corto plazo en el que a los compradores no se les cobra nada dentro de un límite específico.
      + **Tipo** (cadena): tipo del término que se va a actualizar. Este es el valor del objeto:`"FreeTrialPricingTerm"`.
      + **Duración** (cadena): duración del período de prueba gratuito.
      + **Subvenciones** (conjunto de estructuras): derechos que se concederán a quien acepte una prueba gratuita como parte de la ejecución de un acuerdo.
        + **DimensionKey**(cadena): clave de dimensión única definida en el documento del producto. Las dimensiones representan las categorías de capacidad de un producto y se especifican cuando el producto aparece en él AWS Marketplace.
        + **MaxQuantity**(entero) (opcional): cantidad máxima de capacidad a la que el comprador puede tener derecho en una dimensión determinada del producto. Si no `MaxQuantity` se proporciona, el comprador podrá utilizar una cantidad ilimitada de la dimensión indicada.
    + **UsageBasedPricingTerm**(objeto): define un modelo de precios de pago por uso (PAYG) en el que se cobra a los clientes en función del uso del producto.
      + **Tipo** (cadena) (obligatorio): categoría del término que se va a actualizar. Este es el valor del objeto:`UsageBasedPricingTerm`.
      + **CurrencyCode**(cadena): define la divisa de los precios mencionados en este término. Actualmente, solo se admiten USD.
      + **RateCards**(conjunto de estructuras): lista de tarjetas de tarifas.
        + **RateCard**(conjunto de estructuras): una tabla de tarifas define las tarifas por unidad para las dimensiones del producto.
          + **DimensionKey**(cadena): dimensión a la que se aplica el derecho en cuestión. Las dimensiones representan las categorías de capacidad de un producto y se especifican cuando el producto aparece en él. AWS Marketplace
          + **Precio** (cadena): Per-unit precio de la dimensión del producto que se utilizará para calcular el importe que se cobrará al comprador.
    + **ConfigurableUpfrontPricingTerm**(objeto): define un modelo de pago por adelantado que permite a los compradores configurar los derechos que desean comprar y su duración. Puedes actualizar la lista de tarifas para cada duración del contrato y los derechos para cada dimensión.
      + **Tipo** (cadena) (obligatorio): tipo del término que se va a actualizar. Este es el valor del objeto:`ConfigurableUpfrontPricingTerm`.
      + **CurrencyCode**(string) (obligatorio): define la moneda de los precios mencionados en este término. En el caso de las ofertas públicas, solo se admiten USD. En el caso de las ofertas privadas, se admiten USD, AUD, EUR, GBP y JPY.
      + **RateCards**(conjunto de estructuras) (obligatorio): lista de tarjetas de tarifas.
        + **Selector** (objeto) (obligatorio): el selector se utiliza para diferenciar entre las tarjetas de tarifas que se excluyen mutuamente en un mismo plazo de precios, que debe seleccionar el comprador.
          + **Tipo** (cadena) (obligatorio): categoría del selector. Por el momento, solo `Duration` es compatible.
          + **Valor** (cadena) (obligatorio): duración del contrato. Este campo admite el formato ISO 8601.
        + **RateCard**(conjunto de estructuras) (obligatorio): una tabla de tarifas define las tarifas por unidad para las dimensiones del producto.
          + **DimensionKey**(cadena) (obligatorio): clave de dimensión única definida en el documento del producto. Las dimensiones representan las categorías de capacidad de un producto y se especifican cuando el producto aparece en él AWS Marketplace.
          + **Precio** (cadena) (obligatorio): Per-unit precio de las dimensiones del producto que se utilizará para calcular el importe que se cobrará al comprador.
        + **Restricciones** (objeto) (obligatorio): define las restricciones sobre cómo los aceptadores pueden configurar el término.
**nota**  
Actualmente, **MultipleDimensionSelection**los **QuantityConfiguration**valores deben ser los mismos.
          + **MultipleDimensionSelection**(cadena) (obligatorio): determina si los compradores pueden seleccionar varias dimensiones en la tabla de tarifas. Los posibles valores son `Allowed` y `Disallowed`.
          + **QuantityConfiguration**(cadena) (obligatorio): determina si los aceptadores pueden configurar la cantidad para cada dimensión de la tabla de tarifas. Los posibles valores son `Allowed` y `Disallowed`.
    + **ByolPricingTerm**(objeto): le permite a usted y a sus clientes trasladar sus acuerdos existentes a AWS Marketplace. No se le cobrará al cliente por el uso del producto AWS Marketplace porque ya pagó por el producto fuera de él AWS Marketplace.
      + **Tipo** (cadena) (obligatorio): tipo del término que se va a actualizar. Este es el valor del objeto:`ByolPricingTerm`.
    + **RecurringPaymentTerm**(objeto): define un modelo de precios en el que a los clientes se les cobra un precio fijo recurrente al final de cada período de facturación.
      + **Tipo** (cadena) (obligatorio): tipo del término que se va a actualizar. Este es el valor del objeto:`RecurringPaymentTerm`.
      + **BillingPeriod**(cadena) (obligatorio): define la periodicidad con la que se cobra a los compradores. Solo `Monthly` se admite en la actualidad.
      + **Precio** (cadena) (obligatorio): importe que se cobra al comprador en cada período de facturación.
      + **CurrencyCode**(cadena) (obligatorio): define la divisa de los precios mencionados en este término. En la actualidad, solo se admite `USD`.
    + **FixedUpfrontPricingTerm**(objeto): define un modelo de precios de prepago en el que se cobra a los clientes un importe fijo por adelantado.
      + **Tipo** (cadena) (obligatorio): tipo del término que se va a actualizar. Este es el valor del objeto:`FixedUpfrontPricingTerm`.
      + **CurrencyCode**(string) (obligatorio): define la moneda de los precios mencionados en este término. En el caso de las ofertas públicas, solo se admiten USD. En el caso de las ofertas privadas, se admiten USD, AUD, EUR, GBP y JPY.
      + **Precio** (cadena) (obligatorio): importe fijo que se cobrará al cliente cuando se acepte esta condición.
      + **Subvenciones** (variedad de estructuras) (obligatorias): derechos que se concederán al solicitante de un importe fijo por adelantado como parte de la ejecución del acuerdo.
        + **DimensionKey**(cadena) (obligatorio): clave de dimensión única definida en el documento del producto. Las dimensiones representan las categorías de capacidad de un producto y se especifican cuando el producto aparece en él AWS Marketplace.
        + **MaxQuantity**(entero) (obligatorio): cantidad máxima de capacidad a la que el comprador puede tener derecho en función de las dimensiones determinadas del producto. Si no `MaxQuantity` se proporciona, el comprador podrá utilizar una cantidad ilimitada de la dimensión indicada.
      + **Duración** (cadena) (opcional): define el tiempo durante el que el plazo permanece activo. Este campo admite el formato ISO 8601.

**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 AWS Marketplace directrices. El proceso de validación puede tardar unos minutos. 

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. `UpdatePricingTerms` 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 | HTTP | 
| --- | --- | --- | 
| PricingModel | ObligatorioModelos de precios permitidos: ["Byol», «Free», «Usage», «Contract"] | 422 | 
| Términos | ObligatorioTérminos permitidos: [» ConfigurableUpfrontPricingTerm «," ByolPricingTerm «," FreeTrialPricingTerm «," UsageBasedPricingTerm «," RecurringPaymentTerm «," FixedUpfrontPricingTerm «] | 422 | 
| Términos []. ByolPricingTerm | Obligatorio | 422 | 
| Condiciones []. ByolPricingTerm.Type | ObligatorioSolo puede ser «ByolPricingTerm» | 422 | 
| Términos []. ConfigurableUpfrontPricingTerm | Obligatorio | 422 | 
| Condiciones []. ConfigurableUpfrontPricingTerm.Type | ObligatorioSolo puede ser «ConfigurableUpfrontPricingTerm» | 422 | 
| Términos []. ConfigurableUpfrontPricingTerm.CurrencyCode | ObligatorioDivisas admitidas: ["USD», «AUD», «EUR», «GBP», «JPN"] | 422 | 
| Condiciones []. ConfigurableUpfrontPricingTerm.RateCards | ObligatorioEl tamaño de la lista debe estar comprendido entre 1 y 5 | 422 | 
| Términos []. ConfigurableUpfrontPricingTerm.RateCards[]. Restricciones | Obligatorio | 422 | 
| Términos []. ConfigurableUpfrontPricingTerm.RateCards[]. Contraints.MultipleDimensionSelection | ObligatorioValores permitidos: ["Permitido», «No permitido"] | 422 | 
| Términos []. ConfigurableUpfrontPricingTerm.RateCards[]. Contraints.QuantityConfiguration | ObligatorioValores permitidos: ["Permitido», «No permitido"] | 422 | 
| Términos []. ConfigurableUpfrontPricingTerm.RateCards[]. RateCard | ObligatorioEl tamaño de la lista debe estar entre 1 y 800 | 422 | 
| Términos []. ConfigurableUpfrontPricingTerm.RateCards[]. RateCard[]. DimensionKey | ObligatorioLa longitud debe estar entre 1 y 100 | 422 | 
| Términos []. ConfigurableUpfrontPricingTerm.RateCards[]. RateCard[] .Precio | ObligatorioEl tipo de datos es «Cadena»<br />Non-negativese admiten decimales con un máximo de 3 decimales | 422 | 
| Términos []. ConfigurableUpfrontPricingTerm.RateCards[]. Selector | Obligatorio | 422 | 
| Términos []. ConfigurableUpfrontPricingTerm.RateCards[]. Selector.Type | ObligatorioValores permitidos: ["Duración"] | 422 | 
| Términos []. ConfigurableUpfrontPricingTerm.RateCards[]. Selector.Value | ObligatorioFormato esperado por tipo de selector: duración ISO 8601 | 422 | 
| Términos []. FixedUpfrontPricingTerm | Obligatorio | 422 | 
| Condiciones []. FixedUpfrontPricingTerm.Type | ObligatorioSolo puede ser «FixedUpfrontPricingTerm» | 422 | 
| Términos []. FixedUpfrontPricingTerm.CurrencyCode | ObligatorioDivisas admitidas: ["USD», «AUD», «EUR», «GBP», «JPN"] | 422 | 
| Condiciones []. FixedUpfrontPricingTerm.Duration | ObligatorioFormato esperado por tipo de selector: duración ISO 8601 | 422 | 
| Términos []. FixedUpfrontPricingTerm.Grants | ObligatorioEl tamaño de la lista debe estar comprendido entre 1 y 200 | 422 | 
| Términos []. FixedUpfrontPricingTerm.Grants[]. DimensionKey | ObligatorioLa longitud debe estar entre 1 y 100 | 422 | 
| Términos []. FixedUpfrontPricingTerm.Grants[]. MaxQuantity | RequiredValue debe ser mayor que 0 | 422 | 
| Términos []. FixedUpfrontPricingTerm.Price | ObligatorioEl tipo de datos es «Cadena»<br />Non-negativese admiten decimales con un máximo de 3 decimales | 422 | 
| Términos []. FreeTrialPricingTerm | Obligatorio | 422 | 
| Condiciones []. FreeTrialPricingTerm.Type | ObligatorioSolo puede ser «FreeTrialPricingTerm» | 422 | 
| Términos []. FreeTrialPricingTerm.Duration | ObligatorioFormato esperado: duración ISO 8601 | 422 | 
| Condiciones []. FreeTrialPricingTerm.Grants | ObligatorioEl tamaño de la lista debe estar entre 1 y 800 | 422 | 
| Términos []. FreeTrialPricingTerm.Grants[]. DimensionKey | ObligatorioLa longitud debe estar entre 1 y 100 | 422 | 
| Términos []. FreeTrialPricingTerm.Grants[]. MaxQuantity | OpcionalEl valor debe ser mayor que 0 | 422 | 
| Términos []. RecurringPaymentTerm | Obligatorio | 422 | 
| Condiciones []. RecurringPaymentTerm.Type | ObligatorioSolo puede ser «RecurringPaymentTerm» | 422 | 
| Términos []. RecurringPaymentTerm.BillingPeriod | ObligatorioValores permitidos: ["Mensual"] | 422 | 
| Términos []. RecurringPaymentTerm.CurrencyCode | ObligatorioDivisas admitidas: ["USD"] | 422 | 
| Condiciones []. RecurringPaymentTerm.Price | ObligatorioEl tipo de datos es «Cadena»<br />Non-negativese admiten decimales con un máximo de 3 decimales | 422 | 
| Términos []. UsageBasedPricingTerm | Obligatorio | 422 | 
| Condiciones []. UsageBasedPricingTerm.Type | ObligatorioSolo puede ser «UsagedBasedPricingTerm» | 422 | 
| Términos []. UsageBasedPricingTerm.CurrencyCode | ObligatorioDivisas admitidas: ["USD"] | 422 | 
| Condiciones []. UsageBasedPricingTerm.RateCards | ObligatorioDebe tener una talla de 1 | 422 | 
| Términos []. UsageBasedPricingTerm.RateCards[]. RateCard | ObligatorioEl tamaño de la lista debe estar entre 1 y 800 | 422 | 
| Términos []. UsageBasedPricingTerm.RateCards[]. RateCard[]. DimensionKey | ObligatorioLa longitud debe estar entre 1 y 100 | 422 | 
| Términos []. UsageBasedPricingTerm.RateCards[]. RateCard[] .Precio | ObligatorioEl tipo de datos es «Cadena»<br />Non-negativese admiten decimales con un máximo de 8 decimales | 422 | 

**Errores asíncronos**

Los siguientes errores son específicos de las `UpdatePricingTerms` 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 | 
| --- | --- | 
| DUPLICATE\_DIMENSION\_KEYS | Proporcione a Grants una lista única de claves de dimensión en [x]. | 
| DUPLICATE\_DIMENSION\_KEYS | Proporcione RateCard una lista única de claves de dimensión en [x]. | 
| SELECTORES DUPLICADOS  | Proporcione una lista única de selectores en. ConfigurableUpfrontPricingTerm | 
| TIPO\_TÉRMINOS DUPLICADOS | Proporcione una lista única de tipos de términos. | 
| ACUERDO\_INCOMPATIBLE | Los siguientes términos no se pueden eliminar de la oferta de reemplazo: [x, y, z]. | 
| ACUERDO\_INCOMPATIBLE | No se pueden añadir los siguientes términos a la oferta de reemplazo: [x, y, z]. | 
| CÓDIGO\_MONETARIO\_INCOMPATIBLE | CurrencyCode no se puede cambiar una vez publicada la oferta. | 
| CONFIGURACIÓN\_DE\_PAGO INCOMPATIBLE\_DE\_PAGO | Actualice su configuración de pago para que sea compatible con. CurrencyCode | 
| PRODUCTO\_INCOMPATIBLE | El modelo de precios de uso no es compatible con el producto. | 
| PRODUCTO\_INCOMPATIBLE\_DE\_PRODUCTO | El modelo de precios por contrato no es compatible con el producto. | 
| PRODUCTO\_INCOMPATIBLE | El modelo de precios de Byol no es compatible con el producto. | 
| PRODUCTO\_INCOMPATIBLE | El modelo de precios gratuito no es compatible con el producto. | 
| PRODUCTO\_INCOMPATIBLE | [x] no está incluido en la oferta del producto. | 
| PRODUCTO\_INCOMPATIBLE | Siempre que las condiciones de pago y precio sean incompatibles. | 
| PRODUCTO\_INCOMPATIBLE\_DE\_PRODUCTO | Usa las dimensiones existentes y disponibles en el producto en [x]. | 
| PRODUCTO\_INCOMPATIBLE | FreeTrialPricingTerm ya que la única condición de precio de la oferta no es compatible con el producto. | 
| PRODUCTO\_INCOMPATIBLE | El producto no admite los siguientes términos: [x, y, z]. | 
| PRODUCTO\_INCOMPATIBLE | Las ofertas de reemplazo solo se admiten en el modelo de precios por contrato. | 
| PRODUCTO\_INCOMPATIBLE\_DE\_PRODUCTO | Indique las condiciones de precios que sean compatibles con las dimensiones del producto. Condiciones de precios incompatibles: [x, y, z]. | 
| RESTRICCIONES INCOMPATIBLES | Establece y selecciona MultipleDimensionSelection la entrada permitida para el modelo de precios de uso. QuantityConfiguration ConfigurableUpfrontPricingTerm  | 
| INCOMPATIBLE\_RATE\_CARD\_CONSTRAINTS | Establece y MultipleDimensionSelection no está permitido en el modelo de precios de uso. QuantityConfiguration ConfigurableUpfrontPricingTerm  | 
| INCOMPATIBLE\_RATE\_CARD\_CONSTRAINTS | QuantityConfiguration no se ConfigurableUpfrontPricingTerm puede cambiar una vez publicada la oferta. | 
| INCOMPATIBLE\_RATE\_CARD\_CONSTRAINTS | MultipleDimensionSelection no se ConfigurableUpfrontPricingTerm puede cambiar una vez publicada la oferta. | 
| TARIFAS INCOMPATIBLES | Establezca todos los montos y precios de los cargos en cero (0) cuando utilice el modelo de precios gratuito. | 
| TARIFAS\_INCOMPATIBLES | En la oferta de prueba gratuita del producto, solo se UsageBasedPricingTerm admiten precios cero (0). | 
| AUTORIZACIÓN DE REVENTA INCOMPATIBLE | Proporcione lo mismo que se especifica en. CurrencyCode ResaleAuthorization | 
| INCOMPATIBLE\_RESALE\_AUTHORIZATION | Asegúrese de que la duración de los partidos sea la duración especificada en el. FixedUpfrontPricingTerm ResaleAuthorization | 
| INCOMPATIBLE\_RESALE\_AUTHORIZATION | Proporcione términos que sean compatibles con. ResaleAuthorization Términos incompatibles: [x, y, z]. | 
| DURACIÓN\_SELECTOR\_INCOMPATIBLE | No se permite eliminar las duraciones de las tarjetas de tarifas una vez publicada la oferta. ConfigurableUpfrontPricingTerm  | 
| INCOMPATIBLE\_SELLER\_VERIFICATION | Completa todos los procesos de verificación del vendedor necesarios. | 
| TERMINOS\_INCOMPATIBLES  | [x] no se admite junto con los siguientes términos: [y, z]. | 
| TERMINOS\_INCOMPATIBLES  | No se pueden añadir los siguientes términos una vez publicada la oferta: [x, y, z]. | 
| TERMINOS\_INCOMPATIBLES  | Los siguientes términos no se pueden eliminar una vez publicada la oferta: [x, y, z]. | 
| TERMINOS\_INCOMPATIBLES  | [x] no se admite en las ofertas privadas. | 
| TERMINOS\_INCOMPATIBLES  | No se admiten los siguientes términos FreeTrialPricingTerm que otorgan un uso ilimitado: [x, y, z]. | 
| TERMINOS\_INCOMPATIBLES  | El producto no admite los siguientes términos: [x, y, z]. FreeTrialPricingTerm  | 
| TERMINOS\_INCOMPATIBLES  | Indique un precio cero (0) para FixedUpfrontPricingTerm cuando la oferta contenga un. PaymentScheduleTerm | 
| TERMINOS\_INCOMPATIBLES  | Los siguientes términos no son compatibles con PricingModel: [x, y, z]. | 
| TERMINOS\_INCOMPATIBLES  | FixedUpfrontPricingTerm no se admite cuando MarkupPercentage es mayor que cero (0). | 
| TERMINOS\_INCOMPATIBLES  | El cambio solicitado no se podrá realizar una vez publicada la oferta. | 
| TERMINOS\_INCOMPATIBLES  | El cambio solicitado no se podrá realizar una vez que la oferta haya caducado. | 
| DURACIÓN\_DEL\_ACUERDO NO VÁLIDO | Proporcione una duración de entre [x] e [y] meses. | 
| DURACIÓN\_DEL\_ACUERDO\_INVÁLIDO | Asegúrese de que la granularidad de la duración esté en el nivel del día para las dimensiones medidas. | 
| CÓDIGO\_DE\_DIVISA NO VÁLIDO | Proporcione un soporte. CurrencyCode | 
| CÓDIGO\_DE\_DIVISA NO VÁLIDO | Proporciona lo mismo en CurrencyCode todos los precios y condiciones de pago. | 
| CÓDIGO\_MONETARIO\_INVÁLIDO | Proporcione un soporte. CurrencyCode | 
| CÓDIGO\_DE\_DIVISA NO VÁLIDO | Proporciona lo mismo en CurrencyCode todos los precios y condiciones de pago. | 
| DURACIÓN\_INVÁLIDA | Asegúrese de que la duración FreeTrialPricingTerm esté dentro del rango permitido. | 
| DURACIÓN\_INVÁLIDA | Indique una duración FixedUpfrontPricingTerm que coincida con la duración entre y. AgreementStartDate AgreementEndDate | 
| DURACIÓN\_INVÁLIDA | Proporcione una duración de entre [x] e [y] meses. | 
| DURACIÓN\_INVÁLIDA | Asegúrese de que la granularidad de la duración esté en el nivel del día para las dimensiones medidas. | 
| INVALID\_GRANTS | Proporcione lo mismo MaxQuantity para todas las subvenciones de. FreeTrialPricingTerm | 
| INVÁLID\_GRANTS | Proporcione subvenciones para todas las dimensiones medidas disponibles en. FreeTrialPricingTerm | 
| INVALID\_GRANTS | The combination of Dimensions in grants is invalid in FixedUpfrontPricingTerm for the product. | 
| BECAS\_INVÁLIDAS | The combination of Dimensions in grants is invalid in FreeTrialPricingTerm for the product. | 
| BECAS\_INVÁLIDAS | FixedUpfrontPricingTerm with MaxQuantity is not supported for this product. | 
| CAMBIO\_DE\_PRECIO INVÁLIDO | [x] no se puede actualizar hasta [y] porque has solicitado un aumento de precio en los últimos 120 días. Para cancelar su solicitud de aumento de precio anterior o para obtener más información, póngase en contacto con el equipo de operaciones de catálogo AWS Marketplace gestionadas. | 
| CAMBIO\_PRECIO NO VÁLIDO | La misma solicitud no admite el aumento de precio ni la adición de dimensiones en [x]. Añade primero las dimensiones. | 
| CAMBIO\_PRECIO NO VÁLIDO | La misma solicitud UsageBasedPricingTerm no admite el aumento o la disminución de precios. Primero reduce los precios. | 
| CAMBIO\_DE\_PRECIO NO VÁLIDO | La misma solicitud UsageBasedPricingTerm no admite el aumento ni la disminución del precio. RecurringPaymentTerm Primero reduce los precios. | 
| CAMBIO\_DE\_PRECIO NO VÁLIDO | La misma solicitud UsageBasedPricingTerm no admite la reducción ni el aumento del precio. RecurringPaymentTerm Primero reduce los precios. | 
| TARJETA TARIFARIA NO VÁLIDA | ConfigurableUpfrontPricingTerm le faltan una o más claves de dimensión durante la duración [x]. Indique los precios del mismo conjunto de claves de dimensiones para todas las duraciones. | 
| CARTA\_TARIFA NO VÁLIDA | Proporcione una tabla de tarifas solo para las dimensiones medidas en pulgadas. UsageBasedPricingTerm | 
| TARIFA\_TARIFA\_INVALID\_CARD | Las tarifas no se pueden eliminar de [x]. Indique los precios de todas las dimensiones en la tabla de tarifas existente. | 
| TARIFA\_TARIFA\_INVALIDA | Indique las dimensiones que tengan la misma unidad en [x]. | 
| CARTA\_TARIFA\_VÁLIDA | Indique todas las dimensiones medidas o todas las dimensiones indicadas en [x]. | 
| CARTA\_TARIFA\_VÁLIDA | Indique solo las dimensiones autorizadas en [x]. | 
| TARJETA\_TARIFA\_VÁLIDA | Proporcione tarifas basadas en el uso para todas las dimensiones medidas disponibles en pulgadas. UsageBasedPricingTerm | 
| TARJETA DE TASA NO VÁLIDA | Proporcione tarifas basadas en el uso para todas las dimensiones de la versión de prueba gratuita. | 
| TARJETA DE TARIFA NO VÁLIDA | Indique los precios con un máximo de 8 decimales. UsageBasedPricingTerm | 
| TARJETA\_TARIFA\_VÁLIDA | The combination of Dimensions in rate card is invalid in UsageBasedPricingTerm for the product. | 
| VALOR\_DURACIÓN\_SELECTOR\_INVÁLIDO | Proporcione una duración de entre [x] e [y] meses. | 
| VALOR\_DURACIÓN\_SELECTOR\_INVÁLIDO | Asegúrese de que la granularidad de la duración esté en el nivel del día para las dimensiones medidas. | 
| VALOR\_DURACIÓN\_SELECTOR\_INVÁLIDO | Asegúrese de que la duración esté dentro del rango permitido. ConfigurableUpfrontPricingTerm  | 
| VALOR\_DURACIÓN\_SELECTOR\_INVÁLIDO | Proporcione una o más duraciones de contrato admitidas. | 
| VALOR\_DURACIÓN\_SELECTOR\_INVÁLIDO | Proporcione una o más duraciones de contrato admitidas o una única duración personalizada. | 
| VALOR\_DURACIÓN\_SELECTOR\_INVÁLIDO | Introduzca una duración que coincida con la duración comprendida entre y. ConfigurableUpfrontPricingTerm AgreementStartDate AgreementEndDate | 
| MISSING\_DURATION | Indique la duración en. FixedUpfrontPricingTerm | 
| TÉRMINOS OBLIGATORIOS FALTANTES | FixedUpfrontPricingTerm solo se admite cuando se combina con o. ByolPricingTerm PaymentScheduleTerm | 
| TÉRMINOS OBLIGATORIOS FALTANTES | Proporcione al menos uno de los siguientes valores: [x, y, z]. | 
| TÉRMINOS OBLIGATORIOS FALTANTES | Indique un modelo de precios cuando utilice Byol ByolPricingTerm . | 
| DEMASIADAS SUBVENCIONES | Conceda hasta [x] subvenciones en [y]. | 
| DEMASIADAS TARJETAS DE TARIFAS | Solo se permite ingresar una tabla de tarifas para el producto. ConfigurableUpfrontPricingTerm | 
| DEMASIADAS TARJETAS DE TARIFAS | Se permite la entrada de tarjetas de hasta [x] tarifas para el producto. ConfigurableUpfrontPricingTerm  | 
| DEMASIADAS TARIFAS | Proporcione RateCards dentro de los límites permitidos en. ConfigurableUpfrontPricingTerm | 
| TOO\_MANY\_RATES | Proporcione RateCards dentro de los límites permitidos en. UsageBasedPricingTerm | 
| RESTRICCIONES INCOMPATIBLE\_RATE\_CARD\_CONSTRAINTS | Defina ambos valores con el mismo valor ( MultipleDimensionSelection permitido o no QuantityConfiguration permitido) en. ConfigurableUpfrontPricingTerm | 
| RESTRICCIONES INCOMPATIBLE\_RATE\_CARD\_CONSTRAINTS | Establezca las mismas restricciones para todas las tarjetas de tarifas incluidas. ConfigurableUpfrontPricingTerm | 
| INVALID\_UPDATE\_REQUEST | [x] no se puede actualizar. Para solicitar un cambio de precios o para obtener más información, ponte en contacto con el equipo de operaciones de catálogos AWS Marketplace gestionados. | 
| MODELO\_DE\_PRECIOS INCOMPATIBLES | PricingModel no se puede cambiar de [x] a [y]. | 
| SUBVENCIONES\_INVÁLIDAS | MaxQuantity ya que FreeTrialPricingTerm está limitado al producto. Indique un valor MaxQuantity inferior o igual a [x]. Para obtener más información, póngase en contacto con el equipo de operaciones de catálogos AWS Marketplace gestionados. | 
| INVALID\_GRANTS | Prevea todas MaxQuantity las subvenciones en. FixedUpfrontPricingTerm | 
| INVÁLID\_GRANTS | MaxQuantity no es compatible con el producto FixedUpfrontPricingTerm . | 
| INCOMPATIBLE\_RESALE\_AUTHORIZATION | Garantiza las concesiones en los partidos especificados en el. FixedUpfrontPricingTerm RateCards ResaleAuthorization | 

## Actualice la visibilidad de la oferta
<a name="update-availability"></a>

Puedes usar la API del catálogo para controlar la visibilidad de tu oferta. AWS Marketplace

Puedes elegir establecer una fecha específica en el futuro para restringir la visibilidad de tu oferta o en el pasado para que caduque tu oferta. El tipo de `UpdateAvailability` cambio no afecta a los acuerdos existentes.

**nota**  
Puedes usar el tipo de `UpdateAvailability` cambio en una oferta privada que ya se haya [publicado](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/offers.html#release-offer) (también conocida como *publicada*). Si los compradores ya han aceptado la oferta privada, los acuerdos existentes no se ven afectados.
Al `AvailabilityEndDate` modificar una oferta privada existente, se deben cumplir las [limitaciones de la duración del acuerdo](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/offers.html#update-validity-terms). Si no es así, incluye un tipo de `UpdateValidityTerms` cambio adicional en este conjunto de cambios para modificar la duración del acuerdo y adaptarlo al nuevo vencimiento. El tipo de `UpdateValidityTerms` cambio se puede utilizar en una oferta privada que se haya publicado o que aún no se haya publicado.
Al `AvailabilityEndDate` modificar una oferta privada existente, se deben cumplir las [restricciones del calendario de pagos](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/offers.html#update-payment-schedule-terms). Si no lo está y la oferta privada *aún no se ha publicado*, incluye un tipo de `UpdatePaymentScheduleTerms` cambio adicional en este conjunto de cambios para modificar el calendario de pagos y adaptarlo al nuevo vencimiento. Si la oferta privada *ya está disponible*, solo podrás realizar cambios en ella `AvailabilityEndDate` siempre y cuando la nueva fecha cumpla con las restricciones del calendario de pagos.

Para controlar la visibilidad de tu oferta, llama a la operación de la `StartChangeSet` API con el tipo de `UpdateAvailability` 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": "UpdateAvailability",
      "Entity": {
        "Type": "Offer@1.0",
        "Identifier": "offer-123456789"
      },
      "DetailsDocument": {
        "AvailabilityEndDate": "2024-05-31"
      }
    }
  ]
}
```

Proporciona información sobre los campos para añadir el tipo de `UpdateAvailability` cambio:
+ **Entidad** (objeto) (obligatorio): su oferta. 
  + **Tipo** (cadena) (obligatorio): siempre `Type` está`Offer@1.0`. 
  + **Identificador** (cadena) (obligatorio): el identificador de tu oferta. Para obtener más información, consulte [Identificador](catalog-apis.md#identifier).
+ **DetailsDocument**(objeto) (obligatorio): el valor JSON de los detalles de la solicitud.
  + **AvailabilityEndDate**(string) (obligatorio): es la fecha hasta la que se puede encontrar y comprar la oferta. AWS Marketplace Puedes elegir establecer una fecha específica en el futuro para restringir la disponibilidad o en el pasado para que caduque la oferta. Las fechas se representan en `YYYY-MM-DD` formato.

Se crea un conjunto de cambios para su solicitud. La respuesta a esta solicitud proporciona el ID y el ARN del conjunto de cambios y tiene el siguiente aspecto.

**Sintaxis de respuesta**

```
{
  "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. Incluye la validación de la información para garantizar que cumpla con las AWS Marketplace directrices. El proceso de validación puede tardar unos minutos. 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.

**Validaciones sincrónicas**

Las siguientes validaciones de esquema son específicas de las acciones de. `UpdateAvailability` 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 | 
| --- | --- | --- | 
| AvailabilityEndDate | Obligatorio<br />Formato: "YYYY-MM-DD» | 422 | 

**Errores asíncronos**

Los siguientes errores son específicos de las `UpdateAvailability` 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 | 
| --- | --- | 
| FECHA\_FINALIZACIÓN\_DISPONIBILIDAD NO VÁLIDA | AvailabilityEndDate no se admite en ofertas públicas. | 
| DATA\_FINALIZACIÓN\_DISPONIBILIDAD NO VÁLIDA | Proporcione un futuro AvailabilityEndDate. | 
| FECHA DE FINALIZACIÓN DE DISPONIBILIDAD NO VÁLIDA | Proporcione una que sea anterior. AvailabilityEndDate AgreementEndDate | 
| FECHA DE FINALIZACIÓN DE DISPONIBILIDAD FALTANTE | Indique una fecha anterior a la fecha de finalización del AvailabilityEndDate acuerdo. | 

## Defina la fecha de caducidad de los acuerdos creados con la oferta
<a name="update-validity-terms"></a>

Puede utilizar la API del catálogo para definir los detalles de la fecha de caducidad de los acuerdos creados con la oferta de AWS Marketplace. 

Este tipo de cambio no afecta a los acuerdos existentes.

**nota**  
Puedes usar el tipo de `UpdateValidityTerms` cambio en una oferta privada que ya se haya [publicado](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/offers.html#release-offer) (también conocida como *publicada*). Si los compradores ya han aceptado la oferta privada, los acuerdos existentes no se ven afectados.  
En el caso de los productos **basados en contenedores**, si las [condiciones de precios](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/offers.html#update-pricing-terms) de tu oferta privada incluyen un tipo de condición que tiene una `Duration` (por ejemplo, los tipos de condiciones `FixedUpfrontPricingTerm` o`ConfigurableUpfrontPricingTerm`), tu `AgreementDuration` configuración de este tipo de cambio debe ser superior a la siguiente: el número de días desde hoy hasta el [vencimiento de la oferta privada](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/offers.html#update-availability) más el número de días establecido en cada uno `Duration` de esos tipos de condiciones. **AMI-based** Esto se debe a que, una vez que el comprador acepta la oferta privada y se crea el acuerdo, puede adquirir opcionalmente derechos adicionales especificados en esos tipos de condiciones hasta que venza la oferta privada. Además, todos los derechos adicionales deben finalizar antes de que finalice el acuerdo. Por ejemplo, si el comprador acepta la oferta privada el primer día disponible y, a continuación, adquiere los derechos el último día disponible, dichos derechos no deben finalizar después de la fecha de finalización del acuerdo.

Para definir los detalles de la fecha de caducidad de los acuerdos creados con la oferta, llama a la operación de `StartChangeSet` API con el tipo de `UpdateValidityTerms` 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": "UpdateValidityTerms",
      "Entity": {
        "Type": "Offer@1.0",
        "Identifier": "offer-123456789"
      },
      "DetailsDocument": {
        "Terms": [
          {
            "Type": "ValidityTerm",
            "AgreementDuration": "P12M",
            "AgreementStartDate": "2021-08-01",
            "AgreementEndDate": "2022-08-01"
          }
        ]
      }
    }
  ]
}
```

Proporcione información sobre los campos para añadir el tipo de `UpdateValidityTerms` cambio:
+ **Entidad** (objeto) (obligatorio): su oferta. 
  + **Tipo** (cadena) (obligatorio): siempre `Type` está`Offer@1.0`. 
  + **Identificador** (cadena) (obligatorio): el identificador de tu oferta. Para obtener más información, consulte [Identificador](catalog-apis.md#identifier).
+ **DetailsDocument**(objeto) (obligatorio): el valor JSON de los detalles de la solicitud.
  + **Términos** (conjunto de estructuras): lista de los términos de validez que desea actualizar. Los términos de validez admitidos son:
    + **ValidityTerm**(objeto): define las condiciones que mantendrán la validez de un acuerdo creado a partir de esta oferta.
      + **Tipo** (cadena): categoría del término que se va a actualizar. `ValidityTerm`
      + **AgreementDuration**(cadena): define el tiempo durante el que el acuerdo permanece activo. Si `AgreementStartDate` no se proporciona, la duración del acuerdo es relativa a la hora de la firma del acuerdo. La duración se representa en el formato ISO\_8601.
      + **AgreementStartDate**(cadena): define la fecha en la que comienza el acuerdo. `AgreementStartDate`se representa en `YYYY-MM-DD` formato. El acuerdo comienza a las 00:00:00.000 UTC de la fecha indicada. Si `AgreementStartDate` no se proporciona, la fecha de inicio del acuerdo se determina en función de la hora de firma del acuerdo.
      + **AgreementEndDate**(cadena): define la fecha en la que finaliza el acuerdo. `AgreementEndDate`Se representa en `YYYY-MM-DD` formato. El acuerdo finaliza a las 23:59:59 .999 UTC de la fecha indicada. Si `AgreementEndDate` no se proporciona, la fecha de finalización del acuerdo viene determinada por la validez de las condiciones individuales.

**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 AWS Marketplace directrices. El proceso de validación puede tardar unos minutos. 

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. `UpdateValidityTerms` 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 | 
| --- | --- | --- | 
| Términos | Obligatorio | 422 | 
| Términos [] .Tipo | Obligatorio<br />Solo puede ser `"ValidityTerm"` | 422 | 
| Términos []. AgreementDuration | Opcional<br />Formato esperado por tipo de selector: duración ISO 8601<br />Puede ser independiente o combinarse con `AgreementStartDate` | 422 | 
| Términos []. AgreementEndDate | Opcional<br />La fecha debe tener el siguiente formato `"YYYY-MM-DD"` | 422 | 
| Términos []. AgreementStartDate | Opcional<br />La fecha debe tener el siguiente formato `"YYYY-MM-DD"`<br />Solo se puede combinar con y `AgreementEndDate` `AgreementDuration` | 422 | 

**Errores asíncronos**

Los siguientes errores son específicos de las `UpdateValidityTerms` 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 | 
| --- | --- | 
| ACUERDO\_INCOMPATIBLE | AgreementStartDate no puede estar en el futuro cuando el acuerdo actual que se va a reemplazar no esté fechado en el futuro. | 
| FECHA DE FINALIZACIÓN DEL ACUERDO INCOMPATIBLE | AgreementEndDate no se puede actualizar una vez publicada la oferta. | 
| INCOMPATIBLE\_AGREEMENT\_START\_DATE | AgreementStartDate no se puede actualizar una vez publicada la oferta. | 
| PRODUCTO\_INCOMPATIBLE | AgreementStartDate in the future no es compatible. | 
| INCOMPATIBLE\_RESALE\_AUTHORIZATION | Asegúrese de que la duración entre y sea compatible con. AgreementStartDate AgreementEndDate ResaleAuthorization | 
| INCOMPATIBLE\_RESALE\_AUTHORIZATION | Asegúrese de que sea compatible con. AgreementStartDate ResaleAuthorization | 
| INCOMPATIBLE\_RESALE\_AUTHORIZATION | Asegúrese de que sea compatible con. AgreementEndDate ResaleAuthorization | 
| INCOMPATIBLE\_RESALE\_AUTHORIZATION | Asegúrese de que la duración entre y sea compatible con. AgreementStartDate AgreementEndDate ResaleAuthorization | 
| INCOMPATIBLE\_RESALE\_AUTHORIZATION | Asegúrese de que coincida con la duración especificada en. AgreementDuration ResaleAuthorization | 
| TERMINOS\_INCOMPATIBLES  | ValidityTerm no se admite en ofertas públicas. | 
| TERMINOS\_INCOMPATIBLES  | El cambio solicitado no se podrá realizar una vez que la oferta haya caducado. | 
| DURACIÓN\_DEL\_ACUERDO NO VÁLIDO | Siempre AgreementDuration que sea mayor o igual a [x] días. | 
| FECHA DE FINALIZACIÓN DEL ACUERDO NO VÁLIDA | Proporcione un futuro AgreementEndDate. | 
| FECHA DE FINALIZACIÓN DEL ACUERDO NO VÁLIDA | Siempre AgreementEndDate que sea posterior o igual a [x]. | 
| DATA\_DE\_INICIO DEL ACUERDO NO VÁLIDO | Proporcione una que sea posterior. AgreementStartDate AvailabilityEndDate | 
| ACUERDO\_FECHA DE INICIO NO VÁLIDO | Proporcione una que esté antes de. AgreementStartDate AgreementEndDate | 
| ACUERDO\_FECHA DE INICIO NO VÁLIDA | Proporcione una que esté dentro de [x] AgreementStartDate años a partir de hoy. | 
| ACUERDO\_INTERVALO DE TIEMPO NO VÁLIDO | ValidityTerm con ambos y no es compatible. AgreementDuration AgreementEndDate  | 
| ACUERDO\_TIEMPO\_INTERVALO NO VÁLIDO | ValidityTerm con ambos AgreementStartDate y AgreementDuration no está incluido en la oferta del producto. | 
| ACUERDO\_TIEMPO\_INTERVALO NO VÁLIDO | ValidityTerm con AgreementStartDate no se admite en la oferta del producto. | 
| ACUERDO\_TIEMPO\_INTERVALO NO VÁLIDO | ValidityTerm con solo no es compatible. AgreementStartDate  | 
| ACUERDO\_TIEMPO\_INTERVALO NO VÁLIDO | AgreementEndDate no se admite a menos que se utilice en combinación con una oferta futura AgreementStartDate o de reemplazo. | 
| ACUERDO\_TIEMPO\_INTERVALO NO VÁLIDO | Indique AgreementStartDate y AgreementEndDate cuando la diferencia sea inferior o igual a [x] años. | 
| FECHA DE INICIO DEL ACUERDO FALTANTE | Asegúrese de que esté presente cuando se utilice junto AgreementStartDate con. ValidityTerm ConfigurableUpfrontPricingTerm | 
| FECHA DE FINALIZACIÓN DEL ACUERDO NO VÁLIDA | Proporcione una que esté dentro de [x] AgreementEndDate años a partir de hoy. | 
| FECHA DE INICIO DEL ACUERDO INCOMPATIBLE | Proporcione lo mismo AgreementStartDate que se define en el acuerdo cuando el acuerdo tenga una fecha de inicio futura. | 
| ACUERDO\_INCOMPATIBLE | AgreementStartDate no puede tener fecha futura cuando el acuerdo no tiene fecha futura. | 

## Actualizar los detalles del calendario de pagos
<a name="update-payment-schedule-terms"></a>

Puedes usar la API del catálogo para actualizar los detalles del calendario de pagos de tu oferta, como un calendario de pagos flexible, en AWS Marketplace. 

**nota**  
No puedes usar el tipo de `UpdatePaymentScheduleTerms` cambio en una oferta que ya se haya [publicado](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/offers.html#release-offer) (también denominada «*publicada*»).  
La oferta privada se puede aceptar cualquier día entre la creación de la oferta privada y su [vencimiento](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/offers.html#update-availability) (establecido en el`AvailabilityEndDate`). Solo un `ChargeDate` valor del calendario de pagos puede ser una fecha igual o anterior al último día en que el comprador pueda aceptar la oferta privada (la fecha de caducidad de la oferta privada). Los valores restantes de `ChargeDate` deben ser posteriores al vencimiento de la oferta privada, pero no más tarde de la finalización del acuerdo si la oferta privada se ha aceptado inmediatamente. La finalización del acuerdo se basa en el momento en que se acepta la oferta privada (por lo que se crea el acuerdo) más la [duración del acuerdo](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/offers.html#update-validity-terms).

Para actualizar los detalles del calendario de pagos de tu oferta, llama a la operación de la `StartChangeSet` API con el tipo de `UpdatePaymentScheduleTerms` 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": "UpdatePaymentScheduleTerms",
      "Entity": {
        "Type": "Offer@1.0",
        "Identifier": "offer-123456789"
      },
      "DetailsDocument": {
        "Terms": [
          {
            "Type": "PaymentScheduleTerm",
            "Schedule": [
              {
                "ChargeDate": "2021-12-01",
                "ChargeAmount": "200.00"
              },
              {
                "ChargeDate": "2022-03-01",
                "ChargeAmount": "250.00"
              }
            ]
          }
        ]
      }
    }
  ]
}
```

Proporciona información sobre los campos para añadir el tipo de `UpdatePaymentScheduleTerms` cambio:
+ **Entidad** (objeto) (obligatorio): su oferta. 
  + **Tipo** (cadena) (obligatorio): siempre `Type` está`Offer@1.0`. 
  + **Identificador** (cadena) (obligatorio): el identificador de tu oferta. Para obtener más información, consulte [Identificador](catalog-apis.md#identifier).
+ **DetailsDocument**(objeto) (obligatorio): el valor JSON de los detalles de la solicitud.
  + **Condiciones** (conjunto de estructuras): lista de las condiciones de pago que deseas actualizar. Las condiciones de pago admitidas son:
    + **PaymentScheduleTerm**(objeto): define un modelo de precios basado en cuotas en el que a los clientes se les cobra un precio fijo en fechas diferentes durante el período de validez del acuerdo.
      + **Tipo** (cadena): tipo del plazo que se va a actualizar. Este es el valor del objeto:`"PaymentScheduleTerm"`.
      + **Calendario** (conjunto de estructuras): lista del calendario de pagos en el que cada elemento define una cuota de pago. Contiene la información necesaria para calcular el precio a pagar y la fecha en que se cobraría al cliente.
        + **ChargeDate**(cadena): fecha en la que el cliente pagaría el precio definido en este plazo del calendario de pagos. `ChargeDate`se representa en YYYY-MM-DD formato. Las facturas se generan en la fecha indicada.
        + **ChargeAmount**(string): el precio que el cliente pagaría en la fecha programada (`ChargeDate`).

**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 AWS Marketplace directrices. El proceso de validación puede tardar unos minutos. 

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. `UpdatePaymentScheduleTerms` 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 | HTTP | 
| --- | --- | --- | 
| Términos | Obligatorio<br />Solo `PaymentScheduleTerm` está permitida<br />El tamaño de la lista debe ser inferior a 2 | 422 | 
| Términos [] .Tipo | Obligatorio<br />Solo puede ser `PaymentScheduleTerm` | 422 | 
| Términos []. PaymentScheduleTerm.CurrencyCode | Obligatorio<br />Divisas admitidas: ["USD», «AUD», «EUR», «GBP», «JPY"] | 422 | 
| Condiciones []. PaymentScheduleTerm.Schedule[] | Obligatorio | 422 | 
| Términos []. PaymentScheduleTerm.Schedule[]. ChargeAmount | ObligatorioEl tipo de fecha es «Cadena»<br />Non-negativeSe admiten decimales con un máximo de 2 decimales | 422 | 
| Términos []. PaymentScheduleTerm.Schedule[]. ChargeDate | Obligatorio<br />La fecha debe tener el formato "» YYYY-MM-DD | 422 | 

**Errores asíncronos**

Los siguientes errores son específicos de las `UpdatePaymentScheduleTerms` 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 | 
| --- | --- | 
| DATAS\_DE\_CARGA DUPLICADAS | Indique fechas de cargo únicas en. PaymentScheduleTerm | 
| CÓDIGO\_MONETARIO\_INCOMPATIBLE\_DE\_MONEDA | CurrencyCode no se puede cambiar una vez publicada la oferta. | 
| PORCENTAJE DE MARCADO INCOMPATIBLE | PaymentScheduleTerm no se admite cuando MarkupPercentage es mayor que cero (0). | 
| CONFIGURACIÓN\_DE\_PAGO INCOMPATIBLE\_DE\_PAGO | Actualice su configuración de pago para que sea compatible con. CurrencyCode | 
| INCOMPATIBLE\_RESALE\_AUTHORIZATION | Proporcione términos que sean compatibles con. ResaleAuthorization Términos incompatibles: [PaymentScheduleTerm]. | 
| AUTORIZACIÓN DE REVENTA INCOMPATIBLE\_ | Asegúrese de que la entrada total sea compatible con. ChargeAmounts PaymentScheduleTerm ResaleAuthorization | 
| VERIFICACIÓN DE VENDEDOR INCOMPATIBLE | Completa todos los procesos de verificación del vendedor necesarios. | 
| TERMINOS\_INCOMPATIBLES | El cambio solicitado no se podrá realizar una vez publicada la oferta. | 
| TERMINOS\_INCOMPATIBLES | El cambio solicitado no se podrá realizar una vez que la oferta haya caducado. | 
| FECHAS DE CARGA NO VÁLIDAS | Indique las fechas de cobro anteriores. AgreementEndDate | 
| CÓDIGO\_DE\_DIVISA NO VÁLIDO | Proporcione un soporte. CurrencyCode | 
| CÓDIGO\_DE\_DIVISA NO VÁLIDO | Proporciona lo mismo en CurrencyCode todos los precios y condiciones de pago. | 
| DEMASIADOS CARGOS ATRASADOS | Realice hasta 1 pago programado antes. AvailabilityEndDate | 
| FECHAS DE CARGA NO VÁLIDAS | Indique una fecha del último cargo que sea anterior. AgreementEndDate | 
| FECHAS DE CARGA NO VÁLIDAS | Indique una fecha del primer cargo que no esté en el pasado. | 
| DEMASIADOS CARGOS | Realiza hasta [x] pagos programados. PaymentScheduleTerm | 

## Modifique las opciones de renovación
<a name="update-renewal-terms"></a>

Puedes usar la API del catálogo para controlar las opciones de renovación de los acuerdos que se creen con esta oferta en AWS Marketplace. 

En el caso de las ofertas creadas a través de la API de catálogo, la renovación automática permanece desactivada de forma predeterminada hasta que se active el tipo de `UpdateRenewalTerms` cambio para permitir la renovación automática. Este cambio no afecta a los acuerdos existentes.

Para controlar las opciones de renovación de los acuerdos que se crean con esta oferta, llama a la operación de `StartChangeSet` API con el tipo de `UpdateRenewalTerms` 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": "UpdateRenewalTerms",
      "Entity": {
        "Type": "Offer@1.0",
        "Identifier": "offer-123456789"
      },
      "DetailsDocument": {
        "Terms": [
          {
            "Type": "RenewalTerm"
          }
        ]
      }
    }
  ]
}
```

Proporcione información sobre los campos para añadir el tipo de `UpdateRenewalTerms` cambio:
+ **Entidad** (objeto) (obligatorio): su oferta. 
  + **Tipo** (cadena) (obligatorio): siempre `Type` está`Offer@1.0`. 
  + **Identificador** (cadena) (obligatorio): el identificador de tu oferta. Para obtener más información, consulte [Identificador](catalog-apis.md#identifier).
+ **DetailsDocument**(objeto) (obligatorio): el valor JSON de los detalles de la solicitud.
  + **Términos** (conjunto de estructuras): lista de los términos de renovación que deseas actualizar. Los términos de renovación admitidos son:
    + **RenewalTerm**(objeto): Define que, en caso de rescisión forzosa (caducidad del contrato`ValidityTerm`, no del comprador o AWS Marketplace cancelación), se creará un nuevo contrato utilizando las condiciones aceptadas en el contrato vigente. En otras palabras, el acuerdo se renovará. La presencia de `RenewalTerm` en la oferta significa que se permite la renovación automática. Los compradores tendrán la opción de aceptar o rechazar la renovación automática al acceptance/agreement crear la oferta.
      + **Tipo** (cadena): tipo del término que se va a actualizar. `RenewalTerm`

**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 AWS Marketplace directrices. El proceso de validación puede tardar unos minutos. 

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. `UpdateRenewalTerms` 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 | 
| --- | --- | --- | 
| Términos | Obligatorio | 422 | 
| Términos [] .Tipo | ObligatorioSolo puede ser "» RenewalTerm | 422 | 

**Errores asíncronos**

Los siguientes errores son específicos de las `UpdateRenewalTerms` 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 | 
| --- | --- | 
| PRODUCTO\_INCOMPATIBLE\_DE\_PRODUCTO | RenewalTerm no se admite en las ofertas privadas del producto. | 
| TERMINOS\_INCOMPATIBLES  | RenewalTerm no es compatible junto con. PaymentScheduleTerm | 
| TERMINOS\_INCOMPATIBLES  | RenewalTerm no es compatible con. PricingModel | 
| TERMINOS\_INCOMPATIBLES | El cambio solicitado no se podrá realizar una vez publicada la oferta. | 
| TERMINOS\_INCOMPATIBLES | El cambio solicitado no se podrá realizar una vez que la oferta haya caducado. | 

## Publica una oferta
<a name="release-offer"></a>

Puedes usar la API del catálogo para combinar la información recopilada de todos los tipos de cambios de actualización y, a continuación, publicar la oferta.

Las ofertas permanecen en un `Draft` estado hasta que `ReleaseOffer` se cancelen. Una vez publicada la oferta, se podrá encontrar en AWS Marketplace.

Para publicar tu oferta, llama a la operación de la `StartChangeSet` API con el tipo de `ReleaseOffer` 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": "ReleaseOffer",
      "Entity": {
        "Type": "Offer@1.0",
        "Identifier": "offer-123456789"
      },
      "DetailsDocument": {}
    }
  ]
}
```

Proporciona información sobre los campos para añadir el tipo de `ReleaseOffer` cambio:
+ **Entidad** (objeto): el tipo de entidad con nombre asignado que se está creando. `Identifier`Es el identificador de tu oferta y siempre `Type` lo es`Offer@1.0`. Para obtener más información, consulte [Identificador](catalog-apis.md#identifier).
+ **DetailsDocument**(objeto): el valor JSON de los detalles de la solicitud. Debe estar vacío durante`ReleaseOffer`.

**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 AWS Marketplace directrices. El proceso de validación puede tardar unos minutos. 

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. `ReleaseOffer` 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 | 
| --- | --- | 
| DetailsDocument | Debe estar vacía ({}) | 

**Errores asíncronos**

Los siguientes errores son específicos de las `ReleaseOffer` 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 | 
| --- | --- | 
| CONFIGURACIÓN\_DE\_PAGO INCOMPATIBLE\_DE\_PAGO | Actualice su configuración de pago para que sea compatible con. CurrencyCode | 
| PRODUCTO\_INCOMPATIBLE | En primer lugar, cree una oferta pública para el producto. | 
| VERIFICACIÓN DE VENDEDOR INCOMPATIBLE | Completa todos los procesos de verificación del vendedor necesarios. | 
| SEGMENTACIÓN INCOMPATIBLE | PreExistingAgreement solo se admite en ofertas dirigidas a compradores. | 
| SEGMENTACIÓN INCOMPATIBLE | OfferSetId solo se admite en ofertas dirigidas a compradores. | 
| INFORMACIÓN\_FISCAL NO VÁLIDA | Tu información tributaria está incompleta. Para vender servicios profesionales AWS Marketplace, debes completar el cuestionario fiscal DAC7. Ve a la sección de información de pago y selecciona el formulario fiscal DAC7. La información tributaria puede tardar hasta dos horas en actualizarse. | 
| SOLICITUD DE ACTUALIZACIÓN NO VÁLIDA | El cambio solicitado no se podrá realizar una vez publicada la oferta. | 
| MISSING\_AGREEMENT\_END\_DATE | Proporcione una oferta de reemplazo. AgreementEndDate  | 
| FALTA LA FECHA DE FINALIZACIÓN DE LA DISPONIBILIDAD | Proporcione una oferta para uso privado. AvailabilityEndDate  | 
| CUENTAS DE COMPRADOR FALTANTES | Proporcione para las ofertas creadas PositiveTargeting con. BuyersAccounts ResaleAuthorization | 
| CUENTAS DE COMPRADOR FALTANTES | Todas las ofertas del producto deben ser privadas. Proporcione PositiveTargeting BuyersAccounts. | 
| MISSING\_DESCRIPTION | Defina la descripción antes de lanzar la oferta. | 
| FALTAN CONDICIONES OBLIGATORIAS | Añade [x] a la oferta. | 
| FALTAN CONDICIONES OBLIGATORIAS | Indique un cuando la oferta contenga un FixedUpfrontPricingTerm . PaymentScheduleTerm | 
| NOMBRE\_PERDIDO | Defina el nombre antes de lanzar la oferta. | 
| DEMASIADAS OFERTAS | Solo se puede crear una oferta pública de prueba gratuita por producto. | 
| DEMASIADAS OFERTAS | Solo se puede crear una oferta pública por producto. | 
| FALTAN CONDICIONES OBLIGATORIAS | Indique un precio contractual RenewalTerm para el producto para las ofertas públicas. | 
| FALTA LA FECHA DE FINALIZACIÓN DEL ACUERDO | Proporcione una oferta de reemplazo. AgreementEndDate  | 

## Describa los detalles de la oferta existente
<a name="describe-entity"></a>

Puedes usar la API del catálogo para describir los detalles de las ofertas existentes en AWS Marketplace. 

Para describir los detalles de la oferta existente, llama a la operación de la `DescribeEntity` API con el tipo de `Offer@1.0` entidad, como se muestra en el siguiente ejemplo.

**Sintaxis de la solicitud**

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

Proporciona información sobre los campos para añadir el tipo de `DescribeEntity` cambio:
+ **catálogo** (cadena): el catálogo relacionado con la solicitud. Valor fijo:`AWSMarketplace`.
+ **entityID** (cadena): el identificador único de la oferta que se va a describir.

**Sintaxis de respuesta**

La respuesta a esta solicitud proporciona los detalles de la oferta y tiene el siguiente aspecto.

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

La siguiente es información sobre los campos que ves en la `DescribeEntity` respuesta.
+ **EntityType**(cadena): el tipo con nombre de la entidad, que es`Offer@1.0`.
+ **EntityIdentifier**(cadena): el identificador de la entidad, con el formato de`EntityId@RevisionId`.
+ **EntityArn**(cadena): el ARN asociado al identificador único del conjunto de cambios al que se hace referencia en esta solicitud.
+ **LastModifiedDate**(cadena): la fecha de la última modificación de la entidad, en formato ISO 8601 (por ejemplo:`2018-02-27T13:45:22Z`).
+ **Detalles** (cadena): este objeto JSON en cadena incluye los siguientes detalles de la entidad:
  + **Id** (cadena): identificador único de una entidad de oferta que se genera durante la creación de una oferta. AWS Marketplace 
  + **Estado** (cadena): el estado de la oferta.
  + **Nombre** (cadena): el nombre asociado a la oferta para que usted y sus clientes puedan leerlo mejor. También se mostrará como parte de la información del acuerdo.
  + **Descripción** (cadena): la descripción es un texto de formato libre que solo tú puedes usar y que nunca estará expuesto a los compradores.
  + **PreExistingAgreement**(cadena): determina si esta oferta es una renovación de un acuerdo existente con un cliente existente para el mismo producto subyacente. El acuerdo existente puede ser interno o externo AWS Marketplace. AWS puede auditar y verificar que su oferta es una renovación. Si AWS no puede verificar su oferta, AWS podrá revocar la oferta y los derechos de su cliente.
    + **AcquisitionChannel**(cadena): indica si el acuerdo existente se firmó de forma externa AWS Marketplace o interna. AWS Marketplace Valores posibles:`External`,`AwsMarketplace`.

       
    + **PricingModel**(cadena): indica qué modelo de precios utiliza el acuerdo existente. Valores posibles:`Contract`,`Usage`,`Byol`,`Free`.
  + **ProductId**(cadena): el identificador único del producto que se ofrece.
  + **OfferSetId**(cadena): el identificador único del conjunto de ofertas al que se va a asociar esta oferta.
  + **Términos** (conjunto de estructuras): lista de términos.
  + **Reglas** (conjunto de estructuras): lista de reglas.