Introducción
- Formato nativo a X API v2 (estándar v1.1)
- Native Enriched a X API v2 (empresarial)
- Activity Streams a X API v2 (empresarial)
Diferencias generales
Solicitar objetos y campos
Diseño JSON actualizado
- En el nivel raíz del JSON, los endpoints estándar devuelven objetos de Publicación en un array statuses, mientras que X API v2 devuelve un array data.
- En lugar de hacer referencia a “statuses” retuiteados y citados, el JSON de X API v2 hace referencia a Tweets retuiteados y citados. Muchos campos heredados y obsoletos, como contributors y user.translator_type, se están eliminando.
- En lugar de usar tanto favorites (en el objeto de Publicación) como favourites (en el objeto de usuario), X API v2 usa el término like.
- X adopta la convención de que los valores JSON que no tienen valor (por ejemplo, null) no se incluyen en la carga útil. Los atributos de Publicación y de usuario solo se incluyen si tienen valores no nulos.
Nuevos campos en v2
- Un campo conversation_id
- Dos nuevos campos de annotations, incluidos context y entities
- Varios campos nuevos de metrics
- Un nuevo campo reply_setting, que indica quién puede responder a una determinada Publicación
Migrar del formato de datos estándar de v1.1 a v2
Estructura del payload estándar v1.1 vs v2
| estructura v1.1 | estructura v2 | |
|---|---|---|
| Predeterminada | { “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 campo y expansión | { “data”: [{ “entities”: { “hashtags”: [], “cashtags”: [], “mentions”: [], “urls”: [], }, “attachments”: { “media_keys”: [], “poll_ids”: [] } }], “includes”: [ “tweets”: [ “users”: [ “media”: [ “places”: [ “polls”: [ ], “matching_rules”: [] } |
Objeto Tweet
| Formato de Twitter 1.1 | Formato de Twitter v2 | Parámetros v2 requeridos |
| created_at | data.created_at | tweet.fields=created_at |
| id | N/A id es una cadena | |
| id_str | data.id | predeterminado |
| text | data.text | predeterminado |
| full_text | N/A text incluye el texto completo | |
| truncated | N/A text incluye el texto completo | |
| display_text_range | N/A text incluye el texto completo | |
| edit_history | data.edit_history_tweet_ids | predeterminado |
| edit_controls | data.edit_controls | tweet.fields=edit_controls |
| editable | data.edit_controls.is_edit_eligible | tweet.fields=edit_controls |
| entities | data.entities | tweet.fields=entities |
| entities.user_mentions | data.entities.mentions | tweet.fields=entities |
| entities.symbols | data.entities.cashtags | tweet.fields=entities |
| entities.hashtags | data.entities.hashtags | tweet.fields=entities |
| entities.urls | data.entities.urls | tweet.fields=entities |
| entities.media | includes.media | expansions=attachments.media_keys |
| extended_entities | data.attachments | tweet_fields=attachments |
| in_reply_to_status_id | N/A referenced_tweets.id es una cadena | |
| in_reply_to_status_id_str | data.referenced_tweets.id (si type=replied_to) | expansions=referenced_tweets.id |
| in_reply_to_user_id | N/A in_reply_to_user_id es una cadena | |
| in_reply_to_user_id_str | data.in_reply_to_user_id | tweet.fields=in_reply_to_user_id |
| in_reply_to_screen_name | includes.users..username | tweet.fields=in_reply_to_user_id&expansions=entities.mentions.username |
| user | includes.users | expansions=author_id |
| geo | data.geo.place_id | tweet.fields=geo |
| coordinates | data.geo.place_id | expansions=geo.place_id |
| place | data.geo.place_id | expansions=geo.place_id |
| retweeted_status | data.referenced_tweets.id (si type=retweeted) | expansions=referenced_tweets.id |
| is_quoted_status | No disponible | |
| quoted_status_id | N/A referenced_tweets.id es una cadena | |
| quoted_status_id_str | data.referenced_tweets.id (si type=quoted) | expansions=referenced_tweets.id |
| quoted_status_permalink | No disponible | |
| quoted_status | data.referenced_tweets (si type=quoted) | expansions=referenced_tweets.id |
| retweet_count | data.public_metrics.retweet_count | tweet.fields=public_metrics |
| favorite_count | data.public_metrics.like_count | tweet.fields=public_metrics |
| favorited | No disponible | |
| retweeted | No disponible | |
| possibly_sensitive | data.possibly_sensitive | tweet.fields=possibly_sensitive |
| lang | data.lang | tweet.fields=lang |
| scopes | No disponible | |
| withheld | data.withheld | tweet.fields=withheld |
| Objeto Tweet en la v1.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 con 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 |
| { “created_at”: “Wed Feb 10 17:26:34 +0000 2021”, “id”: 1359554366051504129, “id_str”: “1359554366051504129”, “text”: “Adelante, sigue otra cuenta de cachorritos. No te juzgaremos. \n\nPresentamos los endpoints de administración de follows en la nueva… https://t.co/3cBZKZUevF”, “truncated”: true, “entities”: { “hashtags”: [], “symbols”: [], “user_mentions”: [], “urls”: [{ “url”: “https://t.co/3cBZKZUevF”, “expanded_url”: “https://twitter.com/i/web/status/1359554366051504129”, “display_url”: “twitter.com/i/web/status/1…”, “indices”: [ 111, 134 ] }] }, “in_reply_to_status_id”: null, “in_reply_to_status_id_str”: null, “in_reply_to_user_id”: null, “in_reply_to_user_id_str”: null, “in_reply_to_screen_name”: null, “user”: { … }, “geo”: null, “coordinates”: null, “place”: null, “contributors”: null, “is_quote_status”: false, “retweet_count”: 18, “favorite_count”: 98, “favorited”: false, “retweeted”: false, “possibly_sensitive”: false, “possibly_sensitive_appealable”: false, “lang”: “en” } | { “data”: [{ “id”:“1359554366051504129”, “texto”:“Adelante, sigue otra cuenta de cachorros. No te juzgaremos. \n\nPresentamos los endpoints de gestión de seguimientos para la nueva #TwitterAPI. Ahora puedes usar la API v2 para seguir y dejar de seguir cuentas. Más información https://t.co/mtpd9VIMDa”, “lang”:“es”, “conversación_id”:“1359554366051504129”, “possibly_sensible”: false, “responder_configuración”:“everyone”, “created_at”:“2021-02-10T17:26:34.000Z”, “author_id”:“2244994945”, “public_metrics”:{ “retweet_count”: 18, “responder_count”: 11, “like_count”: 98, “cita textual_count”: 7 }, “entities”:{ “hashtags”: [{ “inicio”: 110, “final”: 121, “tag”:“TwitterAPI” }], “urls”: [{ “inicio”: 194, “final”: 217, “url”:“https://t.co/mtpd9VIMDa”, “expandido_url”:“https://devcommunity.x.com/t/introducing-the-new-manage-follows-endpoints-to-the-twitter-api-v2/149465”, “display_url”:“devcommunity.com/t/introducing-…”, “images”: [{ “url”:“https://pbs.twimg.com/news_img/1359554367905427457/DczC72__?format=jpg&name=orig”, “width”: 1200, “height”: 630 }, { “url”:“https://pbs.twimg.com/news_img/1359554367905427457/DczC72__?format=jpg&name=150x150”, “width”: 150, “height”: 150 } ], “status”: 200, “title”:“Presentamos los nuevos endpoints de gestión de seguimientos en X API v2”, “descripción”:“¿Seguir o no seguir? Ahora puedes responder esa pregunta como quieras usando X API v2. Hoy nos complace anunciar el lanzamiento de los nuevos endpoints de gestión de seguimientos en la nueva Twitter API. Como adelantamos cuando lanzamos los endpoints de consulta de seguimientos hace poco más de un mes, la capacidad de gestionar relaciones de seguimiento finalmente está aquí. Estos son algunos de nuestros endpoints más populares en nuestras APIs v1.1, por lo que estamos entusiasmados de habilitar una amplia gama de casos de uso en X API v2. C…”, “unwound_url”:“https://devcommunity.x.com/t/introducing-the-new-manage-follows-endpoints-to-the-twitter-api-v2/149465” }] }, “context_anotaciones”: [{ “domain”:{ “id”:“46”, “name”:“Categoría de marca”, “descripción”:“Categorías dentro de las verticales de marca que delimitan el alcance de las marcas” }, “entity”:{ “id”:“781974596752842752”, “name”:“Servicios” } }, { “domain”:{ “id”:“47”, “name”:“Marca”, “descripción”:“Marcas y compañías” }, “entity”:{ “id”:“10045225402”, “name”:“Twitter” } } ] }] } |
Objeto de usuario
| Formato de Twitter 1.1 | Formato de Twitter v2 | Parámetros obligatorios de v2 |
| user_id | data.author_id | tweet.fields=author_id |
| user.id | N/A, usa includes.users.id | |
| user.id_str | includes.users.id | expansions=author_id |
| user.name | includes.users.name | expansions=author_id |
| user.screen_name | includes.user.username | expansions=author_id |
| user.location | includes.users.location | expansions=author_id&user.fields=location |
| user.description | includes.users.description | expansions=author_id&user.fields=description |
| user.url | includes.users.url | expansions=author_id&user.fields=entities |
| user.entities | includes.users.entities | |
| user.entities.url.urls.url | includes.users.entities.url.urls.url | |
| user.entities.url.urls.expanded_url | includes.users.entities.url.urls.expanded_url | expansions=author_id&user.fields=entities |
| user.entities.url.urls.display_url | includes.users.entities.url.urls.display_url | expansions=author_id&user.fields=entities |
| user.entities.url.urls.display_url.indicies[0] | includes.users.entities.url.urls.start | expansions=author_id&user.fields=entities |
| user.entities.url.urls.display_url.indicies[1] | includes.users.entities.url.urls.end | expansions=author_id&user.fields=entities |
| user.protected | includes.users.protected | expansions=author_id&user.fields=protected |
| user.followers_count | includes.users.public_metrics.followers_count | expansions=author_id&user.fields=public_metrics |
| user.friends_count | includes.users.public_metrics.following_count | expansions=author_id&user.fields=public_metrics |
| user.listed_count | includes.users.public_metrics.listed_count | expansions=author_id&user.fields=public_metrics |
| user.created_at | includes.users.created_at | expansions=author_id&user.fields=created_at |
| user.favourites_count | ||
| user.verified | includes.users.verified | expansions=author_id&user.fields=verified |
| user.statuses_count | includes.users.public_metrics.tweet_count | expansions=author_id&user.fields=public_metrics |
| user.profile_image_url_https | includes.users.profile_image_url | expansions=author_id&user.fields=profile_image_url |
| Objeto de usuario en v1.1 | Objeto de usuario y solicitud en v2 |
| ”user”:{ “id”: 2244994945, “id_str”:“2244994945”, “name”:“Twitter Dev”, “screen_name”:“TwitterDev”, “location”:“127.0.0.1”, “descripción”:“La voz del equipo de #TwitterDev y tu fuente oficial para actualizaciones, noticias y eventos relacionados con la #TwitterAPI.”, “url”:“https://t.co/3ZX3TNiZCY”, “entities”:{ “url”:{ “urls”: [{ “url”:“https://t.co/3ZX3TNiZCY”, “expandido_url”:“https://developer.x.com/es/community”, “display_url”:“developer.x.com/es/community”, “indices”: [ 0, 23 ] }] }, “descripción”:{ “urls”: [] } }, “protected”: false, “followers_count”: 517232, “friends_count”: 2032, “listado_count”: 1722, “creada_en”:“Sat Dec 14 04:35:55 +0000 2013”, “favoritos_count”: 2134, “utc_offset”: null, “time_zona”: null, “geo_activado”: true, “verificado”: true, “statuses_count”: 3677, “lang”: null, “contributors_activado”: false, “es_traductor”: false, “es_traducción_activado”: false, “profile_background_color”:“FFFFFF”, “profile_background_imagen_url”:“http://abs.twimg.com/images/themes/theme1/bg.png”, “profile_background_image_url_https”:“https://abs.twimg.com/images/themes/theme1/bg.png”, “profile_background_mosaico”: false, “profile_imagen_url”:“http://pbs.twimg.com/profile_images/1354494203451961345/d8HkZl6p_normal.jpg”, “profile_imagen_url_https”:“https://pbs.twimg.com/profile_images/1354494203451961345/d8HkZl6p_normal.jpg”, “profile_banner_url”:“https://pbs.twimg.com/profile_banners/2244994945/1611792896”, “profile_vínculo_color”:“0084B4”, “profile_sidebar_border_color”:“FFFFFF”, “profile_sidebar_rellenar_color”:“DDEEF6”, “profile_texto_color”:“333333”, “profile_utilizar_background_imagen”: false, “tiene_extended_profile”: true, “predeterminado_profile”: false, “predeterminado_profile_imagen”: false, “following”: null, “seguir_petición_enviado”: null, “notifications”: null, “traductor_type”:“regular” } | { “data”: [{ “author_id”: “2244994945”, “id”: “1362876655061073928”, “text”: “Desde nuestras salas de estar hasta las tuyas 🐱💻🛋️ Nuestros defensores de desarrolladores tienen preparadas algunas emocionantes transmisiones en Twitch y eventos virtuales para ayudarte a comenzar con la nueva #TwitterAPI. Consulta el calendario para obtener más detalles y cuéntanos si quieres ver más!\n👇\nhttps://t.co/cixDY9qkvH” }], “includes”: { “users”: [{ “public_metrics”: { “followers_count”: 517233, “following_count”: 2034, “tweet_count”: 3677, “listed_count”: 1727 }, “username”: “TwitterDev”, “entities”: { “url”: { “urls”: [{ “start”: 0, “end”: 23, “url”: “https://t.co/3ZX3TNiZCY”, “expanded_url”: “https://developer.x.com/en/community”, “display_url”: “developer.x.com/en/community” }] }, “description”: { “hashtags”: [{ “start”: 17, “end”: 28, “tag”: “TwitterDev” }, { “start”: 105, “end”: 116, “tag”: “TwitterAPI” } ] } }, “description”: “La voz del equipo #TwitterDev y tu fuente oficial de actualizaciones, noticias y eventos relacionados con la #TwitterAPI.”, “name”: “Twitter Dev”, “verified”: true, “location”: “127.0.0.1”, “id”: “2244994945”, “protected”: false, “url”: “https://t.co/3ZX3TNiZCY”, “profile_image_url”: “https://pbs.twimg.com/profile_images/1354494203451961345/d8HkZl6p_normal.jpg”, “created_at”: “2013-12-14T04:35:55.000Z” }] } } |
Objetos de entidades y entidades ampliadas
| Formato de Twitter 1.1 | Formato de Twitter v2 | Parámetros obligatorios de v2 | Tipo en v2 |
| entities | data.entities | tweet.fields=entities | object |
| entities.hashtags | data.entities.hashtags | tweet.fields=entities | array of objects |
| entities.hashtags.indices[0] | data.entities.hashtags.start | tweet.fields=entities | number |
| entities.hashtags.indices[1] | data.entities.hashtags.end | tweet.fields=entities | number |
| entities.hashtags.text | data.entities.hashtags.tag | tweet.fields=entities | string |
| entities.urls | data.entities.urls | tweet.fields=entities | array of objects |
| entities.urls.indices[0] | data.entities.urls.start | tweet.fields=entities | number |
| entities.urls.indices[1] | data.entities.urls.end | tweet.fields=entities | number |
| entities.urls.url | data.entities.urls.url | tweet.fields=entities | string |
| entities.user_mentions | data.entities.mentions | tweet.fields=entities | array of objects |
| entities.user_mentions.indicies[0] | data.entities.mentions.start | tweet.fields=entities | number |
| entities.user_mentions.indicies[1] | data.entities.mentions.end | tweet.fields=entities | number |
| entities.user_mentions.screen_name | data.entities.mentions.username | tweet.fields=entities | string |
| entities.symbols | data.entities.cashtags | tweet.fields=entities | array of objects |
| entities.symbols.indices[0] | data.entities.cashtags.start | tweet.fields=entities | number |
| entities.symbols.indices[1] | data.entities.cashtags.end | tweet.fields=entities | number |
| entities.symbols.text | data.entities.cashtags.tag | tweet.fields=entities | string |
| entities.media | includes.media | expansions=attachments.media_keys | array of objects |
| entities.media.id_str | includes.media.media_key | expansions=attachments.media_keys | string |
| entities.media.type | includes.media.media.type | expansions=attachments.media_keys | string |
| entities.media.media_url | N/A, use includes.media.url | string | |
| entities.media.media_url_https | includes.media.url | expansions=attachments.media_keys&media.fields=url | string |
| entities.media.url | |||
| entities.media.display_url | |||
| entities.media.expanded_url | |||
| entities.media.media_url_https | includes.media.preview_image_url | expansions=attachments.media_keys&media.fields=preview_image_url | string |
| extended_entities | data.attachments | tweet_fields=attachments | object |
| extended_entities | data.attachments.media_keys | tweet.fields=attachments | array of objects |
| extended_entities.media | includes.media | expansions=attachments.media_keys | array of objects |
| extended_entities.media.id_str | includes.media.media_key | expansions=attachments.media_keys | string |
| extended_entities.media.type | includes.media.media.type | expansions=attachments.media_keys | string |
| extended_entities.media.sizes.thumb.w | No disponible | ||
| extended_entities.media.sizes.thumb.h | No disponible | ||
| extended_entities.media.sizes.thumb.resize | No disponible | ||
| extended_entities.media.sizes.large.w | includes.media.height | expansions=attachments.media_keys&media.fields=height | |
| extended_entities.media.sizes.large.h | includes.media.width | expansions=attachments.media_keys&media.fields=width | |
| extended_entities.media.sizes.large.resize | No disponible | ||
| extended_entities.media.sizes.small.w | No disponible | ||
| extended_entities.media.sizes.small.h | No disponible | ||
| extended_entities.media.sizes.small.resize | No disponible | ||
| extended_entities.media.sizes.medium.w | No disponible | ||
| extended_entities.media.sizes.medium.h | No disponible | ||
| extended_entities.media.sizes.medium.resize | No disponible | ||
| extended_entities.media.media_url_https | includes.media.url | expansions=attachments.media_keys&media.fields=url | string |
| extended_entities.media.media_url_https | includes.media.preview_image_url | expansions=attachments.media_keys&media.fields=preview_image_url | string |
| extended_entities.media.video_info.duration_millis | includes.media.duration_ms | expansions=attachments.media_keys&media.fields=duration_ms | number |
| Entidades y entidades extendidas en v1.1 (con vídeo) | Entidades, archivos 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 |
| ”entities”:{ “hashtags”: [{ “texto”:“test”, “indices”: [ 8, 13 ] }], “symbols”: [], “user_mentions”: [{ “screen_name”:“TwitterDev”, “name”:“Twitter Dev”, “id”: 2244994945, “id_str”:“2244994945”, “indices”: [ 31, 42 ] }], “urls”: [{ “url”:“https://t.co/XVLZ3uwikc”, “expandido_url”:“https://developer.x.com/en”, “display_url”:“developer.x.com/en”, “indices”: [ 91, 114 ] }], “media”: [{ “id”: 1370161464028196868, “id_str”:“1370161464028196868”, “indices”: [ 115, 138 ], “media_url”:“http://pbs.twimg.com/ext_tw_video_thumb/1370161464028196868/pu/img/cGLCoXBHVktkwlC5.jpg”, “media_url_https”:“https://pbs.twimg.com/ext_tw_video_thumb/1370161464028196868/pu/img/cGLCoXBHVktkwlC5.jpg”, “url”:“https://t.co/dz4oByygWA”, “display_url”:“pic.x.com/dz4oByygWA”, “expandido_url”:“https://twitter.com/furiouscamper/status/1370161532013735937/video/1”, “type”:“photo”, “sizes”:{ “thumb”:{ “w”: 150, “h”: 150, “resize”:“crop” }, “small”:{ “w”: 383, “h”: 680, “resize”:“fit” }, “large”:{ “w”: 720, “h”: 1280, “resize”:“fit” }, “medium”:{ “w”: 675, “h”: 1200, “resize”:“fit” } } }] }, “extendido_entities”:{ “media”: [{ “id”: 1370161464028196868, “id_str”:“1370161464028196868”, “indices”: [ 115, 138 ], “media_url”:“http://pbs.twimg.com/ext_tw_video_thumb/1370161464028196868/pu/img/cGLCoXBHVktkwlC5.jpg”, “media_url_https”:“https://pbs.twimg.com/ext_tw_video_thumb/1370161464028196868/pu/img/cGLCoXBHVktkwlC5.jpg”, “url”:“https://t.co/dz4oByygWA”, “display_url”:“pic.x.com/dz4oByygWA”, “expandido_url”:“https://twitter.com/furiouscamper/status/1370161532013735937/video/1”, “type”:“video”, “sizes”:{ “thumb”:{ “w”: 150, “h”: 150, “resize”:“crop” }, “small”:{ “w”: 383, “h”: 680, “resize”:“fit” }, “large”:{ “w”: 720, “h”: 1280, “resize”:“fit” }, “medium”:{ “w”: 675, “h”: 1200, “resize”:“fit” } }, “video_info”:{ “aspecto_relación de aspecto”: [ 9, 16 ], “duration_millis”: 5140, “variantes”: [{ “bitrate”: 950000, “content_type”:“video/mp4”, “url”:“https://video.twimg.com/ext_tw_video/1370161464028196868/pu/vid/480x852/rAuFVMEqs0MeP4P4.mp4?tag=12” }, { “bitrate”: 2176000, “content_type”:“video/mp4”, “url”:“https://video.twimg.com/ext_tw_video/1370161464028196868/pu/vid/720x1280/ZxVL5qYO-DNVuSyq.mp4?tag=12” }, { “content_type”:“application/x-mpegURL”, “url”:“https://video.twimg.com/ext_tw_video/1370161464028196868/pu/pl/EGVpuZpo-wYxTNCq.m3u8?tag=12” }, { “bitrate”: 632000, “content_type”:“video/mp4”, “url”:“https://video.twimg.com/ext_tw_video/1370161464028196868/pu/vid/320x568/M7VtocAwKPFdkqzF.mp4?tag=12” } ] }, “adicional_media_info”:{ “monetizable”: false } }] } | { “data”: [{ “entities”:{ “hashtags”: [{ “start”: 8, “final”: 13, “etiqueta”:“test” }], “menciones”: [{ “start”: 31, “final”: 42, “username”:“TwitterDev” }], “urls”: [{ “start”: 91, “final”: 114, “url”:“https://t.co/XVLZ3uwikc”, “expandida_url”:“https://developer.x.com/en”, “display_url”:“developer.x.com/es”, “status”: 200, “title”:“Casos de uso, tutoriales,&Documentación”, “descripción”:“Publicar&analizar Tweets, optimizar anuncios,&crea experiencias únicas de cliente con la API de Twitter, la API de Twitter Ads,&Twitter para Sitios Web. Empecemos’Comencemos a desarrollar.”, “expandida_url”:“https://developer.x.com/en” }, { “start”: 115, “final”: 138, “url”:“https://t.co/dz4oByygWA”, “expandido_url”:“https://x.com/furiouscamper/status/1370161532013735937/video/1”, “display_url”:“pic.x.com/dz4oByygWA” } ] }, “id”:“1370161532013735937”, “texto”:“Another #test with a video and @TwitterDev mention. Excited for new format migration docs! https://t.co/XVLZ3uwikc https://t.co/dz4oByygWA”, “attachments”:{ “media_keys”: [ “7_1370161464028196868” ] } }], “includes”:{ “media”: [{ “type”:“video”, “height”: 1280, “public_métricas”:{ “ver_count”: 37 }, “width”: 720, “media_clave”:“7_1370161464028196868”, “duration_ms”: 5140, “previsualización_image_url”:“https://pbs.twimg.com/ext_tw_video_thumb/1370161464028196868/pu/img/cGLCoXBHVktkwlC5.jpg” }], “users”: [{ “public_métricas”:{ “seguidores_count”: 517233, “following_count”: 2034, “Tweet_count”: 3677, “listado_count”: 1727 }, “creado_en”:“2013-12-14T04:35:55.000Z”, “perfil_image_url”:“https://pbs.twimg.com/profile_images/1354494203451961345/d8HkZl6p_normal.jpg”, “descripción”:“La voz del equipo de #TwitterDev y tu fuente oficial para actualizaciones, noticias y eventos relacionados con la #TwitterAPI.”, “verificado”: true, “id”:“2244994945”, “username”:“TwitterDev”, “protected”: false, “entities”:{ “url”:{ “urls”: [{ “start”: 0, “final”: 23, “url”:“https://t.co/3ZX3TNiZCY”, “expandida_url”:“https://developer.x.com/es/community”, “display_url”:“developer.x.com/es/community” }] }, “descripción”:{ “hashtags”: [{ “start”: 17, “final”: 28, “tag”:“TwitterDev” }, { “start”: 105, “final”: 116, “tag”:“TwitterAPI” } ] } }, “url”:“https://t.co/3ZX3TNiZCY”, “name”:“Twitter Dev”, “location”:“127.0.0.1” }] } } |
Objeto Place
| Formato de Twitter 1.1 | Formato de Twitter v2 | Parámetros necesarios en v2 |
| place | data.geo.place_id | tweet.fields=geo |
| place.id | includes.places.id | expansions=geo.place_id |
| place.id.place_type | includes.places.place_type | expansions=geo.place_id&place.fields=place_type |
| place.id.name | includes.places.name | expansions=geo.place_id&place.fields=name |
| place.id.full_name | includes.places.full_name | expansions=geo.place_id |
| place.id.country_code | includes.places.country_code | expansions=geo.place_id&place.fields=country_code |
| place.id.country | includes.places.country | expansions=geo.place_id&place.fields=country |
| place.id.contained_within | includes.places.contained_within | expansions=geo.place_id&place.fields=contained_within |
| place.id.bounding_box.type | includes.places.geo.type | expansions=geo.place_id&place.fields=place_type |
| place.id.bounding_box.coordinates | includes.places.geo.bbox | expansions=geo.place_id&place.fields=geo |
| place.id.attributes | includes.places.properties | expansions=geo.place_id&place.fields=geo |
| Objeto Place en v1.1 | Objeto 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” }] } |
- Obtén más información sobre campos
- Obtén más información sobre expansions
- Aprende a usar campos con expansiones
Migrar del formato de datos Native Enriched a v2
- En el nivel raíz de JSON, el formato Native Enriched devuelve objetos Tweet en un array results, mientras que X API v2 devuelve un array 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 está adoptando 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 distintos de null.
- Todos los campos id en v2 estarán en formato de cadena.
- 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
- contributors
- Ciertos campos de entities.media y extended_entities.media
- filter_level
- timestamp_ms
- truncated
Estructura del payload de Native Enriched vs v2
| Estructura Native Enriched | Estructura de v2 | |
|---|---|---|
| Predeterminado | { “user”: , “place”: , “entities”: { “hashtags”: [], “urls”: [], “user_mentions”: [], “symbols”: [], “annotations”: [], “media”: [] }, “extended_entities”: , “matching_rules”: [] } | { “data”: [{ “id”, “text”, “edit_history_tweet_ids” }] } |
| Con parámetros definidos de campos y expansiones | { “data”: [{ “entities”: { “hashtags”: [], “cashtags”: [], “mentions”: [], “urls”: [], }, “attachments”: { “media_keys”: [], “poll_ids”: [] } }], “includes”: [ “tweets”: [ “users”: [ “media”: [ “places”: [ “polls”: [ ], “matching_rules”: [] } |
Objeto Tweet
| Formato Native Enriched | Formato de Twitter v2 | Parámetros v2 obligatorios | Tipo en v2 |
| created_at | data.created_at | tweet.fields=created_at | String |
| id | N/A (no aplica): consulta el campo id | ||
| id_str | data.id | Predeterminado | String |
| text | data.text | Predeterminado | String |
| edit_history | data.edit_history_tweet_ids | Predeterminado | Array |
| edit_controls | data.edit_controls | tweet.fields=edit_controls | Object |
| editable | data.edit_controls.is_edit_eligible | tweet.fields=edit_controls | Boolean |
| display_text_range | N/A (no aplica): el campo text incluye el texto completo | ||
| source | data.source | tweet.fields=source | String |
| truncated | N/A (no aplica): el campo text incluye el texto completo | ||
| No aplica | data.conversation_id | tweet.fields=conversation_id | String |
| No aplica | data.reply_settings | tweet.fields=reply_settings | String |
| in_reply_to_status_id | N/D: consulta referenced_tweets.id | ||
| in_reply_to_status_id_str | data.referenced_tweets.id (si type=replied_to) | expansions=referenced_tweets.id | String |
| in_reply_to_user_id | N/D: consulta in_reply_to_user_id_str | ||
| in_reply_to_user_id_str | data.in_reply_to_user_id | tweet.fields=in_reply_to_user_id | String |
| in_reply_to_screen_name | includes.users..username | tweet.fields=in_reply_to_user_id&expansions=entities.mentions.username | String |
| user | includes.users | expansions=author_id | Object |
| user.id_str | data.author_id | tweet.fields=author_id | String |
| geo | data.geo.place_id | tweet.fields=geo | |
| coordinates | data.geo.place_id | tweet.fields=geo | |
| place | data.geo.place_id | tweet.fields=geo | |
| is_quoted_status | data.referenced_tweets.id (si type=quoted) | tweet.fields=referenced_tweets | String |
| extended_tweet.full_text | N/D: texto completo no disponible | ||
| No disponible | data.public_metrics | tweet.fields=public_metrics | Objeto |
| quote_count | data.public_metrics.quote_count | tweet.fields=public_metrics | Int |
| reply_count | data.public_metrics.reply_count | tweet.fields=public_metrics | Int |
| retweet_count | data.public_metrics.retweet_count | tweet.fields=public_metrics | Int |
| favorite_count | data.public_metrics.like_count | tweet.fields=public_metrics | Int |
| No disponible | data.non_public_metrics | tweet.fields=non_public_metrics | Objeto |
| No disponible | data.non_public_metrics.impression_count | tweet.fields=non_public_metrics | Int |
| No disponible | data.non_public_metrics.url_link_count | tweet.fields=non_public_metrics | Int |
| No disponible | data.non_public_metrics.user_profile_count | tweet.fields=non_public_metrics | Int |
| No disponible | data.organic_metrics | tweet.fields=organic_metrics | Objeto |
| No disponible | data.organic_metrics.like_count | tweet.fields=organic_metrics | Int |
| No disponible | data.organic_metrics.retweet_count | tweet.fields=organic_metrics | Int |
| No disponible | data.organic_metrics.reply_count | tweet.fields=organic_metrics | Int |
| No disponible | data.organic_metrics.impression_count | tweet.fields=organic_metrics | Int |
| No disponible | data.organic_metrics.url_link_count | tweet.fields=organic_metrics | Int |
| No disponible | data.organic_metrics.user_profile_count | tweet.fields=organic_metrics | Int |
| No disponible | data.promoted_metrics | tweet.fields=promoted_metrics | Objeto |
| No disponible | data.promoted_metrics.like_count | tweet.fields=promoted_metrics | Int |
| No disponible | data.promoted_metrics.retweet_count | tweet.fields=promoted_metrics | Int |
| No disponible | data.promoted_metrics.reply_count | tweet.fields=promoted_metrics | Int |
| No disponible | data.promoted_metrics.impression_count | tweet.fields=promoted_metrics | Int |
| No disponible | data.promoted_metrics.url_link_count | tweet.fields=promoted_metrics | Int |
| No disponible | data.promoted_metrics.user_profile_count | tweet.fields=promoted_metrics | Int |
| contributors | No disponible | No disponible | |
| entities | data.entities | tweet.fields=entities | Objeto |
| entities.user_mentions | data.entities.mentions | tweet.fields=entities | Array de objetos |
| entities.symbols | data.entities.cashtags | tweet.fields=entities | Array de objetos |
| entities.hashtags | data.entities.hashtags | tweet.fields=entities | Array de objetos |
| entities.urls | data.entities.urls | tweet.fields=entities | Array de objetos |
| entities.media | includes.media | expansions=attachments.media_keys | Array de objetos |
| entities.annotations | tweet.fields=entities,context_annotations | Objeto | |
| entities.annotations.context | data.context_annotations | tweet.fields=entities,context_annotations | Array de objetos |
| Sin equivalente | data.context_annotations.domain | tweet.fields=context_annotations | Objeto |
| entities.annotations.context.context_domain_id_str | data.context_annotations.domain.id | tweet.fields=context_annotations | Cadena |
| entities.annotations.context.context_domain_id | No disponible | No disponible; consulta data.context_annotations.domain.id para obtener la versión en formato de cadena | |
| entities.annotations.context.context_domain_name | data.context_annotations.domain.name | tweet.fields=context_annotations | Cadena |
| entities.annotations.context.context_domain_description | data.context_annotations.domain.description | tweet.fields=context_annotations | Cadena |
| Sin equivalente | data.context_annotations.entity | tweet.fields=context_annotations | Objeto |
| entities.annotations.context.context_entity_id_str | data.context_annotations.entity.id | tweet.fields=context_annotations | Cadena |
| entities.annotations.context.context_entity_id | No disponible | No disponible; consulta data.context_annotations.entity.id para obtener la versión en formato de cadena | |
| entities.annotations.context.context_entity_name | data.context_annotations.entity.name | tweet.fields=context_annotations | Cadena |
| entities.annotations.context.context_entity_description | data.context_annotations.entity.description | tweet.fields=context_annotations | Cadena |
| entities.annotations.entity | data.entities.annotations | tweet.fields=entities,context_annotations | Array de objetos |
| extended_entities | data.attachments | tweet_fields=attachments | Objeto |
| favorited | No disponible | No disponible | |
| retweeted | No disponible | No disponible | |
| retweeted_status | |||
| possibly_sensitive | data.possibly_sensitive | tweet.fields=possibly_sensitive | Booleano |
| lang | data.lang | tweet.fields=lang | Cadena |
| filter_level | No disponible | No disponible | |
| scopes | No disponible | No disponible | |
| timestamp_ms | No disponible | No disponible | |
| withheld | data.withheld | tweet.fields=withheld | Array de objetos |
| matching_rules | matching_rules | Array de objetos | |
| matching_rules.id | No disponible | No disponible | |
| matching_rules.id_str | matching_rules.id | Incluido de forma predeterminada en el stream filtrado | Cadena |
| matching_rules.tag | matching_rules.tag | Incluido de forma predeterminada en el stream filtrado | Cadena |
Objeto de usuario
| Formato Native Enriched | Formato de Twitter v2 | Parámetros v2 obligatorios | Type en v2 |
| user | includes.users | expansions=author_id | Array de objetos |
| user.id | No disponible | N/D: consulta includes.users.id | String |
| user.id_str | includes.users.id | expansions=author_id | String |
| user.name | includes.users.name | expansions=author_id | String |
| user.screen_name | includes.users.username | expansions=author_id | String |
| user.location | includes.users.location | expansions=author_id&user.fields=location | Object |
| user.description | includes.users.description | expansions=author_id&user.fields=description | String |
| No disponible | includes.users.url | expansions=author_id&user.fields=url | String |
| user.followers_count | includes.users.public_metrics.followers_count | expansions=author_id&user.fields=public_metrics | Int |
| user.friends_count | includes.users.public_metrics.following_count | expansions=author_id&user.fields=public_metrics | Int |
| user.listed_count | includes.users.public_metrics.listed_count | expansions=author_id&user.fields=public_metrics | Int |
| user.created_at | includes.users.created_at | expansions=author_id&user.fields=created_at | String |
| user.favourites_count | Aún no disponible | ||
| user.verified | includes.users.verified | expansions=author_id&user.fields=verified | Boolean |
| No disponible | includes.users.pinned_tweet_id | expansions=author_id&user.fields=pinned_tweet_id | String |
| user.statuses_count | includes.users.public_metrics.tweet_count | expansions=author_id&user.fields=public_metrics | Int |
| user.profile_image_url_https | includes.users.profile_image_url | expansions=author_id&user.fields=profile_image_url | String |
| user.translator_type | No disponible | No disponible | |
| user.utc_offset | No disponible | No disponible | |
| user.time_zone | No disponible | No disponible | |
| user.geo_enabled | No disponible | No disponible | |
| user.lang | No disponible | No disponible: se infiere a partir del idioma del Tweet | |
| user.contributors_enabled | No disponible | No disponible | |
| user.is_translator | No disponible | No disponible | |
| user.profile_background_color | No disponible | No disponible | |
| user.profile_background_image_url | No disponible | No disponible | |
| user.profile_background_image_url_https | No disponible | No disponible | |
| user.profile_background_title | No disponible | No disponible | |
| user.profile_sidebar_border_color | No disponible | No disponible | |
| user.profile_sidebar_fill_color | No disponible | No disponible | |
| user.profile_text_color | No disponible | No disponible | |
| user.profile_user_background_image | No disponible | No disponible | |
| user.profile_image_url | Consulta includes.user.profile_image_url | ||
| user.default_profile | No disponible | No disponible | |
| user.default_profile_image | No disponible | No disponible | |
| user.following | No disponible | No disponible | |
| user.follow_request_sent | No disponible | No disponible | |
| user.notifications | No disponible | No disponible | |
| user.withheld_in_countries | includes.users.withheld | expansions=author_id&user.fields=withheld | Objeto |
| user.protected | includes.users.protected | expansions=author_id&user.fields=protected | Booleano |
| No disponible | includes.users.entities | expansions=author_id&user.fields=entities | Objeto |
| No disponible | includes.users.entities.url | expansions=author_id&user.fields=entities | Objeto |
| No disponible | includes.users.entities.url.urls | expansions=author_id&user.fields=entities | Array de objetos |
| No disponible | includes.users.entities.url.urls.start | expansions=author_id&user.fields=entities | Int |
| No disponible | includes.users.entities.url.urls.end | expansions=author_id&user.fields=entities | Int |
| No disponible | includes.users.entities.url.urls.url | expansions=author_id&user.fields=entities | Cadena de caracteres |
| user.url | includes.users.entities.url.urls.expanded_url | expansions=author_id&user.fields=entities | Cadena |
| No disponible | includes.users.entities.url.urls.display_url | expansions=author_id&user.fields=entities | Cadena |
| No disponible | includes.users.entities.descriptions | expansions=author_id&user.fields=entities | Objeto |
| No disponible | includes.users.entities.descriptions.hashtags | expansions=author_id&user.fields=entities | Matriz de objetos |
| No disponible | includes.users.entities.descriptions.hashtags.start | expansions=author_id&user.fields=entities | Entero |
| No disponible | includes.users.entities.descriptions.hashtags.end | expansions=author_id&user.fields=entities | Entero |
| Incluido en user.description | includes.users.entities.descriptions.hashtags.tag | expansions=author_id&user.fields=entities | Cadena |
| No disponible | includes.users.entities.descriptions.mentions | expansions=author_id&user.fields=entities | Matriz de objetos |
| No disponible | includes.users.entities.descriptions.mentions.start | expansions=author_id&user.fields=entities | Entero |
| No disponible | includes.users.entities.descriptions.mentions.end | expansions=author_id&user.fields=entities | Entero |
| Incluido en user.description | includes.users.entities.descriptions.mentions.username | expansions=author_id&user.fields=entities | String |
| No disponible | includes.users.entities.descriptions.cashtags | expansions=author_id&user.fields=entities | Array de objetos |
| No disponible | includes.users.entities.descriptions.cashtags.start | expansions=author_id&user.fields=entities | Int |
| No disponible | includes.users.entities.descriptions.cashtags.end | expansions=author_id&user.fields=entities | Int |
| Incluido en user.description | includes.users.entities.descriptions.cashtags.tag | expansions=author_id&user.fields=entities | String |
Objetos de entidades y de entidades ampliadas
| Formato enriquecido nativo | Formato de Twitter v2 | Parámetros v2 obligatorios | type en v2 |
| entities | data.entities | tweet.fields=entities | Objeto |
| entities.hashtags | data.entities.hashtags | tweet.fields=entities | Array de objetos |
| entities.hashtags.indices[0] | data.entities.hashtags.start | tweet.fields=entities | Entero |
| entities.hashtags.indices[1] | data.entities.hashtags.end | tweet.fields=entities | Entero |
| entities.hashtags.text | data.entities.hashtags.tag | tweet.fields=entities | Cadena |
| entities.urls | data.entities.urls | tweet.fields=entities | Array de objetos |
| entities.urls.indices[0] | data.entities.urls.start | tweet.fields=entities | Entero |
| entities.urls.indices[1] | data.entities.urls.end | tweet.fields=entities | Entero |
| entities.urls.url | data.entities.urls.url | tweet.fields=entities | Cadena |
| entities.urls.expanded_url | data.entities.urls.expanded_url | tweet.fields=entities | Cadena |
| entities.urls.display_url | data.entities.urls.display_url | tweet.fields=entities | String |
| entities.urls.unwound.url | data.entities.urls.unwound_url | tweet.fields=entities | String |
| entities.urls.unwound.status | data.entities.urls.status | tweet.fields=entities | String |
| entities.urls.unwound.title | data.entities.urls.title | tweet.fields=entities | String |
| entities.urls.unwound.description | data.entities.urls.description | tweet.fields=entities | String |
| No disponible | data.entities.urls.images | tweet.fields=entities | Array de objetos |
| No disponible | data.entities.urls.images.url | tweet.fields=entities | String |
| No disponible | data.entities.urls.images.width | tweet.fields=entities | Int |
| No disponible | data.entities.urls.images.height | tweet.fields=entities | Int |
| entities.user_mentions | data.entities.mentions | tweet.fields=entities | Array de objetos |
| entities.user_mentions.indicies[0] | data.entities.mentions.start | tweet.fields=entities | entero |
| entities.user_mentions.indicies[1] | data.entities.mentions.end | tweet.fields=entities | entero |
| entities.user_mentions.screen_name | data.entities.mentions.username | tweet.fields=entities | cadena |
| entities.symbols | data.entities.cashtags | tweet.fields=entities | array de objetos |
| entities.symbols.indices[0] | data.entities.cashtags.start | tweet.fields=entities | entero |
| entities.symbols.indices[1] | data.entities.cashtags.end | tweet.fields=entities | entero |
| entities.symbols.text | data.entities.cashtags.tag | tweet.fields=entities | cadena |
| entities.media OR extended_entities.media | includes.media | expansions=attachments.media_keys | array de objetos |
| entities.media.id_str OR extended_entities.media.id_str | includes.media.media_key | expansions=attachments.media_keys | cadena |
| entities.media.id OR extended_entities.media.id | No disponible: el id es una cadena | ||
| entities.media.type OR extended_entities.media.type | includes.media.media.type | expansions=attachments.media_keys | Cadena de texto |
| entities.media.indices OR extended_entities.media.indices | No disponible | No disponible | |
| No disponible | includes.media.alt_text | expansions=attachments.media_keys&media.fields=alt_text | Cadena de texto |
| entities.media.additional_media_info OR extended_entities.media.additional_media_info | No disponible | No disponible | |
| entities.media.additional_media_info.monetizable OR extended_entities.media.additional_media_info.monetizable | No disponible | No disponible | |
| entities.media.media_url OR extended_entities.media.media_url | N/D: consulte includes.media.url | Cadena de texto | |
| entities.media.media_url_https OR extended_entities.media.media_url_https | includes.media.url | expansions=attachments.media_keys&media.fields=url | Cadena de texto |
| entities.media.url OR extended_entities.media.url | |||
| entities.media.display_url OR extended_entities.media.expanded_url | |||
| entities.media.expanded_url | |||
| entities.media.media_url_https | includes.media.preview_image_url | expansions=attachments.media_keys&media.fields=preview_image_url | Cadena de texto |
| extended_entities | data.attachments | tweet.fields=attachments | Objeto |
| extended_entities | data.attachments.media_keys | tweet.fields=attachments | Matriz de objetos |
| No disponible | data.attachments.poll_ids | tweet.fields=attachments | Array de objetos |
| extended_entities.media.sizes.thumb.w | No disponible | ||
| extended_entities.media.sizes.thumb.h | No disponible | ||
| extended_entities.media.sizes.thumb.resize | No disponible | ||
| extended_entities.media.sizes.large.w | includes.media.height | expansions=attachments.media_keys&media.fields=height | |
| extended_entities.media.sizes.large.h | includes.media.width | expansions=attachments.media_keys&media.fields=width | |
| extended_entities.media.sizes.large.resize | No disponible | No disponible | |
| extended_entities.media.sizes.small.w | No disponible | No disponible | |
| extended_entities.media.sizes.small.h | No disponible | No disponible | |
| extended_entities.media.sizes.small.resize | No disponible | No disponible | |
| extended_entities.media.sizes.medium.w | No disponible | No disponible | |
| extended_entities.media.sizes.medium.h | No disponible | No disponible | |
| extended_entities.media.sizes.medium.resize | No disponible | No disponible | |
| extended_entities.media.media_url_https | includes.media.preview_image_url | expansions=attachments.media_keys&media.fields=preview_image_url | Cadena |
| extended_entities.media.video_info.aspect_ratio | No disponible | No disponible | |
| extended_entities.media.variants | No disponible | No disponible | |
| extended_entities.media.variants.bitrate | No disponible | No disponible | |
| extended_entities.media.variants.content_type | No disponible | No disponible | |
| extended_entities.media.variants.url | No disponible | No disponible | |
| extended_entities.media.video_info.duration_millis | includes.media.duration_ms | expansions=attachments.media_keys&media.fields=duration_ms | Int |
| No disponible | includes.media.public_metrics | expansions=attachments.media_keys&media.fields=public_metrics | Object |
| No disponible | includes.media.public_metrics.view_count | expansions=attachments.media_keys&media.fields=public_metrics | Int |
| No disponible | includes.media.non_public_metrics | expansions=attachments.media_keys&media.fields=non_public_metrics | Object |
| No disponible | includes.media.non_public_metrics.playback_0_count | expansions=attachments.media_keys&media.fields=non_public_metrics | Int |
| No disponible | includes.media.non_public_metrics.playback_25_count | expansions=attachments.media_keys&media.fields=non_public_metrics | Int |
| No disponible | includes.media.non_public_metrics.playback_50_count | expansions=attachments.media_keys&media.fields=non_public_metrics | Entero |
| No disponible | includes.media.non_public_metrics.playback_75_count | expansions=attachments.media_keys&media.fields=non_public_metrics | Entero |
| No disponible | includes.media.non_public_metrics.playback_100_count | expansions=attachments.media_keys&media.fields=non_public_metrics | Entero |
| No disponible | includes.media.organic_metrics | expansions=attachments.media_keys&media.fields=organic_metrics | Objeto |
| No disponible | includes.media.organic_metrics.playback_0_count | expansions=attachments.media_keys&media.fields=organic_metrics | Entero |
| No disponible | includes.media.organic_metrics.playback_25_count | expansions=attachments.media_keys&media.fields=organic_metrics | Entero |
| No disponible | includes.media.organic_metrics.playback_50_count | expansions=attachments.media_keys&media.fields=organic_metrics | Entero |
| No disponible | includes.media.organic_metrics.playback_75_count | expansions=attachments.media_keys&media.fields=organic_metrics | Entero |
| No disponible | includes.media.organic_metrics.playback_100_count | expansions=attachments.media_keys&media.fields=organic_metrics | Entero |
| No disponible | includes.media.organic_metrics.view_count | expansions=attachments.media_keys&media.fields=organic_metrics | Entero |
| No disponible | includes.media.promoted_metric | expansions=attachments.media_keys&media.fields=promoted_metrics | Objeto |
| No disponible | includes.media.promoted_metric.playback_0_count | expansions=attachments.media_keys&media.fields=promoted_metrics | Int |
| No disponible | includes.media.promoted_metric.playback_25_count | expansions=attachments.media_keys&media.fields=promoted_metrics | Int |
| No disponible | includes.media.promoted_metric.playback_50_count | expansions=attachments.media_keys&media.fields=promoted_metrics | Int |
| No disponible | includes.media.promoted_metric.playback_75_count | expansions=attachments.media_keys&media.fields=promoted_metrics | Int |
| No disponible | includes.media.promoted_metric.playback_100_count | expansions=attachments.media_keys&media.fields=promoted_metrics | Int |
| No disponible | includes.media.promoted_metrics.view_count | expansions=attachments.media_keys&media.fields=promoted_metrics | Int |
Objeto Place
| Formato Native Enriched | Formato de Twitter v2 | Parámetros obligatorios en v2 | Tipo en v2 |
| place | includes.places | expansions=geo.place_id | Array de objetos |
| place.id | includes.places.id | expansions=geo.place_id | String |
| place.url | No disponible | No disponible | |
| place.id.place_type | includes.places.place_type | expansions=geo.place_id&place.fields=place_type | String |
| place.id.name | includes.places.name | expansions=geo.place_id&place.fields=name | String |
| place.id.full_name | includes.places.full_name | expansions=geo.place_id | String |
| place.id.country_code | includes.places.country_code | expansions=geo.place_id&place.fields=country_code | String |
| place.id.country | includes.places.country | expansions=geo.place_id&place.fields=country | String |
| place.id.contained_within | includes.places.contained_within | expansions=geo.place_id&place.fields=contained_within | Array |
| place.id.bounding_box.type | includes.places.geo.type | expansions=geo.place_id&place.fields=place_type | String |
| place.id.bounding_box.coordinates | includes.places.geo.bbox | expansions=geo.place_id&place.fields=geo | Array |
| place.id.attributes | includes.places.properties | expansions=geo.place_id&place.fields=geo | Object |
Objeto de encuesta
| Formato nativo enriquecido | Formato de Twitter v2 | Parámetros obligatorios de v2 | Tipo en v2 |
| entities.polls | includes.polls | expansions=attachments.poll_ids | Array de objetos |
| No disponible | includes.polls.id | expansions=attachments.poll_ids | String |
| entities.poll.options | includes.polls.options | expansions=attachments.poll_ids | Array de objetos |
| entities.polls.options.position | includes.polls.options.position | expansions=attachments.poll_ids | Int |
| entities.polls.options.text | includes.polls.options.label | expansions=attachments.poll_ids | String |
| No disponible | includes.polls.options.votes | expansions=attachments.poll_ids | Int |
| No disponible | includes.polls.voting_status | expansions=attachments.poll_ids&poll.fields=voting_status | String |
| entities.polls.duration_minutes | includes.polls.duration_minutes | expansions=attachments.poll_ids&poll.fields=duration_minutes | Int |
| entities.polls.end_datetime | includes.polls.end_datetime | expansions=attachments.poll_ids&poll.fields=end_datetime | Date (ISO 8601) |
Migración del formato de datos Activity Streams a v2
- A nivel raíz de JSON, el formato Activity Streams devuelve objetos Tweet en un arreglo results, mientras que X API v2 devuelve un arreglo data.
- En lugar de hacer referencia 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 utiliza el término like.
- Twitter está adoptando la convención de que los valores JSON sin contenido (por ejemplo, null) no se incluyan en la carga útil. 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.
- 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
- display_text_range
- generator
- gnip
- link
- objectType
- provider
- twitter_entities.symbols se reemplaza por data.entities.cashtags
- Ciertos campos de twitter_extended_entities.media y twitter_entities.media
- twitter_filter_level
- twitterTimeZone
- verb
Objeto Tweet
| Formato Activity Streams | Formato de Twitter v2 | Parámetros obligatorios en v2 | type en v2 |
| postedTime | data.created_at | tweet.fields=created_at | Fecha (ISO 8601) |
| generator | No disponible | No disponible | |
| generator.link | No disponible | No disponible | |
| generator.displayName | data.source | tweet.fields=source | Cadena |
| twitter_lang | data.lang | tweet.fields=lang | Cadena |
| No disponible | data.conversation_id | tweet.fields=conversation_id | Cadena |
| No disponible | data.reply_settings | tweet.fields=reply_settings | Cadena |
| No disponible | data.possibly_sensitive | tweet.fields=possibly_sensitive | Booleano |
| No disponible | data.withheld | tweet.fields=withheld | Objeto |
| objectType | No disponible | No disponible | |
| verb | No disponible | No disponible | |
| provider | No disponible | No disponible | |
| provider.objectType | No disponible | No disponible | |
| provider.displayName | No disponible | No disponible | |
| provider.link | No disponible | No disponible | |
| link | No disponible | No disponible | |
| display_text_range | No disponible | No disponible | |
| object | No disponible | No disponible | |
| object.objectType | No disponible | No disponible | |
| object.id | No disponible | No disponible | |
| object.summary | data.text | Predeterminado | String |
| object.edit_history | data.edit_history_tweet_ids | Predeterminado | Array |
| object.edit_controls | data.edit_controls | tweet.fields=edit_controls | Object |
| object.editable | data.edit_controls.is_edit_eligible | tweet.fields=edit_controls | Booleano |
| object.link | No disponible | No disponible | |
| object.postedTime | data.created_at | tweet.fields=created_at | Fecha (ISO 8601) |
| Derivado de actor.id | data.author_id | tweet.fields=created_at | |
| twitter_filter_level | No disponible | No disponible | |
| Derivado del nombre de usuario en inReplyTo.link | data.in_reply_to_user_id | tweet.fields=in_reply_to_user_id | Cadena de texto |
| No disponible | data.referenced_tweets | tweet.fields=referenced_tweets | Array de objetos |
| No disponible | data.referenced_tweets.type | tweet.fields=referenced_tweets | Cadena de texto |
| Derivado de inReplyTo.link | data.referenced_tweets.id | tweet.fields=referenced_tweets | Cadena de texto |
| No disponible | data.attachments | tweet.fields=attachments | Objeto |
| Derivado de twitter_entities.media.id_str | data.attachments.media_keys | tweet.fields=attachments | Array |
| No disponible | data.attachments.poll_ids | tweet.fields=attachments | Array |
| twitter_entities | data.entities | tweet.fields=entities | Object |
| No disponible | data.entities.annotations | tweet.fields=entities | Array de objetos |
| No disponible | data.entities.annotations.start | tweet.fields=entities | Int |
| No disponible | data.entities.annotations.end | tweet.fields=entities | Int |
| No disponible | data.entities.annotations.probability | tweet.fields=entities | Float |
| No disponible | data.entities.annotations.type | tweet.fields=entities | String |
| No disponible | data.entities.annotations.normalized_text | tweet.fields=entities | String |
| twitter_entities.urls | data.entities.urls | tweet.fields=entities | Array de objetos |
| twitter_entities.urls.indices[0] | data.entities.urls.start | tweet.fields=entities | Int |
| twitter_entities.urls.indices[1] | data.entities.urls.end | tweet.fields=entities | Int |
| twitter_entities.urls.url | data.entities.urls.url | tweet.fields=entities | String |
| twitter_entities.urls.expanded_url | data.entities.urls.expanded_url | tweet.fields=entities | String |
| twitter_entities.urls.display_url | data.entities.urls.display_url | tweet.fields=entities | String |
| No disponible | data.entities.urls.images | tweet.fields=entities | Array de objetos |
| No disponible | data.entities.urls.images.url | tweet.fields=entities | String |
| No disponible | data.entities.urls.images.width | tweet.fields=entities | Int |
| No disponible | data.entities.urls.images.height | tweet.fields=entities | Int |
| gnip.urls.expanded_status | data.entities.urls.status | tweet.fields=entities | Int |
| gnip.urls.expanded_url_title | data.entities.urls.title | tweet.fields=entities | String |
| gnip.urls.expanded_url_description | data.entities.urls.description | tweet.fields=entities | Cadena |
| gnip.urls.expanded_url | data.entities.urls.unwound_url | tweet.fields=entities | Cadena |
| twitter_entities.symbols | data.entities.cashtags | tweet.fields=entities | Array de objetos |
| twitter_entities.symbols.indices[0] | data.entities.cashtags.start | tweet.fields=entities | Entero |
| twitter_entities.symbols.indices[1] | data.entities.cashtags.end | tweet.fields=entities | Entero |
| twitter_entities.symbols.text | data.entities.cashtags.tag | tweet.fields=entities | Cadena |
| twitter_entities.hashtags | data.entities.hashtags | tweet.fields=entities | Array de objetos |
| twitter_entities.hashtags.indices[0] | data.entities.hashtags.start | tweet.fields=entities | Entero |
| twitter_entities.hashtags.indices[1] | data.entities.hashtags.end | tweet.fields=entities | Entero |
| twitter_entities.hashtags.text | data.entities.hashtags.tag | tweet.fields=entities | Cadena |
| twitter_entities.user_mentions | data.entities.mentions | tweet.fields=entities | Matriz de objetos |
| twitter_entities.user_mentions.indices[0] | data.entities.mentions.start | tweet.fields=entities | Entero |
| twitter_entities.user_mentions.indices[1] | data.entities.mentions.end | tweet.fields=entities | Entero |
| twitter_entities.user_mentions.screen_name | data.entities.mentions.tag | tweet.fields=entities | Cadena |
| twitter_entities.user_mentions.id_str | data.entities.mentions.id | tweet.fields=entities | Cadena |
| twitter_entities.user_mentions.id | No disponible | No disponible | |
| No disponible | data.context_annotations | tweet.fields=context_annotations | Matriz de objetos |
| No disponible | data.context_annotations.domain | tweet.fields=context_annotations | Objeto |
| No disponible | data.context_annotations.domain.id | tweet.fields=context_annotations | Cadena |
| No disponible | data.context_annotations.domain.name | tweet.fields=context_annotations | Cadena |
| No disponible | data.context_annotations.domain.description | tweet.fields=context_annotations | Cadena |
| No disponible | data.context_annotations.entity | tweet.fields=context_annotations | Objeto |
| No disponible | data.context_annotations.entity.id | tweet.fields=context_annotations | Cadena |
| No disponible | data.context_annotations.entity.name | tweet.fields=context_annotations | Cadena |
| No disponible | data.context_annotations.entity.description | tweet.fields=context_annotations | Cadena |
| geo | data.geo | tweet.fields=geo | Objeto |
| Derivado de location.link | data.geo.place_id | tweet.fields=geo | Cadena |
| No disponible | data.public_metrics | tweet.fields=public_metrics | Objeto |
| favoritesCount | data.public_metrics.like_count | tweet.fields=public_metrics | Entero |
| retweetCount | data.public_metrics.retweet_count | tweet.fields=public_metrics | Entero |
| No disponible | data.public_metrics.quote_count | tweet.fields=public_metrics | Int |
| No disponible | data.public_metrics.reply_count | tweet.fields=public_metrics | Int |
| No disponible | data.non_non_public_metrics | tweet.fields=non_public_metrics | Objeto |
| No disponible | data.non_public_metrics.impression_count | tweet.fields=non_public_metrics | Int |
| No disponible | data.non_public_metrics.url_link_count | tweet.fields=non_public_metrics | Int |
| No disponible | data.non_public_metrics.user_profile_count | tweet.fields=non_public_metrics | Int |
| No disponible | data.organic_metrics | tweet.fields=organic_metrics | Objeto |
| No disponible | data.organic_metrics.like_count | tweet.fields=organic_metrics | Int |
| No disponible | data.organic_metrics.retweet_count | tweet.fields=organic_metrics | Int |
| No disponible | data.organic_metrics.reply_count | tweet.fields=organic_metrics | Int |
| No disponible | data.organic_metrics.impression_count | tweet.fields=organic_metrics | Int |
| No disponible | data.organic_metrics.url_link_count | tweet.fields=organic_metrics | Int |
| No disponible | data.organic_metrics.user_profile_count | tweet.fields=organic_metrics | Int |
| No disponible | data.promoted_metrics | tweet.fields=promoted_metrics | Object |
| No disponible | data.promoted_metrics.like_count | tweet.fields=promoted_metrics | Int |
| No disponible | data.promoted_metrics.retweet_count | tweet.fields=promoted_metrics | Int |
| No disponible | data.promoted_metrics.reply_count | tweet.fields=promoted_metrics | Int |
| No disponible | data.promoted_metrics.impression_count | tweet.fields=promoted_metrics | Int |
| No disponible | data.promoted_metrics.url_link_count | tweet.fields=promoted_metrics | Int |
| No disponible | data.promoted_metrics.user_profile_count | tweet.fields=promoted_metrics | Int |
| gnip.profileLocations | No disponible | No disponible | |
| gnip.profileLocations.address | No disponible | No disponible | |
| gnip.profileLocations.address.country | No disponible | No disponible | |
| gnip.profileLocations.address.countryCode | No disponible | No disponible | |
| gnip.profileLocations.displayName | No disponible | No disponible | |
| gnip.profileLocations.geo | No disponible | No disponible | |
| gnip.profileLocations.geo.coordinates | No disponible | No disponible | |
| gnip.profileLocations.geo.type | No disponible | No disponible | |
| gnip.profileLocations.objectType | No disponible | No disponible |
Objeto de usuario
| Formato de Activity Streams | Formato de Twitter v2 | Parámetros obligatorios en v2 | type en v2 |
| actor | includes.users | expansions=author_id | Array de objetos |
| Derivado de actor.id | includes.users.id | expansions=author_id | Cadena |
| actor.displayName | includes.users.name | expansions=author_id | Cadena |
| actor.preferredUsername | includes.users.username | expansions=author_id | Cadena |
| actor.postedTime | includes.users.created_at | expansions=author_id&user.fields=created_at | Fecha (formato ISO 8601) |
| actor.summary | includes.users.description | expansions=author_id&user.fields=description | Cadena |
| No disponible | includes.users.pinned_tweet_id | expansions=author_id&user.fields=pinned_tweet_id | Cadena |
| No disponible | includes.users.protected | expansions=author_id&user.fields=protected | Booleano |
| actor.link | No disponible | No disponible directamente: construir a partir de includes.users.username | |
| actor.twitterTimeZone | No disponible | No disponible directamente: inferir a partir de Tweet created_at | |
| actor.utcOffset | No disponible | No disponible: se puede inferir a partir de Tweet created_at | |
| actor.favoritesCount | No disponible | No disponible | |
| actor.followersCount | includes.users.public_metrics.followers_count | expansions=author_id&user.fields=public_metrics | Int |
| actor.friendsCount | includes.users.public_metrics.following_count | expansions=author_id&user.fields=public_metrics | Int |
| actor.listedCount | includes.users.public_metrics.listed_count | expansions=author_id&user.fields=public_metrics | Int |
| actor.statusesCount | includes.users.public_metrics.tweet_count | expansions=author_id&user.fields=public_metrics | Int |
| actor.languages[] | No disponible | No disponible: se puede inferir a partir de Tweet lang | |
| actor.location.displayName | includes.users.location | expansions=author_id&user.fields=location | String |
| actor.image | includes.users.profile_image_url | expansions=author_id&user.fields=profile_image_url | String |
| actor.links | includes.users.url | expansions=author_id&user.fields=url | String |
| actor.verified | includes.users.verified | expansions=author_id&user.fields=verified | Boolean |
| No disponible | includes.users.withheld | expansions=author_id&user.fields=withheld | Objeto |
| No disponible | includes.users.entities | expansions=author_id&user.fields=entities | Objeto |
| No disponible | includes.users.entities.url | expansions=author_id&user.fields=entities | Objeto |
| actor.links | includes.users.entities.url.urls | expansions=author_id&user.fields=entities | Array de objetos |
| No disponible | includes.users.entities.url.urls.start | expansions=author_id&user.fields=entities | Entero |
| No disponible | includes.users.entities.url.urls.end | expansions=author_id&user.fields=entities | Entero |
| No disponible | includes.users.entities.url.urls.url | expansions=author_id&user.fields=entities | Cadena |
| actor.links.href | includes.users.entities.url.urls.expanded_url | expansions=author_id&user.fields=entities | Cadena |
| No disponible | includes.users.entities.url.urls.display_url | expansions=author_id&user.fields=entities | Cadena |
| No disponible | includes.users.entities.description | expansions=author_id&user.fields=entities | Objeto |
| No disponible | includes.users.entities.description.hashtags | expansions=author_id&user.fields=entities | Array de objetos |
| No disponible | includes.users.entities.description.hashtags.start | expansions=author_id&user.fields=entities | Int |
| No disponible | includes.users.entities.description.hashtags.end | expansions=author_id&user.fields=entities | Int |
| No disponible | includes.users.entities.description.hashtags.tag | expansions=author_id&user.fields=entities | String |
| No disponible | includes.users.entities.description.mentions | expansions=author_id&user.fields=entities | Array de objetos |
| No disponible | includes.users.entities.description.mentions.start | expansions=author_id&user.fields=entities | Int |
| No disponible | includes.users.entities.description.mentions.end | expansions=author_id&user.fields=entities | Int |
| No disponible | includes.users.entities.description.mentions.username | expansions=author_id&user.fields=entities | String |
| No disponible | includes.users.entities.description.cashtags | expansions=author_id&user.fields=entities | Array de objetos |
| No disponible | includes.users.entities.description.cashtags.start | expansions=author_id&user.fields=entities | Int |
| No disponible | includes.users.entities.description.cashtags.end | expansions=author_id&user.fields=entities | Int |
| No disponible | includes.users.entities.description.cashtags.tag | expansions=author_id&user.fields=entities | String |
Objeto Poll
| Formato de Activity Streams | Formato de Twitter v2 | Parámetros v2 requeridos | Tipo en v2 |
| No disponible | includes.polls | expansions=attachments.poll_ids | Array de objetos |
| No disponible | includes.polls.id | expansions=attachments.poll_ids | String |
| No disponible | includes.polls.options | expansions=attachments.poll_ids | Array de objetos |
| No disponible | includes.polls.options.position | expansions=attachments.poll_ids | Int |
| No disponible | includes.polls.options.label | expansions=attachments.poll_ids | String |
| No disponible | includes.polls.options.votes | expansions=attachments.poll_ids | Int |
| No disponible | includes.polls.voting_status | expansions=attachments.poll_ids&poll.fields=voting_status | String |
| No disponible | includes.polls.duration_minutes | expansions=attachments.poll_ids&poll.fields=duration_minutes | Int |
| No disponible | includes.polls.end_datetime | expansions=attachments.poll_ids&poll.fields=end_datetime | Fecha (ISO 8601) |
Objeto Place
| Activity Streams format | Formato de Twitter v2 | Parámetros necesarios en v2 | Tipo en v2 |
| location | includes.places | expansions=geo.place_id | array de objetos |
| location.displayName | includes.places.full_name | expansions=geo.place_id | cadena |
| Parsed from location.link | includes.places.id | expansions=geo.place_id | cadena |
| location.name | includes.places.name | expansions=geo.place_id&place.fields=name | cadena |
| location.country_code | includes.places.country | expansions=geo.place_id&place.fields=country | cadena |
| location.twitter_place_type | includes.places.place_type | expansions=geo.place_id&place.fields=place_type | cadena |
| location.twitter_country_code | includes.places.country_code | expansions=geo.place_id&place.fields=country_code | cadena |
| location.geo | includes.places.geo | expansions=geo.place_id&place.fields=geo | objeto |
| location.geo.type | includes.places.geo.type | expansions=geo.place_id&place.fields=geo | cadena |
| location.geo.coordinates | includes.places.geo.bbox | expansions=geo.place_id&place.fields=geo | array |
| Not Available | includes.places.geo.properties | expansions=geo.place_id&place.fields=geo | objeto |
Objeto multimedia
| Formato de Activity Streams | Formato de Twitter v2 | Parámetros obligatorios en v2 | type en la v2 |
| twitter_entities.media OR twitter_extended_entities.media | includes.media | expansions=attachments.media_keys | Matriz de objetos |
| twitter_entities.media.id_str OR twitter_extended_entities.media.id_str | includes.media.media_key | expansions=attachments.media_keys | Cadena |
| twitter_entities.media.id OR twitter_extended_entities.media.id | No disponible | No disponible | |
| twitter_entities.media.indices OR twitter_extended_entities.media.indices | No disponible | No disponible | |
| twitter_entities.media.additional_media_info OR twitter_extended_entities.media.additional_media_info | No disponible | No disponible | |
| twitter_entities.media.additional_media_info.monetizable OR twitter_extended_entities.media.additional_media_info.monetizable | No disponible | No disponible | |
| twitter_entities.media.media_url OR twitter_extended_entities.media.media_url | No disponible | No disponible | |
| twitter_entities.media.media_url_https OR twitter_extended_entities.media.media_url_https | includes.media.preview_image_url | expansions=attachments.media_keys&media.fields=preview_image_url | Cadena |
| twitter_entities.media.url OR twitter_extended_entities.media.url | No disponible | No disponible | |
| twitter_entities.media.display_url OR twitter_extended_entities.media.display_url | No disponible | No disponible | |
| twitter_entities.media.expanded_url OR twitter_extended_entities.media.expanded_url | No disponible | No disponible | |
| twitter_entities.media.type OR twitter_extended_entities.media.type | includes.media.type | expansions=attachments.media_keys | String |
| twitter_entities.media.sizes OR twitter_extended_entities.media.sizes | No disponible | No disponible | |
| twitter_entities.media.sizes.thumb OR twitter_extended_entities.media.sizes.thumb | No disponible | No disponible | |
| twitter_entities.media.sizes.thumb.h OR twitter_extended_entities.media.sizes.thumb.h | No disponible | No disponible | |
| twitter_entities.media.sizes.thumb.w OR twitter_extended_entities.media.sizes.thumb.w | No disponible | No disponible | |
| twitter_entities.media.sizes.thumb.resize OR twitter_extended_entities.media.sizes.thumb.resize | No disponible | No disponible | |
| twitter_entities.media.sizes.small OR twitter_extended_entities.media.sizes.small | No disponible | No disponible | |
| twitter_entities.media.sizes.small.h OR twitter_extended_entities.media.sizes.small.h | No disponible | No disponible | |
| twitter_entities.media.sizes.small.w OR twitter_extended_entities.media.sizes.small.w | No disponible | No disponible | |
| twitter_entities.media.sizes.small.resize OR twitter_extended_entities.media.sizes.small.resize | No disponible | No disponible | |
| twitter_entities.media.sizes.medium OR twitter_extended_entities.media.sizes.medium | No disponible | No disponible | |
| twitter_entities.media.sizes.medium.h OR twitter_extended_entities.media.sizes.medium.h | No disponible | No disponible | |
| twitter_entities.media.sizes.medium.w OR twitter_extended_entities.media.sizes.medium.w | No disponible | No disponible | |
| twitter_entities.media.sizes.medium.resize OR twitter_extended_entities.media.sizes.medium.resize | No disponible | No disponible | |
| twitter_entities.media.sizes.large OR twitter_extended_entities.media.sizes.large | No disponible | No disponible | |
| twitter_entities.media.sizes.large.h OR twitter_extended_entities.media.sizes.large.h | includes.media.height | expansions=attachments.media_keys&media.fields=height | Int |
| twitter_entities.media.sizes.large.w OR twitter_extended_entities.media.sizes.large.w | includes.media.width | expansions=attachments.media_keys&media.fields=width | Int |
| twitter_entities.media.sizes.large.resize OR twitter_extended_entities.media.sizes.large.resize | No disponible | No disponible | |
| twitter_extended_entities.media.video_info | No disponible | No disponible | |
| twitter_extended_entities.media.video_info.aspect_ratio | No disponible | No disponible | |
| twitter_extended_entities.media.video_info.duration_millis | includes.media.duration_ms | expansions=attachments.media_keys&media.fields=duration_ms | Int |
| twitter_extended_entities.media.video_info.variants | No disponible | No disponible | |
| twitter_extended_entities.media.video_info.variants.bitrate | No disponible | No disponible | |
| twitter_extended_entities.media.video_info.variants.content_type | No disponible | No disponible | |
| twitter_extended_entities.media.video_info.variants.url | No disponible | No disponible | |
| No disponible | includes.media.alt_text | expansions=attachments.media_keys&media.fields=alt_text | Cadena |
| No disponible | includes.media.public_metrics | expansions=attachments.media_keys&media.fields=public_metrics | Objeto |
| No disponible | includes.media.public_metrics.view_count | expansions=attachments.media_keys&media.fields=public_metrics | Entero |
| No disponible | includes.media.non_public_metrics | expansions=attachments.media_keys&media.fields=non_public_metrics | Objeto |
| No disponible | includes.media.non_public_metrics.playback_0_count | expansions=attachments.media_keys&media.fields=non_public_metrics | Entero |
| No disponible | includes.media.non_public_metrics.playback_25_count | expansions=attachments.media_keys&media.fields=non_public_metrics | Entero |
| No disponible | includes.media.non_public_metrics.playback_50_count | expansions=attachments.media_keys&media.fields=non_public_metrics | Entero |
| No disponible | includes.media.non_public_metrics.playback_75_count | expansions=attachments.media_keys&media.fields=non_public_metrics | Entero |
| No disponible | includes.media.non_public_metrics.playback_100_count | expansions=attachments.media_keys&media.fields=non_public_metrics | Entero |
| No disponible | includes.media.organic_metrics | expansions=attachments.media_keys&media.fields=organic_metrics | Objeto |
| No disponible | includes.media.organic_metrics.playback_0_count | expansions=attachments.media_keys&media.fields=organic_metrics | Int |
| No disponible | includes.media.organic_metrics.playback_25_count | expansions=attachments.media_keys&media.fields=organic_metrics | Int |
| No disponible | includes.media.organic_metrics.playback_50_count | expansions=attachments.media_keys&media.fields=organic_metrics | Int |
| No disponible | includes.media.organic_metrics.playback_75_count | expansions=attachments.media_keys&media.fields=organic_metrics | Int |
| No disponible | includes.media.organic_metrics.playback_100_count | expansions=attachments.media_keys&media.fields=organic_metrics | Int |
| No disponible | includes.media.organic_metrics.view_count | expansions=attachments.media_keys&media.fields=organic_metrics | Int |
| No disponible | includes.media.promoted_metrics | expansions=attachments.media_keys&media.fields=promoted_metrics | Object |
| No disponible | includes.media.promoted_metrics.playback_0_count | expansions=attachments.media_keys&media.fields=promoted_metrics | Int |
| No disponible | includes.media.promoted_metrics.playback_25_count | expansions=attachments.media_keys&media.fields=promoted_metrics | Int |
| No disponible | includes.media.promoted_metrics.playback_50_count | expansions=attachments.media_keys&media.fields=promoted_metrics | Int |
| No disponible | includes.media.promoted_metrics.playback_75_count | expansions=attachments.media_keys&media.fields=promoted_metrics | Int |
| No disponible | includes.media.promoted_metrics.playback_100_count | expansions=attachments.media_keys&media.fields=promoted_metrics | Int |
| No disponible | includes.media.promoted_metrics.view_count | expansions=attachments.media_keys&media.fields=promoted_metrics | Int |
Objeto de reglas de coincidencia
| Formato de Activity Streams | Formato de Twitter v2 | Parámetros obligatorios en v2 | Tipo en v2 |
| gnip.matching_rules | matching_rules | Predeterminado en el flujo filtrado | Array de objetos |
| gnip.matching_rules.tag | matching_rules.tag | Predeterminado en el flujo filtrado | String |
| gnip.matching_rules.tag.id | No disponible | No disponible | |
| gnip.matching_rules.tag.id_str | matching_rules.id | Predeterminado en el flujo filtrado | String |