public social platform リアルタイム監視と Webhook アラートボットの構築方法 (API 活用ガイド)

著者:TwexAPI チーム
JA
他の言語:
日本語
English中文
public social platform 監視ツール
public social platform Webhook
public social platform アラート
ソーシャルリスニング
Python
TwexAPI

TwexAPI の高度検索とポーリングを活用し、特定アカウントやブランド言及の新規投稿をリアルタイムで検出し、Slack/Discord に Webhook 通知する仕組みを解説。

Quick Answer

実用的な Serenity 新規投稿監視は streaming ではなく polling job です。TwexAPI POST /twitter/advanced_search/page に searchTerms: ["from:aleabitoreddit -filter:retweets -filter:replies"] と sortBy: "Latest" を渡し、first run を baseline として保存し、未見の tweet_id だけ alert します。通知前に raw post を保存します。

FAQ

初回実行を baseline として扱う理由は?

first search result には過去投稿も含まれるため、全部 alert すると noise になります。まず tweet_id を保存し、その後に出現した ID だけ alert します。

default monitor で repost と reply を除外する理由は?

alert では original post が最も強い signal になりやすいです。-filter:retweets -filter:replies により duplicate や low-context notifications を減らします。reply も必要なら -filter:replies を外し、別 monitor として保存します。

monitor は Advanced Search をどの頻度で poll すべきですか?

多くの monitoring jobs は 5〜15 分間隔で十分です。短い interval は detection delay を減らしますが calls と alert churn を増やします。interval、query、baseline state は config 化します。

Serenity が話題になりそうな公開投稿を出した場合、議論が広がる前に知りたいことがあります。TwexAPI の Advanced Twitter Search by Page を from:aleabitoreddit と sortBy: Latest で定期実行すると、新しい公開一致を検出できます。

これはストリーミング接続ではなく、ポーリングです。重要なのは状態管理です。取得済みの tweet_id を保存し、初回実行は baseline として扱い、監視開始後に出てきた投稿だけを通知します。

監視の流れ

Answer: 監視の流れとは、この事例で api.twexapi.io の TwexAPI Bearer API を使う手順です。通常の読み取りは 5 Credits(約 $0.05/1K)、対象プランは 20+ QPS です。2026-08-20 時点の公式 Post/User read は $5/$10 per 1K で、rate limit は endpoint ごとに異なります。

小さなモニターは、次の順序で動かします。

  1. 最新の from:aleabitoreddit 結果を取得します。
  2. 初回実行では seen_ids を初期化し、通知は送りません。
  3. 2 回目以降は、各 tweet_id を保存済み ID と比較します。
  4. Slack、メール、Webhook 通知の前に、元の投稿データを保存します。
  5. 5 分から 15 分程度の間隔で待機します。

API エンドポイント

Answer: API エンドポイントは本ガイドの TwexAPI エンドポイントを Bearer で呼び出して実装します。バッチ/ページングで約 5 Credits/回・20+ QPS です。

POST https://api.twexapi.io/twitter/advanced_search/page

Authorization: Bearer <your_token>
Content-Type: application/json
curl --request POST \
  --url https://api.twexapi.io/twitter/advanced_search/page \
  --header 'Authorization: Bearer <your_token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "searchTerms": ["from:aleabitoreddit"],
    "sortBy": "Latest"
  }'

Python ポーリング例

Answer: Python ポーリング例とは、この事例で api.twexapi.io の TwexAPI Bearer API を使う手順です。通常の読み取りは 5 Credits(約 $0.05/1K)、対象プランは 20+ QPS です。2026-08-20 時点の公式 Post/User read は $5/$10 per 1K で、rate limit は endpoint ごとに異なります。

この例では、制御の流れを示すために seen_ids をメモリに置いています。実運用では、データベース、Redis、または永続化できるローカルファイルを使ってください。

1import time
2import requests
3
4TOKEN = "<your_token>"
5URL = "https://api.twexapi.io/twitter/advanced_search/page"
6HEADERS = {"Authorization": f"Bearer {TOKEN}"}
7seen_ids = set()
8initialized = False
9
10def fetch_latest():
11    response = requests.post(
12        URL,
13        headers=HEADERS,
14        json={"searchTerms": ["from:aleabitoreddit"], "sortBy": "Latest"},
15        timeout=30,
16    )
17    response.raise_for_status()
18    return [tweet for tweet in response.json().get("data", []) if tweet]
19
20while True:
21    latest = fetch_latest()
22
23    if not initialized:
24        seen_ids.update(tweet["tweet_id"] for tweet in latest if tweet.get("tweet_id"))
25        initialized = True
26        print(f"{len(seen_ids)} 件の既存投稿で初期化しました")
27    else:
28        for tweet in reversed(latest):
29            tweet_id = tweet.get("tweet_id")
30            if tweet_id and tweet_id not in seen_ids:
31                seen_ids.add(tweet_id)
32                print("NEW", tweet_id, tweet.get("text", ""))
33
34    time.sleep(300)

本番運用チェックリスト

Answer: 本番運用チェックリストとは、この事例で api.twexapi.io の TwexAPI Bearer API を使う手順です。通常の読み取りは 5 Credits(約 $0.05/1K)、対象プランは 20+ QPS です。2026-08-20 時点の公式 Post/User read は $5/$10 per 1K で、rate limit は endpoint ごとに異なります。

  • seen_ids はメモリではなく、データベース、キー値ストア、または永続化できるローカルファイルに保存します。
  • 初回実行を baseline 初期化にするのか、現在見えている投稿も通知するのかを決めます。
  • 必要な鮮度と credits 予算に応じて、5 分から 15 分ごとに実行します。
  • Slack、メール、Webhook の通知前に生レスポンスを保存します。
  • リトライ時に同じ投稿を何度も通知しないよう、アラートの抑制を入れます。
  • より広い公開議論の観測には別途キャッシュタグ検索を使います。

関連リソース

Answer: 関連リソースとは、この事例で api.twexapi.io の TwexAPI Bearer API を使う手順です。通常の読み取りは 5 Credits(約 $0.05/1K)、対象プランは 20+ QPS です。2026-08-20 時点の公式 Post/User read は $5/$10 per 1K で、rate limit は endpoint ごとに異なります。

免責事項

Answer: 免責事項とは、この事例で api.twexapi.io の TwexAPI Bearer API を使う手順です。通常の読み取りは 5 Credits(約 $0.05/1K)、対象プランは 20+ QPS です。2026-08-20 時点の公式 Post/User read は $5/$10 per 1K で、rate limit は endpoint ごとに異なります。

このモニターは公開投稿を調査用に表示するものです。金融上の主張を評価するものではなく、投資助言でもありません。

public social platform リアルタイム監視と Webhook アラートボットの構築方法 (API 活用ガイド)