@wix/auto_sdk_restaurants_menus 1.0.96 → 1.0.97

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.
@@ -266,455 +266,166 @@ interface ExternalReferenceInfo {
266
266
  /** Whether the connection to the external system is currently active. */
267
267
  connected?: boolean | null;
268
268
  }
269
- interface DuplicateMenuRequest {
269
+ interface InvalidateCache extends InvalidateCacheGetByOneOf {
270
270
  /**
271
- * Menu id to be duplicated.
271
+ * Invalidate by msId. NOT recommended, as this will invalidate the entire site cache!
272
272
  * @format GUID
273
273
  */
274
- _id: string;
274
+ metaSiteId?: string;
275
275
  /**
276
- * Business location ids to duplicate the menu to.
276
+ * Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache!
277
277
  * @format GUID
278
- * @maxSize 100
279
- */
280
- businessLocationIds?: string[] | null;
281
- /** Indicates whether sub-entities (such as items) should be duplicated as well. */
282
- duplicateSubEntities?: boolean | null;
283
- /**
284
- * The new name of the duplicated menu.
285
- * @maxLength 500
286
- */
287
- menuName?: string | null;
288
- }
289
- interface DuplicateMenuResponse {
290
- /** @format GUID */
291
- menuIds?: string[];
292
- }
293
- interface DomainEvent extends DomainEventBodyOneOf {
294
- createdEvent?: EntityCreatedEvent;
295
- updatedEvent?: EntityUpdatedEvent;
296
- deletedEvent?: EntityDeletedEvent;
297
- actionEvent?: ActionEvent;
298
- /** Event ID. With this ID you can easily spot duplicated events and ignore them. */
299
- _id?: string;
300
- /**
301
- * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.
302
- * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.
303
- */
304
- entityFqdn?: string;
305
- /**
306
- * Event action name, placed at the top level to make it easier for users to dispatch messages.
307
- * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.
308
278
  */
309
- slug?: string;
310
- /** ID of the entity associated with the event. */
311
- entityId?: string;
312
- /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */
313
- eventTime?: Date | null;
279
+ siteId?: string;
280
+ /** Invalidate by App */
281
+ app?: App;
282
+ /** Invalidate by page id */
283
+ page?: Page;
284
+ /** Invalidate by URI path */
285
+ uri?: URI;
286
+ /** Invalidate by file (for media files such as PDFs) */
287
+ file?: File;
288
+ /** Invalidate by custom tag. Tags used in BO invalidation are disabled for this endpoint (more info: https://wix-bo.com/dev/clear-ssr-cache) */
289
+ customTag?: CustomTag;
290
+ /** Invalidate by multiple page ids */
291
+ pages?: Pages;
292
+ /** Invalidate by multiple URI paths */
293
+ uris?: URIs;
314
294
  /**
315
- * Whether the event was triggered as a result of a privacy regulation application
316
- * (for example, GDPR).
295
+ * tell us why you're invalidating the cache. You don't need to add your app name
296
+ * @maxLength 256
317
297
  */
318
- triggeredByAnonymizeRequest?: boolean | null;
319
- /** If present, indicates the action that triggered the event. */
320
- originatedFrom?: string | null;
298
+ reason?: string | null;
299
+ /** Is local DS */
300
+ localDc?: boolean;
301
+ hardPurge?: boolean;
321
302
  /**
322
- * 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.
323
- * 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.
303
+ * Optional caller-provided ID for tracking this invalidation through the system.
304
+ * When set, the corresponding CDN purge completion event will include this ID,
305
+ * allowing you to confirm when the invalidation has fully propagated.
306
+ * Example: generate a UUID, pass it here, and later match it in the CDN purge completion event.
307
+ * @maxLength 256
324
308
  */
325
- entityEventSequence?: string | null;
309
+ correlationId?: string | null;
326
310
  }
327
311
  /** @oneof */
328
- interface DomainEventBodyOneOf {
329
- createdEvent?: EntityCreatedEvent;
330
- updatedEvent?: EntityUpdatedEvent;
331
- deletedEvent?: EntityDeletedEvent;
332
- actionEvent?: ActionEvent;
333
- }
334
- interface EntityCreatedEvent {
335
- entity?: string;
336
- }
337
- interface RestoreInfo {
338
- deletedDate?: Date | null;
339
- }
340
- interface EntityUpdatedEvent {
341
- /**
342
- * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.
343
- * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.
344
- * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.
345
- */
346
- currentEntity?: string;
347
- }
348
- interface EntityDeletedEvent {
349
- /** Entity that was deleted. */
350
- deletedEntity?: string | null;
351
- }
352
- interface ActionEvent {
353
- body?: string;
354
- }
355
- interface MessageEnvelope {
312
+ interface InvalidateCacheGetByOneOf {
356
313
  /**
357
- * App instance ID.
314
+ * Invalidate by msId. NOT recommended, as this will invalidate the entire site cache!
358
315
  * @format GUID
359
316
  */
360
- instanceId?: string | null;
317
+ metaSiteId?: string;
361
318
  /**
362
- * Event type.
363
- * @maxLength 150
319
+ * Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache!
320
+ * @format GUID
364
321
  */
365
- eventType?: string;
366
- /** The identification type and identity data. */
367
- identity?: IdentificationData;
368
- /** Stringify payload. */
369
- data?: string;
370
- /** Details related to the account */
371
- accountInfo?: AccountInfo;
322
+ siteId?: string;
323
+ /** Invalidate by App */
324
+ app?: App;
325
+ /** Invalidate by page id */
326
+ page?: Page;
327
+ /** Invalidate by URI path */
328
+ uri?: URI;
329
+ /** Invalidate by file (for media files such as PDFs) */
330
+ file?: File;
331
+ /** Invalidate by custom tag. Tags used in BO invalidation are disabled for this endpoint (more info: https://wix-bo.com/dev/clear-ssr-cache) */
332
+ customTag?: CustomTag;
333
+ /** Invalidate by multiple page ids */
334
+ pages?: Pages;
335
+ /** Invalidate by multiple URI paths */
336
+ uris?: URIs;
372
337
  }
373
- interface IdentificationData extends IdentificationDataIdOneOf {
338
+ interface App {
374
339
  /**
375
- * ID of a site visitor that has not logged in to the site.
376
- * @format GUID
340
+ * The AppDefId
341
+ * @minLength 1
377
342
  */
378
- anonymousVisitorId?: string;
343
+ appDefId?: string;
379
344
  /**
380
- * ID of a site visitor that has logged in to the site.
345
+ * The instance Id
381
346
  * @format GUID
382
347
  */
383
- memberId?: string;
348
+ instanceId?: string;
349
+ }
350
+ interface Page {
384
351
  /**
385
- * ID of a Wix user (site owner, contributor, etc.).
352
+ * the msid the page is on
386
353
  * @format GUID
387
354
  */
388
- wixUserId?: string;
355
+ metaSiteId?: string;
389
356
  /**
390
- * ID of an app.
391
- * @format GUID
357
+ * Invalidate by Page ID
358
+ * @minLength 1
392
359
  */
393
- appId?: string;
394
- /** @readonly */
395
- identityType?: WebhookIdentityTypeWithLiterals;
360
+ pageId?: string;
396
361
  }
397
- /** @oneof */
398
- interface IdentificationDataIdOneOf {
362
+ interface URI {
399
363
  /**
400
- * ID of a site visitor that has not logged in to the site.
364
+ * the msid the URI is on
401
365
  * @format GUID
402
366
  */
403
- anonymousVisitorId?: string;
367
+ metaSiteId?: string;
404
368
  /**
405
- * ID of a site visitor that has logged in to the site.
406
- * @format GUID
369
+ * URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes
370
+ * @minLength 1
407
371
  */
408
- memberId?: string;
372
+ uriPath?: string;
373
+ }
374
+ interface File {
409
375
  /**
410
- * ID of a Wix user (site owner, contributor, etc.).
376
+ * the msid the file is related to
411
377
  * @format GUID
412
378
  */
413
- wixUserId?: string;
379
+ metaSiteId?: string;
414
380
  /**
415
- * ID of an app.
416
- * @format GUID
381
+ * Invalidate by filename (for media files such as PDFs)
382
+ * @minLength 1
383
+ * @maxLength 256
417
384
  */
418
- appId?: string;
419
- }
420
- declare enum WebhookIdentityType {
421
- UNKNOWN = "UNKNOWN",
422
- ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR",
423
- MEMBER = "MEMBER",
424
- WIX_USER = "WIX_USER",
425
- APP = "APP"
385
+ fileName?: string;
426
386
  }
427
- /** @enumType */
428
- type WebhookIdentityTypeWithLiterals = WebhookIdentityType | 'UNKNOWN' | 'ANONYMOUS_VISITOR' | 'MEMBER' | 'WIX_USER' | 'APP';
429
- interface AccountInfo {
387
+ interface CustomTag {
430
388
  /**
431
- * ID of the Wix account associated with the event.
389
+ * the msid the tag is related to
432
390
  * @format GUID
433
391
  */
434
- accountId?: string | null;
392
+ metaSiteId?: string;
435
393
  /**
436
- * ID of the parent Wix account. Only included when accountId belongs to a child account.
437
- * @format GUID
394
+ * Tag to invalidate by
395
+ * @minLength 1
396
+ * @maxLength 256
438
397
  */
439
- parentAccountId?: string | null;
398
+ tag?: string;
399
+ }
400
+ interface Pages {
440
401
  /**
441
- * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.
402
+ * the msid the pages are on
442
403
  * @format GUID
443
404
  */
444
- siteId?: string | null;
405
+ metaSiteId?: string;
406
+ /**
407
+ * Invalidate by multiple Page IDs in a single message
408
+ * @maxSize 100
409
+ * @minLength 1
410
+ */
411
+ pageIds?: string[];
445
412
  }
446
- interface GetMenuSiteUrlRequest {
413
+ interface URIs {
447
414
  /**
448
- * Menu ID.
415
+ * the msid the URIs are on
449
416
  * @format GUID
450
- * @readonly
451
417
  */
452
- _id: string | null;
453
- }
454
- interface GetMenuSiteUrlResponse {
455
- /** Retrieved menuInfo with path url. */
456
- menuSiteUrl?: MenuSiteUrl;
457
- }
458
- interface MenuSiteUrl {
418
+ metaSiteId?: string;
459
419
  /**
460
- * Path URL.
420
+ * URI paths to invalidate (e.g. page/my/path) - without leading/trailing slashes
421
+ * @maxSize 100
461
422
  * @minLength 1
462
- * @maxLength 1000
463
423
  */
464
- path?: string;
424
+ uriPaths?: string[];
465
425
  }
466
- interface QueryMenusSiteUrlRequest {
467
- /** Query options */
468
- query?: CursorQuery;
469
- }
470
- interface CursorQuery extends CursorQueryPagingMethodOneOf {
471
- /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */
472
- cursorPaging?: CursorPaging;
473
- /**
474
- * Filter object in the following format:
475
- * `"filter" : {
476
- * "fieldName1": "value1",
477
- * "fieldName2":{"$operator":"value2"}
478
- * }`
479
- * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`
480
- */
481
- filter?: Record<string, any> | null;
482
- /**
483
- * Sort object in the following format:
484
- * `[{"fieldName":"sortField1","order":"ASC"},{"fieldName":"sortField2","order":"DESC"}]`
485
- */
486
- sort?: Sorting[];
487
- }
488
- /** @oneof */
489
- interface CursorQueryPagingMethodOneOf {
490
- /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */
491
- cursorPaging?: CursorPaging;
492
- }
493
- interface Sorting {
494
- /**
495
- * Name of the field to sort by.
496
- * @maxLength 512
497
- */
498
- fieldName?: string;
499
- /** Sort order. */
500
- order?: SortOrderWithLiterals;
501
- /**
502
- * Origin point for geo-distance sorting on a GEO field
503
- * results are ordered by distance from this point (ASC = nearest first, DESC = farthest first).
504
- */
505
- origin?: AddressLocation;
506
- }
507
- declare enum SortOrder {
508
- ASC = "ASC",
509
- DESC = "DESC"
510
- }
511
- /** @enumType */
512
- type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC';
513
- interface AddressLocation {
514
- /** Address latitude. */
515
- latitude?: number | null;
516
- /** Address longitude. */
517
- longitude?: number | null;
518
- }
519
- interface CursorPaging {
520
- /**
521
- * Number of items to load.
522
- * @max 500
523
- */
524
- limit?: number | null;
525
- /**
526
- * Pointer to the next or previous page in the list of results.
527
- *
528
- * You can get the relevant cursor token
529
- * from the `pagingMetadata` object in the previous call's response.
530
- * Not relevant for the first request.
531
- */
532
- cursor?: string | null;
533
- }
534
- interface QueryMenusSiteUrlResponse {
535
- /** Retrieved menuInfos with path urls. */
536
- menuSiteUrls?: MenuSiteUrl[];
537
- /** The metadata of the paginated results. */
538
- pagingMetadata?: CursorPagingMetadata;
539
- }
540
- interface CursorPagingMetadata {
541
- /** Number of items returned in the response. */
542
- count?: number | null;
543
- /** Offset that was requested. */
544
- cursors?: Cursors;
545
- /**
546
- * Indicates if there are more results after the current page.
547
- * If `true`, another page of results can be retrieved.
548
- * If `false`, this is the last page.
549
- */
550
- hasNext?: boolean | null;
551
- }
552
- interface Cursors {
553
- /** Cursor pointing to next page in the list of results. */
554
- next?: string | null;
555
- /** Cursor pointing to previous page in the list of results. */
556
- prev?: string | null;
557
- }
558
- interface InvalidateCache extends InvalidateCacheGetByOneOf {
559
- /**
560
- * Invalidate by msId. NOT recommended, as this will invalidate the entire site cache!
561
- * @format GUID
562
- */
563
- metaSiteId?: string;
564
- /**
565
- * Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache!
566
- * @format GUID
567
- */
568
- siteId?: string;
569
- /** Invalidate by App */
570
- app?: App;
571
- /** Invalidate by page id */
572
- page?: Page;
573
- /** Invalidate by URI path */
574
- uri?: URI;
575
- /** Invalidate by file (for media files such as PDFs) */
576
- file?: File;
577
- /** Invalidate by custom tag. Tags used in BO invalidation are disabled for this endpoint (more info: https://wix-bo.com/dev/clear-ssr-cache) */
578
- customTag?: CustomTag;
579
- /** Invalidate by multiple page ids */
580
- pages?: Pages;
581
- /** Invalidate by multiple URI paths */
582
- uris?: URIs;
583
- /**
584
- * tell us why you're invalidating the cache. You don't need to add your app name
585
- * @maxLength 256
586
- */
587
- reason?: string | null;
588
- /** Is local DS */
589
- localDc?: boolean;
590
- hardPurge?: boolean;
591
- /**
592
- * Optional caller-provided ID for tracking this invalidation through the system.
593
- * When set, the corresponding CDN purge completion event will include this ID,
594
- * allowing you to confirm when the invalidation has fully propagated.
595
- * Example: generate a UUID, pass it here, and later match it in the CDN purge completion event.
596
- * @maxLength 256
597
- */
598
- correlationId?: string | null;
599
- }
600
- /** @oneof */
601
- interface InvalidateCacheGetByOneOf {
602
- /**
603
- * Invalidate by msId. NOT recommended, as this will invalidate the entire site cache!
604
- * @format GUID
605
- */
606
- metaSiteId?: string;
607
- /**
608
- * Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache!
609
- * @format GUID
610
- */
611
- siteId?: string;
612
- /** Invalidate by App */
613
- app?: App;
614
- /** Invalidate by page id */
615
- page?: Page;
616
- /** Invalidate by URI path */
617
- uri?: URI;
618
- /** Invalidate by file (for media files such as PDFs) */
619
- file?: File;
620
- /** Invalidate by custom tag. Tags used in BO invalidation are disabled for this endpoint (more info: https://wix-bo.com/dev/clear-ssr-cache) */
621
- customTag?: CustomTag;
622
- /** Invalidate by multiple page ids */
623
- pages?: Pages;
624
- /** Invalidate by multiple URI paths */
625
- uris?: URIs;
626
- }
627
- interface App {
628
- /**
629
- * The AppDefId
630
- * @minLength 1
631
- */
632
- appDefId?: string;
633
- /**
634
- * The instance Id
635
- * @format GUID
636
- */
637
- instanceId?: string;
638
- }
639
- interface Page {
640
- /**
641
- * the msid the page is on
642
- * @format GUID
643
- */
644
- metaSiteId?: string;
645
- /**
646
- * Invalidate by Page ID
647
- * @minLength 1
648
- */
649
- pageId?: string;
650
- }
651
- interface URI {
652
- /**
653
- * the msid the URI is on
654
- * @format GUID
655
- */
656
- metaSiteId?: string;
657
- /**
658
- * URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes
659
- * @minLength 1
660
- */
661
- uriPath?: string;
662
- }
663
- interface File {
664
- /**
665
- * the msid the file is related to
666
- * @format GUID
667
- */
668
- metaSiteId?: string;
669
- /**
670
- * Invalidate by filename (for media files such as PDFs)
671
- * @minLength 1
672
- * @maxLength 256
673
- */
674
- fileName?: string;
675
- }
676
- interface CustomTag {
677
- /**
678
- * the msid the tag is related to
679
- * @format GUID
680
- */
681
- metaSiteId?: string;
682
- /**
683
- * Tag to invalidate by
684
- * @minLength 1
685
- * @maxLength 256
686
- */
687
- tag?: string;
688
- }
689
- interface Pages {
690
- /**
691
- * the msid the pages are on
692
- * @format GUID
693
- */
694
- metaSiteId?: string;
695
- /**
696
- * Invalidate by multiple Page IDs in a single message
697
- * @maxSize 100
698
- * @minLength 1
699
- */
700
- pageIds?: string[];
701
- }
702
- interface URIs {
703
- /**
704
- * the msid the URIs are on
705
- * @format GUID
706
- */
707
- metaSiteId?: string;
708
- /**
709
- * URI paths to invalidate (e.g. page/my/path) - without leading/trailing slashes
710
- * @maxSize 100
711
- * @minLength 1
712
- */
713
- uriPaths?: string[];
714
- }
715
- interface DeleteOrphanSections {
716
- /** Menu id */
717
- menuId?: string;
426
+ interface DeleteOrphanSections {
427
+ /** Menu id */
428
+ menuId?: string;
718
429
  }
719
430
  interface MenusDataCloningCompleted {
720
431
  }
@@ -796,16 +507,98 @@ interface ListMenusRequest {
796
507
  /** Whether to return only menus that are visible to site visitors. */
797
508
  onlyVisible?: boolean | null;
798
509
  }
510
+ interface CursorPaging {
511
+ /**
512
+ * Number of items to load.
513
+ * @max 500
514
+ */
515
+ limit?: number | null;
516
+ /**
517
+ * Pointer to the next or previous page in the list of results.
518
+ *
519
+ * You can get the relevant cursor token
520
+ * from the `pagingMetadata` object in the previous call's response.
521
+ * Not relevant for the first request.
522
+ */
523
+ cursor?: string | null;
524
+ }
799
525
  interface ListMenusResponse {
800
526
  /** Retrieved menus. */
801
527
  menus?: Menu[];
802
528
  /** The metadata of the paginated results. */
803
529
  pagingMetadata?: CursorPagingMetadata;
804
530
  }
531
+ interface CursorPagingMetadata {
532
+ /** Number of items returned in the response. */
533
+ count?: number | null;
534
+ /** Offset that was requested. */
535
+ cursors?: Cursors;
536
+ /**
537
+ * Indicates if there are more results after the current page.
538
+ * If `true`, another page of results can be retrieved.
539
+ * If `false`, this is the last page.
540
+ */
541
+ hasNext?: boolean | null;
542
+ }
543
+ interface Cursors {
544
+ /** Cursor pointing to next page in the list of results. */
545
+ next?: string | null;
546
+ /** Cursor pointing to previous page in the list of results. */
547
+ prev?: string | null;
548
+ }
805
549
  interface QueryMenusRequest {
806
550
  /** Query options. */
807
551
  query?: CursorQuery;
808
552
  }
553
+ interface CursorQuery extends CursorQueryPagingMethodOneOf {
554
+ /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */
555
+ cursorPaging?: CursorPaging;
556
+ /**
557
+ * Filter object in the following format:
558
+ * `"filter" : {
559
+ * "fieldName1": "value1",
560
+ * "fieldName2":{"$operator":"value2"}
561
+ * }`
562
+ * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`
563
+ */
564
+ filter?: Record<string, any> | null;
565
+ /**
566
+ * Sort object in the following format:
567
+ * `[{"fieldName":"sortField1","order":"ASC"},{"fieldName":"sortField2","order":"DESC"}]`
568
+ */
569
+ sort?: Sorting[];
570
+ }
571
+ /** @oneof */
572
+ interface CursorQueryPagingMethodOneOf {
573
+ /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */
574
+ cursorPaging?: CursorPaging;
575
+ }
576
+ interface Sorting {
577
+ /**
578
+ * Name of the field to sort by.
579
+ * @maxLength 512
580
+ */
581
+ fieldName?: string;
582
+ /** Sort order. */
583
+ order?: SortOrderWithLiterals;
584
+ /**
585
+ * Origin point for geo-distance sorting on a GEO field
586
+ * results are ordered by distance from this point (ASC = nearest first, DESC = farthest first).
587
+ */
588
+ origin?: AddressLocation;
589
+ }
590
+ declare enum SortOrder {
591
+ ASC = "ASC",
592
+ DESC = "DESC"
593
+ }
594
+ /** @enumType */
595
+ type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC';
596
+ interface AddressLocation {
597
+ /** Address latitude. */
598
+ latitude?: number | null;
599
+ /** Address longitude. */
600
+ longitude?: number | null;
601
+ }
809
602
  interface QueryMenusResponse {
810
603
  /** Retrieved menus. */
811
604
  menus?: Menu[];
@@ -822,97 +615,304 @@ interface UpdateMenuResponse {
822
615
  }
823
616
  interface BulkUpdateMenuRequest {
824
617
  /**
825
- * Menus to update.
826
- * @minSize 1
827
- * @maxSize 100
618
+ * Menus to update.
619
+ * @minSize 1
620
+ * @maxSize 100
621
+ */
622
+ menus: MaskedMenu[];
623
+ /** Whether to receive the entity in the response. */
624
+ returnEntity?: boolean;
625
+ }
626
+ interface MaskedMenu {
627
+ /** Menu to updated. */
628
+ menu?: Menu;
629
+ /** Explicit list of fields to update. */
630
+ mask?: string[];
631
+ }
632
+ interface BulkUpdateMenuResponse {
633
+ /**
634
+ * Results of bulk menu update.
635
+ * @minSize 1
636
+ * @maxSize 100
637
+ */
638
+ results?: BulkMenuResult[];
639
+ /** Metadata for the API call. */
640
+ bulkActionMetadata?: BulkActionMetadata;
641
+ }
642
+ interface BulkMenuResult {
643
+ /** Metadata for menu update. */
644
+ menuMetadata?: ItemMetadata;
645
+ /** Updated menu. Only returned if `returnEntity` is set to `true`. */
646
+ menu?: Menu;
647
+ }
648
+ interface UpdateExtendedFieldsRequest {
649
+ /** ID of the entity to update. */
650
+ _id: string;
651
+ /** Identifier for the app whose extended fields are being updated. */
652
+ namespace: string;
653
+ /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */
654
+ namespaceData: Record<string, any> | null;
655
+ }
656
+ interface UpdateExtendedFieldsResponse {
657
+ /** Namespace of the app. */
658
+ namespace?: string;
659
+ /** Updated extended fields data. */
660
+ namespaceData?: Record<string, any> | null;
661
+ }
662
+ interface DeleteMenuRequest {
663
+ /**
664
+ * Menu ID.
665
+ * @format GUID
666
+ */
667
+ menuId: string;
668
+ }
669
+ interface DeleteMenuResponse {
670
+ }
671
+ interface RunMenusMultiLocationMigrationRequest {
672
+ /**
673
+ * business location id
674
+ * @format GUID
675
+ */
676
+ businessLocationId?: string;
677
+ }
678
+ interface RunMenusMultiLocationMigrationResponse {
679
+ /** Whether menus multi-location migration finished successfully */
680
+ success?: boolean;
681
+ }
682
+ interface UpdateBusinessLocationIdRequest {
683
+ /** @format GUID */
684
+ menuId?: string;
685
+ /** @format GUID */
686
+ businessLocationId?: string | null;
687
+ }
688
+ interface UpdateBusinessLocationIdResponse {
689
+ }
690
+ interface CloneMenusRequest {
691
+ /**
692
+ * The MetaSiteId to clone from.
693
+ * @format GUID
694
+ */
695
+ metaSiteId?: string;
696
+ }
697
+ interface CloneMenusResponse {
698
+ }
699
+ interface DomainEvent extends DomainEventBodyOneOf {
700
+ createdEvent?: EntityCreatedEvent;
701
+ updatedEvent?: EntityUpdatedEvent;
702
+ deletedEvent?: EntityDeletedEvent;
703
+ actionEvent?: ActionEvent;
704
+ /** Event ID. With this ID you can easily spot duplicated events and ignore them. */
705
+ _id?: string;
706
+ /**
707
+ * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.
708
+ * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.
709
+ */
710
+ entityFqdn?: string;
711
+ /**
712
+ * Event action name, placed at the top level to make it easier for users to dispatch messages.
713
+ * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.
714
+ */
715
+ slug?: string;
716
+ /** ID of the entity associated with the event. */
717
+ entityId?: string;
718
+ /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */
719
+ eventTime?: Date | null;
720
+ /**
721
+ * Whether the event was triggered as a result of a privacy regulation application
722
+ * (for example, GDPR).
723
+ */
724
+ triggeredByAnonymizeRequest?: boolean | null;
725
+ /** If present, indicates the action that triggered the event. */
726
+ originatedFrom?: string | null;
727
+ /**
728
+ * 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.
729
+ * 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.
730
+ */
731
+ entityEventSequence?: string | null;
732
+ }
733
+ /** @oneof */
734
+ interface DomainEventBodyOneOf {
735
+ createdEvent?: EntityCreatedEvent;
736
+ updatedEvent?: EntityUpdatedEvent;
737
+ deletedEvent?: EntityDeletedEvent;
738
+ actionEvent?: ActionEvent;
739
+ }
740
+ interface EntityCreatedEvent {
741
+ entity?: string;
742
+ }
743
+ interface RestoreInfo {
744
+ deletedDate?: Date | null;
745
+ }
746
+ interface EntityUpdatedEvent {
747
+ /**
748
+ * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.
749
+ * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.
750
+ * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.
751
+ */
752
+ currentEntity?: string;
753
+ }
754
+ interface EntityDeletedEvent {
755
+ /** Entity that was deleted. */
756
+ deletedEntity?: string | null;
757
+ }
758
+ interface ActionEvent {
759
+ body?: string;
760
+ }
761
+ interface Empty {
762
+ }
763
+ interface SyncContentToMultilingualRequest {
764
+ /**
765
+ * MetaSite ID
766
+ * @format GUID
767
+ */
768
+ metaSiteId?: string;
769
+ }
770
+ interface SyncContentToMultilingualResponse {
771
+ }
772
+ interface MessageEnvelope {
773
+ /**
774
+ * App instance ID.
775
+ * @format GUID
776
+ */
777
+ instanceId?: string | null;
778
+ /**
779
+ * Event type.
780
+ * @maxLength 150
781
+ */
782
+ eventType?: string;
783
+ /** The identification type and identity data. */
784
+ identity?: IdentificationData;
785
+ /** Stringify payload. */
786
+ data?: string;
787
+ /** Details related to the account */
788
+ accountInfo?: AccountInfo;
789
+ }
790
+ interface IdentificationData extends IdentificationDataIdOneOf {
791
+ /**
792
+ * ID of a site visitor that has not logged in to the site.
793
+ * @format GUID
794
+ */
795
+ anonymousVisitorId?: string;
796
+ /**
797
+ * ID of a site visitor that has logged in to the site.
798
+ * @format GUID
799
+ */
800
+ memberId?: string;
801
+ /**
802
+ * ID of a Wix user (site owner, contributor, etc.).
803
+ * @format GUID
804
+ */
805
+ wixUserId?: string;
806
+ /**
807
+ * ID of an app.
808
+ * @format GUID
809
+ */
810
+ appId?: string;
811
+ /** @readonly */
812
+ identityType?: WebhookIdentityTypeWithLiterals;
813
+ }
814
+ /** @oneof */
815
+ interface IdentificationDataIdOneOf {
816
+ /**
817
+ * ID of a site visitor that has not logged in to the site.
818
+ * @format GUID
819
+ */
820
+ anonymousVisitorId?: string;
821
+ /**
822
+ * ID of a site visitor that has logged in to the site.
823
+ * @format GUID
824
+ */
825
+ memberId?: string;
826
+ /**
827
+ * ID of a Wix user (site owner, contributor, etc.).
828
+ * @format GUID
828
829
  */
829
- menus: MaskedMenu[];
830
- /** Whether to receive the entity in the response. */
831
- returnEntity?: boolean;
832
- }
833
- interface MaskedMenu {
834
- /** Menu to updated. */
835
- menu?: Menu;
836
- /** Explicit list of fields to update. */
837
- mask?: string[];
838
- }
839
- interface BulkUpdateMenuResponse {
830
+ wixUserId?: string;
840
831
  /**
841
- * Results of bulk menu update.
842
- * @minSize 1
843
- * @maxSize 100
832
+ * ID of an app.
833
+ * @format GUID
844
834
  */
845
- results?: BulkMenuResult[];
846
- /** Metadata for the API call. */
847
- bulkActionMetadata?: BulkActionMetadata;
848
- }
849
- interface BulkMenuResult {
850
- /** Metadata for menu update. */
851
- menuMetadata?: ItemMetadata;
852
- /** Updated menu. Only returned if `returnEntity` is set to `true`. */
853
- menu?: Menu;
854
- }
855
- interface UpdateExtendedFieldsRequest {
856
- /** ID of the entity to update. */
857
- _id: string;
858
- /** Identifier for the app whose extended fields are being updated. */
859
- namespace: string;
860
- /** Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured. */
861
- namespaceData: Record<string, any> | null;
835
+ appId?: string;
862
836
  }
863
- interface UpdateExtendedFieldsResponse {
864
- /** Namespace of the app. */
865
- namespace?: string;
866
- /** Updated extended fields data. */
867
- namespaceData?: Record<string, any> | null;
837
+ declare enum WebhookIdentityType {
838
+ UNKNOWN = "UNKNOWN",
839
+ ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR",
840
+ MEMBER = "MEMBER",
841
+ WIX_USER = "WIX_USER",
842
+ APP = "APP"
868
843
  }
869
- interface DeleteMenuRequest {
844
+ /** @enumType */
845
+ type WebhookIdentityTypeWithLiterals = WebhookIdentityType | 'UNKNOWN' | 'ANONYMOUS_VISITOR' | 'MEMBER' | 'WIX_USER' | 'APP';
846
+ interface AccountInfo {
870
847
  /**
871
- * Menu ID.
848
+ * ID of the Wix account associated with the event.
872
849
  * @format GUID
873
850
  */
874
- menuId: string;
875
- }
876
- interface DeleteMenuResponse {
877
- }
878
- interface RunMenusMultiLocationMigrationRequest {
851
+ accountId?: string | null;
879
852
  /**
880
- * business location id
853
+ * ID of the parent Wix account. Only included when accountId belongs to a child account.
881
854
  * @format GUID
882
855
  */
883
- businessLocationId?: string;
856
+ parentAccountId?: string | null;
857
+ /**
858
+ * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.
859
+ * @format GUID
860
+ */
861
+ siteId?: string | null;
884
862
  }
885
- interface RunMenusMultiLocationMigrationResponse {
886
- /** Whether menus multi-location migration finished successfully */
887
- success?: boolean;
863
+ interface DuplicateMenuRequest {
864
+ /**
865
+ * Menu id to be duplicated.
866
+ * @format GUID
867
+ */
868
+ _id: string;
869
+ /**
870
+ * Business location ids to duplicate the menu to.
871
+ * @format GUID
872
+ * @maxSize 100
873
+ */
874
+ businessLocationIds?: string[] | null;
875
+ /** Indicates whether sub-entities (such as items) should be duplicated as well. */
876
+ duplicateSubEntities?: boolean | null;
877
+ /**
878
+ * The new name of the duplicated menu.
879
+ * @maxLength 500
880
+ */
881
+ menuName?: string | null;
888
882
  }
889
- interface UpdateBusinessLocationIdRequest {
890
- /** @format GUID */
891
- menuId?: string;
883
+ interface DuplicateMenuResponse {
892
884
  /** @format GUID */
893
- businessLocationId?: string | null;
894
- }
895
- interface UpdateBusinessLocationIdResponse {
885
+ menuIds?: string[];
896
886
  }
897
- interface CloneMenusRequest {
887
+ interface GetMenuSiteUrlRequest {
898
888
  /**
899
- * The MetaSiteId to clone from.
889
+ * Menu ID.
900
890
  * @format GUID
891
+ * @readonly
901
892
  */
902
- metaSiteId?: string;
903
- }
904
- interface CloneMenusResponse {
893
+ _id: string | null;
905
894
  }
906
- interface Empty {
895
+ interface GetMenuSiteUrlResponse {
896
+ /** Retrieved menuInfo with path url. */
897
+ menuSiteUrl?: MenuSiteUrl;
907
898
  }
908
- interface SyncContentToMultilingualRequest {
899
+ interface MenuSiteUrl {
909
900
  /**
910
- * MetaSite ID
911
- * @format GUID
901
+ * Path URL.
902
+ * @minLength 1
903
+ * @maxLength 1000
912
904
  */
913
- metaSiteId?: string;
905
+ path?: string;
914
906
  }
915
- interface SyncContentToMultilingualResponse {
907
+ interface QueryMenusSiteUrlRequest {
908
+ /** Query options */
909
+ query?: CursorQuery;
910
+ }
911
+ interface QueryMenusSiteUrlResponse {
912
+ /** Retrieved menuInfos with path urls. */
913
+ menuSiteUrls?: MenuSiteUrl[];
914
+ /** The metadata of the paginated results. */
915
+ pagingMetadata?: CursorPagingMetadata;
916
916
  }
917
917
  interface BaseEventMetadata {
918
918
  /**
@@ -969,21 +969,6 @@ interface AccountInfoMetadata {
969
969
  /** ID of the parent Wix account. Only included when 'accountId' belongs to a child account. */
970
970
  parentAccountId?: string;
971
971
  }
972
- interface MenuUpdatedEnvelope {
973
- entity: Menu;
974
- metadata: EventMetadata;
975
- /** @hidden */
976
- modifiedFields: Record<string, any>;
977
- }
978
- /** @permissionScope Manage Restaurants - all permissions
979
- * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
980
- * @permissionId RESTAURANTS.MENU_READ
981
- * @webhook
982
- * @eventType wix.restaurants.menus.v1.menu_updated
983
- * @slug updated
984
- * @documentationMaturity preview
985
- */
986
- declare function onMenuUpdated(handler: (event: MenuUpdatedEnvelope) => void | Promise<void>): void;
987
972
  interface MenuCreatedEnvelope {
988
973
  entity: Menu;
989
974
  metadata: EventMetadata;
@@ -1013,54 +998,21 @@ interface MenuDeletedEnvelope {
1013
998
  * @documentationMaturity preview
1014
999
  */
1015
1000
  declare function onMenuDeleted(handler: (event: MenuDeletedEnvelope) => void | Promise<void>): void;
1016
- /** @param _id - Menu id to be duplicated.
1017
- * @public
1018
- * @documentationMaturity preview
1019
- * @requiredField _id
1020
- * @permissionId RESTAURANTS.MENU_CREATE
1021
- * @applicableIdentity APP
1022
- * @fqn com.wixpress.restaurants.menus_menu.v1.restaurants_duplicate_menu.RestaurantsDuplicateMenu.DuplicateMenu
1023
- */
1024
- declare function duplicateMenu(_id: string, options?: DuplicateMenuOptions): Promise<NonNullablePaths<DuplicateMenuResponse, `menuIds`, 0>>;
1025
- interface DuplicateMenuOptions {
1026
- /**
1027
- * Business location ids to duplicate the menu to.
1028
- * @format GUID
1029
- * @maxSize 100
1030
- */
1031
- businessLocationIds?: string[] | null;
1032
- /** Indicates whether sub-entities (such as items) should be duplicated as well. */
1033
- duplicateSubEntities?: boolean | null;
1034
- /**
1035
- * The new name of the duplicated menu.
1036
- * @maxLength 500
1037
- */
1038
- menuName?: string | null;
1001
+ interface MenuUpdatedEnvelope {
1002
+ entity: Menu;
1003
+ metadata: EventMetadata;
1004
+ /** @hidden */
1005
+ modifiedFields: Record<string, any>;
1039
1006
  }
1040
- /**
1041
- * Get menu details and path URL by menu ID.
1042
- * @param _id - Menu ID.
1043
- * @public
1044
- * @documentationMaturity preview
1045
- * @requiredField _id
1007
+ /** @permissionScope Manage Restaurants - all permissions
1008
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
1046
1009
  * @permissionId RESTAURANTS.MENU_READ
1047
- * @applicableIdentity APP
1048
- * @fqn com.wixpress.restaurants.menus_menu.v1.restaurants_menus_site_url.RestaurantsMenusSiteUrl.GetMenuSiteUrl
1049
- */
1050
- declare function getMenuSiteUrl(_id: string): Promise<NonNullablePaths<GetMenuSiteUrlResponse, `menuSiteUrl.path`, 1>>;
1051
- /**
1052
- * Query menu details and path URL
1053
- * @public
1010
+ * @webhook
1011
+ * @eventType wix.restaurants.menus.v1.menu_updated
1012
+ * @slug updated
1054
1013
  * @documentationMaturity preview
1055
- * @permissionId RESTAURANTS.MENU_READ
1056
- * @applicableIdentity APP
1057
- * @fqn com.wixpress.restaurants.menus_menu.v1.restaurants_menus_site_url.RestaurantsMenusSiteUrl.QueryMenusSiteUrl
1058
1014
  */
1059
- declare function queryMenusSiteUrl(options?: QueryMenusSiteUrlOptions): Promise<NonNullablePaths<QueryMenusSiteUrlResponse, `menuSiteUrls` | `menuSiteUrls.${number}.path`, 2>>;
1060
- interface QueryMenusSiteUrlOptions {
1061
- /** Query options */
1062
- query?: CursorQuery;
1063
- }
1015
+ declare function onMenuUpdated(handler: (event: MenuUpdatedEnvelope) => void | Promise<void>): void;
1064
1016
  /**
1065
1017
  * > **Note:** The Menus API only works with the Wix Restaurants Menus app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).
1066
1018
  *
@@ -1447,5 +1399,53 @@ interface UpdateExtendedFieldsOptions {
1447
1399
  * @fqn com.wixpress.restaurants.menus_menu.v1.RestaurantsMenusMenu.DeleteMenu
1448
1400
  */
1449
1401
  declare function deleteMenu(menuId: string): Promise<void>;
1402
+ /** @param _id - Menu id to be duplicated.
1403
+ * @public
1404
+ * @documentationMaturity preview
1405
+ * @requiredField _id
1406
+ * @permissionId RESTAURANTS.MENU_CREATE
1407
+ * @applicableIdentity APP
1408
+ * @fqn com.wixpress.restaurants.menus_menu.v1.restaurants_duplicate_menu.RestaurantsDuplicateMenu.DuplicateMenu
1409
+ */
1410
+ declare function duplicateMenu(_id: string, options?: DuplicateMenuOptions): Promise<NonNullablePaths<DuplicateMenuResponse, `menuIds`, 0>>;
1411
+ interface DuplicateMenuOptions {
1412
+ /**
1413
+ * Business location ids to duplicate the menu to.
1414
+ * @format GUID
1415
+ * @maxSize 100
1416
+ */
1417
+ businessLocationIds?: string[] | null;
1418
+ /** Indicates whether sub-entities (such as items) should be duplicated as well. */
1419
+ duplicateSubEntities?: boolean | null;
1420
+ /**
1421
+ * The new name of the duplicated menu.
1422
+ * @maxLength 500
1423
+ */
1424
+ menuName?: string | null;
1425
+ }
1426
+ /**
1427
+ * Get menu details and path URL by menu ID.
1428
+ * @param _id - Menu ID.
1429
+ * @public
1430
+ * @documentationMaturity preview
1431
+ * @requiredField _id
1432
+ * @permissionId RESTAURANTS.MENU_READ
1433
+ * @applicableIdentity APP
1434
+ * @fqn com.wixpress.restaurants.menus_menu.v1.restaurants_menus_site_url.RestaurantsMenusSiteUrl.GetMenuSiteUrl
1435
+ */
1436
+ declare function getMenuSiteUrl(_id: string): Promise<NonNullablePaths<GetMenuSiteUrlResponse, `menuSiteUrl.path`, 1>>;
1437
+ /**
1438
+ * Query menu details and path URL
1439
+ * @public
1440
+ * @documentationMaturity preview
1441
+ * @permissionId RESTAURANTS.MENU_READ
1442
+ * @applicableIdentity APP
1443
+ * @fqn com.wixpress.restaurants.menus_menu.v1.restaurants_menus_site_url.RestaurantsMenusSiteUrl.QueryMenusSiteUrl
1444
+ */
1445
+ declare function queryMenusSiteUrl(options?: QueryMenusSiteUrlOptions): Promise<NonNullablePaths<QueryMenusSiteUrlResponse, `menuSiteUrls` | `menuSiteUrls.${number}.path`, 2>>;
1446
+ interface QueryMenusSiteUrlOptions {
1447
+ /** Query options */
1448
+ query?: CursorQuery;
1449
+ }
1450
1450
 
1451
1451
  export { type AccountInfo, type AccountInfoMetadata, type ActionEvent, type AddressLocation, type App, type ApplicationError, type BaseEventMetadata, type BulkActionMetadata, type BulkCreateMenuResult, type BulkCreateMenusOptions, type BulkCreateMenusRequest, type BulkCreateMenusResponse, type BulkMenuResult, type BulkUpdateMenuOptions, type BulkUpdateMenuRequest, type BulkUpdateMenuResponse, type BusinessLocationDetails, type CloneMenusRequest, type CloneMenusResponse, type CommonQueryWithEntityContext, type CreateMenuRequest, type CreateMenuResponse, type CursorPaging, type CursorPagingMetadata, type CursorQuery, type CursorQueryPagingMethodOneOf, type Cursors, type CustomTag, type DeleteMenuRequest, type DeleteMenuResponse, type DeleteOrphanSections, type DomainEvent, type DomainEventBodyOneOf, type DuplicateMenuOptions, type DuplicateMenuRequest, type DuplicateMenuResponse, type Empty, type EntityCreatedEvent, type EntityDeletedEvent, type EntityUpdatedEvent, type EventMetadata, type ExtendedFields, type ExternalReferenceInfo, type File, type GetMenuRequest, type GetMenuResponse, type GetMenuSiteUrlRequest, type GetMenuSiteUrlResponse, type IdentificationData, type IdentificationDataIdOneOf, type InvalidateCache, type InvalidateCacheGetByOneOf, type ItemMetadata, type Keyword, type ListMenusOptions, type ListMenusRequest, type ListMenusResponse, type MaskedMenu, type Menu, type MenuCreatedEnvelope, type MenuDeletedEnvelope, type MenuQuery, type MenuQuerySpec, type MenuSiteUrl, type MenuUpdatedEnvelope, type MenusDataCloningCompleted, type MenusQueryBuilder, type MenusQueryResult, type MessageEnvelope, type Page, type Pages, type QueryMenusRequest, type QueryMenusResponse, type QueryMenusSiteUrlOptions, type QueryMenusSiteUrlRequest, type QueryMenusSiteUrlResponse, type RestoreInfo, type RunMenusMultiLocationMigrationRequest, type RunMenusMultiLocationMigrationResponse, type SeoSchema, type Settings, SortOrder, type SortOrderWithLiterals, type Sorting, type SyncContentToMultilingualRequest, type SyncContentToMultilingualResponse, type Tag, type URI, type URIs, type UpdateBusinessLocationIdRequest, type UpdateBusinessLocationIdResponse, type UpdateExtendedFieldsOptions, type UpdateExtendedFieldsRequest, type UpdateExtendedFieldsResponse, type UpdateMenu, type UpdateMenuRequest, type UpdateMenuResponse, WebhookIdentityType, type WebhookIdentityTypeWithLiterals, bulkCreateMenus, bulkUpdateMenu, createMenu, deleteMenu, duplicateMenu, getMenu, getMenuSiteUrl, listMenus, onMenuCreated, onMenuDeleted, onMenuUpdated, queryMenus, queryMenusSiteUrl, typedQueryMenus, updateExtendedFields, updateMenu, utils };