/** A site embed is an entity that manages the code that embeds content or an external application into a Wix site. */ export 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 */ export 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; } export 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" } export interface PageFilter { /** Pages where the site embed will be loaded. */ pageIds?: string[]; } export 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; } export 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" } export interface CustomEmbed { /** CustomEmbed's category */ category?: Category; /** CustomEmbed's html */ html?: string; } export 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" } export interface VerificationCode { /** VerificationCode html */ html?: string; } export interface Hotjar { /** Hotjar tracking_id */ trackingId?: string; } export interface WixAnalytics { } export interface Privy { /** Privy tracking_id */ trackingId?: string; } export interface HelloBar { /** HelloBar tracking_id */ trackingId?: string; } export interface Wisepops { /** Wisepops tracking_id */ trackingId?: string; } export interface Gtag { /** Gtag tracking_id */ trackingId?: string; } export interface Vwo { /** Vwo tracking_id */ trackingId?: string; } export interface VkRetargeting { /** VkRetargeting tracking_id */ trackingId?: string; } export interface CallRail { /** CallRail tracking_id */ trackingId?: string; } export interface CrazyEgg { /** CrazyEgg tracking_id */ trackingId?: string; } export 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; } export interface MobileBannerExperimental { /** MobileBannerExperimental app_link */ appLink?: string; /** MobileBannerExperimental config */ config?: string | null; } export interface PaidAdsFacebookPixel { /** PaidAdsFacebookPixel pixel_id */ pixelId?: string; } export interface GscVerification { /** GscVerification token */ token?: string; } export interface PinterestVerification { /** PinterestVerification token */ token?: string; } export interface BingVerification { /** BingVerification token */ token?: string; } export interface YandexVerification { /** YandexVerification token */ token?: string; } export interface NaverVerification { /** NaverVerification token */ token?: string; } export interface GoogleAdWords { /** GoogleAdWords tracking_id */ trackingId?: string; } export interface GoogleAnalytics { /** GoogleAnalytic tracking id */ trackingId?: string; /** GoogleAnalytic ip_anonymization */ ipAnonymization?: boolean | null; } export interface YandexMetrica { /** YandexMetrica tracking_id */ trackingId?: string; } export interface FacebookPixel { /** FacebookPixel tracking_id */ trackingId?: string; } export interface GoogleTagManager { /** GoogleTagManager tracking_id */ trackingId?: string; } export interface TikTokPixel { /** Specifies which TikTok Pixel is associated with the site owner */ trackingId?: string; } export interface GoogleTagManagerConsentMode { /** Specifies which Google Tag Manager Container is associated with the site owner. */ trackingId?: string; } export 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; } export 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>; } export interface CreateSiteEmbedRequest { /** Site embed to be created. */ siteEmbed: SiteEmbed; } export interface CreateSiteEmbedResponse { /** Created site embed. */ siteEmbed?: SiteEmbed; } export interface GetSiteEmbedRequest { /** Site embed ID. */ siteEmbedId: string; } export interface GetSiteEmbedResponse { /** Requested site embed. */ siteEmbed?: SiteEmbed; } export interface UpdateSiteEmbedRequest { /** Site embed to be updated. */ siteEmbed: SiteEmbed; } export interface UpdateSiteEmbedResponse { /** Updated site embed. */ siteEmbed?: SiteEmbed; } export interface DeleteSiteEmbedRequest { /** Site embed ID to delete. */ siteEmbedId: string; } export interface DeleteSiteEmbedResponse { } export 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; } export 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" } export interface PlaceSiteEmbedResponse { } export 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; } export 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 */ export 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; } export interface Sorting { /** Name of the field to sort by. */ fieldName?: string; /** Sort order. */ order?: SortOrder; } export declare enum SortOrder { ASC = "ASC", DESC = "DESC" } export 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; } export interface QuerySiteEmbedsResponse { /** List of site embeds. */ siteEmbeds?: SiteEmbed[]; /** Paging metadata */ pagingMetadata?: CursorPagingMetadata; } export 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; } export 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; } export 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; } export interface UpdateExtendedFieldsResponse { /** Updated SiteEmbed */ siteEmbed?: SiteEmbed; } export 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 */ export interface DomainEventBodyOneOf { createdEvent?: EntityCreatedEvent; updatedEvent?: EntityUpdatedEvent; deletedEvent?: EntityDeletedEvent; actionEvent?: ActionEvent; } export interface EntityCreatedEvent { entity?: string; } export interface RestoreInfo { deletedDate?: Date; } export 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; } export interface EntityDeletedEvent { /** Entity that was deleted */ deletedEntity?: string | null; } export interface ActionEvent { body?: string; } export interface MessageEnvelope { /** App instance ID. */ instanceId?: string | null; /** Event type. */ eventType?: string; /** The identification type and identity data. */ identity?: IdentificationData; /** Stringify payload. */ data?: string; } export 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 */ export 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; } export 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; } export 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; } export interface CreateSiteEmbedResponseNonNullableFields { siteEmbed?: SiteEmbedNonNullableFields; } export interface GetSiteEmbedResponseNonNullableFields { siteEmbed?: SiteEmbedNonNullableFields; } export interface UpdateSiteEmbedResponseNonNullableFields { siteEmbed?: SiteEmbedNonNullableFields; } export interface QuerySiteEmbedsResponseNonNullableFields { siteEmbeds: SiteEmbedNonNullableFields[]; } export interface UpdateExtendedFieldsResponseNonNullableFields { siteEmbed?: SiteEmbedNonNullableFields; } export interface BaseEventMetadata { /** App instance ID. */ instanceId?: string | null; /** Event type. */ eventType?: string; /** The identification type and identity data. */ identity?: IdentificationData; } export 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; } export 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 */ export declare function onSiteEmbedCreated(handler: (event: SiteEmbedCreatedEnvelope) => void | Promise): void; export 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 */ export declare function onSiteEmbedUpdated(handler: (event: SiteEmbedUpdatedEnvelope) => void | Promise): void; export 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 */ export 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. */ export 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. */ export 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. */ export declare function updateSiteEmbed(_id: string | null, siteEmbed: UpdateSiteEmbed): Promise; export 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 */ export 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 */ export declare function placeSiteEmbed(siteEmbedId: string, options?: PlaceSiteEmbedOptions): Promise; export 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 */ export declare function querySiteEmbeds(): SiteEmbedsQueryBuilder; interface QueryCursorResult { cursors: Cursors; hasNext: () => boolean; hasPrev: () => boolean; length: number; pageSize: number; } export interface SiteEmbedsQueryResult extends QueryCursorResult { items: SiteEmbed[]; query: SiteEmbedsQueryBuilder; next: () => Promise; prev: () => Promise; } export 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 */ export declare function updateExtendedFields(_id: string, namespace: string, options: UpdateExtendedFieldsOptions): Promise; export 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 {};