监控
监控一个账号
POST /v1/monitor/targets targets:write
开始监控一个账号,可用 screen_name 或 user_id 指定。如果我们已知它,你会立即订阅;否则我们先在 X 上解析它,你会得到 202。如果 X 在最近十分钟内告诉我们某个账号无法监控(不存在、已被封禁,或其帖子受保护),会立即以 404 拒绝。不传 event_types 时,该账号在密钥允许范围内的每一种事件都会送达;传了就只送达这些类型。对已监控的账号再次发送 event_types 会替换原来的选择,不传则保持不变。详见选择事件类型。
请求体
| 请求体字段 | 类型 | 含义 |
|---|---|---|
screen_name | string | 不带 @ 的用户名;1–15 个字母、数字或下划线。与 user_id 二选一 |
user_id | string | 账号的 X 数字 id,可代替 screen_name。id 永远不变,有的话优先用它 |
event_types | string[] | 只为该账号送达这些事件类型;不传或传 [] 表示全部。search.match 属于关键词,在这里会被拒绝 |
响应
201 已订阅,200 本已订阅,202 已排队解析;三者都带指向详情端点的 Location 头。对之前失败过的账号返回的 202 会带 last_failure(reason、failed_at)。404 user_not_found、user_suspended 或 user_protected:X 在最近十分钟内告诉我们该账号无法监控;details.failed_at 给出时间。
状态: 201, 200, 202, 400, 402, 403
请求
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"]}'
响应 · 201 / 200
{
"status": "subscribed",
"state": "subscribed",
"id": "44196397",
"screen_name": "elonmusk",
"name": "Elon Musk",
"event_types": [
"followers.verified.add"
],
"event_types_all": false
}
{
"status": "queued",
"state": "queued",
"screen_name": "newaccount",
"user_id": null,
"event_types": [],
"event_types_all": true,
"note": "target will be resolved and placed shortly; poll GET /v1/monitor/targets/{screen_name}"
}