Introdução
- Native format para X API v2 (Standard v1.1)
- Native Enriched para X API v2 (Enterprise)
- Activity Streams para X API v2 (Enterprise)
Diferenças gerais
Solicitando objetos e fields
Design de JSON atualizado
- No nível raiz do JSON, os endpoints padrão retornam objetos Post em um array statuses, enquanto a X API v2 retorna um array data.
- Em vez de se referir a “statuses” Retweeted e Quoted, o JSON da X API v2 se refere a Tweets Retweeted e Quoted. Muitos fields legados e descontinuados, como contributors e user.translator_type, estão sendo removidos.
- Em vez de usar tanto favorites (no Objeto Post) quanto favourites (no objeto de usuário), a X API v2 usa o termo like.
- A X está adotando a convenção de que valores JSON sem valor (por exemplo, null) não são escritos no payload. Atributos de Post e user só são incluídos se tiverem valores não nulos.
Novos fields do v2
- Um field conversation_id
- Dois novos fields de annotations, incluindo context e entities
- Vários novos fields de metrics
- Um novo field reply_setting, que mostra quem pode responder a um determinado Post
Migrando do formato de dados do Standard v1.1 para o v2
Estrutura de payload Standard v1.1 vs v2
estrutura v1.1 | estrutura v2 | |
---|---|---|
Padrão | { “entities”: { “hashtags”: [], “symbols”: [], “user_mentions”: [], “urls”: [], “media”: [] }, “extended_entities”: , “user”: , “place”: , “retweeted_status/quoted_status” } | { “data”: [{ “id”, “text”, “edit_history_tweet_ids” }] } |
Com parâmetros definidos de fields e expansions | { “data”: [{ “entities”: { “hashtags”: [], “cashtags”: [], “mentions”: [], “urls”: [], }, “attachments”: { “media_keys”: [], “poll_ids”: [] } }], “includes”: [ “tweets”: [ “users”: [ “media”: [ “places”: [ “polls”: [ ], “matching_rules”: [] } |
Objeto Tweet
Formato do Twitter 1.1 | Formato do Twitter v2 | Parâmetros obrigatórios do v2 |
created_at | data.created_at | tweet.fields=created_at |
id | N/A id é uma string | |
id_str | data.id | padrão |
text | data.text | padrão |
full_text | N/A text inclui o texto completo | |
truncated | N/A text inclui o texto completo | |
display_text_range | N/A text inclui o texto completo | |
edit_history | data.edit_history_tweet_ids | padrão |
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 é uma string | |
in_reply_to_status_id_str | data.referenced_tweets.id (se type=replied_to) | expansions=referenced_tweets.id |
in_reply_to_user_id | N/A in_reply_to_user_id é uma string | |
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 (se type=retweeted) | expansions=referenced_tweets.id |
is_quoted_status | Não disponível | |
quoted_status_id | N/A referenced_tweets.id é uma string | |
quoted_status_id_str | data.referenced_tweets.id (se type=quoted) | expansions=referenced_tweets.id |
quoted_status_permalink | Não disponível | |
quoted_status | data.referenced_tweets (se 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 | Não disponível | |
retweeted | Não disponível | |
possibly_sensitive | data.possibly_sensitive | tweet.fields=possibly_sensitive |
lang | data.lang | tweet.fields=lang |
scopes | Não disponível | |
withheld | data.withheld | tweet.fields=withheld |
Objeto Tweet na v1.1 Exemplo de URI com parâmetros: https://api.x.com/1.1/statuses/lookup.json?id=1359554366051504129&tweet_mode=extended | Objeto Tweet e requisição na v2 Exemplo de URI com 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”: “Vá em frente, siga outra conta de filhotes. Não vamos julgar. \n\nApresentando os endpoints de gerenciamento de follows para a nova… 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”, “text”: “Vá em frente, siga outra conta de filhotes. Não vamos julgar. \n\nApresentando os endpoints de gerenciamento de follows para a nova #TwitterAPI. Agora você pode usar a v2 API para seguir e deixar de seguir contas. Saiba mais https://t.co/mtpd9VIMDa”, “lang”: “en”, “conversation_id”: “1359554366051504129”, “possibly_sensitive”: false, “reply_settings”: “everyone”, “created_at”: “2021-02-10T17:26:34.000Z”, “author_id”: “2244994945”, “public_metrics”: { “retweet_count”: 18, “reply_count”: 11, “like_count”: 98, “quote_count”: 7 }, “entities”: { “hashtags”: [{ “start”: 110, “end”: 121, “tag”: “TwitterAPI” }], “urls”: [{ “start”: 194, “end”: 217, “url”: “https://t.co/mtpd9VIMDa”, “expanded_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”: “Apresentando os novos endpoints de gerenciamento de follows para a X API v2”, “description”: “Seguir ou não seguir? Agora você tem a liberdade de responder essa pergunta como quiser usando a X API v2. Hoje, estamos empolgados em anunciar o lançamento dos novos endpoints de gerenciamento de follows na nova Twitter API. Como antecipado quando lançamos os endpoints de consulta de follows há pouco mais de um mês, a capacidade de gerenciar relacionamentos de follow finalmente chegou. Estes são alguns dos nossos endpoints mais populares em nossas APIs v1.1, então estamos empolgados em desbloquear uma ampla gama de casos de uso na X API v2. N…”, “unwound_url”: “https://devcommunity.x.com/t/introducing-the-new-manage-follows-endpoints-to-the-twitter-api-v2/149465” }] }, “context_annotations”: [{ “domain”: { “id”: “46”, “name”: “Brand Category”, “description”: “Categories within Brand Verticals that narrow down the scope of Brands” }, “entity”: { “id”: “781974596752842752”, “name”: “Services” } }, { “domain”: { “id”: “47”, “name”: “Brand”, “description”: “Brands and Companies” }, “entity”: { “id”: “10045225402”, “name”: “Twitter” } } ] }] } |
Objeto de usuário
Formato do Twitter 1.1 | Formato do Twitter v2 | Parâmetros v2 obrigatórios |
user_id | data.author_id | tweet.fields=author_id |
user.id | N/A use includes.users.id | |
user.id_str | includes.users.id | expansions=author_id |
user.name | includes.users.name | expansions=author_id |
user.screen_name | includes.users.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 |
User object em 1.1 | User object e requisição com v2 |
”user”: { “id”: 2244994945, “id_str”: “2244994945”, “name”: “Twitter Dev”, “screen_name”: “TwitterDev”, “location”: “127.0.0.1”, “description”: “The voice of the #TwitterDev team and your official source for updates, news, and events, related to the #TwitterAPI.”, “url”: “https://t.co/3ZX3TNiZCY”, “entities”: { “url”: { “urls”: [{ “url”: “https://t.co/3ZX3TNiZCY”, “expanded_url”: “https://developer.x.com/en/community”, “display_url”: “developer.x.com/en/community”, “indices”: [ 0, 23 ] }] }, “description”: { “urls”: [] } }, “protected”: false, “followers_count”: 517232, “friends_count”: 2032, “listed_count”: 1722, “created_at”: “Sat Dec 14 04:35:55 +0000 2013”, “favourites_count”: 2134, “utc_offset”: null, “time_zone”: null, “geo_enabled”: true, “verified”: true, “statuses_count”: 3677, “lang”: null, “contributors_enabled”: false, “is_translator”: false, “is_translation_enabled”: false, “profile_background_color”: “FFFFFF”, “profile_background_image_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_tile”: false, “profile_image_url”: “http://pbs.twimg.com/profile_images/1354494203451961345/d8HkZl6p_normal.jpg”, “profile_image_url_https”: “https://pbs.twimg.com/profile_images/1354494203451961345/d8HkZl6p_normal.jpg”, “profile_banner_url”: “https://pbs.twimg.com/profile_banners/2244994945/1611792896”, “profile_link_color”: “0084B4”, “profile_sidebar_border_color”: “FFFFFF”, “profile_sidebar_fill_color”: “DDEEF6”, “profile_text_color”: “333333”, “profile_use_background_image”: false, “has_extended_profile”: true, “default_profile”: false, “default_profile_image”: false, “following”: null, “follow_request_sent”: null, “notifications”: null, “translator_type”: “regular” } | { “data”: [{ “author_id”: “2244994945”, “id”: “1362876655061073928”, “text”: “From our living rooms to yours 🐱💻🛋️Our developer advocates have some exciting Twitch streams and virtual events planned to help you get started with the new #TwitterAPI. Check out the schedule for details, and let us know if you want to see more!\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”: “The voice of the #TwitterDev team and your official source for updates, news, and events, related to the #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 entities e expanded entities
Formato do Twitter 1.1 | Formato do Twitter v2 | Parâmetros v2 obrigatórios | Tipo no 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 | número |
entities.hashtags.indices[1] | data.entities.hashtags.end | tweet.fields=entities | número |
entities.hashtags.text | data.entities.hashtags.tag | tweet.fields=entities | string |
entities.urls | data.entities.urls | tweet.fields=entities | array de objetos |
entities.urls.indices[0] | data.entities.urls.start | tweet.fields=entities | número |
entities.urls.indices[1] | data.entities.urls.end | tweet.fields=entities | número |
entities.urls.url | data.entities.urls.url | tweet.fields=entities | string |
entities.user_mentions | data.entities.mentions | tweet.fields=entities | array de objetos |
entities.user_mentions.indicies[0] | data.entities.mentions.start | tweet.fields=entities | número |
entities.user_mentions.indicies[1] | data.entities.mentions.end | tweet.fields=entities | número |
entities.user_mentions.screen_name | data.entities.mentions.username | tweet.fields=entities | string |
entities.symbols | data.entities.cashtags | tweet.fields=entities | array de objetos |
entities.symbols.indices[0] | data.entities.cashtags.start | tweet.fields=entities | número |
entities.symbols.indices[1] | data.entities.cashtags.end | tweet.fields=entities | número |
entities.symbols.text | data.entities.cashtags.tag | tweet.fields=entities | string |
entities.media | includes.media | expansions=attachments.media_keys | array de objetos |
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 | objeto |
extended_entities | data.attachments.media_keys | tweet.fields=attachments | array de objetos |
extended_entities.media | includes.media | expansions=attachments.media_keys | array de objetos |
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 | Não disponível | ||
extended_entities.media.sizes.thumb.h | Não disponível | ||
extended_entities.media.sizes.thumb.resize | Não disponível | ||
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 | Não disponível | ||
extended_entities.media.sizes.small.w | Não disponível | ||
extended_entities.media.sizes.small.h | Não disponível | ||
extended_entities.media.sizes.small.resize | Não disponível | ||
extended_entities.media.sizes.medium.w | Não disponível | ||
extended_entities.media.sizes.medium.h | Não disponível | ||
extended_entities.media.sizes.medium.resize | Não disponível | ||
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 | número |
Entidades e entidades estendidas no v1.1 (com vídeo) | Entidades, anexos e includes no 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”: [{ “text”: “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”, “expanded_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”, “expanded_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” } } }] }, “extended_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”, “expanded_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”: { “aspect_ratio”: [ 9, 16 ], “duration_millis”: 5140, “variants”: [{ “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” } ] }, “additional_media_info”: { “monetizable”: false } }] } | { “data”: [{ “entities”: { “hashtags”: [{ “start”: 8, “end”: 13, “tag”: “test” }], “mentions”: [{ “start”: 31, “end”: 42, “username”: “TwitterDev” }], “urls”: [{ “start”: 91, “end”: 114, “url”: “https://t.co/XVLZ3uwikc”, “expanded_url”: “https://developer.x.com/en”, “display_url”: “developer.x.com/en”, “status”: 200, “title”: “Casos de Uso, Tutoriais e Documentação”, “description”: “Publique e analise Tweets, otimize anúncios e crie experiências únicas para clientes com a X API, X Ads API e X para Sites. Vamos começar a desenvolver.”, “unwound_url”: “https://developer.x.com/en” }, { “start”: 115, “end”: 138, “url”: “https://t.co/dz4oByygWA”, “expanded_url”: “https://x.com/furiouscamper/status/1370161532013735937/video/1”, “display_url”: “pic.x.com/dz4oByygWA” } ] }, “id”: “1370161532013735937”, “text”: “Outro #test com um vídeo e menção ao @TwitterDev. Animado com a nova documentação de migração de formato! https://t.co/XVLZ3uwikc https://t.co/dz4oByygWA”, “attachments”: { “media_keys”: [ “7_1370161464028196868” ] } }], “includes”: { “media”: [{ “type”: “video”, “height”: 1280, “public_metrics”: { “view_count”: 37 }, “width”: 720, “media_key”: “7_1370161464028196868”, “duration_ms”: 5140, “preview_image_url”: “https://pbs.twimg.com/ext_tw_video_thumb/1370161464028196868/pu/img/cGLCoXBHVktkwlC5.jpg” }], “users”: [{ “public_metrics”: { “followers_count”: 517233, “following_count”: 2034, “tweet_count”: 3677, “listed_count”: 1727 }, “created_at”: “2013-12-14T04:35:55.000Z”, “profile_image_url”: “https://pbs.twimg.com/profile_images/1354494203451961345/d8HkZl6p_normal.jpg”, “description”: “A voz da equipe #TwitterDev e sua fonte oficial para atualizações, notícias e eventos relacionados à #TwitterAPI.”, “verified”: true, “id”: “2244994945”, “username”: “TwitterDev”, “protected”: false, “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” } ] } }, “url”: “https://t.co/3ZX3TNiZCY”, “name”: “Twitter Dev”, “location”: “127.0.0.1” }] } } |
Objeto Place
Formato do Twitter 1.1 | Formato do Twitter v2 | Parâmetros obrigatórios do 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 no v1.1 | Objeto Place no 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” }] } |
- Saiba mais sobre fields
- Saiba mais sobre expansions
- Saiba como usar fields com expansions
Migrando do formato de dados Native Enriched para v2
- No nível raiz do JSON, o formato Native Enriched retorna objetos Tweet em um array results, enquanto a X API v2 retorna um array data.
- Em vez de usar tanto favorites (no objeto Tweet) quanto favourites (no objeto user), a X API v2 usa o termo like.
- A X está adotando a convenção de que valores JSON sem valor (por exemplo, null) não são escritos no payload. Atributos de Tweet e user só são incluídos se tiverem valores não nulos.
- Todos os campos id na v2 serão no formato string
- conversation_id
- reply_settings
- alt_text em mídia
- Dois novos fields de annotations, incluindo context e entities
- Vários novos fields de metrics
- Vários novos fields de polls
- contributors
- Certos fields de entities.media e extended_entities.media
- filter_level
- timestamp_ms
- truncated
Estrutura de payload: Native Enriched vs v2
Estrutura Native Enriched | Estrutura v2 | |
---|---|---|
Padrão | { “user”: , “place”: , “entities”: { “hashtags”: [], “urls”: [], “user_mentions”: [], “symbols”: [], “annotations”: [], “media”: [] }, “extended_entities”: , “matching_rules”: [] } | { “data”: [{ “id”, “text”, “edit_history_tweet_ids” }] } |
Com parâmetros de fields e expansions definidos | { “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 Twitter v2 | Parâmetros v2 obrigatórios | Tipo no v2 |
created_at | data.created_at | tweet.fields=created_at | String |
id | N/A - Veja id | ||
id_str | data.id | Padrão | String |
text | data.text | Padrão | String |
edit_history | data.edit_history_tweet_ids | Padrão | 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 - text inclui o texto completo | ||
source | data.source | tweet.fields=source | String |
truncated | N/A - text inclui o texto completo | ||
Não disponível | data.conversation_id | tweet.fields=conversation_id | String |
Não disponível | data.reply_settings | tweet.fields=reply_settings | String |
in_reply_to_status_id | N/A - Veja referenced_tweets.id | ||
in_reply_to_status_id_str | data.referenced_tweets.id (if type=replied_to) | expansions=referenced_tweets.id | String |
in_reply_to_user_id | N/A - Veja 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 (if type=quoted) | tweet.fields=referenced_tweets | String |
extended_tweet.full_text | N/A - text é o texto completo | ||
Não disponível | data.public_metrics | tweet.fields=public_metrics | Object |
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 |
Não disponível | data.non_public_metrics | tweet.fields=non_public_metrics | Object |
Não disponível | data.non_public_metrics.impression_count | tweet.fields=non_public_metrics | Int |
Não disponível | data.non_public_metrics.url_link_count | tweet.fields=non_public_metrics | Int |
Não disponível | data.non_public_metrics.user_profile_count | tweet.fields=non_public_metrics | Int |
Não disponível | data.organic_metrics | tweet.fields=organic_metrics | Object |
Não disponível | data.organic_metrics.like_count | tweet.fields=organic_metrics | Int |
Não disponível | data.organic_metrics.retweet_count | tweet.fields=organic_metrics | Int |
Não disponível | data.organic_metrics.reply_count | tweet.fields=organic_metrics | Int |
Não disponível | data.organic_metrics.impression_count | tweet.fields=organic_metrics | Int |
Não disponível | data.organic_metrics.url_link_count | tweet.fields=organic_metrics | Int |
Não disponível | data.organic_metrics.user_profile_count | tweet.fields=organic_metrics | Int |
Não disponível | data.promoted_metrics | tweet.fields=promoted_metrics | Object |
Não disponível | data.promoted_metrics.like_count | tweet.fields=promoted_metrics | Int |
Não disponível | data.promoted_metrics.retweet_count | tweet.fields=promoted_metrics | Int |
Não disponível | data.promoted_metrics.reply_count | tweet.fields=promoted_metrics | Int |
Não disponível | data.promoted_metrics.impression_count | tweet.fields=promoted_metrics | Int |
Não disponível | data.promoted_metrics.url_link_count | tweet.fields=promoted_metrics | Int |
Não disponível | data.promoted_metrics.user_profile_count | tweet.fields=promoted_metrics | Int |
contributors | Não disponível | Não disponível | |
entities | data.entities | tweet.fields=entities | Object |
entities.user_mentions | data.entities.mentions | tweet.fields=entities | Array of objects |
entities.symbols | data.entities.cashtags | tweet.fields=entities | Array of objects |
entities.hashtags | data.entities.hashtags | tweet.fields=entities | Array of objects |
entities.urls | data.entities.urls | tweet.fields=entities | Array of objects |
entities.media | includes.media | expansions=attachments.media_keys | Array of objects |
entities.annotations | tweet.fields=entities,context_annotations | Object | |
entities.annotations.context | data.context_annotations | tweet.fields=entities,context_annotations | Array of objects |
Sem equivalente | data.context_annotations.domain | tweet.fields=context_annotations | Object |
entities.annotations.context.context_domain_id_str | data.context_annotations.domain.id | tweet.fields=context_annotations | String |
entities.annotations.context.context_domain_id | Não disponível | Não disponível - veja data.context_annotations.domain.id para formato string | |
entities.annotations.context.context_domain_name | data.context_annotations.domain.name | tweet.fields=context_annotations | String |
entities.annotations.context.context_domain_description | data.context_annotations.domain.description | tweet.fields=context_annotations | String |
Sem equivalente | data.context_annotations.entity | tweet.fields=context_annotations | Object |
entities.annotations.context.context_entity_id_str | data.context_annotations.entity.id | tweet.fields=context_annotations | String |
entities.annotations.context.context_entity_id | Não disponível | Não disponível - veja data.context_annotations.entity.id para formato string | |
entities.annotations.context.context_entity_name | data.context_annotations.entity.name | tweet.fields=context_annotations | String |
entities.annotations.context.context_entity_description | data.context_annotations.entity.description | tweet.fields=context_annotations | String |
entities.annotations.entity | data.entities.annotations | tweet.fields=entities,context_annotations | Array of objects |
extended_entities | data.attachments | tweet_fields=attachments | Object |
favorited | Não disponível | Não disponível | |
retweeted | Não disponível | Não disponível | |
retweeted_status | |||
possibly_sensitive | data.possibly_sensitive | tweet.fields=possibly_sensitive | Boolean |
lang | data.lang | tweet.fields=lang | String |
filter_level | Não disponível | Não disponível | |
scopes | Não disponível | Não disponível | |
timestamp_ms | Não disponível | Não disponível | |
withheld | data.withheld | tweet.fields=withheld | Array of objects |
matching_rules | matching_rules | Array of objects | |
matching_rules.id | Não disponível | Não disponível | |
matching_rules.id_str | matching_rules.id | Padrão com stream filtrado | String |
matching_rules.tag | matching_rules.tag | Padrão com stream filtrado | String |
Objeto de usuário
Formato Native Enriched | Formato Twitter v2 | Parâmetros v2 obrigatórios | Tipo no v2 |
user | includes.users | expansions=author_id | Array of objects |
user.id | Não disponível | N/A - Veja 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.user.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 |
Não disponível | 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 | Ainda não disponível | ||
user.verified | includes.users.verified | expansions=author_id&user.fields=verified | Boolean |
Não disponível | 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 | Não disponível | Não disponível | |
user.utc_offset | Não disponível | Não disponível | |
user.time_zone | Não disponível | Não disponível | |
user.geo_enabled | Não disponível | Não disponível | |
user.lang | Não disponível | Não disponível - inferir do lang do Tweet | |
user.contributors_enabled | Não disponível | Não disponível | |
user.is_translator | Não disponível | Não disponível | |
user.profile_background_color | Não disponível | Não disponível | |
user.profile_background_image_url | Não disponível | Não disponível | |
user.profile_background_image_url_https | Não disponível | Não disponível | |
user.profile_background_title | Não disponível | Não disponível | |
user.profile_sidebar_border_color | Não disponível | Não disponível | |
user.profile_sidebar_fill_color | Não disponível | Não disponível | |
user.profile_text_color | Não disponível | Não disponível | |
user.profile_user_background_image | Não disponível | Não disponível | |
user.profile_image_url | Veja includes.user.profile_image_url | ||
user.default_profile | Não disponível | Não disponível | |
user.default_profile_image | Não disponível | Não disponível | |
user.following | Não disponível | Não disponível | |
user.follow_request_sent | Não disponível | Não disponível | |
user.notifications | Não disponível | Não disponível | |
user.withheld_in_countries | includes.users.withheld | expansions=author_id&user.fields=withheld | Object |
user.protected | includes.users.protected | expansions=author_id&user.fields=protected | Boolean |
Não disponível | includes.users.entities | expansions=author_id&user.fields=entities | Object |
Não disponível | includes.users.entities.url | expansions=author_id&user.fields=entities | Object |
Não disponível | includes.users.entities.url.urls | expansions=author_id&user.fields=entities | Array of objects |
Não disponível | includes.users.entities.url.urls.start | expansions=author_id&user.fields=entities | Int |
Não disponível | includes.users.entities.url.urls.end | expansions=author_id&user.fields=entities | Int |
Não disponível | includes.users.entities.url.urls.url | expansions=author_id&user.fields=entities | String |
user.url | includes.users.entities.url.urls.expanded_url | expansions=author_id&user.fields=entities | String |
Não disponível | includes.users.entities.url.urls.display_url | expansions=author_id&user.fields=entities | String |
Não disponível | includes.users.entities.descriptions | expansions=author_id&user.fields=entities | Object |
Não disponível | includes.users.entities.descriptions.hashtags | expansions=author_id&user.fields=entities | Array of objects |
Não disponível | includes.users.entities.descriptions.hashtags.start | expansions=author_id&user.fields=entities | Int |
Não disponível | includes.users.entities.descriptions.hashtags.end | expansions=author_id&user.fields=entities | Int |
incluído em user.description | includes.users.entities.descriptions.hashtags.tag | expansions=author_id&user.fields=entities | String |
Não disponível | includes.users.entities.descriptions.mentions | expansions=author_id&user.fields=entities | Array of objects |
Não disponível | includes.users.entities.descriptions.mentions.start | expansions=author_id&user.fields=entities | Int |
Não disponível | includes.users.entities.descriptions.mentions.end | expansions=author_id&user.fields=entities | Int |
Incluído em user.description | includes.users.entities.descriptions.mentions.username | expansions=author_id&user.fields=entities | String |
Não disponível | includes.users.entities.descriptions.cashtags | expansions=author_id&user.fields=entities | Array of objects |
Não disponível | includes.users.entities.descriptions.cashtags.start | expansions=author_id&user.fields=entities | Int |
Não disponível | includes.users.entities.descriptions.cashtags.end | expansions=author_id&user.fields=entities | Int |
Incluído em user.description | includes.users.entities.descriptions.cashtags.tag | expansions=author_id&user.fields=entities | String |
Objetos de entities e expanded entities
Formato Native Enriched | Formato Twitter v2 | Parâmetros v2 obrigatórios | Tipo no 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 | Integer |
entities.hashtags.indices[1] | data.entities.hashtags.end | tweet.fields=entities | Integer |
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 | Integer |
entities.urls.indices[1] | data.entities.urls.end | tweet.fields=entities | Integer |
entities.urls.url | data.entities.urls.url | tweet.fields=entities | String |
entities.urls.expanded_url | data.entities.urls.expanded_url | tweet.fields=entities | String |
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 |
Não disponível | data.entities.urls.images | tweet.fields=entities | Array of objects |
Não disponível | data.entities.urls.images.url | tweet.fields=entities | String |
Não disponível | data.entities.urls.images.width | tweet.fields=entities | Int |
Não disponível | data.entities.urls.images.height | tweet.fields=entities | Int |
entities.user_mentions | data.entities.mentions | tweet.fields=entities | Array of objects |
entities.user_mentions.indicies[0] | data.entities.mentions.start | tweet.fields=entities | Integer |
entities.user_mentions.indicies[1] | data.entities.mentions.end | tweet.fields=entities | Integer |
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 | Integer |
entities.symbols.indices[1] | data.entities.cashtags.end | tweet.fields=entities | Integer |
entities.symbols.text | data.entities.cashtags.tag | tweet.fields=entities | String |
entities.media OR extended_entities.media | includes.media | expansions=attachments.media_keys | Array of objects |
entities.media.id_str OR extended_entities.media.id_str | includes.media.media_key | expansions=attachments.media_keys | String |
entities.media.id OR extended_entities.media.id | Não disponível - id é uma String | ||
entities.media.type OR extended_entities.media.type | includes.media.media.type | expansions=attachments.media_keys | String |
entities.media.indices OR extended_entities.media.indices | Não disponível | Não disponível | |
Não disponível | includes.media.alt_text | expansions=attachments.media_keys&media.fields=alt_text | String |
entities.media.additional_media_info OR extended_entities.media.additional_media_info | Não disponível | Não disponível | |
entities.media.additional_media_info.monetizable OR extended_entities.media.additional_media_info.monetizable | Não disponível | Não disponível | |
entities.media.media_url OR extended_entities.media.media_url | N/A - Veja includes.media.url | String | |
entities.media.media_url_https OR extended_entities.media.media_url_https | includes.media.url | expansions=attachments.media_keys&media.fields=url | String |
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 | String |
extended_entities | data.attachments | tweet_fields=attachments | Object |
extended_entities | data.attachments.media_keys | tweet.fields=attachments | Array of objects |
Não disponível | data.attachments.poll_ids | tweet.fields=attachments | Array of objects |
extended_entities.media.sizes.thumb.w | Não disponível | ||
extended_entities.media.sizes.thumb.h | Não disponível | ||
extended_entities.media.sizes.thumb.resize | Não disponível | ||
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 | Não disponível | Não disponível | |
extended_entities.media.sizes.small.w | Não disponível | Não disponível | |
extended_entities.media.sizes.small.h | Não disponível | Não disponível | |
extended_entities.media.sizes.small.resize | Não disponível | Não disponível | |
extended_entities.media.sizes.medium.w | Não disponível | Não disponível | |
extended_entities.media.sizes.medium.h | Não disponível | Não disponível | |
extended_entities.media.sizes.medium.resize | Não disponível | Não disponível | |
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.aspect_ratio | Não disponível | Não disponível | |
extended_entities.media.variants | Não disponível | Não disponível | |
extended_entities.media.variants.bitrate | Não disponível | Não disponível | |
extended_entities.media.variants.content_type | Não disponível | Não disponível | |
extended_entities.media.variants.url | Não disponível | Não disponível | |
extended_entities.media.video_info.duration_millis | includes.media.duration_ms | expansions=attachments.media_keys&media.fields=duration_ms | Int |
Não disponível | includes.media.public_metrics | expansions=attachments.media_keys&media.fields=public_metrics | Object |
Não disponível | includes.media.public_metrics.view_count | expansions=attachments.media_keys&media.fields=public_metrics | Int |
Não disponível | includes.media.non_public_metrics | expansions=attachments.media_keys&media.fields=non_public_metrics | Object |
Não disponível | includes.media.non_public_metrics.playback_0_count | expansions=attachments.media_keys&media.fields=non_public_metrics | Int |
Não disponível | includes.media.non_public_metrics.playback_25_count | expansions=attachments.media_keys&media.fields=non_public_metrics | Int |
Não disponível | includes.media.non_public_metrics.playback_50_count | expansions=attachments.media_keys&media.fields=non_public_metrics | Int |
Não disponível | includes.media.non_public_metrics.playback_75_count | expansions=attachments.media_keys&media.fields=non_public_metrics | Int |
Não disponível | includes.media.non_public_metrics.playback_100_count | expansions=attachments.media_keys&media.fields=non_public_metrics | Int |
Não disponível | includes.media.organic_metrics | expansions=attachments.media_keys&media.fields=organic_metrics | Object |
Não disponível | includes.media.organic_metrics.playback_0_count | expansions=attachments.media_keys&media.fields=organic_metrics | Int |
Não disponível | includes.media.organic_metrics.playback_25_count | expansions=attachments.media_keys&media.fields=organic_metrics | Int |
Não disponível | includes.media.organic_metrics.playback_50_count | expansions=attachments.media_keys&media.fields=organic_metrics | Int |
Não disponível | includes.media.organic_metrics.playback_75_count | expansions=attachments.media_keys&media.fields=organic_metrics | Int |
Não disponível | includes.media.organic_metrics.playback_100_count | expansions=attachments.media_keys&media.fields=organic_metrics | Int |
Não disponível | includes.media.organic_metrics.view_count | expansions=attachments.media_keys&media.fields=organic_metrics | Int |
Não disponível | includes.media.promoted_metric | expansions=attachments.media_keys&media.fields=promoted_metrics | Object |
Não disponível | includes.media.promoted_metric.playback_0_count | expansions=attachments.media_keys&media.fields=promoted_metrics | Int |
Não disponível | includes.media.promoted_metric.playback_25_count | expansions=attachments.media_keys&media.fields=promoted_metrics | Int |
Não disponível | includes.media.promoted_metric.playback_50_count | expansions=attachments.media_keys&media.fields=promoted_metrics | Int |
Não disponível | includes.media.promoted_metric.playback_75_count | expansions=attachments.media_keys&media.fields=promoted_metrics | Int |
Não disponível | includes.media.promoted_metric.playback_100_count | expansions=attachments.media_keys&media.fields=promoted_metrics | Int |
Não disponível | includes.media.promoted_metrics.view_count | expansions=attachments.media_keys&media.fields=promoted_metrics | Int |
Objeto Place
Formato Native Enriched | Formato Twitter v2 | Parâmetros obrigatórios do v2 | Tipo no v2 |
place | includes.places | expansions=geo.place_id | Array de objetos |
place.id | includes.places.id | expansions=geo.place_id | String |
place.url | Não disponível | Não disponível | |
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 | Objeto |
Objeto de enquete
Formato nativo enriquecido | Formato do X v2 | Parâmetros v2 obrigatórios | Tipo no v2 |
entities.polls | includes.polls | expansions=attachments.poll_ids | Array de objetos |
Não disponível | 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 |
Não disponível | includes.polls.options.votes | expansions=attachments.poll_ids | Int |
Não disponível | 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 | Data (ISO 8601) |
Migrando do formato de dados Activity Streams para v2
- No nível raiz do JSON, o formato Activity Streams retorna objetos de Tweet em um array results, enquanto a X API v2 retorna um array data.
- Em vez de se referir a “activities” de Retweeted e Quoted, o JSON da X API v2 se refere a Tweets Retweeted e Quoted.
- Em vez de usar tanto favorites (no objeto de Tweet) quanto favourites (no objeto de usuário), a X API v2 usa o termo like.
- O X está adotando a convenção de que valores JSON sem valor (por exemplo, null) não são escritos no payload. Atributos de Tweet e de usuário só são incluídos se tiverem valores não nulos.
- Todos os campos id na v2 estarão no formato string.
- conversation_id
- reply_settings
- alt_text em mídia
- Dois novos campos de annotations, incluindo context e entities
- Vários novos campos de metrics
- Vários novos campos de polls
- display_text_range
- generator
- gnip
- link
- objectType
- provider
- twitter_entities.symbols substituído por data.entities.cashtags
- Certos campos de twitter_extended_entities.media e twitter_entities.media
- twitter_filter_level
- twitterTimeZone
- verb
Objeto Tweet
Formato Activity Streams | Formato Twitter v2 | Parâmetros v2 obrigatórios | Tipo em v2 |
postedTime | data.created_at | tweet.fields=created_at | Date (ISO 8601) |
generator | Não disponível | Não disponível | |
generator.link | Não disponível | Não disponível | |
generator.displayName | data.source | tweet.fields=source | String |
twitter_lang | data.lang | tweet.fields=lang | String |
Não disponível | data.conversation_id | tweet.fields=conversation_id | String |
Não disponível | data.reply_settings | tweet.fields=reply_settings | String |
Não disponível | data.possibly_sensitive | tweet.fields=possibly_sensitive | Boolean |
Não disponível | data.withheld | tweet.fields=withheld | Object |
objectType | Não disponível | Não disponível | |
verb | Não disponível | Não disponível | |
provider | Não disponível | Não disponível | |
provider.objectType | Não disponível | Não disponível | |
provider.displayName | Não disponível | Não disponível | |
provider.link | Não disponível | Não disponível | |
link | Não disponível | Não disponível | |
display_text_range | Não disponível | Não disponível | |
object | Não disponível | Não disponível | |
object.objectType | Não disponível | Não disponível | |
object.id | Não disponível | Não disponível | |
object.summary | data.text | default | String |
object.edit_history | data.edit_history_tweet_ids | default | Array |
object.edit_controls | data.edit_controls | tweet.fields=edit_controls | Object |
object.editable | data.edit_controls.is_edit_eligible | tweet.fields=edit_controls | Boolean |
object.link | Não disponível | Não disponível | |
object.postedTime | data.created_at | tweet.fields=created_at | Date (ISO 8601) |
Derivado de actor.id | data.author_id | tweet.fields=created_at | |
twitter_filter_level | Não disponível | Não disponível | |
Derivado do nome de usuário em inReplyTo.link | data.in_reply_to_user_id | tweet.fields=in_reply_to_user_id | String |
Não disponível | data.referenced_tweets | tweet.fields=referenced_tweets | Array of objects |
Não disponível | data.referenced_tweets.type | tweet.fields=referenced_tweets | String |
Derivado de inReplyTo.link | data.referenced_tweets.id | tweet.fields=referenced_tweets | String |
Não disponível | data.attachments | tweet.fields=attachments | Object |
Derivado de twitter_entities.media.id_str | data.attachments.media_keys | tweet.fields=attachments | Array |
Não disponível | data.attachments.poll_ids | tweet.fields=attachments | Array |
twitter_entities | data.entities | tweet.fields=entities | Object |
Não disponível | data.entities.annotations | tweet.fields=entities | Array of objects |
Não disponível | data.entities.annotations.start | tweet.fields=entities | Int |
Não disponível | data.entities.annotations.end | tweet.fields=entities | Int |
Não disponível | data.entities.annotations.probability | tweet.fields=entities | Float |
Não disponível | data.entities.annotations.type | tweet.fields=entities | String |
Não disponível | data.entities.annotations.normalized_text | tweet.fields=entities | String |
twitter_entities.urls | data.entities.urls | tweet.fields=entities | Array of objects |
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 |
Não disponível | data.entities.urls.images | tweet.fields=entities | Array of objects |
Não disponível | data.entities.urls.images.url | tweet.fields=entities | String |
Não disponível | data.entities.urls.images.width | tweet.fields=entities | Int |
Não disponível | 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 | String |
gnip.urls.expanded_url | data.entities.urls.unwound_url | tweet.fields=entities | String |
twitter_entities.symbols | data.entities.cashtags | tweet.fields=entities | Array of objects |
twitter_entities.symbols.indices[0] | data.entities.cashtags.start | tweet.fields=entities | Int |
twitter_entities.symbols.indices[1] | data.entities.cashtags.end | tweet.fields=entities | Int |
twitter_entities.symbols.text | data.entities.cashtags.tag | tweet.fields=entities | String |
twitter_entities.hashtags | data.entities.hashtags | tweet.fields=entities | Array of objects |
twitter_entities.hashtags.indices[0] | data.entities.hashtags.start | tweet.fields=entities | Int |
twitter_entities.hashtags.indices[1] | data.entities.hashtags.end | tweet.fields=entities | Int |
twitter_entities.hashtags.text | data.entities.hashtags.tag | tweet.fields=entities | String |
twitter_entities.user_mentions | data.entities.mentions | tweet.fields=entities | Array of objects |
twitter_entities.user_mentions.indices[0] | data.entities.mentions.start | tweet.fields=entities | Int |
twitter_entities.user_mentions.indices[1] | data.entities.mentions.end | tweet.fields=entities | Int |
twitter_entities.user_mentions.screen_name | data.entities.mentions.tag | tweet.fields=entities | String |
twitter_entities.user_mentions.id_str | data.entities.mentions.id | tweet.fields=entities | String |
twitter_entities.user_mentions.id | Não disponível | Não disponível | |
Não disponível | data.context_annotations | tweet.fields=context_annotations | Array of objects |
Não disponível | data.context_annotations.domain | tweet.fields=context_annotations | Object |
Não disponível | data.context_annotations.domain.id | tweet.fields=context_annotations | String |
Não disponível | data.context_annotations.domain.name | tweet.fields=context_annotations | String |
Não disponível | data.context_annotations.domain.description | tweet.fields=context_annotations | String |
Não disponível | data.context_annotations.entity | tweet.fields=context_annotations | Object |
Não disponível | data.context_annotations.entity.id | tweet.fields=context_annotations | String |
Não disponível | data.context_annotations.entity.name | tweet.fields=context_annotations | String |
Não disponível | data.context_annotations.entity.description | tweet.fields=context_annotations | String |
geo | data.geo | tweet.fields=geo | Object |
Derivado de location.link | data.geo.place_id | tweet.fields=geo | String |
Não disponível | data.public_metrics | tweet.fields=public_metrics | Object |
favoritesCount | data.public_metrics.like_count | tweet.fields=public_metrics | Int |
retweetCount | data.public_metrics.retweet_count | tweet.fields=public_metrics | Int |
Não disponível | data.public_metrics.quote_count | tweet.fields=public_metrics | Int |
Não disponível | data.public_metrics.reply_count | tweet.fields=public_metrics | Int |
Não disponível | data.non_public_metrics | tweet.fields=non_public_metrics | Object |
Não disponível | data.non_public_metrics.impression_count | tweet.fields=non_public_metrics | Int |
Não disponível | data.non_public_metrics.url_link_count | tweet.fields=non_public_metrics | Int |
Não disponível | data.non_public_metrics.user_profile_count | tweet.fields=non_public_metrics | Int |
Não disponível | data.organic_metrics | tweet.fields=organic_metrics | Object |
Não disponível | data.organic_metrics.like_count | tweet.fields=organic_metrics | Int |
Não disponível | data.organic_metrics.retweet_count | tweet.fields=organic_metrics | Int |
Não Disponível | data.organic_metrics.reply_count | tweet.fields=organic_metrics | Int |
Não Disponível | data.organic_metrics.impression_count | tweet.fields=organic_metrics | Int |
Não Disponível | data.organic_metrics.url_link_count | tweet.fields=organic_metrics | Int |
Não Disponível | data.organic_metrics.user_profile_count | tweet.fields=organic_metrics | Int |
Não Disponível | data.promoted_metrics | tweet.fields=promoted_metrics | Object |
Não Disponível | data.promoted_metrics.like_count | tweet.fields=promoted_metrics | Int |
Não Disponível | data.promoted_metrics.retweet_count | tweet.fields=promoted_metrics | Int |
Não Disponível | data.promoted_metrics.reply_count | tweet.fields=promoted_metrics | Int |
Não Disponível | data.promoted_metrics.impression_count | tweet.fields=promoted_metrics | Int |
Não Disponível | data.promoted_metrics.url_link_count | tweet.fields=promoted_metrics | Int |
Não Disponível | data.promoted_metrics.user_profile_count | tweet.fields=promoted_metrics | Int |
gnip.profileLocations | Não Disponível | Não Disponível | |
gnip.profileLocations.address | Não Disponível | Não Disponível | |
gnip.profileLocations.address.country | Não Disponível | Não Disponível | |
gnip.profileLocations.address.countryCode | Não Disponível | Não Disponível | |
gnip.profileLocations.displayName | Não Disponível | Não Disponível | |
gnip.profileLocations.geo | Não Disponível | Não Disponível | |
gnip.profileLocations.geo.coordinates | Não Disponível | Não Disponível | |
gnip.profileLocations.geo.type | Não Disponível | Não Disponível | |
gnip.profileLocations.objectType | Não Disponível | Não Disponível |
Objeto de usuário
Formato Activity Streams | Formato X v2 | Parâmetros v2 obrigatórios | Tipo no v2 |
actor | includes.users | expansions=author_id | Array de objetos |
Derivado de actor.id | includes.users.id | expansions=author_id | String |
actor.displayName | includes.users.name | expansions=author_id | String |
actor.preferredUsername | includes.users.username | expansions=author_id | String |
actor.postedTime | includes.users.created_at | expansions=author_id&user.fields=created_at | Data (ISO 8601) |
actor.summary | includes.users.description | expansions=author_id&user.fields=description | String |
Não Disponível | includes.users.pinned_tweet_id | expansions=author_id&user.fields=pinned_tweet_id | String |
Não Disponível | includes.users.protected | expansions=author_id&user.fields=protected | Boolean |
actor.link | Não Disponível | Não Disponível - construir a partir de includes.users.username | |
actor.twitterTimeZone | Não Disponível | Não Disponível - inferir a partir do created_at do Tweet | |
actor.utcOffset | Não Disponível | Não Disponível - inferir a partir do created_at do Tweet | |
actor.favoritesCount | Não Disponível | Não Disponível | |
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[] | Não Disponível | Não Disponível - inferir a partir do lang do Tweet | |
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 |
Não Disponível | includes.users.withheld | expansions=author_id&user.fields=withheld | Object |
Não Disponível | includes.users.entities | expansions=author_id&user.fields=entities | Object |
Não Disponível | includes.users.entities.url | expansions=author_id&user.fields=entities | Object |
actor.links | includes.users.entities.url.urls | expansions=author_id&user.fields=entities | Array de objetos |
Não Disponível | includes.users.entities.url.urls.start | expansions=author_id&user.fields=entities | Int |
Não Disponível | includes.users.entities.url.urls.end | expansions=author_id&user.fields=entities | Int |
Não Disponível | includes.users.entities.url.urls.url | expansions=author_id&user.fields=entities | String |
actor.links.href | includes.users.entities.url.urls.expanded_url | expansions=author_id&user.fields=entities | String |
Não Disponível | includes.users.entities.url.urls.display_url | expansions=author_id&user.fields=entities | String |
Não Disponível | includes.users.entities.description | expansions=author_id&user.fields=entities | Object |
Não Disponível | includes.users.entities.description.hashtags | expansions=author_id&user.fields=entities | Array de objetos |
Não Disponível | includes.users.entities.description.hashtags.start | expansions=author_id&user.fields=entities | Int |
Não Disponível | includes.users.entities.description.hashtags.end | expansions=author_id&user.fields=entities | Int |
Não Disponível | includes.users.entities.description.hashtags.tag | expansions=author_id&user.fields=entities | String |
Não Disponível | includes.users.entities.description.mentions | expansions=author_id&user.fields=entities | Array de objetos |
Não Disponível | includes.users.entities.description.mentions.start | expansions=author_id&user.fields=entities | Int |
Não Disponível | includes.users.entities.description.mentions.end | expansions=author_id&user.fields=entities | Int |
Não Disponível | includes.users.entities.description.mentions.username | expansions=author_id&user.fields=entities | String |
Não Disponível | includes.users.entities.description.cashtags | expansions=author_id&user.fields=entities | Array de objetos |
Não Disponível | includes.users.entities.description.cashtags.start | expansions=author_id&user.fields=entities | Int |
Não Disponível | includes.users.entities.description.cashtags.end | expansions=author_id&user.fields=entities | Int |
Não Disponível | includes.users.entities.description.cashtags.tag | expansions=author_id&user.fields=entities | String |
Objeto de enquete
Formato Activity Streams | Formato do X v2 | Parâmetros v2 obrigatórios | Tipo no v2 |
Não disponível | includes.polls | expansions=attachments.poll_ids | Array de objetos |
Não disponível | includes.polls.id | expansions=attachments.poll_ids | String |
Não disponível | includes.polls.options | expansions=attachments.poll_ids | Array de objetos |
Não disponível | includes.polls.options.position | expansions=attachments.poll_ids | Int |
Não disponível | includes.polls.options.label | expansions=attachments.poll_ids | String |
Não disponível | includes.polls.options.votes | expansions=attachments.poll_ids | Int |
Não disponível | includes.polls.voting_status | expansions=attachments.poll_ids&poll.fields=voting_status | String |
Não disponível | includes.polls.duration_minutes | expansions=attachments.poll_ids&poll.fields=duration_minutes | Int |
Não disponível | includes.polls.end_datetime | expansions=attachments.poll_ids&poll.fields=end_datetime | Data (ISO 8601) |
Objeto Place
Formato Activity Streams | Formato do Twitter v2 | Parâmetros v2 obrigatórios | Tipo no v2 |
location | includes.places | expansions=geo.place_id | array de objetos |
location.displayName | includes.places.full_name | expansions=geo.place_id | string |
Parsed from location.link | includes.places.id | expansions=geo.place_id | string |
location.name | includes.places.name | expansions=geo.place_id&place.fields=name | string |
location.country_code | includes.places.country | expansions=geo.place_id&place.fields=country | string |
location.twitter_place_type | includes.places.place_type | expansions=geo.place_id&place.fields=place_type | string |
location.twitter_country_code | includes.places.country_code | expansions=geo.place_id&place.fields=country_code | string |
location.geo | includes.places.geo | expansions=geo.place_id&place.fields=geo | object |
location.geo.type | includes.places.geo.type | expansions=geo.place_id&place.fields=geo | string |
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 | object |
Objeto de mídia
Formato Activity Streams | Formato X v2 | Parâmetros v2 obrigatórios | Tipo no v2 |
twitter_entities.media OR twitter_extended_entities.media | includes.media | expansions=attachments.media_keys | Array de objetos |
twitter_entities.media.id_str OR twitter_extended_entities.media.id_str | includes.media.media_key | expansions=attachments.media_keys | String |
twitter_entities.media.id OR twitter_extended_entities.media.id | Não disponível | Não disponível | |
twitter_entities.media.indices OR twitter_extended_entities.media.indices | Não disponível | Não disponível | |
twitter_entities.media.additional_media_info OR twitter_extended_entities.media.additional_media_info | Não disponível | Não disponível | |
twitter_entities.media.additional_media_info.monetizable OR twitter_extended_entities.media.additional_media_info.monetizable | Não disponível | Não disponível | |
twitter_entities.media.media_url OR twitter_extended_entities.media.media_url | Não disponível | Não disponível | |
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 | String |
twitter_entities.media.url OR twitter_extended_entities.media.url | Não disponível | Não disponível | |
twitter_entities.media.display_url OR twitter_extended_entities.media.display_url | Não disponível | Não disponível | |
twitter_entities.media.expanded_url OR twitter_extended_entities.media.expanded_url | Não disponível | Não disponível | |
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 | Não disponível | Não disponível | |
twitter_entities.media.sizes.thumb OR twitter_extended_entities.media.sizes.thumb | Não disponível | Não disponível | |
twitter_entities.media.sizes.thumb.h OR twitter_extended_entities.media.sizes.thumb.h | Não disponível | Não disponível | |
twitter_entities.media.sizes.thumb.w OR twitter_extended_entities.media.sizes.thumb.w | Não disponível | Não disponível | |
twitter_entities.media.sizes.thumb.resize OR twitter_extended_entities.media.sizes.thumb.resize | Não disponível | Não disponível | |
twitter_entities.media.sizes.small OR twitter_extended_entities.media.sizes.small | Não disponível | Não disponível | |
twitter_entities.media.sizes.small.h OR twitter_extended_entities.media.sizes.small.h | Não disponível | Não disponível | |
twitter_entities.media.sizes.small.w OR twitter_extended_entities.media.sizes.small.w | Não disponível | Não disponível | |
twitter_entities.media.sizes.small.resize OR twitter_extended_entities.media.sizes.small.resize | Não disponível | Não disponível | |
twitter_entities.media.sizes.medium OR twitter_extended_entities.media.sizes.medium | Não disponível | Não disponível | |
twitter_entities.media.sizes.medium.h OR twitter_extended_entities.media.sizes.medium.h | Não disponível | Não disponível | |
twitter_entities.media.sizes.medium.w OR twitter_extended_entities.media.sizes.medium.w | Não disponível | Não disponível | |
twitter_entities.media.sizes.medium.resize OR twitter_extended_entities.media.sizes.medium.resize | Não disponível | Não disponível | |
twitter_entities.media.sizes.large OR twitter_extended_entities.media.sizes.large | Não disponível | Não disponível | |
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 | Não disponível | Não disponível | |
twitter_extended_entities.media.video_info | Não disponível | Não disponível | |
twitter_extended_entities.media.video_info.aspect_ratio | Não disponível | Não disponível | |
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 | Não disponível | Não disponível | |
twitter_extended_entities.media.video_info.variants.bitrate | Não disponível | Não disponível | |
twitter_extended_entities.media.video_info.variants.content_type | Não disponível | Não disponível | |
twitter_extended_entities.media.video_info.variants.url | Não disponível | Não disponível | |
Não disponível | includes.media.alt_text | expansions=attachments.media_keys&media.fields=alt_text | String |
Não disponível | includes.media.public_metrics | expansions=attachments.media_keys&media.fields=public_metrics | Object |
Não disponível | includes.media.public_metrics.view_count | expansions=attachments.media_keys&media.fields=public_metrics | Int |
Não disponível | includes.media.non_public_metrics | expansions=attachments.media_keys&media.fields=non_public_metrics | Object |
Não disponível | includes.media.non_public_metrics.playback_0_count | expansions=attachments.media_keys&media.fields=non_public_metrics | Int |
Não disponível | includes.media.non_public_metrics.playback_25_count | expansions=attachments.media_keys&media.fields=non_public_metrics | Int |
Não disponível | includes.media.non_public_metrics.playback_50_count | expansions=attachments.media_keys&media.fields=non_public_metrics | Int |
Não disponível | includes.media.non_public_metrics.playback_75_count | expansions=attachments.media_keys&media.fields=non_public_metrics | Int |
Não disponível | includes.media.non_public_metrics.playback_100_count | expansions=attachments.media_keys&media.fields=non_public_metrics | Int |
Não disponível | includes.media.organic_metrics | expansions=attachments.media_keys&media.fields=organic_metrics | Object |
Não disponível | includes.media.organic_metrics.playback_0_count | expansions=attachments.media_keys&media.fields=organic_metrics | Int |
Não disponível | includes.media.organic_metrics.playback_25_count | expansions=attachments.media_keys&media.fields=organic_metrics | Int |
Não disponível | includes.media.organic_metrics.playback_50_count | expansions=attachments.media_keys&media.fields=organic_metrics | Int |
Não disponível | includes.media.organic_metrics.playback_75_count | expansions=attachments.media_keys&media.fields=organic_metrics | Int |
Não disponível | includes.media.organic_metrics.playback_100_count | expansions=attachments.media_keys&media.fields=organic_metrics | Int |
Não disponível | includes.media.organic_metrics.view_count | expansions=attachments.media_keys&media.fields=organic_metrics | Int |
Não disponível | includes.media.promoted_metrics | expansions=attachments.media_keys&media.fields=promoted_metrics | Object |
Não disponível | includes.media.promoted_metrics.playback_0_count | expansions=attachments.media_keys&media.fields=promoted_metrics | Int |
Não disponível | includes.media.promoted_metrics.playback_25_count | expansions=attachments.media_keys&media.fields=promoted_metrics | Int |
Não disponível | includes.media.promoted_metrics.playback_50_count | expansions=attachments.media_keys&media.fields=promoted_metrics | Int |
Não disponível | includes.media.promoted_metrics.playback_75_count | expansions=attachments.media_keys&media.fields=promoted_metrics | Int |
Não disponível | includes.media.promoted_metrics.playback_100_count | expansions=attachments.media_keys&media.fields=promoted_metrics | Int |
Não disponível | includes.media.promoted_metrics.view_count | expansions=attachments.media_keys&media.fields=promoted_metrics | Int |
Objeto de regras correspondentes
Formato Activity Streams | Formato Twitter v2 | Parâmetros obrigatórios no v2 | Tipo no v2 |
gnip.matching_rules | matching_rules | Padrão no stream filtrado | Array de objetos |
gnip.matching_rules.tag | matching_rules.tag | Padrão no stream filtrado | String |
gnip.matching_rules.tag.id | Não disponível | Não disponível | |
gnip.matching_rules.tag.id_str | matching_rules.id | Padrão no stream filtrado | String |