Monitorización

Monitorizar una cuenta

POST /v1/monitor/targets targets:write

Empieza a monitorizar una cuenta, indicada por screen_name o por user_id. Si ya la conocemos quedas suscrito al instante; si no, primero la resolvemos en X y recibes 202. Una cuenta que, según nos indicó X en los últimos diez minutos, no se puede monitorizar (no existe, está suspendida o sus publicaciones están protegidas) se rechaza en el acto con 404. Sin event_types se entrega todo tipo de evento que tu clave permita; con él, solo esos tipos. Enviar event_types para una cuenta que ya monitorizas sustituye su elección; omitirlo la conserva. Consulta Elegir tipos de evento.

Cuerpo de la solicitud

Campo del cuerpoTipoSignificado
screen_namestringNombre de usuario sin @; de 1 a 15 letras, dígitos o guiones bajos. Envía esto o user_id
user_idstringEl id numérico de la cuenta en X, en lugar de screen_name. Un id nunca cambia: úsalo si lo tienes
event_typesstring[]Solo se entregan estos tipos de evento para esta cuenta; omítelo o envía [] para todos. search.match pertenece a las palabras clave y aquí se rechaza

respuesta

201 suscrito, 200 ya suscrito, 202 en cola para resolución; los tres llevan una cabecera Location que apunta al endpoint de detalle. Un 202 para una cuenta que falló antes lleva last_failure (reason, failed_at). 404 user_not_found, user_suspended o user_protected: X nos indicó en los últimos diez minutos que esta cuenta no se puede monitorizar; details.failed_at dice cuándo.

Estado: 201, 200, 202, 400, 402, 403

solicitud
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"]}'
respuesta · 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}"
}