메인 콘텐츠로 건너뛰기
This guide walks you through creating a batch compliance job to check the compliance status of Posts or users.
사전 준비 사항시작하기 전에 다음이 필요합니다:

작업 생성

포스트 또는 사용자 기준인지에 따라 type 값(tweets 또는 users)을 지정해 새 규정 준수 작업을 생성합니다:
curl -X POST "https://api.x.com/2/compliance/jobs" \
  -H "Authorization: Bearer $BEARER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "tweets",
    "name": "my-compliance-job"
  }'
응답:
{
  "data": {
    "id": "1234567890",
    "type": "tweets",
    "name": "my-compliance-job",
    "status": "created",
    "upload_url": "https://storage.googleapis.com/...",
    "download_url": "https://storage.googleapis.com/...",
    "created_at": "2024-01-15T10:00:00.000Z"
  }
}
다음 단계를 위해 upload_urldownload_url을 저장해 두십시오.

데이터 파일 준비

한 줄에 하나의 ID만 있도록 텍스트 파일을 만듭니다:
1234567890
1234567891
1234567892
1234567893
ids.txt로 저장합니다.

데이터 업로드

제공된 upload_url로 파일을 업로드합니다:
curl -X PUT "UPLOAD_URL_FROM_RESPONSE" \
  -H "Content-Type: text/plain" \
  --data-binary @ids.txt

작업 상태 확인

작업이 완료될 때까지 상태를 주기적으로 확인합니다:
curl "https://api.x.com/2/compliance/jobs/1234567890" \
  -H "Authorization: Bearer $BEARER_TOKEN"
작업 상태:
StatusDescription
created작업이 생성되었으며 업로드 대기 중입니다
in_progress데이터를 처리 중입니다
complete결과를 다운로드할 준비가 완료되었습니다
failed작업이 실패했습니다
expired작업이 완료되기 전에 만료되었습니다

결과 다운로드

상태가 complete가 되면 download_url에서 결과를 다운로드합니다:
curl "DOWNLOAD_URL_FROM_RESPONSE" -o results.json
결과 형식 (한 줄에 하나의 JSON 객체):
{"id": "1234567890", "action": "delete", "created_at": "2024-01-10T12:00:00.000Z", "redacted_at": "2024-01-12T08:30:00.000Z", "reason": "deleted"}
{"id": "1234567891", "action": "delete", "created_at": "2024-01-10T12:00:00.000Z", "redacted_at": "2024-01-13T14:20:00.000Z", "reason": "suspended"}
결과에는 규정 준수 이벤트가 발생한 ID만 포함됩니다. 결과에 없는 ID는 여전히 유효한 ID입니다.

컴플라이언스 조치

ActionReasonDescription
deletedeleted게시물 삭제됨
deletebounced게시물이 컴플라이언스 검사에 실패함
deleteprotected계정이 보호 상태로 전환됨
deletesuspended계정이 정지됨
deletescrub_geo위치 정보가 제거됨
ActionReasonDescription
deletedeleted계정 삭제됨
deletesuspended계정이 정지됨
deleteprotected계정이 보호 상태로 전환됨
deletedeactivated계정이 비활성화됨

모든 작업 나열하기

App에 대한 모든 컴플라이언스 작업을 가져오려면:
curl "https://api.x.com/2/compliance/jobs?type=tweets" \
  -H "Authorization: Bearer $BEARER_TOKEN"

다음 단계

통합 가이드

핵심 개념과 모범 사례

컴플라이언스 스트림

실시간 컴플라이언스 이벤트

API 참조 문서

모든 엔드포인트에 대한 문서