Monitoring
Een account volgen
POST /v1/monitor/targets targets:write
Begint met het monitoren van een account, aangeduid met screen_name of user_id. Kennen we het al, dan bent u meteen geabonneerd; anders zoeken we het eerst op X op en krijgt u 202. Een account waarvan X ons in de laatste tien minuten liet weten dat het niet gemonitord kan worden (het bestaat niet, is geschorst of de berichten zijn beschermd), wordt meteen geweigerd met 404. Zonder event_types wordt elk gebeurtenistype bezorgd dat uw sleutel toestaat; mét alleen die typen. event_types sturen voor een account dat u al monitort vervangt de keuze; weglaten behoudt die. Zie Gebeurtenistypen kiezen.
Request-body
| Body-veld | Type | Betekenis |
|---|---|---|
screen_name | string | Handle zonder @; 1–15 letters, cijfers of underscores. Stuur dit of user_id |
user_id | string | Het numerieke X-id van het account, in plaats van screen_name. Een id verandert nooit; gebruik het als u het hebt |
event_types | string[] | Alleen deze gebeurtenistypen worden voor dit account bezorgd; weglaten of [] voor alle. search.match hoort bij trefwoorden en wordt hier geweigerd |
antwoord
201 geabonneerd, 200 al geabonneerd, 202 in de wachtrij voor opzoeken; alle drie dragen een Location-header die naar het detail-eindpunt wijst. Een 202 voor een account dat eerder mislukte bevat last_failure (reason, failed_at). 404 user_not_found, user_suspended of user_protected: X liet ons in de laatste tien minuten weten dat dit account niet gemonitord kan worden; details.failed_at zegt wanneer.
Status: 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"]}'
{
"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}"
}