Join API
이메일 중복체크
HTTP Request
POST /api/v1/join/checkEmail HTTP/1.1
Content-Type: application/json
Content-Length: 37
Host: localhost:8080
{
"email" : "tkdrl8908@naver.com"
}
Request Fields
Path | Type | Optional | Description |
---|---|---|---|
|
|
중복체크 할 이메일 |
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 121
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : {
"email" : "tkdrl8908@naver.com"
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
중복 체크 된 이메일 |
회원가입
HTTP Request
POST /api/v1/join/user HTTP/1.1
Content-Type: application/json
Content-Length: 164
Host: localhost:8080
{
"email" : "tkdrl8908@naver.com",
"password" : "1234",
"termUserAgreement" : "AGREE",
"personalInfoAgreement" : "AGREE",
"marketingAgreement" : "AGREE"
}
Request Fields
Path | Type | Optional | Description |
---|---|---|---|
|
|
이메일 |
|
|
|
패스워드 |
|
|
|
이용약관 필수동의 여부[AGREE, DISAGREE] |
|
|
|
개인정보 동의여부[AGREE, DISAGREE] |
|
|
|
마케팅 수신여부[AGREE, DISAGREE] |
HTTP Response
HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 281
{
"statusCode" : 201,
"httpStatus" : "CREATED",
"message" : "CREATED",
"data" : {
"id" : 1,
"email" : "tkdrl8908@naver.com",
"snsType" : "NORMAL",
"termUserAgreement" : "AGREE",
"personalInfoAgreement" : "AGREE",
"marketingAgreement" : "AGREE"
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
id |
|
|
이메일 |
|
|
로그인타입. 가능한 값: [NORMAL, KAKAO, GOOGLE, APPLE] |
|
|
이용약관 필수동의 여부[AGREE, DISAGREE] |
|
|
개인정보 동의여부[AGREE, DISAGREE] |
|
|
마케팅 수신여부[AGREE, DISAGREE] |
Mail API
이메일 인증코드 전송
HTTP Request
POST /api/v1/mail/authUrl HTTP/1.1
Content-Type: application/json
Content-Length: 37
Host: localhost:8080
{
"email" : "tkdrl8908@naver.com"
}
Request Fields
Path | Type | Optional | Description |
---|---|---|---|
|
|
발송 할 이메일 |
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 118
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : {
"authKey" : "7MMfhzwplTsqvw"
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
인증키 |
이메일 임시비밀번호 전송
HTTP Request
POST /api/v1/mail/password HTTP/1.1
Content-Type: application/json
Content-Length: 37
Host: localhost:8080
{
"email" : "tkdrl8908@naver.com"
}
Request Fields
Path | Type | Optional | Description |
---|---|---|---|
|
|
전송 할 이메일 |
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 121
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : {
"email" : "tkdrl8908@naver.com"
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
발송성공한 이메일 |
confirmEmail API
이메일인증완료여부 체크 API
HTTP Request
POST /api/v1/confirmEmail/check HTTP/1.1
Content-Type: application/json
Content-Length: 61
Host: localhost:8080
{
"email" : "test@test.com",
"authKey" : "testtesttest"
}
Request Fields
Path | Type | Optional | Description |
---|---|---|---|
|
|
중복체크 할 이메일 |
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 115
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : {
"email" : "test@test.com"
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
인증완료 이메일 |
Login API
일반 로그인
HTTP Request
POST /api/v1/auth/login HTTP/1.1
Content-Type: application/json
Content-Length: 120
Host: localhost:8080
{
"email" : "tkdrl8908@naver.com",
"password" : "1234",
"deviceId" : "testdeviceId",
"pushKey" : "tessPushKey"
}
Request Fields
Path | Type | Optional | Description |
---|---|---|---|
|
|
이메일 |
|
|
|
비밀번호 |
|
|
|
디바이스ID |
|
|
|
푸시키 |
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 546
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : {
"email" : "tkdrl8908@naver.com",
"accessToken" : "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0a2RybDg5MDhAbmF2ZXIuY29tIiwiZXhwIjoxNjk3NzI1OTYzfQ.StpNeN7Mrcm9n3niSPU8ItRMBZqy__gS8AjRkqlIZ2dWtLaciMQF6EGPY4JaagoFkP-GfhUr8pMYfRewEZ-BYg",
"refreshToken" : "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0a2RybDg5MDhAbmF2ZXIuY29tIiwiZXhwIjoxNjk3NzY5MTYzfQ.DJwKVuZxw3zTK8RdnnwS45JM0V_3DJ0kpCDMaf3wnyv5GwLtwwKtVNhfeJmhcGYJZ3gvu534kAZGtAoZb_dgWw",
"settingStatus" : "INCOMPLETE"
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
이메일 |
|
|
Access-Token |
|
|
Refresh-Token |
|
|
미션 및 캐릭터 초기세팅여부. 가능한 값: [INCOMPLETE, COMPLETE] |
엑세스토큰 재발급
HTTP Request
POST /api/v1/auth/refresh HTTP/1.1
Content-Type: application/json
Content-Length: 261
Host: localhost:8080
{
"refreshToken" : "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0a2RybDg5MDhAbmF2ZXIuY29tIiwiZXhwIjoxNjk3NzY5MTYzfQ.DJwKVuZxw3zTK8RdnnwS45JM0V_3DJ0kpCDMaf3wnyv5GwLtwwKtVNhfeJmhcGYJZ3gvu534kAZGtAoZb_dgWw",
"email" : "tkdrl8908@naver.com",
"deviceId" : "testDeviceId"
}
Request Fields
Path | Type | Optional | Description |
---|---|---|---|
|
|
이메일 |
|
|
|
디바이스ID |
|
|
|
리플래시토큰 |
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 473
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : {
"accessToken" : "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0a2RybDg5MDhAbmF2ZXIuY29tIiwiZXhwIjoxNjk3NzI1OTYzfQ.StpNeN7Mrcm9n3niSPU8ItRMBZqy__gS8AjRkqlIZ2dWtLaciMQF6EGPY4JaagoFkP-GfhUr8pMYfRewEZ-BYg",
"refreshToken" : "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0a2RybDg5MDhAbmF2ZXIuY29tIiwiZXhwIjoxNjk3NzY5MTYzfQ.DJwKVuZxw3zTK8RdnnwS45JM0V_3DJ0kpCDMaf3wnyv5GwLtwwKtVNhfeJmhcGYJZ3gvu534kAZGtAoZb_dgWw"
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
Access-Token |
|
|
Refresh-Token |
OAuth 로그인
HTTP Request
POST /api/v1/auth/oauth/login HTTP/1.1
Content-Type: application/json
Content-Length: 151
Host: localhost:8080
{
"token" : "dagrjrtkfddsdasfheherhrfbgngmusduktregegwfwdwdwdwd",
"snsType" : "KAKAO",
"deviceId" : "testdeviceId",
"pushKey" : "tessPushKey"
}
Request Fields
Path | Type | Optional | Description |
---|---|---|---|
|
|
토큰값 |
|
|
|
인증타입 가능한 값: [NORMAL, KAKAO, GOOGLE, APPLE] |
|
|
|
디바이스ID |
|
|
|
푸시토큰 |
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 546
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : {
"email" : "tkdrl8908@naver.com",
"accessToken" : "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0a2RybDg5MDhAbmF2ZXIuY29tIiwiZXhwIjoxNjk3NzI1OTYzfQ.StpNeN7Mrcm9n3niSPU8ItRMBZqy__gS8AjRkqlIZ2dWtLaciMQF6EGPY4JaagoFkP-GfhUr8pMYfRewEZ-BYg",
"refreshToken" : "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0a2RybDg5MDhAbmF2ZXIuY29tIiwiZXhwIjoxNjk3NzY5MTYzfQ.DJwKVuZxw3zTK8RdnnwS45JM0V_3DJ0kpCDMaf3wnyv5GwLtwwKtVNhfeJmhcGYJZ3gvu534kAZGtAoZb_dgWw",
"settingStatus" : "INCOMPLETE"
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
이메일 |
|
|
Access-Token |
|
|
Refresh-Token |
|
|
미션 및 캐릭터 초기세팅여부. 가능한 값: [INCOMPLETE, COMPLETE] |
InitialSetting API
초기세팅 저장 API
HTTP Request
POST /api/v1/initialSetting HTTP/1.1
Content-Type: application/json
Content-Length: 470
Host: localhost:8080
{
"alertSetting" : {
"deviceId" : "testDeviceId",
"alertStatus" : "CHECKED"
},
"character" : {
"id" : 1,
"nickName" : "럭키즈!!"
},
"missions" : [ {
"luckkidsMissionId" : 1,
"missionType" : "HEALTH",
"missionDescription" : "1시에 운동하기",
"alertTime" : "00:00:00"
}, {
"luckkidsMissionId" : 2,
"missionType" : "HEALTH",
"missionDescription" : "2시에 운동하기",
"alertTime" : "00:00:00"
} ]
}
Request Fields
Path | Type | Optional | Description |
---|---|---|---|
|
|
알람설정 요청 데이터 |
|
|
|
디바이스ID |
|
|
|
알림상태. 가능한값: [CHECKED, UNCHECKED] |
|
|
|
캐릭터설정 요청 데이터 |
|
|
|
럭키즈 캐릭터 ID |
|
|
|
캐릭터 닉네임 |
|
|
|
설정미션 요청 데이터 |
|
|
|
럭키즈 대표 미션 ID (null일 때는 개인적으로 등록한 미션) |
|
|
|
미션타입. 가능한값: [HOUSEKEEPING, SELF_CARE, HEALTH, WORK, MINDSET, SELF_DEVELOPMENT] |
|
|
|
미션내용 |
|
|
|
알림시간 |
HTTP Response
HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 779
{
"statusCode" : 201,
"httpStatus" : "CREATED",
"message" : "CREATED",
"data" : {
"alertSetting" : {
"entire" : "CHECKED",
"mission" : "CHECKED",
"luck" : "CHECKED",
"friend" : "CHECKED",
"notice" : "CHECKED",
"luckMessageAlertTime" : "07:00:00"
},
"character" : {
"id" : 1,
"nickName" : "럭키즈!"
},
"missions" : [ {
"luckkidsMissionId" : 1,
"missionType" : "HEALTH",
"missionDescription" : "1시에 운동하기",
"alertStatus" : "CHECKED",
"alertTime" : "00:00:00"
}, {
"luckkidsMissionId" : 2,
"missionType" : "HEALTH",
"missionDescription" : "2시에 운동하기",
"alertStatus" : "CHECKED",
"alertTime" : "00:00:00"
} ]
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
알람설정 응답 데이터 |
|
|
전체알림. 가능한값: [CHECKED, UNCHECKED] |
|
|
미션알림. 가능한값: [CHECKED, UNCHECKED] |
|
|
행운알림. 가능한값: [CHECKED, UNCHECKED] |
|
|
친구알림. 가능한값: [CHECKED, UNCHECKED] |
|
|
공지사항알림. 가능한값: [CHECKED, UNCHECKED] |
|
|
행운의 한마디 알림시간 |
|
|
캐릭터설정 응답 데이터 |
|
|
캐릭터설정 ID |
|
|
캐릭터 닉네임 |
|
|
설정미션 응답 데이터 |
|
|
럭키즈 대표 미션 ID (null일 때는 개인적으로 등록한 미션) |
|
|
미션타입. 가능한값: [HOUSEKEEPING, SELF_CARE, HEALTH, WORK, MINDSET, SELF_DEVELOPMENT] |
|
|
미션내용 |
|
|
미션알림여부. 가능한값: [CHECKED, UNCHECKED] |
|
|
미션알림시간 |
초기 캐릭터 조회 API
HTTP Request
GET /api/v1/initialSetting/character HTTP/1.1
Content-Type: application/json
Host: localhost:8080
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 144
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : {
"id" : 1,
"characterType" : "SUN",
"level" : 1
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
럭키즈 캐릭터 ID |
|
|
럭키즈 캐릭터 타입, 가능한값: [CLOVER, CLOUD, STONE, RABBIT, SUN] |
|
|
럭키즈 캐릭터 레벨 |
럭키즈에서 미리 등록한 미션조회 API
HTTP Request
GET /api/v1/initialSetting/luckMission HTTP/1.1
Content-Type: application/json
Host: localhost:8080
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 364
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : [ {
"id" : 1,
"missionType" : "HEALTH",
"missionDescription" : "일찍일어나기",
"alertTime" : "01:00:00",
"sort" : 1
}, {
"id" : 2,
"missionType" : "MINDSET",
"missionDescription" : "책읽기",
"alertTime" : "02:00:00",
"sort" : 1
} ]
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
럭키즈 대표 미션 ID (null일 때는 개인적으로 등록한 미션) |
|
|
미션타입. 가능한값: [HOUSEKEEPING, SELF_CARE, HEALTH, WORK, MINDSET, SELF_DEVELOPMENT] |
|
|
미션내용 |
|
|
알림시간 |
|
|
정렬값 |
AlertSetting API
알림설정조회
HTTP Request
GET /api/v1/alertSetting?deviceId=testdeviceId HTTP/1.1
Host: localhost:8080
Request Query Parameters
Parameter | Optional | Description |
---|---|---|
deviceId |
디바이스 ID |
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 254
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : {
"entire" : "CHECKED",
"mission" : "CHECKED",
"luck" : "CHECKED",
"friend" : "CHECKED",
"notice" : "CHECKED",
"luckMessageAlertTime" : "07:00:00"
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
전체알람설정 |
|
|
미션알림설정 |
|
|
7시행운문구알림설정 |
|
|
친구 알림설정 |
|
|
공지사항 알림설정 |
|
|
행운의 한마디 알림시간 |
알림설정 수정
HTTP Request
PATCH /api/v1/alertSetting/update HTTP/1.1
Content-Type: application/json
Content-Length: 90
Host: localhost:8080
{
"alertType" : "ENTIRE",
"alertStatus" : "UNCHECKED",
"deviceId" : "testDeviceId"
}
Request Fields
Path | Type | Optional | Description |
---|---|---|---|
|
|
알림타입 가능한 값: [ENTIRE, MISSION, LUCK, FRIEND, NOTICE] |
|
|
|
알림여부[CHECKED, UNCHECKED] |
|
|
|
디바이스ID |
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 213
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : {
"entire" : "CHECKED",
"mission" : "CHECKED",
"luck" : "CHECKED",
"friend" : "CHECKED",
"notice" : "CHECKED"
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
전체알람설정: [CHECKED, UNCHECKED] |
|
|
미션알림설정: [CHECKED, UNCHECKED] |
|
|
7시행운문구알림설정: [CHECKED, UNCHECKED] |
|
|
친구 알림설정: [CHECKED, UNCHECKED] |
|
|
공지사항 알림설정: [CHECKED, UNCHECKED] |
|
|
공지사항 알림설정: [CHECKED, UNCHECKED] |
행운의 한마디 알림시간 수정
HTTP Request
PATCH /api/v1/alertSetting/luckMessageAlertTime/update HTTP/1.1
Content-Type: application/json
Content-Length: 72
Host: localhost:8080
{
"luckMessageAlertTime" : "08:00:00",
"deviceId" : "testDeviceId"
}
Request Fields
Path | Type | Optional | Description |
---|---|---|---|
|
|
행운의 한마디 알림시간 |
|
|
|
디바이스ID |
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 254
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : {
"entire" : "CHECKED",
"mission" : "CHECKED",
"luck" : "CHECKED",
"friend" : "CHECKED",
"notice" : "CHECKED",
"luckMessageAlertTime" : "08:00:00"
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
전체알람설정: [CHECKED, UNCHECKED] |
|
|
미션알림설정: [CHECKED, UNCHECKED] |
|
|
7시행운문구알림설정: [CHECKED, UNCHECKED] |
|
|
친구 알림설정: [CHECKED, UNCHECKED] |
|
|
공지사항 알림설정: [CHECKED, UNCHECKED] |
|
|
행운의 한마디 시간 |
Home API
홈/메인
HTTP Request
GET /api/v1/home/main HTTP/1.1
Content-Type: application/json
Host: localhost:8080
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1174
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : {
"luckkidsAchievementRate" : 0.75,
"userCharacterSummaryResponse" : {
"inProgressCharacter" : {
"characterType" : "CLOVER",
"level" : 1,
"characterProgressStatus" : "IN_PROGRESS"
},
"completedCharacterCount" : {
"RABBIT" : 0,
"SUN" : 5,
"CLOVER" : 2,
"STONE" : 1,
"CLOUD" : 0
}
},
"missionOutcomeForWeekResponse" : {
"startDate" : "2024-02-24",
"endDate" : "2024-03-01",
"calendar" : [ {
"missionDate" : "2024-02-24",
"hasSucceed" : true
}, {
"missionDate" : "2024-02-25",
"hasSucceed" : true
}, {
"missionDate" : "2024-02-26",
"hasSucceed" : false
}, {
"missionDate" : "2024-02-27",
"hasSucceed" : true
}, {
"missionDate" : "2024-02-28",
"hasSucceed" : true
}, {
"missionDate" : "2024-02-29",
"hasSucceed" : false
}, {
"missionDate" : "2024-03-01",
"hasSucceed" : false
} ]
},
"hasUncheckedAlerts" : true
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
럭키즈 달성률 |
|
|
캐릭터들 요약 정보 |
|
|
진행 중인 캐릭터 정보 |
|
|
캐릭터 타입, 가능한값: [CLOVER, CLOUD, STONE, RABBIT, SUN] |
|
|
캐릭터 레벨 |
|
|
캐릭터 진행 상태 |
|
|
완료한 캐릭터들 수 |
|
|
완료한 캐릭터의 수. 키는 캐릭터 타입을 나타내며, 값은 완료된 캐릭터 수. |
|
|
토끼 캐릭터를 완료한 횟수 |
|
|
클로버 캐릭터를 완료한 횟수 |
|
|
돌 캐릭터를 완료한 횟수 |
|
|
구름 캐릭터를 완료한 횟수 |
|
|
태양 캐릭터를 완료한 횟수 |
|
|
주간 미션 결과 |
|
|
시작 날짜 |
|
|
종료 날짜 |
|
|
미션 날짜 |
|
|
미션 성공 여부 |
|
|
읽지 않은 알림이 있는지 여부 (읽지 않은 알림이 있으면 true, 없으면 false) |
홈/프로필 행운문구 수정
HTTP Request
PATCH /api/v1/user/phrase HTTP/1.1
Content-Type: application/json
Content-Length: 40
Host: localhost:8080
{
"luckPhrase" : "행운입니다.!"
}
Request Fields
Path | Type | Optional | Description |
---|---|---|---|
|
|
행운문구 |
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 124
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : {
"luckPhrase" : "행운입니다.!"
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
행운문구 |
홈/프로필 닉네임 수정
HTTP Request
PATCH /api/v1/user/nickname HTTP/1.1
Content-Type: application/json
Content-Length: 30
Host: localhost:8080
{
"nickname" : "테스트"
}
Request Fields
Path | Type | Optional | Description |
---|---|---|---|
|
|
닉네임 |
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 114
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : {
"nickname" : "테스트"
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
닉네임 |
홈/캘린더
HTTP Request
GET /api/v1/home/calendar HTTP/1.1
Content-Type: application/json
Host: localhost:8080
Request Query Parameters
Parameter | Optional | Description |
---|---|---|
missionDate |
O |
미션 검색 날짜. 기본 값: now() |
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 452
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : {
"startDate" : "2023-11-01",
"endDate" : "2023-12-31",
"calendar" : [ {
"missionDate" : "2024-11-01",
"hasSucceed" : true
}, {
"missionDate" : "2024-11-02",
"hasSucceed" : true
}, {
"missionDate" : "2024-11-03",
"hasSucceed" : false
}, {
"missionDate" : "2024-11-04",
"hasSucceed" : true
} ]
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
날짜 범위(시작) |
|
|
날짜 범위(끝) |
|
|
알림 여부 |
|
|
미션 날짜 |
|
|
미션 성공 여부 |
홈/캘린더 세부
HTTP Request
GET /api/v1/home/calendar/2023-12-26 HTTP/1.1
Content-Type: application/json
Host: localhost:8080
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 248
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : [ {
"missionType" : "HEALTH",
"missionDescription" : "운동하기"
}, {
"missionType" : "SELF_DEVELOPMENT",
"missionDescription" : "책 읽기"
} ]
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
미션 내용들 |
|
|
미션 타입 |
|
|
미션 내용 |
홈/알림 조회
HTTP Request
GET /api/v1/alertHistories?page=1&size=12 HTTP/1.1
Host: localhost:8080
Request Query Parameters
Parameter | Optional | Description |
---|---|---|
page |
O |
페이지. 기본값: 1 |
size |
O |
페이지 사이즈. 기본값: 12 |
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 924
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : {
"content" : [ {
"id" : 1,
"alertDescription" : "알림 내역1",
"alertHistoryStatus" : "UNCHECKED",
"alertDestinationType" : "MISSION",
"alertDestinationInfo" : "NULL",
"createdDate" : "2024-02-29T16:00:00"
}, {
"id" : 2,
"alertDescription" : "알림 내역2",
"alertHistoryStatus" : "CHECKED",
"alertDestinationType" : "FRIEND",
"alertDestinationInfo" : "1",
"createdDate" : "2024-03-01T12:00:00"
}, {
"id" : 3,
"alertDescription" : "알림 내역3",
"alertHistoryStatus" : "CHECKED",
"alertDestinationType" : "WEBVIEW",
"alertDestinationInfo" : "https://www.naver.com/",
"createdDate" : "2024-03-01T12:00:00"
} ],
"pageInfo" : {
"currentPage" : 1,
"totalPage" : 1,
"totalElement" : 2
}
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
데이터 리스트 |
|
|
알림 내역 ID |
|
|
알림 내역 내용 |
|
|
알림 내역 읽음 상태 |
|
|
알림 이동 목적지 타입 |
|
|
알림 이동 목적지 정보 (String 또는 null 가능) |
|
|
알림 내역 등록일 |
|
|
페이지 정보 |
|
|
현재 페이지 |
|
|
총 페이지 |
|
|
총 개수 |
홈/알림 읽음
수정
HTTP Request
PATCH /api/v1/alertHistories/1 HTTP/1.1
Host: localhost:8080
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 122
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : {
"alertHistoryStatus" : "CHECKED"
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
알림 내역 읽음 상태 |
Mission API
미션 등록
HTTP Request
POST /api/v1/missions/new HTTP/1.1
Content-Type: application/json
Content-Length: 155
Host: localhost:8080
{
"luckkidsMissionId" : 1,
"missionType" : "HEALTH",
"missionDescription" : "운동하기",
"alertStatus" : "CHECKED",
"alertTime" : "18:30:00"
}
Request Fields
Path | Type | Optional | Description |
---|---|---|---|
|
|
O |
럭키즈 대표 미션 ID (null일 때는 개인 미션 등록) |
|
|
미션 종류. 가능한 값: [HOUSEKEEPING, SELF_CARE, HEALTH, WORK, MINDSET, SELF_DEVELOPMENT] |
|
|
|
미션 내용 |
|
|
|
알람 여부. 가능한 값: [CHECKED, UNCHECKED] |
|
|
|
알람 시간 |
HTTP Response
HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 353
{
"statusCode" : 201,
"httpStatus" : "CREATED",
"message" : "CREATED",
"data" : {
"id" : 1,
"luckkidsMissionId" : 1,
"missionType" : "HEALTH",
"missionDescription" : "운동하기",
"missionActive" : "TRUE",
"alertStatus" : "CHECKED",
"alertTime" : "18:00:00",
"createdDate" : "2025-05-25T07:06:23.55597417"
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
미션 ID |
|
|
럭키즈 대표 미션 ID (null일 때는 개인적으로 등록한 미션) |
|
|
미션 타입 |
|
|
미션 활성화 여부 |
|
|
미션 내용 |
|
|
알림 여부 |
|
|
알림 시간 |
|
|
생성일 |
미션 조회
HTTP Request
GET /api/v1/missions HTTP/1.1
Host: localhost:8080
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1996
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : {
"userMissions" : {
"SELF_DEVELOPMENT" : [ {
"id" : 3,
"luckkidsMissionId" : 4,
"missionType" : "SELF_DEVELOPMENT",
"missionDescription" : "공부하기",
"missionActive" : "FALSE",
"alertStatus" : "CHECKED",
"alertTime" : "21:00:00",
"createdDate" : "2025-05-25T07:06:23.605862958"
}, {
"id" : 4,
"luckkidsMissionId" : 6,
"missionType" : "SELF_DEVELOPMENT",
"missionDescription" : "책 읽기",
"missionActive" : "TRUE",
"alertStatus" : "UNCHECKED",
"alertTime" : "22:00:00",
"createdDate" : "2025-05-25T07:06:23.605867036"
} ],
"SELF_CARE" : [ ],
"MINDSET" : [ ],
"WORK" : [ ],
"HEALTH" : [ {
"id" : 1,
"luckkidsMissionId" : 1,
"missionType" : "HEALTH",
"missionDescription" : "운동하기",
"missionActive" : "TRUE",
"alertStatus" : "CHECKED",
"alertTime" : "18:00:00",
"createdDate" : "2025-05-25T07:06:23.605823645"
}, {
"id" : 2,
"luckkidsMissionId" : 3,
"missionType" : "HEALTH",
"missionDescription" : "물 마시기",
"missionActive" : "TRUE",
"alertStatus" : "UNCHECKED",
"alertTime" : "20:00:00",
"createdDate" : "2025-05-25T07:06:23.605834686"
} ],
"HOUSEKEEPING" : [ ]
},
"luckkidsMissions" : {
"SELF_DEVELOPMENT" : [ ],
"SELF_CARE" : [ ],
"MINDSET" : [ ],
"WORK" : [ {
"luckkidsMissionId" : 5,
"missionType" : "WORK",
"missionDescription" : "일 열심히 하기",
"alertTime" : "13:00:00"
} ],
"HEALTH" : [ {
"luckkidsMissionId" : 2,
"missionType" : "HEALTH",
"missionDescription" : "요가하기",
"alertTime" : "18:00:00"
} ],
"HOUSEKEEPING" : [ ]
}
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
유저의 건강 관련 미션 |
|
|
유저의 셀프케어 관련 미션 |
|
|
유저의 집 정돈 관련 미션 |
|
|
유저의 마인드셋 관련 미션 |
|
|
유저의 일 관련 미션 |
|
|
유저의 자기 계발 관련 미션 |
|
|
선택하지 않은 럭키즈 대표 건강 관련 미션 |
|
|
선택하지 않은 럭키즈 대표 셀프케어 관련 미션 |
|
|
선택하지 않은 럭키즈 대표 집 정돈 관련 미션 |
|
|
선택하지 않은 럭키즈 대표 마인드셋 관련 미션 |
|
|
선택하지 않은 럭키즈 대표 일 관련 미션 |
|
|
선택하지 않은 럭키즈 대표 자기 계발 관련 미션 |
|
|
미션 ID |
|
|
럭키즈 대표 미션 ID (null일 때는 개인적으로 등록한 미션) |
|
|
미션 타입 |
|
|
미션 활성화 여부 |
|
|
미션 내용 |
|
|
알림 여부 |
|
|
알림 시간 |
|
|
생성일 |
|
|
미션 ID |
|
|
럭키즈 대표 미션 ID (null일 때는 개인적으로 등록한 미션) |
|
|
미션 타입 |
|
|
미션 활성화 여부 |
|
|
미션 내용 |
|
|
알림 여부 |
|
|
알림 시간 |
|
|
생성일 |
|
|
럭키즈 대표 미션 ID |
|
|
미션 타입 |
|
|
럭키즈 대표 미션 내용 |
|
|
럭키즈 대표 미션 알림 시간 |
|
|
럭키즈 대표 미션 ID |
|
|
미션 타입 |
|
|
럭키즈 대표 미션 내용 |
|
|
럭키즈 대표 미션 알림 시간 |
미션 수정
HTTP Request
PATCH /api/v1/missions/1 HTTP/1.1
Content-Type: application/json
Content-Length: 157
Host: localhost:8080
{
"missionType" : "HEALTH",
"missionDescription" : "운동하기",
"missionActive" : "FALSE",
"alertStatus" : "CHECKED",
"alertTime" : "18:30:00"
}
Request Fields
Path | Type | Optional | Description |
---|---|---|---|
|
|
O |
미션 종류. 가능한 값: [HOUSEKEEPING, SELF_CARE, HEALTH, WORK, MINDSET, SELF_DEVELOPMENT] |
|
|
O |
미션 내용 |
|
|
O |
미션 활성화 여부. 가능한 값: [TRUE, FALSE] |
|
|
O |
알람 여부. 가능한 값: [CHECKED, UNCHECKED] |
|
|
O |
알람 시간 |
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 344
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : {
"id" : 1,
"luckkidsMissionId" : 1,
"missionType" : "HEALTH",
"missionDescription" : "운동하기",
"missionActive" : "FALSE",
"alertStatus" : "CHECKED",
"alertTime" : "18:00:00",
"createdDate" : "2025-05-25T07:06:23.57549175"
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
미션 ID |
|
|
럭키즈 대표 미션 ID (null일 때는 개인적으로 등록한 미션) |
|
|
미션 타입 |
|
|
미션 활성화 여부 |
|
|
미션 내용 |
|
|
알림 여부 |
|
|
알림 시간 |
|
|
생성일 |
미션 삭제
HTTP Request
DELETE /api/v1/missions/1 HTTP/1.1
Host: localhost:8080
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 105
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : {
"missionId" : 1
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
미션 ID |
MissionOutcome API
미션결과 조회
HTTP Request
GET /api/v1/missionOutcomes HTTP/1.1
Host: localhost:8080
Request Query Parameters
Parameter | Optional | Description |
---|---|---|
missionStatus |
O |
미션 성공 여부. 가능한 값: [SUCCEED, FAILED] |
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 464
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : [ {
"id" : 1,
"missionType" : "HEALTH",
"missionDescription" : "운동하기",
"alertStatus" : "UNCHECKED",
"alertTime" : "19:00:00",
"missionStatus" : "SUCCEED"
}, {
"id" : 2,
"missionType" : "SELF_DEVELOPMENT",
"missionDescription" : "책읽기",
"alertStatus" : "CHECKED",
"alertTime" : "20:00:00",
"missionStatus" : "FAILED"
} ]
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
미션결과 ID |
|
|
미션결과 미션타입 |
|
|
미션결과 내용 |
|
|
알림 시간 |
|
|
알림 상태 |
|
|
미션 성공 여부 |
누적된 수행 미션결과
HTTP Request
GET /api/v1/missionOutcomes/count HTTP/1.1
Host: localhost:8080
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 101
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : {
"count" : 2
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
누적된 수행 미션 |
미션결과 수정 레벨업_O
HTTP Request
PATCH /api/v1/missionOutcomes/1 HTTP/1.1
Content-Type: application/json
Content-Length: 33
Host: localhost:8080
{
"missionStatus" : "SUCCEED"
}
Request Path Parameters
/api/v1/missionOutcomes/{missionOutcomeId}
Parameter | Description |
---|---|
|
미션결과 ID |
Request Fields
Path | Type | Optional | Description |
---|---|---|---|
|
|
미션 성공 여부. 가능한 값: [SUCCEED, FAILED] |
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 161
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : {
"levelUpResult" : true,
"characterType" : "CLOVER",
"level" : 2
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
레벨업 여부 |
|
|
럭키즈 캐릭터 타입, 가능한값: [CLOVER, CLOUD, STONE, RABBIT, SUN] |
|
|
캐릭터 레벨 |
미션결과 수정 레벨업_X
HTTP Request
PATCH /api/v1/missionOutcomes/1 HTTP/1.1
Content-Type: application/json
Content-Length: 33
Host: localhost:8080
{
"missionStatus" : "SUCCEED"
}
Request Path Parameters
/api/v1/missionOutcomes/{missionOutcomeId}
Parameter | Description |
---|---|
|
미션결과 ID |
Request Fields
Path | Type | Optional | Description |
---|---|---|---|
|
|
미션 성공 여부. 가능한 값: [SUCCEED, FAILED] |
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 158
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : {
"levelUpResult" : false,
"characterType" : null,
"level" : 0
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
레벨업 여부 |
|
|
캐릭터 타입, 가능한값: [CLOVER, CLOUD, STONE, RABBIT, SUN] |
|
|
캐릭터 레벨 |
Garden API
가든/앨범,랭킹 리스트 조회
HTTP Request
GET /api/v1/garden/list?page=1&size=12 HTTP/1.1
Host: localhost:8080
Request Query Parameters
Parameter | Optional | Description |
---|---|---|
page |
O |
페이지. 기본값: 1 |
size |
O |
페이지 사이즈. 기본값: 12 |
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1052
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : {
"myProfile" : {
"myId" : 1,
"nickname" : "럭키즈",
"luckPhrase" : "행운문구",
"characterType" : "CLOVER",
"level" : 1,
"characterCount" : 0
},
"friendList" : {
"content" : [ {
"friendId" : 2,
"nickname" : "럭키즈 친구 2",
"luckPhrase" : "행운 문구 2",
"characterType" : "CLOVER",
"level" : 1,
"characterCount" : 1
}, {
"friendId" : 3,
"nickname" : "럭키즈 친구 3",
"luckPhrase" : "행운 문구 3",
"characterType" : "RABBIT",
"level" : 4,
"characterCount" : 0
}, {
"friendId" : 4,
"nickname" : "럭키즈 친구 4",
"luckPhrase" : "행운 문구 4",
"characterType" : "SUN",
"level" : 1,
"characterCount" : 0
} ],
"pageInfo" : {
"currentPage" : 1,
"totalPage" : 1,
"totalElement" : 10
}
}
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
내 프로필 정보 |
|
|
내 ID |
|
|
내 닉네임 |
|
|
내 행운 문구 |
|
|
내 캐릭터 타입, 가능한값: [CLOVER, CLOUD, STONE, RABBIT, SUN] |
|
|
내 캐릭터 레벨 |
|
|
내 캐릭터 개수 |
|
|
친구 목록 |
|
|
친구 프로필 리스트 |
|
|
친구 ID |
|
|
친구 닉네임 |
|
|
친구의 행운 문구 |
|
|
친구의 캐릭터 타입, 가능한값: [CLOVER, CLOUD, STONE, RABBIT, SUN] |
|
|
친구의 캐릭터 레벨 |
|
|
친구의 캐릭터 개수 |
|
|
페이징 정보 |
|
|
현재 페이지 |
|
|
총 페이지 수 |
|
|
총 요소 개수 |
가든/리그 조회
HTTP Request
GET /api/v1/garden/league HTTP/1.1
Host: localhost:8080
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 416
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : [ {
"nickname" : "테스트1",
"characterType" : "CLOVER",
"level" : 1,
"characterCount" : 3
}, {
"nickname" : "테스트4",
"characterType" : "CLOUD",
"level" : 3,
"characterCount" : 3
}, {
"nickname" : "테스트2",
"characterType" : "STONE",
"level" : 2,
"characterCount" : 2
} ]
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
닉네임 (null 가능) |
|
|
캐릭터 타입, 가능한값: [CLOVER, CLOUD, STONE, RABBIT, SUN] |
|
|
캐릭터 레벨 |
|
|
캐릭터 수 |
친구 삭제
HTTP Request
DELETE /api/v1/garden/1 HTTP/1.1
Host: localhost:8080
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 104
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : {
"friendId" : 1
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
삭제한 친구 ID |
FriendCode API
친구코드 생성
HTTP Request
GET /api/v1/friendcode HTTP/1.1
Host: localhost:8080
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 109
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : {
"code" : "ACSDSWEE"
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
친구 코드 |
친구코드로 친구 닉네임 조회
HTTP Request
GET /api/v1/friendcode/ASDSDWEE/nickname HTTP/1.1
Host: localhost:8080
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 149
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : {
"nickName" : "테스트 닉네임",
"status" : "FRIEND"
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
요청자 닉네임 |
|
|
친구 상태값 가능한 값:[ME, ALREADY, FRIEND] |
친구코드로 친구추가
HTTP Request
POST /api/v1/friendcode/create HTTP/1.1
Content-Type: application/json
Content-Length: 25
Host: localhost:8080
{
"code" : "ASDSDWEE"
}
Request Fields
Path | Type | Optional | Description |
---|---|---|---|
|
|
친구코드 |
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 155
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : {
"requester" : "ghmin@test.com",
"receiver" : "skhan@test.com"
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
초대 받은 친구 |
|
|
초대한 친구 |
친구코드로 친구 닉네임 조회
HTTP Request
POST /api/v1/friendcode/ASDSDWEE/refuse HTTP/1.1
Host: localhost:8080
Content-Type: application/x-www-form-urlencoded
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 109
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : {
"code" : "ASDSDWEE"
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
거절한 친구코드 |
Notice API
공지사항 목록 API
HTTP Request
GET /api/v1/notices HTTP/1.1
Content-Type: application/json
Host: localhost:8080
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 368
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : [ {
"id" : 1,
"title" : "공지사항 타이틀1",
"url" : "www.naver.com",
"createdDate" : "2025-05-25T07:06:23.710807123"
}, {
"id" : 2,
"title" : "공지사항 타이틀2",
"url" : "www.naver.com",
"createdDate" : "2025-05-25T07:06:23.710813215"
} ]
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
공지사항 ID |
|
|
공지사항 제목 |
|
|
공지사항 url |
|
|
공지사항 생성시간 |
공지사항 저장 API (추후 공지사항 등록할 때 따로 사용)
HTTP Request
POST /api/v1/notices/new HTTP/1.1
Content-Type: application/json
Content-Length: 63
Host: localhost:8080
{
"title" : "공지사항 제목",
"url" : "www.test.com"
}
Request Fields
Path | Type | Optional | Description |
---|---|---|---|
|
|
공지사항 제목 |
|
|
|
공지사항 url |
HTTP Response
HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 230
{
"statusCode" : 201,
"httpStatus" : "CREATED",
"message" : "CREATED",
"data" : {
"id" : 1,
"title" : "공지사항 타이틀",
"url" : "www.naver.com",
"createdDate" : "2025-05-25T07:06:23.721071091"
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
공지사항 ID |
|
|
공지사항 제목 |
|
|
공지사항 url |
|
|
공지사항 생성시간 |
Version API
버전조회 API
HTTP Request
GET /api/v1/versions/ HTTP/1.1
Content-Type: application/json
Host: localhost:8080
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 126
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : {
"id" : 1,
"versionNum" : "1.1.2"
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
버전 ID |
|
|
버전 |
버전 저장 API (추후 버전 등록할 때 따로 사용)
HTTP Request
POST /api/v1/versions HTTP/1.1
Content-Type: application/json
Content-Length: 54
Host: localhost:8080
{
"versionNum" : "1.1.2",
"url" : "www.test.com"
}
Request Fields
Path | Type | Optional | Description |
---|---|---|---|
|
|
최신버전 |
|
|
|
최신버전 소개 URL |
HTTP Response
HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 136
{
"statusCode" : 201,
"httpStatus" : "CREATED",
"message" : "CREATED",
"data" : {
"id" : 1,
"versionNum" : "1.1.2"
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
버전 ID |
|
|
버전 |
User API
로그인한 사용자 정보 조회 API
HTTP Request
GET /api/v1/user/me HTTP/1.1
Host: localhost:8080
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 390
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : {
"email" : "test@gmail.com",
"nickname" : "test",
"snsType" : "GOOGLE",
"luckPhrase" : "테스트 행운문구입니다.",
"role" : "USER",
"settingStatus" : "COMPLETE",
"missionCount" : 0,
"inProgressCharacter" : {
"characterType" : "CLOVER",
"level" : 1
}
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
이메일 |
|
|
닉네임 |
|
|
SNS 타입 |
|
|
행운문구 |
|
|
역할 |
|
|
초기세팅상태 |
|
|
미션성공갯수 |
|
|
진행중인 캐릭터 타입 |
|
|
진행중인 캐릭터 레벨 |
사용자 정보 조회 API
HTTP Request
GET /api/v1/user/1 HTTP/1.1
Host: localhost:8080
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 390
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : {
"email" : "test@gmail.com",
"nickname" : "test",
"snsType" : "GOOGLE",
"luckPhrase" : "테스트 행운문구입니다.",
"role" : "USER",
"settingStatus" : "COMPLETE",
"missionCount" : 0,
"inProgressCharacter" : {
"characterType" : "CLOVER",
"level" : 1
}
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
이메일 |
|
|
닉네임 |
|
|
SNS 타입 |
|
|
행운문구 |
|
|
역할 |
|
|
초기세팅상태 |
|
|
미션성공갯수 |
|
|
진행중인 캐릭터 타입 |
|
|
진행중인 캐릭터 레벨 |
사용자 프로필 행운문구 수정 API
HTTP Request
PATCH /api/v1/user/phrase HTTP/1.1
Content-Type: application/json
Content-Length: 40
Host: localhost:8080
{
"luckPhrase" : "행운입니다.!"
}
Request Fields
Path | Type | Optional | Description |
---|---|---|---|
|
|
행운문구 |
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 124
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : {
"luckPhrase" : "행운입니다.!"
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
행운문구 |
비밀번호 재설정
HTTP Request
PATCH /api/v1/user/password/ HTTP/1.1
Content-Type: application/json
Content-Length: 55
Host: localhost:8080
{
"email" : "test@email.com",
"password" : "1234"
}
Request Fields
Path | Type | Optional | Description |
---|---|---|---|
|
|
이메일 |
|
|
|
비밀번호 |
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 116
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : {
"email" : "test@email.com"
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
이메일 |
비밀번호 재설정 전 이메일 가입형식 조회 (존재X 시 에러발생)
HTTP Request
GET /api/v1/user/findEmail?email=test%40email.com HTTP/1.1
Host: localhost:8080
Request Query Parameters
Parameter | Optional | Description |
---|---|---|
deviceId |
디바이스 ID |
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 110
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : {
"snsType" : "NORMAL"
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
가입한 SNS형식. 가능한 값: [NORMAL, KAKAO, GOOGLE, APPLE] |
회원탈퇴 API
HTTP Request
DELETE /api/v1/user/withdraw HTTP/1.1
Content-Type: application/json
Host: localhost:8080
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 99
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : {
"id" : 12
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
탈퇴완료된 id |
WithdrawReason API
탈퇴사유 등록 API
HTTP Request
POST /api/v1/withdraw/reason HTTP/1.1
Content-Type: application/json
Content-Length: 52
Host: localhost:8080
{
"reason" : "앱을 잘 사용하지 않아요"
}
Request Fields
Path | Type | Optional | Description |
---|---|---|---|
|
|
탈퇴 사유 |
HTTP Response
HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 109
{
"statusCode" : 201,
"httpStatus" : "CREATED",
"message" : "CREATED",
"data" : {
"id" : 13
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
등록성공한 탈퇴사유 ID |
LuckkidsMission API
럭키즈 미션 등록 API
HTTP Request
POST /api/v1/luckkidsMission HTTP/1.1
Content-Type: application/json
Content-Length: 308
Host: localhost:8080
{
"missions" : [ {
"missionType" : "HEALTH",
"missionDescription" : "아침 일찍 일어나기",
"alertTime" : "01:00:00",
"sort" : 1
}, {
"missionType" : "HOUSEKEEPING",
"missionDescription" : "아침에 청소기 돌리기",
"alertTime" : "01:00:00",
"sort" : 1
} ]
}
Request Fields
Path | Type | Optional | Description |
---|---|---|---|
|
|
미션 목록 |
|
|
|
미션 종류. 가능한 값: [HOUSEKEEPING, SELF_CARE, HEALTH, WORK, MINDSET, SELF_DEVELOPMENT] |
|
|
|
미션명 |
|
|
|
알림시간 |
|
|
|
정렬값 |
HTTP Response
HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 454
{
"statusCode" : 201,
"httpStatus" : "CREATED",
"message" : "CREATED",
"data" : {
"missions" : [ {
"id" : 1,
"missionType" : "HEALTH",
"missionDescription" : "아침 일찍 일어나기",
"alertTime" : "01:00:00",
"sort" : 1
}, {
"id" : 1,
"missionType" : "HOUSEKEEPING",
"missionDescription" : "아침에 청소기 돌리기",
"alertTime" : "01:00:00",
"sort" : 1
} ]
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
미션 목록 |
|
|
ID |
|
|
미션 종류. 가능한 값: [HOUSEKEEPING, SELF_CARE, HEALTH, WORK, MINDSET, SELF_DEVELOPMENT] |
|
|
미션명 |
|
|
알림시간 |
|
|
정렬값 |
LuckMessageHistory API
오늘의 행운의 한마디 조회 API
HTTP Request
GET /api/v1/luckMessageHistory?deviceId=testdeviceId HTTP/1.1
Host: localhost:8080
Unresolved directive in api/luckMessageHistory/luckMessageHistory.adoc - include::/home/runner/work/luckkids-server/luckkids-server/build/generated-snippets/luckMessageHistory-findOne/request-fields.adoc[]
HTTP Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 144
{
"statusCode" : 200,
"httpStatus" : "OK",
"message" : "OK",
"data" : {
"messageDescription" : "테스트 오늘의 한마디"
}
}
Path | Type | Description |
---|---|---|
|
|
코드 |
|
|
상태 |
|
|
메세지 |
|
|
응답 데이터 |
|
|
오늘의 행운 한마디 |