

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.

# Uso de la administración de listas
<a name="sending-email-list-management"></a>

Amazon SES ofrece funciones de administración de listas, lo que significa que los clientes pueden administrar sus propias listas de correo, conocidas como listas de contactos. Una *lista de contactos* es una lista que le permite almacenar todos sus contactos que se han suscrito a uno o varios temas concretos. Un *contacto* es un usuario final que recibe sus mensajes de correo electrónico. Un *tema* es un grupo de interés, un tema o una etiqueta de una lista. Las listas pueden tener varios temas.

Al usar la operación [https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_ListContacts.html](https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_ListContacts.html) de la API v2 de Amazon SES, puede recuperar una lista de todos los ‎contactos que se han suscrito a u‎n tema concreto, a los que puede enviar mensajes de correo electrónico mediante la operación [https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_SendEmail.html](https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_SendEmail.html).

Para obtener más información acerca de la administración de suscripciones, consulte [Uso de la administración de suscripciones](sending-email-subscription-management.md).

## Información general acerca de la administración de listas
<a name="list-management-overview"></a>

Debe tener en cuenta los siguientes factores cuando utilice la administración de listas:
+ Puede especificar temas de lista al crear la lista.
+ Solo se permite una lista de contactos por Cuenta de AWS.
+ Una lista puede tener un máximo de 20 temas.
+ Puede actualizar una lista de contactos existente, lo que incluye agregar nuevos temas a la lista, agregar o eliminar contactos de una lista y actualizar las preferencias de contacto de una lista o un tema.
+ Puede actualizar los metadatos del tema, como el nombre para mostrar o la descripción del tema.
+ Puede obtener una lista de contactos de una lista de contactos, contactos suscritos a un tema, contactos cuya suscripción a un tema se ha cancelado y contactos cuya suscripción a todos los temas de la lista se ha cancelado.
+ Puede importar las ‎listas de contactos existentes en SES mediante la API [https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_CreateImportJob.html](https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_CreateImportJob.html).
+ SES emitirá un evento de rebote si se envía un mensaje a un contacto de la lista de contactos cuya suscripción se haya cancelado. Para obtener más información, consulte [Uso de la administración de suscripciones](sending-email-subscription-management.md).
+ Cada contacto puede tener atributos asociados que puede utilizar para almacenar información acerca de ese contacto.

## Configuración de la administración de listas
<a name="configuring-list-management"></a>

Puede utilizar las siguientes operaciones para configurar las capacidades de administración de listas. Para obtener la lista completa de la lista de contactos y las operaciones de contactos, consulte la [Referencia de la API v2 de Amazon SES](https://docs.aws.amazon.com/ses/latest/APIReference-V2/Welcome.html).

### Creación de una lista de contactos
<a name="configuring-list-management-create-contact-list"></a>

Puede utilizar la operación [https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_CreateContactList.html](https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_CreateContactList.html) en la API v2 de SES para crear una lista de contactos. Para establecer esta configuración de forma rápida y fácil, utilice la AWS CLI. Para obtener más información sobre la instalación y configuración de AWS CLI, consulte la [Guía del AWS Command Line Interface usuario](https://docs.aws.amazon.com/cli/latest/userguide/).

**Para crear una lista de contactos mediante el AWS CLI**
+ En la línea de comandos, introduzca el comando siguiente:

  ```
  aws sesv2 create-contact-list --cli-input-json file://{{CONTACT-LIST-JSON}}
  ```

  En el comando anterior, {{CONTACT-LIST-JSON}} sustitúyalo por la ruta al archivo JSON de la [https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_CreateContactList.html](https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_CreateContactList.html)solicitud.

  Un archivo JSON de entrada `CreateContactList` de ejemplo para la solicitud es como el siguiente:

  ```
  {
      "ContactListName": "ExampleContactListName",
      "Description": "Creating a contact list example",
      "Topics": [
       {
           "TopicName": "Sports",
           "DisplayName": "Sports Newsletter",
           "Description": "Sign up for our free newsletter to receive updates on all sports.",
           "DefaultSubscriptionStatus": "OPT_OUT"
       },
       {
           "TopicName": "Cycling",
           "DisplayName": "Cycling newsletter",
           "Description": "Never miss a cycling update by subscribing to our newsletter.",
           "DefaultSubscriptionStatus": "OPT_IN"
       },
       {
           "TopicName": "NewProducts",
           "DisplayName": "New products",
           "Description": "Hear about new products by subscribing to this mailing list.",
           "DefaultSubscriptionStatus": "OPT_IN"
       },
       {
           "TopicName": "DailyUpdates",
           "DisplayName": "Daily updates",
           "Description": "Start your day with sport updates, Monday through Friday.",
           "DefaultSubscriptionStatus": "OPT_OUT"
       }
      ]
  }
  ```

### Creación de un contacto
<a name="configuring-list-management-create-contact"></a>

Puede utilizar la operación [https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_CreateContact.html](https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_CreateContact.html) en la API v2 de SES para crear un contacto. Para establecer esta configuración de forma rápida y fácil, utilice la AWS CLI. Para obtener más información sobre la instalación y configuración del AWS CLI, consulte la [Guía del AWS Command Line Interface usuario](https://docs.aws.amazon.com/cli/latest/userguide/).

**Para crear un contacto mediante el AWS CLI**
+ En la línea de comandos, introduzca el comando siguiente:

  ```
  aws sesv2 create-contact --cli-input-json file://{{CONTACT-JSON}}
  ```

  En el comando anterior, {{CONTACT-JSON}} sustitúyalo por la ruta al archivo JSON de la [https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_CreateContact.html](https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_CreateContact.html)solicitud.

  Un archivo JSON de entrada `CreateContact` de ejemplo para la solicitud es como el siguiente:

  ```
  {
      "ContactListName": "ExampleContactListName",
      "EmailAddress": "example@amazon.com",
      "UnsubscribeAll": false,
      "TopicPreferences": [
          {
              "TopicName": "Sports",
              "SubscriptionStatus": "OPT_IN"
          }
      ],
      "AttributesData": "{\"Name\": \"John\", \"Location\": \"Seattle\"}"
  }
  ```

  En el ejemplo anterior, un valor `UnsubscribeAll` de `false` muestra que el contacto no ha cancelado la suscripción de todos los temas, donde un valor de `true` significaría que se ha cancelado la suscripción del contacto de todos los temas.

  `TopicPreferences` incluye información acerca del estado de suscripción del contacto a los temas. En el ejemplo anterior, el contacto ha optado por el tema "*Sports*" (Deportes) y recibirá todos los mensajes de correo electrónico para el tema "*Sports*" (Deportes).

  `AttributesData` es un campo JSON donde puede poner los metadatos acerca de nuestro contacto. Debe ser un objeto JSON válido.

### Importación en bloque de contactos a su lista de contactos
<a name="configuring-list-management-bulk-import"></a>

Puede agregar direcciones manualmente en bloque si carga primero los ‎contactos en un objeto de Amazon S3 seguido de la operación [https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_CreateImportJob.html](https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_CreateImportJob.html) en la API v2 de SES o mediante la consola de SES. Para obtener más información, consulte [Agregar direcciones de correo electrónico en bloque a la lista de supresión de nivel de cuenta](sending-email-suppression-list.md#sending-email-suppression-list-manual-add-bulk).

Debe crear una lista de contactos antes de importar los contactos.

**nota**  
Puedes añadir hasta 1 millón de contactos a una lista de contactos cada uno ImportJob.

Para agregar contactos en bloque a su lista de contactos, realice los pasos siguientes.
+ Cargue sus contactos en un objeto de Amazon S3 en formato CSV o JSON.

  **CSV format** (Formato CSV)

  La primera línea del archivo que se carga en Amazon S3 debe ser una línea de encabezado.

  El objeto `topicPreferences` se debe aplanar para el formato CSV. Cada tema en `topicPreferences` tendrá un campo de encabezado independiente.

  Ejemplo de formato CSV para agregar contactos en bloque a una lista de contactos:

  ```
  emailAddress,unsubscribeAll,attributesData,topicPreferences.Sports,topicPreferences.Cycling
  example1@amazon.com,false,{"Name": "John"},OPT_IN,OPT_OUT
  example2@amazon.com,true,,OPT_OUT,OPT_OUT
  ```

  **Formato JSON**

  Solo se admiten archivos JSON delimitados por saltos de línea. En este formato, cada línea es un objeto JSON completo que contiene la información de un contacto.

  Ejemplo de formato JSON para agregar contactos en bloque a una lista de contactos:

  ```
  {
       "emailAddress": "example1@amazon.com",
       "unsubscribeAll": false,
       "attributesData": "{\"Name\":\"John\"}",
       "topicPreferences": [
        {
            "topicName": "Sports",
            "subscriptionStatus": "OPT_IN"
        },
        {
            "topicName": "Cycling",
            "subscriptionStatus": "OPT_OUT"
        }
       ]
  }
  {
       "emailAddress": "example2@amazon.com",
       "unsubscribeAll": true,
       "topicPreferences": [
        {
            "topicName": "Sports",
            "subscriptionStatus": "OPT_OUT"
        },
        {
            "topicName": "Cycling",
            "subscriptionStatus": "OPT_OUT"
        }
       ]
  }
  ```

  En los ejemplos anteriores, sustituya {{example1@amazon.com}} y por {{example2@amazon.com}} las direcciones de correo electrónico que desee añadir a la lista de contactos. Reemplace los valores de `attributesData` por los valores específicos del contacto. Además, sustituya {{Sports}} y {{Cycling}} por la `topicName` que corresponda a su contacto. Los aceptables `topicPreferences` son {{OPT\_IN}} y{{OPT\_OUT}}.

  Los siguientes atributos se admiten al cargar sus contactos en un objeto de Amazon S3 en formato CSV o JSON:    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/ses/latest/dg/sending-email-list-management.html)
+ Conceda permiso a SES para leer el objeto de Amazon S3.

  Cuando se aplica a un bucket de Amazon S3, la siguiente política otorga permiso a SES para leer dicho bucket. Para obtener más información acerca de la asociación de políticas a buckets de Amazon S3, consulte [Uso de políticas de bucket y políticas de usuario](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-iam-policies.html) en la *Guía del usuario de Amazon Simple Storage Service*.
+ Conceda permiso a SES para usar su AWS KMS clave.

  Si el objeto de Amazon S3 está cifrado con una AWS KMS clave, debe conceder permiso a Amazon SES para usar la clave de KMS. SES solo puede obtener el permiso de una clave administrada por el cliente, no de una clave de KMS predeterminada. Debe otorgar permiso a SES para utilizar la clave administrada por el cliente. Para ello, agregue una instrucción a la política de la clave.

  Pegue la siguiente instrucción de política en la política de claves para permitir que SES utilice su clave administrada por el cliente.

  ```
  {
     "Sid": "AllowSESToDecrypt", 
     "Effect": "Allow",
     "Principal": {
         "Service":"ses.amazonaws.com"
     },
     "Action": [
         "kms:Decrypt", 
     ],
     "Resource": "*"
  }
  ```
+ Utilice la operación [https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_CreateImportJob.html](https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_CreateImportJob.html) en la API v2 de SES.

**nota**  
En el ejemplo siguiente se presupone que ya ha instalado AWS CLI. Para obtener más información sobre la instalación y configuración de AWS CLI, consulte la [Guía del AWS Command Line Interface usuario](https://docs.aws.amazon.com/cli/latest/userguide/).

En la línea de comandos, escriba el comando siguiente: {{s3bucket}}Sustitúyalo por el nombre del bucket de Amazon S3 y {{s3object}} por el nombre del objeto de Amazon S3.

```
aws sesv2 create-import-job --import-destination ContactListDestination={ContactListName=ExampleContactListName,ContactListImportAction=PUT} --import-data-source S3Url="s3://s3bucket/s3object",DataFormat=CSV
```

## Tutorial de administración de listas con ejemplos
<a name="configuring-list-management-list-contacts"></a>

El siguiente tutorial proporciona ejemplos de cómo puede utilizar la administración de listas para mostrar los contactos, utilizar `ListManagementOptions` para especificar una lista de contactos y un nombre de tema en el correo electrónico y cómo insertar enlaces de cancelación de suscripción.

1. **Listar los contactos mediante la** operación AWS CLI: puede utilizar la [https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_ListContacts.html](https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_ListContacts.html)operación para recuperar una lista de todos sus contactos que se han suscrito a un tema en particular, junto con la [https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_SendEmail.html](https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_SendEmail.html)operación, que le permite enviarles correos electrónicos.

   En la línea de comandos, introduzca el comando siguiente:

   ```
   aws sesv2 list-contacts --cli-input-json file://{{LIST-CONTACTS-JSON}}
   ```

   En el comando anterior, {{LIST-CONTACTS-JSON}} sustitúyalo por la ruta al archivo JSON de la [https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_ListContacts.html](https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_ListContacts.html)solicitud.

   Un archivo JSON de entrada `ListContacts` de ejemplo para la solicitud es como el siguiente:

   ```
   {
       "ContactListName": "ExampleContactListName",
       "Filter": {
           "FilteredStatus": "OPT_IN",
           "TopicFilter": {
               "TopicName": "Cycling",
               "UseDefaultIfPreferenceUnavailable": true
           }
       },
       "PageSize": 50
   }
   ```

   `FilteredStatus` muestra el estado de suscripción por el que desea filtrar, que es `OPT_IN` o `OPT_OUT`.

   `TopicFilter` es un filtro opcional que especifica el tema del que desea obtener resultados, que en el ejemplo anterior es "*Cycling*" (Ciclismo).

   `UseDefaultIfPreferenceUnavailable` puede tener un valor de `true` o `false`. Si es `true`, se usará la preferencia de tema predeterminada si el contacto no tiene ninguna preferencia explícita para un tema. Si es `false`, solo se tienen en cuenta los contactos con una preferencia establecida explícita para el filtrado.

1. **Enviar correo con `ListManagementOptions` habilitado**: después de mostrar los contactos en la lista utilizando la operación [https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_ListContacts.html](https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_ListContacts.html) anterior, puede utilizar la operación [https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_SendEmail.html](https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_SendEmail.html) para enviar correos electrónicos a cada uno de los contactos mediante el encabezado [https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_ListManagementOptions.html](https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_ListManagementOptions.html) para especificar la lista de contactos y el nombre del tema.

   Para utilizar `ListManagementOptions` con la operación `SendEmail`, incluya [https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_ListManagementOptions.html](https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_ListManagementOptions.html) y [https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_ListManagementOptions.html](https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_ListManagementOptions.html) al que pertenece el correo electrónico (`topicName` es opcional):

   ```
   ListManagementOptions:
       String contactListName
       String topicName
   ```

   Si incluye `ListManagementOptions` en la solicitud `SendEmail` a una dirección de correo electrónico de destinatario que no está en la lista de contactos, se creará un contacto en la lista automáticamente. 

   SES emitirá un evento de rebote para un mensaje que se envía a un contacto cuya suscripción se ha cancelado en la lista de contactos, lo que significa que no tendrá que actualizar las solicitudes `SendEmail` para evitar el envío a contactos cuya suscripción se ha cancelado.

1. **Indicar la ubicación de los enlaces de cancelación de suscripción**: al utilizar [https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_ListManagementOptions.html](https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_ListManagementOptions.html) tiene la opción de permitir que SES agregue enlaces de pie de página de cancelación de suscripción en el correo electrónico mediante el marcador de posición `{{amazonSESUnsubscribeUrl}}` para especificar dónde debe insertar SES la URL de cancelación de suscripción. Solo se admite el reemplazo de marcadores de posición para los tipos de contenido HTML y TEXT. Puede incluir el marcador de posición dos veces como máximo. Si se utiliza más de dos veces, solo se reemplazan las dos primeras coincidencias. Para obtener más información, consulte [Uso de la administración de suscripciones](sending-email-subscription-management.md).

   Otra opción, si utiliza la interfaz de SMTP para enviar un correo electrónico, puede usar el encabezado `X-SES-LIST-MANAGEMENT-OPTIONS` para especificar una lista y un nombre de tema.

   Para especificar una lista y un nombre de tema durante el envío de correo electrónico mediante la interfaz SMTP, agregue el siguiente encabezado de correo electrónico al mensaje:

   `X-SES-LIST-MANAGEMENT-OPTIONS: {contactListName}; topic={topicName}`