

Se reestructuró la referencia de API de AWS Marketplace. Para obtener más información sobre las operaciones de API compatibles, consulte la [referencia de API de AWS Marketplace](https://docs.aws.amazon.com/marketplace/latest/APIReference/Welcome.html).

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Trabaje con el mercado privado mediante el AWS Marketplace API
<a name="work-with-private-marketplace"></a>

Puede utilizarlas AWS Marketplace Catalog API para gestionar un *mercado privado* para su [organización Cuenta de AWS o para su empresa](https://docs.aws.amazon.com/organizations/latest/userguide/).

Solo se pueden solicitar todos los tipos de cambios desde la cuenta de administración de la organización o desde una cuenta de miembro que sea administrador delegado de un mercado privado. Si actualmente eres cliente de un mercado privado y no tienes la AWS Organizations integración para un mercado privado, puedes crear y administrar un mercado privado desde cualquier cuenta de tu organización que tenga la política de `AWSPrivateMarketplaceAdminFullAccess` IAM.

 *Para obtener más información sobre los mercados privados, consulta los [mercados privados](https://docs.aws.amazon.com/marketplace/latest/buyerguide/private-marketplace.html) en la Guía del AWS Marketplace comprador.* 

 En la siguiente tabla se detalla un conjunto de tareas para gestionar los mercados privados y los tipos de cambios que se aplican a cada tarea. 


| Tarea | Action | Tipos de cambios | 
| --- | --- | --- | 
| [Crear un mercado privado](#creating-a-private-marketplace) | `StartChangeSet` | `CreateExperience`<br />`CreateProcurementPolicy` | 
| [Cambiar la marca de una experiencia de mercado privado](#private-marketplace-branding) | `StartChangeSet` | `CreateBrandingSettings`<br />`UpdateBrandingSettings` | 
| [Habilitar o deshabilitar una experiencia de mercado privado](#enable-private-marketplace) | `StartChangeSet` | `UpdateExperience` | 
| [Habilitar o deshabilitar las solicitudes de los usuarios](#private-marketplace-user-requests) | `StartChangeSet` | `UpdateProcurementPolicy` | 
| [Obtener una lista de productos en una experiencia de mercado privado](#private-marketplace-policy-details) | `DescribeEntity` | No aplicable | 
| [Añadir o eliminar productos de un mercado privado](#private-marketplace-add-products) | `StartChangeSet` | `AllowProductProcurement`<br />`DenyProductProcurement` | 
| [Búsqueda de productos](#finding-product-ids) | No aplicable | No aplicable | 
| [Trabajando con mercados privados para AWS Organizations](#private-marketplace-organizations) | No aplicable | No aplicable | 
| [Asociar los principios a las experiencias](#private-marketplace-associate-accounts) | `StartChangeSet` | `AssociateAudience`<br />`DisassociateAudience` | 
| [Archivar y reactivar una experiencia de mercado privado](#archiving-and-reactivating-a-private-marketplace-experience-capi) | `StartChangeSet` | `RestrictExperience`<br />`ReviveExperience` | 

## Crear un mercado privado
<a name="creating-a-private-marketplace"></a>

Para un mercado privado, Cuenta de AWS puede considerarse una lista de productos que los usuarios pueden adquirir en esa cuenta y una marca para el mercado. En una organización con varias cuentas, puedes usar la agrupación AWS Organizations denominada [unidad organizativa (OU) para asociarla](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#organizationalunit) a una experiencia. Por ejemplo, puede tener un conjunto de productos que todas las cuentas de la organización puedan adquirir o puede tener una lista diferente de productos para cada unidad organizativa de la organización. También puede tener una lista diferente de productos para las cuentas individuales de la organización. *Cada lista de productos y marcas aprobados se denomina experiencia de compra.* 

En ella AWS Marketplace Catalog API, cuatro entidades representan una experiencia:
+ `Experience`entidad: esta entidad se encuentra en el nivel más alto de la experiencia y contiene dos entidades secundarias.
+ `ProcurementPolicy`entidad: esta entidad representa los productos permitidos y rechazados en tu mercado privado.
+ `BrandingSettings`entidad: también puedes crear una `BrandingSettings` entidad para definir el aspecto que tendrán tus usuarios de tu mercado privado. 
+ `Audience`entidad: también debes asociar una o más `Audience` entidades, que definen el conjunto de Cuentas de AWS unidades organizativas o la organización a las que se aplica la experiencia.

Los pasos para crear una experiencia de compras son los siguientes:

1. Cree la `Experience` entidad.

1. Crea una `ProcurementPolicy` entidad para almacenar la lista de productos permitidos o rechazados para la experiencia.

1. (Opcional) Crea una `BrandingSettings` entidad para personalizar el aspecto de tu experiencia en el mercado.

1. Asocie los directores a su experiencia. El director puede ser una Cuenta de AWS unidad organizativa o la organización.

1. Habilite la experiencia.

**nota**  
Si su cuenta forma parte de una organización de AWS Organizations, consulte[Trabajando con mercados privados para AWS Organizations](#private-marketplace-organizations).

**Cree la `Experience` entidad**

Para crear la `Experience` entidad, utilice la `StartChangeSet` acción con el `CreateExperience` valor del `ChangeType` parámetro para solicitar que la experiencia la cree AWS Marketplace. Consulte el siguiente ejemplo de código.

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

En esta acción, `Entity` hay una plantilla para la entidad que desea crear. Se le asigna un `EntityId` cuando se crea. `ChangeSetName`identifica el cambio para ayudarle a encontrarlo más adelante.

La respuesta tiene este aspecto:

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

La respuesta incluye una `ChangeSetId` que puede utilizar para obtener el estado de la solicitud de cambio a medida que se procesa`DescribeChangeSet`. También puede utilizarla `ListEntities` para buscar su `Experience` entidad sin la`ChangeSetId`. Para obtener más información sobre los conjuntos de cambios, consulte [Trabajar con conjuntos de cambios](catalog-apis.md#working-with-change-sets).

Una `Experience` entidad recién creada no tiene una política de compras de forma predeterminada. También se crea con la configuración de marca predeterminada. Para obtener más información sobre la configuración de marca, incluida la forma de personalizarla, consulte[Cambiar la marca de una experiencia de mercado privado](#private-marketplace-branding).

**Crea una `ProcurementPolicy` entidad**

Debe crear una `ProcurementPolicy` entidad. De forma predeterminada, una `Experience` entidad nueva está deshabilitada, por lo que puede crear la política de compras antes de habilitarla.

**nota**  
Una `Experience` entidad *sin* una política de compras (null) permite adquirir todos los productos en tu mercado privado. Una `Experience` entidad con una política de compras *vacía* no tiene productos disponibles para que los usuarios los adquieran.

Para permitir y denegar productos en tu mercado privado, debes crear la política de compras. Para ello, vuelve a llamar`StartChangeSet`, pero esta vez con la tecla `ChangeType` de`CreateProcurementPolicy`. El siguiente ejemplo de código crea una política de compras vacía.

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

La `Entity` que proporciona en esta acción es la `Experience` entidad en la que desea que se cree la política de compras, por lo que debe incluir el identificador de la entidad que creó anteriormente. `ListEntities`Utilícelo para buscar la `Experience` entidad. También puede devolver el identificador utilizándolo `DescribeChangeSet` con el identificador del conjunto de cambios de la `CreateExperience` acción

**nota**  
En este ejemplo se muestra el identificador con una revisión de`1`. Para obtener más información sobre las revisiones de los identificadores, consulte[Identificador](catalog-apis.md#identifier).

Puede volver a utilizar `DescribeChangeSet` el tipo de `CreateProcurementPolicy` cambio para seguir el procesamiento de su solicitud.

**nota**  
Los nombres que dé a los `ProcurementPolicy` objetos `Experience` y a los objetos no aparecen en ellos AWS Marketplace. Los nombres son únicamente para facilitar la búsqueda de las entidades en la API.

Una vez que hayas creado la política de compras, tu mercado privado aparecerá en Consola de administración de AWS. (Puedes ir a la [página de Private Marketplace](https://aws.amazon.com/marketplace/privatemarketplace) para verla). Una vez que hayas completado estos pasos, tu mercado privado se desactivará, tendrá la marca predeterminada, tendrá una política de compras vacía y no se asociará a ninguna entidad principal de tu organización. Puedes actualizar la marca y añadir los productos que desees incluir en ella, asociar la experiencia a una o más cuentas y, a continuación, activar tu plataforma privada.

En las siguientes secciones se describe la gestión de tu mercado privado con AWS Marketplace Catalog API.

## Cambiar la marca de una experiencia de mercado privado
<a name="private-marketplace-branding"></a>

Puedes personalizar el aspecto de tu mercado privado para tus usuarios. Sin la personalización, tu plataforma privada tendrá la configuración de marca predeterminada, que se describe a continuación. Entre los aspectos de la marca que puedes cambiar en un mercado privado se incluyen los siguientes:
+ `Title`— El nombre que se muestra en tu mercado privado. Es el mismo que el campo **Nombre** de la pantalla de **configuración del perfil del** mercado privado. Si estableces en**Example**, el texto `Title` que se muestra es **Example Private Marketplace**. El valor predeterminado es **Private Marketplace**.
+ `Information`— El párrafo que aparece debajo del nombre en tu mercado privado. Es el mismo que el campo **Descripción** de la **configuración del perfil**. De forma predeterminada, no hay información, en cuyo caso se muestra una descripción general de los mercados privados.
+ `ThemeColor`— El color que aparece en el banner de tu mercado privado. Se trata de un color en formato hexadecimal RGB. Este valor es el mismo que el campo de **color del tema** en la **configuración del perfil**. El valor predeterminado es `#232F3E`.
+ `LogoUrl`— La URL que apunta a un archivo de imagen que se utilizará como logotipo en tu tienda virtual privada. La URL debe estar disponible públicamente (por ejemplo, una URL firmada de Amazon S3). El archivo debe ser un archivo.png o.svg y tener menos de 500 KB. Si es necesario, el tamaño del archivo de imagen se redimensionará hasta una altura máxima de 30 píxeles y una anchura máxima de 100 píxeles. Es el mismo valor que el de la **selección** del **logotipo** en la **configuración del perfil**. El valor predeterminado es no mostrar ningún logotipo.

Para establecer estos valores, primero debe crear una `BrandingSettings` entidad con el tipo de `CreateBrandingSettings` cambio. A continuación, puede solicitar un `UpdateBrandingSettings` cambio para establecer o cambiar la marca. Solo necesitas crear un `BrandingSettings` objeto una vez. Para crear este objeto, llame `StartChangeSet` con el tipo de `CreateBrandingSettings` cambio, como se muestra en el siguiente ejemplo de código.

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

En este ejemplo, se modifica la `Experience` entidad añadiéndole el `BrandingSettings` objeto. La revisión del identificador de la entidad se ha incrementado a. `2` Para obtener más información sobre las revisiones de los identificadores, consulte. [Identificador](catalog-apis.md#identifier)

**nota**  
Puede especificar todos los detalles de la configuración de marca en la llamada para crear la entidad de configuración de marca. La faceta de detalles es la misma para `CreateBrandingSettings` y`UpdateBrandingSettings`.

Para modificar la configuración, llame `StartChangeSet` con el tipo de `UpdateBrandingSettings` cambio. La configuración forma parte `Configuration` del `DetailsDocument` objeto.

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

**nota**  
La URL del logotipo se utiliza para hacer una copia durante el cambio de actualización. Una vez completado el cambio, si eliminas o cambias la URL de esa ruta, no afectará a tu mercado privado a menos que vuelvas a solicitarlo`UpdateBrandingSettings`.

## Habilitar o deshabilitar una experiencia de mercado privado
<a name="enable-private-marketplace"></a>

Cuando un mercado privado está habilitado (y tiene una política de compras), los usuarios de las cuentas asociadas solo pueden comprar los productos que tú hayas aprobado. Cuando una cuenta no tiene habilitada una experiencia de mercado privado, los usuarios pueden comprar productos de todo el AWS Marketplace catálogo.

Para habilitar un mercado privado, usa la `StartChangeRequest` acción con el tipo de `UpdateExperience` cambio.

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

Del mismo modo, puedes usar la misma acción pero cambiarla `Status` `DetailsDocument` `Disabled` a para deshabilitar un mercado privado. `ChangeType`

**nota**  
Al deshabilitar un mercado privado, se conserva la lista de productos permitidos y rechazados, así como de las personalizaciones, como la marca. Cuando un mercado privado está desactivado, los usuarios dejan de visitarlo (aunque es posible que sigan rigiéndose por la experiencia predeterminada de la organización). Si no hay ninguna experiencia de mercado privada habilitada para una cuenta, se eliminarán todas las restricciones y los usuarios podrán adquirir cualquier producto del público AWS Marketplace.

## Habilitar o deshabilitar las solicitudes de los usuarios
<a name="private-marketplace-user-requests"></a>

Los usuarios de su organización pueden ver el público completo AWS Marketplace, pero solo pueden suscribirse a los productos que usted haya autorizado. De forma predeterminada, pueden solicitar que se añada un producto que no esté en el mercado privado. Estas solicitudes aparecen en la página del administrador del mercado [privado (Private Marketplace](https://aws.amazon.com/marketplace/privatemarketplace/admin/)), donde puedes decidir si aceptas o rechazas la solicitud (y si deseas bloquear más solicitudes del mismo producto). No puedes ver ni responder a las solicitudes mediante la API del catálogo.

Puedes activar o desactivar la posibilidad de que los usuarios creen solicitudes para tu experiencia en el mercado privado. `StartChangeSet`Utilízalo con el tipo de `UpdateProcurementPolicy` cambio. La capacidad de realizar solicitudes está deshabilitada en el siguiente ejemplo de código.

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

Para habilitar la capacidad de solicitud de cambios para los usuarios, utilice en `Allow` lugar de `Deny` in`PolicyResourceRequests`.

Para obtener información sobre cómo obtener el estado actual de esta configuración, consulte la siguiente sección,[Obtener una lista de productos en una experiencia de mercado privado](#private-marketplace-policy-details).

## Obtener una lista de productos en una experiencia de mercado privado
<a name="private-marketplace-policy-details"></a>

Los productos permitidos (y denegados) en un mercado privado forman parte de la política de compras de la `Experience` entidad. Para obtener los detalles sobre las políticas de adquisición en un mercado privado, primero debe obtener el identificador de la política de compras de la `Experience` entidad y, a continuación, llamar `DescribeEntity` con ese identificador.

Para obtener el identificador de la política de compras, `DescribeEntity` utilícelo en la `Experience` entidad que le interese, tal y como se muestra en el siguiente comando.

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

A continuación, se muestra un ejemplo de respuesta.

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

**nota**  
El `DetailsDocument` atributo contiene los detalles de la entidad como un objeto JSON. El `Details` atributo heredado contiene el mismo objeto JSON que una cadena. 

Puedes usar lo devuelto `EntityId` para la política de compras para obtener los detalles, tal y como se muestra en el siguiente comando.

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

Esto devuelve todos los detalles de la política, incluidos los productos permitidos y rechazados. A continuación, se muestra un ejemplo de respuesta.

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

En este ejemplo, la política de compras tiene dos productos permitidos y uno denegado. La política permite las solicitudes de recursos de los usuarios.

## Añadir o eliminar productos de un mercado privado
<a name="private-marketplace-add-products"></a>

De forma predeterminada, un mercado privado no contiene ningún producto aprobado. Utiliza las solicitudes de cambio para añadir o eliminar un producto. Para añadir un producto, usa el tipo de `AllowProductProcurement` cambio. Para eliminar un producto, usa el tipo de `DenyProductProcurement` cambio. 

El siguiente ejemplo de código muestra el tipo de `AllowProductProcurement` cambio con la `StartChangeSet` acción de añadir un producto a un mercado privado.

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

Para añadir el producto a la `Experience` entidad de un mercado privado, utilice`AllowProductProcurement`. La sintaxis para eliminar un producto de un mercado privado es idéntica, con la salvedad de que se utiliza la sintaxis `DenyProductProcurement` `ChangeType` en lugar de`AllowProductProcurement`. Los productos se añaden a la lista de permitidos (o rechazados) de la `ProcurementPolicy` entidad que contiene tu `Experience` entidad.

**nota**  
La lista de productos objeto `DetailsDocument` de tu cambio es un conjunto de ellos`Ids`, por lo que puedes añadir (o eliminar) varios productos con una sola llamada, incluyendo una lista de identificadores de productos. El límite es de 50 productos en una sola solicitud.  
El `Notes` campo de la lista no `Ids` es obligatorio. Sin embargo, puedes usarlo para registrar por qué se tomó la decisión de permitir o denegar un conjunto de productos.

## Búsqueda de productos
<a name="finding-product-ids"></a>

Al obtener los detalles de tu política de compras, podrás encontrar los identificadores de los productos que ya se encuentran en un mercado privado. Sin embargo, AWS Marketplace Catalog API no proporciona una forma de encontrar los identificadores de producto de otros productos. Hay dos formas de obtener los identificadores de los productos para utilizarlos con el servicio de la API del catálogo:
+ **Mercado público**: cuando encuentres un producto en el mercado público, selecciona **Continuar con la suscripción** para ver una página de detalles sobre el producto (no te suscribirá al producto). La URL incluirá el identificador del producto como parámetro. Por ejemplo, en la URL`https://aws.amazon.com/marketplace/fulfillment?productId=ab1234cd-1234-abcd-5678-90abcdef1234&ref_=dtl_psb_continue`, {{ab1234cd-1234-abcd-5678-90abcdef1234}} está el identificador del producto.
+ **AWS Marketplace API de descubrimiento**: mediante programación, puede acceder a la lista completa de productos de la API AWS Marketplace mediante la API de descubrimiento. La API Discovery es una API privada. Debe solicitar el acceso para poder usarla. Para obtener más información, consulte [Control de acceso para AWS Marketplace API de descubrimiento](discovery-api-access-control.md). 

## Trabajando con mercados privados para AWS Organizations
<a name="private-marketplace-organizations"></a>

Tanto si trabajas con un mercado privado para tu cuenta como para tu organización, utilizas la misma API. Sin embargo, existen diferencias a la hora de trabajar dentro de tu organización:
+ Antes de poder utilizar la función de mercado privado en una organización, debe [habilitar el acceso confiable](https://docs.aws.amazon.com/organizations/latest/APIReference/API_EnableAWSServiceAccess.html) para que el servicio de mercado privado (`private-marketplace.marketplace.amazonaws.com`) pueda acceder a sus AWS Organizations datos. También debe [crear el rol vinculado al servicio de mercado privado](https://docs.aws.amazon.com/organizations/latest/APIReference/API_EnableAWSServiceAccess.html) en la cuenta de administración. Esta función incluye todos los permisos que el mercado privado necesita para describir AWS Organizations y actualizar los recursos del mercado privado en tu nombre. Estas acciones solo las puede realizar la cuenta de administración. Se recomienda realizar esta activación mediante la página de administración del mercado privado. *Si eres un cliente nuevo, consulta los [mercados privados](https://docs.aws.amazon.com/marketplace/latest/buyerguide/buyer-using-service-linked-roles.html) en la Guía del AWS Marketplace comprador.* Si ya eres cliente, consulta [Cómo crear y administrar un mercado privado](https://docs.aws.amazon.com/marketplace/latest/buyerguide/private-catalog-administration.html) en la *Guía del AWS Marketplace comprador*. 
+ Los recursos del mercado privado de una organización se crean en la cuenta de administración y se comparten con la cuenta del miembro que es el administrador delegado del mercado privado.
+ Cuando publiques objetos en un mercado privado desde una cuenta de miembro que sea la administradora delegada de un mercado privado, debes solicitarlos específicamente con el `SharedWithMe` filtro. Esto se aplica tanto a las `ListChangeSets` acciones como a las `ListEntities` demás.

Para enumerar `Experience` los objetos de su propia cuenta, llame `ListEntities` como se muestra en el siguiente ejemplo de código.

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

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

Sin embargo, para enumerar las entidades que se han compartido con usted, debe añadir un símbolo `FilterList` con un `Scope` de`SharedWithMe`, tal y como se muestra en el siguiente ejemplo de código. Como resultado, AWS Marketplace busca entidades fuera de tu propia cuenta para encontrar las entidades que compartas contigo.

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

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

En este caso, solo se devuelven las entidades ajenas a tu cuenta (las de tu organización).

Del mismo modo, para llamar`ListChangeSets`, debes establecer el alcance, como se muestra en el siguiente ejemplo de código.

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

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

Esto devuelve los conjuntos de cambios que se aplican a un mercado privado compartido de su organización.

## Asociar los principios a las experiencias
<a name="private-marketplace-associate-accounts"></a>

Una experiencia en un mercado privado debe tener uno o más principios asociados para que tenga algún efecto en la organización. En el caso de una sola Cuenta de AWS, debe asociar la cuenta a la experiencia para utilizar el mercado privado. En una organización, puedes hacer que varias experiencias se apliquen a distintos directores. 

**nota**  
La experiencia asociada a la organización es la predeterminada para todas las demás cuentas de la organización. Al asociar una cuenta de miembro o una OU a una experiencia diferente, se establece directamente una experiencia diferente para la cuenta de miembro o las cuentas secundarias de la OU.
Si actualmente es cliente de un mercado privado sin la AWS Organizations integración para un mercado privado, la experiencia asociada a la cuenta de administración es la predeterminada para todas las demás cuentas de la organización.

Para asociar un director a una experiencia, utilice el tipo de `AssociateAudience` cambio con la `StartChangeSet` acción, tal y como se muestra en el siguiente ejemplo de código.

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

La *audiencia* es la lista de *directores* que están asociados a la`Experience`. Un director es una Cuenta de AWS unidad organizativa o una organización definida por su identificador. `Principals`es una lista, por lo que puedes incluir varios directores para asociarlos a la experiencia. Tras la primera convocatoria, en las siguientes llamadas al tipo de `AssociateAudience` cambio se añadirán los directores a la asociación para la experiencia.

También puedes eliminar cuentas de una experiencia. Para ello, utilice el tipo de `DisassociateAudience` cambio, tal y como se muestra en el siguiente ejemplo de código.

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

**nota**  
Un director solo se puede asociar directamente a una experiencia. Para que un principio pase de estar directamente asociado con una experiencia a otra, hay que disociarlo de la experiencia inicial y, a continuación, asociarlo a la segunda.

## Archivar y reactivar una experiencia de mercado privado
<a name="archiving-and-reactivating-a-private-marketplace-experience-capi"></a>

Puede eliminar una experiencia de mercado privado archivándola. Las experiencias archivadas no se pueden actualizar ni usar para controlar las cuentas de su organización. Si tiene públicos asociados a una experiencia archivada, puede asociarlos a una experiencia diferente. Si decide utilizar la experiencia más adelante, siempre podrá volver a activarla. Los administradores de la cuenta de administración o de una cuenta de miembro que sea administrador delegado de un mercado privado tienen permisos para archivar y reactivar las experiencias. Si actualmente eres cliente de un mercado privado y no tienes la AWS Organizations integración para un mercado privado, los administradores de la cuenta que creó la experiencia tienen permisos para archivar y reactivar las experiencias.

**nota**  
Antes de archivar una experiencia, debe desactivarla. Para obtener información sobre cómo deshabilitar una experiencia, consulta [Cómo configurar tu plataforma privada](https://docs.aws.amazon.com/marketplace/latest/buyerguide/private-catalog-administration.html#configure-your-private-marketplace) en la Guía del *AWS Marketplace comprador*.

Para archivar una experiencia, usa el tipo de `RestrictExperience` cambio con la `StartChangeSet` acción, como se muestra en el siguiente ejemplo de código.

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

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

Para reactivar una experiencia, utilice el tipo de `ReviveExperience` cambio con la `StartChangeSet` acción, como se muestra en el siguiente ejemplo de código.

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

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

## Errores en la API del mercado privado
<a name="private-marketplace-error-codes"></a>

Los siguientes errores son específicos de las acciones del mercado privado en la API del AWS Marketplace catálogo.


<table>
<thead>
  <tr><th>Cambio de tipo</th><th>Código de error</th><th>Mensaje de error</th><th>Description (Descripción)</th></tr>
</thead>
<tbody>
  <tr><td colspan="4">Errors returned directly by the StartChangeSet action</td></tr>
  <tr><td>Todos</td><td>422</td><td>El formato JSON del documento no es válido</td><td>Se ha utilizado una entrada JSON no válida; compruebe la sintaxis.</td></tr>
  <tr><td>AllowProductProcurement, DenyProductProcurement</td><td>422</td><td>Los valores de la matriz de identificadores deben ser únicos</td><td>No puedes incluir el mismo producto varias veces en una sola solicitud de cambio.</td></tr>
  <tr><td>AllowProductProcurement, DenyProductProcurement</td><td>422</td><td>El número acumulado de valores en la matriz de ID debe ser menor o igual a 50</td><td>Puedes permitir o rechazar hasta 50 productos en una sola solicitud de cambio.</td></tr>
  <tr><td colspan="4">Errors found by calling the DescribeChangeSet action</td></tr>
  <tr><td>CreateBrandingSettings, UpdateBrandingSettings</td><td>URL NO VÁLIDA</td><td>No se pudo obtener la imagen desde la URL de entrada</td><td>Debe especificar una URL válida y accesible para el campo del logotipo en. `BrandingSettings`</td></tr>
  <tr><td>CreateBrandingSettings, UpdateBrandingSettings</td><td>IMAGEN\_INVÁLIDA</td><td>No se pudo comprobar el tipo, el contenido o el tamaño del archivo de la imagen. Solo se admiten los tipos de archivos.png y .svg con un tamaño inferior o igual a 500 KB.</td><td>El archivo de imagen debe cumplir con los requisitos del logotipo para la configuración de marca.</td></tr>
  <tr><td>AllowProductProcurement, DenyProductProcurement</td><td>ENTITY\_NOT\_FOUND</td><td>Falta una política de adquisiciones en Experience</td><td>Debe crear una `ProcurementPolicy` antes de permitir o denegar productos.</td></tr>
  <tr><td>CreateProcurementPolicy</td><td>LA ENTIDAD YA EXISTE</td><td>Existe una política de adquisiciones para Experience</td><td>Solo puede tener una política de compras única para un mercado privado.</td></tr>
  <tr><td>UpdateProcurementPolicy</td><td>ENTITY\_NOT\_FOUND</td><td>Falta una política de adquisiciones en Experience</td><td>Debe crear una `ProcurementPolicy` antes de actualizar la política de compras.</td></tr>
  <tr><td>CreateBrandingSettings</td><td>LA ENTIDAD YA EXISTE</td><td>Existe una configuración de marca para Experience</td><td>Solo puedes tener una configuración de marca única para un mercado privado.</td></tr>
  <tr><td>UpdateBrandingSettings</td><td>ENTITY\_NOT\_FOUND</td><td>Falta la configuración de marca en Experience</td><td>Debes crear una `BrandingSettings` entidad antes de actualizar la configuración de marca.</td></tr>
  <tr><td>AssociateAudience</td><td>CALLS\_NOT\_AUTHORIZED</td><td>La persona que llama no está autorizada a ejecutar la acción</td><td>Debe tener permisos para convocar la acción. Las cuentas que se van a añadir deben pertenecer a la misma organización.</td></tr>
  <tr><td>CreateExperience</td><td>CALLS\_NOT\_AUTHORIZED</td><td>La persona que llama no está autorizada a crear una experiencia. </td><td>Debe tener permisos para crear una experiencia.</td></tr>
  <tr><td>AssociateAudience</td><td>LA ENTIDAD YA EXISTE</td><td>Ya hay una experiencia asociada a la cuenta {AccountID}. Desasocie la experiencia anterior antes de actualizarla</td><td>Solo puedes asociar una experiencia única a una cuenta. Desasocie la experiencia actual antes de asociar una nueva. </td></tr>
  <tr><td>AssociateAudience, DisassociateAudience</td><td>ENTITY\_IN\_USE</td><td>Ya hay un cambio conflictivo en curso para la cuenta seleccionada. Inténtelo de nuevo más tarde</td><td>No puedes cambiar la asociación con una cuenta mientras haya otra solicitud de cambio para cambiar la asociación en curso.</td></tr>
</tbody>
</table>


## Tipos de entidades definidos por el mercado privado
<a name="entity-types-defined-by-private-marketplace"></a>

En la siguiente tabla se enumeran los tipos de entidades del mercado privado, su finalidad y las acciones en las que se puede especificar cada una de ellas. Cada tipo de entidad se puede usar para especificar un nombre de recurso de Amazon (ARN) de un recurso que se puede usar en la política AWS Identity and Access Management (IAM). Para obtener más información sobre los formatos ARN, consulte. [Entidades de API de catálogo](catalog-apis.md#catalog-api-entities)


| Entidad | Finalidad | Acciones | 
| --- | --- | --- | 
| `Experience` | Almacena la configuración de nivel superior de un mercado privado | `StartChangeSet`<br />`DescribeEntity` | 
| `BrandingSettings` | Almacena la configuración de marca de un mercado privado | `DescribeEntity` | 
| `ProcurementPolicy` | Almacena la configuración de compras y las listas de productos en un mercado privado | `DescribeEntity` | 
| `Audience` | Almacena los detalles de los principales asociados a un mercado privado | `DescribeEntity` | 