> For the complete documentation index, see [llms.txt](https://tech.x2bee.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://tech.x2bee.com/api-guide/store-front/order/undefined.md).

# 장바구니 등록

고객이 상품 상세 페이지에서 바로 구매하지 않고 장바구니에 상품을 담아두고 필요한 조작을 할 수 있는 기능을 제공합니다. 이를 통해 고객은 편리하게 주문을 관리하고 결제를 완료할 수 있습니다.

***

## 주요 기능

* **장바구니 등록 기능**
  * 고객이 상품 상세 페이지에서 원하는 상품을 바로 구매하는 대신 장바구니에 담을 수 있습니다.
* **장바구니 내 조작 기능**
  * 장바구니에서는 옵션 변경, 수량 조절, 상품 삭제 등 다양한 조작을 할 수 있습니다.
* **장바구니 상태 관리 기능**
  * 장바구니에 등록된 상품의 총 수량을 조회하고, 주문 가능 여부를 유효성 검사할 수 있습니다.
* **비회원과 회원 장바구니 병합 기능**
  * 비로그인 상태에서 등록된 장바구니 상품은 회원 로그인 시 자동으로 병합되어 통합된 장바구니를 제공합니다.
* **자동 삭제 기능**
  * 장바구니는 최대 보관 기간까지만 유지되며, 해당 기간을 초과할 경우 배치 프로그램에 의해 자동으로 삭제됩니다.

## 프로세스 정의

<figure><img src="/files/lxfjGlNJ6SP6ro0qpJkd" alt=""><figcaption></figcaption></figure>

{% stepper %}
{% step %}

### 장바구니 등록

사용자는 상품 상세 페이지를 통하여 상품의 옵션 정보를 선택하여 장바구니에 등록할 수 있습니다. 등록 시 상품정보 등을 조회하여 등록 가능한 상품만 장바구니에 등록됩니다.
{% endstep %}

{% step %}

### 장바구니 조회

장바구니 진입 시 장바구니에 담겨있는 상품을 조회합니다. 장바구니에 담겨 있는 상품 리스트를 통하여 각 상품의 정보(단품정보, 가격정보, 배송정보 등)를 조회하여 출력합니다.
{% endstep %}

{% step %}

### 장바구니 총 수량 조회

장바구니에 등록되어 있는 총 개수의 수량을 조회합니다.
{% endstep %}

{% step %}

### 옵션 변경

사용자는 장바구니에 등록되어 있는 상품의 수량, 옵션(사이즈, 컬러 등)을 선택하여 변경할 수 있습니다.
{% endstep %}

{% step %}

### 장바구니 삭제

사용자는 장바구니에 등록되어 있는 상품을 삭제할 수 있습니다. <br>
{% endstep %}

{% step %}

### 장바구니 병합

비회원이 로그인 시 로그인 전에 장바구니에 담았던 상품들은 로그인한 회원의 장바구니에 합쳐서 보여줍니다.
{% endstep %}

{% step %}

### 장바구니 유효성 검사

바로 구매, 주문하기 시 주문서로 넘기기 전 선택한 장바구니 상품의 데이터가 주문 가능(상품판매상태, 구매가능수량, 재고, 성인상품인증여부, 구매제한회원여부 등)한지 검사합니다.
{% endstep %}

{% step %}

### 장바구니 자동 삭제

배치 프로그램에 의해서 장바구니 최대 보관 기간을 넘긴 상품들은 삭제됩니다.
{% endstep %}
{% endstepper %}

## API 기능 목록

<table><thead><tr><th width="99">API</th><th width="329.77783203125">설명</th><th width="92.4444580078125">Server</th><th width="89.111083984375">메소드</th><th>비고</th></tr></thead><tbody><tr><td>장바구니 조회</td><td><ul><li>장바구니에 담겨있는 상품을 조회합니다. 회원은 회원번호, 비회원은 세션번호를 기준으로 조회합니다. </li><li>주문완료여부 ‘N’인 데이터만 조회합니다.</li></ul></td><td>Order</td><td>GET</td><td><a href="http://api.x2bee.com/content?msa=order&#x26;depth=%EC%9E%A5%EB%B0%94%EA%B5%AC%EB%8B%88&#x26;path=getBasket">🔗API 확인하기></a><br>상품 API 호출 (상품별 단품정보 조회(장바구니전용), 배송정책번호별 배송비 조회)</td></tr><tr><td>장바구니 총 수량 조회</td><td><ul><li>장바구니에 담겨있는 총 수량을 <br>조회합니다.</li></ul></td><td>Order</td><td>GET</td><td><a href="http://api.x2bee.com/content?msa=order&#x26;depth=%EC%9E%A5%EB%B0%94%EA%B5%AC%EB%8B%88&#x26;path=getBasketTotalCount">🔗API 확인하기></a></td></tr><tr><td>장바구니 등록</td><td><ul><li>상품을 장바구니에 등록합니다. </li><li>바로구매, 장바구니 담기 시 호출됩니다. </li><li>호출시 아래 사항들을 검증합니다.<br>- 공통:상품 판매상태, 구매 가능 수량<br>- 바로구매: 상품재고, 예약상품가능일시, 비회원성인상품구매불가, 성인 <br>상품 인증 여부, 배송비 정책, 주문자 <br>구매제한여부/연령<br>- 장바구니: 배송비 정책, 장바구니 <br>최대 수량 초과 여부</li></ul></td><td>Order</td><td>POST</td><td><a href="http://api.x2bee.com/content?msa=order&#x26;depth=%EC%9E%A5%EB%B0%94%EA%B5%AC%EB%8B%88&#x26;path=registerBasket">🔗API 확인하기></a><br>상품 API 호출 (상품별 단품정보 조회(장바구니전용))</td></tr><tr><td>장바구니 옵션 변경</td><td><ul><li>선택한 상품의 수량, 옵션(사이즈,<br>컬러 등)을 변경합니다.</li></ul></td><td>Order</td><td>PUT</td><td><a href="https://api.x2bee.com/content?msa=order&#x26;depth=%EC%9E%A5%EB%B0%94%EA%B5%AC%EB%8B%88&#x26;path=optionChangeBasket">🔗API 확인하기></a><br>상품 API 호출 (상품별 단품정보 조회(장바구니전용))</td></tr><tr><td>장바구니 삭제</td><td><ul><li>선택한 상품을 장바구니에서 <br>삭제합니다.</li><li>논리 삭제로 주문완료여부를 ‘Y’로 <br>업데이트 합니다. </li><li>쇼핑백 삭제 배치에서 물리삭제합니다.</li></ul></td><td>Order</td><td>PUT</td><td><a href="http://api.x2bee.com/content?msa=order&#x26;depth=%EC%9E%A5%EB%B0%94%EA%B5%AC%EB%8B%88&#x26;path=deleteBasket">🔗API 확인하기></a></td></tr><tr><td>장바구니 병합</td><td><ul><li>로그인 시에 비회원일때 담았던 장바구니 상품들을 로그인한 회원 장바구니로 병합합니다.</li></ul></td><td>Order</td><td>POST</td><td><a href="http://api.x2bee.com/content?msa=order&#x26;depth=%EC%9E%A5%EB%B0%94%EA%B5%AC%EB%8B%88&#x26;path=combineBsket">🔗API 확인하기></a></td></tr><tr><td>장바구니 상품 주문가능 여부 체크</td><td><ul><li>장바구니에서 바로구매 클릭 시 주문서로 넘어가기 전 선택한 장바구니 상품 데이터가 주문가능한지 검사합니다.<br>- 상품: 상품 판매 상태, 구매 가능 수량, 재고, 예약상품 가능일시, 비회원 성인상품 구매 불가, 성인상품 인증 여부<br>- 주문자: 구매제한회원 확인, 연령확인</li></ul></td><td>Order</td><td>POST</td><td><a href="http://api.x2bee.com/content?msa=order&#x26;depth=%EC%9E%A5%EB%B0%94%EA%B5%AC%EB%8B%88&#x26;path=validateBasket">🔗API 확인하기></a></td></tr></tbody></table>

## 용어 정의

<table><thead><tr><th width="106.77783203125">용어 명칭</th><th width="534.4444580078125">설명</th><th>비고</th></tr></thead><tbody><tr><td>옵션변경</td><td>장바구니에 담긴 상품의 구매 수량, 상품 옵션을 변경</td><td>옵션변경</td></tr><tr><td>바로구매</td><td>주문하고자 하는 상품을 즉시 주문서 상품페이지로 이동하여 구매하게 하는 경우</td><td>바로구매</td></tr><tr><td>선물하기</td><td>주문하고자 하는 상품을 본인 또는 타인에게 선물하는 주문 기능</td><td>선물하기</td></tr></tbody></table>

## 기타 참고 사항

* 회원은 회원번호, 비회원은 세션번호로 장바구니를 구분합니다.
* 장바구니 최대 수량은 공통코드로 관리합니다. (ST002: 장바구니 담기 최대 수량 참조)
* 장바구니 보관 기간은 공통코드로 관리합니다. (ST003: 장바구니 보관 기간 참조)
* 장바구니 삭제 배치는 매일 1회 실행됩니다.\
  장바구니 삭제 배치 경로: /batch/mbod/jobs/basketExpirationJob

***
