

La référence d'API AWS Marketplace a été restructurée. Pour plus d'informations sur les opérations d'API prises en charge, consultez le manuel [AWS Marketplace API Reference](https://docs.aws.amazon.com/marketplace/latest/APIReference/Welcome.html).

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Travaillez avec des offres privées à l'aide du AWS Marketplace API
<a name="work-with-private-offers"></a>

Vous pouvez utiliser le AWS Marketplace Catalog API pour automatiser les tâches liées à l'utilisation des offres. 

Alors que le *produit* décrit ce qui est vendu AWS Marketplace, l'*offre* décrit les termes et règles régissant l'achat et la consommation d'un produit. AWS Marketplace les produits peuvent faire l'objet de plusieurs offres vendues par différents vendeurs. Cependant, chaque AWS Marketplace offre ne peut être créée que pour un seul produit. Une *offre* contient un ensemble de clauses contractuelles entre deux parties. Les conditions de l'offre acceptées sont traduites dans un accord comme preuve d'une transaction.

Il existe deux types d'offres :
+ Les **offres privées** permettent aux vendeurs et aux acheteurs de négocier les prix. Les vendeurs signent un contrat de licence utilisateur final (EULA) pour les achats de logiciels en. AWS Marketplace Une offre n'est visible que pour un acheteur spécifique. Pour plus d'informations, consultez la section [Offres privées](https://docs.aws.amazon.com/marketplace/latest/userguide/private-offers-overview.html) dans le *Guide AWS Marketplace du vendeur*.
+ Les **offres publiques** concernent les programmes d'achat mondiaux. Les vendeurs identifient les clients en fonction des programmes disponibles et des emplacements géographiques, ce qui rend l'offre accessible uniquement à des clients spécifiques.

Consultez les ressources suivantes :
+ Pour des exemples de code fonctionnel, consultez la section [Gérer les offres avec l'API](https://catalog.workshops.aws/mpseller/en-US/manage-offers-with-api) dans l'*atelier destiné aux AWS Marketplace vendeurs*. 
+ Pour des exemples de code de demande d'API, consultez les exemples [Python](https://github.com/aws-samples/aws-marketplace-reference-code/tree/main/python/src/catalog_api/offers) et [Java](https://github.com/aws-samples/aws-marketplace-reference-code/tree/main/java/resources/changeSets/offers) dans *AWS Samples* on GitHub.
+ Pour visionner une vidéo sur la création d'offres privées, voir [Créer une offre privée à l'aide de l'API du AWS Marketplace catalogue](https://www.youtube.com/watch?v=Gg9JR0tB330) sur YouTube.
+ Pour visionner une vidéo sur la mise à jour de la tarification des AMI, voir [Mettre à jour la tarification des produits AMI à l'aide de l'API du AWS Marketplace catalogue](https://www.youtube.com/watch?v=AVIRlzHKEJw) sur YouTube.

Les rubriques suivantes décrivent comment utiliser l'API du catalogue pour créer et mettre à jour des offres :

**Topics**
+ [Créez une offre](#create-offer)
+ [Créez une offre de remplacement](#create-replacement-offer)
+ [Actualiser les informations de l'offre](#update-offer-information)
+ [Actualiser la configuration de ciblage](#update-targeting-offers)
+ [Mettre à jour la politique de remboursement](#update-support-terms)
+ [Mettre à jour les ressources juridiques](#update-legal-terms)
+ [Mettre à jour les prix](#update-pricing-terms)
+ [Mettre à jour la découvrabilité de l'offre](#update-availability)
+ [Définissez la date d'expiration des accords créés à l'aide de l'offre](#update-validity-terms)
+ [Mettre à jour les détails du calendrier de paiement](#update-payment-schedule-terms)
+ [Modifier les options de renouvellement](#update-renewal-terms)
+ [Publier une offre](#release-offer)
+ [Décrire les détails de l'offre existante](#describe-entity)

## Créez une offre
<a name="create-offer"></a>

Vous pouvez utiliser l'API du catalogue pour créer une nouvelle offre dans AWS Marketplace. Si votre demande est traitée avec succès`Draft`, une offre incomplète est AWS Marketplace Catalog API créée, invisible pour les acheteurs. Pour terminer une offre, utilisez le type de `Update` modification. Lorsque l'offre est terminée, utilisez le type de [`ReleaseOffer`](#release-offer)modification pour la créer et la publier. La publication d'une offre la valide et la rend visible aux AWS Marketplace acheteurs.

Pour créer une nouvelle offre, appelez l'opération `StartChangeSet` API avec le type de `CreateOffer` modification, comme indiqué dans l'exemple suivant. 

**Syntaxe de la demande**

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

Fournissez des informations pour les champs permettant d'ajouter le type de `CreateOffer` modification :
+ **Entité** (objet) (obligatoire) — Votre offre.
  + **Type** (chaîne) (obligatoire) — `Type` C'est toujours le cas`Offer@1.0`. 
+ **DetailsDocument**(object) (obligatoire) — La valeur JSON des spécificités de la demande.
  + **ProductId**(chaîne) (obligatoire) — L'identifiant unique du produit proposé.
  + **Nom** (chaîne) (facultatif) — Le nom associé à l'offre pour une meilleure lisibilité pour vous et vos clients. Il est également affiché dans le cadre des informations du contrat.
  + **OfferSetId**(chaîne) (facultatif) — L'ID de l'offre définie pour associer cette offre. Spécifiez ce champ uniquement lors de la création d'une offre qui fera partie d'un ensemble d'offres. Si OfferSetId ce n'est pas le cas, une offre individuelle sera créée et pourra être achetée séparément. Notez que le fait de spécifier une offre OfferSetId lors de la création de l'offre indique uniquement votre intention d'associer l'offre à cet ensemble d'offres. Pour terminer l'association, vous devez [utiliser le type de AssociateOffers modification](work-with-offer-sets.md#associate-offers) une fois l'offre créée.

**Syntaxe de réponse**

Un ensemble de modifications est créé pour votre demande. La réponse à cette demande vous donne l'`ChangeSetId`ensemble `ChangeSetArn` de modifications et ressemble à ce qui suit.

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

La demande de modification est ajoutée à une file d'attente et traitée. 

Vous pouvez vérifier l'état de la demande via ou directement via l' Portail de gestion AWS Marketplace API Catalog à l'aide de l'opération `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

Si tel `Status` est le cas`SUCCEEDED`, un nouveau `OfferId` est généré.

La réponse se présente comme suit.

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

**Validations synchrones**

Les validations de schéma suivantes sont spécifiques aux `CreateOffer` actions du AWS Marketplace Catalog API. Ces validations sont effectuées lorsque vous appelez`StartChangeSet`. Si la demande ne répond pas aux exigences suivantes, elle échouera avec une réponse HTTP.


| Champ de saisie | Règle de validation | Code HTTP | 
| --- | --- | --- | 
| ProductId | Obligatoire<br />La longueur doit être comprise entre 1 et 50 caractères <br />Ne doit pas contenir de caractères illégaux (\\, <, >) | 422 | 
| ProductId | ObligatoireL'utilisateur doit être autorisé à créer une offre pour le produit donné | 403 | 
| ProductId | ObligatoireIl doit s'agir d'un produit existant dans le catalogue ou en cours de création dans le même ensemble de modifications | 404 | 
| Nom | Facultatif<br />La longueur doit être comprise entre 1 et 150 caractères <br />Ne doit pas contenir de caractères illégaux (\\, <, >) | 422 | 

**Erreurs asynchrones**

Les erreurs suivantes sont spécifiques aux `CreateOffer` actions du AWS Marketplace Catalog API. Ces erreurs sont renvoyées lorsque vous appelez `DescribeChangeSet` après le traitement d'un ensemble de modifications. Pour plus d'informations sur l'utilisation `DescribeChangeSet` pour obtenir le statut d'une demande de modification, consultez[Travailler avec des ensembles de modifications](catalog-apis.md#working-with-change-sets).


| Code d’erreur | Message d’erreur | 
| --- | --- | 
| PRODUIT\_INCOMPATIBLE | Utilisez un produit actif en l'Publicétat Limited ou en l'état. | 
| PRODUIT\_INCOMPATIBLE | La gestion des offres pour le type de produit que vous avez choisi n'est actuellement pas prise en charge dans le AWS Marketplace Catalog API. | 
| PRODUIT\_INCOMPATIBLE | La gestion des offres pour le produit n'est actuellement pas prise en charge dans le AWS Marketplace Catalog API. | 
| PRODUIT\_INCOMPATIBLE | OfferSetId n'est pas pris en charge dans les offres relatives au produit. | 
| PRODUIT\_INCOMPATIBLE | CreateOffer le type de modification ne peut pas être invoqué pour créer une offre pour le produit. Utilisez CreateOfferUsingResaleAuthorization le type de changement. | 

## Créez une offre de remplacement
<a name="create-replacement-offer"></a>

Vous pouvez utiliser l'API du catalogue pour créer une offre de remplacement (également appelée offre basée sur un accord) dans. AWS Marketplace

Si votre demande a été traitée avec succès, une offre officielle AWS Marketplace Catalog API sera générée pour vous. Il s'agit d'une offre incomplète et invisible pour les acheteurs AWS Marketplace. `Draft` Vous utiliserez les types de `Update` modification pour terminer l'offre. Une fois l'offre terminée, vous utiliserez le type de [`ReleaseOffer`](#release-offer)modification pour terminer le processus de création de l'offre et publier l'offre, ce qui validera l'offre dans son intégralité et la rendra visible aux acheteurs sur AWS Marketplace. À partir de là, l'acheteur a la possibilité d'accepter l'offre de remplacement ou de continuer à opérer dans le cadre du contrat initial.

Pour créer une offre de remplacement, appelez l'opération `StartChangeSet` API avec le type de `CreateReplacementOffer` modification et fournissez un identifiant de contrat préexistant, comme indiqué dans l'exemple suivant. 

**Syntaxe de la demande**

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

Fournissez des informations pour les champs permettant d'ajouter le type de `CreateReplacementOffer` modification :
+ **Entité** (objet) (obligatoire) — Votre offre. 
  + **Type** (chaîne) (obligatoire) — `Type` C'est toujours le cas`Offer@1.0`. 
+ **DetailsDocument**(object) (obligatoire) — La valeur JSON des spécificités de la demande.
  + **AgreementId**(chaîne) (obligatoire) — Identifiant unique de l'accord actuel à remplacer.
  + **Nom** (chaîne) (facultatif) — Le nom associé à l'offre pour une meilleure lisibilité pour vous et vos clients. Il sera également affiché dans le cadre des informations relatives à l'accord.

**Syntaxe de réponse**

Un ensemble de modifications est créé pour votre demande. La réponse à cette demande vous donne l'`ChangeSetId`ensemble `ChangeSetArn` de modifications et ressemble à ce qui suit.

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

La demande de modification est ajoutée à une file d'attente et traitée. 

Vous pouvez vérifier l'état de la demande via ou directement via l' Portail de gestion AWS Marketplace API Catalog à l'aide de l'opération `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

**Validations synchrones**

Les validations de schéma suivantes sont spécifiques aux `CreateReplacementOffer` actions du AWS Marketplace Catalog API. Ces validations sont effectuées lorsque vous appelez`StartChangeSet`. Si la demande ne répond pas aux exigences suivantes, elle échouera avec une réponse HTTP.


| Champ de saisie | Règle de validation | Code HTTP | 
| --- | --- | --- | 
| AgreementId | ObligatoireLa longueur doit être comprise entre 1 et 64 caractères | 422 | 
| AgreementId | ObligatoireL'utilisateur doit être autorisé à créer une offre pour l'accord donné | 403 | 
| Nom | FacultatifLa longueur doit être comprise entre 1 et 150 caractères<br />Ne doit pas contenir de caractères non valides (\\, <, >) | 422 | 

**Erreurs asynchrones**

Les erreurs suivantes sont spécifiques aux `CreateReplacementOffer` actions du AWS Marketplace Catalog API. Ces erreurs sont renvoyées lorsque vous appelez `DescribeChangeSet` après le traitement d'un ensemble de modifications. Pour plus d'informations sur l'utilisation `DescribeChangeSet` pour obtenir le statut d'une demande de modification, consultez[Travailler avec des ensembles de modifications](catalog-apis.md#working-with-change-sets).


| Code d’erreur  | Message d’erreur | 
| --- | --- | 
| PRODUIT\_INCOMPATIBLE | Les offres de remplacement ne sont pas prises en charge pour le produit. | 
| ACCORD\_INCOMPATIBLE | CreateReplacementOffer le type de modification ne peut pas être invoqué pour créer une offre de remplacement pour le contrat. Utilisez CreateReplacementOfferUsingResaleAuthorization le type de changement. | 

## Actualiser les informations de l'offre
<a name="update-offer-information"></a>

Vous pouvez utiliser l'API du catalogue pour mettre à jour les informations de l'offre dans AWS Marketplace. 

Pour mettre à jour les informations de l'offre, appelez l'opération `StartChangeSet` API avec le type de `UpdateInformation` modification, comme indiqué dans l'exemple suivant. Toutes les autres informations resteront inchangées.

**Syntaxe de la demande**

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

Fournissez des informations pour les champs permettant d'ajouter le type de `UpdateInformation` modification :
+ **Entité** (objet) (obligatoire) — Votre offre. 
  + **Type** (chaîne) (obligatoire) — `Type` C'est toujours le cas`Offer@1.0`. 
  + **Identifiant** (chaîne) (obligatoire) — L'identifiant de votre offre. Pour de plus amples informations, veuillez consulter [Identifiant](catalog-apis.md#identifier).
+ **DetailsDocument**(object) (obligatoire) — La valeur JSON des spécificités de la demande.
  + **Nom** (chaîne) (facultatif) : nom associé à l'offre pour une meilleure lisibilité. Il est affiché dans le cadre des informations relatives à l'accord.
  + **Description** (chaîne) (facultatif) — Texte libre destiné à être utilisé uniquement par vous et qui ne sera jamais visible par les acheteurs.
  + **PreExistingAgreement**(objet) (facultatif) — Détermine si cette offre est le renouvellement d'un contrat existant avec un client existant pour le même produit sous-jacent. L'accord existant peut être interne ou externe AWS Marketplace. AWS peut auditer et vérifier que votre offre est un renouvellement. S'il n' AWS est pas en mesure de vérifier votre offre, vous AWS pouvez révoquer l'offre et les droits de votre client.
    + **AcquisitionChannel**(chaîne) (obligatoire) — Indique si l'accord existant a été signé à l'extérieur AWS Marketplace ou à l'intérieur AWS Marketplace.

      Valeurs possibles : `External`, `AwsMarketplace`
    + **PricingModel**(chaîne) (obligatoire) — Indique le modèle de tarification utilisé par le contrat existant.

      Valeurs possibles : `Contract`, `Usage`, `Byol`, `Free`

**Syntaxe de réponse**

Un ensemble de modifications est créé pour votre demande. La réponse à cette demande vous donne l'`ChangeSetId`ensemble `ChangeSetArn` de modifications et ressemble à ce qui suit.

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

La demande de modification est ajoutée à une file d'attente et traitée. Cela inclut la validation des informations pour s'assurer qu'elles sont conformes aux AWS Marketplace directives. Le processus de validation peut prendre quelques minutes. 

Vous pouvez vérifier l'état de la demande via ou directement via l' Portail de gestion AWS Marketplace API Catalog à l'aide de l'opération `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

**Validations synchrones**

Les validations de schéma suivantes sont spécifiques aux `UpdateInformation` actions du AWS Marketplace Catalog API. Ces validations sont effectuées lorsque vous appelez`StartChangeSet`. Si la demande ne répond pas aux exigences suivantes, elle échouera avec une réponse HTTP.


| Champ de saisie | Règle de validation | Code HTTP | 
| --- | --- | --- | 
| Propriétés | Au moins l'une des propriétés suivantes doit être fournie | 422 | 
| Nom | Facultatif<br />La longueur doit être comprise entre 1 et 150 caractères <br />Ne doit pas contenir de caractères illégaux (\\, <, >) | 422 | 
| Description | Facultatif<br />La longueur doit être comprise entre 1 et 255 caractères | 422 | 
| PreExistingAgreement | FacultatifPeut être nul pour être `PreExistingAgreement` retiré de l'offre | 422 | 
| PreExistingAgreement.PricingModel | Obligatoire<br />Il peut s'agir de l'une des valeurs suivantes : [`Byol``Free`,,`Usage`,`Contract`] | 422 | 
| PreExistingAgreement.AcquisitionChannel | Obligatoire<br />Il peut s'agir de l'une des valeurs suivantes : [`AwsMarketplace`,`External`] | 422 | 

**Erreurs asynchrones**

Les erreurs suivantes sont spécifiques aux `UpdateInformation` actions du AWS Marketplace Catalog API. Ces erreurs sont renvoyées lorsque vous appelez `DescribeChangeSet` après le traitement d'un ensemble de modifications. Pour plus d'informations sur l'utilisation `DescribeChangeSet` pour obtenir le statut d'une demande de modification, consultez[Travailler avec des ensembles de modifications](catalog-apis.md#working-with-change-sets).


| Code d’erreur  | Message d’erreur | 
| --- | --- | 
| ACCORD\_PRÉ\_EXISTANT\_INCOMPATIBLE | PreExistingAgreement ne peut pas être modifiée après la publication de l'offre. | 

## Actualiser la configuration de ciblage
<a name="update-targeting-offers"></a>

Vous pouvez utiliser l'API du catalogue pour mettre à jour la configuration de ciblage de votre offre dans AWS Marketplace. 

Toutes les options de ciblage existantes qui ne sont pas incluses dans la dernière demande et qui seront supprimées de l'offre.

**Note**  
Une offre peut éventuellement inclure `PositiveTargeting` ou `NegativeTargeting` non les deux.  
**Options de ciblage positif :**  
**Codes de pays uniquement** : crée une offre publique accessible aux acheteurs des pays spécifiés.
**Comptes acheteurs uniquement** : crée une offre privée ciblée sur des comptes AWS spécifiques.
**Codes de pays et comptes acheteurs** : crée une offre privée dans laquelle les comptes ciblés ne peuvent accepter l'offre que s'ils sont situés dans l'un des pays spécifiés.
**Options de ciblage négatif :**  
**Codes de pays** : exclut les acheteurs des pays spécifiés. Cela crée une offre publique disponible pour tous les pays à l'exception de ceux listés.

Pour mettre à jour la configuration de ciblage de votre offre, appelez l'opération `StartChangeSet` API avec le type de `UpdateTargeting` modification, comme indiqué dans l'exemple suivant. 

**Syntaxe de la demande**

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

Fournissez des informations pour les champs permettant d'ajouter le type de `UpdateTargeting` modification :
+ **Entité** (objet) (obligatoire) — Votre offre.
  + **Type** (chaîne) (obligatoire) — `Type` C'est toujours le cas`Offer@1.0`. 
  + **Identifiant** (chaîne) (obligatoire) — L'identifiant de votre offre. Pour de plus amples informations, veuillez consulter [Identifiant](catalog-apis.md#identifier).
+ **DetailsDocument**(object) (obligatoire) — La valeur JSON des spécificités de la demande.
  + **PositiveTargeting**(objet) (facultatif) — Le ciblage positif définit les critères auxquels le profil de tout acheteur doit répondre pour être autorisé à accéder à l'offre. Ce champ est facultatif, mais au moins une option de ciblage doit être fournie lorsque ce champ est présent.
    + **CountryCodes**(tableau de chaînes) (facultatif) — Liste comme option pour autoriser le ciblage en fonction du pays. Si l'intention n'est pas de cibler l'offre sur un pays, ce champ doit être omis. S'il est présent, la liste doit contenir au moins un code de pays. Chaque élément de cette liste doit être un code de pays valide à 2 lettres, au format ISO 3166-1 alpha-2.
    + **BuyerAccounts**(tableau de chaînes) (facultatif) — Liste en tant qu'option pour autoriser le ciblage basé sur Comptes AWS (également connu sous le nom d'offre privée). Si l'intention est de ne pas cibler l'offre sur un Compte AWS, ce champ doit être omis.
  + **NegativeTargeting**(objet) (facultatif) — Le ciblage négatif définit les critères auxquels le profil d'un client doit répondre pour être limité à l'accès à l'offre. Bien que ce champ soit facultatif, au moins une option de ciblage doit être fournie lorsque ce champ est présent.
    + **CountryCodes**(tableau de chaînes) (obligatoire) — Liste comme option pour autoriser le ciblage en fonction du pays. Si l'intention n'est pas de cibler l'offre sur un pays spécifique, ce champ doit être omis. S'il est présent, la liste doit contenir au moins un code de pays. Chaque élément de cette liste doit être un code de pays valide à 2 lettres au format ISO 3166-1 alpha-2.

**Syntaxe de réponse**

Un ensemble de modifications est créé pour votre demande. La réponse à cette demande vous donne l'`ChangeSetId`ensemble `ChangeSetArn` de modifications et ressemble à ce qui suit.

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

La demande de modification est ajoutée à une file d'attente et traitée. Cela inclut la validation des informations pour s'assurer qu'elles sont conformes aux AWS Marketplace directives. Le processus de validation peut prendre quelques minutes. 

Vous pouvez vérifier l'état de la demande via ou directement via l' Portail de gestion AWS Marketplace API Catalog à l'aide de l'opération `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

**Validations synchrones**

Les validations de schéma suivantes sont spécifiques aux `UpdateTargeting` actions du AWS Marketplace Catalog API. Ces validations sont effectuées lorsque vous appelez`StartChangeSet`. Si la demande ne répond pas aux exigences suivantes, elle échouera avec une réponse HTTP.


| Champ de saisie | Règle de validation | Code HTTP | 
| --- | --- | --- | 
| NegativeTargeting | Facultatif<br />Peut avoir l'une des options suivantes : [`CountryCodes`] | 422 | 
| NegativeTargeting.CountryCodes | Facultatif<br />La taille de la liste doit être comprise entre 1 et 244<br />Les codes de pays doivent être valides (ISO 3166-1 alpha-2) | 422 | 
|  PositiveTargeting | Facultatif<br />Peut avoir l'une des options suivantes : [`CountryCodes`,`BuyerAccounts`] | 422 | 
| PositiveTargeting.BuyerAccounts | Facultatif<br />La taille de la liste doit être comprise entre 1 et 26<br />Compte AWS Les identifiants doivent être au format valide (numéro à 12 chiffres) | 422 | 
| PositiveTargeting.CountryCodes | Facultatif<br />La taille de la liste doit être comprise entre 1 et 244<br />Les codes de pays doivent être valides (ISO 3166-1 alpha-2) | 422 | 

**Erreurs asynchrones**

Les erreurs suivantes sont spécifiques aux `UpdateTargeting` actions du AWS Marketplace Catalog API. Ces erreurs sont renvoyées lorsque vous appelez `DescribeChangeSet` après le traitement d'un ensemble de modifications. Pour plus d'informations sur l'utilisation `DescribeChangeSet` pour obtenir le statut d'une demande de modification, consultez[Travailler avec des ensembles de modifications](catalog-apis.md#working-with-change-sets).


| Code d’erreur | Message d’erreur | 
| --- | --- | 
| COMPTES\_ACHETEUR\_INVALIDES | Fournissez des comptes acheteurs valides. Comptes non valides : [x]. | 
| CODES-PAYS NON VALIDES | Fournissez les codes de pays pris en charge. | 
| CIBLAGE\_INVALIDE | Utilisez un ciblage négatif ou positif sur le même attribut. | 
| PRODUIT\_INCOMPATIBLE | Country-based le ciblage n'est pas pris en charge pour le produit. | 
| AUTORISATION\_DE REVENTE\_INCOMPATIBLE | À BuyerAccounts condition qu'ils soient compatibles avec le ResaleAuthorization. | 
| CIBLAGE\_INCOMPATIBLE | La modification demandée ne peut pas être effectuée après la publication de l'offre. | 
| CIBLAGE\_INCOMPATIBLE | La modification demandée ne peut pas être effectuée une fois l'offre expirée. | 
| CIBLAGE\_INCOMPATIBLE | Le ciblage ne peut pas être mis à jour pour une offre de remplacement. Si l'acheteur n'est pas associé à l'offre fournie AgreementId, créez une nouvelle offre privée en fournissant une offre AgreementId associée à l'acheteur. | 
| TROP DE COMPTES ACHETEURS | Fournissez BuyerAccounts dans les limites autorisées. | 
| CIBLAGE\_INCOMPATIBLE | BuyerAccounts ne peut pas être supprimée après la publication de l'offre. | 
| CIBLAGE\_INCOMPATIBLE | BuyerAccounts ne peut pas être ajouté après la publication de l'offre. | 
| CODES-PAYS MANQUANTS |  PositiveTargeting Fournissez CountryCodes : [x]. | 
| CODES-PAYS INCOMPATIBLES | À condition CountryCodes qu'ils soient compatibles. | 
| COMPTES\_ACHETEUR\_ACHETEURS INCOMPATIBLES | À BuyerAccounts condition qu'ils soient compatibles avec l'accord. | 

## Mettre à jour la politique de remboursement
<a name="update-support-terms"></a>

Vous pouvez utiliser l'API du catalogue pour mettre à jour la politique de remboursement de votre offre dans AWS Marketplace. 

Cette modification n'affecte pas les accords existants. Les conditions d'assistance qui ne sont pas incluses dans la dernière demande seront supprimées de l'offre.

Pour mettre à jour la politique de remboursement, appelez l'opération `StartChangeSet` API avec le type de `UpdateSupportTerms` modification, comme indiqué dans l'exemple suivant. 

**Syntaxe de la demande**

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

Fournissez des informations pour les champs permettant d'ajouter le type de `UpdateSupportTerms` modification :
+ **Entité** (objet) (obligatoire) — Votre offre. 
  + **Type** (chaîne) (obligatoire) — `Type` C'est toujours le cas`Offer@1.0`. 
  + **Identifiant** (chaîne) (obligatoire) — L'identifiant de votre offre. Pour de plus amples informations, veuillez consulter [Identifiant](catalog-apis.md#identifier).
+ **DetailsDocument**(object) (obligatoire) — La valeur JSON des spécificités de la demande.
  + **Termes** (ensemble de structures) (obligatoire) — Liste des termes de support que vous souhaitez mettre à jour. Les conditions d'assistance acceptées sont les suivantes :
    + **SupportTerm**(object) (obligatoire) — Définit le support client disponible pour les accepteurs lors de l'achat du logiciel.
      + **Type** (chaîne) (obligatoire) — Type du terme mis à jour. Il s'agit de la valeur de l'objet :`"SupportTerm"`.
      + **RefundPolicy**(string) (obligatoire) : Free-text champ relatif à la description de la politique de remboursement qui sera affiché aux clients tel quel sur le site Web et sur la console.

**Syntaxe de réponse**

Un ensemble de modifications est créé pour votre demande. La réponse à cette demande vous donne l'`ChangeSetId`ensemble `ChangeSetArn` de modifications et ressemble à ce qui suit.

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

La demande de modification est ajoutée à une file d'attente et traitée. Cela inclut la validation des informations pour s'assurer qu'elles sont conformes aux AWS Marketplace directives. Le processus de validation peut prendre quelques minutes. 

Vous pouvez vérifier l'état de la demande via ou directement via l' Portail de gestion AWS Marketplace API Catalog à l'aide de l'opération `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

**Validations synchrones**

Les validations de schéma suivantes sont spécifiques aux `UpdateSupportTerms` actions du AWS Marketplace Catalog API. Ces validations sont effectuées lorsque vous appelez`StartChangeSet`. Si la demande ne répond pas aux exigences suivantes, elle échouera avec une réponse HTTP.


| Champ de saisie | Règle de validation | Code HTTP | 
| --- | --- | --- | 
| Termes | Obligatoire | 422 | 
| Termes []. RefundPolicy | Obligatoire<br />La longueur doit être comprise entre 1 et 500<br />Ne peut pas commencer ou se terminer par des espaces | 422 | 
| Termes [] .Type | ObligatoireNe peut être que `SupportTerm` | 422 | 

**Erreurs asynchrones**

Les erreurs suivantes sont spécifiques aux `UpdateSupportTerms` actions du AWS Marketplace Catalog API. Ces erreurs sont renvoyées lorsque vous appelez `DescribeChangeSet` après le traitement d'un ensemble de modifications. Pour plus d'informations sur l'utilisation `DescribeChangeSet` pour obtenir le statut d'une demande de modification, consultez[Travailler avec des ensembles de modifications](catalog-apis.md#working-with-change-sets).


| Code d’erreur  | Message d’erreur | 
| --- | --- | 
| PRODUIT\_INCOMPATIBLE | SupportTerm n'est pas pris en charge dans les offres privées du produit. | 
| TERMES\_INCOMPATIBLES | SupportTerm n'est pas pris en charge pour les offres d'essai gratuit. | 
| TERMES\_INCOMPATIBLES | La modification demandée ne peut pas être effectuée après la publication de l'offre. | 
| TERMES\_INCOMPATIBLES | La modification demandée ne peut pas être effectuée une fois l'offre expirée. | 

## Mettre à jour les ressources juridiques
<a name="update-legal-terms"></a>

Vous pouvez utiliser l'API Catalog pour remplacer les documents juridiques existants, tels qu'un contrat de licence utilisateur final (EULA). Les termes juridiques qui ne sont pas inclus dans la dernière demande seront supprimés de l'offre. 

Pour mettre à jour les ressources juridiques de votre offre, appelez l'opération `StartChangeSet` API avec le type de `UpdateLegalTerms` modification, comme indiqué dans l'exemple suivant.

**Syntaxe de la demande**

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

Fournissez des informations pour les champs permettant d'ajouter le type de `UpdateLegalTerms` modification :
+ **Entité** (objet) (obligatoire) — Votre offre. 
  + **Type** (chaîne) (obligatoire) — `Type` C'est toujours le cas`Offer@1.0`. 
  + **Identifiant** (chaîne) (obligatoire) — L'identifiant de votre offre. Pour de plus amples informations, veuillez consulter [Identifiant](catalog-apis.md#identifier).
+ **DetailsDocument**(object) (obligatoire) — La valeur JSON des spécificités de la demande.
  + **LegalTerm**(object) (obligatoire) — Définit la liste des accords textuels à proposer aux accepteurs. Un exemple d'un tel accord est le contrat de licence utilisateur final (EULA).
    + **Type** (chaîne) (obligatoire) — Type du terme mis à jour. Il s'agit de la valeur de l'objet :`"LegalTerm"`.
    + **Documents** (ensemble de structures) (obligatoire) — Liste de références aux ressources juridiques à proposer aux acheteurs. Le contrat de licence utilisateur final (EULA) est un exemple d'une telle ressource. Chaque référence est composée d'un `Type` et d'un `URL` :
      + **Type** (chaîne) (obligatoire) — Type de document. Les types de documents disponibles sont les suivants :
        + **CustomEula**— Un EULA personnalisé fourni par vous en tant que vendeur. Une URL S3 publique ou une URL [présignée](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html) est requise pour ce type de document.
        + **StandardEula**— Contrat standard pour AWS Marketplace (SCMP). Pour plus d'informations sur le SCMP, consultez le Guide du AWS Marketplace vendeur. Vous ne fournissez pas d'URL pour ce type car il est géré par AWS Marketplace.
      + **Url** (chaîne) (obligatoire sous condition) — URL du document juridique que les acheteurs peuvent lire. Obligatoire dans les cas `Type` suivants [`CustomEula`].
      + **Version** (chaîne) (requise sous condition) — Version des contrats standard fournie par AWS Marketplace. Obligatoire quand `Type` est [`StandardEula`]. Version disponible :
        + **14/07/2018** — Cette version du contrat standard pour AWS Marketplace est disponible à partir de ce compartiment 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)

**Syntaxe de réponse**

Un ensemble de modifications est créé pour votre demande. La réponse à cette demande vous donne l'`ChangeSetId`ensemble `ChangeSetArn` de modifications et ressemble à ce qui suit.

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

La demande de modification est ajoutée à une file d'attente et traitée. Cela inclut la validation des informations pour s'assurer qu'elles sont conformes aux AWS Marketplace directives. Le processus de validation peut prendre quelques minutes. 

Vous pouvez vérifier l'état de la demande via ou directement via l' Portail de gestion AWS Marketplace API Catalog à l'aide de l'opération `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

**Validations synchrones**

Les validations de schéma suivantes sont spécifiques aux `UpdateLegalTerms` actions du AWS Marketplace Catalog API. Ces validations sont effectuées lorsque vous appelez`StartChangeSet`. Si la demande ne répond pas aux exigences suivantes, elle échouera avec une réponse HTTP.


| Champ de saisie | Règle de validation | Code HTTP | 
| --- | --- | --- | 
| Termes | Obligatoire<br />Seul `LegalTerm` est autorisé dans la liste<br />La taille de la liste doit être de 1 | 422 | 
| Termes [] .Type | ObligatoireNe peut être que `LegalTerm` | 422 | 
| Termes []. LegalTerm.Documents | Obligatoire | 422 | 
| Termes []. LegalTerm.Documents[] .Type | Obligatoire<br />Valeurs autorisées :[See the AWS documentation website for more details](http://docs.aws.amazon.com/fr_fr/marketplace/latest/developerguide/work-with-private-offers.html) | 422 | 
| Termes []. LegalTerm.Documents[] .URL | Obligatoire et doit être une URL valide Type lorsque CustomEula | 422 | 
| Termes []. LegalTerm.Documents[] .Version | Obligatoire et doit être une version valide Type lorsque StandardEula`StandardEula`Versions valides : ["2019-04-24", « 07.07-14"] | 422 | 

**Erreurs asynchrones**

Les erreurs suivantes sont spécifiques aux `UpdateLegalTerms` actions du AWS Marketplace Catalog API. Ces erreurs sont renvoyées lorsque vous appelez `DescribeChangeSet` après le traitement d'un ensemble de modifications. Pour plus d'informations sur l'utilisation `DescribeChangeSet` pour obtenir le statut d'une demande de modification, consultez[Travailler avec des ensembles de modifications](catalog-apis.md#working-with-change-sets).


| Code d’erreur  | Message d’erreur | 
| --- | --- | 
| TERMES\_INCOMPATIBLES | La modification demandée ne peut pas être effectuée après la publication de l'offre. | 
| TERMES\_INCOMPATIBLES | La modification demandée ne peut pas être effectuée une fois l'offre expirée. | 
| DOCUMENT\_LEGAL\_INVALIDES | Fournissez des URL pour les documents juridiques stockés dans des compartiments S3 accessibles. | 
| DOCUMENT\_LEGAL\_INVALIDES | Seule la version la plus récente de StandardEula est prise en charge pour les nouvelles offres. | 
| DOCUMENT\_LEGAL\_INVALIDES | Fournissez des documents juridiques dans les formats de fichier pris en charge. | 
| DOCUMENT\_LEGAL\_INVALIDES | Fournissez des documents juridiques en utilisant les types de documents pris en charge. | 
| TAILLE DU DOCUMENT\_LÉGAL DÉPASSÉE | Fournissez des documents juridiques dans les limites de taille autorisées. | 
| DOCUMENT\_LEGAL\_INVALIDES | LegalTerm contient un ou plusieurs documents protégés par mot de passe. Fournissez des documents accessibles dans LegalTerm. | 
| DOCUMENT\_LEGAL\_INVALIDES | LegalTerm contient un ou plusieurs documents PDF non valides. Fournissez des documents accessibles dans LegalTerm. | 

## Mettre à jour les prix
<a name="update-pricing-terms"></a>

Vous pouvez utiliser l'API du catalogue pour remplacer complètement les conditions tarifaires existantes. Les conditions tarifaires qui ne sont pas incluses dans la dernière demande seront supprimées de l'offre. 

Pour mettre à jour les conditions tarifaires de votre offre, appelez l'opération `StartChangeSet` API avec le type de `UpdatePricingTerms` modification, comme indiqué dans l'exemple suivant.

**Note**  
La syntaxe de demande suivante combine plusieurs exemples. Cette combinaison ne fonctionne pas comme une charge utile valide. Par exemple, un `Terms` tableau ne peut pas inclure à la fois le type de terme `FixedUpfrontPricingTerm` et le type de terme`ConfigurableUpfrontPricingTerm`. Pour des exemples de combinaison de différents types de termes pour différents cas d'utilisation de la tarification, consultez la section [Gérer les offres avec l'API](https://catalog.workshops.aws/mpseller/en-US/manage-offers-with-api) dans l'*atelier destiné aux AWS Marketplace vendeurs*.

**Note**  
Pour les produits SaaS dotés d'un modèle de tarification gratuit, vous devez inclure l'une `UsageBasedPricingTerm` ou `ConfigurableUpfrontPricingTerm` l'autre (dimension) ou en inclure au moins une RateCard (dimension), tous les prix étant fixés à 0,00$. Cette exigence est propre aux produits SaaS.

**Syntaxe de la demande**

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

Fournissez des informations pour les champs permettant d'ajouter le type de `UpdatePricingTerms` modification :
+ **Entité** (objet) (obligatoire) — Votre offre. 
  + **Type** (chaîne) (obligatoire) — `Type` C'est toujours le cas`Offer@1.0`. 
  + **Identifiant** (chaîne) (obligatoire) — L'identifiant de votre offre. Pour de plus amples informations, veuillez consulter [Identifiant](catalog-apis.md#identifier).
+ **DetailsDocument**(object) (obligatoire) — La valeur JSON des spécificités de la demande.
  + **PricingModel**(string) (obligatoire) — Modèle de tarification pour votre offre. Les valeurs possibles pour le modèle de tarification sont les suivantes :
    + **Utilisation** : modèle de Usage-based tarification dans le cadre duquel les acheteurs seront facturés pour l'utilisation qu'ils ont faite de votre produit.
    + **Contrat** : modèle de Contract-based tarification dans le cadre duquel les acheteurs sont soit facturés à l'avance pour l'utilisation de votre produit, soit bénéficier d'un calendrier de paiement flexible. Les acheteurs peuvent également payer pour une utilisation supplémentaire au-delà de leur contrat.
    + **Gratuit** — Modèle de tarification gratuit selon lequel les acheteurs ne seront pas facturés pour l'utilisation du produit. Lorsque vous utilisez ce modèle de tarification, aucune condition tarifaire ou échéance de calendrier de paiement ne peut être assortie de taux différents de zéro.
    + **Byol** — Modèle de tarification Byol dans lequel les acheteurs apporteront leur propre licence d'utilisation du produit.
  + **Termes** (ensemble de structures) (obligatoire) — Liste des conditions tarifaires que vous souhaitez mettre à jour. Les conditions tarifaires prises en charge sont les suivantes :
    + **FreeTrialPricingTerm**(objet) — Définit un modèle de tarification gratuite à court terme dans le cadre duquel les acheteurs ne sont pas débités dans une limite spécifiée.
      + **Type** (chaîne) — Type du terme mis à jour. Il s'agit de la valeur de l'objet :`"FreeTrialPricingTerm"`.
      + **Durée** (chaîne) — Durée de la période d'essai gratuite.
      + **Subventions** (ensemble de structures) — Droits qui seront accordés à l'accepteur d'un essai gratuit dans le cadre de l'exécution d'un accord.
        + **DimensionKey**(chaîne) — Clé de dimension unique définie dans le document du produit. Les dimensions représentent les catégories de capacité d'un produit et sont spécifiées lorsque le produit est répertorié dans AWS Marketplace.
        + **MaxQuantity**(entier) (facultatif) — Capacité maximale à laquelle l'acheteur peut avoir droit pour la dimension donnée du produit. Si `MaxQuantity` ce n'est pas fourni, l'acheteur pourra utiliser une quantité illimitée de la dimension donnée.
    + **UsageBasedPricingTerm**(objet) — Définit un modèle de tarification au fur et à mesure (PAYG) dans lequel les clients sont facturés en fonction de l'utilisation du produit.
      + **Type** (chaîne) (obligatoire) — Catégorie du terme mis à jour. Il s'agit de la valeur de l'objet :`UsageBasedPricingTerm`.
      + **CurrencyCode**(string) — Définit la devise pour les prix mentionnés dans ce terme. Actuellement, seul le dollar américain est pris en charge.
      + **RateCards**(ensemble de structures) — Liste des cartes tarifaires.
        + **RateCard**(ensemble de structures) — Une carte tarifaire définit les taux unitaires pour les dimensions du produit.
          + **DimensionKey**(string) : Dimension à laquelle s'applique le droit donné. Les dimensions représentent les catégories de capacité d'un produit et sont spécifiées lorsque le produit est répertorié dans AWS Marketplace.
          + **Prix** (chaîne) : Per-unit prix correspondant aux dimensions du produit qui sera utilisé pour calculer le montant à facturer à l'acheteur.
    + **ConfigurableUpfrontPricingTerm**(objet) — Définit le modèle de paiement prépayé qui permet aux acheteurs de configurer les droits qu'ils souhaitent acheter et leur durée. Vous pouvez mettre à jour la liste des taux pour chaque durée de contrat et des droits pour chaque dimension.
      + **Type** (chaîne) (obligatoire) — Type du terme mis à jour. Il s'agit de la valeur de l'objet :`ConfigurableUpfrontPricingTerm`.
      + **CurrencyCode**(chaîne) (obligatoire) — Définit la devise pour les prix mentionnés dans ce terme. Pour les offres publiques, seuls les dollars américains sont pris en charge. Pour les offres privées, les USD, AUD, EUR, GBP et JPY sont pris en charge.
      + **RateCards**(ensemble de structures) (obligatoire) — Liste des cartes tarifaires.
        + **Sélecteur** (objet) (obligatoire) — Le sélecteur est utilisé pour différencier les cartes tarifaires mutuellement exclusives correspondant à la même période de tarification, à sélectionner par l'acheteur.
          + **Type** (chaîne) (obligatoire) — Catégorie du sélecteur. Pour le moment, seul `Duration` est pris en charge.
          + **Valeur** (chaîne) (obligatoire) — Durée du contrat. Ce champ prend en charge le format ISO 8601.
        + **RateCard**(ensemble de structures) (obligatoire) — Une fiche tarifaire définit les taux unitaires pour les dimensions du produit.
          + **DimensionKey**(chaîne) (obligatoire) — Clé de dimension unique définie dans le document du produit. Les dimensions représentent les catégories de capacité d'un produit et sont spécifiées lorsque le produit est répertorié dans AWS Marketplace.
          + **Prix** (chaîne) (obligatoire) — Per-unit prix correspondant aux dimensions du produit qui sera utilisé pour calculer le montant à facturer à l'acheteur.
        + **Contraintes** (objet) (obligatoire) — Définit les contraintes relatives à la manière dont le terme peut être configuré par les accepteurs.
**Note**  
Actuellement, **MultipleDimensionSelection**et **QuantityConfiguration**les valeurs doivent être les mêmes.
          + **MultipleDimensionSelection**(string) (obligatoire) — Détermine si les acheteurs sont autorisés à sélectionner plusieurs dimensions dans la grille tarifaire. Les valeurs possibles sont `Allowed` et `Disallowed`.
          + **QuantityConfiguration**(string) (obligatoire) — Détermine si les accepteurs sont autorisés à configurer la quantité pour chaque dimension de la fiche tarifaire. Les valeurs possibles sont `Allowed` et `Disallowed`.
    + **ByolPricingTerm**(objet) — Vous permet, à vous et à vos clients, de transférer vos accords existants vers AWS Marketplace. Le client ne sera pas facturé pour l'utilisation du produit AWS Marketplace car il a déjà payé le produit en dehors de AWS Marketplace.
      + **Type** (chaîne) (obligatoire) — Type du terme mis à jour. Il s'agit de la valeur de l'objet :`ByolPricingTerm`.
    + **RecurringPaymentTerm**(objet) — Définit un modèle de tarification dans le cadre duquel les clients se voient facturer un prix récurrent fixe à la fin de chaque période de facturation.
      + **Type** (chaîne) (obligatoire) — Type du terme mis à jour. Il s'agit de la valeur de l'objet :`RecurringPaymentTerm`.
      + **BillingPeriod**(string) (obligatoire) — Définit la périodicité à laquelle les acheteurs sont facturés. Seul `Monthly` est pris en charge aujourd'hui.
      + **Prix** (chaîne) (obligatoire) — Montant facturé à l'acheteur pour chaque période de facturation.
      + **CurrencyCode**(chaîne) (obligatoire) — Définit la devise pour les prix mentionnés dans ce terme. Actuellement, seul `USD` est pris en charge.
    + **FixedUpfrontPricingTerm**(objet) — Définit un modèle de tarification prépayé dans le cadre duquel un montant initial fixe est facturé aux clients.
      + **Type** (chaîne) (obligatoire) — Type du terme mis à jour. Il s'agit de la valeur de l'objet :`FixedUpfrontPricingTerm`.
      + **CurrencyCode**(chaîne) (obligatoire) — Définit la devise pour les prix mentionnés dans ce terme. Pour les offres publiques, seuls les dollars américains sont pris en charge. Pour les offres privées, les USD, AUD, EUR, GBP et JPY sont pris en charge.
      + **Prix** (chaîne) (obligatoire) — Montant fixe à facturer au client lorsque ce terme est accepté.
      + **Subventions** (ensemble de structures) (obligatoire) — Droits qui seront accordés à l'accepteur d'un montant initial fixe dans le cadre de l'exécution de l'accord.
        + **DimensionKey**(chaîne) (obligatoire) — Clé de dimension unique définie dans le document du produit. Les dimensions représentent les catégories de capacité d'un produit et sont spécifiées lorsque le produit est répertorié dans AWS Marketplace.
        + **MaxQuantity**(entier) (obligatoire) — Capacité maximale à laquelle l'acheteur peut avoir droit pour la dimension donnée du produit. Si `MaxQuantity` ce n'est pas fourni, l'acheteur pourra utiliser une quantité illimitée de la dimension donnée.
      + **Durée** (chaîne) (facultatif) — Définit la durée pendant laquelle le terme reste actif. Ce champ prend en charge le format ISO 8601.

**Syntaxe de réponse**

Un ensemble de modifications est créé pour votre demande. La réponse à cette demande vous donne l'`ChangeSetId`ensemble `ChangeSetArn` de modifications et ressemble à ce qui suit.

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

La demande de modification est ajoutée à une file d'attente et traitée. Cela inclut la validation des informations pour s'assurer qu'elles sont conformes aux AWS Marketplace directives. Le processus de validation peut prendre quelques minutes. 

Vous pouvez vérifier l'état de la demande via ou directement via l' Portail de gestion AWS Marketplace API Catalog à l'aide de l'opération `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

**Validations synchrones**

Les validations de schéma suivantes sont spécifiques aux `UpdatePricingTerms` actions du AWS Marketplace Catalog API. Ces validations sont effectuées lorsque vous appelez`StartChangeSet`. Si la demande ne répond pas aux exigences suivantes, elle échouera avec une réponse HTTP.


| Champ de saisie | Règle de validation | HTTP | 
| --- | --- | --- | 
| PricingModel | ObligatoireModèles de tarification autorisés : ["Byol », « Free », « Usage », « Contract"] | 422 | 
| Termes | ObligatoireTermes autorisés : [» ConfigurableUpfrontPricingTerm «," ByolPricingTerm «," FreeTrialPricingTerm «," UsageBasedPricingTerm «," «," RecurringPaymentTerm «," FixedUpfrontPricingTerm «] | 422 | 
| Termes []. ByolPricingTerm | Obligatoire | 422 | 
| Termes []. ByolPricingTerm.Type | ObligatoireNe peut être que « ByolPricingTerm » | 422 | 
| Termes []. ConfigurableUpfrontPricingTerm | Obligatoire | 422 | 
| Termes []. ConfigurableUpfrontPricingTerm.Type | ObligatoireNe peut être que « ConfigurableUpfrontPricingTerm » | 422 | 
| Termes []. ConfigurableUpfrontPricingTerm.CurrencyCode | ObligatoireDevises prises en charge : ["USD », « AUD », « EUR », « GBP », « JPN"] | 422 | 
| Termes []. ConfigurableUpfrontPricingTerm.RateCards | ObligatoireLa taille de la liste doit être comprise entre 1 et 5 | 422 | 
| Termes []. ConfigurableUpfrontPricingTerm.RateCards[] .Contraintes | Obligatoire | 422 | 
| Termes []. ConfigurableUpfrontPricingTerm.RateCards[]. Contraints.MultipleDimensionSelection | ObligatoireValeurs autorisées : ["Autorisé », « Non autorisé"] | 422 | 
| Termes []. ConfigurableUpfrontPricingTerm.RateCards[]. Contraints.QuantityConfiguration | ObligatoireValeurs autorisées : ["Autorisé », « Non autorisé"] | 422 | 
| Termes []. ConfigurableUpfrontPricingTerm.RateCards[]. RateCard | ObligatoireLa taille de la liste doit être comprise entre 1 et 800 | 422 | 
| Termes []. ConfigurableUpfrontPricingTerm.RateCards[]. RateCard[]. DimensionKey | ObligatoireLa longueur doit être comprise entre 1 et 100 | 422 | 
| Termes []. ConfigurableUpfrontPricingTerm.RateCards[]. RateCard[] .Prix | ObligatoireLe type de données est « String »<br />Non-negativedécimales avec prise en charge d'un maximum de 3 décimales | 422 | 
| Termes []. ConfigurableUpfrontPricingTerm.RateCards[] .Sélecteur | Obligatoire | 422 | 
| Termes []. ConfigurableUpfrontPricingTerm.RateCards[]. Selector.Type | ObligatoireValeurs autorisées : ["Durée"] | 422 | 
| Termes []. ConfigurableUpfrontPricingTerm.RateCards[]. Selector.Value | ObligatoireFormat attendu par type de sélecteur : durée ISO 8601 | 422 | 
| Termes []. FixedUpfrontPricingTerm | Obligatoire | 422 | 
| Termes []. FixedUpfrontPricingTerm.Type | ObligatoireNe peut être que « FixedUpfrontPricingTerm » | 422 | 
| Termes []. FixedUpfrontPricingTerm.CurrencyCode | ObligatoireDevises prises en charge : ["USD », « AUD », « EUR », « GBP », « JPN"] | 422 | 
| Termes []. FixedUpfrontPricingTerm.Duration | ObligatoireFormat attendu par type de sélecteur : durée ISO 8601 | 422 | 
| Termes []. FixedUpfrontPricingTerm.Grants | ObligatoireLa taille de la liste doit être comprise entre 1 et 200 | 422 | 
| Termes []. FixedUpfrontPricingTerm.Grants[]. DimensionKey | ObligatoireLa longueur doit être comprise entre 1 et 100 | 422 | 
| Termes []. FixedUpfrontPricingTerm.Grants[]. MaxQuantity | RequiredValue doit être supérieur à 0 | 422 | 
| Termes []. FixedUpfrontPricingTerm.Price | ObligatoireLe type de données est « String »<br />Non-negativedécimales avec prise en charge d'un maximum de 3 décimales | 422 | 
| Termes []. FreeTrialPricingTerm | Obligatoire | 422 | 
| Termes []. FreeTrialPricingTerm.Type | ObligatoireNe peut être que « FreeTrialPricingTerm » | 422 | 
| Termes []. FreeTrialPricingTerm.Duration | ObligatoireFormat attendu : durée ISO 8601 | 422 | 
| Termes []. FreeTrialPricingTerm.Grants | ObligatoireLa taille de la liste doit être comprise entre 1 et 800 | 422 | 
| Termes []. FreeTrialPricingTerm.Grants[]. DimensionKey | ObligatoireLa longueur doit être comprise entre 1 et 100 | 422 | 
| Termes []. FreeTrialPricingTerm.Grants[]. MaxQuantity | FacultatifLa valeur doit être supérieure à 0 | 422 | 
| Termes []. RecurringPaymentTerm | Obligatoire | 422 | 
| Termes []. RecurringPaymentTerm.Type | ObligatoireNe peut être que « RecurringPaymentTerm » | 422 | 
| Termes []. RecurringPaymentTerm.BillingPeriod | ObligatoireValeurs autorisées : ["Mensuel"] | 422 | 
| Termes []. RecurringPaymentTerm.CurrencyCode | ObligatoireDevises prises en charge : ["USD"] | 422 | 
| Termes []. RecurringPaymentTerm.Price | ObligatoireLe type de données est « String »<br />Non-negativedécimales avec prise en charge d'un maximum de 3 décimales | 422 | 
| Termes []. UsageBasedPricingTerm | Obligatoire | 422 | 
| Termes []. UsageBasedPricingTerm.Type | ObligatoireNe peut être que « UsagedBasedPricingTerm » | 422 | 
| Termes []. UsageBasedPricingTerm.CurrencyCode | ObligatoireDevises prises en charge : ["USD"] | 422 | 
| Termes []. UsageBasedPricingTerm.RateCards | ObligatoireDoit être de la taille 1 | 422 | 
| Termes []. UsageBasedPricingTerm.RateCards[]. RateCard | ObligatoireLa taille de la liste doit être comprise entre 1 et 800 | 422 | 
| Termes []. UsageBasedPricingTerm.RateCards[]. RateCard[]. DimensionKey | ObligatoireLa longueur doit être comprise entre 1 et 100 | 422 | 
| Termes []. UsageBasedPricingTerm.RateCards[]. RateCard[] .Prix | ObligatoireLe type de données est « String »<br />Non-negativedécimales avec prise en charge jusqu'à 8 décimales | 422 | 

**Erreurs asynchrones**

Les erreurs suivantes sont spécifiques aux `UpdatePricingTerms` actions du AWS Marketplace Catalog API. Ces erreurs sont renvoyées lorsque vous appelez `DescribeChangeSet` après le traitement d'un ensemble de modifications. Pour plus d'informations sur l'utilisation `DescribeChangeSet` pour obtenir le statut d'une demande de modification, consultez[Travailler avec des ensembles de modifications](catalog-apis.md#working-with-change-sets).


| Code d’erreur | Message d’erreur | 
| --- | --- | 
| CLÉS DE DIMENSION DUPLIQUÉES | Fournissez à Grants une liste unique de clés de dimension dans [x]. | 
| CLÉS DE DIMENSION DUPLIQUÉES |  RateCard Fournissez une liste unique de clés de dimension dans [x]. | 
| SÉLECTEURS DUPLIQUÉS  | Fournissez une liste unique de sélecteurs dans. ConfigurableUpfrontPricingTerm | 
| TYPES\_TERMES DUPLIQUÉS | Fournissez une liste unique de types de termes. | 
| ACCORD\_INCOMPATIBLE | Les termes suivants ne peuvent pas être supprimés de l'offre de remplacement : [x, y, z]. | 
| ACCORD\_INCOMPATIBLE | Les conditions suivantes ne peuvent pas être ajoutées à l'offre de remplacement : [x, y, z]. | 
| CODE\_MONNAIE\_INCOMPATIBLE | CurrencyCode ne peut pas être modifiée après la publication de l'offre. | 
| PARAMÈTRES\_DE PAIEMENT INCOMPATIBLES | Mettez à jour vos paramètres de paiement pour qu'ils soient compatibles avec le CurrencyCode. | 
| PRODUIT\_INCOMPATIBLE | Le modèle de tarification d'utilisation n'est pas pris en charge pour le produit. | 
| PRODUIT\_INCOMPATIBLE | Le modèle de tarification contractuelle n'est pas pris en charge pour le produit. | 
| PRODUIT\_INCOMPATIBLE | Le modèle de tarification Byol n'est pas pris en charge pour le produit. | 
| PRODUIT\_INCOMPATIBLE | Le modèle de tarification gratuit n'est pas pris en charge pour le produit. | 
| PRODUIT\_INCOMPATIBLE | [x] n'est pas pris en charge dans une offre pour le produit. | 
| PRODUIT\_INCOMPATIBLE | À condition que les conditions de paiement et de tarification soient incompatibles. | 
| PRODUIT\_INCOMPATIBLE | Utilisez les dimensions existantes et disponibles du produit en [x]. | 
| PRODUIT\_INCOMPATIBLE | FreeTrialPricingTerm car la seule condition tarifaire de l'offre n'est pas prise en charge pour le produit. | 
| PRODUIT\_INCOMPATIBLE | Les termes suivants ne sont pas pris en charge pour le produit : [x, y, z]. | 
| PRODUIT\_INCOMPATIBLE | Les offres de remplacement ne sont prises en charge que pour le modèle de tarification contractuelle. | 
| PRODUIT\_INCOMPATIBLE | Indiquez les conditions tarifaires compatibles avec les dimensions du produit. Conditions tarifaires incompatibles : [x, y, z]. | 
| INCOMPATIBLE\_RATE\_CARD\_CONSTRAINTS | Définissez MultipleDimensionSelection et sélectionnez Autorisé QuantityConfiguration ConfigurableUpfrontPricingTerm pour le modèle de tarification d'utilisation. | 
| INCOMPATIBLE\_RATE\_CARD\_CONSTRAINTS | Définir MultipleDimensionSelection et QuantityConfiguration interdire dans le modèle de tarification ConfigurableUpfrontPricingTerm de l'utilisation. | 
| INCOMPATIBLE\_RATE\_CARD\_CONSTRAINTS | QuantityConfiguration le ConfigurableUpfrontPricingTerm code ne peut pas être modifié après la publication de l'offre. | 
| INCOMPATIBLE\_RATE\_CARD\_CONSTRAINTS | MultipleDimensionSelection le ConfigurableUpfrontPricingTerm code ne peut pas être modifié après la publication de l'offre. | 
| TARIFS\_INCOMPATIBLES | Réglez tous les montants des frais et les prix à zéro (0) lorsque vous utilisez le modèle de tarification gratuit. | 
| TARIFS\_INCOMPATIBLES | Seul un prix nul (0) est autorisé UsageBasedPricingTerm pour une offre d'essai gratuite du produit. | 
| AUTORISATION\_DE REVENTE\_INCOMPATIBLE | Fournissez les mêmes informations CurrencyCode que celles spécifiées dans le ResaleAuthorization. | 
| AUTORISATION\_DE REVENTE\_INCOMPATIBLE | Assurez-vous que la durée des FixedUpfrontPricingTerm matchs est spécifiée dans le ResaleAuthorization. | 
| AUTORISATION\_DE REVENTE\_INCOMPATIBLE | Indiquez des termes compatibles avec le ResaleAuthorization. Termes incompatibles : [x, y, z]. | 
| DURÉE\_DU SÉLECTEUR INCOMPATIBLE | Les durées ne peuvent pas être supprimées des cartes tarifaires ConfigurableUpfrontPricingTerm après la publication de l'offre. | 
| VÉRIFICATION\_VENDEUR INCOMPATIBLE | Effectuez tous les processus de vérification des vendeurs requis. | 
| TERMES\_INCOMPATIBLES  | [x] n'est pas pris en charge avec les termes suivants : [y, z]. | 
| TERMES\_INCOMPATIBLES  | Les termes suivants ne peuvent pas être ajoutés après la publication de l'offre : [x, y, z]. | 
| TERMES\_INCOMPATIBLES  | Les termes suivants ne peuvent pas être supprimés après la publication de l'offre : [x, y, z]. | 
| TERMES\_INCOMPATIBLES  | [x] n'est pas pris en charge pour les offres privées. | 
| TERMES\_INCOMPATIBLES  | Les termes suivants ne sont pas pris en FreeTrialPricingTerm charge et autorisent une utilisation illimitée : [x, y, z]. | 
| TERMES\_INCOMPATIBLES  | Les termes suivants ne sont pas pris en charge FreeTrialPricingTerm pour le produit : [x, y, z]. | 
| TERMES\_INCOMPATIBLES  | Indiquez un prix nul (0) FixedUpfrontPricingTerm lorsque l'offre contient un PaymentScheduleTerm. | 
| TERMES\_INCOMPATIBLES  | Les termes suivants ne sont pas compatibles avec PricingModel : [x, y, z]. | 
| TERMES\_INCOMPATIBLES  | FixedUpfrontPricingTerm n'est pas pris en charge lorsqu'il MarkupPercentage est supérieur à zéro (0). | 
| TERMES\_INCOMPATIBLES  | La modification demandée ne peut pas être effectuée après la publication de l'offre. | 
| TERMES\_INCOMPATIBLES  | La modification demandée ne peut pas être effectuée une fois l'offre expirée. | 
| DURÉE\_DURE\_DURE\_D'ACCORD NON VALIDE | Indiquez une durée comprise entre [x] et [y] mois. | 
| DURÉE\_DURE\_DURE\_D'ACCORD NON VALIDE | Assurez-vous que la granularité de la durée est au niveau du jour pour les dimensions mesurées. | 
| CODE\_MONNAIE\_NON VALIDE | Fournir un support CurrencyCode. | 
| CODE\_MONNAIE\_NON VALIDE | Fournissez les mêmes informations pour CurrencyCode tous les prix et conditions de paiement. | 
| CODE\_MONNAIE\_NON VALIDE | Fournir un support CurrencyCode. | 
| CODE\_MONNAIE\_NON VALIDE | Fournissez les mêmes informations pour CurrencyCode tous les prix et conditions de paiement. | 
| DURÉE\_INVALIDE | Assurez-vous que la durée en FreeTrialPricingTerm se situe dans la plage autorisée. | 
| DURÉE\_INVALIDE | Indiquez une durée FixedUpfrontPricingTerm qui correspond à la durée comprise entre AgreementStartDate et AgreementEndDate. | 
| DURÉE\_INVALIDE | Indiquez une durée comprise entre [x] et [y] mois. | 
| DURÉE\_INVALIDE | Assurez-vous que la granularité de la durée est au niveau du jour pour les dimensions mesurées. | 
| SUBVENTIONS NON VALIDES | Indiquez la même chose MaxQuantity pour toutes les subventions en FreeTrialPricingTerm. | 
| SUBVENTIONS NON VALIDES | Fournir des subventions pour toutes les dimensions mesurées disponibles dans FreeTrialPricingTerm. | 
| SUBVENTIONS NON VALIDES | The combination of Dimensions in grants is invalid in FixedUpfrontPricingTerm for the product. | 
| SUBVENTIONS NON VALIDES | The combination of Dimensions in grants is invalid in FreeTrialPricingTerm for the product. | 
| SUBVENTIONS NON VALIDES | FixedUpfrontPricingTerm with MaxQuantity is not supported for this product. | 
| CHANGEMENT\_PRIX\_INVALIDE | [x] ne peut pas être mis à jour avant [y] car vous avez demandé une augmentation de prix au cours des 120 derniers jours. Pour annuler votre précédente demande d'augmentation de prix ou pour plus d'informations, contactez l'équipe chargée des opérations de catalogue AWS Marketplace géré. | 
| CHANGEMENT\_PRIX\_INVALIDE | L'augmentation de prix et l'ajout de dimensions dans [x] ne sont pas pris en charge dans la même demande. Ajoutez d'abord les dimensions. | 
| CHANGEMENT\_PRIX\_INVALIDE | L'augmentation ou la diminution du prix UsageBasedPricingTerm ne sont pas prises en charge dans la même demande. Diminuez d'abord les prix. | 
| CHANGEMENT\_PRIX\_INVALIDE | L'augmentation RecurringPaymentTerm et la baisse de prix ne sont UsageBasedPricingTerm pas prises en charge dans la même demande. Diminuez d'abord les prix. | 
| CHANGEMENT\_PRIX\_INVALIDE | La baisse RecurringPaymentTerm et l'augmentation du prix ne sont UsageBasedPricingTerm pas prises en charge dans la même demande. Diminuez d'abord les prix. | 
| CARTE\_TARIFAIRE NON VALIDE | ConfigurableUpfrontPricingTerm il manque une ou plusieurs clés de dimension pendant la durée [x]. Indiquez les prix pour le même jeu de clés dimensionnelles pour toutes les durées. | 
| CARTE\_TARIFAIRE NON VALIDE | Fournissez une carte tarifaire pour les dimensions mesurées uniquement. UsageBasedPricingTerm | 
| CARTE\_TARIFAIRE NON VALIDE | Les taux ne peuvent pas être supprimés de [x]. Indiquez les prix pour toutes les dimensions dans la fiche tarifaire existante. | 
| CARTE\_TARIFAIRE NON VALIDE | Indiquez des dimensions dont l'unité est identique dans [x]. | 
| CARTE\_TARIFAIRE NON VALIDE | Indiquez toutes les dimensions mesurées ou toutes les dimensions autorisées en [x]. | 
| CARTE\_TARIFAIRE NON VALIDE | Indiquez uniquement les dimensions autorisées dans [x]. | 
| CARTE\_TARIFAIRE NON VALIDE | Fournissez des taux basés sur l'utilisation pour toutes les dimensions mesurées disponibles dans UsageBasedPricingTerm. | 
| CARTE\_TARIFAIRE NON VALIDE | Fournissez des tarifs basés sur l'utilisation pour toutes les dimensions de l'essai gratuit. | 
| CARTE\_TARIFAIRE NON VALIDE | Indiquez les prix avec un maximum de 8 décimales. UsageBasedPricingTerm | 
| CARTE\_TARIFAIRE NON VALIDE | The combination of Dimensions in rate card is invalid in UsageBasedPricingTerm for the product. | 
| VALEUR\_DURE\_DURE\_DE\_SÉLECTION NON VALIDE | Indiquez une durée comprise entre [x] et [y] mois. | 
| VALEUR\_DURE\_DURE\_DE\_SÉLECTION NON VALIDE | Assurez-vous que la granularité de la durée est au niveau du jour pour les dimensions mesurées. | 
| VALEUR\_DURE\_DURE\_DE\_SÉLECTION NON VALIDE | Assurez-vous que la durée en ConfigurableUpfrontPricingTerm se situe dans la plage autorisée. | 
| VALEUR\_DURE\_DURE\_DE\_SÉLECTION NON VALIDE | Indiquez une ou plusieurs durées de contrat prises en charge. | 
| VALEUR\_DURE\_DURE\_DE\_SÉLECTION NON VALIDE | Indiquez une ou plusieurs durées de contrat prises en charge ou une durée personnalisée unique. | 
| VALEUR\_DURE\_DURE\_DE\_SÉLECTION NON VALIDE | Indiquez une durée ConfigurableUpfrontPricingTerm qui correspond à la durée comprise entre AgreementStartDate et AgreementEndDate. | 
| DURÉE\_MANQUANTE | Indiquez la durée dans FixedUpfrontPricingTerm. | 
| TERMES\_OBLIGATOIRES MANQUANTS | FixedUpfrontPricingTerm n'est pris en charge que lorsqu'il est associé à ByolPricingTerm ou PaymentScheduleTerm. | 
| TERMES\_OBLIGATOIRES MANQUANTS | Indiquez au moins l'un des [x, y, z]. | 
| TERMES\_OBLIGATOIRES MANQUANTS | Fournissez un modèle de tarification ByolPricingTerm lors de l'utilisation de Byol. | 
| TROP DE SUBVENTIONS | Fournir jusqu'à [x] subventions en [y]. | 
| TROP DE CARTES TARIFAIRES | Une seule inscription par carte tarifaire ConfigurableUpfrontPricingTerm est autorisée pour le produit. | 
| TROP DE CARTES TARIFAIRES | Jusqu'à [x] cartes tarifaires sont autorisées ConfigurableUpfrontPricingTerm pour le produit. | 
| TROP DE TARIFS | Fournissez RateCards dans les limites autorisées dans ConfigurableUpfrontPricingTerm. | 
| TROP DE TARIFS | Fournissez RateCards dans les limites autorisées dans UsageBasedPricingTerm. | 
| INCOMPATIBLE\_RATE\_CARD\_CONSTRAINTS | Définissez les deux MultipleDimensionSelection et QuantityConfiguration la même valeur (Autorisé ou Non autorisé) dans ConfigurableUpfrontPricingTerm. | 
| INCOMPATIBLE\_RATE\_CARD\_CONSTRAINTS | Prévoir les mêmes contraintes pour toutes les cartes tarifaires incluses ConfigurableUpfrontPricingTerm. | 
| DEMANDE\_MISE À JOUR NON VALIDE | [x] ne peut pas être mis à jour. Pour demander un changement de prix ou pour plus d'informations, contactez l'équipe des opérations de catalogue AWS Marketplace géré. | 
| MODÈLE\_DE TARIFICATION INCOMPATIBLE | PricingModel Impossible de passer de [x] à [y]. | 
| SUBVENTIONS NON VALIDES | MaxQuantity car le FreeTrialPricingTerm est limité pour le produit. Entrez une valeur MaxQuantity inférieure ou égale à [x]. Pour plus d'informations, contactez l'équipe des opérations de catalogue AWS Marketplace géré. | 
| SUBVENTIONS NON VALIDES |  MaxQuantity Prévoyez toutes les subventions en FixedUpfrontPricingTerm. | 
| SUBVENTIONS NON VALIDES | MaxQuantity n'est pas pris en FixedUpfrontPricingTerm charge dans le produit. | 
| AUTORISATION\_DE REVENTE\_INCOMPATIBLE | Assurez-vous que les subventions FixedUpfrontPricingTerm correspondent aux correspondances RateCards spécifiées dans le ResaleAuthorization. | 

## Mettre à jour la découvrabilité de l'offre
<a name="update-availability"></a>

Vous pouvez utiliser l'API du catalogue pour contrôler la découvrabilité de votre offre dans AWS Marketplace. 

Vous pouvez choisir de fixer une date précise dans le futur afin de limiter la visibilité de votre offre ou de la faire expirer dans le passé. Le type de `UpdateAvailability` modification n'affecte pas les accords existants.

**Note**  
Vous pouvez utiliser le type de `UpdateAvailability` modification sur une offre privée déjà [publiée](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/offers.html#release-offer) (également appelée « *publiée* »). Si les acheteurs ont déjà accepté l'offre privée, ces accords existants ne sont pas affectés.
Lors `AvailabilityEndDate` de la modification d'une offre privée existante, les [contraintes liées à la durée du contrat](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/offers.html#update-validity-terms) doivent être respectées. Si ce n'est pas le cas, incluez un type de `UpdateValidityTerms` modification supplémentaire dans cet ensemble de modifications afin de modifier la durée du contrat afin de respecter la nouvelle expiration. Le type de `UpdateValidityTerms` modification peut être utilisé sur une offre privée publiée ou non encore publiée.
Lors `AvailabilityEndDate` de la modification d'une offre privée existante, les [contraintes du calendrier de paiement](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/offers.html#update-payment-schedule-terms) doivent être respectées. Si ce n'est pas le cas et que l'offre privée *n'est pas encore publiée*, incluez un type de `UpdatePaymentScheduleTerms` modification supplémentaire dans cet ensemble de modifications afin de modifier le calendrier de paiement afin de respecter la nouvelle date d'expiration. Si l'offre privée est *déjà publiée*, vous ne pouvez la modifier `AvailabilityEndDate` que dans la mesure où la nouvelle date respecte les contraintes du calendrier de paiement.

Pour contrôler la découvrabilité de votre offre, appelez l'opération `StartChangeSet` API avec le type de `UpdateAvailability` modification, comme indiqué dans l'exemple suivant. 

**Syntaxe de la demande**

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

Fournissez des informations pour les champs permettant d'ajouter le type de `UpdateAvailability` modification :
+ **Entité** (objet) (obligatoire) — Votre offre. 
  + **Type** (chaîne) (obligatoire) — `Type` C'est toujours le cas`Offer@1.0`. 
  + **Identifiant** (chaîne) (obligatoire) — L'identifiant de votre offre. Pour de plus amples informations, veuillez consulter [Identifiant](catalog-apis.md#identifier).
+ **DetailsDocument**(object) (obligatoire) — La valeur JSON des spécificités de la demande.
  + **AvailabilityEndDate**(chaîne) (obligatoire) — Il s'agit de la date jusqu'à laquelle l'offre peut être découverte et achetée en. AWS Marketplace Vous pouvez choisir de fixer une date précise dans le futur pour limiter la disponibilité ou dans le passé pour faire expirer l'offre. Les dates sont représentées sous forme de `YYYY-MM-DD` format.

Un ensemble de modifications est créé pour votre demande. La réponse à cette demande vous donne l'ID et l'ARN de l'ensemble de modifications et ressemble à ce qui suit.

**Syntaxe de réponse**

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

La demande de modification est ajoutée à une file d'attente et traitée. Cela inclut la validation des informations pour s'assurer qu'elles sont conformes aux AWS Marketplace directives. Le processus de validation peut prendre quelques minutes. Vous pouvez vérifier l'état de la demande via ou dans l'API du catalogue avec l'`DescribeChangeSet`action. Portail de gestion AWS Marketplace

**Validations synchrones**

Les validations de schéma suivantes sont spécifiques aux `UpdateAvailability` actions du AWS Marketplace Catalog API. Ces validations sont effectuées lorsque vous appelez`StartChangeSet`. Si la demande ne répond pas aux exigences suivantes, elle échouera avec une réponse HTTP.


| Champ de saisie | Règle de validation | Code HTTP | 
| --- | --- | --- | 
| AvailabilityEndDate | Obligatoire<br />Format : « YYYY-MM-DD » | 422 | 

**Erreurs asynchrones**

Les erreurs suivantes sont spécifiques aux `UpdateAvailability` actions du AWS Marketplace Catalog API. Ces erreurs sont renvoyées lorsque vous appelez `DescribeChangeSet` après le traitement d'un ensemble de modifications. Pour plus de détails sur l'utilisation `DescribeChangeSet` pour obtenir le statut d'une demande de modification, consultez[Travailler avec des ensembles de modifications](catalog-apis.md#working-with-change-sets).


| Code d’erreur | Message d’erreur | 
| --- | --- | 
| DATE DE FIN DE DISPONIBILITÉ NON VALIDE | AvailabilityEndDate n'est pas pris en charge pour les offres publiques. | 
| DATE DE FIN DE DISPONIBILITÉ NON VALIDE | Offrez un futur AvailabilityEndDate. | 
| DATE DE FIN DE DISPONIBILITÉ NON VALIDE | Fournissez un AvailabilityEndDate qui est antérieur AgreementEndDate. | 
| DATE DE FIN DE DISPONIBILITÉ MANQUANTE | Indiquez une date AvailabilityEndDate antérieure à la date de fin de l'accord. | 

## Définissez la date d'expiration des accords créés à l'aide de l'offre
<a name="update-validity-terms"></a>

Vous pouvez utiliser l'API du catalogue pour définir les détails de la date d'expiration des accords créés à l'aide de l'offre dans AWS Marketplace. 

Ce type de modification n'affecte pas les accords existants.

**Note**  
Vous pouvez utiliser le type de `UpdateValidityTerms` modification sur une offre privée déjà [publiée](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/offers.html#release-offer) (également appelée « *publiée* »). Si les acheteurs ont déjà accepté l'offre privée, ces accords existants ne sont pas affectés.  
Pour **AMI-based**les produits **basés sur des conteneurs**, si les [conditions tarifaires](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/offers.html#update-pricing-terms) de votre offre privée incluent un type de terme `Duration` (par exemple, les types de termes `FixedUpfrontPricingTerm` ou`ConfigurableUpfrontPricingTerm`), votre `AgreementDuration` définition de ce type de modification doit être supérieure à ce qui suit : le nombre de jours entre aujourd'hui et l'[expiration de l'offre privée](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/offers.html#update-availability) plus le nombre de jours défini dans ces types `Duration` de termes. En effet, une fois qu'un acheteur a accepté l'offre privée et que le contrat a été créé, il peut éventuellement acheter des droits supplémentaires spécifiés dans ces types de termes jusqu'à l'expiration de l'offre privée. En outre, tous les droits supplémentaires doivent prendre fin avant la fin de l'accord. Par exemple, si l'acheteur accepte l'offre privée le premier jour disponible, puis achète des droits le dernier jour disponible, ces droits ne doivent pas prendre fin après la date de fin du contrat.

Pour définir les détails de la date d'expiration des accords créés à l'aide de l'offre, appelez l'opération `StartChangeSet` API avec le type de `UpdateValidityTerms` modification, comme indiqué dans l'exemple suivant. 

**Syntaxe de la demande**

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

Fournissez des informations pour les champs permettant d'ajouter le type de `UpdateValidityTerms` modification :
+ **Entité** (objet) (obligatoire) — Votre offre. 
  + **Type** (chaîne) (obligatoire) — `Type` C'est toujours le cas`Offer@1.0`. 
  + **Identifiant** (chaîne) (obligatoire) — L'identifiant de votre offre. Pour de plus amples informations, veuillez consulter [Identifiant](catalog-apis.md#identifier).
+ **DetailsDocument**(object) (obligatoire) — La valeur JSON des spécificités de la demande.
  + **Termes** (ensemble de structures) : liste des termes de validité que vous souhaitez mettre à jour. Les conditions de validité prises en charge sont les suivantes :
    + **ValidityTerm**(objet) — Définit les conditions qui assureront la validité d'un accord créé à partir de cette offre.
      + **Type** (chaîne) — Catégorie du terme mis à jour. `ValidityTerm`
      + **AgreementDuration**(chaîne) — Définit la durée pendant laquelle l'accord reste actif. Si `AgreementStartDate` ce n'est pas le cas, la durée du contrat est relative à l'heure de signature de l'accord. La durée est représentée au format ISO\_8601.
      + **AgreementStartDate**(chaîne) — Définit la date de début de l'accord. `AgreementStartDate`est représenté sous forme de `YYYY-MM-DD` format. L'accord commence à 00:00:00.000 UTC à la date indiquée. Si `AgreementStartDate` ce n'est pas le cas, la date de début de l'accord est déterminée en fonction de l'heure de signature de l'accord.
      + **AgreementEndDate**(chaîne) — Définit la date de fin de l'accord. Le `AgreementEndDate` est représenté sous forme de `YYYY-MM-DD` format. L'accord prend fin à 23:59:59.999 UTC à la date prévue. Si `AgreementEndDate` ce n'est pas le cas, la date de fin du contrat est déterminée par la validité des conditions individuelles.

**Syntaxe de réponse**

Un ensemble de modifications est créé pour votre demande. La réponse à cette demande vous donne l'`ChangeSetId`ensemble `ChangeSetArn` de modifications et ressemble à ce qui suit.

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

La demande de modification est ajoutée à une file d'attente et traitée. Cela inclut la validation des informations pour s'assurer qu'elles sont conformes aux AWS Marketplace directives. Le processus de validation peut prendre quelques minutes. 

Vous pouvez vérifier l'état de la demande via ou directement via l' Portail de gestion AWS Marketplace API Catalog à l'aide de l'opération `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

**Validations synchrones**

Les validations de schéma suivantes sont spécifiques aux `UpdateValidityTerms` actions du AWS Marketplace Catalog API. Ces validations sont effectuées lorsque vous appelez`StartChangeSet`. Si la demande ne répond pas aux exigences suivantes, elle échouera avec une réponse HTTP.


| Champ de saisie | Règle de validation | Code HTTP | 
| --- | --- | --- | 
| Termes | Obligatoire | 422 | 
| Termes [] .Type | Obligatoire<br />Ne peut être que `"ValidityTerm"` | 422 | 
| Termes []. AgreementDuration | Facultatif<br />Format attendu par type de sélecteur : durée ISO 8601<br />Peut être autonome ou associé à `AgreementStartDate` | 422 | 
| Termes []. AgreementEndDate | Facultatif<br />La date doit être formatée comme `"YYYY-MM-DD"` | 422 | 
| Termes []. AgreementStartDate | Facultatif<br />La date doit être formatée comme `"YYYY-MM-DD"`<br />Ne peut être jumelé qu'avec `AgreementEndDate` et `AgreementDuration` | 422 | 

**Erreurs asynchrones**

Les erreurs suivantes sont spécifiques aux `UpdateValidityTerms` actions du AWS Marketplace Catalog API. Ces erreurs sont renvoyées lorsque vous appelez `DescribeChangeSet` après le traitement d'un ensemble de modifications. Pour plus d'informations sur l'utilisation `DescribeChangeSet` pour obtenir le statut d'une demande de modification, consultez[Travailler avec des ensembles de modifications](catalog-apis.md#working-with-change-sets).


| Code d’erreur | Message d’erreur | 
| --- | --- | 
| ACCORD\_INCOMPATIBLE | AgreementStartDate ne peut pas être dans le futur alors que le contrat actuel à remplacer n'est pas daté du futur. | 
| DATE\_DE\_DE\_DE\_DE\_FIN DE CONTRAT INCOMPATIBLE | AgreementEndDate ne peut pas être mis à jour après la publication de l'offre. | 
| DATE\_DE\_DÉBUT\_DE L'ACCORD-CADRE INCOMPATIBLE | AgreementStartDate ne peut pas être mis à jour après la publication de l'offre. | 
| PRODUIT\_INCOMPATIBLE | AgreementStartDate à l'avenir n'est pas pris en charge. | 
| AUTORISATION\_DE REVENTE\_INCOMPATIBLE | Assurez-vous que la durée entre AgreementStartDate et AgreementEndDate est compatible avec le ResaleAuthorization. | 
| AUTORISATION\_DE REVENTE\_INCOMPATIBLE | Assurez-vous AgreementStartDate qu'il est compatible avec le ResaleAuthorization. | 
| AUTORISATION\_DE REVENTE\_INCOMPATIBLE | Assurez-vous AgreementEndDate qu'il est compatible avec le ResaleAuthorization. | 
| AUTORISATION\_DE REVENTE\_INCOMPATIBLE | Assurez-vous que la durée entre AgreementStartDate et AgreementEndDate est compatible avec le ResaleAuthorization. | 
| AUTORISATION\_DE REVENTE\_INCOMPATIBLE | Assurez-vous que la durée AgreementDuration correspond à celle spécifiée dans le ResaleAuthorization. | 
| TERMES\_INCOMPATIBLES  | ValidityTerm n'est pas pris en charge pour les offres publiques. | 
| TERMES\_INCOMPATIBLES  | La modification demandée ne peut pas être effectuée une fois l'offre expirée. | 
| DURÉE\_DURE\_DURE\_D'ACCORD NON VALIDE | Indiquez AgreementDuration que ce délai est supérieur ou égal à [x] jours. | 
| DATE\_DE\_FIN\_D'ACCORD NON VALIDE | Offrez un futur AgreementEndDate. | 
| DATE\_DE\_FIN\_D'ACCORD NON VALIDE | Indiquez AgreementEndDate que ce chiffre est supérieur ou égal à [x]. | 
| DATE\_DE\_DÉBUT\_DE L'ACCORD-CADRE NON VALIDE | Fournissez AgreementStartDate celui qui suit AvailabilityEndDate. | 
| DATE\_DE\_DÉBUT\_DE L'ACCORD-CADRE NON VALIDE | Fournissez un AgreementStartDate document qui se trouve avant le AgreementEndDate. | 
| DATE\_DE\_DÉBUT\_DE L'ACCORD-CADRE NON VALIDE | Fournissez un AgreementStartDate document dans les [x] ans à compter d'aujourd'hui. | 
| TIME\_INTERVAL INVALID\_AGREEMENT\_TIME | ValidityTerm avec les deux AgreementDuration et AgreementEndDate n'est pas pris en charge. | 
| TIME\_INTERVAL INVALID\_AGREEMENT\_TIME | ValidityTerm avec les deux AgreementStartDate et AgreementDuration n'est pas pris en charge dans une offre pour le produit. | 
| TIME\_INTERVAL INVALID\_AGREEMENT\_TIME | ValidityTerm avec AgreementStartDate n'est pas pris en charge dans une offre pour le produit. | 
| TIME\_INTERVAL INVALID\_AGREEMENT\_TIME | ValidityTerm avec uniquement AgreementStartDate n'est pas pris en charge. | 
| TIME\_INTERVAL INVALID\_AGREEMENT\_TIME | AgreementEndDate n'est pas pris en charge sauf s'il est utilisé en combinaison avec une future offre AgreementStartDate ou pour des offres de remplacement. | 
| TIME\_INTERVAL INVALID\_AGREEMENT\_TIME | Indiquez AgreementStartDate et AgreementEndDate où la différence est inférieure ou égale à [x] ans. | 
| DATE\_DE\_DÉBUT\_DE\_ACCORD MANQUANTE | Assurez-vous AgreementStartDate qu'il est présent ValidityTerm lorsqu'il est utilisé avec ConfigurableUpfrontPricingTerm. | 
| DATE\_DE\_FIN\_D'ACCORD NON VALIDE | Fournissez un AgreementEndDate document dans les [x] ans à compter d'aujourd'hui. | 
| DATE\_DE\_DÉBUT\_DE L'ACCORD-CADRE INCOMPATIBLE | Fournissez les mêmes informations AgreementStartDate que celles définies dans le contrat lorsque celui-ci a une date de début future. | 
| ACCORD\_INCOMPATIBLE | AgreementStartDate ne peut pas être daté dans le futur lorsque le contrat n'est pas daté dans le futur. | 

## Mettre à jour les détails du calendrier de paiement
<a name="update-payment-schedule-terms"></a>

Vous pouvez utiliser l'API du catalogue pour mettre à jour les détails du calendrier de paiement de votre offre, tels que le calendrier de paiement flexible, dans AWS Marketplace. 

**Note**  
Vous ne pouvez pas utiliser le type de `UpdatePaymentScheduleTerms` modification sur une offre déjà [publiée](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/offers.html#release-offer) (également appelée « *publiée* »).  
L'offre privée peut être acceptée n'importe quel jour entre la création de l'offre privée et son [expiration](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/offers.html#update-availability) (définie dans le`AvailabilityEndDate`). Une seule `ChargeDate` valeur du calendrier de paiement peut être une date égale ou antérieure au dernier jour où l'acheteur peut accepter l'offre privée (date d'expiration de l'offre privée). Les valeurs restantes de `ChargeDate` doivent se situer après l'expiration de l'offre privée, mais au plus tard à la fin du contrat si l'offre privée a été acceptée immédiatement. La fin de l'accord est basée sur le moment où l'offre privée est acceptée (création de l'accord) plus la [durée de l'accord](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/offers.html#update-validity-terms).

Pour mettre à jour les détails du calendrier de paiement de votre offre, appelez l'opération `StartChangeSet` API avec le type de `UpdatePaymentScheduleTerms` modification, comme indiqué dans l'exemple suivant.

**Syntaxe de la demande**

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

Fournissez des informations pour les champs permettant d'ajouter le type de `UpdatePaymentScheduleTerms` modification :
+ **Entité** (objet) (obligatoire) — Votre offre. 
  + **Type** (chaîne) (obligatoire) — `Type` C'est toujours le cas`Offer@1.0`. 
  + **Identifiant** (chaîne) (obligatoire) — L'identifiant de votre offre. Pour de plus amples informations, veuillez consulter [Identifiant](catalog-apis.md#identifier).
+ **DetailsDocument**(object) (obligatoire) — La valeur JSON des spécificités de la demande.
  + **Termes** (ensemble de structures) : liste des conditions de paiement que vous souhaitez mettre à jour. Les conditions de paiement prises en charge sont les suivantes :
    + **PaymentScheduleTerm**(objet) — Définit un modèle de tarification par versements dans le cadre duquel les clients se voient facturer un prix fixe à différentes dates au cours de la période de validité du contrat.
      + **Type** (chaîne) — Type du terme mis à jour. Il s'agit de la valeur de l'objet :`"PaymentScheduleTerm"`.
      + **Calendrier** (ensemble de structures) — Liste du calendrier de paiement où chaque élément définit un versement. Il contient les informations nécessaires au calcul du prix à payer et de la date à laquelle le client serait débité.
        + **ChargeDate**(string) — Date à laquelle le client paierait le prix défini dans ce délai de paiement. `ChargeDate`est représenté sous forme de YYYY-MM-DD format. Les factures sont générées à la date indiquée.
        + **ChargeAmount**(string) — Le prix que le client paierait à la date prévue (`ChargeDate`).

**Syntaxe de réponse**

Un ensemble de modifications est créé pour votre demande. La réponse à cette demande vous donne l'`ChangeSetId`ensemble `ChangeSetArn` de modifications et ressemble à ce qui suit.

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

La demande de modification est ajoutée à une file d'attente et traitée. Cela inclut la validation des informations pour s'assurer qu'elles sont conformes aux AWS Marketplace directives. Le processus de validation peut prendre quelques minutes. 

Vous pouvez vérifier l'état de la demande via ou directement via l' Portail de gestion AWS Marketplace API Catalog à l'aide de l'opération `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

**Validations synchrones**

Les validations de schéma suivantes sont spécifiques aux `UpdatePaymentScheduleTerms` actions du AWS Marketplace Catalog API. Ces validations sont effectuées lorsque vous appelez`StartChangeSet`. Si la demande ne répond pas aux exigences suivantes, elle échouera avec une réponse HTTP.


| Champ en entrée | Règle de validation | HTTP | 
| --- | --- | --- | 
| Termes | Obligatoire<br />Seul `PaymentScheduleTerm` est autorisé<br />La taille de la liste doit être inférieure à 2 | 422 | 
| Termes [] .Type | Obligatoire<br />Ne peut être que `PaymentScheduleTerm` | 422 | 
| Termes []. PaymentScheduleTerm.CurrencyCode | Obligatoire<br />Devises prises en charge : ["USD », « AUD », « EUR », « GBP », « JPY"] | 422 | 
| Termes []. PaymentScheduleTerm.Schedule[] | Obligatoire | 422 | 
| Termes []. PaymentScheduleTerm.Schedule[]. ChargeAmount | ObligatoireLe type de date est « Chaîne »<br />Non-negativedécimales avec prise en charge d'un maximum de 2 décimales | 422 | 
| Termes []. PaymentScheduleTerm.Schedule[]. ChargeDate | Obligatoire<br />La date doit être formatée comme « » YYYY-MM-DD | 422 | 

**Erreurs asynchrones**

Les erreurs suivantes sont spécifiques aux `UpdatePaymentScheduleTerms` actions du AWS Marketplace Catalog API. Ces erreurs sont renvoyées lorsque vous appelez `DescribeChangeSet` après le traitement d'un ensemble de modifications. Pour plus d'informations sur l'utilisation `DescribeChangeSet` pour obtenir le statut d'une demande de modification, consultez[Travailler avec des ensembles de modifications](catalog-apis.md#working-with-change-sets).


| Code d’erreur | Message d’erreur | 
| --- | --- | 
| DUPLICATE\_CHARGE\_DATES | Indiquez des dates de facturation uniques dans PaymentScheduleTerm. | 
| CODE\_MONNAIE\_INCOMPATIBLE | CurrencyCode ne peut pas être modifiée après la publication de l'offre. | 
| POURCENT\_DE BALISAGE INCOMPATIBLE | PaymentScheduleTerm n'est pas pris en charge lorsqu'il MarkupPercentage est supérieur à zéro (0). | 
| PARAMÈTRES\_DE PAIEMENT INCOMPATIBLES | Mettez à jour vos paramètres de paiement pour qu'ils soient compatibles avec le CurrencyCode. | 
| AUTORISATION\_DE REVENTE\_INCOMPATIBLE | Indiquez des termes compatibles avec le ResaleAuthorization. Termes incompatibles : [PaymentScheduleTerm]. | 
| AUTORISATION\_DE REVENTE\_INCOMPATIBLE | Assurez-vous que le montant total ChargeAmounts PaymentScheduleTerm est compatible avec le ResaleAuthorization. | 
| VÉRIFICATION\_VENDEUR INCOMPATIBLE | Effectuez tous les processus de vérification des vendeurs requis. | 
| TERMES\_INCOMPATIBLES | La modification demandée ne peut pas être effectuée après la publication de l'offre. | 
| TERMES\_INCOMPATIBLES | La modification demandée ne peut pas être effectuée une fois l'offre expirée. | 
| DATES\_DE\_CHARGE NON VALIDES | Indiquez les dates de facturation antérieures AgreementEndDate. | 
| CODE\_MONNAIE\_NON VALIDE | Fournir un support CurrencyCode. | 
| CODE\_MONNAIE\_NON VALIDE | Fournissez les mêmes informations pour CurrencyCode tous les prix et conditions de paiement. | 
| TROP DE FRAIS RÉTRODATÉS | Effectuez jusqu'à 1 paiement planifié à l'avance AvailabilityEndDate. | 
| DATES\_DE\_CHARGE NON VALIDES | Indiquez une date de dernière recharge antérieure AgreementEndDate. | 
| DATES\_DE\_CHARGE NON VALIDES | Indiquez une date de première recharge qui ne date pas d'hier. | 
| TROP DE FRAIS | Effectuez jusqu'à [x] paiements planifiés PaymentScheduleTerm. | 

## Modifier les options de renouvellement
<a name="update-renewal-terms"></a>

Vous pouvez utiliser l'API du catalogue pour contrôler les options de renouvellement des contrats créés à l'aide de cette offre dans AWS Marketplace. 

Pour les offres créées via l'API du catalogue, le renouvellement automatique reste désactivé par défaut jusqu'à ce que vous appeliez le type de `UpdateRenewalTerms` modification pour autoriser le renouvellement automatique. Ce changement n'affecte pas les accords existants.

Pour contrôler les options de renouvellement des contrats créés à l'aide de cette offre, appelez l'opération `StartChangeSet` API avec le type de `UpdateRenewalTerms` modification, comme indiqué dans l'exemple suivant.

**Syntaxe de la demande**

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

Fournissez des informations pour les champs permettant d'ajouter le type de `UpdateRenewalTerms` modification :
+ **Entité** (objet) (obligatoire) — Votre offre. 
  + **Type** (chaîne) (obligatoire) — `Type` C'est toujours le cas`Offer@1.0`. 
  + **Identifiant** (chaîne) (obligatoire) — L'identifiant de votre offre. Pour de plus amples informations, veuillez consulter [Identifiant](catalog-apis.md#identifier).
+ **DetailsDocument**(object) (obligatoire) — La valeur JSON des spécificités de la demande.
  + **Termes** (ensemble de structures) : liste des conditions de renouvellement que vous souhaitez mettre à jour. Les conditions de renouvellement prises en charge sont les suivantes :
    + **RenewalTerm**(objet) — Définit qu'en cas de résiliation gracieuse (expiration du contrat`ValidityTerm`, et non de l'acheteur ou AWS Marketplace annulation) du contrat, un nouveau contrat sera créé en utilisant les termes acceptés du contrat existant. En d'autres termes, l'accord sera renouvelé. La présence de `RenewalTerm` ce terme dans l'offre signifie que le renouvellement automatique est autorisé. Les acheteurs auront la possibilité d'accepter ou de refuser le renouvellement automatique lors de la acceptance/agreement création de l'offre.
      + **Type** (chaîne) — Type du terme mis à jour. `RenewalTerm`

**Syntaxe de réponse**

Un ensemble de modifications est créé pour votre demande. La réponse à cette demande vous donne l'`ChangeSetId`ensemble `ChangeSetArn` de modifications et ressemble à ce qui suit.

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

La demande de modification est ajoutée à une file d'attente et traitée. Cela inclut la validation des informations pour s'assurer qu'elles sont conformes aux AWS Marketplace directives. Le processus de validation peut prendre quelques minutes. 

Vous pouvez vérifier l'état de la demande via ou directement via l' Portail de gestion AWS Marketplace API Catalog à l'aide de l'opération `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

**Validations synchrones**

Les validations de schéma suivantes sont spécifiques aux `UpdateRenewalTerms` actions du AWS Marketplace Catalog API. Ces validations sont effectuées lorsque vous appelez`StartChangeSet`. Si la demande ne répond pas aux exigences suivantes, elle échouera avec une réponse HTTP.


| Champ de saisie | Règle de validation | Code HTTP | 
| --- | --- | --- | 
| Termes | Obligatoire | 422 | 
| Termes [] .Type | ObligatoireNe peut être que « RenewalTerm » | 422 | 

**Erreurs asynchrones**

Les erreurs suivantes sont spécifiques aux `UpdateRenewalTerms` actions du AWS Marketplace Catalog API. Ces erreurs sont renvoyées lorsque vous appelez `DescribeChangeSet` après le traitement d'un ensemble de modifications. Pour plus de détails sur l'utilisation `DescribeChangeSet` pour obtenir le statut d'une demande de modification, consultez[Travailler avec des ensembles de modifications](catalog-apis.md#working-with-change-sets).


| Code d’erreur | Message d’erreur | 
| --- | --- | 
| PRODUIT\_INCOMPATIBLE | RenewalTerm n'est pas pris en charge dans les offres privées du produit. | 
| TERMES\_INCOMPATIBLES  | RenewalTerm n'est pas pris en charge conjointement avec PaymentScheduleTerm. | 
| TERMES\_INCOMPATIBLES  | RenewalTerm n'est pas compatible avec le PricingModel. | 
| TERMES\_INCOMPATIBLES | La modification demandée ne peut pas être effectuée après la publication de l'offre. | 
| TERMES\_INCOMPATIBLES | La modification demandée ne peut pas être effectuée une fois l'offre expirée. | 

## Publier une offre
<a name="release-offer"></a>

Vous pouvez utiliser l'API du catalogue pour fusionner les informations collectées à partir de tous les types de modifications de mise à jour, puis publier l'offre.

Les offres restent en `Draft` l'état jusqu'à ce `ReleaseOffer` qu'elles soient appelées. Une fois l'offre publiée, elle est consultable dans AWS Marketplace.

Pour publier votre offre, appelez l'opération `StartChangeSet` API avec le type de `ReleaseOffer` modification, comme indiqué dans l'exemple suivant. 

**Syntaxe de la demande**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet": [
    {
      "ChangeType": "ReleaseOffer",
      "Entity": {
        "Type": "Offer@1.0",
        "Identifier": "offer-123456789"
      },
      "DetailsDocument": {}
    }
  ]
}
```

Fournissez des informations pour les champs permettant d'ajouter le type de `ReleaseOffer` modification :
+ **Entité** (objet) : type nommé d'entité en cours de création. `Identifier`C'est le numéro de votre offre, et `Type` il l'est toujours`Offer@1.0`. Pour de plus amples informations, veuillez consulter [Identifiant](catalog-apis.md#identifier).
+ **DetailsDocument**(object) — La valeur JSON des spécificités de la demande. Il doit être vide pour`ReleaseOffer`.

**Syntaxe de réponse**

Un ensemble de modifications est créé pour votre demande. La réponse à cette demande vous donne l'`ChangeSetId`ensemble `ChangeSetArn` de modifications et ressemble à ce qui suit.

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

La demande de modification est ajoutée à une file d'attente et traitée. Cela inclut la validation des informations pour s'assurer qu'elles sont conformes aux AWS Marketplace directives. Le processus de validation peut prendre quelques minutes. 

Vous pouvez vérifier l'état de la demande via ou directement via l' Portail de gestion AWS Marketplace API Catalog à l'aide de l'opération `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API.

**Validations synchrones**

Les validations de schéma suivantes sont spécifiques aux `ReleaseOffer` actions du AWS Marketplace Catalog API. Ces validations sont effectuées lorsque vous appelez`StartChangeSet`. Si la demande ne répond pas aux exigences suivantes, elle échouera avec une réponse HTTP.


| Champ de saisie | Règle de validation | 
| --- | --- | 
| DetailsDocument | Doit être vide ({}) | 

**Erreurs asynchrones**

Les erreurs suivantes sont spécifiques aux `ReleaseOffer` actions du AWS Marketplace Catalog API. Ces erreurs sont renvoyées lorsque vous appelez `DescribeChangeSet` après le traitement d'un ensemble de modifications. Pour plus d'informations sur l'utilisation `DescribeChangeSet` pour obtenir le statut d'une demande de modification, consultez[Travailler avec des ensembles de modifications](catalog-apis.md#working-with-change-sets).


| Code d’erreur | Message d’erreur | 
| --- | --- | 
| PARAMÈTRES\_DE PAIEMENT INCOMPATIBLES | Mettez à jour vos paramètres de paiement pour qu'ils soient compatibles avec le CurrencyCode. | 
| PRODUIT\_INCOMPATIBLE | Créez d'abord une offre publique pour le produit. | 
| VÉRIFICATION\_VENDEUR INCOMPATIBLE | Effectuez tous les processus de vérification des vendeurs requis. | 
| CIBLAGE\_INCOMPATIBLE | PreExistingAgreement n'est pris en charge que pour les offres ciblées sur les acheteurs. | 
| CIBLAGE\_INCOMPATIBLE | OfferSetId n'est pris en charge que pour les offres ciblées sur les acheteurs. | 
| INFORMATION\_FISCALE NON VALIDE | Vos informations fiscales sont incomplètes. Pour vendre des services professionnels AWS Marketplace, vous devez remplir le questionnaire fiscal DAC7. Accédez à la section Informations de paiement et sélectionnez le formulaire fiscal DAC7. La mise à jour de vos informations fiscales peut prendre jusqu'à deux heures. | 
| DEMANDE\_MISE À JOUR NON VALIDE | La modification demandée ne peut pas être effectuée après la publication de l'offre. | 
| DATE DE FIN D'ACCORD MANQUANTE | Fournissez AgreementEndDate une offre de remplacement. | 
| DATE DE FIN DE DISPONIBILITÉ MANQUANTE | Proposez une AvailabilityEndDate offre privée. | 
| COMPTES\_ACHETEUR\_MANQUANTS | Fournir BuyersAccounts pour PositiveTargeting les offres créées à l'aide de ResaleAuthorization. | 
| COMPTES\_ACHETEUR\_MANQUANTS | Toutes les offres relatives au produit doivent être privées. Fournir PositiveTargeting avec BuyersAccounts. | 
| DESCRIPTIF\_MANQUANTE | Définissez la description avant de publier l'offre. | 
| TERMES\_OBLIGATOIRES MANQUANTS | Ajoutez [x] à l'offre. | 
| TERMES\_OBLIGATOIRES MANQUANTS | Indiquez un FixedUpfrontPricingTerm lorsque l'offre contient un PaymentScheduleTerm. | 
| NOM\_MANQUANT | Définissez le nom avant de publier l'offre. | 
| TROP D'OFFRES | Une seule offre d'essai gratuite publique peut être créée par produit. | 
| TROP D'OFFRES | Une seule offre publique peut être créée par produit. | 
| TERMES\_OBLIGATOIRES MANQUANTS | Fournissez RenewalTerm une offre publique avec le prix contractuel du produit. | 
| DATE DE FIN D'ACCORD MANQUANTE | Fournissez AgreementEndDate une offre de remplacement. | 

## Décrire les détails de l'offre existante
<a name="describe-entity"></a>

Vous pouvez utiliser l'API du catalogue pour décrire les détails des offres existantes dans AWS Marketplace. 

Pour décrire les détails de l'offre existante, appelez l'opération `DescribeEntity` API avec le type d'`Offer@1.0`entité, comme indiqué dans l'exemple suivant.

**Syntaxe de la demande**

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

Fournissez des informations pour les champs permettant d'ajouter le type de `DescribeEntity` modification :
+ **catalog** (chaîne) — Le catalogue associé à la demande. Valeur fixe :`AWSMarketplace`.
+ **entityId** (string) — L'identifiant unique de l'offre à décrire.

**Syntaxe de réponse**

La réponse à cette demande vous donne les détails de l'offre et ressemble à ce qui suit.

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

Vous trouverez ci-dessous des informations sur les champs que vous voyez dans la `DescribeEntity` réponse.
+ **EntityType**(chaîne) — Le type nommé de l'entité, qui est`Offer@1.0`.
+ **EntityIdentifier**(chaîne) — L'identifiant de l'entité, au format de`EntityId@RevisionId`.
+ **EntityArn**(chaîne) — L'ARN associé à l'identifiant unique de l'ensemble de modifications référencé dans cette demande.
+ **LastModifiedDate**(chaîne) : date de dernière modification de l'entité, au format ISO 8601 (par exemple :`2018-02-27T13:45:22Z`).
+ **Détails** (chaîne) — Cet objet JSON stringifié inclut les détails suivants de l'entité :
  + **Id** (chaîne) — Identifiant unique pour une entité d'offre dans AWS Marketplace et est généré lors de la création d'une offre.
  + **État** (chaîne) : statut de l'offre.
  + **Nom** (chaîne) : nom associé à l'offre pour une meilleure lisibilité pour vous et vos clients. Il sera également affiché dans le cadre des informations relatives à l'accord.
  + **Description** (chaîne) — La description est un texte de forme libre destiné à être utilisé uniquement par vous et qui ne sera jamais exposé aux acheteurs.
  + **PreExistingAgreement**(string) — Détermine si cette offre est le renouvellement d'un contrat existant avec un client existant pour le même produit sous-jacent. L'accord existant peut être interne ou externe AWS Marketplace. AWS peut auditer et vérifier que votre offre est un renouvellement. S'il n' AWS est pas en mesure de vérifier votre offre, vous AWS pouvez révoquer l'offre et les droits de votre client.
    + **AcquisitionChannel**(chaîne) — Indique si l'accord existant a été signé à l'extérieur AWS Marketplace ou à l'intérieur AWS Marketplace. Valeurs possibles :`External`,`AwsMarketplace`.

       
    + **PricingModel**(chaîne) — Indique le modèle de tarification utilisé par le contrat existant. Valeurs possibles :`Contract`,`Usage`,`Byol`,`Free`.
  + **ProductId**(chaîne) — L'identifiant unique du produit proposé.
  + **OfferSetId**(chaîne) — L'identifiant unique de l'offre définie pour associer cette offre.
  + **Termes** (ensemble de structures) — Liste de termes.
  + **Règles** (ensemble de structures) — Liste des règles.