๋ง์ง๋ง ์
๋ฐ์ดํธ: 2026-02-11
Environment
URL
Local
http://localhost:8080/api
Dev
https://dev-api.finders.it.kr/api
Production
https://api.finders.it.kr/api
{
"success" : true ,
"code" : " MEMBER_200" ,
"message" : " ํ์ ์กฐํ์ ์ฑ๊ณตํ์ต๋๋ค." ,
"timestamp" : " 2025-01-15T12:00:00" ,
"data" : {
"id" : 1 ,
"nickname" : " finder" ,
"email" : " user@example.com"
}
}
{
"success" : false ,
"code" : " MEMBER_404" ,
"message" : " ํ์์ ์ฐพ์ ์ ์์ต๋๋ค." ,
"timestamp" : " 2025-01-15T12:00:00" ,
"data" : null
}
{
"success" : true ,
"code" : " STORE_200" ,
"message" : " ํ์์ ๋ชฉ๋ก ์กฐํ์ ์ฑ๊ณตํ์ต๋๋ค." ,
"timestamp" : " 2025-01-15T12:00:00" ,
"data" : [... ],
"pagination" : {
"page" : 0 ,
"size" : 20 ,
"total_elements" : 100 ,
"total_pages" : 5 ,
"first" : true ,
"last" : false ,
"has_next" : true ,
"has_previous" : false
}
}
JWT Bearer Token ์ฌ์ฉ
Authorization: Bearer {access_token}
Swagger UI ํ๊ทธ ์์ ๊ธฐ์ค (dev-api.finders.it.kr)
์ ์ฒด 91๊ฐ ์๋ํฌ์ธํธ
1. ์ธ์ฆ(Auth) โ ์ธ์ฆ ๋ฐ ํ ํฐ ๊ด๋ จ API
#
Method
Path
Summary
Auth
1
POST
/auth/social/login
์์
๋ก๊ทธ์ธ(๋ชจ๋ฐ์ผ Native SDK)
None
2
POST
/auth/social/login/code
์์
๋ก๊ทธ์ธ (์น ๋ธ๋ผ์ฐ์ )
None
3
POST
/auth/reissue
ํ ํฐ ์ฌ๋ฐ๊ธ
None
4
POST
/auth/owner/signup
์ฌ์ฅ๋ ํ์๊ฐ์
None
5
POST
/auth/owner/login
์ฌ์ฅ๋ ๋ก๊ทธ์ธ
None
6
POST
/auth/logout
๋ก๊ทธ์์
USER/OWNER
2. ํ์(Member) โ ํ์๊ฐ์
์๋ฃ, ํด๋ํฐ ๋ณธ์ธ ์ธ์ฆ ๋ฐ ์ฌ์ฉ์ ๊ด๋ จ API
#
Method
Path
Summary
Auth
7
GET
/members/me
๋ง์ดํ์ด์ง(๋ด ์ ๋ณด) ์กฐํ
USER/OWNER/ADMIN
8
PATCH
/members/me
๋ด ์ ๋ณด ์์
USER/OWNER/ADMIN
9
POST
/members/social/signup/complete
์์
ํ์๊ฐ์
์๋ฃ
USER
10
POST
/members/phone/verify/request
ํด๋ํฐ ์ธ์ฆ๋ฒํธ ์์ฒญ
None
11
POST
/members/phone/verify/confirm
ํด๋ํฐ ์ธ์ฆ๋ฒํธ ํ์ธ
None
12
GET
/users/nickname/check
๋๋ค์ ์ค๋ณต ํ์ธ
None
13
DELETE
/users/me
์ฌ์ฉ์(User) ํ์ ํํด
USER
3. ํ์ ์ฃผ์(User Address) โ ์ ์ ๋ฐฐ์ก์ง ๊ด๋ฆฌ API
#
Method
Path
Summary
Auth
14
GET
/users/addresses
๋ฐฐ์ก์ง ๋ชฉ๋ก ์กฐํ
USER
15
POST
/users/addresses
๋ฐฐ์ก์ง ์ถ๊ฐ
USER
4. PhotoLab_USER โ ํ์์ API
#
Method
Path
Summary
Auth
16
GET
/photo-labs
ํ์์ ๋ชฉ๋ก ์กฐํ API
None
17
GET
/photo-labs/{photoLabId}
ํ์์ ์์ธ ์กฐํ API
None
18
GET
/photo-labs/popular
์ธ๊ธฐ ํ์์ ์กฐํ API
None
19
GET
/photo-labs/regions
์ง์ญ๋ณ ํ์์ ๊ฐ์ ์กฐํ API
None
20
GET
/photo-labs/notices
ํ์์ ๊ณต์ง ์กฐํ API
None
21
GET
/photo-labs/favorites
๊ด์ฌ ํ์์ ๋ชฉ๋ก ์กฐํ(๋ฌดํ ์คํฌ๋กค)
USER
22
GET
/photo-labs/search
์ปค๋ฎค๋ํฐ์ฉ ํ์์ ๊ฒ์
None
23
GET
/photo-labs/search/autocomplete
ํ์์ ๊ฒ์์ด ์๋์์ฑ API
None
24
GET
/photo-labs/search/preview
ํ์์ ๋ชฉ๋ก ์กฐํ preview API
None
25
POST
/photo-labs/{photoLabId}/favorites
ํ์์ ์ฆ๊ฒจ์ฐพ๊ธฐ ์ถ๊ฐ API
USER
26
DELETE
/photo-labs/{photoLabId}/favorites
ํ์์ ์ฆ๊ฒจ์ฐพ๊ธฐ ์ญ์ API
USER
5. PhotoLab Reservation โ ํ์์ ์์ฝ API
#
Method
Path
Summary
Auth
27
POST
/photo-labs/{photoLabId}/reservations
ํ์์ ์์ฝ ๋ฑ๋ก
USER
28
GET
/photo-labs/{photoLabId}/reservations/available-times
ํ์์ ๋ ์ง๋ณ ์์ฝ ๊ฐ๋ฅ ์๊ฐ๋ ์กฐํ
None
29
GET
/photo-labs/{photoLabId}/reservations/{reservationId}
ํ์์ ์์ฝ๋ด์ญ ์๋ฃ ์กฐํ
USER
30
DELETE
/photo-labs/{photoLabId}/reservations/{reservationId}
ํ์์ ์์ฝ ์ทจ์
USER
6. Photo โ ํ์์ฉ ํ์/์ค์บ/์ธํ ๋ด์ญ ์กฐํ API
#
Method
Path
Summary
Auth
31
GET
/photos/me/work-in-progress
ํ์ - ๋ด ์งํ์ค ์์
์กฐํ
USER
32
GET
/photos/development-orders
ํ์ - ๋ด ํ์ ์ฃผ๋ฌธ ๋ชฉ๋ก ์กฐํ(๋ฌดํ์คํฌ๋กค)
USER
33
GET
/photos/development-orders/{developmentOrderId}/scan-results
ํ์ - ์ค์บ ๊ฒฐ๊ณผ ์ฌ์ง ๋ชฉ๋ก ์กฐํ
USER
34
GET
/photos/development-orders/{developmentOrderId}/photo-labs/account
ํ์ - ํ์ ์ฃผ๋ฌธํ ํ์์ ์ฌ์
์ ๊ณ์ข ์กฐํ
USER
35
POST
/photos/development-orders/{developmentOrderId}/receipt
ํ์ - ์ค์บ/ํ์ ๊ฒฐ๊ณผ ์๋ น ํ์
USER
36
POST
/photos/development-orders/{developmentOrderId}/print/skip
ํ์ - ์ธํ ์ํจ ํ์
USER
37
GET
/photos/print-orders/options
ํ์ - ์ธํ ์ต์
๋ชฉ๋ก ์กฐํ
None
38
POST
/photos/print-orders/quote
ํ์ - ์ธํ ์ต์
์ ๋ฐ๋ฅธ ๊ฐ๊ฒฉ ์กฐํ
USER
39
POST
/photos/print-orders
ํ์ - ์ธํ ์ฃผ๋ฌธ ์์ฑ
USER
40
POST
/photos/print-orders/{printOrderId}/deposit-receipt
ํ์ - ์
๊ธ ์บก์ฒ ๋ฑ๋ก ํ์
USER
7. Photo Restoration โ AI ์ฌ์ง ๋ณต์ API
#
Method
Path
Summary
Auth
41
GET
/restorations
๋ณต์ ์ด๋ ฅ ์กฐํ
USER
42
POST
/restorations
์ฌ์ง ๋ณต์ ์์ฒญ
USER
43
GET
/restorations/{restorationId}
๋ณต์ ๊ฒฐ๊ณผ ์กฐํ
USER
44
POST
/restorations/{restorationId}/feedback
๋ณต์ ๊ฒฐ๊ณผ ํผ๋๋ฐฑ
USER
45
POST
/restorations/{restorationId}/share
๋ณต์ ์ด๋ฏธ์ง ๊ณต์
USER
8. Community โ ์ฌ์ง ์๋ค ๊ด๋ จ API
#
Method
Path
Summary
Auth
46
GET
/posts
ํผ๋ ๋ชฉ๋ก ์กฐํ
None
47
POST
/posts
๊ฒ์๋ฌผ ์์ฑ
USER
48
GET
/posts/{postId}
๊ฒ์๋ฌผ ์์ธ ์กฐํ
None
49
DELETE
/posts/{postId}
๊ฒ์๊ธ ์ญ์
USER
50
GET
/posts/preview
์ปค๋ฎค๋ํฐ ์ฌ์ง ๋ฏธ๋ฆฌ ๋ณด๊ธฐ
None
51
GET
/posts/me
๋ด๊ฐ ์ด ๊ธ ๋ชฉ๋ก ์กฐํ
USER
52
GET
/posts/likes
๊ด์ฌ ๊ฒ์๊ธ ๋ชฉ๋ก ์กฐํ
USER
53
GET
/posts/search
์ฌ์ง ์๋ค ๊ฒ์๊ธ ๊ฒ์
None
54
GET
/posts/search/autocomplete
๊ฒ์์ด ์๋์์ฑ
None
55
GET
/posts/search/history
์ต๊ทผ ๊ฒ์์ด ๋ชฉ๋ก ์กฐํ
USER
56
DELETE
/posts/search/history/{searchHistoryId}
์ต๊ทผ ๊ฒ์์ด ๊ฐ๋ณ ์ญ์
USER
57
DELETE
/posts/search/history/all
์ต๊ทผ ๊ฒ์์ด ์ ์ฒด ์ญ์
USER
58
POST
/posts/{postId}/likes
๊ฒ์๋ฌผ ์ข์์
USER
59
DELETE
/posts/{postId}/likes
๊ฒ์๋ฌผ ์ข์์ ์ทจ์
USER
60
GET
/posts/{postId}/comments
๊ฒ์๋ฌผ ๋๊ธ ์กฐํ
None
61
POST
/posts/{postId}/comments
๊ฒ์๋ฌผ ๋๊ธ ์์ฑ
USER
62
DELETE
/posts/comments/{commentId}
๊ฒ์๋ฌผ ๋๊ธ ์ญ์
USER
9. Inquiry โ 1:1 ๋ฌธ์ API (User)
#
Method
Path
Summary
Auth
63
GET
/inquiries
๋ด ๋ฌธ์ ๋ชฉ๋ก ์กฐํ
USER
64
POST
/inquiries
๋ฌธ์ ์์ฑ
USER
65
GET
/inquiries/{inquiryId}
๋ฌธ์ ์์ธ ์กฐํ
USER
10. Owner Inquiry โ 1:1 ๋ฌธ์ API (Owner)
#
Method
Path
Summary
Auth
66
GET
/owner/inquiries
ํ์์ ๋ฌธ์ ๋ชฉ๋ก ์กฐํ
OWNER
67
GET
/owner/inquiries/{inquiryId}
ํ์์ ๋ฌธ์ ์์ธ ์กฐํ
OWNER
68
POST
/owner/inquiries/{inquiryId}/replies
๋ฌธ์ ๋ต๋ณ ์์ฑ
OWNER
11. Admin Inquiry โ 1:1 ๋ฌธ์ API (Admin)
#
Method
Path
Summary
Auth
69
GET
/admin/inquiries
์๋น์ค ๋ฌธ์ ๋ชฉ๋ก ์กฐํ
ADMIN
70
GET
/admin/inquiries/{inquiryId}
์๋น์ค ๋ฌธ์ ์์ธ ์กฐํ
ADMIN
71
POST
/admin/inquiries/{inquiryId}/replies
๋ฌธ์ ๋ต๋ณ ์์ฑ
ADMIN
12. PhotoLab_OWNER โ owner์ฉ ํ์์ API
#
Method
Path
Summary
Auth
72
POST
/owner/photo-labs
ํ์์ ๊ธฐ๋ณธ์ฌํญ ๋ฑ๋ก API
OWNER
73
POST
/owner/photo-labs/images/presigned-url
ํ์์ ์ด๋ฏธ์ง ์
๋ก๋ presigned url ๋ฐ๊ธ
OWNER
74
POST
/owner/photo-labs/images
ํ์์ ์ด๋ฏธ์ง ๋ฑ๋ก
OWNER
75
POST
/owner/photo-labs/documents/presigned-url
ํ์์ ์ฌ์
์ ๋ฑ๋ก ์๋ฅ ์
๋ก๋ presigned url ๋ฐ๊ธ API
OWNER
76
POST
/owner/photo-labs/documents
ํ์์ ์ฌ์
์ ์๋ฅ ๋ฑ๋ก
OWNER
13. Owner Photo โ ์ค๋์ฉ ํ์/์ค์บ/์ธํ API
#
Method
Path
Summary
Auth
77
POST
/owner/photo-labs/{photoLabId}/development-orders
์ค๋ - ํ์ ์ฃผ๋ฌธ ์์ฑ
OWNER
78
PATCH
/owner/photo-labs/{photoLabId}/development-orders/{developmentOrderId}/status
์ค๋ - ํ์ ์ฃผ๋ฌธ ์ํ ๋ณ๊ฒฝ
OWNER
79
POST
/owner/photo-labs/{photoLabId}/scan-photos/presigned-urls
์ค๋ - ์ค์บ ์ด๋ฏธ์ง๋ฅผ ์
๋ก๋ ํ presigned url ๋ฒํฌ ๋ฐ๊ธ(PUT)
OWNER
80
POST
/owner/photo-labs/{photoLabId}/development-orders/{developmentOrderId}/scanned-photos
์ค๋ - (์ฃผ๋ฌธ ๊ธฐ์ค) ์ค์บ ์ด๋ฏธ์ง ๋ฉํ๋ฐ์ดํฐ DB ๋ฑ๋ก
OWNER
81
PATCH
/owner/photo-labs/{photoLabId}/print-orders/{printOrderId}/printing
์ค๋ - ์ธํ ์ฃผ๋ฌธ์ ์์ ์๋ฃ ์๊ฐ ๋ฑ๋ก
OWNER
82
PATCH
/owner/photo-labs/{photoLabId}/print-orders/{printOrderId}/shipping
์ค๋ - ๋ฐฐ์ก ์ฃผ๋ฌธ ์ํ ๋ณ๊ฒฝ ๋ฐ ์ ๋ณด ๋ฑ๋ก
OWNER
83
PATCH
/owner/photo-labs/{photoLabId}/print-orders/{printOrderId}/status
์ค๋ - ํ์ ์ฃผ๋ฌธ ์๋ฃ
OWNER
14. File โ ํ์ผ ์
๋ก๋ ๋ฐ ๊ด๋ฆฌ API
#
Method
Path
Summary
Auth
84
POST
/files/presigned-url
์
๋ก๋์ฉ Presigned URL ๋ฐ๊ธ
USER/OWNER
85
GET
/files/signed-url
Private ํ์ผ ์กฐํ URL ๋ฐ๊ธ
USER/OWNER
15. ๊ฐ๋ฐ์ฉ ๋๊ตฌ โ ๊ฐ๋ฐ ๋ฐ ํ
์คํธ๋ฅผ ์ํ API
#
Method
Path
Summary
Auth
86
GET
/dev/login
์๋ฒ์ฉ ํ ํฐ ๋ฐ๊ธ
None
Payment โ ๊ฒฐ์ API @Hidden
Swagger UI์์ ์จ๊น ์ฒ๋ฆฌ๋จ (@Hidden). ์ถํ ๊ฒฐ์ ๊ธฐ๋ฅ ์์ฑ ์ ๋
ธ์ถ ์์ .
#
Method
Path
Summary
Auth
87
GET
/payments
๋ด ๊ฒฐ์ ๋ชฉ๋ก ์กฐํ
USER
88
POST
/payments/pre-register
๊ฒฐ์ ์ฌ์ ๋ฑ๋ก
USER
89
POST
/payments/complete
๊ฒฐ์ ์๋ฃ ์ฒ๋ฆฌ
USER
90
GET
/payments/{paymentId}
๊ฒฐ์ ์์ธ ์กฐํ
USER
91
POST
/payments/{paymentId}/cancel
๊ฒฐ์ ์ทจ์
USER
ํ
์คํธ ์ผ์ : 2026-02-11
์ ์ฒด ์๋ํฌ์ธํธ : 91๊ฐ
๊ฒฐ๊ณผ ์์ฝ :
โ
Passed : 52๊ฐ (200/201 ์ ์ ์๋ต ํ์ธ)
โ ๏ธ Expected Error : 27๊ฐ (๊ฒ์ฆ/๋น์ฆ๋์ค ๊ท์น ์๋ฌ โ ์๋ํฌ์ธํธ ์ ์ ์๋, ํ
์คํธ ๋ฐ์ดํฐ/ํ๋ผ๋ฏธํฐ ๋ถ์กฑ)
โ Server Error : 2๊ฐ (์์์น ๋ชปํ 500 ์๋ฌ โ ์กฐ์ฌ ํ์)
POST /auth/logout โ COMMON_500 (refreshToken ์ฟ ํค ๋ฏธ์ ๋ฌ๋ก ์ธํ ์ค๋ฅ ๊ฐ๋ฅ์ฑ)
POST /auth/reissue โ COMMON_500 (refreshToken ์ฟ ํค ๋ฏธ์ ๋ฌ๋ก ์ธํ ์ค๋ฅ ๊ฐ๋ฅ์ฑ)
๐ Not Testable : 10๊ฐ (์ค์ OAuth/SMS/ํ์ผ ์
๋ก๋/๊ฒฐ์ /์ธํ ์ฃผ๋ฌธ ๋ฑ ํ์)
์ฃผ์ ์์ ์ด๋ ฅ :
PR #442: GET /restorations Sort ํ์ฑ ๋ฒ๊ทธ ์์ (PageRequest.of() ๋ฐฉ์)
PR #442: POST /restorations SUPIR s_stage1 ํ์
๋ฒ๊ทธ ์์ (Double โ Integer)
PR #443: Sort ํ๋ผ๋ฏธํฐ @RequestParam ๋ฐฉ์ ์ ํ + ์ฝ๋๋ฆฌ๋ทฐ ๋ฐ์
PR #445: CD Docker pull ๋๋ฝ ์์ (--profile blue --profile green)
PR #448: Webhook SUPIR output ํ์ฑ ์์ (List<String> โ Object + instanceof ๋ถ๊ธฐ)
Code
Status
Message
COMMON_400
400
์๋ชป๋ ์์ฒญ์
๋๋ค.
COMMON_401
401
์ธ์ฆ์ด ํ์ํฉ๋๋ค.
COMMON_403
403
์ ๊ทผ ๊ถํ์ด ์์ต๋๋ค.
COMMON_404
404
์์ฒญํ ๋ฆฌ์์ค๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.
COMMON_405
405
ํ์ฉ๋์ง ์์ HTTP ๋ฉ์๋์
๋๋ค.
COMMON_409
409
๋ฆฌ์์ค ์ถฉ๋์ด ๋ฐ์ํ์ต๋๋ค.
COMMON_500
500
์๋ฒ ๋ด๋ถ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค.
Code
Status
Message
VALID_400
400
์
๋ ฅ๊ฐ์ด ์ฌ๋ฐ๋ฅด์ง ์์ต๋๋ค.
VALID_401
400
ํ์ ํ๋ผ๋ฏธํฐ๊ฐ ๋๋ฝ๋์์ต๋๋ค.
VALID_402
400
ํ๋ผ๋ฏธํฐ ํ์
์ด ์ฌ๋ฐ๋ฅด์ง ์์ต๋๋ค.
Code
Status
Message
AUTH_401
401
์ธ์ฆ ํ ํฐ์ด ์กด์ฌํ์ง ์์ต๋๋ค.
AUTH_402
401
์ ํจํ์ง ์์ ํ ํฐ์
๋๋ค.
AUTH_403
401
๋ง๋ฃ๋ ํ ํฐ์
๋๋ค.
AUTH_410
400
์ง์ํ์ง ์๋ ์์
๋ก๊ทธ์ธ ์ ๊ณต์์
๋๋ค.
AUTH_411
400
์์
๋ก๊ทธ์ธ ์์ฒญ ์ ๋ณด๊ฐ ์ฌ๋ฐ๋ฅด์ง ์์ต๋๋ค.
AUTH_430
403
ํด๋น ์๋น์ค์ ์ ๊ทผ ๊ถํ์ด ์๋ ๊ณ์ ํ์
์
๋๋ค.
AUTH_400
400
์์
๋ก๊ทธ์ธ์ ์คํจํ์ต๋๋ค.
AUTH_404
400
์์
ํ ํฐ ๋ฐ๊ธ์ ์คํจํ์ต๋๋ค.
AUTH_405
400
์์
์ฌ์ฉ์ ์ ๋ณด๋ฅผ ๋ถ๋ฌ์ค์ง ๋ชปํ์ต๋๋ค.
AUTH_406
401
๊ฐ์
๋์ง ์์ ์์
๊ณ์ ์
๋๋ค.
AUTH_409
409
๋ค๋ฅธ ์์
๊ณ์ ์ผ๋ก ๊ฐ์
๋ ํ์์
๋๋ค.
AUTH_412
403
์ด์ฉ์ด ์ ํ๋ ๊ณ์ ์
๋๋ค.
AUTH_413
403
ํ์ ์ฝ๊ด์ ๋์ํ์ง ์์์ต๋๋ค.
AUTH_414
403
์ถ๊ฐ ์ ๋ณด ์
๋ ฅ์ด ํ์ํฉ๋๋ค.
AUTH_415
400
์ธ์ฆ๋ฒํธ ์์ฒญ์ด ๋๋ฌด ๋ง์ต๋๋ค.
AUTH_420
400
์ธ์ฆ๋ฒํธ๊ฐ ์ฌ๋ฐ๋ฅด์ง ์์ต๋๋ค.
AUTH_421
400
์ธ์ฆ๋ฒํธ๊ฐ ๋ง๋ฃ๋์๊ฑฐ๋ ์กด์ฌํ์ง ์์ต๋๋ค.
AUTH_422
429
์ธ์ฆ ์๋ ํ์๋ฅผ ์ด๊ณผํ์ต๋๋ค.
AUTH_423
409
์ด๋ฏธ ์ธ์ฆ์ด ์๋ฃ๋ ์์ฒญ์
๋๋ค.
AUTH_503
503
ํ์ฌ ์ธ์ฆ ์๋น์ค ์ด์ฉ์ด ์ํํ์ง ์์ต๋๋ค. ์ ์ ํ ๋ค์ ์๋ํด์ฃผ์ธ์.
์ฐธ๊ณ : AUTH_401์ ๋ ๊ฐ์ง ๊ฒฝ์ฐ์ ์ฌ์ฉ๋ฉ๋๋ค: ์ธ์ฆ ํ ํฐ ๋ฏธ์กด์ฌ ๋๋ ์ด๋ฉ์ผ/๋น๋ฐ๋ฒํธ ๋ถ์ผ์น (์ฌ์ฅ๋ ๋ก๊ทธ์ธ).
Code
Status
Message
MEMBER_404
404
ํ์์ ์ฐพ์ ์ ์์ต๋๋ค.
MEMBER_409
409
์ด๋ฏธ ์กด์ฌํ๋ ํ์์
๋๋ค.
MEMBER_410
409
์ด๋ฏธ ์ฌ์ฉ ์ค์ธ ๋๋ค์์
๋๋ค.
MEMBER_411
409
์ด๋ฏธ ์ฌ์ฉ ์ค์ธ ์ด๋ฉ์ผ์
๋๋ค.
MEMBER_402
403
๋นํ์ฑํ๋์๊ฑฐ๋ ์ด๋ฏธ ํํดํ ๊ณ์ ์
๋๋ค.
MEMBER_420
400
ํด๋ํฐ ์ธ์ฆ์ด ํ์ํฉ๋๋ค.
MEMBER_421
400
ํด๋ํฐ ์ธ์ฆ์ ์คํจํ์ต๋๋ค.
MEMBER_430
403
ํ์ ์ฝ๊ด์ ๋์ํ์ง ์์์ต๋๋ค.
MEMBER_440
403
๋ฐฉ๋ฌธ ์์ ์ธ ์์ฝ ๋ด์ญ์ด ์์ต๋๋ค. ์์ฝ ์ทจ์ ํ ํํด๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
MEMBER_441
403
์งํ ์ค์ธ ํ์/์ธํ ์์
์ด ์์ต๋๋ค. ์๋ฃ ํ ์๋ํด ์ฃผ์ธ์.
MEMBER_442
403
๋ต๋ณ ๋๊ธฐ ์ค์ธ ๋ฌธ์๊ฐ ์์ต๋๋ค. ๋ต๋ณ ํ์ธ ํ ํํด๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
Code
Status
Message
STORE_404
404
ํ์์๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.
STORE_403
403
ํด๋น ํ์์์ ์ ๊ทผ ๊ถํ์ด ์์ต๋๋ค.
REGION_404
404
์ง์ญ์ ์ฐพ์ ์ ์์ต๋๋ค.
BUSINESS_HOUR_404
404
ํ์์์ ์์
์๊ฐ์ ์ฐพ์ ์ ์์ต๋๋ค.
Reservation (RESERVATION_xxx)
Code
Status
Message
RESERVATION_404
404
์์ฝ์ ์ฐพ์ ์ ์์ต๋๋ค.
RESERVATION_409
409
ํด๋น ์๊ฐ์ ์ด๋ฏธ ์์ฝ์ด ์์ต๋๋ค.
RESERVATION_400
400
์์ฝ์ ์ทจ์ํ ์ ์์ต๋๋ค.
RESERVATION_409_FULL
409
ํด๋น ์๊ฐ๋์ ์์ฝ์ด ๋ชจ๋ ๋ง๊ฐ๋์์ต๋๋ค.
RESERVATION_SLOT_404
404
์์ฝ ์ฌ๋กฏ์ ์ฐพ์ ์ ์์ต๋๋ค.
Code
Status
Message
PHOTO_404
404
์ฌ์ง์ ์ฐพ์ ์ ์์ต๋๋ค.
PHOTO_500
500
์ฌ์ง ์
๋ก๋์ ์คํจํ์ต๋๋ค.
PHOTO_501
500
์ฌ์ง ๋ณต๊ตฌ์ ์คํจํ์ต๋๋ค.
PHOTO_400_FILES_REQUIRED
400
์ค์บ ์ด๋ฏธ์ง ํ์ผ์ ํ์์
๋๋ค.
PHOTO_403_OWNER_MISMATCH
403
ํด๋น ํ์์์ ์ค๋๊ฐ ์๋๋๋ค.
PHOTO_400_RESERVATION_MISMATCH
400
ํด๋น ํ์์์ ์์ฝ์ด ์๋๋๋ค.
PHOTO_409_ORDER_EXISTS
409
์ด๋ฏธ ํด๋น ์์ฝ์ผ๋ก ํ์ ์ฃผ๋ฌธ์ด ์์ฑ๋์์ต๋๋ค.
PHOTO_400_MEMBER_REQUIRED
400
ํ์ฅ ์ ์ ์ ํ์ ์ ๋ณด๊ฐ ํ์ํฉ๋๋ค.
PHOTO_404_ORDER_NOT_FOUND
404
ํ์ ์ฃผ๋ฌธ์ ์ฐพ์ ์ ์์ต๋๋ค.
PHOTO_400_ORDER_PHOTOLAB_MISMATCH
400
ํด๋น ํ์์์ ์ฃผ๋ฌธ์ด ์๋๋๋ค.
PHOTO_400_PHOTOLAB_ACCOUNT_NOT_REGISTERED
400
ํ์์์ ์ฌ์
์ ๊ณ์ข ์ ๋ณด๊ฐ ๋ฑ๋ก๋์ด ์์ง ์์ต๋๋ค.
PHOTO_403_PHOTOLAB_ACCOUNT_ACCESS_DENIED
403
ํด๋น ์ฃผ๋ฌธ์ ๋ํ ํ์์ ๊ณ์ข ์ ๋ณด์ ์ ๊ทผํ ์ ์์ต๋๋ค.
PHOTO_404_PRINT_ORDER_NOT_FOUND
404
ํด๋น ์ธํ ์ฃผ๋ฌธ์ ์ฐพ์ ์ ์์ต๋๋ค.
PHOTO_400_PRINT_ORDER_STATUS_INVALID
400
ํ์ฌ ์ธํ ์ฃผ๋ฌธ ์ํ์์๋ ํด๋น ์์
์ ์ํํ ์ ์์ต๋๋ค.
PHOTO_403_PRINT_ORDER_OWNER_MISMATCH
403
ํด๋น ์ธํ ์ฃผ๋ฌธ์ ์ฒ๋ฆฌํ ๊ถํ์ด ์์ต๋๋ค.
PHOTO_409_PAYMENT_ALREADY_SUBMITTED
409
์ด๋ฏธ ์
๊ธ ์ฆ๋น์ด ์ ์ถ๋ ์ฃผ๋ฌธ์
๋๋ค.
PHOTO_409_DELIVERY_ALREADY_CREATED
409
์ด๋ฏธ ๋ฐฐ์ก ์ ๋ณด๊ฐ ๋ฑ๋ก๋ ์ฃผ๋ฌธ์
๋๋ค.
PHOTO_404_DELIVERY_NOT_FOUND
404
๋ฐฐ์ก ์ ๋ณด๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.
PHOTO_400_DELIVERY_STATUS_INVALID
400
ํ์ฌ ๋ฐฐ์ก ์ํ์์๋ ํด๋น ์์
์ ์ํํ ์ ์์ต๋๋ค.
PHOTO_400_PRINT_ORDER_INVALID
400
ํ์ฌ ์ธํ ์ฃผ๋ฌธ ์ํ์์๋ ํด๋น ์์
์ ์ํํ ์ ์์ต๋๋ค.
Code
Status
Message
CREDIT_402
402
ํฌ๋ ๋ง์ด ๋ถ์กฑํฉ๋๋ค.
CREDIT_404
404
ํฌ๋ ๋ง ์ ๋ณด๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.
Code
Status
Message
PAYMENT_404
404
๊ฒฐ์ ์ ๋ณด๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.
PAYMENT_409
409
์ด๋ฏธ ์กด์ฌํ๋ ๊ฒฐ์ ID์
๋๋ค.
PAYMENT_403
403
ํด๋น ๊ฒฐ์ ์ ์ ๊ทผ ๊ถํ์ด ์์ต๋๋ค.
PAYMENT_410
409
์ด๋ฏธ ์ฒ๋ฆฌ๋ ๊ฒฐ์ ์
๋๋ค.
PAYMENT_400
400
๊ฒฐ์ ๊ธ์ก์ด ์ผ์นํ์ง ์์ต๋๋ค.
PAYMENT_401
400
์ฒ๋ฆฌํ ์ ์๋ ๊ฒฐ์ ์ํ์
๋๋ค.
PAYMENT_402
400
์ทจ์ํ ์ ์๋ ๊ฒฐ์ ์ํ์
๋๋ค.
PAYMENT_500
500
๊ฒฐ์ ์ทจ์์ ์คํจํ์ต๋๋ค.
PAYMENT_412
400
์ทจ์ ๊ธ์ก์ด ๊ฒฐ์ ๊ธ์ก์ ์ด๊ณผํ ์ ์์ต๋๋ค.
PAYMENT_411
400
์นํ
๊ฒ์ฆ์ ์คํจํ์ต๋๋ค.
External API (EXTERNAL_xxx)
Code
Status
Message
EXTERNAL_503
503
์ธ๋ถ API ํธ์ถ์ ์คํจํ์ต๋๋ค.
KAKAO_502
502
์นด์นด์ค ์ฝ๊ด ๋์ ๋ด์ญ์ ๋ถ๋ฌ์ค๋ ์ค ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค.
KAKAO_500
400
์นด์นด์ค ์ฐ๊ฒฐ ๋๊ธฐ ์ค ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค.
KAKAO_401
401
์นด์นด์ค ์ธ์ฆ ์ ๋ณด๊ฐ ๋ง๋ฃ๋์๊ฑฐ๋ ์ ํจํ์ง ์์ต๋๋ค.
KAKAO_502
502
์นด์นด์ค ์๋ฒ ์ค๋ฅ๋ก ์ฝ๊ด ์ ๋ณด๋ฅผ ๋ถ๋ฌ์ค์ง ๋ชปํ์ต๋๋ค.
Code
Status
Message
STORAGE_500
500
ํ์ผ ์
๋ก๋์ ์คํจํ์ต๋๋ค.
STORAGE_501
500
ํ์ผ ์ญ์ ์ ์คํจํ์ต๋๋ค.
STORAGE_404
404
ํ์ผ์ ์ฐพ์ ์ ์์ต๋๋ค.
STORAGE_400
400
์๋ชป๋ ์ ์ฅ ๊ฒฝ๋ก์
๋๋ค.
STORAGE_401
400
ํ์ฉ๋์ง ์๋ ํ์ผ ํ์์
๋๋ค.
STORAGE_402
400
ํ์ผ ํฌ๊ธฐ๊ฐ ์ ํ์ ์ด๊ณผํ์ต๋๋ค.
STORAGE_502
500
Signed URL ์์ฑ์ ์คํจํ์ต๋๋ค.
STORAGE_403
400
ํด๋น API์์ ์ง์ํ์ง ์๋ ์
๋ก๋ ์นดํ
๊ณ ๋ฆฌ์
๋๋ค.
STORAGE_405
403
ํด๋น ๊ฒฝ๋ก์ ๋ํ ์
๋ก๋ ๊ถํ์ด ์์ต๋๋ค.
Code
Status
Message
INQUIRY_404
404
๋ฌธ์๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.
INQUIRY_403
403
ํด๋น ๋ฌธ์์ ์ ๊ทผ ๊ถํ์ด ์์ต๋๋ค.
INQUIRY_400
400
์ด๋ฏธ ์ข
๋ฃ๋ ๋ฌธ์์
๋๋ค.
Community (COMMUNITY_xxx)
Code
Status
Message
COMMUNITY_401
400
๋ฆฌ๋ทฐ๋ ์ต์ 20์ ์ด์ ์์ฑํด์ผ ํฉ๋๋ค.
COMMUNITY_402
400
๋ฆฌ๋ทฐ๋ ์ต๋ 300์ ์ด๋ด๋ก ์์ฑํด์ผ ํฉ๋๋ค.