From 38865980a34deb77fb33e9b6f8948fa37aeee10b Mon Sep 17 00:00:00 2001 From: AASHISH MALIK Date: Tue, 29 Oct 2024 18:38:45 +0530 Subject: [PATCH 01/14] fix: http enchancements (#1759) --- src/configurations/destinations/http/db-config.json | 5 ++++- src/configurations/destinations/http/ui-config.json | 5 +++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/configurations/destinations/http/db-config.json b/src/configurations/destinations/http/db-config.json index 64e067579..843920caa 100644 --- a/src/configurations/destinations/http/db-config.json +++ b/src/configurations/destinations/http/db-config.json @@ -122,7 +122,10 @@ }, "options": { "isBeta": true, - "hidden": true, + "hidden": { + "featureFlagName": "AMP_http_webhook", + "featureFlagValue": false + }, "secondPositionRedirectComponent": true } } diff --git a/src/configurations/destinations/http/ui-config.json b/src/configurations/destinations/http/ui-config.json index bebad63f6..66292d7ff 100644 --- a/src/configurations/destinations/http/ui-config.json +++ b/src/configurations/destinations/http/ui-config.json @@ -526,6 +526,7 @@ "to": "$." } ], + "jsonPathValidation": true, "columns": [ { "type": "textInput", @@ -551,6 +552,8 @@ "label": "Map your query parameters", "configKey": "queryParams", "default": [], + "jsonPathValidation": true, + "hideKeysJsonView": true, "columns": [ { "type": "textInput", @@ -576,6 +579,8 @@ "label": "Map your headers", "configKey": "headers", "default": [], + "hideKeysJsonView": true, + "jsonPathValidation": true, "columns": [ { "type": "textInput", From 6e42f7f3b333642d5302f0ababac482fa852d3b5 Mon Sep 17 00:00:00 2001 From: AASHISH MALIK Date: Wed, 6 Nov 2024 10:37:49 +0530 Subject: [PATCH 02/14] feat: gaec migration (#1783) --- .../db-config.json | 9 +---- .../schema.json | 22 +++++++++++++ .../ui-config.json | 33 +++++-------------- 3 files changed, 32 insertions(+), 32 deletions(-) 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..2c30848d7 100644 --- a/src/configurations/destinations/google_adwords_enhanced_conversions/db-config.json +++ b/src/configurations/destinations/google_adwords_enhanced_conversions/db-config.json @@ -42,14 +42,7 @@ "warehouse": ["cloud"] }, "destConfig": { - "defaultConfig": [ - "rudderAccountId", - "customerId", - "listOfConversions", - "subAccount", - "loginCustomerId", - "requireHash" - ], + "defaultConfig": ["rudderAccountId", "listOfConversions", "requireHash", "configData"], "android": [ "connectionMode", "consentManagement", diff --git a/src/configurations/destinations/google_adwords_enhanced_conversions/schema.json b/src/configurations/destinations/google_adwords_enhanced_conversions/schema.json index 713725d6e..95586112f 100644 --- a/src/configurations/destinations/google_adwords_enhanced_conversions/schema.json +++ b/src/configurations/destinations/google_adwords_enhanced_conversions/schema.json @@ -2,7 +2,29 @@ "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", + "required": ["configData"], + "additionalProperties": false, "properties": { + "configData": { + "type": "string", + "default": "{\"customerId\": \"123\"}" + }, + "requireHash": { + "type": "boolean", + "default": true + }, + "listOfConversions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "conversions": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, "oneTrustCookieCategories": { "type": "object", "properties": { 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..3f54ed8b5 100644 --- a/src/configurations/destinations/google_adwords_enhanced_conversions/ui-config.json +++ b/src/configurations/destinations/google_adwords_enhanced_conversions/ui-config.json @@ -13,35 +13,20 @@ "icon": "settings", "fields": [ { - "type": "textInput", - "label": "Customer ID", - "note": "Enter the Customer ID", - "configKey": "customerId", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", - "regexErrorMessage": "Invalid Customer Id", - "placeholder": "e.g: 9693XX9833" - }, - { - "type": "checkbox", - "label": "Sub Account", - "configKey": "subAccount", - "default": false - }, - { - "type": "textInput", - "label": "Login Customer ID", - "note": "Enter the Login Customer ID", - "configKey": "loginCustomerId", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", - "regexErrorMessage": "Invalid Login Customer Id", + "type": "nestedSelect", + "label": "Select account", + "apiName": "getConfigData", + "configKey": "configData", + "placeholder": "Select account details", "preRequisites": { "fields": [ { - "configKey": "subAccount", - "value": true + "exists": true, + "configKey": "rudderAccountId" } ] - } + }, + "apiDependencies": ["rudderAccountId"] } ] } From faa4fa61a60edae5a9aaf3242b9d61da8654c2f9 Mon Sep 17 00:00:00 2001 From: AASHISH MALIK Date: Thu, 7 Nov 2024 14:47:32 +0530 Subject: [PATCH 03/14] fix: gaec schema (#1787) --- .../schema.json | 2 +- .../destinations/http/ui-config.json | 4 ++-- .../google_adwords_enhanced_conversions.json | 16 ++++++++++++++++ 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/configurations/destinations/google_adwords_enhanced_conversions/schema.json b/src/configurations/destinations/google_adwords_enhanced_conversions/schema.json index 95586112f..0dc9befe1 100644 --- a/src/configurations/destinations/google_adwords_enhanced_conversions/schema.json +++ b/src/configurations/destinations/google_adwords_enhanced_conversions/schema.json @@ -3,7 +3,7 @@ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "required": ["configData"], - "additionalProperties": false, + "additionalProperties": true, "properties": { "configData": { "type": "string", diff --git a/src/configurations/destinations/http/ui-config.json b/src/configurations/destinations/http/ui-config.json index 66292d7ff..0d6a5506d 100644 --- a/src/configurations/destinations/http/ui-config.json +++ b/src/configurations/destinations/http/ui-config.json @@ -565,7 +565,7 @@ "type": "textInput", "key": "from", "label": "Value", - "placeholder": "e.g: $.userId" + "placeholder": "e.g: $.userId or \"userId\"" } ] } @@ -592,7 +592,7 @@ "type": "textInput", "key": "from", "label": "Value", - "placeholder": "e.g. application/json" + "placeholder": "e.g. \"application/json\"" } ] } diff --git a/test/data/validation/destinations/google_adwords_enhanced_conversions.json b/test/data/validation/destinations/google_adwords_enhanced_conversions.json index a1682e164..d3881206d 100644 --- a/test/data/validation/destinations/google_adwords_enhanced_conversions.json +++ b/test/data/validation/destinations/google_adwords_enhanced_conversions.json @@ -220,5 +220,21 @@ "ketchConsentPurposes.unity.0 must be object" ], "result": false + }, + { + "config": { + "rudderAccountId": "3454354534", + "listOfConversions": [ + { + "conversions": "Page View" + }, + { + "conversions": "Product Added" + } + ], + "authStatus": "active", + "configData": "{\"customerId\": \"1234567890\", \"loginCustomerId\": \"\"}" + }, + "result": true } ] From 2e64ecac8d7fe981f327e8253cd13821d7927c3c Mon Sep 17 00:00:00 2001 From: AASHISH MALIK Date: Fri, 8 Nov 2024 14:20:54 +0530 Subject: [PATCH 04/14] feat: muliselect int-info component (#1792) --- .../schema.json | 9 ++------- .../ui-config.json | 14 +++++--------- .../google_adwords_enhanced_conversions.json | 17 +++++++++-------- 3 files changed, 16 insertions(+), 24 deletions(-) diff --git a/src/configurations/destinations/google_adwords_enhanced_conversions/schema.json b/src/configurations/destinations/google_adwords_enhanced_conversions/schema.json index 0dc9befe1..e93860f13 100644 --- a/src/configurations/destinations/google_adwords_enhanced_conversions/schema.json +++ b/src/configurations/destinations/google_adwords_enhanced_conversions/schema.json @@ -16,13 +16,8 @@ "listOfConversions": { "type": "array", "items": { - "type": "object", - "properties": { - "conversions": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" } }, "oneTrustCookieCategories": { 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 3f54ed8b5..cbc831129 100644 --- a/src/configurations/destinations/google_adwords_enhanced_conversions/ui-config.json +++ b/src/configurations/destinations/google_adwords_enhanced_conversions/ui-config.json @@ -63,17 +63,13 @@ "note": "Enter your list of Conversions", "fields": [ { - "type": "tagInput", - "label": "List of Conversion", "note": "Add your conversions names", + "type": "dynamicMultiSelect", + "label": "List of Conversion", "configKey": "listOfConversions", - "tagKey": "conversions", - "placeholder": "e.g: Credit card visit", - "default": [ - { - "conversions": "" - } - ] + "mode": "tags", + "apiName": "getConversionId", + "placeholder": "e.g: Credit card visit" }, { "type": "checkbox", diff --git a/test/data/validation/destinations/google_adwords_enhanced_conversions.json b/test/data/validation/destinations/google_adwords_enhanced_conversions.json index d3881206d..431d3b170 100644 --- a/test/data/validation/destinations/google_adwords_enhanced_conversions.json +++ b/test/data/validation/destinations/google_adwords_enhanced_conversions.json @@ -224,14 +224,15 @@ { "config": { "rudderAccountId": "3454354534", - "listOfConversions": [ - { - "conversions": "Page View" - }, - { - "conversions": "Product Added" - } - ], + "authStatus": "active", + "configData": "{\"customerId\": \"1234567890\", \"loginCustomerId\": \"\"}" + }, + "result": true + }, + { + "config": { + "rudderAccountId": "3454354534", + "listOfConversions": ["Page View", "Product Added"], "authStatus": "active", "configData": "{\"customerId\": \"1234567890\", \"loginCustomerId\": \"\"}" }, From 076d6a901fb4372a66183a0b5c9f2fdf65b24b8d Mon Sep 17 00:00:00 2001 From: Manish Kumar <144022547+manish339k@users.noreply.github.com> Date: Fri, 15 Nov 2024 17:00:02 +0530 Subject: [PATCH 05/14] feat: onboarding intercom v2 retl support (#1781) --- .../destinations/intercom_v2/db-config.json | 18 ++++- .../destinations/intercom_v2/schema.json | 74 +++++++++++++++++++ .../destinations/intercom_v2/ui-config.json | 43 ++++++++++- 3 files changed, 131 insertions(+), 4 deletions(-) diff --git a/src/configurations/destinations/intercom_v2/db-config.json b/src/configurations/destinations/intercom_v2/db-config.json index ba0d5074c..e177bf02e 100644 --- a/src/configurations/destinations/intercom_v2/db-config.json +++ b/src/configurations/destinations/intercom_v2/db-config.json @@ -2,6 +2,10 @@ "name": "INTERCOM_V2", "displayName": "Intercom V2", "config": { + "features": ["vdm-next"], + "disableJsonMapper": true, + "supportsVisualMapper": true, + "syncBehaviours": ["mirror"], "transformAtV1": "router", "saveDestinationResponse": true, "throttlingCost": { "eventType": { "group": 3, "identify": 3 } }, @@ -20,10 +24,11 @@ "cloud", "reactnative", "flutter", - "cordova" + "cordova", + "warehouse" ], "supportedMessageTypes": { - "cloud": ["identify", "track", "group"] + "cloud": ["identify", "track", "group", "record"] }, "supportedConnectionModes": { "web": ["cloud"], @@ -34,7 +39,8 @@ "reactnative": ["cloud"], "flutter": ["cloud"], "cordova": ["cloud"], - "cloud": ["cloud"] + "cloud": ["cloud"], + "warehouse": ["cloud"] }, "destConfig": { "defaultConfig": ["rudderAccountId", "apiServer", "sendAnonymousId"], @@ -91,6 +97,12 @@ "consentManagement", "oneTrustCookieCategories", "ketchConsentPurposes" + ], + "warehouse": [ + "connectionMode", + "consentManagement", + "oneTrustCookieCategories", + "ketchConsentPurposes" ] }, "secretKeys": [] diff --git a/src/configurations/destinations/intercom_v2/schema.json b/src/configurations/destinations/intercom_v2/schema.json index c4211f658..2645b39d7 100644 --- a/src/configurations/destinations/intercom_v2/schema.json +++ b/src/configurations/destinations/intercom_v2/schema.json @@ -116,6 +116,18 @@ } } } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } } } }, @@ -535,6 +547,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"] + } + } + ] + } } } }, @@ -648,6 +706,18 @@ } } } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "purpose": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } } } }, @@ -689,6 +759,10 @@ "cloud": { "type": "string", "enum": ["cloud"] + }, + "warehouse": { + "type": "string", + "enum": ["cloud"] } } } diff --git a/src/configurations/destinations/intercom_v2/ui-config.json b/src/configurations/destinations/intercom_v2/ui-config.json index 580c567c3..b08582edb 100644 --- a/src/configurations/destinations/intercom_v2/ui-config.json +++ b/src/configurations/destinations/intercom_v2/ui-config.json @@ -74,7 +74,48 @@ "configKey": "sendAnonymousId", "default": false } - ] + ], + "preRequisites": { + "fields": [ + { + "configKey": "connectionMode.web", + "value": "cloud" + }, + { + "configKey": "connectionMode.android", + "value": "cloud" + }, + { + "configKey": "connectionMode.ios", + "value": "cloud" + }, + { + "configKey": "connectionMode.unity", + "value": "cloud" + }, + { + "configKey": "connectionMode.amp", + "value": "cloud" + }, + { + "configKey": "connectionMode.reactnative", + "value": "cloud" + }, + { + "configKey": "connectionMode.flutter", + "value": "cloud" + }, + { + "configKey": "connectionMode.cordova", + "value": "cloud" + }, + { + "configKey": "connectionMode.cloud", + "value": "cloud" + } + ], + "condition": "or" + } } ] }, From fb89118b5b883787705b1c12f5e93ca13fd5acfe Mon Sep 17 00:00:00 2001 From: Aanshi Lahoti <110057617+aanshi07@users.noreply.github.com> Date: Mon, 18 Nov 2024 10:01:00 +0530 Subject: [PATCH 06/14] feat: iterable eudc (#1762) --- .../destinations/iterable/db-config.json | 2 + .../destinations/iterable/schema.json | 11 +++++- .../destinations/iterable/ui-config.json | 17 +++++++++ .../validation/destinations/iterable.json | 37 +++++++++++++++++++ 4 files changed, 65 insertions(+), 2 deletions(-) diff --git a/src/configurations/destinations/iterable/db-config.json b/src/configurations/destinations/iterable/db-config.json index 5f2881bc6..f4ee2edba 100644 --- a/src/configurations/destinations/iterable/db-config.json +++ b/src/configurations/destinations/iterable/db-config.json @@ -8,6 +8,7 @@ "saveDestinationResponse": true, "includeKeys": [ "apiKey", + "dataCenter", "initialisationIdentifier", "getInAppEventMapping", "purchaseEventMapping", @@ -71,6 +72,7 @@ "destConfig": { "defaultConfig": [ "apiKey", + "dataCenter", "packageName", "preferUserId", "trackAllPages", diff --git a/src/configurations/destinations/iterable/schema.json b/src/configurations/destinations/iterable/schema.json index d5804e47a..4070b7608 100644 --- a/src/configurations/destinations/iterable/schema.json +++ b/src/configurations/destinations/iterable/schema.json @@ -1,13 +1,18 @@ { "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", - "required": ["apiKey"], + "required": ["apiKey", "dataCenter"], "type": "object", "properties": { "apiKey": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" }, + "dataCenter": { + "type": "string", + "enum": ["USDC", "EUDC"], + "default": "USDC" + }, "registerDeviceOrBrowserApiKey": { "type": "string", "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" @@ -158,7 +163,9 @@ "type": "object", "properties": { "web": { - "type": "string" + "type": "string", + "enum": ["top-right", "top-left"], + "default": "top-right" } } }, diff --git a/src/configurations/destinations/iterable/ui-config.json b/src/configurations/destinations/iterable/ui-config.json index 36585dc68..5673e46e7 100644 --- a/src/configurations/destinations/iterable/ui-config.json +++ b/src/configurations/destinations/iterable/ui-config.json @@ -37,6 +37,23 @@ } ] } + }, + { + "type": "singleSelect", + "label": "Data Center", + "configKey": "dataCenter", + "options": [ + { + "label": "USDC", + "value": "USDC" + }, + { + "label": "EUDC", + "value": "EUDC" + } + ], + "placeholder": "e.g: USDC", + "default": "USDC" } ] } diff --git a/test/data/validation/destinations/iterable.json b/test/data/validation/destinations/iterable.json index a65933485..f8c3464d8 100644 --- a/test/data/validation/destinations/iterable.json +++ b/test/data/validation/destinations/iterable.json @@ -744,5 +744,42 @@ "ketchConsentPurposes.web must be array", "ketchConsentPurposes.unity.0 must be object" ] + }, + { + "testTitle": "DataCenter as EUDC", + "config": { + "apiKey": "7398328XXXX839749873", + "dataCenter": "EUDC", + "mapToSingleEvent": true, + "trackAllPages": false, + "trackCategorisedPages": true, + "trackNamedPages": true, + "useNativeSDK": { + "web": false + }, + "connectionMode": { + "cloud": "cloud" + } + }, + "result": true + }, + { + "testTitle": "Incorrect value of dataCenter", + "config": { + "apiKey": "7398328XXXX839749873", + "dataCenter": "abc", + "mapToSingleEvent": true, + "trackAllPages": false, + "trackCategorisedPages": true, + "trackNamedPages": true, + "useNativeSDK": { + "web": false + }, + "connectionMode": { + "cloud": "cloud" + } + }, + "result": false, + "err": ["dataCenter must be equal to one of the allowed values"] } ] From c70c6b0c0942ac4999ac5511a5659014d1fc85ee Mon Sep 17 00:00:00 2001 From: AASHISH MALIK Date: Mon, 18 Nov 2024 11:41:19 +0530 Subject: [PATCH 07/14] fix: revert develop changes gaec (#1802) --- .../db-config.json | 9 +++- .../schema.json | 41 +++++++++------- .../ui-config.json | 47 +++++++++++++------ .../google_adwords_enhanced_conversions.json | 25 +++++----- 4 files changed, 78 insertions(+), 44 deletions(-) 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 2c30848d7..6587625f6 100644 --- a/src/configurations/destinations/google_adwords_enhanced_conversions/db-config.json +++ b/src/configurations/destinations/google_adwords_enhanced_conversions/db-config.json @@ -42,7 +42,14 @@ "warehouse": ["cloud"] }, "destConfig": { - "defaultConfig": ["rudderAccountId", "listOfConversions", "requireHash", "configData"], + "defaultConfig": [ + "rudderAccountId", + "customerId", + "listOfConversions", + "subAccount", + "loginCustomerId", + "requireHash" + ], "android": [ "connectionMode", "consentManagement", diff --git a/src/configurations/destinations/google_adwords_enhanced_conversions/schema.json b/src/configurations/destinations/google_adwords_enhanced_conversions/schema.json index e93860f13..5e1c45843 100644 --- a/src/configurations/destinations/google_adwords_enhanced_conversions/schema.json +++ b/src/configurations/destinations/google_adwords_enhanced_conversions/schema.json @@ -2,24 +2,9 @@ "configSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", - "required": ["configData"], + "required": ["customerId", "subAccount"], "additionalProperties": true, "properties": { - "configData": { - "type": "string", - "default": "{\"customerId\": \"123\"}" - }, - "requireHash": { - "type": "boolean", - "default": true - }, - "listOfConversions": { - "type": "array", - "items": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - }, "oneTrustCookieCategories": { "type": "object", "properties": { @@ -293,6 +278,30 @@ } } } + }, + "requireHash": { + "type": "boolean", + "default": true + }, + "subAccount": { + "type": "boolean", + "default": false + }, + "listOfConversions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "conversions": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "customerId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" } } } 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 cbc831129..14e217221 100644 --- a/src/configurations/destinations/google_adwords_enhanced_conversions/ui-config.json +++ b/src/configurations/destinations/google_adwords_enhanced_conversions/ui-config.json @@ -13,20 +13,35 @@ "icon": "settings", "fields": [ { - "type": "nestedSelect", - "label": "Select account", - "apiName": "getConfigData", - "configKey": "configData", - "placeholder": "Select account details", + "type": "textInput", + "label": "Customer ID", + "note": "Enter the Customer ID", + "configKey": "customerId", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", + "regexErrorMessage": "Invalid Customer Id", + "placeholder": "e.g: 9693XX9833" + }, + { + "type": "checkbox", + "label": "Sub Account", + "configKey": "subAccount", + "default": false + }, + { + "type": "textInput", + "label": "Login Customer ID", + "note": "Enter the Login Customer ID", + "configKey": "loginCustomerId", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$", + "regexErrorMessage": "Invalid Login Customer Id", "preRequisites": { "fields": [ { - "exists": true, - "configKey": "rudderAccountId" + "configKey": "subAccount", + "value": true } ] - }, - "apiDependencies": ["rudderAccountId"] + } } ] } @@ -63,13 +78,17 @@ "note": "Enter your list of Conversions", "fields": [ { - "note": "Add your conversions names", - "type": "dynamicMultiSelect", + "type": "tagInput", "label": "List of Conversion", + "note": "Add your conversions names", "configKey": "listOfConversions", - "mode": "tags", - "apiName": "getConversionId", - "placeholder": "e.g: Credit card visit" + "tagKey": "conversions", + "placeholder": "e.g: Credit card visit", + "default": [ + { + "conversions": "" + } + ] }, { "type": "checkbox", diff --git a/test/data/validation/destinations/google_adwords_enhanced_conversions.json b/test/data/validation/destinations/google_adwords_enhanced_conversions.json index 431d3b170..ec3415de3 100644 --- a/test/data/validation/destinations/google_adwords_enhanced_conversions.json +++ b/test/data/validation/destinations/google_adwords_enhanced_conversions.json @@ -122,7 +122,9 @@ "purpose": "env.ENVIRONMENT_VARIABLE" } ] - } + }, + "customerId": "123", + "subAccount": false }, "result": true }, @@ -143,7 +145,9 @@ { "purpose": "P2" } - ] + ], + "customerId": "123", + "subAccount": false }, "result": false, "err": ["oneTrustCookieCategories must be object", "ketchConsentPurposes must be object"] @@ -207,7 +211,9 @@ "purpose": "P4" } ] - } + }, + "customerId": "123", + "subAccount": false }, "err": [ "oneTrustCookieCategories.android.0.oneTrustCookieCategory must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$\"", @@ -225,16 +231,9 @@ "config": { "rudderAccountId": "3454354534", "authStatus": "active", - "configData": "{\"customerId\": \"1234567890\", \"loginCustomerId\": \"\"}" - }, - "result": true - }, - { - "config": { - "rudderAccountId": "3454354534", - "listOfConversions": ["Page View", "Product Added"], - "authStatus": "active", - "configData": "{\"customerId\": \"1234567890\", \"loginCustomerId\": \"\"}" + "customerId": "1234567890", + "loginCustomerId": "56456", + "subAccount": true }, "result": true } From a039627f5ed48cfb40f18198df3e742a219f705b Mon Sep 17 00:00:00 2001 From: Sudip Paul <67197965+ItsSudip@users.noreply.github.com> Date: Mon, 18 Nov 2024 14:10:33 +0530 Subject: [PATCH 08/14] feat: onboard linkedin audience destination (#1758) --- .../linkedin_audience/db-config.json | 31 ++++ .../linkedin_audience/schema.json | 66 +++++++ .../linkedin_audience/ui-config.json | 170 ++++++++++++++++++ 3 files changed, 267 insertions(+) create mode 100644 src/configurations/destinations/linkedin_audience/db-config.json create mode 100644 src/configurations/destinations/linkedin_audience/schema.json create mode 100644 src/configurations/destinations/linkedin_audience/ui-config.json diff --git a/src/configurations/destinations/linkedin_audience/db-config.json b/src/configurations/destinations/linkedin_audience/db-config.json new file mode 100644 index 000000000..d2ef3b7b7 --- /dev/null +++ b/src/configurations/destinations/linkedin_audience/db-config.json @@ -0,0 +1,31 @@ +{ + "name": "LINKEDIN_AUDIENCE", + "displayName": "Linkedin Audience", + "config": { + "cdkV2Enabled": true, + "transformAtV1": "router", + "saveDestinationResponse": true, + "auth": { + "type": "OAuth", + "role": "linkedin_audience", + "rudderScopes": ["delivery"] + }, + "supportedSourceTypes": ["cloud", "warehouse"], + "supportedMessageTypes": { + "cloud": ["record"] + }, + "supportedConnectionModes": { + "cloud": ["cloud"], + "warehouse": ["cloud"] + }, + "destConfig": { + "defaultConfig": ["rudderAccountId"], + "cloud": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], + "warehouse": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"] + }, + "secretKeys": [] + }, + "options": { + "isBeta": true + } +} diff --git a/src/configurations/destinations/linkedin_audience/schema.json b/src/configurations/destinations/linkedin_audience/schema.json new file mode 100644 index 000000000..9b4cdf590 --- /dev/null +++ b/src/configurations/destinations/linkedin_audience/schema.json @@ -0,0 +1,66 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "oneTrustCookieCategories": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + }, + "ketchConsentPurposes": { + "type": "object", + "properties": { + "cloud": { + "type": "array", + "items": { + "type": "object", + "properties": { + "purpose": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "warehouse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "purpose": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } + } + } +} diff --git a/src/configurations/destinations/linkedin_audience/ui-config.json b/src/configurations/destinations/linkedin_audience/ui-config.json new file mode 100644 index 000000000..ea373f092 --- /dev/null +++ b/src/configurations/destinations/linkedin_audience/ui-config.json @@ -0,0 +1,170 @@ +{ + "uiConfig": { + "baseTemplate": [ + { + "title": "Initial setup", + "note": "Update your connection setting here", + "sections": [ + { + "groups": [ + { + "fields": [{}] + } + ] + }, + { + "groups": [ + { + "title": "Connection mode", + "note": [ + "Update how you want to route events from your source to destination. ", + { + "text": "Get help deciding.", + "link": "https://www.rudderstack.com/docs/destinations/rudderstack-connection-modes/" + } + ], + "icon": "sliders", + "fields": [] + } + ] + } + ] + } + ], + "sdkTemplate": { + "title": "Web SDK settings", + "note": "not visible in the ui", + "fields": [] + }, + "consentSettingsTemplate": { + "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", + "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 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.", + "configKey": "consents", + "tagKey": "consent", + "placeholder": "e.g: Marketing", + "default": [ + { + "consent": "" + } + ] + } + ], + "preRequisites": { + "featureFlags": [ + { + "configKey": "AMP_enable-gcm", + "value": true + } + ] + } + } + ] + } + } +} From ccdd01873362c95f1c923303702668f10d4228c2 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Mon, 18 Nov 2024 09:46:02 +0000 Subject: [PATCH 09/14] chore(release): 1.98.0 --- CHANGELOG.md | 18 ++++++++++++++++++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cc93e5602..d1b7ecf95 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,24 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [1.98.0](https://github.com/rudderlabs/rudder-config-schema/compare/v1.97.3...v1.98.0) (2024-11-18) + + +### Features + +* gaec migration ([#1783](https://github.com/rudderlabs/rudder-config-schema/issues/1783)) ([6e42f7f](https://github.com/rudderlabs/rudder-config-schema/commit/6e42f7f3b333642d5302f0ababac482fa852d3b5)) +* iterable eudc ([#1762](https://github.com/rudderlabs/rudder-config-schema/issues/1762)) ([fb89118](https://github.com/rudderlabs/rudder-config-schema/commit/fb89118b5b883787705b1c12f5e93ca13fd5acfe)) +* muliselect int-info component ([#1792](https://github.com/rudderlabs/rudder-config-schema/issues/1792)) ([2e64eca](https://github.com/rudderlabs/rudder-config-schema/commit/2e64ecac8d7fe981f327e8253cd13821d7927c3c)) +* onboard linkedin audience destination ([#1758](https://github.com/rudderlabs/rudder-config-schema/issues/1758)) ([a039627](https://github.com/rudderlabs/rudder-config-schema/commit/a039627f5ed48cfb40f18198df3e742a219f705b)) +* onboarding intercom v2 retl support ([#1781](https://github.com/rudderlabs/rudder-config-schema/issues/1781)) ([076d6a9](https://github.com/rudderlabs/rudder-config-schema/commit/076d6a901fb4372a66183a0b5c9f2fdf65b24b8d)) + + +### Bug Fixes + +* gaec schema ([#1787](https://github.com/rudderlabs/rudder-config-schema/issues/1787)) ([faa4fa6](https://github.com/rudderlabs/rudder-config-schema/commit/faa4fa61a60edae5a9aaf3242b9d61da8654c2f9)) +* http enchancements ([#1759](https://github.com/rudderlabs/rudder-config-schema/issues/1759)) ([3886598](https://github.com/rudderlabs/rudder-config-schema/commit/38865980a34deb77fb33e9b6f8948fa37aeee10b)) +* revert develop changes gaec ([#1802](https://github.com/rudderlabs/rudder-config-schema/issues/1802)) ([c70c6b0](https://github.com/rudderlabs/rudder-config-schema/commit/c70c6b0c0942ac4999ac5511a5659014d1fc85ee)) + ### [1.97.3](https://github.com/rudderlabs/rudder-config-schema/compare/v1.97.2...v1.97.3) (2024-11-14) diff --git a/package-lock.json b/package-lock.json index 63c8bd940..4497dbb06 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "rudder-config-schema", - "version": "1.97.3", + "version": "1.98.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "rudder-config-schema", - "version": "1.97.3", + "version": "1.98.0", "license": "MIT", "dependencies": { "ajv": "^8.12.0", diff --git a/package.json b/package.json index f1fa468ea..3bce36108 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rudder-config-schema", - "version": "1.97.3", + "version": "1.98.0", "description": "", "main": "src/index.ts", "private": true, From 5eaed1a6932aeb432e66a830038a133ae8b68e27 Mon Sep 17 00:00:00 2001 From: Sudip Paul <67197965+ItsSudip@users.noreply.github.com> Date: Tue, 19 Nov 2024 11:11:37 +0530 Subject: [PATCH 10/14] fix: remove support of event stream (#1804) --- .../linkedin_audience/db-config.json | 5 ++-- .../linkedin_audience/schema.json | 24 ------------------- 2 files changed, 2 insertions(+), 27 deletions(-) diff --git a/src/configurations/destinations/linkedin_audience/db-config.json b/src/configurations/destinations/linkedin_audience/db-config.json index d2ef3b7b7..a71d8a42a 100644 --- a/src/configurations/destinations/linkedin_audience/db-config.json +++ b/src/configurations/destinations/linkedin_audience/db-config.json @@ -10,17 +10,16 @@ "role": "linkedin_audience", "rudderScopes": ["delivery"] }, - "supportedSourceTypes": ["cloud", "warehouse"], + "isAudienceSupported": true, + "supportedSourceTypes": ["warehouse"], "supportedMessageTypes": { "cloud": ["record"] }, "supportedConnectionModes": { - "cloud": ["cloud"], "warehouse": ["cloud"] }, "destConfig": { "defaultConfig": ["rudderAccountId"], - "cloud": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"], "warehouse": ["connectionMode", "oneTrustCookieCategories", "ketchConsentPurposes"] }, "secretKeys": [] diff --git a/src/configurations/destinations/linkedin_audience/schema.json b/src/configurations/destinations/linkedin_audience/schema.json index 9b4cdf590..1e3525743 100644 --- a/src/configurations/destinations/linkedin_audience/schema.json +++ b/src/configurations/destinations/linkedin_audience/schema.json @@ -6,18 +6,6 @@ "oneTrustCookieCategories": { "type": "object", "properties": { - "cloud": { - "type": "array", - "items": { - "type": "object", - "properties": { - "oneTrustCookieCategory": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, "warehouse": { "type": "array", "items": { @@ -35,18 +23,6 @@ "ketchConsentPurposes": { "type": "object", "properties": { - "cloud": { - "type": "array", - "items": { - "type": "object", - "properties": { - "purpose": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, "warehouse": { "type": "array", "items": { From 713cbfd1760ce0d8a07c5b74440ea7affbc0bec8 Mon Sep 17 00:00:00 2001 From: Alexandros Milaios Date: Tue, 19 Nov 2024 12:47:14 +0200 Subject: [PATCH 11/14] chore: update shopify image to v8.3.13 (#1809) --- src/configurations/sources/singer_shopify/db-config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/configurations/sources/singer_shopify/db-config.json b/src/configurations/sources/singer_shopify/db-config.json index a0ac6601d..b107d530f 100644 --- a/src/configurations/sources/singer_shopify/db-config.json +++ b/src/configurations/sources/singer_shopify/db-config.json @@ -3,7 +3,7 @@ "category": "singer-protocol", "displayName": "Shopify", "options": { - "image": "rudderstack/source-shopify:v8.3.7" + "image": "rudderstack/source-shopify:v8.3.13" }, "type": "cloudSource" } From be58a7b37daaa3cbb31166902ce495d573657f1c Mon Sep 17 00:00:00 2001 From: Manish Kumar <144022547+manish339k@users.noreply.github.com> Date: Tue, 19 Nov 2024 18:02:15 +0530 Subject: [PATCH 12/14] chore: removing intercom vdm-next (#1811) --- src/configurations/destinations/intercom_v2/db-config.json | 1 - 1 file changed, 1 deletion(-) diff --git a/src/configurations/destinations/intercom_v2/db-config.json b/src/configurations/destinations/intercom_v2/db-config.json index e177bf02e..167f1485b 100644 --- a/src/configurations/destinations/intercom_v2/db-config.json +++ b/src/configurations/destinations/intercom_v2/db-config.json @@ -2,7 +2,6 @@ "name": "INTERCOM_V2", "displayName": "Intercom V2", "config": { - "features": ["vdm-next"], "disableJsonMapper": true, "supportsVisualMapper": true, "syncBehaviours": ["mirror"], From ee02a0dd796ddd4ec0d89fd0be644998fcc73118 Mon Sep 17 00:00:00 2001 From: Sandeep Digumarty Date: Tue, 19 Nov 2024 19:35:44 +0530 Subject: [PATCH 13/14] feat: add VDMv2 related prerequisite checks to GARL (#1810) --- .../ui-config.json | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) 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 3acfda234..4a3285909 100644 --- a/src/configurations/destinations/google_adwords_remarketing_lists/ui-config.json +++ b/src/configurations/destinations/google_adwords_remarketing_lists/ui-config.json @@ -196,7 +196,27 @@ ], "default": ["email"] } - ] + ], + "preRequisites": { + "fields": [ + { + "configKey": "connectionMode.cloud", + "value": "cloud" + }, + { + "configKey": "connectionMode.shopify", + "value": "cloud" + } + ], + "condition": "or", + "prerequisitesCondition": "or", + "featureFlags": [ + { + "configKey": "AMP_vdm-next", + "value": false + } + ] + } } ] }, From d0cc5f9b3627af9bf93ae639ff3b5011f8445c86 Mon Sep 17 00:00:00 2001 From: shrouti1507 <60211312+shrouti1507@users.noreply.github.com> Date: Wed, 20 Nov 2024 11:40:52 +0530 Subject: [PATCH 14/14] feat: adding shopify source to tiktok ads (#1812) --- .../destinations/tiktok_ads/db-config.json | 12 ++- .../destinations/tiktok_ads/schema.json | 74 +++++++++++++++++++ 2 files changed, 84 insertions(+), 2 deletions(-) diff --git a/src/configurations/destinations/tiktok_ads/db-config.json b/src/configurations/destinations/tiktok_ads/db-config.json index c3d4eba46..e8362c40f 100644 --- a/src/configurations/destinations/tiktok_ads/db-config.json +++ b/src/configurations/destinations/tiktok_ads/db-config.json @@ -28,7 +28,8 @@ "warehouse", "reactnative", "flutter", - "cordova" + "cordova", + "shopify" ], "supportedMessageTypes": { "cloud": ["track"], @@ -46,7 +47,8 @@ "warehouse": ["cloud"], "reactnative": ["cloud"], "flutter": ["cloud"], - "cordova": ["cloud"] + "cordova": ["cloud"], + "shopify": ["cloud"] }, "destConfig": { "defaultConfig": [ @@ -120,6 +122,12 @@ "consentManagement", "oneTrustCookieCategories", "ketchConsentPurposes" + ], + "shopify": [ + "connectionMode", + "consentManagement", + "oneTrustCookieCategories", + "ketchConsentPurposes" ] }, "secretKeys": ["accessToken", "pixelCode"] diff --git a/src/configurations/destinations/tiktok_ads/schema.json b/src/configurations/destinations/tiktok_ads/schema.json index e365dd7a7..add98923e 100644 --- a/src/configurations/destinations/tiktok_ads/schema.json +++ b/src/configurations/destinations/tiktok_ads/schema.json @@ -216,6 +216,18 @@ } } } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } } } }, @@ -341,6 +353,18 @@ } } } + }, + "shopify": { + "type": "array", + "items": { + "type": "object", + "properties": { + "purpose": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } } } }, @@ -806,6 +830,52 @@ } ] } + }, + "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"] + } + } + ] + } } } }, @@ -851,6 +921,10 @@ "cordova": { "type": "string", "enum": ["cloud"] + }, + "shopify": { + "type": "string", + "enum": ["cloud"] } } }