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á pasando es correcto y no está mal formado.
- Los nombres de audiencia que se están pasando son correctos y coinciden con las actualizaciones de membresía anteriores.
- Confirma la respuesta de los comandos POST.
- Confirma que el píxel de ID Sync está implementado correctamente y, como se describe en el proceso de ID Sync, que suficientes usuarios han visitado el sitio en cuestión como para poder mapearlos. Los usuarios no mapeados en las actualizaciones de membresía no se traducirán en usuarios segmentados.
- El tamaño mínimo de una audiencia es de 100 usuarios (después de la coincidencia). Si se hace coincidir una audiencia con menos de 500 usuarios, no estará disponible para segmentación en la X Ads UI.
- Normalmente se tarda entre 4 y 6 horas en procesar los archivos de audiencia, pero dependerá del tamaño del archivo. Una vez que el archivo se procesa, las audiencias están disponibles en la X Ads UI.
- Match Rate = usuarios activos de X en 90 días / número de usuarios proporcionados
- Puedes proporcionar un archivo de audiencia de prueba y usar “keltonlynn” como el handle del anunciante. Entonces podremos verificar que el archivo pueda incorporarse e importarse correctamente en la X UI.
p_user_id)?
- Es el identificador que utiliza tu empresa para identificar de forma ú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á mediante un 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 esté funcionando. Una vez verificado, te enviaremos la HMAC Key.
- X proporcionará un archivo de prueba (que contiene direcciones de correo electrónico de ejemplo, device IDs, etc.) y un archivo de hash resultante contra el que podrás verificar tus resultados.
- No, no hay limitación de tamaño para el archivo de full data match.
- Una vez que X haya recibido el archivo, tardará aproximadamente 1 día en procesarlo.
CRM

Requisitos de coincidencia de ID de partner
p_user_id) a X IDs (tw_id). Esto se realizará regularmente cada 2-3 meses para garantizar un mantenimiento adecuado. Una vez completada la coincidencia, X compartirá con la empresa, por correo electrónico, una tasa de coincidencia de referencia derivada de este archivo.
El formato de este archivo debe ser:
Convención de nombres: FullDataMatch.[CompanyName].txt
Algoritmo de hashing: HMAC_SHA-256
Formato:
Columna 1: valor con hash HMAC de los identificadores comunes
Columna 2: Partner User ID (único por usuario, no único en el archivo)
Delimitador de columna (CSV): se usarán comas para delimitar el identificador de usuario común con hash del Partner ID
Valores separados por saltos de línea
- Ej.: si el registro de usuario A tiene Partner User ID 1 y el identificador común 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 para su segmentación en X.
- Valores separados por saltos de línea
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 tiene hash, entonces la empresa proporcionará el mismo valor con hash en el archivo de audiencia. Si el valor proporcionado no tiene hash, entonces la empresa proporcionará el valor sin hash.)
Requisitos estándar de coincidencia
- Valores separados por saltos de línea
- Identificador de usuario común con hash (es decir, 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 más abajo (en Instrucciones de hashing)
Convenciones de nombres y operaciones de archivos de segmentos personalizados
- audiencename: El nombre de la Audiencia personalizada (Custom Audience). Este campo es el nombre que se mostrará al seleccionar la audiencia en la interfaz de configuración de campañas de ads.x.com, por ejemplo brand_loyalty_card_holders.
- partnername: Nombre de la empresa que entrega los datos en nombre del anunciante, por ejemplo company_name.
- handle: Cuenta de X (@handle) que tendrá acceso a las Audiencias personalizadas, por ejemplo @pepsi, @dietpepsi.
- operation: new, add, remove, removeall, replace (detalles a continuación).
- : Marca de tiempo Unix epoch estándar en segundos, usada 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
- Esto se puede usar para una lista completa de usuarios que se han excluido del anunciante.
- X solo respetará la lista más reciente proporcionada en este archivo y la aplicará a todas las audiencias existentes y futuras coincidentes para usuarios de X.
Instrucciones de hashing
Normalización de correo electrónico
@It92I6Ev2B.Com
Después de la normalización: testemail_organisational_baseball+884@it92i6ev2b.com
Valor con hash: 74d9584eded0ad1e5572a1c1849f3716751d371d6117a6155dad5363f4b4fbec
Nota: La cantidad específica de caracteres tanto para el HMAC codificado como para la clave puede variar según la entrada y la codificación, por lo que el número concreto de caracteres puede diferir.
Normalización de ID de dispositivo
Normalización de ID de usuario de X
@username, pero los ID de usuario no requieren normalización. Los @usernames deben convertirse a minúsculas para su normalización. Además, el símbolo @ no debe incluirse como parte del nombre de usuario.
El formato de ID sin procesar será:
- User ID: 27674040
- @username: testusername
Integración de sincronización de ID
p_id deben llevar a cabo un proceso de sincronización de ID para generar un mapeo entre los ids de usuario del anunciante o del partner y los ids de usuario de X. Esto permite a los anunciantes dirigirse directamente a sus propios 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 web 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 identificador de socio asignado por X |
p_user_id | El identificador del usuario en el sistema del socio |
Píxel de sincronización de ID:
p_user_id de ejemplo igual a abc, el píxel resultante sería el siguiente:
| Column Number | Column Name | Column Type | Description |
| 1 | Partner ID | string | El “partner id” es el ID que X proporciona al partner con el fin de 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 usando el endpoint TON upload y la ruta de los datos cargados debe enviarse al endpoint de exclusión global 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 indicados en la Real-Time Audience API Integration Guide.
Datos de usuario de Custom Audiences
- IDFA: en minúsculas y con guiones; p. ej.:
4b61639e-47cc-4056-a16a-c8217e029462 - AdID: se requiere el formato original del dispositivo, en minúsculas y con guiones; p. ej.:
2f5f5391-3e45-4d02-b645-4575a08f86e - Android id: se requiere el formato original del dispositivo, en minúsculas y sin guiones ni espacios; p. ej.:
af3802a465767e36
- en minúsculas, eliminando los espacios iniciales y finales; p. ej.:
support@x.com
- sin @, en minúsculas y sin espacios al inicio ni al final; p. ej.:
jack
- Entero estándar; p. ej.:
143567
SHA256, sin salt. Además, el hash de salida 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 (ID Sync) que construye 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ñas de Custom Audiences Web en ads.x.com.
X proporcionará el píxel seguro que se podrá insertar en 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. Estos archivos de segmentación se ingieren de forma regular en X y luego se ponen a disposición en la interfaz de usuario 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 es proporcionado por el socio
p_id - 123 representa el ID único para el socio (proporcionado por X)
Endpoint HTTPS del socio y archivo de usuarios para segmentación
El socio tendrá que proporcionar a X un endpoint HTTPS y credenciales (nombre de usuario/contraseña) que se puedan usar para ingerir el archivo de segmentación de forma regular. Un ejemplo de endpoint HTTPS 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
| Column Number | Column Name | Column Type | Description |
|---|---|---|---|
| 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. Nuestra recomendación para el confidence score es usar valores de 0 a 100. Si el caso de uso es para retargeting, entonces un confidence score de “100” corresponde a un usuario que ha sido impactado directamente. Cualquier puntuación de 0-99 correspondería al nivel de confianza del usuario similar (look-alike). |
| 4 | segment label | string | El “segment label” es opcional. Los Partners pueden usar “segment label” para especificar, por ejemplo, categorías de producto. Nuestra recomendación es usar este “segment label”, ya que es el nombre legible por humanos para Custom Audiences en la interfaz de ads.x.com. |
Integración de la Audience API
Descripción general
- En desuso 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
- En desuso Real Time Audiences:
- POST custom_audience_memberships
- Custom Audience:
- El parámetro
list_typese eliminará de la solicitud y de la respuesta en todos los endpoints de Custom Audience. Este parámetro se utilizaba anteriormente para identificar el tipo de identificador de usuario de la Audience (es decir, correo electrónico, X User ID, etc.); sin embargo, ahora las Audiences tienen la capacidad de aceptar múltiples identificadores de usuario para la misma Audience, lo que hace que este valor deje de ser relevante.
- El parámetro
- General:
- La ventana de retrospectiva (lookback) de Audience se ha actualizado para hacer coincidir a los 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 la Ads API
- Para acceder al endpoint de Audience, tendrás que ser añadido a una lista de permitidos (allowlist). Completa este formulario y acepta el nuevo X Ads Products and Services Agreement si tu aceptación inicial fue anterior al 2018-08-01
| Paso en el proceso | Audience API | (En desuso) TON Upload |
|---|---|---|
| Crear una Audience inicial (shell) | Se puede crear mediante el [POST custom_audience endpoint]/x-ads-api/audiences | Se puede crear mediante el [POST custom_audience endpoint]/x-ads-api/audiences |
| Añadir un nuevo usuario | Usa operation_type Update con el Audience endpoint | Usa operation ADD con el endpoint POST custom_audience_changes |
| Eliminar un usuario | Usa operation_type Delete con el Audience endpoint | Usa operation REMOVE con el endpoint POST custom_audience_changes |
| Excluir usuarios (opt-out) | Usa operation_type Delete con el Audience endpoint y los custom_audience_ids correspondientes de los que forma parte el usuario | Usa el Global opt-out endpoint |
- Número total de operaciones: 2500 operaciones
- Tamaño máximo de la carga útil: 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, salta a la siguiente sección.
Agregar usuarios a una audiencia
id de la Custom Audience y un cuerpo de ejemplo 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 pasar varias claves de usuario para un único usuario. Cada objeto en el array de objetos JSON corresponde a un solo usuario. Usando el payload de ejemplo anterior, la solicitud agregará dos usuarios a una Audience, uno con un email y un handle, y otro con un email y un twitter_id.
Eliminar usuarios de una audiencia
operation_type debe establecerse en Delete, y los usuarios se identificarán mediante cualquiera de las claves que estuvieran presentes al agregarlos a la audiencia. Por ejemplo, si se agregó un usuario a una audiencia usando un email y un twitter_id, entonces se podrá eliminar al mismo usuario usando cualquiera de esas claves; es decir, email, twitter_id o ambos.
Además, es posible agregar y eliminar usuarios de una Audience en la misma solicitud. El endpoint admite múltiples valores de operation_type por solicitud.
Usuarios con exclusión voluntaria
Delete para cualquier usuario que se haya excluido de cualquier Audiences. Hay varias maneras de lograr esto:
- Hacer un seguimiento de qué usuarios forman parte de qué Audiences y eliminar estos usuarios individualmente de cada Audience.
- Eliminar al usuario de todas las Audiences asociadas con una cuenta de Ads.
- Recomendamos encarecidamente invocar este endpoint en lotes casi en tiempo real para evitar picos en las colas de procesamiento, que tardan más en completarse y, en general, generan una carga innecesaria en nuestro sistema. Esto también garantiza que los usuarios estén disponibles para la segmentación de campañas más rápidamente.
- Una llamada de API correcta devolverá un
success_county untotal_countcorrespondientes al número de objetosuserque se han recibido en la solicitud. - Este endpoint es atómico por naturaleza; es decir, o bien toda la solicitud se procesa correctamente o, en caso de cualquier error, toda la solicitud fallará. 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 fallo, se recomienda a los partners usar un enfoque de retroceso exponencial con reintentos. Por ejemplo, reintentar inmediatamente después del primer fallo, reintentar después de 1 minuto tras el segundo fallo y reintentar después de 5 minutos tras el tercer fallo consecutivo, y así sucesivamente.
Referencia de la API
Información sobre palabras clave
end_time - start_time) de 7 días.
Ten en cuenta que los resultados están limitados a una única ubicación geográfica (país).
URL del recurso
https://ads-api.x.com/12/insights/keywords/search
Parámetros
| 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 dato para cada hora entre start_time y end_time.Tipo: enum Valores posibles: DAY, HOUR |
| keywords required | Cadena de palabras clave separadas por comas para acotar la búsqueda. Todas las palabras clave se combinan mediante el operador OR entre sí. Nota: Se puede usar un máximo de 10 palabras clave (combinando keywords y negative_keywords).Tipo: string Ejemplo: developers |
| start_time required | Limita los datos recuperados a los datos recopilados en la ventana de tiempo entre start_time y end_time. Expresado en formato ISO 8601.Tipo: string Ejemplo: 2017-07-10T00:00:00Z |
| end_time optional | Limita los datos recuperados a los datos recopilados en la ventana de tiempo entre start_time y end_time. Expresado en formato ISO 8601.Nota: De forma predeterminada, se usa la hora actual. Tipo: string Ejemplo: 2017-07-11T00:00:00Z |
| location optional | Valor de segmentación que obtendrás del endpoint GET targeting_criteria/locations para acotar los resultados en función de dónde se encuentra el usuario de la cuenta. Ten en cuenta que, por el momento, solo se admiten ubicaciones a nivel de país. Tipo: string Ejemplo: 0ce8b9a7b2742f7e |
| negative_keywords optional | Cadena de palabras clave separadas por comas para excluir. Todas las palabras clave negativas se combinan mediante el operador OR entre sí. Nota: Se puede usar un máximo de 10 palabras clave (combinando keywords y negative_keywords).Tipo: string Ejemplo: rain |
Permisos de audiencias personalizadas
https://ads-api.x.com/5/accounts/:account_id/tailored_audiences/:tailored_audience_id/permissions
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, excluyendo GET accounts. La cuenta especificada debe estar asociada con el usuario autenticado. Type: string Example: 18ce54d4x5t |
| tailored_audience_id required | Una referencia a la audiencia personalizada con la que se opera en la solicitud. Type: string Example: 1nmth |
| count optional | Especifica el número de registros que se intentará recuperar por cada solicitud distinta. Type: int Default: 200 Min, Max: 1, 1000 |
| cursor optional | Especifica un cursor para obtener la página siguiente de resultados. Consulta Pagination para más información. Type: string Example: 8x7v00oow |
| granted_account_ids optional | Limita la respuesta solo 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 admitido en orden ascendente o descendente. Consulta Sorting para más información. Type: string Example: created_at-asc |
| tailored_audience_permission_ids optional | Limita la respuesta solo a los permisos de audiencia personalizada 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 mutuamente excluyentes.Nota: Las solicitudes que incluyen total_count tendrán límites de tasa 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
Ejemplo de respuesta
is_owner en la respuesta de una audiencia determinada.
Nota: Las audiencias solo se pueden compartir entre cuentas de anuncios dentro de la misma empresa o si la cuenta de anuncios que es propietaria de la audiencia tiene la función de cuenta SHARE_AUDIENCE_OUTSIDE_BUSINESS.
URL del recurso
https://ads-api.x.com/5/accounts/:account_id/tailored_audiences/:tailored_audience_id/permissions
Parámetros
| Name | Description |
|---|---|
| account_id required | El identificador de la cuenta utilizada. Aparece dentro de la ruta del recurso y, en 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 |
| granted_account_id required | La cuenta a la que deseas otorgar permisos sobre la audiencia personalizada. Type: string Example: 18ce54aymz3 |
| permission_level required | El tipo de acceso a la audiencia personalizada que debería tener granted_account_id.Type: enum Possible values: READ_ONLY, READ_WRITE |
| tailored_audience_id required | Una referencia a la audiencia personalizada 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
Ejemplo de respuesta
DELETE accounts/:account_id/tailored_audiences/:tailored_audience_id/permissions/:tailored_audience_permission_id
is_owner en la respuesta para una audiencia determinada.
Cuando se revoca, 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 esta campaña después de que se haya revocado 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
| 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 |
| tailored_audience_id required | Una referencia a la audiencia personalizada con la que estás operando en la solicitud. Type: string Example: 1nmth |
| tailored_audience_permission_id required | Una referencia al permiso de audiencia personalizada con el que estás operando en la solicitud. Type: string Example: ri |
DELETE https://ads-api.x.com/5/accounts/18ce54d4x5t/tailored_audiences/1nmth/permissions/ri
Example Response
Audiencias segmentadas
custom_audience_id dado.
| 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 en GET accounts. La cuenta especificada debe estar asociada con el usuario autenticado. Type: string Example: 18ce54d4x5t |
| custom_audience_id required | Una referencia a la audiencia personalizada con la que estás operando en la solicitud. Type: string Example: 2906h |
| with_active optional | Cuando es false, incluye elementos de línea que tienen el estado servable=false.Type: boolean Default: true Possible values: true, false |
| cursor optional | Especifica un cursor para obtener la página siguiente de resultados. Consulta Pagination para obtener más información. Type: string Example: 8x7v00oow |
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/custom_audiences/2906h/targeted
Ejemplo de respuesta
Usuarios de audiencias personalizadas
custom_audience_id dado. El endpoint también acepta múltiples tipos de identificadores de usuario por cada usuario.
Todos los datos proporcionados en el campo users de la solicitud, excepto partner_user_id, deben convertirse a hash usando SHA256 y normalizarse.
Solicitudes por lotes
- El tamaño máximo actual de un 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 dan como resultado 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 de 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 un recuento del número de registros de 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 un reintento.
Errores por lotes
- Los errores a nivel de solicitud (por ejemplo, tamaño máximo de lote excedido) se muestran en la respuesta bajo el objeto
errors. - Los errores a nivel de elemento (por ejemplo, parámetros obligatorios faltantes) se muestran en la respuesta bajo el objeto
operation_errors. - El índice del error en
operation_errorsse refiere 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 required | El tipo de operación que se está realizando por grupo de users.Tipo: enum Valores posibles: Update, Delete |
| params required | Un objeto JSON que contiene el array users y las marcas de tiempo effective_at y expires_at.Tipo: JSON |
| users required | Un array de objetos JSON que contiene todos los parámetros para un usuario individual. Tipo: JSON |
| effective_at optional | La hora en UTC a la que la(s) asociación(es) de audiencia personalizada debe(n) entrar en vigor. Se expresa en ISO 8601. De manera predeterminada, es la fecha y hora actuales. Tipo: string Ejemplo: 2017-07-05T07:00:00Z |
| expires_at optional | La hora en UTC a la que la(s) asociación(es) de audiencia personalizada debe(n) expirar. La hora especificada debe ser posterior al valor de effective_at. Se expresa en ISO 8601. De manera predeterminada, es 13 meses después de 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 optional | Dirección(es) de correo electrónico del usuario. Tipo: Array[String] |
| device_id optional | IDFA/AdID/Android ID Tipo: Array[String] |
| handle optional | El/los @handle que pertenecen al usuario. Tipo: Array[String] |
| twitter_id optional | El id de X que pertenece al usuario. Tipo: Array[String] |
| phone_number optional | Número(s) de teléfono del usuario. Tipo: Array[String] |
| partner_user_id optional | El id del usuario en el sistema del socio. Tipo: Array[String] |
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/custom_audiences/1nmth/users
Permisos de audiencia personalizada
https://ads-api.x.com/12/accounts/:account_id/custom_audiences/:custom_audience_id/permissions
Parámetros
| Name | Description |
|---|---|
| account_id required | El identificador de la cuenta utilizada. Aparece dentro de la ruta del recurso y, en general, es un parámetro obligatorio para todas las solicitudes de la Advertiser API, excluyendo GET accounts. La cuenta especificada debe estar asociada con el usuario autenticado. Type: string Example: 18ce54d4x5t |
| custom_audience_id required | Una referencia a la audiencia personalizada con la que se opera en la solicitud. Type: string Example: 1nmth |
| count optional | Especifica el número de registros que se intentará recuperar en 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 |
| granted_account_ids optional | Restringe la respuesta solo 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 admitido en orden ascendente o descendente. Consulta Sorting para más información. Type: string Example: created_at-asc |
| custom_audience_permission_ids optional | Restringe la respuesta solo a los permisos de audiencia personalizada 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 incluyen total_count tendrán límites de tasa más bajos, actualmente establecidos en 200 por 15 minutos.Type: boolean Default: false Possible values: true, false |
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/custom_audiences/1nmth/permissions
Respuesta de ejemplo
is_owner en la respuesta de una audiencia determinada.
Nota: Las audiencias solo pueden compartirse entre cuentas de anuncios dentro de la misma empresa o si la cuenta de anuncios que es propietaria de la audiencia tiene la función de cuenta SHARE_AUDIENCE_OUTSIDE_BUSINESS.
Resource URL
https://ads-api.x.com/12/accounts/:account_id/custom_audiences/:custom_audience_id/permissions
Parameters
| Name | Description |
|---|---|
| account_id required | El identificador de la cuenta utilizada. Aparece dentro de la ruta del recurso y, en general, es un parámetro obligatorio para todas las solicitudes de la Advertiser API, excluyendo GET accounts. La cuenta especificada debe estar asociada con el usuario autenticado. Type: string Example: 18ce54d4x5t |
| granted_account_id required | La cuenta a la que deseas conceder permisos para la audiencia personalizada. Type: string Example: 18ce54aymz3 |
| permission_level required | El tipo de acceso a la audiencia personalizada que debe tener granted_account_id.Type: enum Possible values: READ_ONLY, READ_WRITE |
| custom_audience_id required | Una referencia a la audiencia personalizada con la que estás operando en la solicitud. Type: string Example: 2906h |
DELETE accounts/:account_id/custom_audiences/:custom_audience_id/permissions/:custom_audience_permission_id
is_owner en la respuesta para una audiencia determinada.
Cuando se revoca, 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 dicha campaña después de que se haya revocado el permiso de compartición 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
| 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. Tipo: string Ejemplo: 18ce54d4x5t |
| custom_audience_id required | Una referencia a la custom audience con la que estás operando en la solicitud. Tipo: string Ejemplo: 1nmth |
| custom_audience_permission_id required | Una referencia al permiso de custom audience con el que estás operando en la solicitud. Tipo: string Ejemplo: ri |
DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/custom_audiences/1nmth/permissions/ri
Respuesta de ejemplo
Audiencias personalizadas
https://ads-api.x.com/12/accounts/:account_id/custom_audiences
Parameters
| Name | Description |
|---|---|
| account_id required | El identificador de la cuenta utilizada. Aparece dentro de la ruta del recurso y, en 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 el número de registros que se intentarán recuperar por cada solicitud independiente. 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 |
| permission_scope optional | Permite filtrar la respuesta a listas que son de tu propiedad o listas que se han compartido contigo. De forma predeterminada, si no se especifica este parámetro, solo verás las audiencias que son de tu propiedad. Type: enum Default: OWNER Possible values: OWNER, SHARED |
| q optional | Consulta opcional para limitar el recurso por name.Nota: Realiza una coincidencia de prefijo sin distinguir mayúsculas de minúsculas. Type: string Min, Max length: 1, 255 |
| 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 |
| custom_audience_ids optional | Limita la respuesta únicamente a las audiencias personalizadas deseadas especificando una lista de identificadores separados por comas. Se pueden proporcionar hasta 200 ID. Type: string Example: 1nmth |
| with_deleted optional | Incluye resultados eliminados en tu solicitud. Type: boolean Default: false Possible values: true, false |
| with_total_count optional | 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 tasa 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
https://ads-api.x.com/12/accounts/:account_id/custom_audiences/:custom_audience_id
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, excluyendo GET accounts. La cuenta especificada debe estar asociada con el usuario autenticado. Tipo: string Ejemplo: 18ce54d4x5t |
| custom_audience_id required | Una referencia a la audiencia personalizada con la que se opera en la solicitud. Tipo: string Ejemplo: 2906h |
| with_deleted optional | Incluye resultados eliminados en la solicitud. Tipo: boolean Valor predeterminado: false Valores posibles: true, false |
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/custom_audiences/2906h
Ejemplo de respuesta
https://ads-api.x.com/12/accounts/:account_id/custom_audiences
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, excluyendo 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 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: Colección de todos los usuarios de la Ads API |
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/custom_audiences?name=developers
Ejemplo de respuesta
https://ads-api.x.com/12/accounts/:account_id/custom_audiences/:custom_audience_id
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 |
| custom_audience_id required | Una referencia a la Custom Audience con la que se está operando en la solicitud. Type: string Example: 2906h |
| name optional | El nombre para mostrar de esta audiencia. Se debe usar 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
Ejemplo de respuesta
- 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 un
Content-Typedeapplication/json. - Las solicitudes por lotes fallan o se procesan correctamente 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.
- Los errores a nivel de solicitud (por ejemplo, tamaño máximo de lote excedido) se muestran en la respuesta en el objeto
errors. - Los errores a nivel de elemento (por ejemplo, parámetro obligatorio faltante) se muestran en la respuesta en el objeto
operation_errors.
- Las Audiencias Flexibles son inmutables una vez creadas.
- Las Audiencias Personalizadas se pasan en una estructura de á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
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. 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 audiencia personalizada que deseas segmentar. Cada objeto debe contener un custom_audience_id, frequency, frequency_comparator, lookback_window, negate y, en algunos casos, child_segments adicionales.Tipo: array |
| name required | El nombre visible de la audiencia. Debe usarse un valor de nombre único. De no hacerlo, 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 rango de días dentro del cual el usuario ha realizado la acción específica y ha calificado para la audiencia personalizada indicada. Tipo: int Valores posibles: 1, 7, 14, 30 |
| segments sometimes required | Un objeto que contiene un boolean_operator y child_segments que definen el subconjunto de miembros de una audiencia personalizada que deseas segmentar.Tipo: object |
| custom_audience_id sometimes required | El id de la audiencia personalizada que se usará 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 ha realizado la acción específica y ha calificado para la audiencia personalizada indicada. Tipo: int Valor predeterminado: 1 |
| frequency_comparator optional | El comparador para la frequency enviada en la solicitud.Nota: En los valores siguientes, GTE se refiere a mayor o igual que, LT a 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 | Invierte el segmento y, por lo tanto, se excluye de la combinación. Tipo: boolean Valor predeterminado: true Valores posibles: true, false |
POST https://ads-api.x.com/12/batch/accounts/18ce54d4x5t/custom_audiences
https://ads-api.x.com/12/accounts/:account_id/custom_audiences/:custom_audience_id
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, excluyendo GET accounts. La cuenta especificada debe estar asociada con el usuario autenticado. Tipo: string Ejemplo: 18ce54d4x5t |
| custom_audience_id required | Una referencia a la audiencia personalizada con la que se está operando en la solicitud. Tipo: string Ejemplo: 2906h |
DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/custom_audiences/2906h
Ejemplo de respuesta
Listas de exclusión de alcance
account_id solo puede tener, como máximo, una lista Do Not Reach.
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 utilizada. Aparece en la ruta del recurso y, por lo general, es un parámetro obligatorio para todas las solicitudes de la Advertiser API, excluyendo GET accounts. La cuenta especificada debe estar asociada con el usuario autenticado. Tipo: string Ejemplo: 18ce54d4x5t |
| with_deleted optional | Incluye resultados eliminados en la solicitud. Tipo: boolean Valor predeterminado: false Valores posibles: true, false |
GET https://ads-api.x.com/12/accounts/18ce54bgxky/do_not_reach_lists
Example Response
account_id solo puede tener como máximo una Lista de no contacto.
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 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 |
| description opcional | Una descripción para esta audiencia. Tipo: string Ejemplo: Una lista de usuarios que se deben excluir |
POST https://ads-api.x.com/12/accounts/18ce54bgxky/do_not_reach_lists?description=Una lista de usuarios que se deben excluir
Ejemplo de respuesta
do_not_reach_list_id determinado. 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 tener un hash aplicado con SHA256 y estar normalizados.
Notas
- Un
account_idsolo puede tener como máximo una Lista de No Contactar. - 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 API de Lista de No Contactar no acepta una marca de tiempo
effective_aty, de forma predeterminada, usa la marca de tiempo actual. - La Lista de No Contactar no elimina usuarios de ninguna audiencia personalizada de la cuenta, sino que actúa como segmentación de exclusión para todas las campañas atendidas para la cuenta.
- El tamaño máximo actual del lote es
2500para este endpoint. El tamaño del lote se determina por la cantidad 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 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 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 un total_count. Estos valores siempre deben ser iguales y representan la cantidad de registros de la solicitud que han sido procesados por el backend. Una situación en la que la cantidad 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 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 del 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
Parameters
| Name | Description |
|---|---|
| account_id required | El identificador de la cuenta utilizada. Aparece dentro de la ruta del recurso y, en general, es un parámetro obligatorio para todas las solicitudes de la Advertiser API, excluyendo 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 Lista de No Contactar con la que está 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 en la que la(s) asociación(es) del usuario debe(n) caducar. La hora especificada debe ser posterior al valor de la marca de tiempo actual. Se expresa en formato ISO 8601. De forma predeterminada, es 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:
| Name | Descripción |
|---|---|
| email opcional | Dirección(es) de correo electrónico del usuario. Type: Array[String] |
| phone_number opcional | Número(s) de teléfono del usuario. Type: Array[String] |
https://ads-api.x.com/12/accounts/:account_id/do_not_reach_lists/:do_not_reach_list_id
Parámetros
Ninguno
Ejemplo de solicitud
DELETE https://ads-api.x.com/12/accounts/18ce54bgxky/do_not_reach_lists/4ofrp
Ejemplo de respuesta