Elegir tipos de evento
Por defecto recibes todos los tipos de evento de cada cuenta que monitorizas. Puedes acotarlo por cuenta: una cuenta puede enviarte solo sus nuevos seguidores verificados mientras otra te envía todo lo que publica. La elección pertenece a la suscripción, así que se hace para cada cuenta por separado.
Qué puedes elegir
Cada tipo de evento de la tabla se puede activar o desactivar por sí solo, para cada cuenta. Las coincidencias de palabras clave (search.match) no están en la lista: vienen de las palabras clave, no de las cuentas.
| Tipo | Categoría | Significado |
|---|---|---|
tweet.create | Publicaciones | La cuenta publicó algo nuevo |
tweet.reply | Publicaciones | Respondió a alguien; reply_to lleva la publicación a la que se responde, con su texto y sus medios |
tweet.retweet | Publicaciones | Republicó a alguien; retweet_of lleva la publicación original completa |
tweet.quote | Publicaciones | Citó a alguien; quoted lleva la publicación citada completa |
tweet.edit | Publicaciones | Editó una publicación; el evento lleva la nueva versión y edit_of la versión que sustituye |
tweet.delete | Publicaciones | Una publicación que la cuenta había publicado ya no está |
profile.name | Perfil | Cambió el nombre visible |
profile.screen_name | Perfil | Cambió el nombre de usuario |
profile.bio | Perfil | Cambió la biografía |
profile.location | Perfil | Cambió la ubicación |
profile.url | Perfil | Cambió el enlace del perfil |
profile.avatar | Perfil | Cambió el avatar; old y new son URL de imagen |
profile.banner | Perfil | Cambió el banner; old y new son URL de imagen |
profile.pinned | Perfil | Cambió la publicación fijada; tweet y old_tweet llevan las publicaciones en sí |
profile.verified | Perfil | La insignia de verificación apareció o desapareció |
follow.add | Grafo de seguimiento | La cuenta empezó a seguir a alguien; user es el perfil completo de esa cuenta |
follow.remove | Grafo de seguimiento | La cuenta dejó de seguir a alguien |
followers.verified.add | Grafo de seguimiento | Una cuenta verificada empezó a seguirla; user lleva biografía, recuentos, ubicación y fecha de alta |
account.status | Cuenta | La cuenta pasó a protegida, suspendida o no disponible, o volvió a estar activa |
Elecciones habituales
Envía el valor de la columna derecha como event_types. Los tipos se combinan libremente; incluye tantos como necesites.
| Quieres | event_types |
|---|---|
| Solo los nuevos seguidores verificados de la cuenta | ["followers.verified.add"] |
| Solo sus publicaciones originales | ["tweet.create"] |
| Solo sus respuestas | ["tweet.reply"] |
| Todo lo que publica: publicaciones, respuestas, reposts, citas y ediciones | ["tweet.create", … 5 tipos] |
| Sus publicaciones y cuándo borra una | ["tweet.create", "tweet.delete"] |
| Solo cambios de perfil (los nueve tipos de perfil) | ["profile.name", … 9 tipos] |
| Solo a quién sigue y deja de seguir | ["follow.add", "follow.remove"] |
| Todo (por defecto) | null |
Cómo configurarlo
Elige al empezar a monitorizar la cuenta o cámbialo cuando quieras. Ambas llamadas requieren el scope targets:write.
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"]}'
curl -X PATCH https://api.xsignalfeed.com/v1/monitor/targets/elonmusk \ -H "Authorization: Bearer xsf_your_key" -H "Content-Type: application/json" \ -d '{"event_types": ["tweet.create", "tweet.reply"]}'
curl -X PATCH https://api.xsignalfeed.com/v1/monitor/targets/elonmusk \ -H "Authorization: Bearer xsf_your_key" -H "Content-Type: application/json" \ -d '{"event_types": null}'
La elección actual de la cuenta está en su campo event_types; event_types_all es true cuando no se filtra nada.
{
"target": {
"id": "44196397",
"screen_name": "elonmusk",
"name": "Elon Musk",
"state": "subscribed",
"…": "…",
"event_types": [
"tweet.create",
"tweet.reply"
],
"event_types_all": false
}
}Reglas
- Omitir
event_typesal empezar a monitorizar una cuenta significa todos los tipos. - Enviar
event_typessustituye la elección completa; no se suma a ella. Repetir la llamada de monitorización sinevent_typesconserva la elección actual. nullo[]significa todos los tipos. Elegir todos los tipos de la lista se guarda de la misma forma.- La elección se aplica por igual al stream, a los webhooks y a
GET /v1/events. Una conexión abierta recoge un cambio en su siguiente actualización, no al instante. - Un
updateque cambia el tipo de una publicación (llevakind_was) te llega si cualquiera de los dos tipos está en tu selección. Si tomastweet.createpero notweet.quote, igualmente recibes elupdateque muestra que la publicación era una cita, para que puedas descartarla; si tomastweet.quotepero notweet.create, esa cita te llega primero como eseupdate. - Si amplías la selección, los tipos añadidos te llegan desde ese momento. No se garantiza que los eventos de esos tipos anteriores al cambio estén disponibles en
GET /v1/events. - Una clave también puede tener una lista para toda la clave, configurada por nosotros a petición tuya (
event_typesenGET /v1/account). Un evento te llega solo si ambas listas lo permiten. - Un tipo desconocido se rechaza con
400 invalid_request;details.unknownlo nombra ydetails.allowedenumera los que puedes usar.GET /v1/meta/event-typesda la lista completa. - Las palabras clave se eligen por palabra clave, no aquí: vigila o deja de vigilar una palabra clave para recibir o dejar de recibir sus eventos
search.match.
Lo que no se puede elegir
- Los nuevos seguidores no verificados no se ofrecen como evento, así que no se pueden elegir. Solo los nuevos seguidores verificados (
followers.verified.add). - Se elige solo por tipo de evento, no por contenido. Condiciones como "seguidores verificados con más de 10.000 seguidores", "solo publicaciones con imágenes" o "solo en inglés" se aplican de tu lado, con los campos del payload (por ejemplo
user.followers,media,lang).