{"info":{"_postman_id":"231385a4-62aa-4789-9e47-2c98062f2417","name":"📌E-Commerce Service API 명세서","description":"<html><head></head><body><p>한정판 상품을 포함한 이커머스 서비스입니다.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"39288753","collectionId":"231385a4-62aa-4789-9e47-2c98062f2417","publishedId":"2sAYQakB2p","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2025-01-17T11:00:06.000Z"},"item":[{"name":"1️⃣ 유저","item":[{"name":"1-1. 이메일 인증 요청","id":"2f8aba9d-80d6-4930-af2f-2b279c0eab8f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"email\": \"user0@test.com\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/users/email-auth","description":"<ul>\n<li><p>이메일 중복 여부를 확인한 후, 해당 이메일로 인증번호를 발송합니다.</p>\n</li>\n<li><p>발송된 인증번호는 5분동안 유효합니다.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"http","port":"8080","path":["users","email-auth"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"2f8aba9d-80d6-4930-af2f-2b279c0eab8f"},{"name":"1-2. 회원가입","id":"ae6a9f25-6944-431b-a39e-e0e87db6a623","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"email\": \"user0@test.com\",\r\n  \"password\": \"Password123!\",\r\n  \"name\": \"name\",\r\n  \"address\": \"address\",\r\n  \"authNumber\": \"nuQo3X\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/users/signup","description":"<ul>\n<li><p>이메일 인증을 완료한 사용자만 회원가입을 진행할 수 있습니다.</p>\n</li>\n<li><p>비밀번호는 영문+숫자+특수문자를 조합하여 8자리 이상이어야 합니다.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"http","port":"8080","path":["users","signup"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"ae6a9f25-6944-431b-a39e-e0e87db6a623"},{"name":"1-4. 로그인","id":"ca92a10f-0a74-4e23-9280-c7266462c621","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"email\": \"user0@test.com\",\r\n  \"password\": \"Password123!\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/users/login","description":"<ul>\n<li>사용자가 이메일과 비밀번호로 로그인하면, Access Token 및 Refresh Token을 반환합니다.</li>\n</ul>\n","urlObject":{"protocol":"http","port":"8080","path":["users","login"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"ca92a10f-0a74-4e23-9280-c7266462c621"},{"name":"1-5. 로그아웃","id":"d63a57c5-726a-4a0f-8a62-0b47c8d7d61a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"http://localhost:8080/users/logout","description":"<ul>\n<li>해당 기기에서 로그아웃됩니다.</li>\n</ul>\n","urlObject":{"protocol":"http","port":"8080","path":["users","logout"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"d63a57c5-726a-4a0f-8a62-0b47c8d7d61a"}],"id":"47880f9b-5368-45f3-b4a6-3c5e40c5a207","description":"<p>이메일 인증, 회원가입, 로그인/로그아웃 기능을 지원합니다.</p>\n","_postman_id":"47880f9b-5368-45f3-b4a6-3c5e40c5a207"},{"name":"2️⃣ 상품","item":[{"name":"2-1. 상품 상세정보 조회","id":"978de9bd-b4ea-43ca-a840-e096dc372765","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-User-Email","value":"user0@test.com","type":"text"}],"url":"http://localhost:8080/product/1","description":"<ul>\n<li><p>특정 상품의 상세 정보를 조회합니다.</p>\n</li>\n<li><p>상품ID, 이름, 설명, 가격, 재고, 한정판 여부를 반환합니다.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"http","port":"8080","path":["product","1"],"host":["localhost"],"query":[{"disabled":true,"key":"","value":""}],"variable":[]}},"response":[],"_postman_id":"978de9bd-b4ea-43ca-a840-e096dc372765"},{"name":"2-2. 일반 상품 목록 조회","id":"d14518e7-670a-45ac-8035-e73c66325ae8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-User-Email","value":"user0@test.com","type":"text"}],"url":"http://localhost:8080/product/unlimited","description":"<ul>\n<li>항상 구매 가능한 일반 상품의 목록을 조회합니다.</li>\n</ul>\n","urlObject":{"protocol":"http","port":"8080","path":["product","unlimited"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"d14518e7-670a-45ac-8035-e73c66325ae8"},{"name":"2-3. 선착순 상품 목록 조회","id":"d06a160d-a913-4c13-ab47-acc4cfab30b7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-User-Email","value":"user0@test.com","type":"text"}],"url":"http://localhost:8080/product/limited","description":"<ul>\n<li>특정 시간에만 구매 가능한 한정판 상품의 목록을 조회합니다.</li>\n</ul>\n","urlObject":{"protocol":"http","port":"8080","path":["product","limited"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"d06a160d-a913-4c13-ab47-acc4cfab30b7"},{"name":"2-4. 남은 수량 확인","id":"af913818-5eb6-4594-b79c-a2130717cdcc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-User-Email","value":"user0@test.com","type":"text"}],"url":"http://localhost:8080/product/1/quantity","description":"<ul>\n<li>특정 상품의 현재 남은 수량을 반환합니다.</li>\n</ul>\n","urlObject":{"protocol":"http","port":"8080","path":["product","1","quantity"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"af913818-5eb6-4594-b79c-a2130717cdcc"}],"id":"b88a7c2c-01f9-4063-a4f6-ea5581e3a4dd","description":"<p>일반 상품과 한정판 상품 목록을 조회하고, 개별 상품의 상세 정보 및 남은 재고량을 확인할 수 있습니다.</p>\n","_postman_id":"b88a7c2c-01f9-4063-a4f6-ea5581e3a4dd"},{"name":"3️⃣ 위시리스트","item":[{"name":"3-1. 상품을 위시리스트에 추가","id":"4d74965a-49b9-4593-954b-72e860576ed0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-User-Email","value":"user0@test.com","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"quantity\": 2\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8083/wishlist/6","description":"<ul>\n<li><p>특정 상품을 위시리스트에 추가합니다.</p>\n</li>\n<li><p>수량(Quantity)을 포함하여 요청해야 합니다.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"http","port":"8083","path":["wishlist","6"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"4d74965a-49b9-4593-954b-72e860576ed0"},{"name":"3-2. 위시리스트 상품 수량 변경","id":"278deb20-2f83-4d90-a3a9-301fc0a3bb97","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"X-User-Email","value":"user0@test.com","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"quantity\": 1\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/wishlist/1","description":"<ul>\n<li>현재 사용자의 위시리스트 목록을 조회합니다.</li>\n</ul>\n","urlObject":{"protocol":"http","port":"8080","path":["wishlist","1"],"host":["localhost"],"query":[{"disabled":true,"key":"","value":""}],"variable":[]}},"response":[],"_postman_id":"278deb20-2f83-4d90-a3a9-301fc0a3bb97"},{"name":"3-3. 위시리스트 목록 조회","id":"d9a8bef0-a2f6-4bfc-9b7f-f2bdb3bc3067","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-User-Email","value":"user0@test.com","type":"text"}],"url":"http://localhost:8080/wishlist","description":"<ul>\n<li><p>위시리스트에 추가된 상품의 수량을 변경합니다.</p>\n</li>\n<li><p>수량(Quantity)을 포함하여 요청해야 합니다.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"http","port":"8080","path":["wishlist"],"host":["localhost"],"query":[{"disabled":true,"key":null,"value":""}],"variable":[]}},"response":[],"_postman_id":"d9a8bef0-a2f6-4bfc-9b7f-f2bdb3bc3067"},{"name":"3-4. 위시리스트 상품 삭제","id":"0dd32d00-f967-4ed8-a664-6f5e0f89b2eb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"X-User-Email","value":"user0@test.com","type":"text"}],"url":"http://localhost:8080/wishlist/2","description":"<ul>\n<li>위시리스트에서 특정 상품을 삭제합니다.</li>\n</ul>\n","urlObject":{"protocol":"http","port":"8080","path":["wishlist","2"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"0dd32d00-f967-4ed8-a664-6f5e0f89b2eb"}],"id":"16f08afd-2232-43d0-b043-39f4baab1a0f","description":"<p>상품을 위시리스트(찜 목록)에 추가하고, 목록을 조회하고, 상품의 수량을 변경하거나 삭제할 수 있습니다.</p>\n","_postman_id":"16f08afd-2232-43d0-b043-39f4baab1a0f"},{"name":"4️⃣ 주문","item":[{"name":"4-1. 주문하기","id":"bf572d34-262d-4038-b6c0-5ddcf73d60c0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-User-Email","value":"user0@test.com","type":"text"}],"body":{"mode":"raw","raw":"[\r\n    {\r\n        \"productId\": 1,\r\n        \"quantity\": 1\r\n    }\r\n]","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/order","description":"<ul>\n<li><p>사용자가 선택한 상품들을 주문합니다.</p>\n</li>\n<li><p>주문할 상품 리스트를 포함해야 합니다.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"http","port":"8080","path":["order"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"bf572d34-262d-4038-b6c0-5ddcf73d60c0"},{"name":"4-2. 주문내역 확인","id":"f690aed3-70c2-46a0-9c72-f4c4972dfa7e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-User-Email","value":"user0@test.com","type":"text"}],"url":"http://localhost:8080/order","description":"<ul>\n<li>사용자가 주문한 내역을 모두 조회합니다.</li>\n</ul>\n","urlObject":{"protocol":"http","port":"8080","path":["order"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"f690aed3-70c2-46a0-9c72-f4c4972dfa7e"},{"name":"4-3. 주문 취소","id":"dce21696-f314-4cc7-b369-fac0d46798c8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"X-User-Email","value":"user0@test.com","type":"text"}],"url":"http://localhost:8080/order/1/cancel","description":"<ul>\n<li><p>특정 주문을 취소합니다.</p>\n</li>\n<li><p>배송이 시작되기 전까지만 취소 가능합니다.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"http","port":"8080","path":["order","1","cancel"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"dce21696-f314-4cc7-b369-fac0d46798c8"},{"name":"4-4. 반품하기","id":"11edacd8-a03c-4a7b-ae88-417a361a10df","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"X-User-Email","value":"user0@test.com","type":"text"}],"url":"http://localhost:8080/order/1/return","description":"<ul>\n<li><p>특정 주문을 반품합니다.</p>\n</li>\n<li><p>상품이 배송되고 24시간 이내에만 반품 가능합니다.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"http","port":"8080","path":["order","1","return"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"11edacd8-a03c-4a7b-ae88-417a361a10df"},{"name":"4-5. 취소/반품내역 조회","id":"0d53c6e5-8e9b-430d-82a9-202bac70ac91","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-User-Email","value":"user0@test.com","type":"text"}],"url":"http://localhost:8080/order/cancel-and-return","description":"<ul>\n<li>사용자가 취소 및 반품한 목록을 조회합니다.</li>\n</ul>\n","urlObject":{"protocol":"http","port":"8080","path":["order","cancel-and-return"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"0d53c6e5-8e9b-430d-82a9-202bac70ac91"},{"name":"4-6. 최신 주문내역 5개","id":"84c227ff-1a03-4c71-b23f-212eae277dc7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[],"url":"http://localhost:8080/order/top5","urlObject":{"protocol":"http","port":"8080","path":["order","top5"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"84c227ff-1a03-4c71-b23f-212eae277dc7"}],"id":"41d8d8c2-c41e-40c2-8111-0e51ad490042","description":"<p>상품 주문, 주문목록 조회, 주문 취소, 반품 신청 기능을 제공합니다.</p>\n","_postman_id":"41d8d8c2-c41e-40c2-8111-0e51ad490042"},{"name":"5️⃣ 결제","item":[{"name":"5-1. 결제 진입","id":"7b58b968-a515-4196-af55-162db2ca91b3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-User-Email","value":"user0@test.com","type":"text"}],"url":"http://localhost:8080/payment/934","description":"<ul>\n<li><p>특정 주문에 대한 결제 프로세스를 시작합니다.</p>\n</li>\n<li><p>사용자가 결제를 취소할 경우 롤백하여 데이터 일관성을 유지합니다.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"http","port":"8080","path":["payment","934"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"7b58b968-a515-4196-af55-162db2ca91b3"},{"name":"5-2. 결제 완료","id":"5ada8a1a-7897-4157-984f-c817ab26d2a8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"X-User-Email","value":"user0@test.com","type":"text"}],"url":"http://localhost:8080/payment/933","description":"<ul>\n<li><p>특정 주문의 결제를 완료합니다.</p>\n</li>\n<li><p>한도 초과로 결제가 실패할 경우 롤백하여 데이터 일관성을 유지합니다.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"http","port":"8080","path":["payment","933"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"5ada8a1a-7897-4157-984f-c817ab26d2a8"},{"name":"5-3. 결제 프로세스","id":"3b5b84d0-a17b-4edb-9c12-a03d49290869","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-User-Email","value":"user0@test.com","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"[\r\n    {\r\n        \"productId\": 1,\r\n        \"quantity\": 5\r\n    },\r\n    {\r\n        \"productId\": 3,\r\n        \"quantity\": 2\r\n    }\r\n]\r\n","options":{"raw":{"language":"json"}}},"url":"http://localhost:8080/payment/process?productId=1&quantity=5","description":"<ul>\n<li>주문, 결제 진입, 결제 완료까지의 모든 프로세스가 한번에 수행됩니다.</li>\n</ul>\n","urlObject":{"protocol":"http","port":"8080","path":["payment","process"],"host":["localhost"],"query":[{"key":"productId","value":"1"},{"key":"quantity","value":"5"}],"variable":[]}},"response":[],"_postman_id":"3b5b84d0-a17b-4edb-9c12-a03d49290869"}],"id":"9337e14e-15a5-47f4-98ea-64feb757d982","description":"<ul>\n<li>주문한 내역에 대해 결제를 진행합니다.</li>\n</ul>\n","_postman_id":"9337e14e-15a5-47f4-98ea-64feb757d982"}]}