@sayren/store-sdk 0.15.1 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -166,8 +166,8 @@ export declare const auditLogPageSchema: z.ZodObject<{
166
166
  export type AuditLogPage = z.infer<typeof auditLogPageSchema>;
167
167
  export declare const agentPolicyDecisionSchema: z.ZodEnum<{
168
168
  DENIED: "DENIED";
169
- ALLOW: "ALLOW";
170
169
  APPROVAL_REQUIRED: "APPROVAL_REQUIRED";
170
+ ALLOW: "ALLOW";
171
171
  }>;
172
172
  export type AgentPolicyDecision = z.infer<typeof agentPolicyDecisionSchema>;
173
173
  export declare const writePreviewSchema: z.ZodObject<{
@@ -191,8 +191,8 @@ export declare const writeDryRunResultSchema: z.ZodObject<{
191
191
  dryRun: z.ZodLiteral<true>;
192
192
  decision: z.ZodEnum<{
193
193
  DENIED: "DENIED";
194
- ALLOW: "ALLOW";
195
194
  APPROVAL_REQUIRED: "APPROVAL_REQUIRED";
195
+ ALLOW: "ALLOW";
196
196
  }>;
197
197
  reason: z.ZodNullable<z.ZodString>;
198
198
  preview: z.ZodObject<{
@@ -2272,6 +2272,7 @@ export declare const eventTypeSchema: z.ZodEnum<{
2272
2272
  "ORDER.DELIVERED": "ORDER.DELIVERED";
2273
2273
  "ORDER.PURCHASE_DECIDED": "ORDER.PURCHASE_DECIDED";
2274
2274
  "ORDER.ADDRESS_CHANGE_REQUESTED": "ORDER.ADDRESS_CHANGE_REQUESTED";
2275
+ "ORDER.CANCELED": "ORDER.CANCELED";
2275
2276
  "CLAIM.CANCEL_REQUESTED": "CLAIM.CANCEL_REQUESTED";
2276
2277
  "CLAIM.RETURN_REQUESTED": "CLAIM.RETURN_REQUESTED";
2277
2278
  "CLAIM.EXCHANGE_REQUESTED": "CLAIM.EXCHANGE_REQUESTED";
@@ -2296,6 +2297,7 @@ export declare const webhookSchema: z.ZodObject<{
2296
2297
  "ORDER.DELIVERED": "ORDER.DELIVERED";
2297
2298
  "ORDER.PURCHASE_DECIDED": "ORDER.PURCHASE_DECIDED";
2298
2299
  "ORDER.ADDRESS_CHANGE_REQUESTED": "ORDER.ADDRESS_CHANGE_REQUESTED";
2300
+ "ORDER.CANCELED": "ORDER.CANCELED";
2299
2301
  "CLAIM.CANCEL_REQUESTED": "CLAIM.CANCEL_REQUESTED";
2300
2302
  "CLAIM.RETURN_REQUESTED": "CLAIM.RETURN_REQUESTED";
2301
2303
  "CLAIM.EXCHANGE_REQUESTED": "CLAIM.EXCHANGE_REQUESTED";
@@ -2324,6 +2326,7 @@ export declare const webhookCreatedSchema: z.ZodObject<{
2324
2326
  "ORDER.DELIVERED": "ORDER.DELIVERED";
2325
2327
  "ORDER.PURCHASE_DECIDED": "ORDER.PURCHASE_DECIDED";
2326
2328
  "ORDER.ADDRESS_CHANGE_REQUESTED": "ORDER.ADDRESS_CHANGE_REQUESTED";
2329
+ "ORDER.CANCELED": "ORDER.CANCELED";
2327
2330
  "CLAIM.CANCEL_REQUESTED": "CLAIM.CANCEL_REQUESTED";
2328
2331
  "CLAIM.RETURN_REQUESTED": "CLAIM.RETURN_REQUESTED";
2329
2332
  "CLAIM.EXCHANGE_REQUESTED": "CLAIM.EXCHANGE_REQUESTED";
@@ -2402,6 +2405,7 @@ export declare const webhookDeliverySchema: z.ZodObject<{
2402
2405
  "ORDER.DELIVERED": "ORDER.DELIVERED";
2403
2406
  "ORDER.PURCHASE_DECIDED": "ORDER.PURCHASE_DECIDED";
2404
2407
  "ORDER.ADDRESS_CHANGE_REQUESTED": "ORDER.ADDRESS_CHANGE_REQUESTED";
2408
+ "ORDER.CANCELED": "ORDER.CANCELED";
2405
2409
  "CLAIM.CANCEL_REQUESTED": "CLAIM.CANCEL_REQUESTED";
2406
2410
  "CLAIM.RETURN_REQUESTED": "CLAIM.RETURN_REQUESTED";
2407
2411
  "CLAIM.EXCHANGE_REQUESTED": "CLAIM.EXCHANGE_REQUESTED";
@@ -2453,6 +2457,7 @@ export declare const webhookDeliveryDetailSchema: z.ZodObject<{
2453
2457
  "ORDER.DELIVERED": "ORDER.DELIVERED";
2454
2458
  "ORDER.PURCHASE_DECIDED": "ORDER.PURCHASE_DECIDED";
2455
2459
  "ORDER.ADDRESS_CHANGE_REQUESTED": "ORDER.ADDRESS_CHANGE_REQUESTED";
2460
+ "ORDER.CANCELED": "ORDER.CANCELED";
2456
2461
  "CLAIM.CANCEL_REQUESTED": "CLAIM.CANCEL_REQUESTED";
2457
2462
  "CLAIM.RETURN_REQUESTED": "CLAIM.RETURN_REQUESTED";
2458
2463
  "CLAIM.EXCHANGE_REQUESTED": "CLAIM.EXCHANGE_REQUESTED";
@@ -2513,6 +2518,7 @@ export declare const webhookDeliveryListQuerySchema: z.ZodObject<{
2513
2518
  "ORDER.DELIVERED": "ORDER.DELIVERED";
2514
2519
  "ORDER.PURCHASE_DECIDED": "ORDER.PURCHASE_DECIDED";
2515
2520
  "ORDER.ADDRESS_CHANGE_REQUESTED": "ORDER.ADDRESS_CHANGE_REQUESTED";
2521
+ "ORDER.CANCELED": "ORDER.CANCELED";
2516
2522
  "CLAIM.CANCEL_REQUESTED": "CLAIM.CANCEL_REQUESTED";
2517
2523
  "CLAIM.RETURN_REQUESTED": "CLAIM.RETURN_REQUESTED";
2518
2524
  "CLAIM.EXCHANGE_REQUESTED": "CLAIM.EXCHANGE_REQUESTED";
@@ -2538,6 +2544,7 @@ export declare const webhookTestRequestSchema: z.ZodObject<{
2538
2544
  "ORDER.DELIVERED": "ORDER.DELIVERED";
2539
2545
  "ORDER.PURCHASE_DECIDED": "ORDER.PURCHASE_DECIDED";
2540
2546
  "ORDER.ADDRESS_CHANGE_REQUESTED": "ORDER.ADDRESS_CHANGE_REQUESTED";
2547
+ "ORDER.CANCELED": "ORDER.CANCELED";
2541
2548
  "CLAIM.CANCEL_REQUESTED": "CLAIM.CANCEL_REQUESTED";
2542
2549
  "CLAIM.RETURN_REQUESTED": "CLAIM.RETURN_REQUESTED";
2543
2550
  "CLAIM.EXCHANGE_REQUESTED": "CLAIM.EXCHANGE_REQUESTED";
@@ -2577,6 +2584,7 @@ export declare const webhookRequestSchema: z.ZodObject<{
2577
2584
  "ORDER.DELIVERED": "ORDER.DELIVERED";
2578
2585
  "ORDER.PURCHASE_DECIDED": "ORDER.PURCHASE_DECIDED";
2579
2586
  "ORDER.ADDRESS_CHANGE_REQUESTED": "ORDER.ADDRESS_CHANGE_REQUESTED";
2587
+ "ORDER.CANCELED": "ORDER.CANCELED";
2580
2588
  "CLAIM.CANCEL_REQUESTED": "CLAIM.CANCEL_REQUESTED";
2581
2589
  "CLAIM.RETURN_REQUESTED": "CLAIM.RETURN_REQUESTED";
2582
2590
  "CLAIM.EXCHANGE_REQUESTED": "CLAIM.EXCHANGE_REQUESTED";
@@ -7423,7 +7431,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
7423
7431
  list: () => Promise<{
7424
7432
  webhookId: string;
7425
7433
  url: string;
7426
- eventTypes: ("ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK")[];
7434
+ eventTypes: ("ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "ORDER.CANCELED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK")[];
7427
7435
  status: "ACTIVE" | "SUSPENDED";
7428
7436
  secretPrefix: string;
7429
7437
  suspendedAt: string | null;
@@ -7433,7 +7441,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
7433
7441
  create: (body: WebhookRequest) => Promise<{
7434
7442
  webhookId: string;
7435
7443
  url: string;
7436
- eventTypes: ("ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK")[];
7444
+ eventTypes: ("ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "ORDER.CANCELED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK")[];
7437
7445
  status: "ACTIVE" | "SUSPENDED";
7438
7446
  secretPrefix: string;
7439
7447
  suspendedAt: string | null;
@@ -7443,7 +7451,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
7443
7451
  get: (webhookId: string) => Promise<{
7444
7452
  webhookId: string;
7445
7453
  url: string;
7446
- eventTypes: ("ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK")[];
7454
+ eventTypes: ("ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "ORDER.CANCELED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK")[];
7447
7455
  status: "ACTIVE" | "SUSPENDED";
7448
7456
  secretPrefix: string;
7449
7457
  suspendedAt: string | null;
@@ -7453,7 +7461,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
7453
7461
  update: (webhookId: string, body: WebhookRequest) => Promise<{
7454
7462
  webhookId: string;
7455
7463
  url: string;
7456
- eventTypes: ("ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK")[];
7464
+ eventTypes: ("ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "ORDER.CANCELED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK")[];
7457
7465
  status: "ACTIVE" | "SUSPENDED";
7458
7466
  secretPrefix: string;
7459
7467
  suspendedAt: string | null;
@@ -7468,7 +7476,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
7468
7476
  resume: (webhookId: string) => Promise<{
7469
7477
  webhookId: string;
7470
7478
  url: string;
7471
- eventTypes: ("ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK")[];
7479
+ eventTypes: ("ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "ORDER.CANCELED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK")[];
7472
7480
  status: "ACTIVE" | "SUSPENDED";
7473
7481
  secretPrefix: string;
7474
7482
  suspendedAt: string | null;
@@ -7478,7 +7486,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
7478
7486
  listDeliveries: (webhookId: string, params?: WebhookDeliveryListParams) => Promise<{
7479
7487
  deliveryId: string;
7480
7488
  eventId: string;
7481
- eventType: "ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK";
7489
+ eventType: "ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "ORDER.CANCELED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK";
7482
7490
  url: string;
7483
7491
  status: "PENDING" | "PENDING_RETRY" | "SUCCESS" | "FAILED";
7484
7492
  responseStatusCode: number | null;
@@ -7505,7 +7513,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
7505
7513
  getDelivery: (webhookId: string, deliveryId: string) => Promise<{
7506
7514
  deliveryId: string;
7507
7515
  eventId: string;
7508
- eventType: "ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK";
7516
+ eventType: "ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "ORDER.CANCELED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK";
7509
7517
  url: string;
7510
7518
  status: "PENDING" | "PENDING_RETRY" | "SUCCESS" | "FAILED";
7511
7519
  responseStatusCode: number | null;
@@ -7540,7 +7548,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
7540
7548
  redeliver: (webhookId: string, deliveryId: string) => Promise<{
7541
7549
  deliveryId: string;
7542
7550
  eventId: string;
7543
- eventType: "ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK";
7551
+ eventType: "ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "ORDER.CANCELED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK";
7544
7552
  url: string;
7545
7553
  status: "PENDING" | "PENDING_RETRY" | "SUCCESS" | "FAILED";
7546
7554
  responseStatusCode: number | null;
@@ -8507,6 +8515,43 @@ export declare const orderWebhookEventDataSchema: z.ZodObject<{
8507
8515
  testPayment: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
8508
8516
  }, z.core.$strip>;
8509
8517
  export type OrderWebhookEventData = z.infer<typeof orderWebhookEventDataSchema>;
8518
+ /**
8519
+ * `ORDER.CANCELED` — 셀러 직권취소(`POST /v1/order-items/{orderItemId}/cancel`)로 주문상품이 취소됐다.
8520
+ * 수량 단위 부분 취소도 이 이벤트다(`quantity` < 주문 수량이면 주문상품 상태가 그대로다).
8521
+ * 구매자가 신청한 취소·반품은 `CLAIM.*` 이벤트로 온다.
8522
+ */
8523
+ export declare const orderCanceledWebhookEventDataSchema: z.ZodObject<{
8524
+ orderId: z.ZodString;
8525
+ orderItemId: z.ZodString;
8526
+ status: z.ZodEnum<{
8527
+ PAID: "PAID";
8528
+ CANCELED: "CANCELED";
8529
+ PAYMENT_WAITING: "PAYMENT_WAITING";
8530
+ CONFIRMED: "CONFIRMED";
8531
+ DISPATCHED: "DISPATCHED";
8532
+ DELIVERING: "DELIVERING";
8533
+ DELIVERED: "DELIVERED";
8534
+ PURCHASE_DECIDED: "PURCHASE_DECIDED";
8535
+ }>;
8536
+ itemStatus: z.ZodEnum<{
8537
+ PAID: "PAID";
8538
+ CANCELED: "CANCELED";
8539
+ PAYMENT_WAITING: "PAYMENT_WAITING";
8540
+ CONFIRMED: "CONFIRMED";
8541
+ DISPATCHED: "DISPATCHED";
8542
+ DELIVERING: "DELIVERING";
8543
+ DELIVERED: "DELIVERED";
8544
+ PURCHASE_DECIDED: "PURCHASE_DECIDED";
8545
+ }>;
8546
+ reason: z.ZodString;
8547
+ quantity: z.ZodNumber;
8548
+ canceledQuantity: z.ZodNumber;
8549
+ refundAmount: z.ZodNumber;
8550
+ deliveryFeeRefundAmount: z.ZodNumber;
8551
+ deliveryFeeChargeAmount: z.ZodNumber;
8552
+ testPayment: z.ZodBoolean;
8553
+ }, z.core.$strip>;
8554
+ export type OrderCanceledWebhookEventData = z.infer<typeof orderCanceledWebhookEventDataSchema>;
8510
8555
  export declare const claimWebhookEventDataSchema: z.ZodObject<{
8511
8556
  claimId: z.ZodString;
8512
8557
  orderId: z.ZodString;
@@ -8578,6 +8623,43 @@ export declare const orderWebhookEventSchema: z.ZodObject<{
8578
8623
  createdAt: z.ZodString;
8579
8624
  storeId: z.ZodString;
8580
8625
  }, z.core.$strip>;
8626
+ export declare const orderCanceledWebhookEventSchema: z.ZodObject<{
8627
+ type: z.ZodLiteral<"ORDER.CANCELED">;
8628
+ data: z.ZodObject<{
8629
+ orderId: z.ZodString;
8630
+ orderItemId: z.ZodString;
8631
+ status: z.ZodEnum<{
8632
+ PAID: "PAID";
8633
+ CANCELED: "CANCELED";
8634
+ PAYMENT_WAITING: "PAYMENT_WAITING";
8635
+ CONFIRMED: "CONFIRMED";
8636
+ DISPATCHED: "DISPATCHED";
8637
+ DELIVERING: "DELIVERING";
8638
+ DELIVERED: "DELIVERED";
8639
+ PURCHASE_DECIDED: "PURCHASE_DECIDED";
8640
+ }>;
8641
+ itemStatus: z.ZodEnum<{
8642
+ PAID: "PAID";
8643
+ CANCELED: "CANCELED";
8644
+ PAYMENT_WAITING: "PAYMENT_WAITING";
8645
+ CONFIRMED: "CONFIRMED";
8646
+ DISPATCHED: "DISPATCHED";
8647
+ DELIVERING: "DELIVERING";
8648
+ DELIVERED: "DELIVERED";
8649
+ PURCHASE_DECIDED: "PURCHASE_DECIDED";
8650
+ }>;
8651
+ reason: z.ZodString;
8652
+ quantity: z.ZodNumber;
8653
+ canceledQuantity: z.ZodNumber;
8654
+ refundAmount: z.ZodNumber;
8655
+ deliveryFeeRefundAmount: z.ZodNumber;
8656
+ deliveryFeeChargeAmount: z.ZodNumber;
8657
+ testPayment: z.ZodBoolean;
8658
+ }, z.core.$strip>;
8659
+ id: z.ZodString;
8660
+ createdAt: z.ZodString;
8661
+ storeId: z.ZodString;
8662
+ }, z.core.$strip>;
8581
8663
  export declare const claimWebhookEventSchema: z.ZodObject<{
8582
8664
  type: z.ZodEnum<{
8583
8665
  "CLAIM.CANCEL_REQUESTED": "CLAIM.CANCEL_REQUESTED";
@@ -8674,6 +8756,42 @@ export declare const webhookEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
8674
8756
  id: z.ZodString;
8675
8757
  createdAt: z.ZodString;
8676
8758
  storeId: z.ZodString;
8759
+ }, z.core.$strip>, z.ZodObject<{
8760
+ type: z.ZodLiteral<"ORDER.CANCELED">;
8761
+ data: z.ZodObject<{
8762
+ orderId: z.ZodString;
8763
+ orderItemId: z.ZodString;
8764
+ status: z.ZodEnum<{
8765
+ PAID: "PAID";
8766
+ CANCELED: "CANCELED";
8767
+ PAYMENT_WAITING: "PAYMENT_WAITING";
8768
+ CONFIRMED: "CONFIRMED";
8769
+ DISPATCHED: "DISPATCHED";
8770
+ DELIVERING: "DELIVERING";
8771
+ DELIVERED: "DELIVERED";
8772
+ PURCHASE_DECIDED: "PURCHASE_DECIDED";
8773
+ }>;
8774
+ itemStatus: z.ZodEnum<{
8775
+ PAID: "PAID";
8776
+ CANCELED: "CANCELED";
8777
+ PAYMENT_WAITING: "PAYMENT_WAITING";
8778
+ CONFIRMED: "CONFIRMED";
8779
+ DISPATCHED: "DISPATCHED";
8780
+ DELIVERING: "DELIVERING";
8781
+ DELIVERED: "DELIVERED";
8782
+ PURCHASE_DECIDED: "PURCHASE_DECIDED";
8783
+ }>;
8784
+ reason: z.ZodString;
8785
+ quantity: z.ZodNumber;
8786
+ canceledQuantity: z.ZodNumber;
8787
+ refundAmount: z.ZodNumber;
8788
+ deliveryFeeRefundAmount: z.ZodNumber;
8789
+ deliveryFeeChargeAmount: z.ZodNumber;
8790
+ testPayment: z.ZodBoolean;
8791
+ }, z.core.$strip>;
8792
+ id: z.ZodString;
8793
+ createdAt: z.ZodString;
8794
+ storeId: z.ZodString;
8677
8795
  }, z.core.$strip>, z.ZodObject<{
8678
8796
  type: z.ZodEnum<{
8679
8797
  "CLAIM.CANCEL_REQUESTED": "CLAIM.CANCEL_REQUESTED";
package/dist/index.mjs CHANGED
@@ -1357,6 +1357,7 @@ const eventTypeSchema = z.enum([
1357
1357
  "ORDER.DELIVERED",
1358
1358
  "ORDER.PURCHASE_DECIDED",
1359
1359
  "ORDER.ADDRESS_CHANGE_REQUESTED",
1360
+ "ORDER.CANCELED",
1360
1361
  "CLAIM.CANCEL_REQUESTED",
1361
1362
  "CLAIM.RETURN_REQUESTED",
1362
1363
  "CLAIM.EXCHANGE_REQUESTED",
@@ -3992,6 +3993,24 @@ const orderWebhookEventDataSchema = z.object({
3992
3993
  status: orderItemStatusSchema.describe("이벤트 발생 시점의 주문 대표 상태"),
3993
3994
  testPayment: z.boolean().optional().default(false).describe("테스트 결제(샌드박스 결제) 주문인가. true면 실제로 돈이 오가지 않았다. 이 필드가 없는 이전 이벤트는 false로 읽는다")
3994
3995
  });
3996
+ /**
3997
+ * `ORDER.CANCELED` — 셀러 직권취소(`POST /v1/order-items/{orderItemId}/cancel`)로 주문상품이 취소됐다.
3998
+ * 수량 단위 부분 취소도 이 이벤트다(`quantity` < 주문 수량이면 주문상품 상태가 그대로다).
3999
+ * 구매자가 신청한 취소·반품은 `CLAIM.*` 이벤트로 온다.
4000
+ */
4001
+ const orderCanceledWebhookEventDataSchema = z.object({
4002
+ orderId: z.string().describe("주문 ID"),
4003
+ orderItemId: z.string().describe("취소한 주문 상품 ID"),
4004
+ status: orderItemStatusSchema.describe("취소 뒤 주문 대표 상태. 모든 주문 상품이 취소됐으면 `CANCELED`다"),
4005
+ itemStatus: orderItemStatusSchema.describe("취소 뒤 주문 상품 상태. 전 수량이 취소됐으면 `CANCELED`, 일부만 취소했으면 원래 상태다"),
4006
+ reason: z.string().describe("취소 사유 코드 — 판매자 취소 요청의 `reason`(`OUT_OF_STOCK`·`PRICE_ERROR`·`DELIVERY_IMPOSSIBLE`·`ETC`). 사유가 늘어날 수 있어 문자열이다. 모르는 값은 `ETC`처럼 다룬다"),
4007
+ quantity: z.number().int().describe("이번에 취소한 수량"),
4008
+ canceledQuantity: z.number().int().describe("취소 후 누적 취소 수량"),
4009
+ refundAmount: z.number().int().describe("환불액 (원). 수량 비율 상품 금액 + 배송비 환불 − 조건부 무료배송 미달 차감이다. 결제사 환불 결과는 결제 내역(`GET /v1/payments/{paymentId}`)으로 확인한다"),
4010
+ deliveryFeeRefundAmount: z.number().int().describe("환불액에 포함된 배송비 (원)"),
4011
+ deliveryFeeChargeAmount: z.number().int().describe("환불액에서 뺀 배송비 (원) — 조건부 무료배송 기준 미달 차감"),
4012
+ testPayment: z.boolean().describe("테스트 결제(샌드박스 결제) 주문인가. true면 실제로 돈이 오가지 않았다")
4013
+ });
3995
4014
  const claimWebhookEventDataSchema = z.object({
3996
4015
  claimId: z.string().describe("클레임 ID"),
3997
4016
  orderId: z.string().describe("주문 ID"),
@@ -4030,6 +4049,11 @@ const orderWebhookEventSchema = z.object({
4030
4049
  ]),
4031
4050
  data: orderWebhookEventDataSchema
4032
4051
  });
4052
+ const orderCanceledWebhookEventSchema = z.object({
4053
+ ...envelopeFields,
4054
+ type: z.literal("ORDER.CANCELED"),
4055
+ data: orderCanceledWebhookEventDataSchema
4056
+ });
4033
4057
  const claimWebhookEventSchema = z.object({
4034
4058
  ...envelopeFields,
4035
4059
  type: z.enum([
@@ -4058,6 +4082,7 @@ const productOutOfStockWebhookEventSchema = z.object({
4058
4082
  /** 웹훅 요청 본문. `type`으로 판별하며 `data` 형태가 타입별로 다르다 */
4059
4083
  const webhookEventSchema = z.discriminatedUnion("type", [
4060
4084
  orderWebhookEventSchema,
4085
+ orderCanceledWebhookEventSchema,
4061
4086
  claimWebhookEventSchema,
4062
4087
  inquiryWebhookEventSchema,
4063
4088
  reviewWebhookEventSchema,
@@ -4213,4 +4238,4 @@ function createStoreSession(options) {
4213
4238
  };
4214
4239
  }
4215
4240
  //#endregion
4216
- export { APPROVAL_ALREADY_DECIDED_CODE, APPROVAL_REQUIRED_CODE, ApiError, ApprovalPendingError, CASH_RECEIPT_STATUS_VALUES, MAX_ANALYTICS_ALLOWED_ORIGINS, MAX_AUTO_TRANSITION_DAYS, MAX_OPTION_GROUPS, MAX_PRODUCT_IMAGES, MAX_VALUES_PER_GROUP, MAX_VARIANTS, MCP_TELEMETRY_MAX_RESULTS, PAYMENT_ROUTING_EXCLUSION_CODES, PORTONE_CHANNEL_NAME_MAX_LENGTH, PORTONE_MAX_CHANNELS, PORTONE_MIN_CHANNELS, REFUND_POLICY_DEFAULTS, REMOTE_AREA_ZIP_RANGES, RESERVED_STORE_CODES, SHIPPING_POLICY_DEFAULTS, STORE_CODE_PATTERN, STORE_ROLE_SCOPES, STORE_SCOPE_RESOURCES, STORE_SESSION_KEYS, TOSS_WIDGET_CLIENT_KEY_PATTERN, TOSS_WIDGET_KEY_MESSAGE, TOSS_WIDGET_SECRET_KEY_PATTERN, UPLOAD_PURPOSE_LIMITS, 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, addressChangeRequestListSchema, addressTypeSchema, agentPolicyDecisionSchema, analyticsChannelSchema, analyticsCheckoutOutcomeSchema, analyticsCheckoutSchema, analyticsDeviceRowSchema, analyticsDevicesSchema, analyticsFunnelStepSchema, analyticsOriginSchema, analyticsOverviewSchema, analyticsPagesQuerySchema, analyticsPagesSchema, analyticsProductRowSchema, analyticsProductSortSchema, analyticsProductsQuerySchema, analyticsProductsSchema, analyticsRangeQuerySchema, analyticsRealtimeSchema, analyticsSearchQuerySchema, analyticsSearchSchema, analyticsSourceGroupBySchema, analyticsSourceRowSchema, analyticsSourcesQuerySchema, analyticsSourcesSchema, analyticsTotalsSchema, apiClientListQuerySchema, apiClientSchema, apiClientSecretRotatedSchema, apiClientStatusSchema, apiClientTypeSchema, apiLogErrorSchema, apiLogListQuerySchema, apiLogPageSchema, apiLogPrincipalSchema, apiLogPrincipalTypeSchema, apiLogSchema, apiLogStatusFilterSchema, apiLogSummarySchema, apiTokenCreateRequestSchema, apiTokenCreatedSchema, apiTokenSchema, approvalDecisionRequestSchema, approvalListQuerySchema, approvalPageSchema, approvalRequestSchema, approvalStatusSchema, approveClaimResultSchema, auditActorSchema, auditActorTypeSchema, auditLogListQuerySchema, auditLogOutcomeSchema, auditLogPageSchema, auditLogSchema, auditLogSourceSchema, buildAuthorizeUrl, buildQuery, bulkResultSchema, cancelBySellerRequestSchema, cancelBySellerResultSchema, carrierSchema, cashReceiptSchema, categoryAttributeSchema, categoryCreateRequestSchema, categoryDeleteQuerySchema, categoryDeleteStrategySchema, categoryListQuerySchema, categoryPatchRequestSchema, categoryProductSortSchema, categorySchema, categorySearchResultSchema, categoryTreeNodeSchema, categoryWithPathSchema, changeTypeSchema, claimDetailSchema, claimHoldResultSchema, claimListQuerySchema, claimReasonSchema, claimReturnAddressSchema, claimSchema, claimStatusSchema, claimTypeSchema, claimWebhookEventDataSchema, claimWebhookEventSchema, clientCredentialsTokenResponseSchema, consentActionSchema, consentKindSchema, consentSourceSchema, createPkcePair, createStoreClient, createStoreSession, customerAddressSchema, customerConsentListQuerySchema, customerConsentSchema, customerConsentStateSchema, customerConsentsSchema, customerDetailSchema, customerInquiryCategorySchema, customerInquiryListQuerySchema, customerListQuerySchema, customerOrderSchema, customerSortSchema, customerStatsSchema, customerSummarySchema, customerWithdrawalBlockedDetailsSchema, deliveryBundleKeyOf, deliveryFeeWaiverSchema, deliveryInfoSchema, deliveryMethodSchema, deliveryStatusSchema, deliveryTypeSchema, discountRequestSchema, discountSchema, dispatchRequestSchema, easyPayProviderResponseSchema, easyPayProviderSchema, eventTypeSchema, exchangeAuthorizationCode, exchangeStoreTokenViaOAuth, holdOrderItemRequestSchema, inquiryListQuerySchema, inquirySchema, inquiryWebhookEventDataSchema, inquiryWebhookEventSchema, invitationDeliveryStatusSchema, invitationListQuerySchema, invitationSchema, inviteMemberRequestSchema, isReservedStoreCode, isStoreScope, isWebOrigin, liveGateConditionCodeSchema, liveGateConditionSchema, liveGateErrorDetailsSchema, liveGateSchema, loginProviderSchema, loginProviderStatusSchema, loginProviderTestSchema, loginSettingsSchema, maskedSecretSchema, mcpRuleResultSchema, mcpToolEventSchema, myAccountSchema, myStoreSchema, oauthClientRegistrationRequestSchema, oauthClientRegistrationResponseSchema, oauthTokenResponseSchema, optionGroupRequestSchema, optionGroupSchema, optionModelRequestSchema, optionModelSchema, optionValueRequestSchema, optionValueSchema, orderItemListQuerySchema, orderItemMemoResultSchema, orderItemPageSchema, orderItemSchema, orderItemStatusSchema, orderListQuerySchema, orderSchema, orderSummaryPageSchema, orderSummarySchema, orderWebhookEventDataSchema, orderWebhookEventSchema, pageInfoSchema, pageQueryShape, pageSchema, paymentAttemptRecordSchema, paymentAttemptStatusSchema, paymentCredentialSetSchema, paymentListQuerySchema, paymentProviderSchema, paymentProviderVerificationSchema, paymentRecordDetailSchema, paymentRecordPageSchema, paymentRecordSchema, paymentRecordStatusSchema, paymentRefundRecordSchema, paymentSettingsSchema, pgEnvironmentSchema, pgPaymentMethodSchema, pgProviderSchema, pgVerificationResultSchema, policyDocumentUrlSchema, policyVersionSchema, portOneChannelSchema, portOneCredentialsInputSchema, productCreateRequestSchema, productImageRejection, productImageUrlSchema, productListQuerySchema, productOutOfStockWebhookEventDataSchema, productOutOfStockWebhookEventSchema, productPatchRequestSchema, productRefundPolicyOverride, productSchema, productSortSchema, productStatusSchema, productSummarySchema, productVariantRequestSchema, productVariantSchema, proratedRefundBase, purchaseDecisionExtendResultSchema, purchaseDecisionRequestResultSchema, quoteDelivery, refreshUserToken, refundPolicyPatchSchema, refundPolicySchema, rejectClaimRequestSchema, remoteAreaLabelOf, remoteAreaOf, remoteAreaSchema, remoteSurchargeOf, resolveRefundPolicy, resolveShippingPolicy, reviewListQuerySchema, reviewReportResultSchema, reviewSchema, reviewSortSchema, reviewWebhookEventDataSchema, reviewWebhookEventSchema, salesReportGroupBySchema, salesReportQuerySchema, salesReportRowSchema, salesReportSchema, salesTotalsSchema, saveLoginProviderRequestSchema, scopeAccessSchema, sellerAddressListQuerySchema, sellerAddressRequestSchema, sellerAddressSchema, sellerCustomerInquirySchema, settlementDetailQuerySchema, settlementDetailSchema, settlementListQuerySchema, settlementStatusSchema, settlementSummarySchema, settlementWithDetailsSchema, shippingAddressSchema, shippingPolicyPatchSchema, shippingPolicySchema, storeCodeSchema, storeMemberRoleUpdatedSchema, storeMemberSchema, storeRoleSchema, storeSchema, storeScopeResourceSchema, storeTokenResponseSchema, tossPaymentsCredentialsInputSchema, trackingStageResponseSchema, trackingUpdateResultSchema, updateLoginProviderRequestSchema, updateLoginSettingsRequestSchema, updateMemberRoleRequestSchema, updatePaymentProviderRequestSchema, updatePaymentSettingsRequestSchema, updateStoreRequestSchema, uploadExtensionOf, uploadPurposeSchema, uploadRejection, uploadRequestSchema, uploadTicketSchema, upsertPortOneProviderRequestSchema, upsertTossPaymentsProviderRequestSchema, userTokenResponseSchema, variantStockRequestSchema, variantStockSchema, verifyPaymentProviderRequestSchema, webhookCreatedSchema, webhookDeliveryDetailSchema, webhookDeliveryErrorCodeSchema, webhookDeliveryListQuerySchema, webhookDeliveryResourceSchema, webhookDeliverySchema, webhookDeliveryStatusSchema, webhookEventSchema, webhookFailureReasonSchema, webhookRedeliverFailedResultSchema, webhookRequestHeaderSchema, webhookRequestSchema, webhookResourceTypeSchema, webhookSchema, webhookSecretRotatedSchema, webhookStatusSchema, webhookTestRequestSchema, webhookTestResultSchema, withdrawCustomerRequestSchema, writeDryRunResultSchema, writePreviewSchema };
4241
+ export { APPROVAL_ALREADY_DECIDED_CODE, APPROVAL_REQUIRED_CODE, ApiError, ApprovalPendingError, CASH_RECEIPT_STATUS_VALUES, MAX_ANALYTICS_ALLOWED_ORIGINS, MAX_AUTO_TRANSITION_DAYS, MAX_OPTION_GROUPS, MAX_PRODUCT_IMAGES, MAX_VALUES_PER_GROUP, MAX_VARIANTS, MCP_TELEMETRY_MAX_RESULTS, PAYMENT_ROUTING_EXCLUSION_CODES, PORTONE_CHANNEL_NAME_MAX_LENGTH, PORTONE_MAX_CHANNELS, PORTONE_MIN_CHANNELS, REFUND_POLICY_DEFAULTS, REMOTE_AREA_ZIP_RANGES, RESERVED_STORE_CODES, SHIPPING_POLICY_DEFAULTS, STORE_CODE_PATTERN, STORE_ROLE_SCOPES, STORE_SCOPE_RESOURCES, STORE_SESSION_KEYS, TOSS_WIDGET_CLIENT_KEY_PATTERN, TOSS_WIDGET_KEY_MESSAGE, TOSS_WIDGET_SECRET_KEY_PATTERN, UPLOAD_PURPOSE_LIMITS, 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, addressChangeRequestListSchema, addressTypeSchema, agentPolicyDecisionSchema, analyticsChannelSchema, analyticsCheckoutOutcomeSchema, analyticsCheckoutSchema, analyticsDeviceRowSchema, analyticsDevicesSchema, analyticsFunnelStepSchema, analyticsOriginSchema, analyticsOverviewSchema, analyticsPagesQuerySchema, analyticsPagesSchema, analyticsProductRowSchema, analyticsProductSortSchema, analyticsProductsQuerySchema, analyticsProductsSchema, analyticsRangeQuerySchema, analyticsRealtimeSchema, analyticsSearchQuerySchema, analyticsSearchSchema, analyticsSourceGroupBySchema, analyticsSourceRowSchema, analyticsSourcesQuerySchema, analyticsSourcesSchema, analyticsTotalsSchema, apiClientListQuerySchema, apiClientSchema, apiClientSecretRotatedSchema, apiClientStatusSchema, apiClientTypeSchema, apiLogErrorSchema, apiLogListQuerySchema, apiLogPageSchema, apiLogPrincipalSchema, apiLogPrincipalTypeSchema, apiLogSchema, apiLogStatusFilterSchema, apiLogSummarySchema, apiTokenCreateRequestSchema, apiTokenCreatedSchema, apiTokenSchema, approvalDecisionRequestSchema, approvalListQuerySchema, approvalPageSchema, approvalRequestSchema, approvalStatusSchema, approveClaimResultSchema, auditActorSchema, auditActorTypeSchema, auditLogListQuerySchema, auditLogOutcomeSchema, auditLogPageSchema, auditLogSchema, auditLogSourceSchema, buildAuthorizeUrl, buildQuery, bulkResultSchema, cancelBySellerRequestSchema, cancelBySellerResultSchema, carrierSchema, cashReceiptSchema, categoryAttributeSchema, categoryCreateRequestSchema, categoryDeleteQuerySchema, categoryDeleteStrategySchema, categoryListQuerySchema, categoryPatchRequestSchema, categoryProductSortSchema, categorySchema, categorySearchResultSchema, categoryTreeNodeSchema, categoryWithPathSchema, changeTypeSchema, claimDetailSchema, claimHoldResultSchema, claimListQuerySchema, claimReasonSchema, claimReturnAddressSchema, claimSchema, claimStatusSchema, claimTypeSchema, claimWebhookEventDataSchema, claimWebhookEventSchema, clientCredentialsTokenResponseSchema, consentActionSchema, consentKindSchema, consentSourceSchema, createPkcePair, createStoreClient, createStoreSession, customerAddressSchema, customerConsentListQuerySchema, customerConsentSchema, customerConsentStateSchema, customerConsentsSchema, customerDetailSchema, customerInquiryCategorySchema, customerInquiryListQuerySchema, customerListQuerySchema, customerOrderSchema, customerSortSchema, customerStatsSchema, customerSummarySchema, customerWithdrawalBlockedDetailsSchema, deliveryBundleKeyOf, deliveryFeeWaiverSchema, deliveryInfoSchema, deliveryMethodSchema, deliveryStatusSchema, deliveryTypeSchema, discountRequestSchema, discountSchema, dispatchRequestSchema, easyPayProviderResponseSchema, easyPayProviderSchema, eventTypeSchema, exchangeAuthorizationCode, exchangeStoreTokenViaOAuth, holdOrderItemRequestSchema, inquiryListQuerySchema, inquirySchema, inquiryWebhookEventDataSchema, inquiryWebhookEventSchema, invitationDeliveryStatusSchema, invitationListQuerySchema, invitationSchema, inviteMemberRequestSchema, isReservedStoreCode, isStoreScope, isWebOrigin, liveGateConditionCodeSchema, liveGateConditionSchema, liveGateErrorDetailsSchema, liveGateSchema, loginProviderSchema, loginProviderStatusSchema, loginProviderTestSchema, loginSettingsSchema, maskedSecretSchema, mcpRuleResultSchema, mcpToolEventSchema, myAccountSchema, myStoreSchema, oauthClientRegistrationRequestSchema, oauthClientRegistrationResponseSchema, oauthTokenResponseSchema, optionGroupRequestSchema, optionGroupSchema, optionModelRequestSchema, optionModelSchema, optionValueRequestSchema, optionValueSchema, orderCanceledWebhookEventDataSchema, orderCanceledWebhookEventSchema, orderItemListQuerySchema, orderItemMemoResultSchema, orderItemPageSchema, orderItemSchema, orderItemStatusSchema, orderListQuerySchema, orderSchema, orderSummaryPageSchema, orderSummarySchema, orderWebhookEventDataSchema, orderWebhookEventSchema, pageInfoSchema, pageQueryShape, pageSchema, paymentAttemptRecordSchema, paymentAttemptStatusSchema, paymentCredentialSetSchema, paymentListQuerySchema, paymentProviderSchema, paymentProviderVerificationSchema, paymentRecordDetailSchema, paymentRecordPageSchema, paymentRecordSchema, paymentRecordStatusSchema, paymentRefundRecordSchema, paymentSettingsSchema, pgEnvironmentSchema, pgPaymentMethodSchema, pgProviderSchema, pgVerificationResultSchema, policyDocumentUrlSchema, policyVersionSchema, portOneChannelSchema, portOneCredentialsInputSchema, productCreateRequestSchema, productImageRejection, productImageUrlSchema, productListQuerySchema, productOutOfStockWebhookEventDataSchema, productOutOfStockWebhookEventSchema, productPatchRequestSchema, productRefundPolicyOverride, productSchema, productSortSchema, productStatusSchema, productSummarySchema, productVariantRequestSchema, productVariantSchema, proratedRefundBase, purchaseDecisionExtendResultSchema, purchaseDecisionRequestResultSchema, quoteDelivery, refreshUserToken, refundPolicyPatchSchema, refundPolicySchema, rejectClaimRequestSchema, remoteAreaLabelOf, remoteAreaOf, remoteAreaSchema, remoteSurchargeOf, resolveRefundPolicy, resolveShippingPolicy, reviewListQuerySchema, reviewReportResultSchema, reviewSchema, reviewSortSchema, reviewWebhookEventDataSchema, reviewWebhookEventSchema, salesReportGroupBySchema, salesReportQuerySchema, salesReportRowSchema, salesReportSchema, salesTotalsSchema, saveLoginProviderRequestSchema, scopeAccessSchema, sellerAddressListQuerySchema, sellerAddressRequestSchema, sellerAddressSchema, sellerCustomerInquirySchema, settlementDetailQuerySchema, settlementDetailSchema, settlementListQuerySchema, settlementStatusSchema, settlementSummarySchema, settlementWithDetailsSchema, shippingAddressSchema, shippingPolicyPatchSchema, shippingPolicySchema, storeCodeSchema, storeMemberRoleUpdatedSchema, storeMemberSchema, storeRoleSchema, storeSchema, storeScopeResourceSchema, storeTokenResponseSchema, tossPaymentsCredentialsInputSchema, trackingStageResponseSchema, trackingUpdateResultSchema, updateLoginProviderRequestSchema, updateLoginSettingsRequestSchema, updateMemberRoleRequestSchema, updatePaymentProviderRequestSchema, updatePaymentSettingsRequestSchema, updateStoreRequestSchema, uploadExtensionOf, uploadPurposeSchema, uploadRejection, uploadRequestSchema, uploadTicketSchema, upsertPortOneProviderRequestSchema, upsertTossPaymentsProviderRequestSchema, userTokenResponseSchema, variantStockRequestSchema, variantStockSchema, verifyPaymentProviderRequestSchema, webhookCreatedSchema, webhookDeliveryDetailSchema, webhookDeliveryErrorCodeSchema, webhookDeliveryListQuerySchema, webhookDeliveryResourceSchema, webhookDeliverySchema, webhookDeliveryStatusSchema, webhookEventSchema, webhookFailureReasonSchema, webhookRedeliverFailedResultSchema, webhookRequestHeaderSchema, webhookRequestSchema, webhookResourceTypeSchema, webhookSchema, webhookSecretRotatedSchema, webhookStatusSchema, webhookTestRequestSchema, webhookTestResultSchema, withdrawCustomerRequestSchema, writeDryRunResultSchema, writePreviewSchema };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sayren/store-sdk",
3
- "version": "0.15.1",
3
+ "version": "0.16.0",
4
4
  "main": "./dist/index.mjs",
5
5
  "types": "./dist/index.d.mts",
6
6
  "exports": {
@@ -147,6 +147,8 @@ export const eventTypeSchema = z
147
147
  "ORDER.PURCHASE_DECIDED",
148
148
  // 현재 발송하지 않음. 공개 계약 호환을 위해 값만 남겼다(구독해도 이벤트가 오지 않는다)
149
149
  "ORDER.ADDRESS_CHANGE_REQUESTED",
150
+ // 셀러 직권취소 (이슈 #50). 뒤에 붙여 기존 값의 순서를 바꾸지 않는다
151
+ "ORDER.CANCELED",
150
152
  "CLAIM.CANCEL_REQUESTED",
151
153
  "CLAIM.RETURN_REQUESTED",
152
154
  "CLAIM.EXCHANGE_REQUESTED",
@@ -38,6 +38,46 @@ export const orderWebhookEventDataSchema = z.object({
38
38
  });
39
39
  export type OrderWebhookEventData = z.infer<typeof orderWebhookEventDataSchema>;
40
40
 
41
+ /**
42
+ * `ORDER.CANCELED` — 셀러 직권취소(`POST /v1/order-items/{orderItemId}/cancel`)로 주문상품이 취소됐다.
43
+ * 수량 단위 부분 취소도 이 이벤트다(`quantity` < 주문 수량이면 주문상품 상태가 그대로다).
44
+ * 구매자가 신청한 취소·반품은 `CLAIM.*` 이벤트로 온다.
45
+ */
46
+ export const orderCanceledWebhookEventDataSchema = z.object({
47
+ orderId: z.string().describe("주문 ID"),
48
+ orderItemId: z.string().describe("취소한 주문 상품 ID"),
49
+ status: orderItemStatusSchema.describe(
50
+ "취소 뒤 주문 대표 상태. 모든 주문 상품이 취소됐으면 `CANCELED`다",
51
+ ),
52
+ itemStatus: orderItemStatusSchema.describe(
53
+ "취소 뒤 주문 상품 상태. 전 수량이 취소됐으면 `CANCELED`, 일부만 취소했으면 원래 상태다",
54
+ ),
55
+ reason: z
56
+ .string()
57
+ .describe(
58
+ "취소 사유 코드 — 판매자 취소 요청의 `reason`(`OUT_OF_STOCK`·`PRICE_ERROR`·`DELIVERY_IMPOSSIBLE`·`ETC`). " +
59
+ "사유가 늘어날 수 있어 문자열이다. 모르는 값은 `ETC`처럼 다룬다",
60
+ ),
61
+ quantity: z.number().int().describe("이번에 취소한 수량"),
62
+ canceledQuantity: z.number().int().describe("취소 후 누적 취소 수량"),
63
+ refundAmount: z
64
+ .number()
65
+ .int()
66
+ .describe(
67
+ "환불액 (원). 수량 비율 상품 금액 + 배송비 환불 − 조건부 무료배송 미달 차감이다. " +
68
+ "결제사 환불 결과는 결제 내역(`GET /v1/payments/{paymentId}`)으로 확인한다",
69
+ ),
70
+ deliveryFeeRefundAmount: z.number().int().describe("환불액에 포함된 배송비 (원)"),
71
+ deliveryFeeChargeAmount: z
72
+ .number()
73
+ .int()
74
+ .describe("환불액에서 뺀 배송비 (원) — 조건부 무료배송 기준 미달 차감"),
75
+ testPayment: z
76
+ .boolean()
77
+ .describe("테스트 결제(샌드박스 결제) 주문인가. true면 실제로 돈이 오가지 않았다"),
78
+ });
79
+ export type OrderCanceledWebhookEventData = z.infer<typeof orderCanceledWebhookEventDataSchema>;
80
+
41
81
  export const claimWebhookEventDataSchema = z.object({
42
82
  claimId: z.string().describe("클레임 ID"),
43
83
  orderId: z.string().describe("주문 ID"),
@@ -131,6 +171,12 @@ export const orderWebhookEventSchema = z.object({
131
171
  data: orderWebhookEventDataSchema,
132
172
  });
133
173
 
174
+ export const orderCanceledWebhookEventSchema = z.object({
175
+ ...envelopeFields,
176
+ type: z.literal("ORDER.CANCELED"),
177
+ data: orderCanceledWebhookEventDataSchema,
178
+ });
179
+
134
180
  export const claimWebhookEventSchema = z.object({
135
181
  ...envelopeFields,
136
182
  type: z.enum([
@@ -164,6 +210,7 @@ export const productOutOfStockWebhookEventSchema = z.object({
164
210
  export const webhookEventSchema = z
165
211
  .discriminatedUnion("type", [
166
212
  orderWebhookEventSchema,
213
+ orderCanceledWebhookEventSchema,
167
214
  claimWebhookEventSchema,
168
215
  inquiryWebhookEventSchema,
169
216
  reviewWebhookEventSchema,