로그인
카카오 알림톡 인증코드 기반 사용자 인증 API입니다.
인증코드 발급
POST /account/code
휴대폰 또는 이메일로 3분간 유효한 인증코드를 발송합니다.
Headers
| 이름 | 필수 | 설명 |
|---|---|---|
Content-Type | O | application/json |
Request Body
| 파 라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
type | String | O | "mobile" 또는 "email" |
id | String | O | 휴대폰 번호 또는 이메일 주소 |
요청 예시
{
"type": "mobile",
"id": "01012345678"
}
Response
- 200 성공
- 400 파라미터 오류
{
"status": "success",
"errorType": null,
"errorCode": null,
"message": null,
"data": null
}
{
"status": "error",
"errorType": "MethodArgumentNotValidException",
"errorCode": null,
"message": "id: 값을 입력해주세요.",
"data": null
}
로그인
POST /account/login
발급받은 인증코드로 로그인합니다. 성공 시 세션 쿠키가 설정되며, 해당 사용자의 결제 내역이 함께 반환됩니다.
Headers
| 이름 | 필수 | 설명 |
|---|---|---|
Content-Type | O | application/json |
Request Body
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
type | String | O | "mobile" 또는 "email" |
id | String | O | 휴대폰 번호 또는 이메일 주소 |
code | String | O | 인증코드 |
요청 예시
{
"type": "mobile",
"id": "01012345678",
"code": "123456"
}
Response
- 200 성공
- 409 인증코드 불일치
- 401 만료
로그인 성공 시 세션 쿠키가 설정되며, 해당 사용자의 결제 내역이 함께 반환됩니다.
{
"status": "success",
"errorType": null,
"errorCode": null,
"message": null,
"data": [
{
"id": 142,
"status": "DONE",
"method": "카드",
"branch": "Gwanghwamun",
"roomNo": "3",
"startDateTime": "202603051400",
"endDateTime": "202603051550",
"amount": 12000,
"paymentDoneDateTime": "202603051230"
}
]
}
data 배열 항목 — 나의 결제내역과 동일한 구조
| 필드 | 타입 | Nullable | 설명 |
|---|---|---|---|
id | Long | N | 결제 ID |
status | String | N | DONE / WAITING_FOR_DEPOSIT / CANCELED |
method | String | N | 카드 / 간편결제 / 가상계좌 / 휴대폰 |
branch | String | N | 지점 영문명 |
roomNo | String | N | 방 번호 |
startDateTime | String | N | 시작 시간 (YYYYMMDDHHmm) |
endDateTime | String | N | 종료 시간 (YYYYMMDDHHmm) |
amount | int | N | 결제 금액 |
paymentDoneDateTime | String | N | 결제 완료 시간 (YYYYMMDDHHmm) |
virtualaccountBankName | String | Y | 가상계좌 은행명 |
virtualaccountAccountNumber | String | Y | 가상계좌 번호 |
virtualaccountDueDate | String | Y | 입금 기한 |
{
"status": "error",
"errorType": "InvalidCodeException",
"errorCode": null,
"message": "인증코드가 일치하지 않습니다.",
"data": null
}
{
"status": "error",
"errorType": "ResourceTimeOutException",
"errorCode": null,
"message": "인증코드가 만료되었습니다.",
"data": null
}