Auth
회원 가입
HTTP request
POST /auth/signup HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 101
Host: MY-TAMIN-URL
{
"email" : "mytamin@naver.com",
"password" : "password1234",
"nickname" : "강철멘탈"
}
HTTP response
HTTP/1.1 201 Created
Content-Type: application/json;charset=UTF-8
Content-Length: 283
{
"statusCode" : 201,
"message" : "회원 가입",
"data" : {
"email" : "mytamin@naver.com",
"nickname" : "강철멘탈",
"profileImgUrl" : null,
"beMyMessage" : "마음 면역력이 높아질",
"mytaminHour" : null,
"mytaminMin" : null
}
}
Request fields
Path | Type | Description |
---|---|---|
|
|
*이메일 |
|
|
*비밀번호 (8 ~ 30자) |
|
|
*닉네임 (1 ~ 9자) |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
|
|
이메일 |
|
|
닉네임 |
|
|
프로필 이미지 URL (default : null) |
|
|
'되고싶은 내 모습' 메세지 (default : "마음 면역력이 높아질") |
|
|
마이타민 섭취 지정 시간 HH (24시간) (default : null) |
|
|
마이타민 섭취 지정 시간 MM (default : null) |
Exception response
-
EMAIL_PATTERN_ERROR : 이메일 형식이 정해진 패턴("^(.[_a-z0-9-])*@(?:\w+\.)\w$") 과 다를 경우
-
PASSWORD_PATTERN_ERROR : 비밀번호가 정해진 패턴("^(?=.*[0-9])(?=.*[A-Za-z]).{8,30}$") 과 다를 경우
HTTP/1.1 400 Bad Request
Content-Type: application/json;charset=UTF-8
Content-Length: 147
{
"statusCode" : 400,
"errorCode" : 2000,
"errorName" : "EMAIL_PATTERN_ERROR",
"message" : "잘못된 형식의 이메일입니다."
}
HTTP/1.1 400 Bad Request
Content-Type: application/json;charset=UTF-8
Content-Length: 184
{
"statusCode" : 400,
"errorCode" : 2001,
"errorName" : "PASSWORD_PATTERN_ERROR",
"message" : "비밀번호는 영문, 숫자를 포함한 8 ~ 30자리여야 합니다."
}
HTTP/1.1 409 Conflict
Content-Type: application/json;charset=UTF-8
Content-Length: 146
{
"statusCode" : 409,
"errorCode" : 2002,
"errorName" : "USER_ALREADY_EXIST_ERROR",
"message" : "이미 가입된 유저입니다."
}
기본 로그인
-
로그인 성공 시 accessToken과 refreshToken을 발급한다.
HTTP request
POST /auth/default/login HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 69
Host: MY-TAMIN-URL
{
"email" : "mytamin@naver.com",
"password" : "password1234"
}
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 164
{
"statusCode" : 200,
"message" : "기본 로그인",
"data" : {
"accessToken" : "{{ACCESS_TOKEN}}",
"refreshToken" : "{{REFRESH_TOKEN}}"
}
}
Request fields
Path | Type | Description |
---|---|---|
|
|
*이메일 |
|
|
*비밀번호 (8 ~ 30자) |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
|
|
액세스 토큰 (유효 기간 : 30일) |
|
|
리프레쉬 토큰 (유효 기간 : 180일) |
Exception response
HTTP/1.1 404 Not Found
Content-Type: application/json;charset=UTF-8
Content-Length: 145
{
"statusCode" : 404,
"errorCode" : 3000,
"errorName" : "USER_NOT_FOUND_ERROR",
"message" : "존재하지 않는 유저입니다."
}
HTTP/1.1 400 Bad Request
Content-Type: application/json;charset=UTF-8
Content-Length: 144
{
"statusCode" : 400,
"errorCode" : 3001,
"errorName" : "PASSWORD_MISMATCH_ERROR",
"message" : "잘못된 비밀번호입니다."
}
이메일 중복 체크
-
중복된 이메일이 존재할 경우 true, 존재하지 않을 경우 false를 리턴한다.
HTTP request
GET /auth/check/email/mytamin@naver.com HTTP/1.1
Content-Type: application/json;charset=UTF-8
Host: MY-TAMIN-URL
HTTP response
HTTP/1.1 200 OK
Content-Disposition: inline;filename=f.txt
Content-Type: application/json;charset=UTF-8
Content-Length: 86
{
"statusCode" : 200,
"message" : "이메일 중복 체크",
"data" : true
}
Path parameters
Parameter | Description |
---|---|
|
*이메일 |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
|
|
이메일 중복 여부 |
닉네임 중복 체크
-
#TIP '닉네임 중복' 조건을 더이상 체크하지 않기 때문에, FE에 반영된 후 삭제될 예정
-
중복된 닉네임이 존재할 경우 true, 존재하지 않을 경우 false를 리턴한다.
HTTP request
GET /auth/check/nickname/mental-zzang HTTP/1.1
Content-Type: application/json;charset=UTF-8
Host: MY-TAMIN-URL
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 86
{
"statusCode" : 200,
"message" : "닉네임 중복 체크",
"data" : true
}
Path parameters
Parameter | Description |
---|---|
|
*닉네임 |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
|
|
닉네임 중복 여부 |
토큰 재발급
-
새로 발급한 accessToken과 기존의 refreshToken을 리턴한다.
-
refreshToken의 만료 기간이 2일 이내로 남았을 경우 refreshToken 또한 새로 발급한다.
-
-
만약 403 응답(= INVALID_TOKEN_ERROR)일 경우에는 재로그인하도록 한다.
HTTP request
POST /auth/reissue HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 78
Host: MY-TAMIN-URL
{
"email" : "mytamin@naver.com",
"refreshToken" : "{{REFRESH_TOKEN}}"
}
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 164
{
"statusCode" : 200,
"message" : "토큰 재발급",
"data" : {
"accessToken" : "{{ACCESS_TOKEN}}",
"refreshToken" : "{{REFRESH_TOKEN}}"
}
}
Request fields
Path | Type | Description |
---|---|---|
|
|
*이메일 |
|
|
*리프레쉬 토큰 |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
|
|
액세스 토큰 (유효 기간 : 30일) |
|
|
리프레쉬 토큰 (유효 기간 : 180일) |
Exception response
-
INVALID_TOKEN_ERROR
-
DB에 저장된 refreshToken과 일치하지 않는 경우
-
refreshToken 자체가 잘못 되었거나 만료된 경우
-
HTTP/1.1 403 Forbidden
Content-Type: application/json;charset=UTF-8
Content-Length: 134
{
"statusCode" : 403,
"errorCode" : 1001,
"errorName" : "INVALID_TOKEN_ERROR",
"message" : "잘못된 토큰입니다."
}
HTTP/1.1 404 Not Found
Content-Type: application/json;charset=UTF-8
Content-Length: 145
{
"statusCode" : 404,
"errorCode" : 3000,
"errorName" : "USER_NOT_FOUND_ERROR",
"message" : "존재하지 않는 유저입니다."
}
이메일 인증 코드 전송 1
-
회원 가입을 위한 이메일 인증 코드 전송 API이다.
HTTP request
POST /auth/signup/code HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 37
Host: MY-TAMIN-URL
{
"email" : "mytamin@naver.com"
}
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 84
{
"statusCode" : 200,
"message" : "회원가입을 위한 이메일 인증"
}
Request fields
Path | Type | Description |
---|---|---|
|
|
*인증할 이메일 |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
이메일 인증 코드 전송 2
-
비밀번호 재설정을 위한 이메일 인증 코드 전송 API이다.
-
'이메일 인증 코드 전송 1' API와 다르게, 가입된 유저인지 확인하는 로직이 추가적으로 존재하므로, 두 API를 구분하여 사용한다.
HTTP request
POST /auth/reset/code HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 37
Host: MY-TAMIN-URL
{
"email" : "mytamin@naver.com"
}
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 94
{
"statusCode" : 200,
"message" : "비밀번호 재설정을 위한 이메일 인증"
}
Request fields
Path | Type | Description |
---|---|---|
|
|
*인증할 이메일 |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
이메일 인증 코드 확인
-
인증이 완료되었을 경우 true, 완료되지 않았을 경우 false를 리턴한다.
-
'이메일 인증 코드 전송 1', ''이메일 인증 코드 전송 2' API에서 전송한 인증 코드를 확인하는 로직은 동일하므로, 같은 API를 사용하여 인증한다.
HTTP request
POST /auth/code HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 65
Host: MY-TAMIN-URL
{
"email" : "mytamin@naver.com",
"authCode" : "xx0m98Fw"
}
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 93
{
"statusCode" : 200,
"message" : "이메일 인증 코드 확인",
"data" : true
}
Request fields
Path | Type | Description |
---|---|---|
|
|
*인증할 이메일 |
|
|
*사용자가 입력한 인증번호 |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
|
|
인증 코드 일치 여부 |
비밀번호 재설정
-
유저가 비밀번호를 잊어버렸을 경우 해당 API를 사용해 비밀번호를 재설정한다.
-
비밀번호 재설정 이전, 이메일 인증 과정을 거쳤다고 가정한다.
HTTP request
PUT /auth/password HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 68
Host: MY-TAMIN-URL
{
"password" : "newnew1234!",
"email" : "mytamin@naver.com"
}
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 67
{
"statusCode" : 200,
"message" : "비밀번호 재설정"
}
Request fields
Path | Type | Description |
---|---|---|
|
|
*이메일 |
|
|
*재설정할 비밀번호 (8 ~ 30자) |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
Exception response
HTTP/1.1 404 Not Found
Content-Type: application/json;charset=UTF-8
Content-Length: 145
{
"statusCode" : 404,
"errorCode" : 3000,
"errorName" : "USER_NOT_FOUND_ERROR",
"message" : "존재하지 않는 유저입니다."
}
Home
웰컴 메세지
-
조건에 따라 웰컴 메시지를 리턴한다.
-
조건 1, 2, 3 순으로 높은 우선 순위가 적용된다.
-
조건
-
조건 1. 마이타민 섭취 완료
-
오늘 하루도 수고 많았어요 :)
-
-
조건 2. 마이타민 섭취 지정 시간 및 섭취 여부
-
섭취 지정 시간 2시간 전 : 오늘의 마이타민 섭취를 잊지마세요 :)
-
섭취 지정 시간 2시간 후 : 마이타민 섭취.. 잊으시면 안 돼요 !
-
-
조건 3. 시간에 따른 웰컴 메세지
-
am 5:00 ~ am 11:59 : 오늘도 힘차게 시작해볼까요 ?
-
pm 12:00 ~ pm 18:59 : 어떤 하루를 보내고 계신가요 ?
-
pm 19:00 ~ am 4:59 : 푹 쉬고 내일 만나요
-
-
HTTP request
GET /home/welcome HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-AUTH-TOKEN: {{ACCESS_TOKEN}}
Host: MY-TAMIN-URL
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 176
{
"statusCode" : 200,
"message" : "웰컴 메세지",
"data" : {
"nickname" : "강철멘탈",
"comment" : "어떤 하루를 보내고 계신가요 ?"
}
}
Request headers
Name | Description |
---|---|
|
*액세스 토큰 |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
|
|
닉네임 |
|
|
웰컴 메세지 |
행동 완료 상태
-
1 ~ 4번 행동에 대해 유저가 행동을 완료했다면 true, 완료하지 않았다면 false를 리턴한다.
HTTP request
GET /home/progress/status HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-AUTH-TOKEN: {{ACCESS_TOKEN}}
Host: MY-TAMIN-URL
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 195
{
"statusCode" : 200,
"message" : "행동 완료 상태",
"data" : {
"breathIsDone" : true,
"senseIsDone" : true,
"reportIsDone" : false,
"careIsDone" : false
}
}
Request headers
Name | Description |
---|---|
|
*액세스 토큰 |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
|
|
숨 고르기 행동 완료 여부 |
|
|
감각 깨우기 행동 완료 여부 |
|
|
하루 진단 행동 완료 여부 |
|
|
칭찬 처방 행동 완료 여부 |
Mytamin
숨 고르기 완료
-
유저가 '숨 고르기' 행동을 완료했다면 해당 API를 요청한다.
-
해당 API를 요청하면 유저가 '숨 고르기’를 완료한 최종 시간이 업데이트되고, 이 정보는 행동 완료 상태 API에서 유저가 행동을 완료했는지 여부를 계산하는 데에 활용된다.
HTTP request
PATCH /mytamin/breath HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-AUTH-TOKEN: {{ACCESS_TOKEN}}
Host: MY-TAMIN-URL
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 65
{
"statusCode" : 200,
"message" : "숨 고르기 완료"
}
Request headers
Name | Description |
---|---|
|
*액세스 토큰 |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
감각 깨우기 완료
-
유저가 '감각 깨우기' 행동을 완료했다면 해당 API를 요청한다.
-
해당 API를 요청하면 유저가 '감각 깨우기’를 완료한 최종 시간이 업데이트되고, 이 정보는 행동 완료 상태 API에서 유저가 행동을 완료했는지 여부를 계산하는 데에 활용된다.
HTTP request
PATCH /mytamin/sense HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-AUTH-TOKEN: {{ACCESS_TOKEN}}
Host: MY-TAMIN-URL
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 68
{
"statusCode" : 200,
"message" : "감각 깨우기 완료"
}
Request headers
Name | Description |
---|---|
|
*액세스 토큰 |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
최근 섭취한 마이타민
-
하루 진단 or 칭찬 처방 중 완료하지 않은 행동이 있다면 null로 리턴된다.
-
하루 진단/칭찬 처방은 작성 후 24시간 이내일 경우 수정이 가능하다.
-
report.canEdit, care.canEdit은 수정 가능할 경우 true, 불가능할 경우 false를 리턴한다.
-
-
mentalConditionCode
-
1 : "매우 나빠요 .."
-
2 : "나쁜 편이에요 :("
-
3 : "그럭저럭이에요"
-
4 : "좋은 편이에요 :)"
-
5 : "매우 좋아요 !"
-
HTTP request
GET /mytamin/latest HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-AUTH-TOKEN: {{ACCESS_TOKEN}}
Host: MY-TAMIN-URL
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 670
{
"statusCode" : 200,
"message" : "최근 섭취한 마이타민",
"data" : {
"takeAt" : "11.17.Thu",
"report" : {
"reportId" : 1,
"canEdit" : true,
"mentalConditionCode" : 5,
"mentalCondition" : "매우 좋아요 !",
"feelingTag" : "#신나는 #즐거운 #재밌는",
"todayReport" : "아무래도 아침형 인간이 되는건 너무 어려운 것 같다."
},
"care" : {
"careId" : 1,
"canEdit" : true,
"careCategory" : "이루어 낸 일",
"careMsg1" : "오늘 할 일을 전부 했어",
"careMsg2" : "성실히 노력하는 내 모습이 좋아"
}
}
}
Other response-1
-
최근 섭취한 마이타민이 없을 경우
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 670
{
"statusCode" : 200,
"message" : "최근 섭취한 마이타민",
"data" : null
}
Other response-2
-
하루 진단만 완료했을 경우
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 670
{
"statusCode" : 200,
"message" : "최근 섭취한 마이타민",
"data" : {
"takeAt" : "10.21.Fri",
"report" : {
"reportId" : 1,
"canEdit" : true,
"mentalConditionCode" : 5,
"mentalCondition" : "매우 좋아요 !",
"feelingTag" : "#신나는 #즐거운 #재밌는",
"todayReport" : "아무래도 아침형 인간이 되는건 너무 어려운 것 같다."
},
"care" : null
}
}
Request headers
Name | Description |
---|---|
|
*액세스 토큰 |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
|
|
마이타민 섭취 날짜 |
|
|
하루 진단 id |
|
|
'하루 진단' 수정 가능 여부 |
|
|
마음 컨디션 코드 |
|
|
마음 컨디션 메세지 |
|
|
감정 태그 |
|
|
하루 진단 |
|
|
칭찬 처방 id |
|
|
'칭찬 처방' 수정 가능 여부 |
|
|
칭찬 카테고리 |
|
|
칭찬 처방 메세지 1 |
|
|
칭찬 처방 메세지 2 |
월간 마이타민 기록 조회
-
date는 yyyy.MM 형식으로 요청한다. (ex. 22년 1월 → 2022.01)
-
date의 모든 날짜(1일 ~ 마지막날)의 마이타민 기록을 조회한다.
-
해당하는 날짜에
-
하루 진단 기록이 있는 경우 → mentalConditionCode : 하루 진단에 기록되어있는 마음 컨디션 코드
-
칭찬 처방 기록만 있는 경우 → mentalConditionCode : 9
-
하루 진단/칭찬 처방 기록이 모두 없는 경우 → mentalConditionCode : 0
-
-
mentalConditionCode
-
1 : "매우 나빠요 .."
-
2 : "나쁜 편이에요 :("
-
3 : "그럭저럭이에요"
-
4 : "좋은 편이에요 :)"
-
5 : "매우 좋아요 !"
-
HTTP request
GET /mytamin/monthly/2022.10 HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-AUTH-TOKEN: {{ACCESS_TOKEN}}
Host: MY-TAMIN-URL
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 484
{
"statusCode" : 200,
"message" : "월간 마이타민 기록 조회",
"data" : [
// 1 ~ 18일 데이터 생략 ...
{
"day" : 18,
"mentalConditionCode" : 0
}, {
"day" : 19,
"mentalConditionCode" : 5
}, {
"day" : 20,
"mentalConditionCode" : 9
// 21 ~ 31일 데이터 생략 ...
} ]
}
Request headers
Name | Description |
---|---|
|
*액세스 토큰 |
Path parameters
Parameter | Description |
---|---|
|
*조회할 날짜 (yyyy.MM) |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
|
|
날짜 |
|
|
마음 컨디션 코드 |
주간 마이타민 기록 조회
-
date는 yyyy.MM.dd 형식으로 요청한다. (ex. 22년 1월 1일 → 2022.01.01)
-
date가 포함된 week의 월 ~ 일요일의 마이타민 기록을 '날짜:마이타민' 형태로 조회한다.
-
마이타민 기록이 없는 날은 null로 리턴된다. (ex. data.날짜 : null)
-
하루 진단 or 칭찬 처방 중 완료하지 않은 행동이 있다면 null로 리턴된다.
HTTP request
GET /mytamin/weekly/2022.10.19 HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-AUTH-TOKEN: {{ACCESS_TOKEN}}
Host: MY-TAMIN-URL
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 889
{
"statusCode" : 200,
"message" : "주간 마이타민 기록 조회",
"data" : {
"17" : {
"mytaminId" : 1,
"takeAt" : "10월 17일의 마이타민",
"report" : {
"reportId" : 1,
"canEdit" : false,
"mentalConditionCode" : 5,
"mentalCondition" : "매우 좋아요 !",
"feelingTag" : "#신나는",
"todayReport" : "아무래도 아침형 인간이 되는건 너무 어려운 것 같다."
},
"care" : null
},
"18" : {
"mytaminId" : 2,
"takeAt" : "10월 18일의 마이타민",
"report" : null,
"care" : {
"careId" : 1,
"canEdit" : false,
"careCategory" : "이루어 낸 일",
"careMsg1" : "오늘 할 일을 전부 했어",
"careMsg2" : "성실히 노력하는 내 모습이 좋아"
}
},
"19" : null,
"20" : {
"mytaminId" : 3,
"takeAt" : "10월 20일의 마이타민",
"report" : null,
"care" : {
"careId" : 1,
"canEdit" : false,
"careCategory" : "노력하고 있는 부분",
"careMsg1" : "너무 늦게 잠들지 않기 위해 노력 중이야",
"careMsg2" : "치만 오늘도 해가 뜰 때쯤 잠들었어"
}
},
"21" : {
"mytaminId" : 4,
"takeAt" : "10월 21일의 마이타민",
"report" : {
"reportId" : 1,
"canEdit" : false,
"mentalConditionCode" : 3,
"mentalCondition" : "그럭저럭 이에요",
"feelingTag" : "#평온한 #무념무상의",
"todayReport" : "별거 없었던 오늘의 하루"
},
"care" : {
"careId" : 1,
"canEdit" : false,
"careCategory" : "노력하고 있는 부분",
"careMsg1" : "너무 늦게 잠들지 않기 위해 노력 중이야",
"careMsg2" : "그치만 오늘도 해가 뜰 때쯤 잠들었어"
}
},
"22" : null,
"23" : null
}
}
Request headers
Name | Description |
---|---|
|
*액세스 토큰 |
Path parameters
Parameter | Description |
---|---|
|
*조회할 날짜 (yyyy.MM.dd) |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
|
|
날짜 |
|
|
마이타민 id |
|
|
마이타민 섭취 날짜 |
|
|
하루 진단 id |
|
|
'하루 진단' 수정 가능 여부 |
|
|
마음 컨디션 코드 |
|
|
마음 컨디션 메세지 |
|
|
감정 태그 |
|
|
하루 진단 |
|
|
칭찬 처방 id |
|
|
'칭찬 처방' 수정 가능 여부 |
|
|
칭찬 카테고리 |
|
|
칭찬 처방 메세지 1 |
|
|
칭찬 처방 메세지 2 |
마이타민 삭제
HTTP request
DELETE /mytamin/1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-AUTH-TOKEN: {{ACCESS_TOKEN}}
Host: MY-TAMIN-URL
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 69
{
"statusCode" : 200,
"message" : "1번 마이타민 삭제"
}
Request headers
Name | Description |
---|---|
|
*액세스 토큰 |
Path parameters
Parameter | Description |
---|---|
|
*삭제할 마이타민 id |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
Exception response
HTTP/1.1 404 Not Found
Content-Type: application/json;charset=UTF-8
Content-Length: 152
{
"statusCode" : 404,
"errorCode" : 5003,
"errorName" : "MYTAMIN_NOT_FOUND_ERROR",
"message" : "존재하지 않는 mytaminId 입니다."
}
Report
하루 진단
-
하루 진단하기는 하루에 한 번만 가능하다. (하루 기준 : AM 5:00 ~ AM 4:59)
-
마음 컨디션은 각 마음 컨디션에 해당하는 int 타입의 코드를 보낸다.
-
mentalConditionCode
-
1 : "매우 나빠요 .."
-
2 : "나쁜 편이에요 :("
-
3 : "그럭저럭이에요"
-
4 : "좋은 편이에요 :)"
-
5 : "매우 좋아요 !"
-
HTTP request
POST /report/new HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-AUTH-TOKEN: {{ACCESS_TOKEN}}
Content-Length: 202
Host: MY-TAMIN-URL
{
"mentalConditionCode" : 5,
"tag1" : "신나는",
"tag2" : "즐거운",
"tag3" : "재밌는",
"todayReport" : "아무래도 아침형 인간이 되는건 너무 어려운 것 같다."
}
HTTP response
HTTP/1.1 201 Created
Content-Type: application/json;charset=UTF-8
Content-Length: 352
{
"statusCode" : 201,
"message" : "하루 진단",
"data" : {
"reportId" : 1,
"canEdit" : true,
"mentalConditionCode" : 5,
"mentalCondition" : "매우 좋아요 !",
"feelingTag" : "#신나는 #즐거운 #재밌는",
"todayReport" : "아무래도 아침형 인간이 되는건 너무 어려운 것 같다."
}
}
Request headers
Name | Description |
---|---|
|
*액세스 토큰 |
Request fields
Path | Type | Description |
---|---|---|
|
|
*마음 컨디션 코드 |
|
|
*감정 태그1 |
|
|
감정 태그2 |
|
|
감정 태그3 |
|
|
*하루 진단 |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
|
|
하루 진단 id |
|
|
'하루 진단' 수정 가능 여부 |
|
|
마음 컨디션 코드 |
|
|
마음 컨디션 메세지 |
|
|
감정 태그 |
|
|
하루 진단 |
Exception response
HTTP/1.1 400 Bad Request
Content-Type: application/json;charset=UTF-8
Content-Length: 183
{
"statusCode" : 400,
"errorCode" : 4000,
"errorName" : "INVALID_CONDITION_CODE_ERROR",
"message" : "마음 컨디션 코드는 1 ~ 5 사이의 값이어야 합니다."
}
HTTP/1.1 409 Conflict
Content-Type: application/json;charset=UTF-8
Content-Length: 175
{
"statusCode" : 409,
"errorCode" : 4001,
"errorName" : "REPORT_ALREADY_DONE_ERROR",
"message" : "오늘의 '하루 진단하기'를 이미 완료했습니다."
}
하루 진단 조회
-
'하루 진단' 작성 시 발급받은 reportId를 통해 데이터를 조회한다.
HTTP request
GET /report/1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-AUTH-TOKEN: {{ACCESS_TOKEN}}
Host: MY-TAMIN-URL
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 364
{
"statusCode" : 200,
"message" : "1번 하루 진단 조회",
"data" : {
"reportId" : 1,
"canEdit" : true,
"mentalConditionCode" : 5,
"mentalCondition" : "매우 좋아요 !",
"feelingTag" : "#신나는 #즐거운 #재밌는",
"todayReport" : "아무래도 아침형 인간이 되는건 너무 어려운 것 같다."
}
}
Request headers
Name | Description |
---|---|
|
*액세스 토큰 |
Path parameters
Parameter | Description |
---|---|
|
*하루 진단 id |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
|
|
하루 진단 id |
|
|
'하루 진단' 수정 가능 여부 |
|
|
마음 컨디션 코드 |
|
|
마음 컨디션 메세지 |
|
|
감정 태그 |
|
|
하루 진단 |
Exception response
HTTP/1.1 404 Not Found
Content-Type: application/json;charset=UTF-8
Content-Length: 150
{
"statusCode" : 404,
"errorCode" : 4002,
"errorName" : "REPORT_NOT_FOUND_ERROR",
"message" : "존재하지 않는 reportId 입니다."
}
하루 진단 수정
HTTP request
PUT /report/1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-AUTH-TOKEN: {{ACCESS_TOKEN}}
Content-Length: 165
Host: MY-TAMIN-URL
{
"mentalConditionCode" : 5,
"tag1" : "신나는",
"tag2" : "즐거운",
"tag3" : "재밌는",
"todayReport" : "하루 진단 기록 수정 중..."
}
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 70
{
"statusCode" : 200,
"message" : "1번 하루 진단 수정"
}
Request headers
Name | Description |
---|---|
|
*액세스 토큰 |
Path parameters
Parameter | Description |
---|---|
|
*수정할 하루 진단 id |
Request fields
Path | Type | Description |
---|---|---|
|
|
*마음 컨디션 코드 |
|
|
*감정 태그1 |
|
|
감정 태그2 |
|
|
감정 태그3 |
|
|
*하루 진단 |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
Exception response
-
EDIT_TIMEOUT_ERROR : 작성 시간 기준, 24시간이 지났다면 수정이 불가능하다.
HTTP/1.1 404 Not Found
Content-Type: application/json;charset=UTF-8
Content-Length: 150
{
"statusCode" : 404,
"errorCode" : 4002,
"errorName" : "REPORT_NOT_FOUND_ERROR",
"message" : "존재하지 않는 reportId 입니다."
}
HTTP/1.1 400 Bad Request
Content-Type: application/json;charset=UTF-8
Content-Length: 144
{
"statusCode" : 400,
"errorCode" : 7000,
"errorName" : "EDIT_TIMEOUT_ERROR",
"message" : "수정 가능 시간이 아닙니다."
}
주간 마음 컨디션 조회
-
'오늘’을 기준으로 이전 7일 간의 마음 컨디션 기록을 조회한다. (= 총 8일 간의 데이터 리턴)
-
해당하는 날짜에 하루 진단 기록이 존재하지 않을 경우, mentalConditionCode는 '0’이다.
-
mentalConditionCode
-
1 : "매우 나빠요 .."
-
2 : "나쁜 편이에요 :("
-
3 : "그럭저럭이에요"
-
4 : "좋은 편이에요 :)"
-
5 : "매우 좋아요 !"
-
HTTP request
GET /report/weekly/mental HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-AUTH-TOKEN: {{ACCESS_TOKEN}}
Host: MY-TAMIN-URL
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 614
{
"statusCode" : 200,
"message" : "주간 마음 컨디션 조회",
"data" : [ {
"dayOfWeek" : "수",
"mentalConditionCode" : 0
}, {
"dayOfWeek" : "목",
"mentalConditionCode" : 3
}, {
"dayOfWeek" : "금",
"mentalConditionCode" : 1
}, {
"dayOfWeek" : "토",
"mentalConditionCode" : 0
}, {
"dayOfWeek" : "일",
"mentalConditionCode" : 0
}, {
"dayOfWeek" : "월",
"mentalConditionCode" : 3
}, {
"dayOfWeek" : "화",
"mentalConditionCode" : 2
}, {
"dayOfWeek" : "오늘",
"mentalConditionCode" : 5
} ]
}
Request headers
Name | Description |
---|---|
|
*액세스 토큰 |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
|
|
요일 |
|
|
마음 컨디션 코드 |
이번 달 감정 TOP3
-
이번 달을 기준으로, 가장 많이 태그된 감정 1 ~ 3순위를 감정이 기록된 횟수가 높은 순으로 리턴한다.
HTTP request
GET /report/feeling/rank HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-AUTH-TOKEN: {{ACCESS_TOKEN}}
Host: MY-TAMIN-URL
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 254
{
"statusCode" : 200,
"message" : "이번 달 감정 TOP3",
"data" : [ {
"feeling" : "신나는",
"count" : 5
}, {
"feeling" : "즐거운",
"count" : 3
}, {
"feeling" : "무념무상의",
"count" : 1
} ]
}
Other response-1
-
이번 달 느낀 감정이 3개가 되지 않을 경우
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 270
{
"statusCode" : 200,
"message" : "이번 달 감정 TOP3",
"data" : [{
"feeling" : "신나는",
"count" : 5
}]
}
Other response-2
-
이번 달 느낀 감정이 하나도 없을 경우
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 270
{
"statusCode" : 200,
"message" : "이번 달 감정 TOP3",
"data" : []
}
Request headers
Name | Description |
---|---|
|
*액세스 토큰 |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
|
|
감정 태그 |
|
|
감정이 기록된 횟수 |
Care
칭찬 처방
-
칭찬 처방하기는 하루에 한 번만 가능하다. (하루 기준 : AM 5:00 ~ AM 4:59)
-
칭찬 카테고리는 각 카테고리에 해당하는 int 타입의 코드를 보낸다.
-
careCategoryCode
-
1 : "이루어 낸 일"
-
2 : "잘한 일이나 행동"
-
3 : "노력하고 있는 부분"
-
4 : "긍정적인 변화나 깨달음"
-
5 : "감정, 생각 혹은 신체 일부분"
-
6 : "과거의 나"
-
7 : "기타"
-
HTTP request
POST /care/new HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-AUTH-TOKEN: {{ACCESS_TOKEN}}
Content-Length: 144
Host: MY-TAMIN-URL
{
"careCategoryCode" : 1,
"careMsg1" : "오늘 할 일을 전부 했어",
"careMsg2" : "성실히 노력하는 내 모습이 좋아"
}
HTTP response
HTTP/1.1 201 Created
Content-Type: application/json;charset=UTF-8
Content-Length: 280
{
"statusCode" : 201,
"message" : "칭찬 처방",
"data" : {
"careId" : 1,
"canEdit" : true,
"careCategory" : "이루어 낸 일",
"careMsg1" : "오늘 할 일을 전부 했어",
"careMsg2" : "성실히 노력하는 내 모습이 좋아"
}
}
Request headers
Name | Description |
---|---|
|
*액세스 토큰 |
Request fields
Path | Type | Description |
---|---|---|
|
|
*칭찬 카테고리 코드 |
|
|
*칭찬 처방 메세지 1 |
|
|
*칭찬 처방 메세지 2 |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
|
|
칭찬 처방 id |
|
|
'칭찬 처방' 수정 가능 여부 |
|
|
칭찬 카테고리 |
|
|
칭찬 처방 메세지 1 |
|
|
칭찬 처방 메세지 2 |
Exception response
HTTP/1.1 400 Bad Request
Content-Type: application/json;charset=UTF-8
Content-Length: 178
{
"statusCode" : 400,
"errorCode" : 5000,
"errorName" : "INVALID_CATEGORY_CODE_ERROR",
"message" : "카테고리 코드는 1 ~ 7 사이의 값이어야 합니다."
}
HTTP/1.1 409 Conflict
Content-Type: application/json;charset=UTF-8
Content-Length: 173
{
"statusCode" : 409,
"errorCode" : 5001,
"errorName" : "CARE_ALREADY_DONE_ERROR",
"message" : "오늘의 '칭찬 처방하기'를 이미 완료했습니다."
}
칭찬 처방 조회
-
'칭찬 처방' 작성 시 발급받은 careId를 통해 데이터를 조회한다.
HTTP request
GET /care/1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-AUTH-TOKEN: {{ACCESS_TOKEN}}
Host: MY-TAMIN-URL
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 292
{
"statusCode" : 200,
"message" : "1번 칭찬 처방 조회",
"data" : {
"careId" : 1,
"canEdit" : true,
"careCategory" : "이루어 낸 일",
"careMsg1" : "오늘 할 일을 전부 했어",
"careMsg2" : "성실히 노력하는 내 모습이 좋아"
}
}
Request headers
Name | Description |
---|---|
|
*액세스 토큰 |
Path parameters
Parameter | Description |
---|---|
|
*칭찬 처방 id |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
|
|
칭찬 처방 id |
|
|
'칭찬 처방' 수정 가능 여부 |
|
|
칭찬 카테고리 |
|
|
칭찬 처방 메세지 1 |
|
|
칭찬 처방 메세지 2 |
Exception response
HTTP/1.1 404 Not Found
Content-Type: application/json;charset=UTF-8
Content-Length: 146
{
"statusCode" : 404,
"errorCode" : 5002,
"errorName" : "CARE_NOT_FOUND_ERROR",
"message" : "존재하지 않는 careId 입니다."
}
칭찬 처방 수정
HTTP request
PUT /care/1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-AUTH-TOKEN: {{ACCESS_TOKEN}}
Content-Length: 109
Host: MY-TAMIN-URL
{
"careCategoryCode" : 2,
"careMsg1" : "칭찬 처방을 수정하고 싶어",
"careMsg2" : "^,^"
}
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 70
{
"statusCode" : 200,
"message" : "1번 칭찬 처방 수정"
}
Request headers
Name | Description |
---|---|
|
*액세스 토큰 |
Path parameters
Parameter | Description |
---|---|
|
*수정할 칭찬 처방 id |
Request fields
Path | Type | Description |
---|---|---|
|
|
*수정할 칭찬 카테고리 코드 |
|
|
*수정할 칭찬 처방 메세지 1 |
|
|
*수정할 칭찬 처방 메세지 2 |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
Exception response
-
EDIT_TIMEOUT_ERROR : 작성 시간 기준, 24시간이 지났다면 수정이 불가능하다.
HTTP/1.1 404 Not Found
Content-Type: application/json;charset=UTF-8
Content-Length: 146
{
"statusCode" : 404,
"errorCode" : 5002,
"errorName" : "CARE_NOT_FOUND_ERROR",
"message" : "존재하지 않는 careId 입니다."
}
HTTP/1.1 400 Bad Request
Content-Type: application/json;charset=UTF-8
Content-Length: 144
{
"statusCode" : 400,
"errorCode" : 7000,
"errorName" : "EDIT_TIMEOUT_ERROR",
"message" : "수정 가능 시간이 아닙니다."
}
칭찬 처방 랜덤 조회
-
전체 칭찬 처방 기록 중 랜덤으로 하나를 리턴한다.
HTTP request
GET /care/random HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-AUTH-TOKEN: {{ACCESS_TOKEN}}
Host: MY-TAMIN-URL
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 237
{
"statusCode" : 200,
"message" : "칭찬 처방 랜덤 조회",
"data" : {
"careMsg1" : "오늘 할 일을 전부 했어",
"careMsg2" : "성실히 노력하는 내 모습이 좋아",
"takeAt" : "22.10.19"
}
}
Other response
-
칭찬 처방 기록이 하나도 없는 경우
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 237
{
"statusCode" : 200,
"message" : "칭찬 처방 랜덤 조회",
"data" : null
}
Request headers
Name | Description |
---|---|
|
*액세스 토큰 |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
|
|
칭찬 처방 메세지 1 |
|
|
칭찬 처방 메세지 2 |
|
|
마이타민 섭취 날짜 |
칭찬 처방 히스토리
-
년/월을 기준으로 그룹핑하여 최신순으로 리턴한다.
-
date는 yyyy.MM 형식으로 요청한다. (ex. 22년 1월 → 2022.01)
-
careCategoryCodeList에 잘못된 값이 들어올 경우 따로 오류가 발생하지는 않지만, 해당 조건은 적용되지 않는다.
-
칭찬 카테고리는 각 카테고리에 해당하는 int 타입의 코드를 보낸다.
-
careCategoryCode
-
1 : "이루어 낸 일"
-
2 : "잘한 일이나 행동"
-
3 : "노력하고 있는 부분"
-
4 : "긍정적인 변화나 깨달음"
-
5 : "감정, 생각 혹은 신체 일부분"
-
6 : "과거의 나"
-
7 : "기타"
-
HTTP request
POST /care/list HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-AUTH-TOKEN: {{ACCESS_TOKEN}}
Content-Length: 41
Host: MY-TAMIN-URL
{
"careCategoryCodeList" : [ 1, 5 ]
}
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 542
{
"statusCode" : 200,
"message" : "칭찬 처방 히스토리",
"data" : {
"2022년 10월" : [ {
"careMsg1" : "오늘 할 일을 전부 했어",
"careMsg2" : "성실히 노력하는 내 모습이 좋아",
"careCategory" : "#이루어 낸 일",
"takeAt" : "10.13.Thu"
}, {
"careMsg1" : "꾸준히 칭찬 기록 중이야",
"careMsg2" : "꾸준한 내 모습을 칭찬해 !",
"careCategory" : "#긍정적인 변화나 깨달음",
"takeAt" : "10.19.Wed"
} ]
}
}
Other response
-
조회할 데이터가 하나도 없을 경우
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 490
{
"statusCode" : 200,
"message" : "칭찬 처방 히스토리",
"data" : {}
}
Request headers
Name | Description |
---|---|
|
*액세스 토큰 |
Request fields
Path | Type | Description |
---|---|---|
|
|
카테고리 조건 |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
|
|
년/월로 그룹핑된 칭찬 처방 리스트 |
|
|
칭찬 처방 메세지 1 |
|
|
칭찬 처방 메세지 2 |
|
|
칭찬 카테고리 |
|
|
마이타민 섭취 날짜 |
User
프로필 조회
-
설정된 프로필 이미지가 없을 경우, profileImgUrl은 null로 리턴된다.
HTTP request
GET /user/profile HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-AUTH-TOKEN: {{ACCESS_TOKEN}}
Host: MY-TAMIN-URL
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 232
{
"statusCode" : 200,
"message" : "프로필 조회",
"data" : {
"nickname" : "강철멘탈",
"profileImgUrl" : null,
"beMyMessage" : "마음 면역력이 높아질",
"provider" : "일반 회원"
}
}
Request headers
Name | Description |
---|---|
|
*액세스 토큰 |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
|
|
닉네임 |
|
|
프로필 이미지 URL |
|
|
'되고싶은 내 모습' 메세지 |
|
|
가입 경로 |
프로필 편집
-
file의 확장자는 .png, .jpg, .jpeg 또는 null 중 하나여야 한다.
-
isImgEdited는 프로필 이미지가 수정되었을 경우 "T", 수정되지 않았을 경우 "F"를 전송한다.
-
isImgEdited가 "T"가 아닌 경우에는 이미지와 관련된 작업을 아예 진행하지 않으므로, file에는 어떤 값을 넣어도 무관하다. (null 또는 기존 이미지 등)
-
-
nickname, beMyMessage는 수정되지 않았더라도 항상 전송한다.
HTTP request
PUT /user/profile HTTP/1.1
Content-Type: multipart/form-data;charset=UTF-8; boundary=6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
X-AUTH-TOKEN: {{ACCESS_TOKEN}}
Host: MY-TAMIN-URL
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=isImgEdited
T
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=nickname
멘탈짱
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=beMyMessage
꾸준히 글을 쓰는
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=file; filename=mock1.jpg
Content-Type: image/jpg
<<image>>
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm--
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 61
{
"statusCode" : 200,
"message" : "프로필 편집"
}
Request headers
Name | Description |
---|---|
|
*액세스 토큰 |
Request parts
Part | Description |
---|---|
|
*업로드할 이미지 (.png, .jpg, .jpeg) |
Request parameters
Parameter | Description |
---|---|
|
*프로필 이미지 수정 여부 |
|
*수정할 닉네임 (1 ~ 9자) |
|
*수정할 '되고 싶은 나' 메세지 (1 ~ 20자) |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
가입 날짜 조회
HTTP request
GET /user/created-at HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-AUTH-TOKEN: {{ACCESS_TOKEN}}
Host: MY-TAMIN-URL
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 123
{
"statusCode" : 200,
"message" : "가입 날짜 조회",
"data" : {
"year" : 2022,
"month" : 11
}
}
Request headers
Name | Description |
---|---|
|
*액세스 토큰 |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
|
|
가입한 year |
|
|
가입한 month |
로그아웃
HTTP request
DELETE /user/logout HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-AUTH-TOKEN: {{ACCESS_TOKEN}}
Content-Length: 36
Host: MY-TAMIN-URL
{
"fcmToken" : "{{FCM_TOKEN}}"
}
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 57
{
"statusCode" : 200,
"message" : "로그아웃"
}
Request headers
Name | Description |
---|---|
|
*액세스 토큰 |
Request fields
Path | Type | Description |
---|---|---|
|
|
*FCM 토큰 |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
기록 초기화
-
초기화할 데이터는 true, 그렇지 않은 데이터는 false를 넣어 요청한다.
HTTP request
DELETE /user/init HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-AUTH-TOKEN: {{ACCESS_TOKEN}}
Content-Length: 73
Host: MY-TAMIN-URL
{
"initReport" : true,
"initCare" : true,
"initMyday" : false
}
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 61
{
"statusCode" : 200,
"message" : "기록 초기화"
}
Request headers
Name | Description |
---|---|
|
*액세스 토큰 |
Request fields
Path | Type | Description |
---|---|---|
|
|
*'하루 진단' 초기화 여부 |
|
|
*'칭찬 처방' 초기화 여부 |
|
|
*'마이 데이' 초기화 여부 |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
회원 탈퇴
HTTP request
DELETE /user/withdrawal HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-AUTH-TOKEN: {{ACCESS_TOKEN}}
Host: MY-TAMIN-URL
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 58
{
"statusCode" : 200,
"message" : "회원 탈퇴"
}
Request headers
Name | Description |
---|---|
|
*액세스 토큰 |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
비밀번호 변경
HTTP request
PUT /user/password HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-AUTH-TOKEN: {{ACCESS_TOKEN}}
Content-Length: 34
Host: MY-TAMIN-URL
{
"password" : "newnew1234!"
}
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 64
{
"statusCode" : 200,
"message" : "비밀번호 변경"
}
Request headers
Name | Description |
---|---|
|
*액세스 토큰 |
Request fields
Path | Type | Description |
---|---|---|
|
|
*변경할 비밀번호 (8 ~ 30자) |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
Myday
이번 달의 마이데이
-
매달 랜덤으로 마이데이 날짜가 지정된다.
-
comment
-
마이데이 이전 : "이번 마이데이에는 무엇을 해볼까요 ?"
-
마이데이 3일 전 : "두근두근 ! 마이데이가 머지 않았어요",
-
마이데이 당일 : "기분 좋은 마이데이 되세요 !",
-
마이데이 이후 : "이번 마이데이는 어떤 하루였나요 ?"
-
HTTP request
GET /myday/info HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-AUTH-TOKEN: {{ACCESS_TOKEN}}
Host: MY-TAMIN-URL
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 219
{
"statusCode" : 200,
"message" : "이번 달의 마이데이",
"data" : {
"myDayMMDD" : "10월 17일",
"dday" : "D-7일",
"comment" : "이번 마이데이에는 무엇을 해볼까요 ?"
}
}
Request headers
Name | Description |
---|---|
|
*액세스 토큰 |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
|
|
마이데이 날짜 |
|
|
현재 시간 ~ 마이데이 날짜 D-Day |
|
|
마이데이 메세지 |
데이노트 작성 가능 여부
-
date는 yyyy.MM 형식으로 요청한다. (ex. 22년 1월 → 2022.01)
-
date에 해당하는 날짜에 데이노트 작성이 가능하면 true, 불가능하면 false를 리턴한다.
HTTP request
GET /daynote/check/2022.10 HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-AUTH-TOKEN: {{ACCESS_TOKEN}}
Host: MY-TAMIN-URL
HTTP response
HTTP/1.1 200 OK
Content-Disposition: inline;filename=f.txt
Content-Type: application/json;charset=UTF-8
Content-Length: 96
{
"statusCode" : 200,
"message" : "데이노트 작성 가능 여부",
"data" : true
}
Request headers
Name | Description |
---|---|
|
*액세스 토큰 |
Path parameters
Parameter | Description |
---|---|
|
*데이노트 수행 날짜 (yyyy.MM) |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
|
|
데이노트 작성 가능 여부 |
데이노트 작성
-
fileList 내 이미지의 확장자는 .png, .jpg, .jpeg 또는 null 중 하나여야 한다.
-
이미지는 최대 5장까지 첨부할 수 있다.
-
date는 yyyy.MM 형식으로 요청한다. (ex. 22년 1월 → 2022.01)
HTTP request
POST /daynote/new HTTP/1.1
Content-Type: multipart/form-data;charset=UTF-8; boundary=6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
X-AUTH-TOKEN: {{ACCESS_TOKEN}}
Host: MY-TAMIN-URL
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=wishId
1
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=note
따끈따끈한 빵을 샀다. 맛있었따 :0
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=date
2022.10
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=fileList; filename=[org.springframework.mock.web.MockMultipartFile@5f851718, org.springframework.mock.web.MockMultipartFile@2e51e263]
Content-Type: image/jpg
<<image>>
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm--
HTTP response
HTTP/1.1 201 Created
Content-Type: application/json;charset=UTF-8
Content-Length: 426
{
"statusCode" : 201,
"message" : "데이노트 작성",
"data" : {
"daynoteId" : 1,
"imgList" : [ "{{IMAGE_URL_1}}", "{{IMAGE_URL_2}}" ],
"year" : 2022,
"month" : 10,
"wishId" : 1,
"wishText" : "도서관에 가서 책 한권 빌려오기",
"note" : "백만년만에 도서관에 가서 책을 빌렸다. 이번엔 연체되기 전에 꼭 다 읽고 반납해야겠다 *_*"
}
}
Request headers
Name | Description |
---|---|
|
*액세스 토큰 |
Request parts
Part | Description |
---|---|
|
*업로드할 이미지 리스트 (.png, .jpg, .jpeg) |
Request parameters
Parameter | Description |
---|---|
|
*위시 id |
|
*데이노트 코멘트 |
|
*데이노트 수행 날짜 (yyyy.MM) |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
|
|
데이노트 id |
|
|
데이노트 이미지 리스트 |
|
|
데이노트가 작성된 year |
|
|
데이노트가 작성된 month |
|
|
위시 id |
|
|
위시 텍스트 |
|
|
데이노트 코멘트 |
Exception response
HTTP/1.1 409 Conflict
Content-Type: application/json;charset=UTF-8
Content-Length: 173
{
"statusCode" : 409,
"errorCode" : 8004,
"errorName" : "DAYNOTE_ALREADY_EXIST_ERROR",
"message" : "이미 해당 년/월에 데이노트가 존재합니다."
}
HTTP/1.1 404 Not Found
Content-Type: application/json;charset=UTF-8
Content-Length: 146
{
"statusCode" : 404,
"errorCode" : 8000,
"errorName" : "WISH_NOT_FOUND_ERROR",
"message" : "존재하지 않는 wishId 입니다."
}
HTTP/1.1 400 Bad Request
Content-Type: application/json;charset=UTF-8
Content-Length: 169
{
"statusCode" : 400,
"errorCode" : 6003,
"errorName" : "FILE_MAXIMUM_EXCEED",
"message" : "이미지는 최대 5개까지 업로드할 수 있습니다."
}
데이노트 수정
-
fileList 내 이미지의 확장자는 .png, .jpg, .jpeg 또는 null 중 하나여야 한다.
-
이미지는 최대 5장까지 첨부할 수 있다.
HTTP request
PUT /daynote/1 HTTP/1.1
Content-Type: multipart/form-data;charset=UTF-8; boundary=6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
X-AUTH-TOKEN: {{ACCESS_TOKEN}}
Host: MY-TAMIN-URL
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=wishId
1
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=note
따끈따끈한 빵을 샀다. 맛있었따 :0 **수정수정** 다시 생각해보니까 그냥 그랬다,,
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=fileList; filename=[org.springframework.mock.web.MockMultipartFile@41865dc1, org.springframework.mock.web.MockMultipartFile@2da2bc89]
Content-Type: image/jpg
<<image>>
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm--
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 69
{
"statusCode" : 200,
"message" : "1번 데이노트 수정"
}
Request headers
Name | Description |
---|---|
|
*액세스 토큰 |
Request parts
Part | Description |
---|---|
|
*업로드할 이미지 리스트 (.png, .jpg, .jpeg) |
Request parameters
Parameter | Description |
---|---|
|
*위시 id |
|
*데이노트 코멘트 |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
Exception response
HTTP/1.1 404 Not Found
Content-Type: application/json;charset=UTF-8
Content-Length: 152
{
"statusCode" : 404,
"errorCode" : 8003,
"errorName" : "DAYNOTE_NOT_FOUND_ERROR",
"message" : "존재하지 않는 daynoteId 입니다."
}
HTTP/1.1 404 Not Found
Content-Type: application/json;charset=UTF-8
Content-Length: 146
{
"statusCode" : 404,
"errorCode" : 8000,
"errorName" : "WISH_NOT_FOUND_ERROR",
"message" : "존재하지 않는 wishId 입니다."
}
HTTP/1.1 400 Bad Request
Content-Type: application/json;charset=UTF-8
Content-Length: 169
{
"statusCode" : 400,
"errorCode" : 6003,
"errorName" : "FILE_MAXIMUM_EXCEED",
"message" : "이미지는 최대 5개까지 업로드할 수 있습니다."
}
데이노트 삭제
HTTP request
DELETE /daynote/1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-AUTH-TOKEN: {{ACCESS_TOKEN}}
Host: MY-TAMIN-URL
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 69
{
"statusCode" : 200,
"message" : "1번 데이노트 삭제"
}
Request headers
Name | Description |
---|---|
|
*액세스 토큰 |
Path parameters
Parameter | Description |
---|---|
|
*삭제할 데이노트 id |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
Exception response
HTTP/1.1 404 Not Found
Content-Type: application/json;charset=UTF-8
Content-Length: 152
{
"statusCode" : 404,
"errorCode" : 8003,
"errorName" : "DAYNOTE_NOT_FOUND_ERROR",
"message" : "존재하지 않는 daynoteId 입니다."
}
데이노트 리스트 조회
-
연도별로 그룹핑하여 최신순으로 리턴한다.
-
년/월을 기준으로 그룹핑하여 최신순으로 리턴한다.
HTTP request
GET /daynote/list HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-AUTH-TOKEN: {{ACCESS_TOKEN}}
Host: MY-TAMIN-URL
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 1067
{
"statusCode" : 200,
"message" : "데이노트 리스트 조회",
"data" : {
"2022" : [ {
"daynoteId" : 3,
"imgList" : [ "{{IMAGE_URL_1}}", "{{IMAGE_URL_2}}" ],
"year" : 2022,
"month" : 10,
"wishId" : 2,
"wishText" : "소품샵 가기",
"note" : "소품샵 가서 귀여운 비누를 샀다."
}, {
"daynoteId" : 2,
"imgList" : [ "{{IMAGE_URL_1}}", "{{IMAGE_URL_2}}" ],
"year" : 2022,
"month" : 9,
"wishId" : 3,
"wishText" : "빵 나오는 시간에 맞춰서 갓 나온 빵 사먹기",
"note" : "따끈따끈한 식빵에 우유는 역시 최고 !"
} ],
"2021" : [ {
"daynoteId" : 1,
"imgList" : [ "{{IMAGE_URL_1}}", "{{IMAGE_URL_2}}" ],
"year" : 2021,
"month" : 12,
"wishId" : 1,
"wishText" : "도서관에 가서 책 한권 빌려오기",
"note" : "백만년만에 도서관에 가서 책을 빌렸다. 이번엔 연체되기 전에 꼭 다 읽고 반납해야겠다 *_*"
} ]
}
}
Other response
-
데이노트가 존재하지 않을 경우
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 706
{
"statusCode" : 200,
"message" : "데이노트 리스트 조회",
"data" : {}
}
Request headers
Name | Description |
---|---|
|
*액세스 토큰 |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
|
|
연도별로 그룹핑된 데이노트 리스트 |
|
|
데이노트 id |
|
|
데이노트 이미지 리스트 |
|
|
데이노트가 작성된 year |
|
|
데이노트가 작성된 month |
|
|
위시 id |
|
|
위시 텍스트 |
|
|
데이노트 코멘트 |
Wish
위시 리스트 조회
#TODO : 순서 변경 로직 X / 다른 기능 우선적으로 개발 후 다시 논의
HTTP request
GET /wish/list HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-AUTH-TOKEN: {{ACCESS_TOKEN}}
Host: MY-TAMIN-URL
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 402
{
"statusCode" : 200,
"message" : "위시 리스트 조회",
"data" : [ {
"wishId" : 1,
"wishText" : "소품샵 다녀오기",
"count" : 3
}, {
"wishId" : 2,
"wishText" : "도서관에 가서 책 한권 빌려오기",
"count" : 0
}, {
"wishId" : 3,
"wishText" : "빵 나오는 시간에 맞춰서 갓 나온 빵 사기",
"count" : 1
} ]
}
Other response
-
위시 리스트가 존재하지 않을 경우
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 596
{
"statusCode" : 200,
"message" : "위시 리스트 조회",
"data" : []
}
Request headers
Name | Description |
---|---|
|
*액세스 토큰 |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
|
|
위시 리스트 |
|
|
위시 id |
|
|
위시 텍스트 |
|
|
위시가 기록된 횟수 |
위시 생성
HTTP request
POST /wish/new HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-AUTH-TOKEN: {{ACCESS_TOKEN}}
Content-Length: 45
Host: MY-TAMIN-URL
{
"wishText" : "소품샵 다녀오기"
}
HTTP response
HTTP/1.1 201 Created
Content-Type: application/json;charset=UTF-8
Content-Length: 158
{
"statusCode" : 201,
"message" : "위시 생성",
"data" : {
"wishId" : 1,
"wishText" : "소품샵 다녀오기",
"count" : 0
}
}
Request headers
Name | Description |
---|---|
|
*액세스 토큰 |
Request fields
Path | Type | Description |
---|---|---|
|
|
*위시 텍스트 |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
|
|
위시 id |
|
|
위시 텍스트 |
|
|
위시가 기록된 횟수 |
Exception response
-
WISH_ALREADY_EXIST_ERROR : 기존 위시 리스트에 존재하는 위시 텍스트와 같은 위시 텍스트의 위시를 생성하려고 했을 경우
HTTP/1.1 409 Conflict
Content-Type: application/json;charset=UTF-8
Content-Length: 159
{
"statusCode" : 409,
"errorCode" : 8001,
"errorName" : "WISH_ALREADY_EXIST_ERROR",
"message" : "이미 존재하는 위시 리스트입니다."
}
위시 수정
HTTP request
PUT /wish/1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-AUTH-TOKEN: {{ACCESS_TOKEN}}
Content-Length: 39
Host: MY-TAMIN-URL
{
"wishText" : "소품샵 가기"
}
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 63
{
"statusCode" : 200,
"message" : "1번 위시 수정"
}
Request headers
Name | Description |
---|---|
|
*액세스 토큰 |
Path parameters
Parameter | Description |
---|---|
|
*수정할 위시 id |
Request fields
Path | Type | Description |
---|---|---|
|
|
*위시 텍스트 |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
Exception response
HTTP/1.1 404 Not Found
Content-Type: application/json;charset=UTF-8
Content-Length: 146
{
"statusCode" : 404,
"errorCode" : 8000,
"errorName" : "WISH_NOT_FOUND_ERROR",
"message" : "존재하지 않는 wishId 입니다."
}
위시 삭제
HTTP request
DELETE /wish/1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-AUTH-TOKEN: {{ACCESS_TOKEN}}
Host: MY-TAMIN-URL
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 63
{
"statusCode" : 200,
"message" : "1번 위시 삭제"
}
Request headers
Name | Description |
---|---|
|
*액세스 토큰 |
Path parameters
Parameter | Description |
---|---|
|
*삭제할 위시 id |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
Exception response
HTTP/1.1 404 Not Found
Content-Type: application/json;charset=UTF-8
Content-Length: 146
{
"statusCode" : 404,
"errorCode" : 8000,
"errorName" : "WISH_NOT_FOUND_ERROR",
"message" : "존재하지 않는 wishId 입니다."
}
Alarm
알림 설정 상태 조회
HTTP request
GET /alarm/status HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-AUTH-TOKEN: {{ACCESS_TOKEN}}
Host: MY-TAMIN-URL
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 243
{
"statusCode" : 200,
"message" : "알림 설정 상태 조회",
"data" : {
"mytamin" : {
"isOn" : true,
"when" : "오후 10:00"
},
"myday" : {
"isOn" : true,
"when" : "당일"
}
}
}
Other response
-
마이타민, 마이데이 알림이 모두 꺼져있을 경우
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 243
{
"statusCode" : 200,
"message" : "알림 설정 상태 조회",
"data" : {
"mytamin" : {
"isOn" : false
},
"myday" : {
"isOn" : false
}
}
}
Request headers
Name | Description |
---|---|
|
*액세스 토큰 |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
|
|
마이타민 알림 |
|
|
마이데이 알림 |
|
|
알림이 켜져있는지 |
|
|
알림 지정 시간 |
마이타민 알림 ON
-
mytaminHour은 24시간 단위(0 ~ 23)의 값으로 요청한다. (ex. 오후 3시 → "15")
HTTP request
PATCH /alarm/mytamin/on HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-AUTH-TOKEN: {{ACCESS_TOKEN}}
Content-Length: 85
Host: MY-TAMIN-URL
{
"mytaminHour" : "22",
"mytaminMin" : "00",
"fcmToken" : "{{FCM_TOKEN}}"
}
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 67
{
"statusCode" : 200,
"message" : "마이타민 알림 ON"
}
Request headers
Name | Description |
---|---|
|
*액세스 토큰 |
Request fields
Path | Type | Description |
---|---|---|
|
|
*마이타민 섭취 지정 시간 HH (24시간) |
|
|
*마이타민 섭취 지정 시간 MM |
|
|
*FCM 토큰 |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
마이타민 알림 OFF
HTTP request
PATCH /alarm/mytamin/off HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-AUTH-TOKEN: {{ACCESS_TOKEN}}
Host: MY-TAMIN-URL
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 68
{
"statusCode" : 200,
"message" : "마이타민 알림 OFF"
}
Request headers
Name | Description |
---|---|
|
*액세스 토큰 |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
마이데이 알림 ON
-
마이데이 지정 시간은 각 시간에 해당하는 int 타입의 코드를 보낸다.
-
code
-
0 : "없음"
-
1 : "당일"
-
2 : "하루 전"
-
3 : "일주일 전"
-
-
해당 로직을 실행할 때, 클라이언트 측의 'FCM 토픽 구독' 작업이 추가적으로 필요하다. 아래의 토픽 이름에 따라, 사용자가 설정한 조건에 맞는 토픽을 구독한다.
-
'당일' 토픽 이름 : "myday_today"
-
'하루 전' 토픽 이름 : "myday_dayago"
-
'일주일 전' 토픽 이름 : "myday_weekago"
-
HTTP request
PATCH /alarm/myday/on/1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-AUTH-TOKEN: {{ACCESS_TOKEN}}
Host: MY-TAMIN-URL
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 67
{
"statusCode" : 200,
"message" : "마이데이 알림 ON"
}
Request headers
Name | Description |
---|---|
|
*액세스 토큰 |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |
Exception response
HTTP/1.1 400 Bad Request
Content-Type: application/json;charset=UTF-8
Content-Length: 188
{
"statusCode" : 400,
"errorCode" : 3002,
"errorName" : "INVALID_MYDAY_ALARM_CODE_ERROR",
"message" : "마이데이 알림 코드는 0 ~ 3 사이의 값이어야 합니다."
}
마이데이 알림 OFF
-
해당 로직을 실행할 때, 클라이언트 측의 'FCM 토픽 구독 해제' 작업이 추가적으로 필요하다. 아래의 토픽 이름에 따라, 사용자가 해제한 조건에 맞는 토픽을 구독 해제한다.
-
'당일' 토픽 이름 : "myday_today"
-
'하루 전' 토픽 이름 : "myday_dayago"
-
'일주일 전' 토픽 이름 : "myday_weekago"
-
HTTP request
PATCH /alarm/myday/off HTTP/1.1
Content-Type: application/json;charset=UTF-8
X-AUTH-TOKEN: {{ACCESS_TOKEN}}
Host: MY-TAMIN-URL
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 68
{
"statusCode" : 200,
"message" : "마이데이 알림 OFF"
}
Request headers
Name | Description |
---|---|
|
*액세스 토큰 |
Response fields
Path | Type | Description |
---|---|---|
|
|
HTTP 상태 코드 |
|
|
결과 메세지 |