

# Conexión a Snapchat Ads en AWS Glue Studio
<a name="connecting-to-data-snapchat-ads"></a>

 Snapchat es una aplicación y un servicio multimedia de mensajería instantánea desarrollado por Snap Inc., originalmente Snapchat Inc. Una de las principales características de Snapchat es que las imágenes y los mensajes suelen estar disponibles solo durante un breve periodo de tiempo antes de que sus destinatarios no puedan acceder a ellos. El marketing de Snapchat consiste en publicaciones por las que las empresas pueden pagar para ofrecerlas a los usuarios de Snapchat. 

**Topics**
+ [Compatibilidad de AWS Glue con anuncios de Snapchat](snapchat-ads-support.md)
+ [Políticas que contienen las operaciones de la API para crear y usar conexiones](snapchat-ads-configuring-iam-permissions.md)
+ [Configuración de Snapchat Ads](snapchat-ads-configuring.md)
+ [Configuración de conexiones de Snapchat Ads](snapchat-ads-configuring-connections.md)
+ [Lectura desde entidades de Snapchat Ads](snapchat-ads-reading-from-entities.md)
+ [Opciones de conexión de Snapchat Ads](snapchat-ads-connection-options.md)
+ [Creación de una cuenta de Snapchat Ads y configuración de la aplicación cliente](connecting-to-data-snapchat-ads-new-account.md)
+ [Creación de una aplicación en la cuenta de Snapchat Ads](connecting-to-data-snapchat-ads-managed-client-application.md)

# Compatibilidad de AWS Glue con anuncios de Snapchat
<a name="snapchat-ads-support"></a>

AWS Glue es compatible con Snapchat Ads de la siguiente manera:

**¿Es compatible como origen?**  
Sí. Puede usar los trabajos de AWS Glue ETL para consultar datos de Snapchat Ads.

**¿Es compatible como destino?**  
No.

**Versiones de la API de Snapchat Ads compatibles**  
 v1. 

# Políticas que contienen las operaciones de la API para crear y usar conexiones
<a name="snapchat-ads-configuring-iam-permissions"></a>

 En el siguiente ejemplo de política se describen los permisos de AWS necesarios para crear y utilizar conexiones. Si va a crear un nuevo rol, cree una política que contenga lo siguiente: 

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "glue:ListConnectionTypes",
        "glue:DescribeConnectionType",
        "glue:RefreshOAuth2Tokens",
        "glue:ListEntities",
        "glue:DescribeEntity"
      ],
      "Resource": "*"
    }
  ]
}
```

------

También puede usar las siguientes políticas de IAM administradas para permitir el acceso:
+  [AWSGlueServiceRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole): concede acceso a los recursos que necesitan diversos procesos de AWS Glue para ejecutarse en su nombre. Entre estos recursos se incluyen AWS Glue, Amazon S3, IAM, Amazon CloudWatch Logs y Amazon EC2. Si aplica la convención de nomenclatura en los recursos especificados en esta política, los procesos de AWS Glue tienen los permisos necesarios. Normalmente, esta política se asocia a los roles que se especifican a la hora de definir rastreadores, trabajos y puntos de conexión de desarrollo. 
+  [AWSGlueConsoleFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSGlueConsoleFullAccess): concede acceso total a los recursos de AWS Glue cuando una identidad a la que está asociada la política utiliza la consola de administración de AWS. Si sigue la convención de nomenclatura para los recursos especificados en esta política, los usuarios dispondrán de todas las funciones de la consola. Esta política se suele adjuntar a los usuarios de la consola AWS Glue. 

# Configuración de Snapchat Ads
<a name="snapchat-ads-configuring"></a>

Antes de poder utilizar AWS Glue para transferir datos desde Snapchat Ads, debe cumplir estos requisitos:

## Requisitos mínimos
<a name="snapchat-ads-configuring-min-requirements"></a>
+  Tener una cuenta de Snapchat Ads. Para obtener más información sobre cómo crear una cuenta, consulte [Creación de una cuenta de Snapchat Ads y configuración de la aplicación cliente](connecting-to-data-snapchat-ads-new-account.md). 
+  Haber creado una aplicación OAuth 2 en su cuenta de Snapchat Ads. Esta integración proporciona las credenciales que AWS Glue utiliza para acceder a sus datos de forma segura cuando hace llamadas autenticadas a su cuenta. Para obtener más información, consulte [Creación de una aplicación en la cuenta de Snapchat Ads](connecting-to-data-snapchat-ads-managed-client-application.md). 

 Si cumple estos requisitos, lo tendrá todo listo para conectar AWS Glue a su cuenta de Snapchat Ads. En Snapchat Ads, una aplicación conectada es un marco que autoriza a aplicaciones externas, como AWS Glue, a acceder a sus datos de Snapchat Ads. 

# Configuración de conexiones de Snapchat Ads
<a name="snapchat-ads-configuring-connections"></a>

 Snapchat Ads solo admite el tipo de concesión `AUTHORIZATION_CODE`. 

 Este tipo de concesión se considera un OAuth “de tres vías”, ya que se basa en redirigir a los usuarios al servidor de autorización externo para autenticar al usuario. Se utiliza para crear conexiones a través de la consola de AWS Glue. El usuario que crea una conexión puede utilizar de forma predeterminada una aplicación conectada de AWS Glue (aplicación cliente administrada por AWS Glue), en la que no necesita proporcionar ninguna información relacionada con OAuth, excepto la URL de su instancia de Snapchat Ads. La consola de AWS Glue redirigirá al usuario a Snapchat Ads, donde deberá iniciar sesión y permitir a AWS Glue que los permisos solicitados accedan a su instancia de Snapchat Ads. 

 Los usuarios aún pueden optar por crear su propia aplicación conectada en Snapchat Ads y proporcionar su propio ID y secreto de cliente al crear conexiones a través de la consola de AWS Glue. En este caso, aún se abrirá Snapchat Ads para iniciar sesión y autorizar a AWS Glue para que acceda a sus recursos. 

 Este tipo de concesión da como resultado un token de actualización y un token de acceso. El token de acceso caduca una hora después de su creación. Se puede obtener un nuevo token de acceso mediante el token de actualización. 

 Para obtener más información sobre cómo crear una aplicación conectada para el flujo de OAuth con código de autorización, consulte [Ads API](https://marketingapi.snapchat.com/docs/#authentication). 

Configuración de una conexión con Snapchat Ads:

1.  En AWS Secrets Manager, cree un secreto con los siguientes detalles. Es necesario crear un secreto para cada conexión en AWS Glue. 

   1.  En el caso de una aplicación conectada administrada por el cliente, el secreto debe contener el secreto del consumidor de la aplicación conectada con la clave `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET`. 

1. En AWS Glue Glue Studio, cree una conexión en **Conexiones de datos** según los pasos que se indican a continuación: 

   1. Al seleccionar un **Tipo de conexión**, seleccione Snapchat Ads.

   1. Proporcione el entorno de Snapchat Ads.

   1.  Seleccione el rol de IAM que AWS Glue pueda asumir y que tenga permisos para las siguientes acciones: 

------
#### [ JSON ]

****  

      ```
      {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Action": [
              "secretsmanager:DescribeSecret",
              "secretsmanager:GetSecretValue",
              "secretsmanager:PutSecretValue",
              "ec2:CreateNetworkInterface",
              "ec2:DescribeNetworkInterfaces",
              "ec2:DeleteNetworkInterface"
            ],
            "Resource": "*"
          }
        ]
      }
      ```

------

   1.  Seleccione el `secretName` que desee usar para esta conexión en AWS Glue para colocar los tokens. 

   1.  Seleccione las opciones de red si quiere usar su red. 

1.  Conceda el rol de IAM asociado a su permiso de trabajo de AWS Glue para leer `secretName`. 

# Lectura desde entidades de Snapchat Ads
<a name="snapchat-ads-reading-from-entities"></a>

 **Requisitos previos** 
+  Un objeto de Snapchat Ads desde el que desea leer. Consulte la tabla de entidades compatibles que aparece a continuación para comprobar las entidades disponibles. 

 **Entidades compatibles** 


| Entidad | Se puede filtrar | Admite límite | Admite Ordenar por | Admite Seleccionar \$1 | Admite Partición | 
| --- | --- | --- | --- | --- | --- | 
| Organización | No | No | No | Sí | No | 
| Cuenta de anuncios | No | No | No | Sí | No | 
| Creatividad | No | No | No | Sí | No | 
| Multimedia | No | No | No | Sí | No | 
| Campaña | Sí | No | No | Sí | No | 
| Anuncio en cuenta de anuncios | Sí | No | No | Sí | No | 
| Anuncio en campaña | No | No | No | Sí | No | 
| Equipo de anuncios | Sí | No | No | Sí | No | 
| Segmento | No | No | No | Sí | No | 

 **Ejemplo** 

```
snapchatads_read = glueContext.create_dynamic_frame.from_options(
    connection_type="snapchatAds",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "organization",
        "API_VERSION": "v1"
    }
)
```

 **Detalles de la entidad y el campo de Snapchat Ads** 

 Snapchat Ads carga dinámicamente los campos disponibles en la entidad seleccionada. Según el tipo de datos de los campos, se admiten los operadores de filtro siguientes. 


| Tipo de datos de los campos | Operadores de filtro admitidos | 
| --- | --- | 
| Booleano | = | 

 **Consultas de partición** 
+  Partición basada en campos: no se admite. 
+  Partición basada en registros: no se admite. 

# Opciones de conexión de Snapchat Ads
<a name="snapchat-ads-connection-options"></a>

Las siguientes son opciones de conexión para Snapchat Ads:
+  `ENTITY_NAME`(cadena): (obligatorio) se usa para lectura. El nombre de la entidad de Snapchat Ads. Ejemplo: ` campaign `. 
+  `API_VERSION`(cadena): (obligatorio) se usa para lectura. API de REST de Snapchat Ads que desea utilizar. El valor será v1, ya que Snapchat Ads actualmente solo admite la versión 1. 
+  `SELECTED_FIELDS`(lista<Cadena>): predeterminado: empty(SELECT \$1). Se usa para leer. Lista de columnas separadas por comas que quiere seleccionar para la entidad seleccionada. 
+  `FILTER_PREDICATE`(cadena): predeterminado: vacío. Se usa para leer. Debe estar en el formato de Spark SQL. 
+  `QUERY`(cadena): predeterminado: vacío. Se usa para leer. Consulta completa de Spark SQL. 

# Creación de una cuenta de Snapchat Ads y configuración de la aplicación cliente
<a name="connecting-to-data-snapchat-ads-new-account"></a>

**Topics**
+ [Suscripción a Snapchat Ads](#snapchat-ads-sign-up)
+ [Pasos para crear una cuenta de Snapchat Ads](#snapchat-ads-create-ad-account)

## Suscripción a Snapchat Ads
<a name="snapchat-ads-sign-up"></a>

**Suscripción a Snapchat Ads:**

1.  Vaya a [Ads Manager de Snapchat](https://ads.snapchat.com/). Seleccione **Registrarse** junto a **¿Nuevo en Snapchat?**. 

1.  En la pantalla **Crear cuenta**, siga las instrucciones para ingresar el nombre de su empresa, correo electrónico, contraseña, etc. Elija **Siguiente**. 

1.  En la pantalla **Crear perfil**, ingrese los valores para Nombre de usuario y Sitio web (opcional) y seleccione **Crear cuenta**. Esto le dará la opción de agregar una foto de perfil y una biografía en la pantalla **Editar perfil**. Elija **Confirmar**. 

1.  En la pantalla **Información empresarial**, rellene los campos obligatorios, como País, Moneda, Número de teléfono, GSTIN, etc., y seleccione **Siguiente** para completar el proceso de creación de la cuenta. 

## Pasos para crear una cuenta de Snapchat Ads
<a name="snapchat-ads-create-ad-account"></a>

**Creación de una cuenta de Snapchat Ads:**

1.  Inicie sesión en **Ads Manager**. A continuación, haga clic en la barra de navegación de la esquina superior y seleccione **Cuentas de anuncios**. 

1.  Seleccione **\$1 Nueva cuenta de anuncios**. Ingrese los detalles de su anunciante: 
   +  Seleccione si es una agencia que compra anuncios en nombre de un anunciante o no. Si selecciona “Sí”, es posible que se rechace su anuncio si usa parámetros de segmentación como la segmentación por edad, sexo o código postal. La segmentación por edad mínima se puede aplicar a personas de hasta 21 años. 
   +  Seleccione si en su cuenta de anuncios se publicarán anuncios de vivienda, crédito o empleo. Si selecciona “Sí”, es posible que se rechace su anuncio si usa parámetros de segmentación como la segmentación por edad, sexo o código postal. La segmentación por edad mínima se puede aplicar a personas de hasta 21 años. 
   +  Seleccione si va a utilizar la cuenta de anuncios para anuncios políticos. Si publica un anuncio político, ingrese la organización política o el grupo de defensa patrocinador que paga el anuncio. Si no escribe correctamente la organización política, es posible que se rechacen sus anuncios. También tendrá que rellenar el “formulario de revisión de anuncios políticos”, enlazado obligatoriamente, antes de enviar anuncios. 

1.  Seleccione **Detalles de la cuenta** y rellene la información de su cuenta publicitaria:     
<a name="snapchat-ads-account-details"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/glue/latest/dg/connecting-to-data-snapchat-ads-new-account.html)

1.  Elija **Crear cuenta**. Se creará su cuenta de anuncios y podrá encontrarla en la sección Cuentas de anuncios de Ads Manager. Para empezar a publicar anuncios, tendrá que ingresar un método de pago. También puede agregar miembros a su cuenta de anuncios. 

1.  Seleccione si desea utilizar un método de pago existente o crear uno nuevo. A continuación, seleccione **Guardar método de pago**. 

1.  Seleccione cualquier [miembro que haya invitado](https://businesshelp.snapchat.com/s/article/manage-members?language=en_US) a su empresa para agregarlo a la cuenta de anuncios. Para obtener más información sobre los roles y los permisos que se pueden asignar, consulte [ Roles and Permissions Overview](https://businesshelp.snapchat.com/s/article/roles-permissions?language=en_US). Los miembros que se agreguen podrán iniciar sesión en Ads Manager y acceder a esta cuenta de anuncios. Cuando haya terminado, guarde sus miembros. 

 Para obtener más información sobre las cuentas de anuncios, consulte [https://businesshelp.snapchat.com/s/article/roles-permissions?language=en_US](https://businesshelp.snapchat.com/s/article/roles-permissions?language=en_US)https://businesshelp.snapchat.com/s/article/roles-permissions?language=en\$1US 

# Creación de una aplicación en la cuenta de Snapchat Ads
<a name="connecting-to-data-snapchat-ads-managed-client-application"></a>

 Para activar el acceso a la API de marketing de Snapchat, asegúrese de tener configurada una cuenta empresarial. A continuación, siga los pasos que se indican a continuación: 

1.  Inicie sesión en Ads Manager. A continuación, seleccione el menú de la esquina superior izquierda, seleccione **Panel de control empresarial** y, a continuación, **Detalles del negocio**. 

1.  Elija **\$1 Aplicación OAuth**. 

1.  Ingrese el nombre de su aplicación y agregue la siguiente URL como URI de Snap Redirect: `https://<aws-region>.console.aws.amazon.com/gluestudio/oauth`. Por ejemplo, si utiliza la región us-west-1, la URL sería `https://us-west-1.console.aws.amazon.com/gluestudio/oauth) and choose Create OAuth App`. Elija **Crear aplicación OAuth**. 

1.  Aparecerán las credenciales de su aplicación (ID de cliente y secreto de cliente). Guárdelos, ya que se necesitan para crear una conexión. 