

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 las ofertas privadas de los socios de canal mediante el AWS Marketplace API
<a name="work-with-cppos"></a>

Puedes utilizarlas AWS Marketplace Catalog API para automatizar tareas y trabajar con ofertas privadas de socios de canal (CPPO). 

Al crear o actualizar una CPPO, el borrador de la oferta incluirá los términos y normas de una autorización de reventa y el comprador no podrá verlo. Es posible, pero no obligatorio, involucrar a varias personas de tu organización para crear una oferta privada. 

Por ejemplo, una persona puede ser responsable de actualizar los precios, mientras que una segunda persona puede ser responsable de actualizar el calendario de pagos. Luego, una tercera persona puede ser responsable de actualizar los términos legales. Puedes dar permiso a una persona para que actualice determinadas partes de una oferta. Sin embargo, solo puedes conceder permisos de lectura a las autorizaciones de reventa.

Como requisito previo para realizar cambios en los tipos de llamadas, debe haber recibido una o más autorizaciones de reventa y estar familiarizado con ellas. AWS Marketplace Catalog API

Para obtener más información, consulta las [ofertas privadas de los socios del canal](https://docs.aws.amazon.com/marketplace/latest/userguide/channel-partner-offers.html) en la Guía del *AWS Marketplace vendedor*.

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

**Topics**
+ [Requisitos previos de la CPPO](#cppo-prerequisites)
+ [Crea un CPPO](#create-offer-using-resale-auth)
+ [Crea una oferta de reemplazo privada para tu socio de canal](#create-replacement-offer-using-resale-auth)
+ [Actualice el marcado](#update-markup)
+ [Actualice la configuración de segmentación](#update-targeting-cppo)
+ [Actualice los recursos legales](#update-legal-terms-cppo)
+ [Actualice la visibilidad de la CPPO](#update-availability-cppo)
+ [Defina la fecha de caducidad de los acuerdos](#update-validity-terms-cppo)
+ [Actualizar los precios](#update-pricing-terms-cppo)
+ [Actualice los detalles del calendario de pagos](#update-payment-schedule-terms-cppo)
+ [Publica la CPPO](#release-offer-cppo)
+ [Defina un CPPO existente](#describe-entity-cppo)

## Requisitos previos de la CPPO
<a name="cppo-prerequisites"></a>

Service-linked el rol de configuración ResaleAuthorization (SLR) es un requisito previo obligatorio para utilizar la autorización de reventa para crear una CPPO. Para utilizar la autorización de reventa, tanto los proveedores de software independientes (ISV) como los socios de AWS Marketplace canal deben crear un rol vinculado al servicio que proporcione permisos para compartir recursos a. AWS Si ambos grupos no cumplen con este requisito previo, no AWS podrán compartir el recurso de autorización del ISV con el socio de canal. AWS Marketplace Para obtener más información, consulta el artículo [Uso de funciones para la autorización de reventa AWS Marketplace](https://docs.aws.amazon.com/marketplace/latest/userguide/using-roles-for-resale-authorization.html) en la Guía del *AWS Marketplace vendedor*.

## Crea un CPPO
<a name="create-offer-using-resale-auth"></a>

Utiliza una autorización de reventa dirigida a usted para crear una oferta privada para socios de canal (CPPO) en `Draft` el estado de Indiana. AWS Marketplace

Si tu solicitud se procesa correctamente, AWS Marketplace Catalog API generará una oferta en el `Draft` estado con las condiciones de la autorización de reventa. Puedes utilizarla `DescribeEntity` para ver las condiciones que se aplican al borrador de la oferta en Resale Authorization. Esta oferta está incompleta y los compradores no la pueden ver. AWS Marketplace A continuación, utilizas los tipos de cambios asociados al CPPO para completar la oferta.

Una vez completada la oferta, utiliza el tipo de `ReleaseOffer` cambio para completar el proceso de creación de la oferta y liberarla. De este modo, se validará toda la oferta y los compradores podrán verla AWS Marketplace.

Para crear una oferta privada para un socio de canal, llama a la operación de la `StartChangeSet` API con el tipo de `CreateOfferUsingResaleAuthorization` 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": "CreateOfferUsingResaleAuthorization",
      "Entity": {
        "Type": "Offer@1.0"
      },
      "DetailsDocument": {
        "ResaleAuthorizationId": "resaleauthz-123456789",
        "Name": "Test Offer",
        "OfferSetId": "offerset-b3f9EXAMPLE27"
      }
    }
  ]
}
```

Proporciona información sobre los campos para añadir el tipo de `CreateOfferUsingResaleAuthorization` cambio:
+ **Entidad** (objeto) (obligatorio): su CPPO. 
  + **Tipo** (cadena) (obligatorio): siempre `Type` `Offer@1.0` está. 
+ **DetailsDocument**(objeto) (obligatorio): el valor JSON de las características específicas de la solicitud.
  + **ResaleAuthorizationId**(cadena) (obligatorio): el identificador único que incluye el producto, las condiciones y las reglas que se ofrecen. Los socios de canal pueden añadir términos y reglas adicionales mediante los tipos de cambios de actualización. ResaleAuthorization debe estar disponible y estar dirigido a ti como socio.
  + **Nombre** (cadena) (opcional): el nombre asociado a la oferta para una mejor legibilidad. 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 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.

La respuesta a esta solicitud indica el estado de la solicitud. Si el estado es`SUCCEEDED`, `OfferId` se genera uno nuevo.

```
{
  "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": "CreateOfferUsingResaleAuthorization",
      "Entity": {
        "Type": "Offer@1.0",
        "Identifier": "offer-123456789"
      },
      "DetailsDocument": {
        "ResaleAuthorizationId": "resaleauthz-123456789",
        "Name": "Test Offer"
      },
      "ErrorDetailList": []
    }
  ]
}
```

Puedes usar la `GET` `DescribeEntity` solicitud para describir el borrador de las reglas y condiciones de la oferta creado a partir `ResaleAuthorization` de la AWS Marketplace Catalog API Referencia. Para obtener más información, consulte [https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html).

**Términos y reglas de ResaleAuthorization**
+ **LegalTerms**— Las disposiciones que describen los términos legales, como el EULA del, se ResaleAuthorization añadirán al borrador de la oferta. Puede añadir términos legales mediante el tipo de `UpdateLegalTerms` cambio. Para obtener más información, consulte [https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/cppos.html#update-legal-terms-cppo](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/cppos.html#update-legal-terms-cppo).
+ **PricingTerms**— Todos los términos de precios (`ConfigurableUpfrontPricingTerm`,`FixedUpfrontPricingTerm`,`UsageBasedPricingTerm`,`PaymentScheduleTerms`) descritos por el fabricante en el se ResaleAuthorization añadirán al borrador de la oferta. Puedes optar por aumentar el precio (para cada dimensión) para tus compradores objetivo mediante el tipo de `UpdateMarkup` cambio. Para obtener más información, consulte la sección [https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/cppos.html#update-markup](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/cppos.html#update-markup) de esta guía.
+ **PaymentTerms**— Si el fabricante ha definido el calendario de pagos futuros en la ResaleAuthorization, podrás ver las condiciones de pago en el borrador de la oferta. Puedes optar por aumentar el importe del calendario de pagos para tus compradores objetivo mediante el tipo de `UpdateMarkup` cambio. Si quieres establecer el calendario de pagos para tus compradores, puedes utilizar`UpdatePaymentScheduleTerms`. Para obtener más información, consulte [https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/cppos.html#update-payment-schedule-terms-cppo](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/cppos.html#update-payment-schedule-terms-cppo).
+ **TargetingRule**— Si ResaleAuthorization está dirigido a compradores específicos, los socios del canal pueden ofrecer ofertas privadas a un subconjunto de compradores PositiveTargeting utilizándolas. De forma predeterminada, la regla incluirá a todos los compradores de ResaleAuthorization. Puedes seleccionar compradores específicos y actualizar el borrador de la oferta mediante el tipo de `UpdateTargeting` cambio. Para obtener más información, consulte [https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/cppos.html#update-targeting-cppo](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/cppos.html#update-targeting-cppo).

```
{
  "EntityType": "Offer@1.0",
  "EntityIdentifier": "offer-a5EXAMPLEwzpu@1",
  "EntityArn": "arn:aws:aws-marketplace:us-east-1:444555666777:AWSMarketplace/Offer/offer-a5oEXAMPLEzpu",
  "LastModifiedDate": "2021-03-10T21:57:16Z",
  "DetailsDocument": {
    "Id": "offer-3rb23tu92rn",
    "Name": "Test Offer",
    "Description": "Worldwide private offer for Test Product",
    "ProductId": "prod-0bc848d78b51",
    "ResaleAuthorizationId": "resaleauthz-123456789",
    "Terms": [
      {
        "Type": "LegalTerm",
        "Documents": [
          {
            "Type": "CustomEula",
            "Url": "https://s3.amazonaws.com/EULA/custom-eula-1234.txt"
          }
        ]
      },
      {
        "Type": "ConfigurableUpfrontPricingTerm",
        "CurrencyCode": "USD",
        "RateCards": [
          {
            "Selector": {
              "Type": "Duration",
              "Value": "P12M"
            },
            "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": "PaymentScheduleTerm",
        "CurrencyCode": "USD",
        "Schedule": [
          {
            "ChargeDate": "2020-12-01T00:00:00.000Z",
            "ChargeAmount": "1000.00"
          },
          {
            "ChargeDate": "2021-06-15T00:00:00.000Z",
            "ChargeAmount": "1250.00"
          }
        ]
      }
    ],
    "Rules": [
      {
        "Type": "TargetingRule",
        "PositiveTargeting": {
          "BuyerAccounts": [
            "111222333444"
          ]
        }
      }
    ]
  }
}
```

**Validaciones sincrónicas**

Las siguientes validaciones de esquema son específicas de las acciones de. `CreateOfferUsingResaleAuthorization` 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 | 
| --- | --- | --- | 
| Name | Obligatorio<br />La longitud debe estar entre 1 y 150 caracteres | 422 | 
| Description (Descripción) | Obligatorio<br />La longitud debe estar entre 1 y 255 caracteres | 422 | 
| ResaleAuthorizationId | Obligatorio<br />La longitud debe estar entre 1 y 50 caracteres | 422 | 
| ResaleAuthorizationId | ResaleAuthorization debe estar dirigido al socio de canal. | 422 | 
| ResaleAuthorizationId | ResaleAuthorization debe estar activo | 422 | 
| Socio de canal | Al socio de canal se le debe pagar como vendedor en AWS Marketplace | 422 | 

**Errores asíncronos**

Los siguientes errores son específicos de las `CreateOfferUsingResaleAuthorization` 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\_RESALE\_AUTHORIZATION | Usa un estado activo. ResaleAuthorization  | 
| PRODUCTO\_INCOMPATIBLE | OfferSetId no está incluido en las ofertas del producto. | 

## Crea una oferta de reemplazo privada para tu socio de canal
<a name="create-replacement-offer-using-resale-auth"></a>

Puedes usar la API del catálogo para crear una oferta de reemplazo privada para un socio de canal en AWS Marketplace.

Para crear en la API Catalog una oferta de reemplazo privada para su socio de canal en el `Draft` estado, utiliza la que está `ResaleAuthorization` dirigida a usted y un acuerdo del que es el proponente. Para ello, utilice `StartChangeSet` el tipo de `CreateReplacementOfferUsingResaleAuthorization` cambio, tal y como se muestra en el siguiente ejemplo. Las ofertas de sustitución se pueden utilizar para sustituir un acuerdo de una oferta anterior antes de que finalice.

`CreateReplacementOfferUsingResaleAuthorization`creará un borrador de oferta con el destinatario del acuerdo como segmentación. Esta segmentación no se puede cambiar posteriormente. El borrador de la oferta también contendrá el identificador de la oferta de origen del acuerdo.

Para crear una oferta de reemplazo privada para un socio de canal, llama a la operación de `StartChangeSet` API con el tipo de `CreateReplacementOfferUsingResaleAuthorization` 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": "CreateReplacementOfferUsingResaleAuthorization",
      "Entity": {
        "Type": "Offer@1.0"
      },
      "DetailsDocument": {
        "ResaleAuthorizationId": "2bd2c761-3b7f-3771-a9a7-e8ad36517698",
        "Name": "CAPI-saas-abo-contract-fps",
        "AgreementId": "agmt-f2ooEXAMLEamtm7mjj0j59gu"
      }
    }
  ]
}
```

Proporcione información sobre los campos para añadir el tipo de `CreateReplacementOfferUsingResaleAuthorization` cambio:
+ **Entidad** (objeto) (obligatorio): su CPPO. 
  + **Tipo** (cadena) (obligatorio): siempre `Type` `Offer@1.0` está. 
+ **DetailsDocument**(objeto) (obligatorio): el valor JSON de las características específicas de la solicitud.
  + **ResaleAuthorizationId**(cadena) (obligatorio): `ResaleAuthorizationId` es el identificador único que incluye el producto, los términos y las reglas que se ofrecen. Los socios del canal pueden añadir términos y reglas adicionales mediante los tipos de cambio de actualización.

    `ResaleAuthorization`debe estar disponible y estar dirigido a ti como socio.
  + **Nombre** (cadena) (opcional): `Name` 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.
  + **AgreementId**(cadena) (obligatorio): `AgreementId` es el identificador único del acuerdo creado cuando el comprador objetivo aceptó la oferta anterior que estás intentando sustituir

**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 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. `CreateReplacementOfferUsingResaleAuthorization` 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 | 
| --- | --- | 
| Name | La longitud debe estar entre 1 y 150 caracteres | 
| AgreementId | El acuerdo proporcionado debe estar activo Siempre que exista un acuerdo<br />El acuerdo proporcionado debe ser propiedad del socio de canal | 
| ResaleAuthorizationId | Obligatorio<br />La longitud debe estar entre 1 y 50 caracteres | 
| ResaleAuthorizationId | ResaleAuthorization debe estar dirigido al socio de canal. | 
| ResaleAuthorizationId | ResaleAuthorization debe estar activo | 
| Socio de canal | Al socio de canal se le debe pagar como vendedor en AWS Marketplace | 

**Errores asíncronos**

Los siguientes errores son específicos de las `CreateReplacementOfferUsingResaleAuthorization` 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\_RESALE\_AUTHORIZATION | Usa un estado activo. ResaleAuthorization  | 
| INCOMPATIBLE\_RESALE\_AUTHORIZATION |  ResaleAuthorization Debe ser para el mismo producto asociado al acuerdo. | 
| AUTORIZACIÓN DE REVENTA INCOMPATIBLE | Utilice una ResaleAuthorization dirigida al aceptante del acuerdo. | 

## Actualice el marcado
<a name="update-markup"></a>

Puedes usar la API de catálogo para actualizar las condiciones de precios en función de un porcentaje del valor de tu oferta en AWS Marketplace.

Esto aplicará el margen porcentual indicado a todas las condiciones de precios y condiciones de pago (para futuros calendarios de pago) que defina el fabricante en el ResaleAuthorization. Se sobrescribirá cualquier margen de beneficio existente. Puede ver los precios y condiciones de pago actualizados utilizando. `DescribeEntity`

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

Proporcione información sobre los campos para añadir el tipo de `UpdateMarkup` cambio:
+ **Entidad** (objeto) (obligatorio): su CPPO. 
  + **Tipo** (cadena) (obligatorio): siempre `Type` `Offer@1.0` está. 
  + **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.
  + **Porcentaje** (cadena) (obligatorio): el valor porcentual se añadirá a los precios o condiciones de pago del fabricante.

**Sintaxis de respuesta**

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

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

La solicitud de cambio se agrega a una cola y se procesa. Esto incluye validar la información con el equipo de operaciones AWS Marketplace de venta para garantizar que cumpla con las AWS Marketplace directrices. El proceso de validación puede tardar desde unos minutos hasta unas horas. 

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

**Validaciones sincrónicas**

Las siguientes validaciones de esquema son específicas de las acciones de. `UpdateMarkup` 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 | 
| --- | --- | 
| Porcentaje | Obligatorio<br />El tipo de datos es «Cadena» <br />No debe ser negativo <br />Permita un máximo de 9 decimales | 

**Errores asíncronos**

Los siguientes errores son específicos de las `UpdateMarkup` 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\_MARKUP | El cambio solicitado no se podrá realizar una vez publicada la oferta. | 
| INCOMPATIBLE\_RESALE\_AUTHORIZATION | MarkupPercentageno se pueden actualizar PaymentScheduleTerm o FixedUpfrontPricingTerm están presentes en la oferta y no están presentes en. ResaleAuthorization | 
| TERMINOS\_INCOMPATIBLES | Úselo UpdatePaymentScheduleTerms con un importe de pago específico o UpdateMarkup con un único porcentaje de margen de beneficio para las fechas programadas. | 
| PORCENTAJE DE MARGEN DE BENEFICIO NO VÁLIDO | UpdateMarkup solo se puede invocar para las ofertas creadas con. ResaleAuthorization | 

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

Puedes usar la API del catálogo para reemplazar por completo la configuración de segmentación existente AWS Marketplace.

Todas las opciones de segmentación existentes que no estén incluidas en la última solicitud se eliminarán de la oferta. Los fabricantes pueden mencionar a compradores específicos en`ResaleAuthorization`. Los socios de canal pueden ofrecer ofertas privadas a un subconjunto de compradores utilizando `PositiveTargeting` el tipo de `UpdateTargeting` cambio.

Para actualizar las configuraciones 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": [
            "111222333444"
          ]
        },
        "NegativeTargeting": {
          "CountryCodes": [
            "XX"
          ]
        }
      }
    }
  ]
}
```

Proporciona información sobre los campos para añadir el tipo de `UpdateTargeting` cambio:
+ **Entidad** (objeto) (obligatorio): su CPPO. 
  + **Tipo** (cadena) (obligatorio): siempre `Type` `Offer@1.0` está. 
  + **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 dirigir la oferta a un destinatario 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 desde unos minutos hasta unas horas. 

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

**Validaciones sincrónicas**

Las siguientes validaciones de esquema son específicas de las acciones de. `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 | 
| --- | --- | --- | 
|  Details  | Obligatorio | 422 | 
|  PositiveTargeting | Opcional | 422 | 
| NegativeTargeting | Opcional | 422 | 
| PositiveTargeting.CountryCodes | Opcional<br />Los códigos de país deben ser válidos (ISO 3166-1 alpha-2) | 422 | 
| PositiveTargeting.BuyerAccounts | Opcional<br />Cuenta de AWS Los ID deben tener un formato válido (número de 12 dígitos)<br />No debe contener más de 25 cuentas | 422 | 
| NegativeTargeting.CountryCodes | Opcional<br />Los códigos de país deben ser válidos (ISO 3166-1 alpha-2) | 422 | 
| NegativeTargeting.BuyerAccounts | No debe proporcionarse ( BuyerAccounts no se admite la segmentación negativa activada) | 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  | 

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

Puedes usar la API del catálogo para fusionar los términos legales de la autorización de reventa y reemplazar por completo los términos legales existentes. AWS Marketplace

Este cambio no afecta a los acuerdos existentes. Los términos legales que no estén incluidos en la última solicitud se eliminarán de la oferta. Para ver las condiciones legales combinadas, llama al teléfono`DescribeEntity`.

Para actualizar los términos 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 CPPO. 
  + **Tipo** (cadena) (obligatorio): siempre `Type` `Offer@1.0` está. 
  + **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 legales que deseas actualizar. Los términos legales admitidos son:
  + **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): categoría del término que se va a actualizar.
    + **Documentos** (conjunto de estructuras) (obligatorio): lista de referencias a recursos legales que se propondrán a los compradores. Un ejemplo de este recurso es el acuerdo de licencia de usuario final (EULA). Cada referencia se compone de un tipo y una 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 la URL de un EULA almacenado en un depósito de S3 accesible.
        + **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. Esto es obligatorio cuando `Type` es`StandardEula`. Las versiones disponibles son:
        + **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)

Se crea un conjunto de cambios para su solicitud. La respuesta a esta solicitud le proporciona el ID del conjunto de cambios.

**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. Esto incluye validar la información con el equipo de operaciones AWS Marketplace de venta para garantizar que cumpla con las AWS Marketplace directrices. El proceso de validación puede tardar desde unos minutos hasta unas horas. Puedes comprobar el estado de la solicitud a través de la AWS Marketplace Management Portal API del catálogo o en la misma `DescribeChangeSet` acción.

**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 []. 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-cppos.html) | 422 | 
| Términos []. LegalTerm.Documents[] .Url | Obligatorio y debe ser una URL válida cuando «Tipo» es una de las siguientes[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/marketplace/latest/developerguide/work-with-cppos.html) | 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. | 

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

Puedes usar la API del catálogo para gestionar la visibilidad de tu oferta en. AWS Marketplace Este tipo de cambio no afecta a los acuerdos existentes. 

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.

Para gestionar 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 CPPO. 
  + **Tipo** (cadena) (obligatorio): siempre `Type` `Offer@1.0` está. 
  + **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): fecha en la que se podrá 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. La oferta vence a las 23:59:59 .999 UTC de la fecha indicada.

**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 desde unos minutos hasta unas horas. 

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

**Validaciones sincrónicas**

Las siguientes validaciones de esquema son específicas de las acciones de. `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
<a name="update-validity-terms-cppo"></a>

Puede utilizar la API del catálogo para definir la fecha de caducidad de los acuerdos que se creen con esta oferta en AWS Marketplace.

Este cambio no afecta a los acuerdos existentes. El fabricante podría mencionar la fecha máxima de inicio del acuerdo en una autorización de reventa. Sin embargo, los socios de canal no pueden proporcionar una fecha de inicio del acuerdo posterior a esa fecha.

Para definir la fecha de caducidad de los acuerdos, llama a la operación de la `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 CPPO. 
  + **Tipo** (cadena) (obligatorio): siempre `Type` `Offer@1.0` está. 
  + **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.
      + **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 desde unos minutos hasta unas horas. 

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

**Validaciones sincrónicas**

Las siguientes validaciones de esquema son específicas de las acciones de. `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<br />Solo se permite ValidityTerm "» en la lista <br />Debe estar vacío o contener solo un término | 422 | 
|  Términos []. ValidityTerm  | Casos de uso compatibles:<br />1. ValidityTerm con solo AgreementDuration<br />2. ValidityTerm con solo AgreementStartDate<br />3. ValidityTerm con solo AgreementEndDate<br />4. ValidityTerm con ambos AgreementStartDate y AgreementEndDate | 422 | 
| Términos []. ValidityTerm.AgreementDuration | Opcional<br />Representado en formato ISO\_8601. | 422 | 
| Términos []. ValidityTerm.AgreementStartDate | Opcional<br />Formato: "YYYY-MM-DD» | 422 | 
| Términos []. ValidityTerm.AgreementEndDate | Opcional<br />Formato: "YYYY-MM-DD» | 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 | 

## Actualizar los precios
<a name="update-pricing-terms-cppo"></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. Los socios de canal solo pueden utilizar este tipo de cambio para aprobarlo`FixedUpFrontPricingTerm`.

Para actualizar las condiciones de precios de tus ofertas, llama a la operación de la `StartChangeSet` API con el tipo de `UpdatePricingTerms` 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": "UpdatePricingTerms",
      "Entity": {
        "Type": "Offer@1.0",
        "Identifier": "offer-123456789"
      },
      "Details": {
        "PricingModel": "Contract",
        "Terms": [
          {
            "Type": "FixedUpfrontPricingTerm",
            "CurrencyCode": "USD",
            "Price": "200.00",
            "Duration": "P465D",
            "Grants": [
              {
                "DimensionKey": "Users",
                "MaxQuantity": 10
              }
            ]
          }
        ]
      }
    }
  ]
}
```

Proporciona información sobre los campos para añadir el tipo de `UpdatePricingTerms` cambio:
+ **Entidad** (objeto) (obligatorio): su CPPO. 
  + **Tipo** (cadena) (obligatorio): siempre `Type` `Offer@1.0` está. 
  + **Identificador** (cadena) (obligatorio): el identificador de tu oferta. Para obtener más información, consulte [Identificador](catalog-apis.md#identifier).
+ **Detalles** (cadena) (obligatorio): detalles de la solicitud. Este campo es un campo de cadena JSON. Debe tener el formato adecuado para un campo de cadena de una sola línea, incluidos los caracteres de escape (como las comillas) que no pueden estar en una cadena.
  + **PricingModel**(cadena) (obligatorio): modelo de precios para tu oferta. Los valores posibles para el modelo de precios son:
    + **Contrato**: modelo de Contract-based precios en el que se factura a los compradores por adelantado por el uso del 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.
    + **Condiciones** (conjunto de estructuras) (obligatorio): lista de condiciones de precios que deseas actualizar. Los términos de precios admitidos son:
      + **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.
        + **CurrencyCode**(cadena) (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) (opcional): 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 desde unos minutos hasta unas horas. 

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

**Validaciones sincrónicas**

Las siguientes validaciones de esquema son específicas de las acciones de. `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 | 
| --- | --- | 
| PricingModel | Obligatorio<br />Modelos de precios permitidos: <br />Contrato | 
| Términos | Obligatorio<br />Términos permitidos: <br />FixedUpfrontPricingTerm | 
| Términos []. FixedUpfrontPricingTerm.CurrencyCode | Obligatorio<br />Valores permitidos: ["USD», «AUD», «EUR», «GBP», «JPN"]<br />Modelos de precios permitidos:<br />Contrato | 
| Condiciones []. FixedUpfrontPricingTerm.Price | Obligatorio<br />El tipo de datos es «Cadena». No debe ser negativo <br />Support hasta 6 decimales<br />No se admiten caracteres especiales | 
| Términos []. FixedUpfrontPricingTerm.Duration | Obligatorio<br />Formato esperado: duración ISO 8601 | 
| Condiciones []. FixedUpfrontPricingTerm.Grants[]. DimensionKey | Obligatorio<br />La longitud debe estar entre 1 y 60 | 
| Términos []. FixedUpfrontPricingTerm.Grants[]. MaxQuantity | Obligatorio | 

**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 | 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 los 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. | 
| 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 | 
| CAMBIO\_DE\_PRECIO NO VÁ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 | Proporcione 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 | 
| 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 | 

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

Puede utilizar la API del catálogo para cambiar los detalles del calendario de pagos, como el calendario de pagos flexible, en AWS Marketplace.

Si el fabricante ha incluido un calendario de pagos en la autorización de reventa, Channel Partner puede:
+ Utilice el tipo de `UpdateMarkup` cambio para aplicar un margen porcentual uniforme a todos los calendarios de pagos.
+ Utilice el tipo de `UpdatePaymentScheduleTerms` cambio para establecer importes de pago personalizados en un valor superior o igual al indicado en la autorización de reventa. Las fechas de pago no se pueden cambiar. Ambas opciones no se pueden aplicar simultáneamente. Si primero se aplica un margen de beneficio y necesita cambiarlo para aplicar un calendario de pagos, defina `0` el margen según el tipo de `UpdateMarkup` cambio. Si primero se aplica un calendario de pagos, no puedes revertir el cambio para aplicar el recargo.

Para actualizar los detalles asociados al pago 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 cambio: `UpdatePaymentScheduleTerms`
+ **Entidad** (objeto) (obligatorio): su CPPO. 
  + **Tipo** (cadena) (obligatorio): siempre `Type` `Offer@1.0` está. 
  + **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 desde unos minutos hasta unas horas. 

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

**Validaciones sincrónicas**

Las siguientes validaciones de esquema son específicas de las acciones de. `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 se permite PaymentScheduleTerm "»<br />El tamaño de la lista debe ser inferior a 2 | 422 | 
| Términos []. PaymentScheduleTerm.CurrencyCode | Obligatorio<br />Divisas admitidas: ["USD», «AUD», «EUR», «GBP», «JPN"] | 422 | 
| Condiciones []. PaymentScheduleTerm.Schedule[] | Obligatorio<br />El tamaño de la lista debe estar comprendido entre 1 y 60, ambos inclusive | 422 | 
| Condiciones []. PaymentScheduleTerm.Schedule[]. ChargeDate | Obligatorio<br />Formato: "YYYY-MM-DD» | 422 | 
| Términos []. PaymentScheduleTerm.Schedule[]. ChargeAmount | ObligatorioEl tipo de datos es «Cadena»<br />Non-negativese admiten decimales con un máximo de 2 decimales<br />No se permiten propiedades adicionales | 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 | 
| PORCENTAJE DE MARGEN DE BENEFICIO INCOMPATIBLE | PaymentScheduleTerm no se admite cuando MarkupPercentage es mayor que cero (0). | 
| 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 | 
| INCOMPATIBLE\_RESALE\_AUTHORIZATION | Asegúrese de que las fechas de cargo PaymentScheduleTerm sean las mismas que las fechas de cargo del. ResaleAuthorization | 
| INCOMPATIBLE\_RESALE\_AUTHORIZATION | Asegúrese de que el importe del cargo PaymentScheduleTerm sea mayor o igual al importe del cargo vigente en esa fecha. ResaleAuthorization  | 
| 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. | 
| TERMINOS\_INCOMPATIBLES | Úselo UpdatePaymentScheduleTerms con un importe de pago específico o UpdateMarkup con un único porcentaje de margen de beneficio para las fechas programadas. | 
| FECHAS DE CARGA NO VÁLIDAS | Indique las fechas de cobro anteriores. AgreementEndDate | 
| DEMASIADOS CARGOS ATRASADOS | Realice hasta 1 pago programado antes. AvailabilityEndDate | 


| Código de error | Mensaje de error | 
| --- | --- | 
| DUPLICATE\_CHARGE\_DATES | Indique fechas de cargo únicas en. PaymentScheduleTerm | 
| CÓDIGO\_DE\_DIVISA INCOMPATIBLE\_DE\_MONEDA | CurrencyCode no se puede cambiar una vez publicada la oferta. | 
| PORCENTAJE DE MARGEN DE BENEFICIO 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\_DE\_VENDEDOR | 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 | 

## Publica la CPPO
<a name="release-offer-cppo"></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 en AWS Marketplace ella.

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) (obligatorio): su CPPO. 
  + **Tipo** (cadena) (obligatorio): siempre `Type` `Offer@1.0` está. 
  + **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. Debe estar vacío para`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 desde unos minutos hasta unas horas. 

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

**Validaciones sincrónicas**

Las siguientes validaciones de esquema son específicas de las acciones de. `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 | 
| --- | --- | 
| Details  | Debe estar vacío ({}) | 

**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 | Primero cree una oferta pública para el producto. | 
| VERIFICACIÓN DE VENDEDOR INCOMPATIBLE | Completa todos los procesos de verificación del vendedor necesarios. | 
| INVALID\_UPDATE\_REQUEST | 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 privada. AvailabilityEndDate  | 
| FALTAN TÉRMINOS OBLIGATORIOS | Indique un cuando la oferta contenga un FixedUpfrontPricingTerm . PaymentScheduleTerm | 
| MISSING\_BUYER\_ACCOUNTS | Proporcione para las ofertas creadas PositiveTargeting con. BuyersAccounts ResaleAuthorization | 
| CUENTAS DE COMPRADOR FALTANTES | Todas las ofertas del producto deben ser privadas. Proporcione PositiveTargeting BuyersAccounts. | 
| DESCRIPCIÓN FALTANTE | 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 por producto. | 
| DEMASIADAS OFERTAS | Solo se puede crear una oferta pública de prueba gratuita por producto. | 

## Defina un CPPO existente
<a name="describe-entity-cppo"></a>

Puede utilizar la API del catálogo para definir los detalles de la CPPO en. AWS Marketplace

Para definir un CPPO 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
```

Proporcione 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-a5oEXAMPLEzpu@1",
  "EntityArn": "arn:aws:aws-marketplace:us-east-1:446235747164:AWSMarketplace/Offer/offer-a5oEXAMPLEzpu",
  "LastModifiedDate": "2021-03-10T21:57:16Z",
  "Details": {
    "Id": "offer-3rEXAMPLErn",
    "State": "Released",
    "Name": "Test Offer",
    "Description": "Worldwide private offer for Test Product",
    "PreExistingAgreement": {
      "AcquisitionChannel": "External",
      "PricingModel": "Contract"
    },
    "ProductId": "prod-0bEXAMPLEb51",
    "ResaleAuthorizationId": "resaleauthz-123456789",
    "MarkupPercentage": "5.0",
    "Terms": [
      {
        "Type": "LegalTerm",
        "Documents": [
          {
            "Type": "CustomEula",
            "Url": "https://s3.amazonaws.com/EULA/custom-eula-1234.txt"
          }
        ]
      },
      {
        "Type": "ConfigurableUpfrontPricingTerm",
        "CurrencyCode": "USD",
        "RateCards": [
          {
            "Selector": {
              "Type": "Duration",
              "Value": "P12M"
            },
            "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": "PaymentScheduleTerm",
        "CurrencyCode": "USD",
        "Schedule": [
          {
            "ChargeDate": "2020-12-01T00:00:00Z",
            "ChargeAmount": "1000.00"
          },
          {
            "ChargeDate": "2021-06-15T00:00:00Z",
            "ChargeAmount": "1250.00"
          }
        ]
      }
    ],
    "Rules": [
      {
        "Type": "TargetingRule",
        "PositiveTargeting": {
          "CountryCodes": [
            "US",
            "CA"
          ],
          "BuyerAccounts": [
            "118033953248"
          ]
        },
        "NegativeTargeting": {
          "CountryCodes": [
            "XX"
          ]
        }
      },
      {
        "Type": "AvailabilityRule",
        "AvailabilityEndDate": "2050-08-30T01:56:03Z"
      }
    ]
  }
}
```

Proporciona información para los campos de entrada de 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 ()`2018-02-27T13:45:22Z`.
+ **DetailsDocument**(objeto): el objeto JSON incluye los detalles de la entidad.
  + **Id** (cadena): identificador único de una entidad de AWS Marketplace oferta que se genera durante la creación de una oferta.
  + **Estado** (cadena): el estado de la oferta.
  + **Nombre** (cadena): nombre asociado a la oferta para que usted y sus clientes puedan leerla 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): la descripción es un texto de formato libre que debe ser utilizado únicamente por ti y nunca estará expuesto a los compradores.
  + **ResaleAuthorizationId**(cadena): ResaleAuthorization se utiliza para crear la oferta privada.
  + **MarkupPercentage**(cadena): valor porcentual que el socio de canal aprobó en el tipo de `UpdateMarkup` cambio. Este margen de beneficio ya se ha aplicado a los términos.
  + **Términos** (conjunto de estructuras): lista de términos.
  + **Reglas** (conjunto de estructuras): lista de reglas.