@sayren/store-sdk 0.29.7 → 0.29.8
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 +1768 -223
- package/dist/index.mjs +563 -29
- package/package.json +1 -1
- package/src/client.ts +166 -0
- package/src/index.ts +2 -0
- package/src/schemas/commerce-flow.ts +259 -0
- package/src/schemas/fulfillment.ts +177 -9
- package/src/schemas/misc.ts +2 -0
- package/src/schemas/order.ts +4 -0
- package/src/schemas/product.ts +71 -0
- package/src/schemas/saved-option-set.ts +8 -0
- package/src/schemas/scope.ts +5 -0
- package/src/schemas/shipping-policy.ts +4 -1
- package/src/schemas/stay.ts +90 -0
- package/src/schemas/upload.ts +6 -1
- package/src/schemas/webhook-event.ts +57 -0
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<{
|
|
@@ -2007,6 +2007,397 @@ export declare const collectionPreviewSchema: z.ZodObject<{
|
|
|
2007
2007
|
}, z.core.$strip>;
|
|
2008
2008
|
export type CollectionPreview = z.infer<typeof collectionPreviewSchema>;
|
|
2009
2009
|
//#endregion
|
|
2010
|
+
//#region src/schemas/commerce-flow.d.ts
|
|
2011
|
+
/**
|
|
2012
|
+
* 커머스 플로우(이슈 #115) — 주문상품이 따르는 플로우의 지금 상태와 할 수 있는 행동. 공개 계약은 필드 추가로만 자란다.
|
|
2013
|
+
* 행동 키·필드 키·꺼진 이유는 상점·앱이 늘리는 **열린 문자열**이다(모르는 값도 파싱한다). 공개 상태(`coreStatus`)만 닫힌 8개 값이다.
|
|
2014
|
+
* 화면은 이 값만 그리고 상태 이름으로 분기하지 않는다 — 판정은 서버가 한다.
|
|
2015
|
+
*/
|
|
2016
|
+
export declare const flowInputFieldSchema: z.ZodObject<{
|
|
2017
|
+
key: z.ZodString;
|
|
2018
|
+
type: z.ZodString;
|
|
2019
|
+
required: z.ZodBoolean;
|
|
2020
|
+
label: z.ZodString;
|
|
2021
|
+
maxLength: z.ZodOptional<z.ZodNumber>;
|
|
2022
|
+
maxFiles: z.ZodOptional<z.ZodNumber>;
|
|
2023
|
+
options: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
|
|
2024
|
+
}, z.core.$strip>;
|
|
2025
|
+
export type FlowInputField = z.infer<typeof flowInputFieldSchema>;
|
|
2026
|
+
export declare const flowActionSchema: z.ZodObject<{
|
|
2027
|
+
key: z.ZodString;
|
|
2028
|
+
label: z.ZodString;
|
|
2029
|
+
mode: z.ZodEnum<{
|
|
2030
|
+
REQUEST: "REQUEST";
|
|
2031
|
+
INSTANT: "INSTANT";
|
|
2032
|
+
VIEW: "VIEW";
|
|
2033
|
+
}>;
|
|
2034
|
+
enabled: z.ZodBoolean;
|
|
2035
|
+
disabled: z.ZodOptional<z.ZodObject<{
|
|
2036
|
+
reason: z.ZodString;
|
|
2037
|
+
message: z.ZodOptional<z.ZodString>;
|
|
2038
|
+
}, z.core.$strip>>;
|
|
2039
|
+
availableUntil: z.ZodOptional<z.ZodString>;
|
|
2040
|
+
subflow: z.ZodOptional<z.ZodString>;
|
|
2041
|
+
input: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
2042
|
+
key: z.ZodString;
|
|
2043
|
+
type: z.ZodString;
|
|
2044
|
+
required: z.ZodBoolean;
|
|
2045
|
+
label: z.ZodString;
|
|
2046
|
+
maxLength: z.ZodOptional<z.ZodNumber>;
|
|
2047
|
+
maxFiles: z.ZodOptional<z.ZodNumber>;
|
|
2048
|
+
options: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
|
|
2049
|
+
}, z.core.$strip>>>;
|
|
2050
|
+
partialQuantity: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"UNIT">]>>;
|
|
2051
|
+
}, z.core.$strip>;
|
|
2052
|
+
export type FlowAction = z.infer<typeof flowActionSchema>;
|
|
2053
|
+
/** 커스텀 필드 값 — 문자열(날짜·일시는 ISO 8601)·숫자·참거짓·null, 수량 단위 필드는 문자열 배열 */
|
|
2054
|
+
export declare const flowFieldValueSchema: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodArray<z.ZodString>]>;
|
|
2055
|
+
export type FlowFieldValue = z.infer<typeof flowFieldValueSchema>;
|
|
2056
|
+
export declare const flowStateSchema: z.ZodObject<{
|
|
2057
|
+
key: z.ZodString;
|
|
2058
|
+
label: z.ZodString;
|
|
2059
|
+
coreStatus: z.ZodOptional<z.ZodEnum<{
|
|
2060
|
+
PAID: "PAID";
|
|
2061
|
+
CANCELED: "CANCELED";
|
|
2062
|
+
PAYMENT_WAITING: "PAYMENT_WAITING";
|
|
2063
|
+
CONFIRMED: "CONFIRMED";
|
|
2064
|
+
DISPATCHED: "DISPATCHED";
|
|
2065
|
+
DELIVERING: "DELIVERING";
|
|
2066
|
+
DELIVERED: "DELIVERED";
|
|
2067
|
+
PURCHASE_DECIDED: "PURCHASE_DECIDED";
|
|
2068
|
+
}>>;
|
|
2069
|
+
claimStatus: z.ZodOptional<z.ZodEnum<{
|
|
2070
|
+
REJECTED: "REJECTED";
|
|
2071
|
+
REQUESTED: "REQUESTED";
|
|
2072
|
+
HELD: "HELD";
|
|
2073
|
+
COLLECTING: "COLLECTING";
|
|
2074
|
+
COLLECTED: "COLLECTED";
|
|
2075
|
+
REDELIVERING: "REDELIVERING";
|
|
2076
|
+
APPROVED: "APPROVED";
|
|
2077
|
+
COMPLETED: "COMPLETED";
|
|
2078
|
+
WITHDRAWN: "WITHDRAWN";
|
|
2079
|
+
}>>;
|
|
2080
|
+
message: z.ZodOptional<z.ZodString>;
|
|
2081
|
+
enteredAt: z.ZodString;
|
|
2082
|
+
deadlineAt: z.ZodOptional<z.ZodString>;
|
|
2083
|
+
attachments: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
2084
|
+
progress: z.ZodOptional<z.ZodBoolean>;
|
|
2085
|
+
fields: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodArray<z.ZodString>]>>;
|
|
2086
|
+
}, z.core.$strip>;
|
|
2087
|
+
export type FlowState = z.infer<typeof flowStateSchema>;
|
|
2088
|
+
export declare const orderItemFlowSchema: z.ZodObject<{
|
|
2089
|
+
orderItemId: z.ZodString;
|
|
2090
|
+
flow: z.ZodObject<{
|
|
2091
|
+
flowId: z.ZodString;
|
|
2092
|
+
version: z.ZodNumber;
|
|
2093
|
+
}, z.core.$strip>;
|
|
2094
|
+
flowState: z.ZodObject<{
|
|
2095
|
+
key: z.ZodString;
|
|
2096
|
+
label: z.ZodString;
|
|
2097
|
+
coreStatus: z.ZodOptional<z.ZodEnum<{
|
|
2098
|
+
PAID: "PAID";
|
|
2099
|
+
CANCELED: "CANCELED";
|
|
2100
|
+
PAYMENT_WAITING: "PAYMENT_WAITING";
|
|
2101
|
+
CONFIRMED: "CONFIRMED";
|
|
2102
|
+
DISPATCHED: "DISPATCHED";
|
|
2103
|
+
DELIVERING: "DELIVERING";
|
|
2104
|
+
DELIVERED: "DELIVERED";
|
|
2105
|
+
PURCHASE_DECIDED: "PURCHASE_DECIDED";
|
|
2106
|
+
}>>;
|
|
2107
|
+
claimStatus: z.ZodOptional<z.ZodEnum<{
|
|
2108
|
+
REJECTED: "REJECTED";
|
|
2109
|
+
REQUESTED: "REQUESTED";
|
|
2110
|
+
HELD: "HELD";
|
|
2111
|
+
COLLECTING: "COLLECTING";
|
|
2112
|
+
COLLECTED: "COLLECTED";
|
|
2113
|
+
REDELIVERING: "REDELIVERING";
|
|
2114
|
+
APPROVED: "APPROVED";
|
|
2115
|
+
COMPLETED: "COMPLETED";
|
|
2116
|
+
WITHDRAWN: "WITHDRAWN";
|
|
2117
|
+
}>>;
|
|
2118
|
+
message: z.ZodOptional<z.ZodString>;
|
|
2119
|
+
enteredAt: z.ZodString;
|
|
2120
|
+
deadlineAt: z.ZodOptional<z.ZodString>;
|
|
2121
|
+
attachments: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
2122
|
+
progress: z.ZodOptional<z.ZodBoolean>;
|
|
2123
|
+
fields: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodArray<z.ZodString>]>>;
|
|
2124
|
+
}, z.core.$strip>;
|
|
2125
|
+
actions: z.ZodArray<z.ZodObject<{
|
|
2126
|
+
key: z.ZodString;
|
|
2127
|
+
label: z.ZodString;
|
|
2128
|
+
mode: z.ZodEnum<{
|
|
2129
|
+
REQUEST: "REQUEST";
|
|
2130
|
+
INSTANT: "INSTANT";
|
|
2131
|
+
VIEW: "VIEW";
|
|
2132
|
+
}>;
|
|
2133
|
+
enabled: z.ZodBoolean;
|
|
2134
|
+
disabled: z.ZodOptional<z.ZodObject<{
|
|
2135
|
+
reason: z.ZodString;
|
|
2136
|
+
message: z.ZodOptional<z.ZodString>;
|
|
2137
|
+
}, z.core.$strip>>;
|
|
2138
|
+
availableUntil: z.ZodOptional<z.ZodString>;
|
|
2139
|
+
subflow: z.ZodOptional<z.ZodString>;
|
|
2140
|
+
input: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
2141
|
+
key: z.ZodString;
|
|
2142
|
+
type: z.ZodString;
|
|
2143
|
+
required: z.ZodBoolean;
|
|
2144
|
+
label: z.ZodString;
|
|
2145
|
+
maxLength: z.ZodOptional<z.ZodNumber>;
|
|
2146
|
+
maxFiles: z.ZodOptional<z.ZodNumber>;
|
|
2147
|
+
options: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
|
|
2148
|
+
}, z.core.$strip>>>;
|
|
2149
|
+
partialQuantity: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"UNIT">]>>;
|
|
2150
|
+
}, z.core.$strip>>;
|
|
2151
|
+
timers: z.ZodArray<z.ZodObject<{
|
|
2152
|
+
key: z.ZodString;
|
|
2153
|
+
dueAt: z.ZodString;
|
|
2154
|
+
paused: z.ZodBoolean;
|
|
2155
|
+
}, z.core.$strip>>;
|
|
2156
|
+
ended: z.ZodBoolean;
|
|
2157
|
+
}, z.core.$strip>;
|
|
2158
|
+
export type OrderItemFlow = z.infer<typeof orderItemFlowSchema>;
|
|
2159
|
+
export declare const flowActionRequestSchema: z.ZodObject<{
|
|
2160
|
+
input: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
2161
|
+
}, z.core.$strip>;
|
|
2162
|
+
export type FlowActionRequest = z.infer<typeof flowActionRequestSchema>;
|
|
2163
|
+
/**
|
|
2164
|
+
* 행동 실행 결과. 지금은 동기 완료(COMPLETED)뿐이다. 외부 호출이 든 전이는 202와 함께 ACCEPTED(runId)가 온다(HTTP·앱 노드 단계에서 더한다).
|
|
2165
|
+
* 동기 거절은 409(ACTION_NOT_AVAILABLE)다.
|
|
2166
|
+
*/
|
|
2167
|
+
export declare const flowActionResultSchema: z.ZodObject<{
|
|
2168
|
+
status: z.ZodLiteral<"COMPLETED">;
|
|
2169
|
+
flowState: z.ZodObject<{
|
|
2170
|
+
key: z.ZodString;
|
|
2171
|
+
label: z.ZodString;
|
|
2172
|
+
coreStatus: z.ZodOptional<z.ZodEnum<{
|
|
2173
|
+
PAID: "PAID";
|
|
2174
|
+
CANCELED: "CANCELED";
|
|
2175
|
+
PAYMENT_WAITING: "PAYMENT_WAITING";
|
|
2176
|
+
CONFIRMED: "CONFIRMED";
|
|
2177
|
+
DISPATCHED: "DISPATCHED";
|
|
2178
|
+
DELIVERING: "DELIVERING";
|
|
2179
|
+
DELIVERED: "DELIVERED";
|
|
2180
|
+
PURCHASE_DECIDED: "PURCHASE_DECIDED";
|
|
2181
|
+
}>>;
|
|
2182
|
+
claimStatus: z.ZodOptional<z.ZodEnum<{
|
|
2183
|
+
REJECTED: "REJECTED";
|
|
2184
|
+
REQUESTED: "REQUESTED";
|
|
2185
|
+
HELD: "HELD";
|
|
2186
|
+
COLLECTING: "COLLECTING";
|
|
2187
|
+
COLLECTED: "COLLECTED";
|
|
2188
|
+
REDELIVERING: "REDELIVERING";
|
|
2189
|
+
APPROVED: "APPROVED";
|
|
2190
|
+
COMPLETED: "COMPLETED";
|
|
2191
|
+
WITHDRAWN: "WITHDRAWN";
|
|
2192
|
+
}>>;
|
|
2193
|
+
message: z.ZodOptional<z.ZodString>;
|
|
2194
|
+
enteredAt: z.ZodString;
|
|
2195
|
+
deadlineAt: z.ZodOptional<z.ZodString>;
|
|
2196
|
+
attachments: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
2197
|
+
progress: z.ZodOptional<z.ZodBoolean>;
|
|
2198
|
+
fields: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodArray<z.ZodString>]>>;
|
|
2199
|
+
}, z.core.$strip>;
|
|
2200
|
+
actions: z.ZodArray<z.ZodObject<{
|
|
2201
|
+
key: z.ZodString;
|
|
2202
|
+
label: z.ZodString;
|
|
2203
|
+
mode: z.ZodEnum<{
|
|
2204
|
+
REQUEST: "REQUEST";
|
|
2205
|
+
INSTANT: "INSTANT";
|
|
2206
|
+
VIEW: "VIEW";
|
|
2207
|
+
}>;
|
|
2208
|
+
enabled: z.ZodBoolean;
|
|
2209
|
+
disabled: z.ZodOptional<z.ZodObject<{
|
|
2210
|
+
reason: z.ZodString;
|
|
2211
|
+
message: z.ZodOptional<z.ZodString>;
|
|
2212
|
+
}, z.core.$strip>>;
|
|
2213
|
+
availableUntil: z.ZodOptional<z.ZodString>;
|
|
2214
|
+
subflow: z.ZodOptional<z.ZodString>;
|
|
2215
|
+
input: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
2216
|
+
key: z.ZodString;
|
|
2217
|
+
type: z.ZodString;
|
|
2218
|
+
required: z.ZodBoolean;
|
|
2219
|
+
label: z.ZodString;
|
|
2220
|
+
maxLength: z.ZodOptional<z.ZodNumber>;
|
|
2221
|
+
maxFiles: z.ZodOptional<z.ZodNumber>;
|
|
2222
|
+
options: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
|
|
2223
|
+
}, z.core.$strip>>>;
|
|
2224
|
+
partialQuantity: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"UNIT">]>>;
|
|
2225
|
+
}, z.core.$strip>>;
|
|
2226
|
+
affectedOrderItemIds: z.ZodArray<z.ZodString>;
|
|
2227
|
+
}, z.core.$strip>;
|
|
2228
|
+
export type FlowActionResult = z.infer<typeof flowActionResultSchema>;
|
|
2229
|
+
export declare const flowPresetSummarySchema: z.ZodObject<{
|
|
2230
|
+
key: z.ZodString;
|
|
2231
|
+
presetVersion: z.ZodNumber;
|
|
2232
|
+
name: z.ZodString;
|
|
2233
|
+
description: z.ZodString;
|
|
2234
|
+
availability: z.ZodEnum<{
|
|
2235
|
+
AVAILABLE: "AVAILABLE";
|
|
2236
|
+
BLOCKED: "BLOCKED";
|
|
2237
|
+
}>;
|
|
2238
|
+
dependsOn: z.ZodArray<z.ZodString>;
|
|
2239
|
+
requires: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
2240
|
+
variables: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
2241
|
+
}, z.core.$strip>;
|
|
2242
|
+
export type FlowPresetSummary = z.infer<typeof flowPresetSummarySchema>;
|
|
2243
|
+
export declare const commerceFlowSummarySchema: z.ZodObject<{
|
|
2244
|
+
flowId: z.ZodString;
|
|
2245
|
+
key: z.ZodString;
|
|
2246
|
+
name: z.ZodString;
|
|
2247
|
+
progression: z.ZodEnum<{
|
|
2248
|
+
ITEM: "ITEM";
|
|
2249
|
+
ORDER_GROUP: "ORDER_GROUP";
|
|
2250
|
+
}>;
|
|
2251
|
+
fulfillmentMethods: z.ZodArray<z.ZodString>;
|
|
2252
|
+
presetKey: z.ZodNullable<z.ZodString>;
|
|
2253
|
+
presetVersion: z.ZodNullable<z.ZodNumber>;
|
|
2254
|
+
activeVersion: z.ZodNullable<z.ZodNumber>;
|
|
2255
|
+
archivedAt: z.ZodNullable<z.ZodString>;
|
|
2256
|
+
createdAt: z.ZodString;
|
|
2257
|
+
updatedAt: z.ZodString;
|
|
2258
|
+
}, z.core.$strip>;
|
|
2259
|
+
export type CommerceFlowSummary = z.infer<typeof commerceFlowSummarySchema>;
|
|
2260
|
+
export declare const commerceFlowVersionViewSchema: z.ZodObject<{
|
|
2261
|
+
version: z.ZodNumber;
|
|
2262
|
+
status: z.ZodEnum<{
|
|
2263
|
+
ACTIVE: "ACTIVE";
|
|
2264
|
+
DRAFT: "DRAFT";
|
|
2265
|
+
LEGACY: "LEGACY";
|
|
2266
|
+
}>;
|
|
2267
|
+
revision: z.ZodNumber;
|
|
2268
|
+
graph: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
2269
|
+
definition: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
2270
|
+
variables: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
2271
|
+
publishedAt: z.ZodNullable<z.ZodString>;
|
|
2272
|
+
}, z.core.$strip>;
|
|
2273
|
+
export declare const commerceFlowSchema: z.ZodObject<{
|
|
2274
|
+
flowId: z.ZodString;
|
|
2275
|
+
key: z.ZodString;
|
|
2276
|
+
name: z.ZodString;
|
|
2277
|
+
progression: z.ZodEnum<{
|
|
2278
|
+
ITEM: "ITEM";
|
|
2279
|
+
ORDER_GROUP: "ORDER_GROUP";
|
|
2280
|
+
}>;
|
|
2281
|
+
fulfillmentMethods: z.ZodArray<z.ZodString>;
|
|
2282
|
+
presetKey: z.ZodNullable<z.ZodString>;
|
|
2283
|
+
presetVersion: z.ZodNullable<z.ZodNumber>;
|
|
2284
|
+
activeVersion: z.ZodNullable<z.ZodNumber>;
|
|
2285
|
+
archivedAt: z.ZodNullable<z.ZodString>;
|
|
2286
|
+
createdAt: z.ZodString;
|
|
2287
|
+
updatedAt: z.ZodString;
|
|
2288
|
+
draft: z.ZodNullable<z.ZodObject<{
|
|
2289
|
+
version: z.ZodNumber;
|
|
2290
|
+
status: z.ZodEnum<{
|
|
2291
|
+
ACTIVE: "ACTIVE";
|
|
2292
|
+
DRAFT: "DRAFT";
|
|
2293
|
+
LEGACY: "LEGACY";
|
|
2294
|
+
}>;
|
|
2295
|
+
revision: z.ZodNumber;
|
|
2296
|
+
graph: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
2297
|
+
definition: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
2298
|
+
variables: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
2299
|
+
publishedAt: z.ZodNullable<z.ZodString>;
|
|
2300
|
+
}, z.core.$strip>>;
|
|
2301
|
+
active: z.ZodNullable<z.ZodObject<{
|
|
2302
|
+
version: z.ZodNumber;
|
|
2303
|
+
status: z.ZodEnum<{
|
|
2304
|
+
ACTIVE: "ACTIVE";
|
|
2305
|
+
DRAFT: "DRAFT";
|
|
2306
|
+
LEGACY: "LEGACY";
|
|
2307
|
+
}>;
|
|
2308
|
+
revision: z.ZodNumber;
|
|
2309
|
+
graph: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
2310
|
+
definition: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
2311
|
+
variables: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
2312
|
+
publishedAt: z.ZodNullable<z.ZodString>;
|
|
2313
|
+
}, z.core.$strip>>;
|
|
2314
|
+
versions: z.ZodArray<z.ZodObject<{
|
|
2315
|
+
version: z.ZodNumber;
|
|
2316
|
+
status: z.ZodEnum<{
|
|
2317
|
+
ACTIVE: "ACTIVE";
|
|
2318
|
+
DRAFT: "DRAFT";
|
|
2319
|
+
LEGACY: "LEGACY";
|
|
2320
|
+
}>;
|
|
2321
|
+
publishedAt: z.ZodNullable<z.ZodString>;
|
|
2322
|
+
}, z.core.$strip>>;
|
|
2323
|
+
}, z.core.$strip>;
|
|
2324
|
+
export type CommerceFlow = z.infer<typeof commerceFlowSchema>;
|
|
2325
|
+
export declare const createCommerceFlowRequestSchema: z.ZodObject<{
|
|
2326
|
+
key: z.ZodString;
|
|
2327
|
+
name: z.ZodOptional<z.ZodString>;
|
|
2328
|
+
presetKey: z.ZodOptional<z.ZodString>;
|
|
2329
|
+
variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
2330
|
+
}, z.core.$strip>;
|
|
2331
|
+
export type CreateCommerceFlowRequest = z.infer<typeof createCommerceFlowRequestSchema>;
|
|
2332
|
+
export declare const saveFlowDraftRequestSchema: z.ZodObject<{
|
|
2333
|
+
graph: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
2334
|
+
definition: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
2335
|
+
variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
2336
|
+
}, z.core.$strip>;
|
|
2337
|
+
export type SaveFlowDraftRequest = z.infer<typeof saveFlowDraftRequestSchema>;
|
|
2338
|
+
export declare const commerceFlowCheckSchema: z.ZodObject<{
|
|
2339
|
+
publishable: z.ZodBoolean;
|
|
2340
|
+
blocking: z.ZodArray<z.ZodObject<{
|
|
2341
|
+
code: z.ZodString;
|
|
2342
|
+
message: z.ZodString;
|
|
2343
|
+
nodeId: z.ZodOptional<z.ZodString>;
|
|
2344
|
+
edgeId: z.ZodOptional<z.ZodString>;
|
|
2345
|
+
}, z.core.$strip>>;
|
|
2346
|
+
warnings: z.ZodArray<z.ZodObject<{
|
|
2347
|
+
code: z.ZodString;
|
|
2348
|
+
message: z.ZodString;
|
|
2349
|
+
nodeId: z.ZodOptional<z.ZodString>;
|
|
2350
|
+
edgeId: z.ZodOptional<z.ZodString>;
|
|
2351
|
+
}, z.core.$strip>>;
|
|
2352
|
+
}, z.core.$strip>;
|
|
2353
|
+
export type CommerceFlowCheck = z.infer<typeof commerceFlowCheckSchema>;
|
|
2354
|
+
export declare const flowAssignmentRuleSchema: z.ZodObject<{
|
|
2355
|
+
ruleId: z.ZodString;
|
|
2356
|
+
priority: z.ZodNumber;
|
|
2357
|
+
condition: z.ZodString;
|
|
2358
|
+
flowId: z.ZodString;
|
|
2359
|
+
}, z.core.$strip>;
|
|
2360
|
+
export type FlowAssignmentRule = z.infer<typeof flowAssignmentRuleSchema>;
|
|
2361
|
+
export declare const saveFlowAssignmentRulesRequestSchema: z.ZodObject<{
|
|
2362
|
+
rules: z.ZodArray<z.ZodObject<{
|
|
2363
|
+
condition: z.ZodString;
|
|
2364
|
+
flowId: z.ZodString;
|
|
2365
|
+
}, z.core.$strip>>;
|
|
2366
|
+
}, z.core.$strip>;
|
|
2367
|
+
export type SaveFlowAssignmentRulesRequest = z.infer<typeof saveFlowAssignmentRulesRequestSchema>;
|
|
2368
|
+
export declare const resolvedFlowSchema: z.ZodObject<{
|
|
2369
|
+
flowId: z.ZodString;
|
|
2370
|
+
version: z.ZodNumber;
|
|
2371
|
+
source: z.ZodEnum<{
|
|
2372
|
+
RULE: "RULE";
|
|
2373
|
+
PLATFORM: "PLATFORM";
|
|
2374
|
+
}>;
|
|
2375
|
+
ruleId: z.ZodOptional<z.ZodString>;
|
|
2376
|
+
}, z.core.$strip>;
|
|
2377
|
+
export type ResolvedFlow = z.infer<typeof resolvedFlowSchema>;
|
|
2378
|
+
export declare const testFlowAssignmentRequestSchema: z.ZodObject<{
|
|
2379
|
+
productId: z.ZodString;
|
|
2380
|
+
orderAmount: z.ZodOptional<z.ZodNumber>;
|
|
2381
|
+
paymentMethod: z.ZodOptional<z.ZodString>;
|
|
2382
|
+
member: z.ZodOptional<z.ZodBoolean>;
|
|
2383
|
+
}, z.core.$strip>;
|
|
2384
|
+
export type TestFlowAssignmentRequest = z.infer<typeof testFlowAssignmentRequestSchema>;
|
|
2385
|
+
/** 시크릿 이름 — 플로우 변수 `secretRef`의 값이다 */
|
|
2386
|
+
export declare const flowSecretNameSchema: z.ZodString;
|
|
2387
|
+
/** HTTP 노드가 부를 셀러 API — 헤더 값은 응답에 싣지 않는다 */
|
|
2388
|
+
export declare const flowSecretSchema: z.ZodObject<{
|
|
2389
|
+
name: z.ZodString;
|
|
2390
|
+
url: z.ZodString;
|
|
2391
|
+
headerNames: z.ZodArray<z.ZodString>;
|
|
2392
|
+
updatedAt: z.ZodString;
|
|
2393
|
+
}, z.core.$strip>;
|
|
2394
|
+
export type FlowSecret = z.infer<typeof flowSecretSchema>;
|
|
2395
|
+
export declare const saveFlowSecretRequestSchema: z.ZodObject<{
|
|
2396
|
+
url: z.ZodURL;
|
|
2397
|
+
headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
2398
|
+
}, z.core.$strip>;
|
|
2399
|
+
export type SaveFlowSecretRequest = z.input<typeof saveFlowSecretRequestSchema>;
|
|
2400
|
+
//#endregion
|
|
2010
2401
|
//#region src/schemas/coupon.d.ts
|
|
2011
2402
|
/**
|
|
2012
2403
|
* 쿠폰 관리 API 계약 (이슈 #47) — `/v1/coupons/**`, 스코프 `promotion:r|rw`.
|
|
@@ -2622,7 +3013,341 @@ export declare const customerWithdrawalBlockedDetailsSchema: z.ZodObject<{
|
|
|
2622
3013
|
openClaims: z.ZodNumber;
|
|
2623
3014
|
pendingPayments: z.ZodNumber;
|
|
2624
3015
|
}, z.core.$strip>;
|
|
2625
|
-
export type CustomerWithdrawalBlockedDetails = z.infer<typeof customerWithdrawalBlockedDetailsSchema>;
|
|
3016
|
+
export type CustomerWithdrawalBlockedDetails = z.infer<typeof customerWithdrawalBlockedDetailsSchema>;
|
|
3017
|
+
//#endregion
|
|
3018
|
+
//#region src/schemas/fulfillment.d.ts
|
|
3019
|
+
/**
|
|
3020
|
+
* 상품 유형 (이슈 #48·#57) — 배송이 필요한 상품과 필요 없는 상품을 가르는 축이다.
|
|
3021
|
+
*
|
|
3022
|
+
* **상품 유형은 이행 방식 하나로 표현한다.** `fulfillment.type`이 배송 필요 여부, 이행 흐름, 클레임 규칙을 정한다.
|
|
3023
|
+
* 코드 곳곳에서 유형 이름으로 분기하지 않고 이 파일의 판정 함수(`requiresShipping`·`fulfillmentRuleOf`)를 지난다.
|
|
3024
|
+
*
|
|
3025
|
+
* 주문상품 상태 enum은 바꾸지 않는다. 비실물의 **제공 완료는 `DELIVERED`를 재사용한다** — 새 상태를 더하면 기존 소비자의
|
|
3026
|
+
* 상태 분기(배송완료 뒤 구매확정 대기, 반품 가능 판정)가 새 값을 모른다. 표시는 유형으로 가른다.
|
|
3027
|
+
*/
|
|
3028
|
+
/**
|
|
3029
|
+
* 상품 유형.
|
|
3030
|
+
* - `SHIPPING` 배송 상품. 택배로 발송하고 송장·배송 추적으로 배송완료가 된다
|
|
3031
|
+
* - `MANUAL` 배송 없는 상품(비실물). 셀러가 제공 처리(`POST /v1/order-items/{orderItemId}/fulfill`)로 제공 완료를 기록한다
|
|
3032
|
+
*
|
|
3033
|
+
* 비실물의 세부 구분(파일 다운로드·코드 발급·이용권·방문 수령)은 2026-09-28에 제품에서 뺐다(이슈 #48 범위 축소).
|
|
3034
|
+
* 이름은 이행 방식이다 — `SHIPPING`이 택배 발송이듯 `MANUAL`은 셀러가 직접 제공한다는 뜻이다.
|
|
3035
|
+
*/
|
|
3036
|
+
export declare const fulfillmentTypeSchema: z.ZodEnum<{
|
|
3037
|
+
SHIPPING: "SHIPPING";
|
|
3038
|
+
MANUAL: "MANUAL";
|
|
3039
|
+
}>;
|
|
3040
|
+
export type FulfillmentType = z.infer<typeof fulfillmentTypeSchema>;
|
|
3041
|
+
/**
|
|
3042
|
+
* 응답 스키마용 유형 — 서버가 나중에 유형을 더해도 옛 SDK가 응답 파싱에서 깨지지 않게 문자열로 받는다.
|
|
3043
|
+
* 요청은 `fulfillmentTypeSchema`(닫힌 enum)로 검증한다.
|
|
3044
|
+
*/
|
|
3045
|
+
export declare const fulfillmentTypeResponseSchema: z.ZodString;
|
|
3046
|
+
/** 유형 하나의 규칙 — 배송·클레임이 이 표를 읽는다 */
|
|
3047
|
+
export interface FulfillmentRule {
|
|
3048
|
+
/** 택배 배송이 필요한가 — 배송비·배송지·발송 흐름의 대상인가 */
|
|
3049
|
+
requiresShipping: boolean;
|
|
3050
|
+
/** 반품에 수거가 필요한가 — 실물만 수거한다 */
|
|
3051
|
+
requiresCollection: boolean;
|
|
3052
|
+
/** 교환을 받는가 — 실물만 받는다 */
|
|
3053
|
+
exchangeSupported: boolean;
|
|
3054
|
+
}
|
|
3055
|
+
/** 유형별 규칙표 — **유일한 원천이다.** */
|
|
3056
|
+
export declare const FULFILLMENT_RULES: Readonly<Record<FulfillmentType, FulfillmentRule>>;
|
|
3057
|
+
/**
|
|
3058
|
+
* 저장된 값 → 유형. null·모르는 값은 `SHIPPING`이다 — 이 필드 이전의 상품·주문상품은 모두 배송 상품이었다.
|
|
3059
|
+
*/
|
|
3060
|
+
export declare function fulfillmentTypeOf(value: string | null | undefined): FulfillmentType;
|
|
3061
|
+
/** 유형의 규칙 — 모르는 값은 배송 상품 규칙이다 */
|
|
3062
|
+
export declare function fulfillmentRuleOf(type: string | null | undefined): FulfillmentRule;
|
|
3063
|
+
/**
|
|
3064
|
+
* 이행 방식.
|
|
3065
|
+
* - `CARRIER` 택배(송장·배송 추적)
|
|
3066
|
+
* - `DIRECT` 직접 배달(배송지 있음, 송장 없음)
|
|
3067
|
+
* - `PICKUP` 방문 수령(배송지·배송비 없음)
|
|
3068
|
+
* - `PROVIDED` 제공 처리(배송 없는 상품)
|
|
3069
|
+
*/
|
|
3070
|
+
export declare const FULFILLMENT_METHODS: readonly ["CARRIER", "DIRECT", "PICKUP", "PROVIDED"];
|
|
3071
|
+
export declare const fulfillmentMethodSchema: z.ZodEnum<{
|
|
3072
|
+
CARRIER: "CARRIER";
|
|
3073
|
+
DIRECT: "DIRECT";
|
|
3074
|
+
PICKUP: "PICKUP";
|
|
3075
|
+
PROVIDED: "PROVIDED";
|
|
3076
|
+
}>;
|
|
3077
|
+
export type FulfillmentMethod = z.infer<typeof fulfillmentMethodSchema>;
|
|
3078
|
+
/** 방식 하나의 규칙 */
|
|
3079
|
+
export interface FulfillmentMethodRule {
|
|
3080
|
+
/** 배송지를 받는가 — 배송비 묶음·배송지 필수 판정의 대상인가 */
|
|
3081
|
+
requiresAddress: boolean;
|
|
3082
|
+
/** 송장 등록·배송 추적으로 배송완료가 되는가 */
|
|
3083
|
+
carrierTracking: boolean;
|
|
3084
|
+
/** 구매자가 픽업 장소를 고르는가 */
|
|
3085
|
+
pickupLocation: boolean;
|
|
3086
|
+
}
|
|
3087
|
+
/** 방식별 규칙표 — **유일한 원천이다.** */
|
|
3088
|
+
export declare const FULFILLMENT_METHOD_RULES: Readonly<Record<FulfillmentMethod, FulfillmentMethodRule>>;
|
|
3089
|
+
/** 유형별 허용 방식 — 첫 값이 유형 기본이다 */
|
|
3090
|
+
export declare const FULFILLMENT_METHODS_BY_TYPE: Readonly<Record<FulfillmentType, readonly FulfillmentMethod[]>>;
|
|
3091
|
+
/** 유형의 기본 방식 — 허용 방식을 두지 않은 상품·이 필드 이전 주문상품 */
|
|
3092
|
+
export declare function defaultFulfillmentMethodOf(type: string | null | undefined): FulfillmentMethod;
|
|
3093
|
+
/** 상품의 허용 방식 — 두지 않았으면 유형 기본 하나다 */
|
|
3094
|
+
export declare function fulfillmentMethodsOf(fulfillment: {
|
|
3095
|
+
type: string;
|
|
3096
|
+
methods?: readonly string[] | null;
|
|
3097
|
+
}): FulfillmentMethod[];
|
|
3098
|
+
/** 저장된 방식 → 방식. null·모르는 값은 유형 기본이다 */
|
|
3099
|
+
export declare function fulfillmentMethodOf(type: string | null | undefined, method: string | null | undefined): FulfillmentMethod;
|
|
3100
|
+
/**
|
|
3101
|
+
* 택배 배송이 필요한가 — 배송비 묶음·배송지·발송 흐름의 판정은 이 함수 하나를 지난다.
|
|
3102
|
+
* 방식을 주면 방식 규칙도 본다(배송 상품의 방문 수령은 배송이 없다). 방식을 모르면 유형 규칙만 본다.
|
|
3103
|
+
*/
|
|
3104
|
+
export declare function requiresShipping(type: string | null | undefined, method?: string | null): boolean;
|
|
3105
|
+
/** 반품에 수거가 필요한가 — 비실물 반품은 수거 등록·수거 완료 없이 승인한다 */
|
|
3106
|
+
export declare function requiresCollection(type: string | null | undefined): boolean;
|
|
3107
|
+
/**
|
|
3108
|
+
* 배송이 없는 주문상품의 배송 묶음 키 (`order_items.delivery_bundle_key`).
|
|
3109
|
+
*
|
|
3110
|
+
* null로 두면 환불 정산이 #29 이전 주문의 레거시 폴백(「묶음 = 같은 상품」, 상품의 **현재** 배송비)을 탄다.
|
|
3111
|
+
* 이 키를 만나면 배송비 환불·차감이 0이고 `orders.delivery_fee_settlements`에 항목을 만들지 않는다.
|
|
3112
|
+
* 정책 지문 키(`b:…`)와 겹치지 않는다.
|
|
3113
|
+
*/
|
|
3114
|
+
export declare const NO_SHIPPING_BUNDLE_KEY = "none";
|
|
3115
|
+
/** 배송비 유형 — 무료·유료·조건부 무료 */
|
|
3116
|
+
export declare const deliveryTypeSchema: z.ZodEnum<{
|
|
3117
|
+
FREE: "FREE";
|
|
3118
|
+
PAID: "PAID";
|
|
3119
|
+
CONDITIONAL_FREE: "CONDITIONAL_FREE";
|
|
3120
|
+
}>;
|
|
3121
|
+
export type DeliveryType = z.infer<typeof deliveryTypeSchema>;
|
|
3122
|
+
/**
|
|
3123
|
+
* 상품 이행 — 등록(POST). 배송 상품의 `shipping`을 생략하면 기본값(유료 배송·상점 기본 배송비·기본 출고지·반품지)이다.
|
|
3124
|
+
*/
|
|
3125
|
+
export declare const productFulfillmentCreateSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
3126
|
+
type: z.ZodLiteral<"SHIPPING">;
|
|
3127
|
+
shipping: z.ZodOptional<z.ZodObject<{
|
|
3128
|
+
deliveryType: z.ZodDefault<z.ZodEnum<{
|
|
3129
|
+
FREE: "FREE";
|
|
3130
|
+
PAID: "PAID";
|
|
3131
|
+
CONDITIONAL_FREE: "CONDITIONAL_FREE";
|
|
3132
|
+
}>>;
|
|
3133
|
+
deliveryFee: z.ZodOptional<z.ZodNumber>;
|
|
3134
|
+
conditionalFreeAmount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
3135
|
+
shippingAddressId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
3136
|
+
returnAddressId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
3137
|
+
}, z.core.$strict>>;
|
|
3138
|
+
methods: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
3139
|
+
CARRIER: "CARRIER";
|
|
3140
|
+
DIRECT: "DIRECT";
|
|
3141
|
+
PICKUP: "PICKUP";
|
|
3142
|
+
PROVIDED: "PROVIDED";
|
|
3143
|
+
}>>>;
|
|
3144
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
3145
|
+
type: z.ZodLiteral<"MANUAL">;
|
|
3146
|
+
methods: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
3147
|
+
CARRIER: "CARRIER";
|
|
3148
|
+
DIRECT: "DIRECT";
|
|
3149
|
+
PICKUP: "PICKUP";
|
|
3150
|
+
PROVIDED: "PROVIDED";
|
|
3151
|
+
}>>>;
|
|
3152
|
+
}, z.core.$strict>], "type">;
|
|
3153
|
+
export type ProductFulfillmentCreate = z.infer<typeof productFulfillmentCreateSchema>;
|
|
3154
|
+
/** 등록 요청의 입력 모양 — 기본값이 채워지기 전(생략 가능한 필드가 optional) */
|
|
3155
|
+
export type ProductFulfillmentCreateInput = z.input<typeof productFulfillmentCreateSchema>;
|
|
3156
|
+
/**
|
|
3157
|
+
* 상품 이행 — 수정(PUT·PATCH). 통째 교체이고 유형 키와 그 안의 필드가 **모두 필수**다. 서버는 현재 값과 병합하지 않는다.
|
|
3158
|
+
* `fulfillment` 자체를 생략하면 이행을 바꾸지 않는다.
|
|
3159
|
+
*/
|
|
3160
|
+
export declare const productFulfillmentUpdateSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
3161
|
+
type: z.ZodLiteral<"SHIPPING">;
|
|
3162
|
+
shipping: z.ZodObject<{
|
|
3163
|
+
deliveryType: z.ZodEnum<{
|
|
3164
|
+
FREE: "FREE";
|
|
3165
|
+
PAID: "PAID";
|
|
3166
|
+
CONDITIONAL_FREE: "CONDITIONAL_FREE";
|
|
3167
|
+
}>;
|
|
3168
|
+
deliveryFee: z.ZodNumber;
|
|
3169
|
+
conditionalFreeAmount: z.ZodNullable<z.ZodNumber>;
|
|
3170
|
+
shippingAddressId: z.ZodNullable<z.ZodString>;
|
|
3171
|
+
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
3172
|
+
}, z.core.$strict>;
|
|
3173
|
+
methods: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
3174
|
+
CARRIER: "CARRIER";
|
|
3175
|
+
DIRECT: "DIRECT";
|
|
3176
|
+
PICKUP: "PICKUP";
|
|
3177
|
+
PROVIDED: "PROVIDED";
|
|
3178
|
+
}>>>;
|
|
3179
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
3180
|
+
type: z.ZodLiteral<"MANUAL">;
|
|
3181
|
+
methods: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
3182
|
+
CARRIER: "CARRIER";
|
|
3183
|
+
DIRECT: "DIRECT";
|
|
3184
|
+
PICKUP: "PICKUP";
|
|
3185
|
+
PROVIDED: "PROVIDED";
|
|
3186
|
+
}>>>;
|
|
3187
|
+
}, z.core.$strict>], "type">;
|
|
3188
|
+
export type ProductFulfillmentUpdate = z.infer<typeof productFulfillmentUpdateSchema>;
|
|
3189
|
+
/**
|
|
3190
|
+
* 저장된 상품 이행 — 알려진 유형의 닫힌 유니온. 서버의 상품 엔티티와 응답이 이 모양을 쓴다.
|
|
3191
|
+
* 응답 파싱은 `productFulfillmentResponseSchema`(열린 유니온)를 쓴다.
|
|
3192
|
+
*/
|
|
3193
|
+
export declare const productFulfillmentSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
3194
|
+
type: z.ZodLiteral<"SHIPPING">;
|
|
3195
|
+
shipping: z.ZodObject<{
|
|
3196
|
+
deliveryType: z.ZodEnum<{
|
|
3197
|
+
FREE: "FREE";
|
|
3198
|
+
PAID: "PAID";
|
|
3199
|
+
CONDITIONAL_FREE: "CONDITIONAL_FREE";
|
|
3200
|
+
}>;
|
|
3201
|
+
deliveryFee: z.ZodNumber;
|
|
3202
|
+
conditionalFreeAmount: z.ZodNullable<z.ZodNumber>;
|
|
3203
|
+
shippingAddressId: z.ZodNullable<z.ZodString>;
|
|
3204
|
+
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
3205
|
+
}, z.core.$strip>;
|
|
3206
|
+
methods: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
3207
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
3208
|
+
type: z.ZodLiteral<"MANUAL">;
|
|
3209
|
+
methods: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
3210
|
+
}, z.core.$strip>], "type">;
|
|
3211
|
+
export type ProductFulfillment = z.infer<typeof productFulfillmentSchema>;
|
|
3212
|
+
/** 유형 이름 → 그 유형의 저장된 이행 */
|
|
3213
|
+
export type ProductFulfillmentOf<T extends FulfillmentType> = Extract<ProductFulfillment, {
|
|
3214
|
+
type: T;
|
|
3215
|
+
}>;
|
|
3216
|
+
/** 응답이 알려 주는 모르는 유형 — SDK가 아직 모르는 유형(서버가 나중에 더한 유형) */
|
|
3217
|
+
export interface UnknownFulfillment {
|
|
3218
|
+
type: "OTHER";
|
|
3219
|
+
/** 서버가 보낸 유형 이름 */
|
|
3220
|
+
rawType: string;
|
|
3221
|
+
}
|
|
3222
|
+
/**
|
|
3223
|
+
* 열린 응답 유니온 — 알려진 유형은 판별 유니온으로 검사하고, **모르는 유형만** `{ type: "OTHER", rawType }`로 읽는다.
|
|
3224
|
+
*
|
|
3225
|
+
* `type: z.string()` 가지를 그대로 두면 TS가 `type === "SHIPPING"`으로 좁혀도 문자열 가지가 남는다. `OTHER` 리터럴로 바꿔 좁히기를
|
|
3226
|
+
* 지킨다. 알려진 유형의 모양이 틀린 응답은 폴백으로 숨기지 않고 파싱 오류로 둔다.
|
|
3227
|
+
*/
|
|
3228
|
+
export declare function openFulfillmentUnion<T extends z.ZodType>(known: T): z.ZodUnion<readonly [T, z.ZodPipe<z.ZodObject<{
|
|
3229
|
+
type: z.ZodString;
|
|
3230
|
+
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
3231
|
+
[x: string]: unknown;
|
|
3232
|
+
type: string;
|
|
3233
|
+
}>>]>;
|
|
3234
|
+
export declare const productFulfillmentResponseSchema: z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
3235
|
+
type: z.ZodLiteral<"SHIPPING">;
|
|
3236
|
+
shipping: z.ZodObject<{
|
|
3237
|
+
deliveryType: z.ZodEnum<{
|
|
3238
|
+
FREE: "FREE";
|
|
3239
|
+
PAID: "PAID";
|
|
3240
|
+
CONDITIONAL_FREE: "CONDITIONAL_FREE";
|
|
3241
|
+
}>;
|
|
3242
|
+
deliveryFee: z.ZodNumber;
|
|
3243
|
+
conditionalFreeAmount: z.ZodNullable<z.ZodNumber>;
|
|
3244
|
+
shippingAddressId: z.ZodNullable<z.ZodString>;
|
|
3245
|
+
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
3246
|
+
}, z.core.$strip>;
|
|
3247
|
+
methods: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
3248
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
3249
|
+
type: z.ZodLiteral<"MANUAL">;
|
|
3250
|
+
methods: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
3251
|
+
}, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
|
|
3252
|
+
type: z.ZodString;
|
|
3253
|
+
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
3254
|
+
[x: string]: unknown;
|
|
3255
|
+
type: string;
|
|
3256
|
+
}>>]>;
|
|
3257
|
+
export type ProductFulfillmentView = z.infer<typeof productFulfillmentResponseSchema>;
|
|
3258
|
+
/** 주문상품의 주문 시점 픽업 장소 — 장소를 고치거나 지워도 이 주문의 안내는 바뀌지 않는다 */
|
|
3259
|
+
export declare const pickupLocationSnapshotSchema: z.ZodObject<{
|
|
3260
|
+
locationId: z.ZodString;
|
|
3261
|
+
name: z.ZodString;
|
|
3262
|
+
address: z.ZodString;
|
|
3263
|
+
phone: z.ZodNullable<z.ZodString>;
|
|
3264
|
+
hours: z.ZodNullable<z.ZodString>;
|
|
3265
|
+
}, z.core.$strip>;
|
|
3266
|
+
export type PickupLocationSnapshot = z.infer<typeof pickupLocationSnapshotSchema>;
|
|
3267
|
+
/**
|
|
3268
|
+
* 주문상품의 주문 시점 이행 — 결제 확정이 주문서 줄에서 굳힌다. 상품의 현재 값이 아니다. 서버는 주문상품 컬럼
|
|
3269
|
+
* (`fulfillment_type`·`delivery_bundle_key`)과 jsonb(`fulfillment_snapshot`)를 합쳐 이 모양을 만든다.
|
|
3270
|
+
*/
|
|
3271
|
+
export declare const orderItemFulfillmentSnapshotSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
3272
|
+
type: z.ZodLiteral<"SHIPPING">;
|
|
3273
|
+
shipping: z.ZodObject<{
|
|
3274
|
+
bundleKey: z.ZodNullable<z.ZodString>;
|
|
3275
|
+
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
3276
|
+
}, z.core.$strip>;
|
|
3277
|
+
method: z.ZodOptional<z.ZodString>;
|
|
3278
|
+
pickupLocation: z.ZodOptional<z.ZodObject<{
|
|
3279
|
+
locationId: z.ZodString;
|
|
3280
|
+
name: z.ZodString;
|
|
3281
|
+
address: z.ZodString;
|
|
3282
|
+
phone: z.ZodNullable<z.ZodString>;
|
|
3283
|
+
hours: z.ZodNullable<z.ZodString>;
|
|
3284
|
+
}, z.core.$strip>>;
|
|
3285
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
3286
|
+
type: z.ZodLiteral<"MANUAL">;
|
|
3287
|
+
method: z.ZodOptional<z.ZodString>;
|
|
3288
|
+
pickupLocation: z.ZodOptional<z.ZodObject<{
|
|
3289
|
+
locationId: z.ZodString;
|
|
3290
|
+
name: z.ZodString;
|
|
3291
|
+
address: z.ZodString;
|
|
3292
|
+
phone: z.ZodNullable<z.ZodString>;
|
|
3293
|
+
hours: z.ZodNullable<z.ZodString>;
|
|
3294
|
+
}, z.core.$strip>>;
|
|
3295
|
+
}, z.core.$strip>], "type">;
|
|
3296
|
+
export type OrderItemFulfillmentSnapshot = z.infer<typeof orderItemFulfillmentSnapshotSchema>;
|
|
3297
|
+
export declare const orderItemFulfillmentSnapshotResponseSchema: z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
3298
|
+
type: z.ZodLiteral<"SHIPPING">;
|
|
3299
|
+
shipping: z.ZodObject<{
|
|
3300
|
+
bundleKey: z.ZodNullable<z.ZodString>;
|
|
3301
|
+
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
3302
|
+
}, z.core.$strip>;
|
|
3303
|
+
method: z.ZodOptional<z.ZodString>;
|
|
3304
|
+
pickupLocation: z.ZodOptional<z.ZodObject<{
|
|
3305
|
+
locationId: z.ZodString;
|
|
3306
|
+
name: z.ZodString;
|
|
3307
|
+
address: z.ZodString;
|
|
3308
|
+
phone: z.ZodNullable<z.ZodString>;
|
|
3309
|
+
hours: z.ZodNullable<z.ZodString>;
|
|
3310
|
+
}, z.core.$strip>>;
|
|
3311
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
3312
|
+
type: z.ZodLiteral<"MANUAL">;
|
|
3313
|
+
method: z.ZodOptional<z.ZodString>;
|
|
3314
|
+
pickupLocation: z.ZodOptional<z.ZodObject<{
|
|
3315
|
+
locationId: z.ZodString;
|
|
3316
|
+
name: z.ZodString;
|
|
3317
|
+
address: z.ZodString;
|
|
3318
|
+
phone: z.ZodNullable<z.ZodString>;
|
|
3319
|
+
hours: z.ZodNullable<z.ZodString>;
|
|
3320
|
+
}, z.core.$strip>>;
|
|
3321
|
+
}, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
|
|
3322
|
+
type: z.ZodString;
|
|
3323
|
+
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
3324
|
+
[x: string]: unknown;
|
|
3325
|
+
type: string;
|
|
3326
|
+
}>>]>;
|
|
3327
|
+
export type OrderItemFulfillmentSnapshotView = z.infer<typeof orderItemFulfillmentSnapshotResponseSchema>;
|
|
3328
|
+
/** 상점당 픽업 장소 상한 */
|
|
3329
|
+
export declare const MAX_PICKUP_LOCATIONS = 20;
|
|
3330
|
+
/** 방문 수령(`PICKUP`) 장소 — 상점 설정이다. 구매자가 주문서에서 고르고 주문상품에 주문 시점 값이 남는다 */
|
|
3331
|
+
export declare const pickupLocationSchema: z.ZodObject<{
|
|
3332
|
+
locationId: z.ZodString;
|
|
3333
|
+
name: z.ZodString;
|
|
3334
|
+
address: z.ZodString;
|
|
3335
|
+
phone: z.ZodNullable<z.ZodString>;
|
|
3336
|
+
hours: z.ZodNullable<z.ZodString>;
|
|
3337
|
+
usable: z.ZodBoolean;
|
|
3338
|
+
sortOrder: z.ZodNumber;
|
|
3339
|
+
createdAt: z.ZodString;
|
|
3340
|
+
}, z.core.$strip>;
|
|
3341
|
+
export type PickupLocation = z.infer<typeof pickupLocationSchema>;
|
|
3342
|
+
export declare const pickupLocationRequestSchema: z.ZodObject<{
|
|
3343
|
+
name: z.ZodString;
|
|
3344
|
+
address: z.ZodString;
|
|
3345
|
+
phone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
3346
|
+
hours: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
3347
|
+
usable: z.ZodDefault<z.ZodBoolean>;
|
|
3348
|
+
}, z.core.$strict>;
|
|
3349
|
+
export type PickupLocationRequest = z.infer<typeof pickupLocationRequestSchema>;
|
|
3350
|
+
export type PickupLocationRequestInput = z.input<typeof pickupLocationRequestSchema>;
|
|
2626
3351
|
//#endregion
|
|
2627
3352
|
//#region src/schemas/login.d.ts
|
|
2628
3353
|
/** 소셜 로그인 공급자 */
|
|
@@ -2895,6 +3620,7 @@ export declare const eventTypeSchema: z.ZodEnum<{
|
|
|
2895
3620
|
"INQUIRY.CREATED": "INQUIRY.CREATED";
|
|
2896
3621
|
"REVIEW.CREATED": "REVIEW.CREATED";
|
|
2897
3622
|
"PRODUCT.OUT_OF_STOCK": "PRODUCT.OUT_OF_STOCK";
|
|
3623
|
+
"ORDER.FLOW_NOTIFICATION": "ORDER.FLOW_NOTIFICATION";
|
|
2898
3624
|
}>;
|
|
2899
3625
|
export type EventType = z.infer<typeof eventTypeSchema>;
|
|
2900
3626
|
export declare const webhookStatusSchema: z.ZodEnum<{
|
|
@@ -2921,6 +3647,7 @@ export declare const webhookSchema: z.ZodObject<{
|
|
|
2921
3647
|
"INQUIRY.CREATED": "INQUIRY.CREATED";
|
|
2922
3648
|
"REVIEW.CREATED": "REVIEW.CREATED";
|
|
2923
3649
|
"PRODUCT.OUT_OF_STOCK": "PRODUCT.OUT_OF_STOCK";
|
|
3650
|
+
"ORDER.FLOW_NOTIFICATION": "ORDER.FLOW_NOTIFICATION";
|
|
2924
3651
|
}>>;
|
|
2925
3652
|
status: z.ZodEnum<{
|
|
2926
3653
|
SUSPENDED: "SUSPENDED";
|
|
@@ -2951,6 +3678,7 @@ export declare const webhookCreatedSchema: z.ZodObject<{
|
|
|
2951
3678
|
"INQUIRY.CREATED": "INQUIRY.CREATED";
|
|
2952
3679
|
"REVIEW.CREATED": "REVIEW.CREATED";
|
|
2953
3680
|
"PRODUCT.OUT_OF_STOCK": "PRODUCT.OUT_OF_STOCK";
|
|
3681
|
+
"ORDER.FLOW_NOTIFICATION": "ORDER.FLOW_NOTIFICATION";
|
|
2954
3682
|
}>>;
|
|
2955
3683
|
status: z.ZodEnum<{
|
|
2956
3684
|
SUSPENDED: "SUSPENDED";
|
|
@@ -3031,6 +3759,7 @@ export declare const webhookDeliverySchema: z.ZodObject<{
|
|
|
3031
3759
|
"INQUIRY.CREATED": "INQUIRY.CREATED";
|
|
3032
3760
|
"REVIEW.CREATED": "REVIEW.CREATED";
|
|
3033
3761
|
"PRODUCT.OUT_OF_STOCK": "PRODUCT.OUT_OF_STOCK";
|
|
3762
|
+
"ORDER.FLOW_NOTIFICATION": "ORDER.FLOW_NOTIFICATION";
|
|
3034
3763
|
}>;
|
|
3035
3764
|
url: z.ZodString;
|
|
3036
3765
|
status: z.ZodEnum<{
|
|
@@ -3084,6 +3813,7 @@ export declare const webhookDeliveryDetailSchema: z.ZodObject<{
|
|
|
3084
3813
|
"INQUIRY.CREATED": "INQUIRY.CREATED";
|
|
3085
3814
|
"REVIEW.CREATED": "REVIEW.CREATED";
|
|
3086
3815
|
"PRODUCT.OUT_OF_STOCK": "PRODUCT.OUT_OF_STOCK";
|
|
3816
|
+
"ORDER.FLOW_NOTIFICATION": "ORDER.FLOW_NOTIFICATION";
|
|
3087
3817
|
}>;
|
|
3088
3818
|
url: z.ZodString;
|
|
3089
3819
|
status: z.ZodEnum<{
|
|
@@ -3146,6 +3876,7 @@ export declare const webhookDeliveryListQuerySchema: z.ZodObject<{
|
|
|
3146
3876
|
"INQUIRY.CREATED": "INQUIRY.CREATED";
|
|
3147
3877
|
"REVIEW.CREATED": "REVIEW.CREATED";
|
|
3148
3878
|
"PRODUCT.OUT_OF_STOCK": "PRODUCT.OUT_OF_STOCK";
|
|
3879
|
+
"ORDER.FLOW_NOTIFICATION": "ORDER.FLOW_NOTIFICATION";
|
|
3149
3880
|
}>>;
|
|
3150
3881
|
resourceId: z.ZodOptional<z.ZodString>;
|
|
3151
3882
|
limit: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
|
|
@@ -3173,6 +3904,7 @@ export declare const webhookTestRequestSchema: z.ZodObject<{
|
|
|
3173
3904
|
"INQUIRY.CREATED": "INQUIRY.CREATED";
|
|
3174
3905
|
"REVIEW.CREATED": "REVIEW.CREATED";
|
|
3175
3906
|
"PRODUCT.OUT_OF_STOCK": "PRODUCT.OUT_OF_STOCK";
|
|
3907
|
+
"ORDER.FLOW_NOTIFICATION": "ORDER.FLOW_NOTIFICATION";
|
|
3176
3908
|
}>;
|
|
3177
3909
|
}, z.core.$strip>;
|
|
3178
3910
|
export type WebhookTestRequest = z.infer<typeof webhookTestRequestSchema>;
|
|
@@ -3214,6 +3946,7 @@ export declare const webhookRequestSchema: z.ZodObject<{
|
|
|
3214
3946
|
"INQUIRY.CREATED": "INQUIRY.CREATED";
|
|
3215
3947
|
"REVIEW.CREATED": "REVIEW.CREATED";
|
|
3216
3948
|
"PRODUCT.OUT_OF_STOCK": "PRODUCT.OUT_OF_STOCK";
|
|
3949
|
+
"ORDER.FLOW_NOTIFICATION": "ORDER.FLOW_NOTIFICATION";
|
|
3217
3950
|
}>>;
|
|
3218
3951
|
}, z.core.$strip>;
|
|
3219
3952
|
export type WebhookRequest = z.infer<typeof webhookRequestSchema>;
|
|
@@ -3286,208 +4019,6 @@ export declare const reviewReportResultSchema: z.ZodObject<{
|
|
|
3286
4019
|
}, z.core.$strip>;
|
|
3287
4020
|
export type ReviewReportResult = z.infer<typeof reviewReportResultSchema>;
|
|
3288
4021
|
//#endregion
|
|
3289
|
-
//#region src/schemas/fulfillment.d.ts
|
|
3290
|
-
/**
|
|
3291
|
-
* 상품 유형 (이슈 #48·#57) — 배송이 필요한 상품과 필요 없는 상품을 가르는 축이다.
|
|
3292
|
-
*
|
|
3293
|
-
* **상품 유형은 이행 방식 하나로 표현한다.** `fulfillment.type`이 배송 필요 여부, 이행 흐름, 클레임 규칙을 정한다.
|
|
3294
|
-
* 코드 곳곳에서 유형 이름으로 분기하지 않고 이 파일의 판정 함수(`requiresShipping`·`fulfillmentRuleOf`)를 지난다.
|
|
3295
|
-
*
|
|
3296
|
-
* 주문상품 상태 enum은 바꾸지 않는다. 비실물의 **제공 완료는 `DELIVERED`를 재사용한다** — 새 상태를 더하면 기존 소비자의
|
|
3297
|
-
* 상태 분기(배송완료 뒤 구매확정 대기, 반품 가능 판정)가 새 값을 모른다. 표시는 유형으로 가른다.
|
|
3298
|
-
*/
|
|
3299
|
-
/**
|
|
3300
|
-
* 상품 유형.
|
|
3301
|
-
* - `SHIPPING` 배송 상품. 택배로 발송하고 송장·배송 추적으로 배송완료가 된다
|
|
3302
|
-
* - `MANUAL` 배송 없는 상품(비실물). 셀러가 제공 처리(`POST /v1/order-items/{orderItemId}/fulfill`)로 제공 완료를 기록한다
|
|
3303
|
-
*
|
|
3304
|
-
* 비실물의 세부 구분(파일 다운로드·코드 발급·이용권·방문 수령)은 2026-09-28에 제품에서 뺐다(이슈 #48 범위 축소).
|
|
3305
|
-
* 이름은 이행 방식이다 — `SHIPPING`이 택배 발송이듯 `MANUAL`은 셀러가 직접 제공한다는 뜻이다.
|
|
3306
|
-
*/
|
|
3307
|
-
export declare const fulfillmentTypeSchema: z.ZodEnum<{
|
|
3308
|
-
SHIPPING: "SHIPPING";
|
|
3309
|
-
MANUAL: "MANUAL";
|
|
3310
|
-
}>;
|
|
3311
|
-
export type FulfillmentType = z.infer<typeof fulfillmentTypeSchema>;
|
|
3312
|
-
/**
|
|
3313
|
-
* 응답 스키마용 유형 — 서버가 나중에 유형을 더해도 옛 SDK가 응답 파싱에서 깨지지 않게 문자열로 받는다.
|
|
3314
|
-
* 요청은 `fulfillmentTypeSchema`(닫힌 enum)로 검증한다.
|
|
3315
|
-
*/
|
|
3316
|
-
export declare const fulfillmentTypeResponseSchema: z.ZodString;
|
|
3317
|
-
/** 유형 하나의 규칙 — 배송·클레임이 이 표를 읽는다 */
|
|
3318
|
-
export interface FulfillmentRule {
|
|
3319
|
-
/** 택배 배송이 필요한가 — 배송비·배송지·발송 흐름의 대상인가 */
|
|
3320
|
-
requiresShipping: boolean;
|
|
3321
|
-
/** 반품에 수거가 필요한가 — 실물만 수거한다 */
|
|
3322
|
-
requiresCollection: boolean;
|
|
3323
|
-
/** 교환을 받는가 — 실물만 받는다 */
|
|
3324
|
-
exchangeSupported: boolean;
|
|
3325
|
-
}
|
|
3326
|
-
/** 유형별 규칙표 — **유일한 원천이다.** */
|
|
3327
|
-
export declare const FULFILLMENT_RULES: Readonly<Record<FulfillmentType, FulfillmentRule>>;
|
|
3328
|
-
/**
|
|
3329
|
-
* 저장된 값 → 유형. null·모르는 값은 `SHIPPING`이다 — 이 필드 이전의 상품·주문상품은 모두 배송 상품이었다.
|
|
3330
|
-
*/
|
|
3331
|
-
export declare function fulfillmentTypeOf(value: string | null | undefined): FulfillmentType;
|
|
3332
|
-
/** 유형의 규칙 — 모르는 값은 배송 상품 규칙이다 */
|
|
3333
|
-
export declare function fulfillmentRuleOf(type: string | null | undefined): FulfillmentRule;
|
|
3334
|
-
/** 택배 배송이 필요한가 — 배송비 묶음·배송지·발송 흐름의 판정은 이 함수 하나를 지난다 */
|
|
3335
|
-
export declare function requiresShipping(type: string | null | undefined): boolean;
|
|
3336
|
-
/** 반품에 수거가 필요한가 — 비실물 반품은 수거 등록·수거 완료 없이 승인한다 */
|
|
3337
|
-
export declare function requiresCollection(type: string | null | undefined): boolean;
|
|
3338
|
-
/**
|
|
3339
|
-
* 배송이 없는 주문상품의 배송 묶음 키 (`order_items.delivery_bundle_key`).
|
|
3340
|
-
*
|
|
3341
|
-
* null로 두면 환불 정산이 #29 이전 주문의 레거시 폴백(「묶음 = 같은 상품」, 상품의 **현재** 배송비)을 탄다.
|
|
3342
|
-
* 이 키를 만나면 배송비 환불·차감이 0이고 `orders.delivery_fee_settlements`에 항목을 만들지 않는다.
|
|
3343
|
-
* 정책 지문 키(`b:…`)와 겹치지 않는다.
|
|
3344
|
-
*/
|
|
3345
|
-
export declare const NO_SHIPPING_BUNDLE_KEY = "none";
|
|
3346
|
-
/** 배송비 유형 — 무료·유료·조건부 무료 */
|
|
3347
|
-
export declare const deliveryTypeSchema: z.ZodEnum<{
|
|
3348
|
-
FREE: "FREE";
|
|
3349
|
-
PAID: "PAID";
|
|
3350
|
-
CONDITIONAL_FREE: "CONDITIONAL_FREE";
|
|
3351
|
-
}>;
|
|
3352
|
-
export type DeliveryType = z.infer<typeof deliveryTypeSchema>;
|
|
3353
|
-
/**
|
|
3354
|
-
* 상품 이행 — 등록(POST). 배송 상품의 `shipping`을 생략하면 기본값(유료 배송·상점 기본 배송비·기본 출고지·반품지)이다.
|
|
3355
|
-
*/
|
|
3356
|
-
export declare const productFulfillmentCreateSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
3357
|
-
type: z.ZodLiteral<"SHIPPING">;
|
|
3358
|
-
shipping: z.ZodOptional<z.ZodObject<{
|
|
3359
|
-
deliveryType: z.ZodDefault<z.ZodEnum<{
|
|
3360
|
-
FREE: "FREE";
|
|
3361
|
-
PAID: "PAID";
|
|
3362
|
-
CONDITIONAL_FREE: "CONDITIONAL_FREE";
|
|
3363
|
-
}>>;
|
|
3364
|
-
deliveryFee: z.ZodOptional<z.ZodNumber>;
|
|
3365
|
-
conditionalFreeAmount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
3366
|
-
shippingAddressId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
3367
|
-
returnAddressId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
3368
|
-
}, z.core.$strict>>;
|
|
3369
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
3370
|
-
type: z.ZodLiteral<"MANUAL">;
|
|
3371
|
-
}, z.core.$strict>], "type">;
|
|
3372
|
-
export type ProductFulfillmentCreate = z.infer<typeof productFulfillmentCreateSchema>;
|
|
3373
|
-
/** 등록 요청의 입력 모양 — 기본값이 채워지기 전(생략 가능한 필드가 optional) */
|
|
3374
|
-
export type ProductFulfillmentCreateInput = z.input<typeof productFulfillmentCreateSchema>;
|
|
3375
|
-
/**
|
|
3376
|
-
* 상품 이행 — 수정(PUT·PATCH). 통째 교체이고 유형 키와 그 안의 필드가 **모두 필수**다. 서버는 현재 값과 병합하지 않는다.
|
|
3377
|
-
* `fulfillment` 자체를 생략하면 이행을 바꾸지 않는다.
|
|
3378
|
-
*/
|
|
3379
|
-
export declare const productFulfillmentUpdateSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
3380
|
-
type: z.ZodLiteral<"SHIPPING">;
|
|
3381
|
-
shipping: z.ZodObject<{
|
|
3382
|
-
deliveryType: z.ZodEnum<{
|
|
3383
|
-
FREE: "FREE";
|
|
3384
|
-
PAID: "PAID";
|
|
3385
|
-
CONDITIONAL_FREE: "CONDITIONAL_FREE";
|
|
3386
|
-
}>;
|
|
3387
|
-
deliveryFee: z.ZodNumber;
|
|
3388
|
-
conditionalFreeAmount: z.ZodNullable<z.ZodNumber>;
|
|
3389
|
-
shippingAddressId: z.ZodNullable<z.ZodString>;
|
|
3390
|
-
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
3391
|
-
}, z.core.$strict>;
|
|
3392
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
3393
|
-
type: z.ZodLiteral<"MANUAL">;
|
|
3394
|
-
}, z.core.$strict>], "type">;
|
|
3395
|
-
export type ProductFulfillmentUpdate = z.infer<typeof productFulfillmentUpdateSchema>;
|
|
3396
|
-
/**
|
|
3397
|
-
* 저장된 상품 이행 — 알려진 유형의 닫힌 유니온. 서버의 상품 엔티티와 응답이 이 모양을 쓴다.
|
|
3398
|
-
* 응답 파싱은 `productFulfillmentResponseSchema`(열린 유니온)를 쓴다.
|
|
3399
|
-
*/
|
|
3400
|
-
export declare const productFulfillmentSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
3401
|
-
type: z.ZodLiteral<"SHIPPING">;
|
|
3402
|
-
shipping: z.ZodObject<{
|
|
3403
|
-
deliveryType: z.ZodEnum<{
|
|
3404
|
-
FREE: "FREE";
|
|
3405
|
-
PAID: "PAID";
|
|
3406
|
-
CONDITIONAL_FREE: "CONDITIONAL_FREE";
|
|
3407
|
-
}>;
|
|
3408
|
-
deliveryFee: z.ZodNumber;
|
|
3409
|
-
conditionalFreeAmount: z.ZodNullable<z.ZodNumber>;
|
|
3410
|
-
shippingAddressId: z.ZodNullable<z.ZodString>;
|
|
3411
|
-
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
3412
|
-
}, z.core.$strip>;
|
|
3413
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
3414
|
-
type: z.ZodLiteral<"MANUAL">;
|
|
3415
|
-
}, z.core.$strip>], "type">;
|
|
3416
|
-
export type ProductFulfillment = z.infer<typeof productFulfillmentSchema>;
|
|
3417
|
-
/** 유형 이름 → 그 유형의 저장된 이행 */
|
|
3418
|
-
export type ProductFulfillmentOf<T extends FulfillmentType> = Extract<ProductFulfillment, {
|
|
3419
|
-
type: T;
|
|
3420
|
-
}>;
|
|
3421
|
-
/** 응답이 알려 주는 모르는 유형 — SDK가 아직 모르는 유형(서버가 나중에 더한 유형) */
|
|
3422
|
-
export interface UnknownFulfillment {
|
|
3423
|
-
type: "OTHER";
|
|
3424
|
-
/** 서버가 보낸 유형 이름 */
|
|
3425
|
-
rawType: string;
|
|
3426
|
-
}
|
|
3427
|
-
/**
|
|
3428
|
-
* 열린 응답 유니온 — 알려진 유형은 판별 유니온으로 검사하고, **모르는 유형만** `{ type: "OTHER", rawType }`로 읽는다.
|
|
3429
|
-
*
|
|
3430
|
-
* `type: z.string()` 가지를 그대로 두면 TS가 `type === "SHIPPING"`으로 좁혀도 문자열 가지가 남는다. `OTHER` 리터럴로 바꿔 좁히기를
|
|
3431
|
-
* 지킨다. 알려진 유형의 모양이 틀린 응답은 폴백으로 숨기지 않고 파싱 오류로 둔다.
|
|
3432
|
-
*/
|
|
3433
|
-
export declare function openFulfillmentUnion<T extends z.ZodType>(known: T): z.ZodUnion<readonly [T, z.ZodPipe<z.ZodObject<{
|
|
3434
|
-
type: z.ZodString;
|
|
3435
|
-
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
3436
|
-
[x: string]: unknown;
|
|
3437
|
-
type: string;
|
|
3438
|
-
}>>]>;
|
|
3439
|
-
export declare const productFulfillmentResponseSchema: z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
3440
|
-
type: z.ZodLiteral<"SHIPPING">;
|
|
3441
|
-
shipping: z.ZodObject<{
|
|
3442
|
-
deliveryType: z.ZodEnum<{
|
|
3443
|
-
FREE: "FREE";
|
|
3444
|
-
PAID: "PAID";
|
|
3445
|
-
CONDITIONAL_FREE: "CONDITIONAL_FREE";
|
|
3446
|
-
}>;
|
|
3447
|
-
deliveryFee: z.ZodNumber;
|
|
3448
|
-
conditionalFreeAmount: z.ZodNullable<z.ZodNumber>;
|
|
3449
|
-
shippingAddressId: z.ZodNullable<z.ZodString>;
|
|
3450
|
-
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
3451
|
-
}, z.core.$strip>;
|
|
3452
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
3453
|
-
type: z.ZodLiteral<"MANUAL">;
|
|
3454
|
-
}, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
|
|
3455
|
-
type: z.ZodString;
|
|
3456
|
-
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
3457
|
-
[x: string]: unknown;
|
|
3458
|
-
type: string;
|
|
3459
|
-
}>>]>;
|
|
3460
|
-
export type ProductFulfillmentView = z.infer<typeof productFulfillmentResponseSchema>;
|
|
3461
|
-
/**
|
|
3462
|
-
* 주문상품의 주문 시점 이행 — 결제 확정이 주문서 줄에서 굳힌다. 상품의 현재 값이 아니다. 서버는 주문상품 컬럼
|
|
3463
|
-
* (`fulfillment_type`·`delivery_bundle_key`)과 jsonb(`fulfillment_snapshot`)를 합쳐 이 모양을 만든다.
|
|
3464
|
-
*/
|
|
3465
|
-
export declare const orderItemFulfillmentSnapshotSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
3466
|
-
type: z.ZodLiteral<"SHIPPING">;
|
|
3467
|
-
shipping: z.ZodObject<{
|
|
3468
|
-
bundleKey: z.ZodNullable<z.ZodString>;
|
|
3469
|
-
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
3470
|
-
}, z.core.$strip>;
|
|
3471
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
3472
|
-
type: z.ZodLiteral<"MANUAL">;
|
|
3473
|
-
}, z.core.$strip>], "type">;
|
|
3474
|
-
export type OrderItemFulfillmentSnapshot = z.infer<typeof orderItemFulfillmentSnapshotSchema>;
|
|
3475
|
-
export declare const orderItemFulfillmentSnapshotResponseSchema: z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
3476
|
-
type: z.ZodLiteral<"SHIPPING">;
|
|
3477
|
-
shipping: z.ZodObject<{
|
|
3478
|
-
bundleKey: z.ZodNullable<z.ZodString>;
|
|
3479
|
-
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
3480
|
-
}, z.core.$strip>;
|
|
3481
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
3482
|
-
type: z.ZodLiteral<"MANUAL">;
|
|
3483
|
-
}, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
|
|
3484
|
-
type: z.ZodString;
|
|
3485
|
-
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
3486
|
-
[x: string]: unknown;
|
|
3487
|
-
type: string;
|
|
3488
|
-
}>>]>;
|
|
3489
|
-
export type OrderItemFulfillmentSnapshotView = z.infer<typeof orderItemFulfillmentSnapshotResponseSchema>;
|
|
3490
|
-
//#endregion
|
|
3491
4022
|
//#region src/schemas/order.d.ts
|
|
3492
4023
|
export declare const orderSummarySchema: z.ZodObject<{
|
|
3493
4024
|
orderId: z.ZodString;
|
|
@@ -3559,7 +4090,17 @@ export declare const orderItemSchema: z.ZodObject<{
|
|
|
3559
4090
|
customInputs: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
3560
4091
|
label: z.ZodString;
|
|
3561
4092
|
value: z.ZodString;
|
|
4093
|
+
key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
4094
|
+
type: z.ZodOptional<z.ZodString>;
|
|
3562
4095
|
}, z.core.$strip>>>>;
|
|
4096
|
+
stay: z.ZodOptional<z.ZodObject<{
|
|
4097
|
+
checkIn: z.ZodString;
|
|
4098
|
+
checkOut: z.ZodString;
|
|
4099
|
+
nights: z.ZodArray<z.ZodObject<{
|
|
4100
|
+
date: z.ZodString;
|
|
4101
|
+
price: z.ZodNumber;
|
|
4102
|
+
}, z.core.$strip>>;
|
|
4103
|
+
}, z.core.$strip>>;
|
|
3563
4104
|
sellerCode: z.ZodNullable<z.ZodString>;
|
|
3564
4105
|
fulfillmentSnapshot: z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
3565
4106
|
type: z.ZodLiteral<"SHIPPING">;
|
|
@@ -3567,8 +4108,24 @@ export declare const orderItemSchema: z.ZodObject<{
|
|
|
3567
4108
|
bundleKey: z.ZodNullable<z.ZodString>;
|
|
3568
4109
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
3569
4110
|
}, z.core.$strip>;
|
|
4111
|
+
method: z.ZodOptional<z.ZodString>;
|
|
4112
|
+
pickupLocation: z.ZodOptional<z.ZodObject<{
|
|
4113
|
+
locationId: z.ZodString;
|
|
4114
|
+
name: z.ZodString;
|
|
4115
|
+
address: z.ZodString;
|
|
4116
|
+
phone: z.ZodNullable<z.ZodString>;
|
|
4117
|
+
hours: z.ZodNullable<z.ZodString>;
|
|
4118
|
+
}, z.core.$strip>>;
|
|
3570
4119
|
}, z.core.$strip>, z.ZodObject<{
|
|
3571
4120
|
type: z.ZodLiteral<"MANUAL">;
|
|
4121
|
+
method: z.ZodOptional<z.ZodString>;
|
|
4122
|
+
pickupLocation: z.ZodOptional<z.ZodObject<{
|
|
4123
|
+
locationId: z.ZodString;
|
|
4124
|
+
name: z.ZodString;
|
|
4125
|
+
address: z.ZodString;
|
|
4126
|
+
phone: z.ZodNullable<z.ZodString>;
|
|
4127
|
+
hours: z.ZodNullable<z.ZodString>;
|
|
4128
|
+
}, z.core.$strip>>;
|
|
3572
4129
|
}, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
|
|
3573
4130
|
type: z.ZodString;
|
|
3574
4131
|
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
@@ -3722,7 +4279,17 @@ export declare const orderSchema: z.ZodObject<{
|
|
|
3722
4279
|
customInputs: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
3723
4280
|
label: z.ZodString;
|
|
3724
4281
|
value: z.ZodString;
|
|
4282
|
+
key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
4283
|
+
type: z.ZodOptional<z.ZodString>;
|
|
3725
4284
|
}, z.core.$strip>>>>;
|
|
4285
|
+
stay: z.ZodOptional<z.ZodObject<{
|
|
4286
|
+
checkIn: z.ZodString;
|
|
4287
|
+
checkOut: z.ZodString;
|
|
4288
|
+
nights: z.ZodArray<z.ZodObject<{
|
|
4289
|
+
date: z.ZodString;
|
|
4290
|
+
price: z.ZodNumber;
|
|
4291
|
+
}, z.core.$strip>>;
|
|
4292
|
+
}, z.core.$strip>>;
|
|
3726
4293
|
sellerCode: z.ZodNullable<z.ZodString>;
|
|
3727
4294
|
fulfillmentSnapshot: z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
3728
4295
|
type: z.ZodLiteral<"SHIPPING">;
|
|
@@ -3730,8 +4297,24 @@ export declare const orderSchema: z.ZodObject<{
|
|
|
3730
4297
|
bundleKey: z.ZodNullable<z.ZodString>;
|
|
3731
4298
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
3732
4299
|
}, z.core.$strip>;
|
|
4300
|
+
method: z.ZodOptional<z.ZodString>;
|
|
4301
|
+
pickupLocation: z.ZodOptional<z.ZodObject<{
|
|
4302
|
+
locationId: z.ZodString;
|
|
4303
|
+
name: z.ZodString;
|
|
4304
|
+
address: z.ZodString;
|
|
4305
|
+
phone: z.ZodNullable<z.ZodString>;
|
|
4306
|
+
hours: z.ZodNullable<z.ZodString>;
|
|
4307
|
+
}, z.core.$strip>>;
|
|
3733
4308
|
}, z.core.$strip>, z.ZodObject<{
|
|
3734
4309
|
type: z.ZodLiteral<"MANUAL">;
|
|
4310
|
+
method: z.ZodOptional<z.ZodString>;
|
|
4311
|
+
pickupLocation: z.ZodOptional<z.ZodObject<{
|
|
4312
|
+
locationId: z.ZodString;
|
|
4313
|
+
name: z.ZodString;
|
|
4314
|
+
address: z.ZodString;
|
|
4315
|
+
phone: z.ZodNullable<z.ZodString>;
|
|
4316
|
+
hours: z.ZodNullable<z.ZodString>;
|
|
4317
|
+
}, z.core.$strip>>;
|
|
3735
4318
|
}, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
|
|
3736
4319
|
type: z.ZodString;
|
|
3737
4320
|
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
@@ -3841,7 +4424,17 @@ export declare const orderItemPageSchema: z.ZodObject<{
|
|
|
3841
4424
|
customInputs: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
3842
4425
|
label: z.ZodString;
|
|
3843
4426
|
value: z.ZodString;
|
|
4427
|
+
key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
4428
|
+
type: z.ZodOptional<z.ZodString>;
|
|
3844
4429
|
}, z.core.$strip>>>>;
|
|
4430
|
+
stay: z.ZodOptional<z.ZodObject<{
|
|
4431
|
+
checkIn: z.ZodString;
|
|
4432
|
+
checkOut: z.ZodString;
|
|
4433
|
+
nights: z.ZodArray<z.ZodObject<{
|
|
4434
|
+
date: z.ZodString;
|
|
4435
|
+
price: z.ZodNumber;
|
|
4436
|
+
}, z.core.$strip>>;
|
|
4437
|
+
}, z.core.$strip>>;
|
|
3845
4438
|
sellerCode: z.ZodNullable<z.ZodString>;
|
|
3846
4439
|
fulfillmentSnapshot: z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
3847
4440
|
type: z.ZodLiteral<"SHIPPING">;
|
|
@@ -3849,8 +4442,24 @@ export declare const orderItemPageSchema: z.ZodObject<{
|
|
|
3849
4442
|
bundleKey: z.ZodNullable<z.ZodString>;
|
|
3850
4443
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
3851
4444
|
}, z.core.$strip>;
|
|
4445
|
+
method: z.ZodOptional<z.ZodString>;
|
|
4446
|
+
pickupLocation: z.ZodOptional<z.ZodObject<{
|
|
4447
|
+
locationId: z.ZodString;
|
|
4448
|
+
name: z.ZodString;
|
|
4449
|
+
address: z.ZodString;
|
|
4450
|
+
phone: z.ZodNullable<z.ZodString>;
|
|
4451
|
+
hours: z.ZodNullable<z.ZodString>;
|
|
4452
|
+
}, z.core.$strip>>;
|
|
3852
4453
|
}, z.core.$strip>, z.ZodObject<{
|
|
3853
4454
|
type: z.ZodLiteral<"MANUAL">;
|
|
4455
|
+
method: z.ZodOptional<z.ZodString>;
|
|
4456
|
+
pickupLocation: z.ZodOptional<z.ZodObject<{
|
|
4457
|
+
locationId: z.ZodString;
|
|
4458
|
+
name: z.ZodString;
|
|
4459
|
+
address: z.ZodString;
|
|
4460
|
+
phone: z.ZodNullable<z.ZodString>;
|
|
4461
|
+
hours: z.ZodNullable<z.ZodString>;
|
|
4462
|
+
}, z.core.$strip>>;
|
|
3854
4463
|
}, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
|
|
3855
4464
|
type: z.ZodString;
|
|
3856
4465
|
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
@@ -3970,16 +4579,16 @@ export interface OrderItemListParams extends PageParams {
|
|
|
3970
4579
|
testPayment?: "true" | "false";
|
|
3971
4580
|
}
|
|
3972
4581
|
export declare const deliveryMethodSchema: z.ZodEnum<{
|
|
3973
|
-
COURIER: "COURIER";
|
|
3974
4582
|
DIRECT: "DIRECT";
|
|
4583
|
+
COURIER: "COURIER";
|
|
3975
4584
|
QUICK: "QUICK";
|
|
3976
4585
|
NOTHING: "NOTHING";
|
|
3977
4586
|
}>;
|
|
3978
4587
|
export type DeliveryMethod = z.infer<typeof deliveryMethodSchema>;
|
|
3979
4588
|
export declare const dispatchRequestSchema: z.ZodObject<{
|
|
3980
4589
|
deliveryMethod: z.ZodEnum<{
|
|
3981
|
-
COURIER: "COURIER";
|
|
3982
4590
|
DIRECT: "DIRECT";
|
|
4591
|
+
COURIER: "COURIER";
|
|
3983
4592
|
QUICK: "QUICK";
|
|
3984
4593
|
NOTHING: "NOTHING";
|
|
3985
4594
|
}>;
|
|
@@ -3991,8 +4600,8 @@ export type DispatchRequest = z.infer<typeof dispatchRequestSchema>;
|
|
|
3991
4600
|
export declare const deliveryInfoSchema: z.ZodObject<{
|
|
3992
4601
|
orderItemId: z.ZodString;
|
|
3993
4602
|
deliveryMethod: z.ZodEnum<{
|
|
3994
|
-
COURIER: "COURIER";
|
|
3995
4603
|
DIRECT: "DIRECT";
|
|
4604
|
+
COURIER: "COURIER";
|
|
3996
4605
|
QUICK: "QUICK";
|
|
3997
4606
|
NOTHING: "NOTHING";
|
|
3998
4607
|
}>;
|
|
@@ -4018,8 +4627,8 @@ export declare const trackingStageResponseSchema: z.ZodString;
|
|
|
4018
4627
|
export declare const deliveryStatusSchema: z.ZodObject<{
|
|
4019
4628
|
orderItemId: z.ZodString;
|
|
4020
4629
|
deliveryMethod: z.ZodEnum<{
|
|
4021
|
-
COURIER: "COURIER";
|
|
4022
4630
|
DIRECT: "DIRECT";
|
|
4631
|
+
COURIER: "COURIER";
|
|
4023
4632
|
QUICK: "QUICK";
|
|
4024
4633
|
NOTHING: "NOTHING";
|
|
4025
4634
|
}>;
|
|
@@ -5543,6 +6152,7 @@ export declare const productVariantSchema: z.ZodObject<{
|
|
|
5543
6152
|
weightGram: z.ZodNullable<z.ZodNumber>;
|
|
5544
6153
|
sellerCode: z.ZodNullable<z.ZodString>;
|
|
5545
6154
|
usable: z.ZodBoolean;
|
|
6155
|
+
attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
5546
6156
|
hasOrders: z.ZodOptional<z.ZodBoolean>;
|
|
5547
6157
|
}, z.core.$strip>;
|
|
5548
6158
|
export type ProductVariant = z.infer<typeof productVariantSchema>;
|
|
@@ -5595,6 +6205,12 @@ export declare const addonGroupSchema: z.ZodObject<{
|
|
|
5595
6205
|
}, z.core.$strip>>;
|
|
5596
6206
|
}, z.core.$strip>;
|
|
5597
6207
|
export type AddonGroup = z.infer<typeof addonGroupSchema>;
|
|
6208
|
+
/**
|
|
6209
|
+
* 직접 입력 타입(이슈 #115 결정 24) — 값은 늘 문자열로 오가고 서버가 타입대로 검사·정규화한다.
|
|
6210
|
+
* `number`는 정수, `select`는 `options` 중 하나, `date`는 `YYYY-MM-DD`, `datetime`은 오프셋 있는 ISO 8601이다.
|
|
6211
|
+
* `image`는 구매자 업로드(`POST /storefront/v1/uploads/order-inputs`) 주소 목록이고 `maxLength`가 최대 장수(1~5)다
|
|
6212
|
+
*/
|
|
6213
|
+
export declare const CUSTOM_INPUT_TYPES: readonly ["text", "number", "select", "date", "datetime", "image"];
|
|
5598
6214
|
/** 직접 입력 항목 — 예: 각인 문구 */
|
|
5599
6215
|
export declare const customInputSchema: z.ZodObject<{
|
|
5600
6216
|
inputId: z.ZodString;
|
|
@@ -5604,6 +6220,9 @@ export declare const customInputSchema: z.ZodObject<{
|
|
|
5604
6220
|
required: z.ZodBoolean;
|
|
5605
6221
|
usable: z.ZodBoolean;
|
|
5606
6222
|
sortOrder: z.ZodNumber;
|
|
6223
|
+
key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
6224
|
+
type: z.ZodOptional<z.ZodString>;
|
|
6225
|
+
options: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
5607
6226
|
}, z.core.$strip>;
|
|
5608
6227
|
export type CustomInput = z.infer<typeof customInputSchema>;
|
|
5609
6228
|
/**
|
|
@@ -5642,6 +6261,16 @@ export declare const customInputRequestSchema: z.ZodObject<{
|
|
|
5642
6261
|
maxLength: z.ZodNumber;
|
|
5643
6262
|
required: z.ZodDefault<z.ZodBoolean>;
|
|
5644
6263
|
usable: z.ZodDefault<z.ZodBoolean>;
|
|
6264
|
+
key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
6265
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
6266
|
+
number: "number";
|
|
6267
|
+
date: "date";
|
|
6268
|
+
text: "text";
|
|
6269
|
+
select: "select";
|
|
6270
|
+
datetime: "datetime";
|
|
6271
|
+
image: "image";
|
|
6272
|
+
}>>;
|
|
6273
|
+
options: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
5645
6274
|
}, z.core.$strip>;
|
|
5646
6275
|
export type CustomInputRequest = z.infer<typeof customInputRequestSchema>;
|
|
5647
6276
|
/**
|
|
@@ -5659,6 +6288,8 @@ export type OptionSelection = z.infer<typeof optionSelectionSchema>;
|
|
|
5659
6288
|
export declare const customInputValueSchema: z.ZodObject<{
|
|
5660
6289
|
label: z.ZodString;
|
|
5661
6290
|
value: z.ZodString;
|
|
6291
|
+
key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
6292
|
+
type: z.ZodOptional<z.ZodString>;
|
|
5662
6293
|
}, z.core.$strip>;
|
|
5663
6294
|
export type CustomInputValue = z.infer<typeof customInputValueSchema>;
|
|
5664
6295
|
export declare const discountSchema: z.ZodObject<{
|
|
@@ -5723,6 +6354,7 @@ export declare const productSchema: z.ZodObject<{
|
|
|
5723
6354
|
weightGram: z.ZodNullable<z.ZodNumber>;
|
|
5724
6355
|
sellerCode: z.ZodNullable<z.ZodString>;
|
|
5725
6356
|
usable: z.ZodBoolean;
|
|
6357
|
+
attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
5726
6358
|
hasOrders: z.ZodOptional<z.ZodBoolean>;
|
|
5727
6359
|
}, z.core.$strip>>;
|
|
5728
6360
|
addonGroups: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
@@ -5746,6 +6378,9 @@ export declare const productSchema: z.ZodObject<{
|
|
|
5746
6378
|
required: z.ZodBoolean;
|
|
5747
6379
|
usable: z.ZodBoolean;
|
|
5748
6380
|
sortOrder: z.ZodNumber;
|
|
6381
|
+
key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
6382
|
+
type: z.ZodOptional<z.ZodString>;
|
|
6383
|
+
options: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
5749
6384
|
}, z.core.$strip>>>>;
|
|
5750
6385
|
optionSort: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
5751
6386
|
REGISTERED: "REGISTERED";
|
|
@@ -5766,14 +6401,17 @@ export declare const productSchema: z.ZodObject<{
|
|
|
5766
6401
|
shippingAddressId: z.ZodNullable<z.ZodString>;
|
|
5767
6402
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
5768
6403
|
}, z.core.$strip>;
|
|
6404
|
+
methods: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
5769
6405
|
}, z.core.$strip>, z.ZodObject<{
|
|
5770
6406
|
type: z.ZodLiteral<"MANUAL">;
|
|
6407
|
+
methods: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
5771
6408
|
}, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
|
|
5772
6409
|
type: z.ZodString;
|
|
5773
6410
|
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
5774
6411
|
[x: string]: unknown;
|
|
5775
6412
|
type: string;
|
|
5776
6413
|
}>>]>;
|
|
6414
|
+
inventoryMode: z.ZodOptional<z.ZodString>;
|
|
5777
6415
|
fulfillmentTypeLocked: z.ZodBoolean;
|
|
5778
6416
|
refundPolicy: z.ZodNullable<z.ZodObject<{
|
|
5779
6417
|
preShipmentDeliveryFeeRefund: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -5848,6 +6486,7 @@ export declare const productVariantRequestSchema: z.ZodObject<{
|
|
|
5848
6486
|
weightGram: z.ZodOptional<z.ZodNumber>;
|
|
5849
6487
|
sellerCode: z.ZodOptional<z.ZodString>;
|
|
5850
6488
|
usable: z.ZodDefault<z.ZodBoolean>;
|
|
6489
|
+
attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
5851
6490
|
}, z.core.$strip>;
|
|
5852
6491
|
export type ProductVariantRequest = z.infer<typeof productVariantRequestSchema>;
|
|
5853
6492
|
/** 축 × 값 → variant 전체 교체 요청 (PUT /products/{productId}/options) */
|
|
@@ -5871,6 +6510,7 @@ export declare const optionModelRequestSchema: z.ZodObject<{
|
|
|
5871
6510
|
weightGram: z.ZodOptional<z.ZodNumber>;
|
|
5872
6511
|
sellerCode: z.ZodOptional<z.ZodString>;
|
|
5873
6512
|
usable: z.ZodDefault<z.ZodBoolean>;
|
|
6513
|
+
attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
5874
6514
|
}, z.core.$strip>>;
|
|
5875
6515
|
addonGroups: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
5876
6516
|
groupId: z.ZodOptional<z.ZodString>;
|
|
@@ -5890,6 +6530,16 @@ export declare const optionModelRequestSchema: z.ZodObject<{
|
|
|
5890
6530
|
maxLength: z.ZodNumber;
|
|
5891
6531
|
required: z.ZodDefault<z.ZodBoolean>;
|
|
5892
6532
|
usable: z.ZodDefault<z.ZodBoolean>;
|
|
6533
|
+
key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
6534
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
6535
|
+
number: "number";
|
|
6536
|
+
date: "date";
|
|
6537
|
+
text: "text";
|
|
6538
|
+
select: "select";
|
|
6539
|
+
datetime: "datetime";
|
|
6540
|
+
image: "image";
|
|
6541
|
+
}>>;
|
|
6542
|
+
options: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
5893
6543
|
}, z.core.$strip>>>;
|
|
5894
6544
|
optionSort: z.ZodOptional<z.ZodEnum<{
|
|
5895
6545
|
REGISTERED: "REGISTERED";
|
|
@@ -5924,6 +6574,7 @@ export declare const optionModelSchema: z.ZodObject<{
|
|
|
5924
6574
|
weightGram: z.ZodNullable<z.ZodNumber>;
|
|
5925
6575
|
sellerCode: z.ZodNullable<z.ZodString>;
|
|
5926
6576
|
usable: z.ZodBoolean;
|
|
6577
|
+
attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
5927
6578
|
hasOrders: z.ZodOptional<z.ZodBoolean>;
|
|
5928
6579
|
}, z.core.$strip>>;
|
|
5929
6580
|
addonGroups: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
@@ -5947,6 +6598,9 @@ export declare const optionModelSchema: z.ZodObject<{
|
|
|
5947
6598
|
required: z.ZodBoolean;
|
|
5948
6599
|
usable: z.ZodBoolean;
|
|
5949
6600
|
sortOrder: z.ZodNumber;
|
|
6601
|
+
key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
6602
|
+
type: z.ZodOptional<z.ZodString>;
|
|
6603
|
+
options: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
5950
6604
|
}, z.core.$strip>>>>;
|
|
5951
6605
|
optionSort: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
5952
6606
|
REGISTERED: "REGISTERED";
|
|
@@ -5990,10 +6644,26 @@ export declare const productCreateRequestSchema: z.ZodObject<{
|
|
|
5990
6644
|
shippingAddressId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
5991
6645
|
returnAddressId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
5992
6646
|
}, z.core.$strict>>;
|
|
6647
|
+
methods: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
6648
|
+
CARRIER: "CARRIER";
|
|
6649
|
+
DIRECT: "DIRECT";
|
|
6650
|
+
PICKUP: "PICKUP";
|
|
6651
|
+
PROVIDED: "PROVIDED";
|
|
6652
|
+
}>>>;
|
|
5993
6653
|
}, z.core.$strict>, z.ZodObject<{
|
|
5994
6654
|
type: z.ZodLiteral<"MANUAL">;
|
|
6655
|
+
methods: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
6656
|
+
CARRIER: "CARRIER";
|
|
6657
|
+
DIRECT: "DIRECT";
|
|
6658
|
+
PICKUP: "PICKUP";
|
|
6659
|
+
PROVIDED: "PROVIDED";
|
|
6660
|
+
}>>>;
|
|
5995
6661
|
}, z.core.$strict>], "type">>;
|
|
5996
6662
|
sourceOptionSetIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
6663
|
+
inventoryMode: z.ZodOptional<z.ZodEnum<{
|
|
6664
|
+
STANDARD: "STANDARD";
|
|
6665
|
+
DATED: "DATED";
|
|
6666
|
+
}>>;
|
|
5997
6667
|
optionGroups: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
5998
6668
|
groupId: z.ZodOptional<z.ZodString>;
|
|
5999
6669
|
name: z.ZodString;
|
|
@@ -6013,6 +6683,7 @@ export declare const productCreateRequestSchema: z.ZodObject<{
|
|
|
6013
6683
|
weightGram: z.ZodOptional<z.ZodNumber>;
|
|
6014
6684
|
sellerCode: z.ZodOptional<z.ZodString>;
|
|
6015
6685
|
usable: z.ZodDefault<z.ZodBoolean>;
|
|
6686
|
+
attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
6016
6687
|
}, z.core.$strip>>;
|
|
6017
6688
|
addonGroups: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
6018
6689
|
groupId: z.ZodOptional<z.ZodString>;
|
|
@@ -6032,6 +6703,16 @@ export declare const productCreateRequestSchema: z.ZodObject<{
|
|
|
6032
6703
|
maxLength: z.ZodNumber;
|
|
6033
6704
|
required: z.ZodDefault<z.ZodBoolean>;
|
|
6034
6705
|
usable: z.ZodDefault<z.ZodBoolean>;
|
|
6706
|
+
key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
6707
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
6708
|
+
number: "number";
|
|
6709
|
+
date: "date";
|
|
6710
|
+
text: "text";
|
|
6711
|
+
select: "select";
|
|
6712
|
+
datetime: "datetime";
|
|
6713
|
+
image: "image";
|
|
6714
|
+
}>>;
|
|
6715
|
+
options: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
6035
6716
|
}, z.core.$strip>>>;
|
|
6036
6717
|
optionSort: z.ZodOptional<z.ZodEnum<{
|
|
6037
6718
|
REGISTERED: "REGISTERED";
|
|
@@ -6076,10 +6757,26 @@ export declare const productReplaceRequestSchema: z.ZodObject<{
|
|
|
6076
6757
|
shippingAddressId: z.ZodNullable<z.ZodString>;
|
|
6077
6758
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
6078
6759
|
}, z.core.$strict>;
|
|
6760
|
+
methods: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
6761
|
+
CARRIER: "CARRIER";
|
|
6762
|
+
DIRECT: "DIRECT";
|
|
6763
|
+
PICKUP: "PICKUP";
|
|
6764
|
+
PROVIDED: "PROVIDED";
|
|
6765
|
+
}>>>;
|
|
6079
6766
|
}, z.core.$strict>, z.ZodObject<{
|
|
6080
6767
|
type: z.ZodLiteral<"MANUAL">;
|
|
6768
|
+
methods: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
6769
|
+
CARRIER: "CARRIER";
|
|
6770
|
+
DIRECT: "DIRECT";
|
|
6771
|
+
PICKUP: "PICKUP";
|
|
6772
|
+
PROVIDED: "PROVIDED";
|
|
6773
|
+
}>>>;
|
|
6081
6774
|
}, z.core.$strict>], "type">>;
|
|
6082
6775
|
sourceOptionSetIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
6776
|
+
inventoryMode: z.ZodOptional<z.ZodEnum<{
|
|
6777
|
+
STANDARD: "STANDARD";
|
|
6778
|
+
DATED: "DATED";
|
|
6779
|
+
}>>;
|
|
6083
6780
|
optionGroups: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
6084
6781
|
groupId: z.ZodOptional<z.ZodString>;
|
|
6085
6782
|
name: z.ZodString;
|
|
@@ -6099,6 +6796,7 @@ export declare const productReplaceRequestSchema: z.ZodObject<{
|
|
|
6099
6796
|
weightGram: z.ZodOptional<z.ZodNumber>;
|
|
6100
6797
|
sellerCode: z.ZodOptional<z.ZodString>;
|
|
6101
6798
|
usable: z.ZodDefault<z.ZodBoolean>;
|
|
6799
|
+
attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
6102
6800
|
}, z.core.$strip>>;
|
|
6103
6801
|
addonGroups: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
6104
6802
|
groupId: z.ZodOptional<z.ZodString>;
|
|
@@ -6118,6 +6816,16 @@ export declare const productReplaceRequestSchema: z.ZodObject<{
|
|
|
6118
6816
|
maxLength: z.ZodNumber;
|
|
6119
6817
|
required: z.ZodDefault<z.ZodBoolean>;
|
|
6120
6818
|
usable: z.ZodDefault<z.ZodBoolean>;
|
|
6819
|
+
key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
6820
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
6821
|
+
number: "number";
|
|
6822
|
+
date: "date";
|
|
6823
|
+
text: "text";
|
|
6824
|
+
select: "select";
|
|
6825
|
+
datetime: "datetime";
|
|
6826
|
+
image: "image";
|
|
6827
|
+
}>>;
|
|
6828
|
+
options: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
6121
6829
|
}, z.core.$strip>>>;
|
|
6122
6830
|
optionSort: z.ZodOptional<z.ZodEnum<{
|
|
6123
6831
|
REGISTERED: "REGISTERED";
|
|
@@ -6170,8 +6878,20 @@ export declare const productPatchRequestSchema: z.ZodObject<{
|
|
|
6170
6878
|
shippingAddressId: z.ZodNullable<z.ZodString>;
|
|
6171
6879
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
6172
6880
|
}, z.core.$strict>;
|
|
6881
|
+
methods: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
6882
|
+
CARRIER: "CARRIER";
|
|
6883
|
+
DIRECT: "DIRECT";
|
|
6884
|
+
PICKUP: "PICKUP";
|
|
6885
|
+
PROVIDED: "PROVIDED";
|
|
6886
|
+
}>>>;
|
|
6173
6887
|
}, z.core.$strict>, z.ZodObject<{
|
|
6174
6888
|
type: z.ZodLiteral<"MANUAL">;
|
|
6889
|
+
methods: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
6890
|
+
CARRIER: "CARRIER";
|
|
6891
|
+
DIRECT: "DIRECT";
|
|
6892
|
+
PICKUP: "PICKUP";
|
|
6893
|
+
PROVIDED: "PROVIDED";
|
|
6894
|
+
}>>>;
|
|
6175
6895
|
}, z.core.$strict>], "type">>;
|
|
6176
6896
|
refundPolicy: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
6177
6897
|
preShipmentDeliveryFeeRefund: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -6269,6 +6989,9 @@ export declare const savedCustomInputSchema: z.ZodObject<{
|
|
|
6269
6989
|
placeholder: z.ZodNullable<z.ZodString>;
|
|
6270
6990
|
maxLength: z.ZodNumber;
|
|
6271
6991
|
required: z.ZodBoolean;
|
|
6992
|
+
key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
6993
|
+
type: z.ZodOptional<z.ZodString>;
|
|
6994
|
+
options: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
6272
6995
|
}, z.core.$strip>;
|
|
6273
6996
|
export type SavedCustomInput = z.infer<typeof savedCustomInputSchema>;
|
|
6274
6997
|
export declare const savedOptionSetSchema: z.ZodObject<{
|
|
@@ -6294,6 +7017,9 @@ export declare const savedOptionSetSchema: z.ZodObject<{
|
|
|
6294
7017
|
placeholder: z.ZodNullable<z.ZodString>;
|
|
6295
7018
|
maxLength: z.ZodNumber;
|
|
6296
7019
|
required: z.ZodBoolean;
|
|
7020
|
+
key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
7021
|
+
type: z.ZodOptional<z.ZodString>;
|
|
7022
|
+
options: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
6297
7023
|
}, z.core.$strip>>;
|
|
6298
7024
|
importedProductCount: z.ZodNumber;
|
|
6299
7025
|
createdAt: z.ZodString;
|
|
@@ -6322,6 +7048,16 @@ export declare const savedCustomInputRequestSchema: z.ZodObject<{
|
|
|
6322
7048
|
placeholder: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
6323
7049
|
maxLength: z.ZodNumber;
|
|
6324
7050
|
required: z.ZodDefault<z.ZodBoolean>;
|
|
7051
|
+
key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
7052
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
7053
|
+
number: "number";
|
|
7054
|
+
date: "date";
|
|
7055
|
+
text: "text";
|
|
7056
|
+
select: "select";
|
|
7057
|
+
datetime: "datetime";
|
|
7058
|
+
image: "image";
|
|
7059
|
+
}>>;
|
|
7060
|
+
options: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
6325
7061
|
}, z.core.$strip>;
|
|
6326
7062
|
/**
|
|
6327
7063
|
* 저장 옵션 만들기·수정 본문. 조합 옵션명은 최대 `MAX_OPTION_GROUPS`개, 추가 선택은 최대 `MAX_ADDON_GROUPS`개이고
|
|
@@ -6352,6 +7088,16 @@ export declare const savedOptionSetRequestSchema: z.ZodObject<{
|
|
|
6352
7088
|
placeholder: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
6353
7089
|
maxLength: z.ZodNumber;
|
|
6354
7090
|
required: z.ZodDefault<z.ZodBoolean>;
|
|
7091
|
+
key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
7092
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
7093
|
+
number: "number";
|
|
7094
|
+
date: "date";
|
|
7095
|
+
text: "text";
|
|
7096
|
+
select: "select";
|
|
7097
|
+
datetime: "datetime";
|
|
7098
|
+
image: "image";
|
|
7099
|
+
}>>;
|
|
7100
|
+
options: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
6355
7101
|
}, z.core.$strip>>>;
|
|
6356
7102
|
}, z.core.$strip>;
|
|
6357
7103
|
export type SavedOptionSetRequest = z.infer<typeof savedOptionSetRequestSchema>;
|
|
@@ -6395,6 +7141,9 @@ export declare const savedOptionSetFromProductResultSchema: z.ZodObject<{
|
|
|
6395
7141
|
placeholder: z.ZodNullable<z.ZodString>;
|
|
6396
7142
|
maxLength: z.ZodNumber;
|
|
6397
7143
|
required: z.ZodBoolean;
|
|
7144
|
+
key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
7145
|
+
type: z.ZodOptional<z.ZodString>;
|
|
7146
|
+
options: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
6398
7147
|
}, z.core.$strip>>;
|
|
6399
7148
|
importedProductCount: z.ZodNumber;
|
|
6400
7149
|
createdAt: z.ZodString;
|
|
@@ -6437,6 +7186,67 @@ export declare const savedOptionSetListQuerySchema: z.ZodObject<{
|
|
|
6437
7186
|
}>>;
|
|
6438
7187
|
}, z.core.$strip>;
|
|
6439
7188
|
//#endregion
|
|
7189
|
+
//#region src/schemas/stay.d.ts
|
|
7190
|
+
/**
|
|
7191
|
+
* 날짜별 재고·가격(이슈 #118) — 숙박·회차처럼 날짜마다 재고와 가격이 다른 상품. 상품 `inventoryMode: "DATED"`이면 조합(객실) × 날짜
|
|
7192
|
+
* 달력이 재고·가격의 원천이고, 주문서 줄은 기간(`stay`)을 받는다. 날짜는 한국 날짜 `YYYY-MM-DD`다.
|
|
7193
|
+
*/
|
|
7194
|
+
/** 한국 날짜 */
|
|
7195
|
+
export declare const calendarDateSchema: z.ZodString;
|
|
7196
|
+
/** 한 번에 받는 최대 박수 */
|
|
7197
|
+
export declare const MAX_STAY_NIGHTS = 30;
|
|
7198
|
+
/** 달력 한 번 조회·설정 최대 일수 */
|
|
7199
|
+
export declare const MAX_CALENDAR_DAYS = 400;
|
|
7200
|
+
export declare const inventoryModeSchema: z.ZodEnum<{
|
|
7201
|
+
STANDARD: "STANDARD";
|
|
7202
|
+
DATED: "DATED";
|
|
7203
|
+
}>;
|
|
7204
|
+
export type InventoryMode = z.infer<typeof inventoryModeSchema>;
|
|
7205
|
+
/** 숙박 기간 — 체크인 날부터 체크아웃 전날까지가 박이다 */
|
|
7206
|
+
export declare const stayRangeSchema: z.ZodObject<{
|
|
7207
|
+
checkIn: z.ZodString;
|
|
7208
|
+
checkOut: z.ZodString;
|
|
7209
|
+
}, z.core.$strip>;
|
|
7210
|
+
export type StayRange = z.infer<typeof stayRangeSchema>;
|
|
7211
|
+
/** 주문 시점 숙박 — 박마다 그때 가격 */
|
|
7212
|
+
export declare const staySnapshotSchema: z.ZodObject<{
|
|
7213
|
+
checkIn: z.ZodString;
|
|
7214
|
+
checkOut: z.ZodString;
|
|
7215
|
+
nights: z.ZodArray<z.ZodObject<{
|
|
7216
|
+
date: z.ZodString;
|
|
7217
|
+
price: z.ZodNumber;
|
|
7218
|
+
}, z.core.$strip>>;
|
|
7219
|
+
}, z.core.$strip>;
|
|
7220
|
+
export type StaySnapshot = z.infer<typeof staySnapshotSchema>;
|
|
7221
|
+
/** 체크인~체크아웃 전날 날짜 목록. 형식이 틀리거나 체크아웃이 체크인 이하면 빈 목록 */
|
|
7222
|
+
export declare function nightsOf(range: StayRange): string[];
|
|
7223
|
+
/** 관리 달력 한 칸 */
|
|
7224
|
+
export declare const calendarDaySchema: z.ZodObject<{
|
|
7225
|
+
variantId: z.ZodString;
|
|
7226
|
+
date: z.ZodString;
|
|
7227
|
+
stock: z.ZodNumber;
|
|
7228
|
+
price: z.ZodNullable<z.ZodNumber>;
|
|
7229
|
+
}, z.core.$strip>;
|
|
7230
|
+
export type CalendarDay = z.infer<typeof calendarDaySchema>;
|
|
7231
|
+
export declare const calendarQuerySchema: z.ZodObject<{
|
|
7232
|
+
variantId: z.ZodOptional<z.ZodString>;
|
|
7233
|
+
from: z.ZodString;
|
|
7234
|
+
to: z.ZodString;
|
|
7235
|
+
}, z.core.$strip>;
|
|
7236
|
+
/**
|
|
7237
|
+
* 달력 설정 — 기간의 날짜마다 재고·가격을 덮어쓴다(없는 날은 만든다). `stock`·`price`는 준 것만 바꾸고, `price: null`은 조합 가격으로
|
|
7238
|
+
* 되돌린다. `daysOfWeek`(0=일~6=토)를 주면 그 요일만 바꾼다
|
|
7239
|
+
*/
|
|
7240
|
+
export declare const setCalendarRequestSchema: z.ZodObject<{
|
|
7241
|
+
variantIds: z.ZodArray<z.ZodString>;
|
|
7242
|
+
from: z.ZodString;
|
|
7243
|
+
to: z.ZodString;
|
|
7244
|
+
stock: z.ZodOptional<z.ZodNumber>;
|
|
7245
|
+
price: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
7246
|
+
daysOfWeek: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
7247
|
+
}, z.core.$strip>;
|
|
7248
|
+
export type SetCalendarRequest = z.input<typeof setCalendarRequestSchema>;
|
|
7249
|
+
//#endregion
|
|
6440
7250
|
//#region src/schemas/store.d.ts
|
|
6441
7251
|
/**
|
|
6442
7252
|
* 상점 코드 규칙 — 스토어프론트 API가 테넌트를 가르는 값이다(`X-Store-Code` 헤더).
|
|
@@ -8080,10 +8890,12 @@ export type StorefrontSourceReplaced = z.infer<typeof storefrontSourceReplacedSc
|
|
|
8080
8890
|
*
|
|
8081
8891
|
* - `product-image`: 상품 목록·상세의 상품 이미지. 목록 썸네일로 쓰이므로 정지 이미지만 받는다.
|
|
8082
8892
|
* - `description`: 상세설명 본문에 삽입하는 미디어. 동영상과 svg도 받는다.
|
|
8893
|
+
* - `flow-attachment`: 주문 흐름 행동의 첨부(시안 등, 이슈 #115). 구매자에게 보이므로 정지 이미지와 PDF만 받는다.
|
|
8083
8894
|
*/
|
|
8084
8895
|
export declare const uploadPurposeSchema: z.ZodEnum<{
|
|
8085
8896
|
"product-image": "product-image";
|
|
8086
8897
|
description: "description";
|
|
8898
|
+
"flow-attachment": "flow-attachment";
|
|
8087
8899
|
}>;
|
|
8088
8900
|
export type UploadPurpose = z.infer<typeof uploadPurposeSchema>;
|
|
8089
8901
|
export interface UploadPurposeLimit {
|
|
@@ -8123,6 +8935,7 @@ export declare const uploadRequestSchema: z.ZodObject<{
|
|
|
8123
8935
|
purpose: z.ZodDefault<z.ZodEnum<{
|
|
8124
8936
|
"product-image": "product-image";
|
|
8125
8937
|
description: "description";
|
|
8938
|
+
"flow-attachment": "flow-attachment";
|
|
8126
8939
|
}>>;
|
|
8127
8940
|
size: z.ZodOptional<z.ZodNumber>;
|
|
8128
8941
|
}, z.core.$strip>;
|
|
@@ -8397,6 +9210,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8397
9210
|
weightGram: number | null;
|
|
8398
9211
|
sellerCode: string | null;
|
|
8399
9212
|
usable: boolean;
|
|
9213
|
+
attributes?: Record<string, string> | undefined;
|
|
8400
9214
|
hasOrders?: boolean | undefined;
|
|
8401
9215
|
}[];
|
|
8402
9216
|
addonGroups: {
|
|
@@ -8420,6 +9234,9 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8420
9234
|
required: boolean;
|
|
8421
9235
|
usable: boolean;
|
|
8422
9236
|
sortOrder: number;
|
|
9237
|
+
key?: string | null | undefined;
|
|
9238
|
+
type?: string | undefined;
|
|
9239
|
+
options?: string[] | null | undefined;
|
|
8423
9240
|
}[];
|
|
8424
9241
|
optionSort: "REGISTERED" | "NAME" | "PRICE_ASC" | "PRICE_DESC";
|
|
8425
9242
|
fulfillment: UnknownFulfillment | {
|
|
@@ -8431,8 +9248,10 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8431
9248
|
shippingAddressId: string | null;
|
|
8432
9249
|
returnAddressId: string | null;
|
|
8433
9250
|
};
|
|
9251
|
+
methods?: string[] | undefined;
|
|
8434
9252
|
} | {
|
|
8435
9253
|
type: "MANUAL";
|
|
9254
|
+
methods?: string[] | undefined;
|
|
8436
9255
|
};
|
|
8437
9256
|
fulfillmentTypeLocked: boolean;
|
|
8438
9257
|
refundPolicy: {
|
|
@@ -8452,6 +9271,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8452
9271
|
attributeId: string;
|
|
8453
9272
|
value: string;
|
|
8454
9273
|
}[] | undefined;
|
|
9274
|
+
inventoryMode?: string | undefined;
|
|
8455
9275
|
discount?: {
|
|
8456
9276
|
productId: string;
|
|
8457
9277
|
discountType: "RATE" | "AMOUNT";
|
|
@@ -8497,6 +9317,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8497
9317
|
weightGram: number | null;
|
|
8498
9318
|
sellerCode: string | null;
|
|
8499
9319
|
usable: boolean;
|
|
9320
|
+
attributes?: Record<string, string> | undefined;
|
|
8500
9321
|
hasOrders?: boolean | undefined;
|
|
8501
9322
|
}[];
|
|
8502
9323
|
addonGroups: {
|
|
@@ -8520,6 +9341,9 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8520
9341
|
required: boolean;
|
|
8521
9342
|
usable: boolean;
|
|
8522
9343
|
sortOrder: number;
|
|
9344
|
+
key?: string | null | undefined;
|
|
9345
|
+
type?: string | undefined;
|
|
9346
|
+
options?: string[] | null | undefined;
|
|
8523
9347
|
}[];
|
|
8524
9348
|
optionSort: "REGISTERED" | "NAME" | "PRICE_ASC" | "PRICE_DESC";
|
|
8525
9349
|
fulfillment: UnknownFulfillment | {
|
|
@@ -8531,8 +9355,10 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8531
9355
|
shippingAddressId: string | null;
|
|
8532
9356
|
returnAddressId: string | null;
|
|
8533
9357
|
};
|
|
9358
|
+
methods?: string[] | undefined;
|
|
8534
9359
|
} | {
|
|
8535
9360
|
type: "MANUAL";
|
|
9361
|
+
methods?: string[] | undefined;
|
|
8536
9362
|
};
|
|
8537
9363
|
fulfillmentTypeLocked: boolean;
|
|
8538
9364
|
refundPolicy: {
|
|
@@ -8552,6 +9378,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8552
9378
|
attributeId: string;
|
|
8553
9379
|
value: string;
|
|
8554
9380
|
}[] | undefined;
|
|
9381
|
+
inventoryMode?: string | undefined;
|
|
8555
9382
|
discount?: {
|
|
8556
9383
|
productId: string;
|
|
8557
9384
|
discountType: "RATE" | "AMOUNT";
|
|
@@ -8597,6 +9424,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8597
9424
|
weightGram: number | null;
|
|
8598
9425
|
sellerCode: string | null;
|
|
8599
9426
|
usable: boolean;
|
|
9427
|
+
attributes?: Record<string, string> | undefined;
|
|
8600
9428
|
hasOrders?: boolean | undefined;
|
|
8601
9429
|
}[];
|
|
8602
9430
|
addonGroups: {
|
|
@@ -8620,6 +9448,9 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8620
9448
|
required: boolean;
|
|
8621
9449
|
usable: boolean;
|
|
8622
9450
|
sortOrder: number;
|
|
9451
|
+
key?: string | null | undefined;
|
|
9452
|
+
type?: string | undefined;
|
|
9453
|
+
options?: string[] | null | undefined;
|
|
8623
9454
|
}[];
|
|
8624
9455
|
optionSort: "REGISTERED" | "NAME" | "PRICE_ASC" | "PRICE_DESC";
|
|
8625
9456
|
fulfillment: UnknownFulfillment | {
|
|
@@ -8631,8 +9462,10 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8631
9462
|
shippingAddressId: string | null;
|
|
8632
9463
|
returnAddressId: string | null;
|
|
8633
9464
|
};
|
|
9465
|
+
methods?: string[] | undefined;
|
|
8634
9466
|
} | {
|
|
8635
9467
|
type: "MANUAL";
|
|
9468
|
+
methods?: string[] | undefined;
|
|
8636
9469
|
};
|
|
8637
9470
|
fulfillmentTypeLocked: boolean;
|
|
8638
9471
|
refundPolicy: {
|
|
@@ -8652,6 +9485,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8652
9485
|
attributeId: string;
|
|
8653
9486
|
value: string;
|
|
8654
9487
|
}[] | undefined;
|
|
9488
|
+
inventoryMode?: string | undefined;
|
|
8655
9489
|
discount?: {
|
|
8656
9490
|
productId: string;
|
|
8657
9491
|
discountType: "RATE" | "AMOUNT";
|
|
@@ -8699,6 +9533,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8699
9533
|
weightGram: number | null;
|
|
8700
9534
|
sellerCode: string | null;
|
|
8701
9535
|
usable: boolean;
|
|
9536
|
+
attributes?: Record<string, string> | undefined;
|
|
8702
9537
|
hasOrders?: boolean | undefined;
|
|
8703
9538
|
}[];
|
|
8704
9539
|
addonGroups: {
|
|
@@ -8722,6 +9557,9 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8722
9557
|
required: boolean;
|
|
8723
9558
|
usable: boolean;
|
|
8724
9559
|
sortOrder: number;
|
|
9560
|
+
key?: string | null | undefined;
|
|
9561
|
+
type?: string | undefined;
|
|
9562
|
+
options?: string[] | null | undefined;
|
|
8725
9563
|
}[];
|
|
8726
9564
|
optionSort: "REGISTERED" | "NAME" | "PRICE_ASC" | "PRICE_DESC";
|
|
8727
9565
|
}>;
|
|
@@ -8753,6 +9591,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8753
9591
|
weightGram: number | null;
|
|
8754
9592
|
sellerCode: string | null;
|
|
8755
9593
|
usable: boolean;
|
|
9594
|
+
attributes?: Record<string, string> | undefined;
|
|
8756
9595
|
hasOrders?: boolean | undefined;
|
|
8757
9596
|
}[];
|
|
8758
9597
|
addonGroups: {
|
|
@@ -8776,6 +9615,9 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8776
9615
|
required: boolean;
|
|
8777
9616
|
usable: boolean;
|
|
8778
9617
|
sortOrder: number;
|
|
9618
|
+
key?: string | null | undefined;
|
|
9619
|
+
type?: string | undefined;
|
|
9620
|
+
options?: string[] | null | undefined;
|
|
8779
9621
|
}[];
|
|
8780
9622
|
optionSort: "REGISTERED" | "NAME" | "PRICE_ASC" | "PRICE_DESC";
|
|
8781
9623
|
}>;
|
|
@@ -8801,6 +9643,17 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8801
9643
|
endAt: string | null;
|
|
8802
9644
|
}>;
|
|
8803
9645
|
removeDiscount: (productId: string) => Promise<void>;
|
|
9646
|
+
/** 날짜별 재고 상품(`inventoryMode: "DATED"`, 이슈 #118)의 기간(포함) 달력. 없는 날은 싣지 않는다 */
|
|
9647
|
+
getCalendar: (productId: string, query: z.input<typeof calendarQuerySchema>) => Promise<{
|
|
9648
|
+
variantId: string;
|
|
9649
|
+
date: string;
|
|
9650
|
+
stock: number;
|
|
9651
|
+
price: number | null;
|
|
9652
|
+
}[]>;
|
|
9653
|
+
/** 기간의 날짜마다 조합별 재고·가격을 덮어쓴다. `price: null`은 조합 가격으로 되돌린다 */
|
|
9654
|
+
setCalendar: (productId: string, body: SetCalendarRequest) => Promise<{
|
|
9655
|
+
updated: number;
|
|
9656
|
+
}>;
|
|
8804
9657
|
};
|
|
8805
9658
|
/**
|
|
8806
9659
|
* 저장 옵션 (이슈 #59) — 자주 쓰는 옵션 구성. 불러오기는 복사라 저장 옵션을 고쳐도 불러온 상품은 바뀌지 않는다.
|
|
@@ -8830,6 +9683,9 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8830
9683
|
placeholder: string | null;
|
|
8831
9684
|
maxLength: number;
|
|
8832
9685
|
required: boolean;
|
|
9686
|
+
key?: string | null | undefined;
|
|
9687
|
+
type?: string | undefined;
|
|
9688
|
+
options?: string[] | null | undefined;
|
|
8833
9689
|
}[];
|
|
8834
9690
|
importedProductCount: number;
|
|
8835
9691
|
createdAt: string;
|
|
@@ -8854,6 +9710,9 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8854
9710
|
placeholder: string | null;
|
|
8855
9711
|
maxLength: number;
|
|
8856
9712
|
required: boolean;
|
|
9713
|
+
key?: string | null | undefined;
|
|
9714
|
+
type?: string | undefined;
|
|
9715
|
+
options?: string[] | null | undefined;
|
|
8857
9716
|
}[];
|
|
8858
9717
|
importedProductCount: number;
|
|
8859
9718
|
createdAt: string;
|
|
@@ -8878,6 +9737,9 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8878
9737
|
placeholder: string | null;
|
|
8879
9738
|
maxLength: number;
|
|
8880
9739
|
required: boolean;
|
|
9740
|
+
key?: string | null | undefined;
|
|
9741
|
+
type?: string | undefined;
|
|
9742
|
+
options?: string[] | null | undefined;
|
|
8881
9743
|
}[];
|
|
8882
9744
|
importedProductCount: number;
|
|
8883
9745
|
createdAt: string;
|
|
@@ -8902,6 +9764,9 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8902
9764
|
placeholder: string | null;
|
|
8903
9765
|
maxLength: number;
|
|
8904
9766
|
required: boolean;
|
|
9767
|
+
key?: string | null | undefined;
|
|
9768
|
+
type?: string | undefined;
|
|
9769
|
+
options?: string[] | null | undefined;
|
|
8905
9770
|
}[];
|
|
8906
9771
|
importedProductCount: number;
|
|
8907
9772
|
createdAt: string;
|
|
@@ -8928,6 +9793,9 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8928
9793
|
placeholder: string | null;
|
|
8929
9794
|
maxLength: number;
|
|
8930
9795
|
required: boolean;
|
|
9796
|
+
key?: string | null | undefined;
|
|
9797
|
+
type?: string | undefined;
|
|
9798
|
+
options?: string[] | null | undefined;
|
|
8931
9799
|
}[];
|
|
8932
9800
|
importedProductCount: number;
|
|
8933
9801
|
createdAt: string;
|
|
@@ -9497,6 +10365,8 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
9497
10365
|
customInputs: {
|
|
9498
10366
|
label: string;
|
|
9499
10367
|
value: string;
|
|
10368
|
+
key?: string | null | undefined;
|
|
10369
|
+
type?: string | undefined;
|
|
9500
10370
|
}[];
|
|
9501
10371
|
sellerCode: string | null;
|
|
9502
10372
|
fulfillmentSnapshot: UnknownFulfillment | {
|
|
@@ -9505,8 +10375,24 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
9505
10375
|
bundleKey: string | null;
|
|
9506
10376
|
returnAddressId: string | null;
|
|
9507
10377
|
};
|
|
10378
|
+
method?: string | undefined;
|
|
10379
|
+
pickupLocation?: {
|
|
10380
|
+
locationId: string;
|
|
10381
|
+
name: string;
|
|
10382
|
+
address: string;
|
|
10383
|
+
phone: string | null;
|
|
10384
|
+
hours: string | null;
|
|
10385
|
+
} | undefined;
|
|
9508
10386
|
} | {
|
|
9509
10387
|
type: "MANUAL";
|
|
10388
|
+
method?: string | undefined;
|
|
10389
|
+
pickupLocation?: {
|
|
10390
|
+
locationId: string;
|
|
10391
|
+
name: string;
|
|
10392
|
+
address: string;
|
|
10393
|
+
phone: string | null;
|
|
10394
|
+
hours: string | null;
|
|
10395
|
+
} | undefined;
|
|
9510
10396
|
};
|
|
9511
10397
|
quantity: number;
|
|
9512
10398
|
canceledQuantity: number;
|
|
@@ -9532,6 +10418,14 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
9532
10418
|
lastChangedAt: string;
|
|
9533
10419
|
lastChangedType: "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";
|
|
9534
10420
|
testPayment: boolean;
|
|
10421
|
+
stay?: {
|
|
10422
|
+
checkIn: string;
|
|
10423
|
+
checkOut: string;
|
|
10424
|
+
nights: {
|
|
10425
|
+
date: string;
|
|
10426
|
+
price: number;
|
|
10427
|
+
}[];
|
|
10428
|
+
} | undefined;
|
|
9535
10429
|
}[];
|
|
9536
10430
|
}>;
|
|
9537
10431
|
/**
|
|
@@ -9584,6 +10478,8 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
9584
10478
|
customInputs: {
|
|
9585
10479
|
label: string;
|
|
9586
10480
|
value: string;
|
|
10481
|
+
key?: string | null | undefined;
|
|
10482
|
+
type?: string | undefined;
|
|
9587
10483
|
}[];
|
|
9588
10484
|
sellerCode: string | null;
|
|
9589
10485
|
fulfillmentSnapshot: UnknownFulfillment | {
|
|
@@ -9592,8 +10488,24 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
9592
10488
|
bundleKey: string | null;
|
|
9593
10489
|
returnAddressId: string | null;
|
|
9594
10490
|
};
|
|
10491
|
+
method?: string | undefined;
|
|
10492
|
+
pickupLocation?: {
|
|
10493
|
+
locationId: string;
|
|
10494
|
+
name: string;
|
|
10495
|
+
address: string;
|
|
10496
|
+
phone: string | null;
|
|
10497
|
+
hours: string | null;
|
|
10498
|
+
} | undefined;
|
|
9595
10499
|
} | {
|
|
9596
10500
|
type: "MANUAL";
|
|
10501
|
+
method?: string | undefined;
|
|
10502
|
+
pickupLocation?: {
|
|
10503
|
+
locationId: string;
|
|
10504
|
+
name: string;
|
|
10505
|
+
address: string;
|
|
10506
|
+
phone: string | null;
|
|
10507
|
+
hours: string | null;
|
|
10508
|
+
} | undefined;
|
|
9597
10509
|
};
|
|
9598
10510
|
quantity: number;
|
|
9599
10511
|
canceledQuantity: number;
|
|
@@ -9619,6 +10531,14 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
9619
10531
|
lastChangedAt: string;
|
|
9620
10532
|
lastChangedType: "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";
|
|
9621
10533
|
testPayment: boolean;
|
|
10534
|
+
stay?: {
|
|
10535
|
+
checkIn: string;
|
|
10536
|
+
checkOut: string;
|
|
10537
|
+
nights: {
|
|
10538
|
+
date: string;
|
|
10539
|
+
price: number;
|
|
10540
|
+
}[];
|
|
10541
|
+
} | undefined;
|
|
9622
10542
|
}[];
|
|
9623
10543
|
}>;
|
|
9624
10544
|
confirm: (orderItemId: string, idempotencyKey?: string) => Promise<void>;
|
|
@@ -9655,7 +10575,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
9655
10575
|
}>;
|
|
9656
10576
|
dispatch: (orderItemId: string, body: DispatchRequest, idempotencyKey?: string) => Promise<{
|
|
9657
10577
|
orderItemId: string;
|
|
9658
|
-
deliveryMethod: "
|
|
10578
|
+
deliveryMethod: "DIRECT" | "COURIER" | "QUICK" | "NOTHING";
|
|
9659
10579
|
carrierCode: string | null;
|
|
9660
10580
|
carrierName: string | null;
|
|
9661
10581
|
trackingNumber: string | null;
|
|
@@ -9700,6 +10620,8 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
9700
10620
|
customInputs: {
|
|
9701
10621
|
label: string;
|
|
9702
10622
|
value: string;
|
|
10623
|
+
key?: string | null | undefined;
|
|
10624
|
+
type?: string | undefined;
|
|
9703
10625
|
}[];
|
|
9704
10626
|
sellerCode: string | null;
|
|
9705
10627
|
fulfillmentSnapshot: UnknownFulfillment | {
|
|
@@ -9708,8 +10630,24 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
9708
10630
|
bundleKey: string | null;
|
|
9709
10631
|
returnAddressId: string | null;
|
|
9710
10632
|
};
|
|
10633
|
+
method?: string | undefined;
|
|
10634
|
+
pickupLocation?: {
|
|
10635
|
+
locationId: string;
|
|
10636
|
+
name: string;
|
|
10637
|
+
address: string;
|
|
10638
|
+
phone: string | null;
|
|
10639
|
+
hours: string | null;
|
|
10640
|
+
} | undefined;
|
|
9711
10641
|
} | {
|
|
9712
10642
|
type: "MANUAL";
|
|
10643
|
+
method?: string | undefined;
|
|
10644
|
+
pickupLocation?: {
|
|
10645
|
+
locationId: string;
|
|
10646
|
+
name: string;
|
|
10647
|
+
address: string;
|
|
10648
|
+
phone: string | null;
|
|
10649
|
+
hours: string | null;
|
|
10650
|
+
} | undefined;
|
|
9713
10651
|
};
|
|
9714
10652
|
quantity: number;
|
|
9715
10653
|
canceledQuantity: number;
|
|
@@ -9735,6 +10673,14 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
9735
10673
|
lastChangedAt: string;
|
|
9736
10674
|
lastChangedType: "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";
|
|
9737
10675
|
testPayment: boolean;
|
|
10676
|
+
stay?: {
|
|
10677
|
+
checkIn: string;
|
|
10678
|
+
checkOut: string;
|
|
10679
|
+
nights: {
|
|
10680
|
+
date: string;
|
|
10681
|
+
price: number;
|
|
10682
|
+
}[];
|
|
10683
|
+
} | undefined;
|
|
9738
10684
|
}>;
|
|
9739
10685
|
/** 배송완료 일괄 처리 — 항목별 부분 성공이다 */
|
|
9740
10686
|
markDeliveredBulk: (orderItemIds: string[], idempotencyKey?: string) => Promise<{
|
|
@@ -9770,6 +10716,8 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
9770
10716
|
customInputs: {
|
|
9771
10717
|
label: string;
|
|
9772
10718
|
value: string;
|
|
10719
|
+
key?: string | null | undefined;
|
|
10720
|
+
type?: string | undefined;
|
|
9773
10721
|
}[];
|
|
9774
10722
|
sellerCode: string | null;
|
|
9775
10723
|
fulfillmentSnapshot: UnknownFulfillment | {
|
|
@@ -9778,8 +10726,24 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
9778
10726
|
bundleKey: string | null;
|
|
9779
10727
|
returnAddressId: string | null;
|
|
9780
10728
|
};
|
|
10729
|
+
method?: string | undefined;
|
|
10730
|
+
pickupLocation?: {
|
|
10731
|
+
locationId: string;
|
|
10732
|
+
name: string;
|
|
10733
|
+
address: string;
|
|
10734
|
+
phone: string | null;
|
|
10735
|
+
hours: string | null;
|
|
10736
|
+
} | undefined;
|
|
9781
10737
|
} | {
|
|
9782
10738
|
type: "MANUAL";
|
|
10739
|
+
method?: string | undefined;
|
|
10740
|
+
pickupLocation?: {
|
|
10741
|
+
locationId: string;
|
|
10742
|
+
name: string;
|
|
10743
|
+
address: string;
|
|
10744
|
+
phone: string | null;
|
|
10745
|
+
hours: string | null;
|
|
10746
|
+
} | undefined;
|
|
9783
10747
|
};
|
|
9784
10748
|
quantity: number;
|
|
9785
10749
|
canceledQuantity: number;
|
|
@@ -9805,6 +10769,14 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
9805
10769
|
lastChangedAt: string;
|
|
9806
10770
|
lastChangedType: "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";
|
|
9807
10771
|
testPayment: boolean;
|
|
10772
|
+
stay?: {
|
|
10773
|
+
checkIn: string;
|
|
10774
|
+
checkOut: string;
|
|
10775
|
+
nights: {
|
|
10776
|
+
date: string;
|
|
10777
|
+
price: number;
|
|
10778
|
+
}[];
|
|
10779
|
+
} | undefined;
|
|
9808
10780
|
}>;
|
|
9809
10781
|
/** 제공 처리 일괄 — 항목별 부분 성공이다 */
|
|
9810
10782
|
fulfillBulk: (orderItemIds: string[], body?: FulfillRequest, idempotencyKey?: string) => Promise<{
|
|
@@ -9819,7 +10791,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
9819
10791
|
}>;
|
|
9820
10792
|
getDelivery: (orderItemId: string) => Promise<{
|
|
9821
10793
|
orderItemId: string;
|
|
9822
|
-
deliveryMethod: "
|
|
10794
|
+
deliveryMethod: "DIRECT" | "COURIER" | "QUICK" | "NOTHING";
|
|
9823
10795
|
carrierCode: string | null;
|
|
9824
10796
|
carrierName: string | null;
|
|
9825
10797
|
trackingNumber: string | null;
|
|
@@ -9840,6 +10812,370 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
9840
10812
|
stage: string | null;
|
|
9841
10813
|
}[] | undefined;
|
|
9842
10814
|
}>;
|
|
10815
|
+
/** `GET /order-items/{id}/flow` — 커머스 플로우의 지금 상태·할 수 있는 행동·타이머(#115). 스코프 `order:r` */
|
|
10816
|
+
getFlow: (orderItemId: string) => Promise<{
|
|
10817
|
+
orderItemId: string;
|
|
10818
|
+
flow: {
|
|
10819
|
+
flowId: string;
|
|
10820
|
+
version: number;
|
|
10821
|
+
};
|
|
10822
|
+
flowState: {
|
|
10823
|
+
key: string;
|
|
10824
|
+
label: string;
|
|
10825
|
+
enteredAt: string;
|
|
10826
|
+
fields: Record<string, string | number | boolean | string[] | null>;
|
|
10827
|
+
coreStatus?: "PAID" | "CANCELED" | "PAYMENT_WAITING" | "CONFIRMED" | "DISPATCHED" | "DELIVERING" | "DELIVERED" | "PURCHASE_DECIDED" | undefined;
|
|
10828
|
+
claimStatus?: "REJECTED" | "REQUESTED" | "HELD" | "COLLECTING" | "COLLECTED" | "REDELIVERING" | "APPROVED" | "COMPLETED" | "WITHDRAWN" | undefined;
|
|
10829
|
+
message?: string | undefined;
|
|
10830
|
+
deadlineAt?: string | undefined;
|
|
10831
|
+
attachments?: string[] | undefined;
|
|
10832
|
+
progress?: boolean | undefined;
|
|
10833
|
+
};
|
|
10834
|
+
actions: {
|
|
10835
|
+
key: string;
|
|
10836
|
+
label: string;
|
|
10837
|
+
mode: "REQUEST" | "INSTANT" | "VIEW";
|
|
10838
|
+
enabled: boolean;
|
|
10839
|
+
disabled?: {
|
|
10840
|
+
reason: string;
|
|
10841
|
+
message?: string | undefined;
|
|
10842
|
+
} | undefined;
|
|
10843
|
+
availableUntil?: string | undefined;
|
|
10844
|
+
subflow?: string | undefined;
|
|
10845
|
+
input?: {
|
|
10846
|
+
key: string;
|
|
10847
|
+
type: string;
|
|
10848
|
+
required: boolean;
|
|
10849
|
+
label: string;
|
|
10850
|
+
maxLength?: number | undefined;
|
|
10851
|
+
maxFiles?: number | undefined;
|
|
10852
|
+
options?: (string | number)[] | undefined;
|
|
10853
|
+
}[] | undefined;
|
|
10854
|
+
partialQuantity?: boolean | "UNIT" | undefined;
|
|
10855
|
+
}[];
|
|
10856
|
+
timers: {
|
|
10857
|
+
key: string;
|
|
10858
|
+
dueAt: string;
|
|
10859
|
+
paused: boolean;
|
|
10860
|
+
}[];
|
|
10861
|
+
ended: boolean;
|
|
10862
|
+
}>;
|
|
10863
|
+
/**
|
|
10864
|
+
* `POST /order-items/{id}/actions/{key}` — `getFlow().actions`에 켜진 행동을 실행한다(#115). 묶음 진행이면
|
|
10865
|
+
* `affectedOrderItemIds`에 함께 움직인 주문상품이 온다. 에러: 409 `ACTION_NOT_AVAILABLE`
|
|
10866
|
+
*/
|
|
10867
|
+
act: (orderItemId: string, key: string, input?: Record<string, unknown>, idempotencyKey?: string) => Promise<{
|
|
10868
|
+
status: "COMPLETED";
|
|
10869
|
+
flowState: {
|
|
10870
|
+
key: string;
|
|
10871
|
+
label: string;
|
|
10872
|
+
enteredAt: string;
|
|
10873
|
+
fields: Record<string, string | number | boolean | string[] | null>;
|
|
10874
|
+
coreStatus?: "PAID" | "CANCELED" | "PAYMENT_WAITING" | "CONFIRMED" | "DISPATCHED" | "DELIVERING" | "DELIVERED" | "PURCHASE_DECIDED" | undefined;
|
|
10875
|
+
claimStatus?: "REJECTED" | "REQUESTED" | "HELD" | "COLLECTING" | "COLLECTED" | "REDELIVERING" | "APPROVED" | "COMPLETED" | "WITHDRAWN" | undefined;
|
|
10876
|
+
message?: string | undefined;
|
|
10877
|
+
deadlineAt?: string | undefined;
|
|
10878
|
+
attachments?: string[] | undefined;
|
|
10879
|
+
progress?: boolean | undefined;
|
|
10880
|
+
};
|
|
10881
|
+
actions: {
|
|
10882
|
+
key: string;
|
|
10883
|
+
label: string;
|
|
10884
|
+
mode: "REQUEST" | "INSTANT" | "VIEW";
|
|
10885
|
+
enabled: boolean;
|
|
10886
|
+
disabled?: {
|
|
10887
|
+
reason: string;
|
|
10888
|
+
message?: string | undefined;
|
|
10889
|
+
} | undefined;
|
|
10890
|
+
availableUntil?: string | undefined;
|
|
10891
|
+
subflow?: string | undefined;
|
|
10892
|
+
input?: {
|
|
10893
|
+
key: string;
|
|
10894
|
+
type: string;
|
|
10895
|
+
required: boolean;
|
|
10896
|
+
label: string;
|
|
10897
|
+
maxLength?: number | undefined;
|
|
10898
|
+
maxFiles?: number | undefined;
|
|
10899
|
+
options?: (string | number)[] | undefined;
|
|
10900
|
+
}[] | undefined;
|
|
10901
|
+
partialQuantity?: boolean | "UNIT" | undefined;
|
|
10902
|
+
}[];
|
|
10903
|
+
affectedOrderItemIds: string[];
|
|
10904
|
+
}>;
|
|
10905
|
+
/**
|
|
10906
|
+
* `POST /order-items/{id}/events/{key}` — 현장 단말·연동의 상점 사건(`custom.<이름>`)을 플로우에 넣는다(#115).
|
|
10907
|
+
* 에러: 400 `FLOW_EVENT_KEY_INVALID`, 409 `FLOW_EVENT_NOT_ACCEPTED`
|
|
10908
|
+
*/
|
|
10909
|
+
emitEvent: (orderItemId: string, key: `custom.${string}`, input?: Record<string, unknown>, idempotencyKey?: string) => Promise<{
|
|
10910
|
+
status: "COMPLETED";
|
|
10911
|
+
flowState: {
|
|
10912
|
+
key: string;
|
|
10913
|
+
label: string;
|
|
10914
|
+
enteredAt: string;
|
|
10915
|
+
fields: Record<string, string | number | boolean | string[] | null>;
|
|
10916
|
+
coreStatus?: "PAID" | "CANCELED" | "PAYMENT_WAITING" | "CONFIRMED" | "DISPATCHED" | "DELIVERING" | "DELIVERED" | "PURCHASE_DECIDED" | undefined;
|
|
10917
|
+
claimStatus?: "REJECTED" | "REQUESTED" | "HELD" | "COLLECTING" | "COLLECTED" | "REDELIVERING" | "APPROVED" | "COMPLETED" | "WITHDRAWN" | undefined;
|
|
10918
|
+
message?: string | undefined;
|
|
10919
|
+
deadlineAt?: string | undefined;
|
|
10920
|
+
attachments?: string[] | undefined;
|
|
10921
|
+
progress?: boolean | undefined;
|
|
10922
|
+
};
|
|
10923
|
+
actions: {
|
|
10924
|
+
key: string;
|
|
10925
|
+
label: string;
|
|
10926
|
+
mode: "REQUEST" | "INSTANT" | "VIEW";
|
|
10927
|
+
enabled: boolean;
|
|
10928
|
+
disabled?: {
|
|
10929
|
+
reason: string;
|
|
10930
|
+
message?: string | undefined;
|
|
10931
|
+
} | undefined;
|
|
10932
|
+
availableUntil?: string | undefined;
|
|
10933
|
+
subflow?: string | undefined;
|
|
10934
|
+
input?: {
|
|
10935
|
+
key: string;
|
|
10936
|
+
type: string;
|
|
10937
|
+
required: boolean;
|
|
10938
|
+
label: string;
|
|
10939
|
+
maxLength?: number | undefined;
|
|
10940
|
+
maxFiles?: number | undefined;
|
|
10941
|
+
options?: (string | number)[] | undefined;
|
|
10942
|
+
}[] | undefined;
|
|
10943
|
+
partialQuantity?: boolean | "UNIT" | undefined;
|
|
10944
|
+
}[];
|
|
10945
|
+
affectedOrderItemIds: string[];
|
|
10946
|
+
}>;
|
|
10947
|
+
};
|
|
10948
|
+
/**
|
|
10949
|
+
* 커머스 플로우 (이슈 #115) — 프리셋 설치·초안 저장·검사·게시와 상품 할당 규칙. 조회 `flow:r`, 쓰기 `flow:rw`.
|
|
10950
|
+
* 게시한 버전은 불변이고, 진행 중 주문은 결제 때 붙은 버전으로 끝까지 간다.
|
|
10951
|
+
*/
|
|
10952
|
+
commerceFlows: {
|
|
10953
|
+
presets: () => Promise<{
|
|
10954
|
+
key: string;
|
|
10955
|
+
presetVersion: number;
|
|
10956
|
+
name: string;
|
|
10957
|
+
description: string;
|
|
10958
|
+
availability: "AVAILABLE" | "BLOCKED";
|
|
10959
|
+
dependsOn: string[];
|
|
10960
|
+
requires: Record<string, unknown>;
|
|
10961
|
+
variables: Record<string, unknown>[];
|
|
10962
|
+
}[]>;
|
|
10963
|
+
list: () => Promise<{
|
|
10964
|
+
flowId: string;
|
|
10965
|
+
key: string;
|
|
10966
|
+
name: string;
|
|
10967
|
+
progression: "ITEM" | "ORDER_GROUP";
|
|
10968
|
+
fulfillmentMethods: string[];
|
|
10969
|
+
presetKey: string | null;
|
|
10970
|
+
presetVersion: number | null;
|
|
10971
|
+
activeVersion: number | null;
|
|
10972
|
+
archivedAt: string | null;
|
|
10973
|
+
createdAt: string;
|
|
10974
|
+
updatedAt: string;
|
|
10975
|
+
}[]>;
|
|
10976
|
+
get: (flowId: string) => Promise<{
|
|
10977
|
+
flowId: string;
|
|
10978
|
+
key: string;
|
|
10979
|
+
name: string;
|
|
10980
|
+
progression: "ITEM" | "ORDER_GROUP";
|
|
10981
|
+
fulfillmentMethods: string[];
|
|
10982
|
+
presetKey: string | null;
|
|
10983
|
+
presetVersion: number | null;
|
|
10984
|
+
activeVersion: number | null;
|
|
10985
|
+
archivedAt: string | null;
|
|
10986
|
+
createdAt: string;
|
|
10987
|
+
updatedAt: string;
|
|
10988
|
+
draft: {
|
|
10989
|
+
version: number;
|
|
10990
|
+
status: "ACTIVE" | "DRAFT" | "LEGACY";
|
|
10991
|
+
revision: number;
|
|
10992
|
+
graph: Record<string, unknown>;
|
|
10993
|
+
definition: Record<string, unknown>;
|
|
10994
|
+
variables: Record<string, unknown>;
|
|
10995
|
+
publishedAt: string | null;
|
|
10996
|
+
} | null;
|
|
10997
|
+
active: {
|
|
10998
|
+
version: number;
|
|
10999
|
+
status: "ACTIVE" | "DRAFT" | "LEGACY";
|
|
11000
|
+
revision: number;
|
|
11001
|
+
graph: Record<string, unknown>;
|
|
11002
|
+
definition: Record<string, unknown>;
|
|
11003
|
+
variables: Record<string, unknown>;
|
|
11004
|
+
publishedAt: string | null;
|
|
11005
|
+
} | null;
|
|
11006
|
+
versions: {
|
|
11007
|
+
version: number;
|
|
11008
|
+
status: "ACTIVE" | "DRAFT" | "LEGACY";
|
|
11009
|
+
publishedAt: string | null;
|
|
11010
|
+
}[];
|
|
11011
|
+
}>;
|
|
11012
|
+
/** 프리셋 설치 또는 빈 플로우. 에러: 409 `FLOW_KEY_TAKEN`·`FLOW_PRESET_UNAVAILABLE` */
|
|
11013
|
+
create: (body: CreateCommerceFlowRequest) => Promise<{
|
|
11014
|
+
flowId: string;
|
|
11015
|
+
key: string;
|
|
11016
|
+
name: string;
|
|
11017
|
+
progression: "ITEM" | "ORDER_GROUP";
|
|
11018
|
+
fulfillmentMethods: string[];
|
|
11019
|
+
presetKey: string | null;
|
|
11020
|
+
presetVersion: number | null;
|
|
11021
|
+
activeVersion: number | null;
|
|
11022
|
+
archivedAt: string | null;
|
|
11023
|
+
createdAt: string;
|
|
11024
|
+
updatedAt: string;
|
|
11025
|
+
draft: {
|
|
11026
|
+
version: number;
|
|
11027
|
+
status: "ACTIVE" | "DRAFT" | "LEGACY";
|
|
11028
|
+
revision: number;
|
|
11029
|
+
graph: Record<string, unknown>;
|
|
11030
|
+
definition: Record<string, unknown>;
|
|
11031
|
+
variables: Record<string, unknown>;
|
|
11032
|
+
publishedAt: string | null;
|
|
11033
|
+
} | null;
|
|
11034
|
+
active: {
|
|
11035
|
+
version: number;
|
|
11036
|
+
status: "ACTIVE" | "DRAFT" | "LEGACY";
|
|
11037
|
+
revision: number;
|
|
11038
|
+
graph: Record<string, unknown>;
|
|
11039
|
+
definition: Record<string, unknown>;
|
|
11040
|
+
variables: Record<string, unknown>;
|
|
11041
|
+
publishedAt: string | null;
|
|
11042
|
+
} | null;
|
|
11043
|
+
versions: {
|
|
11044
|
+
version: number;
|
|
11045
|
+
status: "ACTIVE" | "DRAFT" | "LEGACY";
|
|
11046
|
+
publishedAt: string | null;
|
|
11047
|
+
}[];
|
|
11048
|
+
}>;
|
|
11049
|
+
/** 초안 저장. `revision`을 주면 그 초안일 때만 저장한다(409 `FLOW_REVISION_CONFLICT`) */
|
|
11050
|
+
saveDraft: (flowId: string, body: SaveFlowDraftRequest, revision?: number) => Promise<{
|
|
11051
|
+
flowId: string;
|
|
11052
|
+
key: string;
|
|
11053
|
+
name: string;
|
|
11054
|
+
progression: "ITEM" | "ORDER_GROUP";
|
|
11055
|
+
fulfillmentMethods: string[];
|
|
11056
|
+
presetKey: string | null;
|
|
11057
|
+
presetVersion: number | null;
|
|
11058
|
+
activeVersion: number | null;
|
|
11059
|
+
archivedAt: string | null;
|
|
11060
|
+
createdAt: string;
|
|
11061
|
+
updatedAt: string;
|
|
11062
|
+
draft: {
|
|
11063
|
+
version: number;
|
|
11064
|
+
status: "ACTIVE" | "DRAFT" | "LEGACY";
|
|
11065
|
+
revision: number;
|
|
11066
|
+
graph: Record<string, unknown>;
|
|
11067
|
+
definition: Record<string, unknown>;
|
|
11068
|
+
variables: Record<string, unknown>;
|
|
11069
|
+
publishedAt: string | null;
|
|
11070
|
+
} | null;
|
|
11071
|
+
active: {
|
|
11072
|
+
version: number;
|
|
11073
|
+
status: "ACTIVE" | "DRAFT" | "LEGACY";
|
|
11074
|
+
revision: number;
|
|
11075
|
+
graph: Record<string, unknown>;
|
|
11076
|
+
definition: Record<string, unknown>;
|
|
11077
|
+
variables: Record<string, unknown>;
|
|
11078
|
+
publishedAt: string | null;
|
|
11079
|
+
} | null;
|
|
11080
|
+
versions: {
|
|
11081
|
+
version: number;
|
|
11082
|
+
status: "ACTIVE" | "DRAFT" | "LEGACY";
|
|
11083
|
+
publishedAt: string | null;
|
|
11084
|
+
}[];
|
|
11085
|
+
}>;
|
|
11086
|
+
check: (flowId: string) => Promise<{
|
|
11087
|
+
publishable: boolean;
|
|
11088
|
+
blocking: {
|
|
11089
|
+
code: string;
|
|
11090
|
+
message: string;
|
|
11091
|
+
nodeId?: string | undefined;
|
|
11092
|
+
edgeId?: string | undefined;
|
|
11093
|
+
}[];
|
|
11094
|
+
warnings: {
|
|
11095
|
+
code: string;
|
|
11096
|
+
message: string;
|
|
11097
|
+
nodeId?: string | undefined;
|
|
11098
|
+
edgeId?: string | undefined;
|
|
11099
|
+
}[];
|
|
11100
|
+
}>;
|
|
11101
|
+
/** 게시. 차단 오류가 있으면 409 `PUBLISH_BLOCKED`(`details.blocking`) */
|
|
11102
|
+
publish: (flowId: string) => Promise<{
|
|
11103
|
+
flowId: string;
|
|
11104
|
+
key: string;
|
|
11105
|
+
name: string;
|
|
11106
|
+
progression: "ITEM" | "ORDER_GROUP";
|
|
11107
|
+
fulfillmentMethods: string[];
|
|
11108
|
+
presetKey: string | null;
|
|
11109
|
+
presetVersion: number | null;
|
|
11110
|
+
activeVersion: number | null;
|
|
11111
|
+
archivedAt: string | null;
|
|
11112
|
+
createdAt: string;
|
|
11113
|
+
updatedAt: string;
|
|
11114
|
+
draft: {
|
|
11115
|
+
version: number;
|
|
11116
|
+
status: "ACTIVE" | "DRAFT" | "LEGACY";
|
|
11117
|
+
revision: number;
|
|
11118
|
+
graph: Record<string, unknown>;
|
|
11119
|
+
definition: Record<string, unknown>;
|
|
11120
|
+
variables: Record<string, unknown>;
|
|
11121
|
+
publishedAt: string | null;
|
|
11122
|
+
} | null;
|
|
11123
|
+
active: {
|
|
11124
|
+
version: number;
|
|
11125
|
+
status: "ACTIVE" | "DRAFT" | "LEGACY";
|
|
11126
|
+
revision: number;
|
|
11127
|
+
graph: Record<string, unknown>;
|
|
11128
|
+
definition: Record<string, unknown>;
|
|
11129
|
+
variables: Record<string, unknown>;
|
|
11130
|
+
publishedAt: string | null;
|
|
11131
|
+
} | null;
|
|
11132
|
+
versions: {
|
|
11133
|
+
version: number;
|
|
11134
|
+
status: "ACTIVE" | "DRAFT" | "LEGACY";
|
|
11135
|
+
publishedAt: string | null;
|
|
11136
|
+
}[];
|
|
11137
|
+
}>;
|
|
11138
|
+
rules: () => Promise<{
|
|
11139
|
+
ruleId: string;
|
|
11140
|
+
priority: number;
|
|
11141
|
+
condition: string;
|
|
11142
|
+
flowId: string;
|
|
11143
|
+
}[]>;
|
|
11144
|
+
/** 할당 규칙 전체 교체(우선순위는 배열 순서). 에러: 400 `FLOW_ASSIGNMENT_CONDITION_INVALID`, 409 `FLOW_NOT_PUBLISHED` */
|
|
11145
|
+
saveRules: (body: SaveFlowAssignmentRulesRequest) => Promise<{
|
|
11146
|
+
ruleId: string;
|
|
11147
|
+
priority: number;
|
|
11148
|
+
condition: string;
|
|
11149
|
+
flowId: string;
|
|
11150
|
+
}[]>;
|
|
11151
|
+
testRules: (body: TestFlowAssignmentRequest) => Promise<{
|
|
11152
|
+
flowId: string;
|
|
11153
|
+
version: number;
|
|
11154
|
+
source: "RULE" | "PLATFORM";
|
|
11155
|
+
ruleId?: string | undefined;
|
|
11156
|
+
}>;
|
|
11157
|
+
/** 이 상품에 지금 붙을 플로우 */
|
|
11158
|
+
forProduct: (productId: string) => Promise<{
|
|
11159
|
+
flowId: string;
|
|
11160
|
+
version: number;
|
|
11161
|
+
source: "RULE" | "PLATFORM";
|
|
11162
|
+
ruleId?: string | undefined;
|
|
11163
|
+
}>;
|
|
11164
|
+
/** HTTP 노드 시크릿 목록(헤더 값 제외) */
|
|
11165
|
+
secrets: () => Promise<{
|
|
11166
|
+
name: string;
|
|
11167
|
+
url: string;
|
|
11168
|
+
headerNames: string[];
|
|
11169
|
+
updatedAt: string;
|
|
11170
|
+
}[]>;
|
|
11171
|
+
/** 시크릿 저장(같은 이름이면 덮어쓴다). 상점 플랫폼 OWNER·ADMIN만. 에러: 400 `FLOW_SECRET_URL_INVALID` */
|
|
11172
|
+
saveSecret: (name: string, body: SaveFlowSecretRequest) => Promise<{
|
|
11173
|
+
name: string;
|
|
11174
|
+
url: string;
|
|
11175
|
+
headerNames: string[];
|
|
11176
|
+
updatedAt: string;
|
|
11177
|
+
}>;
|
|
11178
|
+
removeSecret: (name: string) => Promise<void>;
|
|
9843
11179
|
};
|
|
9844
11180
|
carriers: {
|
|
9845
11181
|
list: () => Promise<{
|
|
@@ -11923,7 +13259,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
11923
13259
|
list: () => Promise<{
|
|
11924
13260
|
webhookId: string;
|
|
11925
13261
|
url: string;
|
|
11926
|
-
eventTypes: ("ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "ORDER.CANCELED" | "ORDER.FULFILLED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK")[];
|
|
13262
|
+
eventTypes: ("ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "ORDER.CANCELED" | "ORDER.FULFILLED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK" | "ORDER.FLOW_NOTIFICATION")[];
|
|
11927
13263
|
status: "SUSPENDED" | "ACTIVE";
|
|
11928
13264
|
secretPrefix: string;
|
|
11929
13265
|
suspendedAt: string | null;
|
|
@@ -11933,7 +13269,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
11933
13269
|
create: (body: WebhookRequest) => Promise<{
|
|
11934
13270
|
webhookId: string;
|
|
11935
13271
|
url: string;
|
|
11936
|
-
eventTypes: ("ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "ORDER.CANCELED" | "ORDER.FULFILLED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK")[];
|
|
13272
|
+
eventTypes: ("ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "ORDER.CANCELED" | "ORDER.FULFILLED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK" | "ORDER.FLOW_NOTIFICATION")[];
|
|
11937
13273
|
status: "SUSPENDED" | "ACTIVE";
|
|
11938
13274
|
secretPrefix: string;
|
|
11939
13275
|
suspendedAt: string | null;
|
|
@@ -11943,7 +13279,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
11943
13279
|
get: (webhookId: string) => Promise<{
|
|
11944
13280
|
webhookId: string;
|
|
11945
13281
|
url: string;
|
|
11946
|
-
eventTypes: ("ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "ORDER.CANCELED" | "ORDER.FULFILLED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK")[];
|
|
13282
|
+
eventTypes: ("ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "ORDER.CANCELED" | "ORDER.FULFILLED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK" | "ORDER.FLOW_NOTIFICATION")[];
|
|
11947
13283
|
status: "SUSPENDED" | "ACTIVE";
|
|
11948
13284
|
secretPrefix: string;
|
|
11949
13285
|
suspendedAt: string | null;
|
|
@@ -11953,7 +13289,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
11953
13289
|
update: (webhookId: string, body: WebhookRequest) => Promise<{
|
|
11954
13290
|
webhookId: string;
|
|
11955
13291
|
url: string;
|
|
11956
|
-
eventTypes: ("ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "ORDER.CANCELED" | "ORDER.FULFILLED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK")[];
|
|
13292
|
+
eventTypes: ("ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "ORDER.CANCELED" | "ORDER.FULFILLED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK" | "ORDER.FLOW_NOTIFICATION")[];
|
|
11957
13293
|
status: "SUSPENDED" | "ACTIVE";
|
|
11958
13294
|
secretPrefix: string;
|
|
11959
13295
|
suspendedAt: string | null;
|
|
@@ -11968,7 +13304,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
11968
13304
|
resume: (webhookId: string) => Promise<{
|
|
11969
13305
|
webhookId: string;
|
|
11970
13306
|
url: string;
|
|
11971
|
-
eventTypes: ("ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "ORDER.CANCELED" | "ORDER.FULFILLED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK")[];
|
|
13307
|
+
eventTypes: ("ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "ORDER.CANCELED" | "ORDER.FULFILLED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK" | "ORDER.FLOW_NOTIFICATION")[];
|
|
11972
13308
|
status: "SUSPENDED" | "ACTIVE";
|
|
11973
13309
|
secretPrefix: string;
|
|
11974
13310
|
suspendedAt: string | null;
|
|
@@ -11978,7 +13314,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
11978
13314
|
listDeliveries: (webhookId: string, params?: WebhookDeliveryListParams) => Promise<{
|
|
11979
13315
|
deliveryId: string;
|
|
11980
13316
|
eventId: string;
|
|
11981
|
-
eventType: "ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "ORDER.CANCELED" | "ORDER.FULFILLED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK";
|
|
13317
|
+
eventType: "ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "ORDER.CANCELED" | "ORDER.FULFILLED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK" | "ORDER.FLOW_NOTIFICATION";
|
|
11982
13318
|
url: string;
|
|
11983
13319
|
status: "PENDING" | "PENDING_RETRY" | "SUCCESS" | "FAILED";
|
|
11984
13320
|
responseStatusCode: number | null;
|
|
@@ -12005,7 +13341,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
12005
13341
|
getDelivery: (webhookId: string, deliveryId: string) => Promise<{
|
|
12006
13342
|
deliveryId: string;
|
|
12007
13343
|
eventId: string;
|
|
12008
|
-
eventType: "ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "ORDER.CANCELED" | "ORDER.FULFILLED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK";
|
|
13344
|
+
eventType: "ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "ORDER.CANCELED" | "ORDER.FULFILLED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK" | "ORDER.FLOW_NOTIFICATION";
|
|
12009
13345
|
url: string;
|
|
12010
13346
|
status: "PENDING" | "PENDING_RETRY" | "SUCCESS" | "FAILED";
|
|
12011
13347
|
responseStatusCode: number | null;
|
|
@@ -12040,7 +13376,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
12040
13376
|
redeliver: (webhookId: string, deliveryId: string) => Promise<{
|
|
12041
13377
|
deliveryId: string;
|
|
12042
13378
|
eventId: string;
|
|
12043
|
-
eventType: "ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "ORDER.CANCELED" | "ORDER.FULFILLED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK";
|
|
13379
|
+
eventType: "ORDER.PAID" | "ORDER.CONFIRMED" | "ORDER.DISPATCHED" | "ORDER.DELIVERED" | "ORDER.PURCHASE_DECIDED" | "ORDER.ADDRESS_CHANGE_REQUESTED" | "ORDER.CANCELED" | "ORDER.FULFILLED" | "CLAIM.CANCEL_REQUESTED" | "CLAIM.RETURN_REQUESTED" | "CLAIM.EXCHANGE_REQUESTED" | "CLAIM.COMPLETED" | "INQUIRY.CREATED" | "REVIEW.CREATED" | "PRODUCT.OUT_OF_STOCK" | "ORDER.FLOW_NOTIFICATION";
|
|
12044
13380
|
url: string;
|
|
12045
13381
|
status: "PENDING" | "PENDING_RETRY" | "SUCCESS" | "FAILED";
|
|
12046
13382
|
responseStatusCode: number | null;
|
|
@@ -12418,6 +13754,40 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
12418
13754
|
remove: (addressId: string) => Promise<void>;
|
|
12419
13755
|
setDefault: (addressId: string) => Promise<void>;
|
|
12420
13756
|
};
|
|
13757
|
+
/** 픽업 장소 (이슈 #115) — 방문 수령 주문의 수령 장소. 조회 `store:r`, 쓰기 `store:rw`(상점 플랫폼 OWNER·ADMIN) */
|
|
13758
|
+
pickupLocations: {
|
|
13759
|
+
list: () => Promise<{
|
|
13760
|
+
locationId: string;
|
|
13761
|
+
name: string;
|
|
13762
|
+
address: string;
|
|
13763
|
+
phone: string | null;
|
|
13764
|
+
hours: string | null;
|
|
13765
|
+
usable: boolean;
|
|
13766
|
+
sortOrder: number;
|
|
13767
|
+
createdAt: string;
|
|
13768
|
+
}[]>;
|
|
13769
|
+
create: (body: PickupLocationRequestInput) => Promise<{
|
|
13770
|
+
locationId: string;
|
|
13771
|
+
name: string;
|
|
13772
|
+
address: string;
|
|
13773
|
+
phone: string | null;
|
|
13774
|
+
hours: string | null;
|
|
13775
|
+
usable: boolean;
|
|
13776
|
+
sortOrder: number;
|
|
13777
|
+
createdAt: string;
|
|
13778
|
+
}>;
|
|
13779
|
+
update: (locationId: string, body: PickupLocationRequestInput) => Promise<{
|
|
13780
|
+
locationId: string;
|
|
13781
|
+
name: string;
|
|
13782
|
+
address: string;
|
|
13783
|
+
phone: string | null;
|
|
13784
|
+
hours: string | null;
|
|
13785
|
+
usable: boolean;
|
|
13786
|
+
sortOrder: number;
|
|
13787
|
+
createdAt: string;
|
|
13788
|
+
}>;
|
|
13789
|
+
remove: (locationId: string) => Promise<void>;
|
|
13790
|
+
};
|
|
12421
13791
|
/**
|
|
12422
13792
|
* 스토어프론트 호스팅 (이슈 #53) — 조회 `storefront:r`, 쓰기 `storefront:rw`(OWNER·ADMIN).
|
|
12423
13793
|
* 쓰기 응답은 바뀐 사이트다. Cloudflare 반영은 커밋 뒤라 `provisioning.status`가 잠시 `PENDING`일 수 있다.
|
|
@@ -14440,10 +15810,13 @@ export declare const STORE_SCOPE_RESOURCES: {
|
|
|
14440
15810
|
readonly audit: readonly ["r"];
|
|
14441
15811
|
readonly promotion: readonly ["r", "rw"];
|
|
14442
15812
|
readonly storefront: readonly ["r", "rw"];
|
|
15813
|
+
readonly flow: readonly ["r", "rw"];
|
|
14443
15814
|
};
|
|
14444
15815
|
export type StoreScopeResource = keyof typeof STORE_SCOPE_RESOURCES;
|
|
14445
15816
|
export declare const storeScopeResourceSchema: z.ZodEnum<{
|
|
14446
15817
|
category: "category";
|
|
15818
|
+
member: "member";
|
|
15819
|
+
flow: "flow";
|
|
14447
15820
|
analytics: "analytics";
|
|
14448
15821
|
product: "product";
|
|
14449
15822
|
order: "order";
|
|
@@ -14453,7 +15826,6 @@ export declare const storeScopeResourceSchema: z.ZodEnum<{
|
|
|
14453
15826
|
settlement: "settlement";
|
|
14454
15827
|
webhook: "webhook";
|
|
14455
15828
|
store: "store";
|
|
14456
|
-
member: "member";
|
|
14457
15829
|
customer: "customer";
|
|
14458
15830
|
audit: "audit";
|
|
14459
15831
|
promotion: "promotion";
|
|
@@ -14466,9 +15838,9 @@ export declare function isStoreScope(scope: string): boolean;
|
|
|
14466
15838
|
* 계정 토큰으로 상점을 호출할 때의 스코프는 그 상점에서의 역할로 이 표에서 결정된다.
|
|
14467
15839
|
*/
|
|
14468
15840
|
export declare const STORE_ROLE_SCOPES: {
|
|
14469
|
-
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", "customer:rw", "audit:r", "promotion:rw", "storefront:rw"];
|
|
14470
|
-
readonly ADMIN: readonly ["product:rw", "category:rw", "order:rw", "claim:rw", "inquiry:rw", "review:rw", "analytics:r", "webhook:rw", "store:rw", "member:rw", "customer:rw", "audit:r", "promotion:rw", "storefront:rw"];
|
|
14471
|
-
readonly STAFF: readonly ["product:rw", "category:rw", "order:rw", "claim:rw", "inquiry:rw", "review:rw", "customer:r", "promotion:r"];
|
|
15841
|
+
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", "customer:rw", "audit:r", "promotion:rw", "storefront:rw", "flow:rw"];
|
|
15842
|
+
readonly ADMIN: readonly ["product:rw", "category:rw", "order:rw", "claim:rw", "inquiry:rw", "review:rw", "analytics:r", "webhook:rw", "store:rw", "member:rw", "customer:rw", "audit:r", "promotion:rw", "storefront:rw", "flow:rw"];
|
|
15843
|
+
readonly STAFF: readonly ["product:rw", "category:rw", "order:rw", "claim:rw", "inquiry:rw", "review:rw", "customer:r", "promotion:r", "flow:r"];
|
|
14472
15844
|
};
|
|
14473
15845
|
//#endregion
|
|
14474
15846
|
//#region src/schemas/shipping-policy.d.ts
|
|
@@ -14606,6 +15978,8 @@ export interface DeliveryFeeLine {
|
|
|
14606
15978
|
* 유형을 바꿔도 결제 시작의 견적과 주문상품 스냅샷이 같은 유형을 보게 한다. 생략하면 상품 값을 쓴다.
|
|
14607
15979
|
*/
|
|
14608
15980
|
fulfillmentType?: FulfillmentType | null;
|
|
15981
|
+
/** 이 줄의 이행 방식(이슈 #115) — 배송지가 없는 방식(방문 수령)은 묶음을 만들지 않는다. 생략하면 유형 규칙만 본다 */
|
|
15982
|
+
fulfillmentMethod?: string | null;
|
|
14609
15983
|
}
|
|
14610
15984
|
/**
|
|
14611
15985
|
* 기본 배송비를 면제한 근거 — 면제하지 않았으면 null이다.
|
|
@@ -15056,8 +16430,24 @@ export declare const orderWebhookEventDataSchema: z.ZodObject<{
|
|
|
15056
16430
|
bundleKey: z.ZodNullable<z.ZodString>;
|
|
15057
16431
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
15058
16432
|
}, z.core.$strip>;
|
|
16433
|
+
method: z.ZodOptional<z.ZodString>;
|
|
16434
|
+
pickupLocation: z.ZodOptional<z.ZodObject<{
|
|
16435
|
+
locationId: z.ZodString;
|
|
16436
|
+
name: z.ZodString;
|
|
16437
|
+
address: z.ZodString;
|
|
16438
|
+
phone: z.ZodNullable<z.ZodString>;
|
|
16439
|
+
hours: z.ZodNullable<z.ZodString>;
|
|
16440
|
+
}, z.core.$strip>>;
|
|
15059
16441
|
}, z.core.$strip>, z.ZodObject<{
|
|
15060
16442
|
type: z.ZodLiteral<"MANUAL">;
|
|
16443
|
+
method: z.ZodOptional<z.ZodString>;
|
|
16444
|
+
pickupLocation: z.ZodOptional<z.ZodObject<{
|
|
16445
|
+
locationId: z.ZodString;
|
|
16446
|
+
name: z.ZodString;
|
|
16447
|
+
address: z.ZodString;
|
|
16448
|
+
phone: z.ZodNullable<z.ZodString>;
|
|
16449
|
+
hours: z.ZodNullable<z.ZodString>;
|
|
16450
|
+
}, z.core.$strip>>;
|
|
15061
16451
|
}, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
|
|
15062
16452
|
type: z.ZodString;
|
|
15063
16453
|
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
@@ -15075,6 +16465,8 @@ export declare const orderWebhookEventDataSchema: z.ZodObject<{
|
|
|
15075
16465
|
customInputs: z.ZodArray<z.ZodObject<{
|
|
15076
16466
|
label: z.ZodString;
|
|
15077
16467
|
value: z.ZodString;
|
|
16468
|
+
key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
16469
|
+
type: z.ZodOptional<z.ZodString>;
|
|
15078
16470
|
}, z.core.$strip>>;
|
|
15079
16471
|
}, z.core.$strip>>>;
|
|
15080
16472
|
}, z.core.$strip>;
|
|
@@ -15103,8 +16495,24 @@ export declare const orderFulfilledWebhookEventDataSchema: z.ZodObject<{
|
|
|
15103
16495
|
bundleKey: z.ZodNullable<z.ZodString>;
|
|
15104
16496
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
15105
16497
|
}, z.core.$strip>;
|
|
16498
|
+
method: z.ZodOptional<z.ZodString>;
|
|
16499
|
+
pickupLocation: z.ZodOptional<z.ZodObject<{
|
|
16500
|
+
locationId: z.ZodString;
|
|
16501
|
+
name: z.ZodString;
|
|
16502
|
+
address: z.ZodString;
|
|
16503
|
+
phone: z.ZodNullable<z.ZodString>;
|
|
16504
|
+
hours: z.ZodNullable<z.ZodString>;
|
|
16505
|
+
}, z.core.$strip>>;
|
|
15106
16506
|
}, z.core.$strip>, z.ZodObject<{
|
|
15107
16507
|
type: z.ZodLiteral<"MANUAL">;
|
|
16508
|
+
method: z.ZodOptional<z.ZodString>;
|
|
16509
|
+
pickupLocation: z.ZodOptional<z.ZodObject<{
|
|
16510
|
+
locationId: z.ZodString;
|
|
16511
|
+
name: z.ZodString;
|
|
16512
|
+
address: z.ZodString;
|
|
16513
|
+
phone: z.ZodNullable<z.ZodString>;
|
|
16514
|
+
hours: z.ZodNullable<z.ZodString>;
|
|
16515
|
+
}, z.core.$strip>>;
|
|
15108
16516
|
}, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
|
|
15109
16517
|
type: z.ZodString;
|
|
15110
16518
|
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
@@ -15239,8 +16647,24 @@ export declare const orderWebhookEventSchema: z.ZodObject<{
|
|
|
15239
16647
|
bundleKey: z.ZodNullable<z.ZodString>;
|
|
15240
16648
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
15241
16649
|
}, z.core.$strip>;
|
|
16650
|
+
method: z.ZodOptional<z.ZodString>;
|
|
16651
|
+
pickupLocation: z.ZodOptional<z.ZodObject<{
|
|
16652
|
+
locationId: z.ZodString;
|
|
16653
|
+
name: z.ZodString;
|
|
16654
|
+
address: z.ZodString;
|
|
16655
|
+
phone: z.ZodNullable<z.ZodString>;
|
|
16656
|
+
hours: z.ZodNullable<z.ZodString>;
|
|
16657
|
+
}, z.core.$strip>>;
|
|
15242
16658
|
}, z.core.$strip>, z.ZodObject<{
|
|
15243
16659
|
type: z.ZodLiteral<"MANUAL">;
|
|
16660
|
+
method: z.ZodOptional<z.ZodString>;
|
|
16661
|
+
pickupLocation: z.ZodOptional<z.ZodObject<{
|
|
16662
|
+
locationId: z.ZodString;
|
|
16663
|
+
name: z.ZodString;
|
|
16664
|
+
address: z.ZodString;
|
|
16665
|
+
phone: z.ZodNullable<z.ZodString>;
|
|
16666
|
+
hours: z.ZodNullable<z.ZodString>;
|
|
16667
|
+
}, z.core.$strip>>;
|
|
15244
16668
|
}, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
|
|
15245
16669
|
type: z.ZodString;
|
|
15246
16670
|
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
@@ -15258,6 +16682,8 @@ export declare const orderWebhookEventSchema: z.ZodObject<{
|
|
|
15258
16682
|
customInputs: z.ZodArray<z.ZodObject<{
|
|
15259
16683
|
label: z.ZodString;
|
|
15260
16684
|
value: z.ZodString;
|
|
16685
|
+
key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
16686
|
+
type: z.ZodOptional<z.ZodString>;
|
|
15261
16687
|
}, z.core.$strip>>;
|
|
15262
16688
|
}, z.core.$strip>>>;
|
|
15263
16689
|
}, z.core.$strip>;
|
|
@@ -15288,8 +16714,24 @@ export declare const orderFulfilledWebhookEventSchema: z.ZodObject<{
|
|
|
15288
16714
|
bundleKey: z.ZodNullable<z.ZodString>;
|
|
15289
16715
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
15290
16716
|
}, z.core.$strip>;
|
|
16717
|
+
method: z.ZodOptional<z.ZodString>;
|
|
16718
|
+
pickupLocation: z.ZodOptional<z.ZodObject<{
|
|
16719
|
+
locationId: z.ZodString;
|
|
16720
|
+
name: z.ZodString;
|
|
16721
|
+
address: z.ZodString;
|
|
16722
|
+
phone: z.ZodNullable<z.ZodString>;
|
|
16723
|
+
hours: z.ZodNullable<z.ZodString>;
|
|
16724
|
+
}, z.core.$strip>>;
|
|
15291
16725
|
}, z.core.$strip>, z.ZodObject<{
|
|
15292
16726
|
type: z.ZodLiteral<"MANUAL">;
|
|
16727
|
+
method: z.ZodOptional<z.ZodString>;
|
|
16728
|
+
pickupLocation: z.ZodOptional<z.ZodObject<{
|
|
16729
|
+
locationId: z.ZodString;
|
|
16730
|
+
name: z.ZodString;
|
|
16731
|
+
address: z.ZodString;
|
|
16732
|
+
phone: z.ZodNullable<z.ZodString>;
|
|
16733
|
+
hours: z.ZodNullable<z.ZodString>;
|
|
16734
|
+
}, z.core.$strip>>;
|
|
15293
16735
|
}, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
|
|
15294
16736
|
type: z.ZodString;
|
|
15295
16737
|
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
@@ -15426,6 +16868,33 @@ export declare const productOutOfStockWebhookEventSchema: z.ZodObject<{
|
|
|
15426
16868
|
storeId: z.ZodString;
|
|
15427
16869
|
sequence: z.ZodOptional<z.ZodNumber>;
|
|
15428
16870
|
}, z.core.$strip>;
|
|
16871
|
+
/**
|
|
16872
|
+
* 플로우 알림(이슈 #115) — 상점이 플로우에 둔 알림 블록(`core.notify`, 채널 `webhook`)이 보낸다. 구매자 알림(알림톡·메일)은 이 이벤트를 받아
|
|
16873
|
+
* 상점이 보낸다(플랫폼은 구매자에게 직접 보내지 않는다). 개인정보는 싣지 않는다
|
|
16874
|
+
*/
|
|
16875
|
+
export declare const flowNotificationWebhookEventDataSchema: z.ZodObject<{
|
|
16876
|
+
orderId: z.ZodString;
|
|
16877
|
+
orderItemIds: z.ZodArray<z.ZodString>;
|
|
16878
|
+
event: z.ZodString;
|
|
16879
|
+
flowId: z.ZodString;
|
|
16880
|
+
flowVersion: z.ZodNumber;
|
|
16881
|
+
state: z.ZodString;
|
|
16882
|
+
}, z.core.$strip>;
|
|
16883
|
+
export declare const flowNotificationWebhookEventSchema: z.ZodObject<{
|
|
16884
|
+
type: z.ZodLiteral<"ORDER.FLOW_NOTIFICATION">;
|
|
16885
|
+
data: z.ZodObject<{
|
|
16886
|
+
orderId: z.ZodString;
|
|
16887
|
+
orderItemIds: z.ZodArray<z.ZodString>;
|
|
16888
|
+
event: z.ZodString;
|
|
16889
|
+
flowId: z.ZodString;
|
|
16890
|
+
flowVersion: z.ZodNumber;
|
|
16891
|
+
state: z.ZodString;
|
|
16892
|
+
}, z.core.$strip>;
|
|
16893
|
+
id: z.ZodString;
|
|
16894
|
+
createdAt: z.ZodString;
|
|
16895
|
+
storeId: z.ZodString;
|
|
16896
|
+
sequence: z.ZodOptional<z.ZodNumber>;
|
|
16897
|
+
}, z.core.$strip>;
|
|
15429
16898
|
/** 웹훅 요청 본문. `type`으로 판별하며 `data` 형태가 타입별로 다르다 */
|
|
15430
16899
|
export declare const webhookEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
15431
16900
|
type: z.ZodEnum<{
|
|
@@ -15459,8 +16928,24 @@ export declare const webhookEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
15459
16928
|
bundleKey: z.ZodNullable<z.ZodString>;
|
|
15460
16929
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
15461
16930
|
}, z.core.$strip>;
|
|
16931
|
+
method: z.ZodOptional<z.ZodString>;
|
|
16932
|
+
pickupLocation: z.ZodOptional<z.ZodObject<{
|
|
16933
|
+
locationId: z.ZodString;
|
|
16934
|
+
name: z.ZodString;
|
|
16935
|
+
address: z.ZodString;
|
|
16936
|
+
phone: z.ZodNullable<z.ZodString>;
|
|
16937
|
+
hours: z.ZodNullable<z.ZodString>;
|
|
16938
|
+
}, z.core.$strip>>;
|
|
15462
16939
|
}, z.core.$strip>, z.ZodObject<{
|
|
15463
16940
|
type: z.ZodLiteral<"MANUAL">;
|
|
16941
|
+
method: z.ZodOptional<z.ZodString>;
|
|
16942
|
+
pickupLocation: z.ZodOptional<z.ZodObject<{
|
|
16943
|
+
locationId: z.ZodString;
|
|
16944
|
+
name: z.ZodString;
|
|
16945
|
+
address: z.ZodString;
|
|
16946
|
+
phone: z.ZodNullable<z.ZodString>;
|
|
16947
|
+
hours: z.ZodNullable<z.ZodString>;
|
|
16948
|
+
}, z.core.$strip>>;
|
|
15464
16949
|
}, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
|
|
15465
16950
|
type: z.ZodString;
|
|
15466
16951
|
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
@@ -15478,6 +16963,8 @@ export declare const webhookEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
15478
16963
|
customInputs: z.ZodArray<z.ZodObject<{
|
|
15479
16964
|
label: z.ZodString;
|
|
15480
16965
|
value: z.ZodString;
|
|
16966
|
+
key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
16967
|
+
type: z.ZodOptional<z.ZodString>;
|
|
15481
16968
|
}, z.core.$strip>>;
|
|
15482
16969
|
}, z.core.$strip>>>;
|
|
15483
16970
|
}, z.core.$strip>;
|
|
@@ -15507,8 +16994,24 @@ export declare const webhookEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
15507
16994
|
bundleKey: z.ZodNullable<z.ZodString>;
|
|
15508
16995
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
15509
16996
|
}, z.core.$strip>;
|
|
16997
|
+
method: z.ZodOptional<z.ZodString>;
|
|
16998
|
+
pickupLocation: z.ZodOptional<z.ZodObject<{
|
|
16999
|
+
locationId: z.ZodString;
|
|
17000
|
+
name: z.ZodString;
|
|
17001
|
+
address: z.ZodString;
|
|
17002
|
+
phone: z.ZodNullable<z.ZodString>;
|
|
17003
|
+
hours: z.ZodNullable<z.ZodString>;
|
|
17004
|
+
}, z.core.$strip>>;
|
|
15510
17005
|
}, z.core.$strip>, z.ZodObject<{
|
|
15511
17006
|
type: z.ZodLiteral<"MANUAL">;
|
|
17007
|
+
method: z.ZodOptional<z.ZodString>;
|
|
17008
|
+
pickupLocation: z.ZodOptional<z.ZodObject<{
|
|
17009
|
+
locationId: z.ZodString;
|
|
17010
|
+
name: z.ZodString;
|
|
17011
|
+
address: z.ZodString;
|
|
17012
|
+
phone: z.ZodNullable<z.ZodString>;
|
|
17013
|
+
hours: z.ZodNullable<z.ZodString>;
|
|
17014
|
+
}, z.core.$strip>>;
|
|
15512
17015
|
}, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
|
|
15513
17016
|
type: z.ZodString;
|
|
15514
17017
|
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
@@ -15639,6 +17142,20 @@ export declare const webhookEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
15639
17142
|
createdAt: z.ZodString;
|
|
15640
17143
|
storeId: z.ZodString;
|
|
15641
17144
|
sequence: z.ZodOptional<z.ZodNumber>;
|
|
17145
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
17146
|
+
type: z.ZodLiteral<"ORDER.FLOW_NOTIFICATION">;
|
|
17147
|
+
data: z.ZodObject<{
|
|
17148
|
+
orderId: z.ZodString;
|
|
17149
|
+
orderItemIds: z.ZodArray<z.ZodString>;
|
|
17150
|
+
event: z.ZodString;
|
|
17151
|
+
flowId: z.ZodString;
|
|
17152
|
+
flowVersion: z.ZodNumber;
|
|
17153
|
+
state: z.ZodString;
|
|
17154
|
+
}, z.core.$strip>;
|
|
17155
|
+
id: z.ZodString;
|
|
17156
|
+
createdAt: z.ZodString;
|
|
17157
|
+
storeId: z.ZodString;
|
|
17158
|
+
sequence: z.ZodOptional<z.ZodNumber>;
|
|
15642
17159
|
}, z.core.$strip>], "type">;
|
|
15643
17160
|
export type WebhookEvent = z.infer<typeof webhookEventSchema>;
|
|
15644
17161
|
export type WebhookEventType = WebhookEvent["type"];
|
|
@@ -15648,5 +17165,33 @@ export type WebhookEventOf<T extends WebhookEventType> = WebhookEvent extends (i
|
|
|
15648
17165
|
} ? T extends U ? Omit<E, "type"> & {
|
|
15649
17166
|
type: T;
|
|
15650
17167
|
} : never : never : never;
|
|
17168
|
+
/**
|
|
17169
|
+
* 알려진 웹훅 이벤트 타입 — `webhookEventSchema`의 판별 값 목록(이 SDK 버전이 아는 것).
|
|
17170
|
+
* 서버는 새 타입을 구독한 엔드포인트에만 보내지만, 구독을 더 넓힌 수신자를 위해 `parseWebhookEvent`가 모르는 타입을 따로 받는다.
|
|
17171
|
+
*/
|
|
17172
|
+
export declare const KNOWN_WEBHOOK_EVENT_TYPES: readonly WebhookEventType[];
|
|
17173
|
+
/** 이 SDK 버전이 모르는 이벤트 — 봉투만 검증하고 `data`는 그대로 둔다 */
|
|
17174
|
+
export declare const unknownWebhookEventSchema: z.ZodObject<{
|
|
17175
|
+
type: z.ZodString;
|
|
17176
|
+
data: z.ZodUnknown;
|
|
17177
|
+
id: z.ZodString;
|
|
17178
|
+
createdAt: z.ZodString;
|
|
17179
|
+
storeId: z.ZodString;
|
|
17180
|
+
sequence: z.ZodOptional<z.ZodNumber>;
|
|
17181
|
+
}, z.core.$strip>;
|
|
17182
|
+
export type UnknownWebhookEvent = z.infer<typeof unknownWebhookEventSchema>;
|
|
17183
|
+
export type ParsedWebhookEvent = {
|
|
17184
|
+
known: true;
|
|
17185
|
+
event: WebhookEvent;
|
|
17186
|
+
} | {
|
|
17187
|
+
known: false;
|
|
17188
|
+
event: UnknownWebhookEvent;
|
|
17189
|
+
};
|
|
17190
|
+
/**
|
|
17191
|
+
* 웹훅 본문을 `type`으로 먼저 판별해 읽는다(이슈 #115 결정 25). 알려진 타입은 그 타입의 스키마로 엄격하게 읽고 틀리면 던진다 —
|
|
17192
|
+
* `z.union([known, unknown])`처럼 읽으면 알려진 타입의 파싱 실패가 `known: false`로 조용히 새어 수신자가 처리할 이벤트를 버린다.
|
|
17193
|
+
* 모르는 타입은 봉투만 검증해 `known: false`로 돌려준다(새 이벤트에 옛 SDK가 깨지지 않는다).
|
|
17194
|
+
*/
|
|
17195
|
+
export declare function parseWebhookEvent(body: unknown): ParsedWebhookEvent;
|
|
15651
17196
|
//#endregion
|
|
15652
17197
|
export { type AuthorizeOptions, type OAuthTokenResponse, type Query, type SessionStorage, type StoreAuthServer, type StoreClient, type StoreClientOptions, type StoreSession, type StoreSessionOptions, type TokenSource, WEBHOOK_DEFAULT_TOLERANCE_SEC, WEBHOOK_DELIVERY_ID_HEADER, WEBHOOK_EVENT_ID_HEADER, WEBHOOK_EVENT_TYPE_HEADER, WEBHOOK_HEADERS, WEBHOOK_SIGNATURE_HEADER, WEBHOOK_USER_AGENT };
|