Skip to main content
La Account Activity API (AAA) está siendo deprecada. Consulta la X Activity API (XAA) para la entrega de actividad de usuario en tiempo real en el futuro.
Esta guía te muestra cómo configurar la Account Activity API, gestionar suscripciones de usuario, validar tu webhook y usar la función de replay para recuperar eventos perdidos.

1. Crea una X App

Crea una X app con una cuenta de desarrollador aprobada desde el portal de desarrolladores. Si creas la app en nombre de tu empresa, utiliza una cuenta corporativa de X.
  • Habilita “Read, Write, and Access direct messages” en la pestaña de permisos de la página de tu app.
  • En la pestaña “Keys and Access Tokens”, anota la Consumer Key (API Key), el Consumer Token (API Secret) y el Bearer Token de tu app.
  • Genera el Access Token y el Access Token Secret de tu app. Son necesarios para suscribir cuentas de usuario.
  • Revisa Obtaining Access Tokens si no estás familiarizado con X Sign-in y los contextos de usuario.
  • Anota el ID numérico de tu app en la página “Apps” del portal de desarrolladores. Es obligatorio al solicitar acceso a la Account Activity API.

2. Obtén acceso a la Account Activity API

La Account Activity API está disponible en los niveles Enterprise y Pay Per Use. Envía una solicitud de acceso a través del portal de desarrolladores.

3. Registra un webhook

Para recibir eventos de Account Activity, debes registrar un webhook con una URL HTTPS accesible públicamente. Consulta la documentación de la V2 Webhooks API para más detalles sobre cómo desarrollar una app consumidora de webhooks, registrar un webhook, protegerlo y gestionar las Challenge-Response Checks (CRC).
  • Asegúrate de que tu webhook esté configurado para gestionar solicitudes POST con payloads de eventos codificados en JSON.
  • Obtén el webhook_id de la respuesta de registro del webhook, ya que es necesario para gestionar las suscripciones.

4. Valida la configuración

Para validar que tu app y tu webhook están configurados correctamente:
  1. Suscribe una cuenta de usuario a tu webhook (consulta Añadir una suscripción más abajo).
  2. Marca como favorito un Post publicado por una de las cuentas de X a las que tu app está suscrita.
  3. Deberías recibir un payload favorite_events mediante una solicitud POST a la URL de tu webhook.
La entrega de eventos puede tardar hasta 10 segundos en comenzar después de añadir una suscripción.

Gestión de suscripciones

Una vez que tengas un webhook registrado con un webhook_id válido, puedes gestionar suscripciones de usuario para recibir sus actividades de cuenta. Utiliza los siguientes endpoints para añadir, ver o eliminar suscripciones.

Añadir una suscripción

Endpoint: POST /2/account_activity/webhooks/:webhook_id/subscriptions/allReferencia de API Suscribe al usuario autenticado para recibir eventos mediante el webhook especificado. Autenticación: OAuth 1.0a (se requiere el flujo de OAuth de 3 pasos, que representa al usuario que se está suscribiendo).
Éxito (200 OK):
Motivos de fallo:

Comprobar una suscripción

Endpoint: GET /2/account_activity/webhooks/:webhook_id/subscriptions/allReferencia de API Comprueba si el usuario autenticado está suscrito al webhook especificado. Autenticación: OAuth 1.0a (se requiere el flujo de OAuth de 3 pasos).
Éxito (200 OK):
Motivos de fallo:

Eliminar una suscripción

Endpoint: DELETE /2/account_activity/webhooks/:webhook_id/subscriptions/:user_id/allReferencia de API Desactiva la suscripción para un ID de usuario específico, deteniendo la entrega de eventos al webhook. Autenticación: OAuth2 App Only Bearer Token.
Éxito (200 OK):
Motivos de fallo:

Ver todas las suscripciones

Endpoint: GET /2/account_activity/webhooks/:webhook_id/subscriptions/all/listReferencia de API Obtiene una lista de todos los IDs de usuario actualmente suscritos al webhook especificado. Autenticación: OAuth2 App Only Bearer Token.
Éxito (200 OK):
Motivos de fallo:

Conteo de suscripciones

Endpoint: GET /2/account_activity/subscriptions/countReferencia de API Devuelve el conteo total de suscripciones activas y el límite provisionado para la aplicación autenticada. Autenticación: OAuth2 App Only Bearer Token.
Éxito (200 OK):
Las suscripciones exclusivas de DM ya no son compatibles. El campo subscriptions_count_direct_messages siempre será "0".

Replay

AAAv2 ofrece la funcionalidad de replay, que te permite recuperar eventos pasados en un rango de tiempo especificado y volver a entregarlos a tu webhook. Es útil para recuperar eventos perdidos por caídas del servicio. Endpoint: POST /2/account_activity/replay/webhooks/:webhook_id/subscriptions/allReferencia de API Autenticación: OAuth2 App Only Bearer Token. Éxito (200 OK):
Motivos de fallo:

Mensajes de trabajo completado

Una vez que tu trabajo de replay se complete correctamente, X entregará el siguiente evento de finalización de trabajo. Al recibir este evento, el trabajo ha terminado de ejecutarse y se puede enviar otro.
En caso de que tu trabajo no se complete correctamente, X devolverá el siguiente mensaje sugiriéndote reintentar el trabajo de replay. Al recibir este evento, el trabajo ha terminado de ejecutarse y se puede enviar otro.

Notas importantes

  • Autenticación: Al suscribir a los usuarios, utiliza la consumer key, el consumer secret, el access token y el access token secret de la cuenta del usuario.
  • Mensajes directos: Todos los mensajes directos entrantes y salientes (enviados a través de POST /2/dm_conversations/with/:participant_id/messages) se entregan mediante webhooks para mantener a tu app al tanto de toda la actividad de DM.
  • Duplicación de eventos:
    • Si dos usuarios suscritos están en la misma conversación de DM, tu webhook recibe eventos duplicados (uno por usuario). Utiliza el campo for_user_id para distinguirlos.
    • Si varias apps comparten la misma URL de webhook y usuario, los eventos se envían varias veces (una vez por app).
    • Tu app debería deduplicar los eventos utilizando el ID del evento para gestionar duplicados ocasionales.

Apps de ejemplo


Próximos pasos

Introducción

Tipos de actividad, objetos de datos y ejemplos de payload

Webhooks API

Registra y gestiona tus webhooks

Guía de migración

Migra desde Enterprise heredada a v2

Inicio rápido de webhooks

Configuración CRC, seguridad y registro de webhooks