@sayren/store-sdk 0.1.0 → 0.2.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 +756 -5
- package/dist/index.mjs +370 -73
- package/package.json +2 -2
- package/src/client.ts +50 -48
- package/src/index.ts +1 -0
- package/src/schemas/analytics.ts +200 -0
- package/src/schemas/category.ts +36 -0
- package/src/schemas/claim.ts +31 -1
- package/src/schemas/common.ts +12 -0
- package/src/schemas/misc.ts +77 -2
- package/src/schemas/order.ts +60 -0
- package/src/schemas/product.ts +30 -7
- package/src/schemas/scope.ts +4 -1
- package/src/schemas/store.ts +18 -0
package/dist/index.d.mts
CHANGED
|
@@ -16,6 +16,270 @@ type TokenSource = string | null | undefined | (() => string | null | undefined)
|
|
|
16
16
|
type Query = Record<string, string | number | boolean | undefined>;
|
|
17
17
|
export declare function buildQuery(query?: Query): string;
|
|
18
18
|
//#endregion
|
|
19
|
+
//#region src/schemas/analytics.d.ts
|
|
20
|
+
export declare const analyticsRangeQuerySchema: z.ZodObject<{
|
|
21
|
+
from: z.ZodString;
|
|
22
|
+
to: z.ZodString;
|
|
23
|
+
includeTest: z.ZodOptional<z.ZodEnum<{
|
|
24
|
+
true: "true";
|
|
25
|
+
false: "false";
|
|
26
|
+
}>>;
|
|
27
|
+
}, z.core.$strip>;
|
|
28
|
+
export type AnalyticsRangeParams = z.infer<typeof analyticsRangeQuerySchema>;
|
|
29
|
+
export declare const analyticsTotalsSchema: z.ZodObject<{
|
|
30
|
+
visitors: z.ZodNumber;
|
|
31
|
+
sessions: z.ZodNumber;
|
|
32
|
+
engagedSessions: z.ZodNumber;
|
|
33
|
+
pageViews: z.ZodNumber;
|
|
34
|
+
engagementSeconds: z.ZodNumber;
|
|
35
|
+
productViews: z.ZodNumber;
|
|
36
|
+
productViewSessions: z.ZodNumber;
|
|
37
|
+
addToCartSessions: z.ZodNumber;
|
|
38
|
+
beginCheckoutSessions: z.ZodNumber;
|
|
39
|
+
purchaseSessions: z.ZodNumber;
|
|
40
|
+
purchases: z.ZodNumber;
|
|
41
|
+
revenue: z.ZodNumber;
|
|
42
|
+
engagementRate: z.ZodNullable<z.ZodNumber>;
|
|
43
|
+
conversionRate: z.ZodNullable<z.ZodNumber>;
|
|
44
|
+
}, z.core.$strip>;
|
|
45
|
+
export type AnalyticsTotals = z.infer<typeof analyticsTotalsSchema>;
|
|
46
|
+
export declare const analyticsFunnelStepSchema: z.ZodObject<{
|
|
47
|
+
step: z.ZodEnum<{
|
|
48
|
+
SESSION: "SESSION";
|
|
49
|
+
PRODUCT_VIEW: "PRODUCT_VIEW";
|
|
50
|
+
ADD_TO_CART: "ADD_TO_CART";
|
|
51
|
+
BEGIN_CHECKOUT: "BEGIN_CHECKOUT";
|
|
52
|
+
PURCHASE: "PURCHASE";
|
|
53
|
+
}>;
|
|
54
|
+
sessions: z.ZodNumber;
|
|
55
|
+
rateFromPrevious: z.ZodNullable<z.ZodNumber>;
|
|
56
|
+
}, z.core.$strip>;
|
|
57
|
+
export type AnalyticsFunnelStep = z.infer<typeof analyticsFunnelStepSchema>;
|
|
58
|
+
export declare const analyticsOverviewSchema: z.ZodObject<{
|
|
59
|
+
summary: z.ZodObject<{
|
|
60
|
+
visitors: z.ZodNumber;
|
|
61
|
+
sessions: z.ZodNumber;
|
|
62
|
+
engagedSessions: z.ZodNumber;
|
|
63
|
+
pageViews: z.ZodNumber;
|
|
64
|
+
engagementSeconds: z.ZodNumber;
|
|
65
|
+
productViews: z.ZodNumber;
|
|
66
|
+
productViewSessions: z.ZodNumber;
|
|
67
|
+
addToCartSessions: z.ZodNumber;
|
|
68
|
+
beginCheckoutSessions: z.ZodNumber;
|
|
69
|
+
purchaseSessions: z.ZodNumber;
|
|
70
|
+
purchases: z.ZodNumber;
|
|
71
|
+
revenue: z.ZodNumber;
|
|
72
|
+
engagementRate: z.ZodNullable<z.ZodNumber>;
|
|
73
|
+
conversionRate: z.ZodNullable<z.ZodNumber>;
|
|
74
|
+
}, z.core.$strip>;
|
|
75
|
+
funnel: z.ZodArray<z.ZodObject<{
|
|
76
|
+
step: z.ZodEnum<{
|
|
77
|
+
SESSION: "SESSION";
|
|
78
|
+
PRODUCT_VIEW: "PRODUCT_VIEW";
|
|
79
|
+
ADD_TO_CART: "ADD_TO_CART";
|
|
80
|
+
BEGIN_CHECKOUT: "BEGIN_CHECKOUT";
|
|
81
|
+
PURCHASE: "PURCHASE";
|
|
82
|
+
}>;
|
|
83
|
+
sessions: z.ZodNumber;
|
|
84
|
+
rateFromPrevious: z.ZodNullable<z.ZodNumber>;
|
|
85
|
+
}, z.core.$strip>>;
|
|
86
|
+
rows: z.ZodArray<z.ZodObject<{
|
|
87
|
+
visitors: z.ZodNumber;
|
|
88
|
+
sessions: z.ZodNumber;
|
|
89
|
+
engagedSessions: z.ZodNumber;
|
|
90
|
+
pageViews: z.ZodNumber;
|
|
91
|
+
engagementSeconds: z.ZodNumber;
|
|
92
|
+
productViews: z.ZodNumber;
|
|
93
|
+
productViewSessions: z.ZodNumber;
|
|
94
|
+
addToCartSessions: z.ZodNumber;
|
|
95
|
+
beginCheckoutSessions: z.ZodNumber;
|
|
96
|
+
purchaseSessions: z.ZodNumber;
|
|
97
|
+
purchases: z.ZodNumber;
|
|
98
|
+
revenue: z.ZodNumber;
|
|
99
|
+
engagementRate: z.ZodNullable<z.ZodNumber>;
|
|
100
|
+
conversionRate: z.ZodNullable<z.ZodNumber>;
|
|
101
|
+
date: z.ZodString;
|
|
102
|
+
}, z.core.$strip>>;
|
|
103
|
+
from: z.ZodString;
|
|
104
|
+
to: z.ZodString;
|
|
105
|
+
timezone: z.ZodLiteral<"Asia/Seoul">;
|
|
106
|
+
currency: z.ZodLiteral<"KRW">;
|
|
107
|
+
includeTest: z.ZodBoolean;
|
|
108
|
+
lastComputedAt: z.ZodNullable<z.ZodString>;
|
|
109
|
+
}, z.core.$strip>;
|
|
110
|
+
export type AnalyticsOverview = z.infer<typeof analyticsOverviewSchema>;
|
|
111
|
+
export declare const analyticsProductSortSchema: z.ZodEnum<{
|
|
112
|
+
VIEWS: "VIEWS";
|
|
113
|
+
ADD_TO_CARTS: "ADD_TO_CARTS";
|
|
114
|
+
PURCHASES: "PURCHASES";
|
|
115
|
+
REVENUE: "REVENUE";
|
|
116
|
+
IMPRESSIONS: "IMPRESSIONS";
|
|
117
|
+
}>;
|
|
118
|
+
export type AnalyticsProductSort = z.infer<typeof analyticsProductSortSchema>;
|
|
119
|
+
export declare const analyticsProductsQuerySchema: z.ZodObject<{
|
|
120
|
+
from: z.ZodString;
|
|
121
|
+
to: z.ZodString;
|
|
122
|
+
includeTest: z.ZodOptional<z.ZodEnum<{
|
|
123
|
+
true: "true";
|
|
124
|
+
false: "false";
|
|
125
|
+
}>>;
|
|
126
|
+
sort: z.ZodOptional<z.ZodEnum<{
|
|
127
|
+
VIEWS: "VIEWS";
|
|
128
|
+
ADD_TO_CARTS: "ADD_TO_CARTS";
|
|
129
|
+
PURCHASES: "PURCHASES";
|
|
130
|
+
REVENUE: "REVENUE";
|
|
131
|
+
IMPRESSIONS: "IMPRESSIONS";
|
|
132
|
+
}>>;
|
|
133
|
+
limit: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
|
|
134
|
+
}, z.core.$strip>;
|
|
135
|
+
export type AnalyticsProductsParams = z.infer<typeof analyticsProductsQuerySchema>;
|
|
136
|
+
export declare const analyticsProductRowSchema: z.ZodObject<{
|
|
137
|
+
productId: z.ZodString;
|
|
138
|
+
productName: z.ZodNullable<z.ZodString>;
|
|
139
|
+
impressions: z.ZodNumber;
|
|
140
|
+
views: z.ZodNumber;
|
|
141
|
+
viewSessions: z.ZodNumber;
|
|
142
|
+
addToCarts: z.ZodNumber;
|
|
143
|
+
purchases: z.ZodNumber;
|
|
144
|
+
quantity: z.ZodNumber;
|
|
145
|
+
revenue: z.ZodNumber;
|
|
146
|
+
purchaseRate: z.ZodNullable<z.ZodNumber>;
|
|
147
|
+
}, z.core.$strip>;
|
|
148
|
+
export type AnalyticsProductRow = z.infer<typeof analyticsProductRowSchema>;
|
|
149
|
+
export declare const analyticsProductsSchema: z.ZodObject<{
|
|
150
|
+
sort: z.ZodEnum<{
|
|
151
|
+
VIEWS: "VIEWS";
|
|
152
|
+
ADD_TO_CARTS: "ADD_TO_CARTS";
|
|
153
|
+
PURCHASES: "PURCHASES";
|
|
154
|
+
REVENUE: "REVENUE";
|
|
155
|
+
IMPRESSIONS: "IMPRESSIONS";
|
|
156
|
+
}>;
|
|
157
|
+
rows: z.ZodArray<z.ZodObject<{
|
|
158
|
+
productId: z.ZodString;
|
|
159
|
+
productName: z.ZodNullable<z.ZodString>;
|
|
160
|
+
impressions: z.ZodNumber;
|
|
161
|
+
views: z.ZodNumber;
|
|
162
|
+
viewSessions: z.ZodNumber;
|
|
163
|
+
addToCarts: z.ZodNumber;
|
|
164
|
+
purchases: z.ZodNumber;
|
|
165
|
+
quantity: z.ZodNumber;
|
|
166
|
+
revenue: z.ZodNumber;
|
|
167
|
+
purchaseRate: z.ZodNullable<z.ZodNumber>;
|
|
168
|
+
}, z.core.$strip>>;
|
|
169
|
+
from: z.ZodString;
|
|
170
|
+
to: z.ZodString;
|
|
171
|
+
timezone: z.ZodLiteral<"Asia/Seoul">;
|
|
172
|
+
currency: z.ZodLiteral<"KRW">;
|
|
173
|
+
includeTest: z.ZodBoolean;
|
|
174
|
+
lastComputedAt: z.ZodNullable<z.ZodString>;
|
|
175
|
+
}, z.core.$strip>;
|
|
176
|
+
export type AnalyticsProducts = z.infer<typeof analyticsProductsSchema>;
|
|
177
|
+
export declare const analyticsChannelSchema: z.ZodEnum<{
|
|
178
|
+
PAID: "PAID";
|
|
179
|
+
DIRECT: "DIRECT";
|
|
180
|
+
CAMPAIGN: "CAMPAIGN";
|
|
181
|
+
ORGANIC_SEARCH: "ORGANIC_SEARCH";
|
|
182
|
+
SOCIAL: "SOCIAL";
|
|
183
|
+
EMAIL: "EMAIL";
|
|
184
|
+
REFERRAL: "REFERRAL";
|
|
185
|
+
UNKNOWN: "UNKNOWN";
|
|
186
|
+
}>;
|
|
187
|
+
export type AnalyticsChannel = z.infer<typeof analyticsChannelSchema>;
|
|
188
|
+
export declare const analyticsSourceGroupBySchema: z.ZodEnum<{
|
|
189
|
+
CHANNEL: "CHANNEL";
|
|
190
|
+
SOURCE: "SOURCE";
|
|
191
|
+
CAMPAIGN: "CAMPAIGN";
|
|
192
|
+
DEVICE: "DEVICE";
|
|
193
|
+
}>;
|
|
194
|
+
export type AnalyticsSourceGroupBy = z.infer<typeof analyticsSourceGroupBySchema>;
|
|
195
|
+
export declare const analyticsSourcesQuerySchema: z.ZodObject<{
|
|
196
|
+
from: z.ZodString;
|
|
197
|
+
to: z.ZodString;
|
|
198
|
+
includeTest: z.ZodOptional<z.ZodEnum<{
|
|
199
|
+
true: "true";
|
|
200
|
+
false: "false";
|
|
201
|
+
}>>;
|
|
202
|
+
groupBy: z.ZodOptional<z.ZodEnum<{
|
|
203
|
+
CHANNEL: "CHANNEL";
|
|
204
|
+
SOURCE: "SOURCE";
|
|
205
|
+
CAMPAIGN: "CAMPAIGN";
|
|
206
|
+
DEVICE: "DEVICE";
|
|
207
|
+
}>>;
|
|
208
|
+
}, z.core.$strip>;
|
|
209
|
+
export type AnalyticsSourcesParams = z.infer<typeof analyticsSourcesQuerySchema>;
|
|
210
|
+
export declare const analyticsSourceRowSchema: z.ZodObject<{
|
|
211
|
+
channel: z.ZodNullable<z.ZodEnum<{
|
|
212
|
+
PAID: "PAID";
|
|
213
|
+
DIRECT: "DIRECT";
|
|
214
|
+
CAMPAIGN: "CAMPAIGN";
|
|
215
|
+
ORGANIC_SEARCH: "ORGANIC_SEARCH";
|
|
216
|
+
SOCIAL: "SOCIAL";
|
|
217
|
+
EMAIL: "EMAIL";
|
|
218
|
+
REFERRAL: "REFERRAL";
|
|
219
|
+
UNKNOWN: "UNKNOWN";
|
|
220
|
+
}>>;
|
|
221
|
+
source: z.ZodNullable<z.ZodString>;
|
|
222
|
+
medium: z.ZodNullable<z.ZodString>;
|
|
223
|
+
campaign: z.ZodNullable<z.ZodString>;
|
|
224
|
+
device: z.ZodNullable<z.ZodEnum<{
|
|
225
|
+
unknown: "unknown";
|
|
226
|
+
desktop: "desktop";
|
|
227
|
+
mobile: "mobile";
|
|
228
|
+
tablet: "tablet";
|
|
229
|
+
}>>;
|
|
230
|
+
sessions: z.ZodNumber;
|
|
231
|
+
visitors: z.ZodNumber;
|
|
232
|
+
engagedSessions: z.ZodNumber;
|
|
233
|
+
purchaseSessions: z.ZodNumber;
|
|
234
|
+
purchases: z.ZodNumber;
|
|
235
|
+
revenue: z.ZodNumber;
|
|
236
|
+
conversionRate: z.ZodNullable<z.ZodNumber>;
|
|
237
|
+
}, z.core.$strip>;
|
|
238
|
+
export type AnalyticsSourceRow = z.infer<typeof analyticsSourceRowSchema>;
|
|
239
|
+
export declare const analyticsSourcesSchema: z.ZodObject<{
|
|
240
|
+
groupBy: z.ZodEnum<{
|
|
241
|
+
CHANNEL: "CHANNEL";
|
|
242
|
+
SOURCE: "SOURCE";
|
|
243
|
+
CAMPAIGN: "CAMPAIGN";
|
|
244
|
+
DEVICE: "DEVICE";
|
|
245
|
+
}>;
|
|
246
|
+
rows: z.ZodArray<z.ZodObject<{
|
|
247
|
+
channel: z.ZodNullable<z.ZodEnum<{
|
|
248
|
+
PAID: "PAID";
|
|
249
|
+
DIRECT: "DIRECT";
|
|
250
|
+
CAMPAIGN: "CAMPAIGN";
|
|
251
|
+
ORGANIC_SEARCH: "ORGANIC_SEARCH";
|
|
252
|
+
SOCIAL: "SOCIAL";
|
|
253
|
+
EMAIL: "EMAIL";
|
|
254
|
+
REFERRAL: "REFERRAL";
|
|
255
|
+
UNKNOWN: "UNKNOWN";
|
|
256
|
+
}>>;
|
|
257
|
+
source: z.ZodNullable<z.ZodString>;
|
|
258
|
+
medium: z.ZodNullable<z.ZodString>;
|
|
259
|
+
campaign: z.ZodNullable<z.ZodString>;
|
|
260
|
+
device: z.ZodNullable<z.ZodEnum<{
|
|
261
|
+
unknown: "unknown";
|
|
262
|
+
desktop: "desktop";
|
|
263
|
+
mobile: "mobile";
|
|
264
|
+
tablet: "tablet";
|
|
265
|
+
}>>;
|
|
266
|
+
sessions: z.ZodNumber;
|
|
267
|
+
visitors: z.ZodNumber;
|
|
268
|
+
engagedSessions: z.ZodNumber;
|
|
269
|
+
purchaseSessions: z.ZodNumber;
|
|
270
|
+
purchases: z.ZodNumber;
|
|
271
|
+
revenue: z.ZodNumber;
|
|
272
|
+
conversionRate: z.ZodNullable<z.ZodNumber>;
|
|
273
|
+
}, z.core.$strip>>;
|
|
274
|
+
from: z.ZodString;
|
|
275
|
+
to: z.ZodString;
|
|
276
|
+
timezone: z.ZodLiteral<"Asia/Seoul">;
|
|
277
|
+
currency: z.ZodLiteral<"KRW">;
|
|
278
|
+
includeTest: z.ZodBoolean;
|
|
279
|
+
lastComputedAt: z.ZodNullable<z.ZodString>;
|
|
280
|
+
}, z.core.$strip>;
|
|
281
|
+
export type AnalyticsSources = z.infer<typeof analyticsSourcesSchema>;
|
|
282
|
+
//#endregion
|
|
19
283
|
//#region src/schemas/api-client.d.ts
|
|
20
284
|
/**
|
|
21
285
|
* 앱(OAuth 클라이언트) 관리 — `/v1/store/api-clients` (auth-spec 부록 B-13).
|
|
@@ -543,6 +807,30 @@ export declare const categoryDeleteStrategySchema: z.ZodEnum<{
|
|
|
543
807
|
cascade: "cascade";
|
|
544
808
|
}>;
|
|
545
809
|
export type CategoryDeleteStrategy = z.infer<typeof categoryDeleteStrategySchema>;
|
|
810
|
+
/**
|
|
811
|
+
* `GET /v1/categories` 쿼리 — OpenAPI 문서용 형태(값은 쿼리 문자열). 응답 형태가 쿼리로 갈린다:
|
|
812
|
+
* `q`가 있으면 검색 결과(`CategorySearchResult[]`), 아니면 `tree=true`일 때 트리(`CategoryTreeNode[]`),
|
|
813
|
+
* 둘 다 아니면 목록(`Category[]`)이다.
|
|
814
|
+
*/
|
|
815
|
+
export declare const categoryListQuerySchema: z.ZodObject<{
|
|
816
|
+
parentId: z.ZodOptional<z.ZodString>;
|
|
817
|
+
flat: z.ZodOptional<z.ZodEnum<{
|
|
818
|
+
true: "true";
|
|
819
|
+
false: "false";
|
|
820
|
+
}>>;
|
|
821
|
+
tree: z.ZodOptional<z.ZodEnum<{
|
|
822
|
+
true: "true";
|
|
823
|
+
false: "false";
|
|
824
|
+
}>>;
|
|
825
|
+
q: z.ZodOptional<z.ZodString>;
|
|
826
|
+
}, z.core.$strip>;
|
|
827
|
+
/** `DELETE /v1/categories/{categoryId}` 쿼리 — OpenAPI 문서용 형태 */
|
|
828
|
+
export declare const categoryDeleteQuerySchema: z.ZodObject<{
|
|
829
|
+
strategy: z.ZodOptional<z.ZodEnum<{
|
|
830
|
+
reparent: "reparent";
|
|
831
|
+
cascade: "cascade";
|
|
832
|
+
}>>;
|
|
833
|
+
}, z.core.$strip>;
|
|
546
834
|
//#endregion
|
|
547
835
|
//#region src/schemas/common.d.ts
|
|
548
836
|
export declare const pageInfoSchema: z.ZodObject<{
|
|
@@ -559,6 +847,17 @@ export declare function pageSchema<T extends z.ZodType>(item: T): z.ZodObject<{
|
|
|
559
847
|
totalPages: z.ZodNumber;
|
|
560
848
|
contents: z.ZodArray<T>;
|
|
561
849
|
}, z.core.$strip>;
|
|
850
|
+
/**
|
|
851
|
+
* 목록 쿼리의 `page`·`size` — OpenAPI 문서용 형태(값은 쿼리 문자열). 서버는 숫자가 아니거나 범위를 벗어난
|
|
852
|
+
* 값을 기본값·상한으로 보정한다.
|
|
853
|
+
*/
|
|
854
|
+
export declare function pageQueryShape(options?: {
|
|
855
|
+
defaultSize?: number;
|
|
856
|
+
maxSize?: number;
|
|
857
|
+
}): {
|
|
858
|
+
page: z.ZodOptional<z.ZodString>;
|
|
859
|
+
size: z.ZodOptional<z.ZodString>;
|
|
860
|
+
};
|
|
562
861
|
export interface PageParams {
|
|
563
862
|
page?: number;
|
|
564
863
|
size?: number;
|
|
@@ -686,6 +985,109 @@ export interface ClaimListParams extends PageParams {
|
|
|
686
985
|
requestedFrom?: string;
|
|
687
986
|
requestedTo?: string;
|
|
688
987
|
}
|
|
988
|
+
/** `GET /v1/claims` 쿼리 — OpenAPI 문서용 형태(값은 쿼리 문자열) */
|
|
989
|
+
export declare const claimListQuerySchema: z.ZodObject<{
|
|
990
|
+
page: z.ZodOptional<z.ZodString>;
|
|
991
|
+
size: z.ZodOptional<z.ZodString>;
|
|
992
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
993
|
+
RETURN: "RETURN";
|
|
994
|
+
EXCHANGE: "EXCHANGE";
|
|
995
|
+
CANCEL: "CANCEL";
|
|
996
|
+
}>>;
|
|
997
|
+
status: z.ZodOptional<z.ZodEnum<{
|
|
998
|
+
REQUESTED: "REQUESTED";
|
|
999
|
+
HELD: "HELD";
|
|
1000
|
+
COLLECTING: "COLLECTING";
|
|
1001
|
+
COLLECTED: "COLLECTED";
|
|
1002
|
+
REDELIVERING: "REDELIVERING";
|
|
1003
|
+
APPROVED: "APPROVED";
|
|
1004
|
+
REJECTED: "REJECTED";
|
|
1005
|
+
COMPLETED: "COMPLETED";
|
|
1006
|
+
WITHDRAWN: "WITHDRAWN";
|
|
1007
|
+
}>>;
|
|
1008
|
+
orderItemId: z.ZodOptional<z.ZodString>;
|
|
1009
|
+
requestedFrom: z.ZodOptional<z.ZodString>;
|
|
1010
|
+
requestedTo: z.ZodOptional<z.ZodString>;
|
|
1011
|
+
}, z.core.$strip>;
|
|
1012
|
+
/** `GET /v1/claims/{claimId}` 응답 — 클레임 + 상태 이력 */
|
|
1013
|
+
export declare const claimDetailSchema: z.ZodObject<{
|
|
1014
|
+
claimId: z.ZodString;
|
|
1015
|
+
type: z.ZodEnum<{
|
|
1016
|
+
RETURN: "RETURN";
|
|
1017
|
+
EXCHANGE: "EXCHANGE";
|
|
1018
|
+
CANCEL: "CANCEL";
|
|
1019
|
+
}>;
|
|
1020
|
+
status: z.ZodEnum<{
|
|
1021
|
+
REQUESTED: "REQUESTED";
|
|
1022
|
+
HELD: "HELD";
|
|
1023
|
+
COLLECTING: "COLLECTING";
|
|
1024
|
+
COLLECTED: "COLLECTED";
|
|
1025
|
+
REDELIVERING: "REDELIVERING";
|
|
1026
|
+
APPROVED: "APPROVED";
|
|
1027
|
+
REJECTED: "REJECTED";
|
|
1028
|
+
COMPLETED: "COMPLETED";
|
|
1029
|
+
WITHDRAWN: "WITHDRAWN";
|
|
1030
|
+
}>;
|
|
1031
|
+
orderId: z.ZodString;
|
|
1032
|
+
orderItemId: z.ZodString;
|
|
1033
|
+
productName: z.ZodString;
|
|
1034
|
+
quantity: z.ZodNumber;
|
|
1035
|
+
reason: z.ZodEnum<{
|
|
1036
|
+
CHANGE_OF_MIND: "CHANGE_OF_MIND";
|
|
1037
|
+
WRONG_ORDER: "WRONG_ORDER";
|
|
1038
|
+
DEFECTIVE: "DEFECTIVE";
|
|
1039
|
+
WRONG_DELIVERY: "WRONG_DELIVERY";
|
|
1040
|
+
DIFFERENT_FROM_PAGE: "DIFFERENT_FROM_PAGE";
|
|
1041
|
+
DELAY: "DELAY";
|
|
1042
|
+
}>;
|
|
1043
|
+
reasonDetail: z.ZodNullable<z.ZodString>;
|
|
1044
|
+
responsibility: z.ZodEnum<{
|
|
1045
|
+
BUYER: "BUYER";
|
|
1046
|
+
SELLER: "SELLER";
|
|
1047
|
+
}>;
|
|
1048
|
+
claimDeliveryFee: z.ZodNumber;
|
|
1049
|
+
expectedRefundAmount: z.ZodNullable<z.ZodNumber>;
|
|
1050
|
+
exchangeOption: z.ZodNullable<z.ZodObject<{
|
|
1051
|
+
optionId: z.ZodString;
|
|
1052
|
+
optionName: z.ZodString;
|
|
1053
|
+
}, z.core.$strip>>;
|
|
1054
|
+
collect: z.ZodNullable<z.ZodObject<{
|
|
1055
|
+
method: z.ZodEnum<{
|
|
1056
|
+
SELLER_PICKUP: "SELLER_PICKUP";
|
|
1057
|
+
BUYER_SEND: "BUYER_SEND";
|
|
1058
|
+
}>;
|
|
1059
|
+
carrierCode: z.ZodNullable<z.ZodString>;
|
|
1060
|
+
trackingNumber: z.ZodNullable<z.ZodString>;
|
|
1061
|
+
}, z.core.$strip>>;
|
|
1062
|
+
requestedAt: z.ZodString;
|
|
1063
|
+
completedAt: z.ZodNullable<z.ZodString>;
|
|
1064
|
+
histories: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1065
|
+
status: z.ZodEnum<{
|
|
1066
|
+
REQUESTED: "REQUESTED";
|
|
1067
|
+
HELD: "HELD";
|
|
1068
|
+
COLLECTING: "COLLECTING";
|
|
1069
|
+
COLLECTED: "COLLECTED";
|
|
1070
|
+
REDELIVERING: "REDELIVERING";
|
|
1071
|
+
APPROVED: "APPROVED";
|
|
1072
|
+
REJECTED: "REJECTED";
|
|
1073
|
+
COMPLETED: "COMPLETED";
|
|
1074
|
+
WITHDRAWN: "WITHDRAWN";
|
|
1075
|
+
}>;
|
|
1076
|
+
actor: z.ZodEnum<{
|
|
1077
|
+
BUYER: "BUYER";
|
|
1078
|
+
SELLER: "SELLER";
|
|
1079
|
+
SYSTEM: "SYSTEM";
|
|
1080
|
+
}>;
|
|
1081
|
+
occurredAt: z.ZodString;
|
|
1082
|
+
}, z.core.$strip>>>;
|
|
1083
|
+
}, z.core.$strip>;
|
|
1084
|
+
export type ClaimDetail = z.infer<typeof claimDetailSchema>;
|
|
1085
|
+
/** `POST /v1/claims/{claimId}/hold` 응답 */
|
|
1086
|
+
export declare const claimHoldResultSchema: z.ZodObject<{
|
|
1087
|
+
claimId: z.ZodString;
|
|
1088
|
+
holdExpiresAt: z.ZodString;
|
|
1089
|
+
}, z.core.$strip>;
|
|
1090
|
+
export type ClaimHoldResult = z.infer<typeof claimHoldResultSchema>;
|
|
689
1091
|
export declare const rejectClaimRequestSchema: z.ZodObject<{
|
|
690
1092
|
reason: z.ZodEnum<{
|
|
691
1093
|
ETC: "ETC";
|
|
@@ -762,6 +1164,34 @@ export declare const sellerCustomerInquirySchema: z.ZodObject<{
|
|
|
762
1164
|
createdAt: z.ZodString;
|
|
763
1165
|
}, z.core.$strip>;
|
|
764
1166
|
export type SellerCustomerInquiry = z.infer<typeof sellerCustomerInquirySchema>;
|
|
1167
|
+
/** `GET /v1/inquiries` 쿼리(상품 문의) — OpenAPI 문서용 형태(값은 쿼리 문자열). 최신순이다 */
|
|
1168
|
+
export declare const inquiryListQuerySchema: z.ZodObject<{
|
|
1169
|
+
page: z.ZodOptional<z.ZodString>;
|
|
1170
|
+
size: z.ZodOptional<z.ZodString>;
|
|
1171
|
+
answered: z.ZodOptional<z.ZodEnum<{
|
|
1172
|
+
true: "true";
|
|
1173
|
+
false: "false";
|
|
1174
|
+
}>>;
|
|
1175
|
+
productId: z.ZodOptional<z.ZodString>;
|
|
1176
|
+
from: z.ZodOptional<z.ZodString>;
|
|
1177
|
+
}, z.core.$strip>;
|
|
1178
|
+
/** `GET /v1/customer-inquiries` 쿼리(1:1 문의) — OpenAPI 문서용 형태(값은 쿼리 문자열). 최신순이다 */
|
|
1179
|
+
export declare const customerInquiryListQuerySchema: z.ZodObject<{
|
|
1180
|
+
page: z.ZodOptional<z.ZodString>;
|
|
1181
|
+
size: z.ZodOptional<z.ZodString>;
|
|
1182
|
+
answered: z.ZodOptional<z.ZodEnum<{
|
|
1183
|
+
true: "true";
|
|
1184
|
+
false: "false";
|
|
1185
|
+
}>>;
|
|
1186
|
+
category: z.ZodOptional<z.ZodEnum<{
|
|
1187
|
+
ETC: "ETC";
|
|
1188
|
+
DELIVERY: "DELIVERY";
|
|
1189
|
+
RETURN: "RETURN";
|
|
1190
|
+
EXCHANGE: "EXCHANGE";
|
|
1191
|
+
PAYMENT: "PAYMENT";
|
|
1192
|
+
}>>;
|
|
1193
|
+
from: z.ZodOptional<z.ZodString>;
|
|
1194
|
+
}, z.core.$strip>;
|
|
765
1195
|
export declare const settlementStatusSchema: z.ZodEnum<{
|
|
766
1196
|
PAID: "PAID";
|
|
767
1197
|
HELD: "HELD";
|
|
@@ -802,6 +1232,57 @@ export declare const settlementDetailSchema: z.ZodObject<{
|
|
|
802
1232
|
purchaseDecidedAt: z.ZodNullable<z.ZodString>;
|
|
803
1233
|
}, z.core.$strip>;
|
|
804
1234
|
export type SettlementDetail = z.infer<typeof settlementDetailSchema>;
|
|
1235
|
+
/** `GET /v1/settlements/{settlementId}` 응답 — 정산 요약 + 상세 내역(`size`건까지) */
|
|
1236
|
+
export declare const settlementWithDetailsSchema: z.ZodObject<{
|
|
1237
|
+
settlementId: z.ZodString;
|
|
1238
|
+
settlementDate: z.ZodString;
|
|
1239
|
+
payoutDate: z.ZodNullable<z.ZodString>;
|
|
1240
|
+
status: z.ZodEnum<{
|
|
1241
|
+
PAID: "PAID";
|
|
1242
|
+
HELD: "HELD";
|
|
1243
|
+
SCHEDULED: "SCHEDULED";
|
|
1244
|
+
}>;
|
|
1245
|
+
totalPaymentAmount: z.ZodNumber;
|
|
1246
|
+
totalCommission: z.ZodNumber;
|
|
1247
|
+
totalDeliveryFee: z.ZodNumber;
|
|
1248
|
+
adjustmentAmount: z.ZodNumber;
|
|
1249
|
+
settlementAmount: z.ZodNumber;
|
|
1250
|
+
itemCount: z.ZodNumber;
|
|
1251
|
+
details: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1252
|
+
orderItemId: z.ZodString;
|
|
1253
|
+
productName: z.ZodString;
|
|
1254
|
+
settlementType: z.ZodEnum<{
|
|
1255
|
+
SALE: "SALE";
|
|
1256
|
+
REFUND_DEDUCTION: "REFUND_DEDUCTION";
|
|
1257
|
+
ADJUSTMENT: "ADJUSTMENT";
|
|
1258
|
+
}>;
|
|
1259
|
+
paymentAmount: z.ZodNumber;
|
|
1260
|
+
salesCommission: z.ZodNumber;
|
|
1261
|
+
paymentCommission: z.ZodNumber;
|
|
1262
|
+
commissionRate: z.ZodNumber;
|
|
1263
|
+
deliveryFee: z.ZodNumber;
|
|
1264
|
+
settlementAmount: z.ZodNumber;
|
|
1265
|
+
purchaseDecidedAt: z.ZodNullable<z.ZodString>;
|
|
1266
|
+
}, z.core.$strip>>>;
|
|
1267
|
+
}, z.core.$strip>;
|
|
1268
|
+
export type SettlementWithDetails = z.infer<typeof settlementWithDetailsSchema>;
|
|
1269
|
+
/** `GET /v1/settlements` 쿼리 — OpenAPI 문서용 형태(값은 쿼리 문자열). 정산일 최신순이다 */
|
|
1270
|
+
export declare const settlementListQuerySchema: z.ZodObject<{
|
|
1271
|
+
page: z.ZodOptional<z.ZodString>;
|
|
1272
|
+
size: z.ZodOptional<z.ZodString>;
|
|
1273
|
+
from: z.ZodString;
|
|
1274
|
+
to: z.ZodOptional<z.ZodString>;
|
|
1275
|
+
status: z.ZodOptional<z.ZodEnum<{
|
|
1276
|
+
PAID: "PAID";
|
|
1277
|
+
HELD: "HELD";
|
|
1278
|
+
SCHEDULED: "SCHEDULED";
|
|
1279
|
+
}>>;
|
|
1280
|
+
}, z.core.$strip>;
|
|
1281
|
+
/** `GET /v1/settlements/{settlementId}` 쿼리 — `size`는 돌려줄 상세 내역 건수다(`page`는 무시) */
|
|
1282
|
+
export declare const settlementDetailQuerySchema: z.ZodObject<{
|
|
1283
|
+
page: z.ZodOptional<z.ZodString>;
|
|
1284
|
+
size: z.ZodOptional<z.ZodString>;
|
|
1285
|
+
}, z.core.$strip>;
|
|
805
1286
|
export interface SettlementListParams extends PageParams {
|
|
806
1287
|
from: string;
|
|
807
1288
|
to?: string;
|
|
@@ -1034,14 +1515,55 @@ export declare const reviewSchema: z.ZodObject<{
|
|
|
1034
1515
|
createdAt: z.ZodString;
|
|
1035
1516
|
}, z.core.$strip>;
|
|
1036
1517
|
export type Review = z.infer<typeof reviewSchema>;
|
|
1518
|
+
export declare const reviewSortSchema: z.ZodEnum<{
|
|
1519
|
+
"createdAt.desc": "createdAt.desc";
|
|
1520
|
+
"createdAt.asc": "createdAt.asc";
|
|
1521
|
+
"rating.asc": "rating.asc";
|
|
1522
|
+
"rating.desc": "rating.desc";
|
|
1523
|
+
}>;
|
|
1524
|
+
export type ReviewSort = z.infer<typeof reviewSortSchema>;
|
|
1037
1525
|
export interface ReviewListParams extends PageParams {
|
|
1038
1526
|
productId?: string;
|
|
1039
1527
|
rating?: number;
|
|
1040
1528
|
replied?: boolean;
|
|
1041
1529
|
hasImage?: boolean;
|
|
1042
1530
|
from?: string;
|
|
1043
|
-
sort?:
|
|
1531
|
+
sort?: ReviewSort;
|
|
1044
1532
|
}
|
|
1533
|
+
/** `GET /v1/reviews` 쿼리 — OpenAPI 문서용 형태(값은 쿼리 문자열) */
|
|
1534
|
+
export declare const reviewListQuerySchema: z.ZodObject<{
|
|
1535
|
+
page: z.ZodOptional<z.ZodString>;
|
|
1536
|
+
size: z.ZodOptional<z.ZodString>;
|
|
1537
|
+
productId: z.ZodOptional<z.ZodString>;
|
|
1538
|
+
rating: z.ZodOptional<z.ZodEnum<{
|
|
1539
|
+
1: "1";
|
|
1540
|
+
2: "2";
|
|
1541
|
+
3: "3";
|
|
1542
|
+
4: "4";
|
|
1543
|
+
5: "5";
|
|
1544
|
+
}>>;
|
|
1545
|
+
replied: z.ZodOptional<z.ZodEnum<{
|
|
1546
|
+
true: "true";
|
|
1547
|
+
false: "false";
|
|
1548
|
+
}>>;
|
|
1549
|
+
hasImage: z.ZodOptional<z.ZodEnum<{
|
|
1550
|
+
true: "true";
|
|
1551
|
+
false: "false";
|
|
1552
|
+
}>>;
|
|
1553
|
+
from: z.ZodOptional<z.ZodString>;
|
|
1554
|
+
sort: z.ZodOptional<z.ZodEnum<{
|
|
1555
|
+
"createdAt.desc": "createdAt.desc";
|
|
1556
|
+
"createdAt.asc": "createdAt.asc";
|
|
1557
|
+
"rating.asc": "rating.asc";
|
|
1558
|
+
"rating.desc": "rating.desc";
|
|
1559
|
+
}>>;
|
|
1560
|
+
}, z.core.$strip>;
|
|
1561
|
+
/** `POST /v1/reviews/{reviewId}/report` 응답(202) — 신고 접수 */
|
|
1562
|
+
export declare const reviewReportResultSchema: z.ZodObject<{
|
|
1563
|
+
reviewId: z.ZodString;
|
|
1564
|
+
status: z.ZodLiteral<"PENDING_REVIEW">;
|
|
1565
|
+
}, z.core.$strip>;
|
|
1566
|
+
export type ReviewReportResult = z.infer<typeof reviewReportResultSchema>;
|
|
1045
1567
|
//#endregion
|
|
1046
1568
|
//#region src/schemas/order.d.ts
|
|
1047
1569
|
export declare const orderSummarySchema: z.ZodObject<{
|
|
@@ -1394,6 +1916,40 @@ export declare const deliveryInfoSchema: z.ZodObject<{
|
|
|
1394
1916
|
deliveredAt: z.ZodNullable<z.ZodString>;
|
|
1395
1917
|
}, z.core.$strip>;
|
|
1396
1918
|
export type DeliveryInfo = z.infer<typeof deliveryInfoSchema>;
|
|
1919
|
+
/** `GET /v1/order-items/{orderItemId}/delivery` 응답 — 배송 정보 + 배송 추적 이벤트 */
|
|
1920
|
+
export declare const deliveryStatusSchema: z.ZodObject<{
|
|
1921
|
+
orderItemId: z.ZodString;
|
|
1922
|
+
deliveryMethod: z.ZodEnum<{
|
|
1923
|
+
COURIER: "COURIER";
|
|
1924
|
+
DIRECT: "DIRECT";
|
|
1925
|
+
QUICK: "QUICK";
|
|
1926
|
+
NOTHING: "NOTHING";
|
|
1927
|
+
}>;
|
|
1928
|
+
carrierCode: z.ZodNullable<z.ZodString>;
|
|
1929
|
+
carrierName: z.ZodNullable<z.ZodString>;
|
|
1930
|
+
trackingNumber: z.ZodNullable<z.ZodString>;
|
|
1931
|
+
trackingUrl: z.ZodNullable<z.ZodURL>;
|
|
1932
|
+
status: z.ZodEnum<{
|
|
1933
|
+
DISPATCHED: "DISPATCHED";
|
|
1934
|
+
DELIVERING: "DELIVERING";
|
|
1935
|
+
DELIVERED: "DELIVERED";
|
|
1936
|
+
}>;
|
|
1937
|
+
dispatchedAt: z.ZodString;
|
|
1938
|
+
deliveredAt: z.ZodNullable<z.ZodString>;
|
|
1939
|
+
trackingEvents: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1940
|
+
status: z.ZodString;
|
|
1941
|
+
location: z.ZodString;
|
|
1942
|
+
occurredAt: z.ZodString;
|
|
1943
|
+
}, z.core.$strip>>>;
|
|
1944
|
+
}, z.core.$strip>;
|
|
1945
|
+
export type DeliveryStatus = z.infer<typeof deliveryStatusSchema>;
|
|
1946
|
+
/** `PUT /v1/order-items/{orderItemId}/dispatch/tracking` 응답 — 바뀐 송장 */
|
|
1947
|
+
export declare const trackingUpdateResultSchema: z.ZodObject<{
|
|
1948
|
+
orderItemId: z.ZodString;
|
|
1949
|
+
carrierCode: z.ZodString;
|
|
1950
|
+
trackingNumber: z.ZodString;
|
|
1951
|
+
}, z.core.$strip>;
|
|
1952
|
+
export type TrackingUpdateResult = z.infer<typeof trackingUpdateResultSchema>;
|
|
1397
1953
|
export declare const carrierSchema: z.ZodObject<{
|
|
1398
1954
|
carrierCode: z.ZodString;
|
|
1399
1955
|
name: z.ZodString;
|
|
@@ -1421,6 +1977,37 @@ export declare const cancelBySellerRequestSchema: z.ZodObject<{
|
|
|
1421
1977
|
detail: z.ZodOptional<z.ZodString>;
|
|
1422
1978
|
}, z.core.$strip>;
|
|
1423
1979
|
export type CancelBySellerRequest = z.infer<typeof cancelBySellerRequestSchema>;
|
|
1980
|
+
/** `POST /v1/order-items/{orderItemId}/cancel` 응답 — 셀러 직권취소 환불 결과 */
|
|
1981
|
+
export declare const cancelBySellerResultSchema: z.ZodObject<{
|
|
1982
|
+
orderItemId: z.ZodString;
|
|
1983
|
+
refundAmount: z.ZodNumber;
|
|
1984
|
+
refundedAt: z.ZodString;
|
|
1985
|
+
}, z.core.$strip>;
|
|
1986
|
+
export type CancelBySellerResult = z.infer<typeof cancelBySellerResultSchema>;
|
|
1987
|
+
/** `PUT /v1/order-items/{orderItemId}/memo` 응답 — 빈 문자열로 저장하면 메모가 지워져 `null`이다 */
|
|
1988
|
+
export declare const orderItemMemoResultSchema: z.ZodObject<{
|
|
1989
|
+
orderItemId: z.ZodString;
|
|
1990
|
+
sellerMemo: z.ZodNullable<z.ZodString>;
|
|
1991
|
+
}, z.core.$strip>;
|
|
1992
|
+
export type OrderItemMemoResult = z.infer<typeof orderItemMemoResultSchema>;
|
|
1993
|
+
/** `POST /v1/order-items/{orderItemId}/purchase-decision/request` 응답 */
|
|
1994
|
+
export declare const purchaseDecisionRequestResultSchema: z.ZodObject<{
|
|
1995
|
+
orderItemId: z.ZodString;
|
|
1996
|
+
requestedAt: z.ZodString;
|
|
1997
|
+
}, z.core.$strip>;
|
|
1998
|
+
export type PurchaseDecisionRequestResult = z.infer<typeof purchaseDecisionRequestResultSchema>;
|
|
1999
|
+
/** `POST /v1/order-items/{orderItemId}/purchase-decision/extend` 응답 — 연장은 최대 2회 */
|
|
2000
|
+
export declare const purchaseDecisionExtendResultSchema: z.ZodObject<{
|
|
2001
|
+
orderItemId: z.ZodString;
|
|
2002
|
+
autoDecisionDate: z.ZodString;
|
|
2003
|
+
extendCount: z.ZodNumber;
|
|
2004
|
+
}, z.core.$strip>;
|
|
2005
|
+
export type PurchaseDecisionExtendResult = z.infer<typeof purchaseDecisionExtendResultSchema>;
|
|
2006
|
+
/**
|
|
2007
|
+
* `GET /v1/orders/{orderId}/address-change-requests` 응답 — 배송지 변경 요청 플로우는 아직 제공하지 않아
|
|
2008
|
+
* 현재는 항상 빈 배열이다
|
|
2009
|
+
*/
|
|
2010
|
+
export declare const addressChangeRequestListSchema: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1424
2011
|
//#endregion
|
|
1425
2012
|
//#region src/schemas/payment.d.ts
|
|
1426
2013
|
/**
|
|
@@ -2652,7 +3239,14 @@ export declare const productPatchRequestSchema: z.ZodObject<{
|
|
|
2652
3239
|
deliveryFee: z.ZodOptional<z.ZodNumber>;
|
|
2653
3240
|
}, z.core.$strip>;
|
|
2654
3241
|
export type ProductPatchRequest = z.infer<typeof productPatchRequestSchema>;
|
|
2655
|
-
export
|
|
3242
|
+
export declare const productSortSchema: z.ZodEnum<{
|
|
3243
|
+
"createdAt.desc": "createdAt.desc";
|
|
3244
|
+
"createdAt.asc": "createdAt.asc";
|
|
3245
|
+
"salePrice.asc": "salePrice.asc";
|
|
3246
|
+
"salePrice.desc": "salePrice.desc";
|
|
3247
|
+
"updatedAt.desc": "updatedAt.desc";
|
|
3248
|
+
}>;
|
|
3249
|
+
export type ProductSort = z.infer<typeof productSortSchema>;
|
|
2656
3250
|
export interface ProductListParams extends PageParams {
|
|
2657
3251
|
status?: ProductStatus;
|
|
2658
3252
|
categoryId?: string;
|
|
@@ -2660,6 +3254,36 @@ export interface ProductListParams extends PageParams {
|
|
|
2660
3254
|
sellerCode?: string;
|
|
2661
3255
|
sort?: ProductSort;
|
|
2662
3256
|
}
|
|
3257
|
+
/** `GET /v1/products` 쿼리 — OpenAPI 문서용 형태(값은 쿼리 문자열) */
|
|
3258
|
+
export declare const productListQuerySchema: z.ZodObject<{
|
|
3259
|
+
page: z.ZodOptional<z.ZodString>;
|
|
3260
|
+
size: z.ZodOptional<z.ZodString>;
|
|
3261
|
+
status: z.ZodOptional<z.ZodEnum<{
|
|
3262
|
+
SALE: "SALE";
|
|
3263
|
+
SUSPENDED: "SUSPENDED";
|
|
3264
|
+
OUT_OF_STOCK: "OUT_OF_STOCK";
|
|
3265
|
+
CLOSED: "CLOSED";
|
|
3266
|
+
}>>;
|
|
3267
|
+
categoryId: z.ZodOptional<z.ZodString>;
|
|
3268
|
+
keyword: z.ZodOptional<z.ZodString>;
|
|
3269
|
+
sellerCode: z.ZodOptional<z.ZodString>;
|
|
3270
|
+
sort: z.ZodOptional<z.ZodEnum<{
|
|
3271
|
+
"createdAt.desc": "createdAt.desc";
|
|
3272
|
+
"createdAt.asc": "createdAt.asc";
|
|
3273
|
+
"salePrice.asc": "salePrice.asc";
|
|
3274
|
+
"salePrice.desc": "salePrice.desc";
|
|
3275
|
+
"updatedAt.desc": "updatedAt.desc";
|
|
3276
|
+
}>>;
|
|
3277
|
+
}, z.core.$strip>;
|
|
3278
|
+
/** `POST /v1/product-images` 응답 — 업로드된 이미지의 CDN 주소 */
|
|
3279
|
+
export declare const productImageUploadResultSchema: z.ZodObject<{
|
|
3280
|
+
images: z.ZodArray<z.ZodObject<{
|
|
3281
|
+
url: z.ZodURL;
|
|
3282
|
+
width: z.ZodNumber;
|
|
3283
|
+
height: z.ZodNumber;
|
|
3284
|
+
}, z.core.$strip>>;
|
|
3285
|
+
}, z.core.$strip>;
|
|
3286
|
+
export type ProductImageUploadResult = z.infer<typeof productImageUploadResultSchema>;
|
|
2663
3287
|
export declare const discountSchema: z.ZodObject<{
|
|
2664
3288
|
productId: z.ZodString;
|
|
2665
3289
|
discountType: z.ZodEnum<{
|
|
@@ -2744,11 +3368,36 @@ export declare const invitationSchema: z.ZodObject<{
|
|
|
2744
3368
|
createdAt: z.ZodString;
|
|
2745
3369
|
}, z.core.$strip>;
|
|
2746
3370
|
export type Invitation = z.infer<typeof invitationSchema>;
|
|
3371
|
+
/** `GET /v1/store/invitations` 쿼리 — OpenAPI 문서용 형태 */
|
|
3372
|
+
export declare const invitationListQuerySchema: z.ZodObject<{
|
|
3373
|
+
status: z.ZodOptional<z.ZodEnum<{
|
|
3374
|
+
PENDING: "PENDING";
|
|
3375
|
+
CANCELED: "CANCELED";
|
|
3376
|
+
ACCEPTED: "ACCEPTED";
|
|
3377
|
+
EXPIRED: "EXPIRED";
|
|
3378
|
+
}>>;
|
|
3379
|
+
}, z.core.$strip>;
|
|
3380
|
+
/** `PATCH /v1/store/members/{userId}` 응답 — 바뀐 역할 */
|
|
3381
|
+
export declare const storeMemberRoleUpdatedSchema: z.ZodObject<{
|
|
3382
|
+
userId: z.ZodString;
|
|
3383
|
+
role: z.ZodEnum<{
|
|
3384
|
+
ADMIN: "ADMIN";
|
|
3385
|
+
STAFF: "STAFF";
|
|
3386
|
+
}>;
|
|
3387
|
+
}, z.core.$strip>;
|
|
3388
|
+
export type StoreMemberRoleUpdated = z.infer<typeof storeMemberRoleUpdatedSchema>;
|
|
2747
3389
|
export declare const addressTypeSchema: z.ZodEnum<{
|
|
2748
3390
|
RETURN: "RETURN";
|
|
2749
3391
|
SHIPPING: "SHIPPING";
|
|
2750
3392
|
}>;
|
|
2751
3393
|
export type AddressType = z.infer<typeof addressTypeSchema>;
|
|
3394
|
+
/** `GET /v1/seller-addresses` 쿼리 — OpenAPI 문서용 형태. 기본 주소 우선, 그다음 등록순이다 */
|
|
3395
|
+
export declare const sellerAddressListQuerySchema: z.ZodObject<{
|
|
3396
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
3397
|
+
RETURN: "RETURN";
|
|
3398
|
+
SHIPPING: "SHIPPING";
|
|
3399
|
+
}>>;
|
|
3400
|
+
}, z.core.$strip>;
|
|
2752
3401
|
export declare const sellerAddressSchema: z.ZodObject<{
|
|
2753
3402
|
addressId: z.ZodString;
|
|
2754
3403
|
type: z.ZodEnum<{
|
|
@@ -3933,6 +4582,106 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
3933
4582
|
}[];
|
|
3934
4583
|
}>;
|
|
3935
4584
|
};
|
|
4585
|
+
/**
|
|
4586
|
+
* 방문 분석 — 스코프 `analytics:r`. 스토어프런트가 `@sayren/storefront-sdk`로 수집한 이벤트를 Asia/Seoul 날짜별로
|
|
4587
|
+
* 집계한 값이다. 집계는 주기적으로 갱신되고 응답 `lastComputedAt`이 마지막 집계 시각이다. 봇 세션은 빠진다.
|
|
4588
|
+
* 기간은 양끝 포함 최대 92일이고, 테스트 결제 구매는 `includeTest: "true"`일 때만 포함한다.
|
|
4589
|
+
*/
|
|
4590
|
+
analytics: {
|
|
4591
|
+
/** `GET /v1/analytics/overview` — 합계·세션 퍼널·날짜별 값 */
|
|
4592
|
+
overview: (params: AnalyticsRangeParams) => Promise<{
|
|
4593
|
+
summary: {
|
|
4594
|
+
visitors: number;
|
|
4595
|
+
sessions: number;
|
|
4596
|
+
engagedSessions: number;
|
|
4597
|
+
pageViews: number;
|
|
4598
|
+
engagementSeconds: number;
|
|
4599
|
+
productViews: number;
|
|
4600
|
+
productViewSessions: number;
|
|
4601
|
+
addToCartSessions: number;
|
|
4602
|
+
beginCheckoutSessions: number;
|
|
4603
|
+
purchaseSessions: number;
|
|
4604
|
+
purchases: number;
|
|
4605
|
+
revenue: number;
|
|
4606
|
+
engagementRate: number | null;
|
|
4607
|
+
conversionRate: number | null;
|
|
4608
|
+
};
|
|
4609
|
+
funnel: {
|
|
4610
|
+
step: "SESSION" | "PRODUCT_VIEW" | "ADD_TO_CART" | "BEGIN_CHECKOUT" | "PURCHASE";
|
|
4611
|
+
sessions: number;
|
|
4612
|
+
rateFromPrevious: number | null;
|
|
4613
|
+
}[];
|
|
4614
|
+
rows: {
|
|
4615
|
+
visitors: number;
|
|
4616
|
+
sessions: number;
|
|
4617
|
+
engagedSessions: number;
|
|
4618
|
+
pageViews: number;
|
|
4619
|
+
engagementSeconds: number;
|
|
4620
|
+
productViews: number;
|
|
4621
|
+
productViewSessions: number;
|
|
4622
|
+
addToCartSessions: number;
|
|
4623
|
+
beginCheckoutSessions: number;
|
|
4624
|
+
purchaseSessions: number;
|
|
4625
|
+
purchases: number;
|
|
4626
|
+
revenue: number;
|
|
4627
|
+
engagementRate: number | null;
|
|
4628
|
+
conversionRate: number | null;
|
|
4629
|
+
date: string;
|
|
4630
|
+
}[];
|
|
4631
|
+
from: string;
|
|
4632
|
+
to: string;
|
|
4633
|
+
timezone: "Asia/Seoul";
|
|
4634
|
+
currency: "KRW";
|
|
4635
|
+
includeTest: boolean;
|
|
4636
|
+
lastComputedAt: string | null;
|
|
4637
|
+
}>;
|
|
4638
|
+
/** `GET /v1/analytics/products` — 상품별 노출·조회·장바구니·구매 */
|
|
4639
|
+
products: (params: AnalyticsProductsParams) => Promise<{
|
|
4640
|
+
sort: "VIEWS" | "ADD_TO_CARTS" | "PURCHASES" | "REVENUE" | "IMPRESSIONS";
|
|
4641
|
+
rows: {
|
|
4642
|
+
productId: string;
|
|
4643
|
+
productName: string | null;
|
|
4644
|
+
impressions: number;
|
|
4645
|
+
views: number;
|
|
4646
|
+
viewSessions: number;
|
|
4647
|
+
addToCarts: number;
|
|
4648
|
+
purchases: number;
|
|
4649
|
+
quantity: number;
|
|
4650
|
+
revenue: number;
|
|
4651
|
+
purchaseRate: number | null;
|
|
4652
|
+
}[];
|
|
4653
|
+
from: string;
|
|
4654
|
+
to: string;
|
|
4655
|
+
timezone: "Asia/Seoul";
|
|
4656
|
+
currency: "KRW";
|
|
4657
|
+
includeTest: boolean;
|
|
4658
|
+
lastComputedAt: string | null;
|
|
4659
|
+
}>;
|
|
4660
|
+
/** `GET /v1/analytics/sources` — 채널·소스·캠페인·기기별 세션과 구매 */
|
|
4661
|
+
sources: (params: AnalyticsSourcesParams) => Promise<{
|
|
4662
|
+
groupBy: "CHANNEL" | "SOURCE" | "CAMPAIGN" | "DEVICE";
|
|
4663
|
+
rows: {
|
|
4664
|
+
channel: "PAID" | "DIRECT" | "CAMPAIGN" | "ORGANIC_SEARCH" | "SOCIAL" | "EMAIL" | "REFERRAL" | "UNKNOWN" | null;
|
|
4665
|
+
source: string | null;
|
|
4666
|
+
medium: string | null;
|
|
4667
|
+
campaign: string | null;
|
|
4668
|
+
device: "unknown" | "desktop" | "mobile" | "tablet" | null;
|
|
4669
|
+
sessions: number;
|
|
4670
|
+
visitors: number;
|
|
4671
|
+
engagedSessions: number;
|
|
4672
|
+
purchaseSessions: number;
|
|
4673
|
+
purchases: number;
|
|
4674
|
+
revenue: number;
|
|
4675
|
+
conversionRate: number | null;
|
|
4676
|
+
}[];
|
|
4677
|
+
from: string;
|
|
4678
|
+
to: string;
|
|
4679
|
+
timezone: "Asia/Seoul";
|
|
4680
|
+
currency: "KRW";
|
|
4681
|
+
includeTest: boolean;
|
|
4682
|
+
lastComputedAt: string | null;
|
|
4683
|
+
}>;
|
|
4684
|
+
};
|
|
3936
4685
|
/**
|
|
3937
4686
|
* 결제 내역 — 스코프 `settlement:r`. 결제 건(세션) 단위이고 주문 목록과 다르다. 주문이 만들어지지 않은
|
|
3938
4687
|
* 결제(카드 거절·결제창 이탈·승인 결과 확인 중)도 그대로 나온다.
|
|
@@ -5053,7 +5802,7 @@ export declare const scopeAccessSchema: z.ZodEnum<{
|
|
|
5053
5802
|
rw: "rw";
|
|
5054
5803
|
}>;
|
|
5055
5804
|
export type ScopeAccess = z.infer<typeof scopeAccessSchema>;
|
|
5056
|
-
/** 리소스별로 부여 가능한 접근 수준. settlement는 쓰기 API가 없어 `r`만 존재한다 */
|
|
5805
|
+
/** 리소스별로 부여 가능한 접근 수준. settlement·analytics는 쓰기 API가 없어 `r`만 존재한다 */
|
|
5057
5806
|
export declare const STORE_SCOPE_RESOURCES: {
|
|
5058
5807
|
readonly product: readonly ["r", "rw"];
|
|
5059
5808
|
readonly category: readonly ["r", "rw"];
|
|
@@ -5062,6 +5811,7 @@ export declare const STORE_SCOPE_RESOURCES: {
|
|
|
5062
5811
|
readonly inquiry: readonly ["r", "rw"];
|
|
5063
5812
|
readonly review: readonly ["r", "rw"];
|
|
5064
5813
|
readonly settlement: readonly ["r"];
|
|
5814
|
+
readonly analytics: readonly ["r"];
|
|
5065
5815
|
readonly webhook: readonly ["r", "rw"];
|
|
5066
5816
|
readonly store: readonly ["r", "rw"];
|
|
5067
5817
|
readonly member: readonly ["r", "rw"];
|
|
@@ -5075,6 +5825,7 @@ export declare const storeScopeResourceSchema: z.ZodEnum<{
|
|
|
5075
5825
|
inquiry: "inquiry";
|
|
5076
5826
|
review: "review";
|
|
5077
5827
|
settlement: "settlement";
|
|
5828
|
+
analytics: "analytics";
|
|
5078
5829
|
webhook: "webhook";
|
|
5079
5830
|
store: "store";
|
|
5080
5831
|
member: "member";
|
|
@@ -5087,8 +5838,8 @@ export declare function isStoreScope(scope: string): boolean;
|
|
|
5087
5838
|
* 발급 시 지정한 스코프만 갖는다(발급자 보유 스코프 이내).
|
|
5088
5839
|
*/
|
|
5089
5840
|
export declare const STORE_ROLE_SCOPES: {
|
|
5090
|
-
readonly OWNER: readonly ["product:rw", "category:rw", "order:rw", "claim:rw", "inquiry:rw", "review:rw", "settlement:r", "webhook:rw", "store:rw", "member:rw"];
|
|
5091
|
-
readonly ADMIN: readonly ["product:rw", "category:rw", "order:rw", "claim:rw", "inquiry:rw", "review:rw", "webhook:rw", "store:rw", "member:rw"];
|
|
5841
|
+
readonly OWNER: readonly ["product:rw", "category:rw", "order:rw", "claim:rw", "inquiry:rw", "review:rw", "settlement:r", "analytics:r", "webhook:rw", "store:rw", "member:rw"];
|
|
5842
|
+
readonly ADMIN: readonly ["product:rw", "category:rw", "order:rw", "claim:rw", "inquiry:rw", "review:rw", "analytics:r", "webhook:rw", "store:rw", "member:rw"];
|
|
5092
5843
|
readonly STAFF: readonly ["product:rw", "category:rw", "order:rw", "claim:rw", "inquiry:rw", "review:rw"];
|
|
5093
5844
|
};
|
|
5094
5845
|
//#endregion
|