Quick Answer
TwexAPI では、承認済みの X エンゲージメント操作 を一時的なスクリプトではなくキャンペーン注文として扱えます。POST /twitter/action に service、link、quantity を渡し、返った order_id を保存し、GET /twitter/action/order-status?order_id=... で pending、in_progress、completed、partial、failed を追跡します。後続注文の前に、対象の権限、承認状態、サービス制限、予算、原始レスポンス、状態履歴を確認します。
FAQ
このワークフローで送信できるエンゲージメントサービスは?
POST /twitter/action は likes、retweets、views、bookmarks、followers をサポートします。API 呼び出し前に数量範囲を確認します:likes 10-5,000、retweets 10-500、views 100-9,999,999、bookmarks 10-5,000、followers 10-30,000。
なぜ order_id が最重要フィールドですか?
order_id は状態追跡、サポート、照合、キャンペーンレビューの主キーです。これがないと、送信した操作を /twitter/action/order-status の配送状態、費用、開始時カウント、失敗理由と結びつけられません。
partial または failed の注文はどう扱いますか?
盲目的な再試行は避けます。原始ステータスレスポンスを保存し、同じ対象への後続注文を止め、対象が公開状態か、キャンペーンが有効か、予算が残っているかを確認します。partial は人の判断、failed はレビューまたはサポート項目にします。
エンゲージメント自動化を「成長スイッチ」として扱うと、すぐに制御不能になります。本番で使えるフローは、承認済みコンテンツ、固定された予算、サービスごとの数量制限、追跡できる注文記録から始まります。
TwexAPI の POST /twitter/action はキャンペーンキューの後ろに置くのに向いています。service、link、quantity を送信し、返された order_id を保存し、GET /twitter/action/order-status で配送状態を確認します。これにより、エンゲージメント操作をスクリプトログではなく、予算、承認、リトライ、レポートのシステムに入れられます。
ワークフローの境界
Answer: ワークフローの境界とは、この事例で api.twexapi.io の TwexAPI Bearer API を使う手順です。通常の読み取りは 10 Credits(約 $0.10/1K)、対象プランは 20+ QPS です。2026-08-20 時点の公式 Post/User read は $5/$10 per 1K で、rate limit は endpoint ごとに異なります。
注文型のエンゲージメント処理は、所有、許可、または承認済みのプロモーション対象だけに使います。編集判断やキャンペーン承認を支えるための仕組みであり、それらを置き換えるものではありません。対象 URL、予算責任者、停止条件が不明な場合は送信しない設計にします。
開始前に次のルールを固定します。
- 所有または承認済みコンテンツ:許可されたアカウントとコンテンツだけを対象にする。
- 公開対象:対象ツイートまたはアカウントは公開状態を保つ。
- 予算上限:キャンペーン、サービス、対象 URL ごとに上限を設定し、無制限送信を防ぐ。
- 監査ログ:対象 URL、サービス、数量、担当者、キャンペーン、レスポンス、
order_idを保存する。 - 停止条件:コンテンツ削除、アカウント状態変化、注文失敗、キャンペーン状況変化があれば後続注文を止める。
API フロー
Answer: API フローは本ガイドの TwexAPI エンドポイントを Bearer で呼び出して実装します。バッチ/ページングで約 10 Credits/回・20+ QPS です。
API フローは 2 段階です。先にエンゲージメント注文を送信し、その後で注文状態を確認します。送信エンドポイントは order_id を返し、状態エンドポイントは進捗、費用、開始時カウント、現在状態を返します。
| ステップ | エンドポイント | 用途 |
|---|---|---|
| 1 | POST /twitter/action | likes、retweets、views、bookmarks、followers の注文を送信 |
| 2 | GET /twitter/action/order-status?order_id=... | pending、in_progress、completed、partial、failed を確認 |
リクエストは Bearer Token を使います。
Authorization: Bearer <your_token>
Content-Type: application/json送信前にサービスと数量を検証します。次の値は上限と下限であり、推奨注文量ではありません。
| サービス | 数量範囲 | 対象 |
|---|---|---|
likes | 10 から 5000 | ツイート URL |
retweets | 10 から 500 | ツイート URL |
views | 100 から 9999999 | ツイート URL |
bookmarks | 10 から 5000 | ツイート URL |
followers | 10 から 30000 | アカウントまたは Profile URL |
Python の例:注文送信と追跡
Answer: Python の例:注文送信と追跡とは、この事例で api.twexapi.io の TwexAPI Bearer API を使う手順です。通常の読み取りは 10 Credits(約 $0.10/1K)、対象プランは 20+ QPS です。2026-08-20 時点の公式 Post/User read は $5/$10 per 1K で、rate limit は endpoint ごとに異なります。
以下の例はサーバー側のキャンペーンキューです。計画を検証し、承認済みであることを確認し、注文を送信し、order_id を保存し、最後に注文状態を確認します。本番では、運用画面から無制限に API を呼ばせるのではなく、承認済みキューから送信するべきです。
1import os
2import time
3from datetime import datetime, timezone
4from urllib.parse import urlparse
5
6import requests
7
8API_BASE = "https://api.twexapi.io"
9TOKEN = os.environ["TWEXAPI_BEARER_TOKEN"]
10
11SERVICE_LIMITS = {
12 "likes": (10, 5000),
13 "retweets": (10, 500),
14 "views": (100, 9999999),
15 "bookmarks": (10, 5000),
16 "followers": (10, 30000),
17}
18
19def headers():
20 return {
21 "Authorization": f"Bearer {TOKEN}",
22 "Accept": "application/json",
23 "Content-Type": "application/json"
24 }
25
26def validate_order(order):
27 service = order["service"]
28 quantity = int(order["quantity"])
29
30 if not order.get("approved"):
31 raise ValueError("order must be approved before submission")
32
33 if service not in SERVICE_LIMITS:
34 raise ValueError(f"Unsupported service: {service}")
35
36 min_qty, max_qty = SERVICE_LIMITS[service]
37 if quantity < min_qty or quantity > max_qty:
38 raise ValueError(f"{service} quantity must be between {min_qty} and {max_qty}")
39
40 hostname = urlparse(order["link"]).hostname or ""
41 if hostname not in {"x.com", "twitter.com"}:
42 raise ValueError("link must be a full X/Twitter URL")
43
44def submit_order(order, campaign_id, requested_by):
45 validate_order(order)
46
47 response = requests.post(
48 API_BASE + "/twitter/action",
49 headers=headers(),
50 json={
51 "service": order["service"],
52 "link": order["link"],
53 "quantity": int(order["quantity"]),
54 },
55 timeout=30,
56 )
57 response.raise_for_status()
58 payload = response.json()
59
60 if payload.get("code", 200) >= 400:
61 raise RuntimeError(payload.get("msg", "TwexAPI returned an error"))
62
63 return {
64 "campaign_id": campaign_id,
65 "requested_by": requested_by,
66 "service": order["service"],
67 "link": order["link"],
68 "quantity": int(order["quantity"]),
69 "order_id": payload["data"]["order_id"],
70 "submitted_at": datetime.now(timezone.utc).isoformat(),
71 "raw_response": payload,
72 }
73
74def get_order_status(order_id):
75 response = requests.get(
76 API_BASE + "/twitter/action/order-status",
77 headers=headers(),
78 params={"order_id": order_id},
79 timeout=30,
80 )
81 response.raise_for_status()
82 payload = response.json()
83
84 if payload.get("code", 200) >= 400:
85 raise RuntimeError(payload.get("msg", "TwexAPI returned an error"))
86
87 return payload["data"]
88
89campaign_orders = [
90 {"service": "views", "link": "https://x.com/yourbrand/status/123456789", "quantity": 5000, "approved": True},
91 {"service": "likes", "link": "https://x.com/yourbrand/status/123456789", "quantity": 100, "approved": True},
92]
93
94submitted = []
95for order in campaign_orders:
96 submitted_order = submit_order(order, campaign_id="launch-2026-04", requested_by="growth_ops")
97 submitted.append(submitted_order)
98 print("submitted", submitted_order["order_id"], submitted_order["service"])
99 time.sleep(2)
100
101for item in submitted:
102 status = get_order_status(item["order_id"])
103 print(item["order_id"], status.get("status"), status)状態値がタスクシステムに入ったら、pending と in_progress は監視を継続し、completed はキャンペーンレビューへ、partial は人間の判断へ、failed は同じ対象の後続注文を止める証拠として扱います。
検索シグナルと組み合わせる
Answer: 検索シグナルと組み合わせるとは、この事例で api.twexapi.io の TwexAPI Bearer API を使う手順です。通常の読み取りは 10 Credits(約 $0.10/1K)、対象プランは 20+ QPS です。2026-08-20 時点の公式 Post/User read は $5/$10 per 1K で、rate limit は endpoint ごとに異なります。
注文前に検索、リプライ、トレンドデータを見て、承認済みコンテンツが配信に値するか判断します。エンゲージメント操作は明確なキャンペーン目的に従うべきで、すべてのトレンドを対象にしてはいけません。
- 発見:Advanced Search で領域内の活発な会話を見つける。
- 作成:話題に合った有用な投稿または返信を公開する。
- 承認:対象 URL、サービス、数量、予算、責任者、停止条件を確認する。
- 送信:
POST /twitter/actionを呼び、order_idと原始レスポンスを保存する。 - 追跡:注文状態を同期し、完了、部分完了、失敗をレビューする。
これにより、自動化が編集判断に従い、すべてのトレンドを自動でプロモーション対象にする状態を避けられます。
予算と監査フィールド
Answer: 予算と監査フィールドとは、この事例で api.twexapi.io の TwexAPI Bearer API を使う手順です。通常の読み取りは 10 Credits(約 $0.10/1K)、対象プランは 20+ QPS です。2026-08-20 時点の公式 Post/User read は $5/$10 per 1K で、rate limit は endpoint ごとに異なります。
各注文について「なぜ送信したか、誰が承認したか、どれだけ注文したか、今どの状態か」を説明できるようにします。
| 管理フィールド | 重要な理由 |
|---|---|
| キャンペーン ID | 各アクションをローンチや実験に紐づける |
| 対象 URL | 誤った投稿への注文を防ぐ |
| サービスと数量 | 予算とペースを確認できる |
| 担当者またはジョブ ID | 誰が、またはどの処理が開始したかを残す |
order_id | 状態確認、照合、レビューの主キー |
| 状態履歴 | pending、in_progress、completed、partial、failed を分ける |
| 原始レスポンス | リトライ、サポート、監査の証拠を残す |
エラー処理と停止条件
Answer: エラー処理と停止条件とは、この事例で api.twexapi.io の TwexAPI Bearer API を使う手順です。通常の読み取りは 10 Credits(約 $0.10/1K)、対象プランは 20+ QPS です。2026-08-20 時点の公式 Post/User read は $5/$10 per 1K で、rate limit は endpoint ごとに異なります。
API エラー、注文失敗、業務リスクを分けて扱います。1 つの注文が失敗したからといって無限にリトライせず、ローカルリクエストがタイムアウトしただけで注文が作成されていないと決めつけないでください。
- 送信前の失敗:API を呼ぶ前にサービス、数量、URL を検証する。
- 送信後のタイムアウト:まずローカルに
order_idがあるか確認し、作成証拠がない場合だけ再試行を検討する。 - 注文失敗:失敗状態と原始レスポンスを保存し、同じ対象の後続注文を停止する。
- 部分完了:自動補充せず、キャンペーン目標と予算がまだ有効かを確認する。
- コンテンツ状態変化:対象が削除、非公開、キャンセルされた場合は後続送信を止める。
まとめ
X エンゲージメント自動化は、単発スクリプトではなくキャンペーン注文システムとして扱います。承認済みコンテンツを選び、サービスと数量を検証し、/twitter/action で注文を送信し、order_id を保存し、/twitter/action/order-status で配送状態を追跡します。TwexAPI は API 層を提供し、承認、予算、ログ、停止ルールがワークフローを安定させます。