Descripción general
Enterprise
Esta es una API para empresas disponible únicamente dentro de nuestros niveles de acceso gestionado. Para usar esta API, primero debes configurar una cuenta con nuestro equipo de ventas para empresas. Más información
La Engagement API ofrece acceso a métricas de impresiones e interacción de Publicaciones. Aunque la mayoría de las métricas y endpoints requieren que te autentiques usando OAuth 1.0a User Context, puedes acceder a las métricas públicas de “Favorite”, “Retweet”, “Reply” y “Video Views” usando OAuth 2.0 Bearer Token y el endpoint /totals.
Nota: Es posible que observes diferencias entre los datos mostrados en algunos de los paneles web de X y los datos informados en la Engagement API. Estas diferencias se producen porque los paneles web normalmente solo muestran interacciones y/o impresiones que ocurrieron dentro del intervalo de tiempo seleccionado. Por ejemplo, un panel web puede mostrar interacción en Publicaciones dentro del período de un mes calendario, mientras que la Engagement API puede mostrar interacciones que quedan fuera de ese mes, pero dentro del intervalo de tiempo solicitado. En estos casos, la Engagement API debe considerarse la fuente de referencia.
Endpoints de solicitud
Totales actuales: [/totals]
- Las solicitudes devuelven una métrica total de impresiones y una métrica total de interacciones para las Publicaciones especificadas
- Se limita a las siguientes métricas: Impressions, Engagements, Favorites, Replies, Retweets, Quote Tweets y Video Views
- Permite recuperar las métricas de Impressions e Engagements para Publicaciones creadas en los últimos 90 días utilizando OAuth 1.0a User Context
- Permite recuperar las métricas de Favorites, Retweets, Quote Tweets, Replies y Video Views para cualquier Publicación utilizando OAuth 2.0 Bearer Token
- Los resultados se basan en el total actual de impresiones e interacciones en el momento en que se realiza la solicitud
- Ideal para alimentar un panel de informes y para calcular tasas de interacción en una variedad de @handles
- Permite solicitar métricas para hasta 250 Publicaciones por solicitud
Últimas 28 horas: [/28hr]
- Las solicitudes pueden devolver una métrica total de impresiones, una métrica total de interacciones y un desglose de las métricas de interacción individuales que se hayan producido en las últimas 28 horas
- Los datos se pueden agrupar por ID de la Publicación y, en series temporales agregadas, por día o por hora
- Ideal para hacer un seguimiento del rendimiento del contenido creado recientemente
- Compatible con todas las métricas disponibles
- Permite solicitar métricas para hasta 25 Publicaciones por solicitud
Historial: [/historical]
- Las solicitudes pueden devolver impresiones, interacciones y un desglose de métricas de interacción individuales correspondientes al último año, basadas en el momento de la interacción (no en el momento de creación de la Publicación).
- Las solicitudes admiten parámetros de fecha de inicio y fecha de finalización, lo que proporciona flexibilidad para acotar un intervalo de tiempo específico de hasta 4 semanas de duración.
- Los datos de interacción de las Publicaciones se limitan únicamente a los últimos 365 días.
- Los datos se pueden agrupar por ID de la Publicación y, en series temporales agregadas, por día o por hora.
- Ideal para evaluar el rendimiento reciente frente a un punto de referencia histórico o para desarrollar una visión histórica del rendimiento de un @handle.
- Admite todas las métricas disponibles.
- Admite solicitudes de métricas para hasta 25 Publicaciones por solicitud.
Métricas disponibles
Agrupaciones de interacción
- tweet.id
- engagement.type
/28hr y /historical pueden proporcionar métricas de series temporales y, por lo tanto, admiten:
- engagement.day
- engagement.hour
Guías
Guía de primeros pasos para desarrolladores
Introducción
¿Qué ofrece la Engagement API?
- La Engagement API proporciona datos de impresiones e interacción para todas las Publicaciones propias de cualquier cuenta de X de los últimos 90 días, siempre que esa cuenta haya autorizado a tu App a solicitar métricas en su nombre usando 3-legged OAuth. Esta solución potente pero fácil de implementar ofrece acceso inmediato a impresiones e interacciones profundas, como clics en URL, clics en hashtags y muchas más.
- La Engagement API proporciona métricas agregadas totales de Me gusta, Retweets, Quote Tweets, respuestas y visualizaciones de vídeo para cualquier Publicación. Esto se puede usar como una forma eficaz de obtener datos básicos de interacción sobre cualquier Publicación o colección de Publicaciones.
- La Engagement API aporta nuevo valor a las plataformas de escucha social, marketing y publicación al permitir que los clientes midan el ROI en X midiendo de forma eficaz el rendimiento del contenido mediante más de 15 métricas de rendimiento.
- La Engagement API es una API de solicitud/respuesta que permite a los desarrolladores de aplicaciones enviar solicitudes con ids de Publicaciones, las métricas deseadas y un intervalo de tiempo, para lo cual la API devuelve los datos al instante.
¿Por qué integrar? Casos de uso de ejemplo
- Comprender el alcance total de mi contenido para ver cuántas personas lo ven. Ver cuántas personas ven videos, hacen clic en enlaces, hacen clic en hashtags o instalan mis apps.
- Generar métricas de interacción tanto totales como de series temporales.
- Comprender métricas de interacción básicas (favoritos, Retweets, Tweets citados, respuestas) sobre cualquier Publicación pública.
- Usar estas métricas para determinar qué tipos de Publicaciones funcionan para poder publicarlas con más frecuencia y obtener más impresiones y más interacciones para mi contenido.
- Automatizar el comportamiento de marketing (como hacer Retweet del contenido de otra cuenta de mi propiedad) cada vez que una de mis Publicaciones alcance 100 Likes u otro umbral.
- Comparar mis campañas entre sí y utilizarlas como herramienta para realizar pruebas A/B.
- Analizar qué tipo de contenido genera mayor respuesta para mi departamento de atención al cliente a fin de determinar cómo y cuándo responder.
- Mostrar métricas de analítica para el contenido que se publica desde mi plataforma.
Integración de la API de Engagement
Introducción a la API
- Array de IDs de Publicación.
- Array que especifica los tipos de métricas de interés. Los tipos incluyen cosas como ‘impressions’, ‘retweets’, ‘hashtag_clicks’ y ‘user_follows’.
- Agrupaciones de interacción, que es una estructura JSON que indica cómo deseas que se organicen los datos de interacción en la respuesta de la API.
- Totals - Proporciona totales generales de interacciones para Publicaciones. Algunas métricas están disponibles para todas las Publicaciones, mientras que otras solo están disponibles para los últimos 90 días.
- 28 hour - Proporciona métricas de interacción en series temporales de las últimas 28 horas.
- Historical - Proporciona métricas de interacción en series temporales de hasta cuatro semanas consecutivas para Publicaciones publicadas desde el 1 de septiembre de 2014.
Obtener acceso a la API
Realizar una solicitud
1/ Hoy compartimos nuestra visión para el futuro de la plataforma X API.https://t.co/XweGngmxlP — Twitter Dev (@TwitterDev) 6 de abril de 2017
No te pierdas las Publicaciones sobre tu Publicación. Ahora en iOS puedes ver los Retweets con comentarios en un solo lugar. pic.x.com/oanjZfzC6y — X (@X) 12 de mayo de 2020El primer paso es construir la solicitud a la API en JSON, que consiste en estos dos id de Publicaciones colocados en un array, un array de tipos de interacción de interés y un objeto JSON con nombre personalizado “groupings” que indica cómo queremos que se organicen las métricas en la respuesta. Así es como se ve nuestra solicitud:
- Content-Type: application/json
- Accept-Encoding: gzip
Autenticación con OAuth
Seleccionar un endpoint de la Engagement API
- Totals - proporciona totales globales de métricas seleccionadas de Publicaciones ‘owned’ o ‘unowned’. Algunas métricas están disponibles para todas las Publicaciones, mientras que otras solo están disponibles para Publicaciones publicadas en los últimos 90 días. Admite 250 Publicaciones por solicitud.
- 28 hour - proporciona métricas de Engagement en series temporales para Publicaciones ‘owned’ de las últimas 28 horas. Admite 25 Publicaciones por solicitud.
- Historical - proporciona métricas de Engagement en series temporales para hasta cuatro semanas consecutivas para Publicaciones ‘owned’ publicadas desde el 1 de septiembre de 2014. Admite 25 Publicaciones por solicitud.
Conceptos clave
Impresiones y métricas de engagement
Contenido de X propio y no propio
Datos de engagement totales y de series temporales
Endpoints y ejemplos de casos de uso
/totals
- Solo necesito acceso a algunos tipos de métricas (Impressions, Engagements, Favorites, Retweets, Quote Tweets, Replies y Video Views).
- Necesito acceso a datos básicos de interacción para cualquier Publicación, no solo para Publicaciones propias.
- Quiero comparar el rendimiento con un competidor.
- Quiero hacer un seguimiento de estadísticas básicas de interacción para un hashtag o campaña que incluya Publicaciones que no son mías.
- No necesito datos desglosados por día u hora, solo necesito el total actual cuando hago una solicitud.
- Necesito una sola métrica para mostrar en un informe o panel de control y no quiero almacenar ningún dato.
- Quiero mostrar datos al cargar la página y solo necesito hacer una solicitud y recibir una respuesta.
- Necesito poder obtener datos de cientos de miles o millones de Publicaciones por día.
/28hr
- Necesito acceso a los 17 tipos de métricas.
- Quiero mostrar datos de Publicaciones muy recientes de las últimas 28 horas.
- Tengo un proceso que se ejecuta una vez al día para obtener los datos que me interesan y solo necesito obtener datos del último día.
- Necesito que las métricas estén desglosadas por día u hora.
- Quiero mostrar desgloses de series temporales de la actividad por hora en un panel de control.
- Necesito un nivel de acceso alto para cientos de miles de Publicaciones por día.
- Tengo capacidad de almacenamiento y puedo actualizar los datos una vez al día y mantener un recuento acumulado.
/historical
- Necesito acceso a los 17 tipos de métricas.
- Necesito obtener datos históricos de Publicaciones creadas retroactivamente hasta septiembre de 2014.
- Quiero mostrar un análisis histórico detallado que compare campañas.
- Necesito que las métricas estén desglosadas por día o por hora.
- No necesito altos niveles de acceso a la Engagement API y solo necesito obtener datos para unos cientos o miles de Publicaciones por día.
Características clave de la Engagement API
- API RESTful que proporciona datos JSON y admite solicitudes POST con cuerpos de datos JSON.
- Tipos de solicitudes: Las aplicaciones cliente pueden realizar los siguientes tipos de solicitudes:
- Engagements totales — Solicitud HTTP POST al endpoint /totals
- Engagements de las últimas 28 horas — Solicitud HTTP POST al endpoint /28hr
- Engagements históricos — Solicitud HTTP POST al endpoint /historical
- Autenticación OAuth:
- OAuth 1.0 User Context: Todas las métricas disponibles están disponibles para Publicaciones que son propiedad de un usuario que haya autorizado tu App usando 3-legged OAuth. Debes usar los Access Tokens de ese usuario cuando hagas tu solicitud.
- OAuth 2.0 Bearer Token: Métricas seleccionadas (Retweets, Quote Tweets, Replies, Favorites y Video Views) están disponibles para cualquier Publicación pública.
- Metadatos y estructura de la solicitud: Los datos de la solicitud son un objeto JSON compuesto por un array de Post IDs, un array de tipos de engagement y una estructura de agrupación de engagement.
- Publicaciones por solicitud:
- Endpoint /totals: 250 Post IDs
- Endpoint /28hr: 25 Post IDs
- Endpoint /historical: 25 Post IDs
- Disponibilidad de métricas de engagement:
- /totals — Totales de métricas desde el momento en que se publicó la Publicación. Impressions y Engagements están disponibles para Publicaciones publicadas en los últimos 90 días, mientras que Retweets, Quote Tweets, Replies, Favorites y Video Views están disponibles para todas las Publicaciones.
- /28hr — Últimas 28 horas desde el momento de la solicitud.
- /historical — Cualquier período de 28 días a partir del 1 de septiembre de 2014.
- Tipos de métricas: Cada solicitud incluye un array de Metric Types. La disponibilidad de estos depende del endpoint y, si se solicita desde el endpoint /totals, de si las Publicaciones tienen permisos de usuario.
- Endpoint /totals:
- Todas las Publicaciones: Favorites, Retweets, Quote Tweets, Replies y Video Views
- Requiere OAuth 1.0a User Context: Impressions, Engagements, Favorites, Replies y Retweets
- Endpoints /28hr y /historical (requiere OAuth 1.0a User Context con el Access Token del propietario de la Publicación): Impressions, Engagements, Favorites, Replies, Retweets, URL Clicks, Hashtag Clicks, Detail Click, Permalink Clicks, Media Clicks, App Install Attempts, App Opens, Post Emails, Video Views y Media Views
- Endpoint /totals:
- Agrupaciones de engagement: Cada solicitud incluye un array de Engagement Groupings. Con estas agrupaciones puedes personalizar cómo se organizan las métricas devueltas. Se pueden incluir hasta tres agrupaciones en cada solicitud. Las métricas se pueden organizar según los siguientes valores:
- Todos los endpoints: Post ID, Engagement Type
- Endpoints /28hr y /historical: Estos endpoints proporcionan series temporales si se especifican estas agrupaciones adicionales: Engagement Day, Engagement Hour
- Expectativas de integración: Tu equipo será responsable de lo siguiente.
- Crear y mantener una aplicación cliente que pueda enviar solicitudes HTTP a la Engagement API para obtener métricas de engagement para el Post ID incluido en la solicitud.
- Limitaciones
- Video Views solo están disponibles para Publicaciones con una antigüedad de 1800 días o menos.
Autenticación con la Engagement API
Ten en cuenta: X debe habilitar el acceso a la Engagement API para tu App de desarrollador antes de que puedas empezar a usar la API. Para ello, asegúrate de compartir el App ID que piensas usar para fines de autenticación con tu gestor de cuenta o equipo de soporte técnico.Hay dos métodos de autenticación disponibles con la Engagement API: OAuth 1.0a y OAuth 2.0 Bearer Token. OAuth 2.0 Bearer Token (también conocido como “application-only”) te permite acceder a métricas de interacción disponibles públicamente. Este método de autenticación se puede usar para obtener los recuentos totales de Favorites (también llamados Likes), Retweets, Quote Tweets, Replies y visualizaciones de vídeo para cualquier Publicación disponible públicamente al hacer solicitudes al /totals endpoint. OAuth 1.0a (también conocido como “user context”) te permite hacer solicitudes en nombre de un usuario y acceder a métricas de interacción privadas que pertenecen al usuario en cuestión. Este método de autenticación es obligatorio para:
- Todas las solicitudes enviadas al /28hr endpoint y al /historical endpoint
- Acceder a cualquiera de las siguientes métricas privadas: Impressions, Engagements, Media Views, Media Engagements, URL Clicks, Hashtag Clicks, Detail Expands, Permalink Clicks, App Install Attempts, App Opens, Email Post, User Follows y User Profile Clicks
403 Forbidden.
La Engagement API no te permitirá obtener datos de interacción de Publicaciones protegidas, incluso si te estás autenticando en nombre del usuario propietario de estas Publicaciones. Si lo intentas, se devolverá un error 400 Bad Request, con el mensaje "Tweet ID(s) are unavailable".
Si estás enviando una solicitud en nombre de tu propia cuenta de X (es decir, la cuenta que es propietaria de la App de desarrollador), puedes generar los tokens de acceso necesarios directamente desde la Consola de desarrollador, en la pestaña “Keys and tokens” de la App de desarrollador.
Si estás realizando una solicitud en nombre de cualquier otro usuario, tendrás que usar el flujo OAuth con 3 pasos (3-legged OAuth) para obtener los tokens de acceso necesarios. La siguiente documentación contiene más información sobre cómo hacerlo: OAuth 1.0a: how to obtain a user’s access tokens.
Para ejemplos adicionales, incluido cómo autenticarse usando OAuth 1.0a, consulta el código de ejemplo en Python de X Developers para la Engagement API.
Cambios recientes en la Engagement API
Interpretación de las métricas
Datos de impresiones e interacción
Métricas de vídeo
- Las visualizaciones de vídeo proporcionadas por el endpoint /totals y la interfaz de usuario de X mostrarán las visualizaciones de vídeo agregadas en todas las Publicaciones en las que se haya publicado ese vídeo. Esto significa que la métrica entregada mediante /totals y mostrada en la interfaz de usuario de X incluye las visualizaciones combinadas de cualquier instancia en la que el vídeo haya sido Retweeted o republicado en Publicaciones separadas.
- Las visualizaciones de vídeo proporcionadas por los endpoints /28hour y /historical de Engagement API solo incluirán aquellas visualizaciones generadas por la Publicación específica para la cual estás obteniendo métricas.
Agrupaciones de la Engagement API
- tweet.id
- engagement.type
/28hr y /historical pueden proporcionar métricas de series temporales y, por lo tanto, admiten:
- engagement.day
- engagement.hour
group_by. Las agrupaciones que contienen cuatro valores group_by solo serán compatibles en uno de los dos formatos siguientes:
"Grand Totals" que contiene los totales generales por type de métricas:
"Tweets_MetricType_TimeSeries" que contiene las métricas desglosadas por id de Publicación, luego por tipo de métrica y la correspondiente serie temporal por horas:
Preguntas frecuentes
Enterprise
Engagement API
¿Cómo puedo acceder a la Engagement API?
¿Cómo puedo acceder a la Engagement API?
El acceso a la Engagement API se habilita a través de una suscripción empresarial. Completa este formulario para ponerte en contacto con nuestro equipo de ventas.
¿Cómo se realiza el seguimiento de mi uso por '@handle'?
¿Cómo se realiza el seguimiento de mi uso por '@handle'?
Si tu contrato incluye un límite para la cantidad de handles únicos que se pueden usar con Engagement API, el sistema interno de X llevará un seguimiento del número de usuarios autenticados propietarios de Publicaciones que se consultan con la Engagement API. Los clientes también deberían hacer un seguimiento de este número único en el lado del cliente. Actualmente, no existe ninguna API de uso ni interfaz de usuario para comprobar el uso de @handle en la Engagement API. El sistema no bloqueará los excesos de uso si se solicitan más @handles de los que se han contratado. Al final del mes de facturación, el número de @handles únicos consultados se compara con la cantidad contratada y se aplicará un cargo por exceso de uso de acuerdo con los términos del contrato.
¿Puedo comprobar mi uso de @handle para la Engagement API?
¿Puedo comprobar mi uso de @handle para la Engagement API?
Actualmente, no existe ninguna API de uso ni interfaz de usuario para comprobar el uso de @handle en la Engagement API. El sistema no bloqueará los excesos de uso si se solicitan más @handles de los que se han contratado. Al final del mes de facturación, el número de @handles únicos consultados se compara con la cantidad contratada y se aplicará un cargo por exceso de uso de acuerdo con los términos del contrato.El campo de metadatos
engagements devuelto en el payload no es igual a la suma de todos los totales de las distintas métricas de interacción. ¿Por qué ocurre esto?Esto es lo esperado. El campo de metadatos engagements puede no coincidir siempre con la suma de todas las métricas de interacción individuales devueltas por la API. Esto se debe a que el campo de metadatos engagements puede incluir interacciones adicionales que no tienen métricas específicas desglosadas en el payload. Dicho de otra manera, sumar todos los totales de las distintas métricas de interacción puede no ser igual al valor que ves en el campo de métrica engagements que se devuelve en el payload.Puedes considerar el campo de metadatos engagements como cualquier clic o interacción realizada en la Publicación.
El campo url_clicks en la respuesta del payload devuelve un número, cuando en realidad la Publicación no tiene una URL. ¿Cómo es posible?Esto puede deberse a que una Publicación que contiene algo como un hashtag (que crea un enlace a otra página) contará como un clic de URL si un usuario hace clic en él.
¿Por qué no puedo recibir datos de interacción para una Publicación específica?
¿Por qué no puedo recibir datos de interacción para una Publicación específica?
Hay varios motivos por los que podrías no poder recuperar datos de interacción para una Publicación específica, entre ellos:
- El ID o los ID de la Publicación que has solicitado no están disponibles en función del token de autenticación que estás utilizando para recuperar datos en nombre de un tercero.
- El ID o los ID de la Publicación que has solicitado específicamente para el endpoint /totals no son de 90 días o más recientes y, por lo tanto, no están disponibles para devolver las impresiones o las métricas de interacción.
- El ID o los ID de la Publicación que has solicitado ya no están disponibles, lo que suele indicar que se han eliminado o que ya no están disponibles públicamente por otro motivo.
¿Cómo puedo manejar la limitación de frecuencia con la Engagement API?
¿Cómo puedo manejar la limitación de frecuencia con la Engagement API?
Puedes usar la información
x-per-minute-limit y x-per-minute-remaining devuelta en el encabezado de la respuesta cuando haces una solicitud a la Engagement API para controlar tu consumo.x-per-minute-limit indica cuál es tu asignación y x-per-minute-remaining indica cuántas llamadas te quedan.Guía de resolución de errores
Tengo problemas para autenticarme
Tengo problemas para autenticarme
Asegúrate de revisar nuestras directrices sobre autenticación con la Engagement API.
He enviado la consumer key y el secret correctos, así como el access token y el access token secret, pero se devuelve el siguiente error. ¿Qué puedo hacer?
He enviado la consumer key y el secret correctos, así como el access token y el access token secret, pero se devuelve el siguiente error. ¿Qué puedo hacer?
¿Aún no encuentras lo que necesitas?
Tengo una pregunta que aún no ha sido respondida
Tengo una pregunta que aún no ha sido respondida
Ponte en contacto con el soporte técnico y te responderemos lo antes posible.
Referencia de la API
POST insights/engagement
Métodos
Autenticación
- Cualquier solicitud a /totals para obtener los tipos de métricas Impressions y Engagements, que están limitadas a Tweets propios
- Cualquier solicitud a /28hr
- Cualquier solicitud a /historical
- Cualquier solicitud a /totals para obtener los tipos de métricas Favorites, Replies, Retweets o Video Views, que se pueden recuperar para cualquier Tweet
- Descripción general de OAuth
- Uso de OAuth de 3 patas, también conocido como User Context
- Uso de OAuth solo de aplicación (Application-Only)
POST /insights/engagement/totals
totals permite obtener las impresiones e interacciones totales actuales para una colección de hasta 250 Tweets a la vez.