⭐ 목차 ⭐
*API Response는 Java Record를 사용하였습니다. 해당 Response는 템플릿을 이용하여 각 엔티티 도메인을 사용할 수 있도록 하였습니다.*
status: Boolean
message: String
data
EntityDomain
<aside> ✅ 메디투게더 BE의 API 예시
{
"status": true,
"message": "예약이 접수되었습니다",
"data": {
"reservationId": 6,
"managerId": 19,
"departureLocation": "부산 강서구 가덕해안로 3",
"arrivalLocation": "부치과의원",
"reservationDateTime": "2024-11-09T21:52:00",
"serviceType": "전문동행",
"transportation": "대중교통",
"price": 20000,
"reservationStatus": "보류",
"patient": {
"name": "이창욱",
"phoneNumber": "01012345678",
"patientGender": "남성",
"patientRelation": "기타",
"birthDate": "1979-02-02",
"nokPhone": "01012345678"
}
}
}
</aside>
기능 | 설명 | 목적 : 에러 상황 혹은 기능 확인 | 로그인 필수 | 화면 |
---|---|---|---|---|
👤 로그인 | 로그인 | |||
• 기존 사용자가 로그인하는 경우에 올바르게 처리를 하는가 | ||||
• 새 사용자를 등록하는 경우 올바르게 처리하는가 | 로그인 | |||
👤 로그아웃 | 로그아웃 | • 만료된 Refresh 토큰 요청 시 예외가 발생하는가 | ||
• 잘못된 형식의 Refresh 토큰 요청 시 예외가 발생하는가 | ||||
• 잘못된 서명의 Refresh 토큰 요청 시 예외가 발생하는가 | ||||
• 존재하지 않는 Refresh 토큰 요청 시 예외가 발생하는가 | ||||
• 유효한 로그아웃 요청시 성공하는가 | ||||
👤 토큰 재발급 | 토큰 재발급 | • 새로운 리프레시 토큰을 올바르게 생성하는가 | ||
• 유효하지 않은 토큰 카테고리일 때 예외를 발생하는가 | ||||
• 존재하지 않는 리프레시 토큰일 때 예외 발생하는가 | ||||
• 리프레시 토큰을 삭제하는가 | ||||
• 만료된 토큰일 때 예외를 발생하는가 | ||||
• 리프레시 토큰 존재 여부 확인하는가 | ||||
🧑 회원 탈퇴(삭제) | 회원 탈퇴 | • 회원이 존재하지 않을 때 예외를 발생하는가 | ||
• 저장소에서 회원이 정상적으로 삭제되었는가 | ✅ | 메인 화면 > 회원탈퇴 | ||
🧑 회원 역할 조회 | 회원 역할 조회 | |||
(유저, 매니저) | • 회원이 존재하지 않을 때 예외를 발생하는가 | |||
• 회원의 역할을 제대로 조회하는가 | ✅ | |||
🧑 회원 상태 조회 | 회원 상태 조회 | |||
(유저, 매니저, 매니저 승인 대기중) | • 회원이 존재하지 않을 때 예외를 발생하는가 | |||
• 회원의 상태를 제대로 조회하는 가 | ✅ | |||
💳 빌링키 발급 | 빌링키 발급 | • 이미 빌링키가 존재하는 경우 | ||
• 사용자 정보가 없는 경우 | ||||
• encData가 유효하지 않은 경우 | ✅ | 예약 > 결제 > 카드 추가 화면 | ||
💳 빌링키 삭제 | 빌링키 삭제 | • 빌링키가 없는 경우 | ||
• 빌링키 삭제 실패 | ||||
• 필수 필드 누락 | ✅ | 예약 > 결제 화면 | ||
💳 빌링키 존재 유무 확인 | 사용자의 빌링키 존재 유무를 확인 | • 사용자 정보가 없는 경우 | ✅ | 예약 > 결제 화면 |
💳 결제 요청 | 결제 요청 | • 빌링키가 없는 경우 | ||
• 사용자 정보가 없는 경우 | ||||
• 예약 정보가 유효하지 않은 경우 | ||||
• 결제 처리 실패 | ||||
• 필수 필드 누락 | ✅ | 예약 > 결제 화면 | ||
💳 결제 취소 | 결제 취소 | • 결제 정보가 없는 경우 | ||
• 결제 정보와 사용자 정보가 일치하지 않는 경우 | ||||
• 결제 취소 처리 실패 | ||||
• 필수 필드 누락 | ✅ | |||
💳 단일 결제정보 조회 | 특정 결제 정보를 조회 | • 결제 정보가 없는 경우 | ✅ | |
💳 해당 유저의 결제정보 목록 조회 | 사용자의 결제 내역을 조회 | • 사용자 정보가 없는 경우 | ✅ | |
💳 해당 예약의 결제정보 목록 조회 | 특정 예약의 결제정보 목록 조회 | • 예약 정보가 없는 경우 | ✅ | |
✅ 동행 예약 신청 | 예약 정보, 매니저 정보 및 회원 정보 입력을 통해 예약 작성 | • 환자명이 비어있는 경우 | ||
• 환자 연락처가 비어 있는 경우 | ||||
• 환자 성별이 비어 있는 경우 | ||||
• 환자 관계가 비어 있지 경우 | ||||
• 환자 생년월일이 비어 있는 경우 | ||||
• 보호자 연락처가 비어있는 경우 | ||||
• 예약 출발지가 빈 값인 경우 | ||||
• 예약 도착지가 빈 값인 경우 | ||||
• 예약 시간이 비어 있는 경우 | ||||
• 예약 서비스 타입이 유효하지 않은 값인 경우 | ||||
• 예약 이동 수단이 유효하지 않은 값인 경우 | ||||
• 예약 비용이 유효하지 않은 경우 | ||||
✅ | 예약 화면 | |||
✅ 사용자 예약 조회 | 사용자가 본인의 예약 정보를 조회 | • 사용자의 예약 번호가 아닌 번호로 조회를 시도한 경우 | ||
• 로그인을 하지 않아 사용자 정보가 없는 경우 | ||||
• 해당 ID로 생성된 예약이 없는 경우 | ✅ | 메인 화면 > 예약 현황 | ||
✅ 예약 취소 | 사용자 또는 매니저가 예약을 취소 | • 사용자의 UUID가 유효하지 않은경우 | ||
• 전달받은 예약 ID가 유효하지 않은 경우 | ||||
• 이미 예약이 취소되어 있는 상태인 경우 | ✅ | 예약 현황 > 취소 요청 | ||
✅ 담당 매니저의 예약 조회 | 매니저 앞으로 된 전체 예약 조회 | • 로그인된 사용자가 아직 정식 매니저가 아닌 경우 | ✅ | 예약 현황 |
✅ 담당 매니저의 예약 상태 변경 | 매니저가 원하는 예약의 상태를 변경 | • 입력 예약 상태가 유효하지 않은 값인 경우 | ||
• 예약 ID가 유효하지 않은 경우 | ✅ | 예약 현황 > 예약 수락 / 취소 | ||
📋 매니저의 리포트 작성 | 환자의 동행 서비스가 끝난 뒤 보호자 및 사용자가 볼 수 있도록 리포트를 작성 | • 예약 ID가 유효하지 않은 경우 | ||
• 의사 소견 상세 사항이 없는 경우 | ||||
• 복약 시간이 유효하지 않은 경우 | ||||
• 유효하지 않은 복약 지도의 경우 | ||||
✅ | 예약 현황 > 동행 완료 > 리포트 작성 | |||
📋 매니저 또는 사용자의 리포트 조회 | 해당 예약의 리포트를 조회 | • 예약에 리포트가 없는 경우 | ✅ | 예약 현황 > 리포트 확인 |
⏰ 매니저의 실시간 현황 작성 | 매니저가 환자의 실시간 상태를 기록 | • 유효하지 않은 동행 상태가 입력될 경우 | ||
• 날짜 정보가 없는 경우 | ||||
• 기록 사항이 없는 경우 | ||||
• 예약 ID가 유효하지 않은 경우 | ✅ | 동행 현황 | ||
⏰ 실시간 현황 조회 | 보호자 또는 매니저가 실시간 상태를 조회 | • 예약 ID가 유효하지 않은 경우 | ✅ | 동행 현황 |