🔐 인증
Public API는 OAuth2 Bearer 토큰을 사용한 인증을 지원합니다.인증 헤더
모든 API 요청에는Authorization
헤더에 Bearer 토큰을 포함해야 합니다:
📊 API 엔드포인트
1. 사용자 정보 조회
요청
응답
2. 챌린지 목록 조회
현재 날짜에 유효한 챌린지 목록을 조회합니다.요청
응답
3. 파일 업로드 URL 획득
파일 업로드를 위한 presigned URL을 획득합니다.요청
응답
4. 메시지 전송
presigned URL로 업로드한 파일과 함께 메시지를 챌린지에 전송합니다.요청
요청 파라미터
파라미터 | 타입 | 필수 | 설명 |
---|---|---|---|
challengeUuid | string | ✅ | 챌린지 UUID (URL 경로) |
message | string | ❌ | 메시지 내용 (선택사항) |
fileToken | string | ❌ | JWT로 서명된 파일 토큰 (선택사항) |
message
와 fileToken
중 하나는 반드시 제공해야 합니다. 둘 다 제공하거나, 텍스트만, 또는 파일만 제공할 수 있습니다.
응답
📁 파일 업로드 시나리오
파일 업로드는 2단계 프로세스로 진행됩니다:1단계: Presigned URL 획득
2단계: 파일 업로드
3단계: 메시지 전송
파일 업로드 플로우
- Presigned URL 요청: 클라이언트가 파일 업로드를 위한 presigned URL을 요청
- 파일 업로드: 클라이언트가 presigned URL을 사용하여 파일을 직접 스토리지에 업로드
- 메시지 전송: 파일 토큰과 함께 메시지를 챌린지에 전송 (또는 메시지만 전송)
- Discord 전송: 서버가 파일을 다운로드하여 Discord 스레드에 전송 (또는 텍스트만 전송)
📤 메시지 전송
업로드된 메시지는 Discord 스레드에 전송됩니다:- 이미지 포함 시: Discord API를 통해 이미지와 함께 메시지 전송
- 텍스트만 전송 시: Discord API를 통해 텍스트 메시지 전송
메시지 형식
Show Your Time 앱에서 올림 <@123456789> 오늘 운동 완료!
📞 지원
기술 지원
- 이메일: dev@checkable.app
- Discord: 체커블 개발자 커뮤니티