Skip to content

사장 API Docs

Seongwon Choi edited this page Oct 14, 2024 · 1 revision
POST /api/v1/stores?_csrf=0VVpnOZ-yDZL7fbxwRRwMm0BMZWNejBJZN7nHE6qUwVfQ4KVtG0L-tVNrVdmj5LHpDlEVAllHKzrGAJkVrzRLy2cYTZrc7et HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 174
Host: localhost:8080

{"businessNumber":"1234567890","name":"가게이름","mainAddress":"서울특별시 가게동 주소구","detailAddress":"100동 108동","logoImage":"가게이미지URL.png"}

HTTP/1.1 201 Created
Location: /api/v1/stores/1
POST /api/v1/stores/1/categories?_csrf=rhksOuYyiRDFFlizR9WB4l0SYn85a8215NgSATHxjiJlaLafzS4aXt4F7yXoLmvVf_i10mlwTx0ICfSY3blwY1CQtkAHDteo HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 37
Host: localhost:8080

{"categories":["한식","도시락"]}

HTTP/1.1 200 OK
POST /api/v1/stores/1/store-images HTTP/1.1
Content-Type: multipart/form-data;charset=UTF-8; boundary=6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Host: localhost:8080

--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm Content-Disposition: form-data; name=image1; filename=test1.png Content-Type: image/png

0bcd53c6-77f7-4fe6-b8c7-f18e2ebe6ed8 --6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm Content-Disposition: form-data; name=image2; filename=test2.png Content-Type: image/png

3e1416cd-9829-4f9c-87e5-0fc55d8c9a83 --6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm Content-Disposition: form-data; name=image3; filename=test3.png Content-Type: image/png

d03890d9-47b1-4f86-8739-bf2c7060e80d --6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm--

HTTP/1.1 200 OK
Part Description

image1

파일1

image2

파일2

image3

파일3

PATCH /api/v1/stores/1/info?_csrf=WZ4OefQbvNIojivklnLjaIiZ5RyY2umMnCLL3ByGXHUyo6M4OK1rH8R42rMFuxnU8F_XDL_8yCWs7Y2hrRv7viTkOkVXkcUP HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 68
Host: localhost:8080

{"information":"가게 정보입니다. 테스트 용도입니다."}

HTTP/1.1 200 OK
DELETE /api/v1/stores/1/info HTTP/1.1
Content-Type: application/json;charset=UTF-8
Host: localhost:8080
HTTP/1.1 200 OK
PATCH /api/v1/stores/1/phone-numbers?_csrf=dSWASXTLE4ZlLL_hjbWgsEAxlsstVGEfl_98iL4h7XGRbnGzRRW2cBb7crBIGt2F6JiUiXhVu6oVZFgyrpsduosY1EGpXRfQ HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 29
Host: localhost:8080

{"phoneNumber":"01012345678"}

HTTP/1.1 200 OK
DELETE /api/v1/stores/1/phone-numbers HTTP/1.1
Content-Type: application/json;charset=UTF-8
Host: localhost:8080
HTTP/1.1 200 OK
POST /api/v1/menus HTTP/1.1
Content-Type: multipart/form-data;charset=UTF-8; boundary=6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Accept: application/json
Host: localhost:8080

--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm Content-Disposition: form-data; name=request Content-Type: application/json

{"price":10000,"name":"메뉴이름","storeId":1,"info":"메뉴정보"} --6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm Content-Disposition: form-data; name=image; filename=image.png Content-Type: image/png

5d65da82-3c25-451d-93f6-75c3224401f1 --6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm--

HTTP/1.1 201 Created
Location: /api/v1/menus/1
Part Description

request

메뉴 등록 요청

image

메뉴 이미지

Path Type Description

name

String

메뉴 이름

info

String

메뉴 정보

price

Number

메뉴 가격

storeId

Number

가게 아이디

PUT /api/v1/menus/1 HTTP/1.1
Content-Type: multipart/form-data;charset=UTF-8; boundary=6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Accept: application/json
Host: localhost:8080

--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm Content-Disposition: form-data; name=request Content-Type: application/json

{"price":10000,"name":"메뉴이름","storeId":1,"info":"메뉴정보"} --6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm Content-Disposition: form-data; name=image; filename=image.png Content-Type: image/png

65402306-cc73-40b4-a24d-4ce9d3d54328 --6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm--

HTTP/1.1 200 OK
Part Description

request

메뉴 등록 요청

image

메뉴 이미지

Path Type Description

name

String

메뉴 이름

info

String

메뉴 정보

price

Number

메뉴 가격

storeId

Number

가게 아이디

POST /api/v1/option-groups?_csrf=6nUiIXWYfSf3pA-y6AdjlNesq6SX4-VbVA0BtqxP3Jk5qTWw2hZBGUz5GRLakD6L3ypXre-Yhsak19N2bDozjpR-uKhbnwLS HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 75
Host: localhost:8080

{"name":"옵션 그룹 1","maxOptionCount":10,"required":false,"storeId":1}

HTTP/1.1 201 Created
Location: /api/v1/option-groups/1
PUT /api/v1/option-groups/1?_csrf=V8P9hnQ7fjJ3kZ9q5JuN2LCWj86xJ0HG0jH6Krfx_axSEtXMY6DMs0BdGApaoK5c1La5uoihoqyFEXjr4wTKTIWUzJRrJLOu HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 56
Host: localhost:8080

{"name":"옵션 1","maxOptionCount":500,"required":true}

HTTP/1.1 200 OK
GET /api/v1/option-groups/1?_csrf=qr3bj5e3QGnVgVMF_SR8I8EjvsivKn6go9I1VGRzADwpypVKn9zsvfXWd1n45WIwxQlIFPgbk_GeGk2NmrZWZ11EZVof-qB7 HTTP/1.1
Host: localhost:8080
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 139

{"optionGroup":{"name":"옵션 그룹 1","maxOptionCount":10,"required":false},"options":[{"name":"옵션 1","price":500,"selected":true}]}

Path Type Description

optionGroup.name

String

옵션 그룹 이름

optionGroup.maxOptionCount

Number

옵션 최대 선택 가능 개수

optionGroup.required

Boolean

옵션 필수 선택 여부

options

Array

옵션 정보 리스트

options[].name

String

옵션 이름

options[].price

Number

옵션 가격

options[].selected

Boolean

옵션 선택 여부

DELETE /api/v1/option-groups/1 HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: localhost:8080
Content-Length: 102

_csrf=rQJSbxUI3qqLPkcRKK1Gxs1fBLQofpYwyIVYZ63ucPyUTUqazztjWSw855mmC3YmGoBy9fhoKYxMGKUdq7xpU5WKQp-jfHio

HTTP/1.1 200 OK
POST /api/v1/options?_csrf=UZd_zX2ULbqDCr4QBUpReGFh2pgPGxhjD_Y7v8Vr5y48iF2NMKJJ_RmtGtuubo91YWdlTVYE9_lpei9OaZJdh6MPhE0Lujno HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 65
Host: localhost:8080

{"name":"옵션 1","price":500,"selected":true,"optionGroupId":1}

HTTP/1.1 201 Created
Location: /api/v1/options/1
PUT /api/v1/options/1?_csrf=izaFlKu3XhZV7UPDHpMCebn20xb3iSTJAaKlQHOmmaab4CZe6AXnrJrRZnR43iDzf742SN2Q_nSS7x3kN8OcchWe_ZWu2BI6 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 47
Host: localhost:8080

{"name":"옵션 1","price":500,"selected":true}

HTTP/1.1 200 OK
GET /api/v1/options/1?_csrf=RYgcNR1nN_hGg4N05OMjGbVkARmJQEcJBXTnvvbWxEoGiwhFd7ksUCUDVJlrsLpD1c4XeoxSLHvsd3MkMxDT3cPvpilluT51 HTTP/1.1
Host: localhost:8080
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 47

{"name":"옵션 1","price":500,"selected":true}

Path Type Description

name

String

옵션 이름

price

Number

옵션 가격

selected

Boolean

옵션 선택 여부

DELETE /api/v1/options/1 HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: localhost:8080
Content-Length: 102

_csrf=StAmyrYArQEZ7c7UY68DpyHkvSUPAlUpzCI6krpUbLvLzRM7K7IfroJmmDQ01Pu2UoI3xRTVkBw7NWIE_xVbp41iXIr7qXJf

HTTP/1.1 200 OK
POST /api/v1/orders/1/approve?orderId=1&_csrf=kp94uLHEpAEJXB-8zH2ckUkgwB8hiAm_0NYopJpk7QtO7I-NpfpKgIj2lWUka3qN_1CopX8W7X0Y7jCS4-NKwflW2Dh33-m- HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 26
Host: localhost:8080

{ "cookingMinute" : 90 }

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 75

{ "orderId" : 1, "estimatedCookingTime" : null, "receiptNumber" : 1 }

POST /api/v1/orders/1/reject HTTP/1.1
Content-Type: application/json;charset=UTF-8
Host: localhost:8080
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 44

{ "orderId" : 1, "rejectReason" : null }

POST /api/v1/orders?_csrf=j7m5q70lUNn9UKI9aaBCbYulLGlHUpDPKbGMwK_bo1cuIsgMu4GPnY0VYuvQNcBYXo12XerHAVEiMPPiGdO09MzskjFMQ6pu HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 360
Host: localhost:8080

{ "id" : 1, "orderNumber" : "orderNumber", "requestedDetails" : "안맵게 해주세요", "totalPrice" : 30000, "customerPhoneNumber" : "01012345678", "reservationTime" : null, "orderedAt" : "2023-09-25T15:23:10.427697", "storeId" : 1, "payment" : { "id" : 1, "amount" : 10000, "status" : "COMPLETE", "provider" : "TOSS" } }

HTTP/1.1 204 No Content
POST /api/v1/orders/1/ready HTTP/1.1
Content-Type: application/json;charset=UTF-8
Host: localhost:8080
HTTP/1.1 200 OK
GET /api/v1/orders/1/today?_csrf=jruoRUg8Zrk57D9rgwoNJNBd2yJdRHORTR-V3uQ1eleyjI9st43Mc38LVYwUjQ5bsyc5QeBr9kA4dxK8KHrwvdANSTPWuuxa HTTP/1.1
Content-Type: application/json;charset=UTF-8
Host: localhost:8080
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 235

[ { "orderNumber" : "orderNumber", "receiptNumber" : 1, "status" : null, "requestedDetails" : "안맵게 해주세요", "totalPrice" : 30000, "createdAt" : null, "customerPhoneNumber" : { }, "reservationTime" : null } ]

GET /api/v1/settlements/by-order/1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Host: localhost:8080
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 130

{"id":1,"salesAmount":10000,"paymentFee":300,"brokerageFee":600,"valueAddedFee":100,"payOutAmount":9000,"payOutDate":"2023-09-28"}

GET /api/v1/settlements/by-store/1?dateType=SALES&startDate=2023-09-25&endDate=2023-09-25 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Host: localhost:8080
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 204

[{"payOutDate":"2023-09-28","depositStatus":"SCHEDULED","salesDate":"2023-09-25","serviceType":"PACKAGING","salesAmount":10000,"paymentFee":300,"brokerageFee":600,"valueAddedFee":100,"payOutAmount":9000}]

Clone this wiki locally