オブジェクト

上で参照した形式を、フィールドごとに説明します。型は略式です: string[] は文字列の配列、A | null は存在しないこともあります。

エンベロープ

すべてのイベントに存在します。ストリーム上でも、GET /v1/events でも、Webhook 配信でも同じです。

フィールド型意味
vintエンベロープのバージョン。現在は 1
tstringイベントの種類。下の表を参照
opcreate | update | deletecreate、update (同じ ID の補完)、または delete
idstring安定した識別子。これで重複排除します
tsint (ms)X 上で起きた時刻 (エポックからのミリ秒)。X はプロフィールの変更、フォローとフォロー解除、認証済みフォロワーの増加、投稿の削除が起きた時刻を公開していません。これらのイベントでは当社が検知した時刻です
sidstringリプレイ用のストリーム位置。ストリーム上と履歴に存在します
target.idstring監視対象アカウントの数値 X ID (search.match では投稿者の ID)
target.screen_namestring監視対象アカウントのハンドル
target.namestringアカウントの表示名
dobject種類ごとのペイロード

Tweet ペイロード

tweet.create、tweet.reply、tweet.retweet、tweet.quote の d であり、search.match のベースでもあります。

フィールド型意味
tweet_idstring投稿の ID (文字列)
kindtweet | reply | retweet | quote投稿の種類
textstring全文 (長文投稿を含む)
langstring | nullX が検出した言語
authorUser投稿したアカウント。完全な User オブジェクトで、search.match の投稿者と同じです: ハンドル、表示名、自己紹介、アバター、バナー、各種カウント、認証、所在地、リンク、登録日。薄い最初のフレームでは最後に読み取ったアカウント情報、update では投稿と一緒に読み取った情報です
reply_toBrief+ | null返信の場合: 返信先の投稿。Brief に加えて、その投稿者の screen_name、tweet_id、user_id
retweet_ofBrief | nullリポストの場合: 元投稿
quotedBrief | null引用の場合: 引用元投稿
mediastring[]メディア項目ごとの素の画像 URL
media_itemsMedia[]種類、動画バリアント、寸法を含むすべてのメディア項目
urlsstring[]投稿内の展開済みリンク
articleArticle | nullX の記事にリンクする投稿の場合:その記事
counts{reply, rt, like, quote, bookmark}読み取り時点の返信・リポスト・いいね・引用・ブックマーク数
viewsint | null表示回数 (X が公開している場合)
urlstring投稿への正規リンク
fullbool最初の薄い create フレームでは false、イベントが投稿全体を含むようになれば true
kind_finalboolkind が確定していれば true。false になるのは kind が tweet の薄い最初のフレームだけで、その投稿はまだ引用である可能性があります。同じ id で続く update が確定させます
kind_wastweet | null (update only)投稿の種類を確定させる update にのみあり、最初のフレームの種類が違っていた場合に限ります。そのフレームが持っていた種類です (引用だった投稿なら tweet)
edit_ofBrief | nulltweet.edit のみ: この版が置き換えた版 (ID と、記録があれば本文と投稿者)

Brief (簡易投稿)

別のイベントに埋め込まれるコンパクトな投稿。リポストの元投稿、引用元投稿、返信先の投稿、固定投稿に使われます。

フィールド型意味
idstring投稿 ID
userstring投稿者のハンドル
namestring投稿者の表示名
user_idstring投稿者の数値 ID
textstring全文
mediastring[]素の画像 URL
media_itemsMedia[]種類と動画バリアントを含むメディア項目
created_msint投稿された時刻 (エポックからのミリ秒)
urlstring投稿へのリンク

Media (メディア)

1 枚の画像、動画、または GIF。動画は見つかった中で最高ビットレートの MP4 を含み、url はポスターフレームです。

フィールド型意味
typephoto | video | animated_gifメディアの種類
urlstring画像 URL、または動画のポスターフレーム
expanded_urlstringX 上の投稿のメディアページ
video_urlstring (video)MP4 の URL (利用可能な最高ビットレート)
bitrateint (video)その MP4 のビットレート
duration_msint (video)動画の長さ
widthint元の幅 (ピクセル)
heightint元の高さ (ピクセル)

Article (記事)

投稿がリンクしている X の記事(長文投稿)。最初のフレームには title と preview が含まれ、同じ id の update が全文を届けるまで text は null です。

フィールド型意味
idstring記事の ID
titlestringタイトル
previewstring記事の冒頭部分
textstring | null全文(段落は空行で区切られます)。最初のフレームでは null
coverstring | nullカバー画像の URL
imagesstring[]記事内の画像
urlstringX 上の記事へのリンク

Delete ペイロード

tweet.delete の d。当社が一度見た投稿が消えた場合にのみ送られます。ts は削除を検知した時刻で、投稿自体の時刻はそれ以前の create フレームにあります。

フィールド型意味
tweet_idstring削除された投稿の ID
urlstringかつて投稿があった場所

プロフィール変更ペイロード

すべての profile.* イベントの d。これらでは op は update です。

フィールド型意味
fieldstring変わったプロフィールのフィールド。種類名の profile. の後ろと同じ語
oldany以前の値
newany新しい値
tweetBrief (pinned only)profile.pinned の場合: 新たに固定された投稿
old_tweetBrief (pinned only)profile.pinned の場合: 以前固定されていた投稿 (当社が持っていれば)

Follow ペイロード

follow.add、follow.remove、followers.verified.add の d。

フィールド型意味
userUser相手のアカウント (完全な User)

アカウント状態ペイロード

account.status の d。状態は active (通常)、protected (承認したフォロワーにのみ投稿を公開)、suspended (X による凍結)、unavailable (停止、削除、その他の理由で閲覧不可) のいずれかです。ts は当社が変化を検知した時刻です。

フィールド型意味
oldactive | protected | suspended | unavailable以前の状態
newactive | protected | suspended | unavailable現在の状態
reasonstring | nullX が示す文言 (あれば。例: Suspended)

User (ユーザー)

フォロー系イベントと search.match に埋め込まれる、完全なアカウントプロフィール。

フィールド型意味
idstring数値 ID
screen_namestringハンドル
namestring表示名
biostring自己紹介文
avatarstringアバター画像の URL
bannerstring | nullバナー画像の URL
followersintフォロワー数
followingintフォロー数
tweetsint投稿数
locationstring自由記述の場所
urlstring | null展開済みのプロフィールリンク
verifiedbool認証バッジの有無
verified_typestring | nullblue、business、government、または null
protectedbool投稿は承認済みフォロワーにのみ表示
created_atstring (ISO-8601)アカウントの作成日時
categorystring | null職業カテゴリ (アカウントが設定している場合)

search.match の d: Tweet ペイロードに、マッチに関する 3 つのフィールドを加えたもの。エンベロープの target は投稿者で、監視対象である必要はありません。

フィールド型意味
keyword.idintマッチしたキーワードの ID
keyword.querystringそのクエリ
keyword.labelstring | nullそのラベル (設定している場合)
authorUser投稿者の完全なプロフィール
author_is_targetbool投稿者がこのシステム上で監視されているアカウントでもある場合に true
…TweetPayloadTweet ペイロードのすべてのフィールド

Target (監視対象)

このキーから見た、監視中のアカウント 1 件。

フィールド型意味
idstring数値の X ID。変わることはないので、記録のキーにしてください
screen_namestring現在のハンドル。変わることがあり、profile.screen_name で通知されます
namestring表示名
previous_screen_namesstring[]以前のハンドル (新しい順)。どれも /v1/monitor/targets/{target} で引き続き使えます
push_readyboolこのアカウントで購読しているすべてのイベント種別がリアルタイムで収集されている。false でも何かが保留されるわけではありません。アカウントは購読した時点から監視され、イベントは収集されしだい配信されるので、このフラグを待たずに処理してください
last_push_atdatetime | nullこのアカウントのリアルタイムイベントが最後に届いた時刻
last_poll_atdatetime | null最後にタイムラインを読み取った時刻
state"subscribed"ここでは常に subscribed。解決待ちは別の形式です
event_typesstring[]このアカウントについて配信されるイベント種類。空ならキーが許可するすべて
event_types_allboolevent_types が空なら true

Pending target (解決待ちの監視対象)

要求したアカウントの解決中に GET /v1/monitor/targets/{target} が返すもの。

フィールド型意味
screen_namestring | nullハンドルで要求した場合、そのハンドル
user_idstring | nullID で要求した場合、そのユーザー ID
state"queued"常に queued
queued_atint (unix s)要求した時刻
event_typesstring[]選んだイベント種類。解決後に適用されます
event_types_allboolevent_types が空なら true

Keyword (キーワード)

X 検索で監視するクエリ 1 件。

フィールド型意味
idint数値 ID。削除時に使います
querystringX 検索構文のクエリ
labelstring | nullお客様のラベル。すべてのマッチで返されます
activeboolオペレーターが一時停止した場合は false
hitsintこれまでに配信したマッチ数
last_hit_atdatetime | null最後のマッチ
last_run_atdatetime | null最後の検索

Account (アカウント)

使用したキーについて GET /v1/account が返すもの。

フィールド型意味
namestring発行時に付けられたキーの名前
planstringプランのプリセット
key_idstringキーの短い ID。サポートへの問い合わせで引用しても安全です
scopesstring[]キーが持つスコープ
event_typesstring[]キー全体のイベント種類の許可リスト。当社が管理し、空ならすべて
event_types_allboolフィルターが空の場合に true
limits.max_targetsint監視対象アカウント数の上限
limits.max_connsint同時 WebSocket 接続数の上限
limits.max_keywordsintキーワード数の上限
limits.requests_per_minuteint毎分のリクエスト枠
usage.targetsint現在監視中のアカウント数
usage.keywordsint現在監視中のキーワード数

Webhook

GET /v1/account/webhook が返すもの。

フィールド型意味
urlstring | null登録済みのエンドポイント
stats{ok, http_…}配信カウンター: ok と、観測した失敗ステータスごとの http_<code>

Meta (ページング情報)

すべての一覧に添えられるページング情報。

フィールド型意味
countintこのページの件数
has_morebool次のページがあるかどうか
next_cursorstring | null?cursor= として渡し返します。終端では null

バッチ結果

POST /v1/monitor/targets:batch に送った項目ごとに 1 エントリ、同じ順序で。

フィールド型意味
indexintリクエスト内での項目の位置
statusint単体エンドポイントなら返していた HTTP ステータス
dataobject (on success)成功時: 単体エンドポイントのレスポンスボディ
error{code, message, details?} (on failure)失敗時: 通常のエラーオブジェクト

Profile (読み取り)

GET /v1/users/{screen_name}、/v1/users/by-id/{user_id}、/v1/users/batch がアカウントごとに返すもの。

フィールド型意味
idstring数値 ID
namestring表示名
screen_namestringハンドル
biostring自己紹介文
locationstring自由記述の場所
urlstring | nullプロフィールリンク
avatarstringアバター画像の URL
bannerstring | nullバナー画像の URL
pinnedstring | null固定投稿の ID
verifiedbool認証バッジの有無
protectedbool投稿は承認済みフォロワーにのみ表示
followersintフォロワー数
followingintフォロー数
tweetsint投稿数

Tweet (読み取り)

読み取りエンドポイントが返す投稿。Tweet ペイロードと同じ情報を、当社のパーサーが生成するよりフラットな形で返します。

フィールド型意味
idint投稿 ID (数値)
created_msint投稿された時刻 (エポックからのミリ秒)
user_idint投稿者の数値 ID
userstring投稿者のハンドル
namestring投稿者の表示名
textstring全文
langstring | nullX が検出した言語
reply_tostring | null返信先のハンドル
reply_to_status_idstring | null返信先の投稿の ID
reply_to_user_idstring | null返信先のアカウントの ID
conversation_idstringスレッドの起点となる投稿の ID
is_rtboolリポストである
rt_ofBrief | nullリポストの場合の元投稿
is_quotebool別の投稿を引用している
quotedBrief | null引用元投稿
mediastring[]素の画像 URL
media_itemsMedia[]種類と動画バリアントを含むメディア項目
urlsstring[]展開済みリンク
viewsint | null表示回数
counts{reply, rt, like, quote, bookmark}返信・リポスト・いいね・引用・ブックマーク数
articleArticle | null投稿がリンクしている X の記事 (ある場合): タイトル、プレビュー、カバー、画像。全文は GET /v1/tweets/{tweet_id}/article
edit_ofint | null編集後の版なら最初の版の ID、そうでなければ null
edit_idsint[]すべての版の ID (古い順)。一度も編集されていない投稿はそれ自身だけ
sourcestring | null投稿に使われたクライアント。X が返す形のまま (HTML リンク。例: Twitter for iPhone)

User 参照

フォローリストの読み取りで使うコンパクトな形式。

フィールド型意味
idstring数値 ID
screen_namestringハンドル
namestring表示名