개요
Core 서비스의 마일리지 도메인은 고객의 마일리지 적립, 사용, 취소 및 마일리지 사용자 관리 기능을 제공합니다. SMS 인증을 통한 마일리지 조회와 결제 연동이 가능하며, 숙소별로 마일리지 설정을 관리할 수 있습니다.Queries
getAccommodationMileages
숙소의 마일리지 거래 내역을 조회합니다. (관리자 전용)GraphQL Signature
파라미터
조회할 숙소 ID (관리 권한 필요)
필터 조건:
keyword: 전화번호 검색 (부분 일치)paymentType: 결제 유형 필터dateFrom: 시작 날짜dateTo: 종료 날짜
페이지당 항목 수 (기본값: 20)
페이지네이션 커서
응답
마일리지 거래 목록
id: 마일리지 거래 고유 IDphone: 고객 전화번호amount: 마일리지 금액paymentType: 결제 유형 (예: “cash”)isUsed: 사용 여부isCancelled: 취소 여부expireAt: 만료일createdAt: 생성일
페이지네이션 정보
hasNextPage: 다음 페이지 존재 여부endCursor: 다음 페이지 커서
예제
getAccommodationMileageUsers
숙소의 마일리지 사용자 목록을 조회합니다. (관리자 전용)GraphQL Signature
파라미터
조회할 숙소 ID (관리 권한 필요)
필터 조건:
keyword: 이름 또는 전화번호 검색 (부분 일치)totalVisit: 최소 방문 횟수currentMileage: 최소 보유 마일리지
페이지당 항목 수 (기본값: 20)
페이지네이션 커서
응답
마일리지 사용자 목록
id: 사용자 고유 IDphone: 전화번호name: 고객명currentMileage: 현재 보유 마일리지totalVisit: 총 방문 횟수memo: 메모createdAt: 생성일
예제
queryMileage
SMS 인증을 통한 고객 마일리지 조회 API입니다.GraphQL Signature
파라미터
조회할 전화번호
SMS 인증 토큰 (
confirmMileageSMSAuth에서 발급)숙소 ID
응답
조회한 전화번호
총 적립된 마일리지 (만료되지 않은 마일리지)
사용된 마일리지
예제
에러 처리
AUTH_NUMBER_NOT_MATCH
인증 토큰이 유효하지 않습니다. 다시 SMS 인증을 진행하세요.
Mutations
setMileageSettings
숙소의 마일리지 설정을 변경합니다. (관리자 전용)GraphQL Signature
파라미터
설정을 변경할 숙소 ID (관리 권한 필요)
설정 항목 배열:
key: 설정 키 (예: “expireAfter”)value: 설정 값
응답
변경된 설정 목록
key: 설정 키value: 설정 값
예제
addMileage
고객에게 마일리지를 수동으로 적립합니다. (관리자 전용)GraphQL Signature
파라미터
마일리지 적립 정보:
accommodationId(ID!): 숙소 IDphone(String!): 고객 전화번호amount(Int!): 적립 금액
응답
생성된 마일리지 정보
id: 마일리지 거래 IDphone: 고객 전화번호amount: 적립 금액expireAt: 만료일 (설정된 유효기간 적용)createdAt: 생성일
예제
전화번호의 하이픈(-)은 자동으로 제거되며, 만료일은 숙소의 마일리지 설정(
expireAfter)에 따라 자동 계산됩니다.cancelMileage
적립된 마일리지를 취소합니다. (관리자 전용)GraphQL Signature
파라미터
취소할 마일리지 거래 ID
응답
취소된 마일리지 정보
id: 마일리지 거래 IDisCancelled: 취소 여부 (true)
예제
에러 처리
DATA_NOT_FOUND_ON_ID
해당 ID의 마일리지를 찾을 수 없습니다.
ALREADY_PAID
이미 사용된 마일리지는 취소할 수 없습니다.
ALREADY_CANCELLED
이미 취소된 마일리지입니다.
updateMileageUser
마일리지 사용자 정보를 수정합니다. (관리자 전용)GraphQL Signature
파라미터
수정할 사용자 정보:
id(ID!): 사용자 IDaccommodationId(ID!): 숙소 IDphone(String): 전화번호name(String): 고객명memo(String): 메모
응답
수정된 사용자 정보
예제
사용 흐름
마일리지 조회 흐름 (고객용)
- SMS 인증 요청:
requestMileageSMSAuth로 인증번호 발송 - 인증 확인:
confirmMileageSMSAuth로 인증 토큰 발급 - 마일리지 조회:
queryMileage로 보유 마일리지 확인
마일리지 관리 흐름 (관리자용)
- 설정 관리:
setMileageSettings로 유효기간 등 설정 - 수동 적립:
addMileage로 고객에게 마일리지 지급 - 내역 조회:
getAccommodationMileages로 거래 내역 확인 - 취소 처리:
cancelMileage로 잘못된 적립 취소