> For the complete documentation index, see [llms.txt](https://workspace-help.nhn-commerce.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://workspace-help.nhn-commerce.com/contents/recommended/prm_gift.md).

# \[엔터프라이즈] 선물하기 기능 (배송지 나중입력)

## 간단소개

* 선물하기(배송지 나중입력) 기능
  * 적용 솔루션: 샵바이 엔터프라이즈 전용
  * 요약설명
    * 구매자가 주문 시점에 배송지 정보를 넣지 않고, 받는 사람 정보(이름/휴대폰번호)만 프론트에 입력합니다.
    * 이후 받는 사람의 휴대폰 번호로 배송지를 입력할 수 있는 URL이 전송되어, 받는 사람이 직접 배송지를 나중에 입력할 수 있는 기능입니다.

***

### 프로세스 상세 설명 <a href="#undefined" id="undefined"></a>

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

### (A) 결제

주문예약 API 호출 시 아래 항목을 전송합니다. [**API 보기 >**](https://docs.shopby.co.kr/?url.primaryName=order/#/Purchase/post-payments-reserve)

* shippingAddress.usesShippingInfoLaterInput = true : 나중입력 사용여부
* shippingAddress.shippingInfoLaterInputContact : 수신자연락처
* shippingAddress 의 나머지 주소 정보는 `-` 로 전송

{% code overflow="wrap" %}

```
"receiverZipCd": "-",
"receiverAddress": "-",
"receiverDetailAddress": "-",
"receiverJibunAddress": "-",
"receiverContact1": "-"
```

{% endcode %}

***

### (B) SMS로 링크 발송

나중 배송 입력 기능을 사용하기 위해서는 아래와 같이 서비스어드민에서 설정이 필요합니다.

1. **배송지 입력 URL 설정**
   * \[서비스어드민> 서비스관리> 쇼핑몰관리 - 해당 쇼핑몰정보] 최하단 '배송 설정' 영역에서 '배송지 입력 URL'을 설정하실 수 있습니다.
   * 배송지 입력 URL은 주문 후 배송지를 나중에 입력하는 페이지 URL로써, SMS 발송 시에 해당 URL이 포함되어 선물 받은 고객이 URL 링크를 클릭하여 배송지를 입력할 수 있습니다.

{% hint style="success" %}
\[예시]

배송지 입력 URL이 <http://shoppingmall.com/orders/shipping-info?code=abcd1234> 인 경우\
<http://shoppingmall.com/orders/shipping-info?code=${encryptedShippingNo}> 로 입력하세요.
{% endhint %}

2. **배송지 입력 안내 자동 SMS 설정**
   * \[운영관리> SMS관리(포인트)> 자동 SMS설정] 주문배송 관련 메세지 중 '배송지 입력 안내' 템플릿을 사용함으로 설정하시면 선물 받는 분에게 배송지 입력 링크가 SMS로 발송됩니다.
   * 참고: 2023-01-02부터 샵바이프리미엄의 SMS 발송 방식이,  SMS 포인트 과금하여 문자 발송할 수 있도록 변경되었습니다.\
     ![](/files/TOx52g4UibwFuMZc6sXI)<br>

{% hint style="warning" %}
\[주의사항]

주문 완료 후, 배송지가 입력되기 전까지는 주문상태 ‘배송보류’ 유지되는 점 참고 부탁드립니다.
{% endhint %}

***

### (C) 선물받는 사람이 주소 입력

1. **주소입력**
   * 문자 발송 페이지에 주소를 입력하면, 나중입력 배송지 수정API 를 호출하여 배송지를 등록합니다.

> **▶ 나중입력 배송지 수정하기**
>
> PUT /later-input/shippings [**API 보기>**](https://docs.shopby.co.kr/?url.primaryName=order/#/LaterShippingInput/put-later-input-shippings)
>
> 암호화된 배송번호(encryptedShippingNo)로 나중에 입력된 배송지 정보를 수정하는 API입니다.

* 배송지 나중 입력 시 입력된 주소가 ‘지역별 추가 배송비’가 발생하는 지역인 경우, 최종 배송지 입력되지 않는 점 참고 부탁드립니다.
* (참고) 암호화된 배송번호(encryptedShippingNo)는, 문자 발송 시 배송지 입력 URL 파라미터에 포함되므로 쉽게 확인가능합니다.

***

2. **활용할 수 있는 shop API**
   * 아래 API들을 활용하여 선물하기(배송지 나중입력) 기능을 활용한 화면을 구현할 수 있습니다.

> **▶ 지역별 추가 배송비 목록 조회하기**
>
> GET /later-input/areafees [**API 보기>**](https://docs.shopby.co.kr/?url.primaryName=order/#/LaterShippingInput/get-later-input-areafees)
>
> 배송비템플릿 번호(templateNo) 또는 암호화된 배송번호(encryptedShippingNo)로 지역별 추가 배송비 목록을 조회하는 API 입니다.

* 선물받는 사람의 주소 입력 혹은 변경 시점에, 선물하기 가능/불가 지역 여부를 노출하기 위해 사용하는 API입니다.
* 지역별 추가 배송비가 발생하여 선물하기 불가한 지역인 경우, "지역별추가배송비 변동이 발생하는 주소지로는 변경이 불가합니다." alert이 발생합니다.\
  (FE 프론트단에서 문구로 노출할지 여부는 고객사에서 판단하여 처리가능합니다)

***

> **▶ 배송지 나중입력 주문 상세 조회하기**
>
> GET /later-input/order [**API 보기>**](https://docs.shopby.co.kr/?url.primaryName=order/#/LaterShippingInput/get-order-encrypted-shipping-no-later-input)
>
> 암호화된 배송번호(encryptedShippingNo)로 주문상세정보를 조회하는 API입니다.

* 선물하기(나중 배송지) 입력 페이지에서 선물받게 되는 주문에 관련된 정보(ex. 상품 정보 등)을 노출하기 위해 사용합니다.

***

> **▶ 나중입력 배송지 조회하기**
>
> GET /later-input/shippings [**API 보기>**](https://docs.shopby.co.kr/?url.primaryName=order/#/LaterShippingInput/get-later-input-shippings)
>
> 암호화된 배송번호(encryptedShippingNo)로 나중에 입력된 배송지 정보를 조회하는 API입니다.

* 배송지가 이미 입력되어 있는지 여부를 파악할 때 사용할 수 있습니다.
* 선물받는 사람이 이미 주소를 입력한 뒤 다시 해당 페이지에 접속했을 경우, 기존 입력된 정보를 노출하고 수정하게 하거나, 혹은 이미 입력완료 되었다고 실패처리할 수 있습니다.
