Saltar al contenido principal

Introducción

Con el lanzamiento de la versión v2 de la X API, hemos adoptado un nuevo formato de respuesta de data y un método para solicitar diferentes objetos y fields, al que simplemente llamamos el formato de la X API v2.  En la sección de diferencias generales, puede conocer algunos cambios que son relevantes para usuarios estándar y empresariales. Sin embargo, también preparamos una guía específica para el formato nativo estándar v1.1, el formato Native Enriched para Enterprise y el formato Activity Streams para Enterprise, que ayuda a mapear fields y explica qué fields y expansions debe usar para solicitar los nuevos fields de v2.  También puede estar interesado en nuestra herramienta visual de migración de formatos de data, para ayudarle a ver rápidamente las diferencias entre el formato de data de X API v1.1 y el formato de X API v2.

Diferencias generales

Solicitud de objetos y fields

Uno de los cambios más importantes entre los endpoints anteriores a v2 y v2 es que la versión más reciente solo devuelve unos pocos fields de forma predeterminada, mientras que los endpoints estándar, premium y Empresarial devuelven la mayoría de los fields por defecto. La nueva versión utiliza los parámetros fields y expansions para solicitar específicamente data adicional más allá de los valores predeterminados, lo que significa que puedes pedir solo la data que necesitas sin tener que incorporar fields que no te interesan. Cualquier fields que solicites y que se relacione con el objeto de data principal se devolverá en ese objeto de data principal junto con los valores predeterminados. Sin embargo, si solicitas objetos expandidos mediante el parámetro expansions, los objetos secundarios se devolverán en un nuevo objeto includes. Puedes hacer coincidir los objetos expandidos en el objeto includes con el objeto principal usando el campo id, que se devolverá en ambos. Por ejemplo, si estás usando el endpoint de v2 Post lookup e incluyes el parámetro expansions=author_id en tu solicitud, recibirás el campo author_id dentro del objeto Post principal, así como un objeto de usuario por Post en el objeto includes, cada uno de los cuales incluirá el campo predeterminado id que se puede usar para hacer coincidir el objeto de usuario con el objeto Post. Aquí tienes un ejemplo de cómo se ve esto:
{
  "data": [
    {
      "author_id": "2244994945",
      "id": "1397568983931392004",
      "text": "La Plataforma de Desarrolladores de X. ¡Ooh la la! https://t.co/iGTdPXBfOv https://t.co/Ze8z8EODdg"
    }
  ],
  "includes": {
    "users": [
      {
        "id": "2244994945",
        "name": "X Dev",
        "username": "XDev"
      }
    ]
  }
}

Diseño JSON actualizado

Además de los cambios en cómo solicitas ciertos campos, X API v2 también introduce nuevos diseños JSON para los objetos devueltos por las API, incluidos los objetos Post y user.
  • En el nivel raíz de JSON, los endpoints estándar devuelven objetos Post en un arreglo statuses, mientras que X API v2 devuelve un arreglo data.
  • En lugar de referirse a “statuses” Retweeted y Quoted, el JSON de X API v2 se refiere a Tweets Retweeted y Quoted. Muchos campos heredados y en desuso, como contributors y user.translator_type, se están eliminando.
  • En lugar de usar tanto favorites (en el objeto Post) como favourites (en el objeto user), X API v2 usa el término like.
  • X está adoptando la convención de que los valores JSON sin valor (por ejemplo, null) no se escriben en la carga útil. Los atributos de Post y user solo se incluyen si tienen valores no nulos.   

Nuevos campos de v2

También incorporamos un nuevo conjunto de campos al objeto Post que incluye lo siguiente:
  • Un campo conversation_id
  • Dos nuevos campos de annotations, incluidos context y entities
  • Varios campos nuevos de metrics
  • Un nuevo campo reply_setting, que muestra quién puede responder a un Post determinado

Migrar del formato de datos estándar de v1.1 a v2

Si aún no lo has hecho, te recomendamos leer primero la introducción sobre migración de formatos de datos. También puede interesarte nuestra herramienta visual de migración de formatos de datos, que te ayudará a ver rápidamente las diferencias entre el formato de datos de X API v1.1 y el formato de X API v2. El formato de datos estándar de v1.1, también conocido como formato nativo, es el formato principal que se entrega con los endpoints de la v1.1 estándar. Si utilizas el producto premium, consulta la guía de nativo enriquecido. Los clientes Empresarial podrían estar usando nativo enriquecido o activity streams, según cómo estén configurados en la consola de Gnip. 

Estructura de payload estándar v1.1 vs v2

La siguiente tabla muestra los objetos y el formato de alto nivel que puedes esperar recibir de v2 en comparación con el formato v1.1.
estructura v1.1estructura v2
Predeterminado{
todos los campos del objeto Tweet,
“entities”: {
“hashtags”: [],
“symbols”: [],
“user_mentions”: [],
“urls”: [],
“media”: []
},
“extended_entities”: ,
“user”: ,
“place”: ,
“retweeted_status/quoted_status”
}
{
“data”: [{
“id”,
“text”,

“edit_history_tweet_ids”
}]
}
Con parámetros definidos de fields and expansions{
“data”: [{
campos del objeto Tweet,
“entities”: {
“hashtags”: [],
“cashtags”: [],
“mentions”: [],
“urls”: [],
},
“attachments”: {

“media_keys”: [],

“poll_ids”: []

}
}],
“includes”: [
“tweets”: [objetos Tweet],
“users”: [objetos User],
“media”: [objetos Media],
“places”: [objetos Place],

“polls”: [objetos Poll]
],

“matching_rules”: []
}
Asignación de campos La siguiente sección describe qué campos de v1.1 se corresponden con campos de v2 y qué parámetros de v2 se requieren para recibir el nuevo campo.  

Objeto Tweet

Formato de Twitter 1.1Formato de Twitter v2Parámetros obligatorios de v2
created_atdata.created_attweet.fields=created_at
idN/D id es una cadena
id_strdata.idpredeterminado
textdata.textpredeterminado
full_textN/D text incluye el texto completo
truncatedN/D text incluye el texto completo
display_text_rangeN/D text incluye el texto completo
edit_historydata.edit_history_tweet_idspredeterminado
edit_controlsdata.edit_controlstweet.fields=edit_controls
editabledata.edit_controls.is_edit_eligibletweet.fields=edit_controls
entitiesdata.entitiestweet.fields=entities
entities.user_mentionsdata.entities.mentionstweet.fields=entities
entities.symbolsdata.entities.cashtagstweet.fields=entities
entities.hashtagsdata.entities.hashtagstweet.fields=entities
entities.urlsdata.entities.urlstweet.fields=entities
entities.mediaincludes.mediaexpansions=attachments.media_keys
extended_entitiesdata.attachmentstweet.fields=attachments
in_reply_to_status_idN/D referenced_tweets.id es una cadena
in_reply_to_status_id_strdata.referenced_tweets.id (si type=replied_to)expansions=referenced_tweets.id
in_reply_to_user_idN/D in_reply_to_user_id es una cadena
in_reply_to_user_id_strdata.in_reply_to_user_idtweet.fields=in_reply_to_user_id
in_reply_to_screen_nameincludes.users..usernametweet.fields=in_reply_to_user_id&expansions=entities.mentions.username
userincludes.usersexpansions=author_id
geodata.geo.place_idtweet.fields=geo
coordinatesdata.geo.place_idexpansions=geo.place_id
placedata.geo.place_idexpansions=geo.place_id
retweeted_statusdata.referenced_tweets.id (si type=retweeted)expansions=referenced_tweets.id
is_quoted_statusNo disponible
quoted_status_idN/D referenced_tweets.id es una cadena
quoted_status_id_strdata.referenced_tweets.id (si type=quoted)expansions=referenced_tweets.id
quoted_status_permalinkNo disponible
quoted_statusdata.referenced_tweets (si type=quoted)expansions=referenced_tweets.id
retweet_countdata.public_metrics.retweet_counttweet.fields=public_metrics
favorite_countdata.public_metrics.like_counttweet.fields=public_metrics
favoritedNo disponible
retweetedNo disponible
possibly_sensitivedata.possibly_sensitivetweet.fields=possibly_sensitive
langdata.langtweet.fields=lang
scopesNo disponible
withhelddata.withheldtweet.fields=withheld
Ejemplo
Objeto Tweet en 1.1

Ejemplo de URI con parámetros:

https://api.x.com/1.1/statuses/lookup.json?id=1359554366051504129&tweet_mode=extended
Objeto Tweet y solicitud en v2

Ejemplo de URI con parámetros:

https://api.x.com/2/tweets?ids=1359554366051504129&tweet.fields=attachments,author_id,context_annotations,conversation_id,created_at,entities,geo,id,in_reply_to_user_id,lang,possibly_sensitive,public_metrics,referenced_tweets,reply_settings,text,withheld
{
“creado_en”:“mié feb 10 17:26:34 +0000 2021”,
“id”: 1359554366051504129,
“id_str”:“1359554366051504129”,
“texto”:“Adelante, sigue otra cuenta de perritos. No te juzgaremos. \n\nPresentamos los endpoints para gestionar follows en la nueva… https://t.co/3cBZKZUevF”,
“truncado”: true,
“entidades”:{
“hashtags”: [],
“símbolos”: [],
“usuario_menciones”: [],
“URL”: [{
“url”:“https://t.co/3cBZKZUevF”,
“ampliado_url”:“https://twitter.com/i/web/status/1359554366051504129”,
“pantalla_url”:“twitter.com/i/web/status/1…”,
“índices”: [
111,
134
]
}]
},

“en_responder_a_estado_id”: null,
“en_responder_a_estado_id_str”: null,
“en_responder_a_usuario_id”: null,
""en_respuesta_a_usuario_id_str”: null,
“en_respuesta_a_pantalla_nombre”: null,
“usuario”:{

},
“geo”: null,
“coordenadas”: null,
“lugar”: null,
“colaboradores”: null,
“es_cita textual_estado”: false,
“retuit_conteo”: 18,
“favorito_recuento”: 98,
“marcado como favorito”: false,
“reemiteado”: false,
“posiblemente_sensible”: false,
“posiblemente_sensible (contenido delicado)_susceptible de apelación”: false,
“lenguaje”:“es”
}
{
“data”: [{
“id”:“1359554366051504129”,
“texto”:“Adelante, sigue otra cuenta de cachorros. No te juzgaremos. \n\nPresentamos los endpoints para gestionar seguimientos en la nueva #TwitterAPI. Ahora puedes usar la API v2 para seguir y dejar de seguir cuentas. Más informaciónhttps://t.co/mtpd9VIMDa”,
“lengua”:“es”,
“conversación_id”:“1359554366051504129”,
“posiblemente_sensible”: false,
“respuesta_ajustes”:“todos”,
“creado_en”:“2021-02-10T17:26:34.000Z”,
“autor/a_id”:“2244994945”,
“público_métricas”:{
“retuit_recuento”: 18,
“respuesta_recuento”: 11,
“me gusta_recuento”: 98,
“cita_conteo”: 7
},
“entidades”:{
“hashtags”: [{
“iniciar”: 110,
“fin”: 121,
“tag”:“TwitterAPI”
}],
“urls”: [{
“comenzar”: 194,
“fin”: 217,
“URL”:“https://t.co/mtpd9VIMDa”,
“ampliado_url”:“https://devcommunity.x.com/t/introducing-the-new-manage-follows-endpoints-to-the-twitter-api-v2/149465”,
“mostrar_url”:“devcommunity.com/t/presentando-…”,
“Imágenes”: [{
“url”:“https://pbs.twimg.com/news_img/1359554367905427457/DczC72__?format=jpg&name=orig”,
“ancho”: 1200,
“altura”: 630
},
{
“url”:“https://pbs.twimg.com/news_img/1359554367905427457/DczC72__?format=jpg&name=150x150”,
“ancho”: 150,
“altura”: 150
}
],
“estado”: 200,
“Título”:“Presentación de los nuevos endpoints de gestión de follows en X API v2”,
“Descripción”:“¿Seguir o no seguir? Ahora puedes responder a esa pregunta como prefieras usando la X API v2. Hoy nos complace anunciar el lanzamiento de los nuevos endpoints para gestionar seguimientos en la nueva X API. Tal como adelantamos cuando lanzamos los endpoints de consulta de seguimientos hace poco más de un mes, la capacidad de gestionar relaciones de seguimiento ya está disponible. Estos son algunos de nuestros endpoints más populares en nuestras APIs v1.1, así que estamos entusiasmados de habilitar una amplia variedad de casos de uso en X API v2. W…”,
“desenrollado_url”:“https://devcommunity.x.com/t/introducing-the-new-manage-follows-endpoints-to-the-twitter-api-v2/149465
}]
},
“contexto_anotaciones”: [{
“dominio”:{
“id”:“46”,
“nombre”:“Categoría de la marca”,
“Descripción”:“Categorías dentro de verticales de marca que acotan el alcance de las marcas”
},
“entidad”:{
“id”:“781974596752842752”,
“nombre”:“Servicios”
}
},
{
“dominio”:{
“id”:“47”,
“nombre”:“Marca”,
“Descripción”:“Marcas y compañías”
},
“entidad”:{
“id”:“10045225402”,
“nombre”:“Twitter”
}
}
]
}]
}

Objeto de usuario

Formato de Twitter 1.1Formato de Twitter v2Parámetros v2 obligatorios
user_iddata.author_idtweet.fields=author_id
user.idN/A usa includes.users.id
user.id_strincludes.users.idexpansions=author_id
user.nameincludes.users.nameexpansions=author_id
user.screen_nameincludes.users.usernameexpansions=author_id
user.locationincludes.users.locationexpansions=author_id&user.fields=location
user.descriptionincludes.users.descriptionexpansions=author_id&user.fields=description
user.urlincludes.users.urlexpansions=author_id&user.fields=entities
user.entitiesincludes.users.entities
user.entities.url.urls.urlincludes.users.entities.url.urls.url
user.entities.url.urls.expanded_urlincludes.users.entities.url.urls.expanded_urlexpansions=author_id&user.fields=entities
user.entities.url.urls.display_urlincludes.users.entities.url.urls.display_urlexpansions=author_id&user.fields=entities
user.entities.url.urls.display_url.indicies[0]includes.users.entities.url.urls.startexpansions=author_id&user.fields=entities
user.entities.url.urls.display_url.indicies[1]includes.users.entities.url.urls.endexpansions=author_id&user.fields=entities
user.protectedincludes.users.protectedexpansions=author_id&user.fields=protected
user.followers_countincludes.users.public_metrics.followers_countexpansions=author_id&user.fields=public_metrics
user.friends_countincludes.users.public_metrics.following_countexpansions=author_id&user.fields=public_metrics
user.listed_countincludes.users.public_metrics.listed_countexpansions=author_id&user.fields=public_metrics
user.created_atincludes.users.created_atexpansions=author_id&user.fields=created_at
user.favourites_count
user.verifiedincludes.users.verifiedexpansions=author_id&user.fields=verified
user.statuses_countincludes.users.public_metrics.tweet_countexpansions=author_id&user.fields=public_metrics
user.profile_image_url_httpsincludes.users.profile_image_urlexpansions=author_id&user.fields=profile_image_url
Ejemplo
Objeto User en 1.1Objeto User y solicitud con v2
”usuario”:{
“id”: 2244994945,
“id_str”:“2244994945”,
“nombre”:“X Dev”,
“pantalla_nombre”:“TwitterDev”,
“ubicación”:“127.0.0.1”,
“descripción”:“La voz del equipo de #TwitterDev y tu fuente oficial de actualizaciones, noticias y eventos relacionados con la #TwitterAPI.”,
“url”:“https://t.co/3ZX3TNiZCY”,
“entidades”:{
“url”:{
“URL”: [{
“url”:“https://t.co/3ZX3TNiZCY”,
“ampliado_URL”:“https://developer.x.com/en/community
https://developer.x.com/es/community”,
“visualización_url”:“developer.x.com/es/community”,
“índices”: [
0,
23
]
}]
},
“Descripción”:{
“URLs”: []
}
},
“protegido”: false,
“seguidores_recuento”: 517232,
“amigos_recuento”: 2032,
“incluido en la lista_conteo”: 1722,
“creado_en”:“sáb, 14 dic 2013 04:35:55 +0000”,
“favoritos_recuento”: 2134,
“UTC_desfase”: null,
“hora_zona”: null,
“geo_activado”: true,
“verificado”: true,
“estados_conteo”: 3677,
“idioma”: null,
“personas colaboradoras_activado”: false,
“es_traductor”: false,
“es_traducción_activado”: false,
“perfil_antecedentes_color”:“FFFFFF”,
“perfil_contexto_imagen_url”:“http://abs.twimg.com/images/themes/theme1/bg.png”,
“perfil_contexto_imagen_url_https”:“https://abs.twimg.com/images/themes/theme1/bg.png”,
“perfil_antecedentes_mosaico”: false,
“perfil_imagen_url”:“http://pbs.twimg.com/profile_images/1354494203451961345/d8HkZl6p_normal.jpg”,
“perfil_imagen_url_https”:“https://pbs.twimg.com/profile_images/1354494203451961345/d8HkZl6p_normal.jpg”,
“perfil_banner_URL”:“https://pbs.twimg.com/profile_banners/2244994945/1611792896”,
“perfil_vínculo_color”:“0084B4”,
“perfil_barra lateral_borde_color”:“FFFFFF”,
“perfil_barra lateral_completar_color”:“DDEEF6”,
“perfil_texto_color”:“333333”,
“perfil_uso_contexto_imagen”: false,
“tiene_ampliado_perfil”: true,
“predeterminado_perfil”: false,
“predeterminado_perfil_imagen”: false,
“siguiendo”: null,
“seguir_petición_enviado”: null,
“Notificaciones”: null,
“traductor_tipo”:“estándar”
}
{
“data”: [{
“autor/a_id”:“2244994945”,
“id”:“1362876655061073928”,
“texto”:“From our living rooms to yours 🐱‍💻🛋️Nuestros promotores para desarrolladores tienen preparadas emocionantes transmisiones en Twitch y eventos virtuales para ayudarte a comenzar con la nueva #TwitterAPI. Revisa la programación para más detalles y cuéntanos si quieres ver más.\n👇\nhttps://t.co/cixDY9qkvH”
}],
“includes”:{
“Usuarios”: [{
“público_métricas”:{
“seguidores_recuento”: 517233,
“siguiendo_conteo”: 2034,
“Tweet_recuento”: 3677,
“incluido en la lista_conteo”: 1727
},
“nombre de usuario”:“TwitterDev”,
“entidades”:{
“url”:{
“URLs”: [{
“comenzar”: 0,
“final”: 23,
“URL”:“https://t.co/3ZX3TNiZCY”,
“ampliado_url”:“https://developer.x.com/en/community”,
“visualización_url”:“developer.x.com/es/community”
}]
},
“Descripción”:{
“hashtags”: [{
“comenzar”: 17,
“final”: 28,
“tag”:“TwitterDev”
},
{
“comenzar”: 105,
“fin”: 116,
“tag”:“Twitter API”
}
]
}
},
“Descripción”:“La voz del equipo de #TwitterDev y tu fuente oficial de novedades, noticias y eventos relacionados con la #TwitterAPI.”,
“nombre”:“Twitter Dev”,
“verificado”: true,
“ubicación”:“127.0.0.1”,
“id”:“2244994945”,
“protegido”: false,
“URL”:“https://t.co/3ZX3TNiZCY”,
“perfil_imagen_url”:“https://pbs.twimg.com/profile_images/1354494203451961345/d8HkZl6p_normal.jpg”,
“creado_en”:“2013-12-14T04:35:55.000Z”
}]
}
}

Objetos entities y expanded entities

Formato de Twitter 1.1Formato de Twitter v2Parámetros v2 requeridosTipo en v2
entitiesdata.entitiestweet.fields=entitiesobject
entities.hashtagsdata.entities.hashtagstweet.fields=entitiesarray of objects
entities.hashtags.indices[0]data.entities.hashtags.starttweet.fields=entitiesnumber
entities.hashtags.indices[1]data.entities.hashtags.endtweet.fields=entitiesnumber
entities.hashtags.textdata.entities.hashtags.tagtweet.fields=entitiesstring
entities.urlsdata.entities.urlstweet.fields=entitiesarray de objects
entities.urls.indices[0]data.entities.urls.starttweet.fields=entitiesnumber
entities.urls.indices[1]data.entities.urls.endtweet.fields=entitiesnumber
entities.urls.urldata.entities.urls.urltweet.fields=entitiesstring
entities.user_mentionsdata.entities.mentionstweet.fields=entitiesarray of objects
entities.user_mentions.indicies[0]data.entities.mentions.starttweet.fields=entitiesnumber
entities.user_mentions.indicies[1]data.entities.mentions.endtweet.fields=entitiesnumber
entities.user_mentions.screen_namedata.entities.mentions.usernametweet.fields=entitiesstring
entities.symbolsdata.entities.cashtagstweet.fields=entitiesarray of objects
entities.symbols.indices[0]data.entities.cashtags.starttweet.fields=entitiesnumber
entities.symbols.indices[1]data.entities.cashtags.endtweet.fields=entitiesnumber
entities.symbols.textdata.entities.cashtags.tagtweet.fields=entitiesstring
entities.mediaincludes.mediaexpansions=attachments.media_keysarray of objects
entities.media.id_strincludes.media.media_keyexpansions=attachments.media_keysstring
entities.media.typeincludes.media.media.typeexpansions=attachments.media_keysstring
entities.media.media_urlN/D usa includes.media.urlstring
entities.media.media_url_httpsincludes.media.urlexpansions=attachments.media_keys&media.fields=urlstring
entities.media.url
entities.media.display_url
entities.media.expanded_url
entities.media.media_url_httpsincludes.media.preview_image_urlexpansions=attachments.media_keys&media.fields=preview_image_urlstring
extended_entitiesdata.attachmentstweet.fields=attachmentsobject
extended_entitiesdata.attachments.media_keystweet.fields=attachmentsarray of objects
extended_entities.mediaincludes.mediaexpansions=attachments.media_keysarray of objects
extended_entities.media.id_strincludes.media.media_keyexpansions=attachments.media_keysstring
extended_entities.media.typeincludes.media.media.typeexpansions=attachments.media_keysstring
extended_entities.media.sizes.thumb.wNo disponible
extended_entities.media.sizes.thumb.hNo disponible
extended_entities.media.sizes.thumb.resizeNo disponible
extended_entities.media.sizes.large.wincludes.media.heightexpansions=attachments.media_keys&media.fields=height
extended_entities.media.sizes.large.hincludes.media.widthexpansions=attachments.media_keys&media.fields=width
extended_entities.media.sizes.large.resizeNo disponible
extended_entities.media.sizes.small.wNo disponible
extended_entities.media.sizes.small.hNo disponible
extended_entities.media.sizes.small.resizeNo disponible
extended_entities.media.sizes.medium.wNo disponible
extended_entities.media.sizes.medium.hNo disponible
extended_entities.media.sizes.medium.resizeNo disponible
extended_entities.media.media_url_httpsincludes.media.urlexpansions=attachments.media_keys&media.fields=urlstring
extended_entities.media.media_url_httpsincludes.media.preview_image_urlexpansions=attachments.media_keys&media.fields=preview_image_urlstring
extended_entities.media.video_info.duration_millisincludes.media.duration_msexpansions=attachments.media_keys&media.fields=duration_msnumber
Ejemplo
Entidades y entidades extendidas en v1.1 (con vídeo)Entidades, adjuntos e includes en v2

https://api.x.com/2/tweets?ids=1370161532013735937&expansions=attachments.media_keys,entities.mentions.username&tweet.fields=entities&user.fields=created_at,description,entities,location,name,profile_image_url,protected,public_metrics,url,username,verified,withheld&media.fields=duration_ms,height,media_key,preview_image_url,public_metrics,type,url,width
”entidades”:{
“hashtags”: [{
“texto”:“prueba”,
“índices”: [
8,
13
]
}],
“símbolos”: [],
“usuario_menciones”: [{
“pantalla_nombre”:“TwitterDev”,
“nombre”:“X Dev”,
“id”: 2244994945,
“id_str”:“2244994945”,
“índices”: [
31,
42
]
}],
“URLs”: [{
“url”:“https://t.co/XVLZ3uwikc”,
“expandido_url”:“https://developer.x.com/en
https://developer.x.com/es”,
“visualización_url”:“developer.x.com/es”,
“índices”: [
91,
114
]
}],
“contenido multimedia”: [{
“id”: 1370161464028196868,
“id_str”:“1370161464028196868”,
“índices”: [
115,
138
],
“contenido multimedia_url”:“http://pbs.twimg.com/ext_tw_video_thumb/1370161464028196868/pu/img/cGLCoXBHVktkwlC5.jpg”,
“contenido multimedia_URL_https”:“https://pbs.twimg.com/ext_tw_video_thumb/1370161464028196868/pu/img/cGLCoXBHVktkwlC5.jpg”,
“url”:“https://t.co/dz4oByygWA”,
“pantalla_url”:“pic.x.com/dz4oByygWA”,
“ampliado_url”:“https://twitter.com/furiouscamper/status/1370161532013735937/video/1”,
“tipo”:“foto”,
“tamaños”:{
“miniatura”:{
“w”: 150,
“h”: 150,
“redimensionar”:“recortar”
},
“pequeño”:{
“w”: 383,
“h”: 680,
“redimensionar”:“encajar”
},
“grande”:{
“w”: 720,
“h”: 1280,
“cambiar el tamaño”:“encajar”
},
“medio”:{
“w”: 675,
“h”: 1200,
“redimensionar”:“encajar”
}
}
}]
},
“ampliado_entidades”:{
“contenido multimedia”: [{
“id”: 1370161464028196868,
“id_str”:“1370161464028196868”,
“índices”: [
115,
138
],
“contenido multimedia_url”:“http://pbs.twimg.com/ext_tw_video_thumb/1370161464028196868/pu/img/cGLCoXBHVktkwlC5.jpg”,
“contenido multimedia_url_https”:“https://pbs.twimg.com/ext_tw_video_thumb/1370161464028196868/pu/img/cGLCoXBHVktkwlC5.jpg”,
“url”:“https://t.co/dz4oByygWA”,
“mostrar_url”:“pic.x.com/dz4oByygWA”,
“expandido_url”:“https://twitter.com/furiouscamper/status/1370161532013735937/video/1”,
“tipo”:“video”,
“tamaños”:{
“miniatura”:{
“w”: 150,
“h”: 150,
“redimensionar”:“recortar”
},
“pequeño”:{
“w”: 383,
“h”: 680,
“redimensionar”:“encajar”
},
“grande”:{
“w”: 720,
“h”: 1280,
“cambiar tamaño”:“encajar”
},
“medio”:{
“w”: 675,
“h”: 1200,
“redimensionar”:“encajar”
}
},
“video_info”:{
“aspecto_proporción”: [
9,
16
],
“duración_milis”: 5140,
“variantes”: [{
“bitrate”: 950000,
“contenido_tipo”:“video/mp4”,
“url”:“https://video.twimg.com/ext_tw_video/1370161464028196868/pu/vid/480x852/rAuFVMEqs0MeP4P4.mp4?tag=12”
},
{
“bitrate”: 2176000,
“contenido_tipo”:“video/mp4”,
“url”:“https://video.twimg.com/ext_tw_video/1370161464028196868/pu/vid/720x1280/ZxVL5qYO-DNVuSyq.mp4?tag=12”
},
{
“contenido_tipo”:“application/x-mpegURL”,
“URL”:“https://video.twimg.com/ext_tw_video/1370161464028196868/pu/pl/EGVpuZpo-wYxTNCq.m3u8?tag=12”
},
{
“tasa de bits”: 632000,
“contenido_tipo”:“video/mp4”,
“url”:“https://video.twimg.com/ext_tw_video/1370161464028196868/pu/vid/320x568/M7VtocAwKPFdkqzF.mp4?tag=12”
}
]
},
“adicional_multimedia_info”:{
“monetizable”: false
}
}]
}
{
“data”: [{
“entidades”:{
“hashtags”: [{
“comenzar”: 8,
“final”: 13,
“tag”:“prueba”
}],
“menciones”: [{
“iniciar”: 31,
“final”: 42,
“nombre de usuario”:“TwitterDev”
}],
“URLs”: [{
“iniciar”: 91,
“final”: 114,
“URL”:“https://t.co/XVLZ3uwikc”,
“ampliado_url”:“https://developer.x.com/en”,
“visualización_url”:“developer.x.com/es”,
“estado”: 200,
“título”:“Casos de uso, tutoriales,&Documentación”,
“Descripción”:“Publicar&analiza Tweets, optimiza anuncios,&cree experiencias únicas para clientes con la X API y la X Ads API,&Twitter para sitios web. Permite’empecemos a construir.”,
“desenrollado_url”:“https://developer.x.com/en
},
{
“comenzar”: 115,
“final”: 138,
“url”:“https://t.co/dz4oByygWA”,
“expandido_url”:“https://x.com/furiouscamper/status/1370161532013735937/video/1”,
“visualización_url”:“pic.x.com/dz4oByygWA”
}
]
},
“id”:“1370161532013735937”,
“texto”:“Otro #test con un video y una mención a @TwitterDev. ¡Emocionado por la nueva documentación de migración de formatoshttps://t.co/XVLZ3uwikc https://t.co/dz4oByygWA”,
“archivos adjuntos”:{
“multimedia_claves”: [
“7_1370161464028196868”
]
}
}],
“includes”:{
“contenido multimedia”: [{
“tipo”:“video”,
“altura”: 1280,
“público_métricas”:{
“ver_recuento”: 37
},
“ancho”: 720,
“contenido multimedia_clave”:“7_1370161464028196868”,
“duración_ms”: 5140,
“previsualización_imagen_url”:“https://pbs.twimg.com/ext_tw_video_thumb/1370161464028196868/pu/img/cGLCoXBHVktkwlC5.jpg
}],
“Usuarios”: [{
“público_métricas”:{
“seguidores_recuento”: 517233,
“siguiente_recuento”: 2034,
“Tweet_conteo”: 3677,
“incluido en la lista_conteo”: 1727
},
“creado_en”:“2013-12-14T04:35:55.000Z”,
“perfil_imagen_url”:“https://pbs.twimg.com/profile_images/1354494203451961345/d8HkZl6p_normal.jpg”,
“Descripción”:“La voz del equipo de #TwitterDev y tu fuente oficial de novedades, noticias y eventos relacionados con la #TwitterAPI.”,
“verificado”: true,
“id”:“2244994945”,
“nombre de usuario”:“TwitterDev”,
“protegido”: false,
“entidades”:{
“url”:{
“URL”: [{
“comenzar”: 0,
“final”: 23,
“url”:“https://t.co/3ZX3TNiZCY”,
“ampliado_url”:“https://developer.x.com/en/community”,
“pantalla_url”:“developer.x.com/es/comunidad”
}]
},
“Descripción”:{
“hashtags”: [{
“comenzar”: 17,
“fin”: 28,
“tag”:“TwitterDev”
},
{
“iniciar”: 105,
“fin”: 116,
“tag”:“Twitter API”
}
]
}
},
“url”:“https://t.co/3ZX3TNiZCY”,
“nombre”:“Twitter Dev”,
“ubicación”:“127.0.0.1”
}]
}
}

Objeto Place

Formato de Twitter 1.1Formato de Twitter v2Parámetros requeridos de v2
placedata.geo.place_idtweet.fields=geo
place.idincludes.places.idexpansions=geo.place_id
place.id.place_typeincludes.places.place_typeexpansions=geo.place_id&place.fields=place_type
place.id.nameincludes.places.nameexpansions=geo.place_id&place.fields=name
place.id.full_nameincludes.places.full_nameexpansions=geo.place_id
place.id.country_codeincludes.places.country_codeexpansions=geo.place_id&place.fields=country_code
place.id.countryincludes.places.countryexpansions=geo.place_id&place.fields=country
place.id.contained_withinincludes.places.contained_withinexpansions=geo.place_id&place.fields=contained_within
place.id.bounding_box.typeincludes.places.geo.typeexpansions=geo.place_id&place.fields=place_type
place.id.bounding_box.coordinatesincludes.places.geo.bboxexpansions=geo.place_id&place.fields=geo
place.id.attributesincludes.places.propertiesexpansions=geo.place_id&place.fields=geo
Ejemplo
Objeto Place en v1.1Objeto Place con v2

https://api.x.com/2/tweets?ids=1370161532013735937&expansions=geo.place_id&tweet.fields=geo&place.fields=contained_within,country,country_code,full_name,geo,id,name,place_type
”place”: {
“id”: “f7eb2fa2fea288b1”,
“url”: “https://api.x.com/1.1/geo/id/f7eb2fa2fea288b1.json”,
“place_type”: “city”,
“name”: “Lakewood”,
“full_name”: “Lakewood, CO”,
“country_code”: “US”,
“country”: “United States”,
“contained_within”: [],
“bounding_box”: {
“type”: “Polygon”,
“coordinates”: [
[
[
-105.193475,
39.60973
],
[
-105.053164,
39.60973
],
[
-105.053164,
39.761974
],
[
-105.193475,
39.761974
]
]
]
},
“attributes”:
}
{
“data”: [{
“id”: “1370161532013735937”,
“text”: “Another #test with a video and @TwitterDev mention. Excited for new format migration docs! https://t.co/XVLZ3uwikc https://t.co/dz4oByygWA”,
“geo”: {
“place_id”: “f7eb2fa2fea288b1”
}
}],
“includes”: {
“places”: [{
“name”: “Lakewood”,
“place_type”: “city”,
“full_name”: “Lakewood, CO”,
“id”: “f7eb2fa2fea288b1”,
“geo”: {
“type”: “Feature”,
“bbox”: [
-105.193475,
39.60973,
-105.053164,
39.761974
],
“properties”:
},
“country_code”: “US”,
“country”: “United States”
}]
}
Próximo paso

Migración del formato de datos Native Enriched a v2

El formato de datos Native Enriched es utilizado por nuestros productos empresariales. El formato de datos Native Enriched se ha actualizado para proporcionar metadatos de Tweets editados. Para obtener más información sobre los metadatos de edición de Tweets, consulta la página Fundamentos de Edit Tweets. Si estás utilizando los endpoints estándar de v1.1, consulta la guía de migración de v1.1 estándar a v2. Si estás utilizando los productos empresariales con Activity Streams, también contamos con una guía de Activity Streams a v2 para ti. X API v2 introduce nuevos diseños JSON para los objetos Tweet y user.
  • En el nivel raíz de JSON, el formato Native Enriched devuelve objetos Tweet en un arreglo results, mientras que X API v2 devuelve un arreglo data.
  • En lugar de usar tanto favorites (en el objeto Tweet) como favourites (en el objeto user), X API v2 utiliza el término like.
  • X adopta la convención de que los valores JSON sin valor (por ejemplo, null) no se escriben en el payload. Los atributos de Tweet y user solo se incluyen si tienen valores no nulos.
  • Todos los campos id en v2 estarán en formato de cadena
Además de los cambios realizados en el nuevo formato JSON, también introdujimos un nuevo conjunto de fields en el objeto Tweet, incluidos los siguientes:
  • conversation_id
  • reply_settings
  • alt_text en media
  • Dos campos nuevos de annotations, incluidos context y entities
  • Varios campos nuevos de metrics
  • Varios campos nuevos de polls
Se están eliminando muchos fields heredados y obsoletos:
  • contributors
  • Ciertos campos de entities.media y extended_entities.media
  • filter_level
  • timestamp_ms
  • truncated

Estructura del payload: Native Enriched vs v2

La siguiente tabla muestra los objetos y el formato de alto nivel que puedes esperar recibir de v2 en comparación con el formato Native Enriched.
Estructura de Native EnrichedEstructura de v2
Predeterminado{
tweet object fields,

“user”: ,
“place”: ,
“entities”: {
“hashtags”: [],
“urls”: [],
“user_mentions”: [],
“symbols”: [],
“annotations”: [],
“media”: []
},
“extended_entities”: ,
“matching_rules”: []
}
{
“data”: [{
“id”,
“text”,

“edit_history_tweet_ids”
}]
}
Con parámetros fields y expansions definidos{
“data”: [{
tweet object fields,
“entities”: {
“hashtags”: [],
“cashtags”: [],
“mentions”: [],
“urls”: [],
},
“attachments”: {
“media_keys”: [],
“poll_ids”: []
}
}],
“includes”: [
“tweets”: [user objects],
“users”: [user objects],
“media”: [media objects],
“places”: [place object],
“polls”: [poll object]
],
“matching_rules”: []
}
Asignación de campos La siguiente sección describe qué campos de Native Enriched se asignan a campos de v2 y qué parámetros de v2 se requieren para recibir el campo nuevo.  

Objeto Tweet

Formato enriquecido nativoFormato de Twitter v2Parámetros obligatorios de v2Tipo en v2
creado_endata.created_entweet.fields=created_enCadena de texto
idN/D - Consulte id
id_cadenadata.idPredeterminadoString
textodata.textValores predeterminadosCadena de texto
Editar_historialdata.edit_historial_Tweet_idsPredeterminadoMatriz
Editar_controlesdata.edit_controlestweet.fields=edit_controlesObjeto
editabledata.edit_controls.is_editar_aptotweet.fields=edit_controlesBoolean
visualización_texto_intervaloN/D - el texto incluye el texto completo
origendata.sourcetweet.fields=sourceCadena de texto
truncadoN/D: el texto incluye el contenido completo
No disponibledata.conversation_idtweet.fields=conversation_idCadena de caracteres
No disponibledata.reply_ajustestweet.fields=reply_ajustesCadena de caracteres
en_responder_a_estado_idN/D - Consulte la referencia_tweets.id
en_responder_a_estado_id_strdata.referenced_tweets.id (si type=replied_a)expansions=referenced_tweets.idCadena de texto
en_respuesta_a_usuario_idN/D - Ver en_respuesta_a_usuario_id_str
en_responder_a_usuario_id_cadenadata.in_responder_a_usuario_idtweet.fields=in_respuesta_a_usuario_idCadena de texto
en_responder_a_pantalla_nombreincludes.users..usernametweet.fields=in_respuesta_a_usuario_id&expansions=entities.mentions.usernameCadena de texto
usuarioincludes.usersexpansions=author_idObjeto
user.id_strdata.author_idtweet.fields=author_idCadena de texto
geodata.geo.place_idtweet.fields=geo
coordenadasdata.geo.place_idtweet.fields=geo
lugardata.geo.place_idtweet.fields=geo
es_cita_estadodata.referenced_tweets.id (si type=quoted)tweet.fields=referenced_TweetsCadena de texto
ampliado_tweet.full_textoN/D: el texto es el texto completo
No disponibledata.public_métricastweet.fields=public_métricasObjeto
cita_recuentodata.public_metrics.quote_recuentotweet.fields=public_métricasInt
respuesta_conteodata.public_metrics.reply_recuentotweet.fields=public_métricasInt
retuit_recuentodata.public_metrics.retweet_recuentotweet.fields=public_métricasInt
favorito_recuentodata.public_metrics.like_recuentotweet.fields=public_metrics_métricasInt
No disponibledata.non_público_métricastweet.fields=none_público_métricasObjeto
No disponibledata.non_público_metrics.impression_conteotweet.fields=none_público_métricasInt
No disponibledata.non_público_metrics.url_vínculo_conteotweet.fields=none_público_métricasInt
No disponibledata.non_público_metrics.user_perfil_conteotweet.fields=none_público_métricasInt
No disponibledata.organic_métricastweet.fields=organic_métricasObjeto
No disponibledata.organic_metrics.like_recuentotweet.fields=organic_métricasInt
No disponibledata.organic_metrics.retweet_recuentotweet.fields=organic_métricasEntero
No disponibledata.organic_metrics.reply_recuentotweet.fields=organic_métricasInt
No disponibledata.organic_metrics.impressions_recuentotweet.fields=organic_métricasInt
No disponibledata.organic_metrics.url_vínculo_conteotweet.fields=organic_métricasInt
No disponibledata.organic_metrics.user_perfil_conteotweet.fields=organic_métricasInt
No disponibledata.promoted_métricastweet.fields=promoted_métricasObjeto
No disponibledata.promoted_metrics.like_recuentotweet.fields=promoted_métricasInt
No disponibledata.promoted_metrics.retweet_recuentotweet.fields=promoted_métricasInt
No disponibledata.promoted_metrics.reply_conteotweet.fields=promoted_métricasInt
No disponibledata.promoted_metrics.impression_recuentotweet.fields=promoted_MétricasInt
No disponibledata.promoted_metrics.url_vínculo_conteotweet.fields=promoted_métricasInt
No disponibledata.promoted_metrics.user_perfil_conteotweet.fields=promoted_métricasInt
personas colaboradorasNo disponibleNo disponible
entidadesdata.entitiestweet.fields=entitiesObjeto
entities.user_mencionesdata.entities.mentionstweet.fields=entitiesMatriz de objetos
entities.symbolsdata.entities.cashtagstweet.fields=entitiesArreglo de objetos
entities.hashtagsdata.entities.hashtagstweet.fields=entitiesArreglo de objetos
entities.urlsdata.entities.urlstweet.fields=entitiesArreglo de objetos
entities.mediaincludes.mediaexpansions=attachments.media_llavesMatriz de objetos
entities.annotationstweet.fields=entities,context_anotacionesObjeto
entities.annotations.contextdata.context_anotacionestweet.fields=entities,context_anotacionesArreglo de objetos
No tiene equivalentedata.context_annotations.domaintweet.fields=context_anotacionesObjeto
entities.annotations.context.context_dominio_id_strdata.context_annotations.domain.idtweet.fields=context_anotacionesString
entities.annotations.context.context_dominio_idNo disponibleNo disponible: consulte data.context_annotations.domain.id para formato de cadena
entities.annotations.context.context_dominio_nombredata.context_annotations.domain.nametweet.fields=context_anotacionesString
entities.annotations.context.context_dominio_Descripcióndata.context_annotations.domain.descriptiontweet.fields=context_anotacionesCadena de texto
No tiene equivalentedata.context_annotations.entitytweet.fields=context_anotacionesObjeto
entities.annotations.context.context_entidad_id_strdata.context_annotations.entity.idtweet.fields=context_anotacionesCadena de texto
entities.annotations.context.context_entidad_idNo disponibleNo disponible: consulta data.context_annotations.entity.id para el formato de cadena
entities.annotations.context.context_entidad_nombredata.context_annotations.entity.nametweet.fields=context_anotacionesCadena de texto
entities.annotations.context.context_entidad_Descripcióndata.context_annotations.entity.descriptiontweet.fields=context_anotacionesCadena de texto
entities.annotations.entitydata.entities.annotationstweet.fields=entities,context_anotacionesArreglo de objetos
ampliado_entidadesdata.attachmentsTweet_fields=attachmentsObjeto
añadido a favoritosNo disponibleNo disponible
retuiteadoNo disponibleNo disponible
retuiteado_estado
posiblemente_sensibledata.possibly_sensibletweet.fields=possibly_sensible (contenido delicado)Boolean
idiomadata.langtweet.fields=langCadena de texto
filtro_nivelNo disponibleNo disponible
ámbitosNo disponibleNo disponible
sello de tiempo_msNo disponibleNo disponible
retenidodata.withheldtweet.fields=withheldArreglo de objetos
coincidencia_normascoincidencia_normasArreglo de objetos
emparejamiento_rules.idNo disponibleNo disponible
emparejamiento_rules.id_strcoincidencia_rules.idPredeterminado con flujo con filtrosCadena de texto
coincidencia_rules.tagemparejamiento_rules.tagPredeterminado con transmisión filtradaString

Objeto de usuario

Formato enriquecido nativoFormato de Twitter v2Parámetros obligatorios de v2Tipo en v2
usuarioincludes.usersexpansions=author_idArreglo de objetos
user.idNo disponibleN/D: consulte includes.users.idString
user.id_strincludes.users.idexpansions=author_idCadena de texto
user.nameincludes.users.nameexpansions=author_idCadena
usuario.pantalla_nombreincludes.user.usernameexpansions=author_idString
user.locationincludes.users.locationexpansions=author_id&user.fields=locationObjeto
usuario.descripcionincludes.users.descriptionexpansions=author_id&user.fields=descriptionTexto
No disponibleincludes.users.urlexpansions=author_id&user.fields=urlCadena de texto
user.followers_recuentoincludes.users.public_metrics.followers_conteoexpansions=author_id&user.fields=public_métricasInt
user.friends_recuentoincludes.users.public_metrics.following_recuentoexpansions=author_id&user.fields=public_métricasInt
usuario.listado_conteoincludes.users.public_metrics.listed_recuentoexpansions=author_id&user.fields=public_métricasInt
usuario.creado_enincludes.users.created_enexpansions=author_id&user.fields=created_enCadena de texto
user.favoritos_conteoAún no está disponible
usuario.verificadoincludes.users.verifiedexpansions=author_id&user.fields=verifiedBooleano
No disponibleincludes.users.pinned_Tweet_idexpansions=author_id&user.fields=pinned_Tweet_idCadena de texto
user.statuses_recuentoincludes.users.public_metrics.tweet_recuentoexpansions=author_id&user.fields=public_métricasInt
usuario.perfil_imagen_url_httpsincludes.users.profile_imagen_urlexpansions=author_id&user.fields=profile_imagen_urlCadena de texto
usuario.traductor_tipoNo disponibleNo disponible
usuario.utc_desfaseNo disponibleNo disponible
usuario.hora_zonaNo disponibleNo disponible
user.geo_activadoNo disponibleNo disponible
usuario.idiomaNo disponibleNo disponible: inferir a partir del idioma del Tweet
user.contributors_activadoNo disponibleNo disponible
usuario.es_traductorNo disponibleNo disponible
usuario.perfil_antecedentes_colorNo disponibleNo disponible
usuario.perfil_antecedentes_imagen_urlNo disponibleNo disponible
user.profile_antecedentes_imagen_url_httpsNo disponibleNo disponible
usuario.perfil_antecedentes_títuloNo disponibleNo disponible
usuario.perfil_barra lateral_borde_colorNo disponibleNo disponible
usuario.perfil_barra lateral_completar_colorNo disponibleNo disponible
usuario.perfil_texto_colorNo disponibleNo disponible
usuario.perfil_usuario_contexto_imagenNo disponibleNo disponible
usuario.perfil_imagen_URLConsulta includes.user.profile_imagen_url
usuario.predeterminado_perfilNo disponibleNo disponible
usuario.predeterminado_perfil_imagenNo disponibleNo disponible
usuario.seguidosNo disponibleNo disponible
usuario.seguir_solicitud_enviadoNo disponibleNo disponible
usuario.notificacionesNo disponibleNo disponible
usuario.retenido_en_paísesincludes.users.withheldexpansions=author_id&user.fields=withheldObjeto
user.protectedincludes.users.protectedexpansions=author_id&user.fields=protectedBooleano
No disponibleincludes.users.entitiesexpansions=author_id&user.fields=entitiesObjeto
No disponibleincludes.users.entities.urlexpansions=author_id&user.fields=entitiesObjeto
No disponibleincludes.users.entities.url.urlsexpansions=author_id&user.fields=entitiesMatriz de objetos
No disponibleincludes.users.entities.url.urls.startexpansions=author_id&user.fields=entitiesInt
No disponibleincludes.users.entities.url.urls.endexpansions=author_id&user.fields=entitiesInt
No disponibleincludes.users.entities.url.urls.urlexpansions=author_id&user.fields=entitiesCadena de texto
usuario.urlincludes.users.entities.url.urls.expanded_urlexpansions=author_id&user.fields=entitiesString
No disponibleincludes.users.entities.url.urls.display_url_urlexpansions=author_id&user.fields=entitiesCadena de texto
No disponibleincludes.users.entities.descriptionsexpansions=author_id&user.fields=entitiesObjeto
No disponibleincludes.users.entities.descriptions.hashtagsexpansions=author_id&user.fields=entitiesArreglo de objetos
No disponibleincludes.users.entities.descriptions.hashtags.startexpansions=author_id&user.fields=entitiesInt
No disponibleincludes.users.entities.descriptions.hashtags.endexpansions=author_id&user.fields=entitiesEntero
incluido en user.descriptionincludes.users.entities.descriptions.hashtags.tagexpansions=author_id&user.fields=entitiesCadena de texto
No disponibleincludes.users.entities.descriptions.mentionsexpansions=author_id&user.fields=entitiesMatriz de objetos
No disponibleincludes.users.entities.descriptions.mentions.startexpansions=author_id&user.fields=entitiesInt
No disponibleincludes.users.entities.descriptions.mentions.endexpansions=author_id&user.fields=entitiesInt
Incluido en user.descriptionincludes.users.entities.descriptions.mentions.usernameexpansions=author_id&user.fields=entitiesCadena de caracteres
No disponibleincludes.users.entities.descriptions.cashtagsexpansions=author_id&user.fields=entitiesMatriz de objetos
No disponibleincludes.users.entities.descriptions.cashtags.startexpansions=author_id&user.fields=entitiesInt
No disponibleincludes.users.entities.descriptions.cashtags.endexpansions=author_id&user.fields=entitiesInt
Incluido en user.descriptionincludes.users.entities.descriptions.cashtags.tagexpansions=author_id&user.fields=entitiesCadena de texto

Objetos de entities y expanded_entities

Formato enriquecido nativoFormato de Twitter v2Parámetros obligatorios de v2Tipo en v2
entidadesdata.entitiestweet.fields=entitiesObjeto
entidades.etiquetasdata.entities.hashtagstweet.fields=entitiesMatriz de objetos
entities.hashtags.indices[0]data.entities.hashtags.starttweet.fields=entitiesEntero
entities.hashtags.indices[1]data.entities.hashtags.endtweet.fields=entitiesEntero
entities.hashtags.textdata.entities.hashtags.tagtweet.fields=entitiesString
entities.urlsdata.entities.urlstweet.fields=entitiesArreglo de objetos
entities.urls.indices[0]data.entities.urls.starttweet.fields=entitiesEntero
entities.urls.indices[1]data.entities.urls.endtweet.fields=entitiesEntero
entities.urls.urldata.entities.urls.urltweet.fields=entitiesCadena
entities.urls.expanded_urldata.entities.urls.expanded_urltweet.fields=entitiesCadena de texto
entities.urls.display_urldata.entities.urls.display_urltweet.fields=entitiesCadena de texto
entities.urls.unwound.urldata.entities.urls.unwound_urltweet.fields=entitiesCadena de caracteres
entities.urls.unwound.statusdata.entities.urls.statustweet.fields=entitiesCadena de texto
entities.urls.unwound.titledata.entities.urls.titletweet.fields=entitiesString
entities.urls.unwound.descriptiondata.entities.urls.descriptiontweet.fields=entitiesCadena
No disponibledata.entities.urls.imagestweet.fields=entitiesMatriz de objetos
No disponibledata.entities.urls.images.urltweet.fields=entitiesString
No disponibledata.entities.urls.images.widthtweet.fields=entitiesInt
No disponibledata.entities.urls.images.heighttweet.fields=entitiesInt
entities.user_mencionesdata.entities.mentionstweet.fields=entitiesArreglo de objetos
entities.user_mentions.indices[0]data.entities.mentions.starttweet.fields=entitiesEntero
entities.user_mentions.indices[1]data.entities.mentions.endtweet.fields=entitiesEntero
entities.user_menciones.pantalla_nombredata.entities.mentions.usernametweet.fields=entitiesCadena de texto
entities.symbolsdata.entities.cashtagstweet.fields=entitiesArreglo de objetos
entities.symbols.indices[0]data.entities.cashtags.starttweet.fields=entitiesEntero
entities.symbols.indices[1]data.entities.cashtags.endtweet.fields=entitiesEntero
entities.symbols.textdata.entities.cashtags.tagtweet.fields=entitiesCadena de texto
entities.media OR extended_entities.mediaincludes.mediaexpansions=attachments.media_clavesMatriz de objetos
entities.media.id_str O extended_entities.media.id_strincludes.media.media_claveexpansions=attachments.media_keysString
entities.media.id O extended_entities.media.idNo disponible: el id es una cadena
entities.media.type OR extended_entities.media.typeincludes.media.media.typeexpansions=attachments.media_clavesCadena de texto
entities.media.indices O extended_entities.media.indicesNo disponibleNo disponible
No disponibleincludes.media.alt_textoexpansions=attachments.media_claves&media.fields=alt_textoCadena de texto
entities.media.additional_contenido multimedia_info O extended_entities.media.additional_multimedia_infoNo disponibleNo disponible
entities.media.additional_contenido multimedia_info.monetizable OR extended_entities.media.additional_multimedia_info.monetizableNo disponibleNo disponible
entities.media.media_url O extended_entities.media.media_urlN/D: consulte includes.media.urlCadena de texto
entities.media.media_url_https O extendido_entities.media.media_url_httpsincludes.media.urlexpansions=attachments.media_llaves&media.fields=urlString
entities.media.url O extended_entities.media.url
entities.media.display_url O extended_entities.media.expanded_URL
entities.media.expanded_url
entities.media.media_url_httpsincludes.media.preview_imagen_urlexpansions=attachments.media_claves&media.fields=preview_imagen_urlCadena
ampliado_entidadesdata.attachmentsTweet_fields=attachmentsObjeto
ampliado_entidadesdata.attachments.media_llavestweet.fields=attachmentsMatriz de objetos
No disponibledata.attachments.poll_idstweet.fields=attachmentsArreglo de objetos
ampliado_entities.media.sizes.thumb.wNo disponible
ampliado_entities.media.sizes.thumb.hNo disponible
ampliado_entities.media.sizes.thumb.resizeNo disponible
ampliado_entities.media.sizes.large.wincludes.media.heightexpansions=attachments.media_keys&media.fields=height
ampliado_entities.media.sizes.large.hincludes.media.widthexpansions=attachments.media_keys&media.fields=width
ampliado_entities.media.sizes.large.resizeNo disponibleNo disponible
ampliado_entities.media.sizes.small.wNo disponibleNo disponible
ampliado_entities.media.sizes.small.hNo disponibleNo disponible
ampliado_entities.media.sizes.small.resizeNo disponibleNo disponible
ampliado_entities.media.sizes.medium.wNo disponibleNo disponible
ampliado_entities.media.sizes.medium.hNo disponibleNo disponible
ampliado_entities.media.sizes.medium.resizeNo disponibleNo disponible
ampliado_entities.media.media_url_httpsincludes.media.preview_imagen_urlexpansions=attachments.media_llaves&media.fields=preview_imagen_urlCadena de caracteres
ampliado_entities.media.video_info.aspect_proporciónNo disponibleNo disponible
extendido_entities.media.variantsNo disponibleNo disponible
ampliado_entities.media.variants.bitrateNo disponibleNo disponible
ampliado_entities.media.variants.content_tipoNo disponibleNo disponible
ampliado_entities.media.variants.urlNo disponibleNo disponible
ampliado_entities.media.video_info.duration_msincludes.media.duration_msexpansions=attachments.media_llaves&media.fields=duration_msInt
No disponibleincludes.media.public_métricasexpansions=attachments.media_claves&media.fields=public_métricasObjeto
No disponibleincludes.media.public_métricas.visualización_conteoexpansions=attachments.media_claves&media.fields=public_métricasInt
No disponibleincludes.media.none_público_métricasexpansions=attachments.media_keys&media.fields=none_público_métricasObjeto
No disponibleincludes.media.non_público_metrics.playback_0_conteoexpansions=attachments.media_claves&media.fields=none_público_métricasInt
No disponibleincludes.media.non_público_metrics.playback_25_recuentoexpansions=attachments.media_claves&media.fields=none_público_métricasInt
No disponibleincludes.media.non_público_metrics.playback_50_conteoexpansions=attachments.media_claves&media.fields=none_público_métricasInt
No disponibleincludes.media.non_público_metrics.playback_75_recuentoexpansions=attachments.media_claves&media.fields=none_público_métricasInt
No disponibleincludes.media.non_público_metrics.reproduccion_100_recuentoexpansions=attachments.media_keys&media.fields=none_público_métricasInt
No disponibleincludes.media.organic_métricasexpansions=attachments.media_keys&media.fields=organic_métricasObjeto
No disponibleincludes.media.organic_metrics.playback_0_conteoexpansions=attachments.media_llaves&media.fields=organic_métricasInt
No disponibleincludes.media.organic_metrics.playback_25_conteoexpansions=attachments.media_llaves&media.fields=organic_métricasEntero
No disponibleincludes.media.organic_metrics.playback_50_recuentoexpansions=attachments.media_llaves&media.fields=organic_métricasInt
No disponibleincludes.media.organic_metrics.playback_75_conteoexpansions=attachments.media_keys&media.fields=organic_métricasInt
No disponibleincludes.media.organic_metrics.reproduccion_100_conteoexpansions=attachments.media_claves&media.fields=organic_métricasEntero
No disponibleincludes.media.organic_métricas.ver_recuentoexpansions=attachments.media_claves&media.fields=organic_métricasInt
No disponibleincludes.media.promoted_métricaexpansions=attachments.media_keys&media.fields=promoted_métricasObjeto
No disponibleincludes.media.promoted_métrica.reproducción_0_recuentoexpansions=attachments.media_claves&media.fields=promoted_métricasInt
No disponibleincludes.media.promoted_metric.playback_25_conteoexpansions=attachments.media_claves&media.fields=promoted_métricasInt
No disponibleincludes.media.promoted_metric.playback_50_recuentoexpansions=attachments.media_claves&media.fields=promoted_métricasInt
No disponibleincludes.media.promoted_metric.playback_75_conteoexpansions=attachments.media_keys&media.fields=promoted_métricasInt
No disponibleincludes.media.promoted_metric.playback_100_recuentoexpansions=attachments.media_keys&media.fields=promoted_métricasInt
No disponibleincludes.media.promoted_métricas.ver_recuentoexpansions=attachments.media_keys&media.fields=promoted_métricasInt

Objeto Place

Formato nativo enriquecidoFormato de Twitter v2Parámetros v2 obligatoriosTipo en v2
placeincludes.placesexpansions=geo.place_idArray de objetos
place.idincludes.places.idexpansions=geo.place_idString
place.urlNo disponibleNo disponible
place.id.place_typeincludes.places.place_typeexpansions=geo.place_id&place.fields=place_typeString
place.id.nameincludes.places.nameexpansions=geo.place_id&place.fields=nameString
place.id.full_nameincludes.places.full_nameexpansions=geo.place_idString
place.id.country_codeincludes.places.country_codeexpansions=geo.place_id&place.fields=country_codeString
place.id.countryincludes.places.countryexpansions=geo.place_id&place.fields=countryString
place.id.contained_withinincludes.places.contained_withinexpansions=geo.place_id&place.fields=contained_withinArray
place.id.bounding_box.typeincludes.places.geo.typeexpansions=geo.place_id&place.fields=place_typeString
place.id.bounding_box.coordinatesincludes.places.geo.bboxexpansions=geo.place_id&place.fields=geoArray
place.id.attributesincludes.places.propertiesexpansions=geo.place_id&place.fields=geoObject

Objeto de encuesta

Formato nativo enriquecidoFormato de Twitter v2Parámetros v2 obligatoriosTipo en v2
entities.pollsincludes.pollsexpansions=attachments.poll_idsArreglo de objetos
No disponibleincludes.polls.idexpansions=attachments.poll_idsCadena
entities.poll.optionsincludes.polls.optionsexpansions=attachments.poll_idsArreglo de objetos
entities.polls.options.positionincludes.polls.options.positionexpansions=attachments.poll_idsEntero
entities.polls.options.textincludes.polls.options.labelexpansions=attachments.poll_idsCadena
No disponibleincludes.polls.options.votesexpansions=attachments.poll_idsEntero
No disponibleincludes.polls.voting_statusexpansions=attachments.poll_ids&poll.fields=voting_statusCadena
entities.polls.duration_minutesincludes.polls.duration_minutesexpansions=attachments.poll_ids&poll.fields=duration_minutesEntero
entities.polls.end_datetimeincludes.polls.end_datetimeexpansions=attachments.poll_ids&poll.fields=end_datetimeFecha (ISO 8601)

Migración del formato de datos Activity Streams a v2

El formato de datos Activity Streams está disponible con nuestros productos empresariales. El formato de datos Activity Streams se ha actualizado para proporcionar metadatos de Tweets editados. Para obtener más información sobre los metadatos de Edit Tweet, consulta la página Fundamentos de Edit Tweets. Si usas los endpoints estándar v1.1, consulta la guía de v1.1 estándar a v2. Si usas los endpoints premium o el formato Native Enriched para Enterprise, consulta la guía de Native Enriched a v2. X API v2 introduce nuevos diseños JSON para los objetos de Post y usuario.
  • En el nivel raíz de JSON, el formato Activity Streams devuelve objetos Tweet en un array results, mientras que X API v2 devuelve un array data.
  • En lugar de referirse a “actividades” Retweeted y Quoted, el JSON de X API v2 se refiere a Tweets Retweeted y Quoted.
  • En lugar de usar tanto favorites (en el objeto Tweet) como favourites (en el objeto user), X API v2 usa el término like.
  • X adopta la convención de que los valores JSON sin valor (por ejemplo, null) no se escriben en el payload. Los atributos de Tweet y user solo se incluyen si tienen valores no nulos.
  • Todos los campos id en v2 estarán en formato de cadena.
Además de los cambios realizados en el nuevo formato JSON, también incorporamos un nuevo conjunto de fields en el objeto Tweet, incluidos los siguientes:
  • conversation_id
  • reply_settings
  • alt_text en media
  • Dos nuevos campos de annotations, incluidos context y entities
  • Varios campos nuevos de metrics
  • Varios campos nuevos de polls
Muchos fields heredados y obsoletos se están eliminando o reemplazando:
  • display_text_range
  • generator
  • gnip
  • link
  • objectType
  • provider
  • twitter_entities.symbols reemplazado por data.entities.cashtags
  • Ciertos campos de twitter_extended_entities.media y twitter_entities.media
  • twitter_filter_level
  • twitterTimeZone
  • verb

Objeto Tweet

Formato Activity StreamsFormato de Twitter v2Parámetros obligatorios de v2Tipo en v2
postedTimedata.created_a lastweet.fields=created_at_enFecha (ISO 8601)
generadorNo disponibleNo disponible
generator.linkNo disponibleNo disponible
generator.displayNamedata.sourcetweet.fields=sourceCadena de texto
Twitter_lenguajedata.langtweet.fields=langString
No disponibledata.conversation_idtweet.fields=conversation_idCadena de caracteres
No disponibledata.reply_ajustestweet.fields=reply_settings_ajustesCadena de texto
No disponibledata.possibly_sensiblestweet.fields=possibly_sensibleBooleano
No disponibledata.withheldtweet.fields=withheldObjeto
tipoDeObjetoNo disponibleNo disponible
verboNo disponibleNo disponible
proveedorNo disponibleNo disponible
provider.objectTypeNo disponibleNo disponible
provider.displayNameNo disponibleNo disponible
provider.linkNo disponibleNo disponible
vínculoNo disponibleNo disponible
mostrar_texto_intervaloNo disponibleNo disponible
objetoNo disponibleNo disponible
object.objectTypeNo disponibleNo disponible
object.idNo disponibleNo disponible
objeto.resumendata.textpredeterminadoString
object.edit_historialdata.edit_historia_Tweet_idspredeterminadoMatriz
objeto.editar_controlesdata.edit_controlestweet.fields=edit_controlesObjeto
objeto.editabledata.edit_controls.is_editar_admisibletweet.fields=edit_controlesBooleano
objeto.enlaceNo disponibleNo disponible
object.postedTimedata.created_entweet.fields=created_enFecha (ISO 8601)
Derivado de actor.iddata.author_idtweet.fields=created_at_en
Twitter_filtro_nivelNo disponibleNo disponible
Derivado del nombre de usuario en inReplyTo.linkdata.in_responder_a_usuario_idtweet.fields=in_respuesta_a_usuario_idCadena
No disponibledata.referenced_Tweetstweet.fields=referenced_TweetsMatriz de objetos
No disponibledata.referenced_tweets.typetweet.fields=referenced_TweetsString
Derivado de inReplyTo.linkdata.referenced_tweets.idtweet.fields=referenced_TweetsCadena de texto
No disponibledata.attachmentstweet.fields=attachmentsObjeto
Derivado de Twitter_entities.media.id_strdata.attachments.media_llavestweet.fields=attachmentsMatriz
No disponibledata.attachments.poll_idstweet.fields=attachmentsArreglo
Twitter_entidadesdata.entitiestweet.fields=entitiesObjeto
No disponibledata.entities.annotationstweet.fields=entitiesMatriz de objetos
No disponibledata.entities.annotations.starttweet.fields=entitiesint
No disponibledata.entities.annotations.endtweet.fields=entitiesInt
No disponibledata.entities.annotations.probabilitytweet.fields=entitiesComa flotante
No disponibledata.entities.annotations.typetweet.fields=entitiesString
No disponibledata.entities.annotations.normalized_textotweet.fields=entitiesCadena de texto
Twitter_entities.urlsdata.entities.urlstweet.fields=entitiesArreglo de objetos
Twitter_entities.urls.indices[0]data.entities.urls.starttweet.fields=entitiesEntero
Twitter_entities.urls.indices[1]data.entities.urls.endtweet.fields=entitiesInt
Twitter_entities.urls.urldata.entities.urls.urltweet.fields=entitiesCadena de texto
Twitter_entities.urls.expanded_URLdata.entities.urls.expanded_urltweet.fields=entitiesString
Twitter_entities.urls.display_URLdata.entities.urls.display_urltweet.fields=entitiesCadena de texto
No disponibledata.entities.urls.imagestweet.fields=entitiesMatriz de objetos
No disponibledata.entities.urls.images.urltweet.fields=entitiesCadena de caracteres
No disponibledata.entities.urls.images.widthtweet.fields=entitiesInt
No disponibledata.entities.urls.images.heighttweet.fields=entitiesInt
gnip.urls.expanded_estadodata.entities.urls.statustweet.fields=entitiesInt
gnip.urls.expanded_url_títulodata.entities.urls.titletweet.fields=entitiesCadena de texto
gnip.urls.expanded_url_Descripcióndata.entities.urls.descriptiontweet.fields=entitiesString
gnip.urls.expanded_URLdata.entities.urls.unwound_urltweet.fields=entitiesCadena de texto
Twitter_entities.symbolsdata.entities.cashtagstweet.fields=entitiesArreglo de objetos
X_entities.symbols.indices[0]data.entities.cashtags.starttweet.fields=entitiesEntero
Twitter_entities.symbols.indices[1]data.entities.cashtags.endtweet.fields=entitiesInt
Twitter_entities.symbols.textdata.entities.cashtags.tagtweet.fields=entitiesCadena de texto
Twitter_entities.hashtagsdata.entities.hashtagstweet.fields=entitiesArreglo de objetos
Twitter_entities.hashtags.indices[0]data.entities.hashtags.starttweet.fields=entitiesEntero
Twitter_entities.hashtags.indices[1]data.entities.hashtags.endtweet.fields=entitiesInt
X (antes Twitter)_entities.hashtags.textdata.entities.hashtags.tagtweet.fields=entitiesCadena de texto
Twitter_entities.user_mencionesdata.entities.mentionstweet.fields=entitiesMatriz de objetos
Twitter_entities.user_mentions.indices[0]data.entities.mentions.starttweet.fields=entitiesInt
Twitter_entities.user_mentions.indices[1]data.entities.mentions.endtweet.fields=entitiesInt
Twitter_entities.user_menciones.pantalla_nombredata.entities.mentions.tagtweet.fields=entitiesCadena de texto
Twitter_entities.user_mentions.id_strdata.entities.mentions.idtweet.fields=entitiesCadena de texto
Twitter_entities.user_mentions.idNo disponibleNo disponible
No disponibledata.context_anotacionestweet.fields=context_anotacionesArreglo de objetos
No disponibledata.context_annotations.domaintweet.fields=context_anotacionesObjeto
No disponibledata.context_annotations.domain.idtweet.fields=context_anotacionesString
No disponibledata.context_annotations.domain.nametweet.fields=context_anotacionesCadena de caracteres
No disponibledata.context_annotations.domain.descriptiontweet.fields=context_anotacionesCadena de caracteres
No disponibledata.context_annotations.entitytweet.fields=context_anotacionesObjeto
No disponibledata.context_annotations.entity.idtweet.fields=context_anotacionesString
No disponibledata.context_annotations.entity.nametweet.fields=context_anotacionesCadena
No disponibledata.context_annotations.entity.descriptiontweet.fields=context_anotacionesString
geodata.geotweet.fields=geoObjeto
Derivado de location.linkdata.geo.place_idtweet.fields=geoCadena de texto
No disponibledata.public_métricastweet.fields=public_metrics_métricasObjeto
conteoDeFavoritosdata.public_métricas.me_gusta_conteotweet.fields=public_métricasInt
retweetCountdata.public_metrics.retweet_recuentotweet.fields=public_MétricasInt
No disponibledata.public_métricas.cotización_recuentotweet.fields=public_métricasEntero
No disponibledata.public_métricas.respuestas_conteotweet.fields=public_métricasInt
No disponibledata.non_no_público_métricastweet.fields=none_público_métricasObjeto
No disponibledata.non_público_metrics.impression_conteotweet.fields=none_público_métricasInt
No disponibledata.none_público_metrics.url_vínculo_conteotweet.fields=none_público_métricasInt
No disponibledata.non_público_metrics.user_perfil_recuentotweet.fields=non_público_métricasEntero
No disponibledata.organic_métricastweet.fields=organic_métricasObjeto
No disponibledata.organic_metrics.like_recuentotweet.fields=organic_métricasInt
No disponibledata.organic_metrics.retweet_recuentotweet.fields=organic_métricasInt
No disponibledata.organic_metrics.reply_recuentotweet.fields=organic_métricasEntero
No disponibledata.organic_metrics.impression_conteotweet.fields=organic_métricasInt
No disponibledata.organic_metrics.url_vínculo_conteotweet.fields=organic_métricasEntero
No disponibledata.organic_metrics.user_perfil_recuentotweet.fields=organic_métricasEntero
No disponibledata.promoted_métricastweet.fields=promoted_métricasObjeto
No disponibledata.promoted_metrics.likes_recuentotweet.fields=promoted_métricasEntero
No disponibledata.promoted_metrics.retweet_recuentotweet.fields=promoted_métricasEntero
No disponibledata.promoted_metrics.reply_recuentotweet.fields=promoted_métricasInt
No disponibledata.promoted_metrics.impression_recuentotweet.fields=promoted_métricasInt
No disponibledata.promoted_metrics.url_vínculo_conteotweet.fields=promoted_métricasInt
No disponibledata.promoted_metrics.user_perfil_recuentotweet.fields=promoted_métricasInt
gnip.profileLocationsNo disponibleNo disponible
gnip.profileLocations.addressNo disponibleNo disponible
gnip.profileLocations.address.countryNo disponibleNo disponible
gnip.profileLocations.address.countryCodeNo disponibleNo disponible
gnip.profileLocations.displayNameNo disponibleNo disponible
gnip.profileLocations.geoNo disponibleNo disponible
gnip.profileLocations.geo.coordinatesNo disponibleNo disponible
gnip.profileLocations.geo.typeNo disponibleNo disponible
gnip.profileLocations.objectTypeNo disponibleNo disponible

Objeto de usuario

Formato Activity StreamsFormato de Twitter v2Parámetros obligatorios de v2Tipo en v2
actorincludes.usersexpansions=author_idMatriz de objetos
Derivado de actor.idincludes.users.idexpansions=author_idCadena de texto
actor.displayNameincludes.users.nameexpansions=author_idCadena
actor.preferredUsernameincludes.users.usernameexpansions=author_idCadena de texto
actor.postedTimeincludes.users.created_enexpansions=author_id&user.fields=created_enFecha (ISO 8601)
resumen.del.actorincludes.users.descriptionexpansions=author_id&user.fields=descriptionCadena de texto
No disponibleincludes.users.pinned_Tweet_idexpansions=author_id&user.fields=pinned_Tweet_idCadena de caracteres
No disponibleincludes.users.protectedexpansions=author_id&user.fields=protectedBooleano
actor.linkNo disponibleNo disponible: construir a partir de includes.users.username
actor.twitterTimeZoneNo disponibleNo disponible: inferido a partir de la creación del Tweet_a
actor.utcOffsetNo disponibleNo disponible: inferido a partir de Tweet creado_en
actor.favoritesCountNo disponibleNo disponible
actor.followersCountincludes.users.public_metrics.followers_recuentoexpansions=author_id&user.fields=public_métricasInt
actor.friendsCountincludes.users.public_metrics.following_recuentoexpansions=author_id&user.fields=public_métricasInt
actor.listedCountincludes.users.public_metrics.listed_conteoexpansions=author_id&user.fields=public_métricasEntero
actor.statusesCountincludes.users.public_metrics.tweet_conteoexpansions=author_id&user.fields=public_métricasInt
actor.languages[]No disponibleNo disponible: inferir a partir del idioma del Tweet
actor.location.displayNameincludes.users.locationexpansions=author_id&user.fields=locationCadena de texto
actor.imageincludes.users.profile_imagen_urlexpansions=author_id&user.fields=profile_imagen_URLString
actor.linksincludes.users.urlexpansions=author_id&user.fields=urlCadena de texto
actor.verifiedincludes.users.verifiedexpansions=author_id&user.fields=verifiedBooleano
No disponibleincludes.users.withheldexpansions=author_id&user.fields=withheldObjeto
No disponibleincludes.users.entitiesexpansions=author_id&user.fields=entitiesObjeto
No disponibleincludes.users.entities.urlexpansions=author_id&user.fields=entitiesObjeto
actor.linksincludes.users.entities.url.urlsexpansions=author_id&user.fields=entitiesArreglo de objetos
No disponibleincludes.users.entities.url.urls.startexpansions=author_id&user.fields=entitiesInt
No disponibleincludes.users.entities.url.urls.endexpansions=author_id&user.fields=entitiesEntero
No disponibleincludes.users.entities.url.urls.urlexpansions=author_id&user.fields=entitiesString
actor.links.hrefincludes.users.entities.url.urls.expanded_URLexpansions=author_id&user.fields=entitiesCadena
No disponibleincludes.users.entities.url.urls.display_urlexpansions=author_id&user.fields=entitiesCadena de caracteres
No disponibleincludes.users.entities.descriptionexpansions=author_id&user.fields=entitiesObjeto
No disponibleincludes.users.entities.description.hashtagsexpansions=author_id&user.fields=entitiesArreglo de objetos
No disponibleincludes.users.entities.description.hashtags.startexpansions=author_id&user.fields=entitiesEntero
No disponibleincludes.users.entities.description.hashtags.endexpansions=author_id&user.fields=entitiesInt
No disponibleincludes.users.entities.description.hashtags.tagexpansions=author_id&user.fields=entitiesCadena de texto
No disponibleincludes.users.entities.description.mentionsexpansions=author_id&user.fields=entitiesArreglo de objetos
No disponibleincludes.users.entities.description.mentions.startexpansions=author_id&user.fields=entitiesInt
No disponibleincludes.users.entities.description.mentions.endexpansions=author_id&user.fields=entitiesInt
No disponibleincludes.users.entities.description.mentions.usernameexpansions=author_id&user.fields=entitiesCadena de texto
No disponibleincludes.users.entities.description.cashtagsexpansions=author_id&user.fields=entitiesArreglo de objetos
No disponibleincludes.users.entities.description.cashtags.startexpansions=author_id&user.fields=entitiesInt
No disponibleincludes.users.entities.description.cashtags.endexpansions=author_id&user.fields=entitiesInt
No disponibleincludes.users.entities.description.cashtags.tagexpansions=author_id&user.fields=entitiesString

Objeto de encuesta

Formato Activity StreamsFormato de Twitter v2Parámetros v2 obligatoriosTipo en v2
No disponibleincludes.pollsexpansions=attachments.poll_idsArreglo de objetos
No disponibleincludes.polls.idexpansions=attachments.poll_idsCadena
No disponibleincludes.polls.optionsexpansions=attachments.poll_idsArreglo de objetos
No disponibleincludes.polls.options.positionexpansions=attachments.poll_idsEntero
No disponibleincludes.polls.options.labelexpansions=attachments.poll_idsCadena
No disponibleincludes.polls.options.votesexpansions=attachments.poll_idsEntero
No disponibleincludes.polls.voting_statusexpansions=attachments.poll_ids&poll.fields=voting_statusCadena
No disponibleincludes.polls.duration_minutesexpansions=attachments.poll_ids&poll.fields=duration_minutesEntero
No disponibleincludes.polls.end_datetimeexpansions=attachments.poll_ids&poll.fields=end_datetimeFecha (ISO 8601)

Objeto Place

Formato Activity StreamsFormato de Twitter v2Parámetros v2 obligatoriosTipo en v2
locationincludes.placesexpansions=geo.place_idarray de objetos
location.displayNameincludes.places.full_nameexpansions=geo.place_idstring
Analizado desde location.linkincludes.places.idexpansions=geo.place_idstring
location.nameincludes.places.nameexpansions=geo.place_id&place.fields=namestring
location.country_codeincludes.places.countryexpansions=geo.place_id&place.fields=countrystring
location.twitter_place_typeincludes.places.place_typeexpansions=geo.place_id&place.fields=place_typestring
location.twitter_country_codeincludes.places.country_codeexpansions=geo.place_id&place.fields=country_codestring
location.geoincludes.places.geoexpansions=geo.place_id&place.fields=geoobject
location.geo.typeincludes.places.geo.typeexpansions=geo.place_id&place.fields=geostring
location.geo.coordinatesincludes.places.geo.bboxexpansions=geo.place_id&place.fields=geoarray
No disponibleincludes.places.geo.propertiesexpansions=geo.place_id&place.fields=geoobject

Objeto multimedia

Formato de Activity StreamsFormato de Twitter v2Parámetros obligatorios de v2Tipo en v2
Twitter_entities.media OR twitter_ampliado_entities.mediaincludes.mediaexpansions=attachments.media_llavesMatriz de objetos
Twitter_entities.media.id_str O twitter_ampliado_entities.media.id_strincludes.media.media_claveexpansions=attachments.media_clavesCadena de texto
Twitter_entities.media.id O twitter_extendido_entities.media.idNo disponibleNo disponible
Twitter_entities.media.indices OR twitter_ampliado_entities.media.indicesNo disponibleNo disponible
Twitter_entities.media.additional_contenido multimedia_info O Twitter_ampliado_entities.media.additional_contenido multimedia_InformaciónNo disponibleNo disponible
Twitter_entities.media.additional_medios_info.monetizable OR twitter_ampliado_entities.media.additional_contenido multimedia_info.monetizableNo disponibleNo disponible
Twitter_entities.media.media_URL O Twitter_ampliado_entities.media.media_URLNo disponibleNo disponible
Twitter_entities.media.media_url_https O twitter_ampliado_entities.media.media_URL_httpsincludes.media.preview_imagen_urlexpansions=attachments.media_keys&media.fields=preview_imagen_urlString
Twitter_entities.media.url O twitter_ampliado_entities.media.urlNo disponibleNo disponible
Twitter_entities.media.display_URL O Twitter_extendido_entities.media.display_URLNo disponibleNo disponible
Twitter_entities.media.expanded_url O twitter_ampliado_entities.media.expanded_urlNo disponibleNo disponible
Twitter_entities.media.type O twitter_ampliado_entities.media.typeincludes.media.typeexpansions=attachments.media_keysCadena de texto
Twitter_entities.media.sizes O twitter_ampliado_entities.media.sizesNo disponibleNo disponible
Twitter_entities.media.sizes.thumb O twitter_ampliado_entities.media.sizes.thumbNo disponibleNo disponible
Twitter_entities.media.sizes.thumb.h O X_extendido_entities.media.sizes.thumb.hNo disponibleNo disponible
Twitter_entities.media.sizes.thumb.w O Twitter_ampliado_entities.media.sizes.thumb.wNo disponibleNo disponible
Twitter_entities.media.sizes.thumb.resize O Twitter_ampliado_entities.media.sizes.thumb.resizeNo disponibleNo disponible
Twitter_entities.media.sizes.small O twitter_ampliado_entities.media.sizes.smallNo disponibleNo disponible
Twitter_entities.media.sizes.small.h OR twitter_ampliado_entities.media.sizes.small.hNo disponibleNo disponible
Twitter_entities.media.sizes.small.w O Twitter_ampliado_entities.media.sizes.small.wNo disponibleNo disponible
Twitter_entities.media.sizes.small.resize O Twitter_ampliado_entities.media.sizes.small.resizeNo disponibleNo disponible
Twitter_entities.media.sizes.medium O twitter_ampliado_entities.media.sizes.mediumNo disponibleNo disponible
Twitter_entities.media.sizes.medium.h O twitter_ampliado_entities.media.sizes.medium.hNo disponibleNo disponible
Twitter_entities.media.sizes.medium.w O twitter_ampliado_entities.media.sizes.medium.wNo disponibleNo disponible
Twitter_entities.media.sizes.medium.resize OR twitter_ampliado_entities.media.sizes.medium.resizeNo disponibleNo disponible
Twitter_entities.media.sizes.large O twitter_ampliado_entities.media.sizes.largeNo disponibleNo disponible
Twitter_entities.media.sizes.large.h O Twitter_ampliado_entities.media.sizes.large.hincludes.media.heightexpansions=attachments.media_llaves&media.fields=heightInt
Twitter_entities.media.sizes.large.w O Twitter_ampliado_entities.media.sizes.large.wincludes.media.widthexpansions=attachments.media_claves&media.fields=widthInt
Twitter_entities.media.sizes.large.resize O Twitter_ampliado_entities.media.sizes.large.resizeNo disponibleNo disponible
Twitter_ampliado_entities.media.video_infoNo disponibleNo disponible
Twitter_ampliado_entities.media.video_info.aspect_relaciónNo disponibleNo disponible
Twitter_ampliado_entities.media.video_info.duration_milisincludes.media.duration_msexpansions=attachments.media_claves&media.fields=duration_msInt
Twitter_extendido_entities.media.video_info.variantesNo disponibleNo disponible
Twitter_ampliado_entities.media.video_info.variants.tasa_de_bitsNo disponibleNo disponible
Twitter_ampliado_entities.media.video_info.variants.content_tipoNo disponibleNo disponible
Twitter_ampliado_entities.media.video_info.variants.urlNo disponibleNo disponible
No disponibleincludes.media.alt_textoexpansions=attachments.media_claves&media.fields=alt_textoCadena de caracteres
No disponibleincludes.media.public_métricasexpansions=attachments.media_claves&media.fields=public_métricasObjeto
No disponibleincludes.media.public_metrics.view_recuentoexpansions=attachments.media_claves&media.fields=public_métricasEntero
No disponibleincludes.media.non_público_métricasexpansions=attachments.media_keys&media.fields=none_público_métricasObjeto
No disponibleincludes.media.non_público_metrics.reproduccion_0_contadorexpansions=attachments.media_keys&media.fields=none_público_métricasInt
No disponibleincludes.media.none_público_metrics.playback_25_conteoexpansions=attachments.media_claves&media.fields=none_público_métricasInt
No disponibleincludes.media.non_público_metrics.reproducción_50_conteoexpansions=attachments.media_claves&media.fields=non_público_métricasInt
No disponibleincludes.media.non_público_metrics.playback_75_conteoexpansions=attachments.media_keys&media.fields=none_público_métricasInt
No disponibleincludes.media.non_público_metrics.reproduccion_100_recuentoexpansions=attachments.media_claves&media.fields=none_público_métricasInt
No disponibleincludes.media.organic_métricasexpansions=attachments.media_llaves&media.fields=organic_métricasObjeto
No disponibleincludes.media.organic_metrics.playback_0_conteoexpansions=attachments.media_claves&media.fields=organic_métricasInt
No disponibleincludes.media.organic_metrics.reproduccion_25_recuentoexpansions=attachments.media_keys&media.fields=organic_métricasInt
No disponibleincludes.media.organic_metrics.playback_50_recuentoexpansions=attachments.media_keys&media.fields=organic_métricasInt
No disponibleincludes.media.organic_metrics.reproducción_75_conteoexpansions=attachments.media_keys&media.fields=organic_métricasInt
No disponibleincludes.media.organic_metrics.reproduccion_100_recuentoexpansions=attachments.media_claves&media.fields=organic_métricasInt
No disponibleincludes.media.organic_metrics.view_recuentoexpansions=attachments.media_keys&media.fields=organic_métricasInt
No disponibleincludes.media.promoted_métricasexpansions=attachments.media_claves&media.fields=promoted_métricasObjeto
No disponibleincludes.media.promoted_metrics.reproduccion_0_conteoexpansions=attachments.media_keys&media.fields=promoted_métricasInt
No disponibleincludes.media.promoted_metrics.playback_25_recuentoexpansions=attachments.media_keys&media.fields=promoted_métricasInt
No disponibleincludes.media.promoted_metrics.playback_50_recuentoexpansions=attachments.media_keys&media.fields=promoted_métricasInt
No disponibleincludes.media.promoted_metrics.playback_75_recuentoexpansions=attachments.media_keys&media.fields=promoted_métricasInt
No disponibleincludes.media.promoted_metrics.playback_100_recuentoexpansions=attachments.media_llaves&media.fields=promoted_métricasInt
No disponibleincludes.media.promoted_métricas.ver_conteoexpansions=attachments.media_keys&media.fields=promoted_métricasInt

Objeto de reglas de coincidencia

Formato Activity StreamsFormato de Twitter v2Parámetros v2 obligatoriosTipo en v2
gnip.matching_rulesmatching_rulesPredeterminado en el flujo filtradoMatriz de objetos
gnip.matching_rules.tagmatching_rules.tagPredeterminado en el flujo filtradoCadena
gnip.matching_rules.tag.idNo disponibleNo disponible
gnip.matching_rules.tag.id_strmatching_rules.idPredeterminado en el flujo filtradoCadena

Herramienta visual de migración del formato de datos

La herramienta visual de migración del formato de datos es una aplicación web que muestra los campos que se corresponden del formato de datos de X API v1.1 al formato de X API v2 para un objeto Tweet o de usuario determinado. Puedes proporcionar un Tweet ID o un user ID a la aplicación para ver esta correspondencia. Ten en cuenta que deberás iniciar sesión con tu cuenta de Twitter para poder usar la App.