> ## Documentation Index
> Fetch the complete documentation index at: https://x-preview-mintlify-5e62557c.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Account Activity API: Enterprise

> Gestiona webhooks y suscripciones con la Account Activity API enterprise para transmitir en tiempo real Posts, Mensajes Directos, likes, follows y ediciones.

<Warning>
  La Account Activity API (AAA) está siendo deprecada. Consulta la [X Activity API (XAA)](/x-api/activity/introduction) para la entrega de actividad de usuario en tiempo real en el futuro.
</Warning>

<Note>
  Este endpoint se ha actualizado para incluir metadatos de edición de Posts. Aprende más sobre estos metadatos en la [página de fundamentos "Editar Posts"](/x-api/enterprise-gnip-2.0/fundamentals/edit-tweets).

  Este endpoint se usa a menudo con los endpoints de Mensajes Directos. Hemos lanzado nuevos [endpoints v2 de Mensajes Directos](/x-api/direct-messages/manage/introduction). Ten en cuenta que las Account Activity APIs Enterprise y Premium admiten mensajes uno a uno v2, pero aún no admiten conversaciones grupales.
</Note>

Descripción general

`Enterprise`

La Account Activity API te brinda la capacidad de suscribirte a actividades en tiempo real relacionadas con una cuenta de usuario a través de webhooks. Esto significa que puedes recibir en tiempo real Posts, Mensajes Directos y otros eventos de cuenta de una o más de tus cuentas propias o suscritas a través de una única conexión.

Recibirás todas las actividades relacionadas siguientes para cada suscripción de usuario en tu registro de webhook:

| Tipos de actividad                                                                                                                                                                                                                                                                                                                                                                                                                                                          |                                                                                                                                                                                                                                                                                                                                                                                                                         |
| :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| \* Posts (por el usuario)  <br />    <br />\* Eliminaciones de Posts (por el usuario)<br />\* @menciones (del usuario)<br />\* Respuestas (a o del usuario)<br />\* Retweets (por el usuario o del usuario)<br />\* Quote Tweets (por el usuario o del usuario)<br />\* Retweets de Quoted Tweets (por el usuario o del usuario)<br />\* Likes (por el usuario o del usuario)<br />\* Follows (por el usuario o del usuario)  <br />    <br />\* Unfollows (por el usuario) | \* Bloqueos (por el usuario)<br />\* Desbloqueos (por el usuario)<br />\* Silenciamientos (por el usuario)<br />\* Deshacer silenciamientos (por el usuario)<br />\* Mensajes Directos enviados (por el usuario)<br />\* Mensajes Directos recibidos (por el usuario)<br />\* Indicadores de escritura (al usuario)<br />\* Confirmaciones de lectura (al usuario)<br />\* Revocaciones de suscripción (por el usuario) |

**Ten en cuenta** - No entregamos datos de home timeline a través de la Account Activity API. Usa [GET statuses/home\_timeline](https://developer.x.com/en/docs/x-api/v1/tweets/timelines/overview) para obtener estos datos.

#### Serie de videos

Consulta nuestra [serie de videos de cuatro partes](https://www.youtube.com/watch?v=otPxejFhyy8\&index=0\&list=PLFKjcMIU2WshGG6Yj940XM7Z6BFs1zfBg) sobre la Account Activity API para ponerte al día.

<iframe src="https://platform.x.com/embed/Tweet.html?dnt=false&embedId=twitter-widget-0&features=eyJ0ZndfdGltZWxpbmVfbGlzdCI6eyJidWNrZXQiOltdLCJ2ZXJzaW9uIjpudWxsfSwidGZ3X2ZvbGxvd2VyX2NvdW50X3N1bnNldCI6eyJidWNrZXQiOnRydWUsInZlcnNpb24iOm51bGx9LCJ0ZndfdHdlZXRfZWRpdF9iYWNrZW5kIjp7ImJ1Y2tldCI6Im9uIiwidmVyc2lvbiI6bnVsbH0sInRmd19yZWZzcmNfc2Vzc2lvbiI6eyJidWNrZXQiOiJvbiIsInZlcnNpb24iOm51bGx9LCJ0ZndfZm9zbnJfc29mdF9pbnRlcnZlbnRpb25zX2VuYWJsZWQiOnsiYnVja2V0Ijoib24iLCJ2ZXJzaW9uIjpudWxsfSwidGZ3X21peGVkX21lZGlhXzE1ODk3Ijp7ImJ1Y2tldCI6InRyZWF0bWVudCIsInZlcnNpb24iOm51bGx9LCJ0ZndfZXhwZXJpbWVudHNfY29va2llX2V4cGlyYXRpb24iOnsiYnVja2V0IjoxMjA5NjAwLCJ2ZXJzaW9uIjpudWxsfSwidGZ3X3Nob3dfYmlyZHdhdGNoX3Bpdm90c19lbmFibGVkIjp7ImJ1Y2tldCI6Im9uIiwidmVyc2lvbiI6bnVsbH0sInRmd19kdXBsaWNhdGVfc2NyaWJlc190b19zZXR0aW5ncyI6eyJidWNrZXQiOiJvbiIsInZlcnNpb24iOm51bGx9LCJ0ZndfdXNlX3Byb2ZpbGVfaW1hZ2Vfc2hhcGVfZW5hYmxlZCI6eyJidWNrZXQiOiJvbiIsInZlcnNpb24iOm51bGx9LCJ0ZndfdmlkZW9faGxzX2R5bmFtaWNfbWFuaWZlc3RzXzE1MDgyIjp7ImJ1Y2tldCI6InRydWVfYml0cmF0ZSIsInZlcnNpb24iOm51bGx9LCJ0ZndfbGVnYWN5X3RpbWVsaW5lX3N1bnNldCI6eyJidWNrZXQiOnRydWUsInZlcnNpb24iOm51bGx9LCJ0ZndfdHdlZXRfZWRpdF9mcm9udGVuZCI6eyJidWNrZXQiOiJvbiIsInZlcnNpb24iOm51bGx9fQ%3D%3D&frame=false&hideCard=false&hideThread=false&id=996790447048613888&lang=en&origin=https%3A%2F%2Fdeveloper.x.com%2Fen%2Fdocs%2Fx-api%2Fenterprise%2Faccount-activity-api%2Foverview&sessionId=81f4a0339cbd7bd77b669faa00bd3a7224bc4418&theme=light&widgetsVersion=2615f7e52b7e0%3A1702314776716&width=550px" height="400px" />

### Resumen de funcionalidades

| Nivel      | Precios                                                        | Número de suscripciones únicas | Número de webhooks | Confiabilidad y recuperación de actividad                                                                                                                                       |
| :--------- | :------------------------------------------------------------- | :----------------------------- | :----------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Enterprise | [Contactar ventas](/x-api/enterprise-gnip-2.0/enterprise-gnip) | Hasta 500+                     | 3+                 | [Reintentos](/x-api/enterprise-gnip-2.0/fundamentals/account-activity#retries) y [Replay](/x-api/enterprise-gnip-2.0/fundamentals/account-activity#account-activity-replay-api) |

* ¿Tienes preguntas? ¿Encontraste errores?
  * Lee nuestras [Preguntas frecuentes](/x-api/enterprise-gnip-2.0/fundamentals/account-activity#frequently-asked-questions) o la [Guía de solución de errores](/x-api/enterprise-gnip-2.0/fundamentals/account-activity#frequently-asked-questions).

* Explora nuestro código de ejemplo:
  * [Panel de la Account Activity API enterprise](https://github.com/xdevplatform/account-activity-dashboard-enterprise), una app web node que muestra eventos de webhook usando el nivel enterprise de la Account Activity API e incluye funcionalidad [Replay](/x-api/enterprise-gnip-2.0/fundamentals/account-activity#account-activity-replay-api).
  * El [chatbot SnowBot](https://github.com/xdevplatform/SnowBotDev), una app web Ruby construida sobre las APIs enterprise Account Activity y Direct Message.

## Gestionar webhooks y usuarios suscritos

**⏱ 10 min de lectura**

La Account Activity API enterprise te proporciona mensajes JSON basados en webhooks cada vez que hay eventos asociados a las cuentas de X suscritas a tu servicio. X entrega esas actividades a tu webhook registrado. En los siguientes pasos, aprenderás a gestionar webhooks y usuarios suscritos.

Aprenderás a registrar, ver y eliminar, tanto webhooks como usuarios suscritos. Usaremos comandos cURL simples para hacer solicitudes a los distintos endpoints de la API. cURL es una herramienta de línea de comandos para obtener o enviar solicitudes usando la sintaxis de URL.

Necesitarás:

* Una app de X registrada - *[regístrate aquí](https://developer.x.com/content/developer-twitter/en/apps)*
* Un bearer token - *[más información](/resources/fundamentals/authentication#using-and-generating-an-app-only-bearer-token)*
* Un webhook que pase una Challenge-Response Check (CRC) - *[más información](/x-api/enterprise-gnip-2.0/fundamentals/account-activity#securing-webhooks)*
* Una cuenta enterprise - *\[solicítala aquí][https://developer.x.com/en/products/x-api/enterprise](https://developer.x.com/en/products/x-api/enterprise)*

*Antes de comenzar, te recomendamos que consultes nuestro [repo de Github aquí](https://github.com/xdevplatform/account-activity-dashboard) que proporciona una app web de ejemplo y scripts auxiliares para empezar con la Account Activity API de X*

#### Gestión de un webhook:

El uso de un webhook te brinda la capacidad de suscribirte a actividades en tiempo real relacionadas con una cuenta de usuario a través de una única conexión.

<Tabs>
  <Tab title="Añadir un webhook">
    Empecemos registrando una nueva URL de webhook para el contexto de aplicación dado.

    La URL se validará mediante una solicitud CRC antes de guardar. Una vez que hayas registrado un webhook, asegúrate de documentar el ID del webhook, ya que lo necesitarás más adelante.

    Copia la siguiente solicitud cURL en tu línea de comandos después de realizar cambios en lo siguiente:

    * **URL** `<URL>` p. ej. `https://yourdomain.com/webhooks/twitter/`

    * **Consumer key** `<CONSUMER_KEY>` p. ej. `xvz1evFS4wEEPTGEFPHBog`

    * **Access token** `<ACCESS_TOKEN>` p. ej.  `370773112-GmHxMAgYyLbNEtIKZeRNFsMKPR9EyMZeS9weJAEb`

      ```
      curl --request POST --url 'https://api.x.com/1.1/account_activity/webhooks.json?url=<URL>' --header 'authorization: OAuth oauth_consumer_key="<CONSUMER_KEY>", oauth_nonce="GENERATED", oauth_signature="GENERATED", oauth_signature_method="HMAC-SHA1", oauth_timestamp="GENERATED", oauth_token="<ACCESS_TOKEN>", oauth_version="1.0"'
      ```
  </Tab>

  <Tab title="Ver un webhook">
    Ejecutaremos el siguiente comando para devolver todas las URLs de webhook registradas y sus estados para la aplicación dada.

    Copia la siguiente solicitud cURL en tu línea de comandos después de realizar cambios en lo siguiente:

    * **Bearer token** `<BEARER_TOKEN>` p. ej. `AAAAAAAAAAAA0%2EUifi76ZC9Ub0wn...`

      ```curl --request GET --url https://api.x.com/1.1/account_activity/webhooks.json --header 'authorization: Bearer <BEARER_TOKEN>' theme={null}
      ```
  </Tab>

  <Tab title="Eliminar un webhook">
    Para eliminar un webhook de la configuración de la aplicación proporcionada, copia la siguiente solicitud cURL en tu línea de comandos después de realizar cambios en lo siguiente:

    * **Webhook ID** `<:WEBHOOK_ID>` p. ej. `1234567890`

    * **Consumer key** `<CONSUMER_KEY>` p. ej. `xvz1evFS4wEEPTGEFPHBog`

    * **Access token** `<ACCESS_TOKEN>` p. ej.  `370773112-GmHxMAgYyLbNEtIKZeRNFsMKPR9EyMZeS9weJAEb`

      ```curl --request DELETE --url https://api.x.com/1.1/account_activity/webhooks/<:WEBHOOK_ID>.json --header 'authorization: OAuth oauth_consumer_key="<CONSUMER_KEY>", oauth_nonce="GENERATED", oauth_signature="GENERATED", oauth_signature_method="HMAC-SHA1", oauth_timestamp="GENERATED", oauth_token="<ACCESS_TOKEN>", oauth_version="1.0"' theme={null}
      ```
  </Tab>
</Tabs>

#### Gestión de usuarios suscritos:

Una vez que hayas registrado un Webhook, puedes agregar un usuario suscrito a la Account Activity API para comenzar a recibir sus actividades de cuenta.

<Tabs>
  <Tab title="Añadir una suscripción">
    Comenzaremos suscribiendo a un usuario para que recibas todos los tipos de eventos.

    Copia la siguiente solicitud cURL en tu línea de comandos después de realizar cambios en lo siguiente:

    * **Webhook ID** `<:WEBHOOK_ID>` p. ej. `1234567890`

    * **Nombre de la Consumer key** `<CONSUMER_KEY>` p. ej. `xvz1evFS4wEEPTGEFPHBog`

    * **Access token del usuario que se suscribe** `<SUBSCRIBING_USER'S_ACCESS_TOKEN>` p. ej. `370773112-GmHxMAgYyLbNEtIKZeRNFsMKPR9EyMZeS9weJAEb`

      ```
      curl --request POST --url https://api.x.com/1.1/account_activity/webhooks/<:WEBHOOK_ID>/subscriptions/all.json --header 'authorization: OAuth oauth_consumer_key="<CONSUMER_KEY>", oauth_nonce="GENERATED", oauth_signature="GENERATED", oauth_signature_method="HMAC-SHA1", oauth_timestamp="GENERATED", oauth_token="<SUBSCRIBING_USER'S_ACCESS_TOKEN>", oauth_version="1.0"'
      ```
  </Tab>

  <Tab title="Ver suscripciones">
    Para ver una lista de todas las suscripciones de tipo de actividad para un webhook especificado, copia la siguiente solicitud cURL en tu línea de comandos después de realizar cambios en lo siguiente:

    * **Webhook ID** `<:WEBHOOK_ID>` p. ej. `1234567890`

    * **Bearer token** `<BEARER_TOKEN>` p. ej. `AAAAAAAAAAAA0%2EUifi76ZC9Ub0wn...`

      ```
      curl --request GET --url https://api.x.com/1.1/account_activity/webhooks/<:WEBHOOK_ID>/subscriptions/all/list.json --header 'authorization: Bearer <BEARER_TOKEN>'
      ```
  </Tab>

  <Tab title="Eliminar una suscripción">
    Después de la desactivación, todos los eventos para el usuario solicitante ya no se enviarán a la URL del webhook.

    Para desactivar una suscripción desde el contexto de usuario y aplicación proporcionados, copia la siguiente solicitud cURL en tu línea de comandos después de realizar cambios en lo siguiente:

    * **Webhook ID** `<:WEBHOOK_ID>` p. ej. `1234567890`

    * **Consumer key** `<CONSUMER_KEY>` p. ej. `xvz1evFS4wEEPTGEFPHBog`

    * **Access token del usuario que se suscribe** `<SUBSCRIBING_USER'S_ACCESS_TOKEN>` p. ej. `370773112-GmHxMAgYyLbNEtIKZeRNFsMKPR9EyMZeS9weJAEb`

      ```
      curl --request DELETE --url https://api.x.com/1.1/account_activity/webhooks/:WEBHOOK_ID/subscriptions/all.json --header 'authorization: OAuth oauth_consumer_key="CONSUMER_KEY", oauth_nonce="GENERATED", oauth_signature="GENERATED", oauth_signature_method="HMAC-SHA1", oauth_timestamp="GENERATED", oauth_token="SUBSCRIBED_USER'S_ACCESS_TOKEN", oauth_version="1.0"'
      ```
  </Tab>
</Tabs>

¡Buen trabajo! Ahora deberías poder gestionar tus webhooks y usuarios suscritos.

#### Artículos referenciados

* [Descripción general del Challenge-Response Check (CRC)](/x-api/enterprise-gnip-2.0/fundamentals/account-activity#securing-webhooks)
* [Tipos de datos de Account Activity](/x-api/enterprise-gnip-2.0/fundamentals/account-activity#account-activity-data-object-structure)
* [Gestión de Webhooks y suscripciones](/x-api/enterprise-gnip-2.0/fundamentals/account-activity#managing-webhooks-and-subscriptions)

## Un video tutorial de la Account Activity API

En este video tutorial, aprenderás sobre las capacidades de los niveles premium y enterprise de la Account Activity API.

Al final de este video, aprenderás sobre
