sesamy-cli/sesamy.schema.json
2025-03-17 09:30:37 +01:00

767 lines
24 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://github.com/foomo/sesamy-cli/pkg/config/github.com.foomo.sesamy-cli.pkg.config.-config",
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.Config",
"$defs": {
"[]*contemplate.PackageConfig": {
"items": {
"$ref": "#/$defs/github.com.foomo.gocontemplate.pkg.contemplate.PackageConfig"
},
"type": "array"
},
"[]config.CookiebotRegionSetting": {
"items": {
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.CookiebotRegionSetting"
},
"type": "array"
},
"[]string": {
"items": {
"type": "string"
},
"type": "array"
},
"github.com.foomo.gocontemplate.pkg.contemplate.Config": {
"properties": {
"directory": {
"type": "string"
},
"packages": {
"$ref": "#/$defs/[]*contemplate.PackageConfig"
}
},
"additionalProperties": false,
"type": "object"
},
"github.com.foomo.gocontemplate.pkg.contemplate.PackageConfig": {
"properties": {
"path": {
"type": "string"
},
"types": {
"$ref": "#/$defs/[]string"
}
},
"additionalProperties": false,
"type": "object"
},
"github.com.foomo.sesamy-cli.pkg.config.Config": {
"properties": {
"version": {
"type": "string",
"description": "Config version"
},
"redactVisitorIp": {
"type": "boolean",
"description": "Globally redact visitor ip"
},
"enableGeoResolution": {
"type": "boolean",
"description": "Enable region specific settings\nhttps://developers.google.com/tag-platform/tag-manager/server-side/enable-region-specific-settings"
},
"googleTag": {
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleTag",
"description": "Google Tag settings"
},
"googleApi": {
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleAPI",
"description": "Google API settings"
},
"googleTagManager": {
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleTagManager",
"description": "Google Tag Manager settings"
},
"googleAds": {
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleAds",
"description": "Google Ads provider settings"
},
"cookiebot": {
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.Cookiebot",
"description": "CookieBot provider settings"
},
"googleAnalytics": {
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleAnalytics",
"description": "Google Analytics provider settings"
},
"conversionLinker": {
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.ConversionLinker",
"description": "Conversion Linker provider settings"
},
"facebook": {
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.Facebook",
"description": "Facebook provider settings"
},
"microsoftAds": {
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.MicrosoftAds",
"description": "MicrosoftAds provider settings"
},
"emarsys": {
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.Emarsys",
"description": "Emarsys provider settings"
},
"hotjar": {
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.Hotjar",
"description": "Hotjar provider settings"
},
"criteo": {
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.Criteo",
"description": "Criteo provider settings"
},
"tracify": {
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.Tracify",
"description": "Tracify provider settings"
},
"umami": {
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.Umami",
"description": "Umami provider settings"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"version"
]
},
"github.com.foomo.sesamy-cli.pkg.config.ConversionLinker": {
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable provider"
},
"googleConsent": {
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleConsent",
"description": "Google Consent settings"
}
},
"additionalProperties": false,
"type": "object"
},
"github.com.foomo.sesamy-cli.pkg.config.Cookiebot": {
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable provider"
},
"templateName": {
"type": "string",
"description": "Name of the manually installed Cookiebot CMP tag template"
},
"cookiebotId": {
"type": "string",
"description": "Create an account on Cookiebot.com and copy 'Domain Group ID' from the tab 'Your Scripts' in Cookiebot"
},
"cdnRegion": {
"type": "string",
"description": "Select which CDN region Cookiebot uses"
},
"urlPassthrough": {
"type": "boolean",
"description": "When using URL passthrough, a few query parameters may be appended to links as users navigate through pages on your website"
},
"advertiserConsentModeEnabled": {
"type": "boolean",
"description": "If enabled, Google will deduce ad_storage, ad_user_data and ad_personalization data from the TC string."
},
"regionSettings": {
"$ref": "#/$defs/[]config.CookiebotRegionSetting",
"description": "Default Consent state"
}
},
"additionalProperties": false,
"type": "object"
},
"github.com.foomo.sesamy-cli.pkg.config.CookiebotRegionSetting": {
"properties": {
"region": {
"type": "string",
"description": "Region (leave blank to apply globally)"
},
"preferences": {
"type": "string",
"description": "Default consent for functionality_storage and personalization_storage"
},
"statistics": {
"type": "string",
"description": "Default consent for analytics_storage"
},
"marketing": {
"type": "string",
"description": "Default consent for ad_storage"
},
"adUserData": {
"type": "string",
"description": "Default consent ad_user_data"
},
"adPersonalization": {
"type": "string",
"description": "Default consent ad_personalization"
}
},
"additionalProperties": false,
"type": "object"
},
"github.com.foomo.sesamy-cli.pkg.config.Criteo": {
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable provider"
},
"callerId": {
"type": "string",
"description": "Criteo caller id"
},
"partnerId": {
"type": "string",
"description": "Criteo partner id"
},
"applicationId": {
"type": "string",
"description": "Criteo application id"
},
"googleConsent": {
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleConsent",
"description": "Google Consent settings"
},
"serverContainer": {
"$ref": "#/$defs/github.com.foomo.gocontemplate.pkg.contemplate.Config",
"description": "Google Tag Manager server container settings"
}
},
"additionalProperties": false,
"type": "object"
},
"github.com.foomo.sesamy-cli.pkg.config.Emarsys": {
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable provider"
},
"merchantId": {
"type": "string",
"description": "Emarsys merchant id"
},
"testMode": {
"type": "boolean",
"description": "Enable test mode"
},
"debugMode": {
"type": "boolean",
"description": "Enable debug mode"
},
"googleConsent": {
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleConsent",
"description": "Google Consent settings"
},
"webContainer": {
"$ref": "#/$defs/github.com.foomo.gocontemplate.pkg.contemplate.Config",
"description": "Google Tag Manager web container settings"
},
"serverContainer": {
"$ref": "#/$defs/github.com.foomo.gocontemplate.pkg.contemplate.Config",
"description": "Google Tag Manager server container settings"
}
},
"additionalProperties": false,
"type": "object"
},
"github.com.foomo.sesamy-cli.pkg.config.Facebook": {
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable provider"
},
"pixelId": {
"type": "string"
},
"apiAccessToken": {
"type": "string"
},
"testEventToken": {
"type": "string"
},
"googleConsent": {
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleConsent",
"description": "Google Consent settings"
},
"serverContainer": {
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.FacebookServerContainer",
"description": "Google Tag Manager server container settings"
}
},
"additionalProperties": false,
"type": "object"
},
"github.com.foomo.sesamy-cli.pkg.config.FacebookConversionAPITag": {
"properties": {
"extendCookies": {
"type": "boolean",
"description": "Extend Meta Pixel cookies (fbp/fbc)"
},
"enableEventEnhancement": {
"type": "boolean",
"description": "Enable Use of HTTP Only Secure Cookie (gtmeec) to Enhance Event Data"
}
},
"additionalProperties": false,
"type": "object"
},
"github.com.foomo.sesamy-cli.pkg.config.FacebookServerContainer": {
"properties": {
"directory": {
"type": "string"
},
"packages": {
"$ref": "#/$defs/[]*contemplate.PackageConfig"
},
"settings": {
"$ref": "#/$defs/map[string]config.FacebookConversionAPITag"
}
},
"additionalProperties": false,
"type": "object"
},
"github.com.foomo.sesamy-cli.pkg.config.GoogleAPI": {
"properties": {
"credentials": {
"type": "string"
},
"credentialsFile": {
"type": "string"
},
"requestQuota": {
"type": "integer"
}
},
"additionalProperties": false,
"type": "object"
},
"github.com.foomo.sesamy-cli.pkg.config.GoogleAds": {
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable provider"
},
"googleConsent": {
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleConsent",
"description": "Google Consent settings"
},
"conversionId": {
"type": "string",
"description": "Conversion id"
},
"conversion": {
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleAdsConversion",
"description": "Google Ads Conversion settings"
},
"remarketing": {
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleAdsRemarketing",
"description": "Google Ads Remarketing settings"
}
},
"additionalProperties": false,
"type": "object"
},
"github.com.foomo.sesamy-cli.pkg.config.GoogleAdsConversion": {
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable provider"
},
"serverContainer": {
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleAdsConversionServerContainer",
"description": "Google Tag Manager server container settings"
}
},
"additionalProperties": false,
"type": "object"
},
"github.com.foomo.sesamy-cli.pkg.config.GoogleAdsConversionServerContainer": {
"properties": {
"directory": {
"type": "string"
},
"packages": {
"$ref": "#/$defs/[]*contemplate.PackageConfig"
},
"settings": {
"$ref": "#/$defs/map[string]config.GoogleAdsConversionTracking"
}
},
"additionalProperties": false,
"type": "object"
},
"github.com.foomo.sesamy-cli.pkg.config.GoogleAdsConversionTracking": {
"properties": {
"label": {
"type": "string"
}
},
"additionalProperties": false,
"type": "object"
},
"github.com.foomo.sesamy-cli.pkg.config.GoogleAdsRemarketing": {
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable provider"
},
"enableConversionLinker": {
"type": "boolean"
}
},
"additionalProperties": false,
"type": "object"
},
"github.com.foomo.sesamy-cli.pkg.config.GoogleAnalytics": {
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable provider"
},
"googleConsent": {
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleConsent",
"description": "Google Consent settings"
},
"googleGTagJSOverride": {
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleAnalyticsGTagJSOverride",
"description": "GTag.js override configuration"
},
"webContainer": {
"$ref": "#/$defs/github.com.foomo.gocontemplate.pkg.contemplate.Config",
"description": "Google Tag Manager web container settings"
},
"serverContainer": {
"$ref": "#/$defs/github.com.foomo.gocontemplate.pkg.contemplate.Config",
"description": "Google Tag Manager server container settings"
}
},
"additionalProperties": false,
"type": "object"
},
"github.com.foomo.sesamy-cli.pkg.config.GoogleAnalyticsGTagJSOverride": {
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable override"
},
"priority": {
"type": "integer",
"description": "Client priority"
},
"ecommerceItems": {
"type": "boolean",
"description": "Allow sending items for non ecommerce events"
}
},
"additionalProperties": false,
"type": "object"
},
"github.com.foomo.sesamy-cli.pkg.config.GoogleConsent": {
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable provider"
},
"mode": {
"type": "string"
}
},
"additionalProperties": false,
"type": "object"
},
"github.com.foomo.sesamy-cli.pkg.config.GoogleTag": {
"properties": {
"tagId": {
"type": "string",
"description": "A tag ID is an identifier that you put on your page to load a given Google tag"
},
"sendPageView": {
"type": "boolean",
"description": "Whether a page_view should be sent on initial load"
},
"serverContainerUrl": {
"type": "string",
"description": "Optional custom server container url"
},
"dataLayerVariables": {
"$ref": "#/$defs/map[string]string",
"description": "Data layer variables to be added to the event settings"
},
"typeScript": {
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.TypeScript",
"description": "TypeScript settings"
}
},
"additionalProperties": false,
"type": "object"
},
"github.com.foomo.sesamy-cli.pkg.config.GoogleTagManager": {
"properties": {
"accountId": {
"type": "string",
"description": "Google Tag Manager account id"
},
"webContainer": {
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleTagManagerContainer",
"description": "Google Tag Manager web container settings"
},
"serverContainer": {
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleTagManagerContainer",
"description": "Google Tag Manager server container settings"
},
"webContainerVariables": {
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleTagManagerWebContainerVariables",
"description": "Google Tag Manager web container variables"
},
"serverContainerVariables": {
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleTagManagerServerContainerVariables",
"description": "Google Tag Manager server container variables"
}
},
"additionalProperties": false,
"type": "object"
},
"github.com.foomo.sesamy-cli.pkg.config.GoogleTagManagerContainer": {
"properties": {
"tagId": {
"type": "string",
"description": "The container tag id"
},
"containerId": {
"type": "string",
"description": "The container id"
},
"workspaceId": {
"type": "string",
"description": "The workspace id that should be used by the api"
}
},
"additionalProperties": false,
"type": "object"
},
"github.com.foomo.sesamy-cli.pkg.config.GoogleTagManagerServerContainerVariables": {
"properties": {
"eventData": {
"$ref": "#/$defs/[]string",
"description": "List of event data variables"
},
"lookupTables": {
"$ref": "#/$defs/map[string]config.LookupTable",
"description": "Map of lookup table variables"
}
},
"additionalProperties": false,
"type": "object"
},
"github.com.foomo.sesamy-cli.pkg.config.GoogleTagManagerWebContainerVariables": {
"properties": {
"dataLayer": {
"$ref": "#/$defs/[]string",
"description": "List of event data variables"
},
"lookupTables": {
"$ref": "#/$defs/map[string]config.LookupTable",
"description": "Map of lookup table variables"
}
},
"additionalProperties": false,
"type": "object"
},
"github.com.foomo.sesamy-cli.pkg.config.Hotjar": {
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable provider"
},
"siteId": {
"type": "string"
}
},
"additionalProperties": false,
"type": "object"
},
"github.com.foomo.sesamy-cli.pkg.config.LookupTable": {
"properties": {
"input": {
"type": "string",
"description": "Input source"
},
"keyTable": {
"$ref": "#/$defs/map[string]string",
"description": "Key value data map"
},
"valueTable": {
"$ref": "#/$defs/map[string]string",
"description": "Vaule key data map"
}
},
"additionalProperties": false,
"type": "object"
},
"github.com.foomo.sesamy-cli.pkg.config.MicrosoftAds": {
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable provider"
},
"googleConsent": {
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleConsent",
"description": "Google Consent settings"
},
"tagId": {
"type": "string",
"description": "Microsoft Ads UET Tag ID"
},
"conversion": {
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.MicrosoftAdsConversion",
"description": "Microsoft Ads Conversion settings"
}
},
"additionalProperties": false,
"type": "object"
},
"github.com.foomo.sesamy-cli.pkg.config.MicrosoftAdsConversion": {
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable provider"
},
"serverContainer": {
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.MicrosoftAdsServerContainer",
"description": "Google Tag Manager server container settings"
}
},
"additionalProperties": false,
"type": "object"
},
"github.com.foomo.sesamy-cli.pkg.config.MicrosoftAdsConversionTag": {
"properties": {
"pageType": {
"type": "string"
},
"eventType": {
"type": "string"
}
},
"additionalProperties": false,
"type": "object"
},
"github.com.foomo.sesamy-cli.pkg.config.MicrosoftAdsServerContainer": {
"properties": {
"directory": {
"type": "string"
},
"packages": {
"$ref": "#/$defs/[]*contemplate.PackageConfig"
},
"settings": {
"$ref": "#/$defs/map[string]config.MicrosoftAdsConversionTag"
}
},
"additionalProperties": false,
"type": "object"
},
"github.com.foomo.sesamy-cli.pkg.config.Tracify": {
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable provider"
},
"token": {
"type": "string",
"description": "Tracify token"
},
"customerSiteId": {
"type": "string",
"description": "Tracify customer site id"
},
"stagingModeEnabled": {
"type": "boolean",
"description": "Enable stating mode"
},
"googleConsent": {
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleConsent",
"description": "Google Consent settings"
},
"serverContainer": {
"$ref": "#/$defs/github.com.foomo.gocontemplate.pkg.contemplate.Config",
"description": "Google Tag Manager server container settings"
}
},
"additionalProperties": false,
"type": "object"
},
"github.com.foomo.sesamy-cli.pkg.config.TypeScript": {
"properties": {
"directory": {
"type": "string"
},
"packages": {
"$ref": "#/$defs/[]*contemplate.PackageConfig"
},
"outputPath": {
"type": "string"
}
},
"additionalProperties": false,
"type": "object"
},
"github.com.foomo.sesamy-cli.pkg.config.Umami": {
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable provider"
},
"domain": {
"type": "string"
},
"websiteId": {
"type": "string"
},
"endpointUrl": {
"type": "string"
},
"googleConsent": {
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleConsent",
"description": "Google Consent settings"
},
"serverContainer": {
"$ref": "#/$defs/github.com.foomo.gocontemplate.pkg.contemplate.Config",
"description": "Google Tag Manager server container settings"
}
},
"additionalProperties": false,
"type": "object"
},
"map[string]config.FacebookConversionAPITag": {
"additionalProperties": {
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.FacebookConversionAPITag"
},
"type": "object"
},
"map[string]config.GoogleAdsConversionTracking": {
"additionalProperties": {
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.GoogleAdsConversionTracking"
},
"type": "object"
},
"map[string]config.LookupTable": {
"additionalProperties": {
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.LookupTable"
},
"type": "object"
},
"map[string]config.MicrosoftAdsConversionTag": {
"additionalProperties": {
"$ref": "#/$defs/github.com.foomo.sesamy-cli.pkg.config.MicrosoftAdsConversionTag"
},
"type": "object"
},
"map[string]string": {
"additionalProperties": {
"type": "string"
},
"type": "object"
}
}
}