イベント種類の選択
既定では、監視している各アカウントのすべてのイベント種類が届きます。これはアカウントごとに絞り込めます。あるアカウントからは新しい認証済みフォロワーだけ、別のアカウントからは投稿のすべて、というように。選択は購読に属するので、アカウントごとに別々に決まります。
選べるもの
以下のイベント種類は、アカウントごとに一つずつオン・オフできます。キーワード一致(search.match)はこの一覧に含まれません。これはアカウントではなくキーワードから届くものです。
| 型 | カテゴリー | 意味 |
|---|---|---|
tweet.create | 投稿 | アカウントが新しく投稿した |
tweet.reply | 投稿 | 誰かに返信した。reply_to に返信先の投稿がテキストとメディア付きで入ります |
tweet.retweet | 投稿 | 誰かの投稿をリポストした。retweet_of に元投稿の全体が入ります |
tweet.quote | 投稿 | 誰かの投稿を引用した。quoted に引用元投稿の全体が入ります |
tweet.edit | 投稿 | 投稿を編集しました。イベントは新しい版を運び、edit_of は置き換えられた版です |
tweet.delete | 投稿 | アカウントが公開していた投稿が消えた |
profile.name | プロフィール | 表示名が変わった |
profile.screen_name | プロフィール | ハンドルが変わった |
profile.bio | プロフィール | 自己紹介が変わった |
profile.location | プロフィール | 場所が変わった |
profile.url | プロフィール | プロフィールリンクが変わった |
profile.avatar | プロフィール | アバターが変わった。old と new は画像 URL |
profile.banner | プロフィール | バナーが変わった。old と new は画像 URL |
profile.pinned | プロフィール | 固定投稿が変わった。tweet と old_tweet に投稿そのものが入ります |
profile.verified | プロフィール | 認証バッジが付いた、または外れた |
follow.add | フォローグラフ | アカウントが誰かをフォローし始めた。user はその相手の完全なプロフィール |
follow.remove | フォローグラフ | アカウントが誰かのフォローをやめた |
followers.verified.add | フォローグラフ | 認証済みアカウントがフォローし始めた。user に自己紹介、各種カウント、場所、登録日が入ります |
account.status | アカウント | アカウントが非公開、凍結、閲覧不可になった、または通常に戻った |
よくある選び方
右の列の値を event_types として送ってください。種類は自由に組み合わせられ、必要なだけ並べられます。
| 欲しいもの | event_types |
|---|---|
| そのアカウントの新しい認証済みフォロワーだけ | ["followers.verified.add"] |
| オリジナル投稿だけ | ["tweet.create"] |
| 返信だけ | ["tweet.reply"] |
| 発信するものすべて:投稿、返信、リポスト、引用、編集 | ["tweet.create", … 5 種類] |
| 投稿と、その削除 | ["tweet.create", "tweet.delete"] |
| プロフィールの変更だけ(プロフィール系 9 種類すべて) | ["profile.name", … 9 種類] |
| 誰をフォロー・フォロー解除したかだけ | ["follow.add", "follow.remove"] |
| すべて(既定) | null |
設定方法
監視を始めるときに選ぶことも、後からいつでも変えることもできます。どちらの呼び出しにも targets:write スコープが必要です。
選択を指定して監視を始める
curl -X POST https://api.xsignalfeed.com/v1/monitor/targets \ -H "Authorization: Bearer xsf_your_key" -H "Content-Type: application/json" \ -d '{"screen_name": "elonmusk", "event_types": ["followers.verified.add"]}'
後から選択を変える
curl -X PATCH https://api.xsignalfeed.com/v1/monitor/targets/elonmusk \ -H "Authorization: Bearer xsf_your_key" -H "Content-Type: application/json" \ -d '{"event_types": ["tweet.create", "tweet.reply"]}'
すべての種類に戻す
curl -X PATCH https://api.xsignalfeed.com/v1/monitor/targets/elonmusk \ -H "Authorization: Bearer xsf_your_key" -H "Content-Type: application/json" \ -d '{"event_types": null}'
アカウントの現在の選択は event_types フィールドにあり、何も除外していなければ event_types_all が true です。
GET /v1/monitor/targets/elonmusk
{
"target": {
"id": "44196397",
"screen_name": "elonmusk",
"name": "Elon Musk",
"state": "subscribed",
"…": "…",
"event_types": [
"tweet.create",
"tweet.reply"
],
"event_types_all": false
}
}ルール
- 監視を始めるときに
event_typesを省くと、すべての種類になります。 event_typesを送ると選択全体が置き換わり、追加にはなりません。event_typesなしで監視の呼び出しを再送すると、現在の選択が保たれます。nullまたは[]はすべての種類です。一覧の種類をすべて選んだ場合も同じく保存されます。- 選択はストリーム、Webhook、
GET /v1/eventsに同じく適用されます。開いている接続は次の更新で変更を取り込み、即時ではありません。 - 投稿の種類を変える
update(kind_wasを持ちます)は、新旧どちらかの種類が選択に含まれていれば届きます。tweet.createを選びtweet.quoteを選んでいない場合でも、投稿が引用だったことを示すupdateは届くので、それを破棄できます。tweet.quoteを選びtweet.createを選んでいない場合、そのような引用はそのupdateとして初めて届きます。 - 選択を広げると、追加した種類はその時点から届きます。変更前のそれらの種類のイベントを
GET /v1/eventsで読めるとは限りません。 - キーには、ご依頼に応じて私たちが設定するキー全体のリストもあり得ます(
GET /v1/accountのevent_types)。両方のリストが許すイベントだけが届きます。 - 未知の種類は
400 invalid_requestで拒否されます。details.unknownがそれを示し、details.allowedが使える種類を並べます。全一覧はGET /v1/meta/event-typesです。 - キーワードはここではなくキーワードごとに選びます。キーワードを監視する・やめることで、その
search.matchイベントの受信が始まる・止まります。
選べないもの
- 認証されていない新規フォロワーはイベントとして提供していないため選べません。提供しているのは新しい認証済みフォロワー(
followers.verified.add)だけです。 - 選べるのはイベント種類だけで、内容では選べません。「フォロワー 1 万人超の認証済みフォロワー」「画像付きの投稿だけ」「英語だけ」といった条件は、ペイロードのフィールド(例:
user.followers、media、lang)を使ってそちら側で絞り込んでください。