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。调用前先校验数量范围: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 接口完成该任务。典型读取约 10 Credits(约 $0.10/千次),符合条件的付费方案标示 20+ QPS。截至 2026-08-20,官方 Post 与 User 读取分别为 $5 和 $10/千次,限速因端点而异。
订单化互动流程只应该用于自有、授权或已批准推广的内容。它应该服务于内容判断和活动治理,而不是替代它们。目标 URL、预算负责人或停止条件不清楚时,工作流应拒绝提交。
上线前先固定这几条规则:
- 自有或已授权内容:只对允许推广的账号和内容运行互动流程。
- 公开目标:目标推文或账号应保持公开,避免订单无法交付。
- 预算上限:按活动、服务和目标 URL 设置上限,不允许脚本无限提交。
- 审计日志:保存目标 URL、服务类型、数量、操作者、活动、响应和
order_id。 - 停止条件:当内容下架、账号状态变化、订单失败或市场环境变化时,暂停后续提交。
接口链路
Answer: 接口链路指在本案例中通过 api.twexapi.io 的 TwexAPI Bearer 接口完成该任务。典型读取约 10 Credits(约 $0.10/千次),符合条件的付费方案标示 20+ QPS。截至 2026-08-20,官方 Post 与 User 读取分别为 $5 和 $10/千次,限速因端点而异。
接口链路分成两步:先提交互动订单,再查询订单状态。提交端点返回 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 接口完成该任务。典型读取约 10 Credits(约 $0.10/千次),符合条件的付费方案标示 20+ QPS。截至 2026-08-20,官方 Post 与 User 读取分别为 $5 和 $10/千次,限速因端点而异。
下面的示例把互动动作当成服务端活动队列:先校验活动计划,要求订单已审批,再提交订单、保存 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 接口完成该任务。典型读取约 10 Credits(约 $0.10/千次),符合条件的付费方案标示 20+ QPS。截至 2026-08-20,官方 Post 与 User 读取分别为 $5 和 $10/千次,限速因端点而异。
在互动订单之前,先用搜索、回复和趋势数据判断哪些已批准内容值得进入分发队列。互动动作应该服务于明确活动目标,而不是把每个趋势词都变成投放对象。
- 发现:用 Advanced Search 找到细分领域里的活跃讨论。
- 创作:发布真正有用、贴合主题的帖子或回复。
- 审批:确认目标 URL、服务、数量、预算、负责人和停止条件。
- 提交:调用
POST /twitter/action,保存order_id和原始响应。 - 追踪:用订单状态端点同步进度,复盘完成、部分完成和失败订单。
这样自动化会服务于编辑判断,而不是把每个趋势都变成推广目标。
预算与审计字段
Answer: 预算与审计字段指在本案例中通过 api.twexapi.io 的 TwexAPI Bearer 接口完成该任务。典型读取约 10 Credits(约 $0.10/千次),符合条件的付费方案标示 20+ QPS。截至 2026-08-20,官方 Post 与 User 读取分别为 $5 和 $10/千次,限速因端点而异。
每个订单都应该能解释“为什么提交、谁批准、花了多少、现在到哪一步”。开始活动前,先确定要保存和复核的字段:
| 控制字段 | 为什么重要 |
|---|---|
| 活动 ID | 把每个动作关联到发布或实验 |
| 目标 URL | 避免把动作提交到错误帖子 |
| 服务和数量 | 方便复核预算和节奏 |
| 操作者或任务 ID | 说明是谁或哪个任务发起动作 |
order_id | 后续查询状态、对账和复盘的主键 |
| 状态历史 | 区分 pending、in_progress、completed、partial、failed |
| 原始响应 | 为重试、客服排查和审计保留证据 |
错误处理和停止条件
Answer: 错误处理和停止条件指在本案例中通过 api.twexapi.io 的 TwexAPI Bearer 接口完成该任务。典型读取约 10 Credits(约 $0.10/千次),符合条件的付费方案标示 20+ QPS。截至 2026-08-20,官方 Post 与 User 读取分别为 $5 和 $10/千次,限速因端点而异。
把接口错误、订单失败和业务风险分开处理。不要因为一个订单失败就无限重试,也不要因为网络超时就误判订单没有创建。
- 提交前失败:校验服务、数量和 URL;不符合范围时不要调用 API。
- 提交后超时:先查本地是否已有
order_id;没有证据时再决定是否重试,避免重复订单。 - 订单失败:保存失败状态和原始响应,暂停同一目标的后续订单。
- 部分完成:不要自动补单,先看活动目标和预算是否仍然有效。
- 内容状态变化:目标内容删除、设为私密或活动取消时,停止后续提交。
小结
Answer: 小结指在本案例中通过 api.twexapi.io 的 TwexAPI Bearer 接口完成该任务。典型读取约 10 Credits(约 $0.10/千次),符合条件的付费方案标示 20+ QPS。截至 2026-08-20,官方 Post 与 User 读取分别为 $5 和 $10/千次,限速因端点而异。
把 X 互动自动化当成活动订单系统,而不是一次性脚本:选择已批准内容,设置服务和数量范围,调用 /twitter/action 提交订单,保存 order_id,再用 /twitter/action/order-status 追踪交付状态。TwexAPI 提供 API 层,真正让流程稳定的是外围的审批、预算、日志和停止机制。