

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 ensembles d'offres
<a name="work-with-offer-sets"></a>

Les ensembles d'offres AWS Marketplace permettent aux vendeurs de regrouper plusieurs offres privées dans des packages négociables multiproduits unifiés destinés aux acheteurs. Cette fonctionnalité répond à la demande croissante des clients pour des solutions complètes de bout en bout dans des environnements d'entreprise complexes.

Traditionnellement, les acheteurs devaient découvrir et acheter des produits individuels auprès de plusieurs vendeurs, ce qui se traduisait par des expériences fragmentées, des problèmes d'intégration et des cycles d'approvisionnement plus longs. Les ensembles d'offres simplifient cela en permettant aux partenaires AWS Marketplace de combiner plusieurs offres, en rationalisant le processus de transaction grâce à des offres privées coordonnées permettant aux clients de consulter et d'accepter tous les composants avec une approbation unique.

Les ensembles d'offres fonctionnent conjointement avec des solutions pour fournir des offres multiproduits complètes. Les solutions fournissent un contenu marketing riche, notamment des descriptions détaillées, des diagrammes d'architecture et de la documentation sur les cas d'utilisation, tandis que les ensembles d'offres gèrent l'emballage négociable et les conditions commerciales pour un approvisionnement unifié.

## Entité de l'ensemble d'offres
<a name="offer-set-entity"></a>

Un ensemble d'offres est un conteneur qui regroupe 2 à 7 offres privées dans un seul package négociable. Chaque offre d'un ensemble d'offres possède ses propres prix, conditions de paiement, durée et contrat de licence utilisateur final (EULA) distincts, tandis que l'ensemble d'offres fournit une expérience unifiée de découverte et d'acceptation aux acheteurs.

**Caractéristiques principales :**
+ Regroupe plusieurs offres privées (minimum 2, maximum 7)
+ Permet aux acheteurs d'accepter toutes les offres de manière unifiée en une seule action
+ Maintient la flexibilité avec des conditions distinctes pour chaque offre
+ Crée des accords distincts pour chaque produit, permettant une gestion indépendante après l'achat
+ Peut être éventuellement associé à une solution pour améliorer le contenu marketing

Le type d'entité de l'ensemble d'offres est`OfferSet@1.0`.

**Identifiants d'entité**

Les ensembles d'offres utilisent le format d'`offerset-*`identifiant (par exemple,`offerset-abc123def456`).

**Format ARN de l'entité**

Les ensembles d'offres suivent le format ARN AWS standard :

```
arn:aws:aws-marketplace:{region}:{account-id}:AWSMarketplace/OfferSet/{offerset-id}
```

Exemple :

```
arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/OfferSet/offerset-abc123def456
```

## Commencer à utiliser les ensembles d'offres
<a name="getting-started-with-offer-sets"></a>

Cette section fournit des informations détaillées sur la création et la gestion d'ensembles d'offres à l'aide des [types de modification](https://docs.aws.amazon.com/marketplace/latest/APIReference/API_Change.html) de l'API AWS Marketplace Catalog.

Avant de commencer, assurez-vous d'avoir :
+ Inscription de vendeur valide sur AWS Marketplace et profil public. Pour plus d'informations, consultez la section [S'inscrire et créer votre profil de vendeur](https://docs.aws.amazon.com/marketplace/latest/userguide/create-public-profile.html).
+ Accès à l'API et respect des conditions requises pour les vendeurs. Pour plus d'informations, consultez la section [Contrôle d'accès pour l'API AWS Marketplace Catalog](https://docs.aws.amazon.com/marketplace/latest/APIReference/catalog-api-access-control.html).
+ J'ai appris les bases de l'utilisation de l'API AWS Marketplace Catalog, voir [Utilisation de l'API AWS Marketplace Catalog](https://docs.aws.amazon.com/marketplace/latest/APIReference/catalog-apis.html).

## Liste des ensembles d'offres
<a name="list-offer-sets"></a>

Pour répertorier tous les ensembles d'offres de votre compte, appelez l'opération `ListEntities` API avec `EntityType` set to`OfferSet`.

**Demande**

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

{
  "Catalog": "AWSMarketplace",
  "EntityType": "OfferSet"
}
```

**Réponse**

```
{
  "EntitySummaryList": [
    {
      "EntityType": "OfferSet",
      "EntityId": "offerset-xyz123",
      "EntityArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/OfferSet/offerset-xyz123",
      "LastModifiedDate": "2025-06-25T23:46:25Z",
      "OfferSetSummary": {
        "Name": "Enterprise Security Solution Offer Set",
        "State": "Released",
        "ReleaseDate": "2025-06-25T23:46:20Z",
        "SolutionId": "soln-abc987",
        "AssociatedOfferIds": [
          "offer-abc123",
          "offer-def456",
          "offer-ghi789"
        ]
      }
    }
  ],
  "NextToken": null
}
```

### Filtrer les ensembles d'offres par État
<a name="filter-offer-sets-by-state"></a>

Vous pouvez filtrer les ensembles d'offres par état à l'aide du `EntityTypeFilters` paramètre.

**Demande**

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

{
  "Catalog": "AWSMarketplace",
  "EntityType": "OfferSet",
  "EntityTypeFilters": {
    "OfferSetFilters": {
      "State": {
        "ValueList": [
          "Released"
        ]
      }
    }
  }
}
```

### Filtrer les ensembles d'offres par ID de solution
<a name="filter-offer-sets-by-solution-id"></a>

Vous pouvez filtrer les ensembles d'offres par ID de solution à l'aide du `EntityTypeFilters` paramètre.

**Demande**

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

{
  "Catalog": "AWSMarketplace",
  "EntityType": "OfferSet",
  "EntityTypeFilters": {
    "OfferSetFilters": {
      "SolutionId": {
        "ValueList": [
          "soln-abc987"
        ]
      }
    }
  }
}
```

### Filtrer les ensembles d'offres par date de sortie
<a name="filter-offer-sets-by-release-date"></a>

Vous pouvez filtrer les ensembles d'offres par date de publication et trier les résultats à l'aide `EntityTypeFilters` des `EntityTypeSort` paramètres et.

**Demande**

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

{
  "Catalog": "AWSMarketplace",
  "EntityType": "OfferSet",
  "EntityTypeFilters": {
    "OfferSetFilters": {
      "ReleaseDate": {
        "AfterValue": "2025-11-01"
      }
    }
  },
  "EntityTypeSort": {
    "OfferSetSort": {
      "SortBy": "ReleaseDate",
      "SortOrder": "DESCENDING"
    }
  }
}
```

## Décrire un ensemble d'offres
<a name="describe-offer-set"></a>

Pour obtenir des informations détaillées sur un ensemble d'offres spécifique, appelez l'opération `DescribeEntity` API.

**Demande**

```
GET /DescribeEntity?catalog=AWSMarketplace&entityId=offerset-xyz123 HTTP/1.1
```

**Réponse**

```
{
  "EntityType": "OfferSet@1.0",
  "EntityId": "offerset-xyz123",
  "EntityArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/OfferSet/offerset-xyz123",
  "LastModifiedDate": "2025-06-25T23:46:25Z",
  "DetailsDocument": {
    "Id": "offerset-xyz123",
    "Name": "Enterprise Security Solution Offer Set",
    "BuyerNotes": "Complete security solution including endpoint protection and network monitoring",
    "State": "Released",
    "SolutionId": "soln-abc987",
    "ReleaseDate": "2025-06-25T23:46:20Z",
    "AssociatedOffers": [
      {
        "OfferId": "offer-abc123"
      },
      {
        "OfferId": "offer-def456"
      },
      {
        "OfferId": "offer-ghi789"
      }      
    ]
  }
}
```

## Création d'un ensemble d'offres
<a name="create-offer-set"></a>

Utilisez le type de `CreateOfferSet` modification pour créer une nouvelle entité d'ensemble d'offres à l'état Brouillon. Il s'agit de la première étape du cycle de vie de l'ensemble d'offres, qui consiste à établir l'entité de base qui sera ensuite configurée avec les associations d'offres et les métadonnées avant d'être mise à la disposition des acheteurs.

**Syntaxe de la demande**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet": [
    {
      "ChangeType": "CreateOfferSet",
      "Entity": {
        "Type": "OfferSet@1.0"
      },
      "ChangeName": "CreateOfferSetChange",
      "DetailsDocument": {
        "Name": "Enterprise Security Solution Offer Set"
      }
    }
  ]
}
```

Fournissez des informations pour les champs permettant d'ajouter le type de `CreateOfferSet` modification :
+ `Entity`(object) (obligatoire) — Type d'entité en cours de création.
  + `Type`(string) (obligatoire) — Doit être`OfferSet@1.0`.
+ `DetailsDocument`(objet) (obligatoire) — Les détails de la demande.
  + `Name`(chaîne) (obligatoire) — Le nom associé à l'ensemble d'offres pour une meilleure lisibilité pour vous et vos clients. Longueur minimale : 1 caractère Longueur maximale : 150 caractères.

**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 directives d'AWS Marketplace. Le processus de validation peut prendre quelques minutes.

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

Une fois le traitement réussi, AWS Marketplace génère une offre définie à l'état Brouillon avec un identifiant unique préfixé par`offerset-`.

## Mettre à jour les informations du set d'offres
<a name="update-offer-set-information"></a>

Utilisez le type de `UpdateInformation` modification pour modifier les détails d'un ensemble d'offres existant, notamment son nom et les remarques de l'acheteur.

**Syntaxe de la demande**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet": [
    {
      "ChangeType": "UpdateInformation",
      "Entity": {
        "Type": "OfferSet@1.0",
        "Identifier": "offerset-abc123"
      },
      "DetailsDocument": {
        "Name": "Updated Enterprise Security Offer Set",
        "BuyerNotes": "Complete security solution including endpoint protection, network monitoring, and professional services implementation"
      }
    }
  ]
}
```

Fournissez des informations pour les champs permettant d'ajouter le type de `UpdateInformation` modification :
+ `Entity`(object) (obligatoire) — Entité en cours de mise à jour.
  + `Identifier`(string) (obligatoire) — L'identifiant de votre ensemble d'offres. Pour de plus amples informations, veuillez consulter [Identifiant](catalog-apis.md#identifier).
  + `Type`(string) (obligatoire) — Doit être`OfferSet@1.0`.
+ `DetailsDocument`(objet) (obligatoire) — Au moins un champ doit être fourni.
  + `Name`(chaîne) (facultatif) — Afficher le nom visible pour les acheteurs. Longueur minimale : 1 caractère Longueur maximale : 150 caractères
  + `BuyerNotes`(chaîne) (facultatif) — Informations détaillées sur l'ensemble d'offres qui aident les acheteurs à comprendre son objectif et son contenu. Longueur minimale : 1 caractère Longueur maximale : 1 000 caractères.

**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 directives d'AWS Marketplace. Le processus de validation peut prendre quelques minutes.

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

## Associer des offres à un ensemble d'offres
<a name="associate-offers"></a>

Utilisez le type de `AssociateOffers` modification pour associer plusieurs AWS Marketplace offres à un ensemble d'offres. Cela crée la relation entre les offres et l'ensemble d'offres, les offres faisant partie de la configuration négociable de l'ensemble d'offres.

L'opération est idempotente et permet d'associer des offres quel que soit leur état actuel, ce qui permet une configuration complète avant la publication des offres individuelles. Chaque offre ne peut appartenir qu'à un seul ensemble d'offres.

**Important**  
Les `OfferSetId` offres individuelles sont immuables et ne peuvent être définies que lors de la création de l'offre. Avant d'associer des offres à un ensemble d'offres en utilisant`AssociateOffers`, vous devez d'abord créer les offres individuelles et les spécifier `OfferSetId` lors de la création de l'offre. Si vous devez inclure une offre existante dont la valeur n'est pas correcte`OfferSetId`, vous devez créer une nouvelle offre avec la bonne `OfferSetId` spécification.

Pour plus d'informations sur les autorisations IAM requises, consultez[Autorisations IAM pour les ensembles d'offres](#iam-permissions-offer-sets).

**Syntaxe de la demande**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet": [
    {
      "ChangeType": "AssociateOffers",
      "Entity": {
        "Type": "OfferSet@1.0",
        "Identifier": "offerset-abc123"
      },
      "DetailsDocument": {
        "Offers": [
          {
            "OfferId": "offer-xyz789"
          },
          {
            "OfferId": "offer-def456"
          },
          {
            "OfferId": "offer-ghi123"
          }
        ]
      }
    }
  ]
}
```

Fournissez des informations pour les champs permettant d'ajouter le type de `AssociateOffers` modification :
+ `Entity`(object) (obligatoire) — Entité en cours de mise à jour.
  + `Identifier`(string) (obligatoire) — L'identifiant de votre ensemble d'offres. Pour de plus amples informations, veuillez consulter [Identifiant](catalog-apis.md#identifier).
  + `Type`(string) (obligatoire) — Doit être`OfferSet@1.0`.
+ `DetailsDocument`(objet) (obligatoire) — Les détails de la demande.
  + `Offers`(array) (obligatoire) — Liste des AWS Marketplace offres à associer. Minimum : 1 article Maximum : 7 articles.
    + `OfferId`(string) (obligatoire) — Identifiant de l' AWS Marketplace offre. Longueur minimale : 1 caractère Longueur maximale : 36 caractères.

**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 directives d'AWS Marketplace. Le processus de validation peut prendre quelques minutes.

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

### Erreurs asynchrones
<a name="associate-offers-asynchronous-errors"></a>

Les erreurs suivantes sont spécifiques aux `AssociateOffers` actions de l'API AWS Marketplace Catalog. 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 | 
| --- | --- | 
| TROP D'OFFRES | Associez jusqu'à 7 offres à l'ensemble d'offres. | 
| OFFRE\_SET\_REFERENCE INCOMPATIBLE | Assurez-vous que toutes les offres ont été créées spécifiquement pour cet ensemble d'offres. | 
| DEMANDE\_MISE À JOUR NON VALIDE | La modification demandée ne peut pas être effectuée après la publication de l'ensemble d'offres. | 

## Dissocier les offres d'un ensemble d'offres
<a name="disassociate-offers"></a>

Utilisez le type de `DisassociateOffers` modification pour supprimer plusieurs AWS Marketplace offres d'un ensemble d'offres. Cette opération idempotente supprime la relation d'association tout en préservant l'attribut de l'offre. `OfferSetId` Les offres dissociées sont masquées aux acheteurs jusqu'à ce qu'elles soient associées à nouveau au même ensemble d'offres. Ils ne peuvent pas être associés à un ensemble d'offres différent.

**Syntaxe de la demande**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet": [
    {
      "ChangeType": "DisassociateOffers",
      "Entity": {
        "Type": "OfferSet@1.0",
        "Identifier": "offerset-abc123"
      },
      "DetailsDocument": {
        "Offers": [
          {
            "OfferId": "offer-xyz789"
          }
        ]
      }
    }
  ]
}
```

Fournissez des informations pour les champs permettant d'ajouter le type de `DisassociateOffers` modification :
+ `Entity`(object) (obligatoire) — Entité en cours de mise à jour.
  + `Identifier`(string) (obligatoire) — L'identifiant de votre ensemble d'offres. Pour de plus amples informations, veuillez consulter [Identifiant](catalog-apis.md#identifier).
  + `Type`(string) (obligatoire) — Doit être`OfferSet@1.0`.
+ `DetailsDocument`(objet) (obligatoire) — Les détails de la demande.
  + `Offers`(array) (obligatoire) — Liste des offres à dissocier. Minimum : 1 article Maximum : 7 articles.
    + `OfferId`(string) (obligatoire) — L'identifiant de l'offre AWS Marketplace. Longueur minimale : 1 caractère Longueur maximale : 36 caractères.

**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 directives d'AWS Marketplace. Le processus de validation peut prendre quelques minutes.

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

### Erreurs asynchrones
<a name="disassociate-offers-asynchronous-errors"></a>

Les erreurs suivantes sont spécifiques aux `DisassociateOffers` actions de l'API AWS Marketplace Catalog. 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 | 
| --- | --- | 
| DEMANDE\_MISE À JOUR NON VALIDE | La modification demandée ne peut pas être effectuée après la publication de l'ensemble d'offres. | 

## Associer une solution à un ensemble d'offres
<a name="associate-solution-with-offer-set"></a>

Utilisez le type de `AssociateSolution` modification pour associer une seule solution AWS Marketplace à un ensemble d'offres. Cela crée une relation qui permet aux acheteurs de découvrir le lien entre l'ensemble d'offres et la solution et d'accéder au riche contenu marketing de la solution, tel que des descriptions détaillées, des diagrammes d'architecture et de la documentation sur les cas d'utilisation.

**Note**  
Il s'agit d'une association faiblement couplée. AWS Marketplace n'assure pas la cohérence entre la solution et l'ensemble d'offres. Les solutions ne peuvent contenir aucun produit AWS Marketplace, des produits différents de ceux inclus dans l'offre ou des produits qui se chevauchent. Vous disposez d'une flexibilité totale pour associer n'importe quelle solution que vous possédez à des fins de marketing et de découverte.

Pour plus d'informations sur les autorisations IAM requises, consultez[Autorisations IAM pour les ensembles d'offres](#iam-permissions-offer-sets).

**Syntaxe de la demande**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet": [
    {
      "ChangeType": "AssociateSolution",
      "Entity": {
        "Type": "OfferSet@1.0",
        "Identifier": "offerset-abc123"
      },
      "DetailsDocument": {
        "SolutionId": "soln-xyz789"
      }
    }
  ]
}
```

Fournissez des informations pour les champs permettant d'ajouter le type de `AssociateSolution` modification :
+ `Entity`(object) (obligatoire) — Entité en cours de mise à jour.
  + `Identifier`(string) (obligatoire) — L'identifiant de votre ensemble d'offres. Pour de plus amples informations, veuillez consulter [Identifiant](catalog-apis.md#identifier).
  + `Type`(string) (obligatoire) — Doit être`OfferSet@1.0`.
+ `DetailsDocument`(objet) (obligatoire) — Les détails de la demande.
  + `SolutionId`(string) (obligatoire) — Identifiant de la solution AWS Marketplace à associer. Longueur minimale : 1 caractère Longueur maximale : 50 caractères Doit correspondre au modèle`^soln-[A-Za-z0-9]+$`.

**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 directives d'AWS Marketplace. Le processus de validation peut prendre quelques minutes.

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

### Erreurs asynchrones
<a name="associate-solution-asynchronous-errors"></a>

Les erreurs suivantes sont spécifiques aux `AssociateSolution` actions de l'API AWS Marketplace Catalog. 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 | 
| --- | --- | 
| ASSOCIATION\_SOLUTION\_INCOMPATIBLE | Dissociez la solution existante avant d'en associer une nouvelle. | 
| DEMANDE\_MISE À JOUR NON VALIDE | La modification demandée ne peut pas être effectuée après la publication de l'ensemble d'offres. | 

## Dissocier une solution d'un ensemble d'offres
<a name="disassociate-solution-from-offer-set"></a>

Utilisez le type de `DisassociateSolution` modification pour supprimer l'association entre une solution et un ensemble d'offres. Cela supprime le contenu marketing de la solution de l'ensemble d'offres tout en conservant les fonctionnalités transactionnelles de l'ensemble d'offres.

**Syntaxe de la demande**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet": [
    {
      "ChangeType": "DisassociateSolution",
      "Entity": {
        "Type": "OfferSet@1.0",
        "Identifier": "offerset-abc123"
      },
      "DetailsDocument": {
        "SolutionId": "soln-xyz789"
      }
    }
  ]
}
```

Fournissez des informations pour les champs permettant d'ajouter le type de `DisassociateSolution` modification :
+ `Entity`(object) (obligatoire) — Entité en cours de mise à jour.
  + `Identifier`(string) (obligatoire) — L'identifiant de votre ensemble d'offres. Pour de plus amples informations, veuillez consulter [Identifiant](catalog-apis.md#identifier).
  + `Type`(string) (obligatoire) — Doit être`OfferSet@1.0`.
+ `DetailsDocument`(objet) (obligatoire) — Les détails de la demande.
  + `SolutionId`(string) (obligatoire) — Identifiant de la solution à dissocier. Longueur minimale : 1 caractère Longueur maximale : 50 caractères

**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 directives d'AWS Marketplace. Le processus de validation peut prendre quelques minutes.

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

### Erreurs asynchrones
<a name="disassociate-solution-asynchronous-errors"></a>

Les erreurs suivantes sont spécifiques aux `DisassociateSolution` actions de l'API AWS Marketplace Catalog. 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 | 
| --- | --- | 
| DEMANDE\_MISE À JOUR NON VALIDE | La modification demandée ne peut pas être effectuée après la publication de l'ensemble d'offres. | 

## Publier un ensemble d'offres
<a name="release-offer-set"></a>

Utilisez le type de `ReleaseOfferSet` modification pour mettre un ensemble d'offres à la disposition des acheteurs. Une fois publié, l'ensemble d'offres passe de l'état brouillon à l'état publié, devient détectable et les offres associées ne peuvent être trouvées que dans le cadre du package unifié. AWS Marketplace

Les ensembles d'offres publiés génèrent des notifications à deux niveaux : les offres individuelles et l'ensemble d'offres lui-même. Toutes les notifications d'offres individuelles incluent OfferSetId les canaux de notification existants ([notifications par e-mail](https://docs.aws.amazon.com/marketplace/latest/userguide/email-notifications.html) et [ EventBridge événements Amazon](https://docs.aws.amazon.com/marketplace/latest/userguide/notifications-eventbridge.html)). Des notifications au niveau de l'ensemble d'offres sont envoyées pour des événements clés tels que la publication de l'ensemble d'offres.

**Syntaxe de la demande**

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet": [
    {
      "ChangeType": "ReleaseOfferSet",
      "Entity": {
        "Type": "OfferSet@1.0",
        "Identifier": "offerset-abc123"
      },
      "DetailsDocument": {}
    }
  ]
}
```

Fournissez des informations pour les champs permettant d'ajouter le type de `ReleaseOfferSet` modification :
+ `Entity`(object) (obligatoire) — Entité en cours de mise à jour.
  + `Identifier`(string) (obligatoire) — L'identifiant de votre ensemble d'offres. Pour de plus amples informations, veuillez consulter [Identifiant](catalog-apis.md#identifier).
  + `Type`(string) (obligatoire) — Doit être`OfferSet@1.0`.
+ `DetailsDocument`(object) (obligatoire) — Objet vide pour cette opération.

**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 directives d'AWS Marketplace. Le processus de validation peut prendre quelques minutes.

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

### Erreurs asynchrones
<a name="release-offer-set-asynchronous-errors"></a>

Les erreurs suivantes sont spécifiques aux `ReleaseOfferSet` actions de l'API AWS Marketplace Catalog. 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 | 
| --- | --- | 
| NOTES\_ACHETEUR\_MANQUANTES | Fournissez BuyerNotes avant de publier le coffret d'offres. | 
| OFFRES\_MANQUANTES | Associez au moins deux offres à l'ensemble d'offres avant de le publier. | 
| TROP D'OFFRES PAR PRODUIT | Associez une seule offre par produit à l'ensemble d'offres. | 
| CODE\_DE\_CURRENCE\_D'OFFRE INCOHÉRENT | Assurez-vous que toutes les offres associées correspondent CurrencyCode. | 
| DATE DE FIN DE DISPONIBILITÉ DE L'OFFRE INCOHÉRENTE | Assurez-vous que toutes les offres associées correspondent AvailabilityEndDate. | 
| RÈGLE DE CIBLAGE DE L'OFFRE\_INCOHÉRENTE | Assurez-vous que toutes les offres associées correspondent TargetingRule. | 
| RÈGLE DE CIBLAGE DE L'OFFRE\_D'OFFRE INCOMPATIBLE | Seules les offres ciblées sur les acheteurs peuvent être associées à un ensemble d'offres. | 
| OFFRES\_EXPIRÉES | Dissociez les offres expirées de l'ensemble d'offres ou prolongez leur. AvailabilityEndDates | 
| OFFRES\_BROUILLONS | Publiez toutes les offres associées avant de publier l'ensemble d'offres. | 
| ÉTAT\_DE LA SOLUTION INCOMPATIBLE | Fournir une solution dans un État limité ou public. | 
| DEMANDE\_MISE À JOUR NON VALIDE | La modification demandée ne peut pas être effectuée après la publication de l'ensemble d'offres. | 

## Cycle de vie défini de l'offre
<a name="offer-set-lifecycle"></a>

Le cycle de vie de l'ensemble d'offres comprend les étapes suivantes :

### Phase de création
<a name="creation-phase"></a>

Créez l'entité d'ensemble d'offres à l'état Brouillon en utilisant le type de `CreateOfferSet` modification. L'ensemble d'offres reçoit un identifiant unique et commence à l'état Brouillon.

### Phase de configuration
<a name="configuration-phase"></a>

Au cours de la configuration, vous pouvez :
+ Ajouter ou mettre à jour des métadonnées à l'aide de `UpdateInformation` (nom, notes de l'acheteur)
+ Créez des offres privées individuelles, en les spécifiant `OfferSetId` lors de la création de l'offre
+ Associez les offres à l'ensemble d'offres à l'aide de `AssociateOffers`
+ Associez éventuellement une solution `AssociateSolution` pour améliorer le contenu marketing

**Important**  
Les `OfferSetId` offres individuelles sont immuables et ne peuvent être définies que lors de la création de l'offre. Avant d'associer des offres à un ensemble d'offres en utilisant`AssociateOffers`, vous devez d'abord créer les offres individuelles et les spécifier `OfferSetId` lors de la création de l'offre. Si vous devez inclure une offre existante dont la valeur n'est pas correcte`OfferSetId`, vous devez créer une nouvelle offre avec la bonne `OfferSetId` spécification.

### Phase de validation
<a name="validation-phase"></a>

Avant de publier un ensemble d'offres, assurez-vous que :
+ Le set d'offres contient entre 2 et 7 offres
+ Toutes les offres associées doivent être : 
  + En état de publication
  + Actif
  + Utiliser la même devise
  + Cibler le ou les mêmes identifiants de compte AWS du même acheteur
  + Avoir des dates d'expiration identiques

### Phase de sortie
<a name="release-phase"></a>

Lorsque vous êtes prêt, utilisez le type de `ReleaseOfferSet` modification pour faire passer l'ensemble d'offres de l'état brouillon à l'état publié. Cela permet aux acheteurs de découvrir l'ensemble d'offres par le biais AWS Marketplace de celui-ci.

### Post-release gestion
<a name="post-release-management"></a>

**Gestion des délais d'expiration :**
+ L'expiration effective d'un ensemble d'offres est calculée comme étant la date d'expiration la plus proche parmi toutes les offres associées
+ Vous pouvez modifier les dates d'expiration des offres individuelles à l'aide des fonctionnalités de gestion des offres existantes (type de `UpdateAvailability` modification)

**Modifications de l'ensemble d'offres :**

Lorsque les acheteurs demandent des modifications à un ensemble d'offres publié, utilisez le flux de travail de création :

1. Création d'une nouvelle entité d'ensemble d'offres

1. Pour les offres qui ne nécessitent pas de modifications, clonez les offres existantes via le portail AWS Marketplace de gestion

1. Pour les offres nécessitant des modifications, créez de nouvelles offres avec les modifications demandées, en spécifiant les nouvelles `OfferSetId`

1. Associez toutes les offres (clonées et nouvelles) au nouvel ensemble d'offres en utilisant `AssociateOffers`

1. Publiez le nouvel ensemble d'offres en utilisant `ReleaseOfferSet`

1. Faites expirer l'offre initiale définie en définissant la date de fin de disponibilité des offres associées

## Autorisations IAM pour les ensembles d'offres
<a name="iam-permissions-offer-sets"></a>

Pour utiliser des ensembles d'offres à l'aide de l'API AWS Marketplace Catalog, vous avez besoin d'autorisations IAM spécifiques. Cette section décrit les autorisations requises pour les opérations relatives aux ensembles d'offres et les exigences d'autorisation entre entités.

### Actions IAM requises
<a name="required-iam-actions"></a>

Les actions IAM suivantes sont requises pour les opérations d'ensemble d'offres :
+ `aws-marketplace:StartChangeSet`— Obligatoire pour tous les types de modification d'ensembles d'offres, y compris les opérations de création, de mise à jour, d'association et de publication
+ `aws-marketplace:DescribeChangeSet`— Nécessaire pour vérifier l'état et les résultats des exécutions des ensembles de modifications
+ `aws-marketplace:ListEntities`— Obligatoire pour répertorier les ensembles d'offres dans votre compte
+ `aws-marketplace:DescribeEntity`— Nécessaire pour récupérer des informations détaillées sur un ensemble d'offres

### Autorisations d’accès aux ressources
<a name="resource-permissions"></a>

Utilisez les modèles d'ARN suivants pour accorder des autorisations sur des ressources spécifiques :
+ **Coffrets d'offres** — `arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/OfferSet/*`
+ **Offres individuelles** — `arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/Offer/*`
+ **Des solutions** — `arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/Solution/*`

Pour des autorisations plus restrictives, remplacez le caractère générique (\*) par des identifiants d'entité spécifiques.

### Cross-entity autorisation
<a name="cross-entity-authorization"></a>

Certaines opérations relatives à un ensemble d'offres nécessitent des autorisations à la fois sur l'ensemble d'offres et sur les entités associées :

**AssociateOffers**
+ `aws-marketplace:StartChangeSet`autorisation sur l'entité de l'ensemble d'offres
+ `aws-marketplace:StartChangeSet`autorisation avec type de `AssociateWithOfferSet` modification sur chaque entité d'offre individuelle associée

**AssociateSolution**
+ `aws-marketplace:StartChangeSet`autorisation sur l'entité de l'ensemble d'offres
+ `aws-marketplace:StartChangeSet`autorisation avec type de `AssociateWithOfferSet` modification sur l'entité de solution associée

**Note**  
Le fait de disposer uniquement d'une autorisation `DescribeEntity` (en lecture seule) sur les offres ou les solutions n'est pas suffisant pour les opérations d'association. Vous devez être `StartChangeSet` autorisé à `AssociateWithOfferSet` modifier le type de modification sur les entités associées à l'ensemble d'offres.

### Exemple de politiques IAM
<a name="example-iam-policies"></a>

**Gestion de base des ensembles d'offres**

Cette politique fournit des autorisations pour les opérations de base relatives aux ensembles d'offres sans associations entre entités :

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "aws-marketplace:StartChangeSet",
        "aws-marketplace:DescribeChangeSet",
        "aws-marketplace:ListEntities",
        "aws-marketplace:DescribeEntity"
      ],
      "Resource": [
        "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/OfferSet/*"
      ]
    }
  ]
}
```

**Cross-entity autorisations pour AssociateOffers**

Cette politique décrit les autorisations et conditions spécifiques requises pour AssociateOffers :

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "aws-marketplace:StartChangeSet",
      "Resource": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/OfferSet/*",
      "Condition": {
        "StringEquals": {
          "catalog:ChangeType": ["AssociateOffers"]
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": "aws-marketplace:DescribeEntity",
      "Resource": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/Offer/*"
    },
    {
      "Effect": "Allow",
      "Action": "aws-marketplace:StartChangeSet",
      "Resource": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/Offer/*",
      "Condition": {
        "StringEquals": {
          "catalog:ChangeType": ["AssociateWithOfferSet"]
        }
      }
    }
  ]
}
```

Pour des autorisations plus restrictives, remplacez le caractère générique (\*) par des identifiants d'entité spécifiques.

**Cross-entity autorisations pour AssociateSolution**

Cette politique décrit les autorisations et conditions spécifiques requises pour AssociateSolution :

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "aws-marketplace:StartChangeSet",
      "Resource": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/OfferSet/*",
      "Condition": {
        "StringEquals": {
          "catalog:ChangeType": ["AssociateSolution"]
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": "aws-marketplace:DescribeEntity",
      "Resource": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/Solution/*"
    },
    {
      "Effect": "Allow",
      "Action": "aws-marketplace:StartChangeSet",
      "Resource": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/Solution/*",
      "Condition": {
        "StringEquals": {
          "catalog:ChangeType": ["AssociateWithOfferSet"]
        }
      }
    }
  ]
}
```

Pour des autorisations plus restrictives, remplacez le caractère générique (\*) par des identifiants d'entité spécifiques.