@wix/auto_sdk_apps-installer_apps-installer 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/build/cjs/index.d.ts +110 -0
  2. package/build/cjs/index.js +589 -0
  3. package/build/cjs/index.js.map +1 -0
  4. package/build/cjs/index.typings.d.ts +837 -0
  5. package/build/cjs/index.typings.js +508 -0
  6. package/build/cjs/index.typings.js.map +1 -0
  7. package/build/cjs/meta.d.ts +226 -0
  8. package/build/cjs/meta.js +400 -0
  9. package/build/cjs/meta.js.map +1 -0
  10. package/build/es/index.d.mts +110 -0
  11. package/build/es/index.mjs +554 -0
  12. package/build/es/index.mjs.map +1 -0
  13. package/build/es/index.typings.d.mts +837 -0
  14. package/build/es/index.typings.mjs +474 -0
  15. package/build/es/index.typings.mjs.map +1 -0
  16. package/build/es/meta.d.mts +226 -0
  17. package/build/es/meta.mjs +368 -0
  18. package/build/es/meta.mjs.map +1 -0
  19. package/build/es/package.json +3 -0
  20. package/build/internal/cjs/index.d.ts +110 -0
  21. package/build/internal/cjs/index.js +589 -0
  22. package/build/internal/cjs/index.js.map +1 -0
  23. package/build/internal/cjs/index.typings.d.ts +837 -0
  24. package/build/internal/cjs/index.typings.js +508 -0
  25. package/build/internal/cjs/index.typings.js.map +1 -0
  26. package/build/internal/cjs/meta.d.ts +226 -0
  27. package/build/internal/cjs/meta.js +400 -0
  28. package/build/internal/cjs/meta.js.map +1 -0
  29. package/build/internal/es/index.d.mts +110 -0
  30. package/build/internal/es/index.mjs +554 -0
  31. package/build/internal/es/index.mjs.map +1 -0
  32. package/build/internal/es/index.typings.d.mts +837 -0
  33. package/build/internal/es/index.typings.mjs +474 -0
  34. package/build/internal/es/index.typings.mjs.map +1 -0
  35. package/build/internal/es/meta.d.mts +226 -0
  36. package/build/internal/es/meta.mjs +368 -0
  37. package/build/internal/es/meta.mjs.map +1 -0
  38. package/meta/package.json +3 -0
  39. package/package.json +53 -0
@@ -0,0 +1,837 @@
1
+ import { NonNullablePaths } from '@wix/sdk-types';
2
+
3
+ interface AppInstance {
4
+ /**
5
+ * App instance ID.
6
+ * @format GUID
7
+ * @readonly
8
+ */
9
+ _id?: string;
10
+ /**
11
+ * ID of the app to install.
12
+ * @format GUID
13
+ */
14
+ appDefId?: string;
15
+ /**
16
+ * Version of the app to install.
17
+ *
18
+ * If you don't specify a version, the latest version of the app will be installed. Don't specify a version unless you want to install an older version of the app.
19
+ */
20
+ version?: string | null;
21
+ /** Whether the app instance is enabled. */
22
+ enabled?: boolean;
23
+ /**
24
+ * A signed access token of the Wix user and the app instance.
25
+ * @readonly
26
+ */
27
+ appToken?: string | null;
28
+ /**
29
+ * Date and time the app instance was installed.
30
+ * @readonly
31
+ */
32
+ installedDate?: Date | null;
33
+ /**
34
+ * Date and time the app instance was last updated.
35
+ * @readonly
36
+ */
37
+ _updatedDate?: Date | null;
38
+ }
39
+ declare enum Status {
40
+ /** Installation status is unknown. */
41
+ UNKNOWN = "UNKNOWN",
42
+ /** Waiting for OAUTH authentication to complete installation. */
43
+ WAITING_FOR_OAUTH = "WAITING_FOR_OAUTH",
44
+ /** App instance authenticated successfully. */
45
+ AUTHENTICATED = "AUTHENTICATED",
46
+ /** Payment hasn't been completed and is required for access to the app. */
47
+ DIDNT_COMPLETE_PAYMENT = "DIDNT_COMPLETE_PAYMENT"
48
+ }
49
+ /** @enumType */
50
+ type StatusWithLiterals = Status | 'UNKNOWN' | 'WAITING_FOR_OAUTH' | 'AUTHENTICATED' | 'DIDNT_COMPLETE_PAYMENT';
51
+ interface LegacyParams {
52
+ /** Legacy int id */
53
+ intId?: number | null;
54
+ /**
55
+ * Legacy source template id
56
+ * @format GUID
57
+ */
58
+ sourceTemplateId?: string | null;
59
+ }
60
+ interface DevVersionInstallation {
61
+ /**
62
+ * ID of the override to assign to the development version.
63
+ * @maxLength 50
64
+ */
65
+ overrideId?: string;
66
+ }
67
+ interface ListAppInstancesRequest {
68
+ /** Tenant to fetch app instances for */
69
+ tenant?: Tenant;
70
+ }
71
+ interface Tenant {
72
+ /** Tenant ID. For a site, this is the [site ID](https://dev.wix.com/docs/rest/account-level/sites/sites/introduction). For an account this is the [account ID](https://dev.wix.com/docs/rest/account-level/user-management/accounts/accounts/about-accounts). */
73
+ _id?: string;
74
+ /** Tenant type. This can be a Wix site or account. */
75
+ tenantType?: TenantTypeWithLiterals;
76
+ }
77
+ declare enum TenantType {
78
+ SITE = "SITE",
79
+ ACCOUNT = "ACCOUNT"
80
+ }
81
+ /** @enumType */
82
+ type TenantTypeWithLiterals = TenantType | 'SITE' | 'ACCOUNT';
83
+ interface ListAppInstancesResponse {
84
+ /** List of installed app instances list for the specified tenant */
85
+ appInstances?: AppInstance[];
86
+ }
87
+ interface DomainEvent extends DomainEventBodyOneOf {
88
+ createdEvent?: EntityCreatedEvent;
89
+ updatedEvent?: EntityUpdatedEvent;
90
+ deletedEvent?: EntityDeletedEvent;
91
+ actionEvent?: ActionEvent;
92
+ /** Event ID. With this ID you can easily spot duplicated events and ignore them. */
93
+ _id?: string;
94
+ /**
95
+ * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.
96
+ * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.
97
+ */
98
+ entityFqdn?: string;
99
+ /**
100
+ * Event action name, placed at the top level to make it easier for users to dispatch messages.
101
+ * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.
102
+ */
103
+ slug?: string;
104
+ /** ID of the entity associated with the event. */
105
+ entityId?: string;
106
+ /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */
107
+ eventTime?: Date | null;
108
+ /**
109
+ * Whether the event was triggered as a result of a privacy regulation application
110
+ * (for example, GDPR).
111
+ */
112
+ triggeredByAnonymizeRequest?: boolean | null;
113
+ /** If present, indicates the action that triggered the event. */
114
+ originatedFrom?: string | null;
115
+ /**
116
+ * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.
117
+ * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.
118
+ */
119
+ entityEventSequence?: string | null;
120
+ }
121
+ /** @oneof */
122
+ interface DomainEventBodyOneOf {
123
+ createdEvent?: EntityCreatedEvent;
124
+ updatedEvent?: EntityUpdatedEvent;
125
+ deletedEvent?: EntityDeletedEvent;
126
+ actionEvent?: ActionEvent;
127
+ }
128
+ interface EntityCreatedEvent {
129
+ entity?: string;
130
+ }
131
+ interface RestoreInfo {
132
+ deletedDate?: Date | null;
133
+ }
134
+ interface EntityUpdatedEvent {
135
+ /**
136
+ * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.
137
+ * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.
138
+ * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.
139
+ */
140
+ currentEntity?: string;
141
+ }
142
+ interface EntityDeletedEvent {
143
+ /** Entity that was deleted. */
144
+ deletedEntity?: string | null;
145
+ }
146
+ interface ActionEvent {
147
+ body?: string;
148
+ }
149
+ interface MessageEnvelope {
150
+ /**
151
+ * App instance ID.
152
+ * @format GUID
153
+ */
154
+ instanceId?: string | null;
155
+ /**
156
+ * Event type.
157
+ * @maxLength 150
158
+ */
159
+ eventType?: string;
160
+ /** The identification type and identity data. */
161
+ identity?: IdentificationData;
162
+ /** Stringify payload. */
163
+ data?: string;
164
+ }
165
+ interface IdentificationData extends IdentificationDataIdOneOf {
166
+ /**
167
+ * ID of a site visitor that has not logged in to the site.
168
+ * @format GUID
169
+ */
170
+ anonymousVisitorId?: string;
171
+ /**
172
+ * ID of a site visitor that has logged in to the site.
173
+ * @format GUID
174
+ */
175
+ memberId?: string;
176
+ /**
177
+ * ID of a Wix user (site owner, contributor, etc.).
178
+ * @format GUID
179
+ */
180
+ wixUserId?: string;
181
+ /**
182
+ * ID of an app.
183
+ * @format GUID
184
+ */
185
+ appId?: string;
186
+ /** @readonly */
187
+ identityType?: WebhookIdentityTypeWithLiterals;
188
+ }
189
+ /** @oneof */
190
+ interface IdentificationDataIdOneOf {
191
+ /**
192
+ * ID of a site visitor that has not logged in to the site.
193
+ * @format GUID
194
+ */
195
+ anonymousVisitorId?: string;
196
+ /**
197
+ * ID of a site visitor that has logged in to the site.
198
+ * @format GUID
199
+ */
200
+ memberId?: string;
201
+ /**
202
+ * ID of a Wix user (site owner, contributor, etc.).
203
+ * @format GUID
204
+ */
205
+ wixUserId?: string;
206
+ /**
207
+ * ID of an app.
208
+ * @format GUID
209
+ */
210
+ appId?: string;
211
+ }
212
+ declare enum WebhookIdentityType {
213
+ UNKNOWN = "UNKNOWN",
214
+ ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR",
215
+ MEMBER = "MEMBER",
216
+ WIX_USER = "WIX_USER",
217
+ APP = "APP"
218
+ }
219
+ /** @enumType */
220
+ type WebhookIdentityTypeWithLiterals = WebhookIdentityType | 'UNKNOWN' | 'ANONYMOUS_VISITOR' | 'MEMBER' | 'WIX_USER' | 'APP';
221
+ interface InstallDefaultAppsEvent {
222
+ tenant?: Tenant;
223
+ }
224
+ interface Empty {
225
+ }
226
+ interface InstallAppRequest {
227
+ /** Tenant details. */
228
+ tenant: Tenant;
229
+ /** Details of the app instance to create when the app is installed. */
230
+ appInstance: AppInstance;
231
+ }
232
+ interface InstallAppResponse {
233
+ /** The app instance created when the app was installed. */
234
+ appInstance?: AppInstance;
235
+ }
236
+ interface AppInstalledOnTenant {
237
+ /** Tenant details. */
238
+ tenant?: Tenant;
239
+ /** App instance details. */
240
+ appInstance?: AppInstance;
241
+ }
242
+ interface BulkInstallAppRequest {
243
+ /** Tenant details. */
244
+ tenant?: Tenant;
245
+ /**
246
+ * Details of the app instances to create when the apps are installed.
247
+ * @maxSize 20
248
+ */
249
+ appInstances?: AppInstance[];
250
+ }
251
+ /** A list of possible additional fields to be included in the response. */
252
+ declare enum RequestedFields {
253
+ /** The requested field is unknown. */
254
+ UNKNOWN_REQUESTED_FIELD = "UNKNOWN_REQUESTED_FIELD",
255
+ /** The client spec map. */
256
+ CLIENT_SPEC_MAP = "CLIENT_SPEC_MAP"
257
+ }
258
+ /** @enumType */
259
+ type RequestedFieldsWithLiterals = RequestedFields | 'UNKNOWN_REQUESTED_FIELD' | 'CLIENT_SPEC_MAP';
260
+ interface BulkInstallAppResponse {
261
+ /** Information and metadata about the app installations. */
262
+ results?: BulkInstallAppResult[];
263
+ /** Metadata about the bulk installation. */
264
+ bulkActionMetadata?: BulkActionMetadata;
265
+ }
266
+ interface BulkInstallAppResult {
267
+ /** Metadata about the app installation. */
268
+ itemMetadata?: ItemMetadata;
269
+ /** Details of the created app instance. */
270
+ appInstance?: AppInstance;
271
+ }
272
+ interface ItemMetadata {
273
+ /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */
274
+ _id?: string | null;
275
+ /** Index of the item within the request array. Allows for correlation between request and response items. */
276
+ originalIndex?: number;
277
+ /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */
278
+ success?: boolean;
279
+ /** Details about the error in case of failure. */
280
+ error?: ApplicationError;
281
+ }
282
+ interface ApplicationError {
283
+ /** Error code. */
284
+ code?: string;
285
+ /** Description of the error. */
286
+ description?: string;
287
+ /** Data related to the error. */
288
+ data?: Record<string, any> | null;
289
+ }
290
+ interface BulkActionMetadata {
291
+ /** Number of items that were successfully processed. */
292
+ totalSuccesses?: number;
293
+ /** Number of items that couldn't be processed. */
294
+ totalFailures?: number;
295
+ /** Number of failures without details because detailed failure threshold was exceeded. */
296
+ undetailedFailures?: number;
297
+ }
298
+ interface ClientSpecMap {
299
+ /** The Client Spec Map data. */
300
+ data?: Record<number, ClientSpec>;
301
+ }
302
+ /**
303
+ * ClientSpec is a merge of meta site and dev center data about application.
304
+ *
305
+ * This API is very old, but used a lot in editor and viewer.
306
+ *
307
+ * It represents a flatten hierarchy of subclasses of [com.wixpress.apps.dto.ClientSpec](https://github.com/wix-private/meta-site/blob/master/wix-meta-site-server/app-store-service/client-spec-map-api/src/main/scala/com/wixpress/apps/dto/ClientSpec.java).
308
+ */
309
+ interface ClientSpec {
310
+ /** Possible values: editor, public, wixapps, appbuilder, sitemembers, siteextension, mobileapp, onboarding, metasite or ignored. */
311
+ type?: string;
312
+ /**
313
+ * Deprecated. Represents so-called intId -- a "position" of the application in Site Pages (previously editor saved intId
314
+ * instead of appDefId in pages to correlate with applications).
315
+ */
316
+ applicationId?: number;
317
+ appDefinitionId?: string | null;
318
+ instanceId?: string | null;
319
+ state?: string | null;
320
+ expirationDate?: string | null;
321
+ /** This field will be deprecated in the future. It currently contains either the access token or the data token. */
322
+ instance?: string | null;
323
+ /** A OAuth access token for the application - provides API access. */
324
+ accessToken?: string | null;
325
+ /** A data token for the application - provides data about the application user. */
326
+ dataToken?: string | null;
327
+ /** MetaSiteClientSpec */
328
+ metaSiteId?: string | null;
329
+ /** deprecated */
330
+ appDefId?: string | null;
331
+ /** BaseTPAClientSpec */
332
+ versionFailure?: string | null;
333
+ appWorkerUrl?: string | null;
334
+ appDefinitionName?: string | null;
335
+ sectionDefaultPage?: string | null;
336
+ sectionUrl?: string | null;
337
+ widgets?: Record<string, Widget>;
338
+ gluedWidgets?: Record<string, GluedWidget>;
339
+ pixelUrl?: string | null;
340
+ embeddedScriptUrl?: string | null;
341
+ appRequirements?: TPAAppRequirements;
342
+ sectionRefreshOnWidthChange?: boolean | null;
343
+ sectionMobileUrl?: string | null;
344
+ sectionPublished?: boolean | null;
345
+ sectionMobilePublished?: boolean | null;
346
+ sectionSeoEnabled?: boolean | null;
347
+ /** TODO check serialization */
348
+ isWixTPA?: boolean | null;
349
+ installedAtDashboard?: boolean | null;
350
+ permissions?: TPAPermissions;
351
+ appFields?: any;
352
+ version?: string | null;
353
+ requiresEditorComponent?: boolean | null;
354
+ editorPartDismissed?: boolean | null;
355
+ openPremiumPage?: boolean | null;
356
+ /** TPAEditorClientSpec */
357
+ settingsUrl?: string | null;
358
+ onboardingSettingsUrl?: string | null;
359
+ dashboardUrl?: string | null;
360
+ dashboardDefaultHeight?: number | null;
361
+ settingsDialogBanner?: string | null;
362
+ settingsCompanyName?: string | null;
363
+ settingsWidth?: number | null;
364
+ settingsHeight?: number | null;
365
+ demoMode?: boolean | null;
366
+ sectionSettings?: TPASettingsClientSpec;
367
+ vendorProductId?: string | null;
368
+ vendorProducts?: string[];
369
+ preInstalled?: boolean | null;
370
+ appType?: string | null;
371
+ provisionOnSaveSite?: boolean | null;
372
+ components?: any;
373
+ /** WLAClientSpec */
374
+ datastoreId?: string | null;
375
+ originDatastoreId?: string | null;
376
+ packageName?: string | null;
377
+ /** SiteMembersClientSpec */
378
+ smcollectionId?: string | null;
379
+ collectionType?: string | null;
380
+ collectionFormFace?: string | null;
381
+ collectionExposure?: string | null;
382
+ smtoken?: string | null;
383
+ /** MobileAppClientSpec */
384
+ name?: string | null;
385
+ iconUrl?: string | null;
386
+ /** OnboardingClientSpec */
387
+ storyId?: string | null;
388
+ inUse?: boolean | null;
389
+ }
390
+ interface Widget {
391
+ /** BaseTPAClientWidget */
392
+ widgetId?: string | null;
393
+ widgetUrl?: string | null;
394
+ tpaWidgetId?: string | null;
395
+ refreshOnWidthChange?: boolean | null;
396
+ mobileUrl?: string | null;
397
+ appPage?: TPAAppPage;
398
+ published?: boolean | null;
399
+ mobilePublished?: boolean | null;
400
+ seoEnabled?: boolean | null;
401
+ preFetch?: boolean | null;
402
+ shouldBeStretchedByDefault?: boolean | null;
403
+ shouldBeStretchedByDefaultMobile?: boolean | null;
404
+ gluedOptions?: GluedOptions;
405
+ componentFields?: any;
406
+ default?: boolean | null;
407
+ /** TPAEditorClientWidget */
408
+ defaultWidth?: number | null;
409
+ defaultHeight?: number | null;
410
+ defaultShowOnAllPages?: boolean | null;
411
+ settings?: TPASettingsClientSpec;
412
+ autoAddToSite?: boolean | null;
413
+ defaultPosition?: TPAWidgetPosition;
414
+ canBeStretched?: boolean | null;
415
+ santaEditorPublished?: boolean | null;
416
+ addOnlyOnce?: boolean | null;
417
+ }
418
+ interface TPAAppPage {
419
+ _id?: string;
420
+ name?: string;
421
+ defaultPage?: string;
422
+ hidden?: boolean;
423
+ multiInstanceEnabled?: boolean | null;
424
+ order?: number | null;
425
+ indexable?: boolean | null;
426
+ fullPage?: boolean | null;
427
+ landingPageInMobile?: boolean | null;
428
+ hideFromMenu?: boolean | null;
429
+ }
430
+ interface GluedOptions {
431
+ placement?: string | null;
432
+ verticalMargin?: number | null;
433
+ horizontalMargin?: number | null;
434
+ }
435
+ interface TPASettingsClientSpec {
436
+ height?: number;
437
+ width?: number;
438
+ url?: string | null;
439
+ urlV2?: string | null;
440
+ onboardingUrl?: string | null;
441
+ abTest?: boolean | null;
442
+ version?: number | null;
443
+ }
444
+ interface TPAWidgetPosition {
445
+ region?: string;
446
+ placement?: string;
447
+ }
448
+ interface GluedWidget {
449
+ widgetId?: string | null;
450
+ widgetUrl?: string | null;
451
+ }
452
+ interface TPAAppRequirements {
453
+ requireSiteMembers?: boolean;
454
+ }
455
+ interface TPAPermissions {
456
+ revoked?: boolean;
457
+ }
458
+ interface UninstallAppRequest {
459
+ /** Tenant details. */
460
+ tenant?: Tenant;
461
+ /**
462
+ * The ID of the app to install.
463
+ * @format GUID
464
+ */
465
+ appDefId: string;
466
+ }
467
+ interface UninstallAppResponse {
468
+ }
469
+ interface BulkUninstallAppRequest {
470
+ /** Tenant details. */
471
+ tenant?: Tenant;
472
+ /**
473
+ * List of apps to be uninstalled.
474
+ * @format GUID
475
+ * @maxSize 20
476
+ */
477
+ appDefIds: string[];
478
+ }
479
+ interface BulkUninstallAppResponse {
480
+ /** Information and metadata about the uninstalled apps. */
481
+ results?: BulkUninstallAppResult[];
482
+ /** Metadata about the bulk uninstallation. */
483
+ bulkActionMetadata?: BulkActionMetadata;
484
+ }
485
+ interface BulkUninstallAppResult {
486
+ /** Metadata about the uninstalled app instance. */
487
+ itemMetadata?: ItemMetadata;
488
+ /**
489
+ * @format GUID
490
+ * @deprecated
491
+ * @replacedBy app_instance
492
+ * @targetRemovalDate 2025-09-01
493
+ */
494
+ appDefId?: string;
495
+ /** Details of the uninstalled app instance. */
496
+ appInstance?: AppInstance;
497
+ }
498
+ interface InstallAppFromShareUrlRequest {
499
+ /** Tenant details. */
500
+ tenant: Tenant;
501
+ /**
502
+ * ID of the share URL to install the app from.
503
+ *
504
+ * To get the share URL of an app:
505
+ *
506
+ * 1. [Generate an install link](https://dev.wix.com/docs/build-apps/develop-your-app/app-dashboard-setup/share-your-app-with-an-install-link).
507
+ *
508
+ * 2. Click the link, which will redirect you to a page where you can install the app. The URL of this page is the share URL, and the string after `install/` in the URL is the share URL ID. For example, in the share URL `https://www.wix.com/app-market/install/8d5179a2-6d46-45b0-bcfa-64f479c6a2al`, the share URL ID is `8d5179a2-6d46-45b0-bcfa-64f479c6a2al`.
509
+ * @format GUID
510
+ */
511
+ shareUrlId: string;
512
+ /** Information about the development version of the app to install. Only relevant if the share URL refers to a development version of an app created in the Wix CLI. */
513
+ devVersion?: DevVersionInstallation;
514
+ }
515
+ interface InstallAppFromShareUrlResponse {
516
+ /** App instance created when the app was installed. */
517
+ appInstance?: AppInstance;
518
+ }
519
+ interface IsPermittedToInstallAppsRequest extends IsPermittedToInstallAppsRequestOptionsOneOf {
520
+ /** Install the app using app instance details. */
521
+ appsInstallOptions?: AppsInstallOptions;
522
+ /** Install an app using a share URL. */
523
+ shareUrlInstallOptions?: ShareUrlInstallOptions;
524
+ /** Installation type. */
525
+ installType: InstallTypeWithLiterals;
526
+ }
527
+ /** @oneof */
528
+ interface IsPermittedToInstallAppsRequestOptionsOneOf {
529
+ /** Install the app using app instance details. */
530
+ appsInstallOptions?: AppsInstallOptions;
531
+ /** Install an app using a share URL. */
532
+ shareUrlInstallOptions?: ShareUrlInstallOptions;
533
+ }
534
+ declare enum InstallType {
535
+ /** Installation type is unknown. */
536
+ UNKNOWN_INSTALL_TYPE = "UNKNOWN_INSTALL_TYPE",
537
+ /** Installation based on app instance data provided in the request. */
538
+ APPS_INSTALL = "APPS_INSTALL",
539
+ /** Installation based on a shareable app URL. */
540
+ SHARE_URL_INSTALL = "SHARE_URL_INSTALL"
541
+ }
542
+ /** @enumType */
543
+ type InstallTypeWithLiterals = InstallType | 'UNKNOWN_INSTALL_TYPE' | 'APPS_INSTALL' | 'SHARE_URL_INSTALL';
544
+ interface AppsInstallOptions {
545
+ /** Tenant details. */
546
+ tenant?: Tenant;
547
+ /**
548
+ * Details of the app instances to create when the apps are installed.
549
+ * @minSize 1
550
+ * @maxSize 30
551
+ */
552
+ appInstances?: AppInstance[];
553
+ }
554
+ interface ShareUrlInstallOptions {
555
+ /**
556
+ * ID of the share URL to install the app from.
557
+ * @format GUID
558
+ */
559
+ shareUrlId?: string;
560
+ }
561
+ interface IsPermittedToInstallAppsResponse {
562
+ /** Whether the installation is permitted. */
563
+ permitted?: boolean;
564
+ }
565
+ interface GetInstalledAppsRequest {
566
+ }
567
+ interface GetInstalledAppsResponse {
568
+ /** The installed app instances */
569
+ appInstances?: AppInstance[];
570
+ }
571
+ type InstallAppApplicationErrors = {
572
+ code?: 'DOMAIN_ENTITY_MISSING';
573
+ description?: string;
574
+ data?: Record<string, any>;
575
+ } | {
576
+ code?: 'UNSUPPORTED_TENANT_TYPE';
577
+ description?: string;
578
+ data?: Record<string, any>;
579
+ } | {
580
+ code?: 'INVALID_DEV_VERSION';
581
+ description?: string;
582
+ data?: Record<string, any>;
583
+ } | {
584
+ code?: 'ACCOUNT_INVALID_DEV_VERSION';
585
+ description?: string;
586
+ data?: Record<string, any>;
587
+ };
588
+ type InstallAppFromShareUrlApplicationErrors = {
589
+ code?: 'UNSUPPORTED_TENANT_TYPE';
590
+ description?: string;
591
+ data?: Record<string, any>;
592
+ } | {
593
+ code?: 'SHARE_URL_IS_REVOKED';
594
+ description?: string;
595
+ data?: Record<string, any>;
596
+ } | {
597
+ code?: 'SHARE_URL_NOT_FOUND';
598
+ description?: string;
599
+ data?: Record<string, any>;
600
+ };
601
+ type IsPermittedToInstallAppsApplicationErrors = {
602
+ code?: 'UNSUPPORTED_TENANT_TYPE';
603
+ description?: string;
604
+ data?: Record<string, any>;
605
+ };
606
+ interface BaseEventMetadata {
607
+ /**
608
+ * App instance ID.
609
+ * @format GUID
610
+ */
611
+ instanceId?: string | null;
612
+ /**
613
+ * Event type.
614
+ * @maxLength 150
615
+ */
616
+ eventType?: string;
617
+ /** The identification type and identity data. */
618
+ identity?: IdentificationData;
619
+ }
620
+ interface EventMetadata extends BaseEventMetadata {
621
+ /** Event ID. With this ID you can easily spot duplicated events and ignore them. */
622
+ _id?: string;
623
+ /**
624
+ * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.
625
+ * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.
626
+ */
627
+ entityFqdn?: string;
628
+ /**
629
+ * Event action name, placed at the top level to make it easier for users to dispatch messages.
630
+ * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.
631
+ */
632
+ slug?: string;
633
+ /** ID of the entity associated with the event. */
634
+ entityId?: string;
635
+ /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */
636
+ eventTime?: Date | null;
637
+ /**
638
+ * Whether the event was triggered as a result of a privacy regulation application
639
+ * (for example, GDPR).
640
+ */
641
+ triggeredByAnonymizeRequest?: boolean | null;
642
+ /** If present, indicates the action that triggered the event. */
643
+ originatedFrom?: string | null;
644
+ /**
645
+ * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.
646
+ * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.
647
+ */
648
+ entityEventSequence?: string | null;
649
+ }
650
+ interface AppInstanceAppInstalledOnTenantEnvelope {
651
+ data: AppInstalledOnTenant;
652
+ metadata: EventMetadata;
653
+ }
654
+ /** @permissionId APPS_INSTALLER.INSTALL_SITE_LEVEL
655
+ * @webhook
656
+ * @eventType wix.apps.v1.app_instance_app_installed_on_tenant
657
+ * @serviceIdentifier wix.devcenter.apps.installer.v1.AppsInstallerService
658
+ * @slug app_installed_on_tenant
659
+ * @documentationMaturity preview
660
+ */
661
+ declare function onAppInstanceAppInstalledOnTenant(handler: (event: AppInstanceAppInstalledOnTenantEnvelope) => void | Promise<void>): void;
662
+ type AppInstanceNonNullablePaths = `_id` | `appDefId` | `enabled`;
663
+ /**
664
+ * <blockquote class="warning">
665
+ *
666
+ * __Warning:__
667
+ * By using this API to install 3rd-party apps, you acknowledge and agree that:
668
+ *
669
+ * - Some 3rd-party apps installed with this API may access, use, copy, change, or delete all your website's data, including your and your website visitors' and members' financial and personal information.
670
+ * - Wix may not have reviewed the app, and can't guarantee their operation or that it will continue to function as described by the app developers.
671
+ * - You may be sharing sensitive information with the app. Review the terms of use and privacy policies of any app you choose to install to understand how your data will be handled.
672
+ * - You agree to the Wix App Market [terms of use](https://www.wix.com/about/app-market-terms).
673
+ *
674
+ * By installing any 3rd-party app through this API, you confirm your acceptance of all the above conditions.
675
+ *
676
+ * </blockquote>
677
+ *
678
+ * Installs an app on a tenant, specifying the details of the app instance to create.
679
+ *
680
+ * The ID of this app instance is automatically generated and included in the `appInstance` object in the response.
681
+ * @param tenant - Tenant details.
682
+ * @public
683
+ * @documentationMaturity preview
684
+ * @requiredField options
685
+ * @requiredField options.appInstance
686
+ * @requiredField options.appInstance.appDefId
687
+ * @requiredField tenant
688
+ * @requiredField tenant._id
689
+ * @permissionId APPS_INSTALLER.INSTALL_SITE_LEVEL
690
+ * @permissionId APPS_INSTALLER.INSTALL_ACCOUNT_LEVEL
691
+ * @fqn wix.devcenter.apps.installer.v1.AppsInstallerService.InstallApp
692
+ */
693
+ declare function installApp(tenant: NonNullablePaths<Tenant, `_id`>, options: NonNullablePaths<InstallAppOptions, `appInstance` | `appInstance.appDefId`>): Promise<NonNullablePaths<InstallAppResponse, {
694
+ [P in AppInstanceNonNullablePaths]: `appInstance.${P}`;
695
+ }[AppInstanceNonNullablePaths]> & {
696
+ __applicationErrorsType?: InstallAppApplicationErrors;
697
+ }>;
698
+ interface InstallAppOptions {
699
+ /** Details of the app instance to create when the app is installed. */
700
+ appInstance: AppInstance;
701
+ }
702
+ /**
703
+ * Uninstalls an app from a tenant.
704
+ *
705
+ * This removes the instance of a specified app from the tenant.
706
+ * @public
707
+ * @documentationMaturity preview
708
+ * @requiredField options.appDefId
709
+ * @permissionId APPS_INSTALLER.UNINSTALL_SITE_LEVEL
710
+ * @permissionId APPS_INSTALLER.UNINSTALL_ACCOUNT_LEVEL
711
+ * @fqn wix.devcenter.apps.installer.v1.AppsInstallerService.UninstallApp
712
+ */
713
+ declare function uninstallApp(options?: NonNullablePaths<UninstallAppOptions, `appDefId`>): Promise<void>;
714
+ interface UninstallAppOptions {
715
+ /** Tenant details. */
716
+ tenant?: Tenant;
717
+ /**
718
+ * The ID of the app to install.
719
+ * @format GUID
720
+ */
721
+ appDefId: string;
722
+ }
723
+ /**
724
+ * Uninstalls apps from a tenant.
725
+ *
726
+ * This removes the instances of the specified apps from the tenant.
727
+ * @public
728
+ * @documentationMaturity preview
729
+ * @requiredField options.appDefIds
730
+ * @permissionId APPS_INSTALLER.UNINSTALL_SITE_LEVEL
731
+ * @permissionId APPS_INSTALLER.UNINSTALL_ACCOUNT_LEVEL
732
+ * @fqn wix.devcenter.apps.installer.v1.AppsInstallerService.BulkUninstallApp
733
+ */
734
+ declare function bulkUninstallApp(options?: NonNullablePaths<BulkUninstallAppOptions, `appDefIds`>): Promise<NonNullablePaths<BulkUninstallAppResponse, `results` | `results.${number}.itemMetadata.originalIndex` | `results.${number}.itemMetadata.success` | `results.${number}.itemMetadata.error.code` | `results.${number}.itemMetadata.error.description` | `results.${number}.appDefId` | {
735
+ [P in AppInstanceNonNullablePaths]: `results.${number}.appInstance.${P}`;
736
+ }[AppInstanceNonNullablePaths] | `bulkActionMetadata.totalSuccesses` | `bulkActionMetadata.totalFailures` | `bulkActionMetadata.undetailedFailures`>>;
737
+ interface BulkUninstallAppOptions {
738
+ /** Tenant details. */
739
+ tenant?: Tenant;
740
+ /**
741
+ * List of apps to be uninstalled.
742
+ * @format GUID
743
+ * @maxSize 20
744
+ */
745
+ appDefIds: string[];
746
+ }
747
+ /**
748
+ * <blockquote class="warning">
749
+ *
750
+ * __Warning:__
751
+ * By using this API to install 3rd-party apps, you acknowledge and agree that:
752
+ *
753
+ * - Some 3rd-party apps installed with this API may access, use, copy, change, or delete all your website's data, including your and your website visitors' and members' financial and personal information.
754
+ * - Wix may not have reviewed the app, and cannot guarantee their operation or that it will continue to function as described by the app developers.
755
+ * - You may be sharing sensitive information with the app. Please review the terms of use and privacy policies of any app you choose to install to understand how your data will be handled.
756
+ * - By utilizing this API, you agree to the Wix App Market [terms of use](https://www.wix.com/about/app-market-terms).
757
+ *
758
+ * By installing any 3rd-party app through this API, I confirm my acceptance of all the above conditions.
759
+ *
760
+ * </blockquote>
761
+ *
762
+ * Installs an app on a site using a share URL.
763
+ * @param tenant - Tenant details.
764
+ * @public
765
+ * @documentationMaturity preview
766
+ * @requiredField options.shareUrlId
767
+ * @requiredField tenant
768
+ * @requiredField tenant._id
769
+ * @permissionId APPS_INSTALLER.INSTALL_SITE_LEVEL
770
+ * @permissionId APPS_INSTALLER.INSTALL_ACCOUNT_LEVEL
771
+ * @fqn wix.devcenter.apps.installer.v1.AppsInstallerService.InstallAppFromShareUrl
772
+ */
773
+ declare function installAppFromShareUrl(tenant: NonNullablePaths<Tenant, `_id`>, options?: NonNullablePaths<InstallAppFromShareUrlOptions, `shareUrlId`>): Promise<NonNullablePaths<InstallAppFromShareUrlResponse, {
774
+ [P in AppInstanceNonNullablePaths]: `appInstance.${P}`;
775
+ }[AppInstanceNonNullablePaths]> & {
776
+ __applicationErrorsType?: InstallAppFromShareUrlApplicationErrors;
777
+ }>;
778
+ interface InstallAppFromShareUrlOptions {
779
+ /**
780
+ * ID of the share URL to install the app from.
781
+ *
782
+ * To get the share URL of an app:
783
+ *
784
+ * 1. [Generate an install link](https://dev.wix.com/docs/build-apps/develop-your-app/app-dashboard-setup/share-your-app-with-an-install-link).
785
+ *
786
+ * 2. Click the link, which will redirect you to a page where you can install the app. The URL of this page is the share URL, and the string after `install/` in the URL is the share URL ID. For example, in the share URL `https://www.wix.com/app-market/install/8d5179a2-6d46-45b0-bcfa-64f479c6a2al`, the share URL ID is `8d5179a2-6d46-45b0-bcfa-64f479c6a2al`.
787
+ * @format GUID
788
+ */
789
+ shareUrlId: string;
790
+ /** Information about the development version of the app to install. Only relevant if the share URL refers to a development version of an app created in the Wix CLI. */
791
+ devVersion?: DevVersionInstallation;
792
+ }
793
+ /**
794
+ * Returns whether it's possible to install an app on a tenant, either by providing app instance details or using a share URL.
795
+ * @param installType - Installation type.
796
+ * @public
797
+ * @documentationMaturity preview
798
+ * @requiredField installType
799
+ * @requiredField options
800
+ * @requiredField options.options
801
+ * @requiredField options.options.appsInstallOptions.tenant
802
+ * @requiredField options.options.appsInstallOptions.tenant._id
803
+ * @requiredField options.options.shareUrlInstallOptions.shareUrlId
804
+ * @permissionId DEV_CENTER.WRITE_APP
805
+ * @permissionId APPS_INSTALLER.INSTALL_SITE_LEVEL
806
+ * @permissionId APPS_INSTALLER.INSTALL_ACCOUNT_LEVEL
807
+ * @fqn wix.devcenter.apps.installer.v1.AppsInstallerService.IsPermittedToInstallApps
808
+ */
809
+ declare function isPermittedToInstallApps(installType: InstallTypeWithLiterals, options: IsPermittedToInstallAppsOptions): Promise<NonNullablePaths<IsPermittedToInstallAppsResponse, `permitted`> & {
810
+ __applicationErrorsType?: IsPermittedToInstallAppsApplicationErrors;
811
+ }>;
812
+ interface IsPermittedToInstallAppsOptions extends IsPermittedToInstallAppsOptionsOptionsOneOf {
813
+ /** Install the app using app instance details. */
814
+ appsInstallOptions?: AppsInstallOptions;
815
+ /** Install an app using a share URL. */
816
+ shareUrlInstallOptions?: ShareUrlInstallOptions;
817
+ }
818
+ /** @oneof */
819
+ interface IsPermittedToInstallAppsOptionsOptionsOneOf {
820
+ /** Install the app using app instance details. */
821
+ appsInstallOptions?: AppsInstallOptions;
822
+ /** Install an app using a share URL. */
823
+ shareUrlInstallOptions?: ShareUrlInstallOptions;
824
+ }
825
+ /**
826
+ * Returns the apps that are installed on the site in context
827
+ * @public
828
+ * @documentationMaturity preview
829
+ * @permissionId APP-MARKET.VIEW-INSTALLED-APP
830
+ * @applicableIdentity APP
831
+ * @fqn wix.devcenter.apps.installer.v1.AppsInstallerService.GetInstalledApps
832
+ */
833
+ declare function getInstalledApps(): Promise<NonNullablePaths<GetInstalledAppsResponse, {
834
+ [P in AppInstanceNonNullablePaths]: `appInstances.${number}.${P}`;
835
+ }[AppInstanceNonNullablePaths]>>;
836
+
837
+ export { type ActionEvent, type AppInstalledOnTenant, type AppInstance, type AppInstanceAppInstalledOnTenantEnvelope, type ApplicationError, type AppsInstallOptions, type BaseEventMetadata, type BulkActionMetadata, type BulkInstallAppRequest, type BulkInstallAppResponse, type BulkInstallAppResult, type BulkUninstallAppOptions, type BulkUninstallAppRequest, type BulkUninstallAppResponse, type BulkUninstallAppResult, type ClientSpec, type ClientSpecMap, type DevVersionInstallation, type DomainEvent, type DomainEventBodyOneOf, type Empty, type EntityCreatedEvent, type EntityDeletedEvent, type EntityUpdatedEvent, type EventMetadata, type GetInstalledAppsRequest, type GetInstalledAppsResponse, type GluedOptions, type GluedWidget, type IdentificationData, type IdentificationDataIdOneOf, type InstallAppApplicationErrors, type InstallAppFromShareUrlApplicationErrors, type InstallAppFromShareUrlOptions, type InstallAppFromShareUrlRequest, type InstallAppFromShareUrlResponse, type InstallAppOptions, type InstallAppRequest, type InstallAppResponse, type InstallDefaultAppsEvent, InstallType, type InstallTypeWithLiterals, type IsPermittedToInstallAppsApplicationErrors, type IsPermittedToInstallAppsOptions, type IsPermittedToInstallAppsOptionsOptionsOneOf, type IsPermittedToInstallAppsRequest, type IsPermittedToInstallAppsRequestOptionsOneOf, type IsPermittedToInstallAppsResponse, type ItemMetadata, type LegacyParams, type ListAppInstancesRequest, type ListAppInstancesResponse, type MessageEnvelope, RequestedFields, type RequestedFieldsWithLiterals, type RestoreInfo, type ShareUrlInstallOptions, Status, type StatusWithLiterals, type TPAAppPage, type TPAAppRequirements, type TPAPermissions, type TPASettingsClientSpec, type TPAWidgetPosition, type Tenant, TenantType, type TenantTypeWithLiterals, type UninstallAppOptions, type UninstallAppRequest, type UninstallAppResponse, WebhookIdentityType, type WebhookIdentityTypeWithLiterals, type Widget, bulkUninstallApp, getInstalledApps, installApp, installAppFromShareUrl, isPermittedToInstallApps, onAppInstanceAppInstalledOnTenant, uninstallApp };