zakeke-configurator-react 0.1.366 → 0.1.368
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/declarations/composer/Module/src/api.d.ts +3 -3
- package/dist/declarations/composer/Module/src/components/debugs/debugPanel.d.ts +2 -2
- package/dist/declarations/composer/Module/src/components/sceneViewer.d.ts +5 -5
- package/dist/declarations/composer/Module/src/components/tryon/deepARQrCode.d.ts +6 -6
- package/dist/declarations/composer/Module/src/components/tryon/tryOnProviders/tryOnBanuba.d.ts +22 -22
- package/dist/declarations/composer/Module/src/components/tryon/tryOnProviders/tryOnDeepAR.d.ts +22 -22
- package/dist/declarations/composer/Module/src/environment.d.ts +3 -0
- package/dist/declarations/composer/Module/src/fontsManager.d.ts +75 -75
- package/dist/declarations/composer/Module/src/generated/feature-flags.d.ts +83 -83
- package/dist/declarations/composer/Module/src/helpers.d.ts +49 -49
- package/dist/declarations/composer/Module/src/hooks/tryonContext.d.ts +11 -11
- package/dist/declarations/composer/Module/src/imageUploadTask.d.ts +20 -20
- package/dist/declarations/composer/Module/src/index.d.ts +11 -11
- package/dist/declarations/composer/Module/src/models.d.ts +1212 -1212
- package/dist/declarations/composer/Module/src/state/createProviderValue.d.ts +3 -3
- package/dist/declarations/composer/Module/src/state/provider.d.ts +18 -18
- package/dist/declarations/composer/Module/src/state/state.d.ts +11 -11
- package/dist/declarations/libs/pricingRuleBase/DesignPriceCalculatorRuleBased.d.ts +83 -83
- package/dist/globals1.js +1 -1
- package/dist/globals3.js +1 -1
- package/dist/index.js +110623 -110398
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- /package/dist/declarations/composer/Module/src/integrations/{helpers.d.ts → Helpers.d.ts} +0 -0
|
@@ -1,1212 +1,1212 @@
|
|
|
1
|
-
import { Nullable } from '@zakeke/zakeke-3d-core';
|
|
2
|
-
import { PlatformAttributeSelection } from './integrations/Integration';
|
|
3
|
-
export declare enum Platform {
|
|
4
|
-
Magento1 = 5,
|
|
5
|
-
Magento2 = 1,
|
|
6
|
-
Shopify = 3,
|
|
7
|
-
WooCommerce = 2
|
|
8
|
-
}
|
|
9
|
-
export declare enum PlatformPriceType {
|
|
10
|
-
Standard = 0,
|
|
11
|
-
Inline = 1
|
|
12
|
-
}
|
|
13
|
-
export declare class User {
|
|
14
|
-
id: number;
|
|
15
|
-
username: string;
|
|
16
|
-
name: string;
|
|
17
|
-
constructor(id: number, username: string, name: string);
|
|
18
|
-
}
|
|
19
|
-
declare enum ZakekeEnvironment {
|
|
20
|
-
Customizer = 1,
|
|
21
|
-
Composer = 2,
|
|
22
|
-
Viewer = 3
|
|
23
|
-
}
|
|
24
|
-
export declare enum TryOnType {
|
|
25
|
-
NotSelected = 0,
|
|
26
|
-
Eyewear = 1,
|
|
27
|
-
Scarves = 2,
|
|
28
|
-
Earrings = 3,
|
|
29
|
-
Headwear = 4,
|
|
30
|
-
Necklace = 5,
|
|
31
|
-
Shoes = 6,
|
|
32
|
-
Watches = 7,
|
|
33
|
-
Bracelet = 8
|
|
34
|
-
}
|
|
35
|
-
export type TryOnProvidersTypesMapping = {
|
|
36
|
-
list: Record<TryOnType, TryOnProvider> | {};
|
|
37
|
-
};
|
|
38
|
-
export interface TryOnProduct {
|
|
39
|
-
productID: number;
|
|
40
|
-
typeID: number;
|
|
41
|
-
providerID: number;
|
|
42
|
-
settings: string;
|
|
43
|
-
}
|
|
44
|
-
export interface TryOnSeller {
|
|
45
|
-
sellerID: number;
|
|
46
|
-
typeID: number;
|
|
47
|
-
providerID: number;
|
|
48
|
-
settings: string;
|
|
49
|
-
vtoState: SellerTryOnState;
|
|
50
|
-
}
|
|
51
|
-
export declare enum SellerTryOnState {
|
|
52
|
-
NotActive = 0,
|
|
53
|
-
Active = 1
|
|
54
|
-
}
|
|
55
|
-
export declare enum TryOnProvider {
|
|
56
|
-
NotSelected = 0,
|
|
57
|
-
Mazing = 1,
|
|
58
|
-
Banuba = 2,
|
|
59
|
-
DeepAR = 3
|
|
60
|
-
}
|
|
61
|
-
export interface TryOnTypeSettings {
|
|
62
|
-
try_on: boolean;
|
|
63
|
-
pd?: boolean;
|
|
64
|
-
active: boolean;
|
|
65
|
-
}
|
|
66
|
-
export declare enum TryOnSettingsType {
|
|
67
|
-
VirtualTryOn = "try_on",
|
|
68
|
-
GlassPupillaryDistanceTool = "pd",
|
|
69
|
-
StyleButton = "styleButton"
|
|
70
|
-
}
|
|
71
|
-
export interface TryOnButtonCustomization {
|
|
72
|
-
image: Nullable<string>;
|
|
73
|
-
textLabel: Nullable<string>;
|
|
74
|
-
textColor: Nullable<string>;
|
|
75
|
-
backgroundColor: Nullable<string>;
|
|
76
|
-
borderColor: Nullable<string>;
|
|
77
|
-
borderWidth: number;
|
|
78
|
-
borderRadius: number;
|
|
79
|
-
}
|
|
80
|
-
export interface TryOnSettings {
|
|
81
|
-
type: TryOnType;
|
|
82
|
-
styleButton: 'single' | 'multiple';
|
|
83
|
-
buttonCustomizations: TryOnButtonCustomization[];
|
|
84
|
-
typeSettings: TryOnTypeSettings;
|
|
85
|
-
}
|
|
86
|
-
export declare enum TryOnFineTuningMazingEnvironment {
|
|
87
|
-
Neutral = "neutral.hdr",
|
|
88
|
-
Light = "light.hdr",
|
|
89
|
-
Bright = "bright.hdr",
|
|
90
|
-
Studio = "studio.hdr",
|
|
91
|
-
Court = "court.hdr",
|
|
92
|
-
Blurred_Studio = "startup.hdr"
|
|
93
|
-
}
|
|
94
|
-
export interface TryOnFineTuningSettings {
|
|
95
|
-
scale: number;
|
|
96
|
-
position: {
|
|
97
|
-
x: number;
|
|
98
|
-
y: number;
|
|
99
|
-
z: number;
|
|
100
|
-
};
|
|
101
|
-
rotation?: {
|
|
102
|
-
x: number;
|
|
103
|
-
y: number;
|
|
104
|
-
z: number;
|
|
105
|
-
};
|
|
106
|
-
environment?: string;
|
|
107
|
-
}
|
|
108
|
-
export interface TryOnFineTuningMazingSettings extends TryOnFineTuningSettings {
|
|
109
|
-
temple: boolean;
|
|
110
|
-
environment: TryOnFineTuningMazingEnvironment;
|
|
111
|
-
}
|
|
112
|
-
export interface TryOnFineTuningBanubaSettings extends TryOnFineTuningSettings {
|
|
113
|
-
rotation: {
|
|
114
|
-
x: number;
|
|
115
|
-
y: number;
|
|
116
|
-
z: number;
|
|
117
|
-
};
|
|
118
|
-
}
|
|
119
|
-
export interface TryOnFineTuningDeepARSettings extends TryOnFineTuningSettings {
|
|
120
|
-
position: {
|
|
121
|
-
x: number;
|
|
122
|
-
y: number;
|
|
123
|
-
z: number;
|
|
124
|
-
};
|
|
125
|
-
rotation: {
|
|
126
|
-
x: number;
|
|
127
|
-
y: number;
|
|
128
|
-
z: number;
|
|
129
|
-
};
|
|
130
|
-
scale: number;
|
|
131
|
-
environment: string;
|
|
132
|
-
}
|
|
133
|
-
export type TryOnGenericFineTuningSettings = TryOnFineTuningSettings | TryOnFineTuningMazingSettings;
|
|
134
|
-
export declare const DefaultMazingFineTuningSettings: TryOnFineTuningMazingSettings;
|
|
135
|
-
export declare const DefaultBanubaFineTuningSettings: TryOnFineTuningBanubaSettings;
|
|
136
|
-
export declare const DefaultDeepARFineTuningSettings: TryOnFineTuningDeepARSettings;
|
|
137
|
-
export declare class Product {
|
|
138
|
-
id: number;
|
|
139
|
-
sku: string;
|
|
140
|
-
name: string;
|
|
141
|
-
previewUrl: string;
|
|
142
|
-
metadata?: any;
|
|
143
|
-
areas: ProductArea[];
|
|
144
|
-
quantityRule: ProductQuantityRule | null;
|
|
145
|
-
quoteRule: QuoteRule | null;
|
|
146
|
-
environment: ZakekeEnvironment | null;
|
|
147
|
-
isShowSecondScreenEnabled: boolean;
|
|
148
|
-
isAiConfigurationEnabled: boolean;
|
|
149
|
-
isOldViewer: boolean;
|
|
150
|
-
static fromProduct(zkProduct: any): Product;
|
|
151
|
-
}
|
|
152
|
-
export declare class QuoteRule {
|
|
153
|
-
quoteRuleID: number;
|
|
154
|
-
name: string;
|
|
155
|
-
sellerID: number;
|
|
156
|
-
formControlsData: string;
|
|
157
|
-
isValidForAllProducts: boolean;
|
|
158
|
-
allowAddToCart: boolean;
|
|
159
|
-
products: number[];
|
|
160
|
-
constructor(quoteRule: any);
|
|
161
|
-
}
|
|
162
|
-
export declare class Quote {
|
|
163
|
-
quoteID: number | undefined;
|
|
164
|
-
sellerID: number | undefined;
|
|
165
|
-
subject: string | undefined;
|
|
166
|
-
statusID: number;
|
|
167
|
-
designDocID: string | undefined;
|
|
168
|
-
compositionDocID: string | undefined | null;
|
|
169
|
-
orderDocID: string | undefined;
|
|
170
|
-
formData: string | undefined;
|
|
171
|
-
amount: number | undefined;
|
|
172
|
-
quantity: number;
|
|
173
|
-
shippingAmount: number | undefined;
|
|
174
|
-
additionalAmountLabel: string | undefined;
|
|
175
|
-
additionalAmount: number | undefined;
|
|
176
|
-
visitorID: number | undefined;
|
|
177
|
-
visitorCode: string | undefined;
|
|
178
|
-
customerID: number | undefined;
|
|
179
|
-
customerCode: string | undefined;
|
|
180
|
-
createdOn: Date | undefined;
|
|
181
|
-
modelPrice: number;
|
|
182
|
-
variantName: string | undefined;
|
|
183
|
-
}
|
|
184
|
-
export declare class ProductArea {
|
|
185
|
-
id: number;
|
|
186
|
-
name: string;
|
|
187
|
-
cameraLocationID?: string;
|
|
188
|
-
static fromSide(modelSide: any): ProductArea;
|
|
189
|
-
}
|
|
190
|
-
export declare class ProductQuantityRule {
|
|
191
|
-
minQuantity: number | null;
|
|
192
|
-
maxQuantity: number | null;
|
|
193
|
-
step: number | null;
|
|
194
|
-
static fromQuantityRule(quantityRule: any): ProductQuantityRule;
|
|
195
|
-
}
|
|
196
|
-
export declare class Variant {
|
|
197
|
-
id: number | undefined;
|
|
198
|
-
sku: string | undefined;
|
|
199
|
-
name: string | undefined;
|
|
200
|
-
price: number | undefined;
|
|
201
|
-
metadata?: any;
|
|
202
|
-
constructor(id: number | undefined, sku: string | undefined, name: string | undefined, price: number | undefined, metadata?: any);
|
|
203
|
-
}
|
|
204
|
-
export declare class ZakekeEvent {
|
|
205
|
-
event: string;
|
|
206
|
-
callback: any;
|
|
207
|
-
constructor(event: string, callback: any);
|
|
208
|
-
}
|
|
209
|
-
export declare class TemplateConstraints {
|
|
210
|
-
isUserImageAllowed: boolean;
|
|
211
|
-
}
|
|
212
|
-
export declare class TemplateArea {
|
|
213
|
-
id: number;
|
|
214
|
-
uploadRestrictions: TemplateConstraints;
|
|
215
|
-
disableSellerImages: boolean;
|
|
216
|
-
canAddImage: boolean;
|
|
217
|
-
canAddText: boolean;
|
|
218
|
-
static fromTemplateArea(zkSide: any): TemplateArea;
|
|
219
|
-
}
|
|
220
|
-
export declare class Template {
|
|
221
|
-
id: number;
|
|
222
|
-
name: string;
|
|
223
|
-
areas: TemplateArea[];
|
|
224
|
-
static fromTemplate(zkTemplate: any): Template;
|
|
225
|
-
}
|
|
226
|
-
export declare enum ItemType {
|
|
227
|
-
Text = 0,
|
|
228
|
-
Image = 1
|
|
229
|
-
}
|
|
230
|
-
export interface Item {
|
|
231
|
-
type: ItemType;
|
|
232
|
-
guid: string;
|
|
233
|
-
name: string;
|
|
234
|
-
areaId: number;
|
|
235
|
-
index: number;
|
|
236
|
-
constraints: {
|
|
237
|
-
[key: string]: any;
|
|
238
|
-
} | null;
|
|
239
|
-
}
|
|
240
|
-
export declare class TextItem implements Item {
|
|
241
|
-
type: ItemType;
|
|
242
|
-
areaId: number;
|
|
243
|
-
guid: string;
|
|
244
|
-
name: string;
|
|
245
|
-
text: string;
|
|
246
|
-
strokeColor: string;
|
|
247
|
-
strokeWidth: number;
|
|
248
|
-
fillColor: string;
|
|
249
|
-
fontFamily: string;
|
|
250
|
-
fontSize: number;
|
|
251
|
-
fontWeight: string;
|
|
252
|
-
fontStyle: string;
|
|
253
|
-
fontStretch: string;
|
|
254
|
-
justification: string;
|
|
255
|
-
isTextOnPath: boolean;
|
|
256
|
-
isTemplateElement: boolean;
|
|
257
|
-
constraints: {
|
|
258
|
-
[key: string]: any;
|
|
259
|
-
} | null;
|
|
260
|
-
index: number;
|
|
261
|
-
constructor(item: any);
|
|
262
|
-
}
|
|
263
|
-
export declare class ImageItem implements Item {
|
|
264
|
-
type: ItemType;
|
|
265
|
-
imageID: number;
|
|
266
|
-
areaId: number;
|
|
267
|
-
guid: string;
|
|
268
|
-
name: string;
|
|
269
|
-
url: string;
|
|
270
|
-
deleted: boolean;
|
|
271
|
-
constraints: {
|
|
272
|
-
[key: string]: any;
|
|
273
|
-
} | null;
|
|
274
|
-
index: number;
|
|
275
|
-
constructor(item: any);
|
|
276
|
-
}
|
|
277
|
-
export declare class PlatformSettings {
|
|
278
|
-
static Empty: PlatformSettings;
|
|
279
|
-
accessKey: string;
|
|
280
|
-
accessSecret: string;
|
|
281
|
-
adminPath: string;
|
|
282
|
-
apiKey: string;
|
|
283
|
-
apiSecret: string;
|
|
284
|
-
currencyCode: string;
|
|
285
|
-
currencyID: number | undefined;
|
|
286
|
-
definitiveUrl: string;
|
|
287
|
-
currencySymbol: string;
|
|
288
|
-
ecommerceID: number;
|
|
289
|
-
ecommerceName: number;
|
|
290
|
-
hasProductsApi: boolean;
|
|
291
|
-
isMarketplace: boolean;
|
|
292
|
-
remoteUrl: string;
|
|
293
|
-
username: string;
|
|
294
|
-
password: string;
|
|
295
|
-
canCheckIsIntegrated: boolean;
|
|
296
|
-
productsApi: string;
|
|
297
|
-
salesChannelID: number;
|
|
298
|
-
get platform(): Platform;
|
|
299
|
-
constructor();
|
|
300
|
-
static fromData(response: PlatformSettingsDto): PlatformSettings;
|
|
301
|
-
}
|
|
302
|
-
export interface TextSanitationResult {
|
|
303
|
-
sanitizedText: string;
|
|
304
|
-
dirtyChars: string[];
|
|
305
|
-
}
|
|
306
|
-
export interface MerchantImageResultDto {
|
|
307
|
-
fileNameSmall: string;
|
|
308
|
-
fileNameBig: string;
|
|
309
|
-
imageUrlSmall: string;
|
|
310
|
-
imageUrlBig: string;
|
|
311
|
-
}
|
|
312
|
-
export interface PlatformSettingsDto {
|
|
313
|
-
ecommerceID: number;
|
|
314
|
-
currencyID: number | undefined;
|
|
315
|
-
currencyCode: string;
|
|
316
|
-
apiKey: string;
|
|
317
|
-
apiSecret: string;
|
|
318
|
-
accessKey: string;
|
|
319
|
-
accessSecret: string;
|
|
320
|
-
remoteUrl: string;
|
|
321
|
-
username: string;
|
|
322
|
-
password: string;
|
|
323
|
-
adminPath: string;
|
|
324
|
-
canCheckIsIntegrated: boolean;
|
|
325
|
-
productsApi: string;
|
|
326
|
-
definitiveUrl: string;
|
|
327
|
-
currencySymbol: string;
|
|
328
|
-
ecommerceName: number;
|
|
329
|
-
hasProductsApi: boolean;
|
|
330
|
-
isMarketplace: boolean;
|
|
331
|
-
salesChannelID: number;
|
|
332
|
-
}
|
|
333
|
-
export interface SubscriptionInfo {
|
|
334
|
-
planId: number;
|
|
335
|
-
planName: string;
|
|
336
|
-
startDate: string;
|
|
337
|
-
showBrand: boolean;
|
|
338
|
-
}
|
|
339
|
-
export interface FontFamily {
|
|
340
|
-
fontFamilyID: number;
|
|
341
|
-
fontFamilyGuid: number;
|
|
342
|
-
faces: FontFamilyFace[];
|
|
343
|
-
name: string;
|
|
344
|
-
imageUrl: string;
|
|
345
|
-
cssUrl: string;
|
|
346
|
-
isSystemFont: boolean;
|
|
347
|
-
stretches: string;
|
|
348
|
-
variations: string;
|
|
349
|
-
fullLoaded?: boolean;
|
|
350
|
-
}
|
|
351
|
-
export interface FontFamilyFace {
|
|
352
|
-
filesUrls: string[];
|
|
353
|
-
parsedFiles: FontFamilyFaceFiles[];
|
|
354
|
-
fontFaceGuid: string;
|
|
355
|
-
fontFaceID: number;
|
|
356
|
-
name: string;
|
|
357
|
-
openTypeStretch: string;
|
|
358
|
-
openTypeWeight: string;
|
|
359
|
-
stretch: string;
|
|
360
|
-
style: string;
|
|
361
|
-
variation: string;
|
|
362
|
-
version: string;
|
|
363
|
-
weight: string;
|
|
364
|
-
}
|
|
365
|
-
export interface FontFamilyFaceFiles {
|
|
366
|
-
url: string;
|
|
367
|
-
file: any;
|
|
368
|
-
}
|
|
369
|
-
/**
|
|
370
|
-
* Represents an image.
|
|
371
|
-
*/
|
|
372
|
-
export interface ZakekeImage {
|
|
373
|
-
/**
|
|
374
|
-
* The ID of the image.
|
|
375
|
-
*/
|
|
376
|
-
imageID: number;
|
|
377
|
-
/**
|
|
378
|
-
* The name of the image.
|
|
379
|
-
*/
|
|
380
|
-
name: string;
|
|
381
|
-
/**
|
|
382
|
-
* The URL of the image's choice.
|
|
383
|
-
*/
|
|
384
|
-
choiceUrl: string;
|
|
385
|
-
/**
|
|
386
|
-
* The preferred width of the image, if specified.
|
|
387
|
-
* Set to null if no preferred width is specified.
|
|
388
|
-
*/
|
|
389
|
-
preferredWidth: number | null;
|
|
390
|
-
/**
|
|
391
|
-
* The preferred height of the image, if specified.
|
|
392
|
-
* Set to null if no preferred height is specified.
|
|
393
|
-
*/
|
|
394
|
-
preferredHeight: number | null;
|
|
395
|
-
}
|
|
396
|
-
export interface ImageCategory {
|
|
397
|
-
categoryID: number | null;
|
|
398
|
-
name: string;
|
|
399
|
-
isSystemwide: boolean;
|
|
400
|
-
hasImages: boolean;
|
|
401
|
-
}
|
|
402
|
-
export interface ImageMacroCategory {
|
|
403
|
-
macroCategoryID: number | null;
|
|
404
|
-
name: string;
|
|
405
|
-
isSystemwide: boolean;
|
|
406
|
-
hasImages: boolean;
|
|
407
|
-
categories: ImageCategory[];
|
|
408
|
-
}
|
|
409
|
-
interface Addon {
|
|
410
|
-
addonName: string;
|
|
411
|
-
subscriptionAddonID: string;
|
|
412
|
-
}
|
|
413
|
-
export interface AdditionalFeatures {
|
|
414
|
-
editPDFPreview: boolean;
|
|
415
|
-
editSummary: boolean;
|
|
416
|
-
integrations: boolean;
|
|
417
|
-
bulkVariationForm: boolean;
|
|
418
|
-
pricePerImage: boolean;
|
|
419
|
-
engraving: boolean;
|
|
420
|
-
editPrintfiles: boolean;
|
|
421
|
-
printReadyFilesPlus: boolean;
|
|
422
|
-
textplus: boolean;
|
|
423
|
-
prices3dConfigurator: boolean;
|
|
424
|
-
customEnvironmentTexture: boolean;
|
|
425
|
-
dynamicProperties: boolean;
|
|
426
|
-
materialLibrary: boolean;
|
|
427
|
-
multiareaConfiguratorDesigner: boolean;
|
|
428
|
-
aiPoweredTools: boolean;
|
|
429
|
-
}
|
|
430
|
-
export interface Settings {
|
|
431
|
-
additionalFeatures: AdditionalFeatures;
|
|
432
|
-
isPricingAdvancedEnabled: boolean;
|
|
433
|
-
userID: number;
|
|
434
|
-
username: string;
|
|
435
|
-
referrerID: number;
|
|
436
|
-
ecommerceUrl: string;
|
|
437
|
-
ecommerceID: number | null;
|
|
438
|
-
addons: Addon[];
|
|
439
|
-
eventMessages: EventMessage[];
|
|
440
|
-
nftSettings: NftSettings;
|
|
441
|
-
brand: boolean;
|
|
442
|
-
isPdfEpsEnabled: boolean;
|
|
443
|
-
}
|
|
444
|
-
export declare class EventMessage {
|
|
445
|
-
eventID: EventMessageType;
|
|
446
|
-
description: string;
|
|
447
|
-
closeable: boolean;
|
|
448
|
-
visible: boolean;
|
|
449
|
-
addToCartDisabledIfVisible: boolean;
|
|
450
|
-
additionalData: any;
|
|
451
|
-
enableCheckForSellerImages: boolean;
|
|
452
|
-
isDefault: boolean;
|
|
453
|
-
static fromMessage(message: any): EventMessage;
|
|
454
|
-
}
|
|
455
|
-
export declare enum EventMessageType {
|
|
456
|
-
Undefined = -1,
|
|
457
|
-
ImageQualityWarning = 1,
|
|
458
|
-
Welcome = 3,
|
|
459
|
-
AddToCart = 4,
|
|
460
|
-
Copyright = 8
|
|
461
|
-
}
|
|
462
|
-
export declare class Camera {
|
|
463
|
-
id: string;
|
|
464
|
-
name: string;
|
|
465
|
-
static fromZkCamera(zkCamera: Zakeke.SceneCameraLocation): Camera;
|
|
466
|
-
}
|
|
467
|
-
export declare class Group {
|
|
468
|
-
id: number;
|
|
469
|
-
guid: string;
|
|
470
|
-
name: string;
|
|
471
|
-
enabled: boolean;
|
|
472
|
-
imageUrl?: string | null;
|
|
473
|
-
icon?: string | null;
|
|
474
|
-
attributes: Attribute[];
|
|
475
|
-
steps: Step[];
|
|
476
|
-
templateGroups: ThemeTemplateGroup[];
|
|
477
|
-
cameraLocationId: string | null;
|
|
478
|
-
displayOrder: number;
|
|
479
|
-
direction: number;
|
|
480
|
-
attributesAlwaysOpened: boolean;
|
|
481
|
-
}
|
|
482
|
-
export declare class Step {
|
|
483
|
-
id: number;
|
|
484
|
-
guid: string;
|
|
485
|
-
name: string;
|
|
486
|
-
cameraLocationID: string | null;
|
|
487
|
-
displayOrder: number;
|
|
488
|
-
attributes: Attribute[];
|
|
489
|
-
templateGroups: ThemeTemplateGroup[];
|
|
490
|
-
}
|
|
491
|
-
export declare enum AttributeType {
|
|
492
|
-
Select = 0,
|
|
493
|
-
Input = 1,
|
|
494
|
-
Colorpicker = 2
|
|
495
|
-
}
|
|
496
|
-
export declare enum AttributeOptionShapeType {
|
|
497
|
-
Round = 1,
|
|
498
|
-
Square = 2
|
|
499
|
-
}
|
|
500
|
-
export declare class Attribute {
|
|
501
|
-
id: number;
|
|
502
|
-
guid: string;
|
|
503
|
-
code: string;
|
|
504
|
-
name: string;
|
|
505
|
-
description: string;
|
|
506
|
-
enabled: boolean;
|
|
507
|
-
imageUrl: string | null;
|
|
508
|
-
groupId: number;
|
|
509
|
-
stepId: number;
|
|
510
|
-
options: Option[];
|
|
511
|
-
value: any;
|
|
512
|
-
numberFormat: string;
|
|
513
|
-
type: AttributeType;
|
|
514
|
-
optionShapeType: AttributeOptionShapeType;
|
|
515
|
-
displayOrder: number;
|
|
516
|
-
hideOptionsLabel: boolean;
|
|
517
|
-
cameraLocationId: string | null;
|
|
518
|
-
}
|
|
519
|
-
interface Pricing {
|
|
520
|
-
fromQuantity: number;
|
|
521
|
-
price: number;
|
|
522
|
-
}
|
|
523
|
-
export declare class Option {
|
|
524
|
-
id: number;
|
|
525
|
-
attribute: Attribute;
|
|
526
|
-
guid: string;
|
|
527
|
-
code: string;
|
|
528
|
-
name: string;
|
|
529
|
-
description: string;
|
|
530
|
-
enabled: boolean;
|
|
531
|
-
selected: boolean;
|
|
532
|
-
imageUrl: string | null | undefined;
|
|
533
|
-
displayOrder: number;
|
|
534
|
-
pricings: Pricing[];
|
|
535
|
-
}
|
|
536
|
-
export declare class TemplateComposition {
|
|
537
|
-
compositionID: number;
|
|
538
|
-
name: string;
|
|
539
|
-
previewImageUrl: string;
|
|
540
|
-
}
|
|
541
|
-
export declare class ThemeCategory {
|
|
542
|
-
id: number;
|
|
543
|
-
name: string;
|
|
544
|
-
composition: TemplateComposition[];
|
|
545
|
-
}
|
|
546
|
-
export declare class ThemeMacroCategory {
|
|
547
|
-
id: number;
|
|
548
|
-
name: string;
|
|
549
|
-
category: ThemeCategory[];
|
|
550
|
-
}
|
|
551
|
-
export declare class ThemeTemplateGroup {
|
|
552
|
-
templateGroupID: number;
|
|
553
|
-
name: string;
|
|
554
|
-
groupID: number;
|
|
555
|
-
stepID: number;
|
|
556
|
-
displayOrder: number;
|
|
557
|
-
macroCategory: ThemeMacroCategory[];
|
|
558
|
-
}
|
|
559
|
-
export declare class SellerSettings {
|
|
560
|
-
customizeButtonLabel: string;
|
|
561
|
-
customizeButtonIconUrl: string | null;
|
|
562
|
-
isCompositionRecapEnabled: boolean;
|
|
563
|
-
isCompositionRecapVisibleFromStart: boolean;
|
|
564
|
-
canUserCloseCompositionRecap: boolean;
|
|
565
|
-
minimumFractionDigits: number;
|
|
566
|
-
priceInfoText: string;
|
|
567
|
-
hidePrice: boolean;
|
|
568
|
-
hotjarSiteID: string | null;
|
|
569
|
-
googleTagManagerID: string | null;
|
|
570
|
-
canSaveDraftComposition: boolean;
|
|
571
|
-
canUndoRedo: boolean;
|
|
572
|
-
shareType: number | null;
|
|
573
|
-
static fromSellerSettings(zkSellerSettings: any): SellerSettings;
|
|
574
|
-
}
|
|
575
|
-
export declare class CompositionItem {
|
|
576
|
-
attributeID: number;
|
|
577
|
-
attributeName: string;
|
|
578
|
-
attributeCode: string;
|
|
579
|
-
selectedOptionName: string;
|
|
580
|
-
selectedOptionCode: string;
|
|
581
|
-
}
|
|
582
|
-
export declare class Composition {
|
|
583
|
-
name: string;
|
|
584
|
-
docID: string;
|
|
585
|
-
compositionID: number;
|
|
586
|
-
compositionItems: CompositionItem[];
|
|
587
|
-
previewImageUrl: string;
|
|
588
|
-
designID: number | null;
|
|
589
|
-
pdSettings: number | null;
|
|
590
|
-
tags: string[];
|
|
591
|
-
static fromJSON(json: any): Composition;
|
|
592
|
-
}
|
|
593
|
-
export interface OnBeforeSendDataToParent {
|
|
594
|
-
composition: number;
|
|
595
|
-
preview: string;
|
|
596
|
-
attributes: PlatformAttributeSelection[];
|
|
597
|
-
designItems: Item[];
|
|
598
|
-
quantity: number;
|
|
599
|
-
previewFiles: PreviewFile[];
|
|
600
|
-
additionalProperties: any;
|
|
601
|
-
}
|
|
602
|
-
export interface TemplateUploadRestrictions {
|
|
603
|
-
isUserImageAllowed: boolean;
|
|
604
|
-
isJpgAllowed: boolean;
|
|
605
|
-
isPngAllowed: boolean;
|
|
606
|
-
isSvgAllowed: boolean;
|
|
607
|
-
isPdfAllowed: boolean;
|
|
608
|
-
isEpsAllowed: boolean;
|
|
609
|
-
isPdfWithRasterAllowed: boolean;
|
|
610
|
-
}
|
|
611
|
-
export interface PrintingMethodsRestrictions {
|
|
612
|
-
allowedBold: boolean;
|
|
613
|
-
allowedItalic: boolean;
|
|
614
|
-
allowedCurved: boolean;
|
|
615
|
-
disableTextColors: boolean;
|
|
616
|
-
textColors: Array<RestrictionColor>;
|
|
617
|
-
defaultColor: string;
|
|
618
|
-
isPDFPreviewEnabled: boolean;
|
|
619
|
-
}
|
|
620
|
-
export declare class SelectedOption {
|
|
621
|
-
attributeID: number;
|
|
622
|
-
optionID: number;
|
|
623
|
-
}
|
|
624
|
-
export declare enum ExtensionFieldDataType {
|
|
625
|
-
Money = 1,
|
|
626
|
-
Integer = 2,
|
|
627
|
-
Decimal = 3
|
|
628
|
-
}
|
|
629
|
-
export interface ExtensionFields {
|
|
630
|
-
name: string;
|
|
631
|
-
value: number;
|
|
632
|
-
label: string;
|
|
633
|
-
formatString: string;
|
|
634
|
-
}
|
|
635
|
-
export interface PreviewCameraImage {
|
|
636
|
-
id: number;
|
|
637
|
-
url: string;
|
|
638
|
-
}
|
|
639
|
-
export interface CompositionClientPreview {
|
|
640
|
-
fileObjectID: number;
|
|
641
|
-
cameraName: string;
|
|
642
|
-
url: string;
|
|
643
|
-
}
|
|
644
|
-
export interface NftSettings {
|
|
645
|
-
isNFTEnabled: boolean;
|
|
646
|
-
priceToAdd: number;
|
|
647
|
-
}
|
|
648
|
-
export interface NftForm {
|
|
649
|
-
email: string;
|
|
650
|
-
walletAddress: string;
|
|
651
|
-
}
|
|
652
|
-
export interface SelectedCategory {
|
|
653
|
-
categoryID: number;
|
|
654
|
-
name: string;
|
|
655
|
-
}
|
|
656
|
-
export interface VisibleEventMessage {
|
|
657
|
-
areaID: number;
|
|
658
|
-
itemGuid: string;
|
|
659
|
-
type: number;
|
|
660
|
-
title: string;
|
|
661
|
-
message: string;
|
|
662
|
-
closabled: boolean;
|
|
663
|
-
requiredWidth: number | null;
|
|
664
|
-
requiredHeight: number | null;
|
|
665
|
-
addToCartDisabledIfVisible: boolean;
|
|
666
|
-
}
|
|
667
|
-
export interface PreviewFile {
|
|
668
|
-
url: string;
|
|
669
|
-
cameraName: string;
|
|
670
|
-
}
|
|
671
|
-
/**
|
|
672
|
-
* Represents internal translations.
|
|
673
|
-
*/
|
|
674
|
-
export interface InternalTranslations {
|
|
675
|
-
/**
|
|
676
|
-
* An array of static translations.
|
|
677
|
-
*/
|
|
678
|
-
statics: StaticTranslation[];
|
|
679
|
-
/**
|
|
680
|
-
* An array of dynamic translations.
|
|
681
|
-
*/
|
|
682
|
-
dynamics: DynamicTranslation[];
|
|
683
|
-
}
|
|
684
|
-
/**
|
|
685
|
-
* Represents translations.
|
|
686
|
-
*/
|
|
687
|
-
export interface Translations {
|
|
688
|
-
/**
|
|
689
|
-
* A map of static translations where the original string is the key and the localized string is the value.
|
|
690
|
-
*/
|
|
691
|
-
statics: Map<string, string>;
|
|
692
|
-
/**
|
|
693
|
-
* A map of dynamic translations where the original string is the key and the localized string is the value.
|
|
694
|
-
*/
|
|
695
|
-
dynamics: Map<string, string>;
|
|
696
|
-
}
|
|
697
|
-
/**
|
|
698
|
-
* Represents a static translation.
|
|
699
|
-
*/
|
|
700
|
-
interface StaticTranslation {
|
|
701
|
-
/**
|
|
702
|
-
* The original string to be translated.
|
|
703
|
-
*/
|
|
704
|
-
original: string;
|
|
705
|
-
/**
|
|
706
|
-
* The localized string representing the translation.
|
|
707
|
-
*/
|
|
708
|
-
localization: string;
|
|
709
|
-
/**
|
|
710
|
-
* The language identifier (LCID) associated with the translation.
|
|
711
|
-
*/
|
|
712
|
-
lcid: number;
|
|
713
|
-
}
|
|
714
|
-
/**
|
|
715
|
-
* Represents a dynamic translation.
|
|
716
|
-
*/
|
|
717
|
-
interface DynamicTranslation {
|
|
718
|
-
/**
|
|
719
|
-
* The original string to be translated.
|
|
720
|
-
*/
|
|
721
|
-
original: string;
|
|
722
|
-
/**
|
|
723
|
-
* The localized string representing the translation.
|
|
724
|
-
*/
|
|
725
|
-
localization: string;
|
|
726
|
-
/**
|
|
727
|
-
* The language identifier (LCID) associated with the translation.
|
|
728
|
-
*/
|
|
729
|
-
lcid: number;
|
|
730
|
-
}
|
|
731
|
-
/**
|
|
732
|
-
* Represents a color restriction.
|
|
733
|
-
*/
|
|
734
|
-
export interface RestrictionColor {
|
|
735
|
-
/**
|
|
736
|
-
* The color code.
|
|
737
|
-
*/
|
|
738
|
-
colorCode: string;
|
|
739
|
-
/**
|
|
740
|
-
* Indicates if it is the default color.
|
|
741
|
-
*/
|
|
742
|
-
isDefault: boolean;
|
|
743
|
-
}
|
|
744
|
-
/**
|
|
745
|
-
* Represents custom preview size.
|
|
746
|
-
*/
|
|
747
|
-
export interface CustomPreviewSize {
|
|
748
|
-
/**
|
|
749
|
-
* The width of the custom cart preview.
|
|
750
|
-
*/
|
|
751
|
-
customCartPreviewWidth: number;
|
|
752
|
-
/**
|
|
753
|
-
* The height of the custom cart preview.
|
|
754
|
-
*/
|
|
755
|
-
customCartPreviewHeight: number;
|
|
756
|
-
}
|
|
757
|
-
/**
|
|
758
|
-
* Represents draft compositions.
|
|
759
|
-
*/
|
|
760
|
-
export interface DraftCompositions {
|
|
761
|
-
/**
|
|
762
|
-
* The name of the composition.
|
|
763
|
-
*/
|
|
764
|
-
name: string;
|
|
765
|
-
/**
|
|
766
|
-
* The document ID of the composition.
|
|
767
|
-
*/
|
|
768
|
-
docID: string;
|
|
769
|
-
/**
|
|
770
|
-
* The URL of the preview image.
|
|
771
|
-
*/
|
|
772
|
-
previewImageUrl: string;
|
|
773
|
-
/**
|
|
774
|
-
* The tags associated with the composition.
|
|
775
|
-
*/
|
|
776
|
-
tags: string[];
|
|
777
|
-
}
|
|
778
|
-
/**
|
|
779
|
-
@internal
|
|
780
|
-
*/
|
|
781
|
-
export interface ThemeCompositions {
|
|
782
|
-
/**
|
|
783
|
-
* The name of the composition.
|
|
784
|
-
*/
|
|
785
|
-
name: string;
|
|
786
|
-
/**
|
|
787
|
-
* The document ID of the composition.
|
|
788
|
-
*/
|
|
789
|
-
docID: string;
|
|
790
|
-
/**
|
|
791
|
-
* The URL of the preview image.
|
|
792
|
-
*/
|
|
793
|
-
previewImageUrl: string;
|
|
794
|
-
/**
|
|
795
|
-
* The tags associated with the composition.
|
|
796
|
-
*/
|
|
797
|
-
tags: string[];
|
|
798
|
-
}
|
|
799
|
-
/**
|
|
800
|
-
* Represents information about the current composition.
|
|
801
|
-
*/
|
|
802
|
-
export interface CurrentCompositionInfo {
|
|
803
|
-
/**
|
|
804
|
-
* The ID of the composition. It can be null.
|
|
805
|
-
*/
|
|
806
|
-
compositionId: string | null;
|
|
807
|
-
/**
|
|
808
|
-
* The name of the composition. It can be null.
|
|
809
|
-
*/
|
|
810
|
-
compositionName: string | null;
|
|
811
|
-
/**
|
|
812
|
-
* The tags associated with the composition. It can be null.
|
|
813
|
-
*/
|
|
814
|
-
compositionTags: string[] | null;
|
|
815
|
-
}
|
|
816
|
-
/**
|
|
817
|
-
* Represents a template category.
|
|
818
|
-
*/
|
|
819
|
-
export interface TemplateCategory {
|
|
820
|
-
/**
|
|
821
|
-
* The name of the category.
|
|
822
|
-
*/
|
|
823
|
-
categoryName: string;
|
|
824
|
-
/**
|
|
825
|
-
* The ID of the category.
|
|
826
|
-
*/
|
|
827
|
-
categoryID: number;
|
|
828
|
-
}
|
|
829
|
-
/**
|
|
830
|
-
* Represents a template macro category.
|
|
831
|
-
*/
|
|
832
|
-
export interface TemplateMacroCategory {
|
|
833
|
-
/**
|
|
834
|
-
* The name of the macro category.
|
|
835
|
-
*/
|
|
836
|
-
macroCategoryName: string;
|
|
837
|
-
/**
|
|
838
|
-
* The ID of the macro category.
|
|
839
|
-
*/
|
|
840
|
-
macroCategoryID: number;
|
|
841
|
-
/**
|
|
842
|
-
* The categories under this macro category.
|
|
843
|
-
*/
|
|
844
|
-
categories: TemplateCategory[];
|
|
845
|
-
}
|
|
846
|
-
/**
|
|
847
|
-
@internal
|
|
848
|
-
*/
|
|
849
|
-
export interface Category {
|
|
850
|
-
/**
|
|
851
|
-
* The ID of the category.
|
|
852
|
-
*/
|
|
853
|
-
categoryID: number;
|
|
854
|
-
/**
|
|
855
|
-
* The ID of the macro category to which this category belongs.
|
|
856
|
-
*/
|
|
857
|
-
macroCategoryID: number;
|
|
858
|
-
/**
|
|
859
|
-
* The name of the category.
|
|
860
|
-
*/
|
|
861
|
-
name: string;
|
|
862
|
-
/**
|
|
863
|
-
* The description of the category.
|
|
864
|
-
*/
|
|
865
|
-
description: string;
|
|
866
|
-
/**
|
|
867
|
-
* The ID of the seller associated with the category.
|
|
868
|
-
*/
|
|
869
|
-
sellerID: number;
|
|
870
|
-
/**
|
|
871
|
-
* The display order of the category.
|
|
872
|
-
*/
|
|
873
|
-
displayOrder: number;
|
|
874
|
-
/**
|
|
875
|
-
* Indicates if the category is a draft.
|
|
876
|
-
*/
|
|
877
|
-
isDraft: boolean;
|
|
878
|
-
/**
|
|
879
|
-
* The composition of the category.
|
|
880
|
-
*/
|
|
881
|
-
composition: any;
|
|
882
|
-
/**
|
|
883
|
-
* The template of the category.
|
|
884
|
-
*/
|
|
885
|
-
template: any;
|
|
886
|
-
}
|
|
887
|
-
/**
|
|
888
|
-
@internal
|
|
889
|
-
*/
|
|
890
|
-
export interface MacroCategory {
|
|
891
|
-
/**
|
|
892
|
-
* The ID of the macro category.
|
|
893
|
-
*/
|
|
894
|
-
macroCategoryID: number;
|
|
895
|
-
/**
|
|
896
|
-
* The name of the macro category.
|
|
897
|
-
*/
|
|
898
|
-
name: string;
|
|
899
|
-
/**
|
|
900
|
-
* The ID of the seller associated with the macro category.
|
|
901
|
-
*/
|
|
902
|
-
sellerID: number;
|
|
903
|
-
/**
|
|
904
|
-
* The display order of the macro category.
|
|
905
|
-
*/
|
|
906
|
-
displayOrder: number;
|
|
907
|
-
/**
|
|
908
|
-
* Indicates if the macro category is a draft.
|
|
909
|
-
*/
|
|
910
|
-
isDraft: boolean;
|
|
911
|
-
/**
|
|
912
|
-
* The categories under this macro category.
|
|
913
|
-
*/
|
|
914
|
-
category: Category[];
|
|
915
|
-
}
|
|
916
|
-
/**
|
|
917
|
-
* Represents the boot parameters for the Zakeke Configurator.
|
|
918
|
-
*/
|
|
919
|
-
export interface BootParameters {
|
|
920
|
-
/**
|
|
921
|
-
* The name of the product.
|
|
922
|
-
*/
|
|
923
|
-
productName?: string;
|
|
924
|
-
/**
|
|
925
|
-
* The platform on which the Composer is running.
|
|
926
|
-
*/
|
|
927
|
-
platform?: string;
|
|
928
|
-
/**
|
|
929
|
-
* The quantity of the product.
|
|
930
|
-
*/
|
|
931
|
-
quantity?: number;
|
|
932
|
-
/**
|
|
933
|
-
* The culture of the product.
|
|
934
|
-
*/
|
|
935
|
-
culture?: string;
|
|
936
|
-
/**
|
|
937
|
-
* The currency of the product.
|
|
938
|
-
*/
|
|
939
|
-
currency?: string;
|
|
940
|
-
/**
|
|
941
|
-
* The token for the product.
|
|
942
|
-
*/
|
|
943
|
-
token?: string;
|
|
944
|
-
/**
|
|
945
|
-
* The ID of the composition.
|
|
946
|
-
*/
|
|
947
|
-
compositionId?: string;
|
|
948
|
-
/**
|
|
949
|
-
* The code of the product.
|
|
950
|
-
*/
|
|
951
|
-
productCode?: string;
|
|
952
|
-
/**
|
|
953
|
-
* The width of the preview.
|
|
954
|
-
*/
|
|
955
|
-
previewWidth?: number;
|
|
956
|
-
/**
|
|
957
|
-
* The height of the preview.
|
|
958
|
-
*/
|
|
959
|
-
previewHeight?: number;
|
|
960
|
-
/**
|
|
961
|
-
* The prefix for the share URL.
|
|
962
|
-
*/
|
|
963
|
-
shareUrlPrefix?: string;
|
|
964
|
-
/**
|
|
965
|
-
* The ID of the shared composition document.
|
|
966
|
-
*/
|
|
967
|
-
sharedCompositionDocId?: string;
|
|
968
|
-
/**
|
|
969
|
-
* The ID of the template.
|
|
970
|
-
*/
|
|
971
|
-
templateId?: string;
|
|
972
|
-
/**
|
|
973
|
-
* Indicates if the editor is in draft mode.
|
|
974
|
-
*/
|
|
975
|
-
isDraftEditor?: boolean;
|
|
976
|
-
/**
|
|
977
|
-
* Indicates if the share composition URL is enabled.
|
|
978
|
-
*/
|
|
979
|
-
enableShareCompositionUrl?: boolean;
|
|
980
|
-
/**
|
|
981
|
-
* The ID of the draft composition document.
|
|
982
|
-
*/
|
|
983
|
-
draftCompositionDocId?: any;
|
|
984
|
-
/**
|
|
985
|
-
* Indicates if the editor is in viewer mode.
|
|
986
|
-
*/
|
|
987
|
-
isViewerMode?: boolean;
|
|
988
|
-
/**
|
|
989
|
-
* Indicates if the editor is in template mode.
|
|
990
|
-
*/
|
|
991
|
-
isTemplateEditor?: boolean;
|
|
992
|
-
/**
|
|
993
|
-
* Indicates if the legacy screenshot is used.
|
|
994
|
-
*/
|
|
995
|
-
useLegacyScreenshot?: boolean;
|
|
996
|
-
/**
|
|
997
|
-
* The version of the integration.
|
|
998
|
-
*/
|
|
999
|
-
integrationVersion?: number;
|
|
1000
|
-
}
|
|
1001
|
-
export interface UIConfig {
|
|
1002
|
-
urlLoader: string;
|
|
1003
|
-
urlARIcon: string;
|
|
1004
|
-
}
|
|
1005
|
-
export interface SceneAnimationsConfig {
|
|
1006
|
-
runAtStart?: boolean | null;
|
|
1007
|
-
loop?: boolean | null;
|
|
1008
|
-
speed?: number | null;
|
|
1009
|
-
}
|
|
1010
|
-
export interface DAMViewerAnalyticsType {
|
|
1011
|
-
modelCode: string;
|
|
1012
|
-
userId: number;
|
|
1013
|
-
eventType: DAMViewerAnalyticsEventType;
|
|
1014
|
-
}
|
|
1015
|
-
export declare enum DAMViewerAnalyticsEventType {
|
|
1016
|
-
ViewProduct = "VIEW_PRODUCT",
|
|
1017
|
-
ViewArProdutc = "VIEW_AR_PRODUCT"
|
|
1018
|
-
}
|
|
1019
|
-
export interface GraphQLWelcomeMessageResponse {
|
|
1020
|
-
data: {
|
|
1021
|
-
messagesByProduct: null | GraphQLWelcomeMessageData[];
|
|
1022
|
-
};
|
|
1023
|
-
}
|
|
1024
|
-
export interface GraphQLWelcomeMessageData {
|
|
1025
|
-
id: string;
|
|
1026
|
-
eventGlobalID: string;
|
|
1027
|
-
messageId: number;
|
|
1028
|
-
messageText: string;
|
|
1029
|
-
eventName: string;
|
|
1030
|
-
eventId: number;
|
|
1031
|
-
closeable: boolean;
|
|
1032
|
-
visible: boolean;
|
|
1033
|
-
addToCartDisabledValue: boolean;
|
|
1034
|
-
enableCheckForSellerImagesValue: boolean;
|
|
1035
|
-
enableAdditionalMessage: boolean;
|
|
1036
|
-
additionalMessage: string | null;
|
|
1037
|
-
eventMessageId: number;
|
|
1038
|
-
title: string | null;
|
|
1039
|
-
titleSingleMessage: string | null;
|
|
1040
|
-
infoLink: string | null;
|
|
1041
|
-
defaultMessage: string | null;
|
|
1042
|
-
visibleOnlyOnApi: boolean | null;
|
|
1043
|
-
addToCartLabel: string | null;
|
|
1044
|
-
visibleLowQualityInfoText: boolean | null;
|
|
1045
|
-
defaultAdditionalMessageText: string | null;
|
|
1046
|
-
warningText: string | null;
|
|
1047
|
-
onDeleteWarningText: string | null;
|
|
1048
|
-
isDefault?: boolean | null;
|
|
1049
|
-
}
|
|
1050
|
-
/**
|
|
1051
|
-
* AI Studio Types
|
|
1052
|
-
* These interfaces are used for AI-powered product staging and virtual try-on features
|
|
1053
|
-
*/
|
|
1054
|
-
/**
|
|
1055
|
-
* Represents a category for AI presets
|
|
1056
|
-
*/
|
|
1057
|
-
export interface AIPresetCategory {
|
|
1058
|
-
id: number;
|
|
1059
|
-
name: string;
|
|
1060
|
-
toolId: string;
|
|
1061
|
-
presetType: string;
|
|
1062
|
-
sellerID: number | null;
|
|
1063
|
-
isActive: boolean;
|
|
1064
|
-
createdDate: string;
|
|
1065
|
-
modifiedDate: string;
|
|
1066
|
-
}
|
|
1067
|
-
/**
|
|
1068
|
-
* Represents an AI preset configuration
|
|
1069
|
-
*/
|
|
1070
|
-
export interface AIPreset {
|
|
1071
|
-
id: number;
|
|
1072
|
-
name: string;
|
|
1073
|
-
toolId: string;
|
|
1074
|
-
presetType: string;
|
|
1075
|
-
categoryId: number | null;
|
|
1076
|
-
prompt: string | null;
|
|
1077
|
-
negativePrompt: string | null;
|
|
1078
|
-
imageUrl: string | null;
|
|
1079
|
-
previewUrl: string | null;
|
|
1080
|
-
factor: number | null;
|
|
1081
|
-
description: string | null;
|
|
1082
|
-
sellerID: number | null;
|
|
1083
|
-
isActive: boolean;
|
|
1084
|
-
sortOrder: number;
|
|
1085
|
-
createdDate: string;
|
|
1086
|
-
modifiedDate: string;
|
|
1087
|
-
categoryName: string | null;
|
|
1088
|
-
}
|
|
1089
|
-
/**
|
|
1090
|
-
* Represents rules for AI product staging
|
|
1091
|
-
*/
|
|
1092
|
-
export interface AIProductStagingRule {
|
|
1093
|
-
ruleID: number;
|
|
1094
|
-
name: string;
|
|
1095
|
-
sellerID: number;
|
|
1096
|
-
allowCustomBackground: boolean;
|
|
1097
|
-
numberOfImages: number;
|
|
1098
|
-
createdDate: string;
|
|
1099
|
-
productIDs: number[];
|
|
1100
|
-
printTypeIDs: number[];
|
|
1101
|
-
backgroundCategoryIDs: number[];
|
|
1102
|
-
surfacePresetIDs: number[];
|
|
1103
|
-
moodPresetIDs: number[];
|
|
1104
|
-
effectPresetIDs: number[];
|
|
1105
|
-
}
|
|
1106
|
-
/**
|
|
1107
|
-
* Options for AI product staging generation
|
|
1108
|
-
*/
|
|
1109
|
-
export interface AIProductStagingOptions {
|
|
1110
|
-
productImageUrl: string;
|
|
1111
|
-
backgroundType?: string;
|
|
1112
|
-
backgroundPreset?: number;
|
|
1113
|
-
backgroundImageUrl?: string;
|
|
1114
|
-
surfacePreset?: number;
|
|
1115
|
-
moodPreset?: number;
|
|
1116
|
-
customPrompt?: string;
|
|
1117
|
-
effectPreset?: number;
|
|
1118
|
-
progress?: (progress: number) => void;
|
|
1119
|
-
}
|
|
1120
|
-
/**
|
|
1121
|
-
* Result from AI product staging generation
|
|
1122
|
-
*/
|
|
1123
|
-
export interface AIProductStagingResult {
|
|
1124
|
-
imageUrl: string;
|
|
1125
|
-
taskId: string;
|
|
1126
|
-
}
|
|
1127
|
-
/**
|
|
1128
|
-
* Options for AI virtual try-on generation
|
|
1129
|
-
*/
|
|
1130
|
-
export interface AIVirtualTryOnOptions {
|
|
1131
|
-
personImageUrl?: string;
|
|
1132
|
-
personPreset?: number;
|
|
1133
|
-
clothingImageUrl?: string;
|
|
1134
|
-
clothingPreset?: number;
|
|
1135
|
-
backgroundImageUrl?: string;
|
|
1136
|
-
backgroundPreset?: number;
|
|
1137
|
-
customPrompt?: string;
|
|
1138
|
-
effectPreset?: number;
|
|
1139
|
-
posePreset?: number;
|
|
1140
|
-
progress?: (progress: number) => void;
|
|
1141
|
-
}
|
|
1142
|
-
/**
|
|
1143
|
-
* Result from AI virtual try-on generation
|
|
1144
|
-
*/
|
|
1145
|
-
export interface AIVirtualTryOnResult {
|
|
1146
|
-
imageUrl: string;
|
|
1147
|
-
taskId: string;
|
|
1148
|
-
}
|
|
1149
|
-
/**
|
|
1150
|
-
* Service availability flags from subscription API
|
|
1151
|
-
*/
|
|
1152
|
-
export interface AIServicesAvailability {
|
|
1153
|
-
GENERATIVE_AI_DESIGN: boolean;
|
|
1154
|
-
GENERATIVE_AI_IMAGE_GENERATOR: boolean;
|
|
1155
|
-
GENERATIVE_AI_PRODUCT_STAGING: boolean;
|
|
1156
|
-
GENERATIVE_AI_VTO: boolean;
|
|
1157
|
-
VECTORIZE: boolean;
|
|
1158
|
-
}
|
|
1159
|
-
/**
|
|
1160
|
-
* VTO filtering rules (from /api/v1/AIVirtualModelRule/applicable)
|
|
1161
|
-
*/
|
|
1162
|
-
export interface AIVirtualModelRule {
|
|
1163
|
-
ruleID: number;
|
|
1164
|
-
name: string;
|
|
1165
|
-
sellerID: number;
|
|
1166
|
-
numberOfImages: number;
|
|
1167
|
-
allowCustomBackground: boolean;
|
|
1168
|
-
createdDate: string;
|
|
1169
|
-
productIDs: number[];
|
|
1170
|
-
printTypeIDs: number[];
|
|
1171
|
-
backgroundCategoryIDs: number[];
|
|
1172
|
-
effectPresetIDs: number[];
|
|
1173
|
-
modelPresetIDs: number[];
|
|
1174
|
-
poseCategoryIDs: number[];
|
|
1175
|
-
}
|
|
1176
|
-
/**
|
|
1177
|
-
* Tool types for AI rate limiting
|
|
1178
|
-
*/
|
|
1179
|
-
export type AIToolType = 'AIStudio' | 'CustomizerAIImageGenerator' | 'CustomizerProductStaging' | 'CustomizerVirtualTryOn' | 'CustomizerDesignGenerator';
|
|
1180
|
-
/**
|
|
1181
|
-
* Rule level for tool usage
|
|
1182
|
-
*/
|
|
1183
|
-
export type AIRuleLevel = 'Seller' | 'Global';
|
|
1184
|
-
/**
|
|
1185
|
-
* Limit period type for tool usage
|
|
1186
|
-
*/
|
|
1187
|
-
export type AILimitPeriodType = 'Session' | 'Minutes';
|
|
1188
|
-
/**
|
|
1189
|
-
* Tool usage rule for AI rate limiting
|
|
1190
|
-
*/
|
|
1191
|
-
export interface AIToolUsageRule {
|
|
1192
|
-
toolType: AIToolType;
|
|
1193
|
-
hasRule: boolean;
|
|
1194
|
-
toolUsageRuleID: number | null;
|
|
1195
|
-
ruleLevel: AIRuleLevel | null;
|
|
1196
|
-
allowLoggedUsers: boolean | null;
|
|
1197
|
-
allowNonLoggedUsers: boolean | null;
|
|
1198
|
-
limitEnabled: boolean | null;
|
|
1199
|
-
limitPeriodType: AILimitPeriodType | null;
|
|
1200
|
-
maxOperations: number | null;
|
|
1201
|
-
limitPeriodMinutes: number | null;
|
|
1202
|
-
}
|
|
1203
|
-
/**
|
|
1204
|
-
* Error thrown when AI generation rate limit is reached.
|
|
1205
|
-
* Contains the tool usage rule and last generation timestamp for calculating remaining cooldown.
|
|
1206
|
-
*/
|
|
1207
|
-
export declare class AIRateLimitError extends Error {
|
|
1208
|
-
readonly toolUsageRule: AIToolUsageRule;
|
|
1209
|
-
readonly lastGenerationTime?: number;
|
|
1210
|
-
constructor(message: string, toolUsageRule: AIToolUsageRule, lastGenerationTime?: number);
|
|
1211
|
-
}
|
|
1212
|
-
export {};
|
|
1
|
+
import { Nullable } from '@zakeke/zakeke-3d-core';
|
|
2
|
+
import { PlatformAttributeSelection } from './integrations/Integration';
|
|
3
|
+
export declare enum Platform {
|
|
4
|
+
Magento1 = 5,
|
|
5
|
+
Magento2 = 1,
|
|
6
|
+
Shopify = 3,
|
|
7
|
+
WooCommerce = 2
|
|
8
|
+
}
|
|
9
|
+
export declare enum PlatformPriceType {
|
|
10
|
+
Standard = 0,
|
|
11
|
+
Inline = 1
|
|
12
|
+
}
|
|
13
|
+
export declare class User {
|
|
14
|
+
id: number;
|
|
15
|
+
username: string;
|
|
16
|
+
name: string;
|
|
17
|
+
constructor(id: number, username: string, name: string);
|
|
18
|
+
}
|
|
19
|
+
declare enum ZakekeEnvironment {
|
|
20
|
+
Customizer = 1,
|
|
21
|
+
Composer = 2,
|
|
22
|
+
Viewer = 3
|
|
23
|
+
}
|
|
24
|
+
export declare enum TryOnType {
|
|
25
|
+
NotSelected = 0,
|
|
26
|
+
Eyewear = 1,
|
|
27
|
+
Scarves = 2,
|
|
28
|
+
Earrings = 3,
|
|
29
|
+
Headwear = 4,
|
|
30
|
+
Necklace = 5,
|
|
31
|
+
Shoes = 6,
|
|
32
|
+
Watches = 7,
|
|
33
|
+
Bracelet = 8
|
|
34
|
+
}
|
|
35
|
+
export type TryOnProvidersTypesMapping = {
|
|
36
|
+
list: Record<TryOnType, TryOnProvider> | {};
|
|
37
|
+
};
|
|
38
|
+
export interface TryOnProduct {
|
|
39
|
+
productID: number;
|
|
40
|
+
typeID: number;
|
|
41
|
+
providerID: number;
|
|
42
|
+
settings: string;
|
|
43
|
+
}
|
|
44
|
+
export interface TryOnSeller {
|
|
45
|
+
sellerID: number;
|
|
46
|
+
typeID: number;
|
|
47
|
+
providerID: number;
|
|
48
|
+
settings: string;
|
|
49
|
+
vtoState: SellerTryOnState;
|
|
50
|
+
}
|
|
51
|
+
export declare enum SellerTryOnState {
|
|
52
|
+
NotActive = 0,
|
|
53
|
+
Active = 1
|
|
54
|
+
}
|
|
55
|
+
export declare enum TryOnProvider {
|
|
56
|
+
NotSelected = 0,
|
|
57
|
+
Mazing = 1,
|
|
58
|
+
Banuba = 2,
|
|
59
|
+
DeepAR = 3
|
|
60
|
+
}
|
|
61
|
+
export interface TryOnTypeSettings {
|
|
62
|
+
try_on: boolean;
|
|
63
|
+
pd?: boolean;
|
|
64
|
+
active: boolean;
|
|
65
|
+
}
|
|
66
|
+
export declare enum TryOnSettingsType {
|
|
67
|
+
VirtualTryOn = "try_on",
|
|
68
|
+
GlassPupillaryDistanceTool = "pd",
|
|
69
|
+
StyleButton = "styleButton"
|
|
70
|
+
}
|
|
71
|
+
export interface TryOnButtonCustomization {
|
|
72
|
+
image: Nullable<string>;
|
|
73
|
+
textLabel: Nullable<string>;
|
|
74
|
+
textColor: Nullable<string>;
|
|
75
|
+
backgroundColor: Nullable<string>;
|
|
76
|
+
borderColor: Nullable<string>;
|
|
77
|
+
borderWidth: number;
|
|
78
|
+
borderRadius: number;
|
|
79
|
+
}
|
|
80
|
+
export interface TryOnSettings {
|
|
81
|
+
type: TryOnType;
|
|
82
|
+
styleButton: 'single' | 'multiple';
|
|
83
|
+
buttonCustomizations: TryOnButtonCustomization[];
|
|
84
|
+
typeSettings: TryOnTypeSettings;
|
|
85
|
+
}
|
|
86
|
+
export declare enum TryOnFineTuningMazingEnvironment {
|
|
87
|
+
Neutral = "neutral.hdr",
|
|
88
|
+
Light = "light.hdr",
|
|
89
|
+
Bright = "bright.hdr",
|
|
90
|
+
Studio = "studio.hdr",
|
|
91
|
+
Court = "court.hdr",
|
|
92
|
+
Blurred_Studio = "startup.hdr"
|
|
93
|
+
}
|
|
94
|
+
export interface TryOnFineTuningSettings {
|
|
95
|
+
scale: number;
|
|
96
|
+
position: {
|
|
97
|
+
x: number;
|
|
98
|
+
y: number;
|
|
99
|
+
z: number;
|
|
100
|
+
};
|
|
101
|
+
rotation?: {
|
|
102
|
+
x: number;
|
|
103
|
+
y: number;
|
|
104
|
+
z: number;
|
|
105
|
+
};
|
|
106
|
+
environment?: string;
|
|
107
|
+
}
|
|
108
|
+
export interface TryOnFineTuningMazingSettings extends TryOnFineTuningSettings {
|
|
109
|
+
temple: boolean;
|
|
110
|
+
environment: TryOnFineTuningMazingEnvironment;
|
|
111
|
+
}
|
|
112
|
+
export interface TryOnFineTuningBanubaSettings extends TryOnFineTuningSettings {
|
|
113
|
+
rotation: {
|
|
114
|
+
x: number;
|
|
115
|
+
y: number;
|
|
116
|
+
z: number;
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
export interface TryOnFineTuningDeepARSettings extends TryOnFineTuningSettings {
|
|
120
|
+
position: {
|
|
121
|
+
x: number;
|
|
122
|
+
y: number;
|
|
123
|
+
z: number;
|
|
124
|
+
};
|
|
125
|
+
rotation: {
|
|
126
|
+
x: number;
|
|
127
|
+
y: number;
|
|
128
|
+
z: number;
|
|
129
|
+
};
|
|
130
|
+
scale: number;
|
|
131
|
+
environment: string;
|
|
132
|
+
}
|
|
133
|
+
export type TryOnGenericFineTuningSettings = TryOnFineTuningSettings | TryOnFineTuningMazingSettings;
|
|
134
|
+
export declare const DefaultMazingFineTuningSettings: TryOnFineTuningMazingSettings;
|
|
135
|
+
export declare const DefaultBanubaFineTuningSettings: TryOnFineTuningBanubaSettings;
|
|
136
|
+
export declare const DefaultDeepARFineTuningSettings: TryOnFineTuningDeepARSettings;
|
|
137
|
+
export declare class Product {
|
|
138
|
+
id: number;
|
|
139
|
+
sku: string;
|
|
140
|
+
name: string;
|
|
141
|
+
previewUrl: string;
|
|
142
|
+
metadata?: any;
|
|
143
|
+
areas: ProductArea[];
|
|
144
|
+
quantityRule: ProductQuantityRule | null;
|
|
145
|
+
quoteRule: QuoteRule | null;
|
|
146
|
+
environment: ZakekeEnvironment | null;
|
|
147
|
+
isShowSecondScreenEnabled: boolean;
|
|
148
|
+
isAiConfigurationEnabled: boolean;
|
|
149
|
+
isOldViewer: boolean;
|
|
150
|
+
static fromProduct(zkProduct: any): Product;
|
|
151
|
+
}
|
|
152
|
+
export declare class QuoteRule {
|
|
153
|
+
quoteRuleID: number;
|
|
154
|
+
name: string;
|
|
155
|
+
sellerID: number;
|
|
156
|
+
formControlsData: string;
|
|
157
|
+
isValidForAllProducts: boolean;
|
|
158
|
+
allowAddToCart: boolean;
|
|
159
|
+
products: number[];
|
|
160
|
+
constructor(quoteRule: any);
|
|
161
|
+
}
|
|
162
|
+
export declare class Quote {
|
|
163
|
+
quoteID: number | undefined;
|
|
164
|
+
sellerID: number | undefined;
|
|
165
|
+
subject: string | undefined;
|
|
166
|
+
statusID: number;
|
|
167
|
+
designDocID: string | undefined;
|
|
168
|
+
compositionDocID: string | undefined | null;
|
|
169
|
+
orderDocID: string | undefined;
|
|
170
|
+
formData: string | undefined;
|
|
171
|
+
amount: number | undefined;
|
|
172
|
+
quantity: number;
|
|
173
|
+
shippingAmount: number | undefined;
|
|
174
|
+
additionalAmountLabel: string | undefined;
|
|
175
|
+
additionalAmount: number | undefined;
|
|
176
|
+
visitorID: number | undefined;
|
|
177
|
+
visitorCode: string | undefined;
|
|
178
|
+
customerID: number | undefined;
|
|
179
|
+
customerCode: string | undefined;
|
|
180
|
+
createdOn: Date | undefined;
|
|
181
|
+
modelPrice: number;
|
|
182
|
+
variantName: string | undefined;
|
|
183
|
+
}
|
|
184
|
+
export declare class ProductArea {
|
|
185
|
+
id: number;
|
|
186
|
+
name: string;
|
|
187
|
+
cameraLocationID?: string;
|
|
188
|
+
static fromSide(modelSide: any): ProductArea;
|
|
189
|
+
}
|
|
190
|
+
export declare class ProductQuantityRule {
|
|
191
|
+
minQuantity: number | null;
|
|
192
|
+
maxQuantity: number | null;
|
|
193
|
+
step: number | null;
|
|
194
|
+
static fromQuantityRule(quantityRule: any): ProductQuantityRule;
|
|
195
|
+
}
|
|
196
|
+
export declare class Variant {
|
|
197
|
+
id: number | undefined;
|
|
198
|
+
sku: string | undefined;
|
|
199
|
+
name: string | undefined;
|
|
200
|
+
price: number | undefined;
|
|
201
|
+
metadata?: any;
|
|
202
|
+
constructor(id: number | undefined, sku: string | undefined, name: string | undefined, price: number | undefined, metadata?: any);
|
|
203
|
+
}
|
|
204
|
+
export declare class ZakekeEvent {
|
|
205
|
+
event: string;
|
|
206
|
+
callback: any;
|
|
207
|
+
constructor(event: string, callback: any);
|
|
208
|
+
}
|
|
209
|
+
export declare class TemplateConstraints {
|
|
210
|
+
isUserImageAllowed: boolean;
|
|
211
|
+
}
|
|
212
|
+
export declare class TemplateArea {
|
|
213
|
+
id: number;
|
|
214
|
+
uploadRestrictions: TemplateConstraints;
|
|
215
|
+
disableSellerImages: boolean;
|
|
216
|
+
canAddImage: boolean;
|
|
217
|
+
canAddText: boolean;
|
|
218
|
+
static fromTemplateArea(zkSide: any): TemplateArea;
|
|
219
|
+
}
|
|
220
|
+
export declare class Template {
|
|
221
|
+
id: number;
|
|
222
|
+
name: string;
|
|
223
|
+
areas: TemplateArea[];
|
|
224
|
+
static fromTemplate(zkTemplate: any): Template;
|
|
225
|
+
}
|
|
226
|
+
export declare enum ItemType {
|
|
227
|
+
Text = 0,
|
|
228
|
+
Image = 1
|
|
229
|
+
}
|
|
230
|
+
export interface Item {
|
|
231
|
+
type: ItemType;
|
|
232
|
+
guid: string;
|
|
233
|
+
name: string;
|
|
234
|
+
areaId: number;
|
|
235
|
+
index: number;
|
|
236
|
+
constraints: {
|
|
237
|
+
[key: string]: any;
|
|
238
|
+
} | null;
|
|
239
|
+
}
|
|
240
|
+
export declare class TextItem implements Item {
|
|
241
|
+
type: ItemType;
|
|
242
|
+
areaId: number;
|
|
243
|
+
guid: string;
|
|
244
|
+
name: string;
|
|
245
|
+
text: string;
|
|
246
|
+
strokeColor: string;
|
|
247
|
+
strokeWidth: number;
|
|
248
|
+
fillColor: string;
|
|
249
|
+
fontFamily: string;
|
|
250
|
+
fontSize: number;
|
|
251
|
+
fontWeight: string;
|
|
252
|
+
fontStyle: string;
|
|
253
|
+
fontStretch: string;
|
|
254
|
+
justification: string;
|
|
255
|
+
isTextOnPath: boolean;
|
|
256
|
+
isTemplateElement: boolean;
|
|
257
|
+
constraints: {
|
|
258
|
+
[key: string]: any;
|
|
259
|
+
} | null;
|
|
260
|
+
index: number;
|
|
261
|
+
constructor(item: any);
|
|
262
|
+
}
|
|
263
|
+
export declare class ImageItem implements Item {
|
|
264
|
+
type: ItemType;
|
|
265
|
+
imageID: number;
|
|
266
|
+
areaId: number;
|
|
267
|
+
guid: string;
|
|
268
|
+
name: string;
|
|
269
|
+
url: string;
|
|
270
|
+
deleted: boolean;
|
|
271
|
+
constraints: {
|
|
272
|
+
[key: string]: any;
|
|
273
|
+
} | null;
|
|
274
|
+
index: number;
|
|
275
|
+
constructor(item: any);
|
|
276
|
+
}
|
|
277
|
+
export declare class PlatformSettings {
|
|
278
|
+
static Empty: PlatformSettings;
|
|
279
|
+
accessKey: string;
|
|
280
|
+
accessSecret: string;
|
|
281
|
+
adminPath: string;
|
|
282
|
+
apiKey: string;
|
|
283
|
+
apiSecret: string;
|
|
284
|
+
currencyCode: string;
|
|
285
|
+
currencyID: number | undefined;
|
|
286
|
+
definitiveUrl: string;
|
|
287
|
+
currencySymbol: string;
|
|
288
|
+
ecommerceID: number;
|
|
289
|
+
ecommerceName: number;
|
|
290
|
+
hasProductsApi: boolean;
|
|
291
|
+
isMarketplace: boolean;
|
|
292
|
+
remoteUrl: string;
|
|
293
|
+
username: string;
|
|
294
|
+
password: string;
|
|
295
|
+
canCheckIsIntegrated: boolean;
|
|
296
|
+
productsApi: string;
|
|
297
|
+
salesChannelID: number;
|
|
298
|
+
get platform(): Platform;
|
|
299
|
+
constructor();
|
|
300
|
+
static fromData(response: PlatformSettingsDto): PlatformSettings;
|
|
301
|
+
}
|
|
302
|
+
export interface TextSanitationResult {
|
|
303
|
+
sanitizedText: string;
|
|
304
|
+
dirtyChars: string[];
|
|
305
|
+
}
|
|
306
|
+
export interface MerchantImageResultDto {
|
|
307
|
+
fileNameSmall: string;
|
|
308
|
+
fileNameBig: string;
|
|
309
|
+
imageUrlSmall: string;
|
|
310
|
+
imageUrlBig: string;
|
|
311
|
+
}
|
|
312
|
+
export interface PlatformSettingsDto {
|
|
313
|
+
ecommerceID: number;
|
|
314
|
+
currencyID: number | undefined;
|
|
315
|
+
currencyCode: string;
|
|
316
|
+
apiKey: string;
|
|
317
|
+
apiSecret: string;
|
|
318
|
+
accessKey: string;
|
|
319
|
+
accessSecret: string;
|
|
320
|
+
remoteUrl: string;
|
|
321
|
+
username: string;
|
|
322
|
+
password: string;
|
|
323
|
+
adminPath: string;
|
|
324
|
+
canCheckIsIntegrated: boolean;
|
|
325
|
+
productsApi: string;
|
|
326
|
+
definitiveUrl: string;
|
|
327
|
+
currencySymbol: string;
|
|
328
|
+
ecommerceName: number;
|
|
329
|
+
hasProductsApi: boolean;
|
|
330
|
+
isMarketplace: boolean;
|
|
331
|
+
salesChannelID: number;
|
|
332
|
+
}
|
|
333
|
+
export interface SubscriptionInfo {
|
|
334
|
+
planId: number;
|
|
335
|
+
planName: string;
|
|
336
|
+
startDate: string;
|
|
337
|
+
showBrand: boolean;
|
|
338
|
+
}
|
|
339
|
+
export interface FontFamily {
|
|
340
|
+
fontFamilyID: number;
|
|
341
|
+
fontFamilyGuid: number;
|
|
342
|
+
faces: FontFamilyFace[];
|
|
343
|
+
name: string;
|
|
344
|
+
imageUrl: string;
|
|
345
|
+
cssUrl: string;
|
|
346
|
+
isSystemFont: boolean;
|
|
347
|
+
stretches: string;
|
|
348
|
+
variations: string;
|
|
349
|
+
fullLoaded?: boolean;
|
|
350
|
+
}
|
|
351
|
+
export interface FontFamilyFace {
|
|
352
|
+
filesUrls: string[];
|
|
353
|
+
parsedFiles: FontFamilyFaceFiles[];
|
|
354
|
+
fontFaceGuid: string;
|
|
355
|
+
fontFaceID: number;
|
|
356
|
+
name: string;
|
|
357
|
+
openTypeStretch: string;
|
|
358
|
+
openTypeWeight: string;
|
|
359
|
+
stretch: string;
|
|
360
|
+
style: string;
|
|
361
|
+
variation: string;
|
|
362
|
+
version: string;
|
|
363
|
+
weight: string;
|
|
364
|
+
}
|
|
365
|
+
export interface FontFamilyFaceFiles {
|
|
366
|
+
url: string;
|
|
367
|
+
file: any;
|
|
368
|
+
}
|
|
369
|
+
/**
|
|
370
|
+
* Represents an image.
|
|
371
|
+
*/
|
|
372
|
+
export interface ZakekeImage {
|
|
373
|
+
/**
|
|
374
|
+
* The ID of the image.
|
|
375
|
+
*/
|
|
376
|
+
imageID: number;
|
|
377
|
+
/**
|
|
378
|
+
* The name of the image.
|
|
379
|
+
*/
|
|
380
|
+
name: string;
|
|
381
|
+
/**
|
|
382
|
+
* The URL of the image's choice.
|
|
383
|
+
*/
|
|
384
|
+
choiceUrl: string;
|
|
385
|
+
/**
|
|
386
|
+
* The preferred width of the image, if specified.
|
|
387
|
+
* Set to null if no preferred width is specified.
|
|
388
|
+
*/
|
|
389
|
+
preferredWidth: number | null;
|
|
390
|
+
/**
|
|
391
|
+
* The preferred height of the image, if specified.
|
|
392
|
+
* Set to null if no preferred height is specified.
|
|
393
|
+
*/
|
|
394
|
+
preferredHeight: number | null;
|
|
395
|
+
}
|
|
396
|
+
export interface ImageCategory {
|
|
397
|
+
categoryID: number | null;
|
|
398
|
+
name: string;
|
|
399
|
+
isSystemwide: boolean;
|
|
400
|
+
hasImages: boolean;
|
|
401
|
+
}
|
|
402
|
+
export interface ImageMacroCategory {
|
|
403
|
+
macroCategoryID: number | null;
|
|
404
|
+
name: string;
|
|
405
|
+
isSystemwide: boolean;
|
|
406
|
+
hasImages: boolean;
|
|
407
|
+
categories: ImageCategory[];
|
|
408
|
+
}
|
|
409
|
+
interface Addon {
|
|
410
|
+
addonName: string;
|
|
411
|
+
subscriptionAddonID: string;
|
|
412
|
+
}
|
|
413
|
+
export interface AdditionalFeatures {
|
|
414
|
+
editPDFPreview: boolean;
|
|
415
|
+
editSummary: boolean;
|
|
416
|
+
integrations: boolean;
|
|
417
|
+
bulkVariationForm: boolean;
|
|
418
|
+
pricePerImage: boolean;
|
|
419
|
+
engraving: boolean;
|
|
420
|
+
editPrintfiles: boolean;
|
|
421
|
+
printReadyFilesPlus: boolean;
|
|
422
|
+
textplus: boolean;
|
|
423
|
+
prices3dConfigurator: boolean;
|
|
424
|
+
customEnvironmentTexture: boolean;
|
|
425
|
+
dynamicProperties: boolean;
|
|
426
|
+
materialLibrary: boolean;
|
|
427
|
+
multiareaConfiguratorDesigner: boolean;
|
|
428
|
+
aiPoweredTools: boolean;
|
|
429
|
+
}
|
|
430
|
+
export interface Settings {
|
|
431
|
+
additionalFeatures: AdditionalFeatures;
|
|
432
|
+
isPricingAdvancedEnabled: boolean;
|
|
433
|
+
userID: number;
|
|
434
|
+
username: string;
|
|
435
|
+
referrerID: number;
|
|
436
|
+
ecommerceUrl: string;
|
|
437
|
+
ecommerceID: number | null;
|
|
438
|
+
addons: Addon[];
|
|
439
|
+
eventMessages: EventMessage[];
|
|
440
|
+
nftSettings: NftSettings;
|
|
441
|
+
brand: boolean;
|
|
442
|
+
isPdfEpsEnabled: boolean;
|
|
443
|
+
}
|
|
444
|
+
export declare class EventMessage {
|
|
445
|
+
eventID: EventMessageType;
|
|
446
|
+
description: string;
|
|
447
|
+
closeable: boolean;
|
|
448
|
+
visible: boolean;
|
|
449
|
+
addToCartDisabledIfVisible: boolean;
|
|
450
|
+
additionalData: any;
|
|
451
|
+
enableCheckForSellerImages: boolean;
|
|
452
|
+
isDefault: boolean;
|
|
453
|
+
static fromMessage(message: any): EventMessage;
|
|
454
|
+
}
|
|
455
|
+
export declare enum EventMessageType {
|
|
456
|
+
Undefined = -1,
|
|
457
|
+
ImageQualityWarning = 1,
|
|
458
|
+
Welcome = 3,
|
|
459
|
+
AddToCart = 4,
|
|
460
|
+
Copyright = 8
|
|
461
|
+
}
|
|
462
|
+
export declare class Camera {
|
|
463
|
+
id: string;
|
|
464
|
+
name: string;
|
|
465
|
+
static fromZkCamera(zkCamera: Zakeke.SceneCameraLocation): Camera;
|
|
466
|
+
}
|
|
467
|
+
export declare class Group {
|
|
468
|
+
id: number;
|
|
469
|
+
guid: string;
|
|
470
|
+
name: string;
|
|
471
|
+
enabled: boolean;
|
|
472
|
+
imageUrl?: string | null;
|
|
473
|
+
icon?: string | null;
|
|
474
|
+
attributes: Attribute[];
|
|
475
|
+
steps: Step[];
|
|
476
|
+
templateGroups: ThemeTemplateGroup[];
|
|
477
|
+
cameraLocationId: string | null;
|
|
478
|
+
displayOrder: number;
|
|
479
|
+
direction: number;
|
|
480
|
+
attributesAlwaysOpened: boolean;
|
|
481
|
+
}
|
|
482
|
+
export declare class Step {
|
|
483
|
+
id: number;
|
|
484
|
+
guid: string;
|
|
485
|
+
name: string;
|
|
486
|
+
cameraLocationID: string | null;
|
|
487
|
+
displayOrder: number;
|
|
488
|
+
attributes: Attribute[];
|
|
489
|
+
templateGroups: ThemeTemplateGroup[];
|
|
490
|
+
}
|
|
491
|
+
export declare enum AttributeType {
|
|
492
|
+
Select = 0,
|
|
493
|
+
Input = 1,
|
|
494
|
+
Colorpicker = 2
|
|
495
|
+
}
|
|
496
|
+
export declare enum AttributeOptionShapeType {
|
|
497
|
+
Round = 1,
|
|
498
|
+
Square = 2
|
|
499
|
+
}
|
|
500
|
+
export declare class Attribute {
|
|
501
|
+
id: number;
|
|
502
|
+
guid: string;
|
|
503
|
+
code: string;
|
|
504
|
+
name: string;
|
|
505
|
+
description: string;
|
|
506
|
+
enabled: boolean;
|
|
507
|
+
imageUrl: string | null;
|
|
508
|
+
groupId: number;
|
|
509
|
+
stepId: number;
|
|
510
|
+
options: Option[];
|
|
511
|
+
value: any;
|
|
512
|
+
numberFormat: string;
|
|
513
|
+
type: AttributeType;
|
|
514
|
+
optionShapeType: AttributeOptionShapeType;
|
|
515
|
+
displayOrder: number;
|
|
516
|
+
hideOptionsLabel: boolean;
|
|
517
|
+
cameraLocationId: string | null;
|
|
518
|
+
}
|
|
519
|
+
interface Pricing {
|
|
520
|
+
fromQuantity: number;
|
|
521
|
+
price: number;
|
|
522
|
+
}
|
|
523
|
+
export declare class Option {
|
|
524
|
+
id: number;
|
|
525
|
+
attribute: Attribute;
|
|
526
|
+
guid: string;
|
|
527
|
+
code: string;
|
|
528
|
+
name: string;
|
|
529
|
+
description: string;
|
|
530
|
+
enabled: boolean;
|
|
531
|
+
selected: boolean;
|
|
532
|
+
imageUrl: string | null | undefined;
|
|
533
|
+
displayOrder: number;
|
|
534
|
+
pricings: Pricing[];
|
|
535
|
+
}
|
|
536
|
+
export declare class TemplateComposition {
|
|
537
|
+
compositionID: number;
|
|
538
|
+
name: string;
|
|
539
|
+
previewImageUrl: string;
|
|
540
|
+
}
|
|
541
|
+
export declare class ThemeCategory {
|
|
542
|
+
id: number;
|
|
543
|
+
name: string;
|
|
544
|
+
composition: TemplateComposition[];
|
|
545
|
+
}
|
|
546
|
+
export declare class ThemeMacroCategory {
|
|
547
|
+
id: number;
|
|
548
|
+
name: string;
|
|
549
|
+
category: ThemeCategory[];
|
|
550
|
+
}
|
|
551
|
+
export declare class ThemeTemplateGroup {
|
|
552
|
+
templateGroupID: number;
|
|
553
|
+
name: string;
|
|
554
|
+
groupID: number;
|
|
555
|
+
stepID: number;
|
|
556
|
+
displayOrder: number;
|
|
557
|
+
macroCategory: ThemeMacroCategory[];
|
|
558
|
+
}
|
|
559
|
+
export declare class SellerSettings {
|
|
560
|
+
customizeButtonLabel: string;
|
|
561
|
+
customizeButtonIconUrl: string | null;
|
|
562
|
+
isCompositionRecapEnabled: boolean;
|
|
563
|
+
isCompositionRecapVisibleFromStart: boolean;
|
|
564
|
+
canUserCloseCompositionRecap: boolean;
|
|
565
|
+
minimumFractionDigits: number;
|
|
566
|
+
priceInfoText: string;
|
|
567
|
+
hidePrice: boolean;
|
|
568
|
+
hotjarSiteID: string | null;
|
|
569
|
+
googleTagManagerID: string | null;
|
|
570
|
+
canSaveDraftComposition: boolean;
|
|
571
|
+
canUndoRedo: boolean;
|
|
572
|
+
shareType: number | null;
|
|
573
|
+
static fromSellerSettings(zkSellerSettings: any): SellerSettings;
|
|
574
|
+
}
|
|
575
|
+
export declare class CompositionItem {
|
|
576
|
+
attributeID: number;
|
|
577
|
+
attributeName: string;
|
|
578
|
+
attributeCode: string;
|
|
579
|
+
selectedOptionName: string;
|
|
580
|
+
selectedOptionCode: string;
|
|
581
|
+
}
|
|
582
|
+
export declare class Composition {
|
|
583
|
+
name: string;
|
|
584
|
+
docID: string;
|
|
585
|
+
compositionID: number;
|
|
586
|
+
compositionItems: CompositionItem[];
|
|
587
|
+
previewImageUrl: string;
|
|
588
|
+
designID: number | null;
|
|
589
|
+
pdSettings: number | null;
|
|
590
|
+
tags: string[];
|
|
591
|
+
static fromJSON(json: any): Composition;
|
|
592
|
+
}
|
|
593
|
+
export interface OnBeforeSendDataToParent {
|
|
594
|
+
composition: number;
|
|
595
|
+
preview: string;
|
|
596
|
+
attributes: PlatformAttributeSelection[];
|
|
597
|
+
designItems: Item[];
|
|
598
|
+
quantity: number;
|
|
599
|
+
previewFiles: PreviewFile[];
|
|
600
|
+
additionalProperties: any;
|
|
601
|
+
}
|
|
602
|
+
export interface TemplateUploadRestrictions {
|
|
603
|
+
isUserImageAllowed: boolean;
|
|
604
|
+
isJpgAllowed: boolean;
|
|
605
|
+
isPngAllowed: boolean;
|
|
606
|
+
isSvgAllowed: boolean;
|
|
607
|
+
isPdfAllowed: boolean;
|
|
608
|
+
isEpsAllowed: boolean;
|
|
609
|
+
isPdfWithRasterAllowed: boolean;
|
|
610
|
+
}
|
|
611
|
+
export interface PrintingMethodsRestrictions {
|
|
612
|
+
allowedBold: boolean;
|
|
613
|
+
allowedItalic: boolean;
|
|
614
|
+
allowedCurved: boolean;
|
|
615
|
+
disableTextColors: boolean;
|
|
616
|
+
textColors: Array<RestrictionColor>;
|
|
617
|
+
defaultColor: string;
|
|
618
|
+
isPDFPreviewEnabled: boolean;
|
|
619
|
+
}
|
|
620
|
+
export declare class SelectedOption {
|
|
621
|
+
attributeID: number;
|
|
622
|
+
optionID: number;
|
|
623
|
+
}
|
|
624
|
+
export declare enum ExtensionFieldDataType {
|
|
625
|
+
Money = 1,
|
|
626
|
+
Integer = 2,
|
|
627
|
+
Decimal = 3
|
|
628
|
+
}
|
|
629
|
+
export interface ExtensionFields {
|
|
630
|
+
name: string;
|
|
631
|
+
value: number;
|
|
632
|
+
label: string;
|
|
633
|
+
formatString: string;
|
|
634
|
+
}
|
|
635
|
+
export interface PreviewCameraImage {
|
|
636
|
+
id: number;
|
|
637
|
+
url: string;
|
|
638
|
+
}
|
|
639
|
+
export interface CompositionClientPreview {
|
|
640
|
+
fileObjectID: number;
|
|
641
|
+
cameraName: string;
|
|
642
|
+
url: string;
|
|
643
|
+
}
|
|
644
|
+
export interface NftSettings {
|
|
645
|
+
isNFTEnabled: boolean;
|
|
646
|
+
priceToAdd: number;
|
|
647
|
+
}
|
|
648
|
+
export interface NftForm {
|
|
649
|
+
email: string;
|
|
650
|
+
walletAddress: string;
|
|
651
|
+
}
|
|
652
|
+
export interface SelectedCategory {
|
|
653
|
+
categoryID: number;
|
|
654
|
+
name: string;
|
|
655
|
+
}
|
|
656
|
+
export interface VisibleEventMessage {
|
|
657
|
+
areaID: number;
|
|
658
|
+
itemGuid: string;
|
|
659
|
+
type: number;
|
|
660
|
+
title: string;
|
|
661
|
+
message: string;
|
|
662
|
+
closabled: boolean;
|
|
663
|
+
requiredWidth: number | null;
|
|
664
|
+
requiredHeight: number | null;
|
|
665
|
+
addToCartDisabledIfVisible: boolean;
|
|
666
|
+
}
|
|
667
|
+
export interface PreviewFile {
|
|
668
|
+
url: string;
|
|
669
|
+
cameraName: string;
|
|
670
|
+
}
|
|
671
|
+
/**
|
|
672
|
+
* Represents internal translations.
|
|
673
|
+
*/
|
|
674
|
+
export interface InternalTranslations {
|
|
675
|
+
/**
|
|
676
|
+
* An array of static translations.
|
|
677
|
+
*/
|
|
678
|
+
statics: StaticTranslation[];
|
|
679
|
+
/**
|
|
680
|
+
* An array of dynamic translations.
|
|
681
|
+
*/
|
|
682
|
+
dynamics: DynamicTranslation[];
|
|
683
|
+
}
|
|
684
|
+
/**
|
|
685
|
+
* Represents translations.
|
|
686
|
+
*/
|
|
687
|
+
export interface Translations {
|
|
688
|
+
/**
|
|
689
|
+
* A map of static translations where the original string is the key and the localized string is the value.
|
|
690
|
+
*/
|
|
691
|
+
statics: Map<string, string>;
|
|
692
|
+
/**
|
|
693
|
+
* A map of dynamic translations where the original string is the key and the localized string is the value.
|
|
694
|
+
*/
|
|
695
|
+
dynamics: Map<string, string>;
|
|
696
|
+
}
|
|
697
|
+
/**
|
|
698
|
+
* Represents a static translation.
|
|
699
|
+
*/
|
|
700
|
+
interface StaticTranslation {
|
|
701
|
+
/**
|
|
702
|
+
* The original string to be translated.
|
|
703
|
+
*/
|
|
704
|
+
original: string;
|
|
705
|
+
/**
|
|
706
|
+
* The localized string representing the translation.
|
|
707
|
+
*/
|
|
708
|
+
localization: string;
|
|
709
|
+
/**
|
|
710
|
+
* The language identifier (LCID) associated with the translation.
|
|
711
|
+
*/
|
|
712
|
+
lcid: number;
|
|
713
|
+
}
|
|
714
|
+
/**
|
|
715
|
+
* Represents a dynamic translation.
|
|
716
|
+
*/
|
|
717
|
+
interface DynamicTranslation {
|
|
718
|
+
/**
|
|
719
|
+
* The original string to be translated.
|
|
720
|
+
*/
|
|
721
|
+
original: string;
|
|
722
|
+
/**
|
|
723
|
+
* The localized string representing the translation.
|
|
724
|
+
*/
|
|
725
|
+
localization: string;
|
|
726
|
+
/**
|
|
727
|
+
* The language identifier (LCID) associated with the translation.
|
|
728
|
+
*/
|
|
729
|
+
lcid: number;
|
|
730
|
+
}
|
|
731
|
+
/**
|
|
732
|
+
* Represents a color restriction.
|
|
733
|
+
*/
|
|
734
|
+
export interface RestrictionColor {
|
|
735
|
+
/**
|
|
736
|
+
* The color code.
|
|
737
|
+
*/
|
|
738
|
+
colorCode: string;
|
|
739
|
+
/**
|
|
740
|
+
* Indicates if it is the default color.
|
|
741
|
+
*/
|
|
742
|
+
isDefault: boolean;
|
|
743
|
+
}
|
|
744
|
+
/**
|
|
745
|
+
* Represents custom preview size.
|
|
746
|
+
*/
|
|
747
|
+
export interface CustomPreviewSize {
|
|
748
|
+
/**
|
|
749
|
+
* The width of the custom cart preview.
|
|
750
|
+
*/
|
|
751
|
+
customCartPreviewWidth: number;
|
|
752
|
+
/**
|
|
753
|
+
* The height of the custom cart preview.
|
|
754
|
+
*/
|
|
755
|
+
customCartPreviewHeight: number;
|
|
756
|
+
}
|
|
757
|
+
/**
|
|
758
|
+
* Represents draft compositions.
|
|
759
|
+
*/
|
|
760
|
+
export interface DraftCompositions {
|
|
761
|
+
/**
|
|
762
|
+
* The name of the composition.
|
|
763
|
+
*/
|
|
764
|
+
name: string;
|
|
765
|
+
/**
|
|
766
|
+
* The document ID of the composition.
|
|
767
|
+
*/
|
|
768
|
+
docID: string;
|
|
769
|
+
/**
|
|
770
|
+
* The URL of the preview image.
|
|
771
|
+
*/
|
|
772
|
+
previewImageUrl: string;
|
|
773
|
+
/**
|
|
774
|
+
* The tags associated with the composition.
|
|
775
|
+
*/
|
|
776
|
+
tags: string[];
|
|
777
|
+
}
|
|
778
|
+
/**
|
|
779
|
+
@internal
|
|
780
|
+
*/
|
|
781
|
+
export interface ThemeCompositions {
|
|
782
|
+
/**
|
|
783
|
+
* The name of the composition.
|
|
784
|
+
*/
|
|
785
|
+
name: string;
|
|
786
|
+
/**
|
|
787
|
+
* The document ID of the composition.
|
|
788
|
+
*/
|
|
789
|
+
docID: string;
|
|
790
|
+
/**
|
|
791
|
+
* The URL of the preview image.
|
|
792
|
+
*/
|
|
793
|
+
previewImageUrl: string;
|
|
794
|
+
/**
|
|
795
|
+
* The tags associated with the composition.
|
|
796
|
+
*/
|
|
797
|
+
tags: string[];
|
|
798
|
+
}
|
|
799
|
+
/**
|
|
800
|
+
* Represents information about the current composition.
|
|
801
|
+
*/
|
|
802
|
+
export interface CurrentCompositionInfo {
|
|
803
|
+
/**
|
|
804
|
+
* The ID of the composition. It can be null.
|
|
805
|
+
*/
|
|
806
|
+
compositionId: string | null;
|
|
807
|
+
/**
|
|
808
|
+
* The name of the composition. It can be null.
|
|
809
|
+
*/
|
|
810
|
+
compositionName: string | null;
|
|
811
|
+
/**
|
|
812
|
+
* The tags associated with the composition. It can be null.
|
|
813
|
+
*/
|
|
814
|
+
compositionTags: string[] | null;
|
|
815
|
+
}
|
|
816
|
+
/**
|
|
817
|
+
* Represents a template category.
|
|
818
|
+
*/
|
|
819
|
+
export interface TemplateCategory {
|
|
820
|
+
/**
|
|
821
|
+
* The name of the category.
|
|
822
|
+
*/
|
|
823
|
+
categoryName: string;
|
|
824
|
+
/**
|
|
825
|
+
* The ID of the category.
|
|
826
|
+
*/
|
|
827
|
+
categoryID: number;
|
|
828
|
+
}
|
|
829
|
+
/**
|
|
830
|
+
* Represents a template macro category.
|
|
831
|
+
*/
|
|
832
|
+
export interface TemplateMacroCategory {
|
|
833
|
+
/**
|
|
834
|
+
* The name of the macro category.
|
|
835
|
+
*/
|
|
836
|
+
macroCategoryName: string;
|
|
837
|
+
/**
|
|
838
|
+
* The ID of the macro category.
|
|
839
|
+
*/
|
|
840
|
+
macroCategoryID: number;
|
|
841
|
+
/**
|
|
842
|
+
* The categories under this macro category.
|
|
843
|
+
*/
|
|
844
|
+
categories: TemplateCategory[];
|
|
845
|
+
}
|
|
846
|
+
/**
|
|
847
|
+
@internal
|
|
848
|
+
*/
|
|
849
|
+
export interface Category {
|
|
850
|
+
/**
|
|
851
|
+
* The ID of the category.
|
|
852
|
+
*/
|
|
853
|
+
categoryID: number;
|
|
854
|
+
/**
|
|
855
|
+
* The ID of the macro category to which this category belongs.
|
|
856
|
+
*/
|
|
857
|
+
macroCategoryID: number;
|
|
858
|
+
/**
|
|
859
|
+
* The name of the category.
|
|
860
|
+
*/
|
|
861
|
+
name: string;
|
|
862
|
+
/**
|
|
863
|
+
* The description of the category.
|
|
864
|
+
*/
|
|
865
|
+
description: string;
|
|
866
|
+
/**
|
|
867
|
+
* The ID of the seller associated with the category.
|
|
868
|
+
*/
|
|
869
|
+
sellerID: number;
|
|
870
|
+
/**
|
|
871
|
+
* The display order of the category.
|
|
872
|
+
*/
|
|
873
|
+
displayOrder: number;
|
|
874
|
+
/**
|
|
875
|
+
* Indicates if the category is a draft.
|
|
876
|
+
*/
|
|
877
|
+
isDraft: boolean;
|
|
878
|
+
/**
|
|
879
|
+
* The composition of the category.
|
|
880
|
+
*/
|
|
881
|
+
composition: any;
|
|
882
|
+
/**
|
|
883
|
+
* The template of the category.
|
|
884
|
+
*/
|
|
885
|
+
template: any;
|
|
886
|
+
}
|
|
887
|
+
/**
|
|
888
|
+
@internal
|
|
889
|
+
*/
|
|
890
|
+
export interface MacroCategory {
|
|
891
|
+
/**
|
|
892
|
+
* The ID of the macro category.
|
|
893
|
+
*/
|
|
894
|
+
macroCategoryID: number;
|
|
895
|
+
/**
|
|
896
|
+
* The name of the macro category.
|
|
897
|
+
*/
|
|
898
|
+
name: string;
|
|
899
|
+
/**
|
|
900
|
+
* The ID of the seller associated with the macro category.
|
|
901
|
+
*/
|
|
902
|
+
sellerID: number;
|
|
903
|
+
/**
|
|
904
|
+
* The display order of the macro category.
|
|
905
|
+
*/
|
|
906
|
+
displayOrder: number;
|
|
907
|
+
/**
|
|
908
|
+
* Indicates if the macro category is a draft.
|
|
909
|
+
*/
|
|
910
|
+
isDraft: boolean;
|
|
911
|
+
/**
|
|
912
|
+
* The categories under this macro category.
|
|
913
|
+
*/
|
|
914
|
+
category: Category[];
|
|
915
|
+
}
|
|
916
|
+
/**
|
|
917
|
+
* Represents the boot parameters for the Zakeke Configurator.
|
|
918
|
+
*/
|
|
919
|
+
export interface BootParameters {
|
|
920
|
+
/**
|
|
921
|
+
* The name of the product.
|
|
922
|
+
*/
|
|
923
|
+
productName?: string;
|
|
924
|
+
/**
|
|
925
|
+
* The platform on which the Composer is running.
|
|
926
|
+
*/
|
|
927
|
+
platform?: string;
|
|
928
|
+
/**
|
|
929
|
+
* The quantity of the product.
|
|
930
|
+
*/
|
|
931
|
+
quantity?: number;
|
|
932
|
+
/**
|
|
933
|
+
* The culture of the product.
|
|
934
|
+
*/
|
|
935
|
+
culture?: string;
|
|
936
|
+
/**
|
|
937
|
+
* The currency of the product.
|
|
938
|
+
*/
|
|
939
|
+
currency?: string;
|
|
940
|
+
/**
|
|
941
|
+
* The token for the product.
|
|
942
|
+
*/
|
|
943
|
+
token?: string;
|
|
944
|
+
/**
|
|
945
|
+
* The ID of the composition.
|
|
946
|
+
*/
|
|
947
|
+
compositionId?: string;
|
|
948
|
+
/**
|
|
949
|
+
* The code of the product.
|
|
950
|
+
*/
|
|
951
|
+
productCode?: string;
|
|
952
|
+
/**
|
|
953
|
+
* The width of the preview.
|
|
954
|
+
*/
|
|
955
|
+
previewWidth?: number;
|
|
956
|
+
/**
|
|
957
|
+
* The height of the preview.
|
|
958
|
+
*/
|
|
959
|
+
previewHeight?: number;
|
|
960
|
+
/**
|
|
961
|
+
* The prefix for the share URL.
|
|
962
|
+
*/
|
|
963
|
+
shareUrlPrefix?: string;
|
|
964
|
+
/**
|
|
965
|
+
* The ID of the shared composition document.
|
|
966
|
+
*/
|
|
967
|
+
sharedCompositionDocId?: string;
|
|
968
|
+
/**
|
|
969
|
+
* The ID of the template.
|
|
970
|
+
*/
|
|
971
|
+
templateId?: string;
|
|
972
|
+
/**
|
|
973
|
+
* Indicates if the editor is in draft mode.
|
|
974
|
+
*/
|
|
975
|
+
isDraftEditor?: boolean;
|
|
976
|
+
/**
|
|
977
|
+
* Indicates if the share composition URL is enabled.
|
|
978
|
+
*/
|
|
979
|
+
enableShareCompositionUrl?: boolean;
|
|
980
|
+
/**
|
|
981
|
+
* The ID of the draft composition document.
|
|
982
|
+
*/
|
|
983
|
+
draftCompositionDocId?: any;
|
|
984
|
+
/**
|
|
985
|
+
* Indicates if the editor is in viewer mode.
|
|
986
|
+
*/
|
|
987
|
+
isViewerMode?: boolean;
|
|
988
|
+
/**
|
|
989
|
+
* Indicates if the editor is in template mode.
|
|
990
|
+
*/
|
|
991
|
+
isTemplateEditor?: boolean;
|
|
992
|
+
/**
|
|
993
|
+
* Indicates if the legacy screenshot is used.
|
|
994
|
+
*/
|
|
995
|
+
useLegacyScreenshot?: boolean;
|
|
996
|
+
/**
|
|
997
|
+
* The version of the integration.
|
|
998
|
+
*/
|
|
999
|
+
integrationVersion?: number;
|
|
1000
|
+
}
|
|
1001
|
+
export interface UIConfig {
|
|
1002
|
+
urlLoader: string;
|
|
1003
|
+
urlARIcon: string;
|
|
1004
|
+
}
|
|
1005
|
+
export interface SceneAnimationsConfig {
|
|
1006
|
+
runAtStart?: boolean | null;
|
|
1007
|
+
loop?: boolean | null;
|
|
1008
|
+
speed?: number | null;
|
|
1009
|
+
}
|
|
1010
|
+
export interface DAMViewerAnalyticsType {
|
|
1011
|
+
modelCode: string;
|
|
1012
|
+
userId: number;
|
|
1013
|
+
eventType: DAMViewerAnalyticsEventType;
|
|
1014
|
+
}
|
|
1015
|
+
export declare enum DAMViewerAnalyticsEventType {
|
|
1016
|
+
ViewProduct = "VIEW_PRODUCT",
|
|
1017
|
+
ViewArProdutc = "VIEW_AR_PRODUCT"
|
|
1018
|
+
}
|
|
1019
|
+
export interface GraphQLWelcomeMessageResponse {
|
|
1020
|
+
data: {
|
|
1021
|
+
messagesByProduct: null | GraphQLWelcomeMessageData[];
|
|
1022
|
+
};
|
|
1023
|
+
}
|
|
1024
|
+
export interface GraphQLWelcomeMessageData {
|
|
1025
|
+
id: string;
|
|
1026
|
+
eventGlobalID: string;
|
|
1027
|
+
messageId: number;
|
|
1028
|
+
messageText: string;
|
|
1029
|
+
eventName: string;
|
|
1030
|
+
eventId: number;
|
|
1031
|
+
closeable: boolean;
|
|
1032
|
+
visible: boolean;
|
|
1033
|
+
addToCartDisabledValue: boolean;
|
|
1034
|
+
enableCheckForSellerImagesValue: boolean;
|
|
1035
|
+
enableAdditionalMessage: boolean;
|
|
1036
|
+
additionalMessage: string | null;
|
|
1037
|
+
eventMessageId: number;
|
|
1038
|
+
title: string | null;
|
|
1039
|
+
titleSingleMessage: string | null;
|
|
1040
|
+
infoLink: string | null;
|
|
1041
|
+
defaultMessage: string | null;
|
|
1042
|
+
visibleOnlyOnApi: boolean | null;
|
|
1043
|
+
addToCartLabel: string | null;
|
|
1044
|
+
visibleLowQualityInfoText: boolean | null;
|
|
1045
|
+
defaultAdditionalMessageText: string | null;
|
|
1046
|
+
warningText: string | null;
|
|
1047
|
+
onDeleteWarningText: string | null;
|
|
1048
|
+
isDefault?: boolean | null;
|
|
1049
|
+
}
|
|
1050
|
+
/**
|
|
1051
|
+
* AI Studio Types
|
|
1052
|
+
* These interfaces are used for AI-powered product staging and virtual try-on features
|
|
1053
|
+
*/
|
|
1054
|
+
/**
|
|
1055
|
+
* Represents a category for AI presets
|
|
1056
|
+
*/
|
|
1057
|
+
export interface AIPresetCategory {
|
|
1058
|
+
id: number;
|
|
1059
|
+
name: string;
|
|
1060
|
+
toolId: string;
|
|
1061
|
+
presetType: string;
|
|
1062
|
+
sellerID: number | null;
|
|
1063
|
+
isActive: boolean;
|
|
1064
|
+
createdDate: string;
|
|
1065
|
+
modifiedDate: string;
|
|
1066
|
+
}
|
|
1067
|
+
/**
|
|
1068
|
+
* Represents an AI preset configuration
|
|
1069
|
+
*/
|
|
1070
|
+
export interface AIPreset {
|
|
1071
|
+
id: number;
|
|
1072
|
+
name: string;
|
|
1073
|
+
toolId: string;
|
|
1074
|
+
presetType: string;
|
|
1075
|
+
categoryId: number | null;
|
|
1076
|
+
prompt: string | null;
|
|
1077
|
+
negativePrompt: string | null;
|
|
1078
|
+
imageUrl: string | null;
|
|
1079
|
+
previewUrl: string | null;
|
|
1080
|
+
factor: number | null;
|
|
1081
|
+
description: string | null;
|
|
1082
|
+
sellerID: number | null;
|
|
1083
|
+
isActive: boolean;
|
|
1084
|
+
sortOrder: number;
|
|
1085
|
+
createdDate: string;
|
|
1086
|
+
modifiedDate: string;
|
|
1087
|
+
categoryName: string | null;
|
|
1088
|
+
}
|
|
1089
|
+
/**
|
|
1090
|
+
* Represents rules for AI product staging
|
|
1091
|
+
*/
|
|
1092
|
+
export interface AIProductStagingRule {
|
|
1093
|
+
ruleID: number;
|
|
1094
|
+
name: string;
|
|
1095
|
+
sellerID: number;
|
|
1096
|
+
allowCustomBackground: boolean;
|
|
1097
|
+
numberOfImages: number;
|
|
1098
|
+
createdDate: string;
|
|
1099
|
+
productIDs: number[];
|
|
1100
|
+
printTypeIDs: number[];
|
|
1101
|
+
backgroundCategoryIDs: number[];
|
|
1102
|
+
surfacePresetIDs: number[];
|
|
1103
|
+
moodPresetIDs: number[];
|
|
1104
|
+
effectPresetIDs: number[];
|
|
1105
|
+
}
|
|
1106
|
+
/**
|
|
1107
|
+
* Options for AI product staging generation
|
|
1108
|
+
*/
|
|
1109
|
+
export interface AIProductStagingOptions {
|
|
1110
|
+
productImageUrl: string;
|
|
1111
|
+
backgroundType?: string;
|
|
1112
|
+
backgroundPreset?: number;
|
|
1113
|
+
backgroundImageUrl?: string;
|
|
1114
|
+
surfacePreset?: number;
|
|
1115
|
+
moodPreset?: number;
|
|
1116
|
+
customPrompt?: string;
|
|
1117
|
+
effectPreset?: number;
|
|
1118
|
+
progress?: (progress: number) => void;
|
|
1119
|
+
}
|
|
1120
|
+
/**
|
|
1121
|
+
* Result from AI product staging generation
|
|
1122
|
+
*/
|
|
1123
|
+
export interface AIProductStagingResult {
|
|
1124
|
+
imageUrl: string;
|
|
1125
|
+
taskId: string;
|
|
1126
|
+
}
|
|
1127
|
+
/**
|
|
1128
|
+
* Options for AI virtual try-on generation
|
|
1129
|
+
*/
|
|
1130
|
+
export interface AIVirtualTryOnOptions {
|
|
1131
|
+
personImageUrl?: string;
|
|
1132
|
+
personPreset?: number;
|
|
1133
|
+
clothingImageUrl?: string;
|
|
1134
|
+
clothingPreset?: number;
|
|
1135
|
+
backgroundImageUrl?: string;
|
|
1136
|
+
backgroundPreset?: number;
|
|
1137
|
+
customPrompt?: string;
|
|
1138
|
+
effectPreset?: number;
|
|
1139
|
+
posePreset?: number;
|
|
1140
|
+
progress?: (progress: number) => void;
|
|
1141
|
+
}
|
|
1142
|
+
/**
|
|
1143
|
+
* Result from AI virtual try-on generation
|
|
1144
|
+
*/
|
|
1145
|
+
export interface AIVirtualTryOnResult {
|
|
1146
|
+
imageUrl: string;
|
|
1147
|
+
taskId: string;
|
|
1148
|
+
}
|
|
1149
|
+
/**
|
|
1150
|
+
* Service availability flags from subscription API
|
|
1151
|
+
*/
|
|
1152
|
+
export interface AIServicesAvailability {
|
|
1153
|
+
GENERATIVE_AI_DESIGN: boolean;
|
|
1154
|
+
GENERATIVE_AI_IMAGE_GENERATOR: boolean;
|
|
1155
|
+
GENERATIVE_AI_PRODUCT_STAGING: boolean;
|
|
1156
|
+
GENERATIVE_AI_VTO: boolean;
|
|
1157
|
+
VECTORIZE: boolean;
|
|
1158
|
+
}
|
|
1159
|
+
/**
|
|
1160
|
+
* VTO filtering rules (from /api/v1/AIVirtualModelRule/applicable)
|
|
1161
|
+
*/
|
|
1162
|
+
export interface AIVirtualModelRule {
|
|
1163
|
+
ruleID: number;
|
|
1164
|
+
name: string;
|
|
1165
|
+
sellerID: number;
|
|
1166
|
+
numberOfImages: number;
|
|
1167
|
+
allowCustomBackground: boolean;
|
|
1168
|
+
createdDate: string;
|
|
1169
|
+
productIDs: number[];
|
|
1170
|
+
printTypeIDs: number[];
|
|
1171
|
+
backgroundCategoryIDs: number[];
|
|
1172
|
+
effectPresetIDs: number[];
|
|
1173
|
+
modelPresetIDs: number[];
|
|
1174
|
+
poseCategoryIDs: number[];
|
|
1175
|
+
}
|
|
1176
|
+
/**
|
|
1177
|
+
* Tool types for AI rate limiting
|
|
1178
|
+
*/
|
|
1179
|
+
export type AIToolType = 'AIStudio' | 'CustomizerAIImageGenerator' | 'CustomizerProductStaging' | 'CustomizerVirtualTryOn' | 'CustomizerDesignGenerator';
|
|
1180
|
+
/**
|
|
1181
|
+
* Rule level for tool usage
|
|
1182
|
+
*/
|
|
1183
|
+
export type AIRuleLevel = 'Seller' | 'Global';
|
|
1184
|
+
/**
|
|
1185
|
+
* Limit period type for tool usage
|
|
1186
|
+
*/
|
|
1187
|
+
export type AILimitPeriodType = 'Session' | 'Minutes';
|
|
1188
|
+
/**
|
|
1189
|
+
* Tool usage rule for AI rate limiting
|
|
1190
|
+
*/
|
|
1191
|
+
export interface AIToolUsageRule {
|
|
1192
|
+
toolType: AIToolType;
|
|
1193
|
+
hasRule: boolean;
|
|
1194
|
+
toolUsageRuleID: number | null;
|
|
1195
|
+
ruleLevel: AIRuleLevel | null;
|
|
1196
|
+
allowLoggedUsers: boolean | null;
|
|
1197
|
+
allowNonLoggedUsers: boolean | null;
|
|
1198
|
+
limitEnabled: boolean | null;
|
|
1199
|
+
limitPeriodType: AILimitPeriodType | null;
|
|
1200
|
+
maxOperations: number | null;
|
|
1201
|
+
limitPeriodMinutes: number | null;
|
|
1202
|
+
}
|
|
1203
|
+
/**
|
|
1204
|
+
* Error thrown when AI generation rate limit is reached.
|
|
1205
|
+
* Contains the tool usage rule and last generation timestamp for calculating remaining cooldown.
|
|
1206
|
+
*/
|
|
1207
|
+
export declare class AIRateLimitError extends Error {
|
|
1208
|
+
readonly toolUsageRule: AIToolUsageRule;
|
|
1209
|
+
readonly lastGenerationTime?: number;
|
|
1210
|
+
constructor(message: string, toolUsageRule: AIToolUsageRule, lastGenerationTime?: number);
|
|
1211
|
+
}
|
|
1212
|
+
export {};
|