## 인증 API 키 획득 및 사용 방법 알아보기 ## API 키 획득 API를 사용하기 전에 먼저 API 키를 획득해야 합니다. 프로필 페이지에서 API 키를 생성할 수 있습니다. ### API 키 사용 모든 API 요청의 요청 헤더에 API 키를 포함하세요: [Code (bash)] X-API-Key: YOUR_API_KEY [/Code] ### 주의 사항 - API 키를 안전하게 보관하고 공개 장소에서 노출되지 않도록 하세요 - API 키는 계정과 동일한 권한을 가지므로 신중하게 사용하세요 - API 키가 노출된 경우 프로필 페이지에서 즉시 새 키를 재생성하세요 --- ## 이메일 API 이메일 생성 및 관리 ## 사용 가능한 도메인 목록 가져오기 시스템의 모든 사용 가능한 이메일 도메인을 가져옵니다. ### 요청 [Code (bash)] GET /api/email/domains [/Code] ### 요청 예시 [Code (bash)] curl https://chat-tempmail.com/api/email/domains \ -H "X-API-Key: YOUR_API_KEY" [/Code] ### 응답 매개변수 매개변수명 | 타입 | 설명 ---------- | ------ | ------ domains | array | 사용 가능한 이메일 도메인 목록 ### 응답 예시 [Code (json)] { "domains": [ "chat-tempmail.com", "example.com", "other-domain.com" ] } [/Code] ## 이메일 생성 새로운 임시 이메일 주소를 생성합니다. ### 요청 [Code (bash)] POST /api/emails/generate [/Code] ### 요청 매개변수 매개변수명 | 타입 | 필수 | 설명 ---------- | ------ | ------ | ------ name | string | 예 | 이메일 접두사 expiryTime | number | 예 | 유효 기간(밀리초)
선택 가능한 값:
- 3600000 (1시간)
- 86400000 (1일)
- 259200000 (3일)
- 0 (영구) domain | string | 예 | 이메일 도메인 ### 요청 예시 [Code (bash)] curl -X POST https://chat-tempmail.com/api/emails/generate \ -H "X-API-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "test", "expiryTime": 3600000, "domain": "chat-tempmail.com" }' [/Code] ### 응답 매개변수 매개변수명 | 타입 | 설명 ---------- | ------ | ------ id | string | 이메일의 고유 식별자 (UUID 형식) email | string | 생성된 이메일 주소 (완전한 이메일 주소) ### 응답 예시 [Code (json)] { "id": "c2c4f894-c672-4d5b-a918-abca95aff1f7", "email": "test@chat-tempmail.com" } [/Code] ## 이메일 목록 가져오기 계정에 속한 모든 이메일 주소 목록을 가져옵니다. ### 요청 [Code (bash)] GET /api/emails [/Code] ### 요청 매개변수 매개변수명 | 타입 | 필수 | 설명 ---------- | ------ | ------ | ------ cursor | string | 아니오 | 페이지네이션 커서, 이전 응답에서 nextCursor 가져오기 ### 요청 예시 [Code (bash)] curl https://chat-tempmail.com/api/emails \ -H "X-API-Key: YOUR_API_KEY" [/Code] ### 응답 매개변수 매개변수명 | 타입 | 설명 ---------- | ------ | ------ emails | array | 이메일 목록 (한 번에 최대 20개 데이터 반환) nextCursor | string | 다음 페이지 커서, 더 많은 데이터 가져오기용 total | number | 총 이메일 수 ### emails 배열의 이메일 객체 매개변수명 | 타입 | 설명 ---------- | ------ | ------ id | string | 이메일의 고유 식별자 (UUID 형식) address | string | 이메일 주소 (완전한 이메일 주소) userId | string | 이메일 소유 사용자 ID (UUID 형식) createdAt | string | 이메일 생성 시간 (ISO 8601 형식) expiresAt | string | 이메일 만료 시간 (ISO 8601 형식) ### 응답 예시 [Code (json)] { "emails": [ { "id": "e4ff5c14-8a72-48c5-bd13-b5347fb944da", "address": "6Tg3VT@chat-tempmail.com", "userId": "bd08008d-e944-44b2-a0d0-67f2b528ee6d", "createdAt": "2025-04-21T08:30:45.084Z", "expiresAt": "2025-04-22T08:30:45.084Z" } ], "nextCursor": "fd13a8df-1465-4fbc-a612-ca7311c31ff2", "total": 20 } [/Code] ## 이메일 삭제 지정된 이메일 주소를 삭제합니다. ### 요청 [Code (bash)] DELETE /api/emails/{emailId} [/Code] ### 요청 매개변수 매개변수명 | 타입 | 필수 | 설명 ---------- | ------ | ------ | ------ emailId | string | 예 | 이메일 ID (경로 매개변수) ### 요청 예시 [Code (bash)] curl -X DELETE "https://chat-tempmail.com/api/emails/99fadf12-6826-490a-9c6c-b0b528d4a8e0" \ -H "X-API-Key: YOUR_API_KEY" [/Code] ### 응답 매개변수 매개변수명 | 타입 | 설명 ---------- | ------ | ------ success | boolean | 삭제 성공 여부 ### 응답 예시 [Code (json)] { "success": true } [/Code] --- ## 메시지 API 메시지 관리 ## 메시지 목록 가져오기 지정된 이메일 주소의 모든 메시지 목록을 가져옵니다. ### 요청 [Code (bash)] GET /api/emails/{emailId} [/Code] ### 요청 매개변수 매개변수명 | 타입 | 필수 | 설명 ---------- | ------ | ------ | ------ emailId | string | 예 | 이메일 ID (경로 매개변수) cursor | string | 아니오 | 페이지네이션 커서 (쿼리 매개변수), 이전 응답에서 nextCursor 가져오기 ### 요청 예시 [Code (bash)] curl "https://chat-tempmail.com/api/emails/c2c4f894-c672-4d5b-a918-abca95aff1f7" \ -H "X-API-Key: YOUR_API_KEY" [/Code] ### 응답 매개변수 매개변수명 | 타입 | 설명 ---------- | ------ | ------ messages | array | 메시지 목록 (한 번에 최대 20개 데이터 반환) nextCursor | string | 다음 페이지 커서, 더 많은 데이터 가져오기용 total | number | 총 메시지 수 ### messages 배열의 메시지 객체 매개변수명 | 타입 | 설명 ---------- | ------ | ------ id | string | 메시지의 고유 식별자 (UUID 형식) from_address | string | 발신자 주소 subject | string | 메시지 제목 received_at | number | 수신 시간 (Unix 타임스탬프, 밀리초) ### 응답 예시 [Code (json)] { "messages": [ { "id": "fd13a8df-1465-4fbc-a612-ca7311c31ff2", "from_address": "sender1@example.com", "subject": "Test Message 1 - xJOK2h", "received_at": 1745224245084 } ], "nextCursor": "eyJ0aW1lc3RhbXAiOjE3NDUxNTU4NDUwODQsImlkIjoiNjNmNzFlODYtOGE1NC00ZDQ0LTk5ZWYtN2QzNTBhMTQ4M2JiIn0=", "total": 50 } [/Code] ## 메시지 상세 정보 가져오기 지정된 메시지의 상세 내용을 가져옵니다. ### 요청 [Code (bash)] GET /api/emails/{emailId}/{messageId} [/Code] ### 요청 매개변수 매개변수명 | 타입 | 필수 | 설명 ---------- | ------ | ------ | ------ emailId | string | 예 | 이메일 ID (경로 매개변수) messageId | string | 예 | 메시지 ID (경로 매개변수) ### 요청 예시 [Code (bash)] curl "https://chat-tempmail.com/api/emails/99fadf12-6826-490a-9c6c-b0b528d4a8e0/fd13a8df-1465-4fbc-a612-ca7311c31ff2" \ -H "X-API-Key: YOUR_API_KEY" [/Code] ### 응답 매개변수 매개변수명 | 타입 | 설명 ---------- | ------ | ------ message | object | 메시지 상세 정보 ### message 객체 필드 설명 매개변수명 | 타입 | 설명 ---------- | ------ | ------ id | string | 메시지의 고유 식별자 (UUID 형식) from_address | string | 발신자 주소 subject | string | 메시지 제목 content | string | 메시지 일반 텍스트 내용 html | string | 메시지 HTML 내용 (비어있을 수 있음) received_at | number | 수신 시간 (Unix 타임스탬프, 밀리초) ### 응답 예시 [Code (json)] { "message": { "id": "fd13a8df-1465-4fbc-a612-ca7311c31ff2", "from_address": "sender1@example.com", "subject": "Test Message 1 - xJOK2h", "content": "Test Message 1\n\nThis is test message 1 content.\n\nBest regards,\nSender 1", "html": "
\n

Test Message 1

\n
", "received_at": 1745224245084 } } [/Code] ## 메시지 삭제 지정된 메시지를 삭제합니다. ### 요청 [Code (bash)] DELETE /api/emails/{emailId}/{messageId} [/Code] ### 요청 매개변수 매개변수명 | 타입 | 필수 | 설명 ---------- | ------ | ------ | ------ emailId | string | 예 | 이메일 ID (경로 매개변수) messageId | string | 예 | 메시지 ID (경로 매개변수) ### 요청 예시 [Code (bash)] curl -X DELETE "https://chat-tempmail.com/api/emails/76d91ae5-822a-4fdd-8701-9de038ec86d7/20e77445-b0c3-4e8b-aa29-762ea423ac15" \ -H "X-API-Key: YOUR_API_KEY" [/Code] ### 응답 매개변수 매개변수명 | 타입 | 설명 ---------- | ------ | ------ success | boolean | 삭제 성공 여부 ### 응답 예시 [Code (json)] { "success": true } [/Code] --- ## 웹훅 푸시 메시지 푸시 알림을 받기 위한 웹훅 구성 ## 웹훅 구성 가져오기 현재 웹훅 구성 정보를 가져옵니다. ### 요청 [Code (bash)] GET /api/webhook [/Code] ### 요청 예시 [Code (bash)] curl https://chat-tempmail.com/api/webhook \ -H "X-API-Key: YOUR_API_KEY" [/Code] ### 응답 매개변수 매개변수명 | 타입 | 설명 ---------- | ------ | ------ url | string | 웹훅 URL 주소 (빈 문자열일 수 있음) enabled | boolean | 웹훅 활성화 여부 ### 응답 예시 [Code (json)] { "url": "https://your-server.com/webhook", "enabled": true } [/Code] ## 웹훅 구성 웹훅 구성을 설정하거나 업데이트합니다. ### 요청 [Code (bash)] POST /api/webhook [/Code] ### 요청 매개변수 매개변수명 | 타입 | 필수 | 설명 ---------- | ------ | ------ | ------ url | string | 예 | 웹훅 URL 주소 (유효한 HTTP/HTTPS URL이어야 함) enabled | boolean | 예 | 웹훅 활성화 여부 ### 요청 예시 [Code (bash)] curl -X POST https://chat-tempmail.com/api/webhook \ -H "X-API-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "url": "https://your-server.com/webhook", "enabled": true }' [/Code] ### 응답 매개변수 매개변수명 | 타입 | 설명 ---------- | ------ | ------ success | boolean | 구성 성공 여부 ### 응답 예시 [Code (json)] { "success": true } [/Code] ## 웹훅 이벤트 설명 새 메시지가 도착하면 시스템이 구성된 URL로 POST 요청을 보냅니다. ### 수신 데이터 형식 요청 헤더: - Content-Type: application/json - X-Webhook-Event: new_message ### 웹훅 푸시 데이터 매개변수명 | 타입 | 설명 ---------- | ------ | ------ emailId | string | 메시지를 받은 이메일 ID (UUID 형식) messageId | string | 새 메시지의 ID (UUID 형식) fromAddress | string | 발신자 주소 subject | string | 메시지 제목 content | string | 메시지 일반 텍스트 내용 html | string | 메시지 HTML 내용 (비어있을 수 있음) receivedAt | string | 메시지 수신 시간 (ISO 8601 형식) toAddress | string | 메시지를 받은 이메일 주소 ### 푸시 데이터 예시 [Code (json)] { "emailId": "c2c4f894-c672-4d5b-a918-abca95aff1f7", "messageId": "fd13a8df-1465-4fbc-a612-ca7311c31ff2", "fromAddress": "sender@example.com", "subject": "테스트 메시지", "content": "메시지 일반 텍스트 내용", "html": "
메시지 HTML 내용
", "receivedAt": "2025-01-21T08:30:45.084Z", "toAddress": "test@chat-tempmail.com" } [/Code] ### 응답 요구사항 서버는 성공적인 수신을 나타내기 위해 2xx 상태 코드를 반환해야 합니다. 2xx 이외의 상태 코드가 반환되면 시스템이 재전송을 시도할 수 있습니다. 권장 응답: [Code (json)] HTTP/1.1 200 OK Content-Type: application/json { "received": true } [/Code] ### 주의 사항 - 웹훅 URL이 정상적으로 액세스 가능한지 확인하세요 - 서버 측에서 푸시 데이터의 무결성을 검증하는 것을 권장합니다 - 시스템은 메시지 도착 후 즉시 웹훅 푸시를 전송합니다 - 푸시가 실패할 경우 시스템이 재시도할 수 있으므로 인터페이스가 멱등성을 가지도록 해야 합니다 ---