@sayren/storefront-sdk 0.18.0 → 0.18.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -14,7 +14,7 @@ export type AnalyticsConsent = "granted" | "denied" | "pending";
14
14
  export interface AnalyticsOptions {
15
15
  /** 스토어프론트 API 베이스 — 예: `https://api.sayren.app/storefront/v1` */
16
16
  baseUrl: string;
17
- /** 테넌트 스토어 코드 */
17
+ /** 테넌트 상점 코드 */
18
18
  storeCode: string;
19
19
  /** 동의 상태. 기본 `pending` — 셀러의 동의 배너가 `setConsent`로 바꾼다 */
20
20
  consent?: AnalyticsConsent;
@@ -26,7 +26,7 @@ export declare class IdpCallbackError extends Error {
26
26
  export interface StorefrontAuthOptions {
27
27
  /** 예: https://api.sayren.app/storefront/v1 */
28
28
  baseUrl: string;
29
- /** 테넌트 스토어 코드 — `X-Store-Code` 헤더로 보낸다 */
29
+ /** 테넌트 상점 코드 — `X-Store-Code` 헤더로 보낸다 */
30
30
  storeCode: string;
31
31
  fetch?: typeof globalThis.fetch;
32
32
  }
@@ -104,7 +104,7 @@ export declare function createStorefrontAuth(options: StorefrontAuthOptions): {
104
104
  signOut(accessToken: string): Promise<void>;
105
105
  /**
106
106
  * 구매자 탈퇴 — 계정·배송지·위시리스트·장바구니·적립금을 지우고 토큰을 모두 무효로 만든다. 되돌릴 수 없다.
107
- * 주문·리뷰·문의 기록은 스토어가 보관한다. 진행 중인 주문이나 처리 중인 클레임이 있으면
107
+ * 주문·리뷰·문의 기록은 상점이 보관한다. 진행 중인 주문이나 처리 중인 클레임이 있으면
108
108
  * 409 `WITHDRAWAL_BLOCKED`(`error.details`: `WithdrawalBlockedDetails`)다. 앱은 성공 후 보관한 토큰을 지운다.
109
109
  */
110
110
  withdraw(accessToken: string, body: WithdrawRequest): Promise<void>;
@@ -1,4 +1,4 @@
1
- import { pt as ApiError, t as createStorefrontClient } from "../client-CQYPw2N6.mjs";
1
+ import { mt as ApiError, t as createStorefrontClient } from "../client-BNChG_51.mjs";
2
2
  //#region src/auth/index.ts
3
3
  /** 소셜 로그인 실패 — 구매자가 취소했거나(`access_denied`) state가 맞지 않는다 */
4
4
  var IdpCallbackError = class extends Error {
@@ -156,7 +156,7 @@ function createStorefrontAuth(options) {
156
156
  },
157
157
  /**
158
158
  * 구매자 탈퇴 — 계정·배송지·위시리스트·장바구니·적립금을 지우고 토큰을 모두 무효로 만든다. 되돌릴 수 없다.
159
- * 주문·리뷰·문의 기록은 스토어가 보관한다. 진행 중인 주문이나 처리 중인 클레임이 있으면
159
+ * 주문·리뷰·문의 기록은 상점이 보관한다. 진행 중인 주문이나 처리 중인 클레임이 있으면
160
160
  * 409 `WITHDRAWAL_BLOCKED`(`error.details`: `WithdrawalBlockedDetails`)다. 앱은 성공 후 보관한 토큰을 지운다.
161
161
  */
162
162
  withdraw(accessToken, body) {
@@ -95,7 +95,7 @@ function normalizeCustomInputValue(value) {
95
95
  }
96
96
  /**
97
97
  * 직접 입력값의 글자 수 — 정규화한 값의 **코드 포인트 수**다(이모지 하나가 1자). 서버의 최대 글자 수 판정(`CUSTOM_INPUT_TOO_LONG`)과
98
- * 스토어프론트·콘솔의 글자 수 표시가 이 함수 하나를 쓴다. `String.length`(UTF-16)로 세면 이모지가 2자로 세어 판정이 갈린다.
98
+ * 스토어프론트·상점 플랫폼의 글자 수 표시가 이 함수 하나를 쓴다. `String.length`(UTF-16)로 세면 이모지가 2자로 세어 판정이 갈린다.
99
99
  */
100
100
  function customInputLength(value) {
101
101
  return [...normalizeCustomInputValue(value)].length;
@@ -264,7 +264,7 @@ const checkoutDeliverySchema = z.object({
264
264
  remoteArea: remoteAreaSchema.describe("배송지 지역 구분. 배송지를 모르면 NONE"),
265
265
  remoteAreaLabel: z.string().nullable().describe("지역 안내 이름(예: 제주특별자치도). 추가 배송비 지역이 아니면 null"),
266
266
  bundleCount: z.number().int().describe("배송 묶음 수 — 배송비를 부과한 횟수다"),
267
- freeByThreshold: z.boolean().describe("스토어 전체 무료배송 기준액을 넘겨 기본 배송비를 면제했는가"),
267
+ freeByThreshold: z.boolean().describe("상점 전체 무료배송 기준액을 넘겨 기본 배송비를 면제했는가"),
268
268
  zipCode: z.string().nullable().describe("이 금액에 반영한 배송지 우편번호. null이면 배송지 미반영(추가 배송비 0)이다")
269
269
  });
270
270
  const checkoutSessionSchema = z.object({
@@ -297,7 +297,7 @@ const checkoutSessionSchema = z.object({
297
297
  }).optional().describe("**Deprecated** — 항상 `{ required: false, notice: null }`이다. 청약철회 제한 고지를 없앴고(이슈 #48) storefront-sdk 0.15 이하 호환으로만 싣는다. 게시된 스토어프론트가 0.16 이상으로 넘어간 뒤 다음 릴리스에서 뺀다"),
298
298
  expiresAt: z.string(),
299
299
  paymentOptions: z.lazy(() => paymentOptionListSchema).describe("이 주문서에서 고를 수 있는 결제 옵션, PG 우선순위순. 셀러가 켠 PG·결제수단·간편결제만 담긴다. 비어 있으면 지금 결제할 수 없다"),
300
- testPayment: z.boolean().describe("지금 결제하면 테스트 결제(샌드박스)인가. true면 실제로 돈이 나가지 않습니다 — 주문서에 테스트 결제 안내를 표시합니다. 결제 요청 시점에 스토어 결제 설정으로 다시 정해지니 최종 값은 결제 요청 응답의 `testPayment`입니다")
300
+ testPayment: z.boolean().describe("지금 결제하면 테스트 결제(샌드박스)인가. true면 실제로 돈이 나가지 않습니다 — 주문서에 테스트 결제 안내를 표시합니다. 결제 요청 시점에 상점 결제 설정으로 다시 정해지니 최종 값은 결제 요청 응답의 `testPayment`입니다")
301
301
  });
302
302
  /**
303
303
  * 배송비 미리보기 요청 — 배송지 우편번호로 배송비를 다시 계산한다. 주문서를 바꾸지 않는다(읽기 계산이다).
@@ -317,7 +317,7 @@ const paymentMethodSchema = z.enum([
317
317
  "MOBILE",
318
318
  "EASY_PAY"
319
319
  ]);
320
- /** 결제를 처리하는 PG. 셀러가 직접 계약하고 콘솔 설정 › 결제에서 연결한다 */
320
+ /** 결제를 처리하는 PG. 셀러가 직접 계약하고 상점 플랫폼 설정 › 결제에서 연결한다 */
321
321
  const pgProviderSchema = z.enum(["tosspayments", "portone"]);
322
322
  /** 간편결제사. 토스페이먼츠·포트원 모두 같은 코드를 쓴다 */
323
323
  const easyPayProviderSchema = z.enum([
@@ -471,11 +471,11 @@ const cashReceiptField = cashReceiptRequestSchema.optional().describe("현금영
471
471
  /**
472
472
  * 결제 시작 — 배송지를 확정하고 고른 결제 옵션으로 결제 시도를 연다. 응답의 `payUrl`(결제 서비스)을 팝업(`mode=popup`)이나
473
473
  * 전체 페이지로 열면 결제 서비스가 PG 결제창을 띄우고 승인까지 한다. 리다이렉트 결제가 끝나면 구매자는 `returnUrl`로 돌아온다.
474
- * `returnUrl`의 도메인은 스토어 결제 도메인(콘솔 설정 › 결제)에 등록돼 있어야 한다(테스트 결제는 localhost 허용).
474
+ * `returnUrl`의 도메인은 상점 결제 도메인(상점 플랫폼 설정 › 결제)에 등록돼 있어야 한다(테스트 결제는 localhost 허용).
475
475
  */
476
476
  const startPaymentRequestSchema = z.object({
477
477
  option: paymentOptionSchema,
478
- returnUrl: z.url().max(2048).describe("결제를 마치면 돌아올 스토어프론트 주소. 스토어 결제 도메인에 등록된 도메인이어야 한다"),
478
+ returnUrl: z.url().max(2048).describe("결제를 마치면 돌아올 스토어프론트 주소. 상점 결제 도메인에 등록된 도메인이어야 한다"),
479
479
  shippingAddress: shippingAddressInputSchema.optional().describe("배송지. 주문서의 `requiresShipping`이 true면 필수이고 없으면 400 `SHIPPING_ADDRESS_REQUIRED`다. 배송이 필요 없는 주문(배송 없는 상품만)은 보내지 않아도 된다. 보내면 형식을 검사한 뒤 버린다"),
480
480
  guest: guestInfoSchema.optional(),
481
481
  cashReceipt: cashReceiptField,
@@ -1,5 +1,5 @@
1
1
  import { a as ANALYTICS_VISITOR_HEADER, r as ANALYTICS_SESSION_HEADER } from "./analytics-CgD70OqH.mjs";
2
- import { $ as lineFulfillmentSchema, A as startPaymentRequestSchema, C as paymentStartSchema, F as checkoutPricingSchema, J as customInputViewSchema, N as applicableCouponSchema, O as retryPaymentRequestSchema, P as checkoutPricingRequestSchema, U as addonGroupViewSchema, V as myCouponSchema, X as lineSelectionResponseShape, Y as lineSelectionRequestShape, d as createCheckoutRequestSchema, et as myOrderItemFulfillmentSnapshotSchema, f as deliveryQuoteRequestSchema, m as easyPayProviderResponseSchema, nt as productFulfillmentViewSchema, p as deliveryQuoteSchema, tt as productCardFulfillmentSchema, u as checkoutSessionSchema, w as paymentStatusSchema, y as paymentMethodSchema } from "./checkout-C25liqdW.mjs";
2
+ import { $ as lineFulfillmentSchema, A as startPaymentRequestSchema, C as paymentStartSchema, F as checkoutPricingSchema, J as customInputViewSchema, N as applicableCouponSchema, O as retryPaymentRequestSchema, P as checkoutPricingRequestSchema, U as addonGroupViewSchema, V as myCouponSchema, X as lineSelectionResponseShape, Y as lineSelectionRequestShape, d as createCheckoutRequestSchema, et as myOrderItemFulfillmentSnapshotSchema, f as deliveryQuoteRequestSchema, m as easyPayProviderResponseSchema, nt as productFulfillmentViewSchema, p as deliveryQuoteSchema, tt as productCardFulfillmentSchema, u as checkoutSessionSchema, w as paymentStatusSchema, y as paymentMethodSchema } from "./checkout-PJk8g5DY.mjs";
3
3
  import { z } from "zod";
4
4
  //#region src/http.ts
5
5
  /** 표준 엔벨로프의 $.error 상세 */
@@ -320,9 +320,10 @@ const productCardSchema = z.object({
320
320
  productId: z.string(),
321
321
  name: z.string(),
322
322
  thumbnailUrl: z.url().nullable().describe("대표 이미지 주소. 등록된 이미지가 없으면 null"),
323
- salePrice: z.number().int().describe("판매가. 원(KRW) 단위 정수"),
324
- discountedPrice: z.number().int().nullable().describe("즉시 할인 적용가. 원 단위. 할인이 없으면 null"),
325
- discountRate: z.number().int().nullable().describe("할인율(%). 할인이 없으면 null"),
323
+ salePrice: z.number().int().describe("판매가. 원(KRW) 단위 정수. 즉시할인이 없으면 구매자가 내는 한 개 가격(옵션 추가금 제외)이고, 즉시할인의 기준 가격이다"),
324
+ discountedPrice: z.number().int().nullable().describe("즉시할인 적용가. 원 단위. 판매가에 즉시할인을 적용한 값이고, 있으면 이 값이 구매자가 내는 한 개 가격이다. 할인이 없으면 null"),
325
+ discountRate: z.number().int().nullable().describe("즉시할인율(%). 판매가 대비 `discountedPrice`의 할인율이다(정가 기준이 아니다). 할인이 없으면 null"),
326
+ originalPrice: z.number().int().nullable().optional().default(null).describe("정가(할인 전 표시 가격, 이슈 #82). 원 단위. 셀러가 상품에 적은 비교용 가격이고 결제 금액 계산에 쓰지 않는다. 구매자가 내는 가격은 `discountedPrice ?? salePrice`다. 정가가 그 가격보다 클 때 「정가 취소선 + 할인율 + 판매가」로 보이면 되고, 이때 할인율은 `round((1 - (discountedPrice ?? salePrice) / originalPrice) × 100)`이다. 판매가와 크기를 검증하지 않으므로 작거나 같으면 표시하지 않는다. 정하지 않았으면 null. 서버는 항상 싣는다"),
326
327
  freeShipping: z.boolean().describe("무료배송 배지. 배송 상품이고 배송비가 무료일 때만 true다(배송이 없는 상품은 false)"),
327
328
  fulfillment: productCardFulfillmentSchema,
328
329
  averageRating: z.number(),
@@ -415,10 +416,10 @@ const createClaimResultSchema = z.object({
415
416
  couponChargeRefundAmount: z.number().int().optional().default(0).describe("되돌릴 쿠폰 차감 예상액 — 앞선 취소·반품에서 뺀 쿠폰 조건 미달 차감 중 이번에 돌려받을 몫이다. 예상 환불액에 이미 반영돼 있다. 서버는 항상 싣는다")
416
417
  });
417
418
  /**
418
- * 반품지 (이슈 #30) — 반품·교환 수거가 안내하는 주소다. 스토어 주소록의 기본 반품지이거나,
419
+ * 반품지 (이슈 #30) — 반품·교환 수거가 안내하는 주소다. 상점 주소록의 기본 반품지이거나,
419
420
  * 상품이 반품지를 따로 지정했으면 그 주소다.
420
421
  *
421
- * 취소 클레임은 보낼 물건이 없어 null이고, 반품지를 등록하지 않은 스토어도 null이다.
422
+ * 취소 클레임은 보낼 물건이 없어 null이고, 반품지를 등록하지 않은 상점도 null이다.
422
423
  * 구매자가 직접 보내는 수거(`BUYER_SEND`)에 이 주소가 필요하다.
423
424
  */
424
425
  const claimReturnAddressSchema = z.object({
@@ -476,11 +477,11 @@ const consentStateSchema = z.object({
476
477
  agreed: z.boolean(),
477
478
  /** 동의한 약관 버전. 마케팅은 버전이 없어 null이고, 동의 이력이 없으면 null이다 */
478
479
  agreedVersion: z.string().nullable(),
479
- /** 스토어의 현재 약관 버전. 마케팅은 null */
480
+ /** 상점의 현재 약관 버전. 마케팅은 null */
480
481
  currentVersion: z.string().nullable(),
481
482
  /**
482
- * 스토어가 정한 현재 약관 문서 주소. 재동의 화면에서 이 주소를 보여 준다.
483
- * 스토어가 정하지 않았거나 마케팅이면 null이다(동의한 시점의 주소는 셀러가 보는 이력에 남는다).
483
+ * 상점이 정한 현재 약관 문서 주소. 재동의 화면에서 이 주소를 보여 준다.
484
+ * 상점이 정하지 않았거나 마케팅이면 null이다(동의한 시점의 주소는 셀러가 보는 이력에 남는다).
484
485
  */
485
486
  currentDocumentUrl: z.string().nullable(),
486
487
  /** 마지막으로 동의·철회한 시각. 이력이 없으면 null */
@@ -536,6 +537,17 @@ const createCustomerInquiryRequestSchema = z.object({
536
537
  });
537
538
  //#endregion
538
539
  //#region src/schemas/inquiry.ts
540
+ /**
541
+ * 상품 문의 유형(이슈 #85) — 관리 API 상품 문의의 `category`와 같은 값이다.
542
+ * `PRODUCT` 상품(사이즈·소재 등), `DELIVERY` 배송, `RETURN` 반품, `EXCHANGE` 교환, `ETC` 기타
543
+ */
544
+ const productInquiryCategorySchema = z.enum([
545
+ "PRODUCT",
546
+ "DELIVERY",
547
+ "RETURN",
548
+ "EXCHANGE",
549
+ "ETC"
550
+ ]);
539
551
  const publicInquirySchema = z.object({
540
552
  inquiryId: z.string(),
541
553
  content: z.string().nullable(),
@@ -546,11 +558,16 @@ const publicInquirySchema = z.object({
546
558
  content: z.string().nullable(),
547
559
  answeredAt: z.string()
548
560
  }).nullable(),
549
- createdAt: z.string()
561
+ createdAt: z.string(),
562
+ productId: z.string().nullable().optional().default(null).describe("문의한 상품 id. 서버는 항상 싣는다(옛 서버 응답이면 null)"),
563
+ productName: z.string().nullable().optional().default(null).describe("문의한 상품의 지금 이름. 상품이 지워졌으면 null. 서버는 항상 싣는다"),
564
+ thumbnailUrl: z.url().nullable().optional().default(null).describe("문의한 상품의 대표 이미지 주소. 이미지가 없거나 상품이 지워졌으면 null. 서버는 항상 싣는다"),
565
+ category: productInquiryCategorySchema.optional().default("PRODUCT").describe("문의 유형. `PRODUCT`(상품)·`DELIVERY`(배송)·`RETURN`(반품)·`EXCHANGE`(교환)·`ETC`(기타). 서버는 항상 싣는다")
550
566
  });
551
567
  const createInquiryRequestSchema = z.object({
552
568
  content: z.string().min(1).max(1e3),
553
- secret: z.boolean().default(false)
569
+ secret: z.boolean().default(false),
570
+ category: productInquiryCategorySchema.optional().describe("문의 유형(이슈 #85). `PRODUCT`(상품)·`DELIVERY`(배송)·`RETURN`(반품)·`EXCHANGE`(교환)·`ETC`(기타). 생략하면 `PRODUCT`다")
554
571
  });
555
572
  /** `POST /products/{productId}/inquiries` 응답 */
556
573
  const createInquiryResultSchema = z.object({
@@ -568,7 +585,7 @@ const memberSchema = z.object({
568
585
  point: z.number().int(),
569
586
  marketingAgreed: z.boolean(),
570
587
  joinedAt: z.string(),
571
- reconsentRequired: z.boolean().describe("약관이 개정돼 필수 동의를 다시 받아야 하는가. true면 `GET /me/consents`로 어떤 항목인지 확인하고 `POST /me/consents`로 받는다. 받기 전에도 스토어 이용은 막히지 않는다")
588
+ reconsentRequired: z.boolean().describe("약관이 개정돼 필수 동의를 다시 받아야 하는가. true면 `GET /me/consents`로 어떤 항목인지 확인하고 `POST /me/consents`로 받는다. 받기 전에도 상점 이용은 막히지 않는다")
572
589
  });
573
590
  const updateProfileRequestSchema = z.object({
574
591
  name: z.string().max(50).optional(),
@@ -741,7 +758,12 @@ const updateReviewResultSchema = z.object({
741
758
  //#endregion
742
759
  //#region src/schemas/store.ts
743
760
  /**
744
- * 스토어 공개 설정 — `GET /store`. 스토어프론트가 화면을 그릴 때 읽는 값만 담는다.
761
+ * 사업자 정보 필드(이슈 #81) — 전자상거래법 표기(푸터)용이다. 셀러가 정하지 않았으면 null이고, 그 항목은 표시하지 않으면 된다.
762
+ * 옛 서버 응답에 없으면 null로 읽는다.
763
+ */
764
+ const businessText = (description) => z.string().nullable().optional().default(null).describe(`${description}. 정하지 않았으면 null. 서버는 항상 싣는다`);
765
+ /**
766
+ * 상점 공개 설정 — `GET /store`. 스토어프론트가 화면을 그릴 때 읽는 값만 담는다.
745
767
  */
746
768
  const storefrontStoreSchema = z.object({
747
769
  storeCode: z.string(),
@@ -749,6 +771,14 @@ const storefrontStoreSchema = z.object({
749
771
  logoUrl: z.string().nullable(),
750
772
  customerCenterPhone: z.string().nullable(),
751
773
  businessHours: z.string().nullable(),
774
+ businessName: businessText("상호(사업자등록증의 상호). 상점명(`name`)과 다를 수 있다"),
775
+ representativeName: businessText("대표자명"),
776
+ businessNumber: businessText("사업자등록번호. 관리 API로 저장한 값은 숫자 10자리(하이픈 없음)이고 표시할 때 `123-45-67890`으로 끊으면 된다"),
777
+ mailOrderSalesNumber: businessText("통신판매업 신고번호. 셀러가 적은 그대로다"),
778
+ businessAddress: businessText("사업장 주소"),
779
+ customerCenterEmail: businessText("고객센터 이메일"),
780
+ privacyOfficerName: businessText("개인정보 보호책임자 성명"),
781
+ privacyOfficerEmail: businessText("개인정보 보호책임자 이메일"),
752
782
  /**
753
783
  * 비회원 주문 허용. false면 로그인하지 않은 구매자의 주문서 생성·결제 요청이 403 `GUEST_CHECKOUT_DISABLED`다.
754
784
  * 장바구니 담기는 된다 — 주문 버튼을 로그인 안내로 바꾸면 된다
@@ -844,7 +874,7 @@ function createStorefrontClient(options) {
844
874
  unlinkIdentity: (provider) => http.request("DELETE", path`/me/identities/${provider}`, memberIdentitiesSchema)
845
875
  },
846
876
  store: {
847
- /** 스토어 공개 설정 — 이름·고객센터·비회원 주문 허용 여부 */
877
+ /** 상점 공개 설정 — 이름·고객센터·비회원 주문 허용 여부 */
848
878
  get: () => http.request("GET", "/store", storefrontStoreSchema) },
849
879
  catalog: {
850
880
  listCategories: () => http.request("GET", "/categories", z.array(categoryNodeSchema)),
@@ -878,10 +908,10 @@ get: () => http.request("GET", "/store", storefrontStoreSchema) },
878
908
  * `@sayren/storefront-sdk/payments`의 `createPayments().start()`다 — 이 메서드는 값만 받는다.
879
909
  *
880
910
  * 에러(`ApiError.code`):
881
- * - 409 `PAYMENT_OPTION_UNAVAILABLE`: 이 스토어에서 쓸 수 없는 옵션. `details.paymentOptions`에 지금 목록
911
+ * - 409 `PAYMENT_OPTION_UNAVAILABLE`: 이 상점에서 쓸 수 없는 옵션. `details.paymentOptions`에 지금 목록
882
912
  * - 409 `PAYMENT_NOT_CONFIGURED`: 사용 중인 PG가 없다
883
913
  * - 400 `RETURN_URL_NOT_ALLOWED`: `returnUrl`이 https가 아니거나(테스트 결제의 localhost는 예외),
884
- * 스토어가 결제 도메인을 등록했는데 그 안이 아니다. 등록하지 않았으면 https 주소는 모두 받는다
914
+ * 상점이 결제 도메인을 등록했는데 그 안이 아니다. 등록하지 않았으면 https 주소는 모두 받는다
885
915
  * - 503 `PAYMENT_PROVIDER_UNAVAILABLE`: 고른 PG의 결제창을 준비하지 못했다(다른 옵션으로 다시 시도)
886
916
  */
887
917
  startPayment: (checkoutId, body) => http.request("POST", path`/checkout/${checkoutId}/payment`, paymentStartSchema, { body: startPaymentRequestSchema.parse(body) }),
@@ -901,7 +931,7 @@ get: () => http.request("GET", "/store", storefrontStoreSchema) },
901
931
  * `expiresAt`까지 폴링한다. `completed`면 `orderId`로 완료 화면, `failed`·`expired`면 실패 안내다.
902
932
  * TTL이 지난 `pending`은 `expired`로 보고된다. `testPayment`는 완료면 주문 플래그, 아니면 세션 환경이다.
903
933
  *
904
- * 에러: 404 `PAYMENT_NOT_FOUND`(없음·다른 스토어) · 410 `STORE_CLOSED` · 503 `STORE_SUSPENDED`
934
+ * 에러: 404 `PAYMENT_NOT_FOUND`(없음·다른 상점) · 410 `STORE_CLOSED` · 503 `STORE_SUSPENDED`
905
935
  */
906
936
  getStatus: (paymentId) => http.request("GET", path`/payments/${paymentId}`, paymentStatusSchema),
907
937
  /**
@@ -918,7 +948,7 @@ get: () => http.request("GET", "/store", storefrontStoreSchema) },
918
948
  *
919
949
  * 에러: 404 `ORDER_NOT_FOUND`(주문이 없거나 연락처·비밀번호가 다름 — 둘을 구분하지 않는다) ·
920
950
  * 429 `TOO_MANY_REQUESTS`(주문번호마다 10분에 5번까지 확인하고, 5번째가 틀리면 30분 잠금.
921
- * 주문번호마다 하루 15번, 스토어 전체 분당 한도도 있다. 남은 시간은 `ApiError.details.retryAfterSeconds`).
951
+ * 주문번호마다 하루 15번, 상점 전체 분당 한도도 있다. 남은 시간은 `ApiError.details.retryAfterSeconds`).
922
952
  * 맞게 조회하면 주문번호의 횟수가 초기화된다. 본문 형식은 `guestInfoSchema`의 `phone`·`orderPassword`와 같다.
923
953
  * 429는 연락처·비밀번호가 맞아도 난다 — 「잠시 후 다시 시도」로 안내한다.
924
954
  */
@@ -965,4 +995,4 @@ get: () => http.request("GET", "/store", storefrontStoreSchema) },
965
995
  };
966
996
  }
967
997
  //#endregion
968
- export { updateCartItemRequestSchema as $, consentSourceSchema as A, categoryNodeSchema as B, createInquiryResultSchema as C, customerInquirySchema as D, customerInquiryCategorySchema as E, claimReturnAddressSchema as F, productSortSchema as G, productDetailSchema as H, claimTypeSchema as I, pageInfoSchema as J, claimStatusSchema as K, createClaimRequestSchema as L, consentUpdateRequestSchema as M, memberConsentsSchema as N, consentActionSchema as O, claimReasonSchema as P, cartSchema as Q, createClaimResultSchema as R, createInquiryRequestSchema as S, createCustomerInquiryRequestSchema as T, productFacetsSchema as U, productCardSchema as V, productPageSchema as W, addCartItemRequestSchema as X, pageSchema as Y, cartItemSchema as Z, memberAddressRequestSchema as _, publicReviewSchema as a, linkIdentityRequestSchema as at, updateProfileRequestSchema as b, updateReviewRequestSchema as c, signupRequestSchema as ct, deliveryTrackingSchema as d, withdrawRequestSchema as dt, anonymousSessionSchema as et, myOrderItemSchema as f, withdrawalBlockedDetailsSchema as ft, trackingStageResponseSchema as g, unwrapData as gt, purchaseDecisionResultSchema as h, toApiError as ht, createReviewResultSchema as i, idpTokenRequestSchema as it, consentStateSchema as j, consentKindSchema as k, updateReviewResultSchema as l, socialProviderSchema as lt, orderShippingAddressSchema as m, buildQuery as mt, storefrontStoreSchema as n, idpAuthorizeRequestSchema as nt, reviewPageSchema as o, loginRequestSchema as ot, myOrderSchema as p, ApiError as pt, orderItemStatusSchema as q, createReviewRequestSchema as r, idpAuthorizeResponseSchema as rt, reviewSummarySchema as s, memberIdentitiesSchema as st, createStorefrontClient as t, idpAgreementsSchema as tt, writableReviewSchema as u, tokenPairSchema as ut, memberAddressSchema as v, publicInquirySchema as w, wishlistAddResultSchema as x, memberSchema as y, myClaimSchema as z };
998
+ export { cartSchema as $, consentKindSchema as A, myClaimSchema as B, createInquiryResultSchema as C, customerInquiryCategorySchema as D, createCustomerInquiryRequestSchema as E, claimReasonSchema as F, productPageSchema as G, productCardSchema as H, claimReturnAddressSchema as I, orderItemStatusSchema as J, productSortSchema as K, claimTypeSchema as L, consentStateSchema as M, consentUpdateRequestSchema as N, customerInquirySchema as O, memberConsentsSchema as P, cartItemSchema as Q, createClaimRequestSchema as R, createInquiryRequestSchema as S, publicInquirySchema as T, productDetailSchema as U, categoryNodeSchema as V, productFacetsSchema as W, pageSchema as X, pageInfoSchema as Y, addCartItemRequestSchema as Z, memberAddressRequestSchema as _, unwrapData as _t, publicReviewSchema as a, idpTokenRequestSchema as at, updateProfileRequestSchema as b, updateReviewRequestSchema as c, memberIdentitiesSchema as ct, deliveryTrackingSchema as d, tokenPairSchema as dt, updateCartItemRequestSchema as et, myOrderItemSchema as f, withdrawRequestSchema as ft, trackingStageResponseSchema as g, toApiError as gt, purchaseDecisionResultSchema as h, buildQuery as ht, createReviewResultSchema as i, idpAuthorizeResponseSchema as it, consentSourceSchema as j, consentActionSchema as k, updateReviewResultSchema as l, signupRequestSchema as lt, orderShippingAddressSchema as m, ApiError as mt, storefrontStoreSchema as n, idpAgreementsSchema as nt, reviewPageSchema as o, linkIdentityRequestSchema as ot, myOrderSchema as p, withdrawalBlockedDetailsSchema as pt, claimStatusSchema as q, createReviewRequestSchema as r, idpAuthorizeRequestSchema as rt, reviewSummarySchema as s, loginRequestSchema as st, createStorefrontClient as t, anonymousSessionSchema as tt, writableReviewSchema as u, socialProviderSchema as ut, memberAddressSchema as v, productInquiryCategorySchema as w, wishlistAddResultSchema as x, memberSchema as y, createClaimResultSchema as z };
@@ -241,6 +241,7 @@ declare const productCardSchema: z.ZodObject<{
241
241
  salePrice: z.ZodNumber;
242
242
  discountedPrice: z.ZodNullable<z.ZodNumber>;
243
243
  discountRate: z.ZodNullable<z.ZodNumber>;
244
+ originalPrice: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
244
245
  freeShipping: z.ZodBoolean;
245
246
  fulfillment: z.ZodObject<{
246
247
  type: z.ZodString;
@@ -258,6 +259,7 @@ declare const productDetailSchema: z.ZodObject<{
258
259
  salePrice: z.ZodNumber;
259
260
  discountedPrice: z.ZodNullable<z.ZodNumber>;
260
261
  discountRate: z.ZodNullable<z.ZodNumber>;
262
+ originalPrice: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
261
263
  freeShipping: z.ZodBoolean;
262
264
  averageRating: z.ZodNumber;
263
265
  reviewCount: z.ZodNumber;
@@ -367,6 +369,7 @@ declare const productPageSchema: z.ZodObject<{
367
369
  salePrice: z.ZodNumber;
368
370
  discountedPrice: z.ZodNullable<z.ZodNumber>;
369
371
  discountRate: z.ZodNullable<z.ZodNumber>;
372
+ originalPrice: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
370
373
  freeShipping: z.ZodBoolean;
371
374
  fulfillment: z.ZodObject<{
372
375
  type: z.ZodString;
@@ -576,7 +579,7 @@ declare const paymentMethodSchema: z.ZodEnum<{
576
579
  MOBILE: "MOBILE";
577
580
  }>;
578
581
  type PaymentMethod = z.infer<typeof paymentMethodSchema>;
579
- /** 결제를 처리하는 PG. 셀러가 직접 계약하고 콘솔 설정 › 결제에서 연결한다 */
582
+ /** 결제를 처리하는 PG. 셀러가 직접 계약하고 상점 플랫폼 설정 › 결제에서 연결한다 */
580
583
  declare const pgProviderSchema: z.ZodEnum<{
581
584
  tosspayments: "tosspayments";
582
585
  portone: "portone";
@@ -804,7 +807,7 @@ type CashReceiptRequest = z.infer<typeof cashReceiptRequestSchema>;
804
807
  /**
805
808
  * 결제 시작 — 배송지를 확정하고 고른 결제 옵션으로 결제 시도를 연다. 응답의 `payUrl`(결제 서비스)을 팝업(`mode=popup`)이나
806
809
  * 전체 페이지로 열면 결제 서비스가 PG 결제창을 띄우고 승인까지 한다. 리다이렉트 결제가 끝나면 구매자는 `returnUrl`로 돌아온다.
807
- * `returnUrl`의 도메인은 스토어 결제 도메인(콘솔 설정 › 결제)에 등록돼 있어야 한다(테스트 결제는 localhost 허용).
810
+ * `returnUrl`의 도메인은 상점 결제 도메인(상점 플랫폼 설정 › 결제)에 등록돼 있어야 한다(테스트 결제는 localhost 허용).
808
811
  */
809
812
  declare const startPaymentRequestSchema: z.ZodObject<{
810
813
  option: z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -1039,9 +1042,9 @@ type PaymentMessage = z.infer<typeof paymentMessageSchema>;
1039
1042
  //#endregion
1040
1043
  //#region src/schemas/claim.d.ts
1041
1044
  declare const claimTypeSchema: z.ZodEnum<{
1042
- CANCEL: "CANCEL";
1043
1045
  RETURN: "RETURN";
1044
1046
  EXCHANGE: "EXCHANGE";
1047
+ CANCEL: "CANCEL";
1045
1048
  }>;
1046
1049
  type ClaimType = z.infer<typeof claimTypeSchema>;
1047
1050
  declare const claimReasonSchema: z.ZodEnum<{
@@ -1055,9 +1058,9 @@ declare const claimReasonSchema: z.ZodEnum<{
1055
1058
  type ClaimReason = z.infer<typeof claimReasonSchema>;
1056
1059
  declare const createClaimRequestSchema: z.ZodObject<{
1057
1060
  type: z.ZodEnum<{
1058
- CANCEL: "CANCEL";
1059
1061
  RETURN: "RETURN";
1060
1062
  EXCHANGE: "EXCHANGE";
1063
+ CANCEL: "CANCEL";
1061
1064
  }>;
1062
1065
  reason: z.ZodEnum<{
1063
1066
  CHANGE_OF_MIND: "CHANGE_OF_MIND";
@@ -1085,10 +1088,10 @@ declare const createClaimResultSchema: z.ZodObject<{
1085
1088
  }, z.core.$strip>;
1086
1089
  type CreateClaimResult = z.infer<typeof createClaimResultSchema>;
1087
1090
  /**
1088
- * 반품지 (이슈 #30) — 반품·교환 수거가 안내하는 주소다. 스토어 주소록의 기본 반품지이거나,
1091
+ * 반품지 (이슈 #30) — 반품·교환 수거가 안내하는 주소다. 상점 주소록의 기본 반품지이거나,
1089
1092
  * 상품이 반품지를 따로 지정했으면 그 주소다.
1090
1093
  *
1091
- * 취소 클레임은 보낼 물건이 없어 null이고, 반품지를 등록하지 않은 스토어도 null이다.
1094
+ * 취소 클레임은 보낼 물건이 없어 null이고, 반품지를 등록하지 않은 상점도 null이다.
1092
1095
  * 구매자가 직접 보내는 수거(`BUYER_SEND`)에 이 주소가 필요하다.
1093
1096
  */
1094
1097
  declare const claimReturnAddressSchema: z.ZodObject<{
@@ -1103,9 +1106,9 @@ type ClaimReturnAddress = z.infer<typeof claimReturnAddressSchema>;
1103
1106
  declare const myClaimSchema: z.ZodObject<{
1104
1107
  claimId: z.ZodString;
1105
1108
  type: z.ZodEnum<{
1106
- CANCEL: "CANCEL";
1107
1109
  RETURN: "RETURN";
1108
1110
  EXCHANGE: "EXCHANGE";
1111
+ CANCEL: "CANCEL";
1109
1112
  }>;
1110
1113
  status: z.ZodEnum<{
1111
1114
  COMPLETED: "COMPLETED";
@@ -1393,22 +1396,22 @@ declare const myCouponListQuerySchema: z.ZodObject<{
1393
1396
  //#endregion
1394
1397
  //#region src/schemas/customer-inquiry.d.ts
1395
1398
  declare const customerInquiryCategorySchema: z.ZodEnum<{
1399
+ DELIVERY: "DELIVERY";
1396
1400
  RETURN: "RETURN";
1397
1401
  EXCHANGE: "EXCHANGE";
1398
- DELIVERY: "DELIVERY";
1399
- PAYMENT: "PAYMENT";
1400
1402
  ETC: "ETC";
1403
+ PAYMENT: "PAYMENT";
1401
1404
  }>;
1402
1405
  type CustomerInquiryCategory = z.infer<typeof customerInquiryCategorySchema>;
1403
1406
  /** 구매자 본인 뷰 — 마스킹 없이 본인 데이터, 셀러 답변(수정횟수 제외) */
1404
1407
  declare const customerInquirySchema: z.ZodObject<{
1405
1408
  inquiryId: z.ZodString;
1406
1409
  category: z.ZodEnum<{
1410
+ DELIVERY: "DELIVERY";
1407
1411
  RETURN: "RETURN";
1408
1412
  EXCHANGE: "EXCHANGE";
1409
- DELIVERY: "DELIVERY";
1410
- PAYMENT: "PAYMENT";
1411
1413
  ETC: "ETC";
1414
+ PAYMENT: "PAYMENT";
1412
1415
  }>;
1413
1416
  title: z.ZodString;
1414
1417
  content: z.ZodString;
@@ -1423,11 +1426,11 @@ declare const customerInquirySchema: z.ZodObject<{
1423
1426
  type CustomerInquiry = z.infer<typeof customerInquirySchema>;
1424
1427
  declare const createCustomerInquiryRequestSchema: z.ZodObject<{
1425
1428
  category: z.ZodEnum<{
1429
+ DELIVERY: "DELIVERY";
1426
1430
  RETURN: "RETURN";
1427
1431
  EXCHANGE: "EXCHANGE";
1428
- DELIVERY: "DELIVERY";
1429
- PAYMENT: "PAYMENT";
1430
1432
  ETC: "ETC";
1433
+ PAYMENT: "PAYMENT";
1431
1434
  }>;
1432
1435
  title: z.ZodString;
1433
1436
  content: z.ZodString;
@@ -1436,6 +1439,18 @@ declare const createCustomerInquiryRequestSchema: z.ZodObject<{
1436
1439
  type CreateCustomerInquiryRequest = z.infer<typeof createCustomerInquiryRequestSchema>;
1437
1440
  //#endregion
1438
1441
  //#region src/schemas/inquiry.d.ts
1442
+ /**
1443
+ * 상품 문의 유형(이슈 #85) — 관리 API 상품 문의의 `category`와 같은 값이다.
1444
+ * `PRODUCT` 상품(사이즈·소재 등), `DELIVERY` 배송, `RETURN` 반품, `EXCHANGE` 교환, `ETC` 기타
1445
+ */
1446
+ declare const productInquiryCategorySchema: z.ZodEnum<{
1447
+ PRODUCT: "PRODUCT";
1448
+ DELIVERY: "DELIVERY";
1449
+ RETURN: "RETURN";
1450
+ EXCHANGE: "EXCHANGE";
1451
+ ETC: "ETC";
1452
+ }>;
1453
+ type ProductInquiryCategory = z.infer<typeof productInquiryCategorySchema>;
1439
1454
  declare const publicInquirySchema: z.ZodObject<{
1440
1455
  inquiryId: z.ZodString;
1441
1456
  content: z.ZodNullable<z.ZodString>;
@@ -1447,11 +1462,28 @@ declare const publicInquirySchema: z.ZodObject<{
1447
1462
  answeredAt: z.ZodString;
1448
1463
  }, z.core.$strip>>;
1449
1464
  createdAt: z.ZodString;
1465
+ productId: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1466
+ productName: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1467
+ thumbnailUrl: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodURL>>>;
1468
+ category: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
1469
+ PRODUCT: "PRODUCT";
1470
+ DELIVERY: "DELIVERY";
1471
+ RETURN: "RETURN";
1472
+ EXCHANGE: "EXCHANGE";
1473
+ ETC: "ETC";
1474
+ }>>>;
1450
1475
  }, z.core.$strip>;
1451
1476
  type PublicInquiry = z.infer<typeof publicInquirySchema>;
1452
1477
  declare const createInquiryRequestSchema: z.ZodObject<{
1453
1478
  content: z.ZodString;
1454
1479
  secret: z.ZodDefault<z.ZodBoolean>;
1480
+ category: z.ZodOptional<z.ZodEnum<{
1481
+ PRODUCT: "PRODUCT";
1482
+ DELIVERY: "DELIVERY";
1483
+ RETURN: "RETURN";
1484
+ EXCHANGE: "EXCHANGE";
1485
+ ETC: "ETC";
1486
+ }>>;
1455
1487
  }, z.core.$strip>;
1456
1488
  type CreateInquiryRequest = z.infer<typeof createInquiryRequestSchema>;
1457
1489
  /** `POST /products/{productId}/inquiries` 응답 */
@@ -1609,7 +1641,7 @@ declare const STOREFRONT_SESSION_KEYS: {
1609
1641
  interface StorefrontSessionOptions {
1610
1642
  /** 예: https://shop.api.example.com/storefront/v1 */
1611
1643
  baseUrl: string;
1612
- /** 테넌트 스토어 코드 — X-Store-Code 헤더로 전송한다 */
1644
+ /** 테넌트 상점 코드 — X-Store-Code 헤더로 전송한다 */
1613
1645
  storeCode?: string;
1614
1646
  /** 저장 매체 어댑터 (앱 소유) */
1615
1647
  storage: SessionStorage;
@@ -1646,7 +1678,7 @@ interface StorefrontClientOptions {
1646
1678
  /** 예: https://demo.store.example.com/api/v1 */
1647
1679
  baseUrl: string;
1648
1680
  /**
1649
- * 테넌트 스토어 코드 — `X-Store-Code` 헤더로 전송한다. 공유 API 호스트로 접근할 때
1681
+ * 테넌트 상점 코드 — `X-Store-Code` 헤더로 전송한다. 공유 API 호스트로 접근할 때
1650
1682
  * 서버가 Host 서브도메인을 추측하는 대신 명시적으로 테넌트를 지정한다(멀티테넌트 격리).
1651
1683
  * 함수로 전달하면 매 요청마다 재평가.
1652
1684
  */
@@ -1764,13 +1796,21 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
1764
1796
  }>;
1765
1797
  };
1766
1798
  store: {
1767
- /** 스토어 공개 설정 — 이름·고객센터·비회원 주문 허용 여부 */
1799
+ /** 상점 공개 설정 — 이름·고객센터·비회원 주문 허용 여부 */
1768
1800
  get: () => Promise<{
1769
1801
  storeCode: string;
1770
1802
  name: string;
1771
1803
  logoUrl: string | null;
1772
1804
  customerCenterPhone: string | null;
1773
1805
  businessHours: string | null;
1806
+ businessName: string | null;
1807
+ representativeName: string | null;
1808
+ businessNumber: string | null;
1809
+ mailOrderSalesNumber: string | null;
1810
+ businessAddress: string | null;
1811
+ customerCenterEmail: string | null;
1812
+ privacyOfficerName: string | null;
1813
+ privacyOfficerEmail: string | null;
1774
1814
  guestCheckout: boolean;
1775
1815
  loginMethods: ("password" | "kakao" | "naver" | "google")[];
1776
1816
  checkoutAvailable: boolean;
@@ -1792,6 +1832,7 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
1792
1832
  salePrice: number;
1793
1833
  discountedPrice: number | null;
1794
1834
  discountRate: number | null;
1835
+ originalPrice: number | null;
1795
1836
  freeShipping: boolean;
1796
1837
  fulfillment: {
1797
1838
  type: string;
@@ -1820,6 +1861,7 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
1820
1861
  salePrice: number;
1821
1862
  discountedPrice: number | null;
1822
1863
  discountRate: number | null;
1864
+ originalPrice: number | null;
1823
1865
  freeShipping: boolean;
1824
1866
  averageRating: number;
1825
1867
  reviewCount: number;
@@ -1923,6 +1965,10 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
1923
1965
  answeredAt: string;
1924
1966
  } | null;
1925
1967
  createdAt: string;
1968
+ productId: string | null;
1969
+ productName: string | null;
1970
+ thumbnailUrl: string | null;
1971
+ category: "PRODUCT" | "DELIVERY" | "RETURN" | "EXCHANGE" | "ETC";
1926
1972
  }[];
1927
1973
  }>;
1928
1974
  createInquiry: (productId: string, body: CreateInquiryRequest) => Promise<void>;
@@ -2143,10 +2189,10 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
2143
2189
  * `@sayren/storefront-sdk/payments`의 `createPayments().start()`다 — 이 메서드는 값만 받는다.
2144
2190
  *
2145
2191
  * 에러(`ApiError.code`):
2146
- * - 409 `PAYMENT_OPTION_UNAVAILABLE`: 이 스토어에서 쓸 수 없는 옵션. `details.paymentOptions`에 지금 목록
2192
+ * - 409 `PAYMENT_OPTION_UNAVAILABLE`: 이 상점에서 쓸 수 없는 옵션. `details.paymentOptions`에 지금 목록
2147
2193
  * - 409 `PAYMENT_NOT_CONFIGURED`: 사용 중인 PG가 없다
2148
2194
  * - 400 `RETURN_URL_NOT_ALLOWED`: `returnUrl`이 https가 아니거나(테스트 결제의 localhost는 예외),
2149
- * 스토어가 결제 도메인을 등록했는데 그 안이 아니다. 등록하지 않았으면 https 주소는 모두 받는다
2195
+ * 상점이 결제 도메인을 등록했는데 그 안이 아니다. 등록하지 않았으면 https 주소는 모두 받는다
2150
2196
  * - 503 `PAYMENT_PROVIDER_UNAVAILABLE`: 고른 PG의 결제창을 준비하지 못했다(다른 옵션으로 다시 시도)
2151
2197
  */
2152
2198
  startPayment: (checkoutId: string, body: StartPaymentRequest) => Promise<{
@@ -2252,7 +2298,7 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
2252
2298
  * `expiresAt`까지 폴링한다. `completed`면 `orderId`로 완료 화면, `failed`·`expired`면 실패 안내다.
2253
2299
  * TTL이 지난 `pending`은 `expired`로 보고된다. `testPayment`는 완료면 주문 플래그, 아니면 세션 환경이다.
2254
2300
  *
2255
- * 에러: 404 `PAYMENT_NOT_FOUND`(없음·다른 스토어) · 410 `STORE_CLOSED` · 503 `STORE_SUSPENDED`
2301
+ * 에러: 404 `PAYMENT_NOT_FOUND`(없음·다른 상점) · 410 `STORE_CLOSED` · 503 `STORE_SUSPENDED`
2256
2302
  */
2257
2303
  getStatus: (paymentId: string) => Promise<{
2258
2304
  paymentId: string;
@@ -2464,7 +2510,7 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
2464
2510
  *
2465
2511
  * 에러: 404 `ORDER_NOT_FOUND`(주문이 없거나 연락처·비밀번호가 다름 — 둘을 구분하지 않는다) ·
2466
2512
  * 429 `TOO_MANY_REQUESTS`(주문번호마다 10분에 5번까지 확인하고, 5번째가 틀리면 30분 잠금.
2467
- * 주문번호마다 하루 15번, 스토어 전체 분당 한도도 있다. 남은 시간은 `ApiError.details.retryAfterSeconds`).
2513
+ * 주문번호마다 하루 15번, 상점 전체 분당 한도도 있다. 남은 시간은 `ApiError.details.retryAfterSeconds`).
2468
2514
  * 맞게 조회하면 주문번호의 횟수가 초기화된다. 본문 형식은 `guestInfoSchema`의 `phone`·`orderPassword`와 같다.
2469
2515
  * 429는 연락처·비밀번호가 맞아도 난다 — 「잠시 후 다시 시도」로 안내한다.
2470
2516
  */
@@ -2575,7 +2621,7 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
2575
2621
  totalPages: number;
2576
2622
  contents: {
2577
2623
  claimId: string;
2578
- type: "CANCEL" | "RETURN" | "EXCHANGE";
2624
+ type: "RETURN" | "EXCHANGE" | "CANCEL";
2579
2625
  status: "COMPLETED" | "REQUESTED" | "HELD" | "COLLECTING" | "COLLECTED" | "REDELIVERING" | "APPROVED" | "REJECTED" | "WITHDRAWN";
2580
2626
  orderItemId: string;
2581
2627
  productName: string;
@@ -2697,6 +2743,7 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
2697
2743
  salePrice: number;
2698
2744
  discountedPrice: number | null;
2699
2745
  discountRate: number | null;
2746
+ originalPrice: number | null;
2700
2747
  freeShipping: boolean;
2701
2748
  fulfillment: {
2702
2749
  type: string;
@@ -2745,6 +2792,10 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
2745
2792
  answeredAt: string;
2746
2793
  } | null;
2747
2794
  createdAt: string;
2795
+ productId: string | null;
2796
+ productName: string | null;
2797
+ thumbnailUrl: string | null;
2798
+ category: "PRODUCT" | "DELIVERY" | "RETURN" | "EXCHANGE" | "ETC";
2748
2799
  }[];
2749
2800
  }>;
2750
2801
  };
@@ -2773,7 +2824,7 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
2773
2824
  customerInquiries: {
2774
2825
  create: (body: CreateCustomerInquiryRequest) => Promise<{
2775
2826
  inquiryId: string;
2776
- category: "RETURN" | "EXCHANGE" | "DELIVERY" | "PAYMENT" | "ETC";
2827
+ category: "DELIVERY" | "RETURN" | "EXCHANGE" | "ETC" | "PAYMENT";
2777
2828
  title: string;
2778
2829
  content: string;
2779
2830
  orderItemId: string | null;
@@ -2794,7 +2845,7 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
2794
2845
  totalPages: number;
2795
2846
  contents: {
2796
2847
  inquiryId: string;
2797
- category: "RETURN" | "EXCHANGE" | "DELIVERY" | "PAYMENT" | "ETC";
2848
+ category: "DELIVERY" | "RETURN" | "EXCHANGE" | "ETC" | "PAYMENT";
2798
2849
  title: string;
2799
2850
  content: string;
2800
2851
  orderItemId: string | null;
@@ -2808,7 +2859,7 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
2808
2859
  }>;
2809
2860
  get: (inquiryId: string) => Promise<{
2810
2861
  inquiryId: string;
2811
- category: "RETURN" | "EXCHANGE" | "DELIVERY" | "PAYMENT" | "ETC";
2862
+ category: "DELIVERY" | "RETURN" | "EXCHANGE" | "ETC" | "PAYMENT";
2812
2863
  title: string;
2813
2864
  content: string;
2814
2865
  orderItemId: string | null;
@@ -3168,7 +3219,7 @@ type CustomInputView = z.infer<typeof customInputViewSchema>;
3168
3219
  declare function normalizeCustomInputValue(value: string): string;
3169
3220
  /**
3170
3221
  * 직접 입력값의 글자 수 — 정규화한 값의 **코드 포인트 수**다(이모지 하나가 1자). 서버의 최대 글자 수 판정(`CUSTOM_INPUT_TOO_LONG`)과
3171
- * 스토어프론트·콘솔의 글자 수 표시가 이 함수 하나를 쓴다. `String.length`(UTF-16)로 세면 이모지가 2자로 세어 판정이 갈린다.
3222
+ * 스토어프론트·상점 플랫폼의 글자 수 표시가 이 함수 하나를 쓴다. `String.length`(UTF-16)로 세면 이모지가 2자로 세어 판정이 갈린다.
3172
3223
  */
3173
3224
  declare function customInputLength(value: string): number;
3174
3225
  /** 담기·바로 구매 요청의 직접 입력값 한 칸. 앞뒤 공백을 지우고, 빈 값은 입력하지 않은 것으로 본다 */
@@ -3223,7 +3274,7 @@ declare const lineSelectionResponseShape: {
3223
3274
  //#endregion
3224
3275
  //#region src/schemas/store.d.ts
3225
3276
  /**
3226
- * 스토어 공개 설정 — `GET /store`. 스토어프론트가 화면을 그릴 때 읽는 값만 담는다.
3277
+ * 상점 공개 설정 — `GET /store`. 스토어프론트가 화면을 그릴 때 읽는 값만 담는다.
3227
3278
  */
3228
3279
  declare const storefrontStoreSchema: z.ZodObject<{
3229
3280
  storeCode: z.ZodString;
@@ -3231,6 +3282,14 @@ declare const storefrontStoreSchema: z.ZodObject<{
3231
3282
  logoUrl: z.ZodNullable<z.ZodString>;
3232
3283
  customerCenterPhone: z.ZodNullable<z.ZodString>;
3233
3284
  businessHours: z.ZodNullable<z.ZodString>;
3285
+ businessName: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
3286
+ representativeName: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
3287
+ businessNumber: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
3288
+ mailOrderSalesNumber: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
3289
+ businessAddress: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
3290
+ customerCenterEmail: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
3291
+ privacyOfficerName: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
3292
+ privacyOfficerEmail: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
3234
3293
  guestCheckout: z.ZodBoolean;
3235
3294
  loginMethods: z.ZodArray<z.ZodEnum<{
3236
3295
  password: "password";
@@ -3250,4 +3309,4 @@ declare const storefrontStoreSchema: z.ZodObject<{
3250
3309
  }, z.core.$strip>;
3251
3310
  type StorefrontStore = z.infer<typeof storefrontStoreSchema>;
3252
3311
  //#endregion
3253
- export { CreateReviewRequest as $, cashReceiptAvailable as $n, productCardFulfillmentSchema as $r, myCouponSchema as $t, ANALYTICS_MAX_BATCH_BYTES as A, CheckoutDelivery as An, ProductSearchParams as Ar, publicInquirySchema as At, analyticsBatchSchema as B, PAYMENT_STATUS_VALUES as Bn, PageInfo as Br, CouponApplication as Bt, PurchaseDecisionResult as C, createClaimResultSchema as Cn, shippingAddressInputSchema as Cr, updateProfileRequestSchema as Ct, orderShippingAddressSchema as D, CashReceiptIdentityType as Dn, ProductDetail as Dr, PublicInquiry as Dt, myOrderSchema as E, CASH_RECEIPT_METHODS as En, ProductCard as Er, CreateInquiryResult as Et, AnalyticsBatch as F, EasyPayProvider as Fn, productFacetsSchema as Fr, customerInquiryCategorySchema as Ft, StorefrontClient as G, PaymentStart as Gn, pageSchema as Gr, applicableCouponSchema as Gt, analyticsClientEventSchema as H, PaymentMessage as Hn, claimStatusSchema as Hr, MAX_COUPONS_PER_CHECKOUT as Ht, AnalyticsClientEvent as I, GuestInfo as In, productPageSchema as Ir, customerInquirySchema as It, STOREFRONT_SESSION_KEYS as J, RemoteArea as Jn, ProductCardFulfillment as Jr, couponApplicationListSchema as Jt, StorefrontClientOptions as K, PaymentStatus as Kn, LineFulfillment as Kr, checkoutPricingRequestSchema as Kt, AnalyticsClientEventName as L, KnownPaymentResult as Ln, productSortSchema as Lr, ApplicableCoupon as Lt, ANALYTICS_SESSION_HEADER as M, CreateCheckoutRequest as Mn, categoryNodeSchema as Mr, CustomerInquiry as Mt, ANALYTICS_VISITOR_COOKIE as N, DeliveryQuoteRequest as Nn, productCardSchema as Nr, CustomerInquiryCategory as Nt, purchaseDecisionResultSchema as O, CashReceiptRequest as On, ProductFacets as Or, createInquiryRequestSchema as Ot, ANALYTICS_VISITOR_HEADER as P, DeliveryQuoteResult as Pn, productDetailSchema as Pr, createCustomerInquiryRequestSchema as Pt, createStorefrontSession as Q, availablePaymentOptionSchema as Qn, myOrderItemFulfillmentSnapshotSchema as Qr, myCouponListQuerySchema as Qt, AnalyticsEventName as R, KnownPaymentStatus as Rn, ClaimStatus as Rr, CheckoutPricing as Rt, OrderShippingAddress as S, createClaimRequestSchema as Sn, retryPaymentRequestSchema as Sr, memberSchema as St, myOrderItemSchema as T, AvailablePaymentOption as Tn, CategoryNode as Tr, CreateInquiryRequest as Tt, analyticsIdSchema as U, PaymentMethod as Un, orderItemStatusSchema as Ur, MIN_PAYMENT_AMOUNT as Ut, analyticsClientEventNameSchema as V, PaymentFailureCategory as Vn, PageParams as Vr, CouponResult as Vt, analyticsServerEventNameSchema as W, PaymentOption as Wn, pageInfoSchema as Wr, MyCoupon as Wt, StorefrontSession as X, ShippingAddressInput as Xn, UnknownFulfillmentView as Xr, couponBenefitViewSchema as Xt, SessionStorage as Y, RetryPaymentRequest as Yn, ProductFulfillmentView as Yr, couponApplicationSchema as Yt, StorefrontSessionOptions as Z, StartPaymentRequest as Zn, lineFulfillmentSchema as Zr, couponResultSchema as Zt, normalizeCustomInputValue as _, CreateClaimResult as _n, paymentStartSchema as _r, MemberAddressRequest as _t, CustomInputEntry as a, addCartItemRequestSchema as ai, ConsentUpdateRequest as an, createCheckoutRequestSchema as ar, UpdateReviewResult as at, MyOrder as b, claimReturnAddressSchema as bn, remoteAreaSchema as br, memberAddressRequestSchema as bt, OptionSelectionView as c, updateCartItemRequestSchema as ci, consentKindSchema as cn, easyPayProviderResponseSchema as cr, createReviewResultSchema as ct, customInputEntrySchema as d, consentUpdateRequestSchema as dn, paymentFailureCategorySchema as dr, reviewSummarySchema as dt, productFulfillmentViewSchema as ei, pricingAmountsSchema as en, cashReceiptIdentityTypeOf as er, CreateReviewResult as et, customInputLength as f, memberConsentsSchema as fn, paymentMessageSchema as fr, updateReviewRequestSchema as ft, lineSelectionResponseShape as g, CreateClaimRequest as gn, paymentOptionSchema as gr, MemberAddress as gt, lineSelectionRequestShape as h, ClaimType as hn, paymentOptionListSchema as hr, Member as ht, AddonSelection as i, UpdateCartItemRequest as ii, ConsentState as in, checkoutSessionSchema as ir, UpdateReviewRequest as it, ANALYTICS_SESSION_COOKIE as j, CheckoutSession as jn, ProductSort as jr, CreateCustomerInquiryRequest as jt, trackingStageResponseSchema as k, CashReceiptType as kn, ProductPage as kr, createInquiryResultSchema as kt, addonGroupViewSchema as l, analyticsIdsFromCookie as li, consentSourceSchema as ln, easyPayProviderSchema as lr, publicReviewSchema as lt, customInputViewSchema as m, ClaimReturnAddress as mn, paymentOptionKey as mr, writableReviewSchema as mt, storefrontStoreSchema as n, Cart as ni, ConsentKind as nn, cashReceiptTypeSchema as nr, ReviewPage as nt, CustomInputValueView as o, cartItemSchema as oi, MemberConsents as on, deliveryQuoteRequestSchema as or, WritableReview as ot, customInputValueViewSchema as p, ClaimReason as pn, paymentMethodSchema as pr, updateReviewResultSchema as pt, createStorefrontClient as q, PgProvider as qn, MyOrderItemFulfillmentSnapshot as qr, checkoutPricingSchema as qt, AddonGroupView as r, CartItem as ri, ConsentSource as rn, checkoutDeliverySchema as rr, ReviewSummary as rt, CustomInputView as s, cartSchema as si, consentActionSchema as sn, deliveryQuoteSchema as sr, createReviewRequestSchema as st, StorefrontStore as t, AddCartItemRequest as ti, ConsentAction as tn, cashReceiptRequestSchema as tr, PublicReview as tt, addonSelectionSchema as u, consentStateSchema as un, guestInfoSchema as ur, reviewPageSchema as ut, optionSelectionViewSchema as v, MyClaim as vn, paymentStatusSchema as vr, UpdateProfileRequest as vt, deliveryTrackingSchema as w, myClaimSchema as wn, startPaymentRequestSchema as wr, wishlistAddResultSchema as wt, MyOrderItem as x, claimTypeSchema as xn, residentNumberLike as xr, memberAddressSchema as xt, DeliveryTracking as y, claimReasonSchema as yn, pgProviderSchema as yr, WishlistAddResult as yt, AnalyticsServerEventName as z, PAYMENT_RESULT_VALUES as zn, OrderItemStatus as zr, CheckoutPricingRequest as zt };
3312
+ export { CreateReviewRequest as $, StartPaymentRequest as $n, lineFulfillmentSchema as $r, couponResultSchema as $t, ANALYTICS_MAX_BATCH_BYTES as A, CashReceiptRequest as An, ProductFacets as Ar, createInquiryResultSchema as At, analyticsBatchSchema as B, KnownPaymentStatus as Bn, ClaimStatus as Br, CheckoutPricing as Bt, PurchaseDecisionResult as C, claimTypeSchema as Cn, residentNumberLike as Cr, updateProfileRequestSchema as Ct, orderShippingAddressSchema as D, AvailablePaymentOption as Dn, CategoryNode as Dr, ProductInquiryCategory as Dt, myOrderSchema as E, myClaimSchema as En, startPaymentRequestSchema as Er, CreateInquiryResult as Et, AnalyticsBatch as F, DeliveryQuoteRequest as Fn, productCardSchema as Fr, CustomerInquiryCategory as Ft, StorefrontClient as G, PaymentMethod as Gn, orderItemStatusSchema as Gr, MIN_PAYMENT_AMOUNT as Gt, analyticsClientEventSchema as H, PAYMENT_STATUS_VALUES as Hn, PageInfo as Hr, CouponApplication as Ht, AnalyticsClientEvent as I, DeliveryQuoteResult as In, productDetailSchema as Ir, createCustomerInquiryRequestSchema as It, STOREFRONT_SESSION_KEYS as J, PaymentStatus as Jn, LineFulfillment as Jr, checkoutPricingRequestSchema as Jt, StorefrontClientOptions as K, PaymentOption as Kn, pageInfoSchema as Kr, MyCoupon as Kt, AnalyticsClientEventName as L, EasyPayProvider as Ln, productFacetsSchema as Lr, customerInquiryCategorySchema as Lt, ANALYTICS_SESSION_HEADER as M, CheckoutDelivery as Mn, ProductSearchParams as Mr, publicInquirySchema as Mt, ANALYTICS_VISITOR_COOKIE as N, CheckoutSession as Nn, ProductSort as Nr, CreateCustomerInquiryRequest as Nt, purchaseDecisionResultSchema as O, CASH_RECEIPT_METHODS as On, ProductCard as Or, PublicInquiry as Ot, ANALYTICS_VISITOR_HEADER as P, CreateCheckoutRequest as Pn, categoryNodeSchema as Pr, CustomerInquiry as Pt, createStorefrontSession as Q, ShippingAddressInput as Qn, UnknownFulfillmentView as Qr, couponBenefitViewSchema as Qt, AnalyticsEventName as R, GuestInfo as Rn, productPageSchema as Rr, customerInquirySchema as Rt, OrderShippingAddress as S, claimReturnAddressSchema as Sn, remoteAreaSchema as Sr, memberSchema as St, myOrderItemSchema as T, createClaimResultSchema as Tn, shippingAddressInputSchema as Tr, CreateInquiryRequest as Tt, analyticsIdSchema as U, PaymentFailureCategory as Un, PageParams as Ur, CouponResult as Ut, analyticsClientEventNameSchema as V, PAYMENT_RESULT_VALUES as Vn, OrderItemStatus as Vr, CheckoutPricingRequest as Vt, analyticsServerEventNameSchema as W, PaymentMessage as Wn, claimStatusSchema as Wr, MAX_COUPONS_PER_CHECKOUT as Wt, StorefrontSession as X, RemoteArea as Xn, ProductCardFulfillment as Xr, couponApplicationListSchema as Xt, SessionStorage as Y, PgProvider as Yn, MyOrderItemFulfillmentSnapshot as Yr, checkoutPricingSchema as Yt, StorefrontSessionOptions as Z, RetryPaymentRequest as Zn, ProductFulfillmentView as Zr, couponApplicationSchema as Zt, normalizeCustomInputValue as _, ClaimType as _n, paymentOptionListSchema as _r, MemberAddressRequest as _t, CustomInputEntry as a, CartItem as ai, ConsentSource as an, checkoutDeliverySchema as ar, UpdateReviewResult as at, MyOrder as b, MyClaim as bn, paymentStatusSchema as br, memberAddressRequestSchema as bt, OptionSelectionView as c, cartItemSchema as ci, MemberConsents as cn, deliveryQuoteRequestSchema as cr, createReviewResultSchema as ct, customInputEntrySchema as d, analyticsIdsFromCookie as di, consentSourceSchema as dn, easyPayProviderSchema as dr, reviewSummarySchema as dt, myOrderItemFulfillmentSnapshotSchema as ei, myCouponListQuerySchema as en, availablePaymentOptionSchema as er, CreateReviewResult as et, customInputLength as f, consentStateSchema as fn, guestInfoSchema as fr, updateReviewRequestSchema as ft, lineSelectionResponseShape as g, ClaimReturnAddress as gn, paymentOptionKey as gr, MemberAddress as gt, lineSelectionRequestShape as h, ClaimReason as hn, paymentMethodSchema as hr, Member as ht, AddonSelection as i, Cart as ii, ConsentKind as in, cashReceiptTypeSchema as ir, UpdateReviewRequest as it, ANALYTICS_SESSION_COOKIE as j, CashReceiptType as jn, ProductPage as jr, productInquiryCategorySchema as jt, trackingStageResponseSchema as k, CashReceiptIdentityType as kn, ProductDetail as kr, createInquiryRequestSchema as kt, addonGroupViewSchema as l, cartSchema as li, consentActionSchema as ln, deliveryQuoteSchema as lr, publicReviewSchema as lt, customInputViewSchema as m, memberConsentsSchema as mn, paymentMessageSchema as mr, writableReviewSchema as mt, storefrontStoreSchema as n, productFulfillmentViewSchema as ni, pricingAmountsSchema as nn, cashReceiptIdentityTypeOf as nr, ReviewPage as nt, CustomInputValueView as o, UpdateCartItemRequest as oi, ConsentState as on, checkoutSessionSchema as or, WritableReview as ot, customInputValueViewSchema as p, consentUpdateRequestSchema as pn, paymentFailureCategorySchema as pr, updateReviewResultSchema as pt, createStorefrontClient as q, PaymentStart as qn, pageSchema as qr, applicableCouponSchema as qt, AddonGroupView as r, AddCartItemRequest as ri, ConsentAction as rn, cashReceiptRequestSchema as rr, ReviewSummary as rt, CustomInputView as s, addCartItemRequestSchema as si, ConsentUpdateRequest as sn, createCheckoutRequestSchema as sr, createReviewRequestSchema as st, StorefrontStore as t, productCardFulfillmentSchema as ti, myCouponSchema as tn, cashReceiptAvailable as tr, PublicReview as tt, addonSelectionSchema as u, updateCartItemRequestSchema as ui, consentKindSchema as un, easyPayProviderResponseSchema as ur, reviewPageSchema as ut, optionSelectionViewSchema as v, CreateClaimRequest as vn, paymentOptionSchema as vr, UpdateProfileRequest as vt, deliveryTrackingSchema as w, createClaimRequestSchema as wn, retryPaymentRequestSchema as wr, wishlistAddResultSchema as wt, MyOrderItem as x, claimReasonSchema as xn, pgProviderSchema as xr, memberAddressSchema as xt, DeliveryTracking as y, CreateClaimResult as yn, paymentStartSchema as yr, WishlistAddResult as yt, AnalyticsServerEventName as z, KnownPaymentResult as zn, productSortSchema as zr, ApplicableCoupon as zt };
package/dist/index.d.mts CHANGED
@@ -1,3 +1,3 @@
1
1
  import { C as loginRequestSchema, D as tokenPairSchema, E as socialProviderSchema, O as withdrawRequestSchema, S as linkIdentityRequestSchema, T as signupRequestSchema, _ as anonymousSessionSchema, a as AnonymousSession, b as idpAuthorizeResponseSchema, c as IdpTokenRequest, d as MemberIdentities, f as SignupRequest, g as WithdrawalBlockedDetails, h as WithdrawRequest, i as buildQuery, k as withdrawalBlockedDetailsSchema, l as LinkIdentityRequest, m as TokenPair, n as Query, o as IdpAgreements, p as SocialProvider, r as TokenSource, s as IdpAuthorizeRequest, t as ApiError, u as LoginRequest, v as idpAgreementsSchema, w as memberIdentitiesSchema, x as idpTokenRequestSchema, y as idpAuthorizeRequestSchema } from "./http-1ab7tP4-.mjs";
2
- import { $ as CreateReviewRequest, $n as cashReceiptAvailable, $r as productCardFulfillmentSchema, $t as myCouponSchema, A as ANALYTICS_MAX_BATCH_BYTES, An as CheckoutDelivery, Ar as ProductSearchParams, At as publicInquirySchema, B as analyticsBatchSchema, Bn as PAYMENT_STATUS_VALUES, Br as PageInfo, Bt as CouponApplication, C as PurchaseDecisionResult, Cn as createClaimResultSchema, Cr as shippingAddressInputSchema, Ct as updateProfileRequestSchema, D as orderShippingAddressSchema, Dn as CashReceiptIdentityType, Dr as ProductDetail, Dt as PublicInquiry, E as myOrderSchema, En as CASH_RECEIPT_METHODS, Er as ProductCard, Et as CreateInquiryResult, F as AnalyticsBatch, Fn as EasyPayProvider, Fr as productFacetsSchema, Ft as customerInquiryCategorySchema, G as StorefrontClient, Gn as PaymentStart, Gr as pageSchema, Gt as applicableCouponSchema, H as analyticsClientEventSchema, Hn as PaymentMessage, Hr as claimStatusSchema, Ht as MAX_COUPONS_PER_CHECKOUT, I as AnalyticsClientEvent, In as GuestInfo, Ir as productPageSchema, It as customerInquirySchema, J as STOREFRONT_SESSION_KEYS, Jn as RemoteArea, Jr as ProductCardFulfillment, Jt as couponApplicationListSchema, K as StorefrontClientOptions, Kn as PaymentStatus, Kr as LineFulfillment, Kt as checkoutPricingRequestSchema, L as AnalyticsClientEventName, Ln as KnownPaymentResult, Lr as productSortSchema, Lt as ApplicableCoupon, M as ANALYTICS_SESSION_HEADER, Mn as CreateCheckoutRequest, Mr as categoryNodeSchema, Mt as CustomerInquiry, N as ANALYTICS_VISITOR_COOKIE, Nn as DeliveryQuoteRequest, Nr as productCardSchema, Nt as CustomerInquiryCategory, O as purchaseDecisionResultSchema, On as CashReceiptRequest, Or as ProductFacets, Ot as createInquiryRequestSchema, P as ANALYTICS_VISITOR_HEADER, Pn as DeliveryQuoteResult, Pr as productDetailSchema, Pt as createCustomerInquiryRequestSchema, Q as createStorefrontSession, Qn as availablePaymentOptionSchema, Qr as myOrderItemFulfillmentSnapshotSchema, Qt as myCouponListQuerySchema, R as AnalyticsEventName, Rn as KnownPaymentStatus, Rr as ClaimStatus, Rt as CheckoutPricing, S as OrderShippingAddress, Sn as createClaimRequestSchema, Sr as retryPaymentRequestSchema, St as memberSchema, T as myOrderItemSchema, Tn as AvailablePaymentOption, Tr as CategoryNode, Tt as CreateInquiryRequest, U as analyticsIdSchema, Un as PaymentMethod, Ur as orderItemStatusSchema, Ut as MIN_PAYMENT_AMOUNT, V as analyticsClientEventNameSchema, Vn as PaymentFailureCategory, Vr as PageParams, Vt as CouponResult, W as analyticsServerEventNameSchema, Wn as PaymentOption, Wr as pageInfoSchema, Wt as MyCoupon, X as StorefrontSession, Xn as ShippingAddressInput, Xr as UnknownFulfillmentView, Xt as couponBenefitViewSchema, Y as SessionStorage, Yn as RetryPaymentRequest, Yr as ProductFulfillmentView, Yt as couponApplicationSchema, Z as StorefrontSessionOptions, Zn as StartPaymentRequest, Zr as lineFulfillmentSchema, Zt as couponResultSchema, _ as normalizeCustomInputValue, _n as CreateClaimResult, _r as paymentStartSchema, _t as MemberAddressRequest, a as CustomInputEntry, ai as addCartItemRequestSchema, an as ConsentUpdateRequest, ar as createCheckoutRequestSchema, at as UpdateReviewResult, b as MyOrder, bn as claimReturnAddressSchema, br as remoteAreaSchema, bt as memberAddressRequestSchema, c as OptionSelectionView, ci as updateCartItemRequestSchema, cn as consentKindSchema, cr as easyPayProviderResponseSchema, ct as createReviewResultSchema, d as customInputEntrySchema, dn as consentUpdateRequestSchema, dr as paymentFailureCategorySchema, dt as reviewSummarySchema, ei as productFulfillmentViewSchema, en as pricingAmountsSchema, er as cashReceiptIdentityTypeOf, et as CreateReviewResult, f as customInputLength, fn as memberConsentsSchema, fr as paymentMessageSchema, ft as updateReviewRequestSchema, g as lineSelectionResponseShape, gn as CreateClaimRequest, gr as paymentOptionSchema, gt as MemberAddress, h as lineSelectionRequestShape, hn as ClaimType, hr as paymentOptionListSchema, ht as Member, i as AddonSelection, ii as UpdateCartItemRequest, in as ConsentState, ir as checkoutSessionSchema, it as UpdateReviewRequest, j as ANALYTICS_SESSION_COOKIE, jn as CheckoutSession, jr as ProductSort, jt as CreateCustomerInquiryRequest, k as trackingStageResponseSchema, kn as CashReceiptType, kr as ProductPage, kt as createInquiryResultSchema, l as addonGroupViewSchema, li as analyticsIdsFromCookie, ln as consentSourceSchema, lr as easyPayProviderSchema, lt as publicReviewSchema, m as customInputViewSchema, mn as ClaimReturnAddress, mr as paymentOptionKey, mt as writableReviewSchema, n as storefrontStoreSchema, ni as Cart, nn as ConsentKind, nr as cashReceiptTypeSchema, nt as ReviewPage, o as CustomInputValueView, oi as cartItemSchema, on as MemberConsents, or as deliveryQuoteRequestSchema, ot as WritableReview, p as customInputValueViewSchema, pn as ClaimReason, pr as paymentMethodSchema, pt as updateReviewResultSchema, q as createStorefrontClient, qn as PgProvider, qr as MyOrderItemFulfillmentSnapshot, qt as checkoutPricingSchema, r as AddonGroupView, ri as CartItem, rn as ConsentSource, rr as checkoutDeliverySchema, rt as ReviewSummary, s as CustomInputView, si as cartSchema, sn as consentActionSchema, sr as deliveryQuoteSchema, st as createReviewRequestSchema, t as StorefrontStore, ti as AddCartItemRequest, tn as ConsentAction, tr as cashReceiptRequestSchema, tt as PublicReview, u as addonSelectionSchema, un as consentStateSchema, ur as guestInfoSchema, ut as reviewPageSchema, v as optionSelectionViewSchema, vn as MyClaim, vr as paymentStatusSchema, vt as UpdateProfileRequest, w as deliveryTrackingSchema, wn as myClaimSchema, wr as startPaymentRequestSchema, wt as wishlistAddResultSchema, x as MyOrderItem, xn as claimTypeSchema, xr as residentNumberLike, xt as memberAddressSchema, y as DeliveryTracking, yn as claimReasonSchema, yr as pgProviderSchema, yt as WishlistAddResult, z as AnalyticsServerEventName, zn as PAYMENT_RESULT_VALUES, zr as OrderItemStatus, zt as CheckoutPricingRequest } from "./index-D6lDEBHy.mjs";
3
- export { ANALYTICS_MAX_BATCH_BYTES, ANALYTICS_SESSION_COOKIE, ANALYTICS_SESSION_HEADER, ANALYTICS_VISITOR_COOKIE, ANALYTICS_VISITOR_HEADER, AddCartItemRequest, AddonGroupView, AddonSelection, AnalyticsBatch, AnalyticsClientEvent, AnalyticsClientEventName, AnalyticsEventName, AnalyticsServerEventName, AnonymousSession, ApiError, ApplicableCoupon, AvailablePaymentOption, CASH_RECEIPT_METHODS, Cart, CartItem, CashReceiptIdentityType, CashReceiptRequest, CashReceiptType, CategoryNode, CheckoutDelivery, CheckoutPricing, CheckoutPricingRequest, CheckoutSession, ClaimReason, ClaimReturnAddress, ClaimStatus, ClaimType, ConsentAction, ConsentKind, ConsentSource, ConsentState, ConsentUpdateRequest, CouponApplication, CouponResult, CreateCheckoutRequest, CreateClaimRequest, CreateClaimResult, CreateCustomerInquiryRequest, CreateInquiryRequest, CreateInquiryResult, CreateReviewRequest, CreateReviewResult, CustomInputEntry, CustomInputValueView, CustomInputView, CustomerInquiry, CustomerInquiryCategory, DeliveryQuoteRequest, DeliveryQuoteResult, DeliveryTracking, EasyPayProvider, GuestInfo, IdpAgreements, IdpAuthorizeRequest, IdpTokenRequest, KnownPaymentResult, KnownPaymentStatus, LineFulfillment, LinkIdentityRequest, LoginRequest, MAX_COUPONS_PER_CHECKOUT, MIN_PAYMENT_AMOUNT, Member, MemberAddress, MemberAddressRequest, MemberConsents, MemberIdentities, MyClaim, MyCoupon, MyOrder, MyOrderItem, MyOrderItemFulfillmentSnapshot, OptionSelectionView, OrderItemStatus, OrderShippingAddress, PAYMENT_RESULT_VALUES, PAYMENT_STATUS_VALUES, PageInfo, PageParams, PaymentFailureCategory, PaymentMessage, PaymentMethod, PaymentOption, PaymentStart, PaymentStatus, PgProvider, ProductCard, ProductCardFulfillment, ProductDetail, ProductFacets, ProductFulfillmentView, ProductPage, ProductSearchParams, ProductSort, PublicInquiry, PublicReview, PurchaseDecisionResult, type Query, RemoteArea, RetryPaymentRequest, ReviewPage, ReviewSummary, STOREFRONT_SESSION_KEYS, type SessionStorage, ShippingAddressInput, SignupRequest, SocialProvider, StartPaymentRequest, type StorefrontClient, type StorefrontClientOptions, type StorefrontSession, type StorefrontSessionOptions, StorefrontStore, TokenPair, type TokenSource, UnknownFulfillmentView, UpdateCartItemRequest, UpdateProfileRequest, UpdateReviewRequest, UpdateReviewResult, WishlistAddResult, WithdrawRequest, WithdrawalBlockedDetails, WritableReview, addCartItemRequestSchema, addonGroupViewSchema, addonSelectionSchema, analyticsBatchSchema, analyticsClientEventNameSchema, analyticsClientEventSchema, analyticsIdSchema, analyticsIdsFromCookie, analyticsServerEventNameSchema, anonymousSessionSchema, applicableCouponSchema, availablePaymentOptionSchema, buildQuery, cartItemSchema, cartSchema, cashReceiptAvailable, cashReceiptIdentityTypeOf, cashReceiptRequestSchema, cashReceiptTypeSchema, categoryNodeSchema, checkoutDeliverySchema, checkoutPricingRequestSchema, checkoutPricingSchema, checkoutSessionSchema, claimReasonSchema, claimReturnAddressSchema, claimStatusSchema, claimTypeSchema, consentActionSchema, consentKindSchema, consentSourceSchema, consentStateSchema, consentUpdateRequestSchema, couponApplicationListSchema, couponApplicationSchema, couponBenefitViewSchema, couponResultSchema, createCheckoutRequestSchema, createClaimRequestSchema, createClaimResultSchema, createCustomerInquiryRequestSchema, createInquiryRequestSchema, createInquiryResultSchema, createReviewRequestSchema, createReviewResultSchema, createStorefrontClient, createStorefrontSession, customInputEntrySchema, customInputLength, customInputValueViewSchema, customInputViewSchema, customerInquiryCategorySchema, customerInquirySchema, deliveryQuoteRequestSchema, deliveryQuoteSchema, deliveryTrackingSchema, easyPayProviderResponseSchema, easyPayProviderSchema, guestInfoSchema, idpAgreementsSchema, idpAuthorizeRequestSchema, idpAuthorizeResponseSchema, idpTokenRequestSchema, lineFulfillmentSchema, lineSelectionRequestShape, lineSelectionResponseShape, linkIdentityRequestSchema, loginRequestSchema, memberAddressRequestSchema, memberAddressSchema, memberConsentsSchema, memberIdentitiesSchema, memberSchema, myClaimSchema, myCouponListQuerySchema, myCouponSchema, myOrderItemFulfillmentSnapshotSchema, myOrderItemSchema, myOrderSchema, normalizeCustomInputValue, optionSelectionViewSchema, orderItemStatusSchema, orderShippingAddressSchema, pageInfoSchema, pageSchema, paymentFailureCategorySchema, paymentMessageSchema, paymentMethodSchema, paymentOptionKey, paymentOptionListSchema, paymentOptionSchema, paymentStartSchema, paymentStatusSchema, pgProviderSchema, pricingAmountsSchema, productCardFulfillmentSchema, productCardSchema, productDetailSchema, productFacetsSchema, productFulfillmentViewSchema, productPageSchema, productSortSchema, publicInquirySchema, publicReviewSchema, purchaseDecisionResultSchema, remoteAreaSchema, residentNumberLike, retryPaymentRequestSchema, reviewPageSchema, reviewSummarySchema, shippingAddressInputSchema, signupRequestSchema, socialProviderSchema, startPaymentRequestSchema, storefrontStoreSchema, tokenPairSchema, trackingStageResponseSchema, updateCartItemRequestSchema, updateProfileRequestSchema, updateReviewRequestSchema, updateReviewResultSchema, wishlistAddResultSchema, withdrawRequestSchema, withdrawalBlockedDetailsSchema, writableReviewSchema };
2
+ import { $ as CreateReviewRequest, $n as StartPaymentRequest, $r as lineFulfillmentSchema, $t as couponResultSchema, A as ANALYTICS_MAX_BATCH_BYTES, An as CashReceiptRequest, Ar as ProductFacets, At as createInquiryResultSchema, B as analyticsBatchSchema, Bn as KnownPaymentStatus, Br as ClaimStatus, Bt as CheckoutPricing, C as PurchaseDecisionResult, Cn as claimTypeSchema, Cr as residentNumberLike, Ct as updateProfileRequestSchema, D as orderShippingAddressSchema, Dn as AvailablePaymentOption, Dr as CategoryNode, Dt as ProductInquiryCategory, E as myOrderSchema, En as myClaimSchema, Er as startPaymentRequestSchema, Et as CreateInquiryResult, F as AnalyticsBatch, Fn as DeliveryQuoteRequest, Fr as productCardSchema, Ft as CustomerInquiryCategory, G as StorefrontClient, Gn as PaymentMethod, Gr as orderItemStatusSchema, Gt as MIN_PAYMENT_AMOUNT, H as analyticsClientEventSchema, Hn as PAYMENT_STATUS_VALUES, Hr as PageInfo, Ht as CouponApplication, I as AnalyticsClientEvent, In as DeliveryQuoteResult, Ir as productDetailSchema, It as createCustomerInquiryRequestSchema, J as STOREFRONT_SESSION_KEYS, Jn as PaymentStatus, Jr as LineFulfillment, Jt as checkoutPricingRequestSchema, K as StorefrontClientOptions, Kn as PaymentOption, Kr as pageInfoSchema, Kt as MyCoupon, L as AnalyticsClientEventName, Ln as EasyPayProvider, Lr as productFacetsSchema, Lt as customerInquiryCategorySchema, M as ANALYTICS_SESSION_HEADER, Mn as CheckoutDelivery, Mr as ProductSearchParams, Mt as publicInquirySchema, N as ANALYTICS_VISITOR_COOKIE, Nn as CheckoutSession, Nr as ProductSort, Nt as CreateCustomerInquiryRequest, O as purchaseDecisionResultSchema, On as CASH_RECEIPT_METHODS, Or as ProductCard, Ot as PublicInquiry, P as ANALYTICS_VISITOR_HEADER, Pn as CreateCheckoutRequest, Pr as categoryNodeSchema, Pt as CustomerInquiry, Q as createStorefrontSession, Qn as ShippingAddressInput, Qr as UnknownFulfillmentView, Qt as couponBenefitViewSchema, R as AnalyticsEventName, Rn as GuestInfo, Rr as productPageSchema, Rt as customerInquirySchema, S as OrderShippingAddress, Sn as claimReturnAddressSchema, Sr as remoteAreaSchema, St as memberSchema, T as myOrderItemSchema, Tn as createClaimResultSchema, Tr as shippingAddressInputSchema, Tt as CreateInquiryRequest, U as analyticsIdSchema, Un as PaymentFailureCategory, Ur as PageParams, Ut as CouponResult, V as analyticsClientEventNameSchema, Vn as PAYMENT_RESULT_VALUES, Vr as OrderItemStatus, Vt as CheckoutPricingRequest, W as analyticsServerEventNameSchema, Wn as PaymentMessage, Wr as claimStatusSchema, Wt as MAX_COUPONS_PER_CHECKOUT, X as StorefrontSession, Xn as RemoteArea, Xr as ProductCardFulfillment, Xt as couponApplicationListSchema, Y as SessionStorage, Yn as PgProvider, Yr as MyOrderItemFulfillmentSnapshot, Yt as checkoutPricingSchema, Z as StorefrontSessionOptions, Zn as RetryPaymentRequest, Zr as ProductFulfillmentView, Zt as couponApplicationSchema, _ as normalizeCustomInputValue, _n as ClaimType, _r as paymentOptionListSchema, _t as MemberAddressRequest, a as CustomInputEntry, ai as CartItem, an as ConsentSource, ar as checkoutDeliverySchema, at as UpdateReviewResult, b as MyOrder, bn as MyClaim, br as paymentStatusSchema, bt as memberAddressRequestSchema, c as OptionSelectionView, ci as cartItemSchema, cn as MemberConsents, cr as deliveryQuoteRequestSchema, ct as createReviewResultSchema, d as customInputEntrySchema, di as analyticsIdsFromCookie, dn as consentSourceSchema, dr as easyPayProviderSchema, dt as reviewSummarySchema, ei as myOrderItemFulfillmentSnapshotSchema, en as myCouponListQuerySchema, er as availablePaymentOptionSchema, et as CreateReviewResult, f as customInputLength, fn as consentStateSchema, fr as guestInfoSchema, ft as updateReviewRequestSchema, g as lineSelectionResponseShape, gn as ClaimReturnAddress, gr as paymentOptionKey, gt as MemberAddress, h as lineSelectionRequestShape, hn as ClaimReason, hr as paymentMethodSchema, ht as Member, i as AddonSelection, ii as Cart, in as ConsentKind, ir as cashReceiptTypeSchema, it as UpdateReviewRequest, j as ANALYTICS_SESSION_COOKIE, jn as CashReceiptType, jr as ProductPage, jt as productInquiryCategorySchema, k as trackingStageResponseSchema, kn as CashReceiptIdentityType, kr as ProductDetail, kt as createInquiryRequestSchema, l as addonGroupViewSchema, li as cartSchema, ln as consentActionSchema, lr as deliveryQuoteSchema, lt as publicReviewSchema, m as customInputViewSchema, mn as memberConsentsSchema, mr as paymentMessageSchema, mt as writableReviewSchema, n as storefrontStoreSchema, ni as productFulfillmentViewSchema, nn as pricingAmountsSchema, nr as cashReceiptIdentityTypeOf, nt as ReviewPage, o as CustomInputValueView, oi as UpdateCartItemRequest, on as ConsentState, or as checkoutSessionSchema, ot as WritableReview, p as customInputValueViewSchema, pn as consentUpdateRequestSchema, pr as paymentFailureCategorySchema, pt as updateReviewResultSchema, q as createStorefrontClient, qn as PaymentStart, qr as pageSchema, qt as applicableCouponSchema, r as AddonGroupView, ri as AddCartItemRequest, rn as ConsentAction, rr as cashReceiptRequestSchema, rt as ReviewSummary, s as CustomInputView, si as addCartItemRequestSchema, sn as ConsentUpdateRequest, sr as createCheckoutRequestSchema, st as createReviewRequestSchema, t as StorefrontStore, ti as productCardFulfillmentSchema, tn as myCouponSchema, tr as cashReceiptAvailable, tt as PublicReview, u as addonSelectionSchema, ui as updateCartItemRequestSchema, un as consentKindSchema, ur as easyPayProviderResponseSchema, ut as reviewPageSchema, v as optionSelectionViewSchema, vn as CreateClaimRequest, vr as paymentOptionSchema, vt as UpdateProfileRequest, w as deliveryTrackingSchema, wn as createClaimRequestSchema, wr as retryPaymentRequestSchema, wt as wishlistAddResultSchema, x as MyOrderItem, xn as claimReasonSchema, xr as pgProviderSchema, xt as memberAddressSchema, y as DeliveryTracking, yn as CreateClaimResult, yr as paymentStartSchema, yt as WishlistAddResult, z as AnalyticsServerEventName, zn as KnownPaymentResult, zr as productSortSchema, zt as ApplicableCoupon } from "./index-D2WiGpwr.mjs";
3
+ export { ANALYTICS_MAX_BATCH_BYTES, ANALYTICS_SESSION_COOKIE, ANALYTICS_SESSION_HEADER, ANALYTICS_VISITOR_COOKIE, ANALYTICS_VISITOR_HEADER, AddCartItemRequest, AddonGroupView, AddonSelection, AnalyticsBatch, AnalyticsClientEvent, AnalyticsClientEventName, AnalyticsEventName, AnalyticsServerEventName, AnonymousSession, ApiError, ApplicableCoupon, AvailablePaymentOption, CASH_RECEIPT_METHODS, Cart, CartItem, CashReceiptIdentityType, CashReceiptRequest, CashReceiptType, CategoryNode, CheckoutDelivery, CheckoutPricing, CheckoutPricingRequest, CheckoutSession, ClaimReason, ClaimReturnAddress, ClaimStatus, ClaimType, ConsentAction, ConsentKind, ConsentSource, ConsentState, ConsentUpdateRequest, CouponApplication, CouponResult, CreateCheckoutRequest, CreateClaimRequest, CreateClaimResult, CreateCustomerInquiryRequest, CreateInquiryRequest, CreateInquiryResult, CreateReviewRequest, CreateReviewResult, CustomInputEntry, CustomInputValueView, CustomInputView, CustomerInquiry, CustomerInquiryCategory, DeliveryQuoteRequest, DeliveryQuoteResult, DeliveryTracking, EasyPayProvider, GuestInfo, IdpAgreements, IdpAuthorizeRequest, IdpTokenRequest, KnownPaymentResult, KnownPaymentStatus, LineFulfillment, LinkIdentityRequest, LoginRequest, MAX_COUPONS_PER_CHECKOUT, MIN_PAYMENT_AMOUNT, Member, MemberAddress, MemberAddressRequest, MemberConsents, MemberIdentities, MyClaim, MyCoupon, MyOrder, MyOrderItem, MyOrderItemFulfillmentSnapshot, OptionSelectionView, OrderItemStatus, OrderShippingAddress, PAYMENT_RESULT_VALUES, PAYMENT_STATUS_VALUES, PageInfo, PageParams, PaymentFailureCategory, PaymentMessage, PaymentMethod, PaymentOption, PaymentStart, PaymentStatus, PgProvider, ProductCard, ProductCardFulfillment, ProductDetail, ProductFacets, ProductFulfillmentView, ProductInquiryCategory, ProductPage, ProductSearchParams, ProductSort, PublicInquiry, PublicReview, PurchaseDecisionResult, type Query, RemoteArea, RetryPaymentRequest, ReviewPage, ReviewSummary, STOREFRONT_SESSION_KEYS, type SessionStorage, ShippingAddressInput, SignupRequest, SocialProvider, StartPaymentRequest, type StorefrontClient, type StorefrontClientOptions, type StorefrontSession, type StorefrontSessionOptions, StorefrontStore, TokenPair, type TokenSource, UnknownFulfillmentView, UpdateCartItemRequest, UpdateProfileRequest, UpdateReviewRequest, UpdateReviewResult, WishlistAddResult, WithdrawRequest, WithdrawalBlockedDetails, WritableReview, addCartItemRequestSchema, addonGroupViewSchema, addonSelectionSchema, analyticsBatchSchema, analyticsClientEventNameSchema, analyticsClientEventSchema, analyticsIdSchema, analyticsIdsFromCookie, analyticsServerEventNameSchema, anonymousSessionSchema, applicableCouponSchema, availablePaymentOptionSchema, buildQuery, cartItemSchema, cartSchema, cashReceiptAvailable, cashReceiptIdentityTypeOf, cashReceiptRequestSchema, cashReceiptTypeSchema, categoryNodeSchema, checkoutDeliverySchema, checkoutPricingRequestSchema, checkoutPricingSchema, checkoutSessionSchema, claimReasonSchema, claimReturnAddressSchema, claimStatusSchema, claimTypeSchema, consentActionSchema, consentKindSchema, consentSourceSchema, consentStateSchema, consentUpdateRequestSchema, couponApplicationListSchema, couponApplicationSchema, couponBenefitViewSchema, couponResultSchema, createCheckoutRequestSchema, createClaimRequestSchema, createClaimResultSchema, createCustomerInquiryRequestSchema, createInquiryRequestSchema, createInquiryResultSchema, createReviewRequestSchema, createReviewResultSchema, createStorefrontClient, createStorefrontSession, customInputEntrySchema, customInputLength, customInputValueViewSchema, customInputViewSchema, customerInquiryCategorySchema, customerInquirySchema, deliveryQuoteRequestSchema, deliveryQuoteSchema, deliveryTrackingSchema, easyPayProviderResponseSchema, easyPayProviderSchema, guestInfoSchema, idpAgreementsSchema, idpAuthorizeRequestSchema, idpAuthorizeResponseSchema, idpTokenRequestSchema, lineFulfillmentSchema, lineSelectionRequestShape, lineSelectionResponseShape, linkIdentityRequestSchema, loginRequestSchema, memberAddressRequestSchema, memberAddressSchema, memberConsentsSchema, memberIdentitiesSchema, memberSchema, myClaimSchema, myCouponListQuerySchema, myCouponSchema, myOrderItemFulfillmentSnapshotSchema, myOrderItemSchema, myOrderSchema, normalizeCustomInputValue, optionSelectionViewSchema, orderItemStatusSchema, orderShippingAddressSchema, pageInfoSchema, pageSchema, paymentFailureCategorySchema, paymentMessageSchema, paymentMethodSchema, paymentOptionKey, paymentOptionListSchema, paymentOptionSchema, paymentStartSchema, paymentStatusSchema, pgProviderSchema, pricingAmountsSchema, productCardFulfillmentSchema, productCardSchema, productDetailSchema, productFacetsSchema, productFulfillmentViewSchema, productInquiryCategorySchema, productPageSchema, productSortSchema, publicInquirySchema, publicReviewSchema, purchaseDecisionResultSchema, remoteAreaSchema, residentNumberLike, retryPaymentRequestSchema, reviewPageSchema, reviewSummarySchema, shippingAddressInputSchema, signupRequestSchema, socialProviderSchema, startPaymentRequestSchema, storefrontStoreSchema, tokenPairSchema, trackingStageResponseSchema, updateCartItemRequestSchema, updateProfileRequestSchema, updateReviewRequestSchema, updateReviewResultSchema, wishlistAddResultSchema, withdrawRequestSchema, withdrawalBlockedDetailsSchema, writableReviewSchema };
package/dist/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import { a as ANALYTICS_VISITOR_HEADER, c as analyticsClientEventSchema, i as ANALYTICS_VISITOR_COOKIE, l as analyticsIdSchema, n as ANALYTICS_SESSION_COOKIE, o as analyticsBatchSchema, r as ANALYTICS_SESSION_HEADER, s as analyticsClientEventNameSchema, t as ANALYTICS_MAX_BATCH_BYTES, u as analyticsServerEventNameSchema } from "./analytics-CgD70OqH.mjs";
2
2
  import { t as analyticsIdsFromCookie } from "./analytics-ids-COElZiI3.mjs";
3
- import { $ as updateCartItemRequestSchema, A as consentSourceSchema, B as categoryNodeSchema, C as createInquiryResultSchema, D as customerInquirySchema, E as customerInquiryCategorySchema, F as claimReturnAddressSchema, G as productSortSchema, H as productDetailSchema, I as claimTypeSchema, J as pageInfoSchema, K as claimStatusSchema, L as createClaimRequestSchema, M as consentUpdateRequestSchema, N as memberConsentsSchema, O as consentActionSchema, P as claimReasonSchema, Q as cartSchema, R as createClaimResultSchema, S as createInquiryRequestSchema, T as createCustomerInquiryRequestSchema, U as productFacetsSchema, V as productCardSchema, W as productPageSchema, X as addCartItemRequestSchema, Y as pageSchema, Z as cartItemSchema, _ as memberAddressRequestSchema, a as publicReviewSchema, at as linkIdentityRequestSchema, b as updateProfileRequestSchema, c as updateReviewRequestSchema, ct as signupRequestSchema, d as deliveryTrackingSchema, dt as withdrawRequestSchema, et as anonymousSessionSchema, f as myOrderItemSchema, ft as withdrawalBlockedDetailsSchema, g as trackingStageResponseSchema, gt as unwrapData, h as purchaseDecisionResultSchema, ht as toApiError, i as createReviewResultSchema, it as idpTokenRequestSchema, j as consentStateSchema, k as consentKindSchema, l as updateReviewResultSchema, lt as socialProviderSchema, m as orderShippingAddressSchema, mt as buildQuery, n as storefrontStoreSchema, nt as idpAuthorizeRequestSchema, o as reviewPageSchema, ot as loginRequestSchema, p as myOrderSchema, pt as ApiError, q as orderItemStatusSchema, r as createReviewRequestSchema, rt as idpAuthorizeResponseSchema, s as reviewSummarySchema, st as memberIdentitiesSchema, t as createStorefrontClient, tt as idpAgreementsSchema, u as writableReviewSchema, ut as tokenPairSchema, v as memberAddressSchema, w as publicInquirySchema, x as wishlistAddResultSchema, y as memberSchema, z as myClaimSchema } from "./client-CQYPw2N6.mjs";
4
- import { $ as lineFulfillmentSchema, A as startPaymentRequestSchema, B as myCouponListQuerySchema, C as paymentStartSchema, D as residentNumberLike, E as remoteAreaSchema, F as checkoutPricingSchema, G as customInputEntrySchema, H as pricingAmountsSchema, I as couponApplicationListSchema, J as customInputViewSchema, K as customInputLength, L as couponApplicationSchema, M as MIN_PAYMENT_AMOUNT, N as applicableCouponSchema, O as retryPaymentRequestSchema, P as checkoutPricingRequestSchema, Q as optionSelectionViewSchema, R as couponBenefitViewSchema, S as paymentOptionSchema, T as pgProviderSchema, U as addonGroupViewSchema, V as myCouponSchema, W as addonSelectionSchema, X as lineSelectionResponseShape, Y as lineSelectionRequestShape, Z as normalizeCustomInputValue, _ as paymentFailureCategorySchema, a as cashReceiptAvailable, b as paymentOptionKey, c as cashReceiptTypeSchema, d as createCheckoutRequestSchema, et as myOrderItemFulfillmentSnapshotSchema, f as deliveryQuoteRequestSchema, g as guestInfoSchema, h as easyPayProviderSchema, i as availablePaymentOptionSchema, j as MAX_COUPONS_PER_CHECKOUT, k as shippingAddressInputSchema, l as checkoutDeliverySchema, m as easyPayProviderResponseSchema, n as PAYMENT_RESULT_VALUES, nt as productFulfillmentViewSchema, o as cashReceiptIdentityTypeOf, p as deliveryQuoteSchema, q as customInputValueViewSchema, r as PAYMENT_STATUS_VALUES, s as cashReceiptRequestSchema, t as CASH_RECEIPT_METHODS, tt as productCardFulfillmentSchema, u as checkoutSessionSchema, v as paymentMessageSchema, w as paymentStatusSchema, x as paymentOptionListSchema, y as paymentMethodSchema, z as couponResultSchema } from "./checkout-C25liqdW.mjs";
3
+ import { $ as cartSchema, A as consentKindSchema, B as myClaimSchema, C as createInquiryResultSchema, D as customerInquiryCategorySchema, E as createCustomerInquiryRequestSchema, F as claimReasonSchema, G as productPageSchema, H as productCardSchema, I as claimReturnAddressSchema, J as orderItemStatusSchema, K as productSortSchema, L as claimTypeSchema, M as consentStateSchema, N as consentUpdateRequestSchema, O as customerInquirySchema, P as memberConsentsSchema, Q as cartItemSchema, R as createClaimRequestSchema, S as createInquiryRequestSchema, T as publicInquirySchema, U as productDetailSchema, V as categoryNodeSchema, W as productFacetsSchema, X as pageSchema, Y as pageInfoSchema, Z as addCartItemRequestSchema, _ as memberAddressRequestSchema, _t as unwrapData, a as publicReviewSchema, at as idpTokenRequestSchema, b as updateProfileRequestSchema, c as updateReviewRequestSchema, ct as memberIdentitiesSchema, d as deliveryTrackingSchema, dt as tokenPairSchema, et as updateCartItemRequestSchema, f as myOrderItemSchema, ft as withdrawRequestSchema, g as trackingStageResponseSchema, gt as toApiError, h as purchaseDecisionResultSchema, ht as buildQuery, i as createReviewResultSchema, it as idpAuthorizeResponseSchema, j as consentSourceSchema, k as consentActionSchema, l as updateReviewResultSchema, lt as signupRequestSchema, m as orderShippingAddressSchema, mt as ApiError, n as storefrontStoreSchema, nt as idpAgreementsSchema, o as reviewPageSchema, ot as linkIdentityRequestSchema, p as myOrderSchema, pt as withdrawalBlockedDetailsSchema, q as claimStatusSchema, r as createReviewRequestSchema, rt as idpAuthorizeRequestSchema, s as reviewSummarySchema, st as loginRequestSchema, t as createStorefrontClient, tt as anonymousSessionSchema, u as writableReviewSchema, ut as socialProviderSchema, v as memberAddressSchema, w as productInquiryCategorySchema, x as wishlistAddResultSchema, y as memberSchema, z as createClaimResultSchema } from "./client-BNChG_51.mjs";
4
+ import { $ as lineFulfillmentSchema, A as startPaymentRequestSchema, B as myCouponListQuerySchema, C as paymentStartSchema, D as residentNumberLike, E as remoteAreaSchema, F as checkoutPricingSchema, G as customInputEntrySchema, H as pricingAmountsSchema, I as couponApplicationListSchema, J as customInputViewSchema, K as customInputLength, L as couponApplicationSchema, M as MIN_PAYMENT_AMOUNT, N as applicableCouponSchema, O as retryPaymentRequestSchema, P as checkoutPricingRequestSchema, Q as optionSelectionViewSchema, R as couponBenefitViewSchema, S as paymentOptionSchema, T as pgProviderSchema, U as addonGroupViewSchema, V as myCouponSchema, W as addonSelectionSchema, X as lineSelectionResponseShape, Y as lineSelectionRequestShape, Z as normalizeCustomInputValue, _ as paymentFailureCategorySchema, a as cashReceiptAvailable, b as paymentOptionKey, c as cashReceiptTypeSchema, d as createCheckoutRequestSchema, et as myOrderItemFulfillmentSnapshotSchema, f as deliveryQuoteRequestSchema, g as guestInfoSchema, h as easyPayProviderSchema, i as availablePaymentOptionSchema, j as MAX_COUPONS_PER_CHECKOUT, k as shippingAddressInputSchema, l as checkoutDeliverySchema, m as easyPayProviderResponseSchema, n as PAYMENT_RESULT_VALUES, nt as productFulfillmentViewSchema, o as cashReceiptIdentityTypeOf, p as deliveryQuoteSchema, q as customInputValueViewSchema, r as PAYMENT_STATUS_VALUES, s as cashReceiptRequestSchema, t as CASH_RECEIPT_METHODS, tt as productCardFulfillmentSchema, u as checkoutSessionSchema, v as paymentMessageSchema, w as paymentStatusSchema, x as paymentOptionListSchema, y as paymentMethodSchema, z as couponResultSchema } from "./checkout-PJk8g5DY.mjs";
5
5
  //#region src/session.ts
6
6
  /** 세션 키 상수 — SDK가 소유한다. store-sdk와 겹치지 않는 별도 네임스페이스. */
7
7
  const STOREFRONT_SESSION_KEYS = {
@@ -125,4 +125,4 @@ function createStorefrontSession(options) {
125
125
  };
126
126
  }
127
127
  //#endregion
128
- export { ANALYTICS_MAX_BATCH_BYTES, ANALYTICS_SESSION_COOKIE, ANALYTICS_SESSION_HEADER, ANALYTICS_VISITOR_COOKIE, ANALYTICS_VISITOR_HEADER, ApiError, CASH_RECEIPT_METHODS, MAX_COUPONS_PER_CHECKOUT, MIN_PAYMENT_AMOUNT, PAYMENT_RESULT_VALUES, PAYMENT_STATUS_VALUES, STOREFRONT_SESSION_KEYS, addCartItemRequestSchema, addonGroupViewSchema, addonSelectionSchema, analyticsBatchSchema, analyticsClientEventNameSchema, analyticsClientEventSchema, analyticsIdSchema, analyticsIdsFromCookie, analyticsServerEventNameSchema, anonymousSessionSchema, applicableCouponSchema, availablePaymentOptionSchema, buildQuery, cartItemSchema, cartSchema, cashReceiptAvailable, cashReceiptIdentityTypeOf, cashReceiptRequestSchema, cashReceiptTypeSchema, categoryNodeSchema, checkoutDeliverySchema, checkoutPricingRequestSchema, checkoutPricingSchema, checkoutSessionSchema, claimReasonSchema, claimReturnAddressSchema, claimStatusSchema, claimTypeSchema, consentActionSchema, consentKindSchema, consentSourceSchema, consentStateSchema, consentUpdateRequestSchema, couponApplicationListSchema, couponApplicationSchema, couponBenefitViewSchema, couponResultSchema, createCheckoutRequestSchema, createClaimRequestSchema, createClaimResultSchema, createCustomerInquiryRequestSchema, createInquiryRequestSchema, createInquiryResultSchema, createReviewRequestSchema, createReviewResultSchema, createStorefrontClient, createStorefrontSession, customInputEntrySchema, customInputLength, customInputValueViewSchema, customInputViewSchema, customerInquiryCategorySchema, customerInquirySchema, deliveryQuoteRequestSchema, deliveryQuoteSchema, deliveryTrackingSchema, easyPayProviderResponseSchema, easyPayProviderSchema, guestInfoSchema, idpAgreementsSchema, idpAuthorizeRequestSchema, idpAuthorizeResponseSchema, idpTokenRequestSchema, lineFulfillmentSchema, lineSelectionRequestShape, lineSelectionResponseShape, linkIdentityRequestSchema, loginRequestSchema, memberAddressRequestSchema, memberAddressSchema, memberConsentsSchema, memberIdentitiesSchema, memberSchema, myClaimSchema, myCouponListQuerySchema, myCouponSchema, myOrderItemFulfillmentSnapshotSchema, myOrderItemSchema, myOrderSchema, normalizeCustomInputValue, optionSelectionViewSchema, orderItemStatusSchema, orderShippingAddressSchema, pageInfoSchema, pageSchema, paymentFailureCategorySchema, paymentMessageSchema, paymentMethodSchema, paymentOptionKey, paymentOptionListSchema, paymentOptionSchema, paymentStartSchema, paymentStatusSchema, pgProviderSchema, pricingAmountsSchema, productCardFulfillmentSchema, productCardSchema, productDetailSchema, productFacetsSchema, productFulfillmentViewSchema, productPageSchema, productSortSchema, publicInquirySchema, publicReviewSchema, purchaseDecisionResultSchema, remoteAreaSchema, residentNumberLike, retryPaymentRequestSchema, reviewPageSchema, reviewSummarySchema, shippingAddressInputSchema, signupRequestSchema, socialProviderSchema, startPaymentRequestSchema, storefrontStoreSchema, tokenPairSchema, trackingStageResponseSchema, updateCartItemRequestSchema, updateProfileRequestSchema, updateReviewRequestSchema, updateReviewResultSchema, wishlistAddResultSchema, withdrawRequestSchema, withdrawalBlockedDetailsSchema, writableReviewSchema };
128
+ export { ANALYTICS_MAX_BATCH_BYTES, ANALYTICS_SESSION_COOKIE, ANALYTICS_SESSION_HEADER, ANALYTICS_VISITOR_COOKIE, ANALYTICS_VISITOR_HEADER, ApiError, CASH_RECEIPT_METHODS, MAX_COUPONS_PER_CHECKOUT, MIN_PAYMENT_AMOUNT, PAYMENT_RESULT_VALUES, PAYMENT_STATUS_VALUES, STOREFRONT_SESSION_KEYS, addCartItemRequestSchema, addonGroupViewSchema, addonSelectionSchema, analyticsBatchSchema, analyticsClientEventNameSchema, analyticsClientEventSchema, analyticsIdSchema, analyticsIdsFromCookie, analyticsServerEventNameSchema, anonymousSessionSchema, applicableCouponSchema, availablePaymentOptionSchema, buildQuery, cartItemSchema, cartSchema, cashReceiptAvailable, cashReceiptIdentityTypeOf, cashReceiptRequestSchema, cashReceiptTypeSchema, categoryNodeSchema, checkoutDeliverySchema, checkoutPricingRequestSchema, checkoutPricingSchema, checkoutSessionSchema, claimReasonSchema, claimReturnAddressSchema, claimStatusSchema, claimTypeSchema, consentActionSchema, consentKindSchema, consentSourceSchema, consentStateSchema, consentUpdateRequestSchema, couponApplicationListSchema, couponApplicationSchema, couponBenefitViewSchema, couponResultSchema, createCheckoutRequestSchema, createClaimRequestSchema, createClaimResultSchema, createCustomerInquiryRequestSchema, createInquiryRequestSchema, createInquiryResultSchema, createReviewRequestSchema, createReviewResultSchema, createStorefrontClient, createStorefrontSession, customInputEntrySchema, customInputLength, customInputValueViewSchema, customInputViewSchema, customerInquiryCategorySchema, customerInquirySchema, deliveryQuoteRequestSchema, deliveryQuoteSchema, deliveryTrackingSchema, easyPayProviderResponseSchema, easyPayProviderSchema, guestInfoSchema, idpAgreementsSchema, idpAuthorizeRequestSchema, idpAuthorizeResponseSchema, idpTokenRequestSchema, lineFulfillmentSchema, lineSelectionRequestShape, lineSelectionResponseShape, linkIdentityRequestSchema, loginRequestSchema, memberAddressRequestSchema, memberAddressSchema, memberConsentsSchema, memberIdentitiesSchema, memberSchema, myClaimSchema, myCouponListQuerySchema, myCouponSchema, myOrderItemFulfillmentSnapshotSchema, myOrderItemSchema, myOrderSchema, normalizeCustomInputValue, optionSelectionViewSchema, orderItemStatusSchema, orderShippingAddressSchema, pageInfoSchema, pageSchema, paymentFailureCategorySchema, paymentMessageSchema, paymentMethodSchema, paymentOptionKey, paymentOptionListSchema, paymentOptionSchema, paymentStartSchema, paymentStatusSchema, pgProviderSchema, pricingAmountsSchema, productCardFulfillmentSchema, productCardSchema, productDetailSchema, productFacetsSchema, productFulfillmentViewSchema, productInquiryCategorySchema, productPageSchema, productSortSchema, publicInquirySchema, publicReviewSchema, purchaseDecisionResultSchema, remoteAreaSchema, residentNumberLike, retryPaymentRequestSchema, reviewPageSchema, reviewSummarySchema, shippingAddressInputSchema, signupRequestSchema, socialProviderSchema, startPaymentRequestSchema, storefrontStoreSchema, tokenPairSchema, trackingStageResponseSchema, updateCartItemRequestSchema, updateProfileRequestSchema, updateReviewRequestSchema, updateReviewResultSchema, wishlistAddResultSchema, withdrawRequestSchema, withdrawalBlockedDetailsSchema, writableReviewSchema };
@@ -1,4 +1,4 @@
1
- import { Gn as PaymentStart, In as GuestInfo, Kn as PaymentStatus, On as CashReceiptRequest, Wn as PaymentOption, Xn as ShippingAddressInput, Zn as StartPaymentRequest, q as createStorefrontClient } from "../index-D6lDEBHy.mjs";
1
+ import { $n as StartPaymentRequest, An as CashReceiptRequest, Jn as PaymentStatus, Kn as PaymentOption, Qn as ShippingAddressInput, Rn as GuestInfo, q as createStorefrontClient, qn as PaymentStart } from "../index-D2WiGpwr.mjs";
2
2
  //#region src/payments/index.d.ts
3
3
  /**
4
4
  * 스토어프론트 결제 — 브라우저 전용(`@sayren/storefront-sdk/payments`).
@@ -101,7 +101,7 @@ export declare function paymentResultOf(status: PaymentStatus, options?: {
101
101
  }): PaymentResult;
102
102
  export interface PaymentsOptions {
103
103
  client: StorefrontClient;
104
- /** 결제를 마치면 돌아올 주소(스토어 결제 도메인 안). `start`·`retry`에서 바꿀 수 있다 */
104
+ /** 결제를 마치면 돌아올 주소(상점 결제 도메인 안). `start`·`retry`에서 바꿀 수 있다 */
105
105
  returnUrl?: string;
106
106
  env?: PaymentsEnv;
107
107
  }
@@ -1,4 +1,4 @@
1
- import { v as paymentMessageSchema } from "../checkout-C25liqdW.mjs";
1
+ import { v as paymentMessageSchema } from "../checkout-PJk8g5DY.mjs";
2
2
  //#region src/payments/index.ts
3
3
  /** 복귀 주소에 결제 서비스가 붙이는 쿼리 */
4
4
  const RETURN_PAYMENT_ID = "sayrenPaymentId";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sayren/storefront-sdk",
3
- "version": "0.18.0",
3
+ "version": "0.18.2",
4
4
  "main": "./dist/index.mjs",
5
5
  "types": "./dist/index.d.mts",
6
6
  "exports": {
@@ -23,7 +23,7 @@ export type AnalyticsConsent = "granted" | "denied" | "pending";
23
23
  export interface AnalyticsOptions {
24
24
  /** 스토어프론트 API 베이스 — 예: `https://api.sayren.app/storefront/v1` */
25
25
  baseUrl: string;
26
- /** 테넌트 스토어 코드 */
26
+ /** 테넌트 상점 코드 */
27
27
  storeCode: string;
28
28
  /** 동의 상태. 기본 `pending` — 셀러의 동의 배너가 `setConsent`로 바꾼다 */
29
29
  consent?: AnalyticsConsent;
package/src/auth/index.ts CHANGED
@@ -74,7 +74,7 @@ async function s256(verifier: string): Promise<string> {
74
74
  export interface StorefrontAuthOptions {
75
75
  /** 예: https://api.sayren.app/storefront/v1 */
76
76
  baseUrl: string;
77
- /** 테넌트 스토어 코드 — `X-Store-Code` 헤더로 보낸다 */
77
+ /** 테넌트 상점 코드 — `X-Store-Code` 헤더로 보낸다 */
78
78
  storeCode: string;
79
79
  fetch?: typeof globalThis.fetch;
80
80
  }
@@ -226,7 +226,7 @@ export function createStorefrontAuth(options: StorefrontAuthOptions) {
226
226
  },
227
227
  /**
228
228
  * 구매자 탈퇴 — 계정·배송지·위시리스트·장바구니·적립금을 지우고 토큰을 모두 무효로 만든다. 되돌릴 수 없다.
229
- * 주문·리뷰·문의 기록은 스토어가 보관한다. 진행 중인 주문이나 처리 중인 클레임이 있으면
229
+ * 주문·리뷰·문의 기록은 상점이 보관한다. 진행 중인 주문이나 처리 중인 클레임이 있으면
230
230
  * 409 `WITHDRAWAL_BLOCKED`(`error.details`: `WithdrawalBlockedDetails`)다. 앱은 성공 후 보관한 토큰을 지운다.
231
231
  */
232
232
  withdraw(accessToken: string, body: WithdrawRequest): Promise<void> {
package/src/client.ts CHANGED
@@ -103,7 +103,7 @@ export interface StorefrontClientOptions {
103
103
  /** 예: https://demo.store.example.com/api/v1 */
104
104
  baseUrl: string;
105
105
  /**
106
- * 테넌트 스토어 코드 — `X-Store-Code` 헤더로 전송한다. 공유 API 호스트로 접근할 때
106
+ * 테넌트 상점 코드 — `X-Store-Code` 헤더로 전송한다. 공유 API 호스트로 접근할 때
107
107
  * 서버가 Host 서브도메인을 추측하는 대신 명시적으로 테넌트를 지정한다(멀티테넌트 격리).
108
108
  * 함수로 전달하면 매 요청마다 재평가.
109
109
  */
@@ -233,7 +233,7 @@ export function createStorefrontClient(options: StorefrontClientOptions) {
233
233
  },
234
234
 
235
235
  store: {
236
- /** 스토어 공개 설정 — 이름·고객센터·비회원 주문 허용 여부 */
236
+ /** 상점 공개 설정 — 이름·고객센터·비회원 주문 허용 여부 */
237
237
  get: () => http.request("GET", "/store", storefrontStoreSchema),
238
238
  },
239
239
 
@@ -305,10 +305,10 @@ export function createStorefrontClient(options: StorefrontClientOptions) {
305
305
  * `@sayren/storefront-sdk/payments`의 `createPayments().start()`다 — 이 메서드는 값만 받는다.
306
306
  *
307
307
  * 에러(`ApiError.code`):
308
- * - 409 `PAYMENT_OPTION_UNAVAILABLE`: 이 스토어에서 쓸 수 없는 옵션. `details.paymentOptions`에 지금 목록
308
+ * - 409 `PAYMENT_OPTION_UNAVAILABLE`: 이 상점에서 쓸 수 없는 옵션. `details.paymentOptions`에 지금 목록
309
309
  * - 409 `PAYMENT_NOT_CONFIGURED`: 사용 중인 PG가 없다
310
310
  * - 400 `RETURN_URL_NOT_ALLOWED`: `returnUrl`이 https가 아니거나(테스트 결제의 localhost는 예외),
311
- * 스토어가 결제 도메인을 등록했는데 그 안이 아니다. 등록하지 않았으면 https 주소는 모두 받는다
311
+ * 상점이 결제 도메인을 등록했는데 그 안이 아니다. 등록하지 않았으면 https 주소는 모두 받는다
312
312
  * - 503 `PAYMENT_PROVIDER_UNAVAILABLE`: 고른 PG의 결제창을 준비하지 못했다(다른 옵션으로 다시 시도)
313
313
  */
314
314
  startPayment: (checkoutId: string, body: StartPaymentRequest) =>
@@ -336,7 +336,7 @@ export function createStorefrontClient(options: StorefrontClientOptions) {
336
336
  * `expiresAt`까지 폴링한다. `completed`면 `orderId`로 완료 화면, `failed`·`expired`면 실패 안내다.
337
337
  * TTL이 지난 `pending`은 `expired`로 보고된다. `testPayment`는 완료면 주문 플래그, 아니면 세션 환경이다.
338
338
  *
339
- * 에러: 404 `PAYMENT_NOT_FOUND`(없음·다른 스토어) · 410 `STORE_CLOSED` · 503 `STORE_SUSPENDED`
339
+ * 에러: 404 `PAYMENT_NOT_FOUND`(없음·다른 상점) · 410 `STORE_CLOSED` · 503 `STORE_SUSPENDED`
340
340
  */
341
341
  getStatus: (paymentId: string) =>
342
342
  http.request("GET", path`/payments/${paymentId}`, paymentStatusSchema),
@@ -359,7 +359,7 @@ export function createStorefrontClient(options: StorefrontClientOptions) {
359
359
  *
360
360
  * 에러: 404 `ORDER_NOT_FOUND`(주문이 없거나 연락처·비밀번호가 다름 — 둘을 구분하지 않는다) ·
361
361
  * 429 `TOO_MANY_REQUESTS`(주문번호마다 10분에 5번까지 확인하고, 5번째가 틀리면 30분 잠금.
362
- * 주문번호마다 하루 15번, 스토어 전체 분당 한도도 있다. 남은 시간은 `ApiError.details.retryAfterSeconds`).
362
+ * 주문번호마다 하루 15번, 상점 전체 분당 한도도 있다. 남은 시간은 `ApiError.details.retryAfterSeconds`).
363
363
  * 맞게 조회하면 주문번호의 횟수가 초기화된다. 본문 형식은 `guestInfoSchema`의 `phone`·`orderPassword`와 같다.
364
364
  * 429는 연락처·비밀번호가 맞아도 난다 — 「잠시 후 다시 시도」로 안내한다.
365
365
  */
@@ -229,7 +229,7 @@ function browserEnv(): PaymentsEnv {
229
229
 
230
230
  export interface PaymentsOptions {
231
231
  client: StorefrontClient;
232
- /** 결제를 마치면 돌아올 주소(스토어 결제 도메인 안). `start`·`retry`에서 바꿀 수 있다 */
232
+ /** 결제를 마치면 돌아올 주소(상점 결제 도메인 안). `start`·`retry`에서 바꿀 수 있다 */
233
233
  returnUrl?: string;
234
234
  env?: PaymentsEnv;
235
235
  }
@@ -23,13 +23,38 @@ export const productCardSchema = z.object({
23
23
  productId: z.string(),
24
24
  name: z.string(),
25
25
  thumbnailUrl: z.url().nullable().describe("대표 이미지 주소. 등록된 이미지가 없으면 null"),
26
- salePrice: z.number().int().describe("판매가. 원(KRW) 단위 정수"),
26
+ salePrice: z
27
+ .number()
28
+ .int()
29
+ .describe(
30
+ "판매가. 원(KRW) 단위 정수. 즉시할인이 없으면 구매자가 내는 한 개 가격(옵션 추가금 제외)이고, 즉시할인의 기준 가격이다",
31
+ ),
27
32
  discountedPrice: z
28
33
  .number()
29
34
  .int()
30
35
  .nullable()
31
- .describe("즉시 할인 적용가. 원 단위. 할인이 없으면 null"),
32
- discountRate: z.number().int().nullable().describe("할인율(%). 할인이 없으면 null"),
36
+ .describe(
37
+ "즉시할인 적용가. 원 단위. 판매가에 즉시할인을 적용한 값이고, 있으면 이 값이 구매자가 내는 한 개 가격이다. 할인이 없으면 null",
38
+ ),
39
+ discountRate: z
40
+ .number()
41
+ .int()
42
+ .nullable()
43
+ .describe(
44
+ "즉시할인율(%). 판매가 대비 `discountedPrice`의 할인율이다(정가 기준이 아니다). 할인이 없으면 null",
45
+ ),
46
+ originalPrice: z
47
+ .number()
48
+ .int()
49
+ .nullable()
50
+ .optional()
51
+ .default(null)
52
+ .describe(
53
+ "정가(할인 전 표시 가격, 이슈 #82). 원 단위. 셀러가 상품에 적은 비교용 가격이고 결제 금액 계산에 쓰지 않는다. " +
54
+ "구매자가 내는 가격은 `discountedPrice ?? salePrice`다. 정가가 그 가격보다 클 때 「정가 취소선 + 할인율 + 판매가」로 보이면 되고, " +
55
+ "이때 할인율은 `round((1 - (discountedPrice ?? salePrice) / originalPrice) × 100)`이다. 판매가와 크기를 검증하지 않으므로 " +
56
+ "작거나 같으면 표시하지 않는다. 정하지 않았으면 null. 서버는 항상 싣는다",
57
+ ),
33
58
  freeShipping: z
34
59
  .boolean()
35
60
  .describe("무료배송 배지. 배송 상품이고 배송비가 무료일 때만 true다(배송이 없는 상품은 false)"),
@@ -50,7 +50,7 @@ export const checkoutDeliverySchema = z.object({
50
50
  bundleCount: z.number().int().describe("배송 묶음 수 — 배송비를 부과한 횟수다"),
51
51
  freeByThreshold: z
52
52
  .boolean()
53
- .describe("스토어 전체 무료배송 기준액을 넘겨 기본 배송비를 면제했는가"),
53
+ .describe("상점 전체 무료배송 기준액을 넘겨 기본 배송비를 면제했는가"),
54
54
  zipCode: z
55
55
  .string()
56
56
  .nullable()
@@ -127,7 +127,7 @@ export const checkoutSessionSchema = z.object({
127
127
  testPayment: z
128
128
  .boolean()
129
129
  .describe(
130
- "지금 결제하면 테스트 결제(샌드박스)인가. true면 실제로 돈이 나가지 않습니다 — 주문서에 테스트 결제 안내를 표시합니다. 결제 요청 시점에 스토어 결제 설정으로 다시 정해지니 최종 값은 결제 요청 응답의 `testPayment`입니다",
130
+ "지금 결제하면 테스트 결제(샌드박스)인가. true면 실제로 돈이 나가지 않습니다 — 주문서에 테스트 결제 안내를 표시합니다. 결제 요청 시점에 상점 결제 설정으로 다시 정해지니 최종 값은 결제 요청 응답의 `testPayment`입니다",
131
131
  ),
132
132
  });
133
133
 
@@ -165,7 +165,7 @@ export const paymentMethodSchema = z.enum([
165
165
 
166
166
  export type PaymentMethod = z.infer<typeof paymentMethodSchema>;
167
167
 
168
- /** 결제를 처리하는 PG. 셀러가 직접 계약하고 콘솔 설정 › 결제에서 연결한다 */
168
+ /** 결제를 처리하는 PG. 셀러가 직접 계약하고 상점 플랫폼 설정 › 결제에서 연결한다 */
169
169
  export const pgProviderSchema = z.enum(["tosspayments", "portone"]);
170
170
  export type PgProvider = z.infer<typeof pgProviderSchema>;
171
171
 
@@ -373,7 +373,7 @@ const cashReceiptField = cashReceiptRequestSchema
373
373
  /**
374
374
  * 결제 시작 — 배송지를 확정하고 고른 결제 옵션으로 결제 시도를 연다. 응답의 `payUrl`(결제 서비스)을 팝업(`mode=popup`)이나
375
375
  * 전체 페이지로 열면 결제 서비스가 PG 결제창을 띄우고 승인까지 한다. 리다이렉트 결제가 끝나면 구매자는 `returnUrl`로 돌아온다.
376
- * `returnUrl`의 도메인은 스토어 결제 도메인(콘솔 설정 › 결제)에 등록돼 있어야 한다(테스트 결제는 localhost 허용).
376
+ * `returnUrl`의 도메인은 상점 결제 도메인(상점 플랫폼 설정 › 결제)에 등록돼 있어야 한다(테스트 결제는 localhost 허용).
377
377
  */
378
378
  export const startPaymentRequestSchema = z.object({
379
379
  option: paymentOptionSchema,
@@ -381,7 +381,7 @@ export const startPaymentRequestSchema = z.object({
381
381
  .url()
382
382
  .max(2048)
383
383
  .describe(
384
- "결제를 마치면 돌아올 스토어프론트 주소. 스토어 결제 도메인에 등록된 도메인이어야 한다",
384
+ "결제를 마치면 돌아올 스토어프론트 주소. 상점 결제 도메인에 등록된 도메인이어야 한다",
385
385
  ),
386
386
  shippingAddress: shippingAddressInputSchema
387
387
  .optional()
@@ -76,10 +76,10 @@ export const createClaimResultSchema = z.object({
76
76
  export type CreateClaimResult = z.infer<typeof createClaimResultSchema>;
77
77
 
78
78
  /**
79
- * 반품지 (이슈 #30) — 반품·교환 수거가 안내하는 주소다. 스토어 주소록의 기본 반품지이거나,
79
+ * 반품지 (이슈 #30) — 반품·교환 수거가 안내하는 주소다. 상점 주소록의 기본 반품지이거나,
80
80
  * 상품이 반품지를 따로 지정했으면 그 주소다.
81
81
  *
82
- * 취소 클레임은 보낼 물건이 없어 null이고, 반품지를 등록하지 않은 스토어도 null이다.
82
+ * 취소 클레임은 보낼 물건이 없어 null이고, 반품지를 등록하지 않은 상점도 null이다.
83
83
  * 구매자가 직접 보내는 수거(`BUYER_SEND`)에 이 주소가 필요하다.
84
84
  */
85
85
  export const claimReturnAddressSchema = z.object({
@@ -32,11 +32,11 @@ export const consentStateSchema = z.object({
32
32
  agreed: z.boolean(),
33
33
  /** 동의한 약관 버전. 마케팅은 버전이 없어 null이고, 동의 이력이 없으면 null이다 */
34
34
  agreedVersion: z.string().nullable(),
35
- /** 스토어의 현재 약관 버전. 마케팅은 null */
35
+ /** 상점의 현재 약관 버전. 마케팅은 null */
36
36
  currentVersion: z.string().nullable(),
37
37
  /**
38
- * 스토어가 정한 현재 약관 문서 주소. 재동의 화면에서 이 주소를 보여 준다.
39
- * 스토어가 정하지 않았거나 마케팅이면 null이다(동의한 시점의 주소는 셀러가 보는 이력에 남는다).
38
+ * 상점이 정한 현재 약관 문서 주소. 재동의 화면에서 이 주소를 보여 준다.
39
+ * 상점이 정하지 않았거나 마케팅이면 null이다(동의한 시점의 주소는 셀러가 보는 이력에 남는다).
40
40
  */
41
41
  currentDocumentUrl: z.string().nullable(),
42
42
  /** 마지막으로 동의·철회한 시각. 이력이 없으면 null */
@@ -1,5 +1,19 @@
1
1
  import { z } from "zod";
2
2
 
3
+ /**
4
+ * 상품 문의 유형(이슈 #85) — 관리 API 상품 문의의 `category`와 같은 값이다.
5
+ * `PRODUCT` 상품(사이즈·소재 등), `DELIVERY` 배송, `RETURN` 반품, `EXCHANGE` 교환, `ETC` 기타
6
+ */
7
+ export const productInquiryCategorySchema = z.enum([
8
+ "PRODUCT",
9
+ "DELIVERY",
10
+ "RETURN",
11
+ "EXCHANGE",
12
+ "ETC",
13
+ ]);
14
+
15
+ export type ProductInquiryCategory = z.infer<typeof productInquiryCategorySchema>;
16
+
3
17
  export const publicInquirySchema = z.object({
4
18
  inquiryId: z.string(),
5
19
  content: z.string().nullable(),
@@ -13,6 +27,33 @@ export const publicInquirySchema = z.object({
13
27
  })
14
28
  .nullable(),
15
29
  createdAt: z.string(),
30
+ // ── 이슈 #85: 어느 상품의 문의인지(「내 상품 문의」에서 상품으로 돌아가기)와 문의 유형. 옛 서버 응답에 없으면 기본값으로 읽는다 ──
31
+ productId: z
32
+ .string()
33
+ .nullable()
34
+ .optional()
35
+ .default(null)
36
+ .describe("문의한 상품 id. 서버는 항상 싣는다(옛 서버 응답이면 null)"),
37
+ productName: z
38
+ .string()
39
+ .nullable()
40
+ .optional()
41
+ .default(null)
42
+ .describe("문의한 상품의 지금 이름. 상품이 지워졌으면 null. 서버는 항상 싣는다"),
43
+ thumbnailUrl: z
44
+ .url()
45
+ .nullable()
46
+ .optional()
47
+ .default(null)
48
+ .describe(
49
+ "문의한 상품의 대표 이미지 주소. 이미지가 없거나 상품이 지워졌으면 null. 서버는 항상 싣는다",
50
+ ),
51
+ category: productInquiryCategorySchema
52
+ .optional()
53
+ .default("PRODUCT")
54
+ .describe(
55
+ "문의 유형. `PRODUCT`(상품)·`DELIVERY`(배송)·`RETURN`(반품)·`EXCHANGE`(교환)·`ETC`(기타). 서버는 항상 싣는다",
56
+ ),
16
57
  });
17
58
 
18
59
  export type PublicInquiry = z.infer<typeof publicInquirySchema>;
@@ -20,6 +61,11 @@ export type PublicInquiry = z.infer<typeof publicInquirySchema>;
20
61
  export const createInquiryRequestSchema = z.object({
21
62
  content: z.string().min(1).max(1000),
22
63
  secret: z.boolean().default(false),
64
+ category: productInquiryCategorySchema
65
+ .optional()
66
+ .describe(
67
+ "문의 유형(이슈 #85). `PRODUCT`(상품)·`DELIVERY`(배송)·`RETURN`(반품)·`EXCHANGE`(교환)·`ETC`(기타). 생략하면 `PRODUCT`다",
68
+ ),
23
69
  });
24
70
 
25
71
  export type CreateInquiryRequest = z.infer<typeof createInquiryRequestSchema>;
@@ -13,7 +13,7 @@ export const memberSchema = z.object({
13
13
  .boolean()
14
14
  .describe(
15
15
  "약관이 개정돼 필수 동의를 다시 받아야 하는가. true면 `GET /me/consents`로 어떤 항목인지 확인하고 " +
16
- "`POST /me/consents`로 받는다. 받기 전에도 스토어 이용은 막히지 않는다",
16
+ "`POST /me/consents`로 받는다. 받기 전에도 상점 이용은 막히지 않는다",
17
17
  ),
18
18
  });
19
19
 
@@ -52,7 +52,7 @@ export function normalizeCustomInputValue(value: string): string {
52
52
 
53
53
  /**
54
54
  * 직접 입력값의 글자 수 — 정규화한 값의 **코드 포인트 수**다(이모지 하나가 1자). 서버의 최대 글자 수 판정(`CUSTOM_INPUT_TOO_LONG`)과
55
- * 스토어프론트·콘솔의 글자 수 표시가 이 함수 하나를 쓴다. `String.length`(UTF-16)로 세면 이모지가 2자로 세어 판정이 갈린다.
55
+ * 스토어프론트·상점 플랫폼의 글자 수 표시가 이 함수 하나를 쓴다. `String.length`(UTF-16)로 세면 이모지가 2자로 세어 판정이 갈린다.
56
56
  */
57
57
  export function customInputLength(value: string): number {
58
58
  return [...normalizeCustomInputValue(value)].length;
@@ -1,7 +1,19 @@
1
1
  import { z } from "zod";
2
2
 
3
3
  /**
4
- * 스토어 공개 설정 — `GET /store`. 스토어프론트가 화면을 그릴 때 읽는 값만 담는다.
4
+ * 사업자 정보 필드(이슈 #81) — 전자상거래법 표기(푸터)용이다. 셀러가 정하지 않았으면 null이고, 그 항목은 표시하지 않으면 된다.
5
+ * 옛 서버 응답에 없으면 null로 읽는다.
6
+ */
7
+ const businessText = (description: string) =>
8
+ z
9
+ .string()
10
+ .nullable()
11
+ .optional()
12
+ .default(null)
13
+ .describe(`${description}. 정하지 않았으면 null. 서버는 항상 싣는다`);
14
+
15
+ /**
16
+ * 상점 공개 설정 — `GET /store`. 스토어프론트가 화면을 그릴 때 읽는 값만 담는다.
5
17
  */
6
18
  export const storefrontStoreSchema = z.object({
7
19
  storeCode: z.string(),
@@ -9,6 +21,16 @@ export const storefrontStoreSchema = z.object({
9
21
  logoUrl: z.string().nullable(),
10
22
  customerCenterPhone: z.string().nullable(),
11
23
  businessHours: z.string().nullable(),
24
+ businessName: businessText("상호(사업자등록증의 상호). 상점명(`name`)과 다를 수 있다"),
25
+ representativeName: businessText("대표자명"),
26
+ businessNumber: businessText(
27
+ "사업자등록번호. 관리 API로 저장한 값은 숫자 10자리(하이픈 없음)이고 표시할 때 `123-45-67890`으로 끊으면 된다",
28
+ ),
29
+ mailOrderSalesNumber: businessText("통신판매업 신고번호. 셀러가 적은 그대로다"),
30
+ businessAddress: businessText("사업장 주소"),
31
+ customerCenterEmail: businessText("고객센터 이메일"),
32
+ privacyOfficerName: businessText("개인정보 보호책임자 성명"),
33
+ privacyOfficerEmail: businessText("개인정보 보호책임자 이메일"),
12
34
  /**
13
35
  * 비회원 주문 허용. false면 로그인하지 않은 구매자의 주문서 생성·결제 요청이 403 `GUEST_CHECKOUT_DISABLED`다.
14
36
  * 장바구니 담기는 된다 — 주문 버튼을 로그인 안내로 바꾸면 된다
package/src/session.ts CHANGED
@@ -30,7 +30,7 @@ const REFRESH_LOCK = STOREFRONT_SESSION_KEYS.refreshToken;
30
30
  export interface StorefrontSessionOptions {
31
31
  /** 예: https://shop.api.example.com/storefront/v1 */
32
32
  baseUrl: string;
33
- /** 테넌트 스토어 코드 — X-Store-Code 헤더로 전송한다 */
33
+ /** 테넌트 상점 코드 — X-Store-Code 헤더로 전송한다 */
34
34
  storeCode?: string;
35
35
  /** 저장 매체 어댑터 (앱 소유) */
36
36
  storage: SessionStorage;