| Screen ID |
Screen Title |
Screen Path |
| ORD-LOOKUP-01 |
비회원 주문조회 |
/non-member/order |
| ORD-LOOKUP-02 |
비회원 주문 상세 |
/non-member/transaction |
비로그인 상태에서 주문번호 · 이름 · 전화번호로 주문 상태를 조회하는 화면. 인증 없이 동작하며 하위 화면(취소·사이즈변경·반품)으로 이동 시 nonMemberQuery 파라미터로 본인 인증을 대체한다.
고객센터 번호는 스토어별로 다르게 표시한다. 각 스토어 문서에서 번호를 명시해야 개발자가 스토어별로 분기 처리할 수 있다. (예: WORKSOUT — 02-541-0854)
├── 헤더 ← 뒤로가기 / "비회원 주문조회"
├── 안내 메시지 ← 주문번호 분실 시 고객센터 안내 (스토어별 번호)
│ ├── 핸드폰 번호 ← "010" 고정 + 중간 4자리 + 마지막 4자리
│ └── 주문번호 ← 숫자만, 최대 17자리
| 항목 |
기준 |
| 전화번호 |
스토어별 상이 — 각 스토어 문서에서 명시 |
| 운영시간 |
스토어별 상이 — 각 스토어 문서에서 명시 |
| 필드 |
규칙 |
오류 메시지 |
| 이름 |
필수, 공백만 입력 불가 |
“이름을 입력해주세요.” |
| 핸드폰 번호 |
숫자만, “010” 고정, 010-0000-0000 자동 포맷 |
— |
| 주문번호 |
숫자만, 최대 17자리, 필수 |
“주문번호를 입력해주세요.” |
- 세 필드 모두 입력 완료 시 “주문 조회하기” 버튼 활성화
- 클릭 → 클라이언트 유효성 검사 → API 호출
- 성공 → 비회원 주문 상세(ORD-LOOKUP-02)로 이동
- 실패 → 오류 팝업 표시
오류 팝업 조건
| 상황 |
팝업 메시지 |
| 주문번호 없음 |
“존재하지 않는 주문번호입니다.\n입력 정보를 한번 더 확인해주세요.” |
| 이름 또는 전화번호 불일치 |
동일 메시지 (보안상 구체적 사유 미제공) |
주문번호가 존재해도 이름·전화번호가 다르면 동일한 오류 팝업이 표시된다. CS 문의 시 고객이 입력한 세 값을 모두 확인한다.
| 항목 |
회원 (ORD-DETAIL-01) |
비회원 (ORD-LOOKUP-02) |
| 인증 방식 |
로그인 토큰 |
customerName + customerPhone 파라미터 |
| 마일리지 적립 정보 |
표시 |
미표시 |
| 예치금 |
표시 |
미표시 |
| 영수증 출력 버튼 |
없음 |
있음 (receiptUrl, cashReceiptUrl) |
| 하위 화면 본인 인증 |
불필요 |
nonMemberQuery 파라미터로 전달 |
비회원 주문 상세 (ORD-LOOKUP-02)
├── 헤더 ← 뒤로가기 / "주문 상세 내역"
├── 기본 정보 ← 매장명 / 주문번호 / 주문일
│ ├── 상단 버튼 ← 주문 취소 / 사이즈 변경 / 반품 신청 (조건부)
│ └── 배송 정보 (송장번호 클릭 → 배송조회)
├── 배송 정보 ← 수령인 / 주소 / 요청사항 / 배송지 변경 버튼
└── 하단 버튼 ← 주문서 내역 출력 / 영수증 내역 출력
회원 주문 상세(ORD-DETAIL-01)와 동일한 기준 적용.
| 버튼 |
조건 |
| 주문 취소 |
productStatus == PENDING |
| 사이즈 변경 |
productStatus == PENDING AND shippingStatus == READY AND status != CANCELED AND store != RAFFLE AND onlyPay != true |
| 반품 신청 |
productStatus == DELIVERED 또는 RETURNED AND latestRequest == null AND productStatus != CANCELED AND != CONFIRMED |
비회원은 기프트카드 상품 주문이 불가하므로 기프트카드 조건은 적용되지 않는다.
| 항목 |
기준 |
| 활성화 |
productStatus == IN_DELIVERY 이상 상태 |
| 비활성화 |
이미 확정 / 취소 / 반품 상태 |
| 팝업 문구 |
“구매 확정 시 적립금이 즉시 지급 됩니다. 단, 구매 확정 시에는 해당 제품은 반품이 불가 하오니 참고부탁드립니다.” |
| 조건 |
기준 |
| 배송 상태 |
shippingStatus == READY |
| 주문 유형 |
isOffline == false |
| 버튼 |
동작 |
| 주문서 내역 출력 |
receiptUrl 새 창으로 열기 |
| 영수증 내역 출력 |
cashReceiptUrl 새 창으로 열기 |
- 팝업 차단 시 “팝업 차단을 해제하고 다시 시도해주세요” 안내
엔드포인트: POST /v1/orders/histories/{orderNumber}
인증: 없음 (Auth: None)
"customerPhone": "010-1234-5678"
- 조회 성공 →
/non-member/transaction?orderNumber={orderNumber}&customerName={customerName}&customerPhone={phone} 로 이동
- 상세 화면 진입 시 URL 쿼리에서 세 파라미터 수신 후 자동 호출
| 응답 필드 |
활용 |
orderNumber, orderedAt, store |
기본 정보 |
products[].productStatus |
버튼 활성화 조건 판단 |
products[].latestRequest |
반품 중복 신청 방지 |
shippingStatus, status |
배송지 변경 / 사이즈 변경 조건 |
receiptUrl |
주문서 출력 |
cashReceiptUrl |
영수증 출력 |
productPrice, deliveryPrice, discountPrice, paidPrice, payMethod, paidAt |
결제 정보 |
엔드포인트: POST /v1/orders/confirms/{orderNumber}
"customerPhone": "010-1234-5678",
- 성공 → “구매 확정이 완료되었습니다” 토스트 + 주문 정보 자동 갱신
비회원 하위 화면(취소·사이즈변경·반품)으로 이동 시 반드시 전달.
orderNumber={orderNumber}&customerName={customerName}&customerPhone={customerPhone}
| 증상 |
예상 원인 |
1차 조치 |
| 조회 후 오류 팝업 |
주문번호 없음 또는 이름/전화번호 불일치 |
입력 세 값 모두 재확인 유도 |
| 상세 화면 미로드 |
URL 파라미터 누락 |
orderNumber, customerName, customerPhone 전달 확인 |
| 하위 화면 본인 인증 실패 |
nonMemberQuery 미전달 |
파라미터 전달 여부 확인 |
| 버튼 전체 비활성화 |
상품 미선택 또는 상태 조건 불충족 |
체크박스 선택 + productStatus 확인 |
| 영수증 창 미열림 |
팝업 차단 |
팝업 차단 해제 안내 |
| 구매 확정 실패 |
API 오류 |
“고객센터로 문의해주세요” 안내 |
| 버전 |
날짜 |
변경 내용 |
| v1.0 |
2026-07-06 |
최초 작성 |