Monitoramento

Monitorar uma conta

POST /v1/monitor/targets targets:write

Começa a monitorar uma conta, indicada por screen_name ou por user_id. Se já a conhecemos, a assinatura é imediata; caso contrário, primeiro a resolvemos no X e você recebe 202. Uma conta que o X nos informou nos últimos dez minutos que não pode ser monitorada (não existe, está suspensa ou tem as publicações protegidas) é recusada na hora com 404. Sem event_types, todo tipo de evento que sua chave permite é entregue; com ele, só esses tipos. Enviar event_types para uma conta que você já monitora substitui a escolha; omiti-lo a mantém. Veja Escolher tipos de evento.

Corpo da requisição

Campo do corpoTipoSignificado
screen_namestringNome de usuário sem @; 1–15 letras, dígitos ou sublinhados. Envie isto ou user_id
user_idstringO id numérico da conta no X, no lugar de screen_name. Um id nunca muda: prefira-o quando o tiver
event_typesstring[]Só esses tipos de evento são entregues para esta conta; omita ou envie [] para todos. search.match pertence às palavras-chave e é recusado aqui

resposta

201 assinado, 200 já assinado, 202 enfileirado para resolução; os três trazem um cabeçalho Location apontando para o endpoint de detalhe. Um 202 para uma conta que falhou antes traz last_failure (reason, failed_at). 404 user_not_found, user_suspended ou user_protected: o X nos informou nos últimos dez minutos que esta conta não pode ser monitorada; details.failed_at diz quando.

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

requisição
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"]}'
resposta · 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}"
}