@sayren/store-sdk 0.29.0 → 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
@@ -213,11 +213,11 @@ export declare const writeDryRunResultSchema: z.ZodObject<{
213
213
  }, z.core.$strip>;
214
214
  export type WriteDryRunResult = z.infer<typeof writeDryRunResultSchema>;
215
215
  export declare const approvalStatusSchema: z.ZodEnum<{
216
+ UNKNOWN: "UNKNOWN";
216
217
  SUCCEEDED: "SUCCEEDED";
217
218
  FAILED: "FAILED";
218
219
  PENDING: "PENDING";
219
220
  EXECUTING: "EXECUTING";
220
- UNKNOWN: "UNKNOWN";
221
221
  REJECTED: "REJECTED";
222
222
  EXPIRED: "EXPIRED";
223
223
  }>;
@@ -225,11 +225,11 @@ export type ApprovalStatus = z.infer<typeof approvalStatusSchema>;
225
225
  export declare const approvalRequestSchema: z.ZodObject<{
226
226
  approvalId: z.ZodString;
227
227
  status: z.ZodEnum<{
228
+ UNKNOWN: "UNKNOWN";
228
229
  SUCCEEDED: "SUCCEEDED";
229
230
  FAILED: "FAILED";
230
231
  PENDING: "PENDING";
231
232
  EXECUTING: "EXECUTING";
232
- UNKNOWN: "UNKNOWN";
233
233
  REJECTED: "REJECTED";
234
234
  EXPIRED: "EXPIRED";
235
235
  }>;
@@ -287,11 +287,11 @@ export declare const approvalRequestSchema: z.ZodObject<{
287
287
  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
+ UNKNOWN: "UNKNOWN";
290
291
  SUCCEEDED: "SUCCEEDED";
291
292
  FAILED: "FAILED";
292
293
  PENDING: "PENDING";
293
294
  EXECUTING: "EXECUTING";
294
- UNKNOWN: "UNKNOWN";
295
295
  REJECTED: "REJECTED";
296
296
  EXPIRED: "EXPIRED";
297
297
  }>>>>;
@@ -306,11 +306,11 @@ export declare const approvalPageSchema: z.ZodObject<{
306
306
  items: z.ZodArray<z.ZodObject<{
307
307
  approvalId: z.ZodString;
308
308
  status: z.ZodEnum<{
309
+ UNKNOWN: "UNKNOWN";
309
310
  SUCCEEDED: "SUCCEEDED";
310
311
  FAILED: "FAILED";
311
312
  PENDING: "PENDING";
312
313
  EXECUTING: "EXECUTING";
313
- UNKNOWN: "UNKNOWN";
314
314
  REJECTED: "REJECTED";
315
315
  EXPIRED: "EXPIRED";
316
316
  }>;
@@ -581,7 +581,6 @@ export declare const analyticsProductsSchema: z.ZodObject<{
581
581
  }, z.core.$strip>;
582
582
  export type AnalyticsProducts = z.infer<typeof analyticsProductsSchema>;
583
583
  export declare const analyticsChannelSchema: z.ZodEnum<{
584
- UNKNOWN: "UNKNOWN";
585
584
  DIRECT: "DIRECT";
586
585
  ORGANIC_SEARCH: "ORGANIC_SEARCH";
587
586
  SOCIAL: "SOCIAL";
@@ -589,6 +588,7 @@ export declare const analyticsChannelSchema: z.ZodEnum<{
589
588
  EMAIL: "EMAIL";
590
589
  CAMPAIGN: "CAMPAIGN";
591
590
  REFERRAL: "REFERRAL";
591
+ UNKNOWN: "UNKNOWN";
592
592
  }>;
593
593
  export type AnalyticsChannel = z.infer<typeof analyticsChannelSchema>;
594
594
  export declare const analyticsSourceGroupBySchema: z.ZodEnum<{
@@ -615,7 +615,6 @@ export declare const analyticsSourcesQuerySchema: z.ZodObject<{
615
615
  export type AnalyticsSourcesParams = z.infer<typeof analyticsSourcesQuerySchema>;
616
616
  export declare const analyticsSourceRowSchema: z.ZodObject<{
617
617
  channel: z.ZodNullable<z.ZodEnum<{
618
- UNKNOWN: "UNKNOWN";
619
618
  DIRECT: "DIRECT";
620
619
  ORGANIC_SEARCH: "ORGANIC_SEARCH";
621
620
  SOCIAL: "SOCIAL";
@@ -623,6 +622,7 @@ export declare const analyticsSourceRowSchema: z.ZodObject<{
623
622
  EMAIL: "EMAIL";
624
623
  CAMPAIGN: "CAMPAIGN";
625
624
  REFERRAL: "REFERRAL";
625
+ UNKNOWN: "UNKNOWN";
626
626
  }>>;
627
627
  source: z.ZodNullable<z.ZodString>;
628
628
  medium: z.ZodNullable<z.ZodString>;
@@ -651,7 +651,6 @@ export declare const analyticsSourcesSchema: z.ZodObject<{
651
651
  }>;
652
652
  rows: z.ZodArray<z.ZodObject<{
653
653
  channel: z.ZodNullable<z.ZodEnum<{
654
- UNKNOWN: "UNKNOWN";
655
654
  DIRECT: "DIRECT";
656
655
  ORGANIC_SEARCH: "ORGANIC_SEARCH";
657
656
  SOCIAL: "SOCIAL";
@@ -659,6 +658,7 @@ export declare const analyticsSourcesSchema: z.ZodObject<{
659
658
  EMAIL: "EMAIL";
660
659
  CAMPAIGN: "CAMPAIGN";
661
660
  REFERRAL: "REFERRAL";
661
+ UNKNOWN: "UNKNOWN";
662
662
  }>>;
663
663
  source: z.ZodNullable<z.ZodString>;
664
664
  medium: z.ZodNullable<z.ZodString>;
@@ -1264,8 +1264,8 @@ export declare const claimTypeSchema: z.ZodEnum<{
1264
1264
  }>;
1265
1265
  export type ClaimType = z.infer<typeof claimTypeSchema>;
1266
1266
  export declare const claimStatusSchema: z.ZodEnum<{
1267
- REJECTED: "REJECTED";
1268
1267
  COMPLETED: "COMPLETED";
1268
+ REJECTED: "REJECTED";
1269
1269
  REQUESTED: "REQUESTED";
1270
1270
  HELD: "HELD";
1271
1271
  COLLECTING: "COLLECTING";
@@ -1308,8 +1308,8 @@ export declare const claimSchema: z.ZodObject<{
1308
1308
  CANCEL: "CANCEL";
1309
1309
  }>;
1310
1310
  status: z.ZodEnum<{
1311
- REJECTED: "REJECTED";
1312
1311
  COMPLETED: "COMPLETED";
1312
+ REJECTED: "REJECTED";
1313
1313
  REQUESTED: "REQUESTED";
1314
1314
  HELD: "HELD";
1315
1315
  COLLECTING: "COLLECTING";
@@ -1396,8 +1396,8 @@ export declare const claimDetailSchema: z.ZodObject<{
1396
1396
  CANCEL: "CANCEL";
1397
1397
  }>;
1398
1398
  status: z.ZodEnum<{
1399
- REJECTED: "REJECTED";
1400
1399
  COMPLETED: "COMPLETED";
1400
+ REJECTED: "REJECTED";
1401
1401
  REQUESTED: "REQUESTED";
1402
1402
  HELD: "HELD";
1403
1403
  COLLECTING: "COLLECTING";
@@ -1453,8 +1453,8 @@ export declare const claimDetailSchema: z.ZodObject<{
1453
1453
  }, z.core.$strip>>;
1454
1454
  histories: z.ZodOptional<z.ZodArray<z.ZodObject<{
1455
1455
  status: z.ZodEnum<{
1456
- REJECTED: "REJECTED";
1457
1456
  COMPLETED: "COMPLETED";
1457
+ REJECTED: "REJECTED";
1458
1458
  REQUESTED: "REQUESTED";
1459
1459
  HELD: "HELD";
1460
1460
  COLLECTING: "COLLECTING";
@@ -2618,8 +2618,8 @@ export declare const eventTypeSchema: z.ZodEnum<{
2618
2618
  }>;
2619
2619
  export type EventType = z.infer<typeof eventTypeSchema>;
2620
2620
  export declare const webhookStatusSchema: z.ZodEnum<{
2621
- SUSPENDED: "SUSPENDED";
2622
2621
  ACTIVE: "ACTIVE";
2622
+ SUSPENDED: "SUSPENDED";
2623
2623
  }>;
2624
2624
  export type WebhookStatus = z.infer<typeof webhookStatusSchema>;
2625
2625
  export declare const webhookSchema: z.ZodObject<{
@@ -2643,8 +2643,8 @@ export declare const webhookSchema: z.ZodObject<{
2643
2643
  "PRODUCT.OUT_OF_STOCK": "PRODUCT.OUT_OF_STOCK";
2644
2644
  }>>;
2645
2645
  status: z.ZodEnum<{
2646
- SUSPENDED: "SUSPENDED";
2647
2646
  ACTIVE: "ACTIVE";
2647
+ SUSPENDED: "SUSPENDED";
2648
2648
  }>;
2649
2649
  secretPrefix: z.ZodString;
2650
2650
  suspendedAt: z.ZodNullable<z.ZodString>;
@@ -2673,8 +2673,8 @@ export declare const webhookCreatedSchema: z.ZodObject<{
2673
2673
  "PRODUCT.OUT_OF_STOCK": "PRODUCT.OUT_OF_STOCK";
2674
2674
  }>>;
2675
2675
  status: z.ZodEnum<{
2676
- SUSPENDED: "SUSPENDED";
2677
2676
  ACTIVE: "ACTIVE";
2677
+ SUSPENDED: "SUSPENDED";
2678
2678
  }>;
2679
2679
  secretPrefix: z.ZodString;
2680
2680
  suspendedAt: z.ZodNullable<z.ZodString>;
@@ -4871,22 +4871,261 @@ export interface PaymentListParams extends PageParams {
4871
4871
  includeTest?: boolean;
4872
4872
  }
4873
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
4874
5113
  //#region src/schemas/product.d.ts
4875
5114
  export declare const productStatusSchema: z.ZodEnum<{
4876
- SALE: "SALE";
4877
5115
  SUSPENDED: "SUSPENDED";
4878
- OUT_OF_STOCK: "OUT_OF_STOCK";
4879
5116
  CLOSED: "CLOSED";
5117
+ SALE: "SALE";
5118
+ OUT_OF_STOCK: "OUT_OF_STOCK";
4880
5119
  }>;
4881
5120
  export type ProductStatus = z.infer<typeof productStatusSchema>;
4882
5121
  export declare const productSummarySchema: z.ZodObject<{
4883
5122
  productId: z.ZodString;
4884
5123
  name: z.ZodString;
4885
5124
  status: z.ZodEnum<{
4886
- SALE: "SALE";
4887
5125
  SUSPENDED: "SUSPENDED";
4888
- OUT_OF_STOCK: "OUT_OF_STOCK";
4889
5126
  CLOSED: "CLOSED";
5127
+ SALE: "SALE";
5128
+ OUT_OF_STOCK: "OUT_OF_STOCK";
4890
5129
  }>;
4891
5130
  salePrice: z.ZodNumber;
4892
5131
  discountedPrice: z.ZodNullable<z.ZodNumber>;
@@ -5070,10 +5309,10 @@ export declare const productSchema: z.ZodObject<{
5070
5309
  productId: z.ZodString;
5071
5310
  name: z.ZodString;
5072
5311
  status: z.ZodEnum<{
5073
- SALE: "SALE";
5074
5312
  SUSPENDED: "SUSPENDED";
5075
- OUT_OF_STOCK: "OUT_OF_STOCK";
5076
5313
  CLOSED: "CLOSED";
5314
+ SALE: "SALE";
5315
+ OUT_OF_STOCK: "OUT_OF_STOCK";
5077
5316
  }>;
5078
5317
  salePrice: z.ZodNumber;
5079
5318
  discountedPrice: z.ZodNullable<z.ZodNumber>;
@@ -5086,6 +5325,7 @@ export declare const productSchema: z.ZodObject<{
5086
5325
  description: z.ZodOptional<z.ZodString>;
5087
5326
  descriptionJson: z.ZodOptional<z.ZodNullable<z.ZodString>>;
5088
5327
  originalPrice: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
5328
+ pointEarnRateBp: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
5089
5329
  images: z.ZodOptional<z.ZodArray<z.ZodURL>>;
5090
5330
  attributes: z.ZodOptional<z.ZodArray<z.ZodObject<{
5091
5331
  attributeId: z.ZodString;
@@ -5432,6 +5672,7 @@ export declare const productCreateRequestSchema: z.ZodObject<{
5432
5672
  categoryId: z.ZodString;
5433
5673
  salePrice: z.ZodNumber;
5434
5674
  originalPrice: z.ZodOptional<z.ZodNumber>;
5675
+ pointEarnRateBp: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
5435
5676
  description: z.ZodOptional<z.ZodString>;
5436
5677
  descriptionJson: z.ZodOptional<z.ZodNullable<z.ZodString>>;
5437
5678
  images: z.ZodOptional<z.ZodArray<z.ZodURL>>;
@@ -5517,6 +5758,7 @@ export declare const productReplaceRequestSchema: z.ZodObject<{
5517
5758
  categoryId: z.ZodString;
5518
5759
  salePrice: z.ZodNumber;
5519
5760
  originalPrice: z.ZodOptional<z.ZodNumber>;
5761
+ pointEarnRateBp: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
5520
5762
  description: z.ZodOptional<z.ZodString>;
5521
5763
  descriptionJson: z.ZodOptional<z.ZodNullable<z.ZodString>>;
5522
5764
  images: z.ZodOptional<z.ZodArray<z.ZodURL>>;
@@ -5538,10 +5780,10 @@ export declare const productPatchRequestSchema: z.ZodObject<{
5538
5780
  name: z.ZodOptional<z.ZodString>;
5539
5781
  salePrice: z.ZodOptional<z.ZodNumber>;
5540
5782
  status: z.ZodOptional<z.ZodEnum<{
5541
- SALE: "SALE";
5542
5783
  SUSPENDED: "SUSPENDED";
5543
- OUT_OF_STOCK: "OUT_OF_STOCK";
5544
5784
  CLOSED: "CLOSED";
5785
+ SALE: "SALE";
5786
+ OUT_OF_STOCK: "OUT_OF_STOCK";
5545
5787
  }>>;
5546
5788
  images: z.ZodOptional<z.ZodArray<z.ZodURL>>;
5547
5789
  fulfillment: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -5567,6 +5809,7 @@ export declare const productPatchRequestSchema: z.ZodObject<{
5567
5809
  sellerFaultFreeShipping: z.ZodOptional<z.ZodBoolean>;
5568
5810
  conditionalFreeShortfallCharge: z.ZodOptional<z.ZodBoolean>;
5569
5811
  }, z.core.$strict>>>;
5812
+ pointEarnRateBp: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
5570
5813
  }, z.core.$strict>;
5571
5814
  export type ProductPatchRequest = z.infer<typeof productPatchRequestSchema>;
5572
5815
  export declare const productSortSchema: z.ZodEnum<{
@@ -5589,10 +5832,10 @@ export declare const productListQuerySchema: z.ZodObject<{
5589
5832
  page: z.ZodOptional<z.ZodString>;
5590
5833
  size: z.ZodOptional<z.ZodString>;
5591
5834
  status: z.ZodOptional<z.ZodEnum<{
5592
- SALE: "SALE";
5593
5835
  SUSPENDED: "SUSPENDED";
5594
- OUT_OF_STOCK: "OUT_OF_STOCK";
5595
5836
  CLOSED: "CLOSED";
5837
+ SALE: "SALE";
5838
+ OUT_OF_STOCK: "OUT_OF_STOCK";
5596
5839
  }>>;
5597
5840
  categoryId: z.ZodOptional<z.ZodString>;
5598
5841
  keyword: z.ZodOptional<z.ZodString>;
@@ -5969,9 +6212,9 @@ export declare const storeSchema: z.ZodObject<{
5969
6212
  storeCode: z.ZodString;
5970
6213
  storefrontUrl: z.ZodURL;
5971
6214
  status: z.ZodEnum<{
6215
+ ACTIVE: "ACTIVE";
5972
6216
  SUSPENDED: "SUSPENDED";
5973
6217
  CLOSED: "CLOSED";
5974
- ACTIVE: "ACTIVE";
5975
6218
  }>;
5976
6219
  logoUrl: z.ZodNullable<z.ZodURL>;
5977
6220
  businessNumber: z.ZodNullable<z.ZodString>;
@@ -5983,9 +6226,9 @@ export declare const storeMemberSchema: z.ZodObject<{
5983
6226
  name: z.ZodString;
5984
6227
  email: z.ZodEmail;
5985
6228
  role: z.ZodEnum<{
6229
+ OWNER: "OWNER";
5986
6230
  ADMIN: "ADMIN";
5987
6231
  STAFF: "STAFF";
5988
- OWNER: "OWNER";
5989
6232
  }>;
5990
6233
  joinedAt: z.ZodString;
5991
6234
  lastActiveAt: z.ZodNullable<z.ZodString>;
@@ -6249,9 +6492,9 @@ export declare const storefrontVersionSchema: z.ZodObject<{
6249
6492
  }, z.core.$strip>;
6250
6493
  export type StorefrontVersion = z.infer<typeof storefrontVersionSchema>;
6251
6494
  export declare const storefrontSiteStatusSchema: z.ZodEnum<{
6495
+ ACTIVE: "ACTIVE";
6252
6496
  SUSPENDED: "SUSPENDED";
6253
6497
  CLOSED: "CLOSED";
6254
- ACTIVE: "ACTIVE";
6255
6498
  }>;
6256
6499
  export type StorefrontSiteStatus = z.infer<typeof storefrontSiteStatusSchema>;
6257
6500
  export declare const storefrontVisibilitySchema: z.ZodEnum<{
@@ -6332,9 +6575,9 @@ export declare const storefrontSiteSchema: z.ZodObject<{
6332
6575
  MANAGED: "MANAGED";
6333
6576
  }>;
6334
6577
  status: z.ZodEnum<{
6578
+ ACTIVE: "ACTIVE";
6335
6579
  SUSPENDED: "SUSPENDED";
6336
6580
  CLOSED: "CLOSED";
6337
- ACTIVE: "ACTIVE";
6338
6581
  }>;
6339
6582
  visibility: z.ZodEnum<{
6340
6583
  COMING_SOON: "COMING_SOON";
@@ -6412,9 +6655,9 @@ export declare const storefrontHostingSchema: z.ZodObject<{
6412
6655
  MANAGED: "MANAGED";
6413
6656
  }>;
6414
6657
  status: z.ZodEnum<{
6658
+ ACTIVE: "ACTIVE";
6415
6659
  SUSPENDED: "SUSPENDED";
6416
6660
  CLOSED: "CLOSED";
6417
- ACTIVE: "ACTIVE";
6418
6661
  }>;
6419
6662
  visibility: z.ZodEnum<{
6420
6663
  COMING_SOON: "COMING_SOON";
@@ -6509,9 +6752,9 @@ export type StorefrontDeploymentLog = z.infer<typeof storefrontDeploymentLogSche
6509
6752
  export declare const storefrontDeploymentSchema: z.ZodObject<{
6510
6753
  siteId: z.ZodString;
6511
6754
  status: z.ZodEnum<{
6755
+ IN_PROGRESS: "IN_PROGRESS";
6512
6756
  SUCCEEDED: "SUCCEEDED";
6513
6757
  FAILED: "FAILED";
6514
- IN_PROGRESS: "IN_PROGRESS";
6515
6758
  }>;
6516
6759
  url: z.ZodString;
6517
6760
  startedAt: z.ZodString;
@@ -6644,8 +6887,8 @@ export declare function storefrontCustomHostnameProblem(hostname: string, hostin
6644
6887
  /** 소유 확인 TXT 레코드의 전체 이름 */
6645
6888
  export declare function storefrontDomainTxtNameOf(hostname: string): string;
6646
6889
  export declare const storefrontCustomDomainStatusSchema: z.ZodEnum<{
6647
- FAILED: "FAILED";
6648
6890
  ACTIVE: "ACTIVE";
6891
+ FAILED: "FAILED";
6649
6892
  PENDING_DNS: "PENDING_DNS";
6650
6893
  PENDING_VALIDATION: "PENDING_VALIDATION";
6651
6894
  }>;
@@ -6671,8 +6914,8 @@ export declare const storefrontSiteDomainSchema: z.ZodObject<{
6671
6914
  CUSTOM: "CUSTOM";
6672
6915
  }>;
6673
6916
  status: z.ZodEnum<{
6674
- FAILED: "FAILED";
6675
6917
  ACTIVE: "ACTIVE";
6918
+ FAILED: "FAILED";
6676
6919
  PENDING_DNS: "PENDING_DNS";
6677
6920
  PENDING_VALIDATION: "PENDING_VALIDATION";
6678
6921
  }>;
@@ -6690,9 +6933,9 @@ export declare const storefrontSiteDomainSchema: z.ZodObject<{
6690
6933
  }>;
6691
6934
  }, z.core.$strip>>;
6692
6935
  certificateStatus: z.ZodNullable<z.ZodEnum<{
6936
+ ACTIVE: "ACTIVE";
6693
6937
  FAILED: "FAILED";
6694
6938
  PENDING: "PENDING";
6695
- ACTIVE: "ACTIVE";
6696
6939
  }>>;
6697
6940
  failureCode: z.ZodNullable<z.ZodString>;
6698
6941
  verifiedAt: z.ZodNullable<z.ZodString>;
@@ -6714,8 +6957,8 @@ export declare const storefrontSiteDomainsSchema: z.ZodObject<{
6714
6957
  CUSTOM: "CUSTOM";
6715
6958
  }>;
6716
6959
  status: z.ZodEnum<{
6717
- FAILED: "FAILED";
6718
6960
  ACTIVE: "ACTIVE";
6961
+ FAILED: "FAILED";
6719
6962
  PENDING_DNS: "PENDING_DNS";
6720
6963
  PENDING_VALIDATION: "PENDING_VALIDATION";
6721
6964
  }>;
@@ -6733,9 +6976,9 @@ export declare const storefrontSiteDomainsSchema: z.ZodObject<{
6733
6976
  }>;
6734
6977
  }, z.core.$strip>>;
6735
6978
  certificateStatus: z.ZodNullable<z.ZodEnum<{
6979
+ ACTIVE: "ACTIVE";
6736
6980
  FAILED: "FAILED";
6737
6981
  PENDING: "PENDING";
6738
- ACTIVE: "ACTIVE";
6739
6982
  }>>;
6740
6983
  failureCode: z.ZodNullable<z.ZodString>;
6741
6984
  verifiedAt: z.ZodNullable<z.ZodString>;
@@ -6969,8 +7212,8 @@ export declare const runStorefrontCheckRequestSchema: z.ZodObject<{
6969
7212
  }, z.core.$strip>;
6970
7213
  export type RunStorefrontCheckRequest = z.infer<typeof runStorefrontCheckRequestSchema>;
6971
7214
  export declare const storefrontCheckStatusSchema: z.ZodEnum<{
6972
- FAILED: "FAILED";
6973
7215
  UNKNOWN: "UNKNOWN";
7216
+ FAILED: "FAILED";
6974
7217
  RUNNING: "RUNNING";
6975
7218
  QUEUED: "QUEUED";
6976
7219
  PASSED: "PASSED";
@@ -6983,8 +7226,8 @@ export declare const storefrontCheckSchema: z.ZodObject<{
6983
7226
  checkId: z.ZodString;
6984
7227
  check: z.ZodString;
6985
7228
  status: z.ZodEnum<{
6986
- FAILED: "FAILED";
6987
7229
  UNKNOWN: "UNKNOWN";
7230
+ FAILED: "FAILED";
6988
7231
  RUNNING: "RUNNING";
6989
7232
  QUEUED: "QUEUED";
6990
7233
  PASSED: "PASSED";
@@ -7518,9 +7761,9 @@ export type UploadTicket = z.infer<typeof uploadTicketSchema>;
7518
7761
  //#endregion
7519
7762
  //#region src/schemas/auth.d.ts
7520
7763
  export declare const storeRoleSchema: z.ZodEnum<{
7764
+ OWNER: "OWNER";
7521
7765
  ADMIN: "ADMIN";
7522
7766
  STAFF: "STAFF";
7523
- OWNER: "OWNER";
7524
7767
  }>;
7525
7768
  export type StoreRole = z.infer<typeof storeRoleSchema>;
7526
7769
  export declare const myStoreSchema: z.ZodObject<{
@@ -7528,14 +7771,14 @@ export declare const myStoreSchema: z.ZodObject<{
7528
7771
  storeName: z.ZodString;
7529
7772
  storeCode: z.ZodString;
7530
7773
  role: z.ZodEnum<{
7774
+ OWNER: "OWNER";
7531
7775
  ADMIN: "ADMIN";
7532
7776
  STAFF: "STAFF";
7533
- OWNER: "OWNER";
7534
7777
  }>;
7535
7778
  status: z.ZodEnum<{
7779
+ ACTIVE: "ACTIVE";
7536
7780
  SUSPENDED: "SUSPENDED";
7537
7781
  CLOSED: "CLOSED";
7538
- ACTIVE: "ACTIVE";
7539
7782
  }>;
7540
7783
  }, z.core.$strip>;
7541
7784
  export type MyStore = z.infer<typeof myStoreSchema>;
@@ -7690,8 +7933,8 @@ export declare function createStoreClient(options: StoreClientOptions): {
7690
7933
  storeId: string;
7691
7934
  storeName: string;
7692
7935
  storeCode: string;
7693
- role: "ADMIN" | "STAFF" | "OWNER";
7694
- status: "SUSPENDED" | "CLOSED" | "ACTIVE";
7936
+ role: "OWNER" | "ADMIN" | "STAFF";
7937
+ status: "ACTIVE" | "SUSPENDED" | "CLOSED";
7695
7938
  }[]>;
7696
7939
  me: () => Promise<{
7697
7940
  userId: string;
@@ -7730,7 +7973,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
7730
7973
  contents: {
7731
7974
  productId: string;
7732
7975
  name: string;
7733
- status: "SALE" | "SUSPENDED" | "OUT_OF_STOCK" | "CLOSED";
7976
+ status: "SUSPENDED" | "CLOSED" | "SALE" | "OUT_OF_STOCK";
7734
7977
  salePrice: number;
7735
7978
  discountedPrice: number | null;
7736
7979
  stockQuantity: number;
@@ -7747,7 +7990,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
7747
7990
  get: (productId: string) => Promise<{
7748
7991
  productId: string;
7749
7992
  name: string;
7750
- status: "SALE" | "SUSPENDED" | "OUT_OF_STOCK" | "CLOSED";
7993
+ status: "SUSPENDED" | "CLOSED" | "SALE" | "OUT_OF_STOCK";
7751
7994
  salePrice: number;
7752
7995
  discountedPrice: number | null;
7753
7996
  stockQuantity: number;
@@ -7826,6 +8069,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
7826
8069
  description?: string | undefined;
7827
8070
  descriptionJson?: string | null | undefined;
7828
8071
  originalPrice?: number | null | undefined;
8072
+ pointEarnRateBp?: number | null | undefined;
7829
8073
  images?: string[] | undefined;
7830
8074
  attributes?: {
7831
8075
  attributeId: string;
@@ -7844,7 +8088,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
7844
8088
  create: (body: ProductCreateRequestInput, idempotencyKey?: string) => Promise<{
7845
8089
  productId: string;
7846
8090
  name: string;
7847
- status: "SALE" | "SUSPENDED" | "OUT_OF_STOCK" | "CLOSED";
8091
+ status: "SUSPENDED" | "CLOSED" | "SALE" | "OUT_OF_STOCK";
7848
8092
  salePrice: number;
7849
8093
  discountedPrice: number | null;
7850
8094
  stockQuantity: number;
@@ -7923,6 +8167,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
7923
8167
  description?: string | undefined;
7924
8168
  descriptionJson?: string | null | undefined;
7925
8169
  originalPrice?: number | null | undefined;
8170
+ pointEarnRateBp?: number | null | undefined;
7926
8171
  images?: string[] | undefined;
7927
8172
  attributes?: {
7928
8173
  attributeId: string;
@@ -7941,7 +8186,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
7941
8186
  update: (productId: string, body: ProductReplaceRequestInput) => Promise<{
7942
8187
  productId: string;
7943
8188
  name: string;
7944
- status: "SALE" | "SUSPENDED" | "OUT_OF_STOCK" | "CLOSED";
8189
+ status: "SUSPENDED" | "CLOSED" | "SALE" | "OUT_OF_STOCK";
7945
8190
  salePrice: number;
7946
8191
  discountedPrice: number | null;
7947
8192
  stockQuantity: number;
@@ -8020,6 +8265,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
8020
8265
  description?: string | undefined;
8021
8266
  descriptionJson?: string | null | undefined;
8022
8267
  originalPrice?: number | null | undefined;
8268
+ pointEarnRateBp?: number | null | undefined;
8023
8269
  images?: string[] | undefined;
8024
8270
  attributes?: {
8025
8271
  attributeId: string;
@@ -9070,7 +9316,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
9070
9316
  contents: {
9071
9317
  claimId: string;
9072
9318
  type: "RETURN" | "EXCHANGE" | "CANCEL";
9073
- status: "REJECTED" | "COMPLETED" | "REQUESTED" | "HELD" | "COLLECTING" | "COLLECTED" | "REDELIVERING" | "APPROVED" | "WITHDRAWN";
9319
+ status: "COMPLETED" | "REJECTED" | "REQUESTED" | "HELD" | "COLLECTING" | "COLLECTED" | "REDELIVERING" | "APPROVED" | "WITHDRAWN";
9074
9320
  orderId: string;
9075
9321
  orderItemId: string;
9076
9322
  productName: string;
@@ -9108,7 +9354,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
9108
9354
  get: (claimId: string) => Promise<{
9109
9355
  claimId: string;
9110
9356
  type: "RETURN" | "EXCHANGE" | "CANCEL";
9111
- status: "REJECTED" | "COMPLETED" | "REQUESTED" | "HELD" | "COLLECTING" | "COLLECTED" | "REDELIVERING" | "APPROVED" | "WITHDRAWN";
9357
+ status: "COMPLETED" | "REJECTED" | "REQUESTED" | "HELD" | "COLLECTING" | "COLLECTED" | "REDELIVERING" | "APPROVED" | "WITHDRAWN";
9112
9358
  orderId: string;
9113
9359
  orderItemId: string;
9114
9360
  productName: string;
@@ -9142,7 +9388,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
9142
9388
  address2: string | null;
9143
9389
  } | null;
9144
9390
  histories?: {
9145
- status: "REJECTED" | "COMPLETED" | "REQUESTED" | "HELD" | "COLLECTING" | "COLLECTED" | "REDELIVERING" | "APPROVED" | "WITHDRAWN";
9391
+ status: "COMPLETED" | "REJECTED" | "REQUESTED" | "HELD" | "COLLECTING" | "COLLECTED" | "REDELIVERING" | "APPROVED" | "WITHDRAWN";
9146
9392
  actor: "SYSTEM" | "BUYER" | "SELLER";
9147
9393
  occurredAt: string;
9148
9394
  }[] | undefined;
@@ -9174,7 +9420,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
9174
9420
  completeExchange: (claimId: string) => Promise<{
9175
9421
  claimId: string;
9176
9422
  type: "RETURN" | "EXCHANGE" | "CANCEL";
9177
- status: "REJECTED" | "COMPLETED" | "REQUESTED" | "HELD" | "COLLECTING" | "COLLECTED" | "REDELIVERING" | "APPROVED" | "WITHDRAWN";
9423
+ status: "COMPLETED" | "REJECTED" | "REQUESTED" | "HELD" | "COLLECTING" | "COLLECTED" | "REDELIVERING" | "APPROVED" | "WITHDRAWN";
9178
9424
  orderId: string;
9179
9425
  orderItemId: string;
9180
9426
  productName: string;
@@ -9355,7 +9601,80 @@ export declare function createStoreClient(options: StoreClientOptions): {
9355
9601
  }>;
9356
9602
  };
9357
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
+ };
9358
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
+ }>;
9359
9678
  list: (params?: PageParams & Omit<z.input<typeof customerListQuerySchema>, "page" | "size">) => Promise<{
9360
9679
  page: number;
9361
9680
  size: number;
@@ -10077,7 +10396,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
10077
10396
  sources: (params: AnalyticsSourcesParams) => Promise<{
10078
10397
  groupBy: "CAMPAIGN" | "CHANNEL" | "SOURCE" | "DEVICE";
10079
10398
  rows: {
10080
- channel: "UNKNOWN" | "DIRECT" | "ORGANIC_SEARCH" | "SOCIAL" | "PAID" | "EMAIL" | "CAMPAIGN" | "REFERRAL" | null;
10399
+ channel: "DIRECT" | "ORGANIC_SEARCH" | "SOCIAL" | "PAID" | "EMAIL" | "CAMPAIGN" | "REFERRAL" | "UNKNOWN" | null;
10081
10400
  source: string | null;
10082
10401
  medium: string | null;
10083
10402
  campaign: string | null;
@@ -11050,7 +11369,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11050
11369
  webhookId: string;
11051
11370
  url: string;
11052
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")[];
11053
- status: "SUSPENDED" | "ACTIVE";
11372
+ status: "ACTIVE" | "SUSPENDED";
11054
11373
  secretPrefix: string;
11055
11374
  suspendedAt: string | null;
11056
11375
  createdAt: string;
@@ -11060,7 +11379,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11060
11379
  webhookId: string;
11061
11380
  url: string;
11062
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")[];
11063
- status: "SUSPENDED" | "ACTIVE";
11382
+ status: "ACTIVE" | "SUSPENDED";
11064
11383
  secretPrefix: string;
11065
11384
  suspendedAt: string | null;
11066
11385
  createdAt: string;
@@ -11070,7 +11389,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11070
11389
  webhookId: string;
11071
11390
  url: string;
11072
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")[];
11073
- status: "SUSPENDED" | "ACTIVE";
11392
+ status: "ACTIVE" | "SUSPENDED";
11074
11393
  secretPrefix: string;
11075
11394
  suspendedAt: string | null;
11076
11395
  createdAt: string;
@@ -11080,7 +11399,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11080
11399
  webhookId: string;
11081
11400
  url: string;
11082
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")[];
11083
- status: "SUSPENDED" | "ACTIVE";
11402
+ status: "ACTIVE" | "SUSPENDED";
11084
11403
  secretPrefix: string;
11085
11404
  suspendedAt: string | null;
11086
11405
  createdAt: string;
@@ -11095,7 +11414,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11095
11414
  webhookId: string;
11096
11415
  url: string;
11097
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")[];
11098
- status: "SUSPENDED" | "ACTIVE";
11417
+ status: "ACTIVE" | "SUSPENDED";
11099
11418
  secretPrefix: string;
11100
11419
  suspendedAt: string | null;
11101
11420
  createdAt: string;
@@ -11282,7 +11601,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11282
11601
  list: (params?: ApprovalListOptions) => Promise<{
11283
11602
  items: {
11284
11603
  approvalId: string;
11285
- status: "SUCCEEDED" | "FAILED" | "PENDING" | "EXECUTING" | "UNKNOWN" | "REJECTED" | "EXPIRED";
11604
+ status: "UNKNOWN" | "SUCCEEDED" | "FAILED" | "PENDING" | "EXECUTING" | "REJECTED" | "EXPIRED";
11286
11605
  operationId: string;
11287
11606
  method: string;
11288
11607
  path: string;
@@ -11332,7 +11651,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11332
11651
  }>;
11333
11652
  get: (approvalId: string) => Promise<{
11334
11653
  approvalId: string;
11335
- status: "SUCCEEDED" | "FAILED" | "PENDING" | "EXECUTING" | "UNKNOWN" | "REJECTED" | "EXPIRED";
11654
+ status: "UNKNOWN" | "SUCCEEDED" | "FAILED" | "PENDING" | "EXECUTING" | "REJECTED" | "EXPIRED";
11336
11655
  operationId: string;
11337
11656
  method: string;
11338
11657
  path: string;
@@ -11384,7 +11703,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11384
11703
  */
11385
11704
  approve: (approvalId: string, body?: ApprovalDecisionRequest) => Promise<{
11386
11705
  approvalId: string;
11387
- status: "SUCCEEDED" | "FAILED" | "PENDING" | "EXECUTING" | "UNKNOWN" | "REJECTED" | "EXPIRED";
11706
+ status: "UNKNOWN" | "SUCCEEDED" | "FAILED" | "PENDING" | "EXECUTING" | "REJECTED" | "EXPIRED";
11388
11707
  operationId: string;
11389
11708
  method: string;
11390
11709
  path: string;
@@ -11432,7 +11751,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11432
11751
  }>;
11433
11752
  reject: (approvalId: string, body?: ApprovalDecisionRequest) => Promise<{
11434
11753
  approvalId: string;
11435
- status: "SUCCEEDED" | "FAILED" | "PENDING" | "EXECUTING" | "UNKNOWN" | "REJECTED" | "EXPIRED";
11754
+ status: "UNKNOWN" | "SUCCEEDED" | "FAILED" | "PENDING" | "EXECUTING" | "REJECTED" | "EXPIRED";
11436
11755
  operationId: string;
11437
11756
  method: string;
11438
11757
  path: string;
@@ -11582,7 +11901,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11582
11901
  }[];
11583
11902
  templateId: string;
11584
11903
  sourceMode: "CUSTOM" | "MANAGED";
11585
- status: "SUSPENDED" | "CLOSED" | "ACTIVE";
11904
+ status: "ACTIVE" | "SUSPENDED" | "CLOSED";
11586
11905
  visibility: "COMING_SOON" | "PUBLIC";
11587
11906
  publishedVersion: {
11588
11907
  versionId: string;
@@ -11640,7 +11959,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11640
11959
  }[];
11641
11960
  templateId: string;
11642
11961
  sourceMode: "CUSTOM" | "MANAGED";
11643
- status: "SUSPENDED" | "CLOSED" | "ACTIVE";
11962
+ status: "ACTIVE" | "SUSPENDED" | "CLOSED";
11644
11963
  visibility: "COMING_SOON" | "PUBLIC";
11645
11964
  publishedVersion: {
11646
11965
  versionId: string;
@@ -11676,7 +11995,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11676
11995
  /** `GET /v1/storefront/site/deployment` — 배포 진행(단계·기록). 만든 뒤 반영이 끝날 때까지 폴링한다 */
11677
11996
  getDeployment: () => Promise<{
11678
11997
  siteId: string;
11679
- status: "SUCCEEDED" | "FAILED" | "IN_PROGRESS";
11998
+ status: "IN_PROGRESS" | "SUCCEEDED" | "FAILED";
11680
11999
  url: string;
11681
12000
  startedAt: string;
11682
12001
  finishedAt: string | null;
@@ -11698,7 +12017,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11698
12017
  /** `POST /v1/storefront/site/deployment/retry` (202) — 밀린 반영을 곧바로 다시 시도한다. 이미 반영됐으면 그대로다 */
11699
12018
  retryDeployment: () => Promise<{
11700
12019
  siteId: string;
11701
- status: "SUCCEEDED" | "FAILED" | "IN_PROGRESS";
12020
+ status: "IN_PROGRESS" | "SUCCEEDED" | "FAILED";
11702
12021
  url: string;
11703
12022
  startedAt: string;
11704
12023
  finishedAt: string | null;
@@ -11736,7 +12055,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11736
12055
  }[];
11737
12056
  templateId: string;
11738
12057
  sourceMode: "CUSTOM" | "MANAGED";
11739
- status: "SUSPENDED" | "CLOSED" | "ACTIVE";
12058
+ status: "ACTIVE" | "SUSPENDED" | "CLOSED";
11740
12059
  visibility: "COMING_SOON" | "PUBLIC";
11741
12060
  publishedVersion: {
11742
12061
  versionId: string;
@@ -11800,7 +12119,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11800
12119
  }[];
11801
12120
  templateId: string;
11802
12121
  sourceMode: "CUSTOM" | "MANAGED";
11803
- status: "SUSPENDED" | "CLOSED" | "ACTIVE";
12122
+ status: "ACTIVE" | "SUSPENDED" | "CLOSED";
11804
12123
  visibility: "COMING_SOON" | "PUBLIC";
11805
12124
  publishedVersion: {
11806
12125
  versionId: string;
@@ -11848,7 +12167,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11848
12167
  }[];
11849
12168
  templateId: string;
11850
12169
  sourceMode: "CUSTOM" | "MANAGED";
11851
- status: "SUSPENDED" | "CLOSED" | "ACTIVE";
12170
+ status: "ACTIVE" | "SUSPENDED" | "CLOSED";
11852
12171
  visibility: "COMING_SOON" | "PUBLIC";
11853
12172
  publishedVersion: {
11854
12173
  versionId: string;
@@ -11896,7 +12215,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11896
12215
  }[];
11897
12216
  templateId: string;
11898
12217
  sourceMode: "CUSTOM" | "MANAGED";
11899
- status: "SUSPENDED" | "CLOSED" | "ACTIVE";
12218
+ status: "ACTIVE" | "SUSPENDED" | "CLOSED";
11900
12219
  visibility: "COMING_SOON" | "PUBLIC";
11901
12220
  publishedVersion: {
11902
12221
  versionId: string;
@@ -11944,7 +12263,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11944
12263
  }[];
11945
12264
  templateId: string;
11946
12265
  sourceMode: "CUSTOM" | "MANAGED";
11947
- status: "SUSPENDED" | "CLOSED" | "ACTIVE";
12266
+ status: "ACTIVE" | "SUSPENDED" | "CLOSED";
11948
12267
  visibility: "COMING_SOON" | "PUBLIC";
11949
12268
  publishedVersion: {
11950
12269
  versionId: string;
@@ -11994,7 +12313,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
11994
12313
  domainId: string;
11995
12314
  hostname: string;
11996
12315
  kind: "PLATFORM" | "CUSTOM";
11997
- status: "FAILED" | "ACTIVE" | "PENDING_DNS" | "PENDING_VALIDATION";
12316
+ status: "ACTIVE" | "FAILED" | "PENDING_DNS" | "PENDING_VALIDATION";
11998
12317
  isPrimary: boolean;
11999
12318
  dnsRecords: {
12000
12319
  type: "CNAME" | "TXT";
@@ -12002,7 +12321,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
12002
12321
  value: string;
12003
12322
  purpose: "ROUTING" | "OWNERSHIP";
12004
12323
  }[];
12005
- certificateStatus: "FAILED" | "PENDING" | "ACTIVE" | null;
12324
+ certificateStatus: "ACTIVE" | "FAILED" | "PENDING" | null;
12006
12325
  failureCode: string | null;
12007
12326
  verifiedAt: string | null;
12008
12327
  activatedAt: string | null;
@@ -12018,7 +12337,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
12018
12337
  domainId: string;
12019
12338
  hostname: string;
12020
12339
  kind: "PLATFORM" | "CUSTOM";
12021
- status: "FAILED" | "ACTIVE" | "PENDING_DNS" | "PENDING_VALIDATION";
12340
+ status: "ACTIVE" | "FAILED" | "PENDING_DNS" | "PENDING_VALIDATION";
12022
12341
  isPrimary: boolean;
12023
12342
  dnsRecords: {
12024
12343
  type: "CNAME" | "TXT";
@@ -12026,7 +12345,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
12026
12345
  value: string;
12027
12346
  purpose: "ROUTING" | "OWNERSHIP";
12028
12347
  }[];
12029
- certificateStatus: "FAILED" | "PENDING" | "ACTIVE" | null;
12348
+ certificateStatus: "ACTIVE" | "FAILED" | "PENDING" | null;
12030
12349
  failureCode: string | null;
12031
12350
  verifiedAt: string | null;
12032
12351
  activatedAt: string | null;
@@ -12038,7 +12357,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
12038
12357
  domainId: string;
12039
12358
  hostname: string;
12040
12359
  kind: "PLATFORM" | "CUSTOM";
12041
- status: "FAILED" | "ACTIVE" | "PENDING_DNS" | "PENDING_VALIDATION";
12360
+ status: "ACTIVE" | "FAILED" | "PENDING_DNS" | "PENDING_VALIDATION";
12042
12361
  isPrimary: boolean;
12043
12362
  dnsRecords: {
12044
12363
  type: "CNAME" | "TXT";
@@ -12046,7 +12365,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
12046
12365
  value: string;
12047
12366
  purpose: "ROUTING" | "OWNERSHIP";
12048
12367
  }[];
12049
- certificateStatus: "FAILED" | "PENDING" | "ACTIVE" | null;
12368
+ certificateStatus: "ACTIVE" | "FAILED" | "PENDING" | null;
12050
12369
  failureCode: string | null;
12051
12370
  verifiedAt: string | null;
12052
12371
  activatedAt: string | null;
@@ -12062,7 +12381,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
12062
12381
  domainId: string;
12063
12382
  hostname: string;
12064
12383
  kind: "PLATFORM" | "CUSTOM";
12065
- status: "FAILED" | "ACTIVE" | "PENDING_DNS" | "PENDING_VALIDATION";
12384
+ status: "ACTIVE" | "FAILED" | "PENDING_DNS" | "PENDING_VALIDATION";
12066
12385
  isPrimary: boolean;
12067
12386
  dnsRecords: {
12068
12387
  type: "CNAME" | "TXT";
@@ -12070,7 +12389,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
12070
12389
  value: string;
12071
12390
  purpose: "ROUTING" | "OWNERSHIP";
12072
12391
  }[];
12073
- certificateStatus: "FAILED" | "PENDING" | "ACTIVE" | null;
12392
+ certificateStatus: "ACTIVE" | "FAILED" | "PENDING" | null;
12074
12393
  failureCode: string | null;
12075
12394
  verifiedAt: string | null;
12076
12395
  activatedAt: string | null;
@@ -12095,7 +12414,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
12095
12414
  }[];
12096
12415
  templateId: string;
12097
12416
  sourceMode: "CUSTOM" | "MANAGED";
12098
- status: "SUSPENDED" | "CLOSED" | "ACTIVE";
12417
+ status: "ACTIVE" | "SUSPENDED" | "CLOSED";
12099
12418
  visibility: "COMING_SOON" | "PUBLIC";
12100
12419
  publishedVersion: {
12101
12420
  versionId: string;
@@ -12273,7 +12592,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
12273
12592
  runCheck: (body: RunStorefrontCheckRequest) => Promise<{
12274
12593
  checkId: string;
12275
12594
  check: string;
12276
- status: "FAILED" | "UNKNOWN" | "RUNNING" | "QUEUED" | "PASSED" | "TIMED_OUT";
12595
+ status: "UNKNOWN" | "FAILED" | "RUNNING" | "QUEUED" | "PASSED" | "TIMED_OUT";
12277
12596
  exitCode: number | null;
12278
12597
  durationMs: number | null;
12279
12598
  outputTail: string | null;
@@ -12287,7 +12606,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
12287
12606
  getCheck: (checkId: string) => Promise<{
12288
12607
  checkId: string;
12289
12608
  check: string;
12290
- status: "FAILED" | "UNKNOWN" | "RUNNING" | "QUEUED" | "PASSED" | "TIMED_OUT";
12609
+ status: "UNKNOWN" | "FAILED" | "RUNNING" | "QUEUED" | "PASSED" | "TIMED_OUT";
12291
12610
  exitCode: number | null;
12292
12611
  durationMs: number | null;
12293
12612
  outputTail: string | null;
@@ -12798,7 +13117,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
12798
13117
  name: string;
12799
13118
  storeCode: string;
12800
13119
  storefrontUrl: string;
12801
- status: "SUSPENDED" | "CLOSED" | "ACTIVE";
13120
+ status: "ACTIVE" | "SUSPENDED" | "CLOSED";
12802
13121
  logoUrl: string | null;
12803
13122
  businessNumber: string | null;
12804
13123
  customerCenterPhone: string | null;
@@ -12846,16 +13165,54 @@ export declare function createStoreClient(options: StoreClientOptions): {
12846
13165
  name: string;
12847
13166
  storeCode: string;
12848
13167
  storefrontUrl: string;
12849
- status: "SUSPENDED" | "CLOSED" | "ACTIVE";
13168
+ status: "ACTIVE" | "SUSPENDED" | "CLOSED";
12850
13169
  logoUrl: string | null;
12851
13170
  businessNumber: string | null;
12852
13171
  customerCenterPhone: string | null;
12853
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
+ }>;
12854
13211
  listMembers: () => Promise<{
12855
13212
  userId: string;
12856
13213
  name: string;
12857
13214
  email: string;
12858
- role: "ADMIN" | "STAFF" | "OWNER";
13215
+ role: "OWNER" | "ADMIN" | "STAFF";
12859
13216
  joinedAt: string;
12860
13217
  lastActiveAt: string | null;
12861
13218
  }[]>;
@@ -14159,8 +14516,8 @@ export declare const claimWebhookEventDataSchema: z.ZodObject<{
14159
14516
  CANCEL: "CANCEL";
14160
14517
  }>;
14161
14518
  status: z.ZodEnum<{
14162
- REJECTED: "REJECTED";
14163
14519
  COMPLETED: "COMPLETED";
14520
+ REJECTED: "REJECTED";
14164
14521
  REQUESTED: "REQUESTED";
14165
14522
  HELD: "HELD";
14166
14523
  COLLECTING: "COLLECTING";
@@ -14349,8 +14706,8 @@ export declare const claimWebhookEventSchema: z.ZodObject<{
14349
14706
  CANCEL: "CANCEL";
14350
14707
  }>;
14351
14708
  status: z.ZodEnum<{
14352
- REJECTED: "REJECTED";
14353
14709
  COMPLETED: "COMPLETED";
14710
+ REJECTED: "REJECTED";
14354
14711
  REQUESTED: "REQUESTED";
14355
14712
  HELD: "HELD";
14356
14713
  COLLECTING: "COLLECTING";
@@ -14559,8 +14916,8 @@ export declare const webhookEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
14559
14916
  CANCEL: "CANCEL";
14560
14917
  }>;
14561
14918
  status: z.ZodEnum<{
14562
- REJECTED: "REJECTED";
14563
14919
  COMPLETED: "COMPLETED";
14920
+ REJECTED: "REJECTED";
14564
14921
  REQUESTED: "REQUESTED";
14565
14922
  HELD: "HELD";
14566
14923
  COLLECTING: "COLLECTING";