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

# v2 Account Activity API 마이그레이션 가이드

이 가이드는 기존 Enterprise Account Activity API에서 v2 Account Activity API로 마이그레이션할 수 있도록 돕습니다. 기본 기능은 동일하게 유지되지만, X API v2와의 일관성을 위해 엔드포인트 구조와 인증 방식이 업데이트되었습니다.

<div id="summary-of-changes">
  ### 변경 사항 요약
</div>

* **API 형식**: 엔드포인트가 /1.1/account\_activity/ 대신 /2/account\_activity/ 기본 경로를 사용합니다.
* **웹훅 관리**: 웹훅 생성, 목록 조회, 검증(CRC), 삭제는 [V2 Webhooks API](https://github.com/m-rosinsky/XWebhookTest/blob/main/app.py)로 처리됩니다.
* **인증 방식**: V2 엔드포인트에는 다음 중 하나가 필요합니다.
  * 사용자별 작업(예: 특정 사용자를 구독)에 **OAuthUser**(3-legged OAuth).
  * 앱 수준 작업(예: 구독 목록 조회/삭제)에 **OAuth2 App Only**(Bearer 토큰).
  * V1.1은 상황에 따라 주로 OAuth 1.0a 등을 포함한 다양한 요구사항을 사용했습니다.
* **엔드포인트 매핑**:

| V1.1 엔드포인트                                                                      | V2 대응 / 동작                                                                    | 비고                                                                                   |
| ------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| POST /1.1/account\_activity/webhooks.json?url=\<URL>                            | POST /2/webhooks                                                              | [문서](https://docs.x.com/x-api/webhooks/introduction). OAuth2AppOnly 필요.              |
| GET /1.1/account\_activity/webhooks.json                                        | GET /2/webhooks                                                               | [문서](https://docs.x.com/x-api/webhooks/introduction). OAuth2AppOnly 필요.              |
| PUT /1.1/account\_activity/webhooks/:webhook\_id.json                           | PUT /2/webhooks/:webhook\_id                                                  | CRC를 트리거합니다. [문서](https://docs.x.com/x-api/webhooks/introduction). OAuth2AppOnly 필요. |
| DELETE /1.1/account\_activity/webhooks/:webhook\_id.json                        | DELETE /2/webhooks/:webhook\_id                                               | [문서](https://docs.x.com/x-api/webhooks/introduction). OAuth2AppOnly 필요.              |
| POST /1.1/account\_activity/webhooks/:webhook\_id/subscriptions/all.json        | POST /2/account\_activity/webhooks/:webhook\_id/subscriptions/all             | OAuthUser 필요.                                                                        |
| GET /1.1/account\_activity/subscriptions/count.json                             | GET /2/account\_activity/subscriptions/count                                  | OAuth2AppOnly 필요.                                                                    |
| GET /1.1/account\_activity/webhooks/:webhook\_id/subscriptions/all.json         | GET /2/account\_activity/webhooks/:webhook\_id/subscriptions/all              | OAuthUser 필요.                                                                        |
| GET /1.1/account\_activity/webhooks/:webhook\_id/subscriptions/all/list.json    | GET /2/account\_activity/webhooks/:webhook\_id/subscriptions/all/list         | OAuth2AppOnly 필요.                                                                    |
| DELETE /1.1/account\_activity/webhooks/:webhook\_id/subscriptions/:user\_id/all | DELETE /2/account\_activity/webhooks/:webhook\_id/subscriptions/:user\_id/all | OAuth2AppOnly 필요.                                                                    |
| DELETE /1.1/account\_activity/webhooks/:webhook\_id/subscriptions/all           | 사용 중단됨 / 직접적인 대응 없음                                                           | 개별 삭제를 사용하거나 DELETE /2/webhooks/:webhook\_id로 웹훅을 삭제하세요.                             |

* **응답 형식**: AAAPI 문서에서 성공 및 오류 응답 구조를 검토하세요.

마이그레이션 시, 새로운 기본 경로를 사용하도록 코드를 업데이트하고, 인증 플로우를 조정하며, [V2 Webhooks API](https://docs.x.com/x-api/webhooks/introduction)를 사용해 웹훅을 관리하세요.

<div id="how-to-migrate">
  ### 마이그레이션 방법
</div>

* **패키지 선택**:
  * Account Activity API 액세스를 위해 Enterprise 또는 Self-serve 패키지 중에서 선택하세요. 다음을 고려하세요:
    * 필요한 웹훅 개수
    * 현재/예상 구독 또는 승인된 사용자 수
    * X 클라이언트 애플리케이션 개수
    * 원하는 지원 수준(포럼 vs. 관리형 엔터프라이즈 1:1 지원)
    * 가격 세부 정보(Enterprise의 경우 영업 팀에 문의)
* **인증을 OAuth 2.0으로 업데이트**:
  * 사용 중인 X App에 “읽기, 쓰기 및 다이렉트 메시지 액세스” 권한이 있는지 확인하세요.
  * V2 엔드포인트에 대해 OAuth 2.0을 사용하도록 업데이트하세요. scope가 변경되었다면 사용자를 다시 인가하세요.
  * 개발자 콘솔을 사용하여 다음을 관리하세요:
    * OAuth 2.0 Access Token
    * Client ID 및 Client Secret
* **웹훅 확인 또는 재구성**:
  * 기존 웹훅 URL을 사용하거나 새 URL을 설정하세요(예: [https://your\\\_domain.com/webhook/twitter](https://your\\_domain.com/webhook/twitter)).
  * 웹훅을 등록하고 관리하려면 [V2 Webhooks API 문서](https://docs.x.com/x-api/webhooks/introduction)를 따르세요.
* **샘플 App:**
  * [Simple webhook server](https://github.com/m-rosinsky/XWebhookTest/blob/main/app.py)
    * CRC 체크에 응답하고 POST 이벤트를 수신하는 방법을 보여주는 단일 Python 스크립트입니다.
  * [Account Activity API sample dashboard](https://github.com/xdevplatform/account-activity-dashboard-enterprise/tree/master)
    * 웹훅과 구독을 관리하고, 라이브 이벤트를 App 내에서 직접 수신할 수 있도록 [bun.sh](http://bun.sh)로 작성된 웹 App입니다.
