@sayren/store-sdk 0.29.6 → 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 +1786 -227
- package/dist/index.mjs +581 -37
- 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/coupon.ts +29 -10
- 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
|
@@ -165,8 +165,8 @@ export declare const auditLogPageSchema: z.ZodObject<{
|
|
|
165
165
|
}, z.core.$strip>;
|
|
166
166
|
export type AuditLogPage = z.infer<typeof auditLogPageSchema>;
|
|
167
167
|
export declare const agentPolicyDecisionSchema: z.ZodEnum<{
|
|
168
|
-
APPROVAL_REQUIRED: "APPROVAL_REQUIRED";
|
|
169
168
|
DENIED: "DENIED";
|
|
169
|
+
APPROVAL_REQUIRED: "APPROVAL_REQUIRED";
|
|
170
170
|
ALLOW: "ALLOW";
|
|
171
171
|
}>;
|
|
172
172
|
export type AgentPolicyDecision = z.infer<typeof agentPolicyDecisionSchema>;
|
|
@@ -190,8 +190,8 @@ export type WritePreview = z.infer<typeof writePreviewSchema>;
|
|
|
190
190
|
export declare const writeDryRunResultSchema: z.ZodObject<{
|
|
191
191
|
dryRun: z.ZodLiteral<true>;
|
|
192
192
|
decision: z.ZodEnum<{
|
|
193
|
-
APPROVAL_REQUIRED: "APPROVAL_REQUIRED";
|
|
194
193
|
DENIED: "DENIED";
|
|
194
|
+
APPROVAL_REQUIRED: "APPROVAL_REQUIRED";
|
|
195
195
|
ALLOW: "ALLOW";
|
|
196
196
|
}>;
|
|
197
197
|
reason: z.ZodNullable<z.ZodString>;
|
|
@@ -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`.
|
|
@@ -2022,10 +2413,15 @@ export declare const couponStatusSchema: z.ZodEnum<{
|
|
|
2022
2413
|
ENDED: "ENDED";
|
|
2023
2414
|
}>;
|
|
2024
2415
|
export type CouponStatus = z.infer<typeof couponStatusSchema>;
|
|
2025
|
-
/**
|
|
2416
|
+
/**
|
|
2417
|
+
* 발급 방식 — 코드 입력·셀러 지급·다운로드(구매자가 받기)·회원가입 자동 지급(이슈 #110).
|
|
2418
|
+
* 응답(`couponSchema.issueMethod`)은 값이 늘 수 있어 문자열로 받는다. 이 enum은 요청 검증용이다.
|
|
2419
|
+
*/
|
|
2026
2420
|
export declare const couponIssueMethodSchema: z.ZodEnum<{
|
|
2027
2421
|
MANUAL: "MANUAL";
|
|
2028
2422
|
CODE: "CODE";
|
|
2423
|
+
DOWNLOAD: "DOWNLOAD";
|
|
2424
|
+
SIGNUP: "SIGNUP";
|
|
2029
2425
|
}>;
|
|
2030
2426
|
export type CouponIssueMethod = z.infer<typeof couponIssueMethodSchema>;
|
|
2031
2427
|
/** 코드 형식 — 영문·숫자·`-`·`_` 6~30자. 대소문자를 구분하지 않고 서버가 대문자로 저장한다 */
|
|
@@ -2078,6 +2474,8 @@ export declare const createCouponRequestSchema: z.ZodObject<{
|
|
|
2078
2474
|
issueMethod: z.ZodEnum<{
|
|
2079
2475
|
MANUAL: "MANUAL";
|
|
2080
2476
|
CODE: "CODE";
|
|
2477
|
+
DOWNLOAD: "DOWNLOAD";
|
|
2478
|
+
SIGNUP: "SIGNUP";
|
|
2081
2479
|
}>;
|
|
2082
2480
|
code: z.ZodOptional<z.ZodString>;
|
|
2083
2481
|
startsAt: z.ZodOptional<z.ZodNullable<z.ZodISODateTime>>;
|
|
@@ -2196,6 +2594,8 @@ export declare const couponListQuerySchema: z.ZodObject<{
|
|
|
2196
2594
|
issueMethod: z.ZodOptional<z.ZodEnum<{
|
|
2197
2595
|
MANUAL: "MANUAL";
|
|
2198
2596
|
CODE: "CODE";
|
|
2597
|
+
DOWNLOAD: "DOWNLOAD";
|
|
2598
|
+
SIGNUP: "SIGNUP";
|
|
2199
2599
|
}>>;
|
|
2200
2600
|
q: z.ZodOptional<z.ZodString>;
|
|
2201
2601
|
}, z.core.$strip>;
|
|
@@ -2206,6 +2606,7 @@ export declare const couponIssueSchema: z.ZodObject<{
|
|
|
2206
2606
|
couponId: z.ZodString;
|
|
2207
2607
|
customerId: z.ZodString;
|
|
2208
2608
|
customerName: z.ZodNullable<z.ZodString>;
|
|
2609
|
+
source: z.ZodOptional<z.ZodString>;
|
|
2209
2610
|
status: z.ZodString;
|
|
2210
2611
|
validFrom: z.ZodString;
|
|
2211
2612
|
validUntil: z.ZodNullable<z.ZodString>;
|
|
@@ -2284,6 +2685,7 @@ export declare const customerCouponSchema: z.ZodObject<{
|
|
|
2284
2685
|
couponId: z.ZodString;
|
|
2285
2686
|
customerId: z.ZodString;
|
|
2286
2687
|
customerName: z.ZodNullable<z.ZodString>;
|
|
2688
|
+
source: z.ZodOptional<z.ZodString>;
|
|
2287
2689
|
status: z.ZodString;
|
|
2288
2690
|
validFrom: z.ZodString;
|
|
2289
2691
|
validUntil: z.ZodNullable<z.ZodString>;
|
|
@@ -2384,8 +2786,8 @@ export type ConsentAction = z.infer<typeof consentActionSchema>;
|
|
|
2384
2786
|
* `RECONSENT` 약관 개정 재동의 · `MEMBER_UPDATE` 구매자가 직접 변경 · `SELLER` 셀러가 처리
|
|
2385
2787
|
*/
|
|
2386
2788
|
export declare const consentSourceSchema: z.ZodEnum<{
|
|
2387
|
-
SELLER: "SELLER";
|
|
2388
2789
|
SIGNUP: "SIGNUP";
|
|
2790
|
+
SELLER: "SELLER";
|
|
2389
2791
|
SOCIAL_SIGNUP: "SOCIAL_SIGNUP";
|
|
2390
2792
|
DELEGATED: "DELEGATED";
|
|
2391
2793
|
RECONSENT: "RECONSENT";
|
|
@@ -2407,8 +2809,8 @@ export declare const customerConsentSchema: z.ZodObject<{
|
|
|
2407
2809
|
AGREED: "AGREED";
|
|
2408
2810
|
}>;
|
|
2409
2811
|
source: z.ZodEnum<{
|
|
2410
|
-
SELLER: "SELLER";
|
|
2411
2812
|
SIGNUP: "SIGNUP";
|
|
2813
|
+
SELLER: "SELLER";
|
|
2412
2814
|
SOCIAL_SIGNUP: "SOCIAL_SIGNUP";
|
|
2413
2815
|
DELEGATED: "DELEGATED";
|
|
2414
2816
|
RECONSENT: "RECONSENT";
|
|
@@ -2611,7 +3013,341 @@ export declare const customerWithdrawalBlockedDetailsSchema: z.ZodObject<{
|
|
|
2611
3013
|
openClaims: z.ZodNumber;
|
|
2612
3014
|
pendingPayments: z.ZodNumber;
|
|
2613
3015
|
}, z.core.$strip>;
|
|
2614
|
-
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>;
|
|
2615
3351
|
//#endregion
|
|
2616
3352
|
//#region src/schemas/login.d.ts
|
|
2617
3353
|
/** 소셜 로그인 공급자 */
|
|
@@ -2884,6 +3620,7 @@ export declare const eventTypeSchema: z.ZodEnum<{
|
|
|
2884
3620
|
"INQUIRY.CREATED": "INQUIRY.CREATED";
|
|
2885
3621
|
"REVIEW.CREATED": "REVIEW.CREATED";
|
|
2886
3622
|
"PRODUCT.OUT_OF_STOCK": "PRODUCT.OUT_OF_STOCK";
|
|
3623
|
+
"ORDER.FLOW_NOTIFICATION": "ORDER.FLOW_NOTIFICATION";
|
|
2887
3624
|
}>;
|
|
2888
3625
|
export type EventType = z.infer<typeof eventTypeSchema>;
|
|
2889
3626
|
export declare const webhookStatusSchema: z.ZodEnum<{
|
|
@@ -2910,6 +3647,7 @@ export declare const webhookSchema: z.ZodObject<{
|
|
|
2910
3647
|
"INQUIRY.CREATED": "INQUIRY.CREATED";
|
|
2911
3648
|
"REVIEW.CREATED": "REVIEW.CREATED";
|
|
2912
3649
|
"PRODUCT.OUT_OF_STOCK": "PRODUCT.OUT_OF_STOCK";
|
|
3650
|
+
"ORDER.FLOW_NOTIFICATION": "ORDER.FLOW_NOTIFICATION";
|
|
2913
3651
|
}>>;
|
|
2914
3652
|
status: z.ZodEnum<{
|
|
2915
3653
|
SUSPENDED: "SUSPENDED";
|
|
@@ -2940,6 +3678,7 @@ export declare const webhookCreatedSchema: z.ZodObject<{
|
|
|
2940
3678
|
"INQUIRY.CREATED": "INQUIRY.CREATED";
|
|
2941
3679
|
"REVIEW.CREATED": "REVIEW.CREATED";
|
|
2942
3680
|
"PRODUCT.OUT_OF_STOCK": "PRODUCT.OUT_OF_STOCK";
|
|
3681
|
+
"ORDER.FLOW_NOTIFICATION": "ORDER.FLOW_NOTIFICATION";
|
|
2943
3682
|
}>>;
|
|
2944
3683
|
status: z.ZodEnum<{
|
|
2945
3684
|
SUSPENDED: "SUSPENDED";
|
|
@@ -3020,6 +3759,7 @@ export declare const webhookDeliverySchema: z.ZodObject<{
|
|
|
3020
3759
|
"INQUIRY.CREATED": "INQUIRY.CREATED";
|
|
3021
3760
|
"REVIEW.CREATED": "REVIEW.CREATED";
|
|
3022
3761
|
"PRODUCT.OUT_OF_STOCK": "PRODUCT.OUT_OF_STOCK";
|
|
3762
|
+
"ORDER.FLOW_NOTIFICATION": "ORDER.FLOW_NOTIFICATION";
|
|
3023
3763
|
}>;
|
|
3024
3764
|
url: z.ZodString;
|
|
3025
3765
|
status: z.ZodEnum<{
|
|
@@ -3073,6 +3813,7 @@ export declare const webhookDeliveryDetailSchema: z.ZodObject<{
|
|
|
3073
3813
|
"INQUIRY.CREATED": "INQUIRY.CREATED";
|
|
3074
3814
|
"REVIEW.CREATED": "REVIEW.CREATED";
|
|
3075
3815
|
"PRODUCT.OUT_OF_STOCK": "PRODUCT.OUT_OF_STOCK";
|
|
3816
|
+
"ORDER.FLOW_NOTIFICATION": "ORDER.FLOW_NOTIFICATION";
|
|
3076
3817
|
}>;
|
|
3077
3818
|
url: z.ZodString;
|
|
3078
3819
|
status: z.ZodEnum<{
|
|
@@ -3135,6 +3876,7 @@ export declare const webhookDeliveryListQuerySchema: z.ZodObject<{
|
|
|
3135
3876
|
"INQUIRY.CREATED": "INQUIRY.CREATED";
|
|
3136
3877
|
"REVIEW.CREATED": "REVIEW.CREATED";
|
|
3137
3878
|
"PRODUCT.OUT_OF_STOCK": "PRODUCT.OUT_OF_STOCK";
|
|
3879
|
+
"ORDER.FLOW_NOTIFICATION": "ORDER.FLOW_NOTIFICATION";
|
|
3138
3880
|
}>>;
|
|
3139
3881
|
resourceId: z.ZodOptional<z.ZodString>;
|
|
3140
3882
|
limit: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
|
|
@@ -3162,6 +3904,7 @@ export declare const webhookTestRequestSchema: z.ZodObject<{
|
|
|
3162
3904
|
"INQUIRY.CREATED": "INQUIRY.CREATED";
|
|
3163
3905
|
"REVIEW.CREATED": "REVIEW.CREATED";
|
|
3164
3906
|
"PRODUCT.OUT_OF_STOCK": "PRODUCT.OUT_OF_STOCK";
|
|
3907
|
+
"ORDER.FLOW_NOTIFICATION": "ORDER.FLOW_NOTIFICATION";
|
|
3165
3908
|
}>;
|
|
3166
3909
|
}, z.core.$strip>;
|
|
3167
3910
|
export type WebhookTestRequest = z.infer<typeof webhookTestRequestSchema>;
|
|
@@ -3203,6 +3946,7 @@ export declare const webhookRequestSchema: z.ZodObject<{
|
|
|
3203
3946
|
"INQUIRY.CREATED": "INQUIRY.CREATED";
|
|
3204
3947
|
"REVIEW.CREATED": "REVIEW.CREATED";
|
|
3205
3948
|
"PRODUCT.OUT_OF_STOCK": "PRODUCT.OUT_OF_STOCK";
|
|
3949
|
+
"ORDER.FLOW_NOTIFICATION": "ORDER.FLOW_NOTIFICATION";
|
|
3206
3950
|
}>>;
|
|
3207
3951
|
}, z.core.$strip>;
|
|
3208
3952
|
export type WebhookRequest = z.infer<typeof webhookRequestSchema>;
|
|
@@ -3275,208 +4019,6 @@ export declare const reviewReportResultSchema: z.ZodObject<{
|
|
|
3275
4019
|
}, z.core.$strip>;
|
|
3276
4020
|
export type ReviewReportResult = z.infer<typeof reviewReportResultSchema>;
|
|
3277
4021
|
//#endregion
|
|
3278
|
-
//#region src/schemas/fulfillment.d.ts
|
|
3279
|
-
/**
|
|
3280
|
-
* 상품 유형 (이슈 #48·#57) — 배송이 필요한 상품과 필요 없는 상품을 가르는 축이다.
|
|
3281
|
-
*
|
|
3282
|
-
* **상품 유형은 이행 방식 하나로 표현한다.** `fulfillment.type`이 배송 필요 여부, 이행 흐름, 클레임 규칙을 정한다.
|
|
3283
|
-
* 코드 곳곳에서 유형 이름으로 분기하지 않고 이 파일의 판정 함수(`requiresShipping`·`fulfillmentRuleOf`)를 지난다.
|
|
3284
|
-
*
|
|
3285
|
-
* 주문상품 상태 enum은 바꾸지 않는다. 비실물의 **제공 완료는 `DELIVERED`를 재사용한다** — 새 상태를 더하면 기존 소비자의
|
|
3286
|
-
* 상태 분기(배송완료 뒤 구매확정 대기, 반품 가능 판정)가 새 값을 모른다. 표시는 유형으로 가른다.
|
|
3287
|
-
*/
|
|
3288
|
-
/**
|
|
3289
|
-
* 상품 유형.
|
|
3290
|
-
* - `SHIPPING` 배송 상품. 택배로 발송하고 송장·배송 추적으로 배송완료가 된다
|
|
3291
|
-
* - `MANUAL` 배송 없는 상품(비실물). 셀러가 제공 처리(`POST /v1/order-items/{orderItemId}/fulfill`)로 제공 완료를 기록한다
|
|
3292
|
-
*
|
|
3293
|
-
* 비실물의 세부 구분(파일 다운로드·코드 발급·이용권·방문 수령)은 2026-09-28에 제품에서 뺐다(이슈 #48 범위 축소).
|
|
3294
|
-
* 이름은 이행 방식이다 — `SHIPPING`이 택배 발송이듯 `MANUAL`은 셀러가 직접 제공한다는 뜻이다.
|
|
3295
|
-
*/
|
|
3296
|
-
export declare const fulfillmentTypeSchema: z.ZodEnum<{
|
|
3297
|
-
SHIPPING: "SHIPPING";
|
|
3298
|
-
MANUAL: "MANUAL";
|
|
3299
|
-
}>;
|
|
3300
|
-
export type FulfillmentType = z.infer<typeof fulfillmentTypeSchema>;
|
|
3301
|
-
/**
|
|
3302
|
-
* 응답 스키마용 유형 — 서버가 나중에 유형을 더해도 옛 SDK가 응답 파싱에서 깨지지 않게 문자열로 받는다.
|
|
3303
|
-
* 요청은 `fulfillmentTypeSchema`(닫힌 enum)로 검증한다.
|
|
3304
|
-
*/
|
|
3305
|
-
export declare const fulfillmentTypeResponseSchema: z.ZodString;
|
|
3306
|
-
/** 유형 하나의 규칙 — 배송·클레임이 이 표를 읽는다 */
|
|
3307
|
-
export interface FulfillmentRule {
|
|
3308
|
-
/** 택배 배송이 필요한가 — 배송비·배송지·발송 흐름의 대상인가 */
|
|
3309
|
-
requiresShipping: boolean;
|
|
3310
|
-
/** 반품에 수거가 필요한가 — 실물만 수거한다 */
|
|
3311
|
-
requiresCollection: boolean;
|
|
3312
|
-
/** 교환을 받는가 — 실물만 받는다 */
|
|
3313
|
-
exchangeSupported: boolean;
|
|
3314
|
-
}
|
|
3315
|
-
/** 유형별 규칙표 — **유일한 원천이다.** */
|
|
3316
|
-
export declare const FULFILLMENT_RULES: Readonly<Record<FulfillmentType, FulfillmentRule>>;
|
|
3317
|
-
/**
|
|
3318
|
-
* 저장된 값 → 유형. null·모르는 값은 `SHIPPING`이다 — 이 필드 이전의 상품·주문상품은 모두 배송 상품이었다.
|
|
3319
|
-
*/
|
|
3320
|
-
export declare function fulfillmentTypeOf(value: string | null | undefined): FulfillmentType;
|
|
3321
|
-
/** 유형의 규칙 — 모르는 값은 배송 상품 규칙이다 */
|
|
3322
|
-
export declare function fulfillmentRuleOf(type: string | null | undefined): FulfillmentRule;
|
|
3323
|
-
/** 택배 배송이 필요한가 — 배송비 묶음·배송지·발송 흐름의 판정은 이 함수 하나를 지난다 */
|
|
3324
|
-
export declare function requiresShipping(type: string | null | undefined): boolean;
|
|
3325
|
-
/** 반품에 수거가 필요한가 — 비실물 반품은 수거 등록·수거 완료 없이 승인한다 */
|
|
3326
|
-
export declare function requiresCollection(type: string | null | undefined): boolean;
|
|
3327
|
-
/**
|
|
3328
|
-
* 배송이 없는 주문상품의 배송 묶음 키 (`order_items.delivery_bundle_key`).
|
|
3329
|
-
*
|
|
3330
|
-
* null로 두면 환불 정산이 #29 이전 주문의 레거시 폴백(「묶음 = 같은 상품」, 상품의 **현재** 배송비)을 탄다.
|
|
3331
|
-
* 이 키를 만나면 배송비 환불·차감이 0이고 `orders.delivery_fee_settlements`에 항목을 만들지 않는다.
|
|
3332
|
-
* 정책 지문 키(`b:…`)와 겹치지 않는다.
|
|
3333
|
-
*/
|
|
3334
|
-
export declare const NO_SHIPPING_BUNDLE_KEY = "none";
|
|
3335
|
-
/** 배송비 유형 — 무료·유료·조건부 무료 */
|
|
3336
|
-
export declare const deliveryTypeSchema: z.ZodEnum<{
|
|
3337
|
-
FREE: "FREE";
|
|
3338
|
-
PAID: "PAID";
|
|
3339
|
-
CONDITIONAL_FREE: "CONDITIONAL_FREE";
|
|
3340
|
-
}>;
|
|
3341
|
-
export type DeliveryType = z.infer<typeof deliveryTypeSchema>;
|
|
3342
|
-
/**
|
|
3343
|
-
* 상품 이행 — 등록(POST). 배송 상품의 `shipping`을 생략하면 기본값(유료 배송·상점 기본 배송비·기본 출고지·반품지)이다.
|
|
3344
|
-
*/
|
|
3345
|
-
export declare const productFulfillmentCreateSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
3346
|
-
type: z.ZodLiteral<"SHIPPING">;
|
|
3347
|
-
shipping: z.ZodOptional<z.ZodObject<{
|
|
3348
|
-
deliveryType: z.ZodDefault<z.ZodEnum<{
|
|
3349
|
-
FREE: "FREE";
|
|
3350
|
-
PAID: "PAID";
|
|
3351
|
-
CONDITIONAL_FREE: "CONDITIONAL_FREE";
|
|
3352
|
-
}>>;
|
|
3353
|
-
deliveryFee: z.ZodOptional<z.ZodNumber>;
|
|
3354
|
-
conditionalFreeAmount: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
3355
|
-
shippingAddressId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
3356
|
-
returnAddressId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
3357
|
-
}, z.core.$strict>>;
|
|
3358
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
3359
|
-
type: z.ZodLiteral<"MANUAL">;
|
|
3360
|
-
}, z.core.$strict>], "type">;
|
|
3361
|
-
export type ProductFulfillmentCreate = z.infer<typeof productFulfillmentCreateSchema>;
|
|
3362
|
-
/** 등록 요청의 입력 모양 — 기본값이 채워지기 전(생략 가능한 필드가 optional) */
|
|
3363
|
-
export type ProductFulfillmentCreateInput = z.input<typeof productFulfillmentCreateSchema>;
|
|
3364
|
-
/**
|
|
3365
|
-
* 상품 이행 — 수정(PUT·PATCH). 통째 교체이고 유형 키와 그 안의 필드가 **모두 필수**다. 서버는 현재 값과 병합하지 않는다.
|
|
3366
|
-
* `fulfillment` 자체를 생략하면 이행을 바꾸지 않는다.
|
|
3367
|
-
*/
|
|
3368
|
-
export declare const productFulfillmentUpdateSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
3369
|
-
type: z.ZodLiteral<"SHIPPING">;
|
|
3370
|
-
shipping: z.ZodObject<{
|
|
3371
|
-
deliveryType: z.ZodEnum<{
|
|
3372
|
-
FREE: "FREE";
|
|
3373
|
-
PAID: "PAID";
|
|
3374
|
-
CONDITIONAL_FREE: "CONDITIONAL_FREE";
|
|
3375
|
-
}>;
|
|
3376
|
-
deliveryFee: z.ZodNumber;
|
|
3377
|
-
conditionalFreeAmount: z.ZodNullable<z.ZodNumber>;
|
|
3378
|
-
shippingAddressId: z.ZodNullable<z.ZodString>;
|
|
3379
|
-
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
3380
|
-
}, z.core.$strict>;
|
|
3381
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
3382
|
-
type: z.ZodLiteral<"MANUAL">;
|
|
3383
|
-
}, z.core.$strict>], "type">;
|
|
3384
|
-
export type ProductFulfillmentUpdate = z.infer<typeof productFulfillmentUpdateSchema>;
|
|
3385
|
-
/**
|
|
3386
|
-
* 저장된 상품 이행 — 알려진 유형의 닫힌 유니온. 서버의 상품 엔티티와 응답이 이 모양을 쓴다.
|
|
3387
|
-
* 응답 파싱은 `productFulfillmentResponseSchema`(열린 유니온)를 쓴다.
|
|
3388
|
-
*/
|
|
3389
|
-
export declare const productFulfillmentSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
3390
|
-
type: z.ZodLiteral<"SHIPPING">;
|
|
3391
|
-
shipping: z.ZodObject<{
|
|
3392
|
-
deliveryType: z.ZodEnum<{
|
|
3393
|
-
FREE: "FREE";
|
|
3394
|
-
PAID: "PAID";
|
|
3395
|
-
CONDITIONAL_FREE: "CONDITIONAL_FREE";
|
|
3396
|
-
}>;
|
|
3397
|
-
deliveryFee: z.ZodNumber;
|
|
3398
|
-
conditionalFreeAmount: z.ZodNullable<z.ZodNumber>;
|
|
3399
|
-
shippingAddressId: z.ZodNullable<z.ZodString>;
|
|
3400
|
-
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
3401
|
-
}, z.core.$strip>;
|
|
3402
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
3403
|
-
type: z.ZodLiteral<"MANUAL">;
|
|
3404
|
-
}, z.core.$strip>], "type">;
|
|
3405
|
-
export type ProductFulfillment = z.infer<typeof productFulfillmentSchema>;
|
|
3406
|
-
/** 유형 이름 → 그 유형의 저장된 이행 */
|
|
3407
|
-
export type ProductFulfillmentOf<T extends FulfillmentType> = Extract<ProductFulfillment, {
|
|
3408
|
-
type: T;
|
|
3409
|
-
}>;
|
|
3410
|
-
/** 응답이 알려 주는 모르는 유형 — SDK가 아직 모르는 유형(서버가 나중에 더한 유형) */
|
|
3411
|
-
export interface UnknownFulfillment {
|
|
3412
|
-
type: "OTHER";
|
|
3413
|
-
/** 서버가 보낸 유형 이름 */
|
|
3414
|
-
rawType: string;
|
|
3415
|
-
}
|
|
3416
|
-
/**
|
|
3417
|
-
* 열린 응답 유니온 — 알려진 유형은 판별 유니온으로 검사하고, **모르는 유형만** `{ type: "OTHER", rawType }`로 읽는다.
|
|
3418
|
-
*
|
|
3419
|
-
* `type: z.string()` 가지를 그대로 두면 TS가 `type === "SHIPPING"`으로 좁혀도 문자열 가지가 남는다. `OTHER` 리터럴로 바꿔 좁히기를
|
|
3420
|
-
* 지킨다. 알려진 유형의 모양이 틀린 응답은 폴백으로 숨기지 않고 파싱 오류로 둔다.
|
|
3421
|
-
*/
|
|
3422
|
-
export declare function openFulfillmentUnion<T extends z.ZodType>(known: T): z.ZodUnion<readonly [T, z.ZodPipe<z.ZodObject<{
|
|
3423
|
-
type: z.ZodString;
|
|
3424
|
-
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
3425
|
-
[x: string]: unknown;
|
|
3426
|
-
type: string;
|
|
3427
|
-
}>>]>;
|
|
3428
|
-
export declare const productFulfillmentResponseSchema: z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
3429
|
-
type: z.ZodLiteral<"SHIPPING">;
|
|
3430
|
-
shipping: z.ZodObject<{
|
|
3431
|
-
deliveryType: z.ZodEnum<{
|
|
3432
|
-
FREE: "FREE";
|
|
3433
|
-
PAID: "PAID";
|
|
3434
|
-
CONDITIONAL_FREE: "CONDITIONAL_FREE";
|
|
3435
|
-
}>;
|
|
3436
|
-
deliveryFee: z.ZodNumber;
|
|
3437
|
-
conditionalFreeAmount: z.ZodNullable<z.ZodNumber>;
|
|
3438
|
-
shippingAddressId: z.ZodNullable<z.ZodString>;
|
|
3439
|
-
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
3440
|
-
}, z.core.$strip>;
|
|
3441
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
3442
|
-
type: z.ZodLiteral<"MANUAL">;
|
|
3443
|
-
}, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
|
|
3444
|
-
type: z.ZodString;
|
|
3445
|
-
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
3446
|
-
[x: string]: unknown;
|
|
3447
|
-
type: string;
|
|
3448
|
-
}>>]>;
|
|
3449
|
-
export type ProductFulfillmentView = z.infer<typeof productFulfillmentResponseSchema>;
|
|
3450
|
-
/**
|
|
3451
|
-
* 주문상품의 주문 시점 이행 — 결제 확정이 주문서 줄에서 굳힌다. 상품의 현재 값이 아니다. 서버는 주문상품 컬럼
|
|
3452
|
-
* (`fulfillment_type`·`delivery_bundle_key`)과 jsonb(`fulfillment_snapshot`)를 합쳐 이 모양을 만든다.
|
|
3453
|
-
*/
|
|
3454
|
-
export declare const orderItemFulfillmentSnapshotSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
3455
|
-
type: z.ZodLiteral<"SHIPPING">;
|
|
3456
|
-
shipping: z.ZodObject<{
|
|
3457
|
-
bundleKey: z.ZodNullable<z.ZodString>;
|
|
3458
|
-
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
3459
|
-
}, z.core.$strip>;
|
|
3460
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
3461
|
-
type: z.ZodLiteral<"MANUAL">;
|
|
3462
|
-
}, z.core.$strip>], "type">;
|
|
3463
|
-
export type OrderItemFulfillmentSnapshot = z.infer<typeof orderItemFulfillmentSnapshotSchema>;
|
|
3464
|
-
export declare const orderItemFulfillmentSnapshotResponseSchema: z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
3465
|
-
type: z.ZodLiteral<"SHIPPING">;
|
|
3466
|
-
shipping: z.ZodObject<{
|
|
3467
|
-
bundleKey: z.ZodNullable<z.ZodString>;
|
|
3468
|
-
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
3469
|
-
}, z.core.$strip>;
|
|
3470
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
3471
|
-
type: z.ZodLiteral<"MANUAL">;
|
|
3472
|
-
}, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
|
|
3473
|
-
type: z.ZodString;
|
|
3474
|
-
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
3475
|
-
[x: string]: unknown;
|
|
3476
|
-
type: string;
|
|
3477
|
-
}>>]>;
|
|
3478
|
-
export type OrderItemFulfillmentSnapshotView = z.infer<typeof orderItemFulfillmentSnapshotResponseSchema>;
|
|
3479
|
-
//#endregion
|
|
3480
4022
|
//#region src/schemas/order.d.ts
|
|
3481
4023
|
export declare const orderSummarySchema: z.ZodObject<{
|
|
3482
4024
|
orderId: z.ZodString;
|
|
@@ -3548,7 +4090,17 @@ export declare const orderItemSchema: z.ZodObject<{
|
|
|
3548
4090
|
customInputs: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
3549
4091
|
label: z.ZodString;
|
|
3550
4092
|
value: z.ZodString;
|
|
4093
|
+
key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
4094
|
+
type: z.ZodOptional<z.ZodString>;
|
|
3551
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>>;
|
|
3552
4104
|
sellerCode: z.ZodNullable<z.ZodString>;
|
|
3553
4105
|
fulfillmentSnapshot: z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
3554
4106
|
type: z.ZodLiteral<"SHIPPING">;
|
|
@@ -3556,8 +4108,24 @@ export declare const orderItemSchema: z.ZodObject<{
|
|
|
3556
4108
|
bundleKey: z.ZodNullable<z.ZodString>;
|
|
3557
4109
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
3558
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>>;
|
|
3559
4119
|
}, z.core.$strip>, z.ZodObject<{
|
|
3560
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>>;
|
|
3561
4129
|
}, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
|
|
3562
4130
|
type: z.ZodString;
|
|
3563
4131
|
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
@@ -3711,7 +4279,17 @@ export declare const orderSchema: z.ZodObject<{
|
|
|
3711
4279
|
customInputs: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
3712
4280
|
label: z.ZodString;
|
|
3713
4281
|
value: z.ZodString;
|
|
4282
|
+
key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
4283
|
+
type: z.ZodOptional<z.ZodString>;
|
|
3714
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>>;
|
|
3715
4293
|
sellerCode: z.ZodNullable<z.ZodString>;
|
|
3716
4294
|
fulfillmentSnapshot: z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
3717
4295
|
type: z.ZodLiteral<"SHIPPING">;
|
|
@@ -3719,8 +4297,24 @@ export declare const orderSchema: z.ZodObject<{
|
|
|
3719
4297
|
bundleKey: z.ZodNullable<z.ZodString>;
|
|
3720
4298
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
3721
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>>;
|
|
3722
4308
|
}, z.core.$strip>, z.ZodObject<{
|
|
3723
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>>;
|
|
3724
4318
|
}, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
|
|
3725
4319
|
type: z.ZodString;
|
|
3726
4320
|
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
@@ -3830,7 +4424,17 @@ export declare const orderItemPageSchema: z.ZodObject<{
|
|
|
3830
4424
|
customInputs: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
3831
4425
|
label: z.ZodString;
|
|
3832
4426
|
value: z.ZodString;
|
|
4427
|
+
key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
4428
|
+
type: z.ZodOptional<z.ZodString>;
|
|
3833
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>>;
|
|
3834
4438
|
sellerCode: z.ZodNullable<z.ZodString>;
|
|
3835
4439
|
fulfillmentSnapshot: z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
3836
4440
|
type: z.ZodLiteral<"SHIPPING">;
|
|
@@ -3838,8 +4442,24 @@ export declare const orderItemPageSchema: z.ZodObject<{
|
|
|
3838
4442
|
bundleKey: z.ZodNullable<z.ZodString>;
|
|
3839
4443
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
3840
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>>;
|
|
3841
4453
|
}, z.core.$strip>, z.ZodObject<{
|
|
3842
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>>;
|
|
3843
4463
|
}, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
|
|
3844
4464
|
type: z.ZodString;
|
|
3845
4465
|
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
@@ -3959,16 +4579,16 @@ export interface OrderItemListParams extends PageParams {
|
|
|
3959
4579
|
testPayment?: "true" | "false";
|
|
3960
4580
|
}
|
|
3961
4581
|
export declare const deliveryMethodSchema: z.ZodEnum<{
|
|
3962
|
-
COURIER: "COURIER";
|
|
3963
4582
|
DIRECT: "DIRECT";
|
|
4583
|
+
COURIER: "COURIER";
|
|
3964
4584
|
QUICK: "QUICK";
|
|
3965
4585
|
NOTHING: "NOTHING";
|
|
3966
4586
|
}>;
|
|
3967
4587
|
export type DeliveryMethod = z.infer<typeof deliveryMethodSchema>;
|
|
3968
4588
|
export declare const dispatchRequestSchema: z.ZodObject<{
|
|
3969
4589
|
deliveryMethod: z.ZodEnum<{
|
|
3970
|
-
COURIER: "COURIER";
|
|
3971
4590
|
DIRECT: "DIRECT";
|
|
4591
|
+
COURIER: "COURIER";
|
|
3972
4592
|
QUICK: "QUICK";
|
|
3973
4593
|
NOTHING: "NOTHING";
|
|
3974
4594
|
}>;
|
|
@@ -3980,8 +4600,8 @@ export type DispatchRequest = z.infer<typeof dispatchRequestSchema>;
|
|
|
3980
4600
|
export declare const deliveryInfoSchema: z.ZodObject<{
|
|
3981
4601
|
orderItemId: z.ZodString;
|
|
3982
4602
|
deliveryMethod: z.ZodEnum<{
|
|
3983
|
-
COURIER: "COURIER";
|
|
3984
4603
|
DIRECT: "DIRECT";
|
|
4604
|
+
COURIER: "COURIER";
|
|
3985
4605
|
QUICK: "QUICK";
|
|
3986
4606
|
NOTHING: "NOTHING";
|
|
3987
4607
|
}>;
|
|
@@ -4007,8 +4627,8 @@ export declare const trackingStageResponseSchema: z.ZodString;
|
|
|
4007
4627
|
export declare const deliveryStatusSchema: z.ZodObject<{
|
|
4008
4628
|
orderItemId: z.ZodString;
|
|
4009
4629
|
deliveryMethod: z.ZodEnum<{
|
|
4010
|
-
COURIER: "COURIER";
|
|
4011
4630
|
DIRECT: "DIRECT";
|
|
4631
|
+
COURIER: "COURIER";
|
|
4012
4632
|
QUICK: "QUICK";
|
|
4013
4633
|
NOTHING: "NOTHING";
|
|
4014
4634
|
}>;
|
|
@@ -5532,6 +6152,7 @@ export declare const productVariantSchema: z.ZodObject<{
|
|
|
5532
6152
|
weightGram: z.ZodNullable<z.ZodNumber>;
|
|
5533
6153
|
sellerCode: z.ZodNullable<z.ZodString>;
|
|
5534
6154
|
usable: z.ZodBoolean;
|
|
6155
|
+
attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
5535
6156
|
hasOrders: z.ZodOptional<z.ZodBoolean>;
|
|
5536
6157
|
}, z.core.$strip>;
|
|
5537
6158
|
export type ProductVariant = z.infer<typeof productVariantSchema>;
|
|
@@ -5584,6 +6205,12 @@ export declare const addonGroupSchema: z.ZodObject<{
|
|
|
5584
6205
|
}, z.core.$strip>>;
|
|
5585
6206
|
}, z.core.$strip>;
|
|
5586
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"];
|
|
5587
6214
|
/** 직접 입력 항목 — 예: 각인 문구 */
|
|
5588
6215
|
export declare const customInputSchema: z.ZodObject<{
|
|
5589
6216
|
inputId: z.ZodString;
|
|
@@ -5593,6 +6220,9 @@ export declare const customInputSchema: z.ZodObject<{
|
|
|
5593
6220
|
required: z.ZodBoolean;
|
|
5594
6221
|
usable: z.ZodBoolean;
|
|
5595
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>>>;
|
|
5596
6226
|
}, z.core.$strip>;
|
|
5597
6227
|
export type CustomInput = z.infer<typeof customInputSchema>;
|
|
5598
6228
|
/**
|
|
@@ -5631,6 +6261,16 @@ export declare const customInputRequestSchema: z.ZodObject<{
|
|
|
5631
6261
|
maxLength: z.ZodNumber;
|
|
5632
6262
|
required: z.ZodDefault<z.ZodBoolean>;
|
|
5633
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>>>;
|
|
5634
6274
|
}, z.core.$strip>;
|
|
5635
6275
|
export type CustomInputRequest = z.infer<typeof customInputRequestSchema>;
|
|
5636
6276
|
/**
|
|
@@ -5648,6 +6288,8 @@ export type OptionSelection = z.infer<typeof optionSelectionSchema>;
|
|
|
5648
6288
|
export declare const customInputValueSchema: z.ZodObject<{
|
|
5649
6289
|
label: z.ZodString;
|
|
5650
6290
|
value: z.ZodString;
|
|
6291
|
+
key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
6292
|
+
type: z.ZodOptional<z.ZodString>;
|
|
5651
6293
|
}, z.core.$strip>;
|
|
5652
6294
|
export type CustomInputValue = z.infer<typeof customInputValueSchema>;
|
|
5653
6295
|
export declare const discountSchema: z.ZodObject<{
|
|
@@ -5712,6 +6354,7 @@ export declare const productSchema: z.ZodObject<{
|
|
|
5712
6354
|
weightGram: z.ZodNullable<z.ZodNumber>;
|
|
5713
6355
|
sellerCode: z.ZodNullable<z.ZodString>;
|
|
5714
6356
|
usable: z.ZodBoolean;
|
|
6357
|
+
attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
5715
6358
|
hasOrders: z.ZodOptional<z.ZodBoolean>;
|
|
5716
6359
|
}, z.core.$strip>>;
|
|
5717
6360
|
addonGroups: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
@@ -5735,6 +6378,9 @@ export declare const productSchema: z.ZodObject<{
|
|
|
5735
6378
|
required: z.ZodBoolean;
|
|
5736
6379
|
usable: z.ZodBoolean;
|
|
5737
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>>>;
|
|
5738
6384
|
}, z.core.$strip>>>>;
|
|
5739
6385
|
optionSort: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
5740
6386
|
REGISTERED: "REGISTERED";
|
|
@@ -5755,14 +6401,17 @@ export declare const productSchema: z.ZodObject<{
|
|
|
5755
6401
|
shippingAddressId: z.ZodNullable<z.ZodString>;
|
|
5756
6402
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
5757
6403
|
}, z.core.$strip>;
|
|
6404
|
+
methods: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
5758
6405
|
}, z.core.$strip>, z.ZodObject<{
|
|
5759
6406
|
type: z.ZodLiteral<"MANUAL">;
|
|
6407
|
+
methods: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
5760
6408
|
}, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
|
|
5761
6409
|
type: z.ZodString;
|
|
5762
6410
|
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
5763
6411
|
[x: string]: unknown;
|
|
5764
6412
|
type: string;
|
|
5765
6413
|
}>>]>;
|
|
6414
|
+
inventoryMode: z.ZodOptional<z.ZodString>;
|
|
5766
6415
|
fulfillmentTypeLocked: z.ZodBoolean;
|
|
5767
6416
|
refundPolicy: z.ZodNullable<z.ZodObject<{
|
|
5768
6417
|
preShipmentDeliveryFeeRefund: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -5837,6 +6486,7 @@ export declare const productVariantRequestSchema: z.ZodObject<{
|
|
|
5837
6486
|
weightGram: z.ZodOptional<z.ZodNumber>;
|
|
5838
6487
|
sellerCode: z.ZodOptional<z.ZodString>;
|
|
5839
6488
|
usable: z.ZodDefault<z.ZodBoolean>;
|
|
6489
|
+
attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
5840
6490
|
}, z.core.$strip>;
|
|
5841
6491
|
export type ProductVariantRequest = z.infer<typeof productVariantRequestSchema>;
|
|
5842
6492
|
/** 축 × 값 → variant 전체 교체 요청 (PUT /products/{productId}/options) */
|
|
@@ -5860,6 +6510,7 @@ export declare const optionModelRequestSchema: z.ZodObject<{
|
|
|
5860
6510
|
weightGram: z.ZodOptional<z.ZodNumber>;
|
|
5861
6511
|
sellerCode: z.ZodOptional<z.ZodString>;
|
|
5862
6512
|
usable: z.ZodDefault<z.ZodBoolean>;
|
|
6513
|
+
attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
5863
6514
|
}, z.core.$strip>>;
|
|
5864
6515
|
addonGroups: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
5865
6516
|
groupId: z.ZodOptional<z.ZodString>;
|
|
@@ -5879,6 +6530,16 @@ export declare const optionModelRequestSchema: z.ZodObject<{
|
|
|
5879
6530
|
maxLength: z.ZodNumber;
|
|
5880
6531
|
required: z.ZodDefault<z.ZodBoolean>;
|
|
5881
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>>>;
|
|
5882
6543
|
}, z.core.$strip>>>;
|
|
5883
6544
|
optionSort: z.ZodOptional<z.ZodEnum<{
|
|
5884
6545
|
REGISTERED: "REGISTERED";
|
|
@@ -5913,6 +6574,7 @@ export declare const optionModelSchema: z.ZodObject<{
|
|
|
5913
6574
|
weightGram: z.ZodNullable<z.ZodNumber>;
|
|
5914
6575
|
sellerCode: z.ZodNullable<z.ZodString>;
|
|
5915
6576
|
usable: z.ZodBoolean;
|
|
6577
|
+
attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
5916
6578
|
hasOrders: z.ZodOptional<z.ZodBoolean>;
|
|
5917
6579
|
}, z.core.$strip>>;
|
|
5918
6580
|
addonGroups: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
@@ -5936,6 +6598,9 @@ export declare const optionModelSchema: z.ZodObject<{
|
|
|
5936
6598
|
required: z.ZodBoolean;
|
|
5937
6599
|
usable: z.ZodBoolean;
|
|
5938
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>>>;
|
|
5939
6604
|
}, z.core.$strip>>>>;
|
|
5940
6605
|
optionSort: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
5941
6606
|
REGISTERED: "REGISTERED";
|
|
@@ -5979,10 +6644,26 @@ export declare const productCreateRequestSchema: z.ZodObject<{
|
|
|
5979
6644
|
shippingAddressId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
5980
6645
|
returnAddressId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
5981
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
|
+
}>>>;
|
|
5982
6653
|
}, z.core.$strict>, z.ZodObject<{
|
|
5983
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
|
+
}>>>;
|
|
5984
6661
|
}, z.core.$strict>], "type">>;
|
|
5985
6662
|
sourceOptionSetIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
6663
|
+
inventoryMode: z.ZodOptional<z.ZodEnum<{
|
|
6664
|
+
STANDARD: "STANDARD";
|
|
6665
|
+
DATED: "DATED";
|
|
6666
|
+
}>>;
|
|
5986
6667
|
optionGroups: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
5987
6668
|
groupId: z.ZodOptional<z.ZodString>;
|
|
5988
6669
|
name: z.ZodString;
|
|
@@ -6002,6 +6683,7 @@ export declare const productCreateRequestSchema: z.ZodObject<{
|
|
|
6002
6683
|
weightGram: z.ZodOptional<z.ZodNumber>;
|
|
6003
6684
|
sellerCode: z.ZodOptional<z.ZodString>;
|
|
6004
6685
|
usable: z.ZodDefault<z.ZodBoolean>;
|
|
6686
|
+
attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
6005
6687
|
}, z.core.$strip>>;
|
|
6006
6688
|
addonGroups: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
6007
6689
|
groupId: z.ZodOptional<z.ZodString>;
|
|
@@ -6021,6 +6703,16 @@ export declare const productCreateRequestSchema: z.ZodObject<{
|
|
|
6021
6703
|
maxLength: z.ZodNumber;
|
|
6022
6704
|
required: z.ZodDefault<z.ZodBoolean>;
|
|
6023
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>>>;
|
|
6024
6716
|
}, z.core.$strip>>>;
|
|
6025
6717
|
optionSort: z.ZodOptional<z.ZodEnum<{
|
|
6026
6718
|
REGISTERED: "REGISTERED";
|
|
@@ -6065,10 +6757,26 @@ export declare const productReplaceRequestSchema: z.ZodObject<{
|
|
|
6065
6757
|
shippingAddressId: z.ZodNullable<z.ZodString>;
|
|
6066
6758
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
6067
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
|
+
}>>>;
|
|
6068
6766
|
}, z.core.$strict>, z.ZodObject<{
|
|
6069
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
|
+
}>>>;
|
|
6070
6774
|
}, z.core.$strict>], "type">>;
|
|
6071
6775
|
sourceOptionSetIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
6776
|
+
inventoryMode: z.ZodOptional<z.ZodEnum<{
|
|
6777
|
+
STANDARD: "STANDARD";
|
|
6778
|
+
DATED: "DATED";
|
|
6779
|
+
}>>;
|
|
6072
6780
|
optionGroups: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
6073
6781
|
groupId: z.ZodOptional<z.ZodString>;
|
|
6074
6782
|
name: z.ZodString;
|
|
@@ -6088,6 +6796,7 @@ export declare const productReplaceRequestSchema: z.ZodObject<{
|
|
|
6088
6796
|
weightGram: z.ZodOptional<z.ZodNumber>;
|
|
6089
6797
|
sellerCode: z.ZodOptional<z.ZodString>;
|
|
6090
6798
|
usable: z.ZodDefault<z.ZodBoolean>;
|
|
6799
|
+
attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
6091
6800
|
}, z.core.$strip>>;
|
|
6092
6801
|
addonGroups: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
6093
6802
|
groupId: z.ZodOptional<z.ZodString>;
|
|
@@ -6107,6 +6816,16 @@ export declare const productReplaceRequestSchema: z.ZodObject<{
|
|
|
6107
6816
|
maxLength: z.ZodNumber;
|
|
6108
6817
|
required: z.ZodDefault<z.ZodBoolean>;
|
|
6109
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>>>;
|
|
6110
6829
|
}, z.core.$strip>>>;
|
|
6111
6830
|
optionSort: z.ZodOptional<z.ZodEnum<{
|
|
6112
6831
|
REGISTERED: "REGISTERED";
|
|
@@ -6159,8 +6878,20 @@ export declare const productPatchRequestSchema: z.ZodObject<{
|
|
|
6159
6878
|
shippingAddressId: z.ZodNullable<z.ZodString>;
|
|
6160
6879
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
6161
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
|
+
}>>>;
|
|
6162
6887
|
}, z.core.$strict>, z.ZodObject<{
|
|
6163
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
|
+
}>>>;
|
|
6164
6895
|
}, z.core.$strict>], "type">>;
|
|
6165
6896
|
refundPolicy: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
6166
6897
|
preShipmentDeliveryFeeRefund: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -6258,6 +6989,9 @@ export declare const savedCustomInputSchema: z.ZodObject<{
|
|
|
6258
6989
|
placeholder: z.ZodNullable<z.ZodString>;
|
|
6259
6990
|
maxLength: z.ZodNumber;
|
|
6260
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>>>;
|
|
6261
6995
|
}, z.core.$strip>;
|
|
6262
6996
|
export type SavedCustomInput = z.infer<typeof savedCustomInputSchema>;
|
|
6263
6997
|
export declare const savedOptionSetSchema: z.ZodObject<{
|
|
@@ -6283,6 +7017,9 @@ export declare const savedOptionSetSchema: z.ZodObject<{
|
|
|
6283
7017
|
placeholder: z.ZodNullable<z.ZodString>;
|
|
6284
7018
|
maxLength: z.ZodNumber;
|
|
6285
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>>>;
|
|
6286
7023
|
}, z.core.$strip>>;
|
|
6287
7024
|
importedProductCount: z.ZodNumber;
|
|
6288
7025
|
createdAt: z.ZodString;
|
|
@@ -6311,6 +7048,16 @@ export declare const savedCustomInputRequestSchema: z.ZodObject<{
|
|
|
6311
7048
|
placeholder: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
6312
7049
|
maxLength: z.ZodNumber;
|
|
6313
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>>>;
|
|
6314
7061
|
}, z.core.$strip>;
|
|
6315
7062
|
/**
|
|
6316
7063
|
* 저장 옵션 만들기·수정 본문. 조합 옵션명은 최대 `MAX_OPTION_GROUPS`개, 추가 선택은 최대 `MAX_ADDON_GROUPS`개이고
|
|
@@ -6341,6 +7088,16 @@ export declare const savedOptionSetRequestSchema: z.ZodObject<{
|
|
|
6341
7088
|
placeholder: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
6342
7089
|
maxLength: z.ZodNumber;
|
|
6343
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>>>;
|
|
6344
7101
|
}, z.core.$strip>>>;
|
|
6345
7102
|
}, z.core.$strip>;
|
|
6346
7103
|
export type SavedOptionSetRequest = z.infer<typeof savedOptionSetRequestSchema>;
|
|
@@ -6384,6 +7141,9 @@ export declare const savedOptionSetFromProductResultSchema: z.ZodObject<{
|
|
|
6384
7141
|
placeholder: z.ZodNullable<z.ZodString>;
|
|
6385
7142
|
maxLength: z.ZodNumber;
|
|
6386
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>>>;
|
|
6387
7147
|
}, z.core.$strip>>;
|
|
6388
7148
|
importedProductCount: z.ZodNumber;
|
|
6389
7149
|
createdAt: z.ZodString;
|
|
@@ -6426,6 +7186,67 @@ export declare const savedOptionSetListQuerySchema: z.ZodObject<{
|
|
|
6426
7186
|
}>>;
|
|
6427
7187
|
}, z.core.$strip>;
|
|
6428
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
|
|
6429
7250
|
//#region src/schemas/store.d.ts
|
|
6430
7251
|
/**
|
|
6431
7252
|
* 상점 코드 규칙 — 스토어프론트 API가 테넌트를 가르는 값이다(`X-Store-Code` 헤더).
|
|
@@ -8069,10 +8890,12 @@ export type StorefrontSourceReplaced = z.infer<typeof storefrontSourceReplacedSc
|
|
|
8069
8890
|
*
|
|
8070
8891
|
* - `product-image`: 상품 목록·상세의 상품 이미지. 목록 썸네일로 쓰이므로 정지 이미지만 받는다.
|
|
8071
8892
|
* - `description`: 상세설명 본문에 삽입하는 미디어. 동영상과 svg도 받는다.
|
|
8893
|
+
* - `flow-attachment`: 주문 흐름 행동의 첨부(시안 등, 이슈 #115). 구매자에게 보이므로 정지 이미지와 PDF만 받는다.
|
|
8072
8894
|
*/
|
|
8073
8895
|
export declare const uploadPurposeSchema: z.ZodEnum<{
|
|
8074
8896
|
"product-image": "product-image";
|
|
8075
8897
|
description: "description";
|
|
8898
|
+
"flow-attachment": "flow-attachment";
|
|
8076
8899
|
}>;
|
|
8077
8900
|
export type UploadPurpose = z.infer<typeof uploadPurposeSchema>;
|
|
8078
8901
|
export interface UploadPurposeLimit {
|
|
@@ -8112,6 +8935,7 @@ export declare const uploadRequestSchema: z.ZodObject<{
|
|
|
8112
8935
|
purpose: z.ZodDefault<z.ZodEnum<{
|
|
8113
8936
|
"product-image": "product-image";
|
|
8114
8937
|
description: "description";
|
|
8938
|
+
"flow-attachment": "flow-attachment";
|
|
8115
8939
|
}>>;
|
|
8116
8940
|
size: z.ZodOptional<z.ZodNumber>;
|
|
8117
8941
|
}, z.core.$strip>;
|
|
@@ -8386,6 +9210,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8386
9210
|
weightGram: number | null;
|
|
8387
9211
|
sellerCode: string | null;
|
|
8388
9212
|
usable: boolean;
|
|
9213
|
+
attributes?: Record<string, string> | undefined;
|
|
8389
9214
|
hasOrders?: boolean | undefined;
|
|
8390
9215
|
}[];
|
|
8391
9216
|
addonGroups: {
|
|
@@ -8409,6 +9234,9 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8409
9234
|
required: boolean;
|
|
8410
9235
|
usable: boolean;
|
|
8411
9236
|
sortOrder: number;
|
|
9237
|
+
key?: string | null | undefined;
|
|
9238
|
+
type?: string | undefined;
|
|
9239
|
+
options?: string[] | null | undefined;
|
|
8412
9240
|
}[];
|
|
8413
9241
|
optionSort: "REGISTERED" | "NAME" | "PRICE_ASC" | "PRICE_DESC";
|
|
8414
9242
|
fulfillment: UnknownFulfillment | {
|
|
@@ -8420,8 +9248,10 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8420
9248
|
shippingAddressId: string | null;
|
|
8421
9249
|
returnAddressId: string | null;
|
|
8422
9250
|
};
|
|
9251
|
+
methods?: string[] | undefined;
|
|
8423
9252
|
} | {
|
|
8424
9253
|
type: "MANUAL";
|
|
9254
|
+
methods?: string[] | undefined;
|
|
8425
9255
|
};
|
|
8426
9256
|
fulfillmentTypeLocked: boolean;
|
|
8427
9257
|
refundPolicy: {
|
|
@@ -8441,6 +9271,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8441
9271
|
attributeId: string;
|
|
8442
9272
|
value: string;
|
|
8443
9273
|
}[] | undefined;
|
|
9274
|
+
inventoryMode?: string | undefined;
|
|
8444
9275
|
discount?: {
|
|
8445
9276
|
productId: string;
|
|
8446
9277
|
discountType: "RATE" | "AMOUNT";
|
|
@@ -8486,6 +9317,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8486
9317
|
weightGram: number | null;
|
|
8487
9318
|
sellerCode: string | null;
|
|
8488
9319
|
usable: boolean;
|
|
9320
|
+
attributes?: Record<string, string> | undefined;
|
|
8489
9321
|
hasOrders?: boolean | undefined;
|
|
8490
9322
|
}[];
|
|
8491
9323
|
addonGroups: {
|
|
@@ -8509,6 +9341,9 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8509
9341
|
required: boolean;
|
|
8510
9342
|
usable: boolean;
|
|
8511
9343
|
sortOrder: number;
|
|
9344
|
+
key?: string | null | undefined;
|
|
9345
|
+
type?: string | undefined;
|
|
9346
|
+
options?: string[] | null | undefined;
|
|
8512
9347
|
}[];
|
|
8513
9348
|
optionSort: "REGISTERED" | "NAME" | "PRICE_ASC" | "PRICE_DESC";
|
|
8514
9349
|
fulfillment: UnknownFulfillment | {
|
|
@@ -8520,8 +9355,10 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8520
9355
|
shippingAddressId: string | null;
|
|
8521
9356
|
returnAddressId: string | null;
|
|
8522
9357
|
};
|
|
9358
|
+
methods?: string[] | undefined;
|
|
8523
9359
|
} | {
|
|
8524
9360
|
type: "MANUAL";
|
|
9361
|
+
methods?: string[] | undefined;
|
|
8525
9362
|
};
|
|
8526
9363
|
fulfillmentTypeLocked: boolean;
|
|
8527
9364
|
refundPolicy: {
|
|
@@ -8541,6 +9378,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8541
9378
|
attributeId: string;
|
|
8542
9379
|
value: string;
|
|
8543
9380
|
}[] | undefined;
|
|
9381
|
+
inventoryMode?: string | undefined;
|
|
8544
9382
|
discount?: {
|
|
8545
9383
|
productId: string;
|
|
8546
9384
|
discountType: "RATE" | "AMOUNT";
|
|
@@ -8586,6 +9424,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8586
9424
|
weightGram: number | null;
|
|
8587
9425
|
sellerCode: string | null;
|
|
8588
9426
|
usable: boolean;
|
|
9427
|
+
attributes?: Record<string, string> | undefined;
|
|
8589
9428
|
hasOrders?: boolean | undefined;
|
|
8590
9429
|
}[];
|
|
8591
9430
|
addonGroups: {
|
|
@@ -8609,6 +9448,9 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8609
9448
|
required: boolean;
|
|
8610
9449
|
usable: boolean;
|
|
8611
9450
|
sortOrder: number;
|
|
9451
|
+
key?: string | null | undefined;
|
|
9452
|
+
type?: string | undefined;
|
|
9453
|
+
options?: string[] | null | undefined;
|
|
8612
9454
|
}[];
|
|
8613
9455
|
optionSort: "REGISTERED" | "NAME" | "PRICE_ASC" | "PRICE_DESC";
|
|
8614
9456
|
fulfillment: UnknownFulfillment | {
|
|
@@ -8620,8 +9462,10 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8620
9462
|
shippingAddressId: string | null;
|
|
8621
9463
|
returnAddressId: string | null;
|
|
8622
9464
|
};
|
|
9465
|
+
methods?: string[] | undefined;
|
|
8623
9466
|
} | {
|
|
8624
9467
|
type: "MANUAL";
|
|
9468
|
+
methods?: string[] | undefined;
|
|
8625
9469
|
};
|
|
8626
9470
|
fulfillmentTypeLocked: boolean;
|
|
8627
9471
|
refundPolicy: {
|
|
@@ -8641,6 +9485,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8641
9485
|
attributeId: string;
|
|
8642
9486
|
value: string;
|
|
8643
9487
|
}[] | undefined;
|
|
9488
|
+
inventoryMode?: string | undefined;
|
|
8644
9489
|
discount?: {
|
|
8645
9490
|
productId: string;
|
|
8646
9491
|
discountType: "RATE" | "AMOUNT";
|
|
@@ -8688,6 +9533,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8688
9533
|
weightGram: number | null;
|
|
8689
9534
|
sellerCode: string | null;
|
|
8690
9535
|
usable: boolean;
|
|
9536
|
+
attributes?: Record<string, string> | undefined;
|
|
8691
9537
|
hasOrders?: boolean | undefined;
|
|
8692
9538
|
}[];
|
|
8693
9539
|
addonGroups: {
|
|
@@ -8711,6 +9557,9 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8711
9557
|
required: boolean;
|
|
8712
9558
|
usable: boolean;
|
|
8713
9559
|
sortOrder: number;
|
|
9560
|
+
key?: string | null | undefined;
|
|
9561
|
+
type?: string | undefined;
|
|
9562
|
+
options?: string[] | null | undefined;
|
|
8714
9563
|
}[];
|
|
8715
9564
|
optionSort: "REGISTERED" | "NAME" | "PRICE_ASC" | "PRICE_DESC";
|
|
8716
9565
|
}>;
|
|
@@ -8742,6 +9591,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8742
9591
|
weightGram: number | null;
|
|
8743
9592
|
sellerCode: string | null;
|
|
8744
9593
|
usable: boolean;
|
|
9594
|
+
attributes?: Record<string, string> | undefined;
|
|
8745
9595
|
hasOrders?: boolean | undefined;
|
|
8746
9596
|
}[];
|
|
8747
9597
|
addonGroups: {
|
|
@@ -8765,6 +9615,9 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8765
9615
|
required: boolean;
|
|
8766
9616
|
usable: boolean;
|
|
8767
9617
|
sortOrder: number;
|
|
9618
|
+
key?: string | null | undefined;
|
|
9619
|
+
type?: string | undefined;
|
|
9620
|
+
options?: string[] | null | undefined;
|
|
8768
9621
|
}[];
|
|
8769
9622
|
optionSort: "REGISTERED" | "NAME" | "PRICE_ASC" | "PRICE_DESC";
|
|
8770
9623
|
}>;
|
|
@@ -8790,6 +9643,17 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8790
9643
|
endAt: string | null;
|
|
8791
9644
|
}>;
|
|
8792
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
|
+
}>;
|
|
8793
9657
|
};
|
|
8794
9658
|
/**
|
|
8795
9659
|
* 저장 옵션 (이슈 #59) — 자주 쓰는 옵션 구성. 불러오기는 복사라 저장 옵션을 고쳐도 불러온 상품은 바뀌지 않는다.
|
|
@@ -8819,6 +9683,9 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8819
9683
|
placeholder: string | null;
|
|
8820
9684
|
maxLength: number;
|
|
8821
9685
|
required: boolean;
|
|
9686
|
+
key?: string | null | undefined;
|
|
9687
|
+
type?: string | undefined;
|
|
9688
|
+
options?: string[] | null | undefined;
|
|
8822
9689
|
}[];
|
|
8823
9690
|
importedProductCount: number;
|
|
8824
9691
|
createdAt: string;
|
|
@@ -8843,6 +9710,9 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8843
9710
|
placeholder: string | null;
|
|
8844
9711
|
maxLength: number;
|
|
8845
9712
|
required: boolean;
|
|
9713
|
+
key?: string | null | undefined;
|
|
9714
|
+
type?: string | undefined;
|
|
9715
|
+
options?: string[] | null | undefined;
|
|
8846
9716
|
}[];
|
|
8847
9717
|
importedProductCount: number;
|
|
8848
9718
|
createdAt: string;
|
|
@@ -8867,6 +9737,9 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8867
9737
|
placeholder: string | null;
|
|
8868
9738
|
maxLength: number;
|
|
8869
9739
|
required: boolean;
|
|
9740
|
+
key?: string | null | undefined;
|
|
9741
|
+
type?: string | undefined;
|
|
9742
|
+
options?: string[] | null | undefined;
|
|
8870
9743
|
}[];
|
|
8871
9744
|
importedProductCount: number;
|
|
8872
9745
|
createdAt: string;
|
|
@@ -8891,6 +9764,9 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8891
9764
|
placeholder: string | null;
|
|
8892
9765
|
maxLength: number;
|
|
8893
9766
|
required: boolean;
|
|
9767
|
+
key?: string | null | undefined;
|
|
9768
|
+
type?: string | undefined;
|
|
9769
|
+
options?: string[] | null | undefined;
|
|
8894
9770
|
}[];
|
|
8895
9771
|
importedProductCount: number;
|
|
8896
9772
|
createdAt: string;
|
|
@@ -8917,6 +9793,9 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8917
9793
|
placeholder: string | null;
|
|
8918
9794
|
maxLength: number;
|
|
8919
9795
|
required: boolean;
|
|
9796
|
+
key?: string | null | undefined;
|
|
9797
|
+
type?: string | undefined;
|
|
9798
|
+
options?: string[] | null | undefined;
|
|
8920
9799
|
}[];
|
|
8921
9800
|
importedProductCount: number;
|
|
8922
9801
|
createdAt: string;
|
|
@@ -9486,6 +10365,8 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
9486
10365
|
customInputs: {
|
|
9487
10366
|
label: string;
|
|
9488
10367
|
value: string;
|
|
10368
|
+
key?: string | null | undefined;
|
|
10369
|
+
type?: string | undefined;
|
|
9489
10370
|
}[];
|
|
9490
10371
|
sellerCode: string | null;
|
|
9491
10372
|
fulfillmentSnapshot: UnknownFulfillment | {
|
|
@@ -9494,8 +10375,24 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
9494
10375
|
bundleKey: string | null;
|
|
9495
10376
|
returnAddressId: string | null;
|
|
9496
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;
|
|
9497
10386
|
} | {
|
|
9498
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;
|
|
9499
10396
|
};
|
|
9500
10397
|
quantity: number;
|
|
9501
10398
|
canceledQuantity: number;
|
|
@@ -9521,6 +10418,14 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
9521
10418
|
lastChangedAt: string;
|
|
9522
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";
|
|
9523
10420
|
testPayment: boolean;
|
|
10421
|
+
stay?: {
|
|
10422
|
+
checkIn: string;
|
|
10423
|
+
checkOut: string;
|
|
10424
|
+
nights: {
|
|
10425
|
+
date: string;
|
|
10426
|
+
price: number;
|
|
10427
|
+
}[];
|
|
10428
|
+
} | undefined;
|
|
9524
10429
|
}[];
|
|
9525
10430
|
}>;
|
|
9526
10431
|
/**
|
|
@@ -9573,6 +10478,8 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
9573
10478
|
customInputs: {
|
|
9574
10479
|
label: string;
|
|
9575
10480
|
value: string;
|
|
10481
|
+
key?: string | null | undefined;
|
|
10482
|
+
type?: string | undefined;
|
|
9576
10483
|
}[];
|
|
9577
10484
|
sellerCode: string | null;
|
|
9578
10485
|
fulfillmentSnapshot: UnknownFulfillment | {
|
|
@@ -9581,8 +10488,24 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
9581
10488
|
bundleKey: string | null;
|
|
9582
10489
|
returnAddressId: string | null;
|
|
9583
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;
|
|
9584
10499
|
} | {
|
|
9585
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;
|
|
9586
10509
|
};
|
|
9587
10510
|
quantity: number;
|
|
9588
10511
|
canceledQuantity: number;
|
|
@@ -9608,6 +10531,14 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
9608
10531
|
lastChangedAt: string;
|
|
9609
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";
|
|
9610
10533
|
testPayment: boolean;
|
|
10534
|
+
stay?: {
|
|
10535
|
+
checkIn: string;
|
|
10536
|
+
checkOut: string;
|
|
10537
|
+
nights: {
|
|
10538
|
+
date: string;
|
|
10539
|
+
price: number;
|
|
10540
|
+
}[];
|
|
10541
|
+
} | undefined;
|
|
9611
10542
|
}[];
|
|
9612
10543
|
}>;
|
|
9613
10544
|
confirm: (orderItemId: string, idempotencyKey?: string) => Promise<void>;
|
|
@@ -9644,7 +10575,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
9644
10575
|
}>;
|
|
9645
10576
|
dispatch: (orderItemId: string, body: DispatchRequest, idempotencyKey?: string) => Promise<{
|
|
9646
10577
|
orderItemId: string;
|
|
9647
|
-
deliveryMethod: "
|
|
10578
|
+
deliveryMethod: "DIRECT" | "COURIER" | "QUICK" | "NOTHING";
|
|
9648
10579
|
carrierCode: string | null;
|
|
9649
10580
|
carrierName: string | null;
|
|
9650
10581
|
trackingNumber: string | null;
|
|
@@ -9689,6 +10620,8 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
9689
10620
|
customInputs: {
|
|
9690
10621
|
label: string;
|
|
9691
10622
|
value: string;
|
|
10623
|
+
key?: string | null | undefined;
|
|
10624
|
+
type?: string | undefined;
|
|
9692
10625
|
}[];
|
|
9693
10626
|
sellerCode: string | null;
|
|
9694
10627
|
fulfillmentSnapshot: UnknownFulfillment | {
|
|
@@ -9697,8 +10630,24 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
9697
10630
|
bundleKey: string | null;
|
|
9698
10631
|
returnAddressId: string | null;
|
|
9699
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;
|
|
9700
10641
|
} | {
|
|
9701
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;
|
|
9702
10651
|
};
|
|
9703
10652
|
quantity: number;
|
|
9704
10653
|
canceledQuantity: number;
|
|
@@ -9724,6 +10673,14 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
9724
10673
|
lastChangedAt: string;
|
|
9725
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";
|
|
9726
10675
|
testPayment: boolean;
|
|
10676
|
+
stay?: {
|
|
10677
|
+
checkIn: string;
|
|
10678
|
+
checkOut: string;
|
|
10679
|
+
nights: {
|
|
10680
|
+
date: string;
|
|
10681
|
+
price: number;
|
|
10682
|
+
}[];
|
|
10683
|
+
} | undefined;
|
|
9727
10684
|
}>;
|
|
9728
10685
|
/** 배송완료 일괄 처리 — 항목별 부분 성공이다 */
|
|
9729
10686
|
markDeliveredBulk: (orderItemIds: string[], idempotencyKey?: string) => Promise<{
|
|
@@ -9759,6 +10716,8 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
9759
10716
|
customInputs: {
|
|
9760
10717
|
label: string;
|
|
9761
10718
|
value: string;
|
|
10719
|
+
key?: string | null | undefined;
|
|
10720
|
+
type?: string | undefined;
|
|
9762
10721
|
}[];
|
|
9763
10722
|
sellerCode: string | null;
|
|
9764
10723
|
fulfillmentSnapshot: UnknownFulfillment | {
|
|
@@ -9767,8 +10726,24 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
9767
10726
|
bundleKey: string | null;
|
|
9768
10727
|
returnAddressId: string | null;
|
|
9769
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;
|
|
9770
10737
|
} | {
|
|
9771
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;
|
|
9772
10747
|
};
|
|
9773
10748
|
quantity: number;
|
|
9774
10749
|
canceledQuantity: number;
|
|
@@ -9794,6 +10769,14 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
9794
10769
|
lastChangedAt: string;
|
|
9795
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";
|
|
9796
10771
|
testPayment: boolean;
|
|
10772
|
+
stay?: {
|
|
10773
|
+
checkIn: string;
|
|
10774
|
+
checkOut: string;
|
|
10775
|
+
nights: {
|
|
10776
|
+
date: string;
|
|
10777
|
+
price: number;
|
|
10778
|
+
}[];
|
|
10779
|
+
} | undefined;
|
|
9797
10780
|
}>;
|
|
9798
10781
|
/** 제공 처리 일괄 — 항목별 부분 성공이다 */
|
|
9799
10782
|
fulfillBulk: (orderItemIds: string[], body?: FulfillRequest, idempotencyKey?: string) => Promise<{
|
|
@@ -9808,7 +10791,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
9808
10791
|
}>;
|
|
9809
10792
|
getDelivery: (orderItemId: string) => Promise<{
|
|
9810
10793
|
orderItemId: string;
|
|
9811
|
-
deliveryMethod: "
|
|
10794
|
+
deliveryMethod: "DIRECT" | "COURIER" | "QUICK" | "NOTHING";
|
|
9812
10795
|
carrierCode: string | null;
|
|
9813
10796
|
carrierName: string | null;
|
|
9814
10797
|
trackingNumber: string | null;
|
|
@@ -9829,6 +10812,370 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
9829
10812
|
stage: string | null;
|
|
9830
10813
|
}[] | undefined;
|
|
9831
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>;
|
|
9832
11179
|
};
|
|
9833
11180
|
carriers: {
|
|
9834
11181
|
list: () => Promise<{
|
|
@@ -10325,7 +11672,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
10325
11672
|
version: string | null;
|
|
10326
11673
|
documentUrl: string | null;
|
|
10327
11674
|
action: "WITHDRAWN" | "AGREED";
|
|
10328
|
-
source: "
|
|
11675
|
+
source: "SIGNUP" | "SELLER" | "SOCIAL_SIGNUP" | "DELEGATED" | "RECONSENT" | "MEMBER_UPDATE";
|
|
10329
11676
|
occurredAt: string;
|
|
10330
11677
|
}[];
|
|
10331
11678
|
}>;
|
|
@@ -10348,6 +11695,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
10348
11695
|
value: number;
|
|
10349
11696
|
maxDiscountAmount: number | null;
|
|
10350
11697
|
};
|
|
11698
|
+
source?: string | undefined;
|
|
10351
11699
|
}[]>;
|
|
10352
11700
|
withdraw: (customerId: string, body: WithdrawCustomerRequest) => Promise<void>;
|
|
10353
11701
|
};
|
|
@@ -10669,6 +12017,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
10669
12017
|
usedOrderId: string | null;
|
|
10670
12018
|
issuedAt: string;
|
|
10671
12019
|
revokedAt: string | null;
|
|
12020
|
+
source?: string | undefined;
|
|
10672
12021
|
}[];
|
|
10673
12022
|
}>;
|
|
10674
12023
|
redemptions: (couponId: string, params?: PageParams & {
|
|
@@ -10716,6 +12065,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
10716
12065
|
usedOrderId: string | null;
|
|
10717
12066
|
issuedAt: string;
|
|
10718
12067
|
revokedAt: string | null;
|
|
12068
|
+
source?: string | undefined;
|
|
10719
12069
|
}>;
|
|
10720
12070
|
};
|
|
10721
12071
|
customerInquiries: {
|
|
@@ -11909,7 +13259,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
11909
13259
|
list: () => Promise<{
|
|
11910
13260
|
webhookId: string;
|
|
11911
13261
|
url: string;
|
|
11912
|
-
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")[];
|
|
11913
13263
|
status: "SUSPENDED" | "ACTIVE";
|
|
11914
13264
|
secretPrefix: string;
|
|
11915
13265
|
suspendedAt: string | null;
|
|
@@ -11919,7 +13269,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
11919
13269
|
create: (body: WebhookRequest) => Promise<{
|
|
11920
13270
|
webhookId: string;
|
|
11921
13271
|
url: string;
|
|
11922
|
-
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")[];
|
|
11923
13273
|
status: "SUSPENDED" | "ACTIVE";
|
|
11924
13274
|
secretPrefix: string;
|
|
11925
13275
|
suspendedAt: string | null;
|
|
@@ -11929,7 +13279,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
11929
13279
|
get: (webhookId: string) => Promise<{
|
|
11930
13280
|
webhookId: string;
|
|
11931
13281
|
url: string;
|
|
11932
|
-
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")[];
|
|
11933
13283
|
status: "SUSPENDED" | "ACTIVE";
|
|
11934
13284
|
secretPrefix: string;
|
|
11935
13285
|
suspendedAt: string | null;
|
|
@@ -11939,7 +13289,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
11939
13289
|
update: (webhookId: string, body: WebhookRequest) => Promise<{
|
|
11940
13290
|
webhookId: string;
|
|
11941
13291
|
url: string;
|
|
11942
|
-
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")[];
|
|
11943
13293
|
status: "SUSPENDED" | "ACTIVE";
|
|
11944
13294
|
secretPrefix: string;
|
|
11945
13295
|
suspendedAt: string | null;
|
|
@@ -11954,7 +13304,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
11954
13304
|
resume: (webhookId: string) => Promise<{
|
|
11955
13305
|
webhookId: string;
|
|
11956
13306
|
url: string;
|
|
11957
|
-
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")[];
|
|
11958
13308
|
status: "SUSPENDED" | "ACTIVE";
|
|
11959
13309
|
secretPrefix: string;
|
|
11960
13310
|
suspendedAt: string | null;
|
|
@@ -11964,7 +13314,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
11964
13314
|
listDeliveries: (webhookId: string, params?: WebhookDeliveryListParams) => Promise<{
|
|
11965
13315
|
deliveryId: string;
|
|
11966
13316
|
eventId: string;
|
|
11967
|
-
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";
|
|
11968
13318
|
url: string;
|
|
11969
13319
|
status: "PENDING" | "PENDING_RETRY" | "SUCCESS" | "FAILED";
|
|
11970
13320
|
responseStatusCode: number | null;
|
|
@@ -11991,7 +13341,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
11991
13341
|
getDelivery: (webhookId: string, deliveryId: string) => Promise<{
|
|
11992
13342
|
deliveryId: string;
|
|
11993
13343
|
eventId: string;
|
|
11994
|
-
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";
|
|
11995
13345
|
url: string;
|
|
11996
13346
|
status: "PENDING" | "PENDING_RETRY" | "SUCCESS" | "FAILED";
|
|
11997
13347
|
responseStatusCode: number | null;
|
|
@@ -12026,7 +13376,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
12026
13376
|
redeliver: (webhookId: string, deliveryId: string) => Promise<{
|
|
12027
13377
|
deliveryId: string;
|
|
12028
13378
|
eventId: string;
|
|
12029
|
-
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";
|
|
12030
13380
|
url: string;
|
|
12031
13381
|
status: "PENDING" | "PENDING_RETRY" | "SUCCESS" | "FAILED";
|
|
12032
13382
|
responseStatusCode: number | null;
|
|
@@ -12404,6 +13754,40 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
12404
13754
|
remove: (addressId: string) => Promise<void>;
|
|
12405
13755
|
setDefault: (addressId: string) => Promise<void>;
|
|
12406
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
|
+
};
|
|
12407
13791
|
/**
|
|
12408
13792
|
* 스토어프론트 호스팅 (이슈 #53) — 조회 `storefront:r`, 쓰기 `storefront:rw`(OWNER·ADMIN).
|
|
12409
13793
|
* 쓰기 응답은 바뀐 사이트다. Cloudflare 반영은 커밋 뒤라 `provisioning.status`가 잠시 `PENDING`일 수 있다.
|
|
@@ -14426,10 +15810,13 @@ export declare const STORE_SCOPE_RESOURCES: {
|
|
|
14426
15810
|
readonly audit: readonly ["r"];
|
|
14427
15811
|
readonly promotion: readonly ["r", "rw"];
|
|
14428
15812
|
readonly storefront: readonly ["r", "rw"];
|
|
15813
|
+
readonly flow: readonly ["r", "rw"];
|
|
14429
15814
|
};
|
|
14430
15815
|
export type StoreScopeResource = keyof typeof STORE_SCOPE_RESOURCES;
|
|
14431
15816
|
export declare const storeScopeResourceSchema: z.ZodEnum<{
|
|
14432
15817
|
category: "category";
|
|
15818
|
+
member: "member";
|
|
15819
|
+
flow: "flow";
|
|
14433
15820
|
analytics: "analytics";
|
|
14434
15821
|
product: "product";
|
|
14435
15822
|
order: "order";
|
|
@@ -14439,7 +15826,6 @@ export declare const storeScopeResourceSchema: z.ZodEnum<{
|
|
|
14439
15826
|
settlement: "settlement";
|
|
14440
15827
|
webhook: "webhook";
|
|
14441
15828
|
store: "store";
|
|
14442
|
-
member: "member";
|
|
14443
15829
|
customer: "customer";
|
|
14444
15830
|
audit: "audit";
|
|
14445
15831
|
promotion: "promotion";
|
|
@@ -14452,9 +15838,9 @@ export declare function isStoreScope(scope: string): boolean;
|
|
|
14452
15838
|
* 계정 토큰으로 상점을 호출할 때의 스코프는 그 상점에서의 역할로 이 표에서 결정된다.
|
|
14453
15839
|
*/
|
|
14454
15840
|
export declare const STORE_ROLE_SCOPES: {
|
|
14455
|
-
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"];
|
|
14456
|
-
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"];
|
|
14457
|
-
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"];
|
|
14458
15844
|
};
|
|
14459
15845
|
//#endregion
|
|
14460
15846
|
//#region src/schemas/shipping-policy.d.ts
|
|
@@ -14592,6 +15978,8 @@ export interface DeliveryFeeLine {
|
|
|
14592
15978
|
* 유형을 바꿔도 결제 시작의 견적과 주문상품 스냅샷이 같은 유형을 보게 한다. 생략하면 상품 값을 쓴다.
|
|
14593
15979
|
*/
|
|
14594
15980
|
fulfillmentType?: FulfillmentType | null;
|
|
15981
|
+
/** 이 줄의 이행 방식(이슈 #115) — 배송지가 없는 방식(방문 수령)은 묶음을 만들지 않는다. 생략하면 유형 규칙만 본다 */
|
|
15982
|
+
fulfillmentMethod?: string | null;
|
|
14595
15983
|
}
|
|
14596
15984
|
/**
|
|
14597
15985
|
* 기본 배송비를 면제한 근거 — 면제하지 않았으면 null이다.
|
|
@@ -15042,8 +16430,24 @@ export declare const orderWebhookEventDataSchema: z.ZodObject<{
|
|
|
15042
16430
|
bundleKey: z.ZodNullable<z.ZodString>;
|
|
15043
16431
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
15044
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>>;
|
|
15045
16441
|
}, z.core.$strip>, z.ZodObject<{
|
|
15046
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>>;
|
|
15047
16451
|
}, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
|
|
15048
16452
|
type: z.ZodString;
|
|
15049
16453
|
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
@@ -15061,6 +16465,8 @@ export declare const orderWebhookEventDataSchema: z.ZodObject<{
|
|
|
15061
16465
|
customInputs: z.ZodArray<z.ZodObject<{
|
|
15062
16466
|
label: z.ZodString;
|
|
15063
16467
|
value: z.ZodString;
|
|
16468
|
+
key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
16469
|
+
type: z.ZodOptional<z.ZodString>;
|
|
15064
16470
|
}, z.core.$strip>>;
|
|
15065
16471
|
}, z.core.$strip>>>;
|
|
15066
16472
|
}, z.core.$strip>;
|
|
@@ -15089,8 +16495,24 @@ export declare const orderFulfilledWebhookEventDataSchema: z.ZodObject<{
|
|
|
15089
16495
|
bundleKey: z.ZodNullable<z.ZodString>;
|
|
15090
16496
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
15091
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>>;
|
|
15092
16506
|
}, z.core.$strip>, z.ZodObject<{
|
|
15093
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>>;
|
|
15094
16516
|
}, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
|
|
15095
16517
|
type: z.ZodString;
|
|
15096
16518
|
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
@@ -15225,8 +16647,24 @@ export declare const orderWebhookEventSchema: z.ZodObject<{
|
|
|
15225
16647
|
bundleKey: z.ZodNullable<z.ZodString>;
|
|
15226
16648
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
15227
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>>;
|
|
15228
16658
|
}, z.core.$strip>, z.ZodObject<{
|
|
15229
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>>;
|
|
15230
16668
|
}, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
|
|
15231
16669
|
type: z.ZodString;
|
|
15232
16670
|
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
@@ -15244,6 +16682,8 @@ export declare const orderWebhookEventSchema: z.ZodObject<{
|
|
|
15244
16682
|
customInputs: z.ZodArray<z.ZodObject<{
|
|
15245
16683
|
label: z.ZodString;
|
|
15246
16684
|
value: z.ZodString;
|
|
16685
|
+
key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
16686
|
+
type: z.ZodOptional<z.ZodString>;
|
|
15247
16687
|
}, z.core.$strip>>;
|
|
15248
16688
|
}, z.core.$strip>>>;
|
|
15249
16689
|
}, z.core.$strip>;
|
|
@@ -15274,8 +16714,24 @@ export declare const orderFulfilledWebhookEventSchema: z.ZodObject<{
|
|
|
15274
16714
|
bundleKey: z.ZodNullable<z.ZodString>;
|
|
15275
16715
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
15276
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>>;
|
|
15277
16725
|
}, z.core.$strip>, z.ZodObject<{
|
|
15278
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>>;
|
|
15279
16735
|
}, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
|
|
15280
16736
|
type: z.ZodString;
|
|
15281
16737
|
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
@@ -15412,6 +16868,33 @@ export declare const productOutOfStockWebhookEventSchema: z.ZodObject<{
|
|
|
15412
16868
|
storeId: z.ZodString;
|
|
15413
16869
|
sequence: z.ZodOptional<z.ZodNumber>;
|
|
15414
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>;
|
|
15415
16898
|
/** 웹훅 요청 본문. `type`으로 판별하며 `data` 형태가 타입별로 다르다 */
|
|
15416
16899
|
export declare const webhookEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
15417
16900
|
type: z.ZodEnum<{
|
|
@@ -15445,8 +16928,24 @@ export declare const webhookEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
15445
16928
|
bundleKey: z.ZodNullable<z.ZodString>;
|
|
15446
16929
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
15447
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>>;
|
|
15448
16939
|
}, z.core.$strip>, z.ZodObject<{
|
|
15449
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>>;
|
|
15450
16949
|
}, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
|
|
15451
16950
|
type: z.ZodString;
|
|
15452
16951
|
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
@@ -15464,6 +16963,8 @@ export declare const webhookEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
15464
16963
|
customInputs: z.ZodArray<z.ZodObject<{
|
|
15465
16964
|
label: z.ZodString;
|
|
15466
16965
|
value: z.ZodString;
|
|
16966
|
+
key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
16967
|
+
type: z.ZodOptional<z.ZodString>;
|
|
15467
16968
|
}, z.core.$strip>>;
|
|
15468
16969
|
}, z.core.$strip>>>;
|
|
15469
16970
|
}, z.core.$strip>;
|
|
@@ -15493,8 +16994,24 @@ export declare const webhookEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
15493
16994
|
bundleKey: z.ZodNullable<z.ZodString>;
|
|
15494
16995
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
15495
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>>;
|
|
15496
17005
|
}, z.core.$strip>, z.ZodObject<{
|
|
15497
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>>;
|
|
15498
17015
|
}, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
|
|
15499
17016
|
type: z.ZodString;
|
|
15500
17017
|
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
@@ -15625,6 +17142,20 @@ export declare const webhookEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
15625
17142
|
createdAt: z.ZodString;
|
|
15626
17143
|
storeId: z.ZodString;
|
|
15627
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>;
|
|
15628
17159
|
}, z.core.$strip>], "type">;
|
|
15629
17160
|
export type WebhookEvent = z.infer<typeof webhookEventSchema>;
|
|
15630
17161
|
export type WebhookEventType = WebhookEvent["type"];
|
|
@@ -15634,5 +17165,33 @@ export type WebhookEventOf<T extends WebhookEventType> = WebhookEvent extends (i
|
|
|
15634
17165
|
} ? T extends U ? Omit<E, "type"> & {
|
|
15635
17166
|
type: T;
|
|
15636
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;
|
|
15637
17196
|
//#endregion
|
|
15638
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 };
|