주문 생성
POST /orders
권한: CUSTOMER
Request Fields
| Path | Type | Description |
|---|---|---|
|
|
장바구니 ID |
|
|
배달 주소 ID |
|
|
가게 요청 메시지 |
|
|
배달 요청 메시지 |
HTTP Request Example
POST /orders HTTP/1.1
Content-Type: application/json
Content-Length: 157
Host: localhost:8080
{"cartId":"c218234e-041b-499e-9077-15539660b1e9","addressId":"05e48383-2cf8-4f24-8177-982b436c71c1","storeRequestMessage":null,"deliveryRequestMessage":null}
Response Fields
| Path | Type | Description |
|---|---|---|
|
|
응답 코드 |
|
|
HTTP 상태 |
|
|
응답 메시지 |
|
|
생성된 주문 ID |
|
|
주문 상태 |
HTTP Response Example
HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 189
{"code":"OR201","status":"CREATED","message":"주문 생성 성공","data":{"orderId":"a7d4efad-7e09-4e2a-a93f-f9d1699a2054","status":"CREATED"},"timestamp":"2026-03-11T10:10:06.164216027"}
주문 목록 조회
GET /orders
권한: CUSTOMER, OWNER
-
CUSTOMER: 본인 주문 목록 조회
-
OWNER:
storeId파라미터로 본인 가게 주문 목록 조회
Request Parameters
Unresolved directive in order.adoc - include::/home/runner/work/baedalsodae/baedalsodae/build/generated-snippets/order/get-orders/request-parameters.adoc[]
HTTP Request Example
GET /orders?size=10 HTTP/1.1
Host: localhost:8080
Response Fields
| Path | Type | Description |
|---|---|---|
|
|
응답 코드 |
|
|
HTTP 상태 |
|
|
응답 메시지 |
|
|
주문 목록 |
|
|
주문 ID |
|
|
가게 ID |
|
|
주문 번호 |
|
|
주문 상태 |
|
|
가게명 |
|
|
최종 결제 금액 |
|
|
생성일시 (커서용) |
|
|
생성일시 |
|
|
다음 페이지 존재 여부 |
|
|
다음 페이지 커서 - 기준 생성일시 |
|
|
다음 페이지 커서 - 기준 주문 ID |
HTTP Response Example
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 551
{"code":"OR202","status":"OK","message":"주문 목록 조회 성공","data":{"orders":[{"orderId":"47b90965-1f46-4bdc-aee4-7bd4a34f7267","storeId":"886144fc-d639-479e-b259-46ee89d9f6af","orderNo":"ORD-001","status":"CREATED","storeNameSnapshot":"테스트 가게","finalAmount":20000,"createdAtCursor":"2026-03-11T10:10:06.099955460Z","createdAt":"2026-03-11T10:10:06.099942335"}],"hasNext":true,"nextCursorCreatedAt":"2026-03-11T10:10:06.099955460Z","nextCursorId":"47b90965-1f46-4bdc-aee4-7bd4a34f7267"},"timestamp":"2026-03-11T10:10:06.101757355"}
주문 상세 조회
GET /orders/{orderId}
권한: CUSTOMER, OWNER
-
OWNER는
storeId파라미터 필요
Path Parameters
| Parameter | Description |
|---|---|
|
주문 ID |
Request Parameters
Unresolved directive in order.adoc - include::/home/runner/work/baedalsodae/baedalsodae/build/generated-snippets/order/get-order-detail/request-parameters.adoc[]
HTTP Request Example
GET /orders/934e8577-1223-4c06-a4dc-ad1ccd3a184c HTTP/1.1
Host: localhost:8080
Response Fields
| Path | Type | Description |
|---|---|---|
|
|
응답 코드 |
|
|
HTTP 상태 |
|
|
응답 메시지 |
|
|
주문 ID |
|
|
주문 번호 |
|
|
주문자 닉네임 |
|
|
주문자 전화번호 |
|
|
가게 ID |
|
|
가게명 |
|
|
주문 상태 |
|
|
가게 요청 사항 |
|
|
배달 요청 사항 |
|
|
배달 주소 |
|
|
총 금액 |
|
|
배달비 |
|
|
할인 금액 |
|
|
최종 결제 금액 |
|
|
주문 아이템 목록 |
|
|
주문 생성일시 |
|
|
주문 요청일시 |
HTTP Response Example
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 705
{"code":"OR203","status":"OK","message":"주문 상세 조회 성공","data":{"orderId":"934e8577-1223-4c06-a4dc-ad1ccd3a184c","orderNo":"ORD-20260310-0001","userNickname":"테스트고객","userPhone":"010-1234-5678","storeId":"643d9ef6-f079-4a79-8af1-31d436728fda","storeName":"테스트 가게","status":"CREATED","storeRequestNote":"요청사항 없음","deliveryRequestNote":"문 앞에 놓아주세요","deliveryAddressSnapshot":"서울특별시 강남구 테헤란로 1","totalAmount":10000,"deliveryFee":3000,"discountAmount":0,"finalAmount":13000,"items":[],"orderCreatedAt":"2026-03-11T10:10:06.403128718","orderedAt":"2026-03-11T10:10:06.403136152"},"timestamp":"2026-03-11T10:10:06.405123191"}
주문 상태 조회
GET /orders/{orderId}/status
권한: CUSTOMER, OWNER
-
OWNER는
storeId파라미터 필요
Path Parameters
| Parameter | Description |
|---|---|
|
주문 ID |
Request Parameters
Unresolved directive in order.adoc - include::/home/runner/work/baedalsodae/baedalsodae/build/generated-snippets/order/get-order-status/request-parameters.adoc[]
HTTP Request Example
GET /orders/c6b758fc-9cab-4323-b1cf-0504278e8099/status HTTP/1.1
Host: localhost:8080
Response Fields
| Path | Type | Description |
|---|---|---|
|
|
응답 코드 |
|
|
HTTP 상태 |
|
|
응답 메시지 |
|
|
주문 ID |
|
|
현재 주문 상태 |
|
|
상태 전이 이력 목록 |
HTTP Response Example
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 213
{"code":"OR204","status":"OK","message":"주문 상태 조회 성공","data":{"orderId":"c6b758fc-9cab-4323-b1cf-0504278e8099","currentStatus":"CREATED","histories":[]},"timestamp":"2026-03-11T10:10:06.071203589"}
주문 요청
POST /orders/{orderId}/request
권한: CUSTOMER
-
결제 완료 후 가게에 주문을 요청합니다.
CREATED상태의 주문만 가능합니다.
Path Parameters
| Parameter | Description |
|---|---|
|
주문 ID |
HTTP Request Example
POST /orders/8387709f-3bda-4cf8-90a5-1ab434b7a12b/request HTTP/1.1
Host: localhost:8080
Content-Type: application/x-www-form-urlencoded
Response Fields
| Path | Type | Description |
|---|---|---|
|
|
응답 코드 |
|
|
HTTP 상태 |
|
|
응답 메시지 |
|
|
주문 ID |
|
|
변경된 주문 상태 |
|
|
결제 상태 |
HTTP Response Example
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 212
{"code":"OR205","status":"OK","message":"주문 요청 성공","data":{"orderId":"8387709f-3bda-4cf8-90a5-1ab434b7a12b","orderStatus":"REQUESTED","paymentStatus":null},"timestamp":"2026-03-11T10:10:06.361645437"}
주문 수락
POST /orders/{orderId}/accept
권한: OWNER
-
REQUESTED상태의 주문만 수락 가능합니다.
Path Parameters
| Parameter | Description |
|---|---|
|
주문 ID |
Request Parameters
Unresolved directive in order.adoc - include::/home/runner/work/baedalsodae/baedalsodae/build/generated-snippets/order/accept-order/request-parameters.adoc[]
HTTP Request Example
POST /orders/a654cbfe-51ff-4748-9314-28daf298c117/accept?storeId=3d4577d4-27f6-43b8-8a3a-c44acef5974d HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: localhost:8080
Response Fields
| Path | Type | Description |
|---|---|---|
|
|
응답 코드 |
|
|
HTTP 상태 |
|
|
응답 메시지 |
|
|
주문 ID |
|
|
변경된 주문 상태 |
|
|
결제 상태 |
HTTP Response Example
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 211
{"code":"OR206","status":"OK","message":"주문 수락 성공","data":{"orderId":"a654cbfe-51ff-4748-9314-28daf298c117","orderStatus":"ACCEPTED","paymentStatus":null},"timestamp":"2026-03-11T10:10:05.996344948"}
주문 거절
POST /orders/{orderId}/reject
권한: OWNER
-
REQUESTED상태의 주문만 거절 가능합니다.
Path Parameters
| Parameter | Description |
|---|---|
|
주문 ID |
Request Parameters
Unresolved directive in order.adoc - include::/home/runner/work/baedalsodae/baedalsodae/build/generated-snippets/order/reject-order/request-parameters.adoc[]
HTTP Request Example
POST /orders/463421d1-9d19-4857-bd09-f1fd305d5ac8/reject?storeId=1abcb629-5797-4432-9a55-54540a2af5a2 HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: localhost:8080
Response Fields
| Path | Type | Description |
|---|---|---|
|
|
응답 코드 |
|
|
HTTP 상태 |
|
|
응답 메시지 |
|
|
주문 ID |
|
|
변경된 주문 상태 |
|
|
결제 상태 |
HTTP Response Example
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 211
{"code":"OR207","status":"OK","message":"주문 거절 성공","data":{"orderId":"463421d1-9d19-4857-bd09-f1fd305d5ac8","orderStatus":"REJECTED","paymentStatus":null},"timestamp":"2026-03-11T10:10:06.348035221"}
조리 완료
POST /orders/{orderId}/cooked
권한: OWNER
-
ACCEPTED상태의 주문만 조리 완료 처리 가능합니다.
Path Parameters
| Parameter | Description |
|---|---|
|
주문 ID |
Request Parameters
Unresolved directive in order.adoc - include::/home/runner/work/baedalsodae/baedalsodae/build/generated-snippets/order/complete-cooking/request-parameters.adoc[]
HTTP Request Example
POST /orders/9048ea8f-c924-406b-861f-352596f2ff48/cooked?storeId=9a148ecb-d885-4c1e-b7f3-9a159df68ed5 HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: localhost:8080
Response Fields
| Path | Type | Description |
|---|---|---|
|
|
응답 코드 |
|
|
HTTP 상태 |
|
|
응답 메시지 |
|
|
주문 ID |
|
|
변경된 주문 상태 |
|
|
결제 상태 |
HTTP Response Example
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 208
{"code":"OR208","status":"OK","message":"조리 완료 성공","data":{"orderId":"9048ea8f-c924-406b-861f-352596f2ff48","orderStatus":"COOKED","paymentStatus":null},"timestamp":"2026-03-11T10:10:06.03004716"}
배달 시작
POST /orders/{orderId}/delivering
권한: OWNER
-
COOKED상태의 주문만 배달 시작 가능합니다.
Path Parameters
| Parameter | Description |
|---|---|
|
주문 ID |
Request Parameters
Unresolved directive in order.adoc - include::/home/runner/work/baedalsodae/baedalsodae/build/generated-snippets/order/start-delivery/request-parameters.adoc[]
HTTP Request Example
POST /orders/3c48eb6d-4319-4eb5-adb4-471b76eed402/delivering?storeId=0b88e81d-7bd0-4db3-be7d-456724f0e947 HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: localhost:8080
Response Fields
| Path | Type | Description |
|---|---|---|
|
|
응답 코드 |
|
|
HTTP 상태 |
|
|
응답 메시지 |
|
|
주문 ID |
|
|
변경된 주문 상태 |
|
|
결제 상태 |
HTTP Response Example
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 213
{"code":"OR209","status":"OK","message":"배달 시작 성공","data":{"orderId":"3c48eb6d-4319-4eb5-adb4-471b76eed402","orderStatus":"DELIVERING","paymentStatus":null},"timestamp":"2026-03-11T10:10:06.217957163"}
배달 완료
POST /orders/{orderId}/delivered
권한: OWNER
-
DELIVERING상태의 주문만 배달 완료 처리 가능합니다.
Path Parameters
| Parameter | Description |
|---|---|
|
주문 ID |
Request Parameters
Unresolved directive in order.adoc - include::/home/runner/work/baedalsodae/baedalsodae/build/generated-snippets/order/complete-delivery/request-parameters.adoc[]
HTTP Request Example
POST /orders/3b794c98-5ce3-43ae-80dc-4381d41a5fb3/delivered?storeId=2b0a7a97-04de-4738-9842-99fe616f527d HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: localhost:8080
Response Fields
| Path | Type | Description |
|---|---|---|
|
|
응답 코드 |
|
|
HTTP 상태 |
|
|
응답 메시지 |
|
|
주문 ID |
|
|
변경된 주문 상태 |
|
|
결제 상태 |
HTTP Response Example
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 211
{"code":"OR210","status":"OK","message":"배달 완료 성공","data":{"orderId":"3b794c98-5ce3-43ae-80dc-4381d41a5fb3","orderStatus":"DELIVERED","paymentStatus":null},"timestamp":"2026-03-11T10:10:06.32415815"}
주문 취소 대기 요청
POST /orders/{orderId}/cancel-request
권한: CUSTOMER, OWNER
-
CUSTOMER:
REQUESTED또는ACCEPTED상태이며 주문 생성 후 5분 이내만 가능합니다. -
OWNER:
ACCEPTED상태의 주문만 가능합니다.
Path Parameters
| Parameter | Description |
|---|---|
|
주문 ID |
Request Parameters
Unresolved directive in order.adoc - include::/home/runner/work/baedalsodae/baedalsodae/build/generated-snippets/order/cancel-request-order/request-parameters.adoc[]
HTTP Request Example
POST /orders/130216d3-a246-4bdf-8b4c-ccb398893e31/cancel-request HTTP/1.1
Host: localhost:8080
Content-Type: application/x-www-form-urlencoded
Response Fields
| Path | Type | Description |
|---|---|---|
|
|
응답 코드 |
|
|
HTTP 상태 |
|
|
응답 메시지 |
|
|
주문 ID |
|
|
변경된 주문 상태 |
|
|
결제 상태 |
HTTP Response Example
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 226
{"code":"OR211","status":"OK","message":"주문 취소 요청 성공","data":{"orderId":"130216d3-a246-4bdf-8b4c-ccb398893e31","orderStatus":"CANCEL_REQUESTED","paymentStatus":null},"timestamp":"2026-03-11T10:10:06.016750002"}
주문 취소 완료
POST /orders/{orderId}/cancel
권한: 내부 처리 (관리자/시스템)
-
CANCEL_REQUESTED상태의 주문만 최종 취소 처리 가능합니다.
Path Parameters
| Parameter | Description |
|---|---|
|
주문 ID |
HTTP Request Example
POST /orders/684c5f7e-41bb-451d-926e-55a8afc1984f/cancel HTTP/1.1
Host: localhost:8080
Content-Type: application/x-www-form-urlencoded
Response Fields
| Path | Type | Description |
|---|---|---|
|
|
응답 코드 |
|
|
HTTP 상태 |
|
|
응답 메시지 |
|
|
주문 ID |
|
|
변경된 주문 상태 |
|
|
결제 상태 |
HTTP Response Example
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 211
{"code":"OR212","status":"OK","message":"주문 취소 성공","data":{"orderId":"684c5f7e-41bb-451d-926e-55a8afc1984f","orderStatus":"CANCELED","paymentStatus":null},"timestamp":"2026-03-11T10:10:06.058366368"}