@sayren/storefront-sdk 0.14.0 → 0.16.0

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.
@@ -26,7 +26,11 @@ declare const cartItemSchema: z.ZodObject<{
26
26
  quantity: z.ZodNumber;
27
27
  unitPrice: z.ZodNumber;
28
28
  totalPrice: z.ZodNumber;
29
- fulfillmentType: z.ZodDefault<z.ZodOptional<z.ZodString>>;
29
+ fulfillment: z.ZodObject<{
30
+ type: z.ZodString;
31
+ requiresShipping: z.ZodBoolean;
32
+ withdrawalRestricted: z.ZodOptional<z.ZodBoolean>;
33
+ }, z.core.$strip>;
30
34
  purchasable: z.ZodBoolean;
31
35
  unpurchasableReason: z.ZodNullable<z.ZodEnum<{
32
36
  SOLD_OUT: "SOLD_OUT";
@@ -46,7 +50,11 @@ declare const cartSchema: z.ZodObject<{
46
50
  quantity: z.ZodNumber;
47
51
  unitPrice: z.ZodNumber;
48
52
  totalPrice: z.ZodNumber;
49
- fulfillmentType: z.ZodDefault<z.ZodOptional<z.ZodString>>;
53
+ fulfillment: z.ZodObject<{
54
+ type: z.ZodString;
55
+ requiresShipping: z.ZodBoolean;
56
+ withdrawalRestricted: z.ZodOptional<z.ZodBoolean>;
57
+ }, z.core.$strip>;
50
58
  purchasable: z.ZodBoolean;
51
59
  unpurchasableReason: z.ZodNullable<z.ZodEnum<{
52
60
  SOLD_OUT: "SOLD_OUT";
@@ -58,7 +66,7 @@ declare const cartSchema: z.ZodObject<{
58
66
  productAmount: z.ZodNumber;
59
67
  deliveryFee: z.ZodNumber;
60
68
  totalAmount: z.ZodNumber;
61
- requiresShipping: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
69
+ requiresShipping: z.ZodBoolean;
62
70
  }, z.core.$strip>;
63
71
  }, z.core.$strip>;
64
72
  type Cart = z.infer<typeof cartSchema>;
@@ -74,6 +82,71 @@ declare const updateCartItemRequestSchema: z.ZodObject<{
74
82
  }, z.core.$strip>;
75
83
  type UpdateCartItemRequest = z.infer<typeof updateCartItemRequestSchema>;
76
84
  //#endregion
85
+ //#region src/schemas/fulfillment.d.ts
86
+ /** 모르는 유형 — SDK가 아직 모르는 유형이다 */
87
+ interface UnknownFulfillmentView {
88
+ type: "OTHER";
89
+ /** 서버가 보낸 유형 이름 */
90
+ rawType: string;
91
+ requiresShipping: boolean;
92
+ }
93
+ /** 상품 카드(목록·찜)의 이행 — 유형과 배송 필요 여부만. 배송비·환불 정책은 상세에서 본다 */
94
+ declare const productCardFulfillmentSchema: z.ZodObject<{
95
+ type: z.ZodString;
96
+ requiresShipping: z.ZodBoolean;
97
+ }, z.core.$strip>;
98
+ type ProductCardFulfillment = z.infer<typeof productCardFulfillmentSchema>;
99
+ /** 상품 상세의 이행 */
100
+ declare const productFulfillmentViewSchema: z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
101
+ type: z.ZodLiteral<"SHIPPING">;
102
+ requiresShipping: z.ZodLiteral<true>;
103
+ shipping: z.ZodObject<{
104
+ deliveryType: z.ZodString;
105
+ deliveryFee: z.ZodNumber;
106
+ conditionalFreeAmount: z.ZodNullable<z.ZodNumber>;
107
+ estimatedDays: z.ZodString;
108
+ returnDeliveryFee: z.ZodNumber;
109
+ exchangeDeliveryFee: z.ZodNumber;
110
+ }, z.core.$strip>;
111
+ }, z.core.$strip>, z.ZodObject<{
112
+ type: z.ZodLiteral<"MANUAL">;
113
+ requiresShipping: z.ZodLiteral<false>;
114
+ }, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
115
+ type: z.ZodString;
116
+ requiresShipping: z.ZodBoolean;
117
+ }, z.core.$loose>, z.ZodTransform<UnknownFulfillmentView, {
118
+ [x: string]: unknown;
119
+ type: string;
120
+ requiresShipping: boolean;
121
+ }>>]>;
122
+ type ProductFulfillmentView = z.infer<typeof productFulfillmentViewSchema>;
123
+ /** 장바구니 줄·주문서 줄의 이행 — 주문서 줄은 주문서 시점 스냅샷이다 */
124
+ declare const lineFulfillmentSchema: z.ZodObject<{
125
+ type: z.ZodString;
126
+ requiresShipping: z.ZodBoolean;
127
+ withdrawalRestricted: z.ZodOptional<z.ZodBoolean>;
128
+ }, z.core.$strip>;
129
+ type LineFulfillment = z.infer<typeof lineFulfillmentSchema>;
130
+ /**
131
+ * 내 주문 주문상품의 주문 시점 이행 스냅샷. 상품을 나중에 고쳐도 바뀌지 않는다. 제공 기록(제공 시각·판매자 안내)은
132
+ * 주문상품의 `fulfillment`다.
133
+ */
134
+ declare const myOrderItemFulfillmentSnapshotSchema: z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
135
+ type: z.ZodLiteral<"SHIPPING">;
136
+ requiresShipping: z.ZodLiteral<true>;
137
+ }, z.core.$strip>, z.ZodObject<{
138
+ type: z.ZodLiteral<"MANUAL">;
139
+ requiresShipping: z.ZodLiteral<false>;
140
+ }, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
141
+ type: z.ZodString;
142
+ requiresShipping: z.ZodBoolean;
143
+ }, z.core.$loose>, z.ZodTransform<UnknownFulfillmentView, {
144
+ [x: string]: unknown;
145
+ type: string;
146
+ requiresShipping: boolean;
147
+ }>>]>;
148
+ type MyOrderItemFulfillmentSnapshot = z.infer<typeof myOrderItemFulfillmentSnapshotSchema>;
149
+ //#endregion
77
150
  //#region src/schemas/common.d.ts
78
151
  declare const pageInfoSchema: z.ZodObject<{
79
152
  page: z.ZodNumber;
@@ -94,7 +167,6 @@ interface PageParams {
94
167
  size?: number;
95
168
  }
96
169
  declare const orderItemStatusSchema: z.ZodEnum<{
97
- CANCELED: "CANCELED";
98
170
  PAYMENT_WAITING: "PAYMENT_WAITING";
99
171
  PAID: "PAID";
100
172
  CONFIRMED: "CONFIRMED";
@@ -102,10 +174,10 @@ declare const orderItemStatusSchema: z.ZodEnum<{
102
174
  DELIVERING: "DELIVERING";
103
175
  DELIVERED: "DELIVERED";
104
176
  PURCHASE_DECIDED: "PURCHASE_DECIDED";
177
+ CANCELED: "CANCELED";
105
178
  }>;
106
179
  type OrderItemStatus = z.infer<typeof orderItemStatusSchema>;
107
180
  declare const claimStatusSchema: z.ZodEnum<{
108
- COMPLETED: "COMPLETED";
109
181
  REQUESTED: "REQUESTED";
110
182
  HELD: "HELD";
111
183
  COLLECTING: "COLLECTING";
@@ -113,21 +185,10 @@ declare const claimStatusSchema: z.ZodEnum<{
113
185
  REDELIVERING: "REDELIVERING";
114
186
  APPROVED: "APPROVED";
115
187
  REJECTED: "REJECTED";
188
+ COMPLETED: "COMPLETED";
116
189
  WITHDRAWN: "WITHDRAWN";
117
190
  }>;
118
191
  type ClaimStatus = z.infer<typeof claimStatusSchema>;
119
- /**
120
- * 상품 유형 (이슈 #48). 응답에서는 문자열로 받는다(값이 추가될 수 있다). 현재 값은 `SHIPPING`(배송 상품)·
121
- * `DOWNLOAD`(파일 다운로드)·`CODE`(코드 발급)·`SERVICE`(이용권·서비스)·`PICKUP`(방문 수령)이다.
122
- * 이 필드 이전 서버의 응답에는 없어 `SHIPPING`으로 읽는다. 서버는 항상 싣는다.
123
- */
124
- declare const fulfillmentTypeField: () => z.ZodDefault<z.ZodOptional<z.ZodString>>;
125
- /**
126
- * 배송 필요 여부 (이슈 #48). false면 배송지를 받지 않는다. 이 필드 이전 서버의 응답에는 없어 true로 읽는다.
127
- */
128
- declare const requiresShippingField: (description: string) => z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
129
- /** 배송이 필요한 상품 유형인가 — 배송 상품(`SHIPPING`)만 택배 배송이 있다. 모르는 값은 배송 상품으로 본다 */
130
- declare function isShippingFulfillment(fulfillmentType: string | null | undefined): boolean;
131
192
  //#endregion
132
193
  //#region src/schemas/catalog.d.ts
133
194
  interface CategoryNode {
@@ -145,8 +206,10 @@ declare const productCardSchema: z.ZodObject<{
145
206
  discountedPrice: z.ZodNullable<z.ZodNumber>;
146
207
  discountRate: z.ZodNullable<z.ZodNumber>;
147
208
  freeShipping: z.ZodBoolean;
148
- fulfillmentType: z.ZodDefault<z.ZodOptional<z.ZodString>>;
149
- requiresShipping: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
209
+ fulfillment: z.ZodObject<{
210
+ type: z.ZodString;
211
+ requiresShipping: z.ZodBoolean;
212
+ }, z.core.$strip>;
150
213
  averageRating: z.ZodNumber;
151
214
  reviewCount: z.ZodNumber;
152
215
  soldOut: z.ZodBoolean;
@@ -160,8 +223,6 @@ declare const productDetailSchema: z.ZodObject<{
160
223
  discountedPrice: z.ZodNullable<z.ZodNumber>;
161
224
  discountRate: z.ZodNullable<z.ZodNumber>;
162
225
  freeShipping: z.ZodBoolean;
163
- fulfillmentType: z.ZodDefault<z.ZodOptional<z.ZodString>>;
164
- requiresShipping: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
165
226
  averageRating: z.ZodNumber;
166
227
  reviewCount: z.ZodNumber;
167
228
  soldOut: z.ZodBoolean;
@@ -182,21 +243,29 @@ declare const productDetailSchema: z.ZodObject<{
182
243
  additionalPrice: z.ZodNumber;
183
244
  soldOut: z.ZodBoolean;
184
245
  }, z.core.$strip>>;
185
- delivery: z.ZodObject<{
186
- type: z.ZodEnum<{
187
- PAID: "PAID";
188
- FREE: "FREE";
189
- CONDITIONAL_FREE: "CONDITIONAL_FREE";
190
- }>;
191
- fee: z.ZodNumber;
192
- conditionalFreeAmount: z.ZodNullable<z.ZodNumber>;
193
- estimatedDays: z.ZodString;
194
- }, z.core.$strip>;
195
- returnPolicy: z.ZodObject<{
196
- returnFee: z.ZodNumber;
197
- exchangeFee: z.ZodNumber;
198
- periodDays: z.ZodNumber;
199
- }, z.core.$strip>;
246
+ fulfillment: z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
247
+ type: z.ZodLiteral<"SHIPPING">;
248
+ requiresShipping: z.ZodLiteral<true>;
249
+ shipping: z.ZodObject<{
250
+ deliveryType: z.ZodString;
251
+ deliveryFee: z.ZodNumber;
252
+ conditionalFreeAmount: z.ZodNullable<z.ZodNumber>;
253
+ estimatedDays: z.ZodString;
254
+ returnDeliveryFee: z.ZodNumber;
255
+ exchangeDeliveryFee: z.ZodNumber;
256
+ }, z.core.$strip>;
257
+ }, z.core.$strip>, z.ZodObject<{
258
+ type: z.ZodLiteral<"MANUAL">;
259
+ requiresShipping: z.ZodLiteral<false>;
260
+ }, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
261
+ type: z.ZodString;
262
+ requiresShipping: z.ZodBoolean;
263
+ }, z.core.$loose>, z.ZodTransform<UnknownFulfillmentView, {
264
+ [x: string]: unknown;
265
+ type: string;
266
+ requiresShipping: boolean;
267
+ }>>]>;
268
+ returnPeriodDays: z.ZodNumber;
200
269
  categoryPath: z.ZodArray<z.ZodObject<{
201
270
  categoryId: z.ZodString;
202
271
  name: z.ZodString;
@@ -246,8 +315,10 @@ declare const productPageSchema: z.ZodObject<{
246
315
  discountedPrice: z.ZodNullable<z.ZodNumber>;
247
316
  discountRate: z.ZodNullable<z.ZodNumber>;
248
317
  freeShipping: z.ZodBoolean;
249
- fulfillmentType: z.ZodDefault<z.ZodOptional<z.ZodString>>;
250
- requiresShipping: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
318
+ fulfillment: z.ZodObject<{
319
+ type: z.ZodString;
320
+ requiresShipping: z.ZodBoolean;
321
+ }, z.core.$strip>;
251
322
  averageRating: z.ZodNumber;
252
323
  reviewCount: z.ZodNumber;
253
324
  soldOut: z.ZodBoolean;
@@ -317,6 +388,11 @@ declare const checkoutSessionSchema: z.ZodObject<{
317
388
  quantity: z.ZodNumber;
318
389
  unitPrice: z.ZodNumber;
319
390
  totalPrice: z.ZodNumber;
391
+ fulfillment: z.ZodObject<{
392
+ type: z.ZodString;
393
+ requiresShipping: z.ZodBoolean;
394
+ withdrawalRestricted: z.ZodOptional<z.ZodBoolean>;
395
+ }, z.core.$strip>;
320
396
  }, z.core.$strip>>;
321
397
  amounts: z.ZodObject<{
322
398
  productAmount: z.ZodNumber;
@@ -338,11 +414,11 @@ declare const checkoutSessionSchema: z.ZodObject<{
338
414
  freeByThreshold: z.ZodBoolean;
339
415
  zipCode: z.ZodNullable<z.ZodString>;
340
416
  }, z.core.$strip>;
341
- requiresShipping: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
342
- withdrawal: z.ZodDefault<z.ZodOptional<z.ZodObject<{
417
+ requiresShipping: z.ZodBoolean;
418
+ withdrawal: z.ZodOptional<z.ZodObject<{
343
419
  required: z.ZodBoolean;
344
420
  notice: z.ZodNullable<z.ZodString>;
345
- }, z.core.$strip>>>;
421
+ }, z.core.$strip>>;
346
422
  expiresAt: z.ZodString;
347
423
  paymentOptions: z.ZodLazy<z.ZodPreprocess<z.ZodArray<z.ZodIntersection<z.ZodDiscriminatedUnion<[z.ZodObject<{
348
424
  pg: z.ZodEnum<{
@@ -713,7 +789,6 @@ declare const startPaymentRequestSchema: z.ZodObject<{
713
789
  email: z.ZodEmail;
714
790
  orderPassword: z.ZodString;
715
791
  }, z.core.$strip>>;
716
- withdrawalAgreement: z.ZodOptional<z.ZodBoolean>;
717
792
  cashReceipt: z.ZodOptional<z.ZodObject<{
718
793
  type: z.ZodEnum<{
719
794
  INCOME_DEDUCTION: "INCOME_DEDUCTION";
@@ -960,7 +1035,6 @@ declare const myClaimSchema: z.ZodObject<{
960
1035
  EXCHANGE: "EXCHANGE";
961
1036
  }>;
962
1037
  status: z.ZodEnum<{
963
- COMPLETED: "COMPLETED";
964
1038
  REQUESTED: "REQUESTED";
965
1039
  HELD: "HELD";
966
1040
  COLLECTING: "COLLECTING";
@@ -968,6 +1042,7 @@ declare const myClaimSchema: z.ZodObject<{
968
1042
  REDELIVERING: "REDELIVERING";
969
1043
  APPROVED: "APPROVED";
970
1044
  REJECTED: "REJECTED";
1045
+ COMPLETED: "COMPLETED";
971
1046
  WITHDRAWN: "WITHDRAWN";
972
1047
  }>;
973
1048
  orderItemId: z.ZodString;
@@ -1231,9 +1306,9 @@ declare const myCouponSchema: z.ZodObject<{
1231
1306
  type MyCoupon = z.infer<typeof myCouponSchema>;
1232
1307
  declare const myCouponListQuerySchema: z.ZodObject<{
1233
1308
  status: z.ZodOptional<z.ZodEnum<{
1234
- expired: "expired";
1235
1309
  available: "available";
1236
1310
  used: "used";
1311
+ expired: "expired";
1237
1312
  }>>;
1238
1313
  }, z.core.$strip>;
1239
1314
  //#endregion
@@ -1353,232 +1428,6 @@ declare const wishlistAddResultSchema: z.ZodObject<{
1353
1428
  }, z.core.$strip>;
1354
1429
  type WishlistAddResult = z.infer<typeof wishlistAddResultSchema>;
1355
1430
  //#endregion
1356
- //#region src/schemas/order.d.ts
1357
- declare const myOrderItemSchema: z.ZodObject<{
1358
- orderItemId: z.ZodString;
1359
- productId: z.ZodString;
1360
- productName: z.ZodString;
1361
- thumbnailUrl: z.ZodNullable<z.ZodURL>;
1362
- optionName: z.ZodNullable<z.ZodString>;
1363
- quantity: z.ZodNumber;
1364
- canceledQuantity: z.ZodNumber;
1365
- activeQuantity: z.ZodNumber;
1366
- totalPrice: z.ZodNumber;
1367
- couponDiscountAmount: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1368
- status: z.ZodEnum<{
1369
- CANCELED: "CANCELED";
1370
- PAYMENT_WAITING: "PAYMENT_WAITING";
1371
- PAID: "PAID";
1372
- CONFIRMED: "CONFIRMED";
1373
- DISPATCHED: "DISPATCHED";
1374
- DELIVERING: "DELIVERING";
1375
- DELIVERED: "DELIVERED";
1376
- PURCHASE_DECIDED: "PURCHASE_DECIDED";
1377
- }>;
1378
- fulfillmentType: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1379
- withdrawalRestricted: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1380
- fulfillment: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodObject<{
1381
- status: z.ZodString;
1382
- fulfilledAt: z.ZodString;
1383
- note: z.ZodNullable<z.ZodString>;
1384
- codes: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
1385
- codeId: z.ZodString;
1386
- hint: z.ZodString;
1387
- revealedAt: z.ZodNullable<z.ZodString>;
1388
- }, z.core.$strip>>>>;
1389
- download: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodObject<{
1390
- count: z.ZodNumber;
1391
- limit: z.ZodNumber;
1392
- expiresAt: z.ZodNullable<z.ZodString>;
1393
- files: z.ZodArray<z.ZodObject<{
1394
- assetId: z.ZodString;
1395
- fileName: z.ZodString;
1396
- sizeBytes: z.ZodNullable<z.ZodNumber>;
1397
- }, z.core.$strip>>;
1398
- }, z.core.$strip>>>>;
1399
- }, z.core.$strip>>>>;
1400
- pickupLocation: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodObject<{
1401
- name: z.ZodString;
1402
- zipCode: z.ZodString;
1403
- address1: z.ZodString;
1404
- address2: z.ZodNullable<z.ZodString>;
1405
- phone: z.ZodString;
1406
- }, z.core.$strip>>>>;
1407
- claimStatus: z.ZodNullable<z.ZodString>;
1408
- reviewWritten: z.ZodBoolean;
1409
- autoDecisionDate: z.ZodNullable<z.ZodString>;
1410
- }, z.core.$strip>;
1411
- type MyOrderItem = z.infer<typeof myOrderItemSchema>;
1412
- /**
1413
- * 주문 응답의 배송지 — 결제 요청 시 저장된 스냅샷. 요청 스키마(`shippingAddressInputSchema`)와 분리한 응답 스키마라
1414
- * 형식 검증(regex·길이)을 하지 않는다. 입력하지 않은 선택 필드는 null로 오거나 빠질 수 있다.
1415
- */
1416
- declare const orderShippingAddressSchema: z.ZodObject<{
1417
- receiverName: z.ZodString;
1418
- phone: z.ZodString;
1419
- zipCode: z.ZodString;
1420
- address1: z.ZodString;
1421
- address2: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1422
- deliveryMemo: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1423
- entranceCode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1424
- }, z.core.$strip>;
1425
- type OrderShippingAddress = z.infer<typeof orderShippingAddressSchema>;
1426
- declare const myOrderSchema: z.ZodObject<{
1427
- orderId: z.ZodString;
1428
- orderedAt: z.ZodString;
1429
- items: z.ZodArray<z.ZodObject<{
1430
- orderItemId: z.ZodString;
1431
- productId: z.ZodString;
1432
- productName: z.ZodString;
1433
- thumbnailUrl: z.ZodNullable<z.ZodURL>;
1434
- optionName: z.ZodNullable<z.ZodString>;
1435
- quantity: z.ZodNumber;
1436
- canceledQuantity: z.ZodNumber;
1437
- activeQuantity: z.ZodNumber;
1438
- totalPrice: z.ZodNumber;
1439
- couponDiscountAmount: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1440
- status: z.ZodEnum<{
1441
- CANCELED: "CANCELED";
1442
- PAYMENT_WAITING: "PAYMENT_WAITING";
1443
- PAID: "PAID";
1444
- CONFIRMED: "CONFIRMED";
1445
- DISPATCHED: "DISPATCHED";
1446
- DELIVERING: "DELIVERING";
1447
- DELIVERED: "DELIVERED";
1448
- PURCHASE_DECIDED: "PURCHASE_DECIDED";
1449
- }>;
1450
- fulfillmentType: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1451
- withdrawalRestricted: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1452
- fulfillment: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodObject<{
1453
- status: z.ZodString;
1454
- fulfilledAt: z.ZodString;
1455
- note: z.ZodNullable<z.ZodString>;
1456
- codes: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
1457
- codeId: z.ZodString;
1458
- hint: z.ZodString;
1459
- revealedAt: z.ZodNullable<z.ZodString>;
1460
- }, z.core.$strip>>>>;
1461
- download: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodObject<{
1462
- count: z.ZodNumber;
1463
- limit: z.ZodNumber;
1464
- expiresAt: z.ZodNullable<z.ZodString>;
1465
- files: z.ZodArray<z.ZodObject<{
1466
- assetId: z.ZodString;
1467
- fileName: z.ZodString;
1468
- sizeBytes: z.ZodNullable<z.ZodNumber>;
1469
- }, z.core.$strip>>;
1470
- }, z.core.$strip>>>>;
1471
- }, z.core.$strip>>>>;
1472
- pickupLocation: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodObject<{
1473
- name: z.ZodString;
1474
- zipCode: z.ZodString;
1475
- address1: z.ZodString;
1476
- address2: z.ZodNullable<z.ZodString>;
1477
- phone: z.ZodString;
1478
- }, z.core.$strip>>>>;
1479
- claimStatus: z.ZodNullable<z.ZodString>;
1480
- reviewWritten: z.ZodBoolean;
1481
- autoDecisionDate: z.ZodNullable<z.ZodString>;
1482
- }, z.core.$strip>>;
1483
- requiresShipping: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1484
- shippingAddress: z.ZodObject<{
1485
- receiverName: z.ZodString;
1486
- phone: z.ZodString;
1487
- zipCode: z.ZodString;
1488
- address1: z.ZodString;
1489
- address2: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1490
- deliveryMemo: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1491
- entranceCode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1492
- }, z.core.$strip>;
1493
- payment: z.ZodObject<{
1494
- method: z.ZodEnum<{
1495
- CARD: "CARD";
1496
- EASY_PAY: "EASY_PAY";
1497
- BANK_TRANSFER: "BANK_TRANSFER";
1498
- VIRTUAL_ACCOUNT: "VIRTUAL_ACCOUNT";
1499
- MOBILE: "MOBILE";
1500
- }>;
1501
- easyPayProvider: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1502
- couponDiscountAmount: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1503
- deliveryDiscountAmount: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1504
- discounts: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
1505
- couponId: z.ZodString;
1506
- name: z.ZodString;
1507
- kind: z.ZodString;
1508
- discountAmount: z.ZodNumber;
1509
- }, z.core.$strip>>>>;
1510
- totalAmount: z.ZodNumber;
1511
- paidAt: z.ZodNullable<z.ZodString>;
1512
- receiptUrl: z.ZodNullable<z.ZodURL>;
1513
- }, z.core.$strip>;
1514
- withdrawalAgreedAt: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1515
- testPayment: z.ZodBoolean;
1516
- }, z.core.$strip>;
1517
- type MyOrder = z.infer<typeof myOrderSchema>;
1518
- /**
1519
- * 택배 추적 단계. 응답에서는 문자열로 받는다(값이 추가될 수 있다) — 현재 값은 `ACCEPTED`(접수)·`IN_TRANSIT`(이동 중)·
1520
- * `OUT_FOR_DELIVERY`(배송 출발)·`DELIVERED`(배송완료)다.
1521
- */
1522
- declare const trackingStageResponseSchema: z.ZodString;
1523
- declare const deliveryTrackingSchema: z.ZodObject<{
1524
- carrierName: z.ZodString;
1525
- trackingNumber: z.ZodString;
1526
- trackingUrl: z.ZodURL;
1527
- status: z.ZodEnum<{
1528
- DISPATCHED: "DISPATCHED";
1529
- DELIVERING: "DELIVERING";
1530
- DELIVERED: "DELIVERED";
1531
- }>;
1532
- trackingEvents: z.ZodArray<z.ZodObject<{
1533
- status: z.ZodString;
1534
- location: z.ZodString;
1535
- occurredAt: z.ZodString;
1536
- stage: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1537
- }, z.core.$strip>>;
1538
- trackingStage: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1539
- trackingCheckedAt: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1540
- }, z.core.$strip>;
1541
- type DeliveryTracking = z.infer<typeof deliveryTrackingSchema>;
1542
- /** `POST /me/order-items/{orderItemId}/purchase-decision` 응답 */
1543
- declare const purchaseDecisionResultSchema: z.ZodObject<{
1544
- orderItemId: z.ZodString;
1545
- status: z.ZodLiteral<"PURCHASE_DECIDED">;
1546
- decidedAt: z.ZodString;
1547
- }, z.core.$strip>;
1548
- type PurchaseDecisionResult = z.infer<typeof purchaseDecisionResultSchema>;
1549
- /**
1550
- * 코드 열람 응답 (이슈 #48) — `POST /storefront/v1/me/order-items/{orderItemId}/fulfillment/reveal`(회원)·
1551
- * `POST /storefront/v1/guest/orders/{orderId}/order-items/{orderItemId}/fulfillment/reveal`(비회원).
1552
- * 평문 코드는 이 응답에만 있다. 화면에 보인 뒤 저장하지 않는다(응답은 `Cache-Control: no-store`).
1553
- * 첫 열람 시각은 청약철회 판단의 근거(제공 개시)로 남는다.
1554
- */
1555
- declare const fulfillmentRevealSchema: z.ZodObject<{
1556
- orderItemId: z.ZodString;
1557
- codes: z.ZodArray<z.ZodObject<{
1558
- codeId: z.ZodString;
1559
- code: z.ZodString;
1560
- revealedAt: z.ZodString;
1561
- }, z.core.$strip>>;
1562
- }, z.core.$strip>;
1563
- type FulfillmentReveal = z.infer<typeof fulfillmentRevealSchema>;
1564
- /**
1565
- * 다운로드 요청 (이슈 #48) — `POST /storefront/v1/me/order-items/{orderItemId}/downloads`(회원)·
1566
- * `POST /storefront/v1/guest/orders/{orderId}/order-items/{orderItemId}/downloads`(비회원, 연락처·비밀번호를 함께 보낸다).
1567
- * 파일이 하나면 `assetId`를 생략할 수 있다.
1568
- */
1569
- declare const downloadRequestSchema: z.ZodObject<{
1570
- assetId: z.ZodOptional<z.ZodString>;
1571
- }, z.core.$strip>;
1572
- type DownloadRequest = z.infer<typeof downloadRequestSchema>;
1573
- /** 다운로드 응답 — 수명 300초의 서명 주소. 받을 때마다 횟수가 하나 준다 */
1574
- declare const downloadLinkSchema: z.ZodObject<{
1575
- url: z.ZodURL;
1576
- expiresAt: z.ZodString;
1577
- fileName: z.ZodString;
1578
- remaining: z.ZodNumber;
1579
- }, z.core.$strip>;
1580
- type DownloadLink = z.infer<typeof downloadLinkSchema>;
1581
- //#endregion
1582
1431
  //#region src/schemas/review.d.ts
1583
1432
  declare const publicReviewSchema: z.ZodObject<{
1584
1433
  reviewId: z.ZodString;
@@ -1862,8 +1711,10 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
1862
1711
  discountedPrice: number | null;
1863
1712
  discountRate: number | null;
1864
1713
  freeShipping: boolean;
1865
- fulfillmentType: string;
1866
- requiresShipping: boolean;
1714
+ fulfillment: {
1715
+ type: string;
1716
+ requiresShipping: boolean;
1717
+ };
1867
1718
  averageRating: number;
1868
1719
  reviewCount: number;
1869
1720
  soldOut: boolean;
@@ -1888,8 +1739,6 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
1888
1739
  discountedPrice: number | null;
1889
1740
  discountRate: number | null;
1890
1741
  freeShipping: boolean;
1891
- fulfillmentType: string;
1892
- requiresShipping: boolean;
1893
1742
  averageRating: number;
1894
1743
  reviewCount: number;
1895
1744
  soldOut: boolean;
@@ -1910,17 +1759,22 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
1910
1759
  additionalPrice: number;
1911
1760
  soldOut: boolean;
1912
1761
  }[];
1913
- delivery: {
1914
- type: "PAID" | "FREE" | "CONDITIONAL_FREE";
1915
- fee: number;
1916
- conditionalFreeAmount: number | null;
1917
- estimatedDays: string;
1918
- };
1919
- returnPolicy: {
1920
- returnFee: number;
1921
- exchangeFee: number;
1922
- periodDays: number;
1762
+ fulfillment: UnknownFulfillmentView | {
1763
+ type: "SHIPPING";
1764
+ requiresShipping: true;
1765
+ shipping: {
1766
+ deliveryType: string;
1767
+ deliveryFee: number;
1768
+ conditionalFreeAmount: number | null;
1769
+ estimatedDays: string;
1770
+ returnDeliveryFee: number;
1771
+ exchangeDeliveryFee: number;
1772
+ };
1773
+ } | {
1774
+ type: "MANUAL";
1775
+ requiresShipping: false;
1923
1776
  };
1777
+ returnPeriodDays: number;
1924
1778
  categoryPath: {
1925
1779
  categoryId: string;
1926
1780
  name: string;
@@ -1986,7 +1840,11 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
1986
1840
  quantity: number;
1987
1841
  unitPrice: number;
1988
1842
  totalPrice: number;
1989
- fulfillmentType: string;
1843
+ fulfillment: {
1844
+ type: string;
1845
+ requiresShipping: boolean;
1846
+ withdrawalRestricted?: boolean | undefined;
1847
+ };
1990
1848
  purchasable: boolean;
1991
1849
  unpurchasableReason: "SOLD_OUT" | "SUSPENDED" | "CLOSED" | null;
1992
1850
  }[];
@@ -2008,7 +1866,11 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
2008
1866
  quantity: number;
2009
1867
  unitPrice: number;
2010
1868
  totalPrice: number;
2011
- fulfillmentType: string;
1869
+ fulfillment: {
1870
+ type: string;
1871
+ requiresShipping: boolean;
1872
+ withdrawalRestricted?: boolean | undefined;
1873
+ };
2012
1874
  purchasable: boolean;
2013
1875
  unpurchasableReason: "SOLD_OUT" | "SUSPENDED" | "CLOSED" | null;
2014
1876
  }[];
@@ -2030,7 +1892,11 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
2030
1892
  quantity: number;
2031
1893
  unitPrice: number;
2032
1894
  totalPrice: number;
2033
- fulfillmentType: string;
1895
+ fulfillment: {
1896
+ type: string;
1897
+ requiresShipping: boolean;
1898
+ withdrawalRestricted?: boolean | undefined;
1899
+ };
2034
1900
  purchasable: boolean;
2035
1901
  unpurchasableReason: "SOLD_OUT" | "SUSPENDED" | "CLOSED" | null;
2036
1902
  }[];
@@ -2054,6 +1920,11 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
2054
1920
  quantity: number;
2055
1921
  unitPrice: number;
2056
1922
  totalPrice: number;
1923
+ fulfillment: {
1924
+ type: string;
1925
+ requiresShipping: boolean;
1926
+ withdrawalRestricted?: boolean | undefined;
1927
+ };
2057
1928
  }[];
2058
1929
  amounts: {
2059
1930
  productAmount: number;
@@ -2072,10 +1943,6 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
2072
1943
  zipCode: string | null;
2073
1944
  };
2074
1945
  requiresShipping: boolean;
2075
- withdrawal: {
2076
- required: boolean;
2077
- notice: string | null;
2078
- };
2079
1946
  expiresAt: string;
2080
1947
  paymentOptions: (({
2081
1948
  pg: "tosspayments" | "portone";
@@ -2098,6 +1965,10 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
2098
1965
  pgName: string;
2099
1966
  })[];
2100
1967
  testPayment: boolean;
1968
+ withdrawal?: {
1969
+ required: boolean;
1970
+ notice: string | null;
1971
+ } | undefined;
2101
1972
  }>;
2102
1973
  /**
2103
1974
  * `POST /checkout/{checkoutId}/delivery-quote` — 배송비 미리보기. 배송지 우편번호로 배송비를 다시 계산한다.
@@ -2323,35 +2194,18 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
2323
2194
  activeQuantity: number;
2324
2195
  totalPrice: number;
2325
2196
  couponDiscountAmount: number;
2326
- status: "CANCELED" | "PAYMENT_WAITING" | "PAID" | "CONFIRMED" | "DISPATCHED" | "DELIVERING" | "DELIVERED" | "PURCHASE_DECIDED";
2327
- fulfillmentType: string;
2328
- withdrawalRestricted: boolean;
2197
+ status: "PAYMENT_WAITING" | "PAID" | "CONFIRMED" | "DISPATCHED" | "DELIVERING" | "DELIVERED" | "PURCHASE_DECIDED" | "CANCELED";
2198
+ fulfillmentSnapshot: UnknownFulfillmentView | {
2199
+ type: "SHIPPING";
2200
+ requiresShipping: true;
2201
+ } | {
2202
+ type: "MANUAL";
2203
+ requiresShipping: false;
2204
+ };
2329
2205
  fulfillment: {
2330
2206
  status: string;
2331
2207
  fulfilledAt: string;
2332
2208
  note: string | null;
2333
- codes: {
2334
- codeId: string;
2335
- hint: string;
2336
- revealedAt: string | null;
2337
- }[];
2338
- download: {
2339
- count: number;
2340
- limit: number;
2341
- expiresAt: string | null;
2342
- files: {
2343
- assetId: string;
2344
- fileName: string;
2345
- sizeBytes: number | null;
2346
- }[];
2347
- } | null;
2348
- } | null;
2349
- pickupLocation: {
2350
- name: string;
2351
- zipCode: string;
2352
- address1: string;
2353
- address2: string | null;
2354
- phone: string;
2355
2209
  } | null;
2356
2210
  claimStatus: string | null;
2357
2211
  reviewWritten: boolean;
@@ -2382,7 +2236,6 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
2382
2236
  paidAt: string | null;
2383
2237
  receiptUrl: string | null;
2384
2238
  };
2385
- withdrawalAgreedAt: string | null;
2386
2239
  testPayment: boolean;
2387
2240
  }[];
2388
2241
  }>;
@@ -2400,35 +2253,18 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
2400
2253
  activeQuantity: number;
2401
2254
  totalPrice: number;
2402
2255
  couponDiscountAmount: number;
2403
- status: "CANCELED" | "PAYMENT_WAITING" | "PAID" | "CONFIRMED" | "DISPATCHED" | "DELIVERING" | "DELIVERED" | "PURCHASE_DECIDED";
2404
- fulfillmentType: string;
2405
- withdrawalRestricted: boolean;
2256
+ status: "PAYMENT_WAITING" | "PAID" | "CONFIRMED" | "DISPATCHED" | "DELIVERING" | "DELIVERED" | "PURCHASE_DECIDED" | "CANCELED";
2257
+ fulfillmentSnapshot: UnknownFulfillmentView | {
2258
+ type: "SHIPPING";
2259
+ requiresShipping: true;
2260
+ } | {
2261
+ type: "MANUAL";
2262
+ requiresShipping: false;
2263
+ };
2406
2264
  fulfillment: {
2407
2265
  status: string;
2408
2266
  fulfilledAt: string;
2409
2267
  note: string | null;
2410
- codes: {
2411
- codeId: string;
2412
- hint: string;
2413
- revealedAt: string | null;
2414
- }[];
2415
- download: {
2416
- count: number;
2417
- limit: number;
2418
- expiresAt: string | null;
2419
- files: {
2420
- assetId: string;
2421
- fileName: string;
2422
- sizeBytes: number | null;
2423
- }[];
2424
- } | null;
2425
- } | null;
2426
- pickupLocation: {
2427
- name: string;
2428
- zipCode: string;
2429
- address1: string;
2430
- address2: string | null;
2431
- phone: string;
2432
2268
  } | null;
2433
2269
  claimStatus: string | null;
2434
2270
  reviewWritten: boolean;
@@ -2459,7 +2295,6 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
2459
2295
  paidAt: string | null;
2460
2296
  receiptUrl: string | null;
2461
2297
  };
2462
- withdrawalAgreedAt: string | null;
2463
2298
  testPayment: boolean;
2464
2299
  }>;
2465
2300
  /**
@@ -2488,35 +2323,18 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
2488
2323
  activeQuantity: number;
2489
2324
  totalPrice: number;
2490
2325
  couponDiscountAmount: number;
2491
- status: "CANCELED" | "PAYMENT_WAITING" | "PAID" | "CONFIRMED" | "DISPATCHED" | "DELIVERING" | "DELIVERED" | "PURCHASE_DECIDED";
2492
- fulfillmentType: string;
2493
- withdrawalRestricted: boolean;
2326
+ status: "PAYMENT_WAITING" | "PAID" | "CONFIRMED" | "DISPATCHED" | "DELIVERING" | "DELIVERED" | "PURCHASE_DECIDED" | "CANCELED";
2327
+ fulfillmentSnapshot: UnknownFulfillmentView | {
2328
+ type: "SHIPPING";
2329
+ requiresShipping: true;
2330
+ } | {
2331
+ type: "MANUAL";
2332
+ requiresShipping: false;
2333
+ };
2494
2334
  fulfillment: {
2495
2335
  status: string;
2496
2336
  fulfilledAt: string;
2497
2337
  note: string | null;
2498
- codes: {
2499
- codeId: string;
2500
- hint: string;
2501
- revealedAt: string | null;
2502
- }[];
2503
- download: {
2504
- count: number;
2505
- limit: number;
2506
- expiresAt: string | null;
2507
- files: {
2508
- assetId: string;
2509
- fileName: string;
2510
- sizeBytes: number | null;
2511
- }[];
2512
- } | null;
2513
- } | null;
2514
- pickupLocation: {
2515
- name: string;
2516
- zipCode: string;
2517
- address1: string;
2518
- address2: string | null;
2519
- phone: string;
2520
2338
  } | null;
2521
2339
  claimStatus: string | null;
2522
2340
  reviewWritten: boolean;
@@ -2547,7 +2365,6 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
2547
2365
  paidAt: string | null;
2548
2366
  receiptUrl: string | null;
2549
2367
  };
2550
- withdrawalAgreedAt: string | null;
2551
2368
  testPayment: boolean;
2552
2369
  }>;
2553
2370
  getDelivery: (orderItemId: string) => Promise<{
@@ -2564,58 +2381,6 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
2564
2381
  trackingStage: string | null;
2565
2382
  trackingCheckedAt: string | null;
2566
2383
  }>;
2567
- /**
2568
- * 코드 열람 (이슈 #48) — 코드 발급 상품의 평문 코드. 처음 열람한 시각이 제공 개시 증거로 남는다.
2569
- *
2570
- * 에러: 404 `ORDER_ITEM_NOT_FOUND`(없거나 남의 주문상품) · 404 `FULFILLMENT_NOT_FOUND`(제공 전·회수됨·코드 상품 아님) ·
2571
- * 429 `TOO_MANY_REQUESTS`
2572
- */
2573
- revealCode: (orderItemId: string) => Promise<{
2574
- orderItemId: string;
2575
- codes: {
2576
- codeId: string;
2577
- code: string;
2578
- revealedAt: string;
2579
- }[];
2580
- }>;
2581
- /**
2582
- * 파일 다운로드 (이슈 #48) — 수명 300초의 서명 주소를 받는다. 받을 때마다 남은 횟수가 준다.
2583
- *
2584
- * 에러: 404 `FULFILLMENT_NOT_FOUND`(제공 전·회수됨·파일 상품 아님) · 409 `DOWNLOAD_LIMIT_REACHED`(횟수 소진) ·
2585
- * 409 `DOWNLOAD_EXPIRED`(기한 지남) · 400 `ASSET_REQUIRED`(파일이 여러 개인데 `assetId` 없음)
2586
- */
2587
- createDownload: (orderItemId: string, body?: DownloadRequest) => Promise<{
2588
- url: string;
2589
- expiresAt: string;
2590
- fileName: string;
2591
- remaining: number;
2592
- }>;
2593
- /** 비회원 다운로드 — 비회원 주문 조회와 같은 연락처·주문 조회 비밀번호로 확인한다 */
2594
- createGuestDownload: (orderId: string, orderItemId: string, body: {
2595
- phone: string;
2596
- orderPassword: string;
2597
- assetId?: string;
2598
- }) => Promise<{
2599
- url: string;
2600
- expiresAt: string;
2601
- fileName: string;
2602
- remaining: number;
2603
- }>;
2604
- /**
2605
- * 비회원 코드 열람 — 비회원 주문 조회와 같은 연락처·주문 조회 비밀번호로 확인하고 같은 시도 한도를 쓴다.
2606
- * 틀리면 구분 없이 404 `ORDER_NOT_FOUND`다.
2607
- */
2608
- revealGuestCode: (orderId: string, orderItemId: string, body: {
2609
- phone: string;
2610
- orderPassword: string;
2611
- }) => Promise<{
2612
- orderItemId: string;
2613
- codes: {
2614
- codeId: string;
2615
- code: string;
2616
- revealedAt: string;
2617
- }[];
2618
- }>;
2619
2384
  decidePurchase: (orderItemId: string) => Promise<void>;
2620
2385
  };
2621
2386
  myClaims: {
@@ -2639,7 +2404,7 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
2639
2404
  contents: {
2640
2405
  claimId: string;
2641
2406
  type: "CANCEL" | "RETURN" | "EXCHANGE";
2642
- status: "COMPLETED" | "REQUESTED" | "HELD" | "COLLECTING" | "COLLECTED" | "REDELIVERING" | "APPROVED" | "REJECTED" | "WITHDRAWN";
2407
+ status: "REQUESTED" | "HELD" | "COLLECTING" | "COLLECTED" | "REDELIVERING" | "APPROVED" | "REJECTED" | "COMPLETED" | "WITHDRAWN";
2643
2408
  orderItemId: string;
2644
2409
  productName: string;
2645
2410
  quantity: number;
@@ -2761,8 +2526,10 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
2761
2526
  discountedPrice: number | null;
2762
2527
  discountRate: number | null;
2763
2528
  freeShipping: boolean;
2764
- fulfillmentType: string;
2765
- requiresShipping: boolean;
2529
+ fulfillment: {
2530
+ type: string;
2531
+ requiresShipping: boolean;
2532
+ };
2766
2533
  averageRating: number;
2767
2534
  reviewCount: number;
2768
2535
  soldOut: boolean;
@@ -3002,6 +2769,179 @@ type AnalyticsBatch = z.infer<typeof analyticsBatchSchema>;
3002
2769
  /** 배치 본문 상한(바이트) — 서버가 넘는 요청을 거부한다 */
3003
2770
  declare const ANALYTICS_MAX_BATCH_BYTES: number;
3004
2771
  //#endregion
2772
+ //#region src/schemas/order.d.ts
2773
+ declare const myOrderItemSchema: z.ZodObject<{
2774
+ orderItemId: z.ZodString;
2775
+ productId: z.ZodString;
2776
+ productName: z.ZodString;
2777
+ thumbnailUrl: z.ZodNullable<z.ZodURL>;
2778
+ optionName: z.ZodNullable<z.ZodString>;
2779
+ quantity: z.ZodNumber;
2780
+ canceledQuantity: z.ZodNumber;
2781
+ activeQuantity: z.ZodNumber;
2782
+ totalPrice: z.ZodNumber;
2783
+ couponDiscountAmount: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
2784
+ status: z.ZodEnum<{
2785
+ PAYMENT_WAITING: "PAYMENT_WAITING";
2786
+ PAID: "PAID";
2787
+ CONFIRMED: "CONFIRMED";
2788
+ DISPATCHED: "DISPATCHED";
2789
+ DELIVERING: "DELIVERING";
2790
+ DELIVERED: "DELIVERED";
2791
+ PURCHASE_DECIDED: "PURCHASE_DECIDED";
2792
+ CANCELED: "CANCELED";
2793
+ }>;
2794
+ fulfillmentSnapshot: z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
2795
+ type: z.ZodLiteral<"SHIPPING">;
2796
+ requiresShipping: z.ZodLiteral<true>;
2797
+ }, z.core.$strip>, z.ZodObject<{
2798
+ type: z.ZodLiteral<"MANUAL">;
2799
+ requiresShipping: z.ZodLiteral<false>;
2800
+ }, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
2801
+ type: z.ZodString;
2802
+ requiresShipping: z.ZodBoolean;
2803
+ }, z.core.$loose>, z.ZodTransform<UnknownFulfillmentView, {
2804
+ [x: string]: unknown;
2805
+ type: string;
2806
+ requiresShipping: boolean;
2807
+ }>>]>;
2808
+ fulfillment: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodObject<{
2809
+ status: z.ZodString;
2810
+ fulfilledAt: z.ZodString;
2811
+ note: z.ZodNullable<z.ZodString>;
2812
+ }, z.core.$strip>>>>;
2813
+ claimStatus: z.ZodNullable<z.ZodString>;
2814
+ reviewWritten: z.ZodBoolean;
2815
+ autoDecisionDate: z.ZodNullable<z.ZodString>;
2816
+ }, z.core.$strip>;
2817
+ type MyOrderItem = z.infer<typeof myOrderItemSchema>;
2818
+ /**
2819
+ * 주문 응답의 배송지 — 결제 요청 시 저장된 스냅샷. 요청 스키마(`shippingAddressInputSchema`)와 분리한 응답 스키마라
2820
+ * 형식 검증(regex·길이)을 하지 않는다. 입력하지 않은 선택 필드는 null로 오거나 빠질 수 있다.
2821
+ */
2822
+ declare const orderShippingAddressSchema: z.ZodObject<{
2823
+ receiverName: z.ZodString;
2824
+ phone: z.ZodString;
2825
+ zipCode: z.ZodString;
2826
+ address1: z.ZodString;
2827
+ address2: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2828
+ deliveryMemo: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2829
+ entranceCode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2830
+ }, z.core.$strip>;
2831
+ type OrderShippingAddress = z.infer<typeof orderShippingAddressSchema>;
2832
+ declare const myOrderSchema: z.ZodObject<{
2833
+ orderId: z.ZodString;
2834
+ orderedAt: z.ZodString;
2835
+ items: z.ZodArray<z.ZodObject<{
2836
+ orderItemId: z.ZodString;
2837
+ productId: z.ZodString;
2838
+ productName: z.ZodString;
2839
+ thumbnailUrl: z.ZodNullable<z.ZodURL>;
2840
+ optionName: z.ZodNullable<z.ZodString>;
2841
+ quantity: z.ZodNumber;
2842
+ canceledQuantity: z.ZodNumber;
2843
+ activeQuantity: z.ZodNumber;
2844
+ totalPrice: z.ZodNumber;
2845
+ couponDiscountAmount: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
2846
+ status: z.ZodEnum<{
2847
+ PAYMENT_WAITING: "PAYMENT_WAITING";
2848
+ PAID: "PAID";
2849
+ CONFIRMED: "CONFIRMED";
2850
+ DISPATCHED: "DISPATCHED";
2851
+ DELIVERING: "DELIVERING";
2852
+ DELIVERED: "DELIVERED";
2853
+ PURCHASE_DECIDED: "PURCHASE_DECIDED";
2854
+ CANCELED: "CANCELED";
2855
+ }>;
2856
+ fulfillmentSnapshot: z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
2857
+ type: z.ZodLiteral<"SHIPPING">;
2858
+ requiresShipping: z.ZodLiteral<true>;
2859
+ }, z.core.$strip>, z.ZodObject<{
2860
+ type: z.ZodLiteral<"MANUAL">;
2861
+ requiresShipping: z.ZodLiteral<false>;
2862
+ }, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
2863
+ type: z.ZodString;
2864
+ requiresShipping: z.ZodBoolean;
2865
+ }, z.core.$loose>, z.ZodTransform<UnknownFulfillmentView, {
2866
+ [x: string]: unknown;
2867
+ type: string;
2868
+ requiresShipping: boolean;
2869
+ }>>]>;
2870
+ fulfillment: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodObject<{
2871
+ status: z.ZodString;
2872
+ fulfilledAt: z.ZodString;
2873
+ note: z.ZodNullable<z.ZodString>;
2874
+ }, z.core.$strip>>>>;
2875
+ claimStatus: z.ZodNullable<z.ZodString>;
2876
+ reviewWritten: z.ZodBoolean;
2877
+ autoDecisionDate: z.ZodNullable<z.ZodString>;
2878
+ }, z.core.$strip>>;
2879
+ requiresShipping: z.ZodBoolean;
2880
+ shippingAddress: z.ZodObject<{
2881
+ receiverName: z.ZodString;
2882
+ phone: z.ZodString;
2883
+ zipCode: z.ZodString;
2884
+ address1: z.ZodString;
2885
+ address2: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2886
+ deliveryMemo: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2887
+ entranceCode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2888
+ }, z.core.$strip>;
2889
+ payment: z.ZodObject<{
2890
+ method: z.ZodEnum<{
2891
+ CARD: "CARD";
2892
+ EASY_PAY: "EASY_PAY";
2893
+ BANK_TRANSFER: "BANK_TRANSFER";
2894
+ VIRTUAL_ACCOUNT: "VIRTUAL_ACCOUNT";
2895
+ MOBILE: "MOBILE";
2896
+ }>;
2897
+ easyPayProvider: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
2898
+ couponDiscountAmount: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
2899
+ deliveryDiscountAmount: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
2900
+ discounts: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
2901
+ couponId: z.ZodString;
2902
+ name: z.ZodString;
2903
+ kind: z.ZodString;
2904
+ discountAmount: z.ZodNumber;
2905
+ }, z.core.$strip>>>>;
2906
+ totalAmount: z.ZodNumber;
2907
+ paidAt: z.ZodNullable<z.ZodString>;
2908
+ receiptUrl: z.ZodNullable<z.ZodURL>;
2909
+ }, z.core.$strip>;
2910
+ testPayment: z.ZodBoolean;
2911
+ }, z.core.$strip>;
2912
+ type MyOrder = z.infer<typeof myOrderSchema>;
2913
+ /**
2914
+ * 택배 추적 단계. 응답에서는 문자열로 받는다(값이 추가될 수 있다) — 현재 값은 `ACCEPTED`(접수)·`IN_TRANSIT`(이동 중)·
2915
+ * `OUT_FOR_DELIVERY`(배송 출발)·`DELIVERED`(배송완료)다.
2916
+ */
2917
+ declare const trackingStageResponseSchema: z.ZodString;
2918
+ declare const deliveryTrackingSchema: z.ZodObject<{
2919
+ carrierName: z.ZodString;
2920
+ trackingNumber: z.ZodString;
2921
+ trackingUrl: z.ZodURL;
2922
+ status: z.ZodEnum<{
2923
+ DISPATCHED: "DISPATCHED";
2924
+ DELIVERING: "DELIVERING";
2925
+ DELIVERED: "DELIVERED";
2926
+ }>;
2927
+ trackingEvents: z.ZodArray<z.ZodObject<{
2928
+ status: z.ZodString;
2929
+ location: z.ZodString;
2930
+ occurredAt: z.ZodString;
2931
+ stage: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
2932
+ }, z.core.$strip>>;
2933
+ trackingStage: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
2934
+ trackingCheckedAt: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
2935
+ }, z.core.$strip>;
2936
+ type DeliveryTracking = z.infer<typeof deliveryTrackingSchema>;
2937
+ /** `POST /me/order-items/{orderItemId}/purchase-decision` 응답 */
2938
+ declare const purchaseDecisionResultSchema: z.ZodObject<{
2939
+ orderItemId: z.ZodString;
2940
+ status: z.ZodLiteral<"PURCHASE_DECIDED">;
2941
+ decidedAt: z.ZodString;
2942
+ }, z.core.$strip>;
2943
+ type PurchaseDecisionResult = z.infer<typeof purchaseDecisionResultSchema>;
2944
+ //#endregion
3005
2945
  //#region src/schemas/store.d.ts
3006
2946
  /**
3007
2947
  * 스토어 공개 설정 — `GET /store`. 스토어프론트가 화면을 그릴 때 읽는 값만 담는다.
@@ -3022,4 +2962,4 @@ declare const storefrontStoreSchema: z.ZodObject<{
3022
2962
  }, z.core.$strip>;
3023
2963
  type StorefrontStore = z.infer<typeof storefrontStoreSchema>;
3024
2964
  //#endregion
3025
- export { fulfillmentRevealSchema as $, easyPayProviderSchema as $n, consentSourceSchema as $t, ReviewSummary as A, PAYMENT_STATUS_VALUES as An, PageInfo as Ar, CouponApplication as At, updateReviewResultSchema as B, ShippingAddressInput as Bn, Cart as Br, couponBenefitViewSchema as Bt, StorefrontSession as C, DeliveryQuoteRequest as Cn, productCardSchema as Cr, CustomerInquiryCategory as Ct, CreateReviewResult as D, KnownPaymentResult as Dn, productSortSchema as Dr, ApplicableCoupon as Dt, CreateReviewRequest as E, GuestInfo as En, productPageSchema as Er, customerInquirySchema as Et, createReviewResultSchema as F, PaymentStart as Fn, orderItemStatusSchema as Fr, applicableCouponSchema as Ft, FulfillmentReveal as G, cashReceiptRequestSchema as Gn, cartSchema as Gr, ConsentAction as Gt, DeliveryTracking as H, availablePaymentOptionSchema as Hn, UpdateCartItemRequest as Hr, myCouponListQuerySchema as Ht, publicReviewSchema as I, PaymentStatus as In, pageInfoSchema as Ir, checkoutPricingRequestSchema as It, OrderShippingAddress as J, checkoutSessionSchema as Jn, ConsentState as Jt, MyOrder as K, cashReceiptTypeSchema as Kn, updateCartItemRequestSchema as Kr, ConsentKind as Kt, reviewPageSchema as L, PgProvider as Ln, pageSchema as Lr, checkoutPricingSchema as Lt, UpdateReviewResult as M, PaymentMessage as Mn, claimStatusSchema as Mr, MAX_COUPONS_PER_CHECKOUT as Mt, WritableReview as N, PaymentMethod as Nn, fulfillmentTypeField as Nr, MIN_PAYMENT_AMOUNT as Nt, PublicReview as O, KnownPaymentStatus as On, ClaimStatus as Or, CheckoutPricing as Ot, createReviewRequestSchema as P, PaymentOption as Pn, isShippingFulfillment as Pr, MyCoupon as Pt, downloadRequestSchema as Q, easyPayProviderResponseSchema as Qn, consentKindSchema as Qt, reviewSummarySchema as R, RemoteArea as Rn, requiresShippingField as Rr, couponApplicationListSchema as Rt, SessionStorage as S, CreateCheckoutRequest as Sn, categoryNodeSchema as Sr, CustomerInquiry as St, createStorefrontSession as T, EasyPayProvider as Tn, productFacetsSchema as Tr, customerInquiryCategorySchema as Tt, DownloadLink as U, cashReceiptAvailable as Un, addCartItemRequestSchema as Ur, myCouponSchema as Ut, writableReviewSchema as V, StartPaymentRequest as Vn, CartItem as Vr, couponResultSchema as Vt, DownloadRequest as W, cashReceiptIdentityTypeOf as Wn, cartItemSchema as Wr, pricingAmountsSchema as Wt, deliveryTrackingSchema as X, deliveryQuoteRequestSchema as Xn, MemberConsents as Xt, PurchaseDecisionResult as Y, createCheckoutRequestSchema as Yn, ConsentUpdateRequest as Yt, downloadLinkSchema as Z, deliveryQuoteSchema as Zn, consentActionSchema as Zt, analyticsServerEventNameSchema as _, CashReceiptIdentityType as _n, ProductDetail as _r, PublicInquiry as _t, ANALYTICS_SESSION_HEADER as a, ClaimType as an, paymentOptionListSchema as ar, Member as at, createStorefrontClient as b, CheckoutDelivery as bn, ProductSearchParams as br, publicInquirySchema as bt, AnalyticsBatch as c, MyClaim as cn, paymentStatusSchema as cr, UpdateProfileRequest as ct, AnalyticsEventName as d, claimTypeSchema as dn, residentNumberLike as dr, memberAddressSchema as dt, consentStateSchema as en, guestInfoSchema as er, myOrderItemSchema as et, AnalyticsServerEventName as f, createClaimRequestSchema as fn, retryPaymentRequestSchema as fr, memberSchema as ft, analyticsIdSchema as g, CASH_RECEIPT_METHODS as gn, ProductCard as gr, CreateInquiryResult as gt, analyticsClientEventSchema as h, AvailablePaymentOption as hn, CategoryNode as hr, CreateInquiryRequest as ht, ANALYTICS_SESSION_COOKIE as i, ClaimReturnAddress as in, paymentOptionKey as ir, trackingStageResponseSchema as it, UpdateReviewRequest as j, PaymentFailureCategory as jn, PageParams as jr, CouponResult as jt, ReviewPage as k, PAYMENT_RESULT_VALUES as kn, OrderItemStatus as kr, CheckoutPricingRequest as kt, AnalyticsClientEvent as l, claimReasonSchema as ln, pgProviderSchema as lr, WishlistAddResult as lt, analyticsClientEventNameSchema as m, myClaimSchema as mn, startPaymentRequestSchema as mr, wishlistAddResultSchema as mt, storefrontStoreSchema as n, memberConsentsSchema as nn, paymentMessageSchema as nr, orderShippingAddressSchema as nt, ANALYTICS_VISITOR_COOKIE as o, CreateClaimRequest as on, paymentOptionSchema as or, MemberAddress as ot, analyticsBatchSchema as p, createClaimResultSchema as pn, shippingAddressInputSchema as pr, updateProfileRequestSchema as pt, MyOrderItem as q, checkoutDeliverySchema as qn, analyticsIdsFromCookie as qr, ConsentSource as qt, ANALYTICS_MAX_BATCH_BYTES as r, ClaimReason as rn, paymentMethodSchema as rr, purchaseDecisionResultSchema as rt, ANALYTICS_VISITOR_HEADER as s, CreateClaimResult as sn, paymentStartSchema as sr, MemberAddressRequest as st, StorefrontStore as t, consentUpdateRequestSchema as tn, paymentFailureCategorySchema as tr, myOrderSchema as tt, AnalyticsClientEventName as u, claimReturnAddressSchema as un, remoteAreaSchema as ur, memberAddressRequestSchema as ut, StorefrontClient as v, CashReceiptRequest as vn, ProductFacets as vr, createInquiryRequestSchema as vt, StorefrontSessionOptions as w, DeliveryQuoteResult as wn, productDetailSchema as wr, createCustomerInquiryRequestSchema as wt, STOREFRONT_SESSION_KEYS as x, CheckoutSession as xn, ProductSort as xr, CreateCustomerInquiryRequest as xt, StorefrontClientOptions as y, CashReceiptType as yn, ProductPage as yr, createInquiryResultSchema as yt, updateReviewRequestSchema as z, RetryPaymentRequest as zn, AddCartItemRequest as zr, couponApplicationSchema as zt };
2965
+ export { Member as $, paymentOptionListSchema as $n, ClaimType as $t, StorefrontClientOptions as A, PaymentStatus as An, LineFulfillment as Ar, checkoutPricingRequestSchema as At, ReviewPage as B, cashReceiptTypeSchema as Bn, Cart as Br, ConsentKind as Bt, AnalyticsServerEventName as C, PAYMENT_RESULT_VALUES as Cn, OrderItemStatus as Cr, CheckoutPricingRequest as Ct, analyticsIdSchema as D, PaymentMethod as Dn, orderItemStatusSchema as Dr, MIN_PAYMENT_AMOUNT as Dt, analyticsClientEventSchema as E, PaymentMessage as En, claimStatusSchema as Er, MAX_COUPONS_PER_CHECKOUT as Et, StorefrontSessionOptions as F, StartPaymentRequest as Fn, lineFulfillmentSchema as Fr, couponResultSchema as Ft, createReviewRequestSchema as G, deliveryQuoteSchema as Gn, cartSchema as Gr, consentActionSchema as Gt, UpdateReviewRequest as H, checkoutSessionSchema as Hn, UpdateCartItemRequest as Hr, ConsentState as Ht, createStorefrontSession as I, availablePaymentOptionSchema as In, myOrderItemFulfillmentSnapshotSchema as Ir, myCouponListQuerySchema as It, reviewPageSchema as J, guestInfoSchema as Jn, consentStateSchema as Jt, createReviewResultSchema as K, easyPayProviderResponseSchema as Kn, updateCartItemRequestSchema as Kr, consentKindSchema as Kt, CreateReviewRequest as L, cashReceiptAvailable as Ln, productCardFulfillmentSchema as Lr, myCouponSchema as Lt, STOREFRONT_SESSION_KEYS as M, RemoteArea as Mn, ProductCardFulfillment as Mr, couponApplicationListSchema as Mt, SessionStorage as N, RetryPaymentRequest as Nn, ProductFulfillmentView as Nr, couponApplicationSchema as Nt, analyticsServerEventNameSchema as O, PaymentOption as On, pageInfoSchema as Or, MyCoupon as Ot, StorefrontSession as P, ShippingAddressInput as Pn, UnknownFulfillmentView as Pr, couponBenefitViewSchema as Pt, writableReviewSchema as Q, paymentOptionKey as Qn, ClaimReturnAddress as Qt, CreateReviewResult as R, cashReceiptIdentityTypeOf as Rn, productFulfillmentViewSchema as Rr, pricingAmountsSchema as Rt, AnalyticsEventName as S, KnownPaymentStatus as Sn, ClaimStatus as Sr, CheckoutPricing as St, analyticsClientEventNameSchema as T, PaymentFailureCategory as Tn, PageParams as Tr, CouponResult as Tt, UpdateReviewResult as U, createCheckoutRequestSchema as Un, addCartItemRequestSchema as Ur, ConsentUpdateRequest as Ut, ReviewSummary as V, checkoutDeliverySchema as Vn, CartItem as Vr, ConsentSource as Vt, WritableReview as W, deliveryQuoteRequestSchema as Wn, cartItemSchema as Wr, MemberConsents as Wt, updateReviewRequestSchema as X, paymentMessageSchema as Xn, memberConsentsSchema as Xt, reviewSummarySchema as Y, paymentFailureCategorySchema as Yn, consentUpdateRequestSchema as Yt, updateReviewResultSchema as Z, paymentMethodSchema as Zn, ClaimReason as Zt, ANALYTICS_VISITOR_COOKIE as _, DeliveryQuoteRequest as _n, productCardSchema as _r, CustomerInquiryCategory as _t, MyOrderItem as a, claimTypeSchema as an, residentNumberLike as ar, memberAddressSchema as at, AnalyticsClientEvent as b, GuestInfo as bn, productPageSchema as br, customerInquirySchema as bt, deliveryTrackingSchema as c, myClaimSchema as cn, startPaymentRequestSchema as cr, wishlistAddResultSchema as ct, orderShippingAddressSchema as d, CashReceiptIdentityType as dn, ProductDetail as dr, PublicInquiry as dt, CreateClaimRequest as en, paymentOptionSchema as er, MemberAddress as et, purchaseDecisionResultSchema as f, CashReceiptRequest as fn, ProductFacets as fr, createInquiryRequestSchema as ft, ANALYTICS_SESSION_HEADER as g, CreateCheckoutRequest as gn, categoryNodeSchema as gr, CustomerInquiry as gt, ANALYTICS_SESSION_COOKIE as h, CheckoutSession as hn, ProductSort as hr, CreateCustomerInquiryRequest as ht, MyOrder as i, claimReturnAddressSchema as in, remoteAreaSchema as ir, memberAddressRequestSchema as it, createStorefrontClient as j, PgProvider as jn, MyOrderItemFulfillmentSnapshot as jr, checkoutPricingSchema as jt, StorefrontClient as k, PaymentStart as kn, pageSchema as kr, applicableCouponSchema as kt, myOrderItemSchema as l, AvailablePaymentOption as ln, CategoryNode as lr, CreateInquiryRequest as lt, ANALYTICS_MAX_BATCH_BYTES as m, CheckoutDelivery as mn, ProductSearchParams as mr, publicInquirySchema as mt, storefrontStoreSchema as n, MyClaim as nn, paymentStatusSchema as nr, UpdateProfileRequest as nt, OrderShippingAddress as o, createClaimRequestSchema as on, retryPaymentRequestSchema as or, memberSchema as ot, trackingStageResponseSchema as p, CashReceiptType as pn, ProductPage as pr, createInquiryResultSchema as pt, publicReviewSchema as q, easyPayProviderSchema as qn, analyticsIdsFromCookie as qr, consentSourceSchema as qt, DeliveryTracking as r, claimReasonSchema as rn, pgProviderSchema as rr, WishlistAddResult as rt, PurchaseDecisionResult as s, createClaimResultSchema as sn, shippingAddressInputSchema as sr, updateProfileRequestSchema as st, StorefrontStore as t, CreateClaimResult as tn, paymentStartSchema as tr, MemberAddressRequest as tt, myOrderSchema as u, CASH_RECEIPT_METHODS as un, ProductCard as ur, CreateInquiryResult as ut, ANALYTICS_VISITOR_HEADER as v, DeliveryQuoteResult as vn, productDetailSchema as vr, createCustomerInquiryRequestSchema as vt, analyticsBatchSchema as w, PAYMENT_STATUS_VALUES as wn, PageInfo as wr, CouponApplication as wt, AnalyticsClientEventName as x, KnownPaymentResult as xn, productSortSchema as xr, ApplicableCoupon as xt, AnalyticsBatch as y, EasyPayProvider as yn, productFacetsSchema as yr, customerInquiryCategorySchema as yt, PublicReview as z, cashReceiptRequestSchema as zn, AddCartItemRequest as zr, ConsentAction as zt };