@sayren/store-sdk 0.45.0 → 0.47.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -3740,6 +3740,9 @@ const changeTypeSchema = z.enum([
3740
3740
  "CLAIM.RETURN_REQUESTED",
3741
3741
  "CLAIM.EXCHANGE_REQUESTED",
3742
3742
  "CLAIM.COMPLETED",
3743
+ "ORDER.PAYMENT_WAITING",
3744
+ "ORDER.DELIVERING",
3745
+ "ORDER.CANCELED",
3743
3746
  "ORDER.ADDRESS_CHANGE_REQUESTED"
3744
3747
  ]);
3745
3748
  //#endregion
@@ -5108,6 +5111,44 @@ const flowStateChangedWebhookEventSchema = z.object({
5108
5111
  type: z.literal("ORDER.FLOW_STATE_CHANGED"),
5109
5112
  data: flowStateChangedWebhookEventDataSchema
5110
5113
  });
5114
+ /**
5115
+ * 추가 결제(이슈 #117) — 결제 요청(`POST /v1/checkouts`의 `orderId`)이 결제돼 줄이 주문에 붙었다. 붙은 줄은 이 결제가 냈고 환불도 이 결제에서 한다.
5116
+ * 개인정보는 싣지 않는다
5117
+ */
5118
+ const orderPaymentAddedWebhookEventDataSchema = z.object({
5119
+ orderId: z.string().describe("주문 ID"),
5120
+ orderNo: z.string().describe("주문번호"),
5121
+ paymentId: z.string().describe("붙은 결제(주문 응답 `payments[].paymentId`)"),
5122
+ checkoutId: z.string().describe("결제한 결제 요청(셀러 작성 주문서) id"),
5123
+ amount: z.number().int().describe("결제 금액"),
5124
+ orderItemIds: z.array(z.string()).describe("이 결제로 붙은 주문상품"),
5125
+ currency: z.string().describe("주문 통화"),
5126
+ testPayment: z.boolean()
5127
+ });
5128
+ const orderPaymentAddedWebhookEventSchema = z.object({
5129
+ ...envelopeFields,
5130
+ type: z.literal("ORDER.PAYMENT_ADDED"),
5131
+ data: orderPaymentAddedWebhookEventDataSchema
5132
+ });
5133
+ /**
5134
+ * 결제 요청(이슈 #117) — 흐름 노드 「결제 요청」이 이 주문에 대한 결제 링크를 만들었다. 상점이 이 링크를 구매자에게 보낸다(알림톡·메일).
5135
+ * 결제되면 `ORDER.PAYMENT_ADDED`가 온다. 개인정보는 싣지 않는다
5136
+ */
5137
+ const orderPaymentRequestedWebhookEventDataSchema = z.object({
5138
+ orderId: z.string().describe("주문 ID"),
5139
+ orderNo: z.string().describe("주문번호"),
5140
+ orderItemIds: z.array(z.string()).describe("결제를 요청한 흐름의 주문상품"),
5141
+ checkoutId: z.string().describe("결제 요청(셀러 작성 주문서) id"),
5142
+ checkoutUrl: z.string().describe("구매자에게 보낼 결제 링크(sayren 결제 페이지)"),
5143
+ amount: z.number().int().describe("결제 금액"),
5144
+ currency: z.string().describe("주문 통화"),
5145
+ expiresAt: z.string().describe("결제 링크 만료 시각")
5146
+ });
5147
+ const orderPaymentRequestedWebhookEventSchema = z.object({
5148
+ ...envelopeFields,
5149
+ type: z.literal("ORDER.PAYMENT_REQUESTED"),
5150
+ data: orderPaymentRequestedWebhookEventDataSchema
5151
+ });
5111
5152
  /** 웹훅 요청 본문. `type`으로 판별하며 `data` 형태가 타입별로 다르다 */
5112
5153
  const webhookEventSchema = z.discriminatedUnion("type", [
5113
5154
  orderWebhookEventSchema,
@@ -5119,7 +5160,9 @@ const webhookEventSchema = z.discriminatedUnion("type", [
5119
5160
  productOutOfStockWebhookEventSchema,
5120
5161
  flowNotificationWebhookEventSchema,
5121
5162
  flowStateChangedWebhookEventSchema,
5122
- inventoryChangedWebhookEventSchema
5163
+ inventoryChangedWebhookEventSchema,
5164
+ orderPaymentAddedWebhookEventSchema,
5165
+ orderPaymentRequestedWebhookEventSchema
5123
5166
  ]).describe("웹훅 요청 본문 (얇은 이벤트). 개인정보를 싣지 않으며 `data`의 id로 관리 API를 조회한다");
5124
5167
  /**
5125
5168
  * 알려진 웹훅 이벤트 타입 — `webhookEventSchema`의 판별 값 목록(이 SDK 버전이 아는 것).
@@ -5228,6 +5271,8 @@ const APP_EVENT_SCOPES = {
5228
5271
  "ORDER.CANCELED": "order:r",
5229
5272
  "ORDER.FLOW_NOTIFICATION": "order:r",
5230
5273
  "ORDER.FLOW_STATE_CHANGED": "order:r",
5274
+ "ORDER.PAYMENT_ADDED": "order:r",
5275
+ "ORDER.PAYMENT_REQUESTED": "order:r",
5231
5276
  "CLAIM.CANCEL_REQUESTED": "claim:r",
5232
5277
  "CLAIM.RETURN_REQUESTED": "claim:r",
5233
5278
  "CLAIM.EXCHANGE_REQUESTED": "claim:r",
@@ -5782,7 +5827,9 @@ const eventTypeSchema = z.enum([
5782
5827
  "PRODUCT.OUT_OF_STOCK",
5783
5828
  "ORDER.FLOW_NOTIFICATION",
5784
5829
  "ORDER.FLOW_STATE_CHANGED",
5785
- "INVENTORY.CHANGED"
5830
+ "INVENTORY.CHANGED",
5831
+ "ORDER.PAYMENT_ADDED",
5832
+ "ORDER.PAYMENT_REQUESTED"
5786
5833
  ]).describe("웹훅 이벤트 타입. `ORDER.ADDRESS_CHANGE_REQUESTED`는 현재 발송하지 않음(호환을 위해 값만 남았고, 구독해도 이벤트가 오지 않는다)");
5787
5834
  const webhookStatusSchema = z.enum(["ACTIVE", "SUSPENDED"]).describe("구독 상태. `ACTIVE`=발송 대상, `SUSPENDED`=24시간 이상 연속 전송 실패로 발송이 정지된 상태. 정지 중 발생한 이벤트는 적재하지 않는다. 재개(`POST /webhooks/{id}/resume`)하거나 구독을 수정하면 ACTIVE로 돌아간다");
5788
5835
  const webhookSchema = z.object({
@@ -6569,7 +6616,8 @@ const createSellerCheckoutRequestSchema = strictRequest(z.object({
6569
6616
  pickupLocationId: z.string().optional().describe("방문 수령 장소. 스토어프론트 주문서 생성과 같은 규칙이다"),
6570
6617
  trackInventory: z.boolean().optional().default(true).describe("재고 추적. false면 주문서를 만들 때·결제할 때 재고를 보지 않고 빼지 않는다. 그 주문의 취소·반품도 재고를 돌려주지 않는다. 기본 true"),
6571
6618
  couponsEnabled: z.boolean().optional().default(false).describe("구매자가 이 주문서에 쿠폰을 쓸 수 있는가. 기본 false"),
6572
- pointsEnabled: z.boolean().optional().default(false).describe("구매자가 이 주문서에 적립금을 쓸 수 있는가. 기본 false")
6619
+ pointsEnabled: z.boolean().optional().default(false).describe("구매자가 이 주문서에 적립금을 쓸 수 있는가. 기본 false"),
6620
+ orderId: z.string().optional().describe("추가 결제(이슈 #117) — 주면 이 주문에 대한 결제 요청이다. 만들면 줄이 결제 대기로 이 주문에 들어가고, 결제하면 결제완료가 되며 그 줄의 환불은 이 결제에서 한다. 유효 기한까지 결제하지 않으면(또는 만료시키면) 결제 대기 줄은 자동으로 취소된다. 주문의 주문자·배송지·통화를 쓰고 배송비가 없다. 쿠폰·적립금을 켤 수 없고(400 `VALIDATION_FAILED`) 재고는 보지 않는다(`trackInventory`를 무시한다). 없는 주문은 404 `ORDER_NOT_FOUND`")
6573
6621
  }));
6574
6622
  const sellerCheckoutSchema = z.object({
6575
6623
  checkoutId: z.string().describe("주문서 id. 결제 링크(`checkoutUrl`)나 스토어프론트가 이 id로 주문서를 열어 결제한다(`GET /storefront/v1/checkout/{checkoutId}`). 추측할 수 없는 값이고, 가진 사람은 누구나 결제할 수 있다"),
@@ -6596,11 +6644,50 @@ const sellerCheckoutSchema = z.object({
6596
6644
  trackInventory: z.boolean(),
6597
6645
  couponsEnabled: z.boolean(),
6598
6646
  pointsEnabled: z.boolean(),
6599
- orderId: z.string().nullable().describe("결제로 만들어진 주문. 결제 전이면 null"),
6647
+ orderId: z.string().nullable().describe("결제가 속한 주문. 보통 주문서는 결제로 만들어진 주문이고 결제 전이면 null이다. 추가 결제(요청의 `orderId`)는 처음부터 그 주문이다"),
6648
+ additionalPayment: z.boolean().describe("추가 결제(이슈 #117)인가 — true면 결제가 `orderId` 주문에 줄을 붙인다"),
6600
6649
  createdAt: z.string(),
6601
6650
  expiresAt: z.string()
6602
6651
  });
6603
6652
  const sellerCheckoutPageSchema = pageSchema(sellerCheckoutSchema);
6653
+ /** 주문 직접 생성의 배송지(이슈 #117) — 국내 배송지다 */
6654
+ const directOrderShippingAddressSchema = z.object({
6655
+ receiverName: z.string().min(1).max(50),
6656
+ phone: z.string().regex(/^0[0-9]{8,11}$/).describe("수령인 연락처(숫자만)"),
6657
+ zipCode: z.string().regex(/^[0-9]{5}$/),
6658
+ address1: z.string().min(1).max(200),
6659
+ address2: z.string().max(200).optional(),
6660
+ deliveryMemo: z.string().max(100).optional()
6661
+ });
6662
+ /**
6663
+ * 주문 직접 생성 요청(이슈 #117) — 셀러가 결제 대기 주문을 만든다. 회원을 고르거나(`memberId`) 비회원 주문자 정보(`guest`)를 준다.
6664
+ * 줄·단가·이행 방식·재고 추적·유효 기한은 셀러 작성 주문서와 같은 규칙이다
6665
+ */
6666
+ const createOrderRequestSchema = strictRequest(z.object({
6667
+ memberId: z.string().optional().describe("주문할 회원. 주면 그 회원의 주문이고 `guest`를 받지 않는다. 생략하면 비회원 주문이다"),
6668
+ guest: z.object({
6669
+ name: z.string().min(1).max(50),
6670
+ phone: z.string().regex(/^0[0-9]{8,11}$/).describe("주문자 연락처(숫자만)"),
6671
+ email: z.email().optional()
6672
+ }).optional().describe("비회원 주문자. `memberId`가 없으면 필수다. 주문 조회 비밀번호는 구매자가 결제할 때 정한다"),
6673
+ shippingAddress: directOrderShippingAddressSchema.optional().describe("배송지. 택배 배송이 필요한 줄이 있으면 필수(400 `SHIPPING_ADDRESS_REQUIRED`)이고 그 밖에는 버린다"),
6674
+ items: z.array(sellerCheckoutLineSchema).min(1).max(50),
6675
+ expiresAt: z.iso.datetime({ offset: true }).describe("결제 기한(ISO 8601). 지금 이후여야 하고, 지나도록 결제하지 않으면 주문이 자동으로 취소된다"),
6676
+ fulfillmentMethod: z.enum([
6677
+ "CARRIER",
6678
+ "DIRECT",
6679
+ "PICKUP",
6680
+ "PROVIDED"
6681
+ ]).optional().describe("이행 방식. 생략하면 줄마다 상품 허용 방식의 첫 값이다"),
6682
+ pickupLocationId: z.string().optional().describe("방문 수령 장소"),
6683
+ trackInventory: z.boolean().optional().default(true).describe("재고 추적. true면 만들 때 재고를 확인하고 결제할 때 뺀다. 기본 true")
6684
+ }));
6685
+ /** 주문 직접 생성 응답(이슈 #117) — 결제 대기 주문과 그 결제 요청(결제 링크) */
6686
+ const createdOrderSchema = z.object({
6687
+ orderId: z.string(),
6688
+ orderNo: z.string(),
6689
+ paymentRequest: sellerCheckoutSchema.describe("이 주문의 결제 요청. `checkoutUrl`이 구매자에게 보낼 결제 링크다")
6690
+ });
6604
6691
  //#endregion
6605
6692
  //#region src/schemas/collection.ts
6606
6693
  /**
@@ -9317,6 +9404,7 @@ const orderItemSchema = z.object({
9317
9404
  orderItemId: z.string(),
9318
9405
  orderItemNo: commerceNumberField("상품주문번호(이슈 #107) — 주문번호 + 줄 순번 2자리(01부터, 100줄부터 3자리). 부분 취소·클레임·송장의 처리 단위 번호이고 생성 후 바뀌지 않습니다"),
9319
9406
  orderId: z.string(),
9407
+ paymentId: z.string().nullable().optional().default(null).describe("이 줄을 결제한 결제(`payments[].paymentId`, 이슈 #117). 줄 하나는 결제 하나가 내고 환불도 그 결제에서 한다. 서버는 항상 싣는다(PG 결제가 없는 0원 주문도 결제 id가 있다)"),
9320
9408
  status: orderItemStatusSchema,
9321
9409
  claimStatus: z.enum([
9322
9410
  "CANCEL_REQUESTED",
@@ -9360,6 +9448,16 @@ const orderDiscountSchema = z.object({
9360
9448
  discountAmount: z.number().int().describe("이 쿠폰의 할인액 (원)"),
9361
9449
  issueId: z.string().nullable().describe("발급 쿠폰 id. 코드 입력형은 null")
9362
9450
  });
9451
+ /** 주문의 결제 한 건 (이슈 #117) — 주문을 만든 첫 결제와 그 주문에 줄을 붙인 추가 결제 */
9452
+ const orderPaymentSchema = z.object({
9453
+ paymentId: z.string(),
9454
+ additional: z.boolean().describe("추가 결제인가. false면 주문을 만든 첫 결제(`payment`와 같은 결제)다"),
9455
+ amount: z.number().int().describe("결제(현금) 금액. 적립금·쿠폰으로 낸 몫은 빠진다"),
9456
+ approvedMethod: z.string().nullable().describe("실제 결제수단(`payment.approvedMethod`와 같은 값). 0원 결제는 null"),
9457
+ easyPayProvider: easyPayProviderResponseSchema.nullable(),
9458
+ paidAt: z.string(),
9459
+ refundedAmount: z.number().int().describe("이 결제에서 환불이 끝난 금액")
9460
+ });
9363
9461
  const orderSchema = z.object({
9364
9462
  orderId: z.string(),
9365
9463
  progressStatus: orderItemStatusSchema.optional().describe("진행 중 주문상품 가운데 가장 앞 단계(취소 제외, 모두 취소면 CANCELED, #115). 섞인 주문에서 아직 기다리는 단계다. 서버는 항상 싣는다"),
@@ -9397,6 +9495,8 @@ const orderSchema = z.object({
9397
9495
  currency: z.string().optional().describe("주문 통화(ISO 4217, 이슈 #130). 금액 필드는 모두 이 통화의 최소 단위다. 외화 주문이 생기면 이 값을 확인한다. 없으면 KRW다. 서버는 항상 싣는다"),
9398
9496
  testPayment: z.boolean().describe("테스트 결제(샌드박스 결제) 주문인가. true면 실제로 돈이 오가지 않았습니다. 상품을 발송하지 않도록 주의하십시오"),
9399
9497
  locale: z.string().nullable().optional().describe("구매 언어(이슈 #134, BCP 47). 주문상품의 상품명·옵션 이름은 구매자가 이 언어로 본 값이다. null이면 상점 기본 언어다(언어 기능 이전 주문 포함)"),
9498
+ payments: z.array(orderPaymentSchema).optional().default([]).describe("이 주문의 결제(이슈 #117) — 첫 결제와 추가 결제를 결제 순서로 싣는다. `payment`는 첫 결제의 내역이다. 서버는 항상 싣는다"),
9499
+ paymentRequests: z.array(sellerCheckoutSchema).optional().default([]).describe("결제를 기다리는 결제 요청(이슈 #117) — 결제 대기 줄을 낸 요청이고 `checkoutUrl`이 결제 링크다. 결제되거나 만료되면 빠진다. 서버는 항상 싣는다"),
9400
9500
  items: z.array(orderItemSchema)
9401
9501
  });
9402
9502
  /** 주문 목록 응답 — `GET /v1/orders` */
@@ -10349,6 +10449,11 @@ function createStoreClient(options) {
10349
10449
  list: (params) => storeHttp.request("GET", "/orders", pageSchema(orderSummarySchema), { query: params }),
10350
10450
  get: (orderId) => storeHttp.request("GET", path`/orders/${orderId}`, orderSchema),
10351
10451
  /**
10452
+ * `POST /v1/orders` — 주문 직접 생성(이슈 #117). 결제 대기 주문과 결제 요청을 만든다. 응답 `paymentRequest.checkoutUrl`이 구매자에게 보낼 결제 링크다.
10453
+ * 결제 기한까지 결제하지 않으면 주문이 자동으로 취소된다
10454
+ */
10455
+ create: (body) => storeHttp.request("POST", "/orders", createdOrderSchema, { body: createOrderRequestSchema.parse(body) }),
10456
+ /**
10352
10457
  * `POST /v1/orders/{orderId}/cash-receipt/reissue` — 실패했거나 재시도 대기 중인 현금영수증을 지금 다시 발급·취소한다.
10353
10458
  * 상점 플랫폼 OWNER·ADMIN 전용(PAT·M2M 403 `INSUFFICIENT_ROLE`). 404 `CASH_RECEIPT_NOT_FOUND`, 409 `CASH_RECEIPT_NOT_REISSUABLE`
10354
10459
  */
@@ -11494,4 +11599,4 @@ function createStoreSession(options) {
11494
11599
  };
11495
11600
  }
11496
11601
  //#endregion
11497
- export { AI_AGENT_NOTES_DIR, AI_AGENT_PHASES, AI_DESIGN_BOARDS_MAX, AI_DESIGN_BOARD_FILE_PATTERN, AI_DESIGN_BOARD_KINDS, AI_DESIGN_CANVAS_PATH, AI_DESIGN_CONFIRM_APPROVE, AI_DESIGN_DIR, AI_DESIGN_GUIDE_PATH, AI_DESIGN_VIEWPORTS, AI_MESSAGE_MAX_ATTACHMENTS, AI_MESSAGE_MAX_CHARS, AI_RUN_ACTIVE_STATUSES, AI_RUN_FILE_CHANGES_RETENTION_DAYS, AI_RUN_RESUME_CHOICE, AI_SETUP_CONFIRM_APPROVE, AI_SITEMAP_PATH, AI_TODOS_MAX, AI_TODO_STATUSES, AI_TOOL_CHANGE_LINE_MAX, AI_TOOL_CHANGE_RANGES_MAX, APPROVAL_ALREADY_DECIDED_CODE, APPROVAL_REQUIRED_CODE, APP_CAPABILITIES, APP_DEPLOY_KEY_PATTERN, APP_DEPLOY_KEY_PREFIX, APP_EVENTS_MAX, APP_EVENT_SCOPES, APP_EVENT_TYPES, APP_FLOW_EVENT_PATTERN, APP_FLOW_ITEMS_MAX, APP_FLOW_NOTIFICATION_PATTERN, APP_HANDLE_PATTERN, APP_HTTP_KEY_PATTERN, APP_ICON_CONTENT_TYPES, APP_ICON_MAX_BYTES, APP_ICON_MIN_PX, APP_LIFECYCLE_EVENT_TYPES, APP_NETWORK_DENIED_SUFFIXES, APP_NETWORK_HOSTS_MAX, APP_PUBLIC_HTTP_MAX, APP_README_MAX_BYTES, APP_RESERVED_HANDLES, APP_SCHEDULES_MAX, APP_SCHEDULE_INTERVALS, APP_SCHEDULE_NAME_PATTERN, APP_SECRETS_MAX, APP_SECRET_NAME_PATTERN, APP_SECRET_PATTERNS, APP_SERVER_BUNDLE_MAX_GZIP_BYTES, APP_SETTINGS_MAX_FIELDS, APP_SETTING_FIELD_TYPES, APP_SETTING_KEY_PATTERN, APP_STORAGE_KEY_PATTERN, APP_STORAGE_MAX_BYTES, APP_STORAGE_MAX_KEYS, APP_TOOL_NAME_PATTERN, APP_UI_MAX_BYTES, APP_UI_MAX_FILES, ApiError, ApprovalPendingError, BASE_CURRENCY, BRAND_BRIEF_MAX_REFERENCES, BUSINESS_INFO_MAX_LENGTH, BUSINESS_NUMBER_PATTERN, CASH_RECEIPT_STATUS_VALUES, CERTIFICATION_STATUSES, COLLECTION_BEST_SELLING_DAYS, COLLECTION_PREVIEW_SIZE, COLLECTION_PRODUCT_SORTS, COLLECTION_SALES_SORT_DEFAULT_DAYS, COLLECTION_SLUG_PATTERN, COLLECTION_TYPES, COUPON_CODE_PATTERN, COUPON_CONDITIONS_DEFAULTS, COUPON_TARGET_ALL, COUPON_TARGET_LIST_MAX, CURRENCIES, CURRENCY_CODES, CUSTOM_INPUT_FORBIDDEN_WORDS, CUSTOM_INPUT_TYPES, DEDICATED_EASY_PAY_PROVIDER, DEFAULT_STORE_LOCALE, FULFILLMENT_METHODS, FULFILLMENT_METHODS_BY_TYPE, FULFILLMENT_METHOD_RULES, FULFILLMENT_RULES, INSTALLABLE_SCOPES, InvalidPriceUnitError, KAKAOPAY_TEST_CID, KNOWN_WEBHOOK_EVENT_TYPES, KRW_MONEY_RULES, MAX_ADDON_GROUPS, MAX_ANALYTICS_ALLOWED_ORIGINS, MAX_AUTO_TRANSITION_DAYS, MAX_CALENDAR_DAYS, MAX_CERTIFICATION_ITEMS, MAX_COLLECTIONS, MAX_COLLECTION_BEST_SELLING_TOP, MAX_COLLECTION_CREATED_WITHIN_DAYS, MAX_COLLECTION_DESCRIPTION, MAX_COLLECTION_PRODUCTS, MAX_COLLECTION_PRODUCTS_PER_ADD, MAX_COLLECTION_RULES, MAX_COLLECTION_RULE_CATEGORIES, MAX_COLLECTION_TITLE, MAX_CUSTOM_INPUTS, MAX_CUSTOM_INPUT_LENGTH, MAX_INFO_SECTION_TITLE, MAX_INVENTORY_OPERATION_LINES, MAX_NOTICE_VALUE_LENGTH, MAX_OPTION_GROUPS, MAX_PICKUP_LOCATIONS, MAX_PRODUCT_IMAGES, MAX_PRODUCT_INFO_SECTIONS, MAX_SAVED_OPTION_SETS, MAX_SAVED_OPTION_SET_NAME, MAX_STAY_NIGHTS, MAX_VALUES_PER_GROUP, MAX_VARIANTS, MCP_TELEMETRY_MAX_RESULTS, MIN_PAYMENT_AMOUNT, NON_INSTALLABLE_SCOPES, NO_COUPON_SETTLEMENT, NO_SHIPPING_BUNDLE_KEY, PAYMENT_ROUTING_EXCLUSION_CODES, PAYPAL_CURRENCIES, PLATFORM_CODE_SETS, POINT_ADJUSTMENT_MAX, POINT_EARN_RATE_BP_MAX, POINT_ENTRY_TYPES, POINT_EXPIRY_DAYS_MAX, POINT_EXPIRY_DAYS_MIN, POINT_LOT_SOURCES, POINT_POLICY_DEFAULTS, POINT_REVIEW_REWARD_MAX, POINT_USE_UNITS, PORTONE_CHANNEL_NAME_MAX_LENGTH, PORTONE_MAX_CHANNELS, PORTONE_MIN_CHANNELS, REFUND_POLICY_DEFAULTS, REFUND_POLICY_DELIVERY_FEE_KEYS, REMOTE_AREA_ZIP_RANGES, RESERVED_STOREFRONT_SLUGS, RESERVED_STORE_CODES, SAYREN_API_BASE_URL, SAYREN_API_ORIGIN, SCOPE_DESCRIPTIONS, SHIPPING_POLICY_DEFAULTS, STARTER_SELLER_TASKS, STARTER_STAGES, STOREFRONT_BLOCKED_PATH_SEGMENTS, STOREFRONT_BUILD_STAGES, STOREFRONT_BUILD_TERMINAL_STATUSES, STOREFRONT_CHECK_TERMINAL_STATUSES, STOREFRONT_CLOSED_SITE_HOLD_DAYS, STOREFRONT_CUSTOM_DOMAIN_LIMIT_DEFAULT, STOREFRONT_DOMAIN_DNS_GRACE_DAYS, STOREFRONT_DOMAIN_DNS_WAIT_DAYS, STOREFRONT_DOMAIN_TXT_LABEL, STOREFRONT_EDIT_ACTIVITY_TIMEOUT_MINUTES, STOREFRONT_EDIT_CAPACITY, STOREFRONT_EDIT_IDLE_MINUTES, STOREFRONT_EDIT_PREVIEW_SUFFIX, STOREFRONT_EDIT_START_STAGES, STOREFRONT_FILE_BATCH_MAX, STOREFRONT_FILE_MAX_BYTES, STOREFRONT_PATH_SEGMENT_PATTERN, STOREFRONT_PLATFORM_DOMAINS, STOREFRONT_PUBLIC_SUFFIXES, STOREFRONT_SEARCH_REGEX_MAX_LENGTH, STOREFRONT_SHOWCASE_SLUG_PREFIX, STOREFRONT_SITE_CREATE_LIMIT, STOREFRONT_SLUG_CHANGE_LIMIT, STOREFRONT_SLUG_CHANGE_WINDOW_DAYS, STOREFRONT_SLUG_HOLD_DAYS, STOREFRONT_SLUG_PATTERN, STOREFRONT_SOURCE_BLOB_BATCH_MAX, STOREFRONT_SOURCE_PART_BYTES, STOREFRONT_WORKSPACE_MAX_BYTES, STOREFRONT_WORKSPACE_MAX_FILES, STORE_CODE_PATTERN, STORE_DRAFT_ATTACHMENT_MAX_BYTES, STORE_DRAFT_MAX_ATTACHMENTS, STORE_DRAFT_RETENTION_DAYS, STORE_ROLE_SCOPES, STORE_SCOPE_RESOURCES, STORE_SESSION_KEYS, STORE_SHOP_TYPES, TEMPLATE_STORE_LOCKED_BUSINESS_FIELDS, TOSS_WIDGET_CLIENT_KEY_PATTERN, TOSS_WIDGET_KEY_MESSAGE, TOSS_WIDGET_SECRET_KEY_PATTERN, UPLOAD_PURPOSE_LIMITS, VARIANT_COUNT_WARNING, VARIANT_STOCK_EXCLUSIVE_MESSAGE, WEBHOOK_DEFAULT_TOLERANCE_SEC, WEBHOOK_DELIVERY_ID_HEADER, WEBHOOK_EVENT_ID_HEADER, WEBHOOK_EVENT_TYPE_HEADER, WEBHOOK_FAILURE_REASONS, WEBHOOK_HEADERS, WEBHOOK_PAYLOAD_EXCERPT_MAX_BYTES, WEBHOOK_RESOURCE_TYPES, WEBHOOK_SIGNATURE_HEADER, WEBHOOK_USER_AGENT, addStorefrontDomainRequestSchema, additionalCurrencyPriceSchema, additionalCurrencyPricesSchema, addonGroupRequestSchema, addonGroupSchema, addonValueRequestSchema, addonValueSchema, addressChangeRequestListSchema, addressTypeSchema, agentPolicyDecisionSchema, aiActivitySchema, aiAgentPhaseSchema, aiAttachmentSchema, aiChoiceOptionSchema, aiConversationFileChangesSchema, aiConversationSchema, aiConversationSummarySchema, aiDesignBoardSchema, aiDesignCanvasSchema, aiDesignConfirmBoardSchema, aiDesignSelectionSchema, aiFileChangeKindSchema, aiFocusAreaSchema, aiFocusSchema, aiMessagePartSchema, aiMessageSchema, aiPreviewSelectionSchema, aiRunChangesSchema, aiRunChangesStatusSchema, aiRunFileDiffSchema, aiRunRevertConflictDetailsSchema, aiRunRevertResultSchema, aiRunSchema, aiRunStatusSchema, aiSetupConfirmItemSchema, aiStreamAccessSchema, aiStreamEventSchema, aiStreamRecordSchema, aiTodoSchema, aiToolChangeSchema, allocateByWeight, analyticsChannelSchema, analyticsCheckoutOutcomeSchema, analyticsCheckoutSchema, analyticsDeviceRowSchema, analyticsDevicesSchema, analyticsFunnelStepSchema, analyticsOriginSchema, analyticsOverviewSchema, analyticsPagesQuerySchema, analyticsPagesSchema, analyticsProductRowSchema, analyticsProductSortSchema, analyticsProductsQuerySchema, analyticsProductsSchema, analyticsRangeQuerySchema, analyticsRealtimeSchema, analyticsSearchQuerySchema, analyticsSearchSchema, analyticsSourceGroupBySchema, analyticsSourceRowSchema, analyticsSourcesQuerySchema, analyticsSourcesSchema, analyticsTotalsSchema, apiLogErrorSchema, apiLogListQuerySchema, apiLogPageSchema, apiLogPrincipalSchema, apiLogPrincipalTypeSchema, apiLogSchema, apiLogStatusFilterSchema, apiLogSummarySchema, appArtifactUploadSchema, appBuildSchema, appBuildStageSchema, appCapabilitiesOf, appDeployKeyCreateSchema, appDeployKeyCreatedSchema, appDeployKeySchema, appDevTokenSchema, appDistributionSchema, appEventTypeSchema, appFlowEventSchema, appFlowEventSummarySchema, appFlowNotificationSchema, appFlowNotificationSummarySchema, appFlowParamSchema, appFlowSummaryOf, appHandleSchema, appHttpKeyMatches, appIconProblem, appInstallRequestSchema, appInstallationActivitySchema, appInstallationAppSchema, appInstallationRunSchema, appInstallationSchema, appInstallationSelfSchema, appInstallationSettingsSchema, appInstallationSettingsUpdateSchema, appInstallationStatusSchema, appInvocationSchema, appListingReviewSchema, appListingReviewStatusSchema, appListingSchema, appManifestProblems, appManifestSchema, appManifestWidens, appNetworkHostProblem, appNetworkHostSchema, appReleaseResultSchema, appRuntimeSchema, appScheduleIntervalLabel, appScheduleListOf, appScheduleSummarySchema, appScopeSchema, appSecretSummarySchema, appSessionSchema, appSettingFieldSchema, appStatusSchema, appStorageEntrySchema, appStorageKeysSchema, appStorageListQuerySchema, appStoragePutSchema, appToolCallSchema, appToolInputSchema, appToolListOf, appToolResultSchema, appToolSchema, appToolSummarySchema, appVersionSchema, appVersionStatusSchema, appVisibilitySchema, applyFlowOperationsRequestSchema, approvalDecisionRequestSchema, approvalListQuerySchema, approvalPageSchema, approvalRequestSchema, approvalStatusSchema, approveClaimResultSchema, assertSaleUnit, auditActorSchema, auditActorTypeSchema, auditLogListQuerySchema, auditLogOutcomeSchema, auditLogPageSchema, auditLogSchema, auditLogSourceSchema, bestSellingRuleOf, brandBriefProductSourceSchema, brandBriefReferenceSchema, brandBriefSchema, brandBriefViewSchema, buildAuthorizeUrl, buildQuery, bulkResultSchema, businessInfoPatchShape, businessInfoResponseShape, businessNumberSchema, calendarDateSchema, calendarDaySchema, calendarQuerySchema, cancelBySellerRequestSchema, cancelBySellerResultSchema, carrierSchema, cashReceiptSchema, categoryAttributeSchema, categoryCreateRequestSchema, categoryDeleteQuerySchema, categoryDeleteStrategySchema, categoryListQuerySchema, categoryLocalizationRequestSchema, categoryLocalizationSchema, categoryPatchRequestSchema, categoryProductSortSchema, categorySchema, categorySearchResultSchema, categoryTreeNodeSchema, categoryWithPathSchema, changeStorefrontSlugRequestSchema, changeStorefrontTemplateRequestSchema, changeTypeSchema, claimCollectCompleteRequestSchema, claimDetailSchema, claimFlowEditSessionRequestSchema, claimHoldResultSchema, claimListQuerySchema, claimReasonSchema, claimRedeliveryRequestSchema, claimReturnAddressSchema, claimSchema, claimStatusSchema, claimTypeSchema, claimWebhookEventDataSchema, claimWebhookEventSchema, collectionCreateRequestSchema, collectionListQuerySchema, collectionLocalizationRequestSchema, collectionLocalizationSchema, collectionPageSchema, collectionPatchRequestSchema, collectionPreviewRequestSchema, collectionPreviewSchema, collectionProductListQuerySchema, collectionProductSchema, collectionProductSortRequestSchema, collectionProductsAddRequestSchema, collectionProductsReplaceRequestSchema, collectionRuleCategoryIds, collectionRuleSchema, collectionRuleViewSchema, collectionRulesPredicate, collectionRulesSchema, collectionSchema, collectionStateCountsSchema, collectionStateOf, collectionStateSchema, commerceFlowCheckSchema, commerceFlowSchema, commerceFlowSummarySchema, commerceFlowVersionViewSchema, commerceNumberField, compareBySales, connectStorefrontGitRequestSchema, consentActionSchema, consentKindSchema, consentSourceSchema, couponBenefitSchema, couponConditionsInputSchema, couponConditionsSchema, couponDiscountOf, couponIssueListQuerySchema, couponIssueMethodSchema, couponIssueSchema, couponIssueStatusSchema, couponKindSchema, couponListQuerySchema, couponRedemptionListQuerySchema, couponRedemptionSchema, couponRejectReasonSchema, couponRuleSchema, couponSchema, couponStatsSchema, couponStatusSchema, couponTargetInputSchema, couponTargetSchema, createAiConversationRequestSchema, createAiConversationResponseSchema, createCommerceFlowRequestSchema, createCouponRequestSchema, createMarketRequestSchema, createPkcePair, createSellerCheckoutRequestSchema, createStoreClient, createStoreDraftRequestSchema, createStoreDraftResponseSchema, createStoreSession, createStorefrontEditPreviewLinkRequestSchema, createStorefrontPreviewLinkRequestSchema, createStorefrontSiteRequestSchema, createStorefrontVersionRequestSchema, currencyCodeSchema, currencyRefundFeesSchema, currencyShippingPolicySchema, currencySpecOf, customInputLabelForbiddenWord, customInputRequestSchema, customInputSchema, customInputValueSchema, customerAddressSchema, customerConsentListQuerySchema, customerConsentSchema, customerConsentStateSchema, customerConsentsSchema, customerCouponSchema, customerDelegationRequestSchema, customerDelegationSchema, customerDetailSchema, customerInquiryCategorySchema, customerInquiryListQuerySchema, customerListQuerySchema, customerOrderSchema, customerPointsSchema, customerSortSchema, customerStatsSchema, customerSummarySchema, customerWithdrawalBlockedDetailsSchema, defaultFulfillmentMethodOf, deleteStorefrontFileRequestSchema, deliveryBundleKeyOf, deliveryFeeWaiverSchema, deliveryInfoSchema, deliveryMethodSchema, deliveryStatusSchema, deliveryTypeSchema, descendantCategoryIdsOf, describeScope, devStoreSchema, developerAppCreateSchema, developerAppSchema, developerInstallationSchema, developerOrgSchema, developerStoreSchema, disableStorefrontHostingRequestSchema, discountRequestSchema, discountSchema, dispatchRequestSchema, easyPayProviderResponseSchema, easyPayProviderSchema, eventTypeSchema, exchangeAuthorizationCode, floorToSaleUnit, flowActionRequestSchema, flowActionResultSchema, flowActionSchema, flowAuthoringGuideSchema, flowDraftEdgesSchema, flowDraftNodeSchema, flowDraftNodesSchema, flowDraftOperationSchema, flowEditSessionViewSchema, flowFieldValueSchema, flowInputFieldSchema, flowIssueSchema, flowNodeIdSchema, flowNodeTypeDetailSchema, flowNodeTypesSchema, flowNotificationWebhookEventDataSchema, flowNotificationWebhookEventSchema, flowOperationsResultSchema, flowPresetDetailSchema, flowPresetSummarySchema, flowRunSchema, flowRunStepSchema, flowSecretNameSchema, flowSecretSchema, flowStateChangedWebhookEventDataSchema, flowStateChangedWebhookEventSchema, flowStateSchema, formatOrderNo, fromDecimalString, fulfillBulkRequestSchema, fulfillRequestSchema, fulfillmentMethodOf, fulfillmentMethodSchema, fulfillmentMethodsOf, fulfillmentRuleOf, fulfillmentTypeOf, fulfillmentTypeResponseSchema, fulfillmentTypeSchema, holdOrderItemRequestSchema, infoFieldSourceSchema, infoSchemaFieldSchema, infoSchemaSchema, infoSectionLocalizationRequestSchema, infoSectionLocalizationSchema, infoSectionRequestSchema, infoSectionSchema, inquiryListQuerySchema, inquirySchema, inquiryWebhookEventDataSchema, inquiryWebhookEventSchema, inventoryAdjustmentLineSchema, inventoryAdjustmentReasonSchema, inventoryAdjustmentRequestSchema, inventoryChangedWebhookEventDataSchema, inventoryChangedWebhookEventSchema, inventoryLevelListQuerySchema, inventoryLevelPageSchema, inventoryLevelSchema, inventoryLocationRequestSchema, inventoryLocationSchema, inventoryModeSchema, inventoryMovementKindSchema, inventoryMovementListQuerySchema, inventoryMovementPageSchema, inventoryMovementSchema, inventoryOperationResultSchema, inventoryTransferRequestSchema, invitationDeliveryStatusSchema, invitationListQuerySchema, invitationSchema, inviteMemberRequestSchema, isAiAgentNotesPath, isAiChoiceAnswer, isAiDesignPath, isAiWorkspaceDocPath, isCouponTargetLine, isCurrencyCode, isEditableStorefrontPath, isInstallableScope, isReservedStoreCode, isReservedStorefrontSlug, isSaleUnitPrice, isShowcaseStorefrontSlug, isStoreScope, isWebOrigin, issueCouponRequestSchema, issueCouponResultSchema, kakaoPayCredentialsInputSchema, linkStorefrontGitInstallationRequestSchema, liveGateConditionCodeSchema, liveGateConditionSchema, liveGateErrorDetailsSchema, liveGateSchema, localeCodeSchema, loginProviderSchema, loginProviderStatusSchema, loginProviderTestSchema, loginSettingsSchema, marketSchema, maskedSecretSchema, matchesCollectionRules, mcpRuleResultSchema, mcpToolEventSchema, migrateFlowVersionRequestSchema, migrateFlowVersionResultSchema, minPaymentOf, minorToMajor, moneyRulesOf, moveFlowStateRequestSchema, moveStorefrontFileRequestSchema, myAccountSchema, myStoreSchema, naverPayCredentialsInputSchema, nightsOf, normalizeBusinessNumber, normalizeCouponCode, normalizeLocale, normalizeStorefrontHostname, normalizeStorefrontPath, oauthTokenResponseSchema, openFulfillmentUnion, optionGroupKindSchema, optionGroupRequestSchema, optionGroupSchema, optionModelRequestSchema, optionModelSchema, optionSelectionSchema, optionSortSchema, optionValueRequestSchema, optionValueSchema, orderCanceledWebhookEventDataSchema, orderCanceledWebhookEventSchema, orderDiscountSchema, orderFlowActionResultSchema, orderFulfilledWebhookEventDataSchema, orderFulfilledWebhookEventSchema, orderItemFlowSchema, orderItemFulfillmentSchema, orderItemFulfillmentSnapshotResponseSchema, orderItemFulfillmentSnapshotSchema, orderItemListQuerySchema, orderItemMemoResultSchema, orderItemPageSchema, orderItemSchema, orderItemStatusSchema, orderListQuerySchema, orderSchema, orderSummaryPageSchema, orderSummarySchema, orderWebhookEventDataSchema, orderWebhookEventSchema, pageInfoSchema, pageQueryShape, pageSchema, parseOrderNo, parseWebhookEvent, payPalCredentialsInputSchema, paymentAttemptRecordSchema, paymentAttemptStatusSchema, paymentCredentialSetSchema, paymentFailureWarningSchema, paymentListQuerySchema, paymentProviderSchema, paymentProviderVerificationSchema, paymentRecordDetailSchema, paymentRecordPageSchema, paymentRecordSchema, paymentRecordStatusSchema, paymentRefundRecordSchema, paymentSettingsSchema, paymentStatusProviderSchema, paymentStatusSchema, pgEnvironmentSchema, pgPaymentMethodSchema, pgProviderResponseSchema, pgProviderSchema, pgVerificationResultSchema, pickupLocationRequestSchema, pickupLocationSchema, pickupLocationSnapshotSchema, planCodeSchema, planEntitlementsSchema, planErrorDetailsSchema, platformCodeSchema, pointAdjustmentRequestSchema, pointAdjustmentResultSchema, pointEarnOf, pointEarnRateBpSchema, pointEarningEnabled, pointEntrySchema, pointExpiresAtOf, pointHistoryQuerySchema, pointLotSchema, pointPolicyNoticeSchema, pointPolicySchema, pointRestoreExpiresAtOf, pointUseOf, pointUsePolicySchema, policyDocumentUrlSchema, policyVersionSchema, portOneChannelSchema, portOneCredentialsInputSchema, productCertificationsRequestSchema, productCertificationsSchema, productCreateRequestSchema, productCurrencyPriceSchema, productCurrencyPricesSchema, productFulfillmentCreateSchema, productFulfillmentResponseSchema, productFulfillmentSchema, productFulfillmentUpdateSchema, productImageRejection, productImageUrlSchema, productListQuerySchema, productLocalizationNeedsTranslation, productLocalizationRequestSchema, productLocalizationSchema, productNoticeRequestSchema, productNoticeSchema, productOutOfStockWebhookEventDataSchema, productOutOfStockWebhookEventSchema, productPatchRequestSchema, productRefundPolicyOverride, productRefundPolicyPatchSchema, productReplaceRequestSchema, productSchema, productSortSchema, productStatusSchema, productSummarySchema, productVariantRequestSchema, productVariantSchema, proratedPaidRefundBase, proratedPointRefund, proratedRefundBase, publicPlanSchema, publicPlansSchema, publishStorefrontVersionRequestSchema, purchaseDecisionExtendResultSchema, purchaseDecisionRequestResultSchema, purchaseEarnPolicySchema, purchaseEarnRateOf, putBrandBriefRequestSchema, quoteDelivery, quotePricing, rankBestSelling, refreshUserToken, refundPolicyPatchSchema, refundPolicySchema, rejectClaimRequestSchema, remoteAreaLabelOf, remoteAreaOf, remoteAreaSchema, remoteSurchargeOf, replaceStorefrontSourceRequestSchema, replayFlowRequestSchema, replayFlowResultSchema, requiresCollection, requiresShipping, resolvePointPolicy, resolveRefundPolicy, resolveShippingPolicy, resolvedFlowSchema, responsePlanCodeSchema, responsePointEntryTypeSchema, reviewListQuerySchema, reviewReportResultSchema, reviewRewardPointOf, reviewRewardPolicySchema, reviewSchema, reviewSortSchema, reviewWebhookEventDataSchema, reviewWebhookEventSchema, rollbackStorefrontRequestSchema, runStorefrontCheckRequestSchema, salesReportCurrencySchema, salesReportGroupBySchema, salesReportQuerySchema, salesReportRowSchema, salesReportSchema, salesTotalsSchema, saveFlowDraftRequestSchema, saveFlowSecretRequestSchema, saveLoginProviderRequestSchema, savedCustomInputRequestSchema, savedCustomInputSchema, savedOptionGroupRequestSchema, savedOptionGroupSchema, savedOptionSetCompositionSchema, savedOptionSetFromProductRequestSchema, savedOptionSetFromProductResultSchema, savedOptionSetListQuerySchema, savedOptionSetLocalizationRequestSchema, savedOptionSetLocalizationSchema, savedOptionSetRequestSchema, savedOptionSetSchema, savedOptionSetSortSchema, savedOptionValueRequestSchema, savedOptionValueSchema, scopeAccessSchema, scopesCoverEvent, searchStorefrontFilesRequestSchema, sellerAddressListQuerySchema, sellerAddressRequestSchema, sellerAddressSchema, sellerCancelPreviewSchema, sellerCheckoutLineSchema, sellerCheckoutPageSchema, sellerCheckoutSchema, sellerCustomerInquirySchema, sendAiMessageRequestSchema, sendAiMessageResponseSchema, setCalendarRequestSchema, setPlatformTestKeysRequestSchema, setStorefrontDeployApprovalRequestSchema, setStorefrontVisibilityRequestSchema, settleCouponShortfall, settlementDetailQuerySchema, settlementDetailSchema, settlementListQuerySchema, settlementStatusSchema, settlementSummarySchema, settlementWithDetailsSchema, shippingAddressSchema, shippingCurrencyPriceSchema, shippingCurrencyPricesSchema, shippingPolicyPatchSchema, shippingPolicySchema, simulateFlowRequestSchema, simulateFlowResultSchema, simulationStepSchema, splitRefund, starterSellerTaskSchema, starterStageSchema, starterStatusSchema, starterStoreInfoFieldSchema, stayRangeSchema, staySnapshotSchema, storeAppDetailSchema, storeAppSchema, storeCodeSchema, storeDraftPreviewSchema, storeDraftSchema, storeIndustrySchema, storeMemberRoleUpdatedSchema, storeMemberSchema, storePointPolicySchema, storeRoleSchema, storeSchema, storeScopeResourceSchema, storeSetupBriefSchema, storeShopTypeSchema, storeSubscriptionSchema, storeTemplateSchema, storedAdditionalCurrencyPriceSchema, storedProductCurrencyPriceSchema, storedShippingCurrencyPriceSchema, storefrontBuildDependenciesSchema, storefrontBuildListQuerySchema, storefrontBuildSchema, storefrontBuildStatusSchema, storefrontCheckSchema, storefrontCheckStatusSchema, storefrontCustomDomainStatusSchema, storefrontCustomHostnameProblem, storefrontDependencyFindingSchema, storefrontDeploymentLogSchema, storefrontDeploymentSchema, storefrontDeploymentStepSchema, storefrontDevLogsSchema, storefrontDnsRecordSchema, storefrontDomainSchema, storefrontDomainTxtNameOf, storefrontEditFailureSchema, storefrontEditPreviewLabelOf, storefrontEditPreviewSchema, storefrontEditSessionSchema, storefrontEditSessionStatusSchema, storefrontEditingSchema, storefrontFileConflictDetailsSchema, storefrontFileContentQuerySchema, storefrontFileContentSchema, storefrontFileDeleteResultSchema, storefrontFileEncodingSchema, storefrontFileEntrySchema, storefrontFileHashSchema, storefrontFileListQuerySchema, storefrontFileListSchema, storefrontFileMoveResultSchema, storefrontFilePathSchema, storefrontFileSearchResultSchema, storefrontFileWriteResultSchema, storefrontGitConnectStateSchema, storefrontGitMergeRequestSchema, storefrontGitMergeSchema, storefrontGitRepositorySchema, storefrontGitStatusSchema, storefrontHostingSchema, storefrontPreviewLinkSchema, storefrontProvisioningSchema, storefrontRuleResultSchema, storefrontRuleSeveritySchema, storefrontSiteDomainSchema, storefrontSiteDomainsSchema, storefrontSiteSchema, storefrontSiteSnapshotSchema, storefrontSiteStatusSchema, storefrontSlugAvailabilityQuerySchema, storefrontSlugAvailabilitySchema, storefrontSlugSchema, storefrontSourceArchivePartSchema, storefrontSourceArchiveQuerySchema, storefrontSourceBlobsResultSchema, storefrontSourceModeSchema, storefrontSourceRefSchema, storefrontSourceReplacedSchema, storefrontSourceSchema, storefrontSuspensionSchema, storefrontTemplateSchema, storefrontVerifyReportSchema, storefrontVersionCreatedSchema, storefrontVersionPreviewLabelOf, storefrontVersionSchema, storefrontVersionStatusSchema, storefrontVisibilitySchema, subscriptionLimitsSchema, subscriptionStatusSchema, subscriptionUsageSchema, toDecimalString, toMinor, tossPaymentsCredentialsInputSchema, trackingStageResponseSchema, trackingUpdateResultSchema, unknownWebhookEventSchema, updateCouponRequestSchema, updateLoginProviderRequestSchema, updateLoginSettingsRequestSchema, updateMarketRequestSchema, updateMemberRoleRequestSchema, updatePaymentProviderRequestSchema, updatePaymentSettingsRequestSchema, updatePointPolicyRequestSchema, updateStoreRequestSchema, updateStoreTemplateRequestSchema, uploadExtensionOf, uploadPurposeSchema, uploadRejection, uploadRequestSchema, uploadStorefrontSourceBlobsRequestSchema, uploadTicketSchema, upsertKakaoPayProviderRequestSchema, upsertNaverPayProviderRequestSchema, upsertPayPalProviderRequestSchema, upsertPortOneProviderRequestSchema, upsertTossPaymentsProviderRequestSchema, variantStockRequestSchema, variantStockSchema, verifyPaymentProviderRequestSchema, webhookCreatedSchema, webhookDeliveryDetailSchema, webhookDeliveryErrorCodeSchema, webhookDeliveryListQuerySchema, webhookDeliveryResourceSchema, webhookDeliverySchema, webhookDeliveryStatusSchema, webhookEventSchema, webhookFailureReasonSchema, webhookRedeliverFailedResultSchema, webhookRequestHeaderSchema, webhookRequestSchema, webhookResourceTypeSchema, webhookSchema, webhookSecretRotatedSchema, webhookStatusSchema, webhookTestRequestSchema, webhookTestResultSchema, withdrawCustomerRequestSchema, writeDryRunResultSchema, writePreviewSchema, writeStorefrontFilesRequestSchema };
11602
+ export { AI_AGENT_NOTES_DIR, AI_AGENT_PHASES, AI_DESIGN_BOARDS_MAX, AI_DESIGN_BOARD_FILE_PATTERN, AI_DESIGN_BOARD_KINDS, AI_DESIGN_CANVAS_PATH, AI_DESIGN_CONFIRM_APPROVE, AI_DESIGN_DIR, AI_DESIGN_GUIDE_PATH, AI_DESIGN_VIEWPORTS, AI_MESSAGE_MAX_ATTACHMENTS, AI_MESSAGE_MAX_CHARS, AI_RUN_ACTIVE_STATUSES, AI_RUN_FILE_CHANGES_RETENTION_DAYS, AI_RUN_RESUME_CHOICE, AI_SETUP_CONFIRM_APPROVE, AI_SITEMAP_PATH, AI_TODOS_MAX, AI_TODO_STATUSES, AI_TOOL_CHANGE_LINE_MAX, AI_TOOL_CHANGE_RANGES_MAX, APPROVAL_ALREADY_DECIDED_CODE, APPROVAL_REQUIRED_CODE, APP_CAPABILITIES, APP_DEPLOY_KEY_PATTERN, APP_DEPLOY_KEY_PREFIX, APP_EVENTS_MAX, APP_EVENT_SCOPES, APP_EVENT_TYPES, APP_FLOW_EVENT_PATTERN, APP_FLOW_ITEMS_MAX, APP_FLOW_NOTIFICATION_PATTERN, APP_HANDLE_PATTERN, APP_HTTP_KEY_PATTERN, APP_ICON_CONTENT_TYPES, APP_ICON_MAX_BYTES, APP_ICON_MIN_PX, APP_LIFECYCLE_EVENT_TYPES, APP_NETWORK_DENIED_SUFFIXES, APP_NETWORK_HOSTS_MAX, APP_PUBLIC_HTTP_MAX, APP_README_MAX_BYTES, APP_RESERVED_HANDLES, APP_SCHEDULES_MAX, APP_SCHEDULE_INTERVALS, APP_SCHEDULE_NAME_PATTERN, APP_SECRETS_MAX, APP_SECRET_NAME_PATTERN, APP_SECRET_PATTERNS, APP_SERVER_BUNDLE_MAX_GZIP_BYTES, APP_SETTINGS_MAX_FIELDS, APP_SETTING_FIELD_TYPES, APP_SETTING_KEY_PATTERN, APP_STORAGE_KEY_PATTERN, APP_STORAGE_MAX_BYTES, APP_STORAGE_MAX_KEYS, APP_TOOL_NAME_PATTERN, APP_UI_MAX_BYTES, APP_UI_MAX_FILES, ApiError, ApprovalPendingError, BASE_CURRENCY, BRAND_BRIEF_MAX_REFERENCES, BUSINESS_INFO_MAX_LENGTH, BUSINESS_NUMBER_PATTERN, CASH_RECEIPT_STATUS_VALUES, CERTIFICATION_STATUSES, COLLECTION_BEST_SELLING_DAYS, COLLECTION_PREVIEW_SIZE, COLLECTION_PRODUCT_SORTS, COLLECTION_SALES_SORT_DEFAULT_DAYS, COLLECTION_SLUG_PATTERN, COLLECTION_TYPES, COUPON_CODE_PATTERN, COUPON_CONDITIONS_DEFAULTS, COUPON_TARGET_ALL, COUPON_TARGET_LIST_MAX, CURRENCIES, CURRENCY_CODES, CUSTOM_INPUT_FORBIDDEN_WORDS, CUSTOM_INPUT_TYPES, DEDICATED_EASY_PAY_PROVIDER, DEFAULT_STORE_LOCALE, FULFILLMENT_METHODS, FULFILLMENT_METHODS_BY_TYPE, FULFILLMENT_METHOD_RULES, FULFILLMENT_RULES, INSTALLABLE_SCOPES, InvalidPriceUnitError, KAKAOPAY_TEST_CID, KNOWN_WEBHOOK_EVENT_TYPES, KRW_MONEY_RULES, MAX_ADDON_GROUPS, MAX_ANALYTICS_ALLOWED_ORIGINS, MAX_AUTO_TRANSITION_DAYS, MAX_CALENDAR_DAYS, MAX_CERTIFICATION_ITEMS, MAX_COLLECTIONS, MAX_COLLECTION_BEST_SELLING_TOP, MAX_COLLECTION_CREATED_WITHIN_DAYS, MAX_COLLECTION_DESCRIPTION, MAX_COLLECTION_PRODUCTS, MAX_COLLECTION_PRODUCTS_PER_ADD, MAX_COLLECTION_RULES, MAX_COLLECTION_RULE_CATEGORIES, MAX_COLLECTION_TITLE, MAX_CUSTOM_INPUTS, MAX_CUSTOM_INPUT_LENGTH, MAX_INFO_SECTION_TITLE, MAX_INVENTORY_OPERATION_LINES, MAX_NOTICE_VALUE_LENGTH, MAX_OPTION_GROUPS, MAX_PICKUP_LOCATIONS, MAX_PRODUCT_IMAGES, MAX_PRODUCT_INFO_SECTIONS, MAX_SAVED_OPTION_SETS, MAX_SAVED_OPTION_SET_NAME, MAX_STAY_NIGHTS, MAX_VALUES_PER_GROUP, MAX_VARIANTS, MCP_TELEMETRY_MAX_RESULTS, MIN_PAYMENT_AMOUNT, NON_INSTALLABLE_SCOPES, NO_COUPON_SETTLEMENT, NO_SHIPPING_BUNDLE_KEY, PAYMENT_ROUTING_EXCLUSION_CODES, PAYPAL_CURRENCIES, PLATFORM_CODE_SETS, POINT_ADJUSTMENT_MAX, POINT_EARN_RATE_BP_MAX, POINT_ENTRY_TYPES, POINT_EXPIRY_DAYS_MAX, POINT_EXPIRY_DAYS_MIN, POINT_LOT_SOURCES, POINT_POLICY_DEFAULTS, POINT_REVIEW_REWARD_MAX, POINT_USE_UNITS, PORTONE_CHANNEL_NAME_MAX_LENGTH, PORTONE_MAX_CHANNELS, PORTONE_MIN_CHANNELS, REFUND_POLICY_DEFAULTS, REFUND_POLICY_DELIVERY_FEE_KEYS, REMOTE_AREA_ZIP_RANGES, RESERVED_STOREFRONT_SLUGS, RESERVED_STORE_CODES, SAYREN_API_BASE_URL, SAYREN_API_ORIGIN, SCOPE_DESCRIPTIONS, SHIPPING_POLICY_DEFAULTS, STARTER_SELLER_TASKS, STARTER_STAGES, STOREFRONT_BLOCKED_PATH_SEGMENTS, STOREFRONT_BUILD_STAGES, STOREFRONT_BUILD_TERMINAL_STATUSES, STOREFRONT_CHECK_TERMINAL_STATUSES, STOREFRONT_CLOSED_SITE_HOLD_DAYS, STOREFRONT_CUSTOM_DOMAIN_LIMIT_DEFAULT, STOREFRONT_DOMAIN_DNS_GRACE_DAYS, STOREFRONT_DOMAIN_DNS_WAIT_DAYS, STOREFRONT_DOMAIN_TXT_LABEL, STOREFRONT_EDIT_ACTIVITY_TIMEOUT_MINUTES, STOREFRONT_EDIT_CAPACITY, STOREFRONT_EDIT_IDLE_MINUTES, STOREFRONT_EDIT_PREVIEW_SUFFIX, STOREFRONT_EDIT_START_STAGES, STOREFRONT_FILE_BATCH_MAX, STOREFRONT_FILE_MAX_BYTES, STOREFRONT_PATH_SEGMENT_PATTERN, STOREFRONT_PLATFORM_DOMAINS, STOREFRONT_PUBLIC_SUFFIXES, STOREFRONT_SEARCH_REGEX_MAX_LENGTH, STOREFRONT_SHOWCASE_SLUG_PREFIX, STOREFRONT_SITE_CREATE_LIMIT, STOREFRONT_SLUG_CHANGE_LIMIT, STOREFRONT_SLUG_CHANGE_WINDOW_DAYS, STOREFRONT_SLUG_HOLD_DAYS, STOREFRONT_SLUG_PATTERN, STOREFRONT_SOURCE_BLOB_BATCH_MAX, STOREFRONT_SOURCE_PART_BYTES, STOREFRONT_WORKSPACE_MAX_BYTES, STOREFRONT_WORKSPACE_MAX_FILES, STORE_CODE_PATTERN, STORE_DRAFT_ATTACHMENT_MAX_BYTES, STORE_DRAFT_MAX_ATTACHMENTS, STORE_DRAFT_RETENTION_DAYS, STORE_ROLE_SCOPES, STORE_SCOPE_RESOURCES, STORE_SESSION_KEYS, STORE_SHOP_TYPES, TEMPLATE_STORE_LOCKED_BUSINESS_FIELDS, TOSS_WIDGET_CLIENT_KEY_PATTERN, TOSS_WIDGET_KEY_MESSAGE, TOSS_WIDGET_SECRET_KEY_PATTERN, UPLOAD_PURPOSE_LIMITS, VARIANT_COUNT_WARNING, VARIANT_STOCK_EXCLUSIVE_MESSAGE, WEBHOOK_DEFAULT_TOLERANCE_SEC, WEBHOOK_DELIVERY_ID_HEADER, WEBHOOK_EVENT_ID_HEADER, WEBHOOK_EVENT_TYPE_HEADER, WEBHOOK_FAILURE_REASONS, WEBHOOK_HEADERS, WEBHOOK_PAYLOAD_EXCERPT_MAX_BYTES, WEBHOOK_RESOURCE_TYPES, WEBHOOK_SIGNATURE_HEADER, WEBHOOK_USER_AGENT, addStorefrontDomainRequestSchema, additionalCurrencyPriceSchema, additionalCurrencyPricesSchema, addonGroupRequestSchema, addonGroupSchema, addonValueRequestSchema, addonValueSchema, addressChangeRequestListSchema, addressTypeSchema, agentPolicyDecisionSchema, aiActivitySchema, aiAgentPhaseSchema, aiAttachmentSchema, aiChoiceOptionSchema, aiConversationFileChangesSchema, aiConversationSchema, aiConversationSummarySchema, aiDesignBoardSchema, aiDesignCanvasSchema, aiDesignConfirmBoardSchema, aiDesignSelectionSchema, aiFileChangeKindSchema, aiFocusAreaSchema, aiFocusSchema, aiMessagePartSchema, aiMessageSchema, aiPreviewSelectionSchema, aiRunChangesSchema, aiRunChangesStatusSchema, aiRunFileDiffSchema, aiRunRevertConflictDetailsSchema, aiRunRevertResultSchema, aiRunSchema, aiRunStatusSchema, aiSetupConfirmItemSchema, aiStreamAccessSchema, aiStreamEventSchema, aiStreamRecordSchema, aiTodoSchema, aiToolChangeSchema, allocateByWeight, analyticsChannelSchema, analyticsCheckoutOutcomeSchema, analyticsCheckoutSchema, analyticsDeviceRowSchema, analyticsDevicesSchema, analyticsFunnelStepSchema, analyticsOriginSchema, analyticsOverviewSchema, analyticsPagesQuerySchema, analyticsPagesSchema, analyticsProductRowSchema, analyticsProductSortSchema, analyticsProductsQuerySchema, analyticsProductsSchema, analyticsRangeQuerySchema, analyticsRealtimeSchema, analyticsSearchQuerySchema, analyticsSearchSchema, analyticsSourceGroupBySchema, analyticsSourceRowSchema, analyticsSourcesQuerySchema, analyticsSourcesSchema, analyticsTotalsSchema, apiLogErrorSchema, apiLogListQuerySchema, apiLogPageSchema, apiLogPrincipalSchema, apiLogPrincipalTypeSchema, apiLogSchema, apiLogStatusFilterSchema, apiLogSummarySchema, appArtifactUploadSchema, appBuildSchema, appBuildStageSchema, appCapabilitiesOf, appDeployKeyCreateSchema, appDeployKeyCreatedSchema, appDeployKeySchema, appDevTokenSchema, appDistributionSchema, appEventTypeSchema, appFlowEventSchema, appFlowEventSummarySchema, appFlowNotificationSchema, appFlowNotificationSummarySchema, appFlowParamSchema, appFlowSummaryOf, appHandleSchema, appHttpKeyMatches, appIconProblem, appInstallRequestSchema, appInstallationActivitySchema, appInstallationAppSchema, appInstallationRunSchema, appInstallationSchema, appInstallationSelfSchema, appInstallationSettingsSchema, appInstallationSettingsUpdateSchema, appInstallationStatusSchema, appInvocationSchema, appListingReviewSchema, appListingReviewStatusSchema, appListingSchema, appManifestProblems, appManifestSchema, appManifestWidens, appNetworkHostProblem, appNetworkHostSchema, appReleaseResultSchema, appRuntimeSchema, appScheduleIntervalLabel, appScheduleListOf, appScheduleSummarySchema, appScopeSchema, appSecretSummarySchema, appSessionSchema, appSettingFieldSchema, appStatusSchema, appStorageEntrySchema, appStorageKeysSchema, appStorageListQuerySchema, appStoragePutSchema, appToolCallSchema, appToolInputSchema, appToolListOf, appToolResultSchema, appToolSchema, appToolSummarySchema, appVersionSchema, appVersionStatusSchema, appVisibilitySchema, applyFlowOperationsRequestSchema, approvalDecisionRequestSchema, approvalListQuerySchema, approvalPageSchema, approvalRequestSchema, approvalStatusSchema, approveClaimResultSchema, assertSaleUnit, auditActorSchema, auditActorTypeSchema, auditLogListQuerySchema, auditLogOutcomeSchema, auditLogPageSchema, auditLogSchema, auditLogSourceSchema, bestSellingRuleOf, brandBriefProductSourceSchema, brandBriefReferenceSchema, brandBriefSchema, brandBriefViewSchema, buildAuthorizeUrl, buildQuery, bulkResultSchema, businessInfoPatchShape, businessInfoResponseShape, businessNumberSchema, calendarDateSchema, calendarDaySchema, calendarQuerySchema, cancelBySellerRequestSchema, cancelBySellerResultSchema, carrierSchema, cashReceiptSchema, categoryAttributeSchema, categoryCreateRequestSchema, categoryDeleteQuerySchema, categoryDeleteStrategySchema, categoryListQuerySchema, categoryLocalizationRequestSchema, categoryLocalizationSchema, categoryPatchRequestSchema, categoryProductSortSchema, categorySchema, categorySearchResultSchema, categoryTreeNodeSchema, categoryWithPathSchema, changeStorefrontSlugRequestSchema, changeStorefrontTemplateRequestSchema, changeTypeSchema, claimCollectCompleteRequestSchema, claimDetailSchema, claimFlowEditSessionRequestSchema, claimHoldResultSchema, claimListQuerySchema, claimReasonSchema, claimRedeliveryRequestSchema, claimReturnAddressSchema, claimSchema, claimStatusSchema, claimTypeSchema, claimWebhookEventDataSchema, claimWebhookEventSchema, collectionCreateRequestSchema, collectionListQuerySchema, collectionLocalizationRequestSchema, collectionLocalizationSchema, collectionPageSchema, collectionPatchRequestSchema, collectionPreviewRequestSchema, collectionPreviewSchema, collectionProductListQuerySchema, collectionProductSchema, collectionProductSortRequestSchema, collectionProductsAddRequestSchema, collectionProductsReplaceRequestSchema, collectionRuleCategoryIds, collectionRuleSchema, collectionRuleViewSchema, collectionRulesPredicate, collectionRulesSchema, collectionSchema, collectionStateCountsSchema, collectionStateOf, collectionStateSchema, commerceFlowCheckSchema, commerceFlowSchema, commerceFlowSummarySchema, commerceFlowVersionViewSchema, commerceNumberField, compareBySales, connectStorefrontGitRequestSchema, consentActionSchema, consentKindSchema, consentSourceSchema, couponBenefitSchema, couponConditionsInputSchema, couponConditionsSchema, couponDiscountOf, couponIssueListQuerySchema, couponIssueMethodSchema, couponIssueSchema, couponIssueStatusSchema, couponKindSchema, couponListQuerySchema, couponRedemptionListQuerySchema, couponRedemptionSchema, couponRejectReasonSchema, couponRuleSchema, couponSchema, couponStatsSchema, couponStatusSchema, couponTargetInputSchema, couponTargetSchema, createAiConversationRequestSchema, createAiConversationResponseSchema, createCommerceFlowRequestSchema, createCouponRequestSchema, createMarketRequestSchema, createOrderRequestSchema, createPkcePair, createSellerCheckoutRequestSchema, createStoreClient, createStoreDraftRequestSchema, createStoreDraftResponseSchema, createStoreSession, createStorefrontEditPreviewLinkRequestSchema, createStorefrontPreviewLinkRequestSchema, createStorefrontSiteRequestSchema, createStorefrontVersionRequestSchema, createdOrderSchema, currencyCodeSchema, currencyRefundFeesSchema, currencyShippingPolicySchema, currencySpecOf, customInputLabelForbiddenWord, customInputRequestSchema, customInputSchema, customInputValueSchema, customerAddressSchema, customerConsentListQuerySchema, customerConsentSchema, customerConsentStateSchema, customerConsentsSchema, customerCouponSchema, customerDelegationRequestSchema, customerDelegationSchema, customerDetailSchema, customerInquiryCategorySchema, customerInquiryListQuerySchema, customerListQuerySchema, customerOrderSchema, customerPointsSchema, customerSortSchema, customerStatsSchema, customerSummarySchema, customerWithdrawalBlockedDetailsSchema, defaultFulfillmentMethodOf, deleteStorefrontFileRequestSchema, deliveryBundleKeyOf, deliveryFeeWaiverSchema, deliveryInfoSchema, deliveryMethodSchema, deliveryStatusSchema, deliveryTypeSchema, descendantCategoryIdsOf, describeScope, devStoreSchema, developerAppCreateSchema, developerAppSchema, developerInstallationSchema, developerOrgSchema, developerStoreSchema, directOrderShippingAddressSchema, disableStorefrontHostingRequestSchema, discountRequestSchema, discountSchema, dispatchRequestSchema, easyPayProviderResponseSchema, easyPayProviderSchema, eventTypeSchema, exchangeAuthorizationCode, floorToSaleUnit, flowActionRequestSchema, flowActionResultSchema, flowActionSchema, flowAuthoringGuideSchema, flowDraftEdgesSchema, flowDraftNodeSchema, flowDraftNodesSchema, flowDraftOperationSchema, flowEditSessionViewSchema, flowFieldValueSchema, flowInputFieldSchema, flowIssueSchema, flowNodeIdSchema, flowNodeTypeDetailSchema, flowNodeTypesSchema, flowNotificationWebhookEventDataSchema, flowNotificationWebhookEventSchema, flowOperationsResultSchema, flowPresetDetailSchema, flowPresetSummarySchema, flowRunSchema, flowRunStepSchema, flowSecretNameSchema, flowSecretSchema, flowStateChangedWebhookEventDataSchema, flowStateChangedWebhookEventSchema, flowStateSchema, formatOrderNo, fromDecimalString, fulfillBulkRequestSchema, fulfillRequestSchema, fulfillmentMethodOf, fulfillmentMethodSchema, fulfillmentMethodsOf, fulfillmentRuleOf, fulfillmentTypeOf, fulfillmentTypeResponseSchema, fulfillmentTypeSchema, holdOrderItemRequestSchema, infoFieldSourceSchema, infoSchemaFieldSchema, infoSchemaSchema, infoSectionLocalizationRequestSchema, infoSectionLocalizationSchema, infoSectionRequestSchema, infoSectionSchema, inquiryListQuerySchema, inquirySchema, inquiryWebhookEventDataSchema, inquiryWebhookEventSchema, inventoryAdjustmentLineSchema, inventoryAdjustmentReasonSchema, inventoryAdjustmentRequestSchema, inventoryChangedWebhookEventDataSchema, inventoryChangedWebhookEventSchema, inventoryLevelListQuerySchema, inventoryLevelPageSchema, inventoryLevelSchema, inventoryLocationRequestSchema, inventoryLocationSchema, inventoryModeSchema, inventoryMovementKindSchema, inventoryMovementListQuerySchema, inventoryMovementPageSchema, inventoryMovementSchema, inventoryOperationResultSchema, inventoryTransferRequestSchema, invitationDeliveryStatusSchema, invitationListQuerySchema, invitationSchema, inviteMemberRequestSchema, isAiAgentNotesPath, isAiChoiceAnswer, isAiDesignPath, isAiWorkspaceDocPath, isCouponTargetLine, isCurrencyCode, isEditableStorefrontPath, isInstallableScope, isReservedStoreCode, isReservedStorefrontSlug, isSaleUnitPrice, isShowcaseStorefrontSlug, isStoreScope, isWebOrigin, issueCouponRequestSchema, issueCouponResultSchema, kakaoPayCredentialsInputSchema, linkStorefrontGitInstallationRequestSchema, liveGateConditionCodeSchema, liveGateConditionSchema, liveGateErrorDetailsSchema, liveGateSchema, localeCodeSchema, loginProviderSchema, loginProviderStatusSchema, loginProviderTestSchema, loginSettingsSchema, marketSchema, maskedSecretSchema, matchesCollectionRules, mcpRuleResultSchema, mcpToolEventSchema, migrateFlowVersionRequestSchema, migrateFlowVersionResultSchema, minPaymentOf, minorToMajor, moneyRulesOf, moveFlowStateRequestSchema, moveStorefrontFileRequestSchema, myAccountSchema, myStoreSchema, naverPayCredentialsInputSchema, nightsOf, normalizeBusinessNumber, normalizeCouponCode, normalizeLocale, normalizeStorefrontHostname, normalizeStorefrontPath, oauthTokenResponseSchema, openFulfillmentUnion, optionGroupKindSchema, optionGroupRequestSchema, optionGroupSchema, optionModelRequestSchema, optionModelSchema, optionSelectionSchema, optionSortSchema, optionValueRequestSchema, optionValueSchema, orderCanceledWebhookEventDataSchema, orderCanceledWebhookEventSchema, orderDiscountSchema, orderFlowActionResultSchema, orderFulfilledWebhookEventDataSchema, orderFulfilledWebhookEventSchema, orderItemFlowSchema, orderItemFulfillmentSchema, orderItemFulfillmentSnapshotResponseSchema, orderItemFulfillmentSnapshotSchema, orderItemListQuerySchema, orderItemMemoResultSchema, orderItemPageSchema, orderItemSchema, orderItemStatusSchema, orderListQuerySchema, orderPaymentAddedWebhookEventDataSchema, orderPaymentAddedWebhookEventSchema, orderPaymentRequestedWebhookEventDataSchema, orderPaymentRequestedWebhookEventSchema, orderPaymentSchema, orderSchema, orderSummaryPageSchema, orderSummarySchema, orderWebhookEventDataSchema, orderWebhookEventSchema, pageInfoSchema, pageQueryShape, pageSchema, parseOrderNo, parseWebhookEvent, payPalCredentialsInputSchema, paymentAttemptRecordSchema, paymentAttemptStatusSchema, paymentCredentialSetSchema, paymentFailureWarningSchema, paymentListQuerySchema, paymentProviderSchema, paymentProviderVerificationSchema, paymentRecordDetailSchema, paymentRecordPageSchema, paymentRecordSchema, paymentRecordStatusSchema, paymentRefundRecordSchema, paymentSettingsSchema, paymentStatusProviderSchema, paymentStatusSchema, pgEnvironmentSchema, pgPaymentMethodSchema, pgProviderResponseSchema, pgProviderSchema, pgVerificationResultSchema, pickupLocationRequestSchema, pickupLocationSchema, pickupLocationSnapshotSchema, planCodeSchema, planEntitlementsSchema, planErrorDetailsSchema, platformCodeSchema, pointAdjustmentRequestSchema, pointAdjustmentResultSchema, pointEarnOf, pointEarnRateBpSchema, pointEarningEnabled, pointEntrySchema, pointExpiresAtOf, pointHistoryQuerySchema, pointLotSchema, pointPolicyNoticeSchema, pointPolicySchema, pointRestoreExpiresAtOf, pointUseOf, pointUsePolicySchema, policyDocumentUrlSchema, policyVersionSchema, portOneChannelSchema, portOneCredentialsInputSchema, productCertificationsRequestSchema, productCertificationsSchema, productCreateRequestSchema, productCurrencyPriceSchema, productCurrencyPricesSchema, productFulfillmentCreateSchema, productFulfillmentResponseSchema, productFulfillmentSchema, productFulfillmentUpdateSchema, productImageRejection, productImageUrlSchema, productListQuerySchema, productLocalizationNeedsTranslation, productLocalizationRequestSchema, productLocalizationSchema, productNoticeRequestSchema, productNoticeSchema, productOutOfStockWebhookEventDataSchema, productOutOfStockWebhookEventSchema, productPatchRequestSchema, productRefundPolicyOverride, productRefundPolicyPatchSchema, productReplaceRequestSchema, productSchema, productSortSchema, productStatusSchema, productSummarySchema, productVariantRequestSchema, productVariantSchema, proratedPaidRefundBase, proratedPointRefund, proratedRefundBase, publicPlanSchema, publicPlansSchema, publishStorefrontVersionRequestSchema, purchaseDecisionExtendResultSchema, purchaseDecisionRequestResultSchema, purchaseEarnPolicySchema, purchaseEarnRateOf, putBrandBriefRequestSchema, quoteDelivery, quotePricing, rankBestSelling, refreshUserToken, refundPolicyPatchSchema, refundPolicySchema, rejectClaimRequestSchema, remoteAreaLabelOf, remoteAreaOf, remoteAreaSchema, remoteSurchargeOf, replaceStorefrontSourceRequestSchema, replayFlowRequestSchema, replayFlowResultSchema, requiresCollection, requiresShipping, resolvePointPolicy, resolveRefundPolicy, resolveShippingPolicy, resolvedFlowSchema, responsePlanCodeSchema, responsePointEntryTypeSchema, reviewListQuerySchema, reviewReportResultSchema, reviewRewardPointOf, reviewRewardPolicySchema, reviewSchema, reviewSortSchema, reviewWebhookEventDataSchema, reviewWebhookEventSchema, rollbackStorefrontRequestSchema, runStorefrontCheckRequestSchema, salesReportCurrencySchema, salesReportGroupBySchema, salesReportQuerySchema, salesReportRowSchema, salesReportSchema, salesTotalsSchema, saveFlowDraftRequestSchema, saveFlowSecretRequestSchema, saveLoginProviderRequestSchema, savedCustomInputRequestSchema, savedCustomInputSchema, savedOptionGroupRequestSchema, savedOptionGroupSchema, savedOptionSetCompositionSchema, savedOptionSetFromProductRequestSchema, savedOptionSetFromProductResultSchema, savedOptionSetListQuerySchema, savedOptionSetLocalizationRequestSchema, savedOptionSetLocalizationSchema, savedOptionSetRequestSchema, savedOptionSetSchema, savedOptionSetSortSchema, savedOptionValueRequestSchema, savedOptionValueSchema, scopeAccessSchema, scopesCoverEvent, searchStorefrontFilesRequestSchema, sellerAddressListQuerySchema, sellerAddressRequestSchema, sellerAddressSchema, sellerCancelPreviewSchema, sellerCheckoutLineSchema, sellerCheckoutPageSchema, sellerCheckoutSchema, sellerCustomerInquirySchema, sendAiMessageRequestSchema, sendAiMessageResponseSchema, setCalendarRequestSchema, setPlatformTestKeysRequestSchema, setStorefrontDeployApprovalRequestSchema, setStorefrontVisibilityRequestSchema, settleCouponShortfall, settlementDetailQuerySchema, settlementDetailSchema, settlementListQuerySchema, settlementStatusSchema, settlementSummarySchema, settlementWithDetailsSchema, shippingAddressSchema, shippingCurrencyPriceSchema, shippingCurrencyPricesSchema, shippingPolicyPatchSchema, shippingPolicySchema, simulateFlowRequestSchema, simulateFlowResultSchema, simulationStepSchema, splitRefund, starterSellerTaskSchema, starterStageSchema, starterStatusSchema, starterStoreInfoFieldSchema, stayRangeSchema, staySnapshotSchema, storeAppDetailSchema, storeAppSchema, storeCodeSchema, storeDraftPreviewSchema, storeDraftSchema, storeIndustrySchema, storeMemberRoleUpdatedSchema, storeMemberSchema, storePointPolicySchema, storeRoleSchema, storeSchema, storeScopeResourceSchema, storeSetupBriefSchema, storeShopTypeSchema, storeSubscriptionSchema, storeTemplateSchema, storedAdditionalCurrencyPriceSchema, storedProductCurrencyPriceSchema, storedShippingCurrencyPriceSchema, storefrontBuildDependenciesSchema, storefrontBuildListQuerySchema, storefrontBuildSchema, storefrontBuildStatusSchema, storefrontCheckSchema, storefrontCheckStatusSchema, storefrontCustomDomainStatusSchema, storefrontCustomHostnameProblem, storefrontDependencyFindingSchema, storefrontDeploymentLogSchema, storefrontDeploymentSchema, storefrontDeploymentStepSchema, storefrontDevLogsSchema, storefrontDnsRecordSchema, storefrontDomainSchema, storefrontDomainTxtNameOf, storefrontEditFailureSchema, storefrontEditPreviewLabelOf, storefrontEditPreviewSchema, storefrontEditSessionSchema, storefrontEditSessionStatusSchema, storefrontEditingSchema, storefrontFileConflictDetailsSchema, storefrontFileContentQuerySchema, storefrontFileContentSchema, storefrontFileDeleteResultSchema, storefrontFileEncodingSchema, storefrontFileEntrySchema, storefrontFileHashSchema, storefrontFileListQuerySchema, storefrontFileListSchema, storefrontFileMoveResultSchema, storefrontFilePathSchema, storefrontFileSearchResultSchema, storefrontFileWriteResultSchema, storefrontGitConnectStateSchema, storefrontGitMergeRequestSchema, storefrontGitMergeSchema, storefrontGitRepositorySchema, storefrontGitStatusSchema, storefrontHostingSchema, storefrontPreviewLinkSchema, storefrontProvisioningSchema, storefrontRuleResultSchema, storefrontRuleSeveritySchema, storefrontSiteDomainSchema, storefrontSiteDomainsSchema, storefrontSiteSchema, storefrontSiteSnapshotSchema, storefrontSiteStatusSchema, storefrontSlugAvailabilityQuerySchema, storefrontSlugAvailabilitySchema, storefrontSlugSchema, storefrontSourceArchivePartSchema, storefrontSourceArchiveQuerySchema, storefrontSourceBlobsResultSchema, storefrontSourceModeSchema, storefrontSourceRefSchema, storefrontSourceReplacedSchema, storefrontSourceSchema, storefrontSuspensionSchema, storefrontTemplateSchema, storefrontVerifyReportSchema, storefrontVersionCreatedSchema, storefrontVersionPreviewLabelOf, storefrontVersionSchema, storefrontVersionStatusSchema, storefrontVisibilitySchema, subscriptionLimitsSchema, subscriptionStatusSchema, subscriptionUsageSchema, toDecimalString, toMinor, tossPaymentsCredentialsInputSchema, trackingStageResponseSchema, trackingUpdateResultSchema, unknownWebhookEventSchema, updateCouponRequestSchema, updateLoginProviderRequestSchema, updateLoginSettingsRequestSchema, updateMarketRequestSchema, updateMemberRoleRequestSchema, updatePaymentProviderRequestSchema, updatePaymentSettingsRequestSchema, updatePointPolicyRequestSchema, updateStoreRequestSchema, updateStoreTemplateRequestSchema, uploadExtensionOf, uploadPurposeSchema, uploadRejection, uploadRequestSchema, uploadStorefrontSourceBlobsRequestSchema, uploadTicketSchema, upsertKakaoPayProviderRequestSchema, upsertNaverPayProviderRequestSchema, upsertPayPalProviderRequestSchema, upsertPortOneProviderRequestSchema, upsertTossPaymentsProviderRequestSchema, variantStockRequestSchema, variantStockSchema, verifyPaymentProviderRequestSchema, webhookCreatedSchema, webhookDeliveryDetailSchema, webhookDeliveryErrorCodeSchema, webhookDeliveryListQuerySchema, webhookDeliveryResourceSchema, webhookDeliverySchema, webhookDeliveryStatusSchema, webhookEventSchema, webhookFailureReasonSchema, webhookRedeliverFailedResultSchema, webhookRequestHeaderSchema, webhookRequestSchema, webhookResourceTypeSchema, webhookSchema, webhookSecretRotatedSchema, webhookStatusSchema, webhookTestRequestSchema, webhookTestResultSchema, withdrawCustomerRequestSchema, writeDryRunResultSchema, writePreviewSchema, writeStorefrontFilesRequestSchema };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sayren/store-sdk",
3
- "version": "0.45.0",
3
+ "version": "0.47.0",
4
4
  "main": "./dist/index.mjs",
5
5
  "types": "./dist/index.d.mts",
6
6
  "exports": {
package/src/client.ts CHANGED
@@ -84,7 +84,10 @@ import {
84
84
  categoryWithPathSchema,
85
85
  } from "./schemas/category";
86
86
  import {
87
+ type CreateOrderRequest,
87
88
  type CreateSellerCheckoutRequest,
89
+ createdOrderSchema,
90
+ createOrderRequestSchema,
88
91
  createSellerCheckoutRequestSchema,
89
92
  sellerCheckoutPageSchema,
90
93
  sellerCheckoutSchema,
@@ -961,6 +964,14 @@ export function createStoreClient(options: StoreClientOptions) {
961
964
  query: params as unknown as Query,
962
965
  }),
963
966
  get: (orderId: string) => storeHttp.request("GET", path`/orders/${orderId}`, orderSchema),
967
+ /**
968
+ * `POST /v1/orders` — 주문 직접 생성(이슈 #117). 결제 대기 주문과 결제 요청을 만든다. 응답 `paymentRequest.checkoutUrl`이 구매자에게 보낼 결제 링크다.
969
+ * 결제 기한까지 결제하지 않으면 주문이 자동으로 취소된다
970
+ */
971
+ create: (body: CreateOrderRequest) =>
972
+ storeHttp.request("POST", "/orders", createdOrderSchema, {
973
+ body: createOrderRequestSchema.parse(body),
974
+ }),
964
975
  /**
965
976
  * `POST /v1/orders/{orderId}/cash-receipt/reissue` — 실패했거나 재시도 대기 중인 현금영수증을 지금 다시 발급·취소한다.
966
977
  * 상점 플랫폼 OWNER·ADMIN 전용(PAT·M2M 403 `INSUFFICIENT_ROLE`). 404 `CASH_RECEIPT_NOT_FOUND`, 409 `CASH_RECEIPT_NOT_REISSUABLE`
@@ -133,6 +133,8 @@ export const APP_EVENT_SCOPES: Record<AppEventType, string | null> = {
133
133
  "ORDER.CANCELED": "order:r",
134
134
  "ORDER.FLOW_NOTIFICATION": "order:r",
135
135
  "ORDER.FLOW_STATE_CHANGED": "order:r",
136
+ "ORDER.PAYMENT_ADDED": "order:r",
137
+ "ORDER.PAYMENT_REQUESTED": "order:r",
136
138
  "CLAIM.CANCEL_REQUESTED": "claim:r",
137
139
  "CLAIM.RETURN_REQUESTED": "claim:r",
138
140
  "CLAIM.EXCHANGE_REQUESTED": "claim:r",
@@ -68,6 +68,15 @@ export const createSellerCheckoutRequestSchema = strictRequest(
68
68
  .optional()
69
69
  .default(false)
70
70
  .describe("구매자가 이 주문서에 적립금을 쓸 수 있는가. 기본 false"),
71
+ orderId: z
72
+ .string()
73
+ .optional()
74
+ .describe(
75
+ "추가 결제(이슈 #117) — 주면 이 주문에 대한 결제 요청이다. 만들면 줄이 결제 대기로 이 주문에 들어가고, 결제하면 결제완료가 되며 그 줄의 환불은 이 결제에서 한다. " +
76
+ "유효 기한까지 결제하지 않으면(또는 만료시키면) 결제 대기 줄은 자동으로 취소된다. " +
77
+ "주문의 주문자·배송지·통화를 쓰고 배송비가 없다. 쿠폰·적립금을 켤 수 없고(400 `VALIDATION_FAILED`) 재고는 보지 않는다(`trackInventory`를 무시한다). " +
78
+ "없는 주문은 404 `ORDER_NOT_FOUND`",
79
+ ),
71
80
  }),
72
81
  );
73
82
 
@@ -122,7 +131,15 @@ export const sellerCheckoutSchema = z.object({
122
131
  trackInventory: z.boolean(),
123
132
  couponsEnabled: z.boolean(),
124
133
  pointsEnabled: z.boolean(),
125
- orderId: z.string().nullable().describe("결제로 만들어진 주문. 결제 전이면 null"),
134
+ orderId: z
135
+ .string()
136
+ .nullable()
137
+ .describe(
138
+ "결제가 속한 주문. 보통 주문서는 결제로 만들어진 주문이고 결제 전이면 null이다. 추가 결제(요청의 `orderId`)는 처음부터 그 주문이다",
139
+ ),
140
+ additionalPayment: z
141
+ .boolean()
142
+ .describe("추가 결제(이슈 #117)인가 — true면 결제가 `orderId` 주문에 줄을 붙인다"),
126
143
  createdAt: z.string(),
127
144
  expiresAt: z.string(),
128
145
  });
@@ -132,3 +149,78 @@ export type SellerCheckout = z.infer<typeof sellerCheckoutSchema>;
132
149
  export const sellerCheckoutPageSchema = pageSchema(sellerCheckoutSchema);
133
150
 
134
151
  export type SellerCheckoutPage = z.infer<typeof sellerCheckoutPageSchema>;
152
+
153
+ /** 주문 직접 생성의 배송지(이슈 #117) — 국내 배송지다 */
154
+ export const directOrderShippingAddressSchema = z.object({
155
+ receiverName: z.string().min(1).max(50),
156
+ phone: z
157
+ .string()
158
+ .regex(/^0[0-9]{8,11}$/)
159
+ .describe("수령인 연락처(숫자만)"),
160
+ zipCode: z.string().regex(/^[0-9]{5}$/),
161
+ address1: z.string().min(1).max(200),
162
+ address2: z.string().max(200).optional(),
163
+ deliveryMemo: z.string().max(100).optional(),
164
+ });
165
+
166
+ /**
167
+ * 주문 직접 생성 요청(이슈 #117) — 셀러가 결제 대기 주문을 만든다. 회원을 고르거나(`memberId`) 비회원 주문자 정보(`guest`)를 준다.
168
+ * 줄·단가·이행 방식·재고 추적·유효 기한은 셀러 작성 주문서와 같은 규칙이다
169
+ */
170
+ export const createOrderRequestSchema = strictRequest(
171
+ z.object({
172
+ memberId: z
173
+ .string()
174
+ .optional()
175
+ .describe(
176
+ "주문할 회원. 주면 그 회원의 주문이고 `guest`를 받지 않는다. 생략하면 비회원 주문이다",
177
+ ),
178
+ guest: z
179
+ .object({
180
+ name: z.string().min(1).max(50),
181
+ phone: z
182
+ .string()
183
+ .regex(/^0[0-9]{8,11}$/)
184
+ .describe("주문자 연락처(숫자만)"),
185
+ email: z.email().optional(),
186
+ })
187
+ .optional()
188
+ .describe(
189
+ "비회원 주문자. `memberId`가 없으면 필수다. 주문 조회 비밀번호는 구매자가 결제할 때 정한다",
190
+ ),
191
+ shippingAddress: directOrderShippingAddressSchema
192
+ .optional()
193
+ .describe(
194
+ "배송지. 택배 배송이 필요한 줄이 있으면 필수(400 `SHIPPING_ADDRESS_REQUIRED`)이고 그 밖에는 버린다",
195
+ ),
196
+ items: z.array(sellerCheckoutLineSchema).min(1).max(50),
197
+ expiresAt: z.iso
198
+ .datetime({ offset: true })
199
+ .describe(
200
+ "결제 기한(ISO 8601). 지금 이후여야 하고, 지나도록 결제하지 않으면 주문이 자동으로 취소된다",
201
+ ),
202
+ fulfillmentMethod: z
203
+ .enum(["CARRIER", "DIRECT", "PICKUP", "PROVIDED"])
204
+ .optional()
205
+ .describe("이행 방식. 생략하면 줄마다 상품 허용 방식의 첫 값이다"),
206
+ pickupLocationId: z.string().optional().describe("방문 수령 장소"),
207
+ trackInventory: z
208
+ .boolean()
209
+ .optional()
210
+ .default(true)
211
+ .describe("재고 추적. true면 만들 때 재고를 확인하고 결제할 때 뺀다. 기본 true"),
212
+ }),
213
+ );
214
+
215
+ export type CreateOrderRequest = z.input<typeof createOrderRequestSchema>;
216
+
217
+ /** 주문 직접 생성 응답(이슈 #117) — 결제 대기 주문과 그 결제 요청(결제 링크) */
218
+ export const createdOrderSchema = z.object({
219
+ orderId: z.string(),
220
+ orderNo: z.string(),
221
+ paymentRequest: sellerCheckoutSchema.describe(
222
+ "이 주문의 결제 요청. `checkoutUrl`이 구매자에게 보낼 결제 링크다",
223
+ ),
224
+ });
225
+
226
+ export type CreatedOrder = z.infer<typeof createdOrderSchema>;
@@ -70,6 +70,10 @@ export const changeTypeSchema = z.enum([
70
70
  // 취소·반품 승인으로 주문상품이 취소됐다 — 서버가 이 값을 쓰므로 목록에 있어야 한다
71
71
  // (빠져 있던 동안 클레임이 끝난 주문상품이 섞이면 응답 검증이 깨졌다)
72
72
  "CLAIM.COMPLETED",
73
+ // 주문 흐름이 쓰는 주문상품 상태 전이(`ORDER.{상태}`, #115)와 결제 요청의 결제 대기·자동 취소(#117) — 서버가 이 값을 쓰므로 목록에 있어야 한다
74
+ "ORDER.PAYMENT_WAITING",
75
+ "ORDER.DELIVERING",
76
+ "ORDER.CANCELED",
73
77
  // 현재 서버가 쓰지 않음. 공개 계약 호환을 위해 값만 남겼다
74
78
  "ORDER.ADDRESS_CHANGE_REQUESTED",
75
79
  ]);
@@ -165,6 +165,10 @@ export const eventTypeSchema = z
165
165
  "ORDER.FLOW_STATE_CHANGED",
166
166
  // 위치별 재고 변화(이슈 #132). 재고 변동 내역 한 행마다 간다
167
167
  "INVENTORY.CHANGED",
168
+ // 주문에 추가 결제가 붙음(이슈 #117)
169
+ "ORDER.PAYMENT_ADDED",
170
+ // 흐름 노드 「결제 요청」이 결제 링크를 만듦(이슈 #117)
171
+ "ORDER.PAYMENT_REQUESTED",
168
172
  ])
169
173
  .describe(
170
174
  "웹훅 이벤트 타입. `ORDER.ADDRESS_CHANGE_REQUESTED`는 현재 발송하지 않음(호환을 위해 값만 남았고, 구독해도 이벤트가 오지 않는다)",
@@ -1,4 +1,5 @@
1
1
  import * as z from "zod";
2
+ import { sellerCheckoutSchema } from "./checkout";
2
3
  import { commerceNumberField } from "./commerce-number";
3
4
  import { changeTypeSchema, orderItemStatusSchema, type PageParams, pageSchema } from "./common";
4
5
  import { orderItemFulfillmentSnapshotResponseSchema } from "./fulfillment";
@@ -71,6 +72,14 @@ export const orderItemSchema = z.object({
71
72
  "상품주문번호(이슈 #107) — 주문번호 + 줄 순번 2자리(01부터, 100줄부터 3자리). 부분 취소·클레임·송장의 처리 단위 번호이고 생성 후 바뀌지 않습니다",
72
73
  ),
73
74
  orderId: z.string(),
75
+ paymentId: z
76
+ .string()
77
+ .nullable()
78
+ .optional()
79
+ .default(null)
80
+ .describe(
81
+ "이 줄을 결제한 결제(`payments[].paymentId`, 이슈 #117). 줄 하나는 결제 하나가 내고 환불도 그 결제에서 한다. 서버는 항상 싣는다(PG 결제가 없는 0원 주문도 결제 id가 있다)",
82
+ ),
74
83
  status: orderItemStatusSchema,
75
84
  claimStatus: z.enum(["CANCEL_REQUESTED", "RETURN_REQUESTED", "EXCHANGE_REQUESTED"]).nullable(),
76
85
  productId: z.string(),
@@ -169,6 +178,24 @@ export const orderDiscountSchema = z.object({
169
178
 
170
179
  export type OrderDiscount = z.infer<typeof orderDiscountSchema>;
171
180
 
181
+ /** 주문의 결제 한 건 (이슈 #117) — 주문을 만든 첫 결제와 그 주문에 줄을 붙인 추가 결제 */
182
+ export const orderPaymentSchema = z.object({
183
+ paymentId: z.string(),
184
+ additional: z
185
+ .boolean()
186
+ .describe("추가 결제인가. false면 주문을 만든 첫 결제(`payment`와 같은 결제)다"),
187
+ amount: z.number().int().describe("결제(현금) 금액. 적립금·쿠폰으로 낸 몫은 빠진다"),
188
+ approvedMethod: z
189
+ .string()
190
+ .nullable()
191
+ .describe("실제 결제수단(`payment.approvedMethod`와 같은 값). 0원 결제는 null"),
192
+ easyPayProvider: easyPayProviderResponseSchema.nullable(),
193
+ paidAt: z.string(),
194
+ refundedAmount: z.number().int().describe("이 결제에서 환불이 끝난 금액"),
195
+ });
196
+
197
+ export type OrderPayment = z.infer<typeof orderPaymentSchema>;
198
+
172
199
  export const orderSchema = z.object({
173
200
  orderId: z.string(),
174
201
  progressStatus: orderItemStatusSchema
@@ -286,6 +313,20 @@ export const orderSchema = z.object({
286
313
  .describe(
287
314
  "구매 언어(이슈 #134, BCP 47). 주문상품의 상품명·옵션 이름은 구매자가 이 언어로 본 값이다. null이면 상점 기본 언어다(언어 기능 이전 주문 포함)",
288
315
  ),
316
+ payments: z
317
+ .array(orderPaymentSchema)
318
+ .optional()
319
+ .default([])
320
+ .describe(
321
+ "이 주문의 결제(이슈 #117) — 첫 결제와 추가 결제를 결제 순서로 싣는다. `payment`는 첫 결제의 내역이다. 서버는 항상 싣는다",
322
+ ),
323
+ paymentRequests: z
324
+ .array(sellerCheckoutSchema)
325
+ .optional()
326
+ .default([])
327
+ .describe(
328
+ "결제를 기다리는 결제 요청(이슈 #117) — 결제 대기 줄을 낸 요청이고 `checkoutUrl`이 결제 링크다. 결제되거나 만료되면 빠진다. 서버는 항상 싣는다",
329
+ ),
289
330
  items: z.array(orderItemSchema),
290
331
  });
291
332
 
@@ -492,6 +492,48 @@ export const flowStateChangedWebhookEventSchema = z.object({
492
492
  data: flowStateChangedWebhookEventDataSchema,
493
493
  });
494
494
 
495
+ /**
496
+ * 추가 결제(이슈 #117) — 결제 요청(`POST /v1/checkouts`의 `orderId`)이 결제돼 줄이 주문에 붙었다. 붙은 줄은 이 결제가 냈고 환불도 이 결제에서 한다.
497
+ * 개인정보는 싣지 않는다
498
+ */
499
+ export const orderPaymentAddedWebhookEventDataSchema = z.object({
500
+ orderId: z.string().describe("주문 ID"),
501
+ orderNo: z.string().describe("주문번호"),
502
+ paymentId: z.string().describe("붙은 결제(주문 응답 `payments[].paymentId`)"),
503
+ checkoutId: z.string().describe("결제한 결제 요청(셀러 작성 주문서) id"),
504
+ amount: z.number().int().describe("결제 금액"),
505
+ orderItemIds: z.array(z.string()).describe("이 결제로 붙은 주문상품"),
506
+ currency: z.string().describe("주문 통화"),
507
+ testPayment: z.boolean(),
508
+ });
509
+
510
+ export const orderPaymentAddedWebhookEventSchema = z.object({
511
+ ...envelopeFields,
512
+ type: z.literal("ORDER.PAYMENT_ADDED"),
513
+ data: orderPaymentAddedWebhookEventDataSchema,
514
+ });
515
+
516
+ /**
517
+ * 결제 요청(이슈 #117) — 흐름 노드 「결제 요청」이 이 주문에 대한 결제 링크를 만들었다. 상점이 이 링크를 구매자에게 보낸다(알림톡·메일).
518
+ * 결제되면 `ORDER.PAYMENT_ADDED`가 온다. 개인정보는 싣지 않는다
519
+ */
520
+ export const orderPaymentRequestedWebhookEventDataSchema = z.object({
521
+ orderId: z.string().describe("주문 ID"),
522
+ orderNo: z.string().describe("주문번호"),
523
+ orderItemIds: z.array(z.string()).describe("결제를 요청한 흐름의 주문상품"),
524
+ checkoutId: z.string().describe("결제 요청(셀러 작성 주문서) id"),
525
+ checkoutUrl: z.string().describe("구매자에게 보낼 결제 링크(sayren 결제 페이지)"),
526
+ amount: z.number().int().describe("결제 금액"),
527
+ currency: z.string().describe("주문 통화"),
528
+ expiresAt: z.string().describe("결제 링크 만료 시각"),
529
+ });
530
+
531
+ export const orderPaymentRequestedWebhookEventSchema = z.object({
532
+ ...envelopeFields,
533
+ type: z.literal("ORDER.PAYMENT_REQUESTED"),
534
+ data: orderPaymentRequestedWebhookEventDataSchema,
535
+ });
536
+
495
537
  /** 웹훅 요청 본문. `type`으로 판별하며 `data` 형태가 타입별로 다르다 */
496
538
  export const webhookEventSchema = z
497
539
  .discriminatedUnion("type", [
@@ -505,6 +547,8 @@ export const webhookEventSchema = z
505
547
  flowNotificationWebhookEventSchema,
506
548
  flowStateChangedWebhookEventSchema,
507
549
  inventoryChangedWebhookEventSchema,
550
+ orderPaymentAddedWebhookEventSchema,
551
+ orderPaymentRequestedWebhookEventSchema,
508
552
  ])
509
553
  .describe(
510
554
  "웹훅 요청 본문 (얇은 이벤트). 개인정보를 싣지 않으며 `data`의 id로 관리 API를 조회한다",