/** A site embed is an entity that manages the code that embeds content or an external application into a Wix site. */ interface SiteEmbed extends SiteEmbedContentOneOf { /** Custom embed details. */ customEmbedOptions?: CustomEmbed; /** * [Google Ads Conversion tag](https://support.google.com/tagmanager/answer/6105160?hl=en&ref_topic=6334091) details. * This tag enables you to analyze what a visitor does after clicking on a Google ad. */ googleAdWordsOptions?: GoogleAdWords; /** * [Google Analytics tag](https://support.google.com/tagmanager/topic/6333310?hl=en&ref_topic=3002579) details. * This tag enables you to track page views, where visitors are coming from, how long they stay, and * what keywords they used to find the site. Both [Google Universal Analytics Tags](https://support.google.com/tagmanager/answer/6107124?hl=en&ref_topic=6333310) * and [Google Analytics 4 tags](https://support.google.com/tagmanager/answer/9442095?hl=en&ref_topic=6333310) * are supported. */ googleAnalyticsOptions?: GoogleAnalytics; /** * [Yandex Metrica tag](https://yandex.com/support/metrica/index.html) details. This tag * enables you build visual reports of visitor activity that helps them evaluate the * performance of their marketing campaigns. */ yandexMetricaOptions?: YandexMetrica; /** * [Facebook Pixel tag](https://developers.facebook.com/docs/facebook-pixel/) details. * This tag enables you to track Facebook ad-driven visitor activity on their site. */ facebookPixelOptions?: FacebookPixel; /** * [Google tag](https://support.google.com/tagmanager/answer/6102821?hl=en&ref_topic=3441530) details. * This tag enables you to implement a quick and easy tag management system that keeps * 3rd party code snippets organized. */ googleTagManagerOptions?: GoogleTagManager; /** * [TikTok Pixel](https://ads.tiktok.com/help/article?aid=9663) details. * This embed enables you to share visitor events to TikTok on their site. */ tikTokPixelOptions?: TikTokPixel; /** * [Google tag manager consent mode tag](https://support.google.com/tagmanager/answer/6102821?hl=en&ref_topic=3441530) details. * This embed enables you to implement a quick and easy tag management system that keeps * 3rd party code snippets organized. */ googleTagManagerConsentModeOptions?: GoogleTagManagerConsentMode; /** * [Google Analytics consent mode tag](https://developers.google.com/tag-platform/gtagjs/reference) details. * This tag enables you to track page views, where visitors are coming from, how long they stay, and * what keywords they used to find the site. */ googleAnalyticsConsentModeOptions?: GoogleAnalyticsConsentMode; /** * Site embed ID. * @readonly */ _id?: string | null; /** * Revision number, which increments by 1 each time the site embed is updated. * To prevent conflicting changes, * the current revision must be passed when updating a site embed. * @readonly */ revision?: string | null; /** Site embed name, as displayed to users. */ name?: string | null; /** Whether the site embed is enabled on the site. Defaults to `true`. */ enabled?: boolean; /** Whether to load the site embed once during initial site rendering, rather than on each page navigation. */ loadOnce?: boolean; /** Page IDs where the site embed should be loaded. Relevant for apps with [site page extensions](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/site-extensions/site-pages/about-site-page-extensions). By default, site embeds are applied to all site pages. */ pageFilter?: PageFilter; /** Site domain where the site embed is installed. */ domain?: string | null; /** Site embed position in the HTML. */ order?: SiteEmbedOrder; /** Site embed type. */ siteEmbedType?: SiteEmbedType; /** * Custom field data for the order object. / * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the Wix Dev Center before they can be accessed with API calls. */ extendedFields?: ExtendedFields; } /** @oneof */ interface SiteEmbedContentOneOf { /** Custom embed details. */ customEmbedOptions?: CustomEmbed; /** * [Google Ads Conversion tag](https://support.google.com/tagmanager/answer/6105160?hl=en&ref_topic=6334091) details. * This tag enables you to analyze what a visitor does after clicking on a Google ad. */ googleAdWordsOptions?: GoogleAdWords; /** * [Google Analytics tag](https://support.google.com/tagmanager/topic/6333310?hl=en&ref_topic=3002579) details. * This tag enables you to track page views, where visitors are coming from, how long they stay, and * what keywords they used to find the site. Both [Google Universal Analytics Tags](https://support.google.com/tagmanager/answer/6107124?hl=en&ref_topic=6333310) * and [Google Analytics 4 tags](https://support.google.com/tagmanager/answer/9442095?hl=en&ref_topic=6333310) * are supported. */ googleAnalyticsOptions?: GoogleAnalytics; /** * [Yandex Metrica tag](https://yandex.com/support/metrica/index.html) details. This tag * enables you build visual reports of visitor activity that helps them evaluate the * performance of their marketing campaigns. */ yandexMetricaOptions?: YandexMetrica; /** * [Facebook Pixel tag](https://developers.facebook.com/docs/facebook-pixel/) details. * This tag enables you to track Facebook ad-driven visitor activity on their site. */ facebookPixelOptions?: FacebookPixel; /** * [Google tag](https://support.google.com/tagmanager/answer/6102821?hl=en&ref_topic=3441530) details. * This tag enables you to implement a quick and easy tag management system that keeps * 3rd party code snippets organized. */ googleTagManagerOptions?: GoogleTagManager; /** * [TikTok Pixel](https://ads.tiktok.com/help/article?aid=9663) details. * This embed enables you to share visitor events to TikTok on their site. */ tikTokPixelOptions?: TikTokPixel; /** * [Google tag manager consent mode tag](https://support.google.com/tagmanager/answer/6102821?hl=en&ref_topic=3441530) details. * This embed enables you to implement a quick and easy tag management system that keeps * 3rd party code snippets organized. */ googleTagManagerConsentModeOptions?: GoogleTagManagerConsentMode; /** * [Google Analytics consent mode tag](https://developers.google.com/tag-platform/gtagjs/reference) details. * This tag enables you to track page views, where visitors are coming from, how long they stay, and * what keywords they used to find the site. */ googleAnalyticsConsentModeOptions?: GoogleAnalyticsConsentMode; } declare enum PositionOnPage { /** Illegal value, exception will be thrown if used */ UNKNOWN_POSITION = "UNKNOWN_POSITION", /** HEAD position */ HEAD = "HEAD", /** BODY_START position */ BODY_START = "BODY_START", /** BODY_END position */ BODY_END = "BODY_END" } interface PageFilter { /** Pages where the site embed will be loaded. */ pageIds?: string[]; } interface SiteEmbedOrder { /** Embed location placement. */ position?: PositionOnPage; /** * Priority of the position for sorting by position on page * @readonly */ positionPriority?: number; /** * Priority of this SiteEmbed according to others on the same position * @readonly */ elementPriority?: number; } declare enum SiteEmbedType { UNKNOWN_SITE_EMBED = "UNKNOWN_SITE_EMBED", /** Custom embed type */ CUSTOM_EMBED = "CUSTOM_EMBED", /** Verification Code embed type */ VERIFICATION_CODE = "VERIFICATION_CODE", /** HotJar embed type */ HOTJAR = "HOTJAR", /** Wix Analytics embed type */ WIX_ANALYTICS = "WIX_ANALYTICS", /** Privy embed type */ PRIVY = "PRIVY", /** HelloBar embed type */ HELLO_BAR = "HELLO_BAR", /** Wisepops embed type */ WISEPOPS = "WISEPOPS", /** Gtag embed type */ GTAG = "GTAG", /** VWO embed type */ VWO = "VWO", /** VkRetargeting embed type */ VK_RETARGETING = "VK_RETARGETING", /** CallRail embed type */ CALL_RAIL = "CALL_RAIL", /** CrazyEgg embed type */ CRAZY_EGG = "CRAZY_EGG", /** AppMarket embed type */ APP_MARKET = "APP_MARKET", /** MobileBannerExperimental embed type */ MOBILE_BANNER_EXPERIMENTAL = "MOBILE_BANNER_EXPERIMENTAL", /** PaidAdsFacebookPixel embed type */ PAID_ADS_FACEBOOK_PIXEL = "PAID_ADS_FACEBOOK_PIXEL", /** GscVerification embed type */ GSC_VERIFICATION = "GSC_VERIFICATION", /** PinterestVerification embed type */ PINTEREST_VERIFICATION = "PINTEREST_VERIFICATION", /** BingVerification embed type */ BING_VERIFICATION = "BING_VERIFICATION", /** YandexVerification embed type */ YANDEX_VERIFICATION = "YANDEX_VERIFICATION", /** NaverVerification embed type */ NAVER_VERIFICATION = "NAVER_VERIFICATION", /** Google AdWords embed type */ GOOGLE_AD_WORDS = "GOOGLE_AD_WORDS", /** Google Analytics embed type */ GOOGLE_ANALYTICS = "GOOGLE_ANALYTICS", /** Yandex metrica embed type */ YANDEX_METRICA = "YANDEX_METRICA", /** Facebook Pixel embed type */ FACEBOOK_PIXEL = "FACEBOOK_PIXEL", /** Google Tag Manager embed type */ GOOGLE_TAG_MANAGER = "GOOGLE_TAG_MANAGER", /** TikTok Pixel embed type */ TIK_TOK_PIXEL = "TIK_TOK_PIXEL", /** Google Tag Manager Consent Mode */ GOOGLE_TAG_MANAGER_CONSENT_MODE = "GOOGLE_TAG_MANAGER_CONSENT_MODE", /** Google Analytics Consent Mode */ GOOGLE_ANALYTICS_CONSENT_MODE = "GOOGLE_ANALYTICS_CONSENT_MODE" } interface CustomEmbed { /** CustomEmbed's category */ category?: Category; /** CustomEmbed's html */ html?: string; } declare enum Category { /** Illegal type, exception will be thrown if used */ UNKNOWN_CATEGORY = "UNKNOWN_CATEGORY", /** Essential category */ ESSENTIAL = "ESSENTIAL", /** Functional category */ FUNCTIONAL = "FUNCTIONAL", /** Analytics category */ ANALYTICS = "ANALYTICS", /** Advertising category */ ADVERTISING = "ADVERTISING", /** Data to third party category */ DATA_TO_THIRD_PARTY = "DATA_TO_THIRD_PARTY" } interface VerificationCode { /** VerificationCode html */ html?: string; } interface Hotjar { /** Hotjar tracking_id */ trackingId?: string; } interface WixAnalytics { } interface Privy { /** Privy tracking_id */ trackingId?: string; } interface HelloBar { /** HelloBar tracking_id */ trackingId?: string; } interface Wisepops { /** Wisepops tracking_id */ trackingId?: string; } interface Gtag { /** Gtag tracking_id */ trackingId?: string; } interface Vwo { /** Vwo tracking_id */ trackingId?: string; } interface VkRetargeting { /** VkRetargeting tracking_id */ trackingId?: string; } interface CallRail { /** CallRail tracking_id */ trackingId?: string; } interface CrazyEgg { /** CrazyEgg tracking_id */ trackingId?: string; } interface AppMarket { /** The application id owning this component */ appId?: string; /** The version of the application that this was installed with */ appVersion?: string; /** The id of the component that was installed */ componentId?: string | null; /** Parameters that will be injected into the Embed HTML template */ parameters?: Record; } interface MobileBannerExperimental { /** MobileBannerExperimental app_link */ appLink?: string; /** MobileBannerExperimental config */ config?: string | null; } interface PaidAdsFacebookPixel { /** PaidAdsFacebookPixel pixel_id */ pixelId?: string; } interface GscVerification { /** GscVerification token */ token?: string; } interface PinterestVerification { /** PinterestVerification token */ token?: string; } interface BingVerification { /** BingVerification token */ token?: string; } interface YandexVerification { /** YandexVerification token */ token?: string; } interface NaverVerification { /** NaverVerification token */ token?: string; } interface GoogleAdWords { /** GoogleAdWords tracking_id */ trackingId?: string; } interface GoogleAnalytics { /** GoogleAnalytic tracking id */ trackingId?: string; /** GoogleAnalytic ip_anonymization */ ipAnonymization?: boolean | null; } interface YandexMetrica { /** YandexMetrica tracking_id */ trackingId?: string; } interface FacebookPixel { /** FacebookPixel tracking_id */ trackingId?: string; } interface GoogleTagManager { /** GoogleTagManager tracking_id */ trackingId?: string; } interface TikTokPixel { /** Specifies which TikTok Pixel is associated with the site owner */ trackingId?: string; } interface GoogleTagManagerConsentMode { /** Specifies which Google Tag Manager Container is associated with the site owner. */ trackingId?: string; } interface GoogleAnalyticsConsentMode { /** Specifies which Google property is associated with the site owner. */ trackingId?: string; /** Whether IP addresses of site visitors are hidden from Google. */ ipAnonymization?: boolean | null; } interface ExtendedFields { /** * Extended field data. Each key corresponds to the namespace of the app that created the extended fields. * The value of each key is structured according to the schema defined when the extended fields were configured. * * You can only access fields for which you have the appropriate permissions. * * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields). */ namespaces?: Record>; } interface CreateSiteEmbedRequest { /** Site embed to be created. */ siteEmbed: SiteEmbed; } interface CreateSiteEmbedResponse { /** Created site embed. */ siteEmbed?: SiteEmbed; } interface GetSiteEmbedRequest { /** Site embed ID. */ siteEmbedId: string; } interface GetSiteEmbedResponse { /** Requested site embed. */ siteEmbed?: SiteEmbed; } interface UpdateSiteEmbedRequest { /** Site embed to be updated. */ siteEmbed: SiteEmbed; } interface UpdateSiteEmbedResponse { /** Updated site embed. */ siteEmbed?: SiteEmbed; } interface DeleteSiteEmbedRequest { /** Site embed ID to delete. */ siteEmbedId: string; } interface DeleteSiteEmbedResponse { } interface PlaceSiteEmbedRequest { /** Site embed to be placed. */ siteEmbedId: string; /** Desired location for the embed within the relevant position. */ location?: Location; /** * ID of the site embed to come after this one. Required when setting the location to BEFORE_EMBED. * `LOCATION_UNSPECIFIED` is not supported. */ nextSiteEmbedId?: string | null; } declare enum Location { /** LOCATION_UNSPECIFIED, not allowed */ LOCATION_UNSPECIFIED = "LOCATION_UNSPECIFIED", /** LAST location, meaning place embed in the end of the list */ LAST = "LAST", /** BEFORE_EMBED location, meaning place embed before the embed specified in next_site_embed_id field */ BEFORE_EMBED = "BEFORE_EMBED" } interface PlaceSiteEmbedResponse { } interface QuerySiteEmbedsRequest { /** * Query options. * Filtering is supported for all site embed fields, with all relevant operators. See [API Query Language Filters](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section). * Sorting in ASC and DESC order is supported for all site embed fields. See [API Query Language Sorting](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section). */ query: CursorQuery; } interface CursorQuery extends CursorQueryPagingMethodOneOf { /** * Cursor paging options. * * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging). */ cursorPaging?: CursorPaging; /** * Filter object. * * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section). */ filter?: Record | null; /** * Sort object. * * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section). */ sort?: Sorting[]; } /** @oneof */ interface CursorQueryPagingMethodOneOf { /** * Cursor paging options. * * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging). */ cursorPaging?: CursorPaging; } interface Sorting { /** Name of the field to sort by. */ fieldName?: string; /** Sort order. */ order?: SortOrder; } declare enum SortOrder { ASC = "ASC", DESC = "DESC" } interface CursorPaging { /** Maximum number of items to return in the results. */ limit?: number | null; /** * Pointer to the next or previous page in the list of results. * * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response. * Not relevant for the first request. */ cursor?: string | null; } interface QuerySiteEmbedsResponse { /** List of site embeds. */ siteEmbeds?: SiteEmbed[]; /** Paging metadata */ pagingMetadata?: CursorPagingMetadata; } interface CursorPagingMetadata { /** Number of items returned in current page. */ count?: number | null; /** Cursor strings that point to the next page, previous page, or both. */ cursors?: Cursors; /** * Whether there are more pages to retrieve following the current page. * * + `true`: Another page of results can be retrieved. * + `false`: This is the last page. */ hasNext?: boolean | null; } interface Cursors { /** Cursor string pointing to the next page in the list of results. */ next?: string | null; /** Cursor pointing to the previous page in the list of results. */ prev?: string | null; } interface UpdateExtendedFieldsRequest { /** ID of the entity to update. */ _id: string; /** Identifier for the app whose extended fields are being updated. */ namespace: string; /** 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. */ namespaceData: Record | null; } interface UpdateExtendedFieldsResponse { /** Updated SiteEmbed */ siteEmbed?: SiteEmbed; } interface DomainEvent extends DomainEventBodyOneOf { createdEvent?: EntityCreatedEvent; updatedEvent?: EntityUpdatedEvent; deletedEvent?: EntityDeletedEvent; actionEvent?: ActionEvent; /** * Unique event ID. * Allows clients to ignore duplicate webhooks. */ _id?: string; /** * Assumes actions are also always typed to an entity_type * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction */ entityFqdn?: string; /** * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug) * This is although the created/updated/deleted notion is duplication of the oneof types * Example: created/updated/deleted/started/completed/email_opened */ slug?: string; /** ID of the entity associated with the event. */ entityId?: string; /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */ eventTime?: Date; /** * Whether the event was triggered as a result of a privacy regulation application * (for example, GDPR). */ triggeredByAnonymizeRequest?: boolean | null; /** If present, indicates the action that triggered the event. */ originatedFrom?: string | null; /** * A sequence number defining the order of updates to the underlying entity. * For example, given that some entity was updated at 16:00 and than again at 16:01, * it is guaranteed that the sequence number of the second update is strictly higher than the first. * As the consumer, you can use this value to ensure that you handle messages in the correct order. * To do so, you will need to persist this number on your end, and compare the sequence number from the * message against the one you have stored. Given that the stored number is higher, you should ignore the message. */ entityEventSequence?: string | null; } /** @oneof */ interface DomainEventBodyOneOf { createdEvent?: EntityCreatedEvent; updatedEvent?: EntityUpdatedEvent; deletedEvent?: EntityDeletedEvent; actionEvent?: ActionEvent; } interface EntityCreatedEvent { entity?: string; } interface RestoreInfo { deletedDate?: Date; } interface EntityUpdatedEvent { /** * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff. * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects. * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it. */ currentEntity?: string; } interface EntityDeletedEvent { /** Entity that was deleted */ deletedEntity?: string | null; } interface ActionEvent { body?: string; } interface MessageEnvelope { /** App instance ID. */ instanceId?: string | null; /** Event type. */ eventType?: string; /** The identification type and identity data. */ identity?: IdentificationData; /** Stringify payload. */ data?: string; } interface IdentificationData extends IdentificationDataIdOneOf { /** ID of a site visitor that has not logged in to the site. */ anonymousVisitorId?: string; /** ID of a site visitor that has logged in to the site. */ memberId?: string; /** ID of a Wix user (site owner, contributor, etc.). */ wixUserId?: string; /** ID of an app. */ appId?: string; /** @readonly */ identityType?: WebhookIdentityType; } /** @oneof */ interface IdentificationDataIdOneOf { /** ID of a site visitor that has not logged in to the site. */ anonymousVisitorId?: string; /** ID of a site visitor that has logged in to the site. */ memberId?: string; /** ID of a Wix user (site owner, contributor, etc.). */ wixUserId?: string; /** ID of an app. */ appId?: string; } declare enum WebhookIdentityType { UNKNOWN = "UNKNOWN", ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR", MEMBER = "MEMBER", WIX_USER = "WIX_USER", APP = "APP" } interface CustomEmbedNonNullableFields { category: Category; html: string; } interface VerificationCodeNonNullableFields { html: string; } interface HotjarNonNullableFields { trackingId: string; } interface PrivyNonNullableFields { trackingId: string; } interface HelloBarNonNullableFields { trackingId: string; } interface WisepopsNonNullableFields { trackingId: string; } interface GtagNonNullableFields { trackingId: string; } interface VwoNonNullableFields { trackingId: string; } interface VkRetargetingNonNullableFields { trackingId: string; } interface CallRailNonNullableFields { trackingId: string; } interface CrazyEggNonNullableFields { trackingId: string; } interface AppMarketNonNullableFields { appId: string; appVersion: string; } interface MobileBannerExperimentalNonNullableFields { appLink: string; } interface PaidAdsFacebookPixelNonNullableFields { pixelId: string; } interface GscVerificationNonNullableFields { token: string; } interface PinterestVerificationNonNullableFields { token: string; } interface BingVerificationNonNullableFields { token: string; } interface YandexVerificationNonNullableFields { token: string; } interface NaverVerificationNonNullableFields { token: string; } interface GoogleAdWordsNonNullableFields { trackingId: string; } interface GoogleAnalyticsNonNullableFields { trackingId: string; } interface YandexMetricaNonNullableFields { trackingId: string; } interface FacebookPixelNonNullableFields { trackingId: string; } interface GoogleTagManagerNonNullableFields { trackingId: string; } interface TikTokPixelNonNullableFields { trackingId: string; } interface GoogleTagManagerConsentModeNonNullableFields { trackingId: string; } interface GoogleAnalyticsConsentModeNonNullableFields { trackingId: string; } interface PageFilterNonNullableFields { pageIds: string[]; } interface SiteEmbedOrderNonNullableFields { position: PositionOnPage; positionPriority: number; elementPriority: number; } interface SiteEmbedNonNullableFields { customEmbedOptions?: CustomEmbedNonNullableFields; verificationCodeOptions?: VerificationCodeNonNullableFields; hotjarOptions?: HotjarNonNullableFields; privyOptions?: PrivyNonNullableFields; helloBarOptions?: HelloBarNonNullableFields; wisepopsOptions?: WisepopsNonNullableFields; gtagOptions?: GtagNonNullableFields; vwoOptions?: VwoNonNullableFields; vkRetargetingOptions?: VkRetargetingNonNullableFields; callRailOptions?: CallRailNonNullableFields; crazyEggOptions?: CrazyEggNonNullableFields; appMarketOptions?: AppMarketNonNullableFields; mobileBannerExperimentalOptions?: MobileBannerExperimentalNonNullableFields; paidAdsFacebookPixelOptions?: PaidAdsFacebookPixelNonNullableFields; gscVerificationOptions?: GscVerificationNonNullableFields; pinterestVerificationOptions?: PinterestVerificationNonNullableFields; bingVerificationOptions?: BingVerificationNonNullableFields; yandexVerificationOptions?: YandexVerificationNonNullableFields; naverVerificationOptions?: NaverVerificationNonNullableFields; googleAdWordsOptions?: GoogleAdWordsNonNullableFields; googleAnalyticsOptions?: GoogleAnalyticsNonNullableFields; yandexMetricaOptions?: YandexMetricaNonNullableFields; facebookPixelOptions?: FacebookPixelNonNullableFields; googleTagManagerOptions?: GoogleTagManagerNonNullableFields; tikTokPixelOptions?: TikTokPixelNonNullableFields; googleTagManagerConsentModeOptions?: GoogleTagManagerConsentModeNonNullableFields; googleAnalyticsConsentModeOptions?: GoogleAnalyticsConsentModeNonNullableFields; enabled: boolean; loadOnce: boolean; pageFilter?: PageFilterNonNullableFields; order?: SiteEmbedOrderNonNullableFields; siteEmbedType: SiteEmbedType; } interface CreateSiteEmbedResponseNonNullableFields { siteEmbed?: SiteEmbedNonNullableFields; } interface GetSiteEmbedResponseNonNullableFields { siteEmbed?: SiteEmbedNonNullableFields; } interface UpdateSiteEmbedResponseNonNullableFields { siteEmbed?: SiteEmbedNonNullableFields; } interface QuerySiteEmbedsResponseNonNullableFields { siteEmbeds: SiteEmbedNonNullableFields[]; } interface UpdateExtendedFieldsResponseNonNullableFields { siteEmbed?: SiteEmbedNonNullableFields; } interface BaseEventMetadata { /** App instance ID. */ instanceId?: string | null; /** Event type. */ eventType?: string; /** The identification type and identity data. */ identity?: IdentificationData; } interface EventMetadata extends BaseEventMetadata { /** * Unique event ID. * Allows clients to ignore duplicate webhooks. */ _id?: string; /** * Assumes actions are also always typed to an entity_type * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction */ entityFqdn?: string; /** * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug) * This is although the created/updated/deleted notion is duplication of the oneof types * Example: created/updated/deleted/started/completed/email_opened */ slug?: string; /** ID of the entity associated with the event. */ entityId?: string; /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */ eventTime?: Date; /** * Whether the event was triggered as a result of a privacy regulation application * (for example, GDPR). */ triggeredByAnonymizeRequest?: boolean | null; /** If present, indicates the action that triggered the event. */ originatedFrom?: string | null; /** * A sequence number defining the order of updates to the underlying entity. * For example, given that some entity was updated at 16:00 and than again at 16:01, * it is guaranteed that the sequence number of the second update is strictly higher than the first. * As the consumer, you can use this value to ensure that you handle messages in the correct order. * To do so, you will need to persist this number on your end, and compare the sequence number from the * message against the one you have stored. Given that the stored number is higher, you should ignore the message. */ entityEventSequence?: string | null; } interface SiteEmbedCreatedEnvelope { entity: SiteEmbed; metadata: EventMetadata; } /** * Triggered when a site embed is created. * @permissionScope Read Marketing Tags * @permissionScopeId SCOPE.DC-MARKETING.READ-TAGS * @permissionScope Manage Marketing Tags * @permissionScopeId SCOPE.DC-MARKETING.MANAGE-TAGS * @permissionId EDITOR.SITE_EMBED_READ * @webhook * @eventType wix.document_management.editor_site_embeds.v1.site_embed_created * @documentationMaturity preview */ declare function onSiteEmbedCreated(handler: (event: SiteEmbedCreatedEnvelope) => void | Promise): void; interface SiteEmbedUpdatedEnvelope { entity: SiteEmbed; metadata: EventMetadata; } /** @permissionScope Read Marketing Tags * @permissionScopeId SCOPE.DC-MARKETING.READ-TAGS * @permissionScope Manage Marketing Tags * @permissionScopeId SCOPE.DC-MARKETING.MANAGE-TAGS * @permissionId EDITOR.SITE_EMBED_READ * @webhook * @eventType wix.document_management.editor_site_embeds.v1.site_embed_updated * @documentationMaturity preview */ declare function onSiteEmbedUpdated(handler: (event: SiteEmbedUpdatedEnvelope) => void | Promise): void; interface SiteEmbedDeletedEnvelope { metadata: EventMetadata; } /** * Triggered when a site embed is deleted. * @permissionScope Read Marketing Tags * @permissionScopeId SCOPE.DC-MARKETING.READ-TAGS * @permissionScope Manage Marketing Tags * @permissionScopeId SCOPE.DC-MARKETING.MANAGE-TAGS * @permissionId EDITOR.SITE_EMBED_READ * @webhook * @eventType wix.document_management.editor_site_embeds.v1.site_embed_deleted * @documentationMaturity preview */ declare function onSiteEmbedDeleted(handler: (event: SiteEmbedDeletedEnvelope) => void | Promise): void; /** * Creates a site embed. * The request body must include the `type` field as well as the field corresponding to the passed type, and 'order.position'. * The embed will be placed at the end of the list within the new position. * @param siteEmbed - Site embed to be created. * @public * @documentationMaturity preview * @requiredField siteEmbed * @requiredField siteEmbed.order * @requiredField siteEmbed.order.position * @permissionId EDITOR.SITE_EMBED_CREATE * @permissionScope Manage Marketing Tags * @permissionScopeId SCOPE.DC-MARKETING.MANAGE-TAGS * @applicableIdentity APP * @returns Created site embed. */ declare function createSiteEmbed(siteEmbed: SiteEmbed): Promise; /** * Retrieves a site embed. * @param siteEmbedId - Site embed ID. * @public * @documentationMaturity preview * @requiredField siteEmbedId * @permissionId EDITOR.SITE_EMBED_READ * @permissionScope Read Marketing Tags * @permissionScopeId SCOPE.DC-MARKETING.READ-TAGS * @permissionScope Manage Marketing Tags * @permissionScopeId SCOPE.DC-MARKETING.MANAGE-TAGS * @applicableIdentity APP * @applicableIdentity VISITOR * @returns Requested site embed. */ declare function getSiteEmbed(siteEmbedId: string): Promise; /** * Updates a site embed. * When a site embed's position is changed, the embed will be placed at the end of the list within the new position. * @param _id - Site embed ID. * @public * @documentationMaturity preview * @requiredField _id * @requiredField siteEmbed * @requiredField siteEmbed.revision * @permissionId EDITOR.SITE_EMBED_UPDATE * @permissionScope Manage Marketing Tags * @permissionScopeId SCOPE.DC-MARKETING.MANAGE-TAGS * @applicableIdentity APP * @returns Updated site embed. */ declare function updateSiteEmbed(_id: string | null, siteEmbed: UpdateSiteEmbed): Promise; interface UpdateSiteEmbed { /** Custom embed details. */ customEmbedOptions?: CustomEmbed; /** * [Google Ads Conversion tag](https://support.google.com/tagmanager/answer/6105160?hl=en&ref_topic=6334091) details. * This tag enables you to analyze what a visitor does after clicking on a Google ad. */ googleAdWordsOptions?: GoogleAdWords; /** * [Google Analytics tag](https://support.google.com/tagmanager/topic/6333310?hl=en&ref_topic=3002579) details. * This tag enables you to track page views, where visitors are coming from, how long they stay, and * what keywords they used to find the site. Both [Google Universal Analytics Tags](https://support.google.com/tagmanager/answer/6107124?hl=en&ref_topic=6333310) * and [Google Analytics 4 tags](https://support.google.com/tagmanager/answer/9442095?hl=en&ref_topic=6333310) * are supported. */ googleAnalyticsOptions?: GoogleAnalytics; /** * [Yandex Metrica tag](https://yandex.com/support/metrica/index.html) details. This tag * enables you build visual reports of visitor activity that helps them evaluate the * performance of their marketing campaigns. */ yandexMetricaOptions?: YandexMetrica; /** * [Facebook Pixel tag](https://developers.facebook.com/docs/facebook-pixel/) details. * This tag enables you to track Facebook ad-driven visitor activity on their site. */ facebookPixelOptions?: FacebookPixel; /** * [Google tag](https://support.google.com/tagmanager/answer/6102821?hl=en&ref_topic=3441530) details. * This tag enables you to implement a quick and easy tag management system that keeps * 3rd party code snippets organized. */ googleTagManagerOptions?: GoogleTagManager; /** * [TikTok Pixel](https://ads.tiktok.com/help/article?aid=9663) details. * This embed enables you to share visitor events to TikTok on their site. */ tikTokPixelOptions?: TikTokPixel; /** * [Google tag manager consent mode tag](https://support.google.com/tagmanager/answer/6102821?hl=en&ref_topic=3441530) details. * This embed enables you to implement a quick and easy tag management system that keeps * 3rd party code snippets organized. */ googleTagManagerConsentModeOptions?: GoogleTagManagerConsentMode; /** * [Google Analytics consent mode tag](https://developers.google.com/tag-platform/gtagjs/reference) details. * This tag enables you to track page views, where visitors are coming from, how long they stay, and * what keywords they used to find the site. */ googleAnalyticsConsentModeOptions?: GoogleAnalyticsConsentMode; /** * Site embed ID. * @readonly */ _id?: string | null; /** * Revision number, which increments by 1 each time the site embed is updated. * To prevent conflicting changes, * the current revision must be passed when updating a site embed. * @readonly */ revision?: string | null; /** Site embed name, as displayed to users. */ name?: string | null; /** Whether the site embed is enabled on the site. Defaults to `true`. */ enabled?: boolean; /** Whether to load the site embed once during initial site rendering, rather than on each page navigation. */ loadOnce?: boolean; /** Page IDs where the site embed should be loaded. Relevant for apps with [site page extensions](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/site-extensions/site-pages/about-site-page-extensions). By default, site embeds are applied to all site pages. */ pageFilter?: PageFilter; /** Site domain where the site embed is installed. */ domain?: string | null; /** Site embed position in the HTML. */ order?: SiteEmbedOrder; /** Site embed type. */ siteEmbedType?: SiteEmbedType; /** * Custom field data for the order object. / * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the Wix Dev Center before they can be accessed with API calls. */ extendedFields?: ExtendedFields; } /** * Deletes a site embed permanently. * @param siteEmbedId - Site embed ID to delete. * @public * @documentationMaturity preview * @requiredField siteEmbedId * @permissionId EDITOR.SITE_EMBED_DELETE * @permissionScope Manage Marketing Tags * @permissionScopeId SCOPE.DC-MARKETING.MANAGE-TAGS * @applicableIdentity APP */ declare function deleteSiteEmbed(siteEmbedId: string): Promise; /** * Sets a site embed's placement order within the designated position. * @param siteEmbedId - Site embed to be placed. * @public * @documentationMaturity preview * @requiredField siteEmbedId * @permissionId EDITOR.SITE_EMBED_UPDATE * @permissionScope Manage Marketing Tags * @permissionScopeId SCOPE.DC-MARKETING.MANAGE-TAGS * @applicableIdentity APP */ declare function placeSiteEmbed(siteEmbedId: string, options?: PlaceSiteEmbedOptions): Promise; interface PlaceSiteEmbedOptions { /** Desired location for the embed within the relevant position. */ location?: Location; /** * ID of the site embed to come after this one. Required when setting the location to BEFORE_EMBED. * `LOCATION_UNSPECIFIED` is not supported. */ nextSiteEmbedId?: string | null; } /** * Retrieves a list of up to 100 site embeds, given the provided [paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-paging-section), [filtering](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section) and [sorting](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section). * Filtering is supported for all site embed fields, with all relevant operators. * Sorting in ASC and DESC order is supported for all site embed fields. * @public * @documentationMaturity preview * @permissionScope Read Marketing Tags * @permissionScopeId SCOPE.DC-MARKETING.READ-TAGS * @permissionScope Manage Marketing Tags * @permissionScopeId SCOPE.DC-MARKETING.MANAGE-TAGS * @permissionId EDITOR.SITE_EMBED_READ * @applicableIdentity APP * @applicableIdentity VISITOR */ declare function querySiteEmbeds(): SiteEmbedsQueryBuilder; interface QueryCursorResult { cursors: Cursors; hasNext: () => boolean; hasPrev: () => boolean; length: number; pageSize: number; } interface SiteEmbedsQueryResult extends QueryCursorResult { items: SiteEmbed[]; query: SiteEmbedsQueryBuilder; next: () => Promise; prev: () => Promise; } interface SiteEmbedsQueryBuilder { /** @param propertyName - Property whose value is compared with `value`. * @param value - Value to compare against. * @documentationMaturity preview */ eq: (propertyName: '_id' | 'order.position' | 'siteEmbedType', value: any) => SiteEmbedsQueryBuilder; /** @documentationMaturity preview */ in: (propertyName: '_id' | 'order.position' | 'siteEmbedType', value: any) => SiteEmbedsQueryBuilder; /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. * @documentationMaturity preview */ ascending: (...propertyNames: Array<'order.positionPriority' | 'order.elementPriority'>) => SiteEmbedsQueryBuilder; /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. * @documentationMaturity preview */ descending: (...propertyNames: Array<'order.positionPriority' | 'order.elementPriority'>) => SiteEmbedsQueryBuilder; /** @param limit - Number of items to return, which is also the `pageSize` of the results object. * @documentationMaturity preview */ limit: (limit: number) => SiteEmbedsQueryBuilder; /** @param cursor - A pointer to specific record * @documentationMaturity preview */ skipTo: (cursor: string) => SiteEmbedsQueryBuilder; /** @documentationMaturity preview */ find: () => Promise; } /** * Updates a site embed's extended fields. * @param _id - ID of the entity to update. * @param namespace - Identifier for the app whose extended fields are being updated. * @public * @documentationMaturity preview * @requiredField _id * @requiredField namespace * @requiredField options * @requiredField options.namespaceData * @permissionId EDITOR.SITE_EMBED_UPDATE * @permissionScope Manage Marketing Tags * @permissionScopeId SCOPE.DC-MARKETING.MANAGE-TAGS * @applicableIdentity APP */ declare function updateExtendedFields(_id: string, namespace: string, options: UpdateExtendedFieldsOptions): Promise; interface UpdateExtendedFieldsOptions { /** 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. */ namespaceData: Record | null; } export { type ActionEvent, type AppMarket, type BaseEventMetadata, type BingVerification, type CallRail, Category, type CrazyEgg, type CreateSiteEmbedRequest, type CreateSiteEmbedResponse, type CreateSiteEmbedResponseNonNullableFields, type CursorPaging, type CursorPagingMetadata, type CursorQuery, type CursorQueryPagingMethodOneOf, type Cursors, type CustomEmbed, type DeleteSiteEmbedRequest, type DeleteSiteEmbedResponse, type DomainEvent, type DomainEventBodyOneOf, type EntityCreatedEvent, type EntityDeletedEvent, type EntityUpdatedEvent, type EventMetadata, type ExtendedFields, type FacebookPixel, type GetSiteEmbedRequest, type GetSiteEmbedResponse, type GetSiteEmbedResponseNonNullableFields, type GoogleAdWords, type GoogleAnalytics, type GoogleAnalyticsConsentMode, type GoogleTagManager, type GoogleTagManagerConsentMode, type GscVerification, type Gtag, type HelloBar, type Hotjar, type IdentificationData, type IdentificationDataIdOneOf, Location, type MessageEnvelope, type MobileBannerExperimental, type NaverVerification, type PageFilter, type PaidAdsFacebookPixel, type PinterestVerification, type PlaceSiteEmbedOptions, type PlaceSiteEmbedRequest, type PlaceSiteEmbedResponse, PositionOnPage, type Privy, type QuerySiteEmbedsRequest, type QuerySiteEmbedsResponse, type QuerySiteEmbedsResponseNonNullableFields, type RestoreInfo, type SiteEmbed, type SiteEmbedContentOneOf, type SiteEmbedCreatedEnvelope, type SiteEmbedDeletedEnvelope, type SiteEmbedNonNullableFields, type SiteEmbedOrder, SiteEmbedType, type SiteEmbedUpdatedEnvelope, type SiteEmbedsQueryBuilder, type SiteEmbedsQueryResult, SortOrder, type Sorting, type TikTokPixel, type UpdateExtendedFieldsOptions, type UpdateExtendedFieldsRequest, type UpdateExtendedFieldsResponse, type UpdateExtendedFieldsResponseNonNullableFields, type UpdateSiteEmbed, type UpdateSiteEmbedRequest, type UpdateSiteEmbedResponse, type UpdateSiteEmbedResponseNonNullableFields, type VerificationCode, type VkRetargeting, type Vwo, WebhookIdentityType, type Wisepops, type WixAnalytics, type YandexMetrica, type YandexVerification, createSiteEmbed, deleteSiteEmbed, getSiteEmbed, onSiteEmbedCreated, onSiteEmbedDeleted, onSiteEmbedUpdated, placeSiteEmbed, querySiteEmbeds, updateExtendedFields, updateSiteEmbed };