@sayren/storefront-sdk 0.15.0 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/auth/index.mjs +1 -1
- package/dist/{checkout-Dsv9C9Zp.mjs → checkout-DTfoCsMF.mjs} +32 -94
- package/dist/{client-ZPNEEeRT.mjs → client-BrDY5HO3.mjs} +6 -70
- package/dist/{index-D5uvtiOl.d.mts → index-BeQwCRc8.d.mts} +204 -601
- package/dist/index.d.mts +2 -2
- package/dist/index.mjs +3 -3
- package/dist/payments/index.d.mts +1 -3
- package/dist/payments/index.mjs +1 -2
- package/package.json +1 -1
- package/src/client.ts +1 -57
- package/src/payments/index.ts +0 -5
- package/src/schemas/checkout.ts +7 -21
- package/src/schemas/fulfillment.ts +14 -76
- package/src/schemas/order.ts +5 -86
package/dist/index.d.mts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { C as loginRequestSchema, D as tokenPairSchema, E as socialProviderSchema, O as withdrawRequestSchema, S as linkIdentityRequestSchema, T as signupRequestSchema, _ as anonymousSessionSchema, a as AnonymousSession, b as idpAuthorizeResponseSchema, c as IdpTokenRequest, d as MemberIdentities, f as SignupRequest, g as WithdrawalBlockedDetails, h as WithdrawRequest, i as buildQuery, k as withdrawalBlockedDetailsSchema, l as LinkIdentityRequest, m as TokenPair, n as Query, o as IdpAgreements, p as SocialProvider, r as TokenSource, s as IdpAuthorizeRequest, t as ApiError, u as LoginRequest, v as idpAgreementsSchema, w as memberIdentitiesSchema, x as idpTokenRequestSchema, y as idpAuthorizeRequestSchema } from "./http-1ab7tP4-.mjs";
|
|
2
|
-
import { $ as
|
|
3
|
-
export { ANALYTICS_MAX_BATCH_BYTES, ANALYTICS_SESSION_COOKIE, ANALYTICS_SESSION_HEADER, ANALYTICS_VISITOR_COOKIE, ANALYTICS_VISITOR_HEADER, AddCartItemRequest, AnalyticsBatch, AnalyticsClientEvent, AnalyticsClientEventName, AnalyticsEventName, AnalyticsServerEventName, AnonymousSession, ApiError, ApplicableCoupon, AvailablePaymentOption, CASH_RECEIPT_METHODS, Cart, CartItem, CashReceiptIdentityType, CashReceiptRequest, CashReceiptType, CategoryNode, CheckoutDelivery, CheckoutPricing, CheckoutPricingRequest, CheckoutSession, ClaimReason, ClaimReturnAddress, ClaimStatus, ClaimType, ConsentAction, ConsentKind, ConsentSource, ConsentState, ConsentUpdateRequest, CouponApplication, CouponResult, CreateCheckoutRequest, CreateClaimRequest, CreateClaimResult, CreateCustomerInquiryRequest, CreateInquiryRequest, CreateInquiryResult, CreateReviewRequest, CreateReviewResult, CustomerInquiry, CustomerInquiryCategory, DeliveryQuoteRequest, DeliveryQuoteResult, DeliveryTracking,
|
|
2
|
+
import { $ as Member, $n as paymentOptionListSchema, $t as ClaimType, A as StorefrontClientOptions, An as PaymentStatus, Ar as LineFulfillment, At as checkoutPricingRequestSchema, B as ReviewPage, Bn as cashReceiptTypeSchema, Br as Cart, Bt as ConsentKind, C as AnalyticsServerEventName, Cn as PAYMENT_RESULT_VALUES, Cr as OrderItemStatus, Ct as CheckoutPricingRequest, D as analyticsIdSchema, Dn as PaymentMethod, Dr as orderItemStatusSchema, Dt as MIN_PAYMENT_AMOUNT, E as analyticsClientEventSchema, En as PaymentMessage, Er as claimStatusSchema, Et as MAX_COUPONS_PER_CHECKOUT, F as StorefrontSessionOptions, Fn as StartPaymentRequest, Fr as lineFulfillmentSchema, Ft as couponResultSchema, G as createReviewRequestSchema, Gn as deliveryQuoteSchema, Gr as cartSchema, Gt as consentActionSchema, H as UpdateReviewRequest, Hn as checkoutSessionSchema, Hr as UpdateCartItemRequest, Ht as ConsentState, I as createStorefrontSession, In as availablePaymentOptionSchema, Ir as myOrderItemFulfillmentSnapshotSchema, It as myCouponListQuerySchema, J as reviewPageSchema, Jn as guestInfoSchema, Jt as consentStateSchema, K as createReviewResultSchema, Kn as easyPayProviderResponseSchema, Kr as updateCartItemRequestSchema, Kt as consentKindSchema, L as CreateReviewRequest, Ln as cashReceiptAvailable, Lr as productCardFulfillmentSchema, Lt as myCouponSchema, M as STOREFRONT_SESSION_KEYS, Mn as RemoteArea, Mr as ProductCardFulfillment, Mt as couponApplicationListSchema, N as SessionStorage, Nn as RetryPaymentRequest, Nr as ProductFulfillmentView, Nt as couponApplicationSchema, O as analyticsServerEventNameSchema, On as PaymentOption, Or as pageInfoSchema, Ot as MyCoupon, P as StorefrontSession, Pn as ShippingAddressInput, Pr as UnknownFulfillmentView, Pt as couponBenefitViewSchema, Q as writableReviewSchema, Qn as paymentOptionKey, Qt as ClaimReturnAddress, R as CreateReviewResult, Rn as cashReceiptIdentityTypeOf, Rr as productFulfillmentViewSchema, Rt as pricingAmountsSchema, S as AnalyticsEventName, Sn as KnownPaymentStatus, Sr as ClaimStatus, St as CheckoutPricing, T as analyticsClientEventNameSchema, Tn as PaymentFailureCategory, Tr as PageParams, Tt as CouponResult, U as UpdateReviewResult, Un as createCheckoutRequestSchema, Ur as addCartItemRequestSchema, Ut as ConsentUpdateRequest, V as ReviewSummary, Vn as checkoutDeliverySchema, Vr as CartItem, Vt as ConsentSource, W as WritableReview, Wn as deliveryQuoteRequestSchema, Wr as cartItemSchema, Wt as MemberConsents, X as updateReviewRequestSchema, Xn as paymentMessageSchema, Xt as memberConsentsSchema, Y as reviewSummarySchema, Yn as paymentFailureCategorySchema, Yt as consentUpdateRequestSchema, Z as updateReviewResultSchema, Zn as paymentMethodSchema, Zt as ClaimReason, _ as ANALYTICS_VISITOR_COOKIE, _n as DeliveryQuoteRequest, _r as productCardSchema, _t as CustomerInquiryCategory, a as MyOrderItem, an as claimTypeSchema, ar as residentNumberLike, at as memberAddressSchema, b as AnalyticsClientEvent, bn as GuestInfo, br as productPageSchema, bt as customerInquirySchema, c as deliveryTrackingSchema, cn as myClaimSchema, cr as startPaymentRequestSchema, ct as wishlistAddResultSchema, d as orderShippingAddressSchema, dn as CashReceiptIdentityType, dr as ProductDetail, dt as PublicInquiry, en as CreateClaimRequest, er as paymentOptionSchema, et as MemberAddress, f as purchaseDecisionResultSchema, fn as CashReceiptRequest, fr as ProductFacets, ft as createInquiryRequestSchema, g as ANALYTICS_SESSION_HEADER, gn as CreateCheckoutRequest, gr as categoryNodeSchema, gt as CustomerInquiry, h as ANALYTICS_SESSION_COOKIE, hn as CheckoutSession, hr as ProductSort, ht as CreateCustomerInquiryRequest, i as MyOrder, in as claimReturnAddressSchema, ir as remoteAreaSchema, it as memberAddressRequestSchema, j as createStorefrontClient, jn as PgProvider, jr as MyOrderItemFulfillmentSnapshot, jt as checkoutPricingSchema, k as StorefrontClient, kn as PaymentStart, kr as pageSchema, kt as applicableCouponSchema, l as myOrderItemSchema, ln as AvailablePaymentOption, lr as CategoryNode, lt as CreateInquiryRequest, m as ANALYTICS_MAX_BATCH_BYTES, mn as CheckoutDelivery, mr as ProductSearchParams, mt as publicInquirySchema, n as storefrontStoreSchema, nn as MyClaim, nr as paymentStatusSchema, nt as UpdateProfileRequest, o as OrderShippingAddress, on as createClaimRequestSchema, or as retryPaymentRequestSchema, ot as memberSchema, p as trackingStageResponseSchema, pn as CashReceiptType, pr as ProductPage, pt as createInquiryResultSchema, q as publicReviewSchema, qn as easyPayProviderSchema, qr as analyticsIdsFromCookie, qt as consentSourceSchema, r as DeliveryTracking, rn as claimReasonSchema, rr as pgProviderSchema, rt as WishlistAddResult, s as PurchaseDecisionResult, sn as createClaimResultSchema, sr as shippingAddressInputSchema, st as updateProfileRequestSchema, t as StorefrontStore, tn as CreateClaimResult, tr as paymentStartSchema, tt as MemberAddressRequest, u as myOrderSchema, un as CASH_RECEIPT_METHODS, ur as ProductCard, ut as CreateInquiryResult, v as ANALYTICS_VISITOR_HEADER, vn as DeliveryQuoteResult, vr as productDetailSchema, vt as createCustomerInquiryRequestSchema, w as analyticsBatchSchema, wn as PAYMENT_STATUS_VALUES, wr as PageInfo, wt as CouponApplication, x as AnalyticsClientEventName, xn as KnownPaymentResult, xr as productSortSchema, xt as ApplicableCoupon, y as AnalyticsBatch, yn as EasyPayProvider, yr as productFacetsSchema, yt as customerInquiryCategorySchema, z as PublicReview, zn as cashReceiptRequestSchema, zr as AddCartItemRequest, zt as ConsentAction } from "./index-BeQwCRc8.mjs";
|
|
3
|
+
export { ANALYTICS_MAX_BATCH_BYTES, ANALYTICS_SESSION_COOKIE, ANALYTICS_SESSION_HEADER, ANALYTICS_VISITOR_COOKIE, ANALYTICS_VISITOR_HEADER, AddCartItemRequest, AnalyticsBatch, AnalyticsClientEvent, AnalyticsClientEventName, AnalyticsEventName, AnalyticsServerEventName, AnonymousSession, ApiError, ApplicableCoupon, AvailablePaymentOption, CASH_RECEIPT_METHODS, Cart, CartItem, CashReceiptIdentityType, CashReceiptRequest, CashReceiptType, CategoryNode, CheckoutDelivery, CheckoutPricing, CheckoutPricingRequest, CheckoutSession, ClaimReason, ClaimReturnAddress, ClaimStatus, ClaimType, ConsentAction, ConsentKind, ConsentSource, ConsentState, ConsentUpdateRequest, CouponApplication, CouponResult, CreateCheckoutRequest, CreateClaimRequest, CreateClaimResult, CreateCustomerInquiryRequest, CreateInquiryRequest, CreateInquiryResult, CreateReviewRequest, CreateReviewResult, CustomerInquiry, CustomerInquiryCategory, DeliveryQuoteRequest, DeliveryQuoteResult, DeliveryTracking, EasyPayProvider, GuestInfo, IdpAgreements, IdpAuthorizeRequest, IdpTokenRequest, KnownPaymentResult, KnownPaymentStatus, LineFulfillment, LinkIdentityRequest, LoginRequest, MAX_COUPONS_PER_CHECKOUT, MIN_PAYMENT_AMOUNT, Member, MemberAddress, MemberAddressRequest, MemberConsents, MemberIdentities, MyClaim, MyCoupon, MyOrder, MyOrderItem, MyOrderItemFulfillmentSnapshot, OrderItemStatus, OrderShippingAddress, PAYMENT_RESULT_VALUES, PAYMENT_STATUS_VALUES, PageInfo, PageParams, PaymentFailureCategory, PaymentMessage, PaymentMethod, PaymentOption, PaymentStart, PaymentStatus, PgProvider, ProductCard, ProductCardFulfillment, ProductDetail, ProductFacets, ProductFulfillmentView, ProductPage, ProductSearchParams, ProductSort, PublicInquiry, PublicReview, PurchaseDecisionResult, type Query, RemoteArea, RetryPaymentRequest, ReviewPage, ReviewSummary, STOREFRONT_SESSION_KEYS, type SessionStorage, ShippingAddressInput, SignupRequest, SocialProvider, StartPaymentRequest, type StorefrontClient, type StorefrontClientOptions, type StorefrontSession, type StorefrontSessionOptions, StorefrontStore, TokenPair, type TokenSource, UnknownFulfillmentView, UpdateCartItemRequest, UpdateProfileRequest, UpdateReviewRequest, UpdateReviewResult, WishlistAddResult, WithdrawRequest, WithdrawalBlockedDetails, WritableReview, addCartItemRequestSchema, analyticsBatchSchema, analyticsClientEventNameSchema, analyticsClientEventSchema, analyticsIdSchema, analyticsIdsFromCookie, analyticsServerEventNameSchema, anonymousSessionSchema, applicableCouponSchema, availablePaymentOptionSchema, buildQuery, cartItemSchema, cartSchema, cashReceiptAvailable, cashReceiptIdentityTypeOf, cashReceiptRequestSchema, cashReceiptTypeSchema, categoryNodeSchema, checkoutDeliverySchema, checkoutPricingRequestSchema, checkoutPricingSchema, checkoutSessionSchema, claimReasonSchema, claimReturnAddressSchema, claimStatusSchema, claimTypeSchema, consentActionSchema, consentKindSchema, consentSourceSchema, consentStateSchema, consentUpdateRequestSchema, couponApplicationListSchema, couponApplicationSchema, couponBenefitViewSchema, couponResultSchema, createCheckoutRequestSchema, createClaimRequestSchema, createClaimResultSchema, createCustomerInquiryRequestSchema, createInquiryRequestSchema, createInquiryResultSchema, createReviewRequestSchema, createReviewResultSchema, createStorefrontClient, createStorefrontSession, customerInquiryCategorySchema, customerInquirySchema, deliveryQuoteRequestSchema, deliveryQuoteSchema, deliveryTrackingSchema, easyPayProviderResponseSchema, easyPayProviderSchema, guestInfoSchema, idpAgreementsSchema, idpAuthorizeRequestSchema, idpAuthorizeResponseSchema, idpTokenRequestSchema, lineFulfillmentSchema, linkIdentityRequestSchema, loginRequestSchema, memberAddressRequestSchema, memberAddressSchema, memberConsentsSchema, memberIdentitiesSchema, memberSchema, myClaimSchema, myCouponListQuerySchema, myCouponSchema, myOrderItemFulfillmentSnapshotSchema, myOrderItemSchema, myOrderSchema, orderItemStatusSchema, orderShippingAddressSchema, pageInfoSchema, pageSchema, paymentFailureCategorySchema, paymentMessageSchema, paymentMethodSchema, paymentOptionKey, paymentOptionListSchema, paymentOptionSchema, paymentStartSchema, paymentStatusSchema, pgProviderSchema, pricingAmountsSchema, productCardFulfillmentSchema, productCardSchema, productDetailSchema, productFacetsSchema, productFulfillmentViewSchema, productPageSchema, productSortSchema, publicInquirySchema, publicReviewSchema, purchaseDecisionResultSchema, remoteAreaSchema, residentNumberLike, retryPaymentRequestSchema, reviewPageSchema, reviewSummarySchema, shippingAddressInputSchema, signupRequestSchema, socialProviderSchema, startPaymentRequestSchema, storefrontStoreSchema, tokenPairSchema, trackingStageResponseSchema, updateCartItemRequestSchema, updateProfileRequestSchema, updateReviewRequestSchema, updateReviewResultSchema, wishlistAddResultSchema, withdrawRequestSchema, withdrawalBlockedDetailsSchema, writableReviewSchema };
|
package/dist/index.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { a as ANALYTICS_VISITOR_HEADER, c as analyticsClientEventSchema, i as ANALYTICS_VISITOR_COOKIE, l as analyticsIdSchema, n as ANALYTICS_SESSION_COOKIE, o as analyticsBatchSchema, r as ANALYTICS_SESSION_HEADER, s as analyticsClientEventNameSchema, t as ANALYTICS_MAX_BATCH_BYTES, u as analyticsServerEventNameSchema } from "./analytics-CgD70OqH.mjs";
|
|
2
2
|
import { t as analyticsIdsFromCookie } from "./analytics-ids-COElZiI3.mjs";
|
|
3
|
-
import { $ as
|
|
4
|
-
import { A as startPaymentRequestSchema, B as myCouponListQuerySchema, C as paymentStartSchema, D as residentNumberLike, E as remoteAreaSchema, F as checkoutPricingSchema, G as
|
|
3
|
+
import { $ as updateCartItemRequestSchema, A as consentSourceSchema, B as categoryNodeSchema, C as createInquiryResultSchema, D as customerInquirySchema, E as customerInquiryCategorySchema, F as claimReturnAddressSchema, G as productSortSchema, H as productDetailSchema, I as claimTypeSchema, J as pageInfoSchema, K as claimStatusSchema, L as createClaimRequestSchema, M as consentUpdateRequestSchema, N as memberConsentsSchema, O as consentActionSchema, P as claimReasonSchema, Q as cartSchema, R as createClaimResultSchema, S as createInquiryRequestSchema, T as createCustomerInquiryRequestSchema, U as productFacetsSchema, V as productCardSchema, W as productPageSchema, X as addCartItemRequestSchema, Y as pageSchema, Z as cartItemSchema, _ as memberAddressRequestSchema, a as publicReviewSchema, at as linkIdentityRequestSchema, b as updateProfileRequestSchema, c as updateReviewRequestSchema, ct as signupRequestSchema, d as deliveryTrackingSchema, dt as withdrawRequestSchema, et as anonymousSessionSchema, f as myOrderItemSchema, ft as withdrawalBlockedDetailsSchema, g as trackingStageResponseSchema, gt as unwrapData, h as purchaseDecisionResultSchema, ht as toApiError, i as createReviewResultSchema, it as idpTokenRequestSchema, j as consentStateSchema, k as consentKindSchema, l as updateReviewResultSchema, lt as socialProviderSchema, m as orderShippingAddressSchema, mt as buildQuery, n as storefrontStoreSchema, nt as idpAuthorizeRequestSchema, o as reviewPageSchema, ot as loginRequestSchema, p as myOrderSchema, pt as ApiError, q as orderItemStatusSchema, r as createReviewRequestSchema, rt as idpAuthorizeResponseSchema, s as reviewSummarySchema, st as memberIdentitiesSchema, t as createStorefrontClient, tt as idpAgreementsSchema, u as writableReviewSchema, ut as tokenPairSchema, v as memberAddressSchema, w as publicInquirySchema, x as wishlistAddResultSchema, y as memberSchema, z as myClaimSchema } from "./client-BrDY5HO3.mjs";
|
|
4
|
+
import { A as startPaymentRequestSchema, B as myCouponListQuerySchema, C as paymentStartSchema, D as residentNumberLike, E as remoteAreaSchema, F as checkoutPricingSchema, G as productCardFulfillmentSchema, H as pricingAmountsSchema, I as couponApplicationListSchema, K as productFulfillmentViewSchema, L as couponApplicationSchema, M as MIN_PAYMENT_AMOUNT, N as applicableCouponSchema, O as retryPaymentRequestSchema, P as checkoutPricingRequestSchema, R as couponBenefitViewSchema, S as paymentOptionSchema, T as pgProviderSchema, U as lineFulfillmentSchema, V as myCouponSchema, W as myOrderItemFulfillmentSnapshotSchema, _ as paymentFailureCategorySchema, a as cashReceiptAvailable, b as paymentOptionKey, c as cashReceiptTypeSchema, d as createCheckoutRequestSchema, f as deliveryQuoteRequestSchema, g as guestInfoSchema, h as easyPayProviderSchema, i as availablePaymentOptionSchema, j as MAX_COUPONS_PER_CHECKOUT, k as shippingAddressInputSchema, l as checkoutDeliverySchema, m as easyPayProviderResponseSchema, n as PAYMENT_RESULT_VALUES, o as cashReceiptIdentityTypeOf, p as deliveryQuoteSchema, r as PAYMENT_STATUS_VALUES, s as cashReceiptRequestSchema, t as CASH_RECEIPT_METHODS, u as checkoutSessionSchema, v as paymentMessageSchema, w as paymentStatusSchema, x as paymentOptionListSchema, y as paymentMethodSchema, z as couponResultSchema } from "./checkout-DTfoCsMF.mjs";
|
|
5
5
|
//#region src/session.ts
|
|
6
6
|
/** 세션 키 상수 — SDK가 소유한다. store-sdk와 겹치지 않는 별도 네임스페이스. */
|
|
7
7
|
const STOREFRONT_SESSION_KEYS = {
|
|
@@ -125,4 +125,4 @@ function createStorefrontSession(options) {
|
|
|
125
125
|
};
|
|
126
126
|
}
|
|
127
127
|
//#endregion
|
|
128
|
-
export { ANALYTICS_MAX_BATCH_BYTES, ANALYTICS_SESSION_COOKIE, ANALYTICS_SESSION_HEADER, ANALYTICS_VISITOR_COOKIE, ANALYTICS_VISITOR_HEADER, ApiError, CASH_RECEIPT_METHODS, MAX_COUPONS_PER_CHECKOUT, MIN_PAYMENT_AMOUNT, PAYMENT_RESULT_VALUES, PAYMENT_STATUS_VALUES, STOREFRONT_SESSION_KEYS, addCartItemRequestSchema, analyticsBatchSchema, analyticsClientEventNameSchema, analyticsClientEventSchema, analyticsIdSchema, analyticsIdsFromCookie, analyticsServerEventNameSchema, anonymousSessionSchema, applicableCouponSchema, availablePaymentOptionSchema, buildQuery, cartItemSchema, cartSchema, cashReceiptAvailable, cashReceiptIdentityTypeOf, cashReceiptRequestSchema, cashReceiptTypeSchema, categoryNodeSchema, checkoutDeliverySchema, checkoutPricingRequestSchema, checkoutPricingSchema, checkoutSessionSchema, claimReasonSchema, claimReturnAddressSchema, claimStatusSchema, claimTypeSchema, consentActionSchema, consentKindSchema, consentSourceSchema, consentStateSchema, consentUpdateRequestSchema, couponApplicationListSchema, couponApplicationSchema, couponBenefitViewSchema, couponResultSchema, createCheckoutRequestSchema, createClaimRequestSchema, createClaimResultSchema, createCustomerInquiryRequestSchema, createInquiryRequestSchema, createInquiryResultSchema, createReviewRequestSchema, createReviewResultSchema, createStorefrontClient, createStorefrontSession, customerInquiryCategorySchema, customerInquirySchema, deliveryQuoteRequestSchema, deliveryQuoteSchema, deliveryTrackingSchema,
|
|
128
|
+
export { ANALYTICS_MAX_BATCH_BYTES, ANALYTICS_SESSION_COOKIE, ANALYTICS_SESSION_HEADER, ANALYTICS_VISITOR_COOKIE, ANALYTICS_VISITOR_HEADER, ApiError, CASH_RECEIPT_METHODS, MAX_COUPONS_PER_CHECKOUT, MIN_PAYMENT_AMOUNT, PAYMENT_RESULT_VALUES, PAYMENT_STATUS_VALUES, STOREFRONT_SESSION_KEYS, addCartItemRequestSchema, analyticsBatchSchema, analyticsClientEventNameSchema, analyticsClientEventSchema, analyticsIdSchema, analyticsIdsFromCookie, analyticsServerEventNameSchema, anonymousSessionSchema, applicableCouponSchema, availablePaymentOptionSchema, buildQuery, cartItemSchema, cartSchema, cashReceiptAvailable, cashReceiptIdentityTypeOf, cashReceiptRequestSchema, cashReceiptTypeSchema, categoryNodeSchema, checkoutDeliverySchema, checkoutPricingRequestSchema, checkoutPricingSchema, checkoutSessionSchema, claimReasonSchema, claimReturnAddressSchema, claimStatusSchema, claimTypeSchema, consentActionSchema, consentKindSchema, consentSourceSchema, consentStateSchema, consentUpdateRequestSchema, couponApplicationListSchema, couponApplicationSchema, couponBenefitViewSchema, couponResultSchema, createCheckoutRequestSchema, createClaimRequestSchema, createClaimResultSchema, createCustomerInquiryRequestSchema, createInquiryRequestSchema, createInquiryResultSchema, createReviewRequestSchema, createReviewResultSchema, createStorefrontClient, createStorefrontSession, customerInquiryCategorySchema, customerInquirySchema, deliveryQuoteRequestSchema, deliveryQuoteSchema, deliveryTrackingSchema, easyPayProviderResponseSchema, easyPayProviderSchema, guestInfoSchema, idpAgreementsSchema, idpAuthorizeRequestSchema, idpAuthorizeResponseSchema, idpTokenRequestSchema, lineFulfillmentSchema, linkIdentityRequestSchema, loginRequestSchema, memberAddressRequestSchema, memberAddressSchema, memberConsentsSchema, memberIdentitiesSchema, memberSchema, myClaimSchema, myCouponListQuerySchema, myCouponSchema, myOrderItemFulfillmentSnapshotSchema, myOrderItemSchema, myOrderSchema, orderItemStatusSchema, orderShippingAddressSchema, pageInfoSchema, pageSchema, paymentFailureCategorySchema, paymentMessageSchema, paymentMethodSchema, paymentOptionKey, paymentOptionListSchema, paymentOptionSchema, paymentStartSchema, paymentStatusSchema, pgProviderSchema, pricingAmountsSchema, productCardFulfillmentSchema, productCardSchema, productDetailSchema, productFacetsSchema, productFulfillmentViewSchema, productPageSchema, productSortSchema, publicInquirySchema, publicReviewSchema, purchaseDecisionResultSchema, remoteAreaSchema, residentNumberLike, retryPaymentRequestSchema, reviewPageSchema, reviewSummarySchema, shippingAddressInputSchema, signupRequestSchema, socialProviderSchema, startPaymentRequestSchema, storefrontStoreSchema, tokenPairSchema, trackingStageResponseSchema, updateCartItemRequestSchema, updateProfileRequestSchema, updateReviewRequestSchema, updateReviewResultSchema, wishlistAddResultSchema, withdrawRequestSchema, withdrawalBlockedDetailsSchema, writableReviewSchema };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { An as PaymentStatus, Fn as StartPaymentRequest, On as PaymentOption, Pn as ShippingAddressInput, bn as GuestInfo, fn as CashReceiptRequest, j as createStorefrontClient, kn as PaymentStart } from "../index-BeQwCRc8.mjs";
|
|
2
2
|
//#region src/payments/index.d.ts
|
|
3
3
|
/**
|
|
4
4
|
* 스토어프론트 결제 — 브라우저 전용(`@sayren/storefront-sdk/payments`).
|
|
@@ -114,8 +114,6 @@ export interface StartOptions {
|
|
|
114
114
|
cashReceipt?: CashReceiptRequest;
|
|
115
115
|
/** 적용할 쿠폰 — 결제 시작이 예약하고 할인한 금액으로 결제한다 */
|
|
116
116
|
coupons?: StartPaymentRequest["coupons"];
|
|
117
|
-
/** 청약철회 제한 동의 — 주문서의 `withdrawal.required`가 true면 true로 보낸다 */
|
|
118
|
-
withdrawalAgreement?: boolean;
|
|
119
117
|
returnUrl?: string;
|
|
120
118
|
mode?: PaymentMode;
|
|
121
119
|
/** 클릭 시점에 {@link Payments.prepareWindow}로 미리 연 창. 폼 검증이 비동기라 클릭 태스크를 넘길 때 쓴다 */
|
package/dist/payments/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { v as paymentMessageSchema } from "../checkout-
|
|
1
|
+
import { v as paymentMessageSchema } from "../checkout-DTfoCsMF.mjs";
|
|
2
2
|
//#region src/payments/index.ts
|
|
3
3
|
/** 복귀 주소에 결제 서비스가 붙이는 쿼리 */
|
|
4
4
|
const RETURN_PAYMENT_ID = "sayrenPaymentId";
|
|
@@ -290,7 +290,6 @@ function createPayments(options) {
|
|
|
290
290
|
guest: startOptions.guest,
|
|
291
291
|
...startOptions.cashReceipt ? { cashReceipt: startOptions.cashReceipt } : {},
|
|
292
292
|
...startOptions.coupons ? { coupons: startOptions.coupons } : {},
|
|
293
|
-
...startOptions.withdrawalAgreement !== void 0 ? { withdrawalAgreement: startOptions.withdrawalAgreement } : {},
|
|
294
293
|
returnUrl
|
|
295
294
|
}));
|
|
296
295
|
},
|
package/package.json
CHANGED
package/src/client.ts
CHANGED
|
@@ -86,14 +86,7 @@ import {
|
|
|
86
86
|
type UpdateProfileRequest,
|
|
87
87
|
updateProfileRequestSchema,
|
|
88
88
|
} from "./schemas/member";
|
|
89
|
-
import {
|
|
90
|
-
type DownloadRequest,
|
|
91
|
-
deliveryTrackingSchema,
|
|
92
|
-
downloadLinkSchema,
|
|
93
|
-
downloadRequestSchema,
|
|
94
|
-
fulfillmentRevealSchema,
|
|
95
|
-
myOrderSchema,
|
|
96
|
-
} from "./schemas/order";
|
|
89
|
+
import { deliveryTrackingSchema, myOrderSchema } from "./schemas/order";
|
|
97
90
|
import {
|
|
98
91
|
type CreateReviewRequest,
|
|
99
92
|
createReviewRequestSchema,
|
|
@@ -374,55 +367,6 @@ export function createStorefrontClient(options: StorefrontClientOptions) {
|
|
|
374
367
|
http.request("POST", path`/guest/orders/${orderId}`, myOrderSchema, { body }),
|
|
375
368
|
getDelivery: (orderItemId: string) =>
|
|
376
369
|
http.request("GET", path`/me/order-items/${orderItemId}/delivery`, deliveryTrackingSchema),
|
|
377
|
-
/**
|
|
378
|
-
* 코드 열람 (이슈 #48) — 코드 발급 상품의 평문 코드. 처음 열람한 시각이 제공 개시 증거로 남는다.
|
|
379
|
-
*
|
|
380
|
-
* 에러: 404 `ORDER_ITEM_NOT_FOUND`(없거나 남의 주문상품) · 404 `FULFILLMENT_NOT_FOUND`(제공 전·회수됨·코드 상품 아님) ·
|
|
381
|
-
* 429 `TOO_MANY_REQUESTS`
|
|
382
|
-
*/
|
|
383
|
-
revealCode: (orderItemId: string) =>
|
|
384
|
-
http.request(
|
|
385
|
-
"POST",
|
|
386
|
-
path`/me/order-items/${orderItemId}/fulfillment/reveal`,
|
|
387
|
-
fulfillmentRevealSchema,
|
|
388
|
-
),
|
|
389
|
-
/**
|
|
390
|
-
* 파일 다운로드 (이슈 #48) — 수명 300초의 서명 주소를 받는다. 받을 때마다 남은 횟수가 준다.
|
|
391
|
-
*
|
|
392
|
-
* 에러: 404 `FULFILLMENT_NOT_FOUND`(제공 전·회수됨·파일 상품 아님) · 409 `DOWNLOAD_LIMIT_REACHED`(횟수 소진) ·
|
|
393
|
-
* 409 `DOWNLOAD_EXPIRED`(기한 지남) · 400 `ASSET_REQUIRED`(파일이 여러 개인데 `assetId` 없음)
|
|
394
|
-
*/
|
|
395
|
-
createDownload: (orderItemId: string, body: DownloadRequest = {}) =>
|
|
396
|
-
http.request("POST", path`/me/order-items/${orderItemId}/downloads`, downloadLinkSchema, {
|
|
397
|
-
body: downloadRequestSchema.parse(body),
|
|
398
|
-
}),
|
|
399
|
-
/** 비회원 다운로드 — 비회원 주문 조회와 같은 연락처·주문 조회 비밀번호로 확인한다 */
|
|
400
|
-
createGuestDownload: (
|
|
401
|
-
orderId: string,
|
|
402
|
-
orderItemId: string,
|
|
403
|
-
body: { phone: string; orderPassword: string; assetId?: string },
|
|
404
|
-
) =>
|
|
405
|
-
http.request(
|
|
406
|
-
"POST",
|
|
407
|
-
path`/guest/orders/${orderId}/order-items/${orderItemId}/downloads`,
|
|
408
|
-
downloadLinkSchema,
|
|
409
|
-
{ body },
|
|
410
|
-
),
|
|
411
|
-
/**
|
|
412
|
-
* 비회원 코드 열람 — 비회원 주문 조회와 같은 연락처·주문 조회 비밀번호로 확인하고 같은 시도 한도를 쓴다.
|
|
413
|
-
* 틀리면 구분 없이 404 `ORDER_NOT_FOUND`다.
|
|
414
|
-
*/
|
|
415
|
-
revealGuestCode: (
|
|
416
|
-
orderId: string,
|
|
417
|
-
orderItemId: string,
|
|
418
|
-
body: { phone: string; orderPassword: string },
|
|
419
|
-
) =>
|
|
420
|
-
http.request(
|
|
421
|
-
"POST",
|
|
422
|
-
path`/guest/orders/${orderId}/order-items/${orderItemId}/fulfillment/reveal`,
|
|
423
|
-
fulfillmentRevealSchema,
|
|
424
|
-
{ body },
|
|
425
|
-
),
|
|
426
370
|
decidePurchase: (orderItemId: string) =>
|
|
427
371
|
http.requestVoid("POST", path`/me/order-items/${orderItemId}/purchase-decision`),
|
|
428
372
|
},
|
package/src/payments/index.ts
CHANGED
|
@@ -243,8 +243,6 @@ export interface StartOptions {
|
|
|
243
243
|
cashReceipt?: CashReceiptRequest;
|
|
244
244
|
/** 적용할 쿠폰 — 결제 시작이 예약하고 할인한 금액으로 결제한다 */
|
|
245
245
|
coupons?: StartPaymentRequest["coupons"];
|
|
246
|
-
/** 청약철회 제한 동의 — 주문서의 `withdrawal.required`가 true면 true로 보낸다 */
|
|
247
|
-
withdrawalAgreement?: boolean;
|
|
248
246
|
returnUrl?: string;
|
|
249
247
|
mode?: PaymentMode;
|
|
250
248
|
/** 클릭 시점에 {@link Payments.prepareWindow}로 미리 연 창. 폼 검증이 비동기라 클릭 태스크를 넘길 때 쓴다 */
|
|
@@ -534,9 +532,6 @@ export function createPayments(options: PaymentsOptions): Payments {
|
|
|
534
532
|
guest: startOptions.guest,
|
|
535
533
|
...(startOptions.cashReceipt ? { cashReceipt: startOptions.cashReceipt } : {}),
|
|
536
534
|
...(startOptions.coupons ? { coupons: startOptions.coupons } : {}),
|
|
537
|
-
...(startOptions.withdrawalAgreement !== undefined
|
|
538
|
-
? { withdrawalAgreement: startOptions.withdrawalAgreement }
|
|
539
|
-
: {}),
|
|
540
535
|
returnUrl,
|
|
541
536
|
}),
|
|
542
537
|
);
|
package/src/schemas/checkout.ts
CHANGED
|
@@ -100,19 +100,12 @@ export const checkoutSessionSchema = z.object({
|
|
|
100
100
|
"택배 배송이 필요한 상품이 있는가. false면 배송지를 받지 않는다 — 결제 시작에 `shippingAddress`를 보내지 않아도 된다",
|
|
101
101
|
),
|
|
102
102
|
withdrawal: z
|
|
103
|
-
.object({
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
),
|
|
110
|
-
notice: z
|
|
111
|
-
.string()
|
|
112
|
-
.nullable()
|
|
113
|
-
.describe("구매자에게 보여 줄 고지 문구. `required`가 false면 null"),
|
|
114
|
-
})
|
|
115
|
-
.describe("청약철회 제한 고지(이슈 #48)"),
|
|
103
|
+
.object({ required: z.boolean(), notice: z.string().nullable() })
|
|
104
|
+
.optional()
|
|
105
|
+
.describe(
|
|
106
|
+
"**Deprecated** — 항상 `{ required: false, notice: null }`이다. 청약철회 제한 고지를 없앴고(이슈 #48) storefront-sdk 0.15 이하 " +
|
|
107
|
+
"호환으로만 싣는다. 게시된 스토어프론트가 0.16 이상으로 넘어간 뒤 다음 릴리스에서 뺀다",
|
|
108
|
+
),
|
|
116
109
|
expiresAt: z.string(),
|
|
117
110
|
paymentOptions: z
|
|
118
111
|
.lazy(() => paymentOptionListSchema)
|
|
@@ -382,16 +375,9 @@ export const startPaymentRequestSchema = z.object({
|
|
|
382
375
|
.optional()
|
|
383
376
|
.describe(
|
|
384
377
|
"배송지. 주문서의 `requiresShipping`이 true면 필수이고 없으면 400 `SHIPPING_ADDRESS_REQUIRED`다. " +
|
|
385
|
-
"배송이 필요 없는 주문(
|
|
378
|
+
"배송이 필요 없는 주문(배송 없는 상품만)은 보내지 않아도 된다. 보내면 형식을 검사한 뒤 버린다",
|
|
386
379
|
),
|
|
387
380
|
guest: guestInfoSchema.optional(),
|
|
388
|
-
withdrawalAgreement: z
|
|
389
|
-
.boolean()
|
|
390
|
-
.optional()
|
|
391
|
-
.describe(
|
|
392
|
-
"청약철회 제한 동의. 주문서의 `withdrawal.required`가 true면 true여야 하고 아니면 400 `WITHDRAWAL_AGREEMENT_REQUIRED`다. " +
|
|
393
|
-
"동의 시각이 주문에 남는다",
|
|
394
|
-
),
|
|
395
381
|
cashReceipt: cashReceiptField,
|
|
396
382
|
coupons: couponApplicationListSchema
|
|
397
383
|
.optional()
|
|
@@ -2,15 +2,15 @@ import { z } from "zod";
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* 구매자용 상품 이행 (이슈 #57) — 관리 API의 상품 이행에서 구매자에게 필요한 것만 싣는다. 유형, 배송 필요 여부, 배송 안내(배송비·
|
|
5
|
-
* 무료 기준·반품·교환 배송비)
|
|
6
|
-
* 싣지 않는다.
|
|
5
|
+
* 무료 기준·반품·교환 배송비)다. 셀러 내부 값(출고지·반품지 id)은 싣지 않는다.
|
|
7
6
|
*
|
|
8
|
-
*
|
|
7
|
+
* 유형은 `SHIPPING`(배송 상품)과 `MANUAL`(배송 없는 상품, 판매자가 제공 처리) 둘이다(이슈 #48 범위 축소).
|
|
8
|
+
* 유형 이름은 응답에서 문자열이고, 모르는 유형(서버가 나중에 더한 유형)은 `{ type: "OTHER", rawType,
|
|
9
9
|
* requiresShipping }`로 읽는다. `requiresShipping`은 판별 값에서 파생되지만 **모든 가지에 싣는다** — 모르는 유형에서도 주문서가
|
|
10
10
|
* 배송지를 받을지 정할 수 있어야 한다.
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
|
-
const KNOWN_TYPES: readonly string[] = ["SHIPPING", "
|
|
13
|
+
const KNOWN_TYPES: readonly string[] = ["SHIPPING", "MANUAL"];
|
|
14
14
|
|
|
15
15
|
/** 모르는 유형 — SDK가 아직 모르는 유형이다 */
|
|
16
16
|
export interface UnknownFulfillmentView {
|
|
@@ -44,23 +44,6 @@ function openUnion<T extends z.ZodType>(known: T) {
|
|
|
44
44
|
const requiresShippingDescription =
|
|
45
45
|
"택배 배송이 필요한가. false면 배송비가 없고 주문서가 배송지를 받지 않는다";
|
|
46
46
|
|
|
47
|
-
const withdrawalRestrictedField = z
|
|
48
|
-
.boolean()
|
|
49
|
-
.describe(
|
|
50
|
-
"청약철회 제한 대상인가. true면 주문서가 제한 고지 동의를 받고, 첫 다운로드·열람 뒤 단순 변심 취소·반품을 받지 않는다",
|
|
51
|
-
);
|
|
52
|
-
|
|
53
|
-
/** 방문 수령 장소 표시값 — 주소 id는 싣지 않는다 */
|
|
54
|
-
export const pickupLocationSchema = z.object({
|
|
55
|
-
name: z.string().describe("수령 장소 이름"),
|
|
56
|
-
zipCode: z.string(),
|
|
57
|
-
address1: z.string(),
|
|
58
|
-
address2: z.string().nullable(),
|
|
59
|
-
phone: z.string().describe("수령 장소 연락처"),
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
export type PickupLocation = z.infer<typeof pickupLocationSchema>;
|
|
63
|
-
|
|
64
47
|
/** 상품 카드(목록·찜)의 이행 — 유형과 배송 필요 여부만. 배송비·환불 정책은 상세에서 본다 */
|
|
65
48
|
export const productCardFulfillmentSchema = z.object({
|
|
66
49
|
type: z.string().describe("상품 유형. 값이 추가될 수 있어 문자열로 받는다"),
|
|
@@ -99,30 +82,7 @@ export const productFulfillmentViewSchema = openUnion(
|
|
|
99
82
|
.describe("단순 변심 교환 배송비(유효 환불 정책). 원 단위"),
|
|
100
83
|
}),
|
|
101
84
|
}),
|
|
102
|
-
z.object({
|
|
103
|
-
type: z.literal("DOWNLOAD"),
|
|
104
|
-
requiresShipping: z.literal(false),
|
|
105
|
-
download: z.object({
|
|
106
|
-
limit: z.number().int().describe("다운로드 횟수 한도(수량 1개당)"),
|
|
107
|
-
days: z.number().int().describe("다운로드 기간(제공일부터 일수)"),
|
|
108
|
-
withdrawalRestricted: withdrawalRestrictedField,
|
|
109
|
-
}),
|
|
110
|
-
}),
|
|
111
|
-
z.object({
|
|
112
|
-
type: z.literal("CODE"),
|
|
113
|
-
requiresShipping: z.literal(false),
|
|
114
|
-
code: z.object({ withdrawalRestricted: withdrawalRestrictedField }),
|
|
115
|
-
}),
|
|
116
|
-
z.object({ type: z.literal("SERVICE"), requiresShipping: z.literal(false) }),
|
|
117
|
-
z.object({
|
|
118
|
-
type: z.literal("PICKUP"),
|
|
119
|
-
requiresShipping: z.literal(false),
|
|
120
|
-
pickup: z.object({
|
|
121
|
-
location: pickupLocationSchema
|
|
122
|
-
.nullable()
|
|
123
|
-
.describe("방문 수령 장소. 수령지가 지워졌으면 null이다(판매자에게 문의)"),
|
|
124
|
-
}),
|
|
125
|
-
}),
|
|
85
|
+
z.object({ type: z.literal("MANUAL"), requiresShipping: z.literal(false) }),
|
|
126
86
|
]),
|
|
127
87
|
).describe(
|
|
128
88
|
"상품 이행. `type`이 유형이고 같은 이름의 키가 유형별 안내다. 값이 추가될 수 있어 SDK는 모르는 유형을 `OTHER`로 읽는다",
|
|
@@ -134,48 +94,26 @@ export type ProductFulfillmentView = z.infer<typeof productFulfillmentViewSchema
|
|
|
134
94
|
export const lineFulfillmentSchema = z.object({
|
|
135
95
|
type: z.string().describe("상품 유형. 값이 추가될 수 있어 문자열로 받는다"),
|
|
136
96
|
requiresShipping: z.boolean().describe(requiresShippingDescription),
|
|
137
|
-
withdrawalRestricted:
|
|
97
|
+
withdrawalRestricted: z
|
|
98
|
+
.boolean()
|
|
99
|
+
.optional()
|
|
100
|
+
.describe(
|
|
101
|
+
"**Deprecated** — 항상 false다. 청약철회 제한 기능을 없앴고(이슈 #48) storefront-sdk 0.15 이하 호환으로만 싣는다. " +
|
|
102
|
+
"게시된 스토어프론트가 0.16 이상으로 넘어간 뒤 다음 릴리스에서 뺀다",
|
|
103
|
+
),
|
|
138
104
|
});
|
|
139
105
|
|
|
140
106
|
export type LineFulfillment = z.infer<typeof lineFulfillmentSchema>;
|
|
141
107
|
|
|
142
108
|
/**
|
|
143
|
-
* 내 주문 주문상품의 주문 시점 이행 스냅샷. 상품을 나중에 고쳐도 바뀌지 않는다.
|
|
109
|
+
* 내 주문 주문상품의 주문 시점 이행 스냅샷. 상품을 나중에 고쳐도 바뀌지 않는다. 제공 기록(제공 시각·판매자 안내)은
|
|
144
110
|
* 주문상품의 `fulfillment`다.
|
|
145
111
|
*/
|
|
146
112
|
export const myOrderItemFulfillmentSnapshotSchema = openUnion(
|
|
147
113
|
z.discriminatedUnion("type", [
|
|
148
114
|
z.object({ type: z.literal("SHIPPING"), requiresShipping: z.literal(true) }),
|
|
149
|
-
z.object({
|
|
150
|
-
type: z.literal("DOWNLOAD"),
|
|
151
|
-
requiresShipping: z.literal(false),
|
|
152
|
-
download: z.object({ withdrawalRestricted: withdrawalRestrictedField }),
|
|
153
|
-
}),
|
|
154
|
-
z.object({
|
|
155
|
-
type: z.literal("CODE"),
|
|
156
|
-
requiresShipping: z.literal(false),
|
|
157
|
-
code: z.object({ withdrawalRestricted: withdrawalRestrictedField }),
|
|
158
|
-
}),
|
|
159
|
-
z.object({ type: z.literal("SERVICE"), requiresShipping: z.literal(false) }),
|
|
160
|
-
z.object({
|
|
161
|
-
type: z.literal("PICKUP"),
|
|
162
|
-
requiresShipping: z.literal(false),
|
|
163
|
-
pickup: z.object({
|
|
164
|
-
location: pickupLocationSchema
|
|
165
|
-
.nullable()
|
|
166
|
-
.describe("주문 시점 방문 수령 장소. 수령지가 지워졌으면 null이다(판매자에게 문의)"),
|
|
167
|
-
}),
|
|
168
|
-
}),
|
|
115
|
+
z.object({ type: z.literal("MANUAL"), requiresShipping: z.literal(false) }),
|
|
169
116
|
]),
|
|
170
117
|
).describe("주문 시점 이행 스냅샷. 값이 추가될 수 있어 SDK는 모르는 유형을 `OTHER`로 읽는다");
|
|
171
118
|
|
|
172
119
|
export type MyOrderItemFulfillmentSnapshot = z.infer<typeof myOrderItemFulfillmentSnapshotSchema>;
|
|
173
|
-
|
|
174
|
-
/** 청약철회 제한 대상인가 — 파일 다운로드·코드 발급만 켤 수 있다 */
|
|
175
|
-
export function withdrawalRestrictedOfView(
|
|
176
|
-
fulfillment: ProductFulfillmentView | MyOrderItemFulfillmentSnapshot,
|
|
177
|
-
): boolean {
|
|
178
|
-
if (fulfillment.type === "DOWNLOAD") return fulfillment.download.withdrawalRestricted;
|
|
179
|
-
if (fulfillment.type === "CODE") return fulfillment.code.withdrawalRestricted;
|
|
180
|
-
return false;
|
|
181
|
-
}
|
package/src/schemas/order.ts
CHANGED
|
@@ -32,57 +32,24 @@ export const myOrderItemSchema = z.object({
|
|
|
32
32
|
),
|
|
33
33
|
status: orderItemStatusSchema,
|
|
34
34
|
fulfillmentSnapshot: myOrderItemFulfillmentSnapshotSchema.describe(
|
|
35
|
-
"주문 시점 이행 스냅샷(이슈 #57). `type`이 주문 시점 상품 유형이다. 배송
|
|
36
|
-
"청약철회 제한 주문상품(`download`·`code`의 `withdrawalRestricted`)은 제공이 시작되면(다운로드·열람) 구매자 취소·반품을 받지 않는다",
|
|
35
|
+
"주문 시점 이행 스냅샷(이슈 #57). `type`이 주문 시점 상품 유형이다. 배송 없는 상품(`MANUAL`)이면 `DELIVERED`는 제공 완료다",
|
|
37
36
|
),
|
|
38
37
|
fulfillment: z
|
|
39
38
|
.object({
|
|
40
39
|
status: z
|
|
41
40
|
.string()
|
|
42
41
|
.describe(
|
|
43
|
-
"제공 상태. `FULFILLED`(제공함)·`REVOKED`(
|
|
42
|
+
"제공 상태. `FULFILLED`(제공함)·`REVOKED`(전량 취소·환불로 회수함). 값이 추가될 수 있어 문자열로 받는다",
|
|
44
43
|
),
|
|
45
44
|
fulfilledAt: z.string().describe("제공 시각 (ISO 8601)"),
|
|
46
|
-
note: z.string().nullable().describe("
|
|
47
|
-
codes: z
|
|
48
|
-
.array(
|
|
49
|
-
z.object({
|
|
50
|
-
codeId: z.string(),
|
|
51
|
-
hint: z.string().describe("가린 코드 — 끝 4자만 보인다(예: `****AB12`)"),
|
|
52
|
-
revealedAt: z.string().nullable().describe("처음 열람한 시각. 열람 전이면 null"),
|
|
53
|
-
}),
|
|
54
|
-
)
|
|
55
|
-
.optional()
|
|
56
|
-
.default([])
|
|
57
|
-
.describe(
|
|
58
|
-
"코드 발급 상품의 코드(가린 값). 평문은 `fulfillment/reveal`로 연다. 환불로 회수된 코드는 싣지 않는다. 서버는 항상 싣는다",
|
|
59
|
-
),
|
|
60
|
-
download: z
|
|
61
|
-
.object({
|
|
62
|
-
count: z.number().int().describe("지금까지 받은 횟수"),
|
|
63
|
-
limit: z.number().int().describe("받을 수 있는 횟수"),
|
|
64
|
-
expiresAt: z.string().nullable().describe("받을 수 있는 기한 (ISO 8601)"),
|
|
65
|
-
files: z.array(
|
|
66
|
-
z.object({
|
|
67
|
-
assetId: z.string(),
|
|
68
|
-
fileName: z.string(),
|
|
69
|
-
sizeBytes: z.number().int().nullable(),
|
|
70
|
-
}),
|
|
71
|
-
),
|
|
72
|
-
})
|
|
73
|
-
.nullable()
|
|
74
|
-
.optional()
|
|
75
|
-
.default(null)
|
|
76
|
-
.describe(
|
|
77
|
-
"파일 다운로드 상품의 횟수·기한·파일 목록. 파일 주소는 `downloads`로 받는다. 다른 유형은 null. 서버는 항상 싣는다",
|
|
78
|
-
),
|
|
45
|
+
note: z.string().nullable().describe("판매자가 제공 처리 때 남긴 이용 안내. 없으면 null"),
|
|
79
46
|
})
|
|
80
47
|
.nullable()
|
|
81
48
|
.optional()
|
|
82
49
|
.default(null)
|
|
83
50
|
.describe(
|
|
84
|
-
"
|
|
85
|
-
"
|
|
51
|
+
"배송 없는 상품의 제공 기록(이슈 #48). 제공 전이거나 배송 상품이면 null이다. " +
|
|
52
|
+
"배송 없는 상품의 `DELIVERED`는 제공 완료로 표시한다. 서버는 항상 싣는다",
|
|
86
53
|
),
|
|
87
54
|
claimStatus: z.string().nullable(),
|
|
88
55
|
reviewWritten: z.boolean(),
|
|
@@ -165,14 +132,6 @@ export const myOrderSchema = z.object({
|
|
|
165
132
|
paidAt: z.string().nullable(),
|
|
166
133
|
receiptUrl: z.url().nullable(),
|
|
167
134
|
}),
|
|
168
|
-
withdrawalAgreedAt: z
|
|
169
|
-
.string()
|
|
170
|
-
.nullable()
|
|
171
|
-
.optional()
|
|
172
|
-
.default(null)
|
|
173
|
-
.describe(
|
|
174
|
-
"청약철회 제한 안내에 동의한 시각(이슈 #48). 제한 상품이 없던 주문은 null. 서버는 항상 싣는다",
|
|
175
|
-
),
|
|
176
135
|
testPayment: z
|
|
177
136
|
.boolean()
|
|
178
137
|
.describe(
|
|
@@ -239,43 +198,3 @@ export const purchaseDecisionResultSchema = z.object({
|
|
|
239
198
|
});
|
|
240
199
|
|
|
241
200
|
export type PurchaseDecisionResult = z.infer<typeof purchaseDecisionResultSchema>;
|
|
242
|
-
|
|
243
|
-
/**
|
|
244
|
-
* 코드 열람 응답 (이슈 #48) — `POST /storefront/v1/me/order-items/{orderItemId}/fulfillment/reveal`(회원)·
|
|
245
|
-
* `POST /storefront/v1/guest/orders/{orderId}/order-items/{orderItemId}/fulfillment/reveal`(비회원).
|
|
246
|
-
* 평문 코드는 이 응답에만 있다. 화면에 보인 뒤 저장하지 않는다(응답은 `Cache-Control: no-store`).
|
|
247
|
-
* 첫 열람 시각은 청약철회 판단의 근거(제공 개시)로 남는다.
|
|
248
|
-
*/
|
|
249
|
-
export const fulfillmentRevealSchema = z.object({
|
|
250
|
-
orderItemId: z.string(),
|
|
251
|
-
codes: z.array(
|
|
252
|
-
z.object({
|
|
253
|
-
codeId: z.string(),
|
|
254
|
-
code: z.string().describe("코드 평문"),
|
|
255
|
-
revealedAt: z.string().describe("처음 열람한 시각"),
|
|
256
|
-
}),
|
|
257
|
-
),
|
|
258
|
-
});
|
|
259
|
-
|
|
260
|
-
export type FulfillmentReveal = z.infer<typeof fulfillmentRevealSchema>;
|
|
261
|
-
|
|
262
|
-
/**
|
|
263
|
-
* 다운로드 요청 (이슈 #48) — `POST /storefront/v1/me/order-items/{orderItemId}/downloads`(회원)·
|
|
264
|
-
* `POST /storefront/v1/guest/orders/{orderId}/order-items/{orderItemId}/downloads`(비회원, 연락처·비밀번호를 함께 보낸다).
|
|
265
|
-
* 파일이 하나면 `assetId`를 생략할 수 있다.
|
|
266
|
-
*/
|
|
267
|
-
export const downloadRequestSchema = z.object({
|
|
268
|
-
assetId: z.string().min(1).max(64).optional().describe("받을 파일. 파일이 여러 개면 필수다"),
|
|
269
|
-
});
|
|
270
|
-
|
|
271
|
-
export type DownloadRequest = z.infer<typeof downloadRequestSchema>;
|
|
272
|
-
|
|
273
|
-
/** 다운로드 응답 — 수명 300초의 서명 주소. 받을 때마다 횟수가 하나 준다 */
|
|
274
|
-
export const downloadLinkSchema = z.object({
|
|
275
|
-
url: z.url().describe("서명 주소. 300초 뒤 만료된다 — 받아서 바로 쓰고 저장하지 않는다"),
|
|
276
|
-
expiresAt: z.string().describe("서명 주소 만료 시각"),
|
|
277
|
-
fileName: z.string(),
|
|
278
|
-
remaining: z.number().int().describe("남은 다운로드 횟수"),
|
|
279
|
-
});
|
|
280
|
-
|
|
281
|
-
export type DownloadLink = z.infer<typeof downloadLinkSchema>;
|