Skip to main content
하나의 객체 구조가 SDK 전체를 흐르고 있어요. getCart()가 반환하는 것, cart_loadedcart_updated가 핸들러에 전달하는 것, 커스텀 코드 블록이 받는 것이 모두 이것이에요.
모든 금액은 통화의 최소 단위(USD는 센트)이며, 형식이 지정된 문자열이 아니에요. 5779는 $57.79예요. 표시할 때는 formatMoney를 사용하세요.

Cart

itemCount가 항상 items의 합계인 것은 아니에요. items는 배송 보호처럼 드로어가 숨기는 애드온 라인을 포함해 실제 Shopify 장바구니를 그대로 반영해요. itemCount는 장바구니 배지와 일치하는 쇼핑객 대상 숫자예요. “쇼핑객이 몇 개를 선택했는가”에는 itemCount를, 장바구니가 렌더링하는 라인을 순회하려면 items를 사용하세요.items에서 완전히 빠지는 두 가지가 있어요: setHidden으로 숨긴 라인과, 앵커로 이동하는 번들 하위 항목이에요. 둘 다 Shopify에서 직접 가져오는 장바구니 합계에는 여전히 포함돼요.

장바구니 라인

items의 각 항목과 item_addeditem_removeditem이에요:
properties에는 상품 폼의 커스텀 텍스트 필드 같은 쇼핑객이 입력한 값이 포함될 수 있어요. 원시 HTML이 아니라 텍스트로 렌더링하세요.

라인 식별하기

라인에 대해 동작하는 모든 경우에는 key를, 상품을 식별하는 모든 경우에는 variantId 또는 productId를 사용하세요:
속성이 다르면 같은 변형이 여러 라인에 나타날 수 있어요. 각각 다른 각인 문구를 가진 두 개의 각인 머그잔은 하나의 variantId를 공유하는 두 개의 라인이에요. 그래서 액션이 key를 받는 거예요.

라인의 가격

혼동하기 쉬운 세 가지 가격이 있어요:

번들

라인들이 번들로 묶이면 앵커 라인이 bundle 객체를 가져요. 하위 항목은 그 안으로 접혀 들어가며 더 이상 items에 개별적으로 나타나지 않아요. 그룹화 설정 방법은 다른 앱의 번들 라인 그룹화하기를 참고하세요. 각 하위 항목은 key(네이티브 구성 요소는 null), title, variantTitle, quantity, perAnchorQty, imageUrl, finalLinePrice, originalLinePrice, compareAtPrice를 가져요.

구독 플랜

라인의 활성 플랜은 sellingPlan이고, 일회성 구매의 경우 null이에요. 장바구니 전체에 대한 답이 필요하면 라인을 직접 스캔하지 말고 hasSubscriptionItems를 읽으세요. 이 필드는 items에는 표시되지만 itemCount에서는 제외되는 애드온 라인도 포함하기 때문이에요:
라인에서 선택 가능한 플랜, 즉 선택기에 표시되는 플랜은 cart 객체에 없어요. 이는 registerSubscriptionOptionsTransformregisterDefaultSubscriptionOptionSelector로 구성하세요.

다음 단계

  • 액션: 장바구니를 읽고 변경하세요.
  • 이벤트: 이 객체가 어디서 오는지 알아보세요.
  • : 인리처로 라인에 자체 데이터를 추가하세요.
  • 사용 사례: 이 필드들을 읽는 완전한 솔루션이에요.