모니터링
계정 모니터링 시작
POST /v1/monitor/targets targets:write
계정 모니터링을 시작합니다. screen_name 또는 user_id로 지정합니다. 이미 아는 계정이면 즉시 구독되고, 아니면 먼저 X에서 확인한 뒤 202를 받습니다. 최근 10분 안에 X가 모니터링할 수 없다고 알려 온 계정(존재하지 않거나, 정지되었거나, 게시물이 비공개인 계정)은 즉시 404로 거부됩니다. event_types를 생략하면 키가 허용하는 모든 이벤트 타입이 전달되고, 지정하면 그 타입만 전달됩니다. 이미 모니터링 중인 계정에 event_types를 보내면 선택이 바뀌고, 생략하면 그대로 유지됩니다. 이벤트 타입 선택도 참고하세요.
요청 본문
| 본문 필드 | 타입 | 의미 |
|---|---|---|
screen_name | string | @ 없는 핸들. 1~15자의 영문자, 숫자 또는 밑줄. 이것 또는 user_id 중 하나를 보냅니다 |
user_id | string | screen_name 대신 쓸 수 있는 계정의 숫자형 X id. id는 바뀌지 않으므로 알고 있다면 이것을 권장합니다 |
event_types | string[] | 이 계정에 대해 전달할 이벤트 타입. 생략하거나 []를 보내면 전부. search.match는 키워드용이라 여기서는 거부됩니다 |
응답
201 구독됨, 200 이미 구독 중, 202 조회 대기열에 추가됨. 셋 모두 상세 엔드포인트를 가리키는 Location 헤더를 담습니다. 이전에 실패한 계정에 대한 202에는 last_failure(reason, failed_at)가 담깁니다. 404 user_not_found, user_suspended 또는 user_protected: 최근 10분 안에 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}"
}