브랜드 쿠폰
1. 관리자 발급한 일반 쿠폰 목록 조회 API (GET)
엔드포인트:
GET/api/user/coupon/general
Description: 활성화된 일반 쿠폰 목록을 조회합니다. 사용자가 다운로드 받지 않은 쿠폰목록만 조회됩니다.
필드:
필드 이름
타입
설명
couponId
Long
쿠폰 ID
couponName
String
쿠폰 이름
discountPrice
Long
할인 금액
discountType
Enum (FIXED, PERCENT)
할인 방식 (정액 할인: FIXED, 정률 할인: PERCENT)
minOrderPrice
Long
최소 주문 금액
maximumDiscount
Long
최대 할인 금액 (정률 방식일 경우에만 유효)
expiredDate
LocalDateTime
쿠폰 만료일
couponDescription
String
쿠폰 상세 설명
Request:
Body: 없음
Params: 없음
Response:
Status Code: 200 (OK)
Body:
모든 일반 쿠폰을 다운로드 받았을 때:
Status Code: 200 (
OK)Body:
설명
discountType에는FIXED(정액),와PERCENT(정률)가 있습니다.ex) discountPrice=10000, discountType= FIXED라면 →10000원
ex) discountPrice=10, discountType= PERCENT라면 →10%
discountType가PERCENT(정률)일 때만 maximumDiscount (최대 할인 금액)이 올 수도 있습니다.FIXED일 때는null값으로 반환됩니다.
2. 관리자 발급한 선착순 쿠폰 조회 API (GET)
Endpoint:
GET/api/user/coupon/first-come
Description: 활성화된 선착순 쿠폰이 있는 경우 쿠폰 정보를 제공합니다.
활성화된 쿠폰이란 couponStatus가 ACTIVE이고,이는 사용자 화면에 보여주는 상태를 말합니다.
필드
필드 이름
타입
설명
couponId
Long
쿠폰 ID
couponName
String
쿠폰 이름
discountPrice
Long
할인 금액
discountType
Enum (FIXED, PERCENT)
할인 방식 (정액 할인: FIXED, 정률 할인: PERCENT)
maximumDiscount
Long
최대 할인 금액 (정률 방식일 경우에만 유효)
downloadStartDate
LocalDateTime
쿠폰 다운로드 시작일
Request:
Body: 없음
Params: 없음
Response:
활성화된 쿠폰이 있을 때:
Status Code: 200 (
OK)Body:
이미 선착순 쿠폰을 다운로드했을 때:
Status Code: 200 (
OK)Body:
선착순 쿠폰이 다 소진되었을 때:
Status Code: 200 (
OK)Body:
활성화된 쿠폰이 없을 때:
3. 가게 쿠폰 목록 조회 API (GET)
Endpoint:
POST/api/user/coupon/owner/{storeId}
Description: 가게 전용 쿠폰을 다운로드합니다.
Path Params:
storeId: 쿠폰을 발급한 가게 ID
필드
필드 이름
타입
설명
couponId
Long
쿠폰 ID
couponName
String
쿠폰 이름
discountPrice
Long
할인 금액
discountType
Enum (FIXED, PERCENT)
할인 방식 (정액 할인: FIXED, 정률 할인: PERCENT)
minOrderPrice
Long
최소 주문 금액
Request:
Path Params:
storeId: 쿠폰을 발급한 가게 ID
Body: 없음
Response:
Status Code: 200 (
OK)Body:
4. 일반 쿠폰 다운로드 API (POST)
Endpoint:
POST/api/user/coupon/download/general/{couponId}
Description: 일반 쿠폰을 다운로드합니다.
Request:
Path Params:
couponId: 다운로드할 쿠폰의 ID.
Body: 없음
Response:
Status Code: 200 (OK)
Body:
중복 다운로드 시:
Status Code: 400 (
*BAD_REQUEST*)
5. 선착순 쿠폰 다운로드 API (POST)
Endpoint:
POST/api/user/coupon/download/first-come/{couponId}
Description: 선착순 쿠폰을 다운로드합니다.
Request:
Path Params:
couponId: 다운로드할 쿠폰의 ID.
Body: 없음
Response:
처음 다운로드 시:
Status Code: 200 (OK)
Body:
중복 다운로드 시:
Status Code: 400 (
*BAD_REQUEST*)
선착순 발급 한도를 초과하였을 시:
Status Code: 400 (
*BAD_REQUEST*)
6. 가게 쿠폰 다운로드 API (POST)
Endpoint:
POST/api/user/coupon/download/owner/{couponId}
Description: 사장님이 발급한 쿠폰을 다운로드합니다.
Request:
Path Params:
couponId: 다운로드할 쿠폰의 ID.
Body: 없음
Response:
Status Code: 200 (OK)
Body:
중복 다운로드 시:
Status Code: 400 (
*BAD_REQUEST*)
7. 사용자 쿠폰함 목록 조회 API (GET)
Endpoint:
GET/api/user/coupon/box
Description: 사용자가 보유하고 있는 미사용 쿠폰 목록을 할인 금액이 큰 순서대로 조회합니다.
필드 설명
필드 이름
타입
설명
userCouponId
String
사용자 쿠폰 고유 ID
couponName
String
쿠폰 이름
discountPrice
Long
할인 금액
discountType
Enum (FIXED, PERCENT)
할인 방식 (정액 할인: FIXED, 정률 할인: PERCENT)
minOrderPrice
Long
최소 주문 금액
maximumDiscount
Long
최대 할인 금액 (정률 방식일 경우에만 유효)
expiredDate
LocalDateTime
쿠폰 만료일
couponDescription
String
쿠폰 상세 설명
storeName
String
쿠폰 발급한 가게 이름
Request:
Body: 없음
Params: 없음
Response:
Status Code: 200 (OK)
Body:
설명
discountType에는FIXED(정액),와PERCENT(정률)가 있습니다.ex) discountPrice=10000, discountType= FIXED라면 →10000원
ex) discountPrice=10, discountType= PERCENT라면 →10%
discountType가PERCENT(정률)일 때만maximumDiscount(최대 할인 금액)이 올 수도 있습니다.FIXED일 때는null값으로 반환됩니다.
가게 전용 쿠폰일때만
storeName이 반환됩니다.관리자 쿠폰(일반쿠폰/선착순쿠폰)일 경우
storeName은null입니다.
Last updated