

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.

# Travailler avec les produits des vendeurs
<a name="work-with-seller-products"></a>

Vous pouvez utiliser le AWS Marketplace Catalog API pour automatiser les tâches liées à l'utilisation des produits des vendeurs. Cela inclut la possibilité de créer, de mettre à jour, d'afficher, de répertorier et de trier des produits. Cela vous permet d'automatiser la gestion des produits. Par exemple, vous pouvez fournir des fonctionnalités de publication en libre-service sur le Portail de gestion AWS Marketplace.

Un *produit* est une unité ou une ressource que vous avez l'intention de vendre AWS Marketplace, souvent appelée produit de base. Les acheteurs ne peuvent pas consommer un produit de base tant que vous n'avez pas ajouté les informations sur le produit, les attributs de déploiement et les informations de facturation.

Un *produit* décrit les informations sur le produit, les attributs de déploiement du logiciel et le mécanisme de facturation de l'offre que vous avez l'intention de vendre. Le *produit* doit être associé à une *offre* pour devenir une unité négociable que vous pouvez vendre et que les acheteurs peuvent utiliser. AWS Marketplace

Vous pouvez également utiliser le AWS Marketplace Catalog API pour :
+ [Travaillez avec des offres privées à l'aide du AWS Marketplace API](work-with-private-offers.md)
+ [Travaillez avec des autorisations de revente à l'aide du AWS Marketplace API](work-with-resale-authorizations.md)
+ [Travaillez avec les offres privées des partenaires de distribution à l'aide du AWS Marketplace API](work-with-cppos.md)

Chaque type de produit possède une entité de produit différente. Une *entité* peut être un produit ou une offre sur AWS Marketplace. Les types de produits et entités suivants sont pris en charge : 


| Type de produit | Entité | 
| --- | --- | 
| Produits Amazon Machine Image (AMI) | AmiProduct@1.0 | 
| Produits conteneur | ContainerProduct@1.0 | 
| Produits logiciels en tant que service (SaaS) | SaaSProduct@1.0 | 
| Produits d'apprentissage automatique (ML) | MachineLearningProduct@1.0 | 

**Note**  
Single-AMI avec les types de CloudFormation produits, AWS Data Exchange les produits de données et les produits de services professionnels ne sont pas pris en charge.

Les rubriques suivantes supposent que vous avez accès à l'API et que vous avez rempli toutes les conditions préalables requises pour les vendeurs, comme décrit dans[Contrôle d'accès pour AWS Marketplace Catalogue API](catalog-api-access-control.md).

Consultez les ressources suivantes :
+ Pour comprendre les principes de base de l'utilisation de l'API AWS Marketplace Catalog, consultez[Utilisation de AWS Marketplace Catalogue API](catalog-apis.md).
+ Pour des ateliers de bout en bout avec des exemples de code fonctionnel, voir [Gérer les produits avec l'API dans l'atelier](https://catalog.workshops.aws/mpseller/en-US/manage-products-with-api) destiné aux *AWS Marketplace vendeurs*.
+ Pour des exemples de code de requêtes d'API, consultez les exemples [Python](https://github.com/aws-samples/aws-marketplace-reference-code/tree/main/python/src/catalog_api/products) et [Java](https://github.com/aws-samples/aws-marketplace-reference-code/tree/main/java/resources/changeSets/products) dans *AWS Samples* on GitHub.

Les rubriques suivantes décrivent comment utiliser l'API Catalog pour effectuer des actions sur vos produits à AMI unique, vos produits basés sur des conteneurs ou vos produits SaaS.

**Topics**
+ [Création d'un produit](#create-product)
+ [Mettre à jour les détails du produit](#update-information)
+ [Ajouter des dimensions de tarification](#add-dimensions)
+ [Mettre à jour les dimensions de tarification](#update-dimensions)
+ [Restreindre les dimensions de tarification](#restrict-dimensions)
+ [Actualiser la configuration de ciblage](#update-targeting)
+ [Mettre à jour la visibilité des produits](#update-visibility)
+ [Publier un produit](#release-product)
+ [Trouvez l'identifiant de votre produit](#seller-product-id)
+ [Modifier le statut et les erreurs du set](#seller-product-change-set-errors)
+ [Travailler avec des AMI-based produits](work-with-single-ami-products.md)
+ [Travaillez avec les composants EC2 Image Builder](work-with-ec2-image-builder-products.md)
+ [Travaillez avec des produits en contenant à l'aide du AWS Marketplace API](work-with-container-products.md)
+ [Travaillez avec des produits SaaS à l'aide du AWS Marketplace API](work-with-saas-products.md)
+ [Travaillez avec des produits d'apprentissage automatique en utilisant AWS Marketplace API](work-with-ml-products.md)

## Création d'un produit
<a name="create-product"></a>

**Note**  
Ce type de modification n'est nécessaire que lorsque vous avez l'intention de créer une toute nouvelle entité de produit dans le AWS Marketplace catalogue. Il n'est pas nécessaire lors de la mise à jour de produits existants.

Vous pouvez utiliser l'API Catalog pour créer une AMI, un conteneur, un document de machine learning ou un document de produit SaaS contenant des identifiants (code produit et ID de produit). AWS Marketplace

Vous créez un produit en `Draft` état en appelant l'opération `StartChangeSet` API avec le type de `CreateProduct` modification. 

Si votre demande est traitée avec succès, un produit est AWS Marketplace Catalog API généré en `Draft` état pour vous. Il s'agit d'un produit incomplet qui n'est pas visible pour les acheteurs AWS Marketplace. 

Vous utilisez ensuite les types de `Update` modification pour terminer le processus de création du produit : [UpdateInformation[UpdateDimensions](#update-dimensions)](#update-information), [UpdateTargeting](#update-targeting), et [UpdateVisibility](#update-visibility). 

Une fois le produit terminé, vous pouvez utiliser le type de [ReleaseProduct](#release-product)modification pour terminer le processus de création du produit, puis publier l'offre. Ce processus valide l'ensemble du produit et le fait passer à l'`Limited`état actuel.

**Note**  
Pour plus d'informations sur la création d'un produit à l'aide du Portail de gestion AWS Marketplace, consultez les rubriques suivantes du *Guide du AWS Marketplace vendeur* :  
[Créez votre produit Single-AMI](https://docs.aws.amazon.com/marketplace/latest/userguide/ami-single-ami-products.html#ami-create-product)  
Vous ne pouvez pas mettre à jour l'AMI pour cette version. Si vous devez mettre à jour l'AMI, créez plutôt une nouvelle version.
[Création d'un produit en conteneur](https://docs.aws.amazon.com/marketplace/latest/userguide/container-product-getting-started.html#create-container-product)
[Création d'un produit SaaS](https://docs.aws.amazon.com/marketplace/latest/userguide/saas-create-product.html)
 [Création d'un produit d'apprentissage automatique](https://docs.aws.amazon.com/marketplace/latest/userguide/ml-creating-your-listing.html) 
Si vous utilisez le Portail de gestion AWS Marketplace pour créer un produit, le produit sera dans son `Staging` état.

Pour créer un produit en `Draft` état, appelez l'opération `StartChangeSet` API avec le type de `CreateProduct` modification, comme indiqué dans l'exemple suivant. 

**Syntaxe de la demande**

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

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

Fournissez des informations pour les champs permettant d'ajouter le type de `CreateProduct` modification. Ce type de modification peut inclure un `ProductTitle` attribut, sous réserve des mêmes restrictions que celui envoyé dans le type de `UpdateInformation` modification.
+ `Entity`(object) (obligatoire) — Type nommé d'objet créé.
  + `Type`(chaîne) (obligatoire) — `Type` Il est basé sur le mode de livraison (type de produit) que votre produit utilisera : `AmiProduct@1.0``ContainerProduct@1.0`, `MachineLearningProduct@1.0` ou`SaaSProduct@1.0`. Pour de plus amples informations, veuillez consulter [Identifiant](catalog-apis.md#identifier). 
+ `DetailsDocument`(objet) (obligatoire) — Il est peut-être vide.
  + `ProductTitle`(facultatif) — La longueur maximale du titre de votre produit est de 72 caractères. Notez que vous pouvez également définir ou mettre à jour ultérieurement le titre du produit via le type de `UpdateInformation` modification.

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

Lorsque la demande est terminée (si `Status` c'est le cas`SUCCEEDED`), une nouvelle `ProductId` est générée.

**Validations synchrones**

Les validations de schéma suivantes sont spécifiques aux `CreateProduct` 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 | 
| --- | --- | --- | 
| ProductTitle (chaîne) | Longueur maximale : 72 | 400 | 

**Erreurs asynchrones**  
Les erreurs suivantes sont spécifiques aux `CreateProduct` 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 | 
| --- | --- | 
| ENTRÉE\_VALIDE | Un contenu inapproprié « {InappropriateContent} » a été trouvé dans ProductTitle le champ. Ne ProductTitle fournissez aucun contenu inapproprié. | 

## Mettre à jour les détails du produit
<a name="update-information"></a>

Si vous avez déjà intégré un produit AWS Marketplace, vous pouvez utiliser l'API Catalog pour mettre à jour les détails du produit pour un AMI, un conteneur, un ML ou un produit SaaS. 

**Note**  
Pour plus d'informations sur la mise à jour des détails du produit à l'aide du Portail de gestion AWS Marketplace, consultez les rubriques suivantes du *Guide du AWS Marketplace vendeur* :  
AMI-based produit : [Mettre à jour les informations sur le produit](https://docs.aws.amazon.com/marketplace/latest/userguide/ami-single-ami-products.html#single-ami-updating-product)
Container-based produit : [Création ou mise à jour des informations sur le produit pour votre produit en conteneur](https://docs.aws.amazon.com/marketplace/latest/userguide/container-product-getting-started.html#container-product-updating-version)
SaaS-based produit : [Mettre à jour les informations sur le produit](https://docs.aws.amazon.com/marketplace/latest/userguide/saas-product-settings.html#update-product-information)
Produit d'apprentissage automatique : [mise à jour des informations sur le produit](https://docs.aws.amazon.com/marketplace/latest/userguide/ml-update-product.html)

Pour mettre à jour les détails du produit, appelez l'opération `StartChangeSet` API avec le type de `UpdateInformation` modification et les détails que vous souhaitez modifier, comme indiqué dans l'exemple suivant.

**Syntaxe de la demande**

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

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

Fournissez des informations pour les champs permettant d'ajouter le type de `UpdateInformation` modification :
+ `Entity`(object) (obligatoire) — Type d'entité nommé en cours de création.
  + `Identifier`(string) (obligatoire) — L'identifiant de votre produit. Pour de plus amples informations, veuillez consulter [Identifiant](catalog-apis.md#identifier).
  + `Type`(chaîne) (obligatoire) — `Type` Il est basé sur le mode de livraison (type de produit) que votre produit utilisera : `AmiProduct@1.0``ContainerProduct@1.0`,`MachineLearningProduct@1.0`, ou`SaaSProduct@1.0`. 
+ `DetailsDocument`(objet) (obligatoire) — Les détails de la demande, y compris les informations que vous souhaitez mettre à jour pour votre produit. Chaque champ est facultatif, mais vous devez inclure au moins une modification pour le mettre à jour.
  + `ProductTitle`(chaîne) — Le nom du produit à afficher aux acheteurs.
  + `ShortDescription`(chaîne) — Description des principaux aspects du produit à présenter aux acheteurs. Il s'agit généralement de 2 à 3 phrases.
  + `LongDescription`(chaîne) — Description plus longue de votre produit à présenter aux acheteurs. Il s'agit généralement de 1 à 3 paragraphes.
  + `Sku`(chaîne ou null) : chaîne de forme libre que vous définissez comme référence pour votre propre usage. `null`À utiliser pour annuler la définition de ce champ.
  + `LogoUrl`(string) — URL d'une image dans un compartiment Amazon Simple Storage Service (Amazon S3) accessible au public. Pour plus d'informations, consultez la section [Exigences relatives au logo de l'entreprise et au logo du produit](https://docs.aws.amazon.com/marketplace/latest/userguide/product-submission.html#seller-and-product-logos).
  + `VideoUrls`(ensemble de chaînes) — La liste des URL vers des vidéos accessibles au public et hébergées en externe à fournir comme référence aux acheteurs dans les informations sur vos produits.
**Note**  
Actuellement, AWS Marketplace prend en charge une URL dans le tableau.
  + `Highlights`(ensemble de chaînes) : liste de brèves légendes pour les principales caractéristiques du produit.
  + `AdditionalResources`(ensemble de structures) — La liste des références à des ressources supplémentaires pour en savoir plus sur votre produit. Chaque référence est composée d'un nom de texte et d'une URL :
    + `Text`(chaîne) — Le nom ou le titre de la ressource.
    + `Url`(chaîne) — URL d'une ressource qui peut aider un acheteur à comprendre votre produit.
  + `SupportDescription`(string) — Les informations relatives à votre offre d'assistance pour votre produit.
  + `Categories`(tableau de chaînes) : liste des catégories de produits AWS Marketplace définies qui décrivent votre produit. Pour plus d'informations, consultez la section [Catégories de produits](https://docs.aws.amazon.com/marketplace/latest/buyerguide/buyer-product-categories.html) dans le *Guide de AWS Marketplace l'acheteur*.
  + `SearchKeywords`(ensemble de chaînes) : liste de mots clés pour votre produit afin d'améliorer l'expérience de recherche. Le nom du vendeur, le nom du produit et les catégories de produits sont automatiquement inclus dans les mots clés de recherche et il n'est pas nécessaire de les répéter ici.

**Note**  
Lorsque vous saisissez initialement les informations sur le produit (métadonnées) pour un `Draft` produit, vous devez fournir tous les éléments suivants dans le type d'`DetailsDocument`objet de `UpdateInformation` modification :`ProductTitle`,`ShortDescription`,`LongDescription`,`LogoUrl`,`Highlights`,`AdditionalResources`, `SupportDescription``Categories`, et`SearchKeywords`.   
Le `ProductTitle` peut être omis s'il a déjà été fourni lors du type de `CreateProduct` modification. Toutefois, lorsque vous mettez à jour des champs existants sur le produit, vous ne pouvez inclure que les attributs qui doivent être modifiés dans l'`DetailsDocument`objet du type de `UpdateInformation` modification. 

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

Pour vérifier l'état de la demande, utilisez Portail de gestion AWS Marketplace ou appelez l'`[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 | 
| --- | --- | --- | 
| Chaîne (général)  | Aucun caractère de contrôle « \\ \\ x00- \\ \\ x08 \\ \\ x0B- \\ \\ x1F » | 400 | 
| ProductTitle (chaîne) | Longueur maximale : 72 Obligatoire | 400 | 
| ShortDescription (chaîne) | Longueur maximale : 1000 Obligatoire | 400 | 
| LongDescription (chaîne) | Longueur maximale : 5000 Obligatoire | 400 | 
| Sku (chaîne) | Longueur maximale : 100 Facultatif | 400 | 
| LogoUrl (chaîne) | Modèle d'URL : <br />^ https://(www \\.) ? [-a-z A-Z0 - 9@.] {1 256} \\. [a-z A-Z0-9 ()] {2,63} \\ b ([-a-za- Z0-9 @\+./] \*)<br />Obligatoire | 400 | 
| VideoUrls (tableau de chaînes) | Modèle d'URL : <br />https://(www \\ \\.) ? [-a-z A-Z0 - 9@.\_] {1 256} \\ \\. [a-z A-Z0-9 ()] {2,63} \\ \\ b ([-a-z A-Z0-9 @\_ \+. \\/] <br />Facultatif | 400 | 
| Points forts (ensemble de chaînes) | Nécessaire : min 1 - max. 3 | 400 | 
| AdditionalResources (ensemble de structures) | Longueur maximale : 500 Facultatif | 400 | 
| SupportDescription (chaîne) | Longueur maximale : 2000Obligatoire | 400 | 
| Catégories (tableau de chaînes) | Minimum 1 - Maximum 3 Obligatoire | 400 | 
| SearchKeywords (tableau de chaînes) | Minimum 1 - Maximum 15 50 caractères maximum pour chaque objet<br />Obligatoire | 400 | 

**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 | 
| --- | --- | 
| DONNÉES\_MANQUANTES  | Aucune donnée n'a été fournie pour effectuer une mise à jour. Fournissez des données pour au moins un champ du produit.  | 
| ENTRÉE\_VALIDE | Fournir LogoUrl. | 
| ENTRÉE\_VALIDE | Fournir ProductTitle. | 
| ENTRÉE\_VALIDE | Fournir ShortDescription. | 
| ENTRÉE\_VALIDE | Fournir LongDescription. | 
| ENTRÉE\_VALIDE | Fournir SupportDescription. | 
| ENTRÉE\_VALIDE | Entrez au moins un mot clé de recherche. | 
| ENTRÉE\_VALIDE | Indiquez au moins un point fort. | 
| ENTRÉE\_VALIDE | Indiquez entre 1 et 3 catégories de produits. | 
| ENTRÉE\_VALIDE | Un contenu inapproprié « {InappropriateContent} » a été trouvé dans ProductTitle le champ. Ne ProductTitle fournissez aucun contenu inapproprié. | 
| ENTRÉE\_VALIDE | Un contenu inapproprié « {InappropriateContent} » a été trouvé dans ShortDescription le champ. Ne ShortDescription fournissez aucun contenu inapproprié. | 
| ENTRÉE\_VALIDE | Un contenu inapproprié « {InappropriateContent} » a été trouvé dans LongDescription le champ. Ne LongDescription fournissez aucun contenu inapproprié. | 
| ENTRÉE\_VALIDE | Un contenu inapproprié « {InappropriateContent} » a été trouvé dans SupportDescription le champ. Ne SupportDescription fournissez aucun contenu inapproprié. | 
| ENTRÉE\_VALIDE |  ProductTitle Champ non valide. Supprimez les espaces avant le symbole de marque. | 
| ENTRÉE\_VALIDE |  ShortDescription Champ non valide. Supprimez les espaces avant le symbole de marque. | 
| ENTRÉE\_VALIDE |  LongDescription Champ non valide. Supprimez les espaces avant le symbole de marque. | 
| ENTRÉE\_VALIDE |  SupportDescription Champ non valide. Supprimez les espaces avant le symbole de marque. | 
| ENTRÉE\_VALIDE |  ProductTitle Champ non valide. Supprimez les caractères non pris en charge [UnsupportedCharacters]. | 
| ENTRÉE\_VALIDE |  ShortDescription Champ non valide. Supprimez les caractères non pris en charge [UnsupportedCharacters]. | 
| ENTRÉE\_VALIDE |  LongDescription Champ non valide. Supprimez les caractères non pris en charge [UnsupportedCharacters]. | 
| ENTRÉE\_VALIDE |  SupportDescription Champ non valide. Supprimez les caractères non pris en charge [UnsupportedCharacters]. | 
| ENTRÉE\_VALIDE | Les mots clés de recherche ne doivent pas comporter plus de 250 caractères combinés. | 
| ENTRÉE\_VALIDE | L'entrée pour ce type de modification n'a pas pu être lue. Soumettez une entrée correctement formatée. | 
| RESSOURCES\_SUPPLÉMENTAIRES NON VALIDES | URL non valides dans AdditionalResources : [InvalidAdditionalResourcesUrls] Indiquez des URL valides. | 
| NOMS\_CATÉGORIES NON VALIDES | Fournissez des noms de catégories valides pris en charge par AWS Marketplace. | 
| InvalidImageProperties | Erreurs de validation détectées : le fichier n'est pas de type image. Types d'images pris en charge : [png\|jpg\|gif]. | 
| CONTENU\_EXPLICITE | Contenu explicite : '{ExplicitContent}' détecté. Fournissez des médias sans contenu explicite. | 
| MÉDIAS\_INVALIDE | URL non valide : {MediaUrl} Fournissez une nouvelle URL pour les médias stockés dans S3. | 
| MÉDIAS\_INVALIDE | URL non valide : {MediaUrl} Indiquez une URL valide ne dépassant pas 2 048 caractères. | 
| MÉDIAS\_INVALIDE | Emplacement fourni non accessible : {MediaUrl} Fournissez une URL accessible pour les médias stockés dans S3. | 
| MÉDIAS\_INVALIDE | Un problème s'est produit lors de la copie du média depuis S3. La taille de l'image dépasse 5 Mo. Fournissez une image dont la taille est inférieure à 5 Mo. | 
| MÉDIAS\_INVALIDE | Un logiciel malveillant a été détecté dans les médias. Veuillez soumettre à nouveau le contenu multimédia sans logiciel malveillant. | 
| TROP DE MÉDIAS | Ne fournissez pas plus de 15 éléments multimédias. | 
| DUPLICATE\_MEDIA | Les supports dupliqués ne sont pas autorisés pour un produit. Veuillez fournir des médias exempts de doublons. | 

## Ajouter des dimensions de tarification
<a name="add-dimensions"></a>

Vous pouvez utiliser les [actions du service AWS Marketplace Catalog](https://docs.aws.amazon.com/marketplace/latest/APIReference/API_Operations_AWS_Marketplace_Catalog_Service.html) pour ajouter des dimensions de tarification facturables qui vous permettent de facturer aux utilisateurs des produits AMI, container ou SaaS.

Une *dimension de tarification* est une unité de mesure que les vendeurs définissent pour facturer les acheteurs. Les vendeurs doivent configurer ces informations pour facturer aux acheteurs l'utilisation du produit, qu'il s'agisse d'un modèle de tarification basé sur l'utilisation ou sur un contrat. Le type de dimension dépend du modèle de tarification du produit. 

**Note**  
Pour les produits SaaS dotés d'un modèle de tarification gratuit, vous devez créer au moins une dimension avec UsageBasedPricingTerm ou ConfigurableUpfrontPricingTerm, et toutes les dimensions doivent être proposées au prix de 0,00$. Cette exigence est propre aux produits SaaS et ne s'applique pas aux produits AMI, aux conteneurs ou aux produits d'apprentissage automatique.

**Note**  
Les nouvelles dimensions de tarification ont les impacts suivants sur les acheteurs de SaaS :  
Pour les acheteurs dont les contrats ont été créés à partir d'offres publiques, vous pouvez signaler la consommation selon les nouvelles dimensions, même si elles n'existaient pas dans l'offre au moment de la création du contrat.
Pour les acheteurs dont les contrats ont été créés à partir d'offres privées, vous ne pouvez pas signaler la consommation sur les nouvelles dimensions, car elles n'existaient pas dans l'offre privée au moment de la création du contrat. Les appels à l'[BatchMeterUsage](https://docs.aws.amazon.com/marketplace/latest/APIReference/API_marketplace-metering_BatchMeterUsage.html)API seront couronnés de succès, mais l'acheteur ne sera pas facturé. Vous devez donc savoir quel acheteur peut ou ne peut pas être facturé pour les nouvelles dimensions. Vous pouvez également utiliser l'[GetAgreementTerms](https://docs.aws.amazon.com/marketplace/latest/APIReference/API_marketplace-agreements_GetAgreementTerms.html)API pour voir les dimensions incluses dans chaque contrat d'achat.  
Pour signaler la consommation d'une nouvelle dimension et facturer l'acheteur, vous [devez proposer une offre de remplacement](https://docs.aws.amazon.com/marketplace/latest/userguide/private-offers-upgrades-and-renewals.html#private-offers-upgrades-and-renewals-supported-products) incluant la dimension, et l'acheteur doit accepter l'offre.

Pour plus d'informations sur le prix des produits, consultez les rubriques suivantes du *Guide du AWS Marketplace vendeur* :
+ [Tarification des produits AMI](https://docs.aws.amazon.com/marketplace/latest/userguide/pricing-ami-products.html)
+ [Tarification des produits en conteneur](https://docs.aws.amazon.com/marketplace/latest/userguide/pricing-container-products.html)
+ [Tarification des produits SaaS](https://docs.aws.amazon.com/marketplace/latest/userguide/saas-pricing-models.html)
+ [Tarification des produits de machine learning](https://docs.aws.amazon.com/marketplace/latest/userguide/machine-learning-pricing.html)

Pour plus d'informations sur l'ajout de dimensions tarifaires à l'aide du Portail de gestion AWS Marketplace, consultez les rubriques suivantes du *Guide du AWS Marketplace vendeur* :
+ AMI-based produits : [mise à jour des prix](https://docs.aws.amazon.com/marketplace/latest/userguide/ami-single-ami-products.html#single-ami-update-product-pricing).
+ Container-based produits : [ajout d'une dimension tarifaire](https://docs.aws.amazon.com/marketplace/latest/userguide/container-product-getting-started.html#container-add-pricing-dimensions).
+ SaaS-based produits : [ajoutez des dimensions de tarification](https://docs.aws.amazon.com/marketplace/latest/userguide/saas-product-settings.html#saas-add-pricing-dimensions).
+ Produits ML : non pris en charge. Les produits d'apprentissage automatique ont des dimensions tarifaires fixes. Cependant, vous pouvez [mettre à jour les prix](https://docs.aws.amazon.com/marketplace/latest/userguide/ami-single-ami-products.html#single-ami-update-product-pricing).

Pour ajouter des dimensions de tarification, appelez l'`StartChangeSet`API avec le type de `AddDimensions` modification, comme indiqué dans l'exemple suivant.

**Note**  
Après avoir soumis le premier type de `AddDimensions` modification avec des dimensions spécifiant un type de modèle de tarification (utilisation, contrat ou contrat avec consommation), vous devez travailler avec l'équipe des opérations des AWS Marketplace vendeurs. Ils vous aident à ajouter une dimension avec des types qui ne correspondent pas au modèle de tarification d'origine.

**Syntaxe de la demande**

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

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

Fournissez les champs suivants pour le type de `AddDimensions` modification.
+ `DetailsDocument`(tableau d'objets) (obligatoire) — Détails de la demande. 
  + `Description`(chaîne) (obligatoire) — Détails complets de la dimension qui figureront dans la description détaillée sur la page de consultation de l'acheteur.
  + `Key`(chaîne) (obligatoire) — Entrez la facette qui sera utilisée pour définir les taux de l'offre. Entrez également les dimensions publiées sur le AWS Marketplace Metering Service (MMS) si la dimension ne peut pas être mesurée en externe. Une fois la dimension créée, elle ne peut pas être modifiée.
  + `Units`(string) (obligatoire) — Type d'unité pour la dimension. Les unités possibles sont les utilisateurs, les hôtes, les Go, les Mo, les To, les Gbit/s, les Mbps, les demandes UserHrs UnitHrs, les unités, HostHrs, TierHrs, et TaskHrs.
  + `Name`(chaîne) (obligatoire) — Nom d'affichage de la dimension sur le site Web et sur la facture du client.
    + `Types`(ensemble de chaînes) (obligatoire) (également appelées **balises**) : elles indiquent si la dimension couvre le mesurage, les droits ou la prise en charge du mesurage externe. Ceci n'est pas modifiable une fois la dimension créée.
    + 
      + `Metered`— Indique que les types d'utilisation de la plateforme de commerce doivent être créés pour permettre le comptage pour cette dimension.
      + `ExternallyMetered`— Indique que AWS Marketplace les dimensions du service de mesure (MMS) doivent être créées lors de la publication pour permettre aux vendeurs de mesurer via le AWS SDK.
      + `Entitled`— Indique que des droits peuvent être accordés pour la dimension lors de la publication du produit ou de l'offre.

        Le tableau suivant répertorie les combinaisons de prix, de dimensions et de produits prises en charge.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/fr_fr/marketplace/latest/developerguide/work-with-seller-products.html)
+ `Entity`(object) (obligatoire) — Type d'entité nommé en cours de création.
  + `Identifier`(string) (obligatoire) — L'identifiant de votre produit. Pour de plus amples informations, veuillez consulter [Identifiant](catalog-apis.md#identifier).
  + `Type`(chaîne) (obligatoire) — `Type` Il est basé sur le mode de livraison (type de produit) que votre produit utilisera : `AmiProduct@1.0` ou`SaaSProduct@1.0`. 

**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 de quelques minutes à quelques heures. 

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 `AddDimensions` 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 | 
| --- | --- | --- | 
| Description | Longueur maximale : 1000 Obligatoire | 400 | 
| Clé | Longueur maximale : 100 Motif : [A-Za-z0-9\_.-] \+$ <br />Obligatoire | 400 | 
| Unités dimensionnelles | Longueur maximale : 20 Obligatoire | 400 | 
| Nom | Longueur maximale : 500 Obligatoire | 400 | 
| Type (étiquette) | Nécessaire : min 1 - max. 3<br />Entrées : autorisées, mesurées, ExternallyMetered <br />Obligatoire | 400 | 

**Erreurs asynchrones**

Les erreurs suivantes sont spécifiques aux `AddDimensions` 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 | 
| --- | --- | 
| DONNÉES\_MANQUANTES | Aucune donnée n'a été fournie pour effectuer une mise à jour. Fournissez des données pour au moins une dimension. | 
| DIMENSION NON VALIDE | Ne fournissez pas plus de 200 dimensions. | 
| DIMENSION NON VALIDE | Impossible d'ajouter des dimensions dupliquées. | 
| DIMENSION NON VALIDE | Impossible d'ajouter la dimension dans l'état actuel « %s ». Les états qui prennent en charge les mises à jour des dimensions sont %s. | 
| DIMENSION NON VALIDE | Impossible d'ajouter une dimension. Le champ « %s » contient des valeurs dupliquées « %s » dans d'autres dimensions. | 
| DIMENSION NON VALIDE | Fournissez des champs non vides (clé, unité, nom, types) pour chaque dimension. | 
| TYPE\_INVALIDE | Supprimez le type « %s » non valide. Les types valides sont ["Mesuré », « Entitulé », "ExternallyMetered«]. | 
| UNIT\_INVALIDE | Supprimez l'unité « %s » non valide. Les unités valides sont ["Go », « Gbps », "HostHrs«, « Hosts », « MB », « Mbps », « Requests », "TaskHrs«, « TB », "TierHrs«," UnitHrs «," «, « Units », UserHrs « Users"]. | 
| ENTRÉE\_VALIDE | Du contenu inapproprié « %s » a été détecté dans le champ %s. Fournissez à %s aucun contenu inapproprié. | 
| ENTRÉE\_VALIDE | Champ « %s » non valide. Supprimez les espaces avant le symbole de marque. | 
| ENTRÉE\_VALIDE | Champ « %s » non valide. Supprimez les caractères non pris en charge %s. | 
| DIMENSION NON VALIDE | Supprimer la combinaison de types de dimension non valide %s. Les valeurs autorisées sont %s. | 
| DIMENSION NON VALIDE | Supprimez la clé de dimension non valide « %s » pour la dimension mesurée. | 
| DIMENSION NON VALIDE | La dimension nommée « %s » pour le ProductCode « %s » n'a pas réussi la validation du service AWS Marketplace de mesure %s. | 
| DIMENSION NON VALIDE | Aucun enregistrement de mesure n'est présent dans Metering Service pour la dimension nommée « %s » pour ProductCode « %s ». Le produit n'a jamais été lancé pour être testé ou est mal configuré et ne passe pas les appels appropriés au service de AWS Marketplace mesure. | 

## Mettre à jour les dimensions de tarification
<a name="update-dimensions"></a>

Vous pouvez utiliser l'API Catalog pour mettre à jour les dimensions de tarification existantes d'une AMI, d'un conteneur ou d'un produit SaaS dans AWS Marketplace. 

Chaque dimension est identifiée de manière unique par la clé de dimension et les types de dimension pour effectuer la mise à jour. La mise à jour d'une dimension n'affecte aucune offre active ni aucun client créé par la dimension d'origine. 

**Note**  
Pour plus d'informations sur la mise à jour des dimensions de tarification à l'aide du Portail de gestion AWS Marketplace, consultez les rubriques suivantes du *Guide du AWS Marketplace vendeur* :  
AMI-based produit : [Mettre à jour les prix](https://docs.aws.amazon.com/marketplace/latest/userguide/ami-single-ami-products.html#single-ami-update-product-pricing)
Container-based produit : [Mise à jour des informations dimensionnelles](https://docs.aws.amazon.com/marketplace/latest/userguide/container-product-getting-started.html#container-update-dimensions-information)
SaaS-based produit : [Mettre à jour les dimensions de tarification](https://docs.aws.amazon.com/marketplace/latest/userguide/saas-product-settings.html#saas-update-dimension)
Produit d'apprentissage automatique : [mise à jour des prix des produits](https://docs.aws.amazon.com/marketplace/latest/userguide/ml-update-public-offer.html)

Pour mettre à jour les dimensions de tarification, appelez l'opération `StartChangeSet` API avec le type de `UpdateDimensions` modification, comme indiqué dans l'exemple suivant.

**Syntaxe de la demande**

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

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

Utilisez les champs suivants avec le type de `UpdateDimensions` modification :
+ `DetailsDocument`(tableau d'objets) (obligatoire) — Détails de la demande.
  + `Key`(chaîne) (obligatoire) — Fournissez la clé des dimensions existantes du produit pour modifier la description et le nom. En `UpdateDimension` effet, ce champ sert uniquement à identifier la dimension à modifier.
  + `Types`(ensemble de chaînes) (obligatoire) (également appelées **balises**) : elles indiquent si la dimension couvre le mesurage, les droits ou la prise en charge du mesurage externe. Ceci n'est pas modifiable une fois la dimension créée.
    + `Metered`— Indique que les types d'utilisation de la plateforme de commerce doivent être créés pour permettre le comptage pour cette dimension.
    + `ExternallyMetered`— Indique que les dimensions AWS Marketplace Metering Service (MMS) doivent être créées lors de la publication pour permettre aux vendeurs de consulter le AWS SDK.
    + `Entitled`— Indique que des droits peuvent être accordés pour la dimension lors product/offer de la publication.  
**Combinaisons de types de dimensions de tarification valides**    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/fr_fr/marketplace/latest/developerguide/work-with-seller-products.html)
  + `Description`(chaîne) (facultatif) — Description complète de la dimension qui figurera sur la page de consultation de l'acheteur.
  + `Name`(chaîne) facultatif — Afficher le nom de la dimension sur le site Web et sur la facture du client.
+ `Entity`(object) (obligatoire) — Type d'entité nommé en cours de création.
  + `Identifier`(string) (obligatoire) — L'identifiant de votre produit. Pour de plus amples informations, veuillez consulter [Identifiant](catalog-apis.md#identifier).
  + `Type`(chaîne) (obligatoire) — `Type` Il est basé sur le mode de livraison (type de produit) que votre produit utilisera : `AmiProduct@1.0` ou`SaaSProduct@1.0`. 

**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 comprenait la validation des informations pour s'assurer qu'elles étaient conformes aux AWS Marketplace directives. Le processus de validation peut prendre de quelques minutes à quelques heures.

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 `UpdateDimensions` 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 | 
| --- | --- | --- | 
| Description  | Longueur maximale : 1000<br />Obligatoire | 400 | 
| Clé  | Longueur maximale : 100<br />Motif : [A-Za-z0-9\_.-] \+$ <br />Obligatoire | 400 | 
| Nom | Longueur maximale : 5<br />Obligatoire | 400 | 
|  Types (étiquette)  | Nécessaire : min 1 - max. 3<br />Entrées : `Entitled``Metered`, `ExternallyMetered` <br />Obligatoire | 422 | 

**Erreurs asynchrones**

Les erreurs suivantes sont spécifiques aux `UpdateDimensions` 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 | 
| --- | --- | 
| ENTRÉE\_VALIDE | Champ « %s » non valide. Supprimez les espaces avant le symbole de marque. | 
| ENTRÉE\_VALIDE | Champ « %s » non valide. Supprimez les caractères non pris en charge %s. | 
| DIMENSION NON VALIDE | Fournissez des champs non vides (Key,Types, Name and/orDescription) pour chaque dimension. | 
| DIMENSION NON VALIDE | Impossible de mettre à jour la dimension. Le champ Name contient des valeurs dupliquées « %s » dans d'autres dimensions. | 
| DIMENSION NON VALIDE | Impossible de mettre à jour la même dimension avec la clé « %s » et les types « %s » plusieurs fois dans la même demande. | 
| DIMENSION NON VALIDE | Impossible de restreindre la dimension. La clé de dimension « %s » de type « %s » n'existe pas. | 
|  DIMENSION NON VALIDE  | Impossible de mettre à jour la dimension. La clé de dimension « %s » estMetered. | 
|  DIMENSION NON VALIDE  | La dimension ne peut pas être mise à jour pour une dimension déjà restreinte. | 

## Restreindre les dimensions de tarification
<a name="restrict-dimensions"></a>

Vous pouvez utiliser l'API Catalog pour restreindre les dimensions tarifaires existantes d'un produit AMI ou SaaS dans AWS Marketplace. 

Chaque dimension est identifiée de manière unique par la clé de dimension et les types de dimension pour effectuer la mise à jour. La restriction d'une dimension n'affecte aucune offre active ni aucun client créé par la dimension d'origine. 

Pour restreindre les dimensions de tarification, appelez l'`StartChangeSet`API indiquant le type de `RestrictDimensions` modification.

**Note**  
Les restrictions relatives aux dimensions tarifaires ne sont disponibles que lorsque le produit est à l'état de brouillon. Les modifications ne sont pas autorisées une fois que le produit passe à l'état limité ou public.

L'exemple suivant montre comment restreindre la `Entitled` dimension d'un produit SaaS.

**Syntaxe de la demande**

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

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

Utilisez les champs suivants avec le type de `RestrictDimensions` modification :
+ `DetailsDocument`(tableau d'objets) (obligatoire) — Détails de la demande.
  + `Key`(chaîne) (obligatoire) — Fournissez la clé des dimensions existantes du produit pour modifier la description et le nom. En `RestrictDimensions` effet, ce champ sert uniquement à identifier la dimension à modifier.
  + `Types`(ensemble de chaînes) (obligatoire) (également appelées **balises**) : elles indiquent si la dimension couvre le mesurage, les droits ou la prise en charge du mesurage externe. Ceci n'est pas modifiable une fois la dimension créée.
    + `["ExternallyMetered", "Entitled"]`— Vous ne pouvez combiner ces types que pour les contrats SaaS avec les tarifs de consommation, lorsque les dimensions peuvent être prépayées ou mesurées.
    + `["Metered"]`— Pour les dimensions de tarification horaire des produits AMI. Indique que les types d'utilisation de la plateforme de commerce doivent être créés pour permettre le comptage pour cette dimension.
    + `["ExternallyMetered"]`— Pour les dimensions flexibles de tarification de la consommation (également appelées comptage personnalisé) des produits AMI, des conteneurs et des produits SaaS. Indique que les dimensions du AWS Marketplace Metering Service (MMS) doivent être créées lors de la publication pour permettre aux vendeurs de mesurer via le AWS SDK.
    + `["Entitled"]`— Pour les dimensions de tarification des contrats SaaS et des produits de services professionnels. Cette balise accorde le droit d'utiliser un logiciel ou un service, définit les dates de début et de fin de l'utilisation et accorde des droits de réduction d'utilisation pour les produits annuels AMI. Chaque droit est identifié par une clé de dimension permettant de créer et AWS Marketplace Entitlement Service de mettre à jour les droits. La clé indique que des droits peuvent être accordés pour la dimension lors de la publication du produit et de l'offre.
+ `Entity`(object) (obligatoire) — Type d'entité nommé en cours de création.
  + `Identifier`(string) (obligatoire) — L'identifiant de votre produit. Pour de plus amples informations, veuillez consulter [Identifiant](catalog-apis.md#identifier).
  + `Type`(chaîne) (obligatoire) — Cela `Type` dépend du mode de livraison de votre produit (type de produit) : `AmiProduct@1.0` ou`SaaSProduct@1.0`. 

**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 comprenait la validation des informations pour s'assurer qu'elles étaient conformes aux AWS Marketplace directives. Le processus de validation peut prendre de quelques minutes à quelques heures.

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

**Validations synchrones**

Les validations de schéma suivantes sont spécifiques aux `RestrictDimensions` 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 | 
| --- | --- | --- | 
| Description  | Longueur maximale : 1000<br />Obligatoire | 400 | 
| Clé  | Longueur maximale : 100<br />Motif : [A-Za-z0-9\_.-] \+$ <br />Obligatoire | 400 | 
| Nom | Longueur maximale : 5<br />Obligatoire | 400 | 
|  Types (étiquette)  | Nécessaire : min 1 - max. 3<br />Entrées : `Entitled``Metered`, `ExternallyMetered` <br />Obligatoire | 400 | 

**Erreurs asynchrones**

Les erreurs suivantes sont spécifiques aux `RestrictDimensions` actions du AWS Marketplace Catalog API. Ces erreurs sont renvoyées lorsque vous appelez `DescribeChangeSet` pendant 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 | 
| --- | --- | 
| ENTRÉE\_VALIDE | Champ « %s » non valide. Supprimez les espaces avant le symbole de marque. | 
| ENTRÉE\_VALIDE | Champ « %s » non valide. Supprimez les caractères non pris en charge %s. | 
| DIMENSION NON VALIDE | La clé de dimension « %s » de type « %s » était déjà restreinte | 
| DIMENSION NON VALIDE | Impossible de restreindre la dimension. La clé de dimension « %s » de type « %s » n'existe pas | 
| DIMENSION NON VALIDE | Impossible de restreindre les dimensions dupliquées. | 
| DIMENSION NON VALIDE | Toutes les dimensions autorisées ne peuvent pas être restreintes. Il doit y avoir au moins une dimension intitulée active. | 
|  DIMENSION NON VALIDE  | La clé de dimension « %s » de type « %s » est associée à une autre dimension de différents types « %s ». Les deux dimensions d'une même clé doivent être restreintes en même temps pour être valides. | 

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

Vous pouvez utiliser l'API Catalog pour ajouter Compte AWS des identifiants autorisés à consulter l'AMI, le conteneur, le ML ou le produit SaaS AWS Marketplace avant qu'il ne passe à un `Public` état en appelant le type de `UpdateTargeting` modification. 

Les comptes MCO (Managed Catalog Operations) sont automatiquement ajoutés à la liste des comptes autorisés lorsque de nouveaux produits sont créés. Ces comptes MCO sont visibles par les vendeurs sur le portail de AWS Marketplace gestion (AMMP) lorsqu'ils consultent les comptes autorisés, et dans la `Targeting` section de réponse de l'`DescribeEntity`API.

**Note**  
Pour plus d'informations sur l'ajout d' Compte AWS identifiants à l'aide du Portail de gestion AWS Marketplace, consultez les rubriques suivantes du *Guide du AWS Marketplace vendeur* :  
AMI-based produit : [Mettre à jour la liste des autorisations (aperçu des comptes](https://docs.aws.amazon.com/marketplace/latest/userguide/ami-single-ami-products.html#single-ami-updating-allowlist))
Container-based produit : [Mise à jour de la liste autorisée des identifiants de compte AWS](https://docs.aws.amazon.com/marketplace/latest/userguide/container-product-getting-started.html#container-update-allowlist)
SaaS-based produit : [Mise à jour de la liste autorisée des identifiants de compte AWS](https://docs.aws.amazon.com/marketplace/latest/userguide/saas-product-settings.html#update-allowlist)
 Produit d'apprentissage automatique : [mise à jour de la liste des autorisations](https://docs.aws.amazon.com/marketplace/latest/userguide/ml-update-allowlist.html) 

Pour ajouter Compte AWS des identifiants autorisés à afficher l'AMI, le conteneur, le ML ou le produit SaaS, appelez l'opération d'`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": "SaaSProduct@1.0",
        "Identifier": "{{prod-example12345}}"
      },
      "DetailsDocument":
      {
        "PositiveTargeting":
        {
          "BuyerAccounts":
          [
            "{{1112223334444}}"
          ]
        }
      }
    }
  ]
}
```

Utilisez les champs suivants avec le type de `UpdateTargeting` modification. 
+ `Entity`(object) (obligatoire) — Type d'entité nommé en cours de création.
  + `Identifier`(string) (obligatoire) — L'identifiant de votre produit. Pour de plus amples informations, veuillez consulter [Identifiant](catalog-apis.md#identifier).
  + `Type`(chaîne) (obligatoire) — `Type` Il est basé sur le mode de livraison (type de produit) que votre produit utilisera : `AmiProduct@1.0``MachineLearningProduct@1.0`, ou`SaaSProduct@1.0`. 
+ `DetailsDocument`(object) (obligatoire) — Les informations requises pour exécuter le ChangeSet.
  + `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.
    + `BuyerAccounts`(tableau de chaînes) (facultatif) — Liste en tant qu'option pour autoriser le ciblage basé sur les comptes AWS (également appelé offre privée). Si l'intention est de ne pas cibler l'offre sur un compte AWS, ce champ doit être omis.

**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 comprenait la validation des informations pour s'assurer qu'elles étaient conformes aux AWS Marketplace directives. Le processus de validation peut prendre de quelques minutes à quelques heures.

Pour vérifier l'état de la demande, utilisez Portail de gestion AWS Marketplace ou appelez l'`[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)`API.

Lorsque la demande est terminée (si `Status` c'est le cas`SUCCEEDED`), une nouvelle `ProductId` est générée.

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


| Type de ciblage | États de visibilité actuels valides | BuyerAccounts (entrée) | Check | 
| --- | --- | --- | --- | 
| Positif | PublicLimited, ou Draft | Tableau de chaînes d' Compte AWS identification à 12 chiffres.<br />Taille minimale : 0. <br />Taille maximale : 5000 | L'entrée doit être différente des comptes cibles actuels relatifs aux documents.La saisie doit être valide Comptes AWS. | 

**Erreurs asynchrones**

Les erreurs suivantes sont spécifiques aux `DescribeChangeSet` 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 | 
| --- | --- | 
| VISIBILITÉ\_DU\_PRODUIT NON VALIDE | Utilisez un public Limited ou un Draft produit existant. | 
| INVALIDE\_S AWS\_ACCOUNT\_ID | Fournissez des pièces d' Compte AWS identité valides. Comptes AWS introuvable : [x, y, z]. | 
| ValidationException | Les produits de services professionnels n'ont pas de liste d'autorisation. Contrairement aux autres types de produits, les produits de services professionnels à l'état limité peuvent être étendus à n'importe quel acheteur sans qu'il soit nécessaire de disposer d'une liste d'autorisation. | 

## Mettre à jour la visibilité des produits
<a name="update-visibility"></a>

Vous pouvez utiliser l'API Catalog pour mettre à jour la visibilité (également appelée état du cycle de vie) d'un produit AMI, conteneur, ML ou SaaS dans AWS Marketplace. 

**Note**  
Pour plus d'informations sur la mise à jour de la visibilité des produits à l'aide du Portail de gestion AWS Marketplace, consultez les rubriques suivantes du *Guide du AWS Marketplace vendeur* :  
AMI-based produit : [Mettre à jour la visibilité du produit](https://docs.aws.amazon.com/marketplace/latest/userguide/ami-single-ami-products.html#ami-update-self-service-visibility)
Container-based produit : [Mise à jour de la visibilité du produit](https://docs.aws.amazon.com/marketplace/latest/userguide/container-product-getting-started.html#container-product-visibility)
SaaS-based produit : [Mettre à jour la visibilité du produit](https://docs.aws.amazon.com/marketplace/latest/userguide/saas-product-settings.html#saas-update-visibility)
Produit d'apprentissage automatique : [mise à jour de la visibilité du produit](https://docs.aws.amazon.com/marketplace/latest/userguide/ml-update-visibility.html)

Les états du cycle de vie cible autorisés sont `Limited``Public`, ou`Restricted`.

`Limited`   
Le produit est complet et a terminé avec succès le `ReleaseProduct``ChangeType`. Les vendeurs peuvent consulter les détails du produit dans cet état. Le produit n'est pas public. Toutefois, les vendeurs peuvent cibler des acheteurs spécifiques pour leur permettre de prévisualiser le produit.

`Public`   
Le produit est visible dans AWS Marketplace. Les acheteurs peuvent consulter le produit et s'y abonner.

`Restricted`   
Le produit n'est plus visible par le public et n'accepte pas de nouveaux abonnés. Les abonnés existants peuvent continuer à utiliser ce produit jusqu'à l'expiration de leur abonnement.

**Note**  
Le type de `UpdateVisibility` modification nécessite un examen manuel par l'équipe des opérations AWS Marketplace vendeurs, ce qui entraîne un délai d'exécution plus long. À utiliser `UpdateVisibility` séparément dans son propre kit de changement.

Pour mettre à jour la visibilité de votre produit, appelez l'opération `StartChangeSet` API avec le type de `UpdateVisibility` modification, comme indiqué dans l'exemple suivant.

**Syntaxe de la demande**

Pour quand `TargetVisibility` est-ce `Public` ou`Limited`.

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

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

Pour quand `TargetVisibility``Restricted`.

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

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

Fournissez des informations pour les champs permettant d'ajouter le type de `UpdateVisibility` modification. 
+ `Entity`(object) (obligatoire) — Type d'entité nommé en cours de création.
  + `Identifier`(string) (obligatoire) — L'identifiant de votre produit. Pour de plus amples informations, veuillez consulter [Identifiant](catalog-apis.md#identifier).
  + `Type`(chaîne) (obligatoire) — `Type` Il est basé sur le mode de livraison (type de produit) que votre produit utilisera :`AmiProduct@1.0`,`SaaSProduct@1.0`,`ContainerProduct@1.0`,`MachineLearningProduct@1.0`. Pour de plus amples informations, veuillez consulter [Identifiant](catalog-apis.md#identifier).
+ `DetailsDocument`(object) (obligatoire) — Les informations requises pour exécuter le`ChangeSet`.
  + 
    + `TargetVisibility`— La nouvelle visibilité prévue du produit.

      Les valeurs possibles sont : `Public`, `Limited` et `Restricted`
    + `ReplacementProductId`(chaîne) (facultatif) — Identifiant du produit de remplacement pour le futur produit`Restricted`. Utilisé pour informer les abonnés actuels de la restriction du produit.

      Accepte uniquement `Restricted` pour`TargetVisibility`.

**Validations synchrones**

Les validations de schéma suivantes sont spécifiques aux `UpdateVisibility` 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.


| Type de ciblage  | États actuels valides | ReplacementProductId (entrée)  | Contrôles de validation | 
| --- | --- | --- | --- | 
| Public | Limited et Restricted | Non autorisée | État actuel valide | 
| Limited | Public et Restricted | Non autorisée | État actuel valide | 
| Restricted | Public et Limited | Chaîne (facultatif) | ReplacementProductId doit appartenir à un produit existant Limited ou public. | 

Après avoir déclenché ce type de modification, son exécution peut prendre jusqu'à 37 jours. Cela inclut le temps dont l'équipe des opérations des AWS Marketplace vendeurs a besoin pour examiner, auditer et approuver. Lorsque vous limitez un produit, vous avez 24 heures pour changer d'avis, en appelant`CancelChangeSet`, avant que l'équipe chargée des opérations des AWS Marketplace vendeurs ne commence l'audit. Pour de plus amples informations, veuillez consulter [https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_CancelChangeSet.html](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_CancelChangeSet.html).

**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 comprenait la validation des informations pour s'assurer qu'elles étaient conformes aux AWS Marketplace directives. Le processus de validation peut prendre de quelques minutes à quelques heures.

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.

Lorsque la demande est terminée (si `Status` c'est le cas`SUCCEEDED`), une nouvelle `ProductId` est générée.

**Erreurs asynchrones**

Les erreurs suivantes sont spécifiques aux `UpdateVisibility` 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 | 
| --- | --- | 
| ÉTAT\_DU PRODUIT NON VALIDE | Utilisez un Restricted produit ou un produit existantPublic. Limited | 
| VISIBILITÉ\_CIBLE NON VALIDE | Indiquez un état de visibilité cible valide : PublicLimited, ouRestricted. | 
| VISIBILITÉ DE LA CIBLE VIDE | Indiquez un état de visibilité cible valide : PublicLimited, ouRestricted. | 
| ID DE PRODUIT\_REPLACEMENT\_INVALIDE | Utilisez un produit existant Public ou un Limited produit de remplacement. | 
| ID DE PRODUIT\_REPLACEMENT\_INVALIDE | L'identifiant du produit de remplacement n'est valide que lors de la restriction d'un produit. | 
| ERREUR\_AUDIT | Varie en fonction de la révision du manuel MCO. | 
| INFORMATIONS MANQUANTES SUR LE PROFIL\_VENDEUR | Avant de rendre votre produit public, vous devez ajouter un profil public à votre compte vendeur. | 

## Publier un produit
<a name="release-product"></a>

Vous pouvez utiliser l'API Catalog pour publier un produit `Draft` AMI, conteneur, ML ou SaaS dans `Limited` state in AWS Marketplace. 

**Note**  
Pour `AmiProduct@1.0` et`SaaSProduct@1.0`, le type de `ReleaseProduct` modification doit être accompagné du type de `ReleaseOffer` modification sur le projet d'`Offer@1.0`entité publique correspondant créé pour ce produit.

Pour publier un produit, appelez l'opération `StartChangeSet` API avec le type de `ReleaseProduct` modification, comme indiqué dans l'exemple suivant.

**Syntaxe de la demande**

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

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

Fournissez des informations pour les champs à ajouter au type de `ReleaseProduct` modification. Ce type de modification ne prend aucune charge utile de paramètres.
+ `Entity`(object) (obligatoire) — Type d'entité nommé en cours de création.
  + `Identifier`(string) (obligatoire) — L'identifiant de votre produit. Pour de plus amples informations, veuillez consulter [Identifiant](catalog-apis.md#identifier).
  + `Type`(chaîne) (obligatoire) — `Type` Il est basé sur le mode de livraison (type de produit) que votre produit utilisera :`AmiProduct@1.0`,`SaaSProduct@1.0`,`ContainerProduct@1.0`,`MachineLearningProduct@1.0`. Pour de plus amples informations, veuillez consulter [Identifiant](catalog-apis.md#identifier).
+ `DetailsDocument`(objet) (obligatoire) - Il doit s'agir d'un objet vide. Le type de modification `ReleaseProduct` n'accepte aucun détail.

**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 comprenait la validation des informations pour s'assurer qu'elles étaient conformes aux AWS Marketplace directives. Le processus de validation peut prendre de quelques minutes à quelques heures.

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.

Lorsque la demande est terminée (si `Status` c'est le cas`SUCCEEDED`), une nouvelle `ProductId` est générée.

**Erreurs asynchrones**

Les erreurs suivantes sont spécifiques aux `ReleaseProduct` 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 | 
| --- | --- | 
| ÉCHEC DE LA VALIDATION | Fournissez des informations de description. | 
| ÉCHEC DE LA VALIDATION | Fournissez des informations sur les versions. | 
| ÉCHEC DE LA VALIDATION | Fournissez des informations sur les dimensions. | 
| ÉCHEC DE LA VALIDATION | Fournir une description\| PromotionalResources \| SupportInformation informations. | 

## Trouvez l'identifiant de votre produit
<a name="seller-product-id"></a>

Vous devez obtenir l'identifiant de votre produit avant de pouvoir le modifier à l'aide de l'API AWS Marketplace Catalog. Il existe deux méthodes pour trouver l'identifiant du produit pour les produits serveur :
+ Ouvrez le Portail de gestion AWS Marketplace et connectez-vous avec votre compte vendeur. Dans le menu **Produits**, sélectionnez **Produits du serveur**, puis choisissez le produit qui vous intéresse. L'identifiant du produit est répertorié dans la section **Récapitulatif du produit**.
+ Utilisez l'[https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_ListEntities.html](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_ListEntities.html)action avec le `EntityType` **AmiProduct** ou **ContainerProduct** **SaaSProduct****MachineLearningProduct**, ou **DataProduct** pour obtenir une liste des produits, y compris leurs identifiants, via l'API du catalogue. `ListEntities`exige que vous n'incluiez pas la version du type d'entité (par exemple,`AmiProduct@1.0`).

**Note**  
L'identifiant du produit n'est disponible qu'après la publication de votre produit et vous pouvez au moins le voir dans AWS Marketplace. Lorsque vous créez votre produit pour la première fois, plusieurs jours peuvent être nécessaires pour être révisé et entièrement créé. Pendant cette période, aucun identifiant de produit ne sera disponible. 

Les rubriques suivantes expliquent comment trouver un produit en filtrant par identifiant d'entité, titre du produit, date de dernière modification ou visibilité.

**Topics**
+ [Trouvez un produit en fonction du titre du produit](#find-product-using-title)
+ [Trouvez un produit en fonction de la date de dernière modification](#find-product-using-last-mod-date)
+ [Trouvez un produit en fonction de sa visibilité](#find-product-using-visibility)
+ [Trouvez un produit en fonction du titre du produit, de la date de dernière modification et de la visibilité du produit](#find-product-using-all)
+ [Obtenir des informations supplémentaires sur un produit](#get-additional-details)

### Trouvez un produit en fonction du titre du produit
<a name="find-product-using-title"></a>

**Demande**

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

**Réponse**

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

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

### Trouvez un produit en fonction de la date de dernière modification
<a name="find-product-using-last-mod-date"></a>

**Demande**

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

**Réponse**

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

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

### Trouvez un produit en fonction de sa visibilité
<a name="find-product-using-visibility"></a>

**Demande**

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

**Réponse**

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

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

### Trouvez un produit en fonction du titre du produit, de la date de dernière modification et de la visibilité du produit
<a name="find-product-using-all"></a>

**Demande**

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

**Réponse**

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

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

### Obtenir des informations supplémentaires sur un produit
<a name="get-additional-details"></a>

Vous pouvez obtenir des informations supplémentaires sur le produit en utilisant l'identifiant de l'entité associée à l'`DescribeEntity`action.

**Demande**

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

**Réponse**

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

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

## Modifier le statut et les erreurs du set
<a name="seller-product-change-set-errors"></a>

Pour apporter des modifications aux produits du vendeur dans l'API du AWS Marketplace catalogue, vous devez créer des ensembles de modifications décrivant les modifications que vous souhaitez apporter, puis utiliser l'`StartChangeSet`action pour lancer les modifications. Les modifications apportées à la demande peuvent prendre quelques minutes, voire plusieurs heures, voire plus, selon la demande. La réponse à cette demande 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, notamment en scannant les fichiers et les informations pour s'assurer qu'elle est conforme aux AWS Marketplace directives relatives aux produits. Selon les demandes de modification, ce processus peut prendre de quelques minutes à quelques jours. 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 Pour plus d’informations sur les jeux de modifications, consultez [Travailler avec des ensembles de modifications](catalog-apis.md#working-with-change-sets).

Pour vérifier le statut de votre demande, utilisez l'`DescribeChangeSet`action.

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

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

Le résultat de cet appel est le suivant (dans ce cas, pour ajouter une nouvelle version à un produit conteneur).

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

Le `Status` champ indique le statut actuel de la demande, dans ce cas,`SUCCEEDED`.

En cas d'échec, le résultat peut inclure deux types d'erreurs. Pour la plupart des erreurs, le message d'erreur est inclus directement. Toutefois, les erreurs détectées lors de l'analyse du produit pour détecter des failles de sécurité incluent plutôt une URL vers un fichier répertoriant toutes les erreurs détectées, `ErrorMessage` sur le terrain. Les erreurs détectées lors de la numérisation portent le `ErrorCode` signe « `SCAN_ERROR` ».

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

Dans cet exemple, une erreur a été directement signalée (`DUPLICATE_VERSION_TITLE`). L'autre erreur contient un fichier contenant des messages d'erreur (plusieurs erreurs `SCAN_ERROR` peuvent être détectées dans le fichier lié pour une seule erreur). 

**Note**  
Le lien renvoyé dans le `ErrorMessage` est valide pendant 60 jours.