장바구니 버튼 구현하기

📘

이 기능을 활성화하기 위해서는 Shoplive와 협의가 필요합니다.

Shoplive와 사전 협의를 통해 장바구니 버튼을 노출하고, 해당 버튼에 대한 custom action을 정의할 수 있습니다.

장바구니 버튼을 구현하기 위하여 다음 가이드를 참고하세요.


messageCallback

사용자가 장바구니 버튼을 클릭할 때 발생하는 message callback을 구현하여 원하는 기능을 정의할 수 있습니다.

actionpayload설명
CLICK_PRODUCT_CARTjson object장바구니 버튼 클릭 시 호출되는 message callback 입니다.

Payload 객체

NameTypeExampleDescription
campaignIdLosslessNumber{
value: "16943",
type: "LosslessNumber",
isLosslessNumber: true
}
현재 캠페인 Id.
LosslessNumber 타입의 객체에서 값을 얻기 위해 campaignId.value 를 사용합니다.
goodsIdLosslessNumber{
value: "44153",
type: "LosslessNumber",
isLosslessNumber: true
}
cart에 담은 상품 Id.
LosslessNumber 타입의 객체에서 값을 얻기 위해 goodsId.value 를 사용합니다.
namestring샵라이브 반팔티상품 이름
brandstring샵라이브상품 브랜드
descriptionstring솔리드 무지 쿨 반팔티상품 상세 설명
urlstringhttps://shoplive.cloud상품 url
skustringprod123sp상품 식별 코드
showingNowbooleantrue | false상품 now 표시 여부
salesStatusstringON_SALE | ALMOST_SOLD_OUT | SOLD_OUT판매 상태 표시
auctionStatusstringREADY | ONGOING | ENDED경매 상태
originalPricestring1100판매가
discountedPricestring800할인가
discountPercentagestring20할인율
currencystringKRW상품 표시 통화
isCartOnbooleantrue | falsecart 담기 요청
campaignKeystring12e1cc456e7a캠페인키

샘플 코드

Shoplive 플레이어에서 장바구니 버튼 클릭 시 호출되는 message callback을 구현하는 샘플 코드입니다.

CLICK_PRODUCT_CART: function (payload) {
  const { goodsId, campaignId, campaignKey, name, isCartOn } = payload;

  fetch("cart update api address")
    .then((res) => res.json())
    .then((res) => {
      if (res.success) {
        alert(`${name}를 장바구니에 추가했습니다.`);
      }
    });
}