

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 le marché privé à l'aide du AWS Marketplace API
<a name="work-with-private-marketplace"></a>

Vous pouvez utiliser le AWS Marketplace Catalog API pour gérer un *marché privé* pour votre [entreprise Compte AWS ou celle de votre organisation](https://docs.aws.amazon.com/organizations/latest/userguide/).

Tous les types de modifications ne peuvent être appelés que depuis le compte de gestion de l'organisation ou par un compte de membre qui est un administrateur délégué pour un marché privé. Si vous êtes actuellement client d'un marché privé sans AWS Organizations intégration d'un marché privé, vous pouvez créer et gérer un marché privé à partir de n'importe quel compte de votre organisation doté de la politique `AWSPrivateMarketplaceAdminFullAccess` IAM.

 Pour plus d'informations sur les marchés privés, consultez la section Sites de [vente privés dans le Guide](https://docs.aws.amazon.com/marketplace/latest/buyerguide/private-marketplace.html) de l'*AWS Marketplace acheteur*. 

 Le tableau suivant détaille un ensemble de tâches permettant de gérer les sites de vente privés et les types de modifications applicables à chaque tâche. 


| Sous-tâche | Action | Types de modifications | 
| --- | --- | --- | 
| [Création d'un marché privé](#creating-a-private-marketplace) | `StartChangeSet` | `CreateExperience`<br />`CreateProcurementPolicy` | 
| [Changer l'image de marque d'une expérience de marché privée](#private-marketplace-branding) | `StartChangeSet` | `CreateBrandingSettings`<br />`UpdateBrandingSettings` | 
| [Activation ou désactivation d'une expérience de marché privée](#enable-private-marketplace) | `StartChangeSet` | `UpdateExperience` | 
| [Activation ou désactivation des demandes des utilisateurs](#private-marketplace-user-requests) | `StartChangeSet` | `UpdateProcurementPolicy` | 
| [Obtenir une liste de produits dans le cadre d'une expérience de marché privée](#private-marketplace-policy-details) | `DescribeEntity` | Non applicable | 
| [Ajouter ou supprimer des produits sur un marché privé](#private-marketplace-add-products) | `StartChangeSet` | `AllowProductProcurement`<br />`DenyProductProcurement` | 
| [Trouver des produits](#finding-product-ids) | Ne s’applique pas | Ne s’applique pas | 
| [Travailler avec des places de marché privées pour AWS Organizations](#private-marketplace-organizations) | Ne s’applique pas | Non applicable | 
| [Associer des principes à des expériences](#private-marketplace-associate-accounts) | `StartChangeSet` | `AssociateAudience`<br />`DisassociateAudience` | 
| [Archivage et réactivation d'une expérience de marché privée](#archiving-and-reactivating-a-private-marketplace-experience-capi) | `StartChangeSet` | `RestrictExperience`<br />`ReviveExperience` | 

## Création d'un marché privé
<a name="creating-a-private-marketplace"></a>

Un marché privé pour un Compte AWS peut être considéré comme une liste de produits que les utilisateurs sont autorisés à acheter sur ce compte, ainsi que l'image de marque du marché. Dans une organisation dotée de plusieurs comptes, vous pouvez utiliser le regroupement issu de AWS Organizations l'[unité organisationnelle (UO)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#organizationalunit) pour l'associer à une expérience. Par exemple, vous pouvez avoir un ensemble de produits que tous les comptes de l'organisation sont autorisés à acheter, ou vous pouvez avoir une liste de produits différente pour chaque unité organisationnelle de l'organisation. Vous pouvez également avoir une liste de produits diﬀérente pour les comptes individuels de l'organisation. Chaque liste de produits et de marques approuvés est appelée une *expérience* d'achat. 

Dans le AWS Marketplace Catalog API, quatre entités représentent une expérience :
+ `Experience`entité — Cette entité est au plus haut niveau de l'expérience et contient deux entités enfants.
+ `ProcurementPolicy`entité : cette entité représente les produits autorisés et refusés sur votre place de marché privée.
+ `BrandingSettings`entité — Vous pouvez également créer une `BrandingSettings` entité pour définir l'apparence de votre place de marché privée pour vos utilisateurs. 
+ `Audience`entité — Vous devez également associer une ou plusieurs `Audience` entités, qui définissent l'ensemble des unités d' Comptes AWS organisation ou des organisations auxquelles s'applique l'expérience.

Les étapes pour créer une expérience d'achat sont les suivantes :

1. Créez l'`Experience`entité.

1. Créez une `ProcurementPolicy` entité pour stocker la liste des produits autorisés ou refusés pour l'expérience.

1. (Facultatif) Créez une `BrandingSettings` entité pour personnaliser l'apparence de votre expérience sur le marché.

1. Associez les principaux à votre expérience. Un directeur peut être une Compte AWS, une unité d'organisation ou l'organisation.

1. Activez l'expérience.

**Note**  
Si votre compte fait partie d'une organisation dans AWS Organizations, consultez[Travailler avec des places de marché privées pour AWS Organizations](#private-marketplace-organizations).

**Création de l'`Experience`entité**

Pour créer l'`Experience`entité, utilisez l'`StartChangeSet`action avec la `CreateExperience` valeur du `ChangeType` paramètre pour demander que l'expérience soit créée par AWS Marketplace. Consultez l’exemple de code suivant.

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "CreateExperience",
      "DetailsDocument":
      {
        "Name": "ExamplePrivateMarketplace"
      },
      "Entity":
      {
        "Type": "Experience@1.0"
      }
    }
  ],
  "ChangeSetName": "Create Private Marketplace Example"
}
```

Dans cette action, `Entity` se trouve un modèle pour l'entité que vous souhaitez créer. Il est attribué et `EntityId` lors de sa création. `ChangeSetName`identifie le changement pour vous aider à le retrouver ultérieurement.

La réponse se présente comme suit.

```
{
   "ChangeSetArn": "arn:...:AWSMarketplace/ChangeSet/abcd1234example5678frjzkz",
   "ChangeSetId": "abcd1234example5678frjzkz"
}
```

La réponse inclut un `ChangeSetId` que vous pouvez utiliser pour connaître le statut de votre demande de modification au fur et à mesure de son traitement`DescribeChangeSet`. Vous pouvez également l'utiliser `ListEntities` pour rechercher votre `Experience` entité sans le`ChangeSetId`. Pour plus d’informations sur les jeux de modifications, consultez [Travailler avec des ensembles de modifications](catalog-apis.md#working-with-change-sets).

Une `Experience` entité nouvellement créée n'a pas de politique d'approvisionnement par défaut. Il est également créé avec les paramètres par défaut pour l'image de marque. Pour plus d'informations sur les paramètres de marque, notamment sur la façon de les personnaliser, consultez[Changer l'image de marque d'une expérience de marché privée](#private-marketplace-branding).

**Création d'une `ProcurementPolicy` entité**

Vous devez créer une `ProcurementPolicy` entité. Par défaut, une nouvelle `Experience` entité est désactivée. Vous pouvez donc créer la politique d'approvisionnement avant de l'activer.

**Note**  
Une `Experience` entité *n'ayant aucune* politique d'approvisionnement (null) autorise l'achat de tous les produits sur votre marché privé. Une `Experience` entité dont la politique d'approvisionnement est *vide* n'a aucun produit à la disposition des utilisateurs.

Pour autoriser ou refuser des produits sur votre marché privé, vous devez créer la politique d'approvisionnement. Pour ce faire, vous appelez à nouveau`StartChangeSet`, mais cette fois avec `ChangeType` le`CreateProcurementPolicy`. L'exemple de code suivant crée une politique d'approvisionnement vide.

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "CreateProcurementPolicy",
      "DetailsDocument":
      {
        "Name": "ExampleProcurementPolicy"
      },
      "Entity":
      {
        "Type": "Experience@1.0",
        "Identifier": "exp-1234example@1"
      }
    }
  ]
}
```

Dans cette action, `Entity` vous indiquez l'`Experience`entité au sein de laquelle vous souhaitez créer la politique d'approvisionnement. Vous devez donc inclure l'identifiant de l'entité que vous avez créée précédemment. Utilisez `ListEntities` pour rechercher l'`Experience`entité. Vous pouvez également renvoyer l'identifiant en l'utilisant `DescribeChangeSet` avec l'identifiant de l'ensemble de modifications figurant dans l'`CreateExperience`action

**Note**  
Cet exemple montre l'identifiant avec une révision de`1`. Pour plus d'informations sur les révisions des identifiants, consultez[Identifiant](catalog-apis.md#identifier).

Vous pouvez à nouveau utiliser `DescribeChangeSet` le type de `CreateProcurementPolicy` modification pour suivre le traitement de votre demande.

**Note**  
Les noms que vous donnez aux `ProcurementPolicy` objets `Experience` et n'apparaissent pas dans AWS Marketplace. Les noms sont uniquement destinés à faciliter la recherche des entités dans l'API.

Une fois que vous avez créé la politique d'achat, votre place de marché privée s'affiche dans le AWS Management Console. (Vous pouvez vous rendre sur la [page Private Marketplace](https://aws.amazon.com/marketplace/privatemarketplace) pour le consulter.) Une fois ces étapes terminées, votre place de marché privée sera désactivée, son image de marque par défaut sera définie, sa politique d'approvisionnement sera vide et elle ne sera associée à aucun responsable de votre organisation. Vous pouvez mettre à jour l'image de marque et y ajouter les produits que vous souhaitez, associer l'expérience à un ou plusieurs comptes, puis activer votre place de marché privée.

Les sections suivantes décrivent la gestion de votre place de marché privée avec AWS Marketplace Catalog API.

## Changer l'image de marque d'une expérience de marché privée
<a name="private-marketplace-branding"></a>

Vous pouvez personnaliser l'apparence de votre place de marché privée pour vos utilisateurs. Sans personnalisation, votre place de marché privée utilisera les paramètres de marque par défaut, décrits ci-dessous. Les aspects de l'image de marque que vous pouvez modifier sur un marché privé sont les suivants :
+ `Title`— Le nom affiché pour votre place de marché privée. Il s'agit du même champ que le champ **Nom** dans l'écran des **paramètres du profil de la place de** marché privée. Si vous définissez la valeur `Title` sur**Example**, le texte affiché est **Example Private Marketplace**. La valeur par défaut est **Private Marketplace**.
+ `Information`— Le paragraphe affiché sous le nom sur votre place de marché privée. Il s'agit du même champ que le champ **Description** dans les **paramètres du profil**. Par défaut, aucune information n'est disponible, auquel cas une description générale des sites de vente privés est affichée.
+ `ThemeColor`— La couleur affichée dans la bannière de votre place de marché privée. Il s'agit d'une couleur au format hexadécimal RGB. Cette valeur est identique à celle du champ de **couleur du thème** dans les **paramètres du profil**. La valeur par défaut est `#232F3E`.
+ `LogoUrl`— L'URL qui pointe vers un fichier image à utiliser comme logo sur votre place de marché privée. L'URL doit être accessible au public (par exemple, une URL Amazon S3 signée). Le fichier doit être un fichier .png ou .svg et avoir une taille inférieure à 500 Ko. Si nécessaire, le fichier image sera redimensionné à une hauteur maximale de 30 pixels et à une largeur maximale de 100 pixels. Il s'agit de la même valeur que le **logo** **sélectionné** dans les **paramètres du profil**. Par défaut, aucun logo n'est affiché.

Pour définir ces valeurs, vous devez d'abord créer une `BrandingSettings` entité avec le type de `CreateBrandingSettings` modification. Vous pouvez ensuite demander une `UpdateBrandingSettings` modification pour définir ou modifier l'image de marque. Vous ne devez créer un `BrandingSettings` objet qu'une seule fois. Pour créer cet objet, appelez `StartChangeSet` avec le type de `CreateBrandingSettings` modification, comme indiqué dans l'exemple de code suivant.

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "CreateBrandingSettings",
      "DetailsDocument":
      {
        "Name": "ExampleBrandingSettingsName"
      },
      "Entity":
      {
        "Type": "Experience@1.0",
        "Identifier": "exp-1234example@2"
      }
    }
  ]
}
```

Cet exemple modifie l'`Experience`entité en y ajoutant l'`BrandingSettings`objet. La révision de l'identifiant d'entité a été incrémentée à`2`. Pour plus d'informations sur les révisions des identifiants, consultez[Identifiant](catalog-apis.md#identifier).

**Note**  
Vous pouvez spécifier tous les détails des paramètres de marque dans l'appel pour créer l'entité des paramètres de marque. La facette des détails est la même pour `CreateBrandingSettings` et`UpdateBrandingSettings`.

Vous pouvez modifier les paramètres en appelant `StartChangeSet` avec le type de `UpdateBrandingSettings` modification. Les paramètres font partie `Configuration` de l'`DetailsDocument`objet.

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "UpdateBrandingSettings",
      "DetailsDocument":
      {
        "Name": "ExampleBrandingSettingsName",
        "Description": "Example description",
        "Configuration":
        {
          "Title": "ExampleName",
          "Information": "Example description.",
          "ThemeColor": "#0e7f74",
          "LogoUrl": "https://example.com/path/mylogo.png"
        }
      },
      "Entity":
      {
        "Type": "Experience@1.0",
        "Identifier": "exp-1234example@3"
      }
    }
  ]
}
```

**Note**  
L'URL du logo est utilisée pour créer une copie lors de la modification de mise à jour. Une fois la modification terminée, si vous supprimez ou modifiez l'URL de ce chemin, cela n'affectera pas votre place de marché privée, sauf si vous le demandez à nouveau`UpdateBrandingSettings`.

## Activation ou désactivation d'une expérience de marché privée
<a name="enable-private-marketplace"></a>

Lorsqu'un marché privé est activé (et dispose d'une politique d'approvisionnement), les utilisateurs des comptes associés ne peuvent acheter que des produits que vous avez approuvés. Lorsqu'aucune expérience de marché privée n'est activée pour un compte, les utilisateurs peuvent acheter des produits dans l'ensemble du AWS Marketplace catalogue.

Pour activer un marché privé, utilisez l'`StartChangeRequest`action avec le type de `UpdateExperience` modification.

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "UpdateExperience",
      "DetailsDocument":
      {
        "Status": "Enabled"
      },
      "Entity":
      {
        "Type": "Experience@1.0",
        "Identifier": "exp-1234example@4"
      }
    }
  ]
}
```

De même, vous pouvez utiliser la même action`ChangeType`, mais `Status` en la remplaçant par `DetailsDocument` `Disabled` pour désactiver un marché privé.

**Note**  
La désactivation d'un marché privé permet de conserver la liste des produits autorisés et refusés, ainsi que les personnalisations, telles que l'image de marque. Lorsqu'un marché privé est désactivé, les utilisateurs ne le voient plus (bien qu'ils puissent toujours être régis par l'expérience par défaut de l'organisation). Si aucune expérience de marché privée n'est activée pour un compte, toutes les restrictions sont supprimées et les utilisateurs peuvent se procurer n'importe quel produit auprès du public AWS Marketplace.

## Activation ou désactivation des demandes des utilisateurs
<a name="private-marketplace-user-requests"></a>

Les utilisateurs de votre organisation peuvent consulter l'intégralité du public AWS Marketplace, mais ils ne peuvent s'abonner qu'aux produits que vous avez autorisés. Par défaut, ils peuvent demander qu'un produit qui ne figure pas sur le marché privé y soit ajouté. Ces demandes apparaissent sur la page d'administration du marché [privé (Private Marketplace](https://aws.amazon.com/marketplace/privatemarketplace/admin/)), où vous pouvez décider d'accepter ou de refuser la demande (et de bloquer d'autres demandes pour le même produit). Vous ne pouvez pas voir les demandes ni y répondre à l'aide de l'API Catalog.

Vous pouvez activer ou désactiver la possibilité pour les utilisateurs de créer des demandes pour votre expérience de marché privée. À utiliser `StartChangeSet` avec le type de `UpdateProcurementPolicy` modification. La possibilité de faire des demandes est désactivée dans l'exemple de code suivant.

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "UpdateProcurementPolicy",
      "DetailsDocument":
      {
        "Configuration":
        {
          "PolicyResourceRequests": "Deny"
        }
      },
      "Entity":
      {
        "Type": "Experience@1.0",
        "Identifier": "exp-1234example@5"
      }
    }
  ]
}
```

Pour activer la fonctionnalité de demande de modification pour les utilisateurs, utilisez `Allow` plutôt que `Deny` in`PolicyResourceRequests`.

Pour savoir comment obtenir l'état actuel de ce paramètre, consultez la section suivante,[Obtenir une liste de produits dans le cadre d'une expérience de marché privée](#private-marketplace-policy-details).

## Obtenir une liste de produits dans le cadre d'une expérience de marché privée
<a name="private-marketplace-policy-details"></a>

Les produits autorisés (et refusés) sur un marché privé font partie de la politique d'approvisionnement de l'`Experience`entité. Pour obtenir des informations détaillées sur les politiques d'approvisionnement d'un marché privé, vous devez d'abord obtenir l'identifiant de la politique d'approvisionnement auprès de l'`Experience`entité, puis vous appelez `DescribeEntity` avec cet identifiant.

Pour obtenir l'identifiant de la politique d'approvisionnement, utilisez `DescribeEntity` l'`Experience`entité qui vous intéresse, comme indiqué dans la commande suivante.

```
GET /DescribeEntity?catalog=AWSMarketplace&entityId={{exp-example01}}
```

Voici un exemple de réponse.

```
{
  "Details": "{\"Name\":\"New Private Marketplace\", \"Status\":\"Enabled\", \"ProcurementPolicies\":[\"procpolicy-123example456\"], \"BrandingSettings\":[\"brandsettings-456example123\"]}",
  "DetailsDocument":
  {
    "Name": "New Private Marketplace",
    "Status": "Enabled",
    "ProcurementPolicies":
    [
      "procpolicy-123example456"
    ],
    "BrandingSettings":
    [
      "brandsettings-456example123"
    ]
  },
  "EntityArn": "arn:<...>:AWSMarketplace/Experience/exp-example-01",
  "EntityIdentifier": "exp-example01@6",
  "EntityType": "Experience@1.0",
  "LastModifiedDate": "2021-01-13T20:31:36Z"
}
```

**Note**  
L'`DetailsDocument`attribut contient les détails de l'entité sous forme d'objet JSON. L'`Details`attribut legacy contient le même objet JSON sous forme de chaîne. 

Vous pouvez utiliser le retour `EntityId` pour la politique d'achat pour obtenir les détails, comme indiqué dans la commande suivante.

```
GET /DescribeEntity?catalog=AWSMarketplace&entityId={{procpolicy-123example456}}
```

Cela renvoie tous les détails de la politique, y compris les produits autorisés et refusés. Voici un exemple de réponse.

```
{
  "Details": "{\"Name\":\"ExampleProcurementPolicy\", \"Statements\":[{\"Effect\":\"Allow\",\"Resources\":[{\"Type\":\"Product\",\"Ids\":[\"example1-1234-abcd-5678-90abcdef1234\"]},{\"Type\":\"Product\",\"Ids\":[\"example2-2345-bcde-6789-01bcdea2345\"]}]},{\"Effect\":\"Deny\",\"Resources\":[{\"Type\":\"Product\",\"Ids\":[\"example3-3456-cdef-7890-12defabc5678\"]}]}],\"Configuration\":{\"PolicyResourceRequests\":\"Allow\"}}",
  "DetailsDocument":
  {
    "Name": "ExampleProcurementPolicy",
    "Statements":
    [
      {
        "Effect": "Allow",
        "Resources":
        [
          {
            "Type": "Product",
            "Ids":
            [
              "example1-1234-abcd-5678-90abcdef1234"
            ]
          },
          {
            "Type": "Product",
            "Ids":
            [
              "example2-2345-bcde-6789-01bcdea2345"
            ]
          }
        ]
      },
      {
        "Effect": "Deny",
        "Resources":
        [
          {
            "Type": "Product",
            "Ids":
            [
              "example3-3456-cdef-7890-12defabc5678"
            ]
          }
        ]
      }
    ],
    "Configuration":
    {
      "PolicyResourceRequests": "Allow"
    }
  },
  "EntityArn": "arn:<...>AWSMarketplace/ProcurementPolicy/procpolicy-123example456",
  "EntityIdentifier": "procpolicy-123example456@4",
  "EntityType": "ProcurementPolicy@1.0",
  "LastModifiedDate": "2020-10-01T12:00:00Z"
}
```

Dans cet exemple, la politique d'approvisionnement prévoit deux produits autorisés et un produit refusé. La politique autorise les demandes de ressources des utilisateurs.

## Ajouter ou supprimer des produits sur un marché privé
<a name="private-marketplace-add-products"></a>

Par défaut, un marché privé ne contient aucun produit approuvé. Utilisez les demandes de modification pour ajouter ou supprimer un produit. Pour ajouter un produit, utilisez le type de `AllowProductProcurement` modification. Pour supprimer un produit, utilisez le type de `DenyProductProcurement` modification. 

L'exemple de code suivant montre le type de `AllowProductProcurement` modification avec l'`StartChangeSet`action d'ajouter un produit sur un marché privé.

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "AllowProductProcurement",
      "DetailsDocument":
      {
        "Products":
        [
          {
            "Ids":
            [
              "example-1234-abcd-5678-90abcded1234"
            ],
            "Notes": "Useful product"
          }
        ]
      },
      "Entity":
      {
        "Identifier": "exp-1234example@6",
        "Type": "Experience@1.0"
      }
    }
  ]
}
```

Vous ajoutez le produit à l'`Experience`entité pour un marché privé en utilisant`AllowProductProcurement`. La syntaxe permettant de retirer un produit d'un marché privé est identique, à l'exception du fait que vous utilisez le à la `DenyProductProcurement` `ChangeType` place de`AllowProductProcurement`. Les produits sont ajoutés à la liste d'autorisation (ou de refus) de l'`ProcurementPolicy`entité contenue dans votre `Experience` entité.

**Note**  
La liste des produits figurant dans votre modification est un ensemble de `Ids` produits. Vous pouvez donc ajouter (ou supprimer) plusieurs produits en un seul appel en incluant une liste d'identifiants de produits. `DetailsDocument` La limite est de 50 produits par demande.  
Le `Notes` champ pour la liste des n'`Ids`est pas obligatoire. Toutefois, vous pouvez l'utiliser pour enregistrer les raisons pour lesquelles une décision d'autoriser ou de refuser un ensemble de produits a été prise.

## Trouver des produits
<a name="finding-product-ids"></a>

En obtenant les détails de votre politique d'approvisionnement, vous pouvez trouver les identifiants des produits déjà présents sur un marché privé. Cependant, il AWS Marketplace Catalog API ne permet pas de trouver les identifiants de produits pour d'autres produits. Il existe deux méthodes pour obtenir des identifiants de produit à utiliser avec le service Catalog API :
+ **Marché public** — Une fois que vous avez trouvé un produit sur le marché public, choisissez **Continuer à vous abonner** pour voir une page détaillée sur le produit (cela ne vous abonnera pas au produit). L'URL inclura l'ID du produit en tant que paramètre. Par exemple, dans l'URL `https://aws.amazon.com/marketplace/fulfillment?productId=ab1234cd-1234-abcd-5678-90abcdef1234&ref_=dtl_psb_continue` se {{ab1234cd-1234-abcd-5678-90abcdef1234}} trouve l'ID du produit.
+ **AWS Marketplace API Discovery** — Par programmation, vous pouvez accéder à la liste complète des produits du en AWS Marketplace utilisant l'API Discovery. L'API Discovery est une API privée. Vous devez demander l'accès pour pouvoir l'utiliser. Pour de plus amples informations, veuillez consulter [Contrôle d'accès pour AWS Marketplace API de découverte](discovery-api-access-control.md). 

## Travailler avec des places de marché privées pour AWS Organizations
<a name="private-marketplace-organizations"></a>

Que vous travailliez avec une place de marché privée pour votre compte ou pour votre organisation, vous utilisez la même API. Cependant, il existe des différences lorsque vous travaillez au sein de votre organisation :
+ Avant de pouvoir utiliser la fonctionnalité de marché privé dans une organisation, vous devez [activer l'accès sécurisé pour fournir un accès](https://docs.aws.amazon.com/organizations/latest/APIReference/API_EnableAWSServiceAccess.html) à vos AWS Organizations données via un service de marché privé (`private-marketplace.marketplace.amazonaws.com`). Vous devez également [créer le rôle lié à un service de marché privé](https://docs.aws.amazon.com/organizations/latest/APIReference/API_EnableAWSServiceAccess.html) dans le compte de gestion. Ce rôle inclut toutes les autorisations requises par le marché privé pour décrire AWS Organizations et mettre à jour les ressources du marché privé en votre nom. Ces actions ne peuvent être effectuées que par le compte de gestion. Il est recommandé d'effectuer cette activation à l'aide de la page d'administration privée du marché. Si vous êtes un nouveau client, consultez la section [Marketplaces privés](https://docs.aws.amazon.com/marketplace/latest/buyerguide/buyer-using-service-linked-roles.html) dans le *Guide de l'AWS Marketplace acheteur*. Si vous êtes déjà client, consultez la section [Création et gestion d'un marché privé](https://docs.aws.amazon.com/marketplace/latest/buyerguide/private-catalog-administration.html) dans le *Guide de AWS Marketplace l'acheteur*. 
+ Les ressources du marché privé d'une organisation sont créées dans le compte de gestion et partagées avec le compte membre qui est un administrateur délégué du marché privé.
+ Lorsque vous mettez en vente des objets sur une place de marché privée à partir d'un compte membre administrateur délégué pour une place de marché privée, vous devez spécifiquement les demander avec le `SharedWithMe` filtre. Cela s'applique à la fois aux `ListChangeSets` actions `ListEntities` et aux actions.

Pour répertorier `Experience` les objets de votre propre compte, appelez `ListEntities` comme indiqué dans l'exemple de code suivant.

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

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

Toutefois, pour répertorier les entités qui ont été partagées avec vous, vous devez ajouter un `FilterList` avec un `Scope` de`SharedWithMe`, comme indiqué dans l'exemple de code suivant. Par conséquent, vous effectuez des AWS Marketplace recherches en dehors de votre propre compte pour trouver les entités partagées avec vous.

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

{"Catalog":"AWSMarketplace", 
"EntityType":"Experience",
 "FilterList": 
  [{
     "Name": "Scope",
     "ValueList":
      ["SharedWithMe"]
      }]}
```

Dans ce cas, seules les entités extérieures à votre compte (celles de votre organisation) sont renvoyées.

De même, pour appeler`ListChangeSets`, vous devez définir la portée, comme indiqué dans l'exemple de code suivant.

```
POST /ListChangeSets HTTP/1.1
Content-Type: application/json

{"Catalog":"AWSMarketplace", 
 "FilterList": 
  [{
     "Name": "Scope",
     "ValueList":
      ["SharedWithMe"]
      }]}
```

Cela renvoie des ensembles de modifications qui s'appliquent à un marché privé partagé pour votre organisation.

## Associer des principes à des expériences
<a name="private-marketplace-associate-accounts"></a>

Une expérience de marché privé doit être associée à un ou plusieurs principes afin d'avoir un impact sur votre organisation. Pour un single Compte AWS, vous devez associer le compte à l'expérience pour utiliser le marché privé. Au sein d'une organisation, plusieurs expériences peuvent s'appliquer à différents principes. 

**Note**  
L'expérience associée à l'organisation est celle par défaut pour tous les autres comptes de l'organisation. L'association d'un compte membre ou d'une unité d'organisation à une expérience différente crée directement une expérience différente pour le compte membre ou les comptes enfants de l'unité d'organisation.
Si vous êtes actuellement un client du marché privé sans AWS Organizations intégration du marché privé, l'expérience associée au compte de gestion est celle par défaut pour tous les autres comptes de l'organisation.

Pour associer un principal à une expérience, utilisez le type de `AssociateAudience` modification avec l'`StartChangeSet`action, comme illustré dans l'exemple de code suivant.

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "Entity":
      {
        "Type": "Experience@1.0",
        "Identifier": "exp-example01@1"
      },
      "ChangeType": "AssociateAudience",
      "DetailsDocument":
      {
        "Name": "AudienceName",
        "Description": "Audience example.",
        "Principals":
        [
          "012345678901",
          "ou-abcd-01234567",
          "o-0123456789"
        ]
      }
    }
  ],
  "ChangeSetName": "Set Audience for experience 01"
}
```

L'*audience* est la liste *des principaux* associés au`Experience`. Un directeur est une Compte AWS unité organisationnelle ou une organisation définie par son identifiant. `Principals`est une liste, de sorte que vous pouvez inclure plusieurs principes à associer à l'expérience. Après le premier appel, les appels suivants au type de `AssociateAudience` modification ajouteront des principes à l'association pour l'expérience.

Vous pouvez également supprimer des comptes d'une expérience. Pour ce faire, utilisez le type de `DisassociateAudience` modification, comme indiqué dans l'exemple de code suivant.

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "Entity":
      {
        "Type": "Experience@1.0",
        "Identifier": "exp-example01@02"
      },
      "ChangeType": "DisassociateAudience",
      "DetailsDocument":
      {
        "Principals":
        [
          "012345678901",
          "ou-abcd-01234567",
          "o-0123456789"
        ]
      }
    }
  ],
  "ChangeSetName": "Disassociate audience example"
}
```

**Note**  
Un directeur ne peut être directement associé qu'à une seule expérience. Pour qu'un directeur ne soit plus directement associé à une expérience à une autre, vous devez le dissocier de l'expérience initiale, puis l'associer à la seconde.

## Archivage et réactivation d'une expérience de marché privée
<a name="archiving-and-reactivating-a-private-marketplace-experience-capi"></a>

Vous pouvez supprimer une expérience de marché privée en l'archivant. Les expériences archivées ne peuvent pas être mises à jour ni utilisées pour gérer les comptes de votre organisation. Si des audiences sont associées à une expérience archivée, vous pouvez les associer à une autre expérience. Si vous décidez d'utiliser l'expérience ultérieurement, vous pouvez toujours la réactiver. Les administrateurs du compte de gestion ou d'un compte membre qui est un administrateur délégué pour le marché privé sont autorisés à archiver et à réactiver les expériences. Si vous êtes actuellement client d'une place de marché privée sans AWS Organizations intégration d'une place de marché privée, les administrateurs du compte qui a créé l'expérience sont autorisés à archiver et à réactiver les expériences.

**Note**  
Avant d'archiver une expérience, vous devez la désactiver. Pour plus d'informations sur la désactivation d'une expérience, consultez la [section Configuration de votre place de marché privée](https://docs.aws.amazon.com/marketplace/latest/buyerguide/private-catalog-administration.html#configure-your-private-marketplace) dans le *Guide de AWS Marketplace l'acheteur*.

Pour archiver une expérience, utilisez le type de `RestrictExperience` modification avec l'`StartChangeSet`action, comme illustré dans l'exemple de code suivant.

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "RestrictExperience",
      "DetailsDocument":
      {},
      "Entity":
      {
        "Type": "Experience@1.0",
        "Identifier": "exp-1234example"
      }
    }
  ]
}
```

Pour réactiver une expérience, utilisez le type de `ReviveExperience` modification avec l'`StartChangeSet`action, comme illustré dans l'exemple de code suivant.

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

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "ReviveExperience",
      "DetailsDocument":
      {},
      "Entity":
      {
        "Type": "Experience@1.0",
        "Identifier": "exp-1234example"
      }
    }
  ]
}
```

## Erreurs dans l'API du marché privé
<a name="private-marketplace-error-codes"></a>

Les erreurs suivantes sont spécifiques aux actions du marché privé dans l'API AWS Marketplace Catalog.


<table>
<thead>
  <tr><th>Type de modification</th><th>Code d’erreur</th><th>Message d’erreur</th><th>Description</th></tr>
</thead>
<tbody>
  <tr><td colspan="4">Errors returned directly by the StartChangeSet action</td></tr>
  <tr><td>Tous</td><td>422</td><td>Le format JSON du document n'est pas valide</td><td>Entrée JSON non valide utilisée, vérifiez votre syntaxe.</td></tr>
  <tr><td>AllowProductProcurement, DenyProductProcurement</td><td>422</td><td>Les valeurs du tableau Ids doivent être uniques</td><td>Vous ne pouvez pas inclure le même produit plusieurs fois dans une seule demande de modification.</td></tr>
  <tr><td>AllowProductProcurement, DenyProductProcurement</td><td>422</td><td>Le nombre cumulé de valeurs dans le tableau Ids doit être inférieur ou égal à 50</td><td>Vous pouvez autoriser ou refuser jusqu'à 50 produits dans une seule demande de modification.</td></tr>
  <tr><td colspan="4">Errors found by calling the DescribeChangeSet action</td></tr>
  <tr><td>CreateBrandingSettings, UpdateBrandingSettings</td><td>URL\_INVALIDE</td><td>Impossible de récupérer l'image à partir de l'URL d'entrée</td><td>Vous devez spécifier une URL valide et accessible pour le champ du logo dans`BrandingSettings`.</td></tr>
  <tr><td>CreateBrandingSettings, UpdateBrandingSettings</td><td>IMAGE\_INVALIDE</td><td>La vérification du type, du contenu ou de la taille du fichier de l'image a échoué. Seuls les types de fichiers .png et .svg dont la taille est inférieure ou égale à 500 Ko sont pris en charge.</td><td>Votre fichier image doit répondre aux exigences du logo pour les paramètres de marque.</td></tr>
  <tr><td>AllowProductProcurement, DenyProductProcurement</td><td>ENTITÉ\_INTROUVABLE</td><td>Politique d'approvisionnement absente de Experience</td><td>Vous devez créer un `ProcurementPolicy` avant d'autoriser ou de refuser des produits.</td></tr>
  <tr><td>CreateProcurementPolicy</td><td>ENTITÉ\_DEJÀ\_EXISTE\_EXISTE\_DEJA</td><td>La politique d'approvisionnement existe pour Experience</td><td>Vous ne pouvez avoir qu'une seule politique d'approvisionnement pour un marché privé.</td></tr>
  <tr><td>UpdateProcurementPolicy</td><td>ENTITÉ\_INTROUVABLE</td><td>Politique d'approvisionnement absente de Experience</td><td>Vous devez créer une politique d'achat `ProcurementPolicy` avant de mettre à jour.</td></tr>
  <tr><td>CreateBrandingSettings</td><td>ENTITÉ\_DEJÀ\_EXISTE\_EXISTE\_DEJA</td><td>Des paramètres de marque existent pour Experience</td><td>Vous ne pouvez avoir qu'un seul paramètre de marque pour une place de marché privée.</td></tr>
  <tr><td>UpdateBrandingSettings</td><td>ENTITÉ\_INTROUVABLE</td><td>Paramètres de marque absents d'Experience</td><td>Vous devez créer une `BrandingSettings` entité avant de mettre à jour les paramètres de marque.</td></tr>
  <tr><td>AssociateAudience</td><td>APPELANT NON AUTORISÉ</td><td>L'appelant n'est pas autorisé à exécuter l'action</td><td>Vous devez disposer des autorisations nécessaires pour lancer l'action. Les comptes ajoutés doivent appartenir à la même organisation.</td></tr>
  <tr><td>CreateExperience</td><td>APPELANT NON AUTORISÉ</td><td>L'appelant n'est pas autorisé à créer de l'expérience. </td><td>Vous devez disposer des autorisations nécessaires pour créer une expérience.</td></tr>
  <tr><td>AssociateAudience</td><td>ENTITÉ\_DEJÀ\_EXISTE\_EXISTE\_DEJA</td><td>Une expérience est déjà associée au compte {accountId}. Dissocier l'expérience précédente avant la mise à jour</td><td>Vous ne pouvez associer qu'une seule expérience à un compte. Dissociez l'expérience actuelle avant d'en associer une nouvelle. </td></tr>
  <tr><td>AssociateAudience, DisassociateAudience</td><td>ENTITÉ EN COURS D'UTILISATION</td><td>Une modification contradictoire est déjà en cours pour le compte sélectionné. Réessayez plus tard</td><td>Vous ne pouvez pas modifier l'association avec un compte alors qu'une autre demande de modification de l'association est déjà en cours.</td></tr>
</tbody>
</table>


## Types d'entités définis par le marché privé
<a name="entity-types-defined-by-private-marketplace"></a>

Le tableau suivant répertorie les types d'entités du marché privé, leur objectif et les actions pour lesquels chacune peut être spécifiée. Chaque type d'entité peut être utilisé pour spécifier une ressource Amazon Resource Name (ARN) qui peut être utilisée dans la politique Gestion des identités et des accès AWS (IAM). Pour plus de détails sur les formats ARN, consultez[Entités de l'API du catalogue](catalog-apis.md#catalog-api-entities).


| Entité | Objectif | Actions | 
| --- | --- | --- | 
| `Experience` | Stocke les paramètres de haut niveau d'un marché privé | `StartChangeSet`<br />`DescribeEntity` | 
| `BrandingSettings` | Stocke les paramètres de marque d'une place de marché privée | `DescribeEntity` | 
| `ProcurementPolicy` | Stocke les paramètres d'approvisionnement et les listes de produits sur un marché privé | `DescribeEntity` | 
| `Audience` | Stocke les détails des principaux associés à un marché privé | `DescribeEntity` | 