From 0f90a278c711804fb156892e2a318ff253bc5750 Mon Sep 17 00:00:00 2001 From: Sai Kumar Battinoju Date: Wed, 4 Dec 2024 11:31:15 +0530 Subject: [PATCH 1/2] fix: clean up legacy consent management UI fields --- scripts/legacyConsentConfigMigrator.py | 650 ------------------ scripts/schemaGenerator.py | 17 +- scripts/template-ui-config.json | 72 ++ .../active_campaign/ui-config.json | 64 +- .../destinations/adj/ui-config.json | 69 +- .../adobe_analytics/ui-config.json | 64 +- .../destinations/adroll/ui-config.json | 69 +- .../destinations/af/ui-config.json | 69 +- .../destinations/airship/db-config.json | 2 +- .../destinations/airship/schema.json | 511 ++++++++++++++ .../destinations/airship/ui-config.json | 69 +- .../destinations/algolia/db-config.json | 2 +- .../destinations/algolia/schema.json | 511 ++++++++++++++ .../destinations/algolia/ui-config.json | 69 +- .../destinations/am/ui-config.json | 64 +- .../amazon_audience/db-config.json | 2 +- .../amazon_audience/ui-config.json | 80 +-- .../destinations/appcenter/schema.json | 235 +++++++ .../destinations/appcenter/ui-config.json | 69 +- .../destinations/appcues/ui-config.json | 69 +- .../destinations/attentive_tag/db-config.json | 2 +- .../destinations/attentive_tag/ui-config.json | 69 +- .../destinations/attribution/db-config.json | 2 +- .../destinations/attribution/ui-config.json | 69 +- .../destinations/autopilot/db-config.json | 2 +- .../destinations/autopilot/schema.json | 511 ++++++++++++++ .../destinations/autopilot/ui-config.json | 69 +- .../destinations/awin/db-config.json | 1 + .../destinations/awin/ui-config.json | 69 +- .../destinations/axeptio/ui-config.json | 69 +- .../destinations/azure_blob/db-config.json | 2 +- .../destinations/azure_blob/schema.json | 511 ++++++++++++++ .../destinations/azure_blob/ui-config.json | 69 +- .../azure_datalake/db-config.json | 2 +- .../azure_datalake/ui-config.json | 69 +- .../azure_event_hub/db-config.json | 2 +- .../destinations/azure_event_hub/schema.json | 511 ++++++++++++++ .../azure_event_hub/ui-config.json | 69 +- .../destinations/azure_synapse/db-config.json | 2 +- .../destinations/azure_synapse/ui-config.json | 69 +- .../destinations/bingads/ui-config.json | 69 +- .../bingads_audience/db-config.json | 2 +- .../bingads_audience/ui-config.json | 69 +- .../db-config.json | 9 +- .../bingads_offline_conversions/schema.json | 51 ++ .../ui-config.json | 104 +-- .../destinations/bloomreach/ui-config.json | 64 +- .../bloomreach_catalog/ui-config.json | 64 +- .../destinations/bluecore/ui-config.json | 64 +- .../destinations/blueshift/db-config.json | 2 +- .../destinations/blueshift/schema.json | 511 ++++++++++++++ .../destinations/blueshift/ui-config.json | 69 +- .../destinations/bq/db-config.json | 2 +- .../destinations/bq/ui-config.json | 69 +- .../destinations/bqstream/db-config.json | 2 +- .../destinations/bqstream/ui-config.json | 69 +- .../destinations/branch/schema.json | 511 ++++++++++++++ .../destinations/branch/ui-config.json | 69 +- .../destinations/braze/ui-config.json | 64 +- .../destinations/bugsnag/ui-config.json | 69 +- .../campaign_manager/db-config.json | 2 +- .../campaign_manager/ui-config.json | 69 +- .../destinations/candu/db-config.json | 7 +- .../destinations/candu/ui-config.json | 69 +- .../destinations/canny/db-config.json | 8 +- .../destinations/canny/ui-config.json | 69 +- .../destinations/chartbeat/ui-config.json | 69 +- .../destinations/clevertap/ui-config.json | 69 +- .../destinations/clickhouse/db-config.json | 2 +- .../destinations/clickhouse/ui-config.json | 69 +- .../destinations/clicksend/db-config.json | 77 ++- .../destinations/clicksend/schema.json | 511 ++++++++++++++ .../destinations/clicksend/ui-config.json | 104 +-- .../destinations/clickup/db-config.json | 1 + .../destinations/clickup/ui-config.json | 69 +- .../destinations/commandbar/ui-config.json | 68 +- .../destinations/comscore/ui-config.json | 69 +- .../confluent_cloud/db-config.json | 2 +- .../confluent_cloud/ui-config.json | 69 +- .../destinations/convertflow/ui-config.json | 69 +- .../destinations/cordial/db-config.json | 77 ++- .../destinations/cordial/schema.json | 511 ++++++++++++++ .../destinations/cordial/ui-config.json | 104 +-- .../destinations/courier/db-config.json | 2 +- .../destinations/courier/ui-config.json | 69 +- .../destinations/criteo/ui-config.json | 69 +- .../criteo_audience/db-config.json | 2 +- .../criteo_audience/ui-config.json | 69 +- .../destinations/custify/db-config.json | 8 +- .../destinations/custify/ui-config.json | 69 +- .../destinations/customerio/ui-config.json | 68 +- .../dcm_floodlight/ui-config.json | 69 +- .../destinations/delighted/db-config.json | 2 +- .../destinations/delighted/ui-config.json | 69 +- .../destinations/deltalake/db-config.json | 2 +- .../destinations/deltalake/ui-config.json | 69 +- .../digital_ocean_spaces/db-config.json | 2 +- .../digital_ocean_spaces/ui-config.json | 69 +- .../destinations/discord/db-config.json | 2 +- .../destinations/discord/ui-config.json | 69 +- .../destinations/drip/ui-config.json | 69 +- .../destinations/dynamic_yield/db-config.json | 2 +- .../destinations/dynamic_yield/ui-config.json | 64 +- .../destinations/eloqua/db-config.json | 14 +- .../destinations/eloqua/schema.json | 97 +++ .../destinations/eloqua/ui-config.json | 104 +-- .../destinations/emarsys/db-config.json | 77 ++- .../destinations/emarsys/schema.json | 511 ++++++++++++++ .../destinations/emarsys/ui-config.json | 104 +-- .../destinations/engage/ui-config.json | 69 +- .../destinations/eventbridge/db-config.json | 2 +- .../destinations/eventbridge/schema.json | 511 ++++++++++++++ .../destinations/eventbridge/ui-config.json | 69 +- .../facebook_conversions/ui-config.json | 64 +- .../db-config.json | 1 + .../ui-config.json | 69 +- .../facebook_pixel/ui-config.json | 64 +- .../destinations/factorsai/db-config.json | 2 +- .../destinations/factorsai/ui-config.json | 69 +- .../destinations/fb/schema.json | 46 ++ .../destinations/fb/ui-config.json | 64 +- .../fb_custom_audience/db-config.json | 2 +- .../fb_custom_audience/ui-config.json | 64 +- .../destinations/firebase/ui-config.json | 69 +- .../destinations/firehose/db-config.json | 2 +- .../destinations/firehose/schema.json | 511 ++++++++++++++ .../destinations/firehose/ui-config.json | 69 +- .../destinations/freshmarketer/db-config.json | 8 +- .../destinations/freshmarketer/ui-config.json | 69 +- .../destinations/freshsales/db-config.json | 8 +- .../destinations/freshsales/ui-config.json | 69 +- .../destinations/fullstory/ui-config.json | 64 +- .../destinations/ga/ui-config.json | 69 +- .../destinations/ga360/schema.json | 511 ++++++++++++++ .../destinations/ga360/ui-config.json | 69 +- .../destinations/ga4/ui-config.json | 66 +- .../destinations/ga4_v2/ui-config.json | 64 +- .../destinations/ga4_v2/ui-config.jt | 66 +- .../destinations/gainsight/db-config.json | 2 +- .../destinations/gainsight/ui-config.json | 69 +- .../destinations/gainsight_px/db-config.json | 8 +- .../destinations/gainsight_px/ui-config.json | 69 +- .../destinations/gcs/db-config.json | 2 +- .../destinations/gcs/ui-config.json | 69 +- .../destinations/gcs_datalake/db-config.json | 2 +- .../destinations/gcs_datalake/ui-config.json | 69 +- .../destinations/gladly/db-config.json | 2 +- .../destinations/gladly/ui-config.json | 64 +- .../db-config.json | 2 +- .../schema.json | 511 ++++++++++++++ .../ui-config.json | 64 +- .../db-config.json | 2 +- .../ui-config.json | 69 +- .../db-config.json | 2 +- .../schema.json | 143 ++++ .../ui-config.json | 64 +- .../google_cloud_function/ui-config.json | 69 +- .../destinations/google_optimize/schema.json | 51 ++ .../google_optimize/ui-config.json | 69 +- .../destinations/googleads/ui-config.json | 69 +- .../destinations/googlepubsub/db-config.json | 2 +- .../destinations/googlepubsub/ui-config.json | 69 +- .../destinations/googlesheets/db-config.json | 2 +- .../destinations/googlesheets/schema.json | 511 ++++++++++++++ .../destinations/googlesheets/ui-config.json | 69 +- .../destinations/gtm/ui-config.json | 69 +- .../destinations/heap/ui-config.json | 69 +- .../destinations/hotjar/ui-config.json | 69 +- .../destinations/hs/ui-config.json | 64 +- .../destinations/http/schema.json | 46 ++ .../destinations/http/ui-config.json | 64 +- .../destinations/impact/db-config.json | 2 +- .../destinations/impact/ui-config.json | 69 +- .../destinations/indicative/db-config.json | 2 +- .../destinations/indicative/schema.json | 511 ++++++++++++++ .../destinations/indicative/ui-config.json | 69 +- .../destinations/intercom/ui-config.json | 68 +- .../destinations/intercom_v2/ui-config.json | 64 +- .../destinations/iterable/ui-config.json | 64 +- .../destinations/june/ui-config.json | 69 +- .../destinations/kafka/db-config.json | 2 +- .../destinations/kafka/ui-config.json | 64 +- .../destinations/keen/schema.json | 511 ++++++++++++++ .../destinations/keen/ui-config.json | 69 +- .../destinations/kinesis/db-config.json | 2 +- .../destinations/kinesis/ui-config.json | 69 +- .../destinations/kissmetrics/schema.json | 511 ++++++++++++++ .../destinations/kissmetrics/ui-config.json | 69 +- .../destinations/klaviyo/ui-config.json | 64 +- .../klaviyo_bulk_upload/db-config.json | 10 +- .../klaviyo_bulk_upload/schema.json | 51 ++ .../klaviyo_bulk_upload/ui-config.json | 104 +-- .../destinations/koala/ui-config.json | 64 +- .../destinations/kochava/schema.json | 511 ++++++++++++++ .../destinations/kochava/ui-config.json | 69 +- .../destinations/koddi/db-config.json | 77 ++- .../destinations/koddi/schema.json | 511 ++++++++++++++ .../destinations/koddi/ui-config.json | 104 +-- .../destinations/kustomer/db-config.json | 2 +- .../destinations/kustomer/schema.json | 511 ++++++++++++++ .../destinations/kustomer/ui-config.json | 69 +- .../destinations/lambda/db-config.json | 2 +- .../destinations/lambda/ui-config.json | 69 +- .../destinations/launchdarkly/schema.json | 51 ++ .../destinations/launchdarkly/ui-config.json | 69 +- .../launchdarkly_audience/ui-config.json | 64 +- .../destinations/leanplum/ui-config.json | 64 +- .../destinations/lemnisk/ui-config.json | 69 +- .../destinations/linkedIn_ads/db-config.json | 77 ++- .../destinations/linkedIn_ads/schema.json | 511 ++++++++++++++ .../destinations/linkedIn_ads/ui-config.json | 104 +-- .../linkedin_audience/db-config.json | 7 +- .../linkedin_audience/schema.json | 51 ++ .../linkedin_audience/ui-config.json | 64 +- .../linkedin_insight_tag/ui-config.json | 69 +- .../destinations/livechat/ui-config.json | 69 +- .../destinations/lotame/schema.json | 97 +++ .../destinations/lotame/ui-config.json | 69 +- .../destinations/lotame_mobile/schema.json | 97 +++ .../destinations/lotame_mobile/ui-config.json | 69 +- .../destinations/lytics/schema.json | 511 ++++++++++++++ .../destinations/lytics/ui-config.json | 69 +- .../lytics_bulk_upload/db-config.json | 23 +- .../lytics_bulk_upload/schema.json | 143 ++++ .../lytics_bulk_upload/ui-config.json | 104 +-- .../destinations/mailchimp/db-config.json | 2 +- .../destinations/mailchimp/ui-config.json | 69 +- .../destinations/mailjet/db-config.json | 1 + .../destinations/mailjet/ui-config.json | 69 +- .../destinations/mailmodo/db-config.json | 8 +- .../destinations/mailmodo/ui-config.json | 69 +- .../destinations/marketo/db-config.json | 2 +- .../destinations/marketo/ui-config.json | 64 +- .../marketo_bulk_upload/db-config.json | 2 +- .../marketo_bulk_upload/schema.json | 511 ++++++++++++++ .../marketo_bulk_upload/ui-config.json | 69 +- .../marketo_static_list/db-config.json | 1 + .../marketo_static_list/ui-config.json | 69 +- .../destinations/matomo/ui-config.json | 69 +- .../destinations/mautic/db-config.json | 1 + .../destinations/mautic/ui-config.json | 69 +- .../microsoft_clarity/ui-config.json | 69 +- .../destinations/minio/db-config.json | 2 +- .../destinations/minio/schema.json | 511 ++++++++++++++ .../destinations/minio/ui-config.json | 69 +- .../destinations/moengage/schema.json | 511 ++++++++++++++ .../destinations/moengage/ui-config.json | 69 +- .../destinations/monday/db-config.json | 2 +- .../destinations/monday/ui-config.json | 69 +- .../destinations/monetate/db-config.json | 2 +- .../destinations/monetate/schema.json | 511 ++++++++++++++ .../destinations/monetate/ui-config.json | 69 +- .../destinations/mouseflow/db-config.json | 6 +- .../destinations/mouseflow/ui-config.json | 69 +- .../destinations/movable_ink/ui-config.json | 64 +- .../destinations/mp/ui-config.json | 64 +- .../destinations/mssql/db-config.json | 2 +- .../destinations/mssql/ui-config.json | 69 +- .../destinations/new_relic/db-config.json | 1 + .../destinations/new_relic/ui-config.json | 69 +- .../destinations/ninetailed/ui-config.json | 68 +- .../destinations/olark/ui-config.json | 69 +- .../destinations/ometria/db-config.json | 2 +- .../destinations/ometria/schema.json | 511 ++++++++++++++ .../destinations/ometria/ui-config.json | 69 +- .../destinations/one_signal/db-config.json | 2 +- .../destinations/one_signal/ui-config.json | 69 +- .../destinations/optimizely/schema.json | 51 ++ .../destinations/optimizely/ui-config.json | 69 +- .../optimizely_fullstack/ui-config.json | 64 +- .../destinations/ortto/ui-config.json | 64 +- .../destinations/pagerduty/db-config.json | 1 + .../destinations/pagerduty/ui-config.json | 69 +- .../destinations/pardot/db-config.json | 2 +- .../destinations/pardot/schema.json | 511 ++++++++++++++ .../destinations/pardot/ui-config.json | 69 +- .../destinations/pendo/schema.json | 51 ++ .../destinations/pendo/ui-config.json | 69 +- .../destinations/persistiq/db-config.json | 7 +- .../destinations/persistiq/ui-config.json | 69 +- .../destinations/personalize/db-config.json | 2 +- .../destinations/personalize/ui-config.json | 69 +- .../destinations/pinterest_tag/ui-config.json | 69 +- .../destinations/pipedream/db-config.json | 2 +- .../destinations/pipedream/ui-config.json | 69 +- .../destinations/pipedrive/db-config.json | 2 +- .../destinations/pipedrive/schema.json | 465 +++++++++++++ .../destinations/pipedrive/ui-config.json | 69 +- .../destinations/podsights/ui-config.json | 69 +- .../post_affiliate_pro/schema.json | 51 ++ .../post_affiliate_pro/ui-config.json | 69 +- .../destinations/postgres/db-config.json | 2 +- .../destinations/postgres/ui-config.json | 69 +- .../destinations/posthog/ui-config.json | 69 +- .../destinations/profitwell/schema.json | 511 ++++++++++++++ .../destinations/profitwell/ui-config.json | 69 +- .../destinations/qualaroo/ui-config.json | 69 +- .../destinations/qualtrics/schema.json | 143 ++++ .../destinations/qualtrics/ui-config.json | 69 +- .../destinations/quantummetric/schema.json | 51 ++ .../destinations/quantummetric/ui-config.json | 69 +- .../destinations/quora_pixel/ui-config.json | 69 +- .../destinations/rakuten/db-config.json | 2 +- .../destinations/rakuten/ui-config.json | 64 +- .../destinations/reddit/db-config.json | 77 ++- .../destinations/reddit/schema.json | 511 ++++++++++++++ .../destinations/reddit/ui-config.json | 104 +-- .../destinations/reddit_pixel/ui-config.json | 69 +- .../destinations/redis/ui-config.json | 69 +- .../destinations/refiner/ui-config.json | 69 +- .../destinations/revenue_cat/db-config.json | 2 +- .../destinations/revenue_cat/ui-config.json | 69 +- .../destinations/rockerbox/ui-config.json | 64 +- .../destinations/rollbar/ui-config.json | 69 +- .../destinations/rs/db-config.json | 2 +- .../destinations/rs/ui-config.json | 69 +- .../destinations/s3/ui-config.json | 69 +- .../destinations/s3_datalake/db-config.json | 2 +- .../destinations/s3_datalake/ui-config.json | 69 +- .../destinations/salesforce/db-config.json | 2 +- .../destinations/salesforce/ui-config.json | 69 +- .../salesforce_oauth/db-config.json | 2 +- .../salesforce_oauth/ui-config.json | 69 +- .../salesforce_oauth_sandbox/db-config.json | 2 +- .../salesforce_oauth_sandbox/ui-config.json | 69 +- .../destinations/satismeter/ui-config.json | 69 +- .../destinations/segment/db-config.json | 2 +- .../destinations/segment/schema.json | 511 ++++++++++++++ .../destinations/segment/ui-config.json | 69 +- .../destinations/sendgrid/db-config.json | 2 +- .../destinations/sendgrid/schema.json | 511 ++++++++++++++ .../destinations/sendgrid/ui-config.json | 69 +- .../destinations/sendinblue/ui-config.json | 69 +- .../destinations/sentry/ui-config.json | 69 +- .../destinations/serenytics/db-config.json | 2 +- .../destinations/serenytics/ui-config.json | 69 +- .../destinations/sfmc/db-config.json | 2 +- .../destinations/sfmc/schema.json | 511 ++++++++++++++ .../destinations/sfmc/ui-config.json | 69 +- .../destinations/sftp/db-config.json | 2 +- .../destinations/sftp/schema.json | 51 ++ .../destinations/sftp/ui-config.json | 104 +-- .../destinations/shynet/db-config.json | 2 +- .../destinations/shynet/ui-config.json | 69 +- .../destinations/signl4/db-config.json | 2 +- .../destinations/signl4/ui-config.json | 69 +- .../destinations/singular/db-config.json | 2 +- .../destinations/singular/schema.json | 46 ++ .../destinations/singular/ui-config.json | 69 +- .../destinations/slack/ui-config.json | 69 +- .../destinations/smartly/db-config.json | 1 + .../destinations/smartly/ui-config.json | 108 +-- .../destinations/snap_pixel/schema.json | 51 ++ .../destinations/snap_pixel/ui-config.json | 69 +- .../snapchat_conversion/db-config.json | 2 +- .../snapchat_conversion/ui-config.json | 69 +- .../snapchat_custom_audience/db-config.json | 5 +- .../snapchat_custom_audience/ui-config.json | 69 +- .../destinations/snapengage/ui-config.json | 69 +- .../destinations/snowflake/ui-config.json | 69 +- .../snowpipe_streaming/ui-config.json | 69 +- .../destinations/splitio/db-config.json | 2 +- .../destinations/splitio/schema.json | 511 ++++++++++++++ .../destinations/splitio/ui-config.json | 69 +- .../destinations/spotifyPixel/ui-config.json | 68 +- .../destinations/sprig/ui-config.json | 64 +- .../destinations/statsig/db-config.json | 2 +- .../destinations/statsig/ui-config.json | 64 +- .../destinations/stormly/db-config.json | 7 +- .../destinations/stormly/ui-config.json | 69 +- .../the_trade_desk/ui-config.json | 64 +- .../ui-config.json | 64 +- .../destinations/tiktok_ads/ui-config.json | 69 +- .../tiktok_ads_offline_events/db-config.json | 2 +- .../tiktok_ads_offline_events/ui-config.json | 69 +- .../tiktok_audience/db-config.json | 2 +- .../destinations/tiktok_audience/schema.json | 97 +++ .../tiktok_audience/ui-config.json | 69 +- .../destinations/trengo/db-config.json | 2 +- .../destinations/trengo/schema.json | 511 ++++++++++++++ .../destinations/trengo/ui-config.json | 69 +- .../destinations/tune/ui-config.json | 64 +- .../destinations/tvsquared/schema.json | 51 ++ .../destinations/tvsquared/ui-config.json | 69 +- .../destinations/twitter_ads/ui-config.json | 69 +- .../destinations/user/db-config.json | 1 + .../destinations/user/ui-config.json | 69 +- .../destinations/userlist/db-config.json | 2 +- .../destinations/userlist/schema.json | 511 ++++++++++++++ .../destinations/userlist/ui-config.json | 69 +- .../destinations/variance/db-config.json | 2 +- .../destinations/variance/ui-config.json | 69 +- .../destinations/vero/ui-config.json | 69 +- .../destinations/vitally/db-config.json | 2 +- .../destinations/vitally/ui-config.json | 69 +- .../destinations/vwo/ui-config.json | 69 +- .../destinations/webengage/db-config.json | 2 +- .../destinations/webengage/ui-config.json | 69 +- .../destinations/webhook/db-config.json | 2 +- .../destinations/webhook/ui-config.json | 69 +- .../destinations/woopra/ui-config.json | 69 +- .../destinations/wootric/db-config.json | 1 + .../destinations/wootric/ui-config.json | 69 +- .../destinations/wunderkind/db-config.json | 77 ++- .../destinations/wunderkind/schema.json | 511 ++++++++++++++ .../destinations/wunderkind/ui-config.json | 104 +-- .../destinations/x_audience/schema.json | 97 +++ .../destinations/x_audience/ui-config.json | 104 +-- .../destinations/xpixel/db-config.json | 9 +- .../destinations/xpixel/schema.json | 51 ++ .../destinations/xpixel/ui-config.json | 108 +-- .../destinations/yahoo_dsp/db-config.json | 2 +- .../destinations/yahoo_dsp/ui-config.json | 69 +- .../yandex_metrica/ui-config.json | 69 +- .../db-config.json | 2 +- .../yandex_metrica_offline_events/schema.json | 51 ++ .../ui-config.json | 108 +-- .../destinations/zapier/db-config.json | 1 + .../destinations/zapier/ui-config.json | 69 +- .../destinations/zendesk/db-config.json | 2 +- .../destinations/zendesk/ui-config.json | 69 +- .../destinations/zoho/db-config.json | 2 +- .../destinations/zoho/ui-config.json | 64 +- test/consentManagementFieldsIntegrity.test.ts | 62 +- 424 files changed, 24330 insertions(+), 15612 deletions(-) delete mode 100644 scripts/legacyConsentConfigMigrator.py diff --git a/scripts/legacyConsentConfigMigrator.py b/scripts/legacyConsentConfigMigrator.py deleted file mode 100644 index 9355d9f53..000000000 --- a/scripts/legacyConsentConfigMigrator.py +++ /dev/null @@ -1,650 +0,0 @@ -# THIS IS A TEMPORARY SCRIPT TO MIGRATE LEGACY CONSENT CONFIGURATION FIELDS -# IT NEEDS TO BE DELETED ONCE THE MIGRATION OF ALL THE DESTINATIONS IS DONE -import os -import json -from utils import get_json_from_file, get_formatted_json, is_old_format - - -def update_test_file(supported_source_types, name): - test_file_path = f"./test/data/validation/destinations/{name}.json" - test_data = [] - if os.path.exists(test_file_path): - test_data = get_json_from_file(test_file_path) - - # Clean up the test cases with existing consent management fields - for test in test_data: - if ( - "oneTrustCookieCategories" in test["config"] - and type(test["config"]["oneTrustCookieCategories"]) != dict - ): - del test["config"]["oneTrustCookieCategories"] - if "err" in test: - test["err"] = [ - err for err in test["err"] if "oneTrustCookieCategories" not in err - ] - if "ketchConsentPurposes" in test["config"] != dict: - del test["config"]["ketchConsentPurposes"] - if "err" in test: - test["err"] = [ - err for err in test["err"] if "ketchConsentPurposes" not in err - ] - - if "err" in test and len(test["err"]) == 0: - del test["err"] - - # Filter all the tests that have legacy consent management fields - test_data = [ - test - for test in test_data - if "oneTrustCookieCategories" not in test["config"] - and "ketchConsentPurposes" not in test["config"] - ] - - # Filter invalid tests - test_data = [ - test - for test in test_data - if ("result" in test and test["result"] is not False) - or ("err" in test and len(test["err"]) > 0) - ] - - success_test = {"config": {}} - # Find a successful test case to clone - for test in test_data: - if test.get("result", False) and not test.get("err", None): - success_test = test - break - - # Positive test cases for oneTrustCookieCategories and ketchConsentPurposes - # exploring different data formats and types - one_trust_success_scenarios = [ - [{"oneTrustCookieCategory": "C0001"}, {"oneTrustCookieCategory": "C0002"}], - [{"oneTrustCookieCategory": "C0003"}, {"oneTrustCookieCategory": "C0004"}], - [{"oneTrustCookieCategory": ""}], - [], - [{"oneTrustCookieCategory": "env.ENVIRONMENT_VARIABLE"}], - [ - { - "oneTrustCookieCategory": "{" - + "{" - + " event.properties.prop1 || 'val' " - + "}" - + "}" - } - ], - ] - - ketch_success_scenarios = [ - [{"purpose": "P1"}, {"purpose": "P2"}], - [{"purpose": "P3"}, {"purpose": "P4"}], - [{"purpose": ""}], - [], - [{"purpose": "env.ENVIRONMENT_VARIABLE"}], - [{"purpose": "{" + "{" + " event.properties.prop1 || 'val' " + "}" + "}"}], - ] - - # Prepare the test cases involving each source type - s_idx = 0 - while s_idx < len(one_trust_success_scenarios): - # Clone the successful test case and update the consent management fields - success_test_clone = json.loads(json.dumps(success_test)) - - success_test_clone["config"]["oneTrustCookieCategories"] = {} - success_test_clone["config"]["ketchConsentPurposes"] = {} - - for source_type in supported_source_types: - success_test_clone["config"]["oneTrustCookieCategories"][source_type] = ( - one_trust_success_scenarios[s_idx % len(one_trust_success_scenarios)] - ) - success_test_clone["config"]["ketchConsentPurposes"][source_type] = ( - ketch_success_scenarios[s_idx % len(one_trust_success_scenarios)] - ) - s_idx += 1 - - success_test_clone["result"] = True - test_data.append(success_test_clone) - - # Negative test case where oneTrustCookieCategories and ketchConsentPurposes are not objects - # We don't want to repeat this scenario for each source type - failure_test_1 = json.loads(json.dumps(success_test)) - failure_test_1["config"]["oneTrustCookieCategories"] = [ - {"oneTrustCookieCategory": "C0001"}, - {"oneTrustCookieCategory": "C0002"}, - ] - failure_test_1["config"]["ketchConsentPurposes"] = [ - {"purpose": "P1"}, - {"purpose": "P2"}, - ] - failure_test_1["result"] = False - failure_test_1["err"] = [ - "oneTrustCookieCategories must be object", - "ketchConsentPurposes must be object", - ] - - test_data.append(failure_test_1) - - # Negative test cases for oneTrustCookieCategories and ketchConsentPurposes - one_trust_failure_scenarios = [ - { - "input": [ - { - "oneTrustCookieCategory": "more than 100 characters string - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - {"oneTrustCookieCategory": "C0004"}, - ], - "error": [ - 'oneTrustCookieCategories.ASDF.0.oneTrustCookieCategory must match pattern "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$"', - ], - }, - { - "input": [ - {"oneTrustCookieCategory": {"not": "a string"}}, - {"oneTrustCookieCategory": "C0004"}, - ], - "error": [ - "oneTrustCookieCategories.ASDF.0.oneTrustCookieCategory must be string" - ], - }, - { - "input": {"not": "an array"}, - "error": ["oneTrustCookieCategories.ASDF must be array"], - }, - { - "input": ["not an object", {"oneTrustCookieCategory": "C0004"}], - "error": ["oneTrustCookieCategories.ASDF.0 must be object"], - }, - ] - - ketch_failure_scenarios = [ - { - "input": [ - { - "purpose": "more than 100 characters string - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" - }, - {"purpose": "P4"}, - ], - "error": [ - 'ketchConsentPurposes.ASDF.0.purpose must match pattern "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$"', - ], - }, - { - "input": [{"purpose": {"not": "a string"}}, {"purpose": "P4"}], - "error": ["ketchConsentPurposes.ASDF.0.purpose must be string"], - }, - { - "input": {"not": "an array"}, - "error": ["ketchConsentPurposes.ASDF must be array"], - }, - { - "input": ["not an object", {"purpose": "P4"}], - "error": ["ketchConsentPurposes.ASDF.0 must be object"], - }, - ] - - s_idx = 0 - failure_tcs = [] - while s_idx < len(one_trust_failure_scenarios): - failure_test_clone = json.loads(json.dumps(success_test)) - failure_tcs.append(failure_test_clone) - - failure_test_clone["err"] = [] - failure_test_clone["config"]["oneTrustCookieCategories"] = {} - - for source_type in supported_source_types: - if s_idx >= len(one_trust_failure_scenarios): - break - failure_test_clone["config"]["oneTrustCookieCategories"][source_type] = ( - one_trust_failure_scenarios[s_idx]["input"] - ) - failure_test_clone["err"].extend( - [ - x.replace("ASDF", source_type) - for x in one_trust_failure_scenarios[s_idx]["error"] - ] - ) - - s_idx += 1 - - failure_test_clone["result"] = False - - s_idx = 0 - tc_idx = 0 - while s_idx < len(ketch_failure_scenarios): - failure_test_clone = failure_tcs[tc_idx] - tc_idx += 1 - - failure_test_clone["config"]["ketchConsentPurposes"] = {} - - for source_type in supported_source_types: - if s_idx >= len(ketch_failure_scenarios): - break - failure_test_clone["config"]["ketchConsentPurposes"][source_type] = ( - ketch_failure_scenarios[s_idx]["input"] - ) - failure_test_clone["err"].extend( - [ - x.replace("ASDF", source_type) - for x in ketch_failure_scenarios[s_idx]["error"] - ] - ) - - s_idx += 1 - - failure_test_clone["result"] = False - - test_data.append(failure_test_clone) - - # write to file - with open(test_file_path, "w") as f: - f.write(get_formatted_json(test_data)) - - -def update_schema_file(supported_source_types, name, dir_path): - schema_file = f"./{dir_path}/{name}/schema.json" - schema = {} - - if os.path.exists(schema_file): - schema = get_json_from_file(schema_file) - - config_schema = None - if "configSchema" in schema: - config_schema = schema["configSchema"] - - if not config_schema: - config_schema = { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": {}, - } - - one_trust_cookie_categories_schema = {} - one_trust_cookie_categories_schema["type"] = "object" - one_trust_cookie_categories_schema["properties"] = {} - for source_type in supported_source_types: - one_trust_cookie_categories_schema["properties"][source_type] = { - "type": "array", - "items": { - "type": "object", - "properties": { - "oneTrustCookieCategory": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - } - }, - }, - } - config_schema["properties"][ - "oneTrustCookieCategories" - ] = one_trust_cookie_categories_schema - - ketch_consent_schema = {} - ketch_consent_schema["type"] = "object" - ketch_consent_schema["properties"] = {} - for source_type in supported_source_types: - ketch_consent_schema["properties"][source_type] = { - "type": "array", - "items": { - "type": "object", - "properties": { - "purpose": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - } - }, - }, - } - config_schema["properties"]["ketchConsentPurposes"] = ketch_consent_schema - - schema["configSchema"] = config_schema - - with open(schema_file, "w") as f: - f.write(get_formatted_json(schema)) - - -def update_ui_config_file(name, dir_path): - ui_config_file = f"./{dir_path}/{name}/ui-config.json" - ui_config = get_json_from_file(ui_config_file) - - if is_old_format(ui_config["uiConfig"]): - # Search for existing consent settings section - consent_settings = None - for section in ui_config["uiConfig"]: - if "title" in section and section["title"] == "Consent Settings": - consent_settings = section - break - - gcm_config = None - conf_index = -1 - if consent_settings: - # Search for existing GCM settings - conf_index = ui_config["uiConfig"].index(consent_settings) - for group in consent_settings["fields"]: - if "label" in group and group["label"] == "Consent management settings": - gcm_config = group - break - - # and remove the existing consent settings section - ui_config["uiConfig"].remove(consent_settings) - - # Standard consent settings section with legacy fields - consent_settings = { - "title": "Consent Settings", - "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": False, - } - ], - "preRequisites": { - "featureFlags": [ - {"configKey": "AMP_enable-gcm", "value": False}, - {"configKey": "AMP_enable-gcm"}, - ], - "featureFlagsCondition": "or", - }, - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": False, - } - ], - "preRequisites": { - "featureFlags": [ - {"configKey": "AMP_enable-gcm", "value": False}, - {"configKey": "AMP_enable-gcm"}, - ], - "featureFlagsCondition": "or", - }, - }, - ], - } - - # Restore the GCM settings if it was present - if gcm_config: - consent_settings["fields"].append(gcm_config) - - # Restore the new consent settings in the same position - # or append it to the end of the uiConfig - if conf_index != -1: - ui_config["uiConfig"].insert(conf_index, consent_settings) - else: - ui_config["uiConfig"].append(consent_settings) - - else: - configuration_settings = None - one_trust_consent_settings_found = False - ketch_consent_settings_found = False - one_trust_consent_settings = False - ketch_consent_settings = False - other_settings = None - consent_settings = None - consent_settings_template = None - base_template = ui_config["uiConfig"]["baseTemplate"] - - for key in ui_config["uiConfig"]: - if key == "baseTemplate": - for template_entry in base_template: - # Search for existing consent settings sections - if ( - "title" in template_entry - and template_entry["title"] == "Configuration settings" - ): - configuration_settings = template_entry - for section in template_entry["sections"]: - if ( - not other_settings - and "title" in section - and section["title"] == "Other settings" - ): - other_settings = section - for group in section["groups"]: - if "title" in group and ( - group["title"] == "OneTrust consent settings" - or group["title"] - == "OneTrust cookie consent settings" - ): - one_trust_consent_settings_found = True - one_trust_consent_settings = group - elif ( - "title" in group - and group["title"] == "Ketch consent settings" - ): - ketch_consent_settings_found = True - ketch_consent_settings = group - - if ( - not consent_settings - and "title" in section - and section["title"] == "Consent settings" - ): - consent_settings = section - - # Remove the existing consent settings sections - if ( - one_trust_consent_settings_found - and one_trust_consent_settings - ): - other_settings["groups"].remove(one_trust_consent_settings) - - # Remove the existing consent settings sections - if ketch_consent_settings_found and ketch_consent_settings: - other_settings["groups"].remove(ketch_consent_settings) - elif not consent_settings_template and key == "consentSettingsTemplate": - consent_settings_template = ui_config["uiConfig"][key] - one_trust_consent_settings_found = False - ketch_consent_settings_found = False - - for field in consent_settings_template["fields"]: - if ( - "label" in field - and field["label"] == "OneTrust consent category IDs" - ): - one_trust_consent_settings = field - one_trust_consent_settings_found = True - elif ( - "label" in field - and field["label"] == "Ketch consent purpose IDs" - ): - ketch_consent_settings = field - ketch_consent_settings_found = True - - # delete onetrust and ketch consent settings from the template - if one_trust_consent_settings_found and one_trust_consent_settings: - consent_settings_template["fields"].remove( - one_trust_consent_settings - ) - if ketch_consent_settings_found and ketch_consent_settings: - consent_settings_template["fields"].remove(ketch_consent_settings) - - # Standard consent settings section with legacy fields - new_consent_settings_section = { - "id": "consentSettings", - "title": "Consent settings", - "note": "Configure consent settings for each provider here", - "icon": "settings", - "groups": [], - } - - if not configuration_settings: - configuration_settings = { - "title": "Configuration settings", - "note": "Manage the settings for your destination", - "sections": [new_consent_settings_section], - } - base_template.append(configuration_settings) - else: - if consent_settings: - configuration_settings["sections"].remove(consent_settings) - - if other_settings: - # Insert the new consent settings section before the other settings section - other_settings_idx = configuration_settings["sections"].index( - other_settings - ) - configuration_settings["sections"].insert( - other_settings_idx, new_consent_settings_section - ) - - # Remove the other settings section if it's empty - if len(other_settings["groups"]) == 0: - configuration_settings["sections"].remove(other_settings) - else: - configuration_settings["sections"].append(new_consent_settings_section) - - legacy_fields = [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [{"oneTrustCookieCategory": ""}], - "preRequisites": { - "featureFlags": [ - {"configKey": "AMP_enable-gcm", "value": False}, - {"configKey": "AMP_enable-gcm"}, - ], - "featureFlagsCondition": "or", - }, - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [{"purpose": ""}], - "preRequisites": { - "featureFlags": [ - {"configKey": "AMP_enable-gcm", "value": False}, - {"configKey": "AMP_enable-gcm"}, - ], - "featureFlagsCondition": "or", - }, - }, - ] - - if not consent_settings_template: - consent_settings_template = { - "title": "Consent settings", - "note": "not visible in the ui", - "fields": legacy_fields, - } - ui_config["uiConfig"]["consentSettingsTemplate"] = consent_settings_template - else: - legacy_fields.reverse() - for field in legacy_fields: - consent_settings_template["fields"].insert(0, field) - - with open(ui_config_file, "w") as f: - f.write(get_formatted_json(ui_config)) - - -def update_db_config_file(name, dir_path): - db_config_file = f"./{dir_path}/{name}/db-config.json" - - db_config = get_json_from_file(db_config_file) - supported_source_types = db_config["config"]["supportedSourceTypes"] - - default_config = db_config["config"]["destConfig"]["defaultConfig"] - if "ketchConsentPurposes" in default_config: - default_config.remove("ketchConsentPurposes") - - if "oneTrustCookieCategories" in default_config: - default_config.remove("oneTrustCookieCategories") - - db_config["config"]["destConfig"]["defaultConfig"] = default_config - - device_mode_supported = False - if "supportedConnectionModes" in db_config["config"]: - for source_type in db_config["config"]["supportedConnectionModes"]: - if ( - "device" in db_config["config"]["supportedConnectionModes"][source_type] - or "hybrid" - in db_config["config"]["supportedConnectionModes"][source_type] - ): - device_mode_supported = True - break - - for source_type in db_config["config"]["destConfig"]: - source_type_config = db_config["config"]["destConfig"][source_type] - if ( - "useNativeSDK" in source_type_config - or "useNativeSDKToSend" in source_type_config - ): - device_mode_supported = True - break - - if device_mode_supported: - include_keys = [] - if "includeKeys" in db_config["config"]: - include_keys = db_config["config"]["includeKeys"] - if "oneTrustCookieCategories" not in include_keys: - include_keys.append("oneTrustCookieCategories") - if "ketchConsentPurposes" not in include_keys: - include_keys.append("ketchConsentPurposes") - - db_config["config"]["includeKeys"] = include_keys - - for source_type in supported_source_types: - source_type_config = [] - if source_type in db_config["config"]["destConfig"]: - source_type_config = db_config["config"]["destConfig"][source_type] - else: - print(f"Warning: {source_type} not found in destConfig for {name}") - - if "oneTrustCookieCategories" not in source_type_config: - source_type_config.append("oneTrustCookieCategories") - - if "ketchConsentPurposes" not in source_type_config: - source_type_config.append("ketchConsentPurposes") - - db_config["config"]["destConfig"][source_type] = source_type_config - - # update the file with new config - with open(db_config_file, "w") as f: - f.write(get_formatted_json(db_config)) - - -def get_supported_source_types(name, dir_path): - db_config_file = f"./{dir_path}/{name}/db-config.json" - supported_source_types = [] - db_config = get_json_from_file(db_config_file) - supported_source_types = db_config["config"]["supportedSourceTypes"] - return supported_source_types - - -def restructure_legacy_consent_fields(dest_names, dir_path): - for name in dest_names: - # check if name is a directory - if not os.path.isdir(f"./{dir_path}/{name}"): - continue - - print(f"Processing {name}") - - update_db_config_file(name, dir_path) - supported_source_types = get_supported_source_types(name, dir_path) - update_schema_file(supported_source_types, name, dir_path) - update_test_file(supported_source_types, name) - update_ui_config_file(name, dir_path) diff --git a/scripts/schemaGenerator.py b/scripts/schemaGenerator.py index 876105cdc..39bbe2aba 100644 --- a/scripts/schemaGenerator.py +++ b/scripts/schemaGenerator.py @@ -13,7 +13,6 @@ import warnings from enum import Enum import argparse -from legacyConsentConfigMigrator import restructure_legacy_consent_fields from utils import ( get_json_from_file, get_json_diff, @@ -1537,17 +1536,9 @@ def get_schema_diff(name, selector, shouldUpdateSchema=False): print(f"No {selector}s folder found") exit(1) - if restructureLegacyConsentFields: - restructure_legacy_consent_fields(os.listdir(dir_path), dir_path) - else: - current_items = os.listdir(dir_path) - for name in current_items: - get_schema_diff(name, selector, shouldUpdateSchema) + current_items = os.listdir(dir_path) + for name in current_items: + get_schema_diff(name, selector, shouldUpdateSchema) else: name = args.name - if restructureLegacyConsentFields: - restructure_legacy_consent_fields( - [dest_name.strip() for dest_name in name.split(",")], dir_path - ) - else: - get_schema_diff(name, selector, shouldUpdateSchema) + get_schema_diff(name, selector, shouldUpdateSchema) diff --git a/scripts/template-ui-config.json b/scripts/template-ui-config.json index 33539a767..68d73b9d2 100644 --- a/scripts/template-ui-config.json +++ b/scripts/template-ui-config.json @@ -55,6 +55,78 @@ "title": "Web SDK settings", "note": "not visible in the ui", "fields": [] + }, + "consentSettingsTemplate": { + "title": "Consent settings", + "note": "not visible in the ui", + "fields": [ + { + "type": "dynamicCustomForm", + "configKey": "consentManagement", + "default": [], + "rowFields": [ + { + "type": "singleSelect", + "label": "Consent management provider", + "configKey": "provider", + "options": [ + { + "label": "Custom", + "value": "custom" + }, + { + "label": "Ketch", + "value": "ketch" + }, + { + "label": "OneTrust", + "value": "oneTrust" + } + ], + "default": "oneTrust", + "required": true + }, + { + "type": "singleSelect", + "label": "the required consent logic", + "configKey": "resolutionStrategy", + "options": [ + { + "label": "AND", + "value": "and" + }, + { + "label": "OR", + "value": "or" + } + ], + "required": true, + "variant": "badge", + "preRequisites": { + "fields": [ + { + "configKey": "provider", + "value": "custom" + } + ] + } + }, + { + "type": "tagInput", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "configKey": "consents", + "tagKey": "consent", + "placeholder": "e.g: Marketing", + "default": [ + { + "consent": "" + } + ] + } + ] + } + ] } } } diff --git a/src/configurations/destinations/active_campaign/ui-config.json b/src/configurations/destinations/active_campaign/ui-config.json index 837ceac94..1c3c192ce 100644 --- a/src/configurations/destinations/active_campaign/ui-config.json +++ b/src/configurations/destinations/active_campaign/ui-config.json @@ -112,56 +112,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -215,8 +165,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -226,15 +176,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/adj/ui-config.json b/src/configurations/destinations/adj/ui-config.json index 4222582b5..864bc98a4 100644 --- a/src/configurations/destinations/adj/ui-config.json +++ b/src/configurations/destinations/adj/ui-config.json @@ -134,66 +134,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -247,7 +192,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -258,15 +203,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/adobe_analytics/ui-config.json b/src/configurations/destinations/adobe_analytics/ui-config.json index db2f2fb60..09db547ad 100644 --- a/src/configurations/destinations/adobe_analytics/ui-config.json +++ b/src/configurations/destinations/adobe_analytics/ui-config.json @@ -876,56 +876,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -979,8 +929,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -990,15 +940,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/adroll/ui-config.json b/src/configurations/destinations/adroll/ui-config.json index 23e1c8e0f..ef5047641 100644 --- a/src/configurations/destinations/adroll/ui-config.json +++ b/src/configurations/destinations/adroll/ui-config.json @@ -103,66 +103,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -216,7 +161,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -227,15 +172,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/af/ui-config.json b/src/configurations/destinations/af/ui-config.json index 8a344f206..0b2c78bf7 100644 --- a/src/configurations/destinations/af/ui-config.json +++ b/src/configurations/destinations/af/ui-config.json @@ -218,66 +218,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -331,7 +276,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -342,15 +287,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/airship/db-config.json b/src/configurations/destinations/airship/db-config.json index c5d00e6cd..02c394a11 100644 --- a/src/configurations/destinations/airship/db-config.json +++ b/src/configurations/destinations/airship/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "router", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/airship/schema.json b/src/configurations/destinations/airship/schema.json index 713725d6e..f3bb5ef83 100644 --- a/src/configurations/destinations/airship/schema.json +++ b/src/configurations/destinations/airship/schema.json @@ -276,6 +276,517 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "unity": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "reactnative": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "flutter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "cordova": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/airship/ui-config.json b/src/configurations/destinations/airship/ui-config.json index a090e1c9a..b7704d267 100644 --- a/src/configurations/destinations/airship/ui-config.json +++ b/src/configurations/destinations/airship/ui-config.json @@ -35,66 +35,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -148,7 +93,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -159,15 +104,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/algolia/db-config.json b/src/configurations/destinations/algolia/db-config.json index 03beb0bea..3c294a0e7 100644 --- a/src/configurations/destinations/algolia/db-config.json +++ b/src/configurations/destinations/algolia/db-config.json @@ -5,7 +5,7 @@ "cdkV2Enabled": true, "transformAtV1": "router", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/algolia/schema.json b/src/configurations/destinations/algolia/schema.json index 713725d6e..f3bb5ef83 100644 --- a/src/configurations/destinations/algolia/schema.json +++ b/src/configurations/destinations/algolia/schema.json @@ -276,6 +276,517 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "unity": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "reactnative": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "flutter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "cordova": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/algolia/ui-config.json b/src/configurations/destinations/algolia/ui-config.json index 3e43275bf..d9a2176bf 100644 --- a/src/configurations/destinations/algolia/ui-config.json +++ b/src/configurations/destinations/algolia/ui-config.json @@ -55,66 +55,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -168,7 +113,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -179,15 +124,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/am/ui-config.json b/src/configurations/destinations/am/ui-config.json index d0109c3c0..57553e60c 100644 --- a/src/configurations/destinations/am/ui-config.json +++ b/src/configurations/destinations/am/ui-config.json @@ -714,56 +714,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -817,8 +767,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -828,15 +778,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/amazon_audience/db-config.json b/src/configurations/destinations/amazon_audience/db-config.json index 7ea203fc4..0263b0e28 100644 --- a/src/configurations/destinations/amazon_audience/db-config.json +++ b/src/configurations/destinations/amazon_audience/db-config.json @@ -14,7 +14,7 @@ "syncBehaviours": ["mirror"], "disableJsonMapper": true, "supportsVisualMapper": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "destConfig": { "defaultConfig": [ "rudderAccountId", diff --git a/src/configurations/destinations/amazon_audience/ui-config.json b/src/configurations/destinations/amazon_audience/ui-config.json index 82bdc3867..65ee33c57 100644 --- a/src/configurations/destinations/amazon_audience/ui-config.json +++ b/src/configurations/destinations/amazon_audience/ui-config.json @@ -141,46 +141,7 @@ "title": "Other settings", "note": "Configure advanced RudderStack features here", "icon": "otherSettings", - "groups": [ - { - "title": "OneTrust consent settings", - "note": [ - "Enter your OneTrust consent category IDs if you have them configured. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - { - "text": "Learn more ", - "link": "https://www.rudderstack.com/docs/sources/event-streams/sdks/consent-manager/onetrust/" - }, - "about RudderStack's OneTrust Consent Management feature." - ], - "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - } - ] - } - ] + "groups": [] } ] } @@ -220,31 +181,6 @@ "default": "oneTrust", "required": true }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "singleSelect", "label": "the required consent logic", @@ -272,8 +208,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -283,15 +219,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/appcenter/schema.json b/src/configurations/destinations/appcenter/schema.json index b95de9634..7f5a8fc8e 100644 --- a/src/configurations/destinations/appcenter/schema.json +++ b/src/configurations/destinations/appcenter/schema.json @@ -132,6 +132,241 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "reactnative": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "flutter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "cordova": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/appcenter/ui-config.json b/src/configurations/destinations/appcenter/ui-config.json index 16ec6ad56..891937ac6 100644 --- a/src/configurations/destinations/appcenter/ui-config.json +++ b/src/configurations/destinations/appcenter/ui-config.json @@ -119,66 +119,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -232,7 +177,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -243,15 +188,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/appcues/ui-config.json b/src/configurations/destinations/appcues/ui-config.json index c6b830e7f..833b173cf 100644 --- a/src/configurations/destinations/appcues/ui-config.json +++ b/src/configurations/destinations/appcues/ui-config.json @@ -92,66 +92,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -205,7 +150,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -216,15 +161,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/attentive_tag/db-config.json b/src/configurations/destinations/attentive_tag/db-config.json index 1dd5ea889..4773bc919 100644 --- a/src/configurations/destinations/attentive_tag/db-config.json +++ b/src/configurations/destinations/attentive_tag/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "processor", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/attentive_tag/ui-config.json b/src/configurations/destinations/attentive_tag/ui-config.json index ce24b8bc8..c9e49ad9a 100644 --- a/src/configurations/destinations/attentive_tag/ui-config.json +++ b/src/configurations/destinations/attentive_tag/ui-config.json @@ -30,66 +30,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -143,7 +88,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -154,15 +99,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/attribution/db-config.json b/src/configurations/destinations/attribution/db-config.json index fc8916c01..3d801c80f 100644 --- a/src/configurations/destinations/attribution/db-config.json +++ b/src/configurations/destinations/attribution/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "processor", "saveDestinationResponse": false, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/attribution/ui-config.json b/src/configurations/destinations/attribution/ui-config.json index fd9f56fb2..48d738805 100644 --- a/src/configurations/destinations/attribution/ui-config.json +++ b/src/configurations/destinations/attribution/ui-config.json @@ -17,66 +17,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -130,7 +75,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -141,15 +86,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/autopilot/db-config.json b/src/configurations/destinations/autopilot/db-config.json index 57b2420be..fc7cae601 100644 --- a/src/configurations/destinations/autopilot/db-config.json +++ b/src/configurations/destinations/autopilot/db-config.json @@ -5,7 +5,7 @@ "transformAtV1": "processor", "cdkV2Enabled": true, "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/autopilot/schema.json b/src/configurations/destinations/autopilot/schema.json index 01b22eba3..5480a982a 100644 --- a/src/configurations/destinations/autopilot/schema.json +++ b/src/configurations/destinations/autopilot/schema.json @@ -276,6 +276,517 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "unity": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "reactnative": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "flutter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "cordova": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/autopilot/ui-config.json b/src/configurations/destinations/autopilot/ui-config.json index dd04c9da7..a2d3a46dc 100644 --- a/src/configurations/destinations/autopilot/ui-config.json +++ b/src/configurations/destinations/autopilot/ui-config.json @@ -26,66 +26,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -139,7 +84,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -150,15 +95,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/awin/db-config.json b/src/configurations/destinations/awin/db-config.json index 0207aea2e..924f899a7 100644 --- a/src/configurations/destinations/awin/db-config.json +++ b/src/configurations/destinations/awin/db-config.json @@ -9,6 +9,7 @@ "eventsToTrack", "customFieldMap", "oneTrustCookieCategories", + "ketchConsentPurposes", "consentManagement" ], "excludeKeys": [], diff --git a/src/configurations/destinations/awin/ui-config.json b/src/configurations/destinations/awin/ui-config.json index a20d3e50c..bad7708da 100644 --- a/src/configurations/destinations/awin/ui-config.json +++ b/src/configurations/destinations/awin/ui-config.json @@ -55,66 +55,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -168,7 +113,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -179,15 +124,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/axeptio/ui-config.json b/src/configurations/destinations/axeptio/ui-config.json index 264f24b95..b44400f35 100644 --- a/src/configurations/destinations/axeptio/ui-config.json +++ b/src/configurations/destinations/axeptio/ui-config.json @@ -91,66 +91,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -204,7 +149,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -215,15 +160,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/azure_blob/db-config.json b/src/configurations/destinations/azure_blob/db-config.json index 073bc2d4c..e7cb081b6 100644 --- a/src/configurations/destinations/azure_blob/db-config.json +++ b/src/configurations/destinations/azure_blob/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "none", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/azure_blob/schema.json b/src/configurations/destinations/azure_blob/schema.json index 01b22eba3..5480a982a 100644 --- a/src/configurations/destinations/azure_blob/schema.json +++ b/src/configurations/destinations/azure_blob/schema.json @@ -276,6 +276,517 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "unity": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "reactnative": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "flutter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "cordova": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/azure_blob/ui-config.json b/src/configurations/destinations/azure_blob/ui-config.json index 074d21211..f32658f80 100644 --- a/src/configurations/destinations/azure_blob/ui-config.json +++ b/src/configurations/destinations/azure_blob/ui-config.json @@ -74,66 +74,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -187,7 +132,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -198,15 +143,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/azure_datalake/db-config.json b/src/configurations/destinations/azure_datalake/db-config.json index d41ff77f4..7befc5b24 100644 --- a/src/configurations/destinations/azure_datalake/db-config.json +++ b/src/configurations/destinations/azure_datalake/db-config.json @@ -5,7 +5,7 @@ "config": { "transformAtV1": "processor", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/azure_datalake/ui-config.json b/src/configurations/destinations/azure_datalake/ui-config.json index 993582e19..fb7fddf7f 100644 --- a/src/configurations/destinations/azure_datalake/ui-config.json +++ b/src/configurations/destinations/azure_datalake/ui-config.json @@ -165,66 +165,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -278,7 +223,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -289,15 +234,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/azure_event_hub/db-config.json b/src/configurations/destinations/azure_event_hub/db-config.json index c13f5be6b..349ede42f 100644 --- a/src/configurations/destinations/azure_event_hub/db-config.json +++ b/src/configurations/destinations/azure_event_hub/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "processor", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/azure_event_hub/schema.json b/src/configurations/destinations/azure_event_hub/schema.json index 01b22eba3..5480a982a 100644 --- a/src/configurations/destinations/azure_event_hub/schema.json +++ b/src/configurations/destinations/azure_event_hub/schema.json @@ -276,6 +276,517 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "unity": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "reactnative": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "flutter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "cordova": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/azure_event_hub/ui-config.json b/src/configurations/destinations/azure_event_hub/ui-config.json index 434017d26..3deb2b54b 100644 --- a/src/configurations/destinations/azure_event_hub/ui-config.json +++ b/src/configurations/destinations/azure_event_hub/ui-config.json @@ -35,66 +35,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -148,7 +93,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -159,15 +104,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/azure_synapse/db-config.json b/src/configurations/destinations/azure_synapse/db-config.json index 989d8374b..743c6d41d 100644 --- a/src/configurations/destinations/azure_synapse/db-config.json +++ b/src/configurations/destinations/azure_synapse/db-config.json @@ -5,7 +5,7 @@ "config": { "transformAtV1": "processor", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/azure_synapse/ui-config.json b/src/configurations/destinations/azure_synapse/ui-config.json index 9d8d6f840..f1bdc43ee 100644 --- a/src/configurations/destinations/azure_synapse/ui-config.json +++ b/src/configurations/destinations/azure_synapse/ui-config.json @@ -583,66 +583,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -696,7 +641,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -707,15 +652,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/bingads/ui-config.json b/src/configurations/destinations/bingads/ui-config.json index 6e72901e6..f8b04aee4 100644 --- a/src/configurations/destinations/bingads/ui-config.json +++ b/src/configurations/destinations/bingads/ui-config.json @@ -102,66 +102,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -215,7 +160,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -226,15 +171,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/bingads_audience/db-config.json b/src/configurations/destinations/bingads_audience/db-config.json index ee0d3e28c..a69d8ce6c 100644 --- a/src/configurations/destinations/bingads_audience/db-config.json +++ b/src/configurations/destinations/bingads_audience/db-config.json @@ -9,7 +9,7 @@ }, "transformAtV1": "processor", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": ["cloud", "warehouse", "shopify"], "supportedMessageTypes": { diff --git a/src/configurations/destinations/bingads_audience/ui-config.json b/src/configurations/destinations/bingads_audience/ui-config.json index e8f062521..8a42ce340 100644 --- a/src/configurations/destinations/bingads_audience/ui-config.json +++ b/src/configurations/destinations/bingads_audience/ui-config.json @@ -48,66 +48,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -161,7 +106,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -172,15 +117,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/bingads_offline_conversions/db-config.json b/src/configurations/destinations/bingads_offline_conversions/db-config.json index 8281f53d0..084f502a1 100644 --- a/src/configurations/destinations/bingads_offline_conversions/db-config.json +++ b/src/configurations/destinations/bingads_offline_conversions/db-config.json @@ -8,7 +8,7 @@ "auth": { "type": "OAuth" }, - "includeKeys": ["oneTrustCookieCategories"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": ["warehouse"], "supportedMessageTypes": { @@ -21,7 +21,12 @@ }, "destConfig": { "defaultConfig": ["rudderAccountId", "customerAccountId", "customerId"], - "warehouse": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"] + "warehouse": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ] } }, "options": { diff --git a/src/configurations/destinations/bingads_offline_conversions/schema.json b/src/configurations/destinations/bingads_offline_conversions/schema.json index 4887b0583..7b8b42c51 100644 --- a/src/configurations/destinations/bingads_offline_conversions/schema.json +++ b/src/configurations/destinations/bingads_offline_conversions/schema.json @@ -54,6 +54,57 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/bingads_offline_conversions/ui-config.json b/src/configurations/destinations/bingads_offline_conversions/ui-config.json index 201f0723b..96da2f9ff 100644 --- a/src/configurations/destinations/bingads_offline_conversions/ui-config.json +++ b/src/configurations/destinations/bingads_offline_conversions/ui-config.json @@ -78,54 +78,70 @@ "note": "not visible in the ui", "fields": [ { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ + "type": "dynamicCustomForm", + "configKey": "consentManagement", + "default": [], + "rowFields": [ { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" + "type": "singleSelect", + "label": "Consent management provider", + "configKey": "provider", + "options": [ + { + "label": "Custom", + "value": "custom" + }, + { + "label": "Ketch", + "value": "ketch" + }, + { + "label": "OneTrust", + "value": "oneTrust" + } + ], + "default": "oneTrust", + "required": true + }, + { + "type": "singleSelect", + "label": "the required consent logic", + "configKey": "resolutionStrategy", + "options": [ + { + "label": "AND", + "value": "and" + }, + { + "label": "OR", + "value": "or" + } + ], + "required": true, + "variant": "badge", + "preRequisites": { + "fields": [ + { + "configKey": "provider", + "value": "custom" + } + ] } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ + }, { - "purpose": "" + "type": "tagInput", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "configKey": "consents", + "tagKey": "consent", + "placeholder": "e.g: Marketing", + "default": [ + { + "consent": "" + } + ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } + ] } ] } diff --git a/src/configurations/destinations/bloomreach/ui-config.json b/src/configurations/destinations/bloomreach/ui-config.json index c7afbfe17..74deccc3b 100644 --- a/src/configurations/destinations/bloomreach/ui-config.json +++ b/src/configurations/destinations/bloomreach/ui-config.json @@ -119,56 +119,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -222,8 +172,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -233,15 +183,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/bloomreach_catalog/ui-config.json b/src/configurations/destinations/bloomreach_catalog/ui-config.json index 8daf87452..074a50bd6 100644 --- a/src/configurations/destinations/bloomreach_catalog/ui-config.json +++ b/src/configurations/destinations/bloomreach_catalog/ui-config.json @@ -110,56 +110,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -213,8 +163,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -224,15 +174,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/bluecore/ui-config.json b/src/configurations/destinations/bluecore/ui-config.json index d5faaee95..61fc5e04a 100644 --- a/src/configurations/destinations/bluecore/ui-config.json +++ b/src/configurations/destinations/bluecore/ui-config.json @@ -139,56 +139,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -242,8 +192,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -253,15 +203,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/blueshift/db-config.json b/src/configurations/destinations/blueshift/db-config.json index 70e18dcf0..f2647cd4a 100644 --- a/src/configurations/destinations/blueshift/db-config.json +++ b/src/configurations/destinations/blueshift/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "router", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/blueshift/schema.json b/src/configurations/destinations/blueshift/schema.json index 75f3ed45d..d84a45bd8 100644 --- a/src/configurations/destinations/blueshift/schema.json +++ b/src/configurations/destinations/blueshift/schema.json @@ -276,6 +276,517 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "unity": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "reactnative": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "flutter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "cordova": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/blueshift/ui-config.json b/src/configurations/destinations/blueshift/ui-config.json index 9162197a7..df4102ae3 100644 --- a/src/configurations/destinations/blueshift/ui-config.json +++ b/src/configurations/destinations/blueshift/ui-config.json @@ -49,66 +49,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -162,7 +107,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -173,15 +118,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/bq/db-config.json b/src/configurations/destinations/bq/db-config.json index dc87d8e71..88260654f 100644 --- a/src/configurations/destinations/bq/db-config.json +++ b/src/configurations/destinations/bq/db-config.json @@ -5,7 +5,7 @@ "config": { "transformAtV1": "processor", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/bq/ui-config.json b/src/configurations/destinations/bq/ui-config.json index 597214315..a8d6fb125 100644 --- a/src/configurations/destinations/bq/ui-config.json +++ b/src/configurations/destinations/bq/ui-config.json @@ -238,66 +238,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -351,7 +296,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -362,15 +307,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/bqstream/db-config.json b/src/configurations/destinations/bqstream/db-config.json index 6307e27f8..aca0a3a39 100644 --- a/src/configurations/destinations/bqstream/db-config.json +++ b/src/configurations/destinations/bqstream/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "router", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedMessageTypes": { "cloud": ["track"] diff --git a/src/configurations/destinations/bqstream/ui-config.json b/src/configurations/destinations/bqstream/ui-config.json index 4b641d49c..dfe29cb9a 100644 --- a/src/configurations/destinations/bqstream/ui-config.json +++ b/src/configurations/destinations/bqstream/ui-config.json @@ -48,66 +48,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -161,7 +106,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -172,15 +117,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/branch/schema.json b/src/configurations/destinations/branch/schema.json index 01b22eba3..5480a982a 100644 --- a/src/configurations/destinations/branch/schema.json +++ b/src/configurations/destinations/branch/schema.json @@ -276,6 +276,517 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "unity": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "reactnative": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "flutter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "cordova": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/branch/ui-config.json b/src/configurations/destinations/branch/ui-config.json index 78a3c4d66..242ad5645 100644 --- a/src/configurations/destinations/branch/ui-config.json +++ b/src/configurations/destinations/branch/ui-config.json @@ -202,66 +202,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -315,7 +260,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -326,15 +271,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/braze/ui-config.json b/src/configurations/destinations/braze/ui-config.json index eac9c8776..a733b712d 100644 --- a/src/configurations/destinations/braze/ui-config.json +++ b/src/configurations/destinations/braze/ui-config.json @@ -517,56 +517,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -620,8 +570,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -631,15 +581,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/bugsnag/ui-config.json b/src/configurations/destinations/bugsnag/ui-config.json index 359679049..e9fd35530 100644 --- a/src/configurations/destinations/bugsnag/ui-config.json +++ b/src/configurations/destinations/bugsnag/ui-config.json @@ -93,66 +93,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -206,7 +151,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -217,15 +162,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/campaign_manager/db-config.json b/src/configurations/destinations/campaign_manager/db-config.json index 640482895..caebd3c78 100644 --- a/src/configurations/destinations/campaign_manager/db-config.json +++ b/src/configurations/destinations/campaign_manager/db-config.json @@ -9,7 +9,7 @@ "rudderScopes": ["delivery"] }, "transformAtV1": "router", - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/campaign_manager/ui-config.json b/src/configurations/destinations/campaign_manager/ui-config.json index 7cef4db69..2f377808e 100644 --- a/src/configurations/destinations/campaign_manager/ui-config.json +++ b/src/configurations/destinations/campaign_manager/ui-config.json @@ -75,66 +75,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -188,7 +133,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -199,15 +144,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/candu/db-config.json b/src/configurations/destinations/candu/db-config.json index 8a71b00f8..bd092bc64 100644 --- a/src/configurations/destinations/candu/db-config.json +++ b/src/configurations/destinations/candu/db-config.json @@ -4,7 +4,12 @@ "config": { "transformAtV1": "router", "saveDestinationResponse": true, - "includeKeys": ["apiKey", "oneTrustCookieCategories", "consentManagement"], + "includeKeys": [ + "apiKey", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/candu/ui-config.json b/src/configurations/destinations/candu/ui-config.json index 12426313c..fb3c611a8 100644 --- a/src/configurations/destinations/candu/ui-config.json +++ b/src/configurations/destinations/candu/ui-config.json @@ -17,66 +17,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -130,7 +75,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -141,15 +86,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/canny/db-config.json b/src/configurations/destinations/canny/db-config.json index 6cf8aa78a..7c31082a4 100644 --- a/src/configurations/destinations/canny/db-config.json +++ b/src/configurations/destinations/canny/db-config.json @@ -4,7 +4,13 @@ "config": { "transformAtV1": "router", "saveDestinationResponse": true, - "includeKeys": ["apiKey", "eventsToEvents", "oneTrustCookieCategories", "consentManagement"], + "includeKeys": [ + "apiKey", + "eventsToEvents", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/canny/ui-config.json b/src/configurations/destinations/canny/ui-config.json index c6eda6ca6..bff6637cd 100644 --- a/src/configurations/destinations/canny/ui-config.json +++ b/src/configurations/destinations/canny/ui-config.json @@ -44,66 +44,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -157,7 +102,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -168,15 +113,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/chartbeat/ui-config.json b/src/configurations/destinations/chartbeat/ui-config.json index 89243dec8..4b2a54189 100644 --- a/src/configurations/destinations/chartbeat/ui-config.json +++ b/src/configurations/destinations/chartbeat/ui-config.json @@ -109,66 +109,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -222,7 +167,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -233,15 +178,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/clevertap/ui-config.json b/src/configurations/destinations/clevertap/ui-config.json index b56e72dcf..ab1d0e248 100644 --- a/src/configurations/destinations/clevertap/ui-config.json +++ b/src/configurations/destinations/clevertap/ui-config.json @@ -156,66 +156,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -269,7 +214,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -280,15 +225,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/clickhouse/db-config.json b/src/configurations/destinations/clickhouse/db-config.json index 41e919a1b..95a34d4a5 100644 --- a/src/configurations/destinations/clickhouse/db-config.json +++ b/src/configurations/destinations/clickhouse/db-config.json @@ -6,7 +6,7 @@ "transformAtV1": "processor", "saveDestinationResponse": true, "excludeKeys": [], - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "supportedSourceTypes": [ "android", "ios", diff --git a/src/configurations/destinations/clickhouse/ui-config.json b/src/configurations/destinations/clickhouse/ui-config.json index 99db4f4d5..7ae38b764 100644 --- a/src/configurations/destinations/clickhouse/ui-config.json +++ b/src/configurations/destinations/clickhouse/ui-config.json @@ -591,66 +591,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -704,7 +649,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -715,15 +660,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/clicksend/db-config.json b/src/configurations/destinations/clicksend/db-config.json index 43092fbfd..52ad5f843 100644 --- a/src/configurations/destinations/clicksend/db-config.json +++ b/src/configurations/destinations/clicksend/db-config.json @@ -44,17 +44,72 @@ "defaultSource", "defaultSenderId" ], - "android": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "ios": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "unity": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "amp": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "reactnative": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "flutter": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "cordova": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "web": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "cloud": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "shopify": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "warehouse": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"] + "android": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "ios": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "unity": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "amp": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "reactnative": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "flutter": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "cordova": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "web": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "cloud": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "shopify": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "warehouse": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ] }, "secretKeys": [ "clicksendUsername", diff --git a/src/configurations/destinations/clicksend/schema.json b/src/configurations/destinations/clicksend/schema.json index db6b031b2..7ac3e47b2 100644 --- a/src/configurations/destinations/clicksend/schema.json +++ b/src/configurations/destinations/clicksend/schema.json @@ -351,6 +351,517 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "unity": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "reactnative": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "flutter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "cordova": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/clicksend/ui-config.json b/src/configurations/destinations/clicksend/ui-config.json index ce08460b6..dc5b20fd0 100644 --- a/src/configurations/destinations/clicksend/ui-config.json +++ b/src/configurations/destinations/clicksend/ui-config.json @@ -145,54 +145,70 @@ "note": "not visible in the ui", "fields": [ { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ + "type": "dynamicCustomForm", + "configKey": "consentManagement", + "default": [], + "rowFields": [ { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" + "type": "singleSelect", + "label": "Consent management provider", + "configKey": "provider", + "options": [ + { + "label": "Custom", + "value": "custom" + }, + { + "label": "Ketch", + "value": "ketch" + }, + { + "label": "OneTrust", + "value": "oneTrust" + } + ], + "default": "oneTrust", + "required": true + }, + { + "type": "singleSelect", + "label": "the required consent logic", + "configKey": "resolutionStrategy", + "options": [ + { + "label": "AND", + "value": "and" + }, + { + "label": "OR", + "value": "or" + } + ], + "required": true, + "variant": "badge", + "preRequisites": { + "fields": [ + { + "configKey": "provider", + "value": "custom" + } + ] } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ + }, { - "purpose": "" + "type": "tagInput", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "configKey": "consents", + "tagKey": "consent", + "placeholder": "e.g: Marketing", + "default": [ + { + "consent": "" + } + ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } + ] } ] } diff --git a/src/configurations/destinations/clickup/db-config.json b/src/configurations/destinations/clickup/db-config.json index 0e3a90b72..969a63423 100644 --- a/src/configurations/destinations/clickup/db-config.json +++ b/src/configurations/destinations/clickup/db-config.json @@ -10,6 +10,7 @@ "keyToCustomFieldName", "whitelistedEvents", "oneTrustCookieCategories", + "ketchConsentPurposes", "consentManagement" ], "excludeKeys": [], diff --git a/src/configurations/destinations/clickup/ui-config.json b/src/configurations/destinations/clickup/ui-config.json index b7b7cf42e..fae266035 100644 --- a/src/configurations/destinations/clickup/ui-config.json +++ b/src/configurations/destinations/clickup/ui-config.json @@ -67,66 +67,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -180,7 +125,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -191,15 +136,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/commandbar/ui-config.json b/src/configurations/destinations/commandbar/ui-config.json index 6cf1a59f6..3f64633cc 100644 --- a/src/configurations/destinations/commandbar/ui-config.json +++ b/src/configurations/destinations/commandbar/ui-config.json @@ -106,7 +106,7 @@ { "type": "tagInput", "label": "Allowlisted events", - "note": "Input separate events by pressing ‘Enter’.\nInput the events you want to allowlist.", + "note": "Input separate events by pressing 'Enter'.\nInput the events you want to allowlist.", "configKey": "whitelistedEvents", "tagKey": "eventName", "placeholder": "e.g: Anonymous page visit", @@ -127,7 +127,7 @@ { "type": "tagInput", "label": "Denylisted events", - "note": "Input separate events by pressing ‘Enter’.\nInput the events you want to denylist. ", + "note": "Input separate events by pressing 'Enter'.\nInput the events you want to denylist. ", "configKey": "blacklistedEvents", "tagKey": "eventName", "placeholder": "e.g: Anonymous page visit", @@ -161,56 +161,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -264,8 +214,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -275,15 +225,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/comscore/ui-config.json b/src/configurations/destinations/comscore/ui-config.json index 65c00442f..1c5217f78 100644 --- a/src/configurations/destinations/comscore/ui-config.json +++ b/src/configurations/destinations/comscore/ui-config.json @@ -129,66 +129,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -242,7 +187,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -253,15 +198,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/confluent_cloud/db-config.json b/src/configurations/destinations/confluent_cloud/db-config.json index 018200857..8d9cd3529 100644 --- a/src/configurations/destinations/confluent_cloud/db-config.json +++ b/src/configurations/destinations/confluent_cloud/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "processor", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/confluent_cloud/ui-config.json b/src/configurations/destinations/confluent_cloud/ui-config.json index eca5a39af..8eb7473dc 100644 --- a/src/configurations/destinations/confluent_cloud/ui-config.json +++ b/src/configurations/destinations/confluent_cloud/ui-config.json @@ -45,66 +45,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -158,7 +103,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -169,15 +114,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/convertflow/ui-config.json b/src/configurations/destinations/convertflow/ui-config.json index ed3ef22e5..11466e8ac 100644 --- a/src/configurations/destinations/convertflow/ui-config.json +++ b/src/configurations/destinations/convertflow/ui-config.json @@ -187,66 +187,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -300,7 +245,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -311,15 +256,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/cordial/db-config.json b/src/configurations/destinations/cordial/db-config.json index e8883a22d..9eda6f3ad 100644 --- a/src/configurations/destinations/cordial/db-config.json +++ b/src/configurations/destinations/cordial/db-config.json @@ -36,17 +36,72 @@ }, "destConfig": { "defaultConfig": ["apiKey", "apiBaseUrl"], - "android": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "ios": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "web": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "unity": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "amp": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "cloud": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "warehouse": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "reactnative": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "flutter": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "cordova": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "shopify": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"] + "android": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "ios": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "web": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "unity": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "amp": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "cloud": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "warehouse": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "reactnative": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "flutter": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "cordova": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "shopify": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ] }, "secretKeys": ["apiKey"] }, diff --git a/src/configurations/destinations/cordial/schema.json b/src/configurations/destinations/cordial/schema.json index f3ddfd1ae..a56b2279f 100644 --- a/src/configurations/destinations/cordial/schema.json +++ b/src/configurations/destinations/cordial/schema.json @@ -334,6 +334,517 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "unity": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "reactnative": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "flutter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "cordova": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/cordial/ui-config.json b/src/configurations/destinations/cordial/ui-config.json index cdadee857..105eea3a9 100644 --- a/src/configurations/destinations/cordial/ui-config.json +++ b/src/configurations/destinations/cordial/ui-config.json @@ -81,54 +81,70 @@ "note": "not visible in the ui", "fields": [ { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ + "type": "dynamicCustomForm", + "configKey": "consentManagement", + "default": [], + "rowFields": [ { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" + "type": "singleSelect", + "label": "Consent management provider", + "configKey": "provider", + "options": [ + { + "label": "Custom", + "value": "custom" + }, + { + "label": "Ketch", + "value": "ketch" + }, + { + "label": "OneTrust", + "value": "oneTrust" + } + ], + "default": "oneTrust", + "required": true + }, + { + "type": "singleSelect", + "label": "the required consent logic", + "configKey": "resolutionStrategy", + "options": [ + { + "label": "AND", + "value": "and" + }, + { + "label": "OR", + "value": "or" + } + ], + "required": true, + "variant": "badge", + "preRequisites": { + "fields": [ + { + "configKey": "provider", + "value": "custom" + } + ] } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ + }, { - "purpose": "" + "type": "tagInput", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "configKey": "consents", + "tagKey": "consent", + "placeholder": "e.g: Marketing", + "default": [ + { + "consent": "" + } + ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } + ] } ] } diff --git a/src/configurations/destinations/courier/db-config.json b/src/configurations/destinations/courier/db-config.json index 35fe37e53..491b5b54b 100644 --- a/src/configurations/destinations/courier/db-config.json +++ b/src/configurations/destinations/courier/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "processor", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/courier/ui-config.json b/src/configurations/destinations/courier/ui-config.json index d1f6cf34e..6d5d45e1e 100644 --- a/src/configurations/destinations/courier/ui-config.json +++ b/src/configurations/destinations/courier/ui-config.json @@ -20,66 +20,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -133,7 +78,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -144,15 +89,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/criteo/ui-config.json b/src/configurations/destinations/criteo/ui-config.json index 898675ab2..2b9cfb497 100644 --- a/src/configurations/destinations/criteo/ui-config.json +++ b/src/configurations/destinations/criteo/ui-config.json @@ -136,66 +136,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -249,7 +194,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -260,15 +205,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] }, diff --git a/src/configurations/destinations/criteo_audience/db-config.json b/src/configurations/destinations/criteo_audience/db-config.json index 3af2db640..deb988755 100644 --- a/src/configurations/destinations/criteo_audience/db-config.json +++ b/src/configurations/destinations/criteo_audience/db-config.json @@ -11,7 +11,7 @@ }, "transformAtV1": "router", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": ["cloud", "warehouse", "shopify"], "syncBehaviours": ["mirror"], diff --git a/src/configurations/destinations/criteo_audience/ui-config.json b/src/configurations/destinations/criteo_audience/ui-config.json index cb72c6dae..e26207011 100644 --- a/src/configurations/destinations/criteo_audience/ui-config.json +++ b/src/configurations/destinations/criteo_audience/ui-config.json @@ -73,66 +73,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -186,7 +131,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -197,15 +142,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/custify/db-config.json b/src/configurations/destinations/custify/db-config.json index e2851514e..835d547a2 100644 --- a/src/configurations/destinations/custify/db-config.json +++ b/src/configurations/destinations/custify/db-config.json @@ -4,7 +4,13 @@ "config": { "transformAtV1": "router", "saveDestinationResponse": true, - "includeKeys": ["apiKey", "sendAnonymousId", "oneTrustCookieCategories", "consentManagement"], + "includeKeys": [ + "apiKey", + "sendAnonymousId", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/custify/ui-config.json b/src/configurations/destinations/custify/ui-config.json index d1dc498cb..acbd1f8cf 100644 --- a/src/configurations/destinations/custify/ui-config.json +++ b/src/configurations/destinations/custify/ui-config.json @@ -23,66 +23,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -136,7 +81,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -147,15 +92,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/customerio/ui-config.json b/src/configurations/destinations/customerio/ui-config.json index d015c746f..67b95cc99 100644 --- a/src/configurations/destinations/customerio/ui-config.json +++ b/src/configurations/destinations/customerio/ui-config.json @@ -146,7 +146,7 @@ { "type": "tagInput", "label": "Allowlisted events", - "note": "Input separate events by pressing ‘Enter’.\nInput the events you want to allowlist.", + "note": "Input separate events by pressing 'Enter'.\nInput the events you want to allowlist.", "configKey": "whitelistedEvents", "tagKey": "eventName", "placeholder": "e.g: Anonymous page visit", @@ -167,7 +167,7 @@ { "type": "tagInput", "label": "Denylisted events", - "note": "Input separate events by pressing ‘Enter’.\nInput the events you want to denylist. ", + "note": "Input separate events by pressing 'Enter'.\nInput the events you want to denylist. ", "configKey": "blacklistedEvents", "tagKey": "eventName", "placeholder": "e.g: Anonymous page visit", @@ -245,56 +245,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -348,8 +298,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -359,15 +309,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/dcm_floodlight/ui-config.json b/src/configurations/destinations/dcm_floodlight/ui-config.json index e1f255441..34fdec7c3 100644 --- a/src/configurations/destinations/dcm_floodlight/ui-config.json +++ b/src/configurations/destinations/dcm_floodlight/ui-config.json @@ -218,66 +218,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -331,7 +276,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -342,15 +287,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/delighted/db-config.json b/src/configurations/destinations/delighted/db-config.json index baaf19818..65b61f3ce 100644 --- a/src/configurations/destinations/delighted/db-config.json +++ b/src/configurations/destinations/delighted/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "router", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/delighted/ui-config.json b/src/configurations/destinations/delighted/ui-config.json index e9e3d812c..32bfccbe2 100644 --- a/src/configurations/destinations/delighted/ui-config.json +++ b/src/configurations/destinations/delighted/ui-config.json @@ -66,66 +66,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -179,7 +124,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -190,15 +135,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/deltalake/db-config.json b/src/configurations/destinations/deltalake/db-config.json index f14e4a5e5..f9a4167af 100644 --- a/src/configurations/destinations/deltalake/db-config.json +++ b/src/configurations/destinations/deltalake/db-config.json @@ -5,7 +5,7 @@ "config": { "transformAtV1": "processor", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/deltalake/ui-config.json b/src/configurations/destinations/deltalake/ui-config.json index 19a463c33..45d425fb4 100644 --- a/src/configurations/destinations/deltalake/ui-config.json +++ b/src/configurations/destinations/deltalake/ui-config.json @@ -558,66 +558,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -671,7 +616,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -682,15 +627,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/digital_ocean_spaces/db-config.json b/src/configurations/destinations/digital_ocean_spaces/db-config.json index 8951f5273..5a9c779e9 100644 --- a/src/configurations/destinations/digital_ocean_spaces/db-config.json +++ b/src/configurations/destinations/digital_ocean_spaces/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "none", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/digital_ocean_spaces/ui-config.json b/src/configurations/destinations/digital_ocean_spaces/ui-config.json index 3125d9f0b..eeb354024 100644 --- a/src/configurations/destinations/digital_ocean_spaces/ui-config.json +++ b/src/configurations/destinations/digital_ocean_spaces/ui-config.json @@ -56,66 +56,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -169,7 +114,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -180,15 +125,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/discord/db-config.json b/src/configurations/destinations/discord/db-config.json index fb1d48822..de749101d 100644 --- a/src/configurations/destinations/discord/db-config.json +++ b/src/configurations/destinations/discord/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "processor", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/discord/ui-config.json b/src/configurations/destinations/discord/ui-config.json index a9ffede06..9766ee722 100644 --- a/src/configurations/destinations/discord/ui-config.json +++ b/src/configurations/destinations/discord/ui-config.json @@ -133,66 +133,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -246,7 +191,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -257,15 +202,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/drip/ui-config.json b/src/configurations/destinations/drip/ui-config.json index 0a28ae033..8c1e87cb1 100644 --- a/src/configurations/destinations/drip/ui-config.json +++ b/src/configurations/destinations/drip/ui-config.json @@ -110,66 +110,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -223,7 +168,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -234,15 +179,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/dynamic_yield/db-config.json b/src/configurations/destinations/dynamic_yield/db-config.json index a2af03a4c..577250221 100644 --- a/src/configurations/destinations/dynamic_yield/db-config.json +++ b/src/configurations/destinations/dynamic_yield/db-config.json @@ -5,7 +5,7 @@ "cdkV2Enabled": true, "transformAtV1": "processor", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/dynamic_yield/ui-config.json b/src/configurations/destinations/dynamic_yield/ui-config.json index 5b6f05e19..1c7ccdc54 100644 --- a/src/configurations/destinations/dynamic_yield/ui-config.json +++ b/src/configurations/destinations/dynamic_yield/ui-config.json @@ -86,56 +86,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -189,8 +139,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -200,15 +150,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/eloqua/db-config.json b/src/configurations/destinations/eloqua/db-config.json index 967ab36bc..9d611bed6 100644 --- a/src/configurations/destinations/eloqua/db-config.json +++ b/src/configurations/destinations/eloqua/db-config.json @@ -17,8 +17,18 @@ }, "destConfig": { "defaultConfig": ["companyName", "password", "userName"], - "cloud": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "warehouse": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"] + "cloud": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "warehouse": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ] }, "secretKeys": ["password"] }, diff --git a/src/configurations/destinations/eloqua/schema.json b/src/configurations/destinations/eloqua/schema.json index 95a8737d3..6dfdb92d4 100644 --- a/src/configurations/destinations/eloqua/schema.json +++ b/src/configurations/destinations/eloqua/schema.json @@ -86,6 +86,103 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/eloqua/ui-config.json b/src/configurations/destinations/eloqua/ui-config.json index ed5157fd8..3b46eb575 100644 --- a/src/configurations/destinations/eloqua/ui-config.json +++ b/src/configurations/destinations/eloqua/ui-config.json @@ -86,54 +86,70 @@ "note": "not visible in the ui", "fields": [ { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ + "type": "dynamicCustomForm", + "configKey": "consentManagement", + "default": [], + "rowFields": [ { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" + "type": "singleSelect", + "label": "Consent management provider", + "configKey": "provider", + "options": [ + { + "label": "Custom", + "value": "custom" + }, + { + "label": "Ketch", + "value": "ketch" + }, + { + "label": "OneTrust", + "value": "oneTrust" + } + ], + "default": "oneTrust", + "required": true + }, + { + "type": "singleSelect", + "label": "the required consent logic", + "configKey": "resolutionStrategy", + "options": [ + { + "label": "AND", + "value": "and" + }, + { + "label": "OR", + "value": "or" + } + ], + "required": true, + "variant": "badge", + "preRequisites": { + "fields": [ + { + "configKey": "provider", + "value": "custom" + } + ] } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ + }, { - "purpose": "" + "type": "tagInput", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "configKey": "consents", + "tagKey": "consent", + "placeholder": "e.g: Marketing", + "default": [ + { + "consent": "" + } + ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } + ] } ] } diff --git a/src/configurations/destinations/emarsys/db-config.json b/src/configurations/destinations/emarsys/db-config.json index e9eca0cb2..eaddc367e 100644 --- a/src/configurations/destinations/emarsys/db-config.json +++ b/src/configurations/destinations/emarsys/db-config.json @@ -45,17 +45,72 @@ "defaultContactList", "discardEmptyProperties" ], - "android": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "ios": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "unity": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "amp": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "reactnative": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "flutter": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "cordova": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "web": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "cloud": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "shopify": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "warehouse": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"] + "android": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "ios": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "unity": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "amp": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "reactnative": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "flutter": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "cordova": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "web": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "cloud": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "shopify": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "warehouse": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ] }, "secretKeys": ["emersysUsername", "emersysUserSecret"] }, diff --git a/src/configurations/destinations/emarsys/schema.json b/src/configurations/destinations/emarsys/schema.json index 30fa6a01b..5a6d94403 100644 --- a/src/configurations/destinations/emarsys/schema.json +++ b/src/configurations/destinations/emarsys/schema.json @@ -378,6 +378,517 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "unity": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "reactnative": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "flutter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "cordova": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/emarsys/ui-config.json b/src/configurations/destinations/emarsys/ui-config.json index 79cacbc0f..9bca05f16 100644 --- a/src/configurations/destinations/emarsys/ui-config.json +++ b/src/configurations/destinations/emarsys/ui-config.json @@ -235,54 +235,70 @@ "note": "not visible in the ui", "fields": [ { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ + "type": "dynamicCustomForm", + "configKey": "consentManagement", + "default": [], + "rowFields": [ { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" + "type": "singleSelect", + "label": "Consent management provider", + "configKey": "provider", + "options": [ + { + "label": "Custom", + "value": "custom" + }, + { + "label": "Ketch", + "value": "ketch" + }, + { + "label": "OneTrust", + "value": "oneTrust" + } + ], + "default": "oneTrust", + "required": true + }, + { + "type": "singleSelect", + "label": "the required consent logic", + "configKey": "resolutionStrategy", + "options": [ + { + "label": "AND", + "value": "and" + }, + { + "label": "OR", + "value": "or" + } + ], + "required": true, + "variant": "badge", + "preRequisites": { + "fields": [ + { + "configKey": "provider", + "value": "custom" + } + ] } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ + }, { - "purpose": "" + "type": "tagInput", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "configKey": "consents", + "tagKey": "consent", + "placeholder": "e.g: Marketing", + "default": [ + { + "consent": "" + } + ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } + ] } ] } diff --git a/src/configurations/destinations/engage/ui-config.json b/src/configurations/destinations/engage/ui-config.json index 0cbe6471b..0da1c5f1b 100644 --- a/src/configurations/destinations/engage/ui-config.json +++ b/src/configurations/destinations/engage/ui-config.json @@ -116,66 +116,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -229,7 +174,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -240,15 +185,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/eventbridge/db-config.json b/src/configurations/destinations/eventbridge/db-config.json index 47fea6d05..a3aa94746 100644 --- a/src/configurations/destinations/eventbridge/db-config.json +++ b/src/configurations/destinations/eventbridge/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "processor", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedMessageTypes": { "cloud": ["identify", "page", "screen", "track", "alias", "group"] diff --git a/src/configurations/destinations/eventbridge/schema.json b/src/configurations/destinations/eventbridge/schema.json index 01b22eba3..5480a982a 100644 --- a/src/configurations/destinations/eventbridge/schema.json +++ b/src/configurations/destinations/eventbridge/schema.json @@ -276,6 +276,517 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "unity": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "reactnative": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "flutter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "cordova": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/eventbridge/ui-config.json b/src/configurations/destinations/eventbridge/ui-config.json index d325c1065..08b9d2a3e 100644 --- a/src/configurations/destinations/eventbridge/ui-config.json +++ b/src/configurations/destinations/eventbridge/ui-config.json @@ -111,66 +111,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -224,7 +169,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -235,15 +180,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/facebook_conversions/ui-config.json b/src/configurations/destinations/facebook_conversions/ui-config.json index bacf4e657..002d53b4d 100644 --- a/src/configurations/destinations/facebook_conversions/ui-config.json +++ b/src/configurations/destinations/facebook_conversions/ui-config.json @@ -403,56 +403,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -506,8 +456,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -517,15 +467,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/facebook_offline_conversions/db-config.json b/src/configurations/destinations/facebook_offline_conversions/db-config.json index 4a5ba7d36..69ef19fab 100644 --- a/src/configurations/destinations/facebook_offline_conversions/db-config.json +++ b/src/configurations/destinations/facebook_offline_conversions/db-config.json @@ -11,6 +11,7 @@ "categoryToContent", "valueFieldIdentifier", "oneTrustCookieCategories", + "ketchConsentPurposes", "consentManagement" ], "excludeKeys": [], diff --git a/src/configurations/destinations/facebook_offline_conversions/ui-config.json b/src/configurations/destinations/facebook_offline_conversions/ui-config.json index 7b0c6165d..d28cf23db 100644 --- a/src/configurations/destinations/facebook_offline_conversions/ui-config.json +++ b/src/configurations/destinations/facebook_offline_conversions/ui-config.json @@ -169,66 +169,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -282,7 +227,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -293,15 +238,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/facebook_pixel/ui-config.json b/src/configurations/destinations/facebook_pixel/ui-config.json index 51ba7ef29..0a6113be1 100644 --- a/src/configurations/destinations/facebook_pixel/ui-config.json +++ b/src/configurations/destinations/facebook_pixel/ui-config.json @@ -344,56 +344,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -447,8 +397,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -458,15 +408,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] }, diff --git a/src/configurations/destinations/factorsai/db-config.json b/src/configurations/destinations/factorsai/db-config.json index b0de03919..28e550be5 100644 --- a/src/configurations/destinations/factorsai/db-config.json +++ b/src/configurations/destinations/factorsai/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "processor", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/factorsai/ui-config.json b/src/configurations/destinations/factorsai/ui-config.json index dc10c747c..ed1fdcf2e 100644 --- a/src/configurations/destinations/factorsai/ui-config.json +++ b/src/configurations/destinations/factorsai/ui-config.json @@ -18,66 +18,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -131,7 +76,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -142,15 +87,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/fb/schema.json b/src/configurations/destinations/fb/schema.json index d5789b0b2..9804aa92f 100644 --- a/src/configurations/destinations/fb/schema.json +++ b/src/configurations/destinations/fb/schema.json @@ -420,6 +420,52 @@ } ] } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } } } }, diff --git a/src/configurations/destinations/fb/ui-config.json b/src/configurations/destinations/fb/ui-config.json index 507e783ce..be0ad6bda 100644 --- a/src/configurations/destinations/fb/ui-config.json +++ b/src/configurations/destinations/fb/ui-config.json @@ -196,56 +196,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -299,8 +249,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -310,15 +260,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/fb_custom_audience/db-config.json b/src/configurations/destinations/fb_custom_audience/db-config.json index 167347497..a9c2e2c4f 100644 --- a/src/configurations/destinations/fb_custom_audience/db-config.json +++ b/src/configurations/destinations/fb_custom_audience/db-config.json @@ -9,7 +9,7 @@ "syncBehaviours": ["mirror"], "transformAtV1": "router", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": ["cloud", "warehouse", "shopify"], "supportedMessageTypes": { diff --git a/src/configurations/destinations/fb_custom_audience/ui-config.json b/src/configurations/destinations/fb_custom_audience/ui-config.json index c399a702b..e6602eb87 100644 --- a/src/configurations/destinations/fb_custom_audience/ui-config.json +++ b/src/configurations/destinations/fb_custom_audience/ui-config.json @@ -502,56 +502,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -605,8 +555,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -616,15 +566,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/firebase/ui-config.json b/src/configurations/destinations/firebase/ui-config.json index b462cd594..6a66058a4 100644 --- a/src/configurations/destinations/firebase/ui-config.json +++ b/src/configurations/destinations/firebase/ui-config.json @@ -69,66 +69,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -182,7 +127,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -193,15 +138,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/firehose/db-config.json b/src/configurations/destinations/firehose/db-config.json index c469ad8d3..839d37e94 100644 --- a/src/configurations/destinations/firehose/db-config.json +++ b/src/configurations/destinations/firehose/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "processor", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/firehose/schema.json b/src/configurations/destinations/firehose/schema.json index 01b22eba3..5480a982a 100644 --- a/src/configurations/destinations/firehose/schema.json +++ b/src/configurations/destinations/firehose/schema.json @@ -276,6 +276,517 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "unity": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "reactnative": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "flutter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "cordova": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/firehose/ui-config.json b/src/configurations/destinations/firehose/ui-config.json index 5f0319e72..9dd79635d 100644 --- a/src/configurations/destinations/firehose/ui-config.json +++ b/src/configurations/destinations/firehose/ui-config.json @@ -84,66 +84,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -197,7 +142,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -208,15 +153,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/freshmarketer/db-config.json b/src/configurations/destinations/freshmarketer/db-config.json index 1ef97dcee..397dbd96b 100644 --- a/src/configurations/destinations/freshmarketer/db-config.json +++ b/src/configurations/destinations/freshmarketer/db-config.json @@ -4,7 +4,13 @@ "config": { "transformAtV1": "router", "saveDestinationResponse": true, - "includeKeys": ["apiKey", "domain", "oneTrustCookieCategories", "consentManagement"], + "includeKeys": [ + "apiKey", + "domain", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], "excludeKeys": [], "supportedSourceTypes": [ "amp", diff --git a/src/configurations/destinations/freshmarketer/ui-config.json b/src/configurations/destinations/freshmarketer/ui-config.json index 137f5f643..404d5d289 100644 --- a/src/configurations/destinations/freshmarketer/ui-config.json +++ b/src/configurations/destinations/freshmarketer/ui-config.json @@ -53,66 +53,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -166,7 +111,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -177,15 +122,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/freshsales/db-config.json b/src/configurations/destinations/freshsales/db-config.json index 40543eba0..1bc49d3c1 100644 --- a/src/configurations/destinations/freshsales/db-config.json +++ b/src/configurations/destinations/freshsales/db-config.json @@ -4,7 +4,13 @@ "config": { "transformAtV1": "router", "saveDestinationResponse": true, - "includeKeys": ["apiKey", "domain", "oneTrustCookieCategories", "consentManagement"], + "includeKeys": [ + "apiKey", + "domain", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], "excludeKeys": [], "supportedSourceTypes": [ "amp", diff --git a/src/configurations/destinations/freshsales/ui-config.json b/src/configurations/destinations/freshsales/ui-config.json index 926141e4b..8496b370b 100644 --- a/src/configurations/destinations/freshsales/ui-config.json +++ b/src/configurations/destinations/freshsales/ui-config.json @@ -53,66 +53,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -166,7 +111,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -177,15 +122,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/fullstory/ui-config.json b/src/configurations/destinations/fullstory/ui-config.json index fae1b86bf..f01310a0e 100644 --- a/src/configurations/destinations/fullstory/ui-config.json +++ b/src/configurations/destinations/fullstory/ui-config.json @@ -266,56 +266,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -369,8 +319,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -380,15 +330,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/ga/ui-config.json b/src/configurations/destinations/ga/ui-config.json index 15f29791a..c1a6426e2 100644 --- a/src/configurations/destinations/ga/ui-config.json +++ b/src/configurations/destinations/ga/ui-config.json @@ -314,66 +314,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -427,7 +372,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -438,15 +383,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/ga360/schema.json b/src/configurations/destinations/ga360/schema.json index 01b22eba3..5480a982a 100644 --- a/src/configurations/destinations/ga360/schema.json +++ b/src/configurations/destinations/ga360/schema.json @@ -276,6 +276,517 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "unity": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "reactnative": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "flutter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "cordova": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/ga360/ui-config.json b/src/configurations/destinations/ga360/ui-config.json index 2316e5706..4d3891124 100644 --- a/src/configurations/destinations/ga360/ui-config.json +++ b/src/configurations/destinations/ga360/ui-config.json @@ -314,66 +314,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -427,7 +372,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -438,15 +383,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/ga4/ui-config.json b/src/configurations/destinations/ga4/ui-config.json index 135b8bc34..d5b0ac730 100644 --- a/src/configurations/destinations/ga4/ui-config.json +++ b/src/configurations/destinations/ga4/ui-config.json @@ -409,56 +409,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -474,7 +424,7 @@ "value": "custom" }, { - "label": "Iubenda", + "label": "iubenda", "value": "iubenda" }, { @@ -516,8 +466,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -527,15 +477,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/ga4_v2/ui-config.json b/src/configurations/destinations/ga4_v2/ui-config.json index 5759521ef..1116801c2 100644 --- a/src/configurations/destinations/ga4_v2/ui-config.json +++ b/src/configurations/destinations/ga4_v2/ui-config.json @@ -348,56 +348,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -451,8 +401,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -462,15 +412,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] }, diff --git a/src/configurations/destinations/ga4_v2/ui-config.jt b/src/configurations/destinations/ga4_v2/ui-config.jt index 81356ee65..e95791ab8 100644 --- a/src/configurations/destinations/ga4_v2/ui-config.jt +++ b/src/configurations/destinations/ga4_v2/ui-config.jt @@ -348,56 +348,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -451,8 +401,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -462,15 +412,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] }, @@ -561,4 +503,4 @@ } } } -} \ No newline at end of file +} diff --git a/src/configurations/destinations/gainsight/db-config.json b/src/configurations/destinations/gainsight/db-config.json index 2e77ae524..285c5cb97 100644 --- a/src/configurations/destinations/gainsight/db-config.json +++ b/src/configurations/destinations/gainsight/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "router", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/gainsight/ui-config.json b/src/configurations/destinations/gainsight/ui-config.json index 637205217..ecceba422 100644 --- a/src/configurations/destinations/gainsight/ui-config.json +++ b/src/configurations/destinations/gainsight/ui-config.json @@ -121,66 +121,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -234,7 +179,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -245,15 +190,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/gainsight_px/db-config.json b/src/configurations/destinations/gainsight_px/db-config.json index b0a73e15f..64d4579cc 100644 --- a/src/configurations/destinations/gainsight_px/db-config.json +++ b/src/configurations/destinations/gainsight_px/db-config.json @@ -10,7 +10,13 @@ "identify": 1 } }, - "includeKeys": ["oneTrustCookieCategories", "consentManagement", "dataCenter", "productTagKey"], + "includeKeys": [ + "oneTrustCookieCategories", + "consentManagement", + "dataCenter", + "productTagKey", + "ketchConsentPurposes" + ], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/gainsight_px/ui-config.json b/src/configurations/destinations/gainsight_px/ui-config.json index 871ed70ff..ed3f5cfd8 100644 --- a/src/configurations/destinations/gainsight_px/ui-config.json +++ b/src/configurations/destinations/gainsight_px/ui-config.json @@ -115,66 +115,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -228,7 +173,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -239,15 +184,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/gcs/db-config.json b/src/configurations/destinations/gcs/db-config.json index 895ea7ed9..dc6f80423 100644 --- a/src/configurations/destinations/gcs/db-config.json +++ b/src/configurations/destinations/gcs/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "none", "saveDestinationResponse": false, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/gcs/ui-config.json b/src/configurations/destinations/gcs/ui-config.json index 6c5582ed3..259f09e11 100644 --- a/src/configurations/destinations/gcs/ui-config.json +++ b/src/configurations/destinations/gcs/ui-config.json @@ -36,66 +36,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -149,7 +94,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -160,15 +105,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/gcs_datalake/db-config.json b/src/configurations/destinations/gcs_datalake/db-config.json index 11768607e..a6be4a57f 100644 --- a/src/configurations/destinations/gcs_datalake/db-config.json +++ b/src/configurations/destinations/gcs_datalake/db-config.json @@ -5,7 +5,7 @@ "config": { "transformAtV1": "processor", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/gcs_datalake/ui-config.json b/src/configurations/destinations/gcs_datalake/ui-config.json index 5b9328b6d..b3265cc0c 100644 --- a/src/configurations/destinations/gcs_datalake/ui-config.json +++ b/src/configurations/destinations/gcs_datalake/ui-config.json @@ -172,66 +172,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -285,7 +230,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -296,15 +241,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/gladly/db-config.json b/src/configurations/destinations/gladly/db-config.json index 346939ffd..fedae5987 100644 --- a/src/configurations/destinations/gladly/db-config.json +++ b/src/configurations/destinations/gladly/db-config.json @@ -5,7 +5,7 @@ "cdkV2Enabled": true, "transformAtV1": "router", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedMessageTypes": ["identify"], "supportedConnectionModes": { diff --git a/src/configurations/destinations/gladly/ui-config.json b/src/configurations/destinations/gladly/ui-config.json index 58986ce50..39c452cb3 100644 --- a/src/configurations/destinations/gladly/ui-config.json +++ b/src/configurations/destinations/gladly/ui-config.json @@ -85,56 +85,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -188,8 +138,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -199,15 +149,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/google_adwords_enhanced_conversions/db-config.json b/src/configurations/destinations/google_adwords_enhanced_conversions/db-config.json index 6587625f6..bf6f25dbe 100644 --- a/src/configurations/destinations/google_adwords_enhanced_conversions/db-config.json +++ b/src/configurations/destinations/google_adwords_enhanced_conversions/db-config.json @@ -10,7 +10,7 @@ }, "transformAtV1": "router", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedMessageTypes": { "cloud": ["track"] diff --git a/src/configurations/destinations/google_adwords_enhanced_conversions/schema.json b/src/configurations/destinations/google_adwords_enhanced_conversions/schema.json index 5e1c45843..2a517cf54 100644 --- a/src/configurations/destinations/google_adwords_enhanced_conversions/schema.json +++ b/src/configurations/destinations/google_adwords_enhanced_conversions/schema.json @@ -302,6 +302,517 @@ "customerId": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "unity": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "reactnative": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "flutter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "cordova": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/google_adwords_enhanced_conversions/ui-config.json b/src/configurations/destinations/google_adwords_enhanced_conversions/ui-config.json index 14e217221..d354a2af9 100644 --- a/src/configurations/destinations/google_adwords_enhanced_conversions/ui-config.json +++ b/src/configurations/destinations/google_adwords_enhanced_conversions/ui-config.json @@ -120,56 +120,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -223,8 +173,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -234,15 +184,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/google_adwords_offline_conversions/db-config.json b/src/configurations/destinations/google_adwords_offline_conversions/db-config.json index 506e30f63..3684067e3 100644 --- a/src/configurations/destinations/google_adwords_offline_conversions/db-config.json +++ b/src/configurations/destinations/google_adwords_offline_conversions/db-config.json @@ -10,7 +10,7 @@ }, "transformAtV1": "router", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/google_adwords_offline_conversions/ui-config.json b/src/configurations/destinations/google_adwords_offline_conversions/ui-config.json index bd893ff3c..e677c7c83 100644 --- a/src/configurations/destinations/google_adwords_offline_conversions/ui-config.json +++ b/src/configurations/destinations/google_adwords_offline_conversions/ui-config.json @@ -255,66 +255,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -368,7 +313,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -379,15 +324,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/google_adwords_remarketing_lists/db-config.json b/src/configurations/destinations/google_adwords_remarketing_lists/db-config.json index 6d6e64f48..633e385bf 100644 --- a/src/configurations/destinations/google_adwords_remarketing_lists/db-config.json +++ b/src/configurations/destinations/google_adwords_remarketing_lists/db-config.json @@ -10,7 +10,7 @@ }, "transformAtV1": "router", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": ["cloud", "warehouse", "shopify"], "syncBehaviours": ["mirror"], diff --git a/src/configurations/destinations/google_adwords_remarketing_lists/schema.json b/src/configurations/destinations/google_adwords_remarketing_lists/schema.json index d18d7fffd..aff143fc9 100644 --- a/src/configurations/destinations/google_adwords_remarketing_lists/schema.json +++ b/src/configurations/destinations/google_adwords_remarketing_lists/schema.json @@ -128,6 +128,149 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/google_adwords_remarketing_lists/ui-config.json b/src/configurations/destinations/google_adwords_remarketing_lists/ui-config.json index 4a3285909..cbebee277 100644 --- a/src/configurations/destinations/google_adwords_remarketing_lists/ui-config.json +++ b/src/configurations/destinations/google_adwords_remarketing_lists/ui-config.json @@ -239,56 +239,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -342,8 +292,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -353,15 +303,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/google_cloud_function/ui-config.json b/src/configurations/destinations/google_cloud_function/ui-config.json index 887591261..afc55190e 100644 --- a/src/configurations/destinations/google_cloud_function/ui-config.json +++ b/src/configurations/destinations/google_cloud_function/ui-config.json @@ -63,66 +63,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -176,7 +121,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -187,15 +132,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/google_optimize/schema.json b/src/configurations/destinations/google_optimize/schema.json index 02b6dbfaf..82a8ad96a 100644 --- a/src/configurations/destinations/google_optimize/schema.json +++ b/src/configurations/destinations/google_optimize/schema.json @@ -36,6 +36,57 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/google_optimize/ui-config.json b/src/configurations/destinations/google_optimize/ui-config.json index 290d8bcc8..a861b1ecc 100644 --- a/src/configurations/destinations/google_optimize/ui-config.json +++ b/src/configurations/destinations/google_optimize/ui-config.json @@ -115,66 +115,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -228,7 +173,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -239,15 +184,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/googleads/ui-config.json b/src/configurations/destinations/googleads/ui-config.json index ca6d68952..9ad62f9c2 100644 --- a/src/configurations/destinations/googleads/ui-config.json +++ b/src/configurations/destinations/googleads/ui-config.json @@ -320,66 +320,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -433,7 +378,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -444,15 +389,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/googlepubsub/db-config.json b/src/configurations/destinations/googlepubsub/db-config.json index f243b2bbc..6efbe5763 100644 --- a/src/configurations/destinations/googlepubsub/db-config.json +++ b/src/configurations/destinations/googlepubsub/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "processor", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/googlepubsub/ui-config.json b/src/configurations/destinations/googlepubsub/ui-config.json index a459f9363..3ff63edf7 100644 --- a/src/configurations/destinations/googlepubsub/ui-config.json +++ b/src/configurations/destinations/googlepubsub/ui-config.json @@ -51,66 +51,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -164,7 +109,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -175,15 +120,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/googlesheets/db-config.json b/src/configurations/destinations/googlesheets/db-config.json index f4bfc4ec5..98edfc9df 100644 --- a/src/configurations/destinations/googlesheets/db-config.json +++ b/src/configurations/destinations/googlesheets/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "router", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/googlesheets/schema.json b/src/configurations/destinations/googlesheets/schema.json index 01b22eba3..5480a982a 100644 --- a/src/configurations/destinations/googlesheets/schema.json +++ b/src/configurations/destinations/googlesheets/schema.json @@ -276,6 +276,517 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "unity": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "reactnative": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "flutter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "cordova": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/googlesheets/ui-config.json b/src/configurations/destinations/googlesheets/ui-config.json index 8e7e91493..3d06638b6 100644 --- a/src/configurations/destinations/googlesheets/ui-config.json +++ b/src/configurations/destinations/googlesheets/ui-config.json @@ -52,66 +52,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -165,7 +110,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -176,15 +121,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/gtm/ui-config.json b/src/configurations/destinations/gtm/ui-config.json index 06650bcac..acac816fa 100644 --- a/src/configurations/destinations/gtm/ui-config.json +++ b/src/configurations/destinations/gtm/ui-config.json @@ -94,66 +94,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -207,7 +152,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -218,15 +163,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/heap/ui-config.json b/src/configurations/destinations/heap/ui-config.json index c8ba402bb..10bc08f7b 100644 --- a/src/configurations/destinations/heap/ui-config.json +++ b/src/configurations/destinations/heap/ui-config.json @@ -85,66 +85,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -198,7 +143,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -209,15 +154,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/hotjar/ui-config.json b/src/configurations/destinations/hotjar/ui-config.json index e71f518f5..3b04e0800 100644 --- a/src/configurations/destinations/hotjar/ui-config.json +++ b/src/configurations/destinations/hotjar/ui-config.json @@ -85,66 +85,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -198,7 +143,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -209,15 +154,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/hs/ui-config.json b/src/configurations/destinations/hs/ui-config.json index 0eaf31f8c..f656f80c5 100644 --- a/src/configurations/destinations/hs/ui-config.json +++ b/src/configurations/destinations/hs/ui-config.json @@ -278,56 +278,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -381,8 +331,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -392,15 +342,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] }, diff --git a/src/configurations/destinations/http/schema.json b/src/configurations/destinations/http/schema.json index fd3444b28..c6cfb5945 100644 --- a/src/configurations/destinations/http/schema.json +++ b/src/configurations/destinations/http/schema.json @@ -339,6 +339,52 @@ ] } }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, "android": { "type": "array", "items": { diff --git a/src/configurations/destinations/http/ui-config.json b/src/configurations/destinations/http/ui-config.json index 0d6a5506d..df051b565 100644 --- a/src/configurations/destinations/http/ui-config.json +++ b/src/configurations/destinations/http/ui-config.json @@ -384,56 +384,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -487,8 +437,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -498,15 +448,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] }, diff --git a/src/configurations/destinations/impact/db-config.json b/src/configurations/destinations/impact/db-config.json index 5ac032080..798a988ea 100644 --- a/src/configurations/destinations/impact/db-config.json +++ b/src/configurations/destinations/impact/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "processor", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/impact/ui-config.json b/src/configurations/destinations/impact/ui-config.json index ccbece818..73c5437a0 100644 --- a/src/configurations/destinations/impact/ui-config.json +++ b/src/configurations/destinations/impact/ui-config.json @@ -150,66 +150,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -263,7 +208,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -274,15 +219,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/indicative/db-config.json b/src/configurations/destinations/indicative/db-config.json index 9ca211994..0af785e38 100644 --- a/src/configurations/destinations/indicative/db-config.json +++ b/src/configurations/destinations/indicative/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "processor", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/indicative/schema.json b/src/configurations/destinations/indicative/schema.json index 01b22eba3..5480a982a 100644 --- a/src/configurations/destinations/indicative/schema.json +++ b/src/configurations/destinations/indicative/schema.json @@ -276,6 +276,517 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "unity": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "reactnative": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "flutter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "cordova": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/indicative/ui-config.json b/src/configurations/destinations/indicative/ui-config.json index 9ae4a1738..486e68552 100644 --- a/src/configurations/destinations/indicative/ui-config.json +++ b/src/configurations/destinations/indicative/ui-config.json @@ -18,66 +18,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -131,7 +76,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -142,15 +87,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/intercom/ui-config.json b/src/configurations/destinations/intercom/ui-config.json index fc87b03f4..6b3d76a8f 100644 --- a/src/configurations/destinations/intercom/ui-config.json +++ b/src/configurations/destinations/intercom/ui-config.json @@ -265,7 +265,7 @@ { "type": "tagInput", "label": "Allowlisted events", - "note": "Input separate events by pressing ‘Enter’.\nInput the events you want to allowlist.", + "note": "Input separate events by pressing 'Enter'.\nInput the events you want to allowlist.", "configKey": "whitelistedEvents", "tagKey": "eventName", "placeholder": "e.g: Anonymous page visit", @@ -286,7 +286,7 @@ { "type": "tagInput", "label": "Denylisted events", - "note": "Input separate events by pressing ‘Enter’.\nInput the events you want to denylist. ", + "note": "Input separate events by pressing 'Enter'.\nInput the events you want to denylist. ", "configKey": "blacklistedEvents", "tagKey": "eventName", "placeholder": "e.g: Anonymous page visit", @@ -353,56 +353,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -456,8 +406,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -467,15 +417,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/intercom_v2/ui-config.json b/src/configurations/destinations/intercom_v2/ui-config.json index b08582edb..60f046f8c 100644 --- a/src/configurations/destinations/intercom_v2/ui-config.json +++ b/src/configurations/destinations/intercom_v2/ui-config.json @@ -138,56 +138,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -241,8 +191,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -252,15 +202,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/iterable/ui-config.json b/src/configurations/destinations/iterable/ui-config.json index 5673e46e7..5f28f125b 100644 --- a/src/configurations/destinations/iterable/ui-config.json +++ b/src/configurations/destinations/iterable/ui-config.json @@ -781,56 +781,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -884,8 +834,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -895,15 +845,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/june/ui-config.json b/src/configurations/destinations/june/ui-config.json index 2d4ca1eb6..a27308ed5 100644 --- a/src/configurations/destinations/june/ui-config.json +++ b/src/configurations/destinations/june/ui-config.json @@ -87,66 +87,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -200,7 +145,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -211,15 +156,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/kafka/db-config.json b/src/configurations/destinations/kafka/db-config.json index be6e1cf8a..fc2b43548 100644 --- a/src/configurations/destinations/kafka/db-config.json +++ b/src/configurations/destinations/kafka/db-config.json @@ -5,7 +5,7 @@ "transformAtV1": "processor", "configFilters": ["caCertificate"], "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/kafka/ui-config.json b/src/configurations/destinations/kafka/ui-config.json index b5225ebe4..00768c0ce 100644 --- a/src/configurations/destinations/kafka/ui-config.json +++ b/src/configurations/destinations/kafka/ui-config.json @@ -346,56 +346,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -449,8 +399,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -460,15 +410,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/keen/schema.json b/src/configurations/destinations/keen/schema.json index 01b22eba3..5480a982a 100644 --- a/src/configurations/destinations/keen/schema.json +++ b/src/configurations/destinations/keen/schema.json @@ -276,6 +276,517 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "unity": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "reactnative": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "flutter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "cordova": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/keen/ui-config.json b/src/configurations/destinations/keen/ui-config.json index 402fafb21..868bf11ff 100644 --- a/src/configurations/destinations/keen/ui-config.json +++ b/src/configurations/destinations/keen/ui-config.json @@ -120,66 +120,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -233,7 +178,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -244,15 +189,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/kinesis/db-config.json b/src/configurations/destinations/kinesis/db-config.json index 6fba23670..378bf7418 100644 --- a/src/configurations/destinations/kinesis/db-config.json +++ b/src/configurations/destinations/kinesis/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "processor", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/kinesis/ui-config.json b/src/configurations/destinations/kinesis/ui-config.json index 2223926ac..d8cb36fa0 100644 --- a/src/configurations/destinations/kinesis/ui-config.json +++ b/src/configurations/destinations/kinesis/ui-config.json @@ -83,66 +83,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -196,7 +141,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -207,15 +152,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/kissmetrics/schema.json b/src/configurations/destinations/kissmetrics/schema.json index 01b22eba3..5480a982a 100644 --- a/src/configurations/destinations/kissmetrics/schema.json +++ b/src/configurations/destinations/kissmetrics/schema.json @@ -276,6 +276,517 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "unity": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "reactnative": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "flutter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "cordova": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/kissmetrics/ui-config.json b/src/configurations/destinations/kissmetrics/ui-config.json index 507552db5..e99699a46 100644 --- a/src/configurations/destinations/kissmetrics/ui-config.json +++ b/src/configurations/destinations/kissmetrics/ui-config.json @@ -94,66 +94,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -207,7 +152,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -218,15 +163,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/klaviyo/ui-config.json b/src/configurations/destinations/klaviyo/ui-config.json index 9b7ab2438..c97ac449d 100644 --- a/src/configurations/destinations/klaviyo/ui-config.json +++ b/src/configurations/destinations/klaviyo/ui-config.json @@ -244,56 +244,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -347,8 +297,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -358,15 +308,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/klaviyo_bulk_upload/db-config.json b/src/configurations/destinations/klaviyo_bulk_upload/db-config.json index 0c7174db3..4a868b67e 100644 --- a/src/configurations/destinations/klaviyo_bulk_upload/db-config.json +++ b/src/configurations/destinations/klaviyo_bulk_upload/db-config.json @@ -8,7 +8,13 @@ "disableJsonMapper": false, "syncBehaviours": ["upsert"], "saveDestinationResponse": true, - "includeKeys": ["privateApiKey", "listId", "oneTrustCookieCategories"], + "includeKeys": [ + "privateApiKey", + "listId", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], "excludeKeys": [], "supportedSourceTypes": ["warehouse"], "supportedConnectionModes": { @@ -20,7 +26,7 @@ }, "destConfig": { "defaultConfig": ["privateApiKey", "listId"], - "warehouse": ["oneTrustCookieCategories", "ketchConsentPurposes"] + "warehouse": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"] }, "secretKeys": ["privateApiKey"] }, diff --git a/src/configurations/destinations/klaviyo_bulk_upload/schema.json b/src/configurations/destinations/klaviyo_bulk_upload/schema.json index 7454d43c6..01b3f5617 100644 --- a/src/configurations/destinations/klaviyo_bulk_upload/schema.json +++ b/src/configurations/destinations/klaviyo_bulk_upload/schema.json @@ -45,6 +45,57 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/klaviyo_bulk_upload/ui-config.json b/src/configurations/destinations/klaviyo_bulk_upload/ui-config.json index 2b9929a83..a5eb0106f 100644 --- a/src/configurations/destinations/klaviyo_bulk_upload/ui-config.json +++ b/src/configurations/destinations/klaviyo_bulk_upload/ui-config.json @@ -92,54 +92,70 @@ "note": "not visible in the ui", "fields": [ { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ + "type": "dynamicCustomForm", + "configKey": "consentManagement", + "default": [], + "rowFields": [ { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" + "type": "singleSelect", + "label": "Consent management provider", + "configKey": "provider", + "options": [ + { + "label": "Custom", + "value": "custom" + }, + { + "label": "Ketch", + "value": "ketch" + }, + { + "label": "OneTrust", + "value": "oneTrust" + } + ], + "default": "oneTrust", + "required": true + }, + { + "type": "singleSelect", + "label": "the required consent logic", + "configKey": "resolutionStrategy", + "options": [ + { + "label": "AND", + "value": "and" + }, + { + "label": "OR", + "value": "or" + } + ], + "required": true, + "variant": "badge", + "preRequisites": { + "fields": [ + { + "configKey": "provider", + "value": "custom" + } + ] } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ + }, { - "purpose": "" + "type": "tagInput", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "configKey": "consents", + "tagKey": "consent", + "placeholder": "e.g: Marketing", + "default": [ + { + "consent": "" + } + ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } + ] } ] } diff --git a/src/configurations/destinations/koala/ui-config.json b/src/configurations/destinations/koala/ui-config.json index edad4fcf4..e7a48ec8f 100644 --- a/src/configurations/destinations/koala/ui-config.json +++ b/src/configurations/destinations/koala/ui-config.json @@ -66,56 +66,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -169,8 +119,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -180,15 +130,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/kochava/schema.json b/src/configurations/destinations/kochava/schema.json index 01b22eba3..5480a982a 100644 --- a/src/configurations/destinations/kochava/schema.json +++ b/src/configurations/destinations/kochava/schema.json @@ -276,6 +276,517 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "unity": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "reactnative": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "flutter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "cordova": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/kochava/ui-config.json b/src/configurations/destinations/kochava/ui-config.json index 800a8b090..323dd2def 100644 --- a/src/configurations/destinations/kochava/ui-config.json +++ b/src/configurations/destinations/kochava/ui-config.json @@ -99,66 +99,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -212,7 +157,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -223,15 +168,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/koddi/db-config.json b/src/configurations/destinations/koddi/db-config.json index b06830744..4b8599732 100644 --- a/src/configurations/destinations/koddi/db-config.json +++ b/src/configurations/destinations/koddi/db-config.json @@ -37,17 +37,72 @@ }, "destConfig": { "defaultConfig": ["apiBaseUrl", "clientName", "testVersionOverride", "overrides"], - "android": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "ios": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "web": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "unity": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "amp": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "cloud": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "reactnative": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "flutter": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "cordova": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "shopify": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "warehouse": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"] + "android": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "ios": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "web": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "unity": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "amp": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "cloud": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "reactnative": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "flutter": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "cordova": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "shopify": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "warehouse": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ] } }, "options": { diff --git a/src/configurations/destinations/koddi/schema.json b/src/configurations/destinations/koddi/schema.json index b4963d621..4f98b8b21 100644 --- a/src/configurations/destinations/koddi/schema.json +++ b/src/configurations/destinations/koddi/schema.json @@ -342,6 +342,517 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "unity": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "reactnative": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "flutter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "cordova": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/koddi/ui-config.json b/src/configurations/destinations/koddi/ui-config.json index bbc51d188..57e5e8018 100644 --- a/src/configurations/destinations/koddi/ui-config.json +++ b/src/configurations/destinations/koddi/ui-config.json @@ -103,54 +103,70 @@ "note": "not visible in the ui", "fields": [ { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ + "type": "dynamicCustomForm", + "configKey": "consentManagement", + "default": [], + "rowFields": [ { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" + "type": "singleSelect", + "label": "Consent management provider", + "configKey": "provider", + "options": [ + { + "label": "Custom", + "value": "custom" + }, + { + "label": "Ketch", + "value": "ketch" + }, + { + "label": "OneTrust", + "value": "oneTrust" + } + ], + "default": "oneTrust", + "required": true + }, + { + "type": "singleSelect", + "label": "the required consent logic", + "configKey": "resolutionStrategy", + "options": [ + { + "label": "AND", + "value": "and" + }, + { + "label": "OR", + "value": "or" + } + ], + "required": true, + "variant": "badge", + "preRequisites": { + "fields": [ + { + "configKey": "provider", + "value": "custom" + } + ] } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ + }, { - "purpose": "" + "type": "tagInput", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "configKey": "consents", + "tagKey": "consent", + "placeholder": "e.g: Marketing", + "default": [ + { + "consent": "" + } + ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } + ] } ] } diff --git a/src/configurations/destinations/kustomer/db-config.json b/src/configurations/destinations/kustomer/db-config.json index c8800c168..cfb5007a9 100644 --- a/src/configurations/destinations/kustomer/db-config.json +++ b/src/configurations/destinations/kustomer/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "processor", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/kustomer/schema.json b/src/configurations/destinations/kustomer/schema.json index 01b22eba3..5480a982a 100644 --- a/src/configurations/destinations/kustomer/schema.json +++ b/src/configurations/destinations/kustomer/schema.json @@ -276,6 +276,517 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "unity": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "reactnative": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "flutter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "cordova": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/kustomer/ui-config.json b/src/configurations/destinations/kustomer/ui-config.json index 662f40614..a5e11599e 100644 --- a/src/configurations/destinations/kustomer/ui-config.json +++ b/src/configurations/destinations/kustomer/ui-config.json @@ -74,66 +74,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -187,7 +132,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -198,15 +143,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/lambda/db-config.json b/src/configurations/destinations/lambda/db-config.json index 9775f6aae..a5c88d208 100644 --- a/src/configurations/destinations/lambda/db-config.json +++ b/src/configurations/destinations/lambda/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "router", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "amp", diff --git a/src/configurations/destinations/lambda/ui-config.json b/src/configurations/destinations/lambda/ui-config.json index 80ffef64e..bdfeec7bd 100644 --- a/src/configurations/destinations/lambda/ui-config.json +++ b/src/configurations/destinations/lambda/ui-config.json @@ -106,66 +106,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -219,7 +164,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -230,15 +175,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/launchdarkly/schema.json b/src/configurations/destinations/launchdarkly/schema.json index 02b6dbfaf..82a8ad96a 100644 --- a/src/configurations/destinations/launchdarkly/schema.json +++ b/src/configurations/destinations/launchdarkly/schema.json @@ -36,6 +36,57 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/launchdarkly/ui-config.json b/src/configurations/destinations/launchdarkly/ui-config.json index eebfb5965..72c6ca07c 100644 --- a/src/configurations/destinations/launchdarkly/ui-config.json +++ b/src/configurations/destinations/launchdarkly/ui-config.json @@ -81,66 +81,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -194,7 +139,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -205,15 +150,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] }, diff --git a/src/configurations/destinations/launchdarkly_audience/ui-config.json b/src/configurations/destinations/launchdarkly_audience/ui-config.json index 0352f29f7..a3aa1adaf 100644 --- a/src/configurations/destinations/launchdarkly_audience/ui-config.json +++ b/src/configurations/destinations/launchdarkly_audience/ui-config.json @@ -129,56 +129,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -232,8 +182,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -243,15 +193,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/leanplum/ui-config.json b/src/configurations/destinations/leanplum/ui-config.json index 8923d74cd..a477e733b 100644 --- a/src/configurations/destinations/leanplum/ui-config.json +++ b/src/configurations/destinations/leanplum/ui-config.json @@ -167,56 +167,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -270,8 +220,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -281,15 +231,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/lemnisk/ui-config.json b/src/configurations/destinations/lemnisk/ui-config.json index 6f6732598..0761360e2 100644 --- a/src/configurations/destinations/lemnisk/ui-config.json +++ b/src/configurations/destinations/lemnisk/ui-config.json @@ -231,66 +231,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -344,7 +289,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -355,15 +300,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/linkedIn_ads/db-config.json b/src/configurations/destinations/linkedIn_ads/db-config.json index 24c6f81a4..14a6d6094 100644 --- a/src/configurations/destinations/linkedIn_ads/db-config.json +++ b/src/configurations/destinations/linkedIn_ads/db-config.json @@ -47,17 +47,72 @@ "hashData", "adAccountId" ], - "android": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "ios": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "web": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "unity": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "amp": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "cloud": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "reactnative": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "flutter": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "cordova": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "shopify": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "warehouse": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"] + "android": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "ios": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "web": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "unity": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "amp": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "cloud": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "reactnative": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "flutter": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "cordova": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "shopify": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "warehouse": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ] }, "secretKeys": [] }, diff --git a/src/configurations/destinations/linkedIn_ads/schema.json b/src/configurations/destinations/linkedIn_ads/schema.json index b6617a0bc..6ad3fbd57 100644 --- a/src/configurations/destinations/linkedIn_ads/schema.json +++ b/src/configurations/destinations/linkedIn_ads/schema.json @@ -354,6 +354,517 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "unity": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "reactnative": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "flutter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "cordova": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/linkedIn_ads/ui-config.json b/src/configurations/destinations/linkedIn_ads/ui-config.json index 830939591..df7826858 100644 --- a/src/configurations/destinations/linkedIn_ads/ui-config.json +++ b/src/configurations/destinations/linkedIn_ads/ui-config.json @@ -156,54 +156,70 @@ "note": "not visible in the ui", "fields": [ { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ + "type": "dynamicCustomForm", + "configKey": "consentManagement", + "default": [], + "rowFields": [ { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" + "type": "singleSelect", + "label": "Consent management provider", + "configKey": "provider", + "options": [ + { + "label": "Custom", + "value": "custom" + }, + { + "label": "Ketch", + "value": "ketch" + }, + { + "label": "OneTrust", + "value": "oneTrust" + } + ], + "default": "oneTrust", + "required": true + }, + { + "type": "singleSelect", + "label": "the required consent logic", + "configKey": "resolutionStrategy", + "options": [ + { + "label": "AND", + "value": "and" + }, + { + "label": "OR", + "value": "or" + } + ], + "required": true, + "variant": "badge", + "preRequisites": { + "fields": [ + { + "configKey": "provider", + "value": "custom" + } + ] } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ + }, { - "purpose": "" + "type": "tagInput", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "configKey": "consents", + "tagKey": "consent", + "placeholder": "e.g: Marketing", + "default": [ + { + "consent": "" + } + ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } + ] } ] } diff --git a/src/configurations/destinations/linkedin_audience/db-config.json b/src/configurations/destinations/linkedin_audience/db-config.json index f127f1e7f..544b93069 100644 --- a/src/configurations/destinations/linkedin_audience/db-config.json +++ b/src/configurations/destinations/linkedin_audience/db-config.json @@ -20,7 +20,12 @@ }, "destConfig": { "defaultConfig": ["rudderAccountId"], - "warehouse": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"] + "warehouse": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ] }, "secretKeys": [] }, diff --git a/src/configurations/destinations/linkedin_audience/schema.json b/src/configurations/destinations/linkedin_audience/schema.json index 1e3525743..56dce0b96 100644 --- a/src/configurations/destinations/linkedin_audience/schema.json +++ b/src/configurations/destinations/linkedin_audience/schema.json @@ -36,6 +36,57 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/linkedin_audience/ui-config.json b/src/configurations/destinations/linkedin_audience/ui-config.json index ea373f092..bff320a35 100644 --- a/src/configurations/destinations/linkedin_audience/ui-config.json +++ b/src/configurations/destinations/linkedin_audience/ui-config.json @@ -40,56 +40,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -143,8 +93,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -154,15 +104,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/linkedin_insight_tag/ui-config.json b/src/configurations/destinations/linkedin_insight_tag/ui-config.json index fd9d08aaa..1daab910d 100644 --- a/src/configurations/destinations/linkedin_insight_tag/ui-config.json +++ b/src/configurations/destinations/linkedin_insight_tag/ui-config.json @@ -97,66 +97,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -210,7 +155,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -221,15 +166,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/livechat/ui-config.json b/src/configurations/destinations/livechat/ui-config.json index 0ef073544..1250d6bc5 100644 --- a/src/configurations/destinations/livechat/ui-config.json +++ b/src/configurations/destinations/livechat/ui-config.json @@ -230,66 +230,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -343,7 +288,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -354,15 +299,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/lotame/schema.json b/src/configurations/destinations/lotame/schema.json index 81487b370..546513717 100644 --- a/src/configurations/destinations/lotame/schema.json +++ b/src/configurations/destinations/lotame/schema.json @@ -60,6 +60,103 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/lotame/ui-config.json b/src/configurations/destinations/lotame/ui-config.json index c42933d6a..76d5a8de6 100644 --- a/src/configurations/destinations/lotame/ui-config.json +++ b/src/configurations/destinations/lotame/ui-config.json @@ -154,66 +154,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -267,7 +212,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -278,15 +223,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/lotame_mobile/schema.json b/src/configurations/destinations/lotame_mobile/schema.json index 9c801c1f1..8f1b80ff7 100644 --- a/src/configurations/destinations/lotame_mobile/schema.json +++ b/src/configurations/destinations/lotame_mobile/schema.json @@ -60,6 +60,103 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/lotame_mobile/ui-config.json b/src/configurations/destinations/lotame_mobile/ui-config.json index ffc945f13..e1f0d8d48 100644 --- a/src/configurations/destinations/lotame_mobile/ui-config.json +++ b/src/configurations/destinations/lotame_mobile/ui-config.json @@ -124,66 +124,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -237,7 +182,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -248,15 +193,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/lytics/schema.json b/src/configurations/destinations/lytics/schema.json index 01b22eba3..5480a982a 100644 --- a/src/configurations/destinations/lytics/schema.json +++ b/src/configurations/destinations/lytics/schema.json @@ -276,6 +276,517 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "unity": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "reactnative": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "flutter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "cordova": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/lytics/ui-config.json b/src/configurations/destinations/lytics/ui-config.json index 223cf0988..3855d26b7 100644 --- a/src/configurations/destinations/lytics/ui-config.json +++ b/src/configurations/destinations/lytics/ui-config.json @@ -117,66 +117,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -230,7 +175,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -241,15 +186,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/lytics_bulk_upload/db-config.json b/src/configurations/destinations/lytics_bulk_upload/db-config.json index f99eeb183..9fa2f625a 100644 --- a/src/configurations/destinations/lytics_bulk_upload/db-config.json +++ b/src/configurations/destinations/lytics_bulk_upload/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "none", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": ["warehouse", "web", "cloud"], "supportedMessageTypes": { @@ -25,9 +25,24 @@ "timestampField", "streamTraitsMapping" ], - "cloud": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "warehouse": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "web": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"] + "cloud": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "warehouse": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "web": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ] } }, "options": { diff --git a/src/configurations/destinations/lytics_bulk_upload/schema.json b/src/configurations/destinations/lytics_bulk_upload/schema.json index 3c706d5d4..4c03a8079 100644 --- a/src/configurations/destinations/lytics_bulk_upload/schema.json +++ b/src/configurations/destinations/lytics_bulk_upload/schema.json @@ -134,6 +134,149 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/lytics_bulk_upload/ui-config.json b/src/configurations/destinations/lytics_bulk_upload/ui-config.json index 34a9dd049..f2156b1de 100644 --- a/src/configurations/destinations/lytics_bulk_upload/ui-config.json +++ b/src/configurations/destinations/lytics_bulk_upload/ui-config.json @@ -178,54 +178,70 @@ "note": "not visible in the ui", "fields": [ { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ + "type": "dynamicCustomForm", + "configKey": "consentManagement", + "default": [], + "rowFields": [ { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" + "type": "singleSelect", + "label": "Consent management provider", + "configKey": "provider", + "options": [ + { + "label": "Custom", + "value": "custom" + }, + { + "label": "Ketch", + "value": "ketch" + }, + { + "label": "OneTrust", + "value": "oneTrust" + } + ], + "default": "oneTrust", + "required": true + }, + { + "type": "singleSelect", + "label": "the required consent logic", + "configKey": "resolutionStrategy", + "options": [ + { + "label": "AND", + "value": "and" + }, + { + "label": "OR", + "value": "or" + } + ], + "required": true, + "variant": "badge", + "preRequisites": { + "fields": [ + { + "configKey": "provider", + "value": "custom" + } + ] } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ + }, { - "purpose": "" + "type": "tagInput", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "configKey": "consents", + "tagKey": "consent", + "placeholder": "e.g: Marketing", + "default": [ + { + "consent": "" + } + ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } + ] } ] } diff --git a/src/configurations/destinations/mailchimp/db-config.json b/src/configurations/destinations/mailchimp/db-config.json index 2f81da9cd..1b45c6707 100644 --- a/src/configurations/destinations/mailchimp/db-config.json +++ b/src/configurations/destinations/mailchimp/db-config.json @@ -6,7 +6,7 @@ "supportsVisualMapper": true, "transformAtV1": "router", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/mailchimp/ui-config.json b/src/configurations/destinations/mailchimp/ui-config.json index ef092f513..2ffefe38a 100644 --- a/src/configurations/destinations/mailchimp/ui-config.json +++ b/src/configurations/destinations/mailchimp/ui-config.json @@ -47,66 +47,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -160,7 +105,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -171,15 +116,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/mailjet/db-config.json b/src/configurations/destinations/mailjet/db-config.json index 447d414d6..fb953bc7a 100644 --- a/src/configurations/destinations/mailjet/db-config.json +++ b/src/configurations/destinations/mailjet/db-config.json @@ -10,6 +10,7 @@ "listId", "contactPropertiesMapping", "oneTrustCookieCategories", + "ketchConsentPurposes", "consentManagement" ], "excludeKeys": [], diff --git a/src/configurations/destinations/mailjet/ui-config.json b/src/configurations/destinations/mailjet/ui-config.json index f085794b4..d3e46449b 100644 --- a/src/configurations/destinations/mailjet/ui-config.json +++ b/src/configurations/destinations/mailjet/ui-config.json @@ -53,66 +53,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -166,7 +111,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -177,15 +122,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/mailmodo/db-config.json b/src/configurations/destinations/mailmodo/db-config.json index 9de82fc42..e12817691 100644 --- a/src/configurations/destinations/mailmodo/db-config.json +++ b/src/configurations/destinations/mailmodo/db-config.json @@ -4,7 +4,13 @@ "config": { "transformAtV1": "router", "saveDestinationResponse": true, - "includeKeys": ["apiKey", "listName", "oneTrustCookieCategories", "consentManagement"], + "includeKeys": [ + "apiKey", + "listName", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/mailmodo/ui-config.json b/src/configurations/destinations/mailmodo/ui-config.json index 4b795ed7d..c91b24b1b 100644 --- a/src/configurations/destinations/mailmodo/ui-config.json +++ b/src/configurations/destinations/mailmodo/ui-config.json @@ -29,66 +29,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -142,7 +87,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -153,15 +98,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/marketo/db-config.json b/src/configurations/destinations/marketo/db-config.json index 6a37553f4..49de3f845 100644 --- a/src/configurations/destinations/marketo/db-config.json +++ b/src/configurations/destinations/marketo/db-config.json @@ -12,7 +12,7 @@ "track": 3 } }, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/marketo/ui-config.json b/src/configurations/destinations/marketo/ui-config.json index 681d0d7c0..d0c58b48c 100644 --- a/src/configurations/destinations/marketo/ui-config.json +++ b/src/configurations/destinations/marketo/ui-config.json @@ -226,56 +226,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -329,8 +279,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -340,15 +290,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/marketo_bulk_upload/db-config.json b/src/configurations/destinations/marketo_bulk_upload/db-config.json index b2d948f00..e9c633322 100644 --- a/src/configurations/destinations/marketo_bulk_upload/db-config.json +++ b/src/configurations/destinations/marketo_bulk_upload/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "processor", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/marketo_bulk_upload/schema.json b/src/configurations/destinations/marketo_bulk_upload/schema.json index 713725d6e..f3bb5ef83 100644 --- a/src/configurations/destinations/marketo_bulk_upload/schema.json +++ b/src/configurations/destinations/marketo_bulk_upload/schema.json @@ -276,6 +276,517 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "unity": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "reactnative": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "flutter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "cordova": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/marketo_bulk_upload/ui-config.json b/src/configurations/destinations/marketo_bulk_upload/ui-config.json index dcd099f93..bb6de4e8c 100644 --- a/src/configurations/destinations/marketo_bulk_upload/ui-config.json +++ b/src/configurations/destinations/marketo_bulk_upload/ui-config.json @@ -88,66 +88,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -201,7 +146,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -212,15 +157,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/marketo_static_list/db-config.json b/src/configurations/destinations/marketo_static_list/db-config.json index 19a2f6fb0..572b352dc 100644 --- a/src/configurations/destinations/marketo_static_list/db-config.json +++ b/src/configurations/destinations/marketo_static_list/db-config.json @@ -11,6 +11,7 @@ "accountId", "staticListId", "oneTrustCookieCategories", + "ketchConsentPurposes", "consentManagement" ], "excludeKeys": [], diff --git a/src/configurations/destinations/marketo_static_list/ui-config.json b/src/configurations/destinations/marketo_static_list/ui-config.json index c22c31738..14196ff2e 100644 --- a/src/configurations/destinations/marketo_static_list/ui-config.json +++ b/src/configurations/destinations/marketo_static_list/ui-config.json @@ -52,66 +52,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -165,7 +110,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -176,15 +121,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/matomo/ui-config.json b/src/configurations/destinations/matomo/ui-config.json index fc7ee9327..280b343ae 100644 --- a/src/configurations/destinations/matomo/ui-config.json +++ b/src/configurations/destinations/matomo/ui-config.json @@ -268,66 +268,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -381,7 +326,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -392,15 +337,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/mautic/db-config.json b/src/configurations/destinations/mautic/db-config.json index 0541ecc8b..90fa78713 100644 --- a/src/configurations/destinations/mautic/db-config.json +++ b/src/configurations/destinations/mautic/db-config.json @@ -12,6 +12,7 @@ "domainName", "domainMethod", "oneTrustCookieCategories", + "ketchConsentPurposes", "consentManagement" ], "excludeKeys": [], diff --git a/src/configurations/destinations/mautic/ui-config.json b/src/configurations/destinations/mautic/ui-config.json index 2b325a602..4a7a5c55c 100644 --- a/src/configurations/destinations/mautic/ui-config.json +++ b/src/configurations/destinations/mautic/ui-config.json @@ -87,66 +87,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -200,7 +145,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -211,15 +156,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/microsoft_clarity/ui-config.json b/src/configurations/destinations/microsoft_clarity/ui-config.json index 399a18bae..f52ab4605 100644 --- a/src/configurations/destinations/microsoft_clarity/ui-config.json +++ b/src/configurations/destinations/microsoft_clarity/ui-config.json @@ -89,66 +89,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -202,7 +147,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -213,15 +158,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/minio/db-config.json b/src/configurations/destinations/minio/db-config.json index 2f62d1cd5..6b3cc948c 100644 --- a/src/configurations/destinations/minio/db-config.json +++ b/src/configurations/destinations/minio/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "none", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/minio/schema.json b/src/configurations/destinations/minio/schema.json index 01b22eba3..5480a982a 100644 --- a/src/configurations/destinations/minio/schema.json +++ b/src/configurations/destinations/minio/schema.json @@ -276,6 +276,517 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "unity": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "reactnative": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "flutter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "cordova": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/minio/ui-config.json b/src/configurations/destinations/minio/ui-config.json index 89b067daa..9287faf91 100644 --- a/src/configurations/destinations/minio/ui-config.json +++ b/src/configurations/destinations/minio/ui-config.json @@ -61,66 +61,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -174,7 +119,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -185,15 +130,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/moengage/schema.json b/src/configurations/destinations/moengage/schema.json index 01b22eba3..5480a982a 100644 --- a/src/configurations/destinations/moengage/schema.json +++ b/src/configurations/destinations/moengage/schema.json @@ -276,6 +276,517 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "unity": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "reactnative": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "flutter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "cordova": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/moengage/ui-config.json b/src/configurations/destinations/moengage/ui-config.json index bc7737f68..a6215e605 100644 --- a/src/configurations/destinations/moengage/ui-config.json +++ b/src/configurations/destinations/moengage/ui-config.json @@ -117,66 +117,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -230,7 +175,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -241,15 +186,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/monday/db-config.json b/src/configurations/destinations/monday/db-config.json index d1dfc1ae5..626f05eef 100644 --- a/src/configurations/destinations/monday/db-config.json +++ b/src/configurations/destinations/monday/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "router", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/monday/ui-config.json b/src/configurations/destinations/monday/ui-config.json index 95f176cc5..6408e3f7e 100644 --- a/src/configurations/destinations/monday/ui-config.json +++ b/src/configurations/destinations/monday/ui-config.json @@ -81,66 +81,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -194,7 +139,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -205,15 +150,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/monetate/db-config.json b/src/configurations/destinations/monetate/db-config.json index d31fe47dc..207d45ec7 100644 --- a/src/configurations/destinations/monetate/db-config.json +++ b/src/configurations/destinations/monetate/db-config.json @@ -103,6 +103,6 @@ ] }, "secretKeys": [], - "includeKeys": ["oneTrustCookieCategories", "consentManagement"] + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"] } } diff --git a/src/configurations/destinations/monetate/schema.json b/src/configurations/destinations/monetate/schema.json index f80b120e3..69b32550c 100644 --- a/src/configurations/destinations/monetate/schema.json +++ b/src/configurations/destinations/monetate/schema.json @@ -276,6 +276,517 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "unity": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "reactnative": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "flutter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "cordova": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/monetate/ui-config.json b/src/configurations/destinations/monetate/ui-config.json index 66b42a2bd..e4564e92b 100644 --- a/src/configurations/destinations/monetate/ui-config.json +++ b/src/configurations/destinations/monetate/ui-config.json @@ -24,66 +24,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -137,7 +82,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -148,15 +93,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/mouseflow/db-config.json b/src/configurations/destinations/mouseflow/db-config.json index 6ade9c812..9090aaabb 100644 --- a/src/configurations/destinations/mouseflow/db-config.json +++ b/src/configurations/destinations/mouseflow/db-config.json @@ -10,7 +10,8 @@ "whitelistedEvents", "oneTrustCookieCategories", "eventFilteringOption", - "ketchConsentPurposes" + "ketchConsentPurposes", + "consentManagement" ], "excludeKeys": [], "supportedSourceTypes": ["web"], @@ -27,8 +28,7 @@ "websiteId", "blacklistedEvents", "whitelistedEvents", - "eventFilteringOption", - "consentManagement" + "eventFilteringOption" ], "web": [ "useNativeSDK", diff --git a/src/configurations/destinations/mouseflow/ui-config.json b/src/configurations/destinations/mouseflow/ui-config.json index 435eecae4..8583ae0fd 100644 --- a/src/configurations/destinations/mouseflow/ui-config.json +++ b/src/configurations/destinations/mouseflow/ui-config.json @@ -85,66 +85,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -198,7 +143,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -209,15 +154,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/movable_ink/ui-config.json b/src/configurations/destinations/movable_ink/ui-config.json index 233ff5e01..60a91a490 100644 --- a/src/configurations/destinations/movable_ink/ui-config.json +++ b/src/configurations/destinations/movable_ink/ui-config.json @@ -86,56 +86,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -189,8 +139,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -200,15 +150,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/mp/ui-config.json b/src/configurations/destinations/mp/ui-config.json index 70ca09310..6960a5dd5 100644 --- a/src/configurations/destinations/mp/ui-config.json +++ b/src/configurations/destinations/mp/ui-config.json @@ -532,56 +532,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -635,8 +585,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -646,15 +596,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/mssql/db-config.json b/src/configurations/destinations/mssql/db-config.json index 590a13bfa..8cdf5154b 100644 --- a/src/configurations/destinations/mssql/db-config.json +++ b/src/configurations/destinations/mssql/db-config.json @@ -5,7 +5,7 @@ "config": { "transformAtV1": "processor", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/mssql/ui-config.json b/src/configurations/destinations/mssql/ui-config.json index 8fe0c0262..9a87c057c 100644 --- a/src/configurations/destinations/mssql/ui-config.json +++ b/src/configurations/destinations/mssql/ui-config.json @@ -583,66 +583,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -696,7 +641,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -707,15 +652,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/new_relic/db-config.json b/src/configurations/destinations/new_relic/db-config.json index 33b784bca..f085524c0 100644 --- a/src/configurations/destinations/new_relic/db-config.json +++ b/src/configurations/destinations/new_relic/db-config.json @@ -13,6 +13,7 @@ "sendDeviceContext", "sendUserIdanonymousId", "oneTrustCookieCategories", + "ketchConsentPurposes", "consentManagement" ], "excludeKeys": [], diff --git a/src/configurations/destinations/new_relic/ui-config.json b/src/configurations/destinations/new_relic/ui-config.json index 7eaf5d708..586125a7b 100644 --- a/src/configurations/destinations/new_relic/ui-config.json +++ b/src/configurations/destinations/new_relic/ui-config.json @@ -73,66 +73,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -186,7 +131,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -197,15 +142,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/ninetailed/ui-config.json b/src/configurations/destinations/ninetailed/ui-config.json index 3e1be9bd2..d0f1d5245 100644 --- a/src/configurations/destinations/ninetailed/ui-config.json +++ b/src/configurations/destinations/ninetailed/ui-config.json @@ -166,7 +166,7 @@ { "type": "tagInput", "label": "Allowlisted events", - "note": "Input separate events by pressing ‘Enter’.\nInput the events you want to allowlist.", + "note": "Input separate events by pressing 'Enter'.\nInput the events you want to allowlist.", "configKey": "whitelistedEvents", "tagKey": "eventName", "placeholder": "e.g: Anonymous page visit", @@ -187,7 +187,7 @@ { "type": "tagInput", "label": "Denylisted events", - "note": "Input separate events by pressing ‘Enter’.\nInput the events you want to denylist.", + "note": "Input separate events by pressing 'Enter'.\nInput the events you want to denylist.", "configKey": "blacklistedEvents", "tagKey": "eventName", "placeholder": "e.g: Anonymous page visit", @@ -229,56 +229,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -332,8 +282,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -343,15 +293,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/olark/ui-config.json b/src/configurations/destinations/olark/ui-config.json index 90d0272d0..71b7bb0fa 100644 --- a/src/configurations/destinations/olark/ui-config.json +++ b/src/configurations/destinations/olark/ui-config.json @@ -154,66 +154,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -267,7 +212,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -278,15 +223,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/ometria/db-config.json b/src/configurations/destinations/ometria/db-config.json index 6cce84253..b4687190f 100644 --- a/src/configurations/destinations/ometria/db-config.json +++ b/src/configurations/destinations/ometria/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "router", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/ometria/schema.json b/src/configurations/destinations/ometria/schema.json index 713725d6e..f3bb5ef83 100644 --- a/src/configurations/destinations/ometria/schema.json +++ b/src/configurations/destinations/ometria/schema.json @@ -276,6 +276,517 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "unity": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "reactnative": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "flutter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "cordova": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/ometria/ui-config.json b/src/configurations/destinations/ometria/ui-config.json index f2df542c5..f2a2994f6 100644 --- a/src/configurations/destinations/ometria/ui-config.json +++ b/src/configurations/destinations/ometria/ui-config.json @@ -64,66 +64,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -177,7 +122,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -188,15 +133,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/one_signal/db-config.json b/src/configurations/destinations/one_signal/db-config.json index 94aebf3ee..70be44a57 100644 --- a/src/configurations/destinations/one_signal/db-config.json +++ b/src/configurations/destinations/one_signal/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "router", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/one_signal/ui-config.json b/src/configurations/destinations/one_signal/ui-config.json index ef7dd2e3c..ebe2cd13b 100644 --- a/src/configurations/destinations/one_signal/ui-config.json +++ b/src/configurations/destinations/one_signal/ui-config.json @@ -79,66 +79,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -192,7 +137,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -203,15 +148,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/optimizely/schema.json b/src/configurations/destinations/optimizely/schema.json index 02b6dbfaf..82a8ad96a 100644 --- a/src/configurations/destinations/optimizely/schema.json +++ b/src/configurations/destinations/optimizely/schema.json @@ -36,6 +36,57 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/optimizely/ui-config.json b/src/configurations/destinations/optimizely/ui-config.json index b5892296a..08c7916a1 100644 --- a/src/configurations/destinations/optimizely/ui-config.json +++ b/src/configurations/destinations/optimizely/ui-config.json @@ -146,66 +146,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -259,7 +204,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -270,15 +215,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/optimizely_fullstack/ui-config.json b/src/configurations/destinations/optimizely_fullstack/ui-config.json index 8676f05ae..dba68a360 100644 --- a/src/configurations/destinations/optimizely_fullstack/ui-config.json +++ b/src/configurations/destinations/optimizely_fullstack/ui-config.json @@ -765,56 +765,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -868,8 +818,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -879,15 +829,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] }, diff --git a/src/configurations/destinations/ortto/ui-config.json b/src/configurations/destinations/ortto/ui-config.json index 397d9a929..502e65e1f 100644 --- a/src/configurations/destinations/ortto/ui-config.json +++ b/src/configurations/destinations/ortto/ui-config.json @@ -118,56 +118,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -221,8 +171,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -232,15 +182,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] }, diff --git a/src/configurations/destinations/pagerduty/db-config.json b/src/configurations/destinations/pagerduty/db-config.json index 05685bddd..d80dee737 100644 --- a/src/configurations/destinations/pagerduty/db-config.json +++ b/src/configurations/destinations/pagerduty/db-config.json @@ -8,6 +8,7 @@ "routingKey", "dedupKeyFieldIdentifier", "oneTrustCookieCategories", + "ketchConsentPurposes", "consentManagement" ], "excludeKeys": [], diff --git a/src/configurations/destinations/pagerduty/ui-config.json b/src/configurations/destinations/pagerduty/ui-config.json index 314117f7a..dc87bfa5a 100644 --- a/src/configurations/destinations/pagerduty/ui-config.json +++ b/src/configurations/destinations/pagerduty/ui-config.json @@ -30,66 +30,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -143,7 +88,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -154,15 +99,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/pardot/db-config.json b/src/configurations/destinations/pardot/db-config.json index 12233b423..60233f071 100644 --- a/src/configurations/destinations/pardot/db-config.json +++ b/src/configurations/destinations/pardot/db-config.json @@ -9,7 +9,7 @@ }, "transformAtV1": "router", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/pardot/schema.json b/src/configurations/destinations/pardot/schema.json index 01b22eba3..5480a982a 100644 --- a/src/configurations/destinations/pardot/schema.json +++ b/src/configurations/destinations/pardot/schema.json @@ -276,6 +276,517 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "unity": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "reactnative": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "flutter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "cordova": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/pardot/ui-config.json b/src/configurations/destinations/pardot/ui-config.json index 050b3e7aa..5ef99e3b2 100644 --- a/src/configurations/destinations/pardot/ui-config.json +++ b/src/configurations/destinations/pardot/ui-config.json @@ -25,66 +25,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -138,7 +83,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -149,15 +94,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/pendo/schema.json b/src/configurations/destinations/pendo/schema.json index 02b6dbfaf..82a8ad96a 100644 --- a/src/configurations/destinations/pendo/schema.json +++ b/src/configurations/destinations/pendo/schema.json @@ -36,6 +36,57 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/pendo/ui-config.json b/src/configurations/destinations/pendo/ui-config.json index 6eaee4af1..be75adc87 100644 --- a/src/configurations/destinations/pendo/ui-config.json +++ b/src/configurations/destinations/pendo/ui-config.json @@ -84,66 +84,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -197,7 +142,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -208,15 +153,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/persistiq/db-config.json b/src/configurations/destinations/persistiq/db-config.json index dee6e662d..b778f7971 100644 --- a/src/configurations/destinations/persistiq/db-config.json +++ b/src/configurations/destinations/persistiq/db-config.json @@ -4,7 +4,12 @@ "config": { "transformAtV1": "router", "saveDestinationResponse": true, - "includeKeys": ["apiKey", "oneTrustCookieCategories", "consentManagement"], + "includeKeys": [ + "apiKey", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], "excludeKeys": [], "supportedSourceTypes": [ "web", diff --git a/src/configurations/destinations/persistiq/ui-config.json b/src/configurations/destinations/persistiq/ui-config.json index 3479512e1..72fe2ada7 100644 --- a/src/configurations/destinations/persistiq/ui-config.json +++ b/src/configurations/destinations/persistiq/ui-config.json @@ -35,66 +35,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -148,7 +93,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -159,15 +104,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/personalize/db-config.json b/src/configurations/destinations/personalize/db-config.json index 2333ae889..f7374002b 100644 --- a/src/configurations/destinations/personalize/db-config.json +++ b/src/configurations/destinations/personalize/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "processor", "saveDestinationResponse": false, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/personalize/ui-config.json b/src/configurations/destinations/personalize/ui-config.json index 25ad6f651..6c58c70fb 100644 --- a/src/configurations/destinations/personalize/ui-config.json +++ b/src/configurations/destinations/personalize/ui-config.json @@ -141,66 +141,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -254,7 +199,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -265,15 +210,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/pinterest_tag/ui-config.json b/src/configurations/destinations/pinterest_tag/ui-config.json index 8438e91be..2c4bd496a 100644 --- a/src/configurations/destinations/pinterest_tag/ui-config.json +++ b/src/configurations/destinations/pinterest_tag/ui-config.json @@ -272,66 +272,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -385,7 +330,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -396,15 +341,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/pipedream/db-config.json b/src/configurations/destinations/pipedream/db-config.json index 7c06e558e..febc323a4 100644 --- a/src/configurations/destinations/pipedream/db-config.json +++ b/src/configurations/destinations/pipedream/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "processor", "saveDestinationResponse": false, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/pipedream/ui-config.json b/src/configurations/destinations/pipedream/ui-config.json index a54968d66..bc0224330 100644 --- a/src/configurations/destinations/pipedream/ui-config.json +++ b/src/configurations/destinations/pipedream/ui-config.json @@ -60,66 +60,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -173,7 +118,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -184,15 +129,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/pipedrive/db-config.json b/src/configurations/destinations/pipedrive/db-config.json index f98daad7c..717832109 100644 --- a/src/configurations/destinations/pipedrive/db-config.json +++ b/src/configurations/destinations/pipedrive/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "router", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/pipedrive/schema.json b/src/configurations/destinations/pipedrive/schema.json index d161ea7b1..8fb94d129 100644 --- a/src/configurations/destinations/pipedrive/schema.json +++ b/src/configurations/destinations/pipedrive/schema.json @@ -252,6 +252,471 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "unity": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "reactnative": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "flutter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "cordova": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/pipedrive/ui-config.json b/src/configurations/destinations/pipedrive/ui-config.json index a4df419cb..c7965552e 100644 --- a/src/configurations/destinations/pipedrive/ui-config.json +++ b/src/configurations/destinations/pipedrive/ui-config.json @@ -84,66 +84,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -197,7 +142,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -208,15 +153,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/podsights/ui-config.json b/src/configurations/destinations/podsights/ui-config.json index 27ddeade4..574a8d1c9 100644 --- a/src/configurations/destinations/podsights/ui-config.json +++ b/src/configurations/destinations/podsights/ui-config.json @@ -136,66 +136,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -249,7 +194,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -260,15 +205,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/post_affiliate_pro/schema.json b/src/configurations/destinations/post_affiliate_pro/schema.json index 02b6dbfaf..82a8ad96a 100644 --- a/src/configurations/destinations/post_affiliate_pro/schema.json +++ b/src/configurations/destinations/post_affiliate_pro/schema.json @@ -36,6 +36,57 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/post_affiliate_pro/ui-config.json b/src/configurations/destinations/post_affiliate_pro/ui-config.json index 5707a8b7b..681a4d99e 100644 --- a/src/configurations/destinations/post_affiliate_pro/ui-config.json +++ b/src/configurations/destinations/post_affiliate_pro/ui-config.json @@ -198,66 +198,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -311,7 +256,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -322,15 +267,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/postgres/db-config.json b/src/configurations/destinations/postgres/db-config.json index b70071acc..c6bd52dd9 100644 --- a/src/configurations/destinations/postgres/db-config.json +++ b/src/configurations/destinations/postgres/db-config.json @@ -5,7 +5,7 @@ "config": { "transformAtV1": "processor", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/postgres/ui-config.json b/src/configurations/destinations/postgres/ui-config.json index 912879e5d..3dab5df2b 100644 --- a/src/configurations/destinations/postgres/ui-config.json +++ b/src/configurations/destinations/postgres/ui-config.json @@ -688,66 +688,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -801,7 +746,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -812,15 +757,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/posthog/ui-config.json b/src/configurations/destinations/posthog/ui-config.json index 56e74320d..505228b69 100644 --- a/src/configurations/destinations/posthog/ui-config.json +++ b/src/configurations/destinations/posthog/ui-config.json @@ -173,66 +173,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -286,7 +231,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -297,15 +242,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] }, diff --git a/src/configurations/destinations/profitwell/schema.json b/src/configurations/destinations/profitwell/schema.json index 713725d6e..f3bb5ef83 100644 --- a/src/configurations/destinations/profitwell/schema.json +++ b/src/configurations/destinations/profitwell/schema.json @@ -276,6 +276,517 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "unity": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "reactnative": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "flutter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "cordova": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/profitwell/ui-config.json b/src/configurations/destinations/profitwell/ui-config.json index 870f217b9..46ec1a07d 100644 --- a/src/configurations/destinations/profitwell/ui-config.json +++ b/src/configurations/destinations/profitwell/ui-config.json @@ -116,66 +116,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -229,7 +174,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -240,15 +185,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/qualaroo/ui-config.json b/src/configurations/destinations/qualaroo/ui-config.json index ae8b44d3e..1edcbb2b8 100644 --- a/src/configurations/destinations/qualaroo/ui-config.json +++ b/src/configurations/destinations/qualaroo/ui-config.json @@ -196,66 +196,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -309,7 +254,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -320,15 +265,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/qualtrics/schema.json b/src/configurations/destinations/qualtrics/schema.json index 092f8b350..8f8dd8edc 100644 --- a/src/configurations/destinations/qualtrics/schema.json +++ b/src/configurations/destinations/qualtrics/schema.json @@ -84,6 +84,149 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/qualtrics/ui-config.json b/src/configurations/destinations/qualtrics/ui-config.json index 54687bced..897d02510 100644 --- a/src/configurations/destinations/qualtrics/ui-config.json +++ b/src/configurations/destinations/qualtrics/ui-config.json @@ -95,66 +95,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -208,7 +153,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -219,15 +164,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/quantummetric/schema.json b/src/configurations/destinations/quantummetric/schema.json index 02b6dbfaf..82a8ad96a 100644 --- a/src/configurations/destinations/quantummetric/schema.json +++ b/src/configurations/destinations/quantummetric/schema.json @@ -36,6 +36,57 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/quantummetric/ui-config.json b/src/configurations/destinations/quantummetric/ui-config.json index bac48da0a..7d3c90b0b 100644 --- a/src/configurations/destinations/quantummetric/ui-config.json +++ b/src/configurations/destinations/quantummetric/ui-config.json @@ -83,66 +83,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -196,7 +141,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -207,15 +152,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/quora_pixel/ui-config.json b/src/configurations/destinations/quora_pixel/ui-config.json index 5d2c97c9e..be68e707a 100644 --- a/src/configurations/destinations/quora_pixel/ui-config.json +++ b/src/configurations/destinations/quora_pixel/ui-config.json @@ -146,66 +146,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -259,7 +204,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -270,15 +215,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/rakuten/db-config.json b/src/configurations/destinations/rakuten/db-config.json index 53454c310..7a24c0a12 100644 --- a/src/configurations/destinations/rakuten/db-config.json +++ b/src/configurations/destinations/rakuten/db-config.json @@ -5,7 +5,7 @@ "cdkV2Enabled": true, "transformAtV1": "processor", "saveDestinationResponse": true, - "includeKeys": ["mid", "oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["mid", "oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/rakuten/ui-config.json b/src/configurations/destinations/rakuten/ui-config.json index 882255a7a..256eb2fe4 100644 --- a/src/configurations/destinations/rakuten/ui-config.json +++ b/src/configurations/destinations/rakuten/ui-config.json @@ -67,56 +67,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -170,8 +120,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -181,15 +131,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/reddit/db-config.json b/src/configurations/destinations/reddit/db-config.json index 052982455..019e9fe6c 100644 --- a/src/configurations/destinations/reddit/db-config.json +++ b/src/configurations/destinations/reddit/db-config.json @@ -39,17 +39,72 @@ }, "destConfig": { "defaultConfig": ["rudderAccountId", "accountId", "eventsMapping", "hashData"], - "android": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "ios": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "web": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "unity": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "amp": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "cloud": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "warehouse": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "reactnative": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "flutter": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "cordova": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "shopify": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"] + "android": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "ios": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "web": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "unity": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "amp": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "cloud": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "warehouse": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "reactnative": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "flutter": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "cordova": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "shopify": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ] }, "secretKeys": [] } diff --git a/src/configurations/destinations/reddit/schema.json b/src/configurations/destinations/reddit/schema.json index 863f5fe18..2aab81223 100644 --- a/src/configurations/destinations/reddit/schema.json +++ b/src/configurations/destinations/reddit/schema.json @@ -337,6 +337,517 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "unity": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "reactnative": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "flutter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "cordova": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/reddit/ui-config.json b/src/configurations/destinations/reddit/ui-config.json index 1458124a1..d63c82a23 100644 --- a/src/configurations/destinations/reddit/ui-config.json +++ b/src/configurations/destinations/reddit/ui-config.json @@ -145,54 +145,70 @@ "note": "not visible in the ui", "fields": [ { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ + "type": "dynamicCustomForm", + "configKey": "consentManagement", + "default": [], + "rowFields": [ { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" + "type": "singleSelect", + "label": "Consent management provider", + "configKey": "provider", + "options": [ + { + "label": "Custom", + "value": "custom" + }, + { + "label": "Ketch", + "value": "ketch" + }, + { + "label": "OneTrust", + "value": "oneTrust" + } + ], + "default": "oneTrust", + "required": true + }, + { + "type": "singleSelect", + "label": "the required consent logic", + "configKey": "resolutionStrategy", + "options": [ + { + "label": "AND", + "value": "and" + }, + { + "label": "OR", + "value": "or" + } + ], + "required": true, + "variant": "badge", + "preRequisites": { + "fields": [ + { + "configKey": "provider", + "value": "custom" + } + ] } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ + }, { - "purpose": "" + "type": "tagInput", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "configKey": "consents", + "tagKey": "consent", + "placeholder": "e.g: Marketing", + "default": [ + { + "consent": "" + } + ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } + ] } ] } diff --git a/src/configurations/destinations/reddit_pixel/ui-config.json b/src/configurations/destinations/reddit_pixel/ui-config.json index 2c780714c..34826f266 100644 --- a/src/configurations/destinations/reddit_pixel/ui-config.json +++ b/src/configurations/destinations/reddit_pixel/ui-config.json @@ -126,66 +126,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -239,7 +184,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -250,15 +195,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/redis/ui-config.json b/src/configurations/destinations/redis/ui-config.json index c84d88187..6449fef30 100644 --- a/src/configurations/destinations/redis/ui-config.json +++ b/src/configurations/destinations/redis/ui-config.json @@ -98,66 +98,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -211,7 +156,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -222,15 +167,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/refiner/ui-config.json b/src/configurations/destinations/refiner/ui-config.json index 7eb191083..8b23f9aaa 100644 --- a/src/configurations/destinations/refiner/ui-config.json +++ b/src/configurations/destinations/refiner/ui-config.json @@ -125,66 +125,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -238,7 +183,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -249,15 +194,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/revenue_cat/db-config.json b/src/configurations/destinations/revenue_cat/db-config.json index 47bcda47b..d037e0f9b 100644 --- a/src/configurations/destinations/revenue_cat/db-config.json +++ b/src/configurations/destinations/revenue_cat/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "processor", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "web", diff --git a/src/configurations/destinations/revenue_cat/ui-config.json b/src/configurations/destinations/revenue_cat/ui-config.json index dca743a02..234ce462e 100644 --- a/src/configurations/destinations/revenue_cat/ui-config.json +++ b/src/configurations/destinations/revenue_cat/ui-config.json @@ -53,66 +53,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -166,7 +111,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -177,15 +122,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/rockerbox/ui-config.json b/src/configurations/destinations/rockerbox/ui-config.json index 7f2aff09f..8a4b97aaf 100644 --- a/src/configurations/destinations/rockerbox/ui-config.json +++ b/src/configurations/destinations/rockerbox/ui-config.json @@ -248,56 +248,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -351,8 +301,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -362,15 +312,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/rollbar/ui-config.json b/src/configurations/destinations/rollbar/ui-config.json index 5727fce56..2f8743ed7 100644 --- a/src/configurations/destinations/rollbar/ui-config.json +++ b/src/configurations/destinations/rollbar/ui-config.json @@ -156,66 +156,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -269,7 +214,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -280,15 +225,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/rs/db-config.json b/src/configurations/destinations/rs/db-config.json index c1fe5e62e..c4d7b9595 100644 --- a/src/configurations/destinations/rs/db-config.json +++ b/src/configurations/destinations/rs/db-config.json @@ -5,7 +5,7 @@ "config": { "transformAtV1": "processor", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/rs/ui-config.json b/src/configurations/destinations/rs/ui-config.json index 8f3a0abbe..63d4c7903 100644 --- a/src/configurations/destinations/rs/ui-config.json +++ b/src/configurations/destinations/rs/ui-config.json @@ -471,66 +471,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -584,7 +529,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -595,15 +540,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/s3/ui-config.json b/src/configurations/destinations/s3/ui-config.json index a67978dc0..9b83c7b9b 100644 --- a/src/configurations/destinations/s3/ui-config.json +++ b/src/configurations/destinations/s3/ui-config.json @@ -83,66 +83,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -196,7 +141,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -207,15 +152,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/s3_datalake/db-config.json b/src/configurations/destinations/s3_datalake/db-config.json index 6661745bb..23a409846 100644 --- a/src/configurations/destinations/s3_datalake/db-config.json +++ b/src/configurations/destinations/s3_datalake/db-config.json @@ -5,7 +5,7 @@ "config": { "transformAtV1": "processor", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/s3_datalake/ui-config.json b/src/configurations/destinations/s3_datalake/ui-config.json index bc48f1a5e..abaf61d4f 100644 --- a/src/configurations/destinations/s3_datalake/ui-config.json +++ b/src/configurations/destinations/s3_datalake/ui-config.json @@ -191,66 +191,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -304,7 +249,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -315,15 +260,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/salesforce/db-config.json b/src/configurations/destinations/salesforce/db-config.json index de50cc4a6..72dd4295a 100644 --- a/src/configurations/destinations/salesforce/db-config.json +++ b/src/configurations/destinations/salesforce/db-config.json @@ -11,7 +11,7 @@ "identify": 3 } }, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/salesforce/ui-config.json b/src/configurations/destinations/salesforce/ui-config.json index 3073688a4..2c62768ef 100644 --- a/src/configurations/destinations/salesforce/ui-config.json +++ b/src/configurations/destinations/salesforce/ui-config.json @@ -60,66 +60,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -173,7 +118,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -184,15 +129,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/salesforce_oauth/db-config.json b/src/configurations/destinations/salesforce_oauth/db-config.json index ad7196048..d8ac452c9 100644 --- a/src/configurations/destinations/salesforce_oauth/db-config.json +++ b/src/configurations/destinations/salesforce_oauth/db-config.json @@ -11,7 +11,7 @@ }, "transformAtV1": "router", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/salesforce_oauth/ui-config.json b/src/configurations/destinations/salesforce_oauth/ui-config.json index 60e469af2..fe5dd9f1c 100644 --- a/src/configurations/destinations/salesforce_oauth/ui-config.json +++ b/src/configurations/destinations/salesforce_oauth/ui-config.json @@ -21,66 +21,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -134,7 +79,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -145,15 +90,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/salesforce_oauth_sandbox/db-config.json b/src/configurations/destinations/salesforce_oauth_sandbox/db-config.json index bcbb2d1ef..e17ed300d 100644 --- a/src/configurations/destinations/salesforce_oauth_sandbox/db-config.json +++ b/src/configurations/destinations/salesforce_oauth_sandbox/db-config.json @@ -11,7 +11,7 @@ }, "transformAtV1": "router", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/salesforce_oauth_sandbox/ui-config.json b/src/configurations/destinations/salesforce_oauth_sandbox/ui-config.json index 60e469af2..fe5dd9f1c 100644 --- a/src/configurations/destinations/salesforce_oauth_sandbox/ui-config.json +++ b/src/configurations/destinations/salesforce_oauth_sandbox/ui-config.json @@ -21,66 +21,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -134,7 +79,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -145,15 +90,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/satismeter/ui-config.json b/src/configurations/destinations/satismeter/ui-config.json index 542e90ef4..b0822de98 100644 --- a/src/configurations/destinations/satismeter/ui-config.json +++ b/src/configurations/destinations/satismeter/ui-config.json @@ -192,66 +192,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -305,7 +250,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -316,15 +261,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/segment/db-config.json b/src/configurations/destinations/segment/db-config.json index 5be5a8ddf..535e81a5c 100644 --- a/src/configurations/destinations/segment/db-config.json +++ b/src/configurations/destinations/segment/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "processor", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/segment/schema.json b/src/configurations/destinations/segment/schema.json index 01b22eba3..5480a982a 100644 --- a/src/configurations/destinations/segment/schema.json +++ b/src/configurations/destinations/segment/schema.json @@ -276,6 +276,517 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "unity": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "reactnative": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "flutter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "cordova": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/segment/ui-config.json b/src/configurations/destinations/segment/ui-config.json index 0be32ee31..16be5f9ef 100644 --- a/src/configurations/destinations/segment/ui-config.json +++ b/src/configurations/destinations/segment/ui-config.json @@ -17,66 +17,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -130,7 +75,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -141,15 +86,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/sendgrid/db-config.json b/src/configurations/destinations/sendgrid/db-config.json index 623022a66..8eb435cd3 100644 --- a/src/configurations/destinations/sendgrid/db-config.json +++ b/src/configurations/destinations/sendgrid/db-config.json @@ -5,7 +5,7 @@ "isAudienceSupported": true, "transformAtV1": "router", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/sendgrid/schema.json b/src/configurations/destinations/sendgrid/schema.json index 713725d6e..f3bb5ef83 100644 --- a/src/configurations/destinations/sendgrid/schema.json +++ b/src/configurations/destinations/sendgrid/schema.json @@ -276,6 +276,517 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "unity": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "reactnative": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "flutter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "cordova": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/sendgrid/ui-config.json b/src/configurations/destinations/sendgrid/ui-config.json index 1a93bf46e..cc5995721 100644 --- a/src/configurations/destinations/sendgrid/ui-config.json +++ b/src/configurations/destinations/sendgrid/ui-config.json @@ -370,66 +370,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -483,7 +428,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -494,15 +439,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/sendinblue/ui-config.json b/src/configurations/destinations/sendinblue/ui-config.json index 099dd292c..34d4d36de 100644 --- a/src/configurations/destinations/sendinblue/ui-config.json +++ b/src/configurations/destinations/sendinblue/ui-config.json @@ -156,66 +156,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -269,7 +214,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -280,15 +225,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/sentry/ui-config.json b/src/configurations/destinations/sentry/ui-config.json index 3c34ca11d..3f0f04907 100644 --- a/src/configurations/destinations/sentry/ui-config.json +++ b/src/configurations/destinations/sentry/ui-config.json @@ -183,66 +183,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -296,7 +241,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -307,15 +252,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/serenytics/db-config.json b/src/configurations/destinations/serenytics/db-config.json index 0999581b0..ed971fc31 100644 --- a/src/configurations/destinations/serenytics/db-config.json +++ b/src/configurations/destinations/serenytics/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "processor", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/serenytics/ui-config.json b/src/configurations/destinations/serenytics/ui-config.json index 71fa45cc8..99169652d 100644 --- a/src/configurations/destinations/serenytics/ui-config.json +++ b/src/configurations/destinations/serenytics/ui-config.json @@ -68,66 +68,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -181,7 +126,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -192,15 +137,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/sfmc/db-config.json b/src/configurations/destinations/sfmc/db-config.json index 9e4feb833..913ee1f48 100644 --- a/src/configurations/destinations/sfmc/db-config.json +++ b/src/configurations/destinations/sfmc/db-config.json @@ -13,7 +13,7 @@ "track": 1 } }, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/sfmc/schema.json b/src/configurations/destinations/sfmc/schema.json index 01b22eba3..5480a982a 100644 --- a/src/configurations/destinations/sfmc/schema.json +++ b/src/configurations/destinations/sfmc/schema.json @@ -276,6 +276,517 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "unity": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "reactnative": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "flutter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "cordova": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/sfmc/ui-config.json b/src/configurations/destinations/sfmc/ui-config.json index 2a7375178..9873462a7 100644 --- a/src/configurations/destinations/sfmc/ui-config.json +++ b/src/configurations/destinations/sfmc/ui-config.json @@ -112,66 +112,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -225,7 +170,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -236,15 +181,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/sftp/db-config.json b/src/configurations/destinations/sftp/db-config.json index 1947a0aa7..a6d1985a2 100644 --- a/src/configurations/destinations/sftp/db-config.json +++ b/src/configurations/destinations/sftp/db-config.json @@ -25,7 +25,7 @@ "fileFormat", "filePath" ], - "warehouse": ["oneTrustCookieCategories", "ketchConsentPurposes"] + "warehouse": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"] }, "secretKeys": ["password", "privateKey"] }, diff --git a/src/configurations/destinations/sftp/schema.json b/src/configurations/destinations/sftp/schema.json index f1f297a16..6129e3b0e 100644 --- a/src/configurations/destinations/sftp/schema.json +++ b/src/configurations/destinations/sftp/schema.json @@ -72,6 +72,57 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } }, "allOf": [ diff --git a/src/configurations/destinations/sftp/ui-config.json b/src/configurations/destinations/sftp/ui-config.json index f68ed6a59..49e4c874e 100644 --- a/src/configurations/destinations/sftp/ui-config.json +++ b/src/configurations/destinations/sftp/ui-config.json @@ -160,54 +160,70 @@ "note": "not visible in the ui", "fields": [ { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ + "type": "dynamicCustomForm", + "configKey": "consentManagement", + "default": [], + "rowFields": [ { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" + "type": "singleSelect", + "label": "Consent management provider", + "configKey": "provider", + "options": [ + { + "label": "Custom", + "value": "custom" + }, + { + "label": "Ketch", + "value": "ketch" + }, + { + "label": "OneTrust", + "value": "oneTrust" + } + ], + "default": "oneTrust", + "required": true + }, + { + "type": "singleSelect", + "label": "the required consent logic", + "configKey": "resolutionStrategy", + "options": [ + { + "label": "AND", + "value": "and" + }, + { + "label": "OR", + "value": "or" + } + ], + "required": true, + "variant": "badge", + "preRequisites": { + "fields": [ + { + "configKey": "provider", + "value": "custom" + } + ] } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ + }, { - "purpose": "" + "type": "tagInput", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "configKey": "consents", + "tagKey": "consent", + "placeholder": "e.g: Marketing", + "default": [ + { + "consent": "" + } + ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } + ] } ] } diff --git a/src/configurations/destinations/shynet/db-config.json b/src/configurations/destinations/shynet/db-config.json index 307e6d961..8ae60e0d5 100644 --- a/src/configurations/destinations/shynet/db-config.json +++ b/src/configurations/destinations/shynet/db-config.json @@ -115,7 +115,7 @@ "oneTrustCookieCategories", "ketchConsentPurposes" ], - "warehouse": ["oneTrustCookieCategories", "ketchConsentPurposes"] + "warehouse": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"] }, "secretKeys": [] } diff --git a/src/configurations/destinations/shynet/ui-config.json b/src/configurations/destinations/shynet/ui-config.json index ea42de6cf..53b33ffc7 100644 --- a/src/configurations/destinations/shynet/ui-config.json +++ b/src/configurations/destinations/shynet/ui-config.json @@ -96,66 +96,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -209,7 +154,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -220,15 +165,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/signl4/db-config.json b/src/configurations/destinations/signl4/db-config.json index 138d5103a..80d0a036d 100644 --- a/src/configurations/destinations/signl4/db-config.json +++ b/src/configurations/destinations/signl4/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "processor", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/signl4/ui-config.json b/src/configurations/destinations/signl4/ui-config.json index cfd92e00c..d98ea46ab 100644 --- a/src/configurations/destinations/signl4/ui-config.json +++ b/src/configurations/destinations/signl4/ui-config.json @@ -204,66 +204,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -317,7 +262,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -328,15 +273,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/singular/db-config.json b/src/configurations/destinations/singular/db-config.json index 372afa243..6bf5a18a7 100644 --- a/src/configurations/destinations/singular/db-config.json +++ b/src/configurations/destinations/singular/db-config.json @@ -125,7 +125,7 @@ "oneTrustCookieCategories", "ketchConsentPurposes" ], - "web": ["oneTrustCookieCategories", "ketchConsentPurposes"] + "web": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"] }, "secretKeys": ["apiKey", "apiSecret"] } diff --git a/src/configurations/destinations/singular/schema.json b/src/configurations/destinations/singular/schema.json index 0e18973f1..b513c329c 100644 --- a/src/configurations/destinations/singular/schema.json +++ b/src/configurations/destinations/singular/schema.json @@ -358,6 +358,52 @@ ] } }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, "ios": { "type": "array", "items": { diff --git a/src/configurations/destinations/singular/ui-config.json b/src/configurations/destinations/singular/ui-config.json index 83d019335..34df59df1 100644 --- a/src/configurations/destinations/singular/ui-config.json +++ b/src/configurations/destinations/singular/ui-config.json @@ -131,66 +131,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -244,7 +189,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -255,15 +200,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/slack/ui-config.json b/src/configurations/destinations/slack/ui-config.json index d6ebb2102..cea2c0d33 100644 --- a/src/configurations/destinations/slack/ui-config.json +++ b/src/configurations/destinations/slack/ui-config.json @@ -173,66 +173,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -286,7 +231,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -297,15 +242,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/smartly/db-config.json b/src/configurations/destinations/smartly/db-config.json index 90a42703c..74c682cee 100644 --- a/src/configurations/destinations/smartly/db-config.json +++ b/src/configurations/destinations/smartly/db-config.json @@ -12,6 +12,7 @@ "whitelistedEvents", "eventFilteringOption", "oneTrustCookieCategories", + "ketchConsentPurposes", "consentManagement" ], "excludeKeys": [], diff --git a/src/configurations/destinations/smartly/ui-config.json b/src/configurations/destinations/smartly/ui-config.json index e91f23feb..72ec6ec6e 100644 --- a/src/configurations/destinations/smartly/ui-config.json +++ b/src/configurations/destinations/smartly/ui-config.json @@ -99,7 +99,7 @@ { "type": "tagInput", "label": "Allowlisted events", - "note": "Input separate events by pressing ‘Enter’.\nInput the events you want to allowlist.", + "note": "Input separate events by pressing 'Enter'.\nInput the events you want to allowlist.", "configKey": "whitelistedEvents", "tagKey": "eventName", "placeholder": "e.g: Anonymous page visit", @@ -120,7 +120,7 @@ { "type": "tagInput", "label": "Denylisted events", - "note": "Input separate events by pressing ‘Enter’.\nInput the events you want to denylist. ", + "note": "Input separate events by pressing 'Enter'.\nInput the events you want to denylist. ", "configKey": "blacklistedEvents", "tagKey": "eventName", "placeholder": "e.g: Anonymous page visit", @@ -211,54 +211,70 @@ "note": "not visible in the ui", "fields": [ { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ + "type": "dynamicCustomForm", + "configKey": "consentManagement", + "default": [], + "rowFields": [ { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" + "type": "singleSelect", + "label": "Consent management provider", + "configKey": "provider", + "options": [ + { + "label": "Custom", + "value": "custom" + }, + { + "label": "Ketch", + "value": "ketch" + }, + { + "label": "OneTrust", + "value": "oneTrust" + } + ], + "default": "oneTrust", + "required": true + }, + { + "type": "singleSelect", + "label": "the required consent logic", + "configKey": "resolutionStrategy", + "options": [ + { + "label": "AND", + "value": "and" + }, + { + "label": "OR", + "value": "or" + } + ], + "required": true, + "variant": "badge", + "preRequisites": { + "fields": [ + { + "configKey": "provider", + "value": "custom" + } + ] } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ + }, { - "purpose": "" + "type": "tagInput", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "configKey": "consents", + "tagKey": "consent", + "placeholder": "e.g: Marketing", + "default": [ + { + "consent": "" + } + ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } + ] } ] } diff --git a/src/configurations/destinations/snap_pixel/schema.json b/src/configurations/destinations/snap_pixel/schema.json index 02b6dbfaf..82a8ad96a 100644 --- a/src/configurations/destinations/snap_pixel/schema.json +++ b/src/configurations/destinations/snap_pixel/schema.json @@ -36,6 +36,57 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/snap_pixel/ui-config.json b/src/configurations/destinations/snap_pixel/ui-config.json index 292aca2cb..e7047760d 100644 --- a/src/configurations/destinations/snap_pixel/ui-config.json +++ b/src/configurations/destinations/snap_pixel/ui-config.json @@ -246,66 +246,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -359,7 +304,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -370,15 +315,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/snapchat_conversion/db-config.json b/src/configurations/destinations/snapchat_conversion/db-config.json index 559cc1ab0..59ba75ea2 100644 --- a/src/configurations/destinations/snapchat_conversion/db-config.json +++ b/src/configurations/destinations/snapchat_conversion/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "router", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/snapchat_conversion/ui-config.json b/src/configurations/destinations/snapchat_conversion/ui-config.json index 3852a8794..e34609063 100644 --- a/src/configurations/destinations/snapchat_conversion/ui-config.json +++ b/src/configurations/destinations/snapchat_conversion/ui-config.json @@ -221,66 +221,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -334,7 +279,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -345,15 +290,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/snapchat_custom_audience/db-config.json b/src/configurations/destinations/snapchat_custom_audience/db-config.json index 21ca9a2fe..0d052362a 100644 --- a/src/configurations/destinations/snapchat_custom_audience/db-config.json +++ b/src/configurations/destinations/snapchat_custom_audience/db-config.json @@ -16,6 +16,7 @@ "schema", "disableHashing", "oneTrustCookieCategories", + "ketchConsentPurposes", "consentManagement" ], "excludeKeys": [], @@ -36,8 +37,8 @@ "oneTrustCookieCategories", "ketchConsentPurposes" ], - "cloud": ["oneTrustCookieCategories", "ketchConsentPurposes"], - "shopify": ["oneTrustCookieCategories", "ketchConsentPurposes"] + "cloud": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], + "shopify": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"] }, "secretKeys": ["segmentId"] } diff --git a/src/configurations/destinations/snapchat_custom_audience/ui-config.json b/src/configurations/destinations/snapchat_custom_audience/ui-config.json index afc17e18d..3162df54e 100644 --- a/src/configurations/destinations/snapchat_custom_audience/ui-config.json +++ b/src/configurations/destinations/snapchat_custom_audience/ui-config.json @@ -55,66 +55,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -168,7 +113,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -179,15 +124,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/snapengage/ui-config.json b/src/configurations/destinations/snapengage/ui-config.json index 2a20228e5..c9320b4ff 100644 --- a/src/configurations/destinations/snapengage/ui-config.json +++ b/src/configurations/destinations/snapengage/ui-config.json @@ -154,66 +154,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -267,7 +212,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -278,15 +223,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/snowflake/ui-config.json b/src/configurations/destinations/snowflake/ui-config.json index 4eb1cde8c..0c5737f3a 100644 --- a/src/configurations/destinations/snowflake/ui-config.json +++ b/src/configurations/destinations/snowflake/ui-config.json @@ -619,66 +619,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -732,7 +677,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -743,15 +688,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/snowpipe_streaming/ui-config.json b/src/configurations/destinations/snowpipe_streaming/ui-config.json index 89bd3162e..2cccfb7c7 100644 --- a/src/configurations/destinations/snowpipe_streaming/ui-config.json +++ b/src/configurations/destinations/snowpipe_streaming/ui-config.json @@ -106,66 +106,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -219,7 +164,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -230,15 +175,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/splitio/db-config.json b/src/configurations/destinations/splitio/db-config.json index b8d99dbeb..40bdfcc0e 100644 --- a/src/configurations/destinations/splitio/db-config.json +++ b/src/configurations/destinations/splitio/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "processor", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/splitio/schema.json b/src/configurations/destinations/splitio/schema.json index 713725d6e..f3bb5ef83 100644 --- a/src/configurations/destinations/splitio/schema.json +++ b/src/configurations/destinations/splitio/schema.json @@ -276,6 +276,517 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "unity": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "reactnative": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "flutter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "cordova": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/splitio/ui-config.json b/src/configurations/destinations/splitio/ui-config.json index 6be487430..67f27b19f 100644 --- a/src/configurations/destinations/splitio/ui-config.json +++ b/src/configurations/destinations/splitio/ui-config.json @@ -36,66 +36,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -149,7 +94,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -160,15 +105,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/spotifyPixel/ui-config.json b/src/configurations/destinations/spotifyPixel/ui-config.json index 509fc92e1..c644f4313 100644 --- a/src/configurations/destinations/spotifyPixel/ui-config.json +++ b/src/configurations/destinations/spotifyPixel/ui-config.json @@ -134,7 +134,7 @@ { "type": "tagInput", "label": "Allowlisted events", - "note": "Input separate events by pressing ‘Enter’.\nInput the events you want to allowlist.", + "note": "Input separate events by pressing 'Enter'.\nInput the events you want to allowlist.", "configKey": "whitelistedEvents", "tagKey": "eventName", "placeholder": "e.g: Anonymous page visit", @@ -155,7 +155,7 @@ { "type": "tagInput", "label": "Denylisted events", - "note": "Input separate events by pressing ‘Enter’.\nInput the events you want to denylist. ", + "note": "Input separate events by pressing 'Enter'.\nInput the events you want to denylist. ", "configKey": "blacklistedEvents", "tagKey": "eventName", "placeholder": "e.g: Anonymous page visit", @@ -257,56 +257,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -360,8 +310,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -371,15 +321,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/sprig/ui-config.json b/src/configurations/destinations/sprig/ui-config.json index 913d2122f..ff5643c9a 100644 --- a/src/configurations/destinations/sprig/ui-config.json +++ b/src/configurations/destinations/sprig/ui-config.json @@ -231,56 +231,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -334,8 +284,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -345,15 +295,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/statsig/db-config.json b/src/configurations/destinations/statsig/db-config.json index e6480cb4a..d7adc2c63 100644 --- a/src/configurations/destinations/statsig/db-config.json +++ b/src/configurations/destinations/statsig/db-config.json @@ -5,7 +5,7 @@ "transformAtV1": "router", "cdkV2Enabled": true, "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/statsig/ui-config.json b/src/configurations/destinations/statsig/ui-config.json index 351046e4d..a383e1d42 100644 --- a/src/configurations/destinations/statsig/ui-config.json +++ b/src/configurations/destinations/statsig/ui-config.json @@ -67,56 +67,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -170,8 +120,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -181,15 +131,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/stormly/db-config.json b/src/configurations/destinations/stormly/db-config.json index 5d9d6da39..31c1b4f06 100644 --- a/src/configurations/destinations/stormly/db-config.json +++ b/src/configurations/destinations/stormly/db-config.json @@ -4,7 +4,12 @@ "config": { "transformAtV1": "processor", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "apiKey", "consentManagement"], + "includeKeys": [ + "oneTrustCookieCategories", + "apiKey", + "consentManagement", + "ketchConsentPurposes" + ], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/stormly/ui-config.json b/src/configurations/destinations/stormly/ui-config.json index 8fdde5fe5..c2e6833c5 100644 --- a/src/configurations/destinations/stormly/ui-config.json +++ b/src/configurations/destinations/stormly/ui-config.json @@ -19,66 +19,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -132,7 +77,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -143,15 +88,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/the_trade_desk/ui-config.json b/src/configurations/destinations/the_trade_desk/ui-config.json index 1b6d593e8..43316fbc0 100644 --- a/src/configurations/destinations/the_trade_desk/ui-config.json +++ b/src/configurations/destinations/the_trade_desk/ui-config.json @@ -132,56 +132,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -235,8 +185,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -246,15 +196,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/the_trade_desk_real_time_conversions/ui-config.json b/src/configurations/destinations/the_trade_desk_real_time_conversions/ui-config.json index 510a80520..60a10ebe3 100644 --- a/src/configurations/destinations/the_trade_desk_real_time_conversions/ui-config.json +++ b/src/configurations/destinations/the_trade_desk_real_time_conversions/ui-config.json @@ -220,56 +220,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -323,8 +273,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -334,15 +284,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/tiktok_ads/ui-config.json b/src/configurations/destinations/tiktok_ads/ui-config.json index 7efe5fb2e..8a02c1256 100644 --- a/src/configurations/destinations/tiktok_ads/ui-config.json +++ b/src/configurations/destinations/tiktok_ads/ui-config.json @@ -208,66 +208,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -321,7 +266,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -332,15 +277,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/tiktok_ads_offline_events/db-config.json b/src/configurations/destinations/tiktok_ads_offline_events/db-config.json index 5f968e37a..0b278ad29 100644 --- a/src/configurations/destinations/tiktok_ads_offline_events/db-config.json +++ b/src/configurations/destinations/tiktok_ads_offline_events/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "router", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "amp", diff --git a/src/configurations/destinations/tiktok_ads_offline_events/ui-config.json b/src/configurations/destinations/tiktok_ads_offline_events/ui-config.json index d527e7a6c..b1b56345e 100644 --- a/src/configurations/destinations/tiktok_ads_offline_events/ui-config.json +++ b/src/configurations/destinations/tiktok_ads_offline_events/ui-config.json @@ -104,66 +104,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -217,7 +162,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -228,15 +173,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/tiktok_audience/db-config.json b/src/configurations/destinations/tiktok_audience/db-config.json index daf1635b1..e6bd81b7f 100644 --- a/src/configurations/destinations/tiktok_audience/db-config.json +++ b/src/configurations/destinations/tiktok_audience/db-config.json @@ -8,7 +8,7 @@ "auth": { "type": "OAuth" }, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "isAudienceSupported": true, "saveDestinationResponse": true, "supportsBlankAudienceCreation": true, diff --git a/src/configurations/destinations/tiktok_audience/schema.json b/src/configurations/destinations/tiktok_audience/schema.json index 9b4cdf590..71f6e766c 100644 --- a/src/configurations/destinations/tiktok_audience/schema.json +++ b/src/configurations/destinations/tiktok_audience/schema.json @@ -60,6 +60,103 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/tiktok_audience/ui-config.json b/src/configurations/destinations/tiktok_audience/ui-config.json index 6258e762c..75d00bb49 100644 --- a/src/configurations/destinations/tiktok_audience/ui-config.json +++ b/src/configurations/destinations/tiktok_audience/ui-config.json @@ -21,66 +21,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -134,7 +79,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -145,15 +90,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/trengo/db-config.json b/src/configurations/destinations/trengo/db-config.json index a5730c9de..0ca63d49e 100644 --- a/src/configurations/destinations/trengo/db-config.json +++ b/src/configurations/destinations/trengo/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "router", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/trengo/schema.json b/src/configurations/destinations/trengo/schema.json index 713725d6e..f3bb5ef83 100644 --- a/src/configurations/destinations/trengo/schema.json +++ b/src/configurations/destinations/trengo/schema.json @@ -276,6 +276,517 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "unity": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "reactnative": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "flutter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "cordova": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/trengo/ui-config.json b/src/configurations/destinations/trengo/ui-config.json index ae0f594d5..6e543defd 100644 --- a/src/configurations/destinations/trengo/ui-config.json +++ b/src/configurations/destinations/trengo/ui-config.json @@ -69,66 +69,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -182,7 +127,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -193,15 +138,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/tune/ui-config.json b/src/configurations/destinations/tune/ui-config.json index 496b09809..cb3a9eb76 100644 --- a/src/configurations/destinations/tune/ui-config.json +++ b/src/configurations/destinations/tune/ui-config.json @@ -308,56 +308,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -411,8 +361,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -422,15 +372,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/tvsquared/schema.json b/src/configurations/destinations/tvsquared/schema.json index 02b6dbfaf..82a8ad96a 100644 --- a/src/configurations/destinations/tvsquared/schema.json +++ b/src/configurations/destinations/tvsquared/schema.json @@ -36,6 +36,57 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/tvsquared/ui-config.json b/src/configurations/destinations/tvsquared/ui-config.json index f55e51381..436f0414e 100644 --- a/src/configurations/destinations/tvsquared/ui-config.json +++ b/src/configurations/destinations/tvsquared/ui-config.json @@ -118,66 +118,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -231,7 +176,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -242,15 +187,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/twitter_ads/ui-config.json b/src/configurations/destinations/twitter_ads/ui-config.json index 74e18d188..cd3b65dd2 100644 --- a/src/configurations/destinations/twitter_ads/ui-config.json +++ b/src/configurations/destinations/twitter_ads/ui-config.json @@ -44,66 +44,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -157,7 +102,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -168,15 +113,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/user/db-config.json b/src/configurations/destinations/user/db-config.json index 14fe1dcf5..3b2e86d0d 100644 --- a/src/configurations/destinations/user/db-config.json +++ b/src/configurations/destinations/user/db-config.json @@ -14,6 +14,7 @@ "eventProperties", "companyAttributesMapping", "oneTrustCookieCategories", + "ketchConsentPurposes", "consentManagement" ], "excludeKeys": [], diff --git a/src/configurations/destinations/user/ui-config.json b/src/configurations/destinations/user/ui-config.json index 0a47f2be0..f87b675dc 100644 --- a/src/configurations/destinations/user/ui-config.json +++ b/src/configurations/destinations/user/ui-config.json @@ -91,66 +91,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -204,7 +149,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -215,15 +160,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/userlist/db-config.json b/src/configurations/destinations/userlist/db-config.json index 5a7b3a744..00722fc9b 100644 --- a/src/configurations/destinations/userlist/db-config.json +++ b/src/configurations/destinations/userlist/db-config.json @@ -5,7 +5,7 @@ "transformAtV1": "processor", "cdkV2Enabled": true, "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/userlist/schema.json b/src/configurations/destinations/userlist/schema.json index 01b22eba3..5480a982a 100644 --- a/src/configurations/destinations/userlist/schema.json +++ b/src/configurations/destinations/userlist/schema.json @@ -276,6 +276,517 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "unity": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "reactnative": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "flutter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "cordova": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/userlist/ui-config.json b/src/configurations/destinations/userlist/ui-config.json index 66d2d7aac..d67e195d9 100644 --- a/src/configurations/destinations/userlist/ui-config.json +++ b/src/configurations/destinations/userlist/ui-config.json @@ -17,66 +17,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -130,7 +75,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -141,15 +86,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/variance/db-config.json b/src/configurations/destinations/variance/db-config.json index 039931906..365606711 100644 --- a/src/configurations/destinations/variance/db-config.json +++ b/src/configurations/destinations/variance/db-config.json @@ -5,7 +5,7 @@ "transformAtV1": "processor", "cdkV2Enabled": true, "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/variance/ui-config.json b/src/configurations/destinations/variance/ui-config.json index 98700f0ee..8ee15092c 100644 --- a/src/configurations/destinations/variance/ui-config.json +++ b/src/configurations/destinations/variance/ui-config.json @@ -25,66 +25,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -138,7 +83,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -149,15 +94,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/vero/ui-config.json b/src/configurations/destinations/vero/ui-config.json index c287199a6..dc85d08e6 100644 --- a/src/configurations/destinations/vero/ui-config.json +++ b/src/configurations/destinations/vero/ui-config.json @@ -94,66 +94,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -207,7 +152,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -218,15 +163,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/vitally/db-config.json b/src/configurations/destinations/vitally/db-config.json index 414e9082a..35ea20c00 100644 --- a/src/configurations/destinations/vitally/db-config.json +++ b/src/configurations/destinations/vitally/db-config.json @@ -105,6 +105,6 @@ ] }, "secretKeys": ["apiKeyVitally"], - "includeKeys": ["oneTrustCookieCategories", "consentManagement"] + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"] } } diff --git a/src/configurations/destinations/vitally/ui-config.json b/src/configurations/destinations/vitally/ui-config.json index e192c0985..52779911d 100644 --- a/src/configurations/destinations/vitally/ui-config.json +++ b/src/configurations/destinations/vitally/ui-config.json @@ -18,66 +18,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -131,7 +76,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -142,15 +87,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/vwo/ui-config.json b/src/configurations/destinations/vwo/ui-config.json index 93d6d72b4..e612ea244 100644 --- a/src/configurations/destinations/vwo/ui-config.json +++ b/src/configurations/destinations/vwo/ui-config.json @@ -132,66 +132,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -245,7 +190,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -256,15 +201,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/webengage/db-config.json b/src/configurations/destinations/webengage/db-config.json index ec1af6b0a..d7ce70a0a 100644 --- a/src/configurations/destinations/webengage/db-config.json +++ b/src/configurations/destinations/webengage/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "processor", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "web", diff --git a/src/configurations/destinations/webengage/ui-config.json b/src/configurations/destinations/webengage/ui-config.json index 8a4f65760..ea2f7e142 100644 --- a/src/configurations/destinations/webengage/ui-config.json +++ b/src/configurations/destinations/webengage/ui-config.json @@ -46,66 +46,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -159,7 +104,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -170,15 +115,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/webhook/db-config.json b/src/configurations/destinations/webhook/db-config.json index 26f5e6325..8a6dd7fae 100644 --- a/src/configurations/destinations/webhook/db-config.json +++ b/src/configurations/destinations/webhook/db-config.json @@ -6,7 +6,7 @@ "isAudienceSupported": true, "transformAtV1": "processor", "saveDestinationResponse": false, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/webhook/ui-config.json b/src/configurations/destinations/webhook/ui-config.json index c72846fcb..499d0c90f 100644 --- a/src/configurations/destinations/webhook/ui-config.json +++ b/src/configurations/destinations/webhook/ui-config.json @@ -60,66 +60,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -173,7 +118,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -184,15 +129,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/woopra/ui-config.json b/src/configurations/destinations/woopra/ui-config.json index 751ad4148..b7356833e 100644 --- a/src/configurations/destinations/woopra/ui-config.json +++ b/src/configurations/destinations/woopra/ui-config.json @@ -181,66 +181,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -294,7 +239,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -305,15 +250,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/wootric/db-config.json b/src/configurations/destinations/wootric/db-config.json index 23ad01582..b10ca48d9 100644 --- a/src/configurations/destinations/wootric/db-config.json +++ b/src/configurations/destinations/wootric/db-config.json @@ -9,6 +9,7 @@ "password", "accountToken", "oneTrustCookieCategories", + "ketchConsentPurposes", "consentManagement" ], "excludeKeys": [], diff --git a/src/configurations/destinations/wootric/ui-config.json b/src/configurations/destinations/wootric/ui-config.json index 35dced87a..ae9cb522d 100644 --- a/src/configurations/destinations/wootric/ui-config.json +++ b/src/configurations/destinations/wootric/ui-config.json @@ -37,66 +37,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -150,7 +95,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -161,15 +106,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/wunderkind/db-config.json b/src/configurations/destinations/wunderkind/db-config.json index 96265c50d..5d5be3f45 100644 --- a/src/configurations/destinations/wunderkind/db-config.json +++ b/src/configurations/destinations/wunderkind/db-config.json @@ -36,17 +36,72 @@ }, "destConfig": { "defaultConfig": ["accountID", "instanceID", "apiKey"], - "android": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "ios": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "web": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "unity": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "amp": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "cloud": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "warehouse": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "reactnative": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "flutter": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "cordova": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], - "shopify": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"] + "android": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "ios": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "web": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "unity": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "amp": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "cloud": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "warehouse": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "reactnative": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "flutter": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "cordova": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ], + "shopify": [ + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ] }, "secretKeys": ["accountID", "instanceID"] }, diff --git a/src/configurations/destinations/wunderkind/schema.json b/src/configurations/destinations/wunderkind/schema.json index 4aee9d87e..6ce359365 100644 --- a/src/configurations/destinations/wunderkind/schema.json +++ b/src/configurations/destinations/wunderkind/schema.json @@ -338,6 +338,517 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "android": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "ios": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "unity": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "amp": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "reactnative": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "flutter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "cordova": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/wunderkind/ui-config.json b/src/configurations/destinations/wunderkind/ui-config.json index 05ceece29..d1f8e5f3e 100644 --- a/src/configurations/destinations/wunderkind/ui-config.json +++ b/src/configurations/destinations/wunderkind/ui-config.json @@ -86,54 +86,70 @@ "note": "not visible in the ui", "fields": [ { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ + "type": "dynamicCustomForm", + "configKey": "consentManagement", + "default": [], + "rowFields": [ { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" + "type": "singleSelect", + "label": "Consent management provider", + "configKey": "provider", + "options": [ + { + "label": "Custom", + "value": "custom" + }, + { + "label": "Ketch", + "value": "ketch" + }, + { + "label": "OneTrust", + "value": "oneTrust" + } + ], + "default": "oneTrust", + "required": true + }, + { + "type": "singleSelect", + "label": "the required consent logic", + "configKey": "resolutionStrategy", + "options": [ + { + "label": "AND", + "value": "and" + }, + { + "label": "OR", + "value": "or" + } + ], + "required": true, + "variant": "badge", + "preRequisites": { + "fields": [ + { + "configKey": "provider", + "value": "custom" + } + ] } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ + }, { - "purpose": "" + "type": "tagInput", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "configKey": "consents", + "tagKey": "consent", + "placeholder": "e.g: Marketing", + "default": [ + { + "consent": "" + } + ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } + ] } ] } diff --git a/src/configurations/destinations/x_audience/schema.json b/src/configurations/destinations/x_audience/schema.json index 80f7a5541..94cc52923 100644 --- a/src/configurations/destinations/x_audience/schema.json +++ b/src/configurations/destinations/x_audience/schema.json @@ -82,6 +82,103 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/x_audience/ui-config.json b/src/configurations/destinations/x_audience/ui-config.json index eff702d61..39d33697d 100644 --- a/src/configurations/destinations/x_audience/ui-config.json +++ b/src/configurations/destinations/x_audience/ui-config.json @@ -97,54 +97,70 @@ "note": "not visible in the ui", "fields": [ { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ + "type": "dynamicCustomForm", + "configKey": "consentManagement", + "default": [], + "rowFields": [ { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" + "type": "singleSelect", + "label": "Consent management provider", + "configKey": "provider", + "options": [ + { + "label": "Custom", + "value": "custom" + }, + { + "label": "Ketch", + "value": "ketch" + }, + { + "label": "OneTrust", + "value": "oneTrust" + } + ], + "default": "oneTrust", + "required": true + }, + { + "type": "singleSelect", + "label": "the required consent logic", + "configKey": "resolutionStrategy", + "options": [ + { + "label": "AND", + "value": "and" + }, + { + "label": "OR", + "value": "or" + } + ], + "required": true, + "variant": "badge", + "preRequisites": { + "fields": [ + { + "configKey": "provider", + "value": "custom" + } + ] } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ + }, { - "purpose": "" + "type": "tagInput", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "configKey": "consents", + "tagKey": "consent", + "placeholder": "e.g: Marketing", + "default": [ + { + "consent": "" + } + ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } + ] } ] } diff --git a/src/configurations/destinations/xpixel/db-config.json b/src/configurations/destinations/xpixel/db-config.json index 62e1b5c30..d865ce09a 100644 --- a/src/configurations/destinations/xpixel/db-config.json +++ b/src/configurations/destinations/xpixel/db-config.json @@ -11,6 +11,7 @@ "whitelistedEvents", "eventFilteringOption", "oneTrustCookieCategories", + "consentManagement", "ketchConsentPurposes" ], "excludeKeys": [], @@ -31,7 +32,13 @@ "whitelistedEvents", "eventFilteringOption" ], - "web": ["useNativeSDK", "connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"] + "web": [ + "useNativeSDK", + "connectionMode", + "oneTrustCookieCategories", + "ketchConsentPurposes", + "consentManagement" + ] }, "secretKeys": ["pixelId"] }, diff --git a/src/configurations/destinations/xpixel/schema.json b/src/configurations/destinations/xpixel/schema.json index da09935b3..5f996efde 100644 --- a/src/configurations/destinations/xpixel/schema.json +++ b/src/configurations/destinations/xpixel/schema.json @@ -104,6 +104,57 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/xpixel/ui-config.json b/src/configurations/destinations/xpixel/ui-config.json index 65dd93268..f92257af0 100644 --- a/src/configurations/destinations/xpixel/ui-config.json +++ b/src/configurations/destinations/xpixel/ui-config.json @@ -99,7 +99,7 @@ { "type": "tagInput", "label": "Allowlisted events", - "note": "Input separate events by pressing ‘Enter’.\nInput the events you want to allowlist.", + "note": "Input separate events by pressing 'Enter'.\nInput the events you want to allowlist.", "configKey": "whitelistedEvents", "tagKey": "eventName", "placeholder": "e.g: Anonymous page visit", @@ -120,7 +120,7 @@ { "type": "tagInput", "label": "Denylisted events", - "note": "Input separate events by pressing ‘Enter’.\nInput the events you want to denylist. ", + "note": "Input separate events by pressing 'Enter'.\nInput the events you want to denylist. ", "configKey": "blacklistedEvents", "tagKey": "eventName", "placeholder": "e.g: Anonymous page visit", @@ -211,54 +211,70 @@ "note": "not visible in the ui", "fields": [ { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ + "type": "dynamicCustomForm", + "configKey": "consentManagement", + "default": [], + "rowFields": [ { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" + "type": "singleSelect", + "label": "Consent management provider", + "configKey": "provider", + "options": [ + { + "label": "Custom", + "value": "custom" + }, + { + "label": "Ketch", + "value": "ketch" + }, + { + "label": "OneTrust", + "value": "oneTrust" + } + ], + "default": "oneTrust", + "required": true + }, + { + "type": "singleSelect", + "label": "the required consent logic", + "configKey": "resolutionStrategy", + "options": [ + { + "label": "AND", + "value": "and" + }, + { + "label": "OR", + "value": "or" + } + ], + "required": true, + "variant": "badge", + "preRequisites": { + "fields": [ + { + "configKey": "provider", + "value": "custom" + } + ] } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ + }, { - "purpose": "" + "type": "tagInput", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "configKey": "consents", + "tagKey": "consent", + "placeholder": "e.g: Marketing", + "default": [ + { + "consent": "" + } + ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } + ] } ] } diff --git a/src/configurations/destinations/yahoo_dsp/db-config.json b/src/configurations/destinations/yahoo_dsp/db-config.json index 2ebefc1df..591002b46 100644 --- a/src/configurations/destinations/yahoo_dsp/db-config.json +++ b/src/configurations/destinations/yahoo_dsp/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "router", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": ["cloud", "warehouse", "shopify"], "syncBehaviours": [], diff --git a/src/configurations/destinations/yahoo_dsp/ui-config.json b/src/configurations/destinations/yahoo_dsp/ui-config.json index c220655a9..1607a9792 100644 --- a/src/configurations/destinations/yahoo_dsp/ui-config.json +++ b/src/configurations/destinations/yahoo_dsp/ui-config.json @@ -125,66 +125,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -238,7 +183,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -249,15 +194,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/yandex_metrica/ui-config.json b/src/configurations/destinations/yandex_metrica/ui-config.json index 783fbf82d..1f59b626d 100644 --- a/src/configurations/destinations/yandex_metrica/ui-config.json +++ b/src/configurations/destinations/yandex_metrica/ui-config.json @@ -171,66 +171,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -284,7 +229,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -295,15 +240,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/yandex_metrica_offline_events/db-config.json b/src/configurations/destinations/yandex_metrica_offline_events/db-config.json index 26ba6dd8f..27c6270af 100644 --- a/src/configurations/destinations/yandex_metrica_offline_events/db-config.json +++ b/src/configurations/destinations/yandex_metrica_offline_events/db-config.json @@ -22,7 +22,7 @@ }, "destConfig": { "defaultConfig": ["rudderAccountId", "counterId", "goalId"], - "warehouse": ["oneTrustCookieCategories", "ketchConsentPurposes"] + "warehouse": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"] } }, "options": { diff --git a/src/configurations/destinations/yandex_metrica_offline_events/schema.json b/src/configurations/destinations/yandex_metrica_offline_events/schema.json index 88371b8e0..34468a9bb 100644 --- a/src/configurations/destinations/yandex_metrica_offline_events/schema.json +++ b/src/configurations/destinations/yandex_metrica_offline_events/schema.json @@ -45,6 +45,57 @@ } } } + }, + "consentManagement": { + "type": "object", + "properties": { + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "enum": ["custom", "ketch", "oneTrust"], + "default": "oneTrust" + }, + "consents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "consent": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + }, + "allOf": [ + { + "if": { + "properties": { + "provider": { + "const": "custom" + } + }, + "required": ["provider"] + }, + "then": { + "properties": { + "resolutionStrategy": { + "type": "string", + "enum": ["and", "or"] + } + }, + "required": ["resolutionStrategy"] + } + } + ] + } + } + } } } } diff --git a/src/configurations/destinations/yandex_metrica_offline_events/ui-config.json b/src/configurations/destinations/yandex_metrica_offline_events/ui-config.json index 221fae689..777186e54 100644 --- a/src/configurations/destinations/yandex_metrica_offline_events/ui-config.json +++ b/src/configurations/destinations/yandex_metrica_offline_events/ui-config.json @@ -32,58 +32,74 @@ "fields": [ { "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "value": "consentManagement", + "label": "Consent management settings", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false + "type": "singleSelect", + "label": "Consent management provider", + "value": "provider", + "options": [ + { + "name": "Custom", + "value": "custom" + }, + { + "name": "Ketch", + "value": "ketch" + }, + { + "name": "OneTrust", + "value": "oneTrust" + } + ], + "defaultOption": { + "name": "OneTrust", + "value": "oneTrust" }, - { - "configKey": "AMP_enable-gcm" + "required": true + }, + { + "type": "singleSelect", + "label": "the required consent logic", + "value": "resolutionStrategy", + "options": [ + { + "name": "AND", + "value": "and" + }, + { + "name": "OR", + "value": "or" + } + ], + "required": true, + "variant": "badge", + "preRequisites": { + "fields": [ + { + "configKey": "provider", + "value": "custom" + } + ] } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ + }, { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false + "type": "dynamicCustomForm", + "value": "consents", + "label": "Enter consent category IDs", + "customFields": [ + { + "type": "textInput", + "placeholder": "Marketing", + "value": "consent", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", + "required": false + } + ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } + ] } ] } diff --git a/src/configurations/destinations/zapier/db-config.json b/src/configurations/destinations/zapier/db-config.json index 07b2bfaed..2a6c66ef1 100644 --- a/src/configurations/destinations/zapier/db-config.json +++ b/src/configurations/destinations/zapier/db-config.json @@ -10,6 +10,7 @@ "trackEventsToZap", "pageScreenEventsToZap", "oneTrustCookieCategories", + "ketchConsentPurposes", "consentManagement" ], "excludeKeys": [], diff --git a/src/configurations/destinations/zapier/ui-config.json b/src/configurations/destinations/zapier/ui-config.json index 443b12892..7eb259fda 100644 --- a/src/configurations/destinations/zapier/ui-config.json +++ b/src/configurations/destinations/zapier/ui-config.json @@ -45,66 +45,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -158,7 +103,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -169,15 +114,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/zendesk/db-config.json b/src/configurations/destinations/zendesk/db-config.json index c2c90ae3e..9e9a6a9f4 100644 --- a/src/configurations/destinations/zendesk/db-config.json +++ b/src/configurations/destinations/zendesk/db-config.json @@ -4,7 +4,7 @@ "config": { "transformAtV1": "router", "saveDestinationResponse": true, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "excludeKeys": [], "supportedSourceTypes": [ "android", diff --git a/src/configurations/destinations/zendesk/ui-config.json b/src/configurations/destinations/zendesk/ui-config.json index 9a270bc05..88d87c232 100644 --- a/src/configurations/destinations/zendesk/ui-config.json +++ b/src/configurations/destinations/zendesk/ui-config.json @@ -71,66 +71,11 @@ { "title": "Consent Settings", "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Consent Category IDs", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "customFields": [ - { - "type": "textInput", - "placeholder": "C0001", - "value": "oneTrustCookieCategory", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "label": "Category ID", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "dynamicCustomForm", - "value": "ketchConsentPurposes", - "label": "Ketch Consent Purpose IDs", - "customFields": [ - { - "type": "textInput", - "placeholder": "marketing", - "value": "purpose", - "label": "Purpose ID", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$", - "required": false - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "value": "consentManagement", "label": "Consent management settings", - "footerNote": "The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "footerNote": "We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "customFields": [ { "type": "singleSelect", @@ -184,7 +129,7 @@ { "type": "dynamicCustomForm", "value": "consents", - "label": "Enter consent category ID’s", + "label": "Enter consent category IDs", "customFields": [ { "type": "textInput", @@ -195,15 +140,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] } diff --git a/src/configurations/destinations/zoho/db-config.json b/src/configurations/destinations/zoho/db-config.json index 014e4b7fc..4e6a85253 100644 --- a/src/configurations/destinations/zoho/db-config.json +++ b/src/configurations/destinations/zoho/db-config.json @@ -19,7 +19,7 @@ "supportedConnectionModes": { "warehouse": ["cloud"] }, - "includeKeys": ["oneTrustCookieCategories", "consentManagement"], + "includeKeys": ["oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement"], "destConfig": { "defaultConfig": [ "rudderAccountId", diff --git a/src/configurations/destinations/zoho/ui-config.json b/src/configurations/destinations/zoho/ui-config.json index 0be18bb05..edc9689a1 100644 --- a/src/configurations/destinations/zoho/ui-config.json +++ b/src/configurations/destinations/zoho/ui-config.json @@ -158,56 +158,6 @@ "title": "Consent settings", "note": "not visible in the ui", "fields": [ - { - "type": "tagInput", - "label": "OneTrust consent category IDs", - "note": "Input your OneTrust category IDs by pressing 'Enter' after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", - "configKey": "oneTrustCookieCategories", - "tagKey": "oneTrustCookieCategory", - "placeholder": "e.g: C0001", - "default": [ - { - "oneTrustCookieCategory": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, - { - "type": "tagInput", - "label": "Ketch consent purpose IDs", - "note": "Input your Ketch consent purpose IDs by pressing 'Enter' after each entry.", - "configKey": "ketchConsentPurposes", - "tagKey": "purpose", - "placeholder": "e.g: marketing", - "default": [ - { - "purpose": "" - } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": false - }, - { - "configKey": "AMP_enable-gcm" - } - ], - "featureFlagsCondition": "or" - } - }, { "type": "dynamicCustomForm", "configKey": "consentManagement", @@ -261,8 +211,8 @@ }, { "type": "tagInput", - "label": "Enter consent category ID’s", - "note": "Input your consent category IDs by pressing ‘Enter’ after each entry. The support for category names is deprecated. We recommend using the category IDs instead of the names as IDs are unique and less likely to change over time, making them a more reliable choice.", + "label": "Enter consent category IDs", + "note": "Input your consent category IDs by pressing 'Enter' after each entry. We recommend using IDs instead of names as IDs are unique and less likely to change over time, making them a more reliable choice.", "configKey": "consents", "tagKey": "consent", "placeholder": "e.g: Marketing", @@ -272,15 +222,7 @@ } ] } - ], - "preRequisites": { - "featureFlags": [ - { - "configKey": "AMP_enable-gcm", - "value": true - } - ] - } + ] } ] }, diff --git a/test/consentManagementFieldsIntegrity.test.ts b/test/consentManagementFieldsIntegrity.test.ts index ce3d7aac8..0cc8a2b2a 100644 --- a/test/consentManagementFieldsIntegrity.test.ts +++ b/test/consentManagementFieldsIntegrity.test.ts @@ -43,9 +43,9 @@ describe('Consent Management Fields Integrity tests', () => { // Validate db-config.json const dbConfigFilePath = path.resolve(`${destDir}/${destName}/db-config.json`); const dbConfig = getJSONDataFromFile(dbConfigFilePath); - const { destConfig, supportedSourceTypes } = dbConfig.config; + const { destConfig, supportedSourceTypes, includeKeys } = dbConfig.config; - it(`should have oneTrustCookieCategories and ketchConsentPurposes defined per source type instead of the defaultConfig in ${destName}`, () => { + it(`should have oneTrustCookieCategories and ketchConsentPurposes fields defined per source type instead of the defaultConfig for ${destName}`, () => { const { defaultConfig } = destConfig; expect( @@ -73,11 +73,44 @@ describe('Consent Management Fields Integrity tests', () => { expect(destConfigSrcTypes.sort()).toEqual(supportedSourceTypes.sort()); }); + it(`should have consentManagement field defined per source type for ${destName}`, () => { + const { defaultConfig } = destConfig; + + expect(defaultConfig.includes('consentManagement')).toBe(false); + + let fail = false; + supportedSourceTypes.forEach((srcType: string) => { + if (!destConfig[srcType].includes('consentManagement')) { + fail = true; + } + }); + + expect(fail).toBe(false); + + // Remove defaultConfig from the list of source types + const destConfigSrcTypes = Object.keys(destConfig); + destConfigSrcTypes.splice(destConfigSrcTypes.indexOf('defaultConfig'), 1); + expect(destConfigSrcTypes.sort()).toEqual(supportedSourceTypes.sort()); + }); + + it(`should have oneTrustCookieCategories and ketchConsentPurposes fields defined in includeKeys for ${destName}`, () => { + if (includeKeys) { + expect(includeKeys.includes('oneTrustCookieCategories')).toBe(true); + expect(includeKeys.includes('ketchConsentPurposes')).toBe(true); + } + }); + + it(`should have consentManagement field defined in includeKeys for ${destName}`, () => { + if (includeKeys) { + expect(includeKeys.includes('consentManagement')).toBe(true); + } + }); + // Validate schema.json const schemaFilePath = path.resolve(`${destDir}/${destName}/schema.json`); const schema = getJSONDataFromFile(schemaFilePath); - it(`should have oneTrustCookieCategories and ketchConsentPurposes properly defined in schema.json in ${destName}`, () => { + it(`should have oneTrustCookieCategories and ketchConsentPurposes fields properly defined in schema.json for ${destName}`, () => { expect(schema.configSchema.properties.oneTrustCookieCategories).toBeDefined(); expect(schema.configSchema.properties.ketchConsentPurposes).toBeDefined(); @@ -95,16 +128,33 @@ describe('Consent Management Fields Integrity tests', () => { ).toEqual(supportedSourceTypes.sort()); }); + it(`should have consentManagement field properly defined in schema.json for ${destName}`, () => { + expect(schema.configSchema.properties.consentManagement).toBeDefined(); + + expect(schema.configSchema.properties.consentManagement.type).toBe('object'); + + expect(schema.configSchema.properties.consentManagement.properties).toBeDefined(); + + expect( + Object.keys(schema.configSchema.properties.consentManagement.properties).sort(), + ).toEqual(supportedSourceTypes.sort()); + }); + // Validate ui-config.json const uiConfigFilePath = path.resolve(`${destDir}/${destName}/ui-config.json`); const uiConfig = getJSONDataFromFile(uiConfigFilePath); - it(`should have oneTrustCookieCategories and ketchConsentPurposes properly defined in ui-config.json in ${destName}`, () => { + it(`should not have oneTrustCookieCategories and ketchConsentPurposes fields defined in ui-config.json for ${destName}`, () => { const oneTrustUIElementCount = deepSearch(uiConfig, 'oneTrustCookieCategories'); - expect(oneTrustUIElementCount).toEqual(1); + expect(oneTrustUIElementCount).toEqual(0); const ketchUIElementCount = deepSearch(uiConfig, 'ketchConsentPurposes'); - expect(ketchUIElementCount).toEqual(1); + expect(ketchUIElementCount).toEqual(0); + }); + + it(`should have consentManagement field properly defined in ui-config.json for ${destName}`, () => { + const consentManagementUIElementCount = deepSearch(uiConfig, 'consentManagement'); + expect(consentManagementUIElementCount).toEqual(1); }); }); }); From dfa0fe1bb29328a865ad47cdcfd0d6b0510f3cad Mon Sep 17 00:00:00 2001 From: Sai Kumar Battinoju Date: Wed, 4 Dec 2024 11:51:07 +0530 Subject: [PATCH 2/2] fix: remove deprecated cmd option --- scripts/schemaGenerator.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/scripts/schemaGenerator.py b/scripts/schemaGenerator.py index 39bbe2aba..bf9b57b2e 100644 --- a/scripts/schemaGenerator.py +++ b/scripts/schemaGenerator.py @@ -1512,7 +1512,6 @@ def get_schema_diff(name, selector, shouldUpdateSchema=False): action="store_true", help="Will update existing schema with any changes", ) - parser.add_argument("-restructureLegacyConsentFields", action="store_true") group.add_argument( "-name", metavar="name", type=str, help="Enter the folder name under selector" ) @@ -1526,10 +1525,6 @@ def get_schema_diff(name, selector, shouldUpdateSchema=False): selector = args.selector shouldUpdateSchema = args.update - # THIS IS A TEMPORARY OPTION TO RESTRUCTURE LEGACY CONSENT FIELDS - # THIS WILL BE REMOVED ONCE ALL THE DESTINATIONS ARE UPDATED - restructureLegacyConsentFields = args.restructureLegacyConsentFields - dir_path = f"./{CONFIG_DIR}/{selector}s" if args.all: if not os.path.isdir(dir_path):