Objetos

Os formatos referenciados acima, campo a campo. Os tipos são informais: string[] é um array de strings, A | null pode estar ausente.

Envelope

Presente em todo evento, no stream, em GET /v1/events e nas entregas por webhook.

CampoTipoSignificado
vintVersão do envelope. 1 hoje
tstringTipo do evento, conforme a tabela abaixo
opcreate | update | deletecreate, update (enriquecimento do mesmo id) ou delete
idstringIdentidade estável. Deduplique por ele
tsint (ms)Quando aconteceu no X, em ms desde a época Unix. O X não informa quando um perfil mudou, quando alguém foi seguido ou deixou de ser seguido, quando chegou um seguidor verificado nem quando uma publicação foi apagada: nesses eventos é quando detectamos
sidstringPosição no stream para replay; presente no stream e no histórico
target.idstringId numérico no X da conta monitorada (para search.match, do autor da publicação)
target.screen_namestringNome de usuário da conta monitorada
target.namestringO nome de exibição da conta
dobjectPayload específico do tipo

Payload de tweet

O d de tweet.create, tweet.reply, tweet.retweet e tweet.quote, e a base de search.match.

CampoTipoSignificado
tweet_idstringO id da publicação, como string
kindtweet | reply | retweet | quoteQue tipo de publicação é
textstringTexto completo (incluindo publicações longas)
langstring | nullIdioma detectado pelo X
authorUserA conta que publicou, como User completo — o mesmo objeto do autor de um search.match: nome de usuário, nome, bio, avatar, banner, contadores, verificação, localização, link e data de entrada. Num primeiro frame enxuto é a conta como lida pela última vez; o update a traz como lida junto com a publicação
reply_toBrief+ | nullPara respostas: a publicação respondida — um Brief mais screen_name, tweet_id e user_id do seu autor
retweet_ofBrief | nullPara republicações: a publicação original
quotedBrief | nullPara citações: a publicação citada
mediastring[]URLs de imagem simples, uma por item de mídia
media_itemsMedia[]Cada item de mídia com tipo, variantes de vídeo e dimensões
urlsstring[]Links expandidos na publicação
articleArticle | nullEm posts que apontam para um artigo do X: o artigo
counts{reply, rt, like, quote, bookmark}Contagens de respostas, republicações, curtidas, citações e itens salvos no momento em que lemos
viewsint | nullContagem de visualizações, quando o X a expõe
urlstringLink canônico da publicação
fullboolfalse em um primeiro frame create enxuto; true quando o evento traz a publicação inteira
kind_finalbooltrue quando kind está definido. false apenas em um primeiro frame enxuto cujo kind é tweet: a publicação ainda pode se revelar uma citação, e o update do mesmo id resolve
kind_wastweet | null (update only)Só no update que define o tipo de uma publicação, e só quando o primeiro frame dizia outra coisa: o tipo que esse frame tinha (tweet para uma publicação que se revelou uma citação)
edit_ofBrief | nullEm tweet.edit: a versão que esta substitui (o id, e o texto e o autor quando os tínhamos)

Brief (resumo)

Uma publicação compacta embutida em outro evento: o original de uma republicação, a publicação citada, a publicação respondida ou uma publicação fixada.

CampoTipoSignificado
idstringId da publicação
userstringNome de usuário do autor
namestringNome de exibição do autor
user_idstringId numérico do autor
textstringTexto completo
mediastring[]URLs de imagem simples
media_itemsMedia[]Itens de mídia com tipo e variantes de vídeo
created_msintQuando foi publicada, em ms desde a época Unix
urlstringLink da publicação

Mídia (Media)

Uma imagem, vídeo ou GIF. Vídeos trazem o MP4 de maior bitrate que conseguimos encontrar; url é o quadro de capa.

CampoTipoSignificado
typephoto | video | animated_gifTipo de mídia
urlstringURL da imagem, ou o quadro de capa de um vídeo
expanded_urlstringA página de mídia da publicação no X
video_urlstring (video)URL do MP4, maior bitrate disponível
bitrateint (video)Bitrate desse MP4
duration_msint (video)Duração do vídeo
widthintLargura original em pixels
heightintAltura original em pixels

Artigo (Article)

Um artigo do X (post de formato longo) para o qual um post aponta. O primeiro frame traz title e preview; text é null até que o update com o mesmo id entregue o artigo completo.

CampoTipoSignificado
idstringId do artigo
titlestringTítulo
previewstringAs primeiras linhas do artigo
textstring | nullTexto completo, com parágrafos separados por linhas em branco; null no primeiro frame
coverstring | nullURL da imagem de capa
imagesstring[]Imagens dentro do artigo
urlstringLink para o artigo no X

Payload de exclusão

O d de tweet.delete. Só é enviado para uma publicação que havíamos visto e que agora sumiu. Seu ts é quando a remoção foi detectada; o horário da própria publicação está no frame create anterior.

CampoTipoSignificado
tweet_idstringO id da publicação excluída
urlstringOnde ela costumava estar

Payload de alteração de perfil

O d de todo evento profile.*. Para estes, op é update.

CampoTipoSignificado
fieldstringQual campo do perfil mudou; a mesma palavra que vem depois de profile. no tipo
oldanyO valor anterior
newanyO novo valor
tweetBrief (pinned only)Para profile.pinned: a publicação recém-fixada
old_tweetBrief (pinned only)Para profile.pinned: a publicação fixada anteriormente, se a tínhamos

Payload de seguir

O d de follow.add, follow.remove e followers.verified.add.

CampoTipoSignificado
userUserA outra conta, como um User completo

Carga de status da conta

O d de account.status. Um status é active, protected (publicações visíveis só para seguidores aprovados), suspended (pelo X) ou unavailable (desativada, excluída ou não visível por outro motivo). ts é quando detectamos a mudança.

CampoTipoSignificado
oldactive | protected | suspended | unavailableO status anterior
newactive | protected | suspended | unavailableO status atual
reasonstring | nullO texto do X, quando houver (por exemplo Suspended)

Usuário (User)

Um perfil de conta completo, como embutido nos eventos de seguir e em search.match.

CampoTipoSignificado
idstringId numérico
screen_namestringNome de usuário
namestringNome de exibição
biostringTexto da bio
avatarstringURL da imagem de avatar
bannerstring | nullURL da imagem de banner
followersintContagem de seguidores
followingintContagem de seguindo
tweetsintContagem de publicações
locationstringLocalização em texto livre
urlstring | nullLink do perfil expandido
verifiedboolTem selo de verificação
verified_typestring | nullblue, business, government ou null
protectedboolPublicações visíveis apenas para seguidores aprovados
created_atstring (ISO-8601)Quando a conta foi criada
categorystring | nullCategoria profissional, se a conta definiu uma

O d de search.match: um payload de tweet mais três campos sobre a correspondência. O target do envelope é o autor da publicação, que não precisa ser uma das suas contas monitoradas.

CampoTipoSignificado
keyword.idintId da palavra-chave que correspondeu
keyword.querystringA busca dela
keyword.labelstring | nullO rótulo dela, se você definiu um
authorUserO perfil completo do autor
author_is_targetbooltrue se o autor também é uma conta monitorada neste sistema
…TweetPayloadTodos os campos do payload de tweet

Conta monitorada

Uma conta que você monitora, como esta chave a vê.

CampoTipoSignificado
idstringId numérico no X. Nunca muda: indexe seus dados por ele
screen_namestringO nome de usuário atual. Pode mudar; profile.screen_name avisa você
namestringNome de exibição
previous_screen_namesstring[]Nomes de usuário que a conta teve antes, o mais recente primeiro. Cada um ainda a identifica em /v1/monitor/targets/{target}
push_readyboolTodos os tipos de evento que você assina para esta conta estão sendo coletados em tempo real. false não retém nada: a conta é monitorada desde o momento em que é assinada e seus eventos são entregues conforme são coletados, então não espere por esta flag para tratá-los
last_push_atdatetime | nullÚltima vez que um evento em tempo real chegou para ela
last_poll_atdatetime | nullÚltima vez que sua linha do tempo foi lida
state"subscribed"Sempre subscribed aqui; resoluções pendentes têm seu próprio formato
event_typesstring[]Os tipos de evento entregues para esta conta; vazio significa todos os que sua chave permite
event_types_allbooltrue quando event_types está vazio

Conta monitorada pendente

O que GET /v1/monitor/targets/{target} retorna enquanto uma conta que você pediu ainda está sendo resolvida.

CampoTipoSignificado
screen_namestring | nullO nome de usuário que você pediu, se pediu por nome
user_idstring | nullO id de usuário que você pediu, se pediu por id
state"queued"Sempre queued
queued_atint (unix s)Quando você pediu
event_typesstring[]Os tipos de evento escolhidos, aplicados assim que for resolvida
event_types_allbooltrue quando event_types está vazio

Palavra-chave

Uma busca que você observa na busca do X.

CampoTipoSignificado
idintId numérico; use-o para excluir
querystringA busca, na sintaxe de busca do X
labelstring | nullSeu rótulo, ecoado em toda correspondência
activeboolfalse se o operador a pausou
hitsintCorrespondências entregues até agora
last_hit_atdatetime | nullÚltima correspondência
last_run_atdatetime | nullÚltima pesquisa

Conta

O que GET /v1/account retorna sobre a chave que você usou.

CampoTipoSignificado
namestringO nome da chave, conforme emitida
planstringPredefinição do plano
key_idstringId curto da chave, seguro para citar em pedidos de suporte
scopesstring[]Escopos que a chave possui
event_typesstring[]Lista de tipos de evento permitidos para toda a chave, gerida por nós; vazia significa todos
event_types_allbooltrue quando o filtro está vazio
limits.max_targetsintLimite de contas monitoradas
limits.max_connsintLimite de WebSockets simultâneos
limits.max_keywordsintLimite de palavras-chave
limits.requests_per_minuteintOrçamento de requisições por minuto
usage.targetsintContas monitoradas no momento
usage.keywordsintPalavras-chave observadas no momento

Webhook

O que GET /v1/account/webhook retorna.

CampoTipoSignificado
urlstring | nullO endpoint registrado
stats{ok, http_…}Contadores de entrega: ok, e um http_<code> para cada status de falha visto

Meta

Informações de paginação ao lado de toda lista.

CampoTipoSignificado
countintItens nesta página
has_moreboolSe existe outra página
next_cursorstring | nullPasse de volta como ?cursor=; null no fim

Resultado do lote

Uma entrada por item enviado a POST /v1/monitor/targets:batch, na mesma ordem.

CampoTipoSignificado
indexintPosição do item na sua requisição
statusintO status HTTP que o endpoint de item único teria retornado
dataobject (on success)O corpo de resposta do item único, em caso de sucesso
error{code, message, details?} (on failure)O objeto de erro habitual, em caso de falha

Perfil (leitura)

O que GET /v1/users/{screen_name}, /v1/users/by-id/{user_id} e /v1/users/batch retornam por conta.

CampoTipoSignificado
idstringId numérico
namestringNome de exibição
screen_namestringNome de usuário
biostringTexto da bio
locationstringLocalização em texto livre
urlstring | nullLink do perfil
avatarstringURL da imagem de avatar
bannerstring | nullURL da imagem de banner
pinnedstring | nullId da publicação fixada
verifiedboolTem selo de verificação
protectedboolPublicações visíveis apenas para seguidores aprovados
followersintContagem de seguidores
followingintContagem de seguindo
tweetsintContagem de publicações

Tweet (leitura)

Uma publicação como retornada pelos endpoints de leitura. As mesmas informações do payload de tweet, no formato mais plano que nosso parser produz.

CampoTipoSignificado
idintId da publicação, numérico
created_msintQuando foi publicada, em ms desde a época Unix
user_idintId numérico do autor
userstringNome de usuário do autor
namestringNome de exibição do autor
textstringTexto completo
langstring | nullIdioma detectado pelo X
reply_tostring | nullNome de usuário respondido
reply_to_status_idstring | nullId da publicação respondida
reply_to_user_idstring | nullId da conta respondida
conversation_idstringId da publicação raiz do thread
is_rtboolÉ uma republicação
rt_ofBrief | nullO original, para republicações
is_quoteboolCita outra publicação
quotedBrief | nullA publicação citada
mediastring[]URLs de imagem simples
media_itemsMedia[]Itens de mídia com tipo e variantes de vídeo
urlsstring[]Links expandidos
viewsint | nullContagem de visualizações
counts{reply, rt, like, quote, bookmark}Contagens de respostas, republicações, curtidas, citações e itens salvos
articleArticle | nullO artigo do X para o qual a publicação aponta, se houver (título, prévia, capa, imagens; o texto completo está em GET /v1/tweets/{tweet_id}/article)
edit_ofint | nullNuma versão editada: o id da primeira versão; caso contrário, null
edit_idsint[]Os ids de todas as versões, a mais antiga primeiro; uma publicação nunca editada lista só a si mesma
sourcestring | nullO cliente usado para publicar, como o X informa (um link HTML, por exemplo Twitter for iPhone)

Referência de usuário

O formato compacto usado nas leituras de listas de seguidores.

CampoTipoSignificado
idstringId numérico
screen_namestringNome de usuário
namestringNome de exibição