Überwachung
Ein Konto überwachen
POST /v1/monitor/targets targets:write
Startet die Überwachung eines Kontos, angegeben per screen_name oder user_id. Kennen wir es bereits, sind Sie sofort abonniert; sonst lösen wir es zuerst auf X auf, und Sie erhalten 202. Ein Konto, von dem X uns in den letzten zehn Minuten mitgeteilt hat, dass es nicht überwacht werden kann (es existiert nicht, ist gesperrt oder seine Beiträge sind geschützt), wird sofort mit 404 abgelehnt. Ohne event_types wird jeder Ereignistyp zugestellt, den Ihr Schlüssel erlaubt; mit dem Feld nur diese Typen. event_types für ein bereits überwachtes Konto ersetzt dessen Auswahl; ohne das Feld bleibt sie erhalten. Siehe Ereignistypen wählen.
Request-Body
| Body-Feld | Typ | Bedeutung |
|---|---|---|
screen_name | string | Handle ohne @; 1–15 Buchstaben, Ziffern oder Unterstriche. Dies oder user_id senden |
user_id | string | Die numerische X-ID des Kontos, anstelle von screen_name. Eine ID ändert sich nie; nehmen Sie sie, wenn Sie sie haben |
event_types | string[] | Nur diese Ereignistypen werden für dieses Konto zugestellt; weglassen oder [] für alle. search.match gehört zu Stichwörtern und wird hier abgelehnt |
Antwort
201 abonniert, 200 bereits abonniert, 202 zur Auflösung eingereiht; alle drei tragen einen Location-Header, der auf den Detail-Endpunkt zeigt. Eine 202 für ein Konto, das zuvor fehlgeschlagen ist, enthält last_failure (reason, failed_at). 404 user_not_found, user_suspended oder user_protected: X hat uns in den letzten zehn Minuten mitgeteilt, dass dieses Konto nicht überwacht werden kann; details.failed_at nennt den Zeitpunkt.
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}"
}