Surveillance
Surveiller un compte
POST /v1/monitor/targets targets:write
Commence à surveiller un compte, désigné par screen_name ou par user_id. Si nous le connaissons déjà, vous êtes abonné immédiatement ; sinon nous le résolvons d'abord sur X et vous recevez 202. Un compte dont X nous a indiqué dans les dix dernières minutes qu'il ne peut pas être surveillé (il n'existe pas, est suspendu ou ses publications sont protégées) est refusé d'emblée avec 404. Sans event_types, chaque type d'événement autorisé par votre clé est livré ; avec, seulement ces types. Envoyer event_types pour un compte déjà surveillé remplace son choix ; l'omettre le conserve. Voir Choisir les types d'événement.
Corps de la requête
| Champ du corps | Type | Signification |
|---|---|---|
screen_name | string | Nom d'utilisateur sans @ ; 1 à 15 lettres, chiffres ou tirets bas. Envoyez ceci ou user_id |
user_id | string | L'identifiant X numérique du compte, à la place de screen_name. Un identifiant ne change jamais : préférez-le quand vous l'avez |
event_types | string[] | Seuls ces types d'événement sont livrés pour ce compte ; omettez-le ou envoyez [] pour tous. search.match relève des mots-clés et est refusé ici |
réponse
201 abonné, 200 déjà abonné, 202 en file pour résolution ; les trois portent un en-tête Location pointant vers l'endpoint de détail. Un 202 pour un compte qui a échoué auparavant porte last_failure (reason, failed_at). 404 user_not_found, user_suspended ou user_protected : X nous a indiqué dans les dix dernières minutes que ce compte ne peut pas être surveillé ; details.failed_at dit quand.
Statut: 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}"
}