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
| Métrica | Disponibilidad del endpoint | Contexto de usuario requerido | Descripción |
|---|---|---|---|
| impressions | Todos | Sí | Número de veces que se ha visto la Publicación. Esta métrica solo está disponible para Publicaciones publicadas en los últimos 90 días. |
| engagements | Todos | Sí | Número de veces que un usuario ha interactuado con la Publicación. Esta métrica solo está disponible para Publicaciones publicadas en los últimos 90 días. |
| favorites | Todos | Sí - /28hrs & /Historical No - /totals | Número de veces que se ha marcado la Publicación como favorita. |
| retweets | Todos | Sí - /28hrs & /Historical No - /totals | Número de veces que se ha retuiteado la Publicación. |
| quote_tweets | /totals | No - /totals | Número de veces que se ha retuiteado una Publicación con un comentario (también conocido como cita). |
| replies | Todos | Sí - /28hrs & /Historical No - /totals | Número de veces que se ha respondido a la Publicación. |
| video_views | Todos | Sí - /28hrs & /Historical No - /totals | Un recuento de cuántas veces un video en la Publicación indicada ha sido visible en un 50 % durante al menos dos segundos. Las visualizaciones de video solo están disponibles para Publicaciones con una antigüedad de 1800 días o menos. Si intentas solicitar visualizaciones de video para cualquier Publicación de más de 1800 días, recibirás el siguiente objeto en tu respuesta, junto con un objeto separado que contiene cualquier otra métrica que hayas solicitado: “unsupported_for_video_views_tweet_ids”: [“TWEET_ID”] Ten en cuenta: Es posible que veas una discrepancia entre la métrica de visualizaciones de video que se muestra en las plataformas propias de X (aplicación móvil y sitio web) y el número que recibes a través de los endpoints /28hr y /historical. * Las visualizaciones de video que se muestran en la interfaz de usuario de X y con el endpoint /totals mostrarán las visualizaciones de video agregadas en todas las Publicaciones en las que se haya incluido el video en cuestión. Esto significa que la métrica mostrada en la interfaz incluye las visualizaciones combinadas de cualquier instancia en la que el video haya sido Retuiteado o republicado en Publicaciones independientes. Esta métrica no incluye visualizaciones de video en GIFs. * Las visualizaciones de video proporcionadas por los endpoints /28hr y /historical solo incluirán aquellas visualizaciones generadas por la Publicación específica para la que solicitas métricas. Esta métrica no incluye visualizaciones de video en GIFs. |
| media_views | /28hr /historical | Sí | Número total de visualizaciones (reproducción automática y por clic) de tus recursos multimedia, contabilizadas entre videos, GIF e imágenes. |
| media_engagements (antes Media Clicks) | /28hr /historical | Sí | Número de veces que se ha hecho clic en elementos multimedia, como una imagen o un video, en la Publicación. |
| url_clicks | /28hr /historical | Sí | Número de veces que se ha hecho clic en una URL de la Publicación. |
| hashtag_clicks | /28hr /historical | Sí | Número de veces que se ha hecho clic en un hashtag de la Publicación. |
| detail_expands | /28hr /historical | Sí | Número de veces que se ha hecho clic en la Publicación para ver más detalles. |
| permalink_clicks | /28hr /historical | Sí | Número de veces que se ha hecho clic en el enlace permanente de la Publicación (la página web individual dedicada a esta Publicación). |
| app_install_attempts | /28hr /historical | Sí | Número de veces que se ha registrado un evento de instalación de la App originado en la Publicación. |
| app_opens | /28hr /historical | Sí | Número de veces que se ha registrado un evento de apertura de la App originado en la Publicación. |
| email_tweet | /28hr /historical | Sí | Número de veces que se ha compartido la Publicación por correo electrónico. |
| user_follows | /28hr /historical | Sí | Número de veces que se ha seguido al usuario (autor de la Publicación) desde esta Publicación. |
| user_profile_clicks | /28hr /historical | Sí | Número de veces que se ha hecho clic en el perfil del usuario (autor de la Publicación) desde esta Publicación. |
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
| Metric | Change |
| engagements | Hemos actualizado las métricas que se agregan en el total de engagements para que coincidan con el panel de analíticas de Publicaciones. Engagements mide “las veces que las personas interactuaron con esta Publicación”. Para las Publicaciones que incluyen contenido multimedia como un video o un GIF, la métrica engagements ya no incluirá media views. Ahora puedes acceder a las visualizaciones de contenido multimedia mediante una nueva métrica, media_views. |
| media_clicks* | Esta métrica ha sido reemplazada por una nueva métrica llamada “media_engagements”. |
| video_views | Desde el 6 de julio de 2018, esta métrica está disponible para Publicaciones “no propias” a través del endpoint /totals. Esto significa que puedes acceder a las visualizaciones de video de todas las Publicaciones usando autenticación solo de App. Solo puedes solicitar visualizaciones de video de hasta 1800 días de antigüedad. Si intentas solicitar visualizaciones de video para una Publicación con más de 1800 días, recibirás lo siguiente: “unsupported_for_video_views_tweet_ids”: [“TWEET_ID”] Ten en cuenta que diferirá de media_views en que video_views se basa en el estándar MRC del 50% del video visible durante al menos dos segundos. Además, ten en cuenta que puedes observar una discrepancia entre la métrica de visualizaciones de video mostrada en las plataformas de X de titularidad y operación propia (aplicación móvil y sitio web) y el número que recibes a través de los endpoints /28hr y /historical. * Las visualizaciones de video que se muestran en la interfaz de usuario de X y que se entregan usando el endpoint /totals mostrarán la métrica de visualizaciones de video agregada entre todas las Publicaciones en las que se haya publicado ese video. Esto significa que la métrica mostrada en la IU incluye las visualizaciones combinadas de cualquier instancia en la que el video haya sido Retwitteado o vuelto a publicar en Publicaciones independientes. * Las visualizaciones de video proporcionadas por los endpoints /28hr y /historical solo incluirán aquellas visualizaciones generadas por la Publicación específica para la que estás obteniendo métricas. |
| media_views | Esto incluye todas las visualizaciones (reproducción automática y por clic) de tu contenido multimedia contabilizadas en videos, vines, gifs e imágenes. Ten en cuenta que las Publicaciones con imágenes no muestran una métrica media_views en el panel de analíticas, pero sí se devolverá en la Engagement API. |
| media_engagements* | Esto incluye el número de clics en tu contenido multimedia en videos, vines, gifs e imágenes. Esta métrica sustituye a media_clicks. |
| quote_tweets | Desde el 7 de julio de 2020, esta métrica está disponible para Publicaciones “no propias” a través del endpoint /totals. Esto significa que puedes acceder al recuento de Publicaciones con cita para todas las Publicaciones utilizando autenticación solo de App. |
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
| Método | Descripción |
|---|---|
| POST /insights/engagement/totals | Recuperar el total de impresiones e interacciones para una colección de Tweets. |
| POST /insights/engagement/historical | Recuperar impresiones e interacciones para una colección de Tweets durante un período de hasta 4 semanas, desde el 1 de septiembre de 2014. |
| POST /insights/engagement/28hr | Recuperar impresiones e interacciones para una colección de Tweets durante las últimas 28 horas. |
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.
| Método de la solicitud | HTTP POST |
| URL | https://data-api.x.com/insights/engagement/totals |
| Tipo de contenido | application/json |
| Compresión | Gzip. Para realizar una solicitud usando compresión con Gzip, envía un encabezado Accept-Encoding en la solicitud de conexión. El encabezado debería verse de la siguiente manera: Accept-Encoding: gzip |
| Formato de la solicitud POST | Las solicitudes se pueden enviar mediante una petición POST en la que el cuerpo es un objeto JSON que contiene una colección de IDs de Tweet y una agrupación deseada. El POST tiene el formato de un array con los objetos tweets, engagements y groupings. Cada solicitud puede tener un máximo de 250 IDs de Tweet. Un ejemplo de cuerpo de la petición POST es el siguiente: { “tweet_ids”: [ “Tweet ID 1”, “Tweet ID 2”, “Tweet ID 3” ], “engagement_types”: [ “impressions”, “engagements”, “favorites”, “quote_tweets” ], “groupings”: { “grouping name”: { “group_by”: [ “tweet.id”, “engagement.type” ] } } } |
| id de Tweets | Un array que incluye los ID de los Tweets para los que se recuperarán datos de interacción. Ten en cuenta que solo puedes solicitar datos de Tweets que hayan sido creados por el @handle autenticado. Puedes incluir hasta 250 Tweets por solicitud y los ID de esos Tweets deben representarse como cadenas. |
| Tipos de interacción | Un array que incluye los tipos de métricas de interacción que se consultarán. El endpoint /totals solo admite los siguientes tipos de interacción: impressions, engagements, favorites, retweets, quote_tweets, replies, video_views. El endpoint /totals permite recuperar impressions y engagements para Tweets creados en los últimos 90 días, y favorites, retweets, quote_tweets, replies y video_views para cualquier Tweet. |
| Agrupaciones | Los resultados de la Engagement API se pueden devolver en diferentes grupos para adaptarse mejor a tus necesidades. Puedes incluir un máximo de 3 agrupaciones por solicitud. Para cada agrupación, puedes definir un nombre de agrupación personalizado para que sea más fácil hacer referencia a este tipo de agrupación en tu aplicación. Una vez que hayas definido un nombre de agrupación, puedes elegir agrupar por tweet.id y/o engagement.type. Las agrupaciones se aplican de forma secuencial, de modo que puedes cambiar el formato del resultado deseado cambiando el orden de tus valores group_by. Un ejemplo de agrupación que mostrará las métricas separadas por ID de Tweet y tipo de métrica es el siguiente: “groupings”: { “my grouping name”: { “group_by”: [ “tweet.id”, “engagement.type” ] } } |
| Límite de tamaño de la solicitud POST | Puedes realizar solicitudes para un máximo de 250 ID de Tweets a la vez. |
| Formato de la respuesta | JSON. El encabezado de la solicitud debe especificar JSON como formato de respuesta. |
| Límite de uso | Estarás sujeto a límites de frecuencia por minuto, según lo establecido en tu contrato y de acuerdo con tu nivel de acceso. |
| Ejemplo de solicitud (métricas públicas) | curl —request POST —url https://data-api.x.com/insights/engagement/totals —header ‘accept-encoding: gzip’ —header ‘authorization: Bearer ’ —header ‘content-type: application/json’ —data ’{ “tweet_ids”: [ “1070059276213702656”,“1021817816134156288”,“1067094924124872705” ], “engagement_types”: [ “favorites”,“retweets”,“replies”,“quote_tweets”,“video_views” ], “groupings”: { “perTweetMetricsUnowned”: { “group_by”: [ “tweet.id”, “engagement.type” ] } } } —verbose —compressed |
| Ejemplo de solicitud | curl —request POST —url https://data-api.x.com/insights/engagement/totals —header ‘accept-encoding: gzip’ —header ‘authorization: OAuth oauth_consumer_key=“consumer-key-for-app”,oauth_nonce=“generated-nonce”,oauth_signature=“generated-signature”,oauth_signature_method=“HMAC-SHA1”, oauth_timestamp=“generated-timestamp”,oauth_token=“access-token-for-authed-user”, oauth_version=“1.0”’ —header ‘content-type: application/json’ —data ’{ “tweet_ids”: [ “1060976163948904448”,“1045709644067471360” ], “engagement_types”: [ “favorites”,“replies”,“retweets”,“video_views”,“impressions”,“engagements” ], “groupings”: { “perTweetMetricsOwned”: { “group_by”: [ “tweet.id”, “engagement.type” ] } } }’ —verbose —compressed |
| Ejemplo de respuesta (métricas públicas) | { “perTweetMetricsUnowned”: { “1021817816134156288”: { “favorites”: “530”, “quote_tweets”: “79”, “replies”: “147”, “retweets”: “323”, “video_views”: “0” }, “1067094924124872705”: { “favorites”: “1360”, “quote_tweets”: “29”, “replies”: “56”, “retweets”: “178”, “video_views”: “5754512” }, “1070059276213702656”: { “favorites”: “69”, “quote_tweets”: “5”, “replies”: “7”, “retweets”: “26”, “video_views”: “0” } } } |
| Ejemplo de respuesta | { “perTweetMetricsOwned”: { “1045709644067471360”: { “engagements”: “2”, “favorites”: “0”, “impressions”: “47”, “replies”: “0”, “retweets”: “8”, “quote_tweets”: “5”, “video_views”: “0” }, “1060976163948904448”: { “engagements”: “4”, “favorites”: “0”, “impressions”: “148”, “replies”: “1”, “retweets”: “9”, “quote_tweets”: “2”, “video_views”: “0” } } } |
| id de Tweets no disponibles | Para consultas que incluyan IDs de Tweet que ya no estén disponibles (por ejemplo, porque se hayan eliminado), se devolverán los datos correspondientes para todos los IDs de Tweet disponibles, y los IDs de Tweet no disponibles se indicarán en un array llamado unavailable_tweet_ids. Por ejemplo: { “start”: “2015-11-17T22:00:00Z”, “end”: “2015-11-19T02:00:00Z”, “unavailable_tweet_ids”: [ “323456789” ], “group1”: { “423456789”: { “favorites”: “67”, “replies”: “8”, “retweets”: “26”, “quote_tweets”: “2” } } } |
POST /insights/engagement/28hr
| Método de la solicitud | HTTP POST |
| URL | https://data-api.x.com/insights/engagement/28hr |
| Tipo de contenido | application/json |
| Compresión | Gzip. Para realizar una solicitud con compresión Gzip, incluye un encabezado Accept-Encoding en la solicitud de conexión. El encabezado debería verse de la siguiente manera: Accept-Encoding: gzip |
| Formato de la solicitud POST | Las solicitudes se pueden enviar como una solicitud POST, donde el cuerpo es un objeto JSON que contiene una colección de IDs de Tweet y una agrupación deseada. El POST se estructura como un array que contiene los objetos tweets, engagements y groupings. Cada solicitud puede tener un máximo de 25 IDs de Tweet. Un ejemplo de cuerpo de la solicitud POST es el siguiente: { “tweet_ids”: [ “Tweet ID 1”, “Tweet ID 2”, “Tweet ID 3” ], “engagement_types”: [ “impressions”, “engagements”, “url_clicks”, “detail_expands” ], “groupings”: { “grouping name”: { “group_by”: [ “tweet.id”, “engagement.type”, “engagement.hour” ] } } } |
| IDs de Tweet | Una matriz (array) que incluye los ids de los Tweets para los Tweets sobre los que se consultarán datos de interacción. Ten en cuenta que solo puedes solicitar datos de Tweets que hayan sido creados por el @handle que se está autenticando. El endpoint de 28 horas admite hasta un máximo de 25 Tweets por solicitud, y los ids de los Tweets deben enviarse como cadenas. |
| Tipos de interacción | Un array de tipos de métricas de interacción que se van a consultar. Para el endpoint de 28 horas, impressions, engagements y todos los tipos individuales de interacción son métricas admitidas. Para ver la lista completa de métricas de interacción admitidas, consulta Engagement Data. |
| Agrupaciones | Los resultados de la Engagement API se pueden devolver en diferentes grupos para adaptarse mejor a tus necesidades. Puedes incluir un máximo de 3 agrupaciones por solicitud. Para cada agrupación, puedes definir un nombre de agrupación personalizado para que sea más fácil hacer referencia a este tipo de agrupación en tu aplicación. Una vez que hayas definido un nombre de agrupación, puedes optar por agrupar por uno o más de los siguientes valores: tweet.id engagement.type engagement.day engagement.hour Las agrupaciones se aplican de forma secuencial, de modo que puedes cambiar el formato de resultado deseado cambiando el orden de tus valores de group_by. Un ejemplo de agrupación que mostrará las métricas separadas por ID del Tweet, tipo de métrica y día se ve así: “groupings”: { “my grouping name”: { “group_by”: [ “tweet.id”, “engagement.type”, “engagement.day” ] } } Las agrupaciones que tienen 4 elementos group_by solo son válidas si usan uno de los dos órdenes siguientes. Las solicitudes que tengan 4 elementos group_by en una sola agrupación que no coincidan con uno de los siguientes órdenes devolverán un error. Además, solo se permitirá una agrupación con 4 elementos group_by por solicitud. “group_by”: [ “tweet.id”, “engagement.type”, “engagement.day”, “engagement.hour” ] “group_by”: [ “engagement.type”, “tweet.id”, “engagement.day”, “engagement.hour” ] |
| Límite de tamaño de la solicitud POST | Puedes realizar solicitudes para un máximo de 25 ids de Tweet a la vez. |
| Formato de la respuesta | JSON. El encabezado de la solicitud debe indicar JSON como formato de la respuesta. |
| Límite de solicitudes | Estarás sujeto a límites de uso por minuto, según lo especificado en tu contrato y de acuerdo con tu nivel de acceso. |
| Ejemplo de solicitud | curl -X POST “https://data-api.x.com/insights/engagement/28hr” -H ‘Accept-Encoding: gzip’ -H ‘Authorization OAuth oauth_consumer_key=“consumer-key-for-app”,oauth_nonce=“generated-nonce”,oauth_signature=“generated-signature”,oauth_signature_method=“HMAC-SHA1”, oauth_timestamp=“generated-timestamp”,oauth_token=“access-token-for-authed-user”, oauth_version=“1.0”’ -d ’{ “tweet_ids”: [ “123456789” ], “engagement_types”: [ “impressions”, “engagements” ], “groupings”: { “hourly-time-series”: { “group_by”: [ “tweet.id”, “engagement.type”, “engagement.day”, “engagement.hour” ] } } }‘ |
| Ejemplo de respuesta | { “inicio”:“2015-09-14T17:00:00Z”, “end”:“2015-09-15T22:00:00Z”, “hourly-time-series”:{ “123456789”:{ “impresiones”:{ “2015-09-14”:{ “17”:“551”, “18”:“412”, “19”:“371”, “20”:“280”, “21”:“100”, “22”:“19”, “23”:“6” }, “2015-09-15”:{ “00”:“5”, “01”:“2”, “02”:“7”, “03”:“3”, “04”:“1”, “05”:“0”, “06”:“0”, “07”:“0”, “08”:“0”, “09”:“0”, “10”:“0”, “11”:“0”, “12”:“0”, “13”:“0”, “14”:“0”, “15”:“0”, “16”:“0”, “17”:“0”, “18”:“0”, “19”:“0”, “20”:“0”, “21”:“0” } }, “interacciones”:{ “2015-09-14”:{ “17”:“0”, “18”:“0”, “19”:“0”, “20”:“0”, “21”:“0”, “22”:“0”, “23”:“0” }, “2015-09-15”:{ “00”:“0”, “01”:“0”, “02”:“0”, “03”:“0”, “04”:“0”, “05”:“0”, “06”:“0”, “07”:“0”, “08”:“0”, “09”:“0”, “10”:“0”, “11”:“0”, “12”:“0”, “13”:“0”, “14”:“0”, “15”:“0”, “16”:“0”, “17”:“0”, “18”:“0”, “19”:“0”, “20”:“0”, “21”:“0” } } } } } |
| ID de Tweets no disponibles | Para las consultas que incluyan ID de Tweets que ya no estén disponibles (por ejemplo, porque se hayan eliminado), se devolverán los datos correspondientes para todos los ID de Tweets disponibles y los ID de Tweets no disponibles se indicarán en un array llamado unavailable_tweet_ids. Por ejemplo: { “start”: “2015-11-17T22:00:00Z”, “end”: “2015-11-19T02:00:00Z”, “unavailable_tweet_ids”: [ “323456789” ], “group1”: { “423456789”: { “favorites”: “67”, “replies”: “8”, “retweets”: 26 } } } |
POST /insights/engagement/historical
| Método de solicitud | HTTP POST |
| URL | https://data-api.x.com/insights/engagement/historical |
| Tipo de contenido | application/json |
| Compresión | Gzip. Para realizar una solicitud mediante compresión Gzip, envía un encabezado Accept-Encoding en la solicitud de conexión. El encabezado debe tener el siguiente formato: Accept-Encoding: gzip |
| Formato de la solicitud POST | Las solicitudes se pueden enviar como una solicitud POST cuyo cuerpo es un objeto JSON que contiene un conjunto de IDs de Tweet y una agrupación deseada. El POST se formatea como un arreglo con un objeto tweets, engagements y groupings. Cada solicitud puede tener un máximo de 25 IDs de Tweet. Cada solicitud se puede especificar con fechas de inicio y fin personalizadas de hasta cuatro semanas de duración. { “tweet_ids”: [ “Tweet ID 1”, “Tweet ID 2”, “Tweet ID 3” ], “engagement_types”: [ “impressions”, “engagements”, “url_clicks”, “detail_expands” ], “groupings”: { “grouping name”: { “group_by”: [ “tweet.id”, “engagement.type”, “engagement.hour” ] } } } |
| Fechas de inicio y fin | Se puede especificar una fecha de inicio y de fin personalizada con los valores start y end como parte de la solicitud. Debe especificar una fecha de inicio y una fecha de fin cuya duración no sea superior a 4 semanas. La fecha de inicio más antigua posible en este momento es el 1 de septiembre de 2014. No se admiten fechas de fin en el futuro. Si no se proporcionan una fecha de inicio y una fecha de fin, la API tomará por defecto las 4 semanas inmediatamente anteriores. La granularidad más baja con la que se pueden devolver datos de la Engagement API es por hora. Para cualquier solicitud realizada con valores de inicio o fin que no caigan exactamente en un límite horario, las solicitudes se redondearán a la hora inclusiva más cercana. Por ejemplo, una solicitud con “start”:“2015-07-01T12:24:00Z” y “end”:“2015-07-10T08:37:00Z” se ajustará a “start”:“2015-07-01T12:00:00Z”,“end”:“2015-07-10T09:00:00Z”. |
| ID de Tweets | Una matriz que contiene los id de los Tweets para los que se recuperarán datos de interacción. Ten en cuenta que solo puedes solicitar datos de Tweets que hayan sido creados por el @handle utilizado para la autenticación. El endpoint histórico de 4 semanas permite hasta un máximo de 25 Tweets por solicitud, y los id de los Tweets deben representarse como cadenas. |
| Tipos de interacción | Una matriz que incluye los tipos de métricas de interacción que se van a consultar. Para el endpoint histórico de 4 semanas, impressions, engagements y todos los tipos de interacción individuales son métricas admitidas. Para ver la lista completa de métricas de interacción admitidas, consulta Datos de interacción. Nota: Actualmente hay tres métricas que aparecerán con valor cero para las consultas realizadas antes del 15 de septiembre de 2015: favorites, replies y retweets. |
| Agrupaciones | Los resultados de la Engagement API se pueden devolver en diferentes grupos para adaptarse mejor a tus necesidades. Puedes incluir un máximo de 3 agrupaciones por solicitud. Para cada agrupación, puedes definir un nombre de agrupación personalizado para que sea más fácil hacer referencia a este tipo de agrupación en tu aplicación. Una vez que hayas definido un nombre de agrupación, puedes elegir agrupar por uno o más de los siguientes valores: tweet.id engagement.type engagement.day engagement.hour Las agrupaciones se aplican de forma secuencial, de modo que puedes cambiar el formato de resultado deseado cambiando el orden de tus valores group_by. Un ejemplo de agrupación que mostrará las métricas separadas por ID de Tweet, tipo de métrica y día tiene el siguiente formato: “groupings”: { “my grouping name”: { “group_by”: [ “tweet.id”, “engagement.type”, “engagement.day” ] } } Las agrupaciones que tienen 4 elementos group_by solo son válidas si utilizan uno de los dos órdenes siguientes. Las solicitudes que tengan 4 elementos group_by en una sola agrupación y que no sigan uno de los siguientes órdenes devolverán un error. Además, solo se permitirá una agrupación con 4 elementos group_by por solicitud. “group_by”: [ “tweet.id”, “engagement.type”, “engagement.day”, “engagement.hour” ] “group_by”: [ “engagement.type”, “tweet.id”, “engagement.day”, “engagement.hour” ] |
| Límite de tamaño de la solicitud POST | Puedes realizar solicitudes para un máximo de 25 id de Tweets a la vez. |
| Formato de la respuesta | JSON. El encabezado de tu solicitud debe indicar el formato JSON para la respuesta. |
| Límite de solicitudes | Estarás sujeto a límites de frecuencia por minuto, según se especifique en tu contrato y en función de tu nivel de acceso. |
| Ejemplo de solicitud | curl -XPOST “https://data-api.x.com/insights/engagement/historical” -H ‘Accept-Encoding: gzip’ -H ‘Authorization OAuth oauth_consumer_key=“consumer-key-for-app”,oauth_nonce=“generated-nonce”,oauth_signature=“generated-signature”,oauth_signature_method=“HMAC-SHA1”, oauth_timestamp=“generated-timestamp”,oauth_token=“access-token-for-authed-user”, oauth_version=“1.0”’ -d ’{ “start”: “2015-08-01”, “end”: “2015-08-15”, “tweet_ids”: [ “123456789”, “223456789”, “323456789” ], “engagement_types”: [ “impressions”, “engagements”, “url_clicks”, “detail_expands” ], “groupings”: { “types-by-tweet-id”: { “group_by”: [ “tweet.id”, “engagement.type” ] } } }‘ |
| Ejemplo de respuesta | { “start”: “2015-08-01T00:00:00Z”, “end”: “2015-08-15T00:00:00Z”, “types-by-tweet-id”: { “123456789”: { “impressions”: “0”, “engagements”: “0”, “url_clicks”: “0”, “detail_expands”: “0” }, “223456789”: { “impressions”: “788”, “engagements”: “134”, “url_clicks”: “30”, “detail_expands”: “1323” }, “323456789”: { “impressions”: “4”, “engagements”: “0”, “url_clicks”: “2”, “detail_expands”: “0” } } } |
| IDs de Tweet no disponibles | Para las consultas que incluyan IDs de Tweet que hayan dejado de estar disponibles (por ejemplo, porque se hayan eliminado), se devolverán los datos correspondientes para todos los IDs de Tweet disponibles, y los IDs de Tweet no disponibles se indicarán en un arreglo llamado unavailable_tweet_ids. Por ejemplo:{ “start”: “2015-11-17T22:00:00Z”, “end”: “2015-11-19T02:27:50Z”, “unavailable_tweet_ids”: [ “323456789” ], “group1”: { “423456789”: { “favorites”: “67”, “replies”: “8”, “retweets”: 26 } } } |
Códigos de respuesta
| Estado | Texto | Descripción |
|---|---|---|
| 200 | OK | La solicitud se realizó correctamente. |
| 400 | Bad Request | En general, esta respuesta se produce debido a la presencia de JSON no válido en la solicitud, o cuando la solicitud no envía ningún JSON en el cuerpo. |
| 401 | Unauthorized | La autenticación HTTP falló porque las credenciales no son válidas. Verifica tus claves y tokens de OAuth. |
| 404 | Not Found | El recurso no se encontró en la URL a la que se envió la solicitud, probablemente porque se utilizó una URL incorrecta. |
| 429 | Too Many Requests | Tu app ha superado el límite de solicitudes a la API. |
| 500 | Internal Server Error | Se produjo un error del lado de Gnip. Vuelve a intentar tu solicitud utilizando un patrón de reintentos con backoff exponencial. |
| 502 | Proxy Error | Se produjo un error del lado de Gnip. Vuelve a intentar tu solicitud utilizando un patrón de reintentos con backoff exponencial. |
| 503 | Service Unavailable | Se produjo un error del lado de Gnip. Vuelve a intentar tu solicitud utilizando un patrón de reintentos con backoff exponencial. |
Mensajes de error
| Mensaje de error | Descripción |
|---|---|
"errors":["Your account could not be authenticated. Reason: Access token not found"] | Un error en el componente de autenticación de la solicitud. El “Reason” debería proporcionar información útil para solucionar el error. En los casos en los que no puedas resolverlo, envía el error completo, incluido el “Reason”, a nuestro equipo de soporte. |
"errors":["1 Tweet ID(s) are unavailable"],"unavailable_tweet_ids": ["TWEET_IDS"] | El ID de Tweet o los IDs de Tweet que has solicitado ya no están disponibles, lo que normalmente indica que se han eliminado o que ya no están disponibles públicamente por otro motivo. |
"errors":["Impressions & engagements for tweets older than 90 days (*TIME_PERIOD*) are not supported"],"unsupported_for_impressions_engagements_tweet_ids":[*TWEET_IDS*] | El ID de Tweet o los IDs de Tweet que has solicitado específicamente para el endpoint /totals tienen más de 90 días de antigüedad y, por lo tanto, no están disponibles para devolver las métricas de impresiones o de engagement. |
"errors":["Forbidden to access tweets: *TWEET_IDS*"] | El ID de Tweet o los IDs de Tweet 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. |