Skip to main content

Verifica acciones en X mediante API: seguimientos, retuits, comentarios y citas

Las campañas con recompensas piden seguir una cuenta, retuitear, comentar o unirse a una comunidad. Para repartir premios de forma justa, hay que comprobar que cada participante realizó las acciones. La revisión manual deja de ser práctica con muchos usuarios y las casillas de autoconfirmación facilitan el fraude. Los endpoints de verificación de Sorsa responden a preguntas concretas sobre esas acciones con un resultado sí/no o un estado. Permiten crear sistemas de tareas, sorteos, programas de recomendación y campañas basados en datos verificables y auditables. Esta guía presenta los endpoints con código y los combina en un flujo completo. Las 100 solicitudes gratuitas de cada cuenta, sin tarjeta, permiten probarlo antes de elegir un plan.
Nota: consulta más flujos y ejemplos en la guía completa de verificación de campañas.

Comprobaciones disponibles

Lo que no puedes verificar: los Me gusta. X los hizo privados en 2024. Ninguna API, incluida la oficial, puede comprobar si un usuario concreto marcó una publicación con Me gusta. Diseña tus campañas con las cinco acciones anteriores.

Comprobación 1: ¿El usuario sigue una cuenta?

La tarea más habitual: «Sigue a @YourBrand para participar». Endpoint: POST /v3/check-follow Responde a «¿user_2 sigue a user_1?». user_1 es la marca o cuenta seguida; user_2 es el participante.

Ejemplo básico

Respuesta:

Parámetros

Proporciona exactamente un identificador por cada lado:

Python

Si user_protected es true, la cuenta del participante es privada y no se pueden verificar sus relaciones de seguimiento.

Comprobación 2: ¿El usuario retuiteó?

«Retuitea esta publicación para participar». El endpoint examina hasta 100 retuits por solicitud y admite paginación. Endpoint: POST /v3/check-retweet

Parámetros

Python

Cada llamada examina un lote de hasta 100 retuits, empezando por los más recientes. En muchas campañas basta una solicitud porque la acción se realiza poco después del inicio. Para publicaciones populares donde el participante retuiteó antes, recorre next_cursor.

Comprobación 3: ¿El usuario citó?

«Cita esta publicación y añade tu opinión». /check-quoted distingue una cita de un retuit sin comentario y devuelve un estado. Endpoint: POST /v3/check-quoted

Python

Respuesta

status puede ser "quoted" (cita), "retweet" (retuit sin texto) o "not_found" (ninguna acción detectada). Si existe una cita, incluye fecha y texto para comprobar longitud mínima, hashtags obligatorios o lenguaje inapropiado.

Comprobación 4: ¿El usuario comentó?

«Deja un comentario en esta publicación». Es el único de estos endpoints que utiliza GET. Endpoint: GET /v3/check-comment

Parámetros de consulta

Python

Si commented es true, la respuesta incluye el objeto tweet completo del comentario: texto, métricas y fecha. Puedes exigir longitud mínima, un hashtag o algo más que emojis.

Comprobación 5: ¿El usuario pertenece a una comunidad?

Confirma la disponibilidad actual de datos de comunidades con soporte antes de exigir esta tarea. Consulta la nota de disponibilidad en Listas y comunidades. «Únete a nuestra comunidad de X para participar». Es útil cuando la pertenencia es un requisito. Endpoint: POST /v3/check-community-member

Python

El ID de la comunidad es la cadena numérica de x.com/i/communities/<id>.

Crear un flujo de verificación de campañas

El siguiente patrón ejecuta las cinco comprobaciones para un participante, devuelve resultados estructurados y aplica criterios de calidad al comentario y a la cita.
La primera página de cada comprobación consume cinco solicitudes en total. La paginación de retuits y los reintentos añaden llamadas: cinco es una base, no un coste fijo. Agotar el presupuesto de páginas significa que la verificación está incompleta, no que el participante incumplió la tarea.

Verificar participantes en lote

Este patrón regula las solicitudes, guarda resultados en CSV y permite reanudar el trabajo. Escribe una fila después de cada participante para conservar el progreso ante una caída.
El bucle espera entre participantes y reintenta un 429 hasta tres veces, pero la paginación puede añadir llamadas dentro de cada participante. Utiliza un limitador compartido en grupos de procesos de producción. La velocidad real depende de la profundidad de páginas y de la latencia. Los casos incompletos o fallidos deben quedar pendientes de reintento, sin registrarse como resultados negativos.

Verificar la titularidad de una cuenta

Antes de aceptar al participante, puedes confirmar que controla el nombre de X indicado:
  1. Genera un código único, como VERIFY-a8f3b2, y muéstraselo.
  2. Pídele que publique ese código.
  3. Consulta sus publicaciones recientes con /user-tweets y búscalo.
Vincula cada desafío al participante autenticado y a la cuenta de X, establece una caducidad corta y úsalo una sola vez. Comprueba autor y fecha contra el desafío. El ejemplo comprueba autor y texto; tu aplicación debe implementar almacenamiento, caducidad y uso único. El participante puede eliminar la publicación tras la verificación.

Criterios contra el fraude

Utiliza estas comprobaciones como criterios configurables de elegibilidad o revisión. La antigüedad y los contadores no demuestran si una cuenta es legítima:
  • Antigüedad mínima. Consulta /info y created_at. Puedes rechazar cuentas de menos de 30 días; muchas redes de bots utilizan cuentas nuevas.
  • Actividad mínima. Revisa tweets_count y followers_count. Valores bajos pueden justificar revisión, pero no prueban que sea un bot.
  • Calidad de comentarios. Usa el texto de /check-comment para exigir longitud, palabras clave o hashtags y rechazar respuestas de un carácter o solo emojis.
  • Calidad de citas. Aplica criterios similares al texto de /check-quoted.
  • Velocidad de finalización. Completar tareas muy rápido es una señal para revisar, no una prueba de automatización. Registra las horas y marca los casos sospechosos.
Ejecuta este filtro antes de las cinco verificaciones. Si is_legitimate_account devuelve False, evitas cinco llamadas para un participante que no cumpliría los criterios.

Ponderar participantes por influencia

Las audiencias no son iguales. Una cuenta con 50.000 seguidores puede aportar más valor a una campaña que una con 50. Consulta /info y ajusta la recompensa según los seguidores.
En campañas de criptomonedas, puedes sustituir este multiplicador por Sorsa Score, que mide reconocimiento entre líderes de opinión, proyectos y fondos del sector.

Nota sobre los Me gusta

X hizo privados los Me gusta en 2024. Ninguna API pública de Sorsa, X u otro proveedor expone qué usuarios marcaron una publicación con Me gusta. Sustituye esa tarea por retuitear o comentar, acciones que sí se pueden verificar.

Próximos pasos