인증
| Method | Description |
|---|---|
| OAuth 2.0 Authorization Code with PKCE | 권장 |
| OAuth 1.0a User Context | 레거시 지원 |
필수 스코프 (OAuth 2.0)
| Scope | 필요한 기능 |
|---|---|
dm.write | 메시지 보내기 및 삭제 |
dm.read | dm.write와 함께 필요 |
tweet.read | DM 스코프에 필요 |
users.read | DM 스코프에 필요 |
엔드포인트 개요
| Method | Endpoint | Description |
|---|---|---|
| POST | /2/dm_conversations/with/:participant_id/messages | 일대일 메시지 전송 |
| POST | /2/dm_conversations | 그룹 대화 생성 |
| POST | /2/dm_conversations/:dm_conversation_id/messages | 대화에 메시지 추가 |
| DELETE | /2/dm_events/:event_id | 메시지 삭제 |
메시지 보내기
일대일 메시지
cURL
그룹 대화
cURL
conversation_type 필드는 반드시 "Group"으로 설정해야 합니다(대소문자 구분).기존 대화에 추가
cURL
미디어 첨부
미디어 업로드
Media Upload 엔드포인트를 사용해 파일을 업로드하고
media_id를 받습니다.- 인증된 사용자가 해당 미디어를 직접 업로드했어야 합니다.
- 미디어는 업로드 후 24시간 동안만 사용할 수 있습니다.
- 메시지당 하나의 첨부만 지원됩니다.
메시지 텍스트에 게시물 URL을 추가하여 해당 게시물을 포함하세요:
referenced_tweets 필드가 포함됩니다.
메시지 요건
| Field | Required | Notes |
|---|---|---|
text | 예* | 첨부 파일이 없을 경우 필수 |
attachments | 예* | 텍스트가 없을 경우 필수 |
text 또는 attachments 중 하나 이상은 반드시 제공되어야 합니다.
v1.1과의 ID 호환성
- v2로 메시지 생성
- v1.1로 메시지 삭제(아직 v2에서는 지원되지 않음)
- x.com URL에 포함된 대화 ID 참조
오류 처리
| Status | 오류 | 해결 방법 |
|---|---|---|
| 400 | 잘못된 요청 | 요청 본문 형식을 확인하세요 |
| 401 | 인증 실패 | 액세스 토큰을 확인하세요 |
| 403 | 권한 없음 | 스코프 및 사용자 권한을 확인하세요 |
| 429 | 요청 과다 | 대기 후 다시 시도하세요 |
일반적인 문제
사용자에게 전송할 수 없음
사용자에게 전송할 수 없음
수신자가 알지 못하는 사용자로부터 오는 메시지를 차단하도록 DM 설정을 해 두었거나, 귀하를 차단했을 수 있습니다.
미디어 첨부 실패
미디어 첨부 실패
같은 인증된 사용자 계정으로 업로드된 미디어인지, 그리고 업로드된 지 24시간이 지나지 않았는지 확인하세요.
그룹 생성 실패
그룹 생성 실패
모든 참가자 id가 유효한지, 해당 사용자들이 그룹 DM 초대를 허용하는지 확인하세요.
다음 단계
빠른 시작
첫 번째 다이렉트 메시지를 보내세요
DM 조회
DM 대화를 조회하세요
미디어 업로드
첨부할 미디어를 업로드하세요
API 참조 문서
전체 엔드포인트 문서