Audiencias personalizadas
Descripción general
- GET accounts/:account_id/custom_audiences
- GET accounts/:account_id/custom_audiences/:custom_audience_id




- El user ID que se está enviando es correcto y no está malformado.
- Los nombres de audiencia que se están enviando son correctos y coinciden con actualizaciones de membresía anteriores.
- Confirma la respuesta de los comandos POST.
- Confirma que el píxel de ID Sync está implementado correctamente y que, según lo descrito por el proceso de ID Sync, suficientes usuarios han visitado el sitio en cuestión para mapear usuarios. Los usuarios no mapeados en las actualizaciones de membresía no se traducirán en usuarios segmentables.
- El tamaño mínimo para una audiencia es de 100 usuarios (después de la coincidencia). Si se hace match con una audiencia de menos de 500 usuarios, no estará disponible para segmentación en la UI de X Ads.
- Normalmente toma entre 4 y 6 horas procesar los archivos de la audiencia, pero eso dependerá del tamaño del archivo. Una vez procesado, las audiencias están disponibles en la UI de X Ads.
- Tasa de coincidencia = usuarios activos en X en 90 días / número de usuarios proporcionados
- Puedes proporcionar un archivo de audiencia de prueba y usar “keltonlynn” como handle del anunciante. Entonces podremos verificar que el archivo pueda ingerirse y cargarse correctamente en la UI de X.
p_user_id)?
- Es el identificador que tu empresa utiliza para identificar de manera única a cada uno de tus clientes.
- Puede ser una dirección de correo electrónico, un device ID, un X @handle o un ID.
- Se proporcionará por correo electrónico cifrado. Proporciona tu clave pública PGP a mpp-inquiry@x.com y te enviaremos un correo electrónico de prueba para verificar que todo funcione. Una vez verificado, te enviaremos la HMAC Key.
- X proporcionará un archivo de prueba (que contiene direcciones de correo electrónico de muestra, device IDs, etc.) y un archivo de hash resultante con el cual podrás verificar tus resultados.
- No, no hay limitación de tamaño para el archivo de full data match.
- Una vez que X reciba el archivo, tomará aproximadamente 1 día procesarlo.
CRM

Requisitos de coincidencia de ID de socios
p_user_id) a X IDs (tw_id). Esto se hará de forma periódica cada 2–3 meses para garantizar el mantenimiento adecuado. Una vez completada la coincidencia, X compartirá con la Empresa, por correo electrónico, una tasa de coincidencia de referencia a partir de este archivo.
El formato de este archivo debe ser:
Convención de nombres: FullDataMatch.[CompanyName].txt
Algoritmo de hash: HMAC_SHA-256
Formato:
Columna 1: valor con HMAC de los identificadores comunes
Columna 2: Partner User ID (único por usuario, no único en el archivo)
Delimitador de columnas (CSV): se usarán comas para delimitar el identificador de usuario común con hash del Partner ID
Valores separados por líneas
- Ej.: si el registro de usuario A tiene Partner User ID 1 y los identificadores comunes 1, 2 y 3:
| common user identifier 1 | p_user_1 |
| common user identifier 2 | p_user_1 |
| common user identifier 3 | p_user_1 |
p_user_id para crear audiencias personalizadas para clientes con el fin de realizar segmentación en X.
- Valores separados por líneas
p_user_id-
- (Igual que lo proporcionado en la sección 1. Coincidencia completa de datos anterior. Si el valor proporcionado en la coincidencia completa de datos está con hash, la Empresa proporcionará el mismo valor con hash en el archivo de audiencia. Si el valor proporcionado no está con hash, la Empresa proporcionará el valor sin hash.)
Requisitos estándar de coincidencia
- Valores separados por líneas
- Identificador de usuario común con hash (p. ej., dirección de correo electrónico)
- Seguir las convenciones de nomenclatura de archivos indicadas a continuación
- Seguir las instrucciones de hashing para direcciones de correo electrónico a continuación (en Instrucciones de hashing)
Convenciones de nombres y operaciones de archivos de listas de segmentos personalizados
- audiencename: El nombre de la Custom Audience. Este campo es el nombre que se mostrará al seleccionar la audiencia en la interfaz de configuración de campañas en ads.x.com, p. ej., brand_loyalty_card_holders.
- partnername: Nombre de la empresa que entrega los datos en nombre del anunciante, p. ej., company_name.
- handle: Cuenta de X (@handle) que tendrá acceso a las Custom Audiences, p. ej., @pepsi, @dietpepsi
- operation: new, add, remove, removeall, replace (detalles a continuación)
- : Marca de tiempo Unix epoch estándar en segundos, utilizada para garantizar que cada archivo de audiencia cargado sea único
- filetype: el archivo debe estar en formato *.txt
Creación y actualización de audiencias
- Puede usarse para una lista integral de usuarios que se han dado de baja del Anunciante.
- X solo tendrá en cuenta la lista más reciente proporcionada en este archivo y la aplicará a todas las audiencias existentes y futuras donde haya coincidencias.
Instrucciones de hashing
Normalización de e‑mail
@It92I6Ev2B.Com
Después de la normalización: testemail_organisational_baseball+884@it92i6ev2b.com
Valor con hash: 74d9584eded0ad1e5572a1c1849f3716751d371d6117a6155dad5363f4b4fbec
Nota: La cantidad de caracteres tanto del HMAC codificado como de la clave puede variar según la entrada y la codificación; por lo tanto, el número exacto de caracteres puede diferir.
Normalización de ID de dispositivo
Normalización del ID de usuario de X
- ID de usuario: 27674040
- @username: testusername
Integración de sincronización de ID
p_id deben completar un proceso de sincronización de ID para generar un mapeo entre los id de usuario del anunciante o partner y los id de usuario de X. Esto permite a los anunciantes orientar directamente a sus propios segmentos de usuarios en X. Los partners también deben establecer el valor del parámetro user_identifier_type en TALIST_PARTNER_USER_ID o TAWEB_PARTNER_USER_ID al enviar sus actualizaciones de membresía.
- Solo web: Esto se puede hacer colocando un píxel en el sitio del anunciante, como se describe a continuación.
- Lista: Esto se puede hacer utilizando cualquiera de los métodos descritos en la página de CRM.
URL del píxel
| URL base |
| https://analytics.x.com/i/adsct |
Parámetros del píxel
| Parámetro | Descripción |
p_id | Tu id de socio asignado por X |
p_user_id | El id del usuario en el sistema del socio |
Píxel de sincronización de ID:
p_user_id de ejemplo abc, el píxel resultante sería el siguiente:
| Número de columna | Nombre de la columna | Tipo de columna | Descripción |
| 1 | Partner ID | string | El “partner id” es el ID que X proporciona al partner para identificar de forma única a cada partner. |
| 2 | The user’s id in the partner system | string | El p_user_id es el ID único que utiliza el partner para identificar al usuario. El archivo que contiene estos usuarios excluidos debe cargarse mediante el endpoint TON upload y la ruta de los datos cargados debe enviarse al endpoint Global Opt Out aquí: PUT accounts/:account_id/custom_audiences/global_opt_out. |
p_id deben establecer user_identifier_type en TALIST_PARTNER_USER_ID o TAWEB_PARTNER_USER_ID.
Todos los demás pasos seguirán siendo los mismos que los enumerados en la Guía de integración de la Audience API en tiempo real
Datos de usuario de Custom Audiences
- IDFA: en minúsculas con guiones; p. ej.:
4b61639e-47cc-4056-a16a-c8217e029462 - AdID: se requiere el formato original del dispositivo; no en mayúsculas y con guiones; p. ej.:
2f5f5391-3e45-4d02-b645-4575a08f86e - Android ID: se requiere el formato original del dispositivo; no en mayúsculas, sin guiones ni espacios; p. ej.:
af3802a465767e36
- en minúsculas; elimina los espacios al inicio y al final; p. ej.:
support@x.com
- sin @; en minúsculas y sin espacios iniciales ni finales; p. ej.:
jack
- Entero estándar; p. ej.:
143567
SHA256, sin salt. Además, el hash final debe estar en minúsculas. Por ejemplo, 49e0be2aeccfb51a8dee4c945c8a70a9ac500cf6f5cb08112575f74db9b1470d y no 49E0BE2AECCFB51A8DEE4C945C8A70A9AC500CF6F5CB08112575F74DB9B1470D
Audiencias personalizadas: Web

p_user_ids) para segmentar en nombre de un anunciante. Esto se realiza mediante un proceso de sincronización de IDs que crea una correspondencia entre los p_user_ids y el ID de usuario de X. Luego, esta correspondencia se utiliza para generar listas de IDs de usuario de X que pueden emplearse para la segmentación. Estas audiencias personalizadas estarán disponibles en el @handle específico del anunciante, indicado por la etiqueta en la configuración de campaña de Custom Audiences Web en ads.x.com.
X proporcionará el píxel seguro que puede añadirse a las etiquetas y sitios del socio para hacer coincidir los IDs (p_user_ids) con los IDs de usuario de X. Una vez completado el proceso de sincronización de IDs, los archivos de segmentación serán creados por el socio y estarán disponibles para X a través de un endpoint HTTPS. X incorporará estos archivos de segmentación de forma periódica y luego estarán disponibles en la interfaz de X.
Píxel seguro de X
El píxel seguro de X tendrá el siguiente aspecto:
https://analytics.x.com/i/adsct?p_user_id=xyz&p_id=123
p_user_id - xyz representa el ID de usuario del socio que proporciona el socio
p_id - 123 representa el ID único del socio (proporcionado por X)
Endpoint HTTPS del socio y archivo de usuarios para segmentación
El socio deberá proporcionar a X un endpoint HTTPS y credenciales (usuario/contraseña) que puedan utilizarse para incorporar el archivo de segmentación de forma periódica. Un endpoint HTTPS de ejemplo tendrá el siguiente aspecto:
- Archivo de usuarios de segmentación del Partner
- Archivo de conversiones de segmentación
- 199.16.156.0/22
- 199.59.148.0/22
| Número de columna | Nombre de columna | Tipo de columna | Descripción |
|---|---|---|---|
| 1 | partner id | string | El “partner id” es el ID que X proporciona al Partner para identificar de forma única a cada Partner. |
| 2 | advertiser id | string | El “advertiser id” es el @handle del anunciante. |
| 3 | p_user_id | string | El “p_user_id” es el ID único que el Partner utiliza para identificar al usuario. |
| 3 | confidence score | integer | El “confidence score” es opcional. Recomendamos usar un rango de 0 a 100. Si el caso de uso es retargeting, entonces un confidence score de “100” corresponde a un usuario que ha sido directamente reimpactado. Cualquier puntuación de 0 a 99 correspondería al nivel de confianza del similar (look-alike). |
| 4 | segment label | string | El “segment label” es opcional. Los Partners pueden usar “segment label” para especificar categorías de producto, por ejemplo. Recomendamos usar este “segment label”, ya que es el nombre legible para humanos de las Custom Audiences en la interfaz de ads.x.com. |
Integración de la API de Audiencias
Descripción general
- Obsoleto TON Upload:
- GET accounts/:account_id/custom_audience_changes
- GET accounts/:account_id/custom_audience_changes/:custom_audience_change_id
- POST accounts/:account_id/custom_audience_changes
- PUT accounts/:account_id/custom_audiences/global_opt_out
- Obsoleto Real Time Audiences:
- POST custom_audience_memberships
- Custom Audience:
- El parámetro
list_typese eliminará de la solicitud y la respuesta en todos los endpoints de Custom Audience. Este parámetro se usaba anteriormente para identificar el tipo de identificador de usuario de la Audience (es decir, email, X User ID, etc.); sin embargo, ahora las Audiences pueden aceptar múltiples identificadores de usuario para la misma Audience, por lo que este valor deja de ser relevante.
- El parámetro
- General:
- La ventana de retroactividad de la Audience se ha actualizado para hacer coincidir a usuarios activos en los últimos 90 días (antes 30 días)
- El número mínimo de usuarios coincidentes requerido para que una audiencia sea segmentable se ha reducido a 100 usuarios (antes 500 usuarios)
Requisitos previos
- Acceso a Ads API
- Para acceder al endpoint de Audience, deberás ser añadido a una allowlist. Completa este formulario y acepta el nuevo X Ads Products and Services Agreement si la aceptación inicial fue anterior al 2018-08-01
| Paso en el proceso | Audience API | (Obsoleto) TON Upload |
|---|---|---|
| Crear una Audience inicial | Se puede crear mediante el endpoint POST custom_audience | Se puede crear mediante el endpoint POST custom_audience |
| Agregar un nuevo usuario | Usa operation_type Update con el endpoint de Audience | Usa operation ADD con el endpoint POST custom_audience_changes |
| Eliminar un usuario | Usa operation_type Delete con el endpoint de Audience | Usa operation REMOVE con el endpoint POST custom_audience_changes |
| Excluir usuarios (opt-out) | Usa operation_type Delete con el endpoint de Audience y los custom_audience_id correspondientes de los que el usuario forma parte | Usa el endpoint de Global opt-out |
- Número total de operaciones: 2500 operaciones
- Tamaño máximo del payload: 5,000,000 bytes
Crear una nueva Audiencia personalizada
id de la Audiencia personalizada correspondiente. Este paso es obligatorio si creas una Audiencia desde cero. Si vas a actualizar una Audiencia existente, pasa a la siguiente sección
Agregar usuarios a una audiencia
id de la Custom Audience y un ejemplo de payload como el siguiente:
POST https://ads-api.x.com/11/accounts/18ce54d4x5t/custom_audiences/1nmth/users
operation_type Update. La nueva interfaz de Audience permite enviar varias claves de usuario para un mismo usuario. Cada objeto en la matriz de objetos JSON corresponde a un único usuario. Con el payload del ejemplo anterior, la solicitud agregará dos usuarios a una Audience: uno con email y handle, y otro con email y twitter_id.
Quitar usuarios de una audiencia
operation_type debe establecerse en Delete y los usuarios se harán coincidir según cualquiera de las claves que estuvieran presentes al agregarlos a la audiencia. Por ejemplo, si un usuario se añadió a una audiencia usando email y twitter_id, ese mismo usuario se puede eliminar usando cualquiera de esas claves; es decir, email, twitter_id o ambas.
Además, es posible agregar y eliminar usuarios de una audiencia en la misma solicitud. El endpoint admite múltiples operation_type por solicitud.
Usuarios que han optado por no participar
Delete a cualquier usuario que haya optado por no participar en alguna Audiencia. Hay varias formas de hacerlo:
- Llevar un registro de qué usuarios pertenecen a qué Audiencias y eliminar a estos usuarios individualmente de cada Audiencia.
- Eliminar al usuario de todas las Audiencias asociadas a una cuenta de Ads.
- Recomendamos encarecidamente invocar este endpoint en lotes casi en tiempo real para evitar picos en las colas que tardan más en procesarse y, en general, generan carga innecesaria en nuestro sistema. Esto también garantiza que los usuarios estén disponibles antes para la segmentación de campañas.
- Una llamada de API correcta devolverá
success_countytotal_count, que corresponden al número de objetosuserrecibidos en la solicitud. - Este endpoint es de naturaleza atómica; es decir, o bien toda la solicitud se procesa con éxito o, si se produce algún error, la solicitud completa falla. En caso de una respuesta de error, se recomienda a los consumidores de la API corregir el error y volver a intentar la solicitud con todo el payload.
- En caso de error, se recomienda a los socios utilizar un enfoque de retroceso exponencial con reintentos. Por ejemplo: reintentar inmediatamente tras el primer error, reintentar 1 minuto después del segundo error y reintentar 5 minutos después del tercer error consecutivo, y así sucesivamente.
Referencia de API
Insights de palabras clave
end_time - start_time) de 7 días.
Ten en cuenta que los resultados están restringidos a una única ubicación geográfica (país).
Resource URL
https://ads-api.x.com/12/insights/keywords/search
Parameters
| Name | Description |
|---|---|
| granularity required | Especifica la granularidad de los datos devueltos para el intervalo de tiempo definido por start_time y end_time. Por ejemplo, cuando se establece en HOUR, se mostrará un punto de datos por cada hora entre start_time y end_time.Type: enum Possible values: DAY, HOUR |
| keywords required | Cadena de palabras clave separadas por comas para acotar la búsqueda. Todas las palabras clave se combinan con OR entre sí. Note: Se puede usar un máximo de 10 palabras clave (combinando keywords y negative_keywords).Type: string Example: developers |
| start_time required | Limita los datos recuperados a los recopilados en la ventana de tiempo entre start_time y end_time. Expresado en ISO 8601.Type: string Example: 2017-07-10T00:00:00Z |
| end_time optional | Limita los datos recuperados a los recopilados en la ventana de tiempo entre start_time y end_time. Expresado en ISO 8601.Note: De forma predeterminada, corresponde a la hora actual. Type: string Example: 2017-07-11T00:00:00Z |
| location optional | Un valor de segmentación que obtendrías del endpoint GET targeting_criteria/locations para acotar los resultados según la ubicación del usuario de la cuenta. Ten en cuenta que, por el momento, solo se admiten ubicaciones a nivel de país. Type: string Example: 0ce8b9a7b2742f7e |
| negative_keywords optional | Cadena de palabras clave separadas por comas para excluir. Todas las palabras clave negativas se combinan con OR entre sí. Note: Se puede usar un máximo de 10 palabras clave (combinando keywords y negative_keywords).Type: string Example: rain |
Permisos de Audiencias personalizadas
GET accounts/:account_id/tailored_audiences/:tailored_audience_id/permissions
Recupera los detalles de algunos o de todos los permisos asociados con la tailored audience especificada. Resource URLhttps://ads-api.x.com/5/accounts/:account_id/tailored_audiences/:tailored_audience_id/permissions
Parameters
| Name | Description |
|---|---|
| account_id required | El identificador de la cuenta utilizada. Aparece en la ruta del recurso y, por lo general, es un parámetro obligatorio para todas las solicitudes de la Advertiser API, excepto GET accounts. La cuenta especificada debe estar asociada al usuario autenticado. Type: string Example: 18ce54d4x5t |
| tailored_audience_id required | Una referencia a la tailored audience con la que operas en la solicitud. Type: string Example: 1nmth |
| count optional | Especifica la cantidad de registros que se intentará recuperar por cada solicitud. Type: int Default: 200 Min, Max: 1, 1000 |
| cursor optional | Especifica un cursor para obtener la siguiente página de resultados. Consulta Pagination para obtener más información. Type: string Example: 8x7v00oow |
| granted_account_ids optional | Limita la respuesta únicamente a las cuentas deseadas especificando una lista de identificadores separados por comas. Se pueden proporcionar hasta 200 IDs. Type: string Example: 18ce54aymz3 |
| sort_by optional | Ordena por un atributo compatible en orden ascendente o descendente. Consulta Sorting para obtener más información. Type: string Example: created_at-asc |
| tailored_audience_permission_ids optional | Limita la respuesta únicamente a los permisos de la tailored audience deseados especificando una lista de identificadores separados por comas. Se pueden proporcionar hasta 200 IDs. Type: string Example: ri |
| with_total_count optional | Incluye el atributo de respuesta total_count.Nota: Este parámetro y cursor son excluyentes.Nota: Las solicitudes que incluyan total_count tendrán límites de velocidad más bajos, actualmente establecidos en 200 por 15 minutos.Type: boolean Default: false Possible values: true, false |
GET https://ads-api.x.com/5/accounts/18ce54d4x5t/tailored_audiences/1nmth/permissions
Example Response
POST accounts/:account_id/tailored_audiences/:tailored_audience_id/permissions
Crea un nuevo objeto de permiso que permite compartir la audiencia especificada con una cuenta determinada. Nota: Para crear o modificar permisos de una tailored audience, la audiencia debe pertenecer a la cuenta que intenta modificar los permisos. Puedes verificar la propiedad de una tailored audience consultando el atributois_owner en la respuesta de la audiencia correspondiente.
Nota: Las audiencias solo pueden compartirse entre cuentas de anuncios del mismo negocio o si la cuenta de anuncios que posee la audiencia tiene la característica de cuenta SHARE_AUDIENCE_OUTSIDE_BUSINESS.
Resource URL
https://ads-api.x.com/5/accounts/:account_id/tailored_audiences/:tailored_audience_id/permissions
Parameters
| Name | Description |
|---|---|
| account_id required | Identificador de la cuenta utilizada. Aparece en la ruta del recurso y, por lo general, es un parámetro obligatorio para todas las solicitudes de la Advertiser API, excepto GET accounts. La cuenta especificada debe estar asociada al usuario autenticado. Type: string Example: 18ce54d4x5t |
| granted_account_id required | La cuenta a la que deseas otorgar permisos para la tailored audience. Type: string Example: 18ce54aymz3 |
| permission_level required | El tipo de acceso a la tailored audience que debe tener granted_account_id.Type: enum Possible values: READ_ONLY, READ_WRITE |
| tailored_audience_id required | Referencia a la tailored audience con la que estás operando en la solicitud. Type: string Example: 2906h |
POST https://ads-api.x.com/5/accounts/18ce54d4x5t/tailored_audiences/2906h/permissions?granted_account_id=18ce54aymz3&permission_level=READ_ONLY
Example Response
DELETE accounts/:account_id/tailored_audiences/:tailored_audience_id/permissions/:tailored_audience_permission_id
Revoca el permiso de uso compartido de la Tailored Audience especificada. Nota: Crear o modificar permisos para una Tailored Audience requiere que la audiencia sea propiedad de la cuenta que intenta modificar los permisos. Puedes verificar la titularidad de una Tailored Audience consultando el atributo de respuestais_owner en la respuesta de la audiencia correspondiente.
Una vez revocado, garantizamos que la cuenta a la que se le concedió acceso (granted_account_id) no podrá segmentar la audiencia en campañas futuras. Las campañas existentes seguirán ejecutándose con las audiencias compartidas; las campañas no se detienen y la audiencia no se elimina de la campaña. No es posible copiar esa campaña después de revocar el permiso de uso compartido de la audiencia.
Resource URL
https://ads-api.x.com/5/accounts/:account_id/tailored_audiences/:tailored_audience_id/permissions/:tailored_audience_permission_id
Parameters
| Nombre | Descripción |
|---|---|
| account_id required | El identificador de la cuenta utilizada. Aparece en la ruta del recurso y, por lo general, es un parámetro obligatorio para todas las solicitudes de la Advertiser API, excepto GET accounts. La cuenta especificada debe estar asociada con el usuario autenticado. Tipo: string Ejemplo: 18ce54d4x5t |
| tailored_audience_id required | Referencia a la Tailored Audience con la que operas en la solicitud. Tipo: string Ejemplo: 1nmth |
| tailored_audience_permission_id required | Referencia al permiso de la Tailored Audience con el que operas en la solicitud. Tipo: string Ejemplo: ri |
DELETE https://ads-api.x.com/5/accounts/18ce54d4x5t/tailored_audiences/1nmth/permissions/ri
Example Response
Audiencias segmentadas
GET accounts/:account_id/custom_audiences/:custom_audience_id/targeted
Obtiene una lista de partidas de línea y campañas (solo activas o todas) que segmentan uncustom_audience_id dado
| Name | Description |
|---|---|
| account_id required | Identificador de la cuenta utilizada. Aparece en la ruta del recurso y, por lo general, es un parámetro obligatorio para todas las solicitudes de la Advertiser API, excepto GET accounts. La cuenta especificada debe estar asociada al usuario autenticado. Tipo: string Ejemplo: 18ce54d4x5t |
| custom_audience_id required | Referencia a la audiencia personalizada con la que se opera en la solicitud. Tipo: string Ejemplo: 2906h |
| with_active optional | Cuando es false, incluye partidas de línea con estado servable=falseTipo: boolean Valor predeterminado: true Valores posibles: true, false |
| cursor optional | Especifica un cursor para obtener la página siguiente de resultados. Consulta Paginación para más información. Tipo: string Ejemplo: 8x7v00oow |
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/custom_audiences/2906h/targeted
Example Response
Usuarios de Audiences personalizadas
POST accounts/:account_id/custom_audiences/:custom_audience_id/users
Este endpoint permite a los partners agregar, actualizar y eliminar usuarios de uncustom_audience_id determinado. El endpoint también acepta múltiples tipos de identificadores por usuario.
Todos los datos proporcionados en el campo users de la solicitud, excepto partner_user_id, deben estar hasheados con SHA256 y normalizados.
Solicitudes por lotes
- El tamaño máximo actual del lote es de
2500para este endpoint. El tamaño del lote se determina por el número de operaciones (Update/Delete) por solicitud. Por ejemplo, más de 2500 objetos de operación ({"operation_type": "Update/Delete", [..] }) en una sola matriz generan un error. - El tamaño máximo del cuerpo de la solicitud POST que este endpoint puede aceptar es de
5,000,000bytes. - Los límites de tasa para este endpoint son 1500 por ventana de 1 minuto.
- Todos los parámetros se envían en el cuerpo de la solicitud y se requiere un
Content-Typedeapplication/json. - Las solicitudes por lotes fallan o se completan correctamente en conjunto como grupo y todas las respuestas de la API, tanto de error como de éxito, preservan el orden de los elementos de la solicitud inicial.
success_count y total_count. Estos valores siempre deben ser iguales y representan el número de registros de la solicitud que el backend ha procesado. Una situación en la que el número de registros enviados en el cuerpo de la solicitud no sea igual a success_count y total_count debe tratarse como una condición de error que requiere un reintento.
Errores por lotes
- Los errores a nivel de solicitud (p. ej., tamaño máximo de lote excedido) se muestran en la respuesta en el objeto
errors. - Los errores a nivel de elemento (p. ej., faltan parámetros obligatorios) se muestran en la respuesta en el objeto
operation_errors. - El índice del error en
operation_errorscorresponde al índice del elemento de entrada, con el mensaje de error correspondiente.
https://ads-api.x.com/12/accounts/:account_id/custom_audiences/:custom_audience_id/users
| Nombre | Descripción |
|---|---|
| operation_type obligatorio | El tipo de operación por grupo de users que se realiza.Tipo: enum Valores posibles: Update, Delete |
| params obligatorio | Objeto JSON que contiene el array users y las marcas de tiempo effective_at y expires_at.Tipo: JSON |
| users obligatorio | Array de objetos JSON que contiene todos los parámetros de un usuario individual. Tipo: JSON |
| effective_at opcional | La hora UTC a la que deben entrar en vigor las asociaciones de audiencia personalizada. Expresado en ISO 8601. De forma predeterminada, la fecha y hora actuales. Tipo: string Ejemplo: 2017-07-05T07:00:00Z |
| expires_at opcional | La hora UTC a la que deben expirar las asociaciones de audiencia personalizada. La hora especificada debe ser posterior al valor de effective_at. Expresado en ISO 8601. De forma predeterminada, 13 meses desde la marca de tiempo de la solicitud.Tipo: string Ejemplo: 2017-07-05T07:00:00Z |
users, cada elemento de este objeto se documenta a continuación:
| Nombre | Descripción |
|---|---|
| email opcional | Dirección(es) de correo electrónico del usuario. Tipo: Array[String] |
| device_id opcional | IDFA/AdID/Android ID Tipo: Array[String] |
| handle opcional | El/los @handle(s) del usuario Tipo: Array[String] |
| twitter_id opcional | El id de X perteneciente al usuario Tipo: Array[String] |
| phone_number opcional | Número(s) de teléfono del usuario Tipo: Array[String] |
| partner_user_id opcional | El id del usuario en el sistema de los socios. Tipo: Array[String] |
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/custom_audiences/1nmth/users
Permisos de Audiencia Personalizada
GET accounts/:account_id/custom_audiences/:custom_audience_id/permissions
Obtén los detalles de algunos o todos los permisos asociados con la audiencia personalizada especificada. URL del recursohttps://ads-api.x.com/12/accounts/:account_id/custom_audiences/:custom_audience_id/permissions
Parámetros
| Nombre | Descripción |
|---|---|
| account_id obligatorio | El identificador de la cuenta utilizada. Aparece en la ruta del recurso y, por lo general, es un parámetro obligatorio para todas las solicitudes de la Advertiser API, excepto GET accounts. La cuenta especificada debe estar asociada con el usuario autenticado. Tipo: string Ejemplo: 18ce54d4x5t |
| custom_audience_id obligatorio | Una referencia a la audiencia personalizada con la que operas en la solicitud. Tipo: string Ejemplo: 1nmth |
| count opcional | Especifica la cantidad de registros que se intentará recuperar por cada solicitud independiente. Tipo: int Predeterminado: 200 Mín., Máx.: 1, 1000 |
| cursor opcional | Especifica un cursor para obtener la página siguiente de resultados. Consulta Paginación para más información. Tipo: string Ejemplo: 8x7v00oow |
| granted_account_ids opcional | Limita la respuesta a las cuentas deseadas especificando una lista de identificadores separados por comas. Se pueden proporcionar hasta 200 IDs. Tipo: string Ejemplo: 18ce54aymz3 |
| sort_by opcional | Ordena por el atributo admitido en orden ascendente o descendente. Consulta Ordenación para más información. Tipo: string Ejemplo: created_at-asc |
| custom_audience_permission_ids opcional | Limita la respuesta a los permisos de audiencia personalizada deseados especificando una lista de identificadores separados por comas. Se pueden proporcionar hasta 200 IDs. Tipo: string Ejemplo: ri |
| with_total_count opcional | Incluye el atributo de respuesta total_count.Nota: Este parámetro y cursor son excluyentes.Nota: Las solicitudes que incluyen total_count tendrán límites de frecuencia más bajos, actualmente establecidos en 200 por 15 minutos.Tipo: boolean Predeterminado: false Valores posibles: true, false |
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/custom_audiences/1nmth/permissions
Respuesta de ejemplo
POST accounts/:account_id/custom_audiences/:custom_audience_id/permissions
Crea un nuevo objeto de permiso que permite compartir la audiencia especificada con una cuenta determinada. Nota: Para crear o modificar permisos de una audiencia personalizada, la audiencia debe pertenecer a la cuenta que intenta modificarlos. Puedes verificar la titularidad de una audiencia personalizada consultando el atributois_owner en la respuesta de la audiencia correspondiente.
Nota: Las audiencias solo se pueden compartir entre cuentas de anuncios del mismo negocio o si la cuenta de anuncios propietaria de la audiencia tiene la característica de cuenta SHARE_AUDIENCE_OUTSIDE_BUSINESS.
URL del recurso
https://ads-api.x.com/12/accounts/:account_id/custom_audiences/:custom_audience_id/permissions
Parámetros
| Nombre | Descripción |
|---|---|
| account_id obligatorio | El identificador de la cuenta utilizada. Aparece en la ruta del recurso y, por lo general, es un parámetro obligatorio para todas las solicitudes de la Advertiser API, excepto GET accounts. La cuenta especificada debe estar asociada con el usuario autenticado. Tipo: string Ejemplo: 18ce54d4x5t |
| granted_account_id obligatorio | La cuenta a la que deseas otorgar permisos sobre la audiencia personalizada. Tipo: string Ejemplo: 18ce54aymz3 |
| permission_level obligatorio | El tipo de acceso a la audiencia personalizada que debe tener granted_account_id.Tipo: enum Valores posibles: READ_ONLY, READ_WRITE |
| custom_audience_id obligatorio | Una referencia a la audiencia personalizada con la que estás operando en la solicitud. Tipo: string Ejemplo: 2906h |
DELETE accounts/:account_id/custom_audiences/:custom_audience_id/permissions/:custom_audience_permission_id
Revoca el permiso de uso compartido de la Custom Audience especificada. Nota: Crear o modificar permisos para una Custom Audience requiere que la audiencia pertenezca a la cuenta que intenta modificar los permisos. Puedes verificar la titularidad de una Custom Audience consultando el atributo de respuestais_owner en la respuesta de la audiencia correspondiente.
Una vez revocado, garantizamos que la cuenta autorizada (granted_account_id) no podrá segmentar la audiencia en campañas futuras. Las campañas existentes seguirán ejecutándose con las audiencias compartidas; las campañas no se detienen y la audiencia no se elimina de la campaña. No es posible copiar esa campaña después de que se haya revocado el permiso de uso compartido de la audiencia.
URL del recurso
https://ads-api.x.com/12/accounts/:account_id/custom_audiences/:custom_audience_id/permissions/:custom_audience_permission_id
Parámetros
| Nombre | Descripción |
|---|---|
| account_id obligatorio | El identificador de la cuenta utilizada. Aparece dentro de la ruta del recurso y, por lo general, es un parámetro obligatorio para todas las solicitudes de la Advertiser API, excepto GET accounts. La cuenta especificada debe estar asociada con el usuario autenticado. Tipo: string Ejemplo: 18ce54d4x5t |
| custom_audience_id obligatorio | Referencia a la Custom Audience con la que operas en la solicitud. Tipo: string Ejemplo: 1nmth |
| custom_audience_permission_id obligatorio | Referencia al permiso de la Custom Audience con el que operas en la solicitud. Tipo: string Ejemplo: ri |
DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/custom_audiences/1nmth/permissions/ri
Ejemplo de respuesta
Audiencias personalizadas
GET accounts/:account_id/custom_audiences
Obtiene los detalles de algunas o todas las Audiencias personalizadas asociadas a la cuenta actual. Resource URLhttps://ads-api.x.com/12/accounts/:account_id/custom_audiences
Parameters
| Name | Description |
|---|---|
| account_id required | El identificador de la cuenta utilizada. Aparece en la ruta del recurso y, por lo general, es un parámetro obligatorio para todas las solicitudes de la Advertiser API, excepto GET accounts. La cuenta especificada debe estar asociada con el usuario autenticado. Type: string Example: 18ce54d4x5t |
| count optional | Especifica la cantidad de registros que se intentará recuperar por cada solicitud. Type: int Default: 200 Min, Max: 1, 1000 |
| cursor optional | Especifica un cursor para obtener la siguiente página de resultados. Consulta Pagination para más información. Type: string Example: 8x7v00oow |
| permission_scope optional | Permite filtrar la respuesta a listas que son de tu propiedad o listas que se hayan compartido contigo. De forma predeterminada, si no especificas este parámetro, solo verás las audiencias que te pertenecen. Type: enum Default: OWNER Possible values: OWNER, SHARED |
| q optional | Consulta opcional para acotar el recurso por name.Note: Realiza coincidencia de prefijo sin distinguir mayúsculas de minúsculas. Type: string Min, Max length: 1, 255 |
| sort_by optional | Ordena por un atributo admitido en orden ascendente o descendente. Consulta Sorting para más información. Type: string Example: created_at-asc |
| custom_audience_ids optional | Limita la respuesta a las audiencias personalizadas deseadas especificando una lista de identificadores separados por comas. Se pueden proporcionar hasta 200 IDs. Type: string Example: 1nmth |
| with_deleted optional | Incluye resultados eliminados en la solicitud. Type: boolean Default: false Possible values: true, false |
| with_total_count optional | Incluye el atributo de respuesta total_count.Note: Este parámetro y cursor son excluyentes.Note: Las solicitudes que incluyan total_count tendrán límites de frecuencia más bajos, actualmente establecidos en 200 por cada 15 minutos.Type: boolean Default: false Possible values: true, false |
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/custom_audiences?custom_audience_ids=1nmth
Example Response
GET accounts/:account_id/custom_audiences/:custom_audience_id
Obtén audiencias personalizadas específicas asociadas a la cuenta actual. URL del recursohttps://ads-api.x.com/12/accounts/:account_id/custom_audiences/:custom_audience_id
Parámetros
| Nombre | Descripción |
|---|---|
| account_id obligatorio | Identificador de la cuenta utilizada. Aparece en la ruta del recurso y, por lo general, es un parámetro obligatorio para todas las solicitudes de la Advertiser API, excepto GET accounts. La cuenta especificada debe estar asociada al usuario autenticado. Tipo: string Ejemplo: 18ce54d4x5t |
| custom_audience_id obligatorio | Referencia a la audiencia personalizada con la que operas en la solicitud. Tipo: string Ejemplo: 2906h |
| with_deleted opcional | Incluye resultados eliminados en tu solicitud. Tipo: boolean Valor predeterminado: false Valores posibles: true, false |
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/custom_audiences/2906h
Respuesta de ejemplo
POST accounts/:account_id/custom_audiences
Crea una nueva audiencia personalizada de marcador de posición asociada a la cuenta actual. Resource URLhttps://ads-api.x.com/12/accounts/:account_id/custom_audiences
Parameters
| Name | Description |
|---|---|
| account_id required | El identificador de la cuenta utilizada. Aparece en la ruta del recurso y, por lo general, es un parámetro obligatorio para todas las solicitudes de la Advertiser API, excepto GET accounts. La cuenta especificada debe estar asociada con el usuario autenticado. Type: string Example: 18ce54d4x5t |
| name required | El nombre para mostrar de esta audiencia. Debe usarse un nombre único. De lo contrario, se producirá un error. Type: string Example: ads api users |
| description optional | Una descripción para esta audiencia. Type: string Example: Collection of all users of the Ads API |
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/custom_audiences?name=developers
Example Response
PUT accounts/:account_id/custom_audiences/:custom_audience_id
Actualiza la Custom Audience específica asociada a la cuenta actual. Resource URLhttps://ads-api.x.com/12/accounts/:account_id/custom_audiences/:custom_audience_id
Parameters
| Name | Description |
|---|---|
| account_id required | El identificador de la cuenta utilizada. Aparece en la ruta del recurso y, por lo general, es un parámetro obligatorio para todas las solicitudes de la Advertiser API, excepto GET accounts. La cuenta especificada debe estar asociada con el usuario autenticado. Type: string Example: 18ce54d4x5t |
| custom_audience_id required | Una referencia a la Custom Audience con la que se opera en la solicitud. Type: string Example: 2906h |
| name optional | El nombre para mostrar de esta audiencia. Debe usarse un valor de nombre único. De lo contrario, se producirá un error. Type: string Example: ads api users |
| description optional | Una descripción para esta audiencia. Type: string Example: Collection of all users of the Ads API |
PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/custom_audiences/2906h?name=developers_changed
Example Response
POST batch/accounts/:account_id/custom_audiences
Permite crear Audiencias personalizadas por lotes. Consulta la página Descripción general de Audiencias personalizadas para obtener información sobre audiencias. Nota: Este endpoint por lotes está actualmente en beta cerrada y disponible para anunciantes seleccionados. Durante este período beta, solo se pueden crear Audiencias flexibles basadas en audiencias personalizadas móviles. Solicitudes por lotes- El tamaño máximo actual del lote es de 10.
- Todos los parámetros se envían en el cuerpo de la solicitud y se requiere
Content-Type: application/json. - Las solicitudes por lotes fallan o se completan correctamente en conjunto como un grupo, y todas las respuestas de la API, tanto de error como de éxito, preservan el orden de los elementos de la solicitud inicial.
- Los errores a nivel de solicitud (p. ej., tamaño máximo del lote excedido) se muestran en la respuesta en el objeto
errors. - Los errores a nivel de elemento (p. ej., falta un parámetro obligatorio) se muestran en la respuesta en el objeto
operation_errors.
- Las Audiencias flexibles son inmutables una vez creadas.
- Las Audiencias personalizadas se proporcionan en una estructura en árbol con combinaciones de lógica booleana para crear Audiencias flexibles.
- Se puede usar un máximo de 10 nodos hoja de Audiencias personalizadas para crear una Audiencia flexible.
https://ads-api.x.com/12/batch/accounts/:account_id/custom_audiences
Parámetros
| Name | Description |
|---|---|
| account_id required | El identificador de la cuenta utilizada. Aparece en la ruta del recurso y, por lo general, es un parámetro obligatorio para todas las solicitudes de la Advertiser API, excepto GET accounts. La cuenta especificada debe estar asociada al usuario autenticado. Tipo: string Ejemplo: 18ce54d4x5t |
| audience_type required | El tipo de audiencia que se va a crear. Tipo: enum Valores posibles: FLEXIBLE, MOBILE_AUDIENCE |
| child_segments required | Una matriz que contiene objetos que definen el subconjunto de miembros de una Custom Audience que deseas segmentar. Cada objeto debe contener custom_audience_id, frequency, frequency_comparator, lookback_window, negate y, en algunos casos, child_segments adicionales.Tipo: array |
| name required | El nombre para mostrar de la audiencia. Debe usarse un nombre único. De lo contrario, se producirá un error. Tipo: string Ejemplo: my_flexible_audience_name |
| operation_type required | El tipo de operación por elemento que se está realizando. Tipo: enum Valores posibles: Create, Update, Delete |
| boolean_operator sometimes required | La relación lógica entre los segmentos secundarios en su objeto padre (contenedor). Es obligatorio si child_segments no está vacío para el objeto padre.Tipo: enum Valores posibles: AND, OR |
| lookback_window sometimes required | Un valor entero que especifica el intervalo de días dentro del cual el usuario realizó la acción específica y calificó para la custom audience indicada. Tipo: int Valores posibles: 1, 7, 14, 30 |
| segments sometimes required | Un objeto que contiene boolean_operator y child_segments, que definen el subconjunto de miembros de una Custom Audience que deseas segmentar.Tipo: object |
| custom_audience_id sometimes required | El id de la custom audience que se utilizará como segmento secundario. Tipo: string Ejemplo: tyfo |
| frequency optional | Un valor entero que especifica la frecuencia dentro de la ventana de retrospectiva en la que el usuario realizó la acción específica y calificó para la custom audience indicada. Tipo: int Valor predeterminado: 1 |
| frequency_comparator optional | El comparador de la frequency enviada en la solicitud.Nota: En los valores siguientes, GTE significa mayor o igual que, LT menor que, y así sucesivamente.Tipo: string Valores posibles: NUM_GTE, NUM_GT, NUM_EQ, NUM_LTE, NUM_LT Valor predeterminado: NUM_GTE |
| negate optional | Niega el segmento y, por lo tanto, se excluye en la combinación. Tipo: boolean Valor predeterminado: true Valores posibles: true, false |
POST https://ads-api.x.com/12/batch/accounts/18ce54d4x5t/custom_audiences
DELETE accounts/:account_id/custom_audiences/:custom_audience_id
Elimina la Custom Audience especificada que pertenece a la cuenta actual. URL del recursohttps://ads-api.x.com/12/accounts/:account_id/custom_audiences/:custom_audience_id
Parámetros
| Nombre | Descripción |
|---|---|
| account_id obligatorio | Identificador de la cuenta utilizada. Aparece en la ruta del recurso y, por lo general, es un parámetro obligatorio para todas las solicitudes de la Advertiser API, excepto GET accounts. La cuenta especificada debe estar asociada con el usuario autenticado. Tipo: string Ejemplo: 18ce54d4x5t |
| custom_audience_id obligatorio | Referencia a la custom audience con la que se opera en la solicitud. Tipo: string Ejemplo: 2906h |
DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/custom_audiences/2906h
Ejemplo de respuesta
Listas de No Contactar
GET accounts/:account_id/do_not_reach_lists
Obtén los detalles de una o de todas las listas Do Not Reach asociadas con la cuenta actual. Nota: Unaccount_id puede tener como máximo una lista Do Not Reach
URL del recurso
https://ads-api.x.com/12/accounts/:account_id/do_not_reach_lists
Parámetros
| Nombre | Descripción |
|---|---|
| account_id obligatorio | El identificador de la cuenta utilizada. Aparece en la ruta del recurso y, por lo general, es un parámetro obligatorio para todas las solicitudes de la Advertiser API, excepto GET accounts. La cuenta especificada debe estar asociada con el usuario autenticado. Tipo: string Ejemplo: 18ce54d4x5t |
| with_deleted opcional | Incluir resultados eliminados en tu solicitud. Tipo: boolean Predeterminado: false Valores posibles: true, false |
GET https://ads-api.x.com/12/accounts/18ce54bgxky/do_not_reach_lists
Ejemplo de respuesta
POST accounts/:account_id/do_not_reach_lists
Crea una nueva Do Not Reach List asociada a la cuenta actual. Nota: Unaccount_id solo puede tener como máximo una Do Not Reach List
Resource URL
https://ads-api.x.com/12/accounts/:account_id/do_not_reach_lists
Parameters
| Name | Description |
|---|---|
| account_id required | El identificador de la cuenta usada. Aparece en la ruta del recurso y, por lo general, es un parámetro obligatorio para todas las solicitudes de la Advertiser API, excepto GET accounts. La cuenta especificada debe estar asociada con el usuario autenticado. Tipo: string Ejemplo: 18ce54d4x5t |
| description optional | Descripción de esta audiencia. Tipo: string Ejemplo: A list of users to exclude |
POST https://ads-api.x.com/12/accounts/18ce54bgxky/do_not_reach_lists?description=A list of users to exclude
Example Response
POST batch/accounts/:account_id/do_not_reach_lists/:do_not_reach_list_id/users
Este endpoint permite agregar, actualizar y eliminar usuarios de undo_not_reach_list_id dado. Este endpoint solo acepta correos electrónicos como tipo válido de identificador de usuario.
Todos los datos proporcionados en el campo emails de la solicitud deben estar hasheados usando SHA256 y normalizados.
Notas
- Un
account_idsolo puede tener como máximo una Do Not Reach List - Los usuarios agregados a esta lista deben tener una marca de tiempo
expires_atestablecida a menos de 13 meses desde la marca de tiempo actual - La Do Not Reach List API no acepta una marca de tiempo
effective_aty usa por defecto la marca de tiempo actual - Do Not Reach List no elimina usuarios de ninguna ni de todas las audiencias personalizadas de la cuenta, sino que actúa como exclusión de segmentación para todas las campañas que se publican para la cuenta
- El tamaño máximo actual del lote es
2500para este endpoint. El tamaño del lote se determina por el número de operaciones (Update/Delete) por solicitud. Por ejemplo, más de 2500 objetos de operación ({"operation_type": "Update/Delete", [..] }) en una matriz generan un error. - El tamaño máximo del cuerpo de la solicitud POST que puede aceptar este endpoint es de
5,000,000bytes. - Los límites de frecuencia para este endpoint son 1500 por ventana de 1 minuto
- Todos los parámetros se envían en el cuerpo de la solicitud y se requiere un
Content-Typedeapplication/json. - Las solicitudes por lotes fallan o tienen éxito juntas como grupo y todas las respuestas de la API, tanto de error como de éxito, preservan el orden de los elementos de la solicitud inicial.
success_count y total_count. Estos valores siempre deben ser iguales, y representan el recuento del número de registros en la solicitud que han sido procesados por el backend. Una situación en la que el número de registros enviados en el cuerpo de la solicitud no sea igual a success_count y total_count debe tratarse como una condición de error que requiere reintento.
Errores por lotes
- Los errores a nivel de solicitud (p. ej., tamaño máximo del lote excedido) se muestran en la respuesta bajo el objeto
errors. - Los errores a nivel de elemento (p. ej., parámetros obligatorios faltantes) se muestran en la respuesta bajo el objeto
operation_errors. - El índice del error en
operation_errorsse refiere al índice en el elemento de entrada, con el mensaje de error correspondiente
https://ads-api.x.com/12/batch/accounts/:account_id/do_not_reach_lists/:do_not_reach_list_id/users
Parámetros
| Name | Description |
|---|---|
| account_id required | El identificador de la cuenta utilizada. Aparece dentro de la ruta del recurso y, por lo general, es un parámetro obligatorio para todas las solicitudes de la Advertiser API, excepto GET accounts. La cuenta especificada debe estar asociada con el usuario autenticado. Type: string Example: 18ce54d4x5t |
| do_not_reach_list_id required | Una referencia a la Do Not Reach List con la que estás operando en la solicitud Type: string Example: 2906h |
| operation_type required | El tipo de operación por grupo de users que se está realizando.Type: enum Possible values: Update, Delete |
| params required | Un objeto JSON que contiene la matriz emails y la marca de tiempo expires_at.Type: JSON |
| users required | Una matriz de objetos JSON que contiene todos los parámetros para un usuario individual. Type: JSON |
| expires_at optional | La hora UTC a la que deben expirar las asociaciones del usuario. La hora especificada debe ser posterior a la marca de tiempo actual. Expresada en ISO 8601. De forma predeterminada, 13 meses desde la marca de tiempo actual. Type: string Example: 2017-07-05T07:00:00Z |
users, cada elemento de este objeto se documenta a continuación:
| Nombre | Descripción |
|---|---|
| email opcional | Dirección(es) de correo electrónico del usuario. Tipo: Array[String] |
| phone_number opcional | Número(s) de teléfono del usuario. Tipo: Array[String] |
DELETE accounts/:account_id/do_not_reach_lists/:do_not_reach_list_id
Elimina la lista Do Not Reach especificada perteneciente a la cuenta actual. URL del recursohttps://ads-api.x.com/12/accounts/:account_id/do_not_reach_lists/:do_not_reach_list_id
Parámetros
Ninguno
Solicitud de ejemplo
DELETE https://ads-api.x.com/12/accounts/18ce54bgxky/do_not_reach_lists/4ofrp
Respuesta de ejemplo