@sayren/store-sdk 0.28.3 → 0.29.1

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.
package/dist/index.d.mts CHANGED
@@ -33,8 +33,8 @@ export declare const auditLogSourceSchema: z.ZodEnum<{
33
33
  }>;
34
34
  export type AuditLogSource = z.infer<typeof auditLogSourceSchema>;
35
35
  export declare const auditLogOutcomeSchema: z.ZodEnum<{
36
- FAILED: "FAILED";
37
36
  SUCCEEDED: "SUCCEEDED";
37
+ FAILED: "FAILED";
38
38
  PENDING_APPROVAL: "PENDING_APPROVAL";
39
39
  DENIED: "DENIED";
40
40
  DRY_RUN: "DRY_RUN";
@@ -69,8 +69,8 @@ export declare const auditLogSchema: z.ZodObject<{
69
69
  path: z.ZodNullable<z.ZodString>;
70
70
  statusCode: z.ZodNullable<z.ZodNumber>;
71
71
  outcome: z.ZodNullable<z.ZodEnum<{
72
- FAILED: "FAILED";
73
72
  SUCCEEDED: "SUCCEEDED";
73
+ FAILED: "FAILED";
74
74
  PENDING_APPROVAL: "PENDING_APPROVAL";
75
75
  DENIED: "DENIED";
76
76
  DRY_RUN: "DRY_RUN";
@@ -102,8 +102,8 @@ export declare const auditLogListQuerySchema: z.ZodObject<{
102
102
  DOMAIN: "DOMAIN";
103
103
  }>>;
104
104
  outcome: z.ZodOptional<z.ZodEnum<{
105
- FAILED: "FAILED";
106
105
  SUCCEEDED: "SUCCEEDED";
106
+ FAILED: "FAILED";
107
107
  PENDING_APPROVAL: "PENDING_APPROVAL";
108
108
  DENIED: "DENIED";
109
109
  DRY_RUN: "DRY_RUN";
@@ -149,8 +149,8 @@ export declare const auditLogPageSchema: z.ZodObject<{
149
149
  path: z.ZodNullable<z.ZodString>;
150
150
  statusCode: z.ZodNullable<z.ZodNumber>;
151
151
  outcome: z.ZodNullable<z.ZodEnum<{
152
- FAILED: "FAILED";
153
152
  SUCCEEDED: "SUCCEEDED";
153
+ FAILED: "FAILED";
154
154
  PENDING_APPROVAL: "PENDING_APPROVAL";
155
155
  DENIED: "DENIED";
156
156
  DRY_RUN: "DRY_RUN";
@@ -166,8 +166,8 @@ export declare const auditLogPageSchema: z.ZodObject<{
166
166
  export type AuditLogPage = z.infer<typeof auditLogPageSchema>;
167
167
  export declare const agentPolicyDecisionSchema: z.ZodEnum<{
168
168
  DENIED: "DENIED";
169
- APPROVAL_REQUIRED: "APPROVAL_REQUIRED";
170
169
  ALLOW: "ALLOW";
170
+ APPROVAL_REQUIRED: "APPROVAL_REQUIRED";
171
171
  }>;
172
172
  export type AgentPolicyDecision = z.infer<typeof agentPolicyDecisionSchema>;
173
173
  export declare const writePreviewSchema: z.ZodObject<{
@@ -191,8 +191,8 @@ export declare const writeDryRunResultSchema: z.ZodObject<{
191
191
  dryRun: z.ZodLiteral<true>;
192
192
  decision: z.ZodEnum<{
193
193
  DENIED: "DENIED";
194
- APPROVAL_REQUIRED: "APPROVAL_REQUIRED";
195
194
  ALLOW: "ALLOW";
195
+ APPROVAL_REQUIRED: "APPROVAL_REQUIRED";
196
196
  }>;
197
197
  reason: z.ZodNullable<z.ZodString>;
198
198
  preview: z.ZodObject<{
@@ -214,9 +214,9 @@ export declare const writeDryRunResultSchema: z.ZodObject<{
214
214
  export type WriteDryRunResult = z.infer<typeof writeDryRunResultSchema>;
215
215
  export declare const approvalStatusSchema: z.ZodEnum<{
216
216
  UNKNOWN: "UNKNOWN";
217
- PENDING: "PENDING";
218
- FAILED: "FAILED";
219
217
  SUCCEEDED: "SUCCEEDED";
218
+ FAILED: "FAILED";
219
+ PENDING: "PENDING";
220
220
  EXECUTING: "EXECUTING";
221
221
  REJECTED: "REJECTED";
222
222
  EXPIRED: "EXPIRED";
@@ -226,9 +226,9 @@ export declare const approvalRequestSchema: z.ZodObject<{
226
226
  approvalId: z.ZodString;
227
227
  status: z.ZodEnum<{
228
228
  UNKNOWN: "UNKNOWN";
229
- PENDING: "PENDING";
230
- FAILED: "FAILED";
231
229
  SUCCEEDED: "SUCCEEDED";
230
+ FAILED: "FAILED";
231
+ PENDING: "PENDING";
232
232
  EXECUTING: "EXECUTING";
233
233
  REJECTED: "REJECTED";
234
234
  EXPIRED: "EXPIRED";
@@ -288,9 +288,9 @@ export type ApprovalRequest = z.infer<typeof approvalRequestSchema>;
288
288
  export declare const approvalListQuerySchema: z.ZodObject<{
289
289
  status: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>, z.ZodTransform<string[], string | string[]>>, z.ZodArray<z.ZodEnum<{
290
290
  UNKNOWN: "UNKNOWN";
291
- PENDING: "PENDING";
292
- FAILED: "FAILED";
293
291
  SUCCEEDED: "SUCCEEDED";
292
+ FAILED: "FAILED";
293
+ PENDING: "PENDING";
294
294
  EXECUTING: "EXECUTING";
295
295
  REJECTED: "REJECTED";
296
296
  EXPIRED: "EXPIRED";
@@ -307,9 +307,9 @@ export declare const approvalPageSchema: z.ZodObject<{
307
307
  approvalId: z.ZodString;
308
308
  status: z.ZodEnum<{
309
309
  UNKNOWN: "UNKNOWN";
310
- PENDING: "PENDING";
311
- FAILED: "FAILED";
312
310
  SUCCEEDED: "SUCCEEDED";
311
+ FAILED: "FAILED";
312
+ PENDING: "PENDING";
313
313
  EXECUTING: "EXECUTING";
314
314
  REJECTED: "REJECTED";
315
315
  EXPIRED: "EXPIRED";
@@ -1503,6 +1503,241 @@ export declare const approveClaimResultSchema: z.ZodObject<{
1503
1503
  }, z.core.$strip>;
1504
1504
  export type ApproveClaimResult = z.infer<typeof approveClaimResultSchema>;
1505
1505
  //#endregion
1506
+ //#region src/schemas/collection.d.ts
1507
+ /**
1508
+ * 컬렉션 (이슈 #83) — 상품을 어디에 보여 줄지 정하는 묶음이다. 카테고리는 상품이 무엇인지를 정하고 상품당 하나지만, 컬렉션은
1509
+ * 다대다다. 이벤트·기획전은 기간이 있는 직접 선택 컬렉션이다. 권한은 카테고리와 같다(`category:r`·`category:rw`).
1510
+ *
1511
+ * 유형은 만들 때 정하고 바꿀 수 없다. 지금은 직접 선택(`MANUAL`)만 만들 수 있다. 조건 자동(`AUTOMATIC`)은 다음 단계에서 열리고,
1512
+ * 응답의 `type`은 값이 늘 수 있어 문자열이다.
1513
+ */
1514
+ /** 상점당 컬렉션 최대 개수 — 넘으면 409 `COLLECTION_LIMIT_EXCEEDED` */
1515
+ export declare const MAX_COLLECTIONS = 200;
1516
+ /** 직접 선택 컬렉션 하나에 담는 상품 최대 개수 — 넘으면 409 `COLLECTION_PRODUCT_LIMIT_EXCEEDED` */
1517
+ export declare const MAX_COLLECTION_PRODUCTS = 1000;
1518
+ /** 상품 뒤에 붙이기(`POST /v1/collections/{id}/products`) 한 번에 보내는 상품 최대 개수 */
1519
+ export declare const MAX_COLLECTION_PRODUCTS_PER_ADD = 500;
1520
+ /** 제목 최대 글자 수 */
1521
+ export declare const MAX_COLLECTION_TITLE = 60;
1522
+ /** 설명 최대 글자 수 */
1523
+ export declare const MAX_COLLECTION_DESCRIPTION = 500;
1524
+ /** 주소(slug) 형식 — 영문 소문자·숫자·하이픈, 첫 글자는 영문 소문자나 숫자, 64자까지 */
1525
+ export declare const COLLECTION_SLUG_PATTERN: RegExp;
1526
+ /** 유형 — `MANUAL`(직접 선택)·`AUTOMATIC`(조건 자동, 아직 만들 수 없다) */
1527
+ export declare const COLLECTION_TYPES: readonly ["MANUAL", "AUTOMATIC"];
1528
+ export type CollectionType = (typeof COLLECTION_TYPES)[number];
1529
+ /**
1530
+ * 상품 정렬 — `MANUAL`은 직접 정한 순서(직접 선택 컬렉션만)다. `BEST_SELLING`(판매량순)은 판매량 집계가 열릴 때 받는다.
1531
+ * 저장 값 전체 목록이고, 쓰기에서 받는 값은 `collectionProductSortRequestSchema`다.
1532
+ */
1533
+ export declare const COLLECTION_PRODUCT_SORTS: readonly ["MANUAL", "LATEST", "BEST_SELLING", "PRICE_ASC", "PRICE_DESC", "REVIEW_COUNT", "RATING_DESC", "RECOMMEND"];
1534
+ export type CollectionProductSort = (typeof COLLECTION_PRODUCT_SORTS)[number];
1535
+ export declare const collectionProductSortRequestSchema: z.ZodEnum<{
1536
+ PRICE_ASC: "PRICE_ASC";
1537
+ PRICE_DESC: "PRICE_DESC";
1538
+ MANUAL: "MANUAL";
1539
+ LATEST: "LATEST";
1540
+ REVIEW_COUNT: "REVIEW_COUNT";
1541
+ RATING_DESC: "RATING_DESC";
1542
+ RECOMMEND: "RECOMMEND";
1543
+ }>;
1544
+ /** 노출 상태 — 노출 여부와 기간에서 나온 값이다. 숨김이 기간보다 앞선다 */
1545
+ export declare const collectionStateSchema: z.ZodEnum<{
1546
+ ACTIVE: "ACTIVE";
1547
+ ENDED: "ENDED";
1548
+ SCHEDULED: "SCHEDULED";
1549
+ HIDDEN: "HIDDEN";
1550
+ }>;
1551
+ export type CollectionState = z.infer<typeof collectionStateSchema>;
1552
+ /** 노출 상태 판정 — 숨김 → 시작 전(예약) → 종료 → 노출 중. `now`는 판정 시각이다 */
1553
+ export declare function collectionStateOf(collection: {
1554
+ visible: boolean;
1555
+ startsAt: string | null;
1556
+ endsAt: string | null;
1557
+ }, now: Date): CollectionState;
1558
+ export declare const collectionSchema: z.ZodObject<{
1559
+ collectionId: z.ZodString;
1560
+ type: z.ZodString;
1561
+ title: z.ZodString;
1562
+ slug: z.ZodString;
1563
+ description: z.ZodString;
1564
+ imageUrl: z.ZodNullable<z.ZodString>;
1565
+ productSort: z.ZodString;
1566
+ visible: z.ZodBoolean;
1567
+ startsAt: z.ZodNullable<z.ZodString>;
1568
+ endsAt: z.ZodNullable<z.ZodString>;
1569
+ sortOrder: z.ZodNumber;
1570
+ metaTitle: z.ZodNullable<z.ZodString>;
1571
+ metaDescription: z.ZodNullable<z.ZodString>;
1572
+ state: z.ZodEnum<{
1573
+ ACTIVE: "ACTIVE";
1574
+ ENDED: "ENDED";
1575
+ SCHEDULED: "SCHEDULED";
1576
+ HIDDEN: "HIDDEN";
1577
+ }>;
1578
+ productCount: z.ZodNumber;
1579
+ revision: z.ZodNumber;
1580
+ createdAt: z.ZodString;
1581
+ updatedAt: z.ZodString;
1582
+ }, z.core.$strip>;
1583
+ export type Collection = z.infer<typeof collectionSchema>;
1584
+ /**
1585
+ * `POST /v1/collections` — 직접 선택 컬렉션을 만든다. `slug`를 생략하면 `c-{id 뒤 8자}`로 만든다.
1586
+ * `productIds`는 처음 담을 상품과 순서다.
1587
+ */
1588
+ export declare const collectionCreateRequestSchema: z.ZodObject<{
1589
+ title: z.ZodString;
1590
+ slug: z.ZodOptional<z.ZodString>;
1591
+ type: z.ZodDefault<z.ZodEnum<{
1592
+ MANUAL: "MANUAL";
1593
+ }>>;
1594
+ description: z.ZodDefault<z.ZodString>;
1595
+ imageUrl: z.ZodOptional<z.ZodNullable<z.ZodURL>>;
1596
+ productSort: z.ZodDefault<z.ZodEnum<{
1597
+ PRICE_ASC: "PRICE_ASC";
1598
+ PRICE_DESC: "PRICE_DESC";
1599
+ MANUAL: "MANUAL";
1600
+ LATEST: "LATEST";
1601
+ REVIEW_COUNT: "REVIEW_COUNT";
1602
+ RATING_DESC: "RATING_DESC";
1603
+ RECOMMEND: "RECOMMEND";
1604
+ }>>;
1605
+ visible: z.ZodDefault<z.ZodBoolean>;
1606
+ startsAt: z.ZodOptional<z.ZodNullable<z.ZodISODateTime>>;
1607
+ endsAt: z.ZodOptional<z.ZodNullable<z.ZodISODateTime>>;
1608
+ sortOrder: z.ZodOptional<z.ZodNumber>;
1609
+ metaTitle: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1610
+ metaDescription: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1611
+ productIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
1612
+ }, z.core.$strip>;
1613
+ export type CollectionCreateRequest = z.infer<typeof collectionCreateRequestSchema>;
1614
+ export type CollectionCreateRequestInput = z.input<typeof collectionCreateRequestSchema>;
1615
+ /**
1616
+ * `PATCH /v1/collections/{collectionId}` — 준 항목만 바뀐다. `type`을 주면 400 `COLLECTION_TYPE_IMMUTABLE`이다.
1617
+ * `revision`을 주면 그 번호일 때만 바뀌고, 그 사이 다른 수정이 있었으면 409 `COLLECTION_CHANGED`다.
1618
+ */
1619
+ export declare const collectionPatchRequestSchema: z.ZodObject<{
1620
+ title: z.ZodOptional<z.ZodString>;
1621
+ slug: z.ZodOptional<z.ZodString>;
1622
+ type: z.ZodOptional<z.ZodString>;
1623
+ description: z.ZodOptional<z.ZodString>;
1624
+ imageUrl: z.ZodOptional<z.ZodNullable<z.ZodURL>>;
1625
+ productSort: z.ZodOptional<z.ZodEnum<{
1626
+ PRICE_ASC: "PRICE_ASC";
1627
+ PRICE_DESC: "PRICE_DESC";
1628
+ MANUAL: "MANUAL";
1629
+ LATEST: "LATEST";
1630
+ REVIEW_COUNT: "REVIEW_COUNT";
1631
+ RATING_DESC: "RATING_DESC";
1632
+ RECOMMEND: "RECOMMEND";
1633
+ }>>;
1634
+ visible: z.ZodOptional<z.ZodBoolean>;
1635
+ startsAt: z.ZodOptional<z.ZodNullable<z.ZodISODateTime>>;
1636
+ endsAt: z.ZodOptional<z.ZodNullable<z.ZodISODateTime>>;
1637
+ sortOrder: z.ZodOptional<z.ZodNumber>;
1638
+ metaTitle: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1639
+ metaDescription: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1640
+ revision: z.ZodOptional<z.ZodNumber>;
1641
+ }, z.core.$strip>;
1642
+ export type CollectionPatchRequest = z.infer<typeof collectionPatchRequestSchema>;
1643
+ /** `PUT /v1/collections/{collectionId}/products` — 담긴 상품을 통째로 바꾼다(순서 포함) */
1644
+ export declare const collectionProductsReplaceRequestSchema: z.ZodObject<{
1645
+ productIds: z.ZodArray<z.ZodString>;
1646
+ revision: z.ZodOptional<z.ZodNumber>;
1647
+ }, z.core.$strip>;
1648
+ export type CollectionProductsReplaceRequest = z.infer<typeof collectionProductsReplaceRequestSchema>;
1649
+ /** `POST /v1/collections/{collectionId}/products` — 뒤에 붙인다. 이미 담긴 상품은 그 자리에 둔다 */
1650
+ export declare const collectionProductsAddRequestSchema: z.ZodObject<{
1651
+ productIds: z.ZodArray<z.ZodString>;
1652
+ }, z.core.$strip>;
1653
+ export type CollectionProductsAddRequest = z.infer<typeof collectionProductsAddRequestSchema>;
1654
+ /** 컬렉션에 담긴 상품 한 줄 */
1655
+ export declare const collectionProductSchema: z.ZodObject<{
1656
+ productId: z.ZodString;
1657
+ name: z.ZodString;
1658
+ thumbnailUrl: z.ZodNullable<z.ZodString>;
1659
+ status: z.ZodString;
1660
+ salePrice: z.ZodNumber;
1661
+ position: z.ZodNumber;
1662
+ addedAt: z.ZodString;
1663
+ }, z.core.$strip>;
1664
+ export type CollectionProduct = z.infer<typeof collectionProductSchema>;
1665
+ export declare const collectionStateCountsSchema: z.ZodObject<{
1666
+ ALL: z.ZodNumber;
1667
+ ACTIVE: z.ZodNumber;
1668
+ SCHEDULED: z.ZodNumber;
1669
+ ENDED: z.ZodNumber;
1670
+ HIDDEN: z.ZodNumber;
1671
+ }, z.core.$strip>;
1672
+ /** 목록 응답 — 페이지 + 상태별 건수(`q`·`type`·`productId`를 적용하고 `state`는 적용하기 전) */
1673
+ export declare const collectionPageSchema: z.ZodObject<{
1674
+ page: z.ZodNumber;
1675
+ size: z.ZodNumber;
1676
+ totalElements: z.ZodNumber;
1677
+ totalPages: z.ZodNumber;
1678
+ contents: z.ZodArray<z.ZodObject<{
1679
+ collectionId: z.ZodString;
1680
+ type: z.ZodString;
1681
+ title: z.ZodString;
1682
+ slug: z.ZodString;
1683
+ description: z.ZodString;
1684
+ imageUrl: z.ZodNullable<z.ZodString>;
1685
+ productSort: z.ZodString;
1686
+ visible: z.ZodBoolean;
1687
+ startsAt: z.ZodNullable<z.ZodString>;
1688
+ endsAt: z.ZodNullable<z.ZodString>;
1689
+ sortOrder: z.ZodNumber;
1690
+ metaTitle: z.ZodNullable<z.ZodString>;
1691
+ metaDescription: z.ZodNullable<z.ZodString>;
1692
+ state: z.ZodEnum<{
1693
+ ACTIVE: "ACTIVE";
1694
+ ENDED: "ENDED";
1695
+ SCHEDULED: "SCHEDULED";
1696
+ HIDDEN: "HIDDEN";
1697
+ }>;
1698
+ productCount: z.ZodNumber;
1699
+ revision: z.ZodNumber;
1700
+ createdAt: z.ZodString;
1701
+ updatedAt: z.ZodString;
1702
+ }, z.core.$strip>>;
1703
+ stateCounts: z.ZodObject<{
1704
+ ALL: z.ZodNumber;
1705
+ ACTIVE: z.ZodNumber;
1706
+ SCHEDULED: z.ZodNumber;
1707
+ ENDED: z.ZodNumber;
1708
+ HIDDEN: z.ZodNumber;
1709
+ }, z.core.$strip>;
1710
+ }, z.core.$strip>;
1711
+ export type CollectionPage = z.infer<typeof collectionPageSchema>;
1712
+ export interface CollectionListParams extends PageParams {
1713
+ q?: string;
1714
+ type?: CollectionType;
1715
+ state?: CollectionState;
1716
+ productId?: string;
1717
+ }
1718
+ /** `GET /v1/collections` 쿼리 — OpenAPI 문서용 형태(값은 쿼리 문자열) */
1719
+ export declare const collectionListQuerySchema: z.ZodObject<{
1720
+ page: z.ZodOptional<z.ZodString>;
1721
+ size: z.ZodOptional<z.ZodString>;
1722
+ q: z.ZodOptional<z.ZodString>;
1723
+ type: z.ZodOptional<z.ZodEnum<{
1724
+ MANUAL: "MANUAL";
1725
+ AUTOMATIC: "AUTOMATIC";
1726
+ }>>;
1727
+ state: z.ZodOptional<z.ZodEnum<{
1728
+ ACTIVE: "ACTIVE";
1729
+ ENDED: "ENDED";
1730
+ SCHEDULED: "SCHEDULED";
1731
+ HIDDEN: "HIDDEN";
1732
+ }>>;
1733
+ productId: z.ZodOptional<z.ZodString>;
1734
+ }, z.core.$strip>;
1735
+ /** `GET /v1/collections/{collectionId}/products` 쿼리 */
1736
+ export declare const collectionProductListQuerySchema: z.ZodObject<{
1737
+ page: z.ZodOptional<z.ZodString>;
1738
+ size: z.ZodOptional<z.ZodString>;
1739
+ }, z.core.$strip>;
1740
+ //#endregion
1506
1741
  //#region src/schemas/coupon.d.ts
1507
1742
  /**
1508
1743
  * 쿠폰 관리 API 계약 (이슈 #47) — `/v1/coupons/**`, 스코프 `promotion:r|rw`.
@@ -2270,8 +2505,8 @@ export declare const customerInquiryListQuerySchema: z.ZodObject<{
2270
2505
  }, z.core.$strip>;
2271
2506
  export declare const settlementStatusSchema: z.ZodEnum<{
2272
2507
  PAID: "PAID";
2273
- HELD: "HELD";
2274
2508
  SCHEDULED: "SCHEDULED";
2509
+ HELD: "HELD";
2275
2510
  }>;
2276
2511
  export type SettlementStatus = z.infer<typeof settlementStatusSchema>;
2277
2512
  export declare const settlementSummarySchema: z.ZodObject<{
@@ -2280,8 +2515,8 @@ export declare const settlementSummarySchema: z.ZodObject<{
2280
2515
  payoutDate: z.ZodNullable<z.ZodString>;
2281
2516
  status: z.ZodEnum<{
2282
2517
  PAID: "PAID";
2283
- HELD: "HELD";
2284
2518
  SCHEDULED: "SCHEDULED";
2519
+ HELD: "HELD";
2285
2520
  }>;
2286
2521
  totalPaymentAmount: z.ZodNumber;
2287
2522
  totalCommission: z.ZodNumber;
@@ -2315,8 +2550,8 @@ export declare const settlementWithDetailsSchema: z.ZodObject<{
2315
2550
  payoutDate: z.ZodNullable<z.ZodString>;
2316
2551
  status: z.ZodEnum<{
2317
2552
  PAID: "PAID";
2318
- HELD: "HELD";
2319
2553
  SCHEDULED: "SCHEDULED";
2554
+ HELD: "HELD";
2320
2555
  }>;
2321
2556
  totalPaymentAmount: z.ZodNumber;
2322
2557
  totalCommission: z.ZodNumber;
@@ -2350,8 +2585,8 @@ export declare const settlementListQuerySchema: z.ZodObject<{
2350
2585
  to: z.ZodOptional<z.ZodString>;
2351
2586
  status: z.ZodOptional<z.ZodEnum<{
2352
2587
  PAID: "PAID";
2353
- HELD: "HELD";
2354
2588
  SCHEDULED: "SCHEDULED";
2589
+ HELD: "HELD";
2355
2590
  }>>;
2356
2591
  }, z.core.$strip>;
2357
2592
  /** `GET /v1/settlements/{settlementId}` 쿼리 — `size`는 돌려줄 상세 내역 건수다(`page`는 무시) */
@@ -2383,8 +2618,8 @@ export declare const eventTypeSchema: z.ZodEnum<{
2383
2618
  }>;
2384
2619
  export type EventType = z.infer<typeof eventTypeSchema>;
2385
2620
  export declare const webhookStatusSchema: z.ZodEnum<{
2386
- SUSPENDED: "SUSPENDED";
2387
2621
  ACTIVE: "ACTIVE";
2622
+ SUSPENDED: "SUSPENDED";
2388
2623
  }>;
2389
2624
  export type WebhookStatus = z.infer<typeof webhookStatusSchema>;
2390
2625
  export declare const webhookSchema: z.ZodObject<{
@@ -2408,8 +2643,8 @@ export declare const webhookSchema: z.ZodObject<{
2408
2643
  "PRODUCT.OUT_OF_STOCK": "PRODUCT.OUT_OF_STOCK";
2409
2644
  }>>;
2410
2645
  status: z.ZodEnum<{
2411
- SUSPENDED: "SUSPENDED";
2412
2646
  ACTIVE: "ACTIVE";
2647
+ SUSPENDED: "SUSPENDED";
2413
2648
  }>;
2414
2649
  secretPrefix: z.ZodString;
2415
2650
  suspendedAt: z.ZodNullable<z.ZodString>;
@@ -2438,8 +2673,8 @@ export declare const webhookCreatedSchema: z.ZodObject<{
2438
2673
  "PRODUCT.OUT_OF_STOCK": "PRODUCT.OUT_OF_STOCK";
2439
2674
  }>>;
2440
2675
  status: z.ZodEnum<{
2441
- SUSPENDED: "SUSPENDED";
2442
2676
  ACTIVE: "ACTIVE";
2677
+ SUSPENDED: "SUSPENDED";
2443
2678
  }>;
2444
2679
  secretPrefix: z.ZodString;
2445
2680
  suspendedAt: z.ZodNullable<z.ZodString>;
@@ -2454,10 +2689,10 @@ export declare const webhookSecretRotatedSchema: z.ZodObject<{
2454
2689
  }, z.core.$strip>;
2455
2690
  export type WebhookSecretRotated = z.infer<typeof webhookSecretRotatedSchema>;
2456
2691
  export declare const webhookDeliveryStatusSchema: z.ZodEnum<{
2692
+ FAILED: "FAILED";
2457
2693
  PENDING: "PENDING";
2458
2694
  PENDING_RETRY: "PENDING_RETRY";
2459
2695
  SUCCESS: "SUCCESS";
2460
- FAILED: "FAILED";
2461
2696
  }>;
2462
2697
  export type WebhookDeliveryStatus = z.infer<typeof webhookDeliveryStatusSchema>;
2463
2698
  export declare const webhookDeliveryErrorCodeSchema: z.ZodEnum<{
@@ -2519,10 +2754,10 @@ export declare const webhookDeliverySchema: z.ZodObject<{
2519
2754
  }>;
2520
2755
  url: z.ZodString;
2521
2756
  status: z.ZodEnum<{
2757
+ FAILED: "FAILED";
2522
2758
  PENDING: "PENDING";
2523
2759
  PENDING_RETRY: "PENDING_RETRY";
2524
2760
  SUCCESS: "SUCCESS";
2525
- FAILED: "FAILED";
2526
2761
  }>;
2527
2762
  responseStatusCode: z.ZodNullable<z.ZodNumber>;
2528
2763
  responseTimeMs: z.ZodNullable<z.ZodNumber>;
@@ -2572,10 +2807,10 @@ export declare const webhookDeliveryDetailSchema: z.ZodObject<{
2572
2807
  }>;
2573
2808
  url: z.ZodString;
2574
2809
  status: z.ZodEnum<{
2810
+ FAILED: "FAILED";
2575
2811
  PENDING: "PENDING";
2576
2812
  PENDING_RETRY: "PENDING_RETRY";
2577
2813
  SUCCESS: "SUCCESS";
2578
- FAILED: "FAILED";
2579
2814
  }>;
2580
2815
  responseStatusCode: z.ZodNullable<z.ZodNumber>;
2581
2816
  responseTimeMs: z.ZodNullable<z.ZodNumber>;
@@ -2610,10 +2845,10 @@ export type WebhookDeliveryDetail = z.infer<typeof webhookDeliveryDetailSchema>;
2610
2845
  /** 전송 기록 조회 쿼리 — `GET /webhooks/{id}/deliveries` */
2611
2846
  export declare const webhookDeliveryListQuerySchema: z.ZodObject<{
2612
2847
  status: z.ZodOptional<z.ZodEnum<{
2848
+ FAILED: "FAILED";
2613
2849
  PENDING: "PENDING";
2614
2850
  PENDING_RETRY: "PENDING_RETRY";
2615
2851
  SUCCESS: "SUCCESS";
2616
- FAILED: "FAILED";
2617
2852
  }>>;
2618
2853
  eventType: z.ZodOptional<z.ZodEnum<{
2619
2854
  "ORDER.PAID": "ORDER.PAID";
@@ -3650,8 +3885,8 @@ export declare const pgEnvironmentSchema: z.ZodEnum<{
3650
3885
  }>;
3651
3886
  export type PgEnvironment = z.infer<typeof pgEnvironmentSchema>;
3652
3887
  export declare const pgVerificationResultSchema: z.ZodEnum<{
3653
- SUCCESS: "SUCCESS";
3654
3888
  FAILED: "FAILED";
3889
+ SUCCESS: "SUCCESS";
3655
3890
  }>;
3656
3891
  export type PgVerificationResult = z.infer<typeof pgVerificationResultSchema>;
3657
3892
  /**
@@ -3800,8 +4035,8 @@ export declare const paymentCredentialSetSchema: z.ZodObject<{
3800
4035
  }, z.core.$strip>>;
3801
4036
  lastVerification: z.ZodNullable<z.ZodObject<{
3802
4037
  result: z.ZodEnum<{
3803
- SUCCESS: "SUCCESS";
3804
4038
  FAILED: "FAILED";
4039
+ SUCCESS: "SUCCESS";
3805
4040
  }>;
3806
4041
  message: z.ZodNullable<z.ZodString>;
3807
4042
  checkedAt: z.ZodString;
@@ -3902,8 +4137,8 @@ export declare const paymentProviderSchema: z.ZodObject<{
3902
4137
  }, z.core.$strip>>;
3903
4138
  lastVerification: z.ZodNullable<z.ZodObject<{
3904
4139
  result: z.ZodEnum<{
3905
- SUCCESS: "SUCCESS";
3906
4140
  FAILED: "FAILED";
4141
+ SUCCESS: "SUCCESS";
3907
4142
  }>;
3908
4143
  message: z.ZodNullable<z.ZodString>;
3909
4144
  checkedAt: z.ZodString;
@@ -3939,8 +4174,8 @@ export declare const paymentProviderSchema: z.ZodObject<{
3939
4174
  }, z.core.$strip>>;
3940
4175
  lastVerification: z.ZodNullable<z.ZodObject<{
3941
4176
  result: z.ZodEnum<{
3942
- SUCCESS: "SUCCESS";
3943
4177
  FAILED: "FAILED";
4178
+ SUCCESS: "SUCCESS";
3944
4179
  }>;
3945
4180
  message: z.ZodNullable<z.ZodString>;
3946
4181
  checkedAt: z.ZodString;
@@ -3975,8 +4210,8 @@ export declare const paymentProviderSchema: z.ZodObject<{
3975
4210
  }, z.core.$strip>>;
3976
4211
  lastVerification: z.ZodNullable<z.ZodObject<{
3977
4212
  result: z.ZodEnum<{
3978
- SUCCESS: "SUCCESS";
3979
4213
  FAILED: "FAILED";
4214
+ SUCCESS: "SUCCESS";
3980
4215
  }>;
3981
4216
  message: z.ZodNullable<z.ZodString>;
3982
4217
  checkedAt: z.ZodString;
@@ -4066,8 +4301,8 @@ export declare const paymentSettingsSchema: z.ZodObject<{
4066
4301
  }, z.core.$strip>>;
4067
4302
  lastVerification: z.ZodNullable<z.ZodObject<{
4068
4303
  result: z.ZodEnum<{
4069
- SUCCESS: "SUCCESS";
4070
4304
  FAILED: "FAILED";
4305
+ SUCCESS: "SUCCESS";
4071
4306
  }>;
4072
4307
  message: z.ZodNullable<z.ZodString>;
4073
4308
  checkedAt: z.ZodString;
@@ -4103,8 +4338,8 @@ export declare const paymentSettingsSchema: z.ZodObject<{
4103
4338
  }, z.core.$strip>>;
4104
4339
  lastVerification: z.ZodNullable<z.ZodObject<{
4105
4340
  result: z.ZodEnum<{
4106
- SUCCESS: "SUCCESS";
4107
4341
  FAILED: "FAILED";
4342
+ SUCCESS: "SUCCESS";
4108
4343
  }>;
4109
4344
  message: z.ZodNullable<z.ZodString>;
4110
4345
  checkedAt: z.ZodString;
@@ -4139,8 +4374,8 @@ export declare const paymentSettingsSchema: z.ZodObject<{
4139
4374
  }, z.core.$strip>>;
4140
4375
  lastVerification: z.ZodNullable<z.ZodObject<{
4141
4376
  result: z.ZodEnum<{
4142
- SUCCESS: "SUCCESS";
4143
4377
  FAILED: "FAILED";
4378
+ SUCCESS: "SUCCESS";
4144
4379
  }>;
4145
4380
  message: z.ZodNullable<z.ZodString>;
4146
4381
  checkedAt: z.ZodString;
@@ -4196,8 +4431,8 @@ export declare const paymentProviderVerificationSchema: z.ZodObject<{
4196
4431
  LIVE: "LIVE";
4197
4432
  }>;
4198
4433
  result: z.ZodEnum<{
4199
- SUCCESS: "SUCCESS";
4200
4434
  FAILED: "FAILED";
4435
+ SUCCESS: "SUCCESS";
4201
4436
  }>;
4202
4437
  message: z.ZodNullable<z.ZodString>;
4203
4438
  checkedAt: z.ZodString;
@@ -4327,8 +4562,8 @@ export type SalesReport = z.infer<typeof salesReportSchema>;
4327
4562
  * - `FAILED`: 승인되지 않고 끝났다(거절·준비 장애·구매자 취소·만료)
4328
4563
  */
4329
4564
  export declare const paymentRecordStatusSchema: z.ZodEnum<{
4330
- PENDING: "PENDING";
4331
4565
  FAILED: "FAILED";
4566
+ PENDING: "PENDING";
4332
4567
  APPROVED: "APPROVED";
4333
4568
  PARTIALLY_REFUNDED: "PARTIALLY_REFUNDED";
4334
4569
  REFUNDED: "REFUNDED";
@@ -4375,8 +4610,8 @@ export declare const paymentRecordSchema: z.ZodObject<{
4375
4610
  orderName: z.ZodString;
4376
4611
  customerName: z.ZodString;
4377
4612
  status: z.ZodEnum<{
4378
- PENDING: "PENDING";
4379
4613
  FAILED: "FAILED";
4614
+ PENDING: "PENDING";
4380
4615
  APPROVED: "APPROVED";
4381
4616
  PARTIALLY_REFUNDED: "PARTIALLY_REFUNDED";
4382
4617
  REFUNDED: "REFUNDED";
@@ -4421,8 +4656,8 @@ export declare const paymentRecordPageSchema: z.ZodObject<{
4421
4656
  orderName: z.ZodString;
4422
4657
  customerName: z.ZodString;
4423
4658
  status: z.ZodEnum<{
4424
- PENDING: "PENDING";
4425
4659
  FAILED: "FAILED";
4660
+ PENDING: "PENDING";
4426
4661
  APPROVED: "APPROVED";
4427
4662
  PARTIALLY_REFUNDED: "PARTIALLY_REFUNDED";
4428
4663
  REFUNDED: "REFUNDED";
@@ -4510,8 +4745,8 @@ export declare const paymentRecordDetailSchema: z.ZodObject<{
4510
4745
  orderName: z.ZodString;
4511
4746
  customerName: z.ZodString;
4512
4747
  status: z.ZodEnum<{
4513
- PENDING: "PENDING";
4514
4748
  FAILED: "FAILED";
4749
+ PENDING: "PENDING";
4515
4750
  APPROVED: "APPROVED";
4516
4751
  PARTIALLY_REFUNDED: "PARTIALLY_REFUNDED";
4517
4752
  REFUNDED: "REFUNDED";
@@ -4636,22 +4871,261 @@ export interface PaymentListParams extends PageParams {
4636
4871
  includeTest?: boolean;
4637
4872
  }
4638
4873
  //#endregion
4874
+ //#region src/schemas/points.d.ts
4875
+ /**
4876
+ * 적립금 (이슈 #93) — 상점 정책·원장 유형·순수 계산. 정책 해석은 `resolvePointPolicy`, 리뷰 적립 금액은
4877
+ * `reviewRewardPointOf`, 적립 묶음(lot) 만료 시각은 `pointExpiresAtOf` 한 곳이다. 서버·상점 플랫폼이 같은 함수를 쓴다.
4878
+ *
4879
+ * 정책이 없으면(null) 모든 적립이 꺼져 있다(사용자 결정 2026-10-02). 셀러가 켜야 적립이 시작된다.
4880
+ * 구매 적립 금액은 `pointEarnOf`, 적용 적립률은 `purchaseEarnRateOf`(상품 덮어쓰기 우선)다. 사용 규칙은 다음 단계(P3)에서 가산한다.
4881
+ */
4882
+ /** 리뷰 적립·회수 금액 상한 — 한 리뷰에 주는 금액 */
4883
+ export declare const POINT_REVIEW_REWARD_MAX = 100000;
4884
+ /** 유효 기간 범위(일) — 「소멸 없음」 선택지는 두지 않는다(사용자 결정 2026-10-02) */
4885
+ export declare const POINT_EXPIRY_DAYS_MIN = 30;
4886
+ export declare const POINT_EXPIRY_DAYS_MAX = 1825;
4887
+ /** 구매 적립률 상한(만분율) — 3000 = 30% */
4888
+ export declare const POINT_EARN_RATE_BP_MAX = 3000;
4889
+ /** 구매 적립률(만분율, 100 = 1%). 상품별 덮어쓰기도 같은 범위다 */
4890
+ export declare const pointEarnRateBpSchema: z.ZodNumber;
4891
+ export declare const reviewRewardPolicySchema: z.ZodObject<{
4892
+ enabled: z.ZodBoolean;
4893
+ textPoint: z.ZodNumber;
4894
+ photoPoint: z.ZodNumber;
4895
+ }, z.core.$strip>;
4896
+ export type ReviewRewardPolicy = z.infer<typeof reviewRewardPolicySchema>;
4897
+ export declare const purchaseEarnPolicySchema: z.ZodObject<{
4898
+ enabled: z.ZodBoolean;
4899
+ rateBp: z.ZodNumber;
4900
+ }, z.core.$strip>;
4901
+ export type PurchaseEarnPolicy = z.infer<typeof purchaseEarnPolicySchema>;
4902
+ /** 저장된 상점 정책(`stores.point_policy`) — 해석은 `resolvePointPolicy` */
4903
+ export declare const pointPolicySchema: z.ZodObject<{
4904
+ reviewReward: z.ZodObject<{
4905
+ enabled: z.ZodBoolean;
4906
+ textPoint: z.ZodNumber;
4907
+ photoPoint: z.ZodNumber;
4908
+ }, z.core.$strip>;
4909
+ purchaseEarn: z.ZodObject<{
4910
+ enabled: z.ZodBoolean;
4911
+ rateBp: z.ZodNumber;
4912
+ }, z.core.$strip>;
4913
+ expiryDays: z.ZodNullable<z.ZodNumber>;
4914
+ }, z.core.$strip>;
4915
+ export type PointPolicy = z.infer<typeof pointPolicySchema>;
4916
+ /** 정책이 없을 때 — 모두 끔 */
4917
+ export declare const POINT_POLICY_DEFAULTS: PointPolicy;
4918
+ /**
4919
+ * 저장된 정책 → 유효 정책. null·형식이 틀린 값은 기본(모두 끔)이다. 키 하나가 틀려도 그 묶음만 기본으로 읽는다
4920
+ * (정책 형식이 바뀌어 옛 행이 남아 있을 때 적립을 잘못 켜지 않게 한다).
4921
+ */
4922
+ export declare function resolvePointPolicy(stored: unknown): PointPolicy;
4923
+ /** 적립을 하나라도 켰는가 — 켜면 유효 기간이 필수다 */
4924
+ export declare function pointEarningEnabled(policy: PointPolicy): boolean;
4925
+ /**
4926
+ * 주문상품에 적용할 구매 적립률 — 구매 적립이 꺼져 있으면 0, 상품 덮어쓰기(`products.point_earn_rate_bp`)가 있으면 그 값
4927
+ * (0 = 적립 안 함), 없으면 상점 기본이다. 결제 확정 때 주문상품에 스냅샷한다.
4928
+ */
4929
+ export declare function purchaseEarnRateOf(policy: PointPolicy, productRateBp: number | null): number;
4930
+ /** 구매 적립 금액 — 적립 기준 금액 × 적립률, 1원 미만은 내린다 */
4931
+ export declare function pointEarnOf(input: {
4932
+ paidBase: number;
4933
+ rateBp: number;
4934
+ }): number;
4935
+ /** 리뷰 하나의 적립 금액 — 정책이 꺼져 있으면 0이다. 사진은 추가분이다 */
4936
+ export declare function reviewRewardPointOf(policy: PointPolicy, hasPhoto: boolean): number;
4937
+ /**
4938
+ * 적립 묶음의 만료 시각 — 적립 시각 + `days`일이 속한 한국 시간 날짜의 끝(23:59:59.999 KST). 구매자 안내가 날짜 단위라
4939
+ * 시각을 날짜 끝에 맞춘다. `days`가 null이면 만료 없음(null)이다.
4940
+ */
4941
+ export declare function pointExpiresAtOf(earnedAt: Date, days: number | null): Date | null;
4942
+ /** 적립 묶음 출처 — 같은 출처 id에는 묶음이 하나뿐이다(DB 부분 유니크) */
4943
+ export declare const POINT_LOT_SOURCES: readonly ["REVIEW", "PURCHASE", "ADJUST", "REFUND_RESTORE", "OPENING"];
4944
+ export type PointLotSource = (typeof POINT_LOT_SOURCES)[number];
4945
+ /** 원장 항목 유형. 지금 쓰는 것은 리뷰 적립·회수이고 나머지는 다음 단계 자리다 */
4946
+ export declare const POINT_ENTRY_TYPES: readonly ["EARN_REVIEW", "REVOKE_REVIEW", "EARN_PURCHASE", "USE_RESERVE", "USE_RELEASE", "REFUND_RESTORE", "EXPIRE", "ADJUST", "OPENING"];
4947
+ export type PointEntryType = (typeof POINT_ENTRY_TYPES)[number];
4948
+ /** 상점 플랫폼 알림 — `REVIEW_REWARD_PAUSED` 리뷰 자동 적립이 멈춤 · `POINTS_AVAILABLE` 적립금 설정을 쓸 수 있음 */
4949
+ export declare const pointPolicyNoticeSchema: z.ZodNullable<z.ZodEnum<{
4950
+ REVIEW_REWARD_PAUSED: "REVIEW_REWARD_PAUSED";
4951
+ POINTS_AVAILABLE: "POINTS_AVAILABLE";
4952
+ }>>;
4953
+ export type PointPolicyNotice = z.infer<typeof pointPolicyNoticeSchema>;
4954
+ /** `GET /v1/store/point-policy` 응답 */
4955
+ export declare const storePointPolicySchema: z.ZodObject<{
4956
+ available: z.ZodBoolean;
4957
+ configured: z.ZodBoolean;
4958
+ reviewReward: z.ZodObject<{
4959
+ enabled: z.ZodBoolean;
4960
+ textPoint: z.ZodNumber;
4961
+ photoPoint: z.ZodNumber;
4962
+ }, z.core.$strip>;
4963
+ purchaseEarn: z.ZodObject<{
4964
+ enabled: z.ZodBoolean;
4965
+ rateBp: z.ZodNumber;
4966
+ }, z.core.$strip>;
4967
+ expiryDays: z.ZodNullable<z.ZodNumber>;
4968
+ notice: z.ZodNullable<z.ZodEnum<{
4969
+ REVIEW_REWARD_PAUSED: "REVIEW_REWARD_PAUSED";
4970
+ POINTS_AVAILABLE: "POINTS_AVAILABLE";
4971
+ }>>;
4972
+ }, z.core.$strip>;
4973
+ export type StorePointPolicy = z.infer<typeof storePointPolicySchema>;
4974
+ /**
4975
+ * `PUT /v1/store/point-policy` 본문 — 준 항목만 바꾼다(생략 = 저장된 값 유지). 리뷰 적립·구매 적립 중 하나라도 켜면 유효 기간이 있어야 한다
4976
+ * (본문이나 저장된 값, 없으면 400 `POINT_EXPIRY_REQUIRED`).
4977
+ */
4978
+ export declare const updatePointPolicyRequestSchema: z.ZodObject<{
4979
+ reviewReward: z.ZodOptional<z.ZodObject<{
4980
+ enabled: z.ZodBoolean;
4981
+ textPoint: z.ZodNumber;
4982
+ photoPoint: z.ZodNumber;
4983
+ }, z.core.$strip>>;
4984
+ purchaseEarn: z.ZodOptional<z.ZodObject<{
4985
+ enabled: z.ZodBoolean;
4986
+ rateBp: z.ZodNumber;
4987
+ }, z.core.$strip>>;
4988
+ expiryDays: z.ZodOptional<z.ZodNumber>;
4989
+ }, z.core.$strip>;
4990
+ export type UpdatePointPolicyRequest = z.infer<typeof updatePointPolicyRequestSchema>;
4991
+ /** 응답의 원장 유형 — 값이 추가될 수 있어 문자열로 받는다 */
4992
+ export declare const responsePointEntryTypeSchema: z.ZodUnion<readonly [z.ZodEnum<{
4993
+ EARN_REVIEW: "EARN_REVIEW";
4994
+ REVOKE_REVIEW: "REVOKE_REVIEW";
4995
+ EARN_PURCHASE: "EARN_PURCHASE";
4996
+ USE_RESERVE: "USE_RESERVE";
4997
+ USE_RELEASE: "USE_RELEASE";
4998
+ REFUND_RESTORE: "REFUND_RESTORE";
4999
+ EXPIRE: "EXPIRE";
5000
+ ADJUST: "ADJUST";
5001
+ OPENING: "OPENING";
5002
+ }>, z.ZodString]>;
5003
+ /** 원장 항목 — 셀러 조회용(사유·행위자 포함) */
5004
+ export declare const pointEntrySchema: z.ZodObject<{
5005
+ entryId: z.ZodString;
5006
+ memberId: z.ZodString;
5007
+ type: z.ZodUnion<readonly [z.ZodEnum<{
5008
+ EARN_REVIEW: "EARN_REVIEW";
5009
+ REVOKE_REVIEW: "REVOKE_REVIEW";
5010
+ EARN_PURCHASE: "EARN_PURCHASE";
5011
+ USE_RESERVE: "USE_RESERVE";
5012
+ USE_RELEASE: "USE_RELEASE";
5013
+ REFUND_RESTORE: "REFUND_RESTORE";
5014
+ EXPIRE: "EXPIRE";
5015
+ ADJUST: "ADJUST";
5016
+ OPENING: "OPENING";
5017
+ }>, z.ZodString]>;
5018
+ amount: z.ZodNumber;
5019
+ balanceAfter: z.ZodNumber;
5020
+ refType: z.ZodNullable<z.ZodString>;
5021
+ refId: z.ZodNullable<z.ZodString>;
5022
+ memo: z.ZodNullable<z.ZodString>;
5023
+ actor: z.ZodNullable<z.ZodString>;
5024
+ createdAt: z.ZodString;
5025
+ }, z.core.$strip>;
5026
+ export type PointEntry = z.infer<typeof pointEntrySchema>;
5027
+ /** 적립 묶음 요약 — 남은 금액이 있는 묶음 */
5028
+ export declare const pointLotSchema: z.ZodObject<{
5029
+ lotId: z.ZodString;
5030
+ source: z.ZodUnion<readonly [z.ZodEnum<{
5031
+ PURCHASE: "PURCHASE";
5032
+ REFUND_RESTORE: "REFUND_RESTORE";
5033
+ ADJUST: "ADJUST";
5034
+ OPENING: "OPENING";
5035
+ REVIEW: "REVIEW";
5036
+ }>, z.ZodString]>;
5037
+ amount: z.ZodNumber;
5038
+ remaining: z.ZodNumber;
5039
+ expiresAt: z.ZodNullable<z.ZodString>;
5040
+ createdAt: z.ZodString;
5041
+ }, z.core.$strip>;
5042
+ export type PointLot = z.infer<typeof pointLotSchema>;
5043
+ /** `GET /v1/customers/{customerId}/points` */
5044
+ export declare const customerPointsSchema: z.ZodObject<{
5045
+ balance: z.ZodNumber;
5046
+ expiringSoon: z.ZodNumber;
5047
+ lots: z.ZodArray<z.ZodObject<{
5048
+ lotId: z.ZodString;
5049
+ source: z.ZodUnion<readonly [z.ZodEnum<{
5050
+ PURCHASE: "PURCHASE";
5051
+ REFUND_RESTORE: "REFUND_RESTORE";
5052
+ ADJUST: "ADJUST";
5053
+ OPENING: "OPENING";
5054
+ REVIEW: "REVIEW";
5055
+ }>, z.ZodString]>;
5056
+ amount: z.ZodNumber;
5057
+ remaining: z.ZodNumber;
5058
+ expiresAt: z.ZodNullable<z.ZodString>;
5059
+ createdAt: z.ZodString;
5060
+ }, z.core.$strip>>;
5061
+ }, z.core.$strip>;
5062
+ export type CustomerPoints = z.infer<typeof customerPointsSchema>;
5063
+ /** 원장 조회 쿼리 — 상점 전체(`GET /v1/points/history`)는 회원·유형·기간으로 거른다 */
5064
+ export declare const pointHistoryQuerySchema: z.ZodObject<{
5065
+ page: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
5066
+ size: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
5067
+ type: z.ZodOptional<z.ZodString>;
5068
+ memberId: z.ZodOptional<z.ZodString>;
5069
+ from: z.ZodOptional<z.ZodISODateTime>;
5070
+ to: z.ZodOptional<z.ZodISODateTime>;
5071
+ }, z.core.$strip>;
5072
+ export type PointHistoryQuery = z.infer<typeof pointHistoryQuerySchema>;
5073
+ /** 셀러 조정 금액 한도 — 한 번에 천만 원 */
5074
+ export declare const POINT_ADJUSTMENT_MAX = 10000000;
5075
+ /**
5076
+ * `POST /v1/customers/{customerId}/points/adjustments` — 셀러 지급(+)·차감(−). 헤더 `Idempotency-Key`가 필수다.
5077
+ * 지급의 소멸 시각은 `expiresAt`(생략하면 정책 유효 기간, 정책이 없으면 400 `POINT_EXPIRY_REQUIRED`), 차감은 소멸이 이른 적립금부터 뺀다
5078
+ * (잔액보다 많으면 409 `POINT_BALANCE_INSUFFICIENT`).
5079
+ */
5080
+ export declare const pointAdjustmentRequestSchema: z.ZodObject<{
5081
+ amount: z.ZodNumber;
5082
+ reason: z.ZodString;
5083
+ expiresAt: z.ZodOptional<z.ZodISODateTime>;
5084
+ }, z.core.$strip>;
5085
+ export type PointAdjustmentRequest = z.infer<typeof pointAdjustmentRequestSchema>;
5086
+ export declare const pointAdjustmentResultSchema: z.ZodObject<{
5087
+ entry: z.ZodObject<{
5088
+ entryId: z.ZodString;
5089
+ memberId: z.ZodString;
5090
+ type: z.ZodUnion<readonly [z.ZodEnum<{
5091
+ EARN_REVIEW: "EARN_REVIEW";
5092
+ REVOKE_REVIEW: "REVOKE_REVIEW";
5093
+ EARN_PURCHASE: "EARN_PURCHASE";
5094
+ USE_RESERVE: "USE_RESERVE";
5095
+ USE_RELEASE: "USE_RELEASE";
5096
+ REFUND_RESTORE: "REFUND_RESTORE";
5097
+ EXPIRE: "EXPIRE";
5098
+ ADJUST: "ADJUST";
5099
+ OPENING: "OPENING";
5100
+ }>, z.ZodString]>;
5101
+ amount: z.ZodNumber;
5102
+ balanceAfter: z.ZodNumber;
5103
+ refType: z.ZodNullable<z.ZodString>;
5104
+ refId: z.ZodNullable<z.ZodString>;
5105
+ memo: z.ZodNullable<z.ZodString>;
5106
+ actor: z.ZodNullable<z.ZodString>;
5107
+ createdAt: z.ZodString;
5108
+ }, z.core.$strip>;
5109
+ balance: z.ZodNumber;
5110
+ }, z.core.$strip>;
5111
+ export type PointAdjustmentResult = z.infer<typeof pointAdjustmentResultSchema>;
5112
+ //#endregion
4639
5113
  //#region src/schemas/product.d.ts
4640
5114
  export declare const productStatusSchema: z.ZodEnum<{
4641
- SALE: "SALE";
4642
5115
  SUSPENDED: "SUSPENDED";
4643
- OUT_OF_STOCK: "OUT_OF_STOCK";
4644
5116
  CLOSED: "CLOSED";
5117
+ SALE: "SALE";
5118
+ OUT_OF_STOCK: "OUT_OF_STOCK";
4645
5119
  }>;
4646
5120
  export type ProductStatus = z.infer<typeof productStatusSchema>;
4647
5121
  export declare const productSummarySchema: z.ZodObject<{
4648
5122
  productId: z.ZodString;
4649
5123
  name: z.ZodString;
4650
5124
  status: z.ZodEnum<{
4651
- SALE: "SALE";
4652
5125
  SUSPENDED: "SUSPENDED";
4653
- OUT_OF_STOCK: "OUT_OF_STOCK";
4654
5126
  CLOSED: "CLOSED";
5127
+ SALE: "SALE";
5128
+ OUT_OF_STOCK: "OUT_OF_STOCK";
4655
5129
  }>;
4656
5130
  salePrice: z.ZodNumber;
4657
5131
  discountedPrice: z.ZodNullable<z.ZodNumber>;
@@ -4835,10 +5309,10 @@ export declare const productSchema: z.ZodObject<{
4835
5309
  productId: z.ZodString;
4836
5310
  name: z.ZodString;
4837
5311
  status: z.ZodEnum<{
4838
- SALE: "SALE";
4839
5312
  SUSPENDED: "SUSPENDED";
4840
- OUT_OF_STOCK: "OUT_OF_STOCK";
4841
5313
  CLOSED: "CLOSED";
5314
+ SALE: "SALE";
5315
+ OUT_OF_STOCK: "OUT_OF_STOCK";
4842
5316
  }>;
4843
5317
  salePrice: z.ZodNumber;
4844
5318
  discountedPrice: z.ZodNullable<z.ZodNumber>;
@@ -4851,6 +5325,7 @@ export declare const productSchema: z.ZodObject<{
4851
5325
  description: z.ZodOptional<z.ZodString>;
4852
5326
  descriptionJson: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4853
5327
  originalPrice: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
5328
+ pointEarnRateBp: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
4854
5329
  images: z.ZodOptional<z.ZodArray<z.ZodURL>>;
4855
5330
  attributes: z.ZodOptional<z.ZodArray<z.ZodObject<{
4856
5331
  attributeId: z.ZodString;
@@ -5197,6 +5672,7 @@ export declare const productCreateRequestSchema: z.ZodObject<{
5197
5672
  categoryId: z.ZodString;
5198
5673
  salePrice: z.ZodNumber;
5199
5674
  originalPrice: z.ZodOptional<z.ZodNumber>;
5675
+ pointEarnRateBp: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
5200
5676
  description: z.ZodOptional<z.ZodString>;
5201
5677
  descriptionJson: z.ZodOptional<z.ZodNullable<z.ZodString>>;
5202
5678
  images: z.ZodOptional<z.ZodArray<z.ZodURL>>;
@@ -5282,6 +5758,7 @@ export declare const productReplaceRequestSchema: z.ZodObject<{
5282
5758
  categoryId: z.ZodString;
5283
5759
  salePrice: z.ZodNumber;
5284
5760
  originalPrice: z.ZodOptional<z.ZodNumber>;
5761
+ pointEarnRateBp: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
5285
5762
  description: z.ZodOptional<z.ZodString>;
5286
5763
  descriptionJson: z.ZodOptional<z.ZodNullable<z.ZodString>>;
5287
5764
  images: z.ZodOptional<z.ZodArray<z.ZodURL>>;
@@ -5303,10 +5780,10 @@ export declare const productPatchRequestSchema: z.ZodObject<{
5303
5780
  name: z.ZodOptional<z.ZodString>;
5304
5781
  salePrice: z.ZodOptional<z.ZodNumber>;
5305
5782
  status: z.ZodOptional<z.ZodEnum<{
5306
- SALE: "SALE";
5307
5783
  SUSPENDED: "SUSPENDED";
5308
- OUT_OF_STOCK: "OUT_OF_STOCK";
5309
5784
  CLOSED: "CLOSED";
5785
+ SALE: "SALE";
5786
+ OUT_OF_STOCK: "OUT_OF_STOCK";
5310
5787
  }>>;
5311
5788
  images: z.ZodOptional<z.ZodArray<z.ZodURL>>;
5312
5789
  fulfillment: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -5332,14 +5809,15 @@ export declare const productPatchRequestSchema: z.ZodObject<{
5332
5809
  sellerFaultFreeShipping: z.ZodOptional<z.ZodBoolean>;
5333
5810
  conditionalFreeShortfallCharge: z.ZodOptional<z.ZodBoolean>;
5334
5811
  }, z.core.$strict>>>;
5812
+ pointEarnRateBp: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
5335
5813
  }, z.core.$strict>;
5336
5814
  export type ProductPatchRequest = z.infer<typeof productPatchRequestSchema>;
5337
5815
  export declare const productSortSchema: z.ZodEnum<{
5338
- "updatedAt.desc": "updatedAt.desc";
5339
5816
  "createdAt.desc": "createdAt.desc";
5340
5817
  "createdAt.asc": "createdAt.asc";
5341
5818
  "salePrice.asc": "salePrice.asc";
5342
5819
  "salePrice.desc": "salePrice.desc";
5820
+ "updatedAt.desc": "updatedAt.desc";
5343
5821
  }>;
5344
5822
  export type ProductSort = z.infer<typeof productSortSchema>;
5345
5823
  export interface ProductListParams extends PageParams {
@@ -5354,20 +5832,20 @@ export declare const productListQuerySchema: z.ZodObject<{
5354
5832
  page: z.ZodOptional<z.ZodString>;
5355
5833
  size: z.ZodOptional<z.ZodString>;
5356
5834
  status: z.ZodOptional<z.ZodEnum<{
5357
- SALE: "SALE";
5358
5835
  SUSPENDED: "SUSPENDED";
5359
- OUT_OF_STOCK: "OUT_OF_STOCK";
5360
5836
  CLOSED: "CLOSED";
5837
+ SALE: "SALE";
5838
+ OUT_OF_STOCK: "OUT_OF_STOCK";
5361
5839
  }>>;
5362
5840
  categoryId: z.ZodOptional<z.ZodString>;
5363
5841
  keyword: z.ZodOptional<z.ZodString>;
5364
5842
  sellerCode: z.ZodOptional<z.ZodString>;
5365
5843
  sort: z.ZodOptional<z.ZodEnum<{
5366
- "updatedAt.desc": "updatedAt.desc";
5367
5844
  "createdAt.desc": "createdAt.desc";
5368
5845
  "createdAt.asc": "createdAt.asc";
5369
5846
  "salePrice.asc": "salePrice.asc";
5370
5847
  "salePrice.desc": "salePrice.desc";
5848
+ "updatedAt.desc": "updatedAt.desc";
5371
5849
  }>>;
5372
5850
  }, z.core.$strip>;
5373
5851
  export declare const discountRequestSchema: z.ZodObject<{
@@ -5734,9 +6212,9 @@ export declare const storeSchema: z.ZodObject<{
5734
6212
  storeCode: z.ZodString;
5735
6213
  storefrontUrl: z.ZodURL;
5736
6214
  status: z.ZodEnum<{
6215
+ ACTIVE: "ACTIVE";
5737
6216
  SUSPENDED: "SUSPENDED";
5738
6217
  CLOSED: "CLOSED";
5739
- ACTIVE: "ACTIVE";
5740
6218
  }>;
5741
6219
  logoUrl: z.ZodNullable<z.ZodURL>;
5742
6220
  businessNumber: z.ZodNullable<z.ZodString>;
@@ -5748,9 +6226,9 @@ export declare const storeMemberSchema: z.ZodObject<{
5748
6226
  name: z.ZodString;
5749
6227
  email: z.ZodEmail;
5750
6228
  role: z.ZodEnum<{
6229
+ OWNER: "OWNER";
5751
6230
  ADMIN: "ADMIN";
5752
6231
  STAFF: "STAFF";
5753
- OWNER: "OWNER";
5754
6232
  }>;
5755
6233
  joinedAt: z.ZodString;
5756
6234
  lastActiveAt: z.ZodNullable<z.ZodString>;
@@ -6014,9 +6492,9 @@ export declare const storefrontVersionSchema: z.ZodObject<{
6014
6492
  }, z.core.$strip>;
6015
6493
  export type StorefrontVersion = z.infer<typeof storefrontVersionSchema>;
6016
6494
  export declare const storefrontSiteStatusSchema: z.ZodEnum<{
6495
+ ACTIVE: "ACTIVE";
6017
6496
  SUSPENDED: "SUSPENDED";
6018
6497
  CLOSED: "CLOSED";
6019
- ACTIVE: "ACTIVE";
6020
6498
  }>;
6021
6499
  export type StorefrontSiteStatus = z.infer<typeof storefrontSiteStatusSchema>;
6022
6500
  export declare const storefrontVisibilitySchema: z.ZodEnum<{
@@ -6048,8 +6526,8 @@ export type StorefrontDomain = z.infer<typeof storefrontDomainSchema>;
6048
6526
  */
6049
6527
  export declare const storefrontProvisioningSchema: z.ZodObject<{
6050
6528
  status: z.ZodEnum<{
6051
- PENDING: "PENDING";
6052
6529
  FAILED: "FAILED";
6530
+ PENDING: "PENDING";
6053
6531
  SYNCED: "SYNCED";
6054
6532
  }>;
6055
6533
  lastErrorCode: z.ZodNullable<z.ZodString>;
@@ -6097,9 +6575,9 @@ export declare const storefrontSiteSchema: z.ZodObject<{
6097
6575
  MANAGED: "MANAGED";
6098
6576
  }>;
6099
6577
  status: z.ZodEnum<{
6578
+ ACTIVE: "ACTIVE";
6100
6579
  SUSPENDED: "SUSPENDED";
6101
6580
  CLOSED: "CLOSED";
6102
- ACTIVE: "ACTIVE";
6103
6581
  }>;
6104
6582
  visibility: z.ZodEnum<{
6105
6583
  COMING_SOON: "COMING_SOON";
@@ -6129,8 +6607,8 @@ export declare const storefrontSiteSchema: z.ZodObject<{
6129
6607
  }, z.core.$strip>>;
6130
6608
  provisioning: z.ZodObject<{
6131
6609
  status: z.ZodEnum<{
6132
- PENDING: "PENDING";
6133
6610
  FAILED: "FAILED";
6611
+ PENDING: "PENDING";
6134
6612
  SYNCED: "SYNCED";
6135
6613
  }>;
6136
6614
  lastErrorCode: z.ZodNullable<z.ZodString>;
@@ -6177,9 +6655,9 @@ export declare const storefrontHostingSchema: z.ZodObject<{
6177
6655
  MANAGED: "MANAGED";
6178
6656
  }>;
6179
6657
  status: z.ZodEnum<{
6658
+ ACTIVE: "ACTIVE";
6180
6659
  SUSPENDED: "SUSPENDED";
6181
6660
  CLOSED: "CLOSED";
6182
- ACTIVE: "ACTIVE";
6183
6661
  }>;
6184
6662
  visibility: z.ZodEnum<{
6185
6663
  COMING_SOON: "COMING_SOON";
@@ -6209,8 +6687,8 @@ export declare const storefrontHostingSchema: z.ZodObject<{
6209
6687
  }, z.core.$strip>>;
6210
6688
  provisioning: z.ZodObject<{
6211
6689
  status: z.ZodEnum<{
6212
- PENDING: "PENDING";
6213
6690
  FAILED: "FAILED";
6691
+ PENDING: "PENDING";
6214
6692
  SYNCED: "SYNCED";
6215
6693
  }>;
6216
6694
  lastErrorCode: z.ZodNullable<z.ZodString>;
@@ -6252,8 +6730,8 @@ export declare const storefrontDeploymentStepSchema: z.ZodObject<{
6252
6730
  PUBLISH: "PUBLISH";
6253
6731
  }>;
6254
6732
  status: z.ZodEnum<{
6255
- PENDING: "PENDING";
6256
6733
  FAILED: "FAILED";
6734
+ PENDING: "PENDING";
6257
6735
  RUNNING: "RUNNING";
6258
6736
  DONE: "DONE";
6259
6737
  }>;
@@ -6275,8 +6753,8 @@ export declare const storefrontDeploymentSchema: z.ZodObject<{
6275
6753
  siteId: z.ZodString;
6276
6754
  status: z.ZodEnum<{
6277
6755
  IN_PROGRESS: "IN_PROGRESS";
6278
- FAILED: "FAILED";
6279
6756
  SUCCEEDED: "SUCCEEDED";
6757
+ FAILED: "FAILED";
6280
6758
  }>;
6281
6759
  url: z.ZodString;
6282
6760
  startedAt: z.ZodString;
@@ -6288,8 +6766,8 @@ export declare const storefrontDeploymentSchema: z.ZodObject<{
6288
6766
  PUBLISH: "PUBLISH";
6289
6767
  }>;
6290
6768
  status: z.ZodEnum<{
6291
- PENDING: "PENDING";
6292
6769
  FAILED: "FAILED";
6770
+ PENDING: "PENDING";
6293
6771
  RUNNING: "RUNNING";
6294
6772
  DONE: "DONE";
6295
6773
  }>;
@@ -6456,8 +6934,8 @@ export declare const storefrontSiteDomainSchema: z.ZodObject<{
6456
6934
  }, z.core.$strip>>;
6457
6935
  certificateStatus: z.ZodNullable<z.ZodEnum<{
6458
6936
  ACTIVE: "ACTIVE";
6459
- PENDING: "PENDING";
6460
6937
  FAILED: "FAILED";
6938
+ PENDING: "PENDING";
6461
6939
  }>>;
6462
6940
  failureCode: z.ZodNullable<z.ZodString>;
6463
6941
  verifiedAt: z.ZodNullable<z.ZodString>;
@@ -6499,8 +6977,8 @@ export declare const storefrontSiteDomainsSchema: z.ZodObject<{
6499
6977
  }, z.core.$strip>>;
6500
6978
  certificateStatus: z.ZodNullable<z.ZodEnum<{
6501
6979
  ACTIVE: "ACTIVE";
6502
- PENDING: "PENDING";
6503
6980
  FAILED: "FAILED";
6981
+ PENDING: "PENDING";
6504
6982
  }>>;
6505
6983
  failureCode: z.ZodNullable<z.ZodString>;
6506
6984
  verifiedAt: z.ZodNullable<z.ZodString>;
@@ -6833,8 +7311,8 @@ export declare const storefrontVerifyReportSchema: z.ZodObject<{
6833
7311
  }, z.core.$strip>;
6834
7312
  export type StorefrontVerifyReport = z.infer<typeof storefrontVerifyReportSchema>;
6835
7313
  export declare const storefrontBuildStatusSchema: z.ZodEnum<{
6836
- FAILED: "FAILED";
6837
7314
  SUCCEEDED: "SUCCEEDED";
7315
+ FAILED: "FAILED";
6838
7316
  RUNNING: "RUNNING";
6839
7317
  QUEUED: "QUEUED";
6840
7318
  TIMED_OUT: "TIMED_OUT";
@@ -6901,8 +7379,8 @@ export declare const storefrontBuildSchema: z.ZodObject<{
6901
7379
  versionId: z.ZodString;
6902
7380
  versionNumber: z.ZodNumber;
6903
7381
  status: z.ZodEnum<{
6904
- FAILED: "FAILED";
6905
7382
  SUCCEEDED: "SUCCEEDED";
7383
+ FAILED: "FAILED";
6906
7384
  RUNNING: "RUNNING";
6907
7385
  QUEUED: "QUEUED";
6908
7386
  TIMED_OUT: "TIMED_OUT";
@@ -7030,8 +7508,8 @@ export declare const storefrontVersionCreatedSchema: z.ZodObject<{
7030
7508
  versionId: z.ZodString;
7031
7509
  versionNumber: z.ZodNumber;
7032
7510
  status: z.ZodEnum<{
7033
- FAILED: "FAILED";
7034
7511
  SUCCEEDED: "SUCCEEDED";
7512
+ FAILED: "FAILED";
7035
7513
  RUNNING: "RUNNING";
7036
7514
  QUEUED: "QUEUED";
7037
7515
  TIMED_OUT: "TIMED_OUT";
@@ -7283,9 +7761,9 @@ export type UploadTicket = z.infer<typeof uploadTicketSchema>;
7283
7761
  //#endregion
7284
7762
  //#region src/schemas/auth.d.ts
7285
7763
  export declare const storeRoleSchema: z.ZodEnum<{
7764
+ OWNER: "OWNER";
7286
7765
  ADMIN: "ADMIN";
7287
7766
  STAFF: "STAFF";
7288
- OWNER: "OWNER";
7289
7767
  }>;
7290
7768
  export type StoreRole = z.infer<typeof storeRoleSchema>;
7291
7769
  export declare const myStoreSchema: z.ZodObject<{
@@ -7293,14 +7771,14 @@ export declare const myStoreSchema: z.ZodObject<{
7293
7771
  storeName: z.ZodString;
7294
7772
  storeCode: z.ZodString;
7295
7773
  role: z.ZodEnum<{
7774
+ OWNER: "OWNER";
7296
7775
  ADMIN: "ADMIN";
7297
7776
  STAFF: "STAFF";
7298
- OWNER: "OWNER";
7299
7777
  }>;
7300
7778
  status: z.ZodEnum<{
7779
+ ACTIVE: "ACTIVE";
7301
7780
  SUSPENDED: "SUSPENDED";
7302
7781
  CLOSED: "CLOSED";
7303
- ACTIVE: "ACTIVE";
7304
7782
  }>;
7305
7783
  }, z.core.$strip>;
7306
7784
  export type MyStore = z.infer<typeof myStoreSchema>;
@@ -7455,8 +7933,8 @@ export declare function createStoreClient(options: StoreClientOptions): {
7455
7933
  storeId: string;
7456
7934
  storeName: string;
7457
7935
  storeCode: string;
7458
- role: "ADMIN" | "STAFF" | "OWNER";
7459
- status: "SUSPENDED" | "CLOSED" | "ACTIVE";
7936
+ role: "OWNER" | "ADMIN" | "STAFF";
7937
+ status: "ACTIVE" | "SUSPENDED" | "CLOSED";
7460
7938
  }[]>;
7461
7939
  me: () => Promise<{
7462
7940
  userId: string;
@@ -7495,7 +7973,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
7495
7973
  contents: {
7496
7974
  productId: string;
7497
7975
  name: string;
7498
- status: "SALE" | "SUSPENDED" | "OUT_OF_STOCK" | "CLOSED";
7976
+ status: "SUSPENDED" | "CLOSED" | "SALE" | "OUT_OF_STOCK";
7499
7977
  salePrice: number;
7500
7978
  discountedPrice: number | null;
7501
7979
  stockQuantity: number;
@@ -7512,7 +7990,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
7512
7990
  get: (productId: string) => Promise<{
7513
7991
  productId: string;
7514
7992
  name: string;
7515
- status: "SALE" | "SUSPENDED" | "OUT_OF_STOCK" | "CLOSED";
7993
+ status: "SUSPENDED" | "CLOSED" | "SALE" | "OUT_OF_STOCK";
7516
7994
  salePrice: number;
7517
7995
  discountedPrice: number | null;
7518
7996
  stockQuantity: number;
@@ -7591,6 +8069,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
7591
8069
  description?: string | undefined;
7592
8070
  descriptionJson?: string | null | undefined;
7593
8071
  originalPrice?: number | null | undefined;
8072
+ pointEarnRateBp?: number | null | undefined;
7594
8073
  images?: string[] | undefined;
7595
8074
  attributes?: {
7596
8075
  attributeId: string;
@@ -7609,7 +8088,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
7609
8088
  create: (body: ProductCreateRequestInput, idempotencyKey?: string) => Promise<{
7610
8089
  productId: string;
7611
8090
  name: string;
7612
- status: "SALE" | "SUSPENDED" | "OUT_OF_STOCK" | "CLOSED";
8091
+ status: "SUSPENDED" | "CLOSED" | "SALE" | "OUT_OF_STOCK";
7613
8092
  salePrice: number;
7614
8093
  discountedPrice: number | null;
7615
8094
  stockQuantity: number;
@@ -7688,6 +8167,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
7688
8167
  description?: string | undefined;
7689
8168
  descriptionJson?: string | null | undefined;
7690
8169
  originalPrice?: number | null | undefined;
8170
+ pointEarnRateBp?: number | null | undefined;
7691
8171
  images?: string[] | undefined;
7692
8172
  attributes?: {
7693
8173
  attributeId: string;
@@ -7706,7 +8186,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
7706
8186
  update: (productId: string, body: ProductReplaceRequestInput) => Promise<{
7707
8187
  productId: string;
7708
8188
  name: string;
7709
- status: "SALE" | "SUSPENDED" | "OUT_OF_STOCK" | "CLOSED";
8189
+ status: "SUSPENDED" | "CLOSED" | "SALE" | "OUT_OF_STOCK";
7710
8190
  salePrice: number;
7711
8191
  discountedPrice: number | null;
7712
8192
  stockQuantity: number;
@@ -7785,6 +8265,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
7785
8265
  description?: string | undefined;
7786
8266
  descriptionJson?: string | null | undefined;
7787
8267
  originalPrice?: number | null | undefined;
8268
+ pointEarnRateBp?: number | null | undefined;
7788
8269
  images?: string[] | undefined;
7789
8270
  attributes?: {
7790
8271
  attributeId: string;
@@ -8072,6 +8553,169 @@ export declare function createStoreClient(options: StoreClientOptions): {
8072
8553
  additionalPriceDropped: boolean;
8073
8554
  }>;
8074
8555
  };
8556
+ /**
8557
+ * 컬렉션 (이슈 #83) — 상품을 어디에 보여 줄지 정하는 묶음(다대다). 권한은 카테고리와 같다(`category:r`·`category:rw`).
8558
+ * 쓰기마다 `revision`이 오른다. 수정 본문에 읽은 `revision`을 주면 그 사이 다른 수정이 있을 때 409 `COLLECTION_CHANGED`다.
8559
+ */
8560
+ collections: {
8561
+ list: (params?: CollectionListParams) => Promise<{
8562
+ page: number;
8563
+ size: number;
8564
+ totalElements: number;
8565
+ totalPages: number;
8566
+ contents: {
8567
+ collectionId: string;
8568
+ type: string;
8569
+ title: string;
8570
+ slug: string;
8571
+ description: string;
8572
+ imageUrl: string | null;
8573
+ productSort: string;
8574
+ visible: boolean;
8575
+ startsAt: string | null;
8576
+ endsAt: string | null;
8577
+ sortOrder: number;
8578
+ metaTitle: string | null;
8579
+ metaDescription: string | null;
8580
+ state: "ACTIVE" | "ENDED" | "SCHEDULED" | "HIDDEN";
8581
+ productCount: number;
8582
+ revision: number;
8583
+ createdAt: string;
8584
+ updatedAt: string;
8585
+ }[];
8586
+ stateCounts: {
8587
+ ALL: number;
8588
+ ACTIVE: number;
8589
+ SCHEDULED: number;
8590
+ ENDED: number;
8591
+ HIDDEN: number;
8592
+ };
8593
+ }>;
8594
+ get: (collectionId: string) => Promise<{
8595
+ collectionId: string;
8596
+ type: string;
8597
+ title: string;
8598
+ slug: string;
8599
+ description: string;
8600
+ imageUrl: string | null;
8601
+ productSort: string;
8602
+ visible: boolean;
8603
+ startsAt: string | null;
8604
+ endsAt: string | null;
8605
+ sortOrder: number;
8606
+ metaTitle: string | null;
8607
+ metaDescription: string | null;
8608
+ state: "ACTIVE" | "ENDED" | "SCHEDULED" | "HIDDEN";
8609
+ productCount: number;
8610
+ revision: number;
8611
+ createdAt: string;
8612
+ updatedAt: string;
8613
+ }>;
8614
+ /** 주소가 겹치면 409 `COLLECTION_SLUG_TAKEN`, 상점당 200개를 넘으면 409 `COLLECTION_LIMIT_EXCEEDED` */
8615
+ create: (body: CollectionCreateRequestInput) => Promise<{
8616
+ collectionId: string;
8617
+ type: string;
8618
+ title: string;
8619
+ slug: string;
8620
+ description: string;
8621
+ imageUrl: string | null;
8622
+ productSort: string;
8623
+ visible: boolean;
8624
+ startsAt: string | null;
8625
+ endsAt: string | null;
8626
+ sortOrder: number;
8627
+ metaTitle: string | null;
8628
+ metaDescription: string | null;
8629
+ state: "ACTIVE" | "ENDED" | "SCHEDULED" | "HIDDEN";
8630
+ productCount: number;
8631
+ revision: number;
8632
+ createdAt: string;
8633
+ updatedAt: string;
8634
+ }>;
8635
+ update: (collectionId: string, body: CollectionPatchRequest) => Promise<{
8636
+ collectionId: string;
8637
+ type: string;
8638
+ title: string;
8639
+ slug: string;
8640
+ description: string;
8641
+ imageUrl: string | null;
8642
+ productSort: string;
8643
+ visible: boolean;
8644
+ startsAt: string | null;
8645
+ endsAt: string | null;
8646
+ sortOrder: number;
8647
+ metaTitle: string | null;
8648
+ metaDescription: string | null;
8649
+ state: "ACTIVE" | "ENDED" | "SCHEDULED" | "HIDDEN";
8650
+ productCount: number;
8651
+ revision: number;
8652
+ createdAt: string;
8653
+ updatedAt: string;
8654
+ }>;
8655
+ remove: (collectionId: string) => Promise<void>;
8656
+ /** 담긴 상품 — 직접 정한 순서 */
8657
+ listProducts: (collectionId: string, params?: {
8658
+ page?: number;
8659
+ size?: number;
8660
+ }) => Promise<{
8661
+ page: number;
8662
+ size: number;
8663
+ totalElements: number;
8664
+ totalPages: number;
8665
+ contents: {
8666
+ productId: string;
8667
+ name: string;
8668
+ thumbnailUrl: string | null;
8669
+ status: string;
8670
+ salePrice: number;
8671
+ position: number;
8672
+ addedAt: string;
8673
+ }[];
8674
+ }>;
8675
+ /** 담긴 상품을 통째로 바꾼다(순서 포함) */
8676
+ replaceProducts: (collectionId: string, body: CollectionProductsReplaceRequest) => Promise<{
8677
+ collectionId: string;
8678
+ type: string;
8679
+ title: string;
8680
+ slug: string;
8681
+ description: string;
8682
+ imageUrl: string | null;
8683
+ productSort: string;
8684
+ visible: boolean;
8685
+ startsAt: string | null;
8686
+ endsAt: string | null;
8687
+ sortOrder: number;
8688
+ metaTitle: string | null;
8689
+ metaDescription: string | null;
8690
+ state: "ACTIVE" | "ENDED" | "SCHEDULED" | "HIDDEN";
8691
+ productCount: number;
8692
+ revision: number;
8693
+ createdAt: string;
8694
+ updatedAt: string;
8695
+ }>;
8696
+ /** 뒤에 붙인다. 이미 담긴 상품은 그 자리에 둔다 */
8697
+ addProducts: (collectionId: string, body: CollectionProductsAddRequest) => Promise<{
8698
+ collectionId: string;
8699
+ type: string;
8700
+ title: string;
8701
+ slug: string;
8702
+ description: string;
8703
+ imageUrl: string | null;
8704
+ productSort: string;
8705
+ visible: boolean;
8706
+ startsAt: string | null;
8707
+ endsAt: string | null;
8708
+ sortOrder: number;
8709
+ metaTitle: string | null;
8710
+ metaDescription: string | null;
8711
+ state: "ACTIVE" | "ENDED" | "SCHEDULED" | "HIDDEN";
8712
+ productCount: number;
8713
+ revision: number;
8714
+ createdAt: string;
8715
+ updatedAt: string;
8716
+ }>;
8717
+ removeProduct: (collectionId: string, productId: string) => Promise<void>;
8718
+ };
8075
8719
  categories: {
8076
8720
  list: (params?: {
8077
8721
  parentId?: string;
@@ -8957,7 +9601,80 @@ export declare function createStoreClient(options: StoreClientOptions): {
8957
9601
  }>;
8958
9602
  };
8959
9603
  /** 구매자 관리 — 조회 `customer:r`, 탈퇴 처리 `customer:rw`(상점 플랫폼 OWNER·ADMIN) */
9604
+ /** 적립금 — 상점 전체 원장(#93). 스코프 `promotion:r` */
9605
+ points: {
9606
+ /** `GET /v1/points/history` — 회원(`memberId`)·유형(`type`)·기간(`from`·`to`)으로 거른다 */
9607
+ listHistory: (params?: PointHistoryQuery) => Promise<{
9608
+ page: number;
9609
+ size: number;
9610
+ totalElements: number;
9611
+ totalPages: number;
9612
+ contents: {
9613
+ entryId: string;
9614
+ memberId: string;
9615
+ type: string;
9616
+ amount: number;
9617
+ balanceAfter: number;
9618
+ refType: string | null;
9619
+ refId: string | null;
9620
+ memo: string | null;
9621
+ actor: string | null;
9622
+ createdAt: string;
9623
+ }[];
9624
+ }>;
9625
+ };
8960
9626
  customers: {
9627
+ /** `GET /v1/customers/{customerId}/points` — 잔액·30일 안 소멸 예정·남은 적립 묶음(#93) */
9628
+ getPoints: (customerId: string) => Promise<{
9629
+ balance: number;
9630
+ expiringSoon: number;
9631
+ lots: {
9632
+ lotId: string;
9633
+ source: string;
9634
+ amount: number;
9635
+ remaining: number;
9636
+ expiresAt: string | null;
9637
+ createdAt: string;
9638
+ }[];
9639
+ }>;
9640
+ /** `GET /v1/customers/{customerId}/points/history` — 적립금 내역(최신순, 셀러 사유 포함) */
9641
+ listPointHistory: (customerId: string, params?: Omit<PointHistoryQuery, "memberId">) => Promise<{
9642
+ page: number;
9643
+ size: number;
9644
+ totalElements: number;
9645
+ totalPages: number;
9646
+ contents: {
9647
+ entryId: string;
9648
+ memberId: string;
9649
+ type: string;
9650
+ amount: number;
9651
+ balanceAfter: number;
9652
+ refType: string | null;
9653
+ refId: string | null;
9654
+ memo: string | null;
9655
+ actor: string | null;
9656
+ createdAt: string;
9657
+ }[];
9658
+ }>;
9659
+ /**
9660
+ * `POST /v1/customers/{customerId}/points/adjustments` (201) — 스코프 `promotion:rw`. 양수 지급, 음수 차감. `idempotencyKey`가 필수다.
9661
+ * 에러: 409 `POINT_BALANCE_INSUFFICIENT`·`POINTS_UNAVAILABLE`, 400 `POINT_EXPIRY_REQUIRED`. 에이전트 요청은 승인 대상이다
9662
+ */
9663
+ adjustPoints: (customerId: string, body: PointAdjustmentRequest, idempotencyKey: string) => Promise<{
9664
+ entry: {
9665
+ entryId: string;
9666
+ memberId: string;
9667
+ type: string;
9668
+ amount: number;
9669
+ balanceAfter: number;
9670
+ refType: string | null;
9671
+ refId: string | null;
9672
+ memo: string | null;
9673
+ actor: string | null;
9674
+ createdAt: string;
9675
+ };
9676
+ balance: number;
9677
+ }>;
8961
9678
  list: (params?: PageParams & Omit<z.input<typeof customerListQuerySchema>, "page" | "size">) => Promise<{
8962
9679
  page: number;
8963
9680
  size: number;
@@ -9523,7 +10240,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
9523
10240
  settlementId: string;
9524
10241
  settlementDate: string;
9525
10242
  payoutDate: string | null;
9526
- status: "PAID" | "HELD" | "SCHEDULED";
10243
+ status: "PAID" | "SCHEDULED" | "HELD";
9527
10244
  totalPaymentAmount: number;
9528
10245
  totalCommission: number;
9529
10246
  totalDeliveryFee: number;
@@ -9537,7 +10254,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
9537
10254
  settlementId: string;
9538
10255
  settlementDate: string;
9539
10256
  payoutDate: string | null;
9540
- status: "PAID" | "HELD" | "SCHEDULED";
10257
+ status: "PAID" | "SCHEDULED" | "HELD";
9541
10258
  totalPaymentAmount: number;
9542
10259
  totalCommission: number;
9543
10260
  totalDeliveryFee: number;
@@ -9814,7 +10531,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
9814
10531
  orderId: string | null;
9815
10532
  orderName: string;
9816
10533
  customerName: string;
9817
- status: "PENDING" | "FAILED" | "APPROVED" | "PARTIALLY_REFUNDED" | "REFUNDED";
10534
+ status: "FAILED" | "PENDING" | "APPROVED" | "PARTIALLY_REFUNDED" | "REFUNDED";
9818
10535
  amount: number;
9819
10536
  refundedAmount: number;
9820
10537
  provider: "tosspayments" | "portone" | null;
@@ -9838,7 +10555,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
9838
10555
  orderId: string | null;
9839
10556
  orderName: string;
9840
10557
  customerName: string;
9841
- status: "PENDING" | "FAILED" | "APPROVED" | "PARTIALLY_REFUNDED" | "REFUNDED";
10558
+ status: "FAILED" | "PENDING" | "APPROVED" | "PARTIALLY_REFUNDED" | "REFUNDED";
9842
10559
  amount: number;
9843
10560
  refundedAmount: number;
9844
10561
  provider: "tosspayments" | "portone" | null;
@@ -9937,7 +10654,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
9937
10654
  masked: string | null;
9938
10655
  }[];
9939
10656
  lastVerification: {
9940
- result: "SUCCESS" | "FAILED";
10657
+ result: "FAILED" | "SUCCESS";
9941
10658
  message: string | null;
9942
10659
  checkedAt: string;
9943
10660
  } | null;
@@ -9962,7 +10679,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
9962
10679
  masked: string | null;
9963
10680
  }[];
9964
10681
  lastVerification: {
9965
- result: "SUCCESS" | "FAILED";
10682
+ result: "FAILED" | "SUCCESS";
9966
10683
  message: string | null;
9967
10684
  checkedAt: string;
9968
10685
  } | null;
@@ -9986,7 +10703,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
9986
10703
  masked: string | null;
9987
10704
  }[];
9988
10705
  lastVerification: {
9989
- result: "SUCCESS" | "FAILED";
10706
+ result: "FAILED" | "SUCCESS";
9990
10707
  message: string | null;
9991
10708
  checkedAt: string;
9992
10709
  } | null;
@@ -10047,7 +10764,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10047
10764
  masked: string | null;
10048
10765
  }[];
10049
10766
  lastVerification: {
10050
- result: "SUCCESS" | "FAILED";
10767
+ result: "FAILED" | "SUCCESS";
10051
10768
  message: string | null;
10052
10769
  checkedAt: string;
10053
10770
  } | null;
@@ -10072,7 +10789,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10072
10789
  masked: string | null;
10073
10790
  }[];
10074
10791
  lastVerification: {
10075
- result: "SUCCESS" | "FAILED";
10792
+ result: "FAILED" | "SUCCESS";
10076
10793
  message: string | null;
10077
10794
  checkedAt: string;
10078
10795
  } | null;
@@ -10096,7 +10813,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10096
10813
  masked: string | null;
10097
10814
  }[];
10098
10815
  lastVerification: {
10099
- result: "SUCCESS" | "FAILED";
10816
+ result: "FAILED" | "SUCCESS";
10100
10817
  message: string | null;
10101
10818
  checkedAt: string;
10102
10819
  } | null;
@@ -10162,7 +10879,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10162
10879
  masked: string | null;
10163
10880
  }[];
10164
10881
  lastVerification: {
10165
- result: "SUCCESS" | "FAILED";
10882
+ result: "FAILED" | "SUCCESS";
10166
10883
  message: string | null;
10167
10884
  checkedAt: string;
10168
10885
  } | null;
@@ -10187,7 +10904,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10187
10904
  masked: string | null;
10188
10905
  }[];
10189
10906
  lastVerification: {
10190
- result: "SUCCESS" | "FAILED";
10907
+ result: "FAILED" | "SUCCESS";
10191
10908
  message: string | null;
10192
10909
  checkedAt: string;
10193
10910
  } | null;
@@ -10211,7 +10928,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10211
10928
  masked: string | null;
10212
10929
  }[];
10213
10930
  lastVerification: {
10214
- result: "SUCCESS" | "FAILED";
10931
+ result: "FAILED" | "SUCCESS";
10215
10932
  message: string | null;
10216
10933
  checkedAt: string;
10217
10934
  } | null;
@@ -10258,7 +10975,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10258
10975
  masked: string | null;
10259
10976
  }[];
10260
10977
  lastVerification: {
10261
- result: "SUCCESS" | "FAILED";
10978
+ result: "FAILED" | "SUCCESS";
10262
10979
  message: string | null;
10263
10980
  checkedAt: string;
10264
10981
  } | null;
@@ -10283,7 +11000,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10283
11000
  masked: string | null;
10284
11001
  }[];
10285
11002
  lastVerification: {
10286
- result: "SUCCESS" | "FAILED";
11003
+ result: "FAILED" | "SUCCESS";
10287
11004
  message: string | null;
10288
11005
  checkedAt: string;
10289
11006
  } | null;
@@ -10307,7 +11024,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10307
11024
  masked: string | null;
10308
11025
  }[];
10309
11026
  lastVerification: {
10310
- result: "SUCCESS" | "FAILED";
11027
+ result: "FAILED" | "SUCCESS";
10311
11028
  message: string | null;
10312
11029
  checkedAt: string;
10313
11030
  } | null;
@@ -10364,7 +11081,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10364
11081
  masked: string | null;
10365
11082
  }[];
10366
11083
  lastVerification: {
10367
- result: "SUCCESS" | "FAILED";
11084
+ result: "FAILED" | "SUCCESS";
10368
11085
  message: string | null;
10369
11086
  checkedAt: string;
10370
11087
  } | null;
@@ -10389,7 +11106,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10389
11106
  masked: string | null;
10390
11107
  }[];
10391
11108
  lastVerification: {
10392
- result: "SUCCESS" | "FAILED";
11109
+ result: "FAILED" | "SUCCESS";
10393
11110
  message: string | null;
10394
11111
  checkedAt: string;
10395
11112
  } | null;
@@ -10413,7 +11130,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10413
11130
  masked: string | null;
10414
11131
  }[];
10415
11132
  lastVerification: {
10416
- result: "SUCCESS" | "FAILED";
11133
+ result: "FAILED" | "SUCCESS";
10417
11134
  message: string | null;
10418
11135
  checkedAt: string;
10419
11136
  } | null;
@@ -10460,7 +11177,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10460
11177
  masked: string | null;
10461
11178
  }[];
10462
11179
  lastVerification: {
10463
- result: "SUCCESS" | "FAILED";
11180
+ result: "FAILED" | "SUCCESS";
10464
11181
  message: string | null;
10465
11182
  checkedAt: string;
10466
11183
  } | null;
@@ -10485,7 +11202,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10485
11202
  masked: string | null;
10486
11203
  }[];
10487
11204
  lastVerification: {
10488
- result: "SUCCESS" | "FAILED";
11205
+ result: "FAILED" | "SUCCESS";
10489
11206
  message: string | null;
10490
11207
  checkedAt: string;
10491
11208
  } | null;
@@ -10509,7 +11226,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10509
11226
  masked: string | null;
10510
11227
  }[];
10511
11228
  lastVerification: {
10512
- result: "SUCCESS" | "FAILED";
11229
+ result: "FAILED" | "SUCCESS";
10513
11230
  message: string | null;
10514
11231
  checkedAt: string;
10515
11232
  } | null;
@@ -10565,7 +11282,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10565
11282
  masked: string | null;
10566
11283
  }[];
10567
11284
  lastVerification: {
10568
- result: "SUCCESS" | "FAILED";
11285
+ result: "FAILED" | "SUCCESS";
10569
11286
  message: string | null;
10570
11287
  checkedAt: string;
10571
11288
  } | null;
@@ -10590,7 +11307,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10590
11307
  masked: string | null;
10591
11308
  }[];
10592
11309
  lastVerification: {
10593
- result: "SUCCESS" | "FAILED";
11310
+ result: "FAILED" | "SUCCESS";
10594
11311
  message: string | null;
10595
11312
  checkedAt: string;
10596
11313
  } | null;
@@ -10614,7 +11331,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10614
11331
  masked: string | null;
10615
11332
  }[];
10616
11333
  lastVerification: {
10617
- result: "SUCCESS" | "FAILED";
11334
+ result: "FAILED" | "SUCCESS";
10618
11335
  message: string | null;
10619
11336
  checkedAt: string;
10620
11337
  } | null;
@@ -10642,7 +11359,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10642
11359
  verify: (provider: PgProvider, body?: VerifyPaymentProviderRequest) => Promise<{
10643
11360
  provider: "tosspayments" | "portone";
10644
11361
  environment: "TEST" | "LIVE";
10645
- result: "SUCCESS" | "FAILED";
11362
+ result: "FAILED" | "SUCCESS";
10646
11363
  message: string | null;
10647
11364
  checkedAt: string;
10648
11365
  }>;
@@ -10652,7 +11369,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10652
11369
  webhookId: string;
10653
11370
  url: string;
10654
11371
  eventTypes: ("ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "ORDER.CANCELED" | "ORDER.FULFILLED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK")[];
10655
- status: "SUSPENDED" | "ACTIVE";
11372
+ status: "ACTIVE" | "SUSPENDED";
10656
11373
  secretPrefix: string;
10657
11374
  suspendedAt: string | null;
10658
11375
  createdAt: string;
@@ -10662,7 +11379,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10662
11379
  webhookId: string;
10663
11380
  url: string;
10664
11381
  eventTypes: ("ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "ORDER.CANCELED" | "ORDER.FULFILLED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK")[];
10665
- status: "SUSPENDED" | "ACTIVE";
11382
+ status: "ACTIVE" | "SUSPENDED";
10666
11383
  secretPrefix: string;
10667
11384
  suspendedAt: string | null;
10668
11385
  createdAt: string;
@@ -10672,7 +11389,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10672
11389
  webhookId: string;
10673
11390
  url: string;
10674
11391
  eventTypes: ("ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "ORDER.CANCELED" | "ORDER.FULFILLED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK")[];
10675
- status: "SUSPENDED" | "ACTIVE";
11392
+ status: "ACTIVE" | "SUSPENDED";
10676
11393
  secretPrefix: string;
10677
11394
  suspendedAt: string | null;
10678
11395
  createdAt: string;
@@ -10682,7 +11399,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10682
11399
  webhookId: string;
10683
11400
  url: string;
10684
11401
  eventTypes: ("ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "ORDER.CANCELED" | "ORDER.FULFILLED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK")[];
10685
- status: "SUSPENDED" | "ACTIVE";
11402
+ status: "ACTIVE" | "SUSPENDED";
10686
11403
  secretPrefix: string;
10687
11404
  suspendedAt: string | null;
10688
11405
  createdAt: string;
@@ -10697,7 +11414,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10697
11414
  webhookId: string;
10698
11415
  url: string;
10699
11416
  eventTypes: ("ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "ORDER.CANCELED" | "ORDER.FULFILLED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK")[];
10700
- status: "SUSPENDED" | "ACTIVE";
11417
+ status: "ACTIVE" | "SUSPENDED";
10701
11418
  secretPrefix: string;
10702
11419
  suspendedAt: string | null;
10703
11420
  createdAt: string;
@@ -10708,7 +11425,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10708
11425
  eventId: string;
10709
11426
  eventType: "ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "ORDER.CANCELED" | "ORDER.FULFILLED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK";
10710
11427
  url: string;
10711
- status: "PENDING" | "PENDING_RETRY" | "SUCCESS" | "FAILED";
11428
+ status: "FAILED" | "PENDING" | "PENDING_RETRY" | "SUCCESS";
10712
11429
  responseStatusCode: number | null;
10713
11430
  responseTimeMs: number | null;
10714
11431
  responseBodyExcerpt: string | null;
@@ -10735,7 +11452,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10735
11452
  eventId: string;
10736
11453
  eventType: "ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "ORDER.CANCELED" | "ORDER.FULFILLED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK";
10737
11454
  url: string;
10738
- status: "PENDING" | "PENDING_RETRY" | "SUCCESS" | "FAILED";
11455
+ status: "FAILED" | "PENDING" | "PENDING_RETRY" | "SUCCESS";
10739
11456
  responseStatusCode: number | null;
10740
11457
  responseTimeMs: number | null;
10741
11458
  responseBodyExcerpt: string | null;
@@ -10770,7 +11487,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10770
11487
  eventId: string;
10771
11488
  eventType: "ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "ORDER.CANCELED" | "ORDER.FULFILLED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK";
10772
11489
  url: string;
10773
- status: "PENDING" | "PENDING_RETRY" | "SUCCESS" | "FAILED";
11490
+ status: "FAILED" | "PENDING" | "PENDING_RETRY" | "SUCCESS";
10774
11491
  responseStatusCode: number | null;
10775
11492
  responseTimeMs: number | null;
10776
11493
  responseBodyExcerpt: string | null;
@@ -10866,7 +11583,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10866
11583
  method: string | null;
10867
11584
  path: string | null;
10868
11585
  statusCode: number | null;
10869
- outcome: "FAILED" | "SUCCEEDED" | "PENDING_APPROVAL" | "DENIED" | "DRY_RUN" | null;
11586
+ outcome: "SUCCEEDED" | "FAILED" | "PENDING_APPROVAL" | "DENIED" | "DRY_RUN" | null;
10870
11587
  errorCode: string | null;
10871
11588
  traceId: string | null;
10872
11589
  idempotencyKey: string | null;
@@ -10884,7 +11601,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10884
11601
  list: (params?: ApprovalListOptions) => Promise<{
10885
11602
  items: {
10886
11603
  approvalId: string;
10887
- status: "UNKNOWN" | "PENDING" | "FAILED" | "SUCCEEDED" | "EXECUTING" | "REJECTED" | "EXPIRED";
11604
+ status: "UNKNOWN" | "SUCCEEDED" | "FAILED" | "PENDING" | "EXECUTING" | "REJECTED" | "EXPIRED";
10888
11605
  operationId: string;
10889
11606
  method: string;
10890
11607
  path: string;
@@ -10934,7 +11651,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10934
11651
  }>;
10935
11652
  get: (approvalId: string) => Promise<{
10936
11653
  approvalId: string;
10937
- status: "UNKNOWN" | "PENDING" | "FAILED" | "SUCCEEDED" | "EXECUTING" | "REJECTED" | "EXPIRED";
11654
+ status: "UNKNOWN" | "SUCCEEDED" | "FAILED" | "PENDING" | "EXECUTING" | "REJECTED" | "EXPIRED";
10938
11655
  operationId: string;
10939
11656
  method: string;
10940
11657
  path: string;
@@ -10986,7 +11703,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10986
11703
  */
10987
11704
  approve: (approvalId: string, body?: ApprovalDecisionRequest) => Promise<{
10988
11705
  approvalId: string;
10989
- status: "UNKNOWN" | "PENDING" | "FAILED" | "SUCCEEDED" | "EXECUTING" | "REJECTED" | "EXPIRED";
11706
+ status: "UNKNOWN" | "SUCCEEDED" | "FAILED" | "PENDING" | "EXECUTING" | "REJECTED" | "EXPIRED";
10990
11707
  operationId: string;
10991
11708
  method: string;
10992
11709
  path: string;
@@ -11034,7 +11751,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11034
11751
  }>;
11035
11752
  reject: (approvalId: string, body?: ApprovalDecisionRequest) => Promise<{
11036
11753
  approvalId: string;
11037
- status: "UNKNOWN" | "PENDING" | "FAILED" | "SUCCEEDED" | "EXECUTING" | "REJECTED" | "EXPIRED";
11754
+ status: "UNKNOWN" | "SUCCEEDED" | "FAILED" | "PENDING" | "EXECUTING" | "REJECTED" | "EXPIRED";
11038
11755
  operationId: string;
11039
11756
  method: string;
11040
11757
  path: string;
@@ -11184,7 +11901,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11184
11901
  }[];
11185
11902
  templateId: string;
11186
11903
  sourceMode: "CUSTOM" | "MANAGED";
11187
- status: "SUSPENDED" | "CLOSED" | "ACTIVE";
11904
+ status: "ACTIVE" | "SUSPENDED" | "CLOSED";
11188
11905
  visibility: "COMING_SOON" | "PUBLIC";
11189
11906
  publishedVersion: {
11190
11907
  versionId: string;
@@ -11202,7 +11919,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11202
11919
  createdVia?: string | null | undefined;
11203
11920
  } | null;
11204
11921
  provisioning: {
11205
- status: "PENDING" | "FAILED" | "SYNCED";
11922
+ status: "FAILED" | "PENDING" | "SYNCED";
11206
11923
  lastErrorCode: string | null;
11207
11924
  syncedAt: string | null;
11208
11925
  };
@@ -11242,7 +11959,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11242
11959
  }[];
11243
11960
  templateId: string;
11244
11961
  sourceMode: "CUSTOM" | "MANAGED";
11245
- status: "SUSPENDED" | "CLOSED" | "ACTIVE";
11962
+ status: "ACTIVE" | "SUSPENDED" | "CLOSED";
11246
11963
  visibility: "COMING_SOON" | "PUBLIC";
11247
11964
  publishedVersion: {
11248
11965
  versionId: string;
@@ -11260,7 +11977,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11260
11977
  createdVia?: string | null | undefined;
11261
11978
  } | null;
11262
11979
  provisioning: {
11263
- status: "PENDING" | "FAILED" | "SYNCED";
11980
+ status: "FAILED" | "PENDING" | "SYNCED";
11264
11981
  lastErrorCode: string | null;
11265
11982
  syncedAt: string | null;
11266
11983
  };
@@ -11278,13 +11995,13 @@ export declare function createStoreClient(options: StoreClientOptions): {
11278
11995
  /** `GET /v1/storefront/site/deployment` — 배포 진행(단계·기록). 만든 뒤 반영이 끝날 때까지 폴링한다 */
11279
11996
  getDeployment: () => Promise<{
11280
11997
  siteId: string;
11281
- status: "IN_PROGRESS" | "FAILED" | "SUCCEEDED";
11998
+ status: "IN_PROGRESS" | "SUCCEEDED" | "FAILED";
11282
11999
  url: string;
11283
12000
  startedAt: string;
11284
12001
  finishedAt: string | null;
11285
12002
  steps: {
11286
12003
  key: "SITE" | "UPLOAD" | "PUBLISH";
11287
- status: "PENDING" | "FAILED" | "RUNNING" | "DONE";
12004
+ status: "FAILED" | "PENDING" | "RUNNING" | "DONE";
11288
12005
  finishedAt: string | null;
11289
12006
  }[];
11290
12007
  log: {
@@ -11300,13 +12017,13 @@ export declare function createStoreClient(options: StoreClientOptions): {
11300
12017
  /** `POST /v1/storefront/site/deployment/retry` (202) — 밀린 반영을 곧바로 다시 시도한다. 이미 반영됐으면 그대로다 */
11301
12018
  retryDeployment: () => Promise<{
11302
12019
  siteId: string;
11303
- status: "IN_PROGRESS" | "FAILED" | "SUCCEEDED";
12020
+ status: "IN_PROGRESS" | "SUCCEEDED" | "FAILED";
11304
12021
  url: string;
11305
12022
  startedAt: string;
11306
12023
  finishedAt: string | null;
11307
12024
  steps: {
11308
12025
  key: "SITE" | "UPLOAD" | "PUBLISH";
11309
- status: "PENDING" | "FAILED" | "RUNNING" | "DONE";
12026
+ status: "FAILED" | "PENDING" | "RUNNING" | "DONE";
11310
12027
  finishedAt: string | null;
11311
12028
  }[];
11312
12029
  log: {
@@ -11338,7 +12055,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11338
12055
  }[];
11339
12056
  templateId: string;
11340
12057
  sourceMode: "CUSTOM" | "MANAGED";
11341
- status: "SUSPENDED" | "CLOSED" | "ACTIVE";
12058
+ status: "ACTIVE" | "SUSPENDED" | "CLOSED";
11342
12059
  visibility: "COMING_SOON" | "PUBLIC";
11343
12060
  publishedVersion: {
11344
12061
  versionId: string;
@@ -11356,7 +12073,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11356
12073
  createdVia?: string | null | undefined;
11357
12074
  } | null;
11358
12075
  provisioning: {
11359
- status: "PENDING" | "FAILED" | "SYNCED";
12076
+ status: "FAILED" | "PENDING" | "SYNCED";
11360
12077
  lastErrorCode: string | null;
11361
12078
  syncedAt: string | null;
11362
12079
  };
@@ -11402,7 +12119,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11402
12119
  }[];
11403
12120
  templateId: string;
11404
12121
  sourceMode: "CUSTOM" | "MANAGED";
11405
- status: "SUSPENDED" | "CLOSED" | "ACTIVE";
12122
+ status: "ACTIVE" | "SUSPENDED" | "CLOSED";
11406
12123
  visibility: "COMING_SOON" | "PUBLIC";
11407
12124
  publishedVersion: {
11408
12125
  versionId: string;
@@ -11420,7 +12137,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11420
12137
  createdVia?: string | null | undefined;
11421
12138
  } | null;
11422
12139
  provisioning: {
11423
- status: "PENDING" | "FAILED" | "SYNCED";
12140
+ status: "FAILED" | "PENDING" | "SYNCED";
11424
12141
  lastErrorCode: string | null;
11425
12142
  syncedAt: string | null;
11426
12143
  };
@@ -11450,7 +12167,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11450
12167
  }[];
11451
12168
  templateId: string;
11452
12169
  sourceMode: "CUSTOM" | "MANAGED";
11453
- status: "SUSPENDED" | "CLOSED" | "ACTIVE";
12170
+ status: "ACTIVE" | "SUSPENDED" | "CLOSED";
11454
12171
  visibility: "COMING_SOON" | "PUBLIC";
11455
12172
  publishedVersion: {
11456
12173
  versionId: string;
@@ -11468,7 +12185,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11468
12185
  createdVia?: string | null | undefined;
11469
12186
  } | null;
11470
12187
  provisioning: {
11471
- status: "PENDING" | "FAILED" | "SYNCED";
12188
+ status: "FAILED" | "PENDING" | "SYNCED";
11472
12189
  lastErrorCode: string | null;
11473
12190
  syncedAt: string | null;
11474
12191
  };
@@ -11498,7 +12215,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11498
12215
  }[];
11499
12216
  templateId: string;
11500
12217
  sourceMode: "CUSTOM" | "MANAGED";
11501
- status: "SUSPENDED" | "CLOSED" | "ACTIVE";
12218
+ status: "ACTIVE" | "SUSPENDED" | "CLOSED";
11502
12219
  visibility: "COMING_SOON" | "PUBLIC";
11503
12220
  publishedVersion: {
11504
12221
  versionId: string;
@@ -11516,7 +12233,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11516
12233
  createdVia?: string | null | undefined;
11517
12234
  } | null;
11518
12235
  provisioning: {
11519
- status: "PENDING" | "FAILED" | "SYNCED";
12236
+ status: "FAILED" | "PENDING" | "SYNCED";
11520
12237
  lastErrorCode: string | null;
11521
12238
  syncedAt: string | null;
11522
12239
  };
@@ -11546,7 +12263,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11546
12263
  }[];
11547
12264
  templateId: string;
11548
12265
  sourceMode: "CUSTOM" | "MANAGED";
11549
- status: "SUSPENDED" | "CLOSED" | "ACTIVE";
12266
+ status: "ACTIVE" | "SUSPENDED" | "CLOSED";
11550
12267
  visibility: "COMING_SOON" | "PUBLIC";
11551
12268
  publishedVersion: {
11552
12269
  versionId: string;
@@ -11564,7 +12281,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11564
12281
  createdVia?: string | null | undefined;
11565
12282
  } | null;
11566
12283
  provisioning: {
11567
- status: "PENDING" | "FAILED" | "SYNCED";
12284
+ status: "FAILED" | "PENDING" | "SYNCED";
11568
12285
  lastErrorCode: string | null;
11569
12286
  syncedAt: string | null;
11570
12287
  };
@@ -11604,7 +12321,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11604
12321
  value: string;
11605
12322
  purpose: "ROUTING" | "OWNERSHIP";
11606
12323
  }[];
11607
- certificateStatus: "ACTIVE" | "PENDING" | "FAILED" | null;
12324
+ certificateStatus: "ACTIVE" | "FAILED" | "PENDING" | null;
11608
12325
  failureCode: string | null;
11609
12326
  verifiedAt: string | null;
11610
12327
  activatedAt: string | null;
@@ -11628,7 +12345,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11628
12345
  value: string;
11629
12346
  purpose: "ROUTING" | "OWNERSHIP";
11630
12347
  }[];
11631
- certificateStatus: "ACTIVE" | "PENDING" | "FAILED" | null;
12348
+ certificateStatus: "ACTIVE" | "FAILED" | "PENDING" | null;
11632
12349
  failureCode: string | null;
11633
12350
  verifiedAt: string | null;
11634
12351
  activatedAt: string | null;
@@ -11648,7 +12365,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11648
12365
  value: string;
11649
12366
  purpose: "ROUTING" | "OWNERSHIP";
11650
12367
  }[];
11651
- certificateStatus: "ACTIVE" | "PENDING" | "FAILED" | null;
12368
+ certificateStatus: "ACTIVE" | "FAILED" | "PENDING" | null;
11652
12369
  failureCode: string | null;
11653
12370
  verifiedAt: string | null;
11654
12371
  activatedAt: string | null;
@@ -11672,7 +12389,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11672
12389
  value: string;
11673
12390
  purpose: "ROUTING" | "OWNERSHIP";
11674
12391
  }[];
11675
- certificateStatus: "ACTIVE" | "PENDING" | "FAILED" | null;
12392
+ certificateStatus: "ACTIVE" | "FAILED" | "PENDING" | null;
11676
12393
  failureCode: string | null;
11677
12394
  verifiedAt: string | null;
11678
12395
  activatedAt: string | null;
@@ -11697,7 +12414,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11697
12414
  }[];
11698
12415
  templateId: string;
11699
12416
  sourceMode: "CUSTOM" | "MANAGED";
11700
- status: "SUSPENDED" | "CLOSED" | "ACTIVE";
12417
+ status: "ACTIVE" | "SUSPENDED" | "CLOSED";
11701
12418
  visibility: "COMING_SOON" | "PUBLIC";
11702
12419
  publishedVersion: {
11703
12420
  versionId: string;
@@ -11715,7 +12432,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11715
12432
  createdVia?: string | null | undefined;
11716
12433
  } | null;
11717
12434
  provisioning: {
11718
- status: "PENDING" | "FAILED" | "SYNCED";
12435
+ status: "FAILED" | "PENDING" | "SYNCED";
11719
12436
  lastErrorCode: string | null;
11720
12437
  syncedAt: string | null;
11721
12438
  };
@@ -11956,7 +12673,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11956
12673
  buildId: string;
11957
12674
  versionId: string;
11958
12675
  versionNumber: number;
11959
- status: "FAILED" | "SUCCEEDED" | "RUNNING" | "QUEUED" | "TIMED_OUT";
12676
+ status: "SUCCEEDED" | "FAILED" | "RUNNING" | "QUEUED" | "TIMED_OUT";
11960
12677
  failureStage: string | null;
11961
12678
  errorCode: string | null;
11962
12679
  logTail: string | null;
@@ -12037,7 +12754,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
12037
12754
  buildId: string;
12038
12755
  versionId: string;
12039
12756
  versionNumber: number;
12040
- status: "FAILED" | "SUCCEEDED" | "RUNNING" | "QUEUED" | "TIMED_OUT";
12757
+ status: "SUCCEEDED" | "FAILED" | "RUNNING" | "QUEUED" | "TIMED_OUT";
12041
12758
  failureStage: string | null;
12042
12759
  errorCode: string | null;
12043
12760
  logTail: string | null;
@@ -12115,7 +12832,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
12115
12832
  buildId: string;
12116
12833
  versionId: string;
12117
12834
  versionNumber: number;
12118
- status: "FAILED" | "SUCCEEDED" | "RUNNING" | "QUEUED" | "TIMED_OUT";
12835
+ status: "SUCCEEDED" | "FAILED" | "RUNNING" | "QUEUED" | "TIMED_OUT";
12119
12836
  failureStage: string | null;
12120
12837
  errorCode: string | null;
12121
12838
  logTail: string | null;
@@ -12400,7 +13117,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
12400
13117
  name: string;
12401
13118
  storeCode: string;
12402
13119
  storefrontUrl: string;
12403
- status: "SUSPENDED" | "CLOSED" | "ACTIVE";
13120
+ status: "ACTIVE" | "SUSPENDED" | "CLOSED";
12404
13121
  logoUrl: string | null;
12405
13122
  businessNumber: string | null;
12406
13123
  customerCenterPhone: string | null;
@@ -12448,16 +13165,54 @@ export declare function createStoreClient(options: StoreClientOptions): {
12448
13165
  name: string;
12449
13166
  storeCode: string;
12450
13167
  storefrontUrl: string;
12451
- status: "SUSPENDED" | "CLOSED" | "ACTIVE";
13168
+ status: "ACTIVE" | "SUSPENDED" | "CLOSED";
12452
13169
  logoUrl: string | null;
12453
13170
  businessNumber: string | null;
12454
13171
  customerCenterPhone: string | null;
12455
13172
  }>;
13173
+ /**
13174
+ * `GET /v1/store/point-policy` — 스코프 `promotion:r`. 적립금 정책(리뷰 적립·유효 기간)과 준비 여부(`available`), 상점에 보일 안내(`notice`).
13175
+ * 정책을 정하지 않았으면 모두 끔이다(#93)
13176
+ */
13177
+ getPointPolicy: () => Promise<{
13178
+ available: boolean;
13179
+ configured: boolean;
13180
+ reviewReward: {
13181
+ enabled: boolean;
13182
+ textPoint: number;
13183
+ photoPoint: number;
13184
+ };
13185
+ purchaseEarn: {
13186
+ enabled: boolean;
13187
+ rateBp: number;
13188
+ };
13189
+ expiryDays: number | null;
13190
+ notice: "REVIEW_REWARD_PAUSED" | "POINTS_AVAILABLE" | null;
13191
+ }>;
13192
+ /**
13193
+ * `PUT /v1/store/point-policy` — 스코프 `promotion:rw`. 준 항목만 바꾼다. 에이전트 요청은 승인 대상이다.
13194
+ * 에러: 409 `POINTS_UNAVAILABLE`(준비 중) · 400 `POINT_EXPIRY_REQUIRED`(리뷰 적립을 켜는데 유효 기간이 없음)
13195
+ */
13196
+ updatePointPolicy: (body: UpdatePointPolicyRequest) => Promise<{
13197
+ available: boolean;
13198
+ configured: boolean;
13199
+ reviewReward: {
13200
+ enabled: boolean;
13201
+ textPoint: number;
13202
+ photoPoint: number;
13203
+ };
13204
+ purchaseEarn: {
13205
+ enabled: boolean;
13206
+ rateBp: number;
13207
+ };
13208
+ expiryDays: number | null;
13209
+ notice: "REVIEW_REWARD_PAUSED" | "POINTS_AVAILABLE" | null;
13210
+ }>;
12456
13211
  listMembers: () => Promise<{
12457
13212
  userId: string;
12458
13213
  name: string;
12459
13214
  email: string;
12460
- role: "ADMIN" | "STAFF" | "OWNER";
13215
+ role: "OWNER" | "ADMIN" | "STAFF";
12461
13216
  joinedAt: string;
12462
13217
  lastActiveAt: string | null;
12463
13218
  }[]>;