Skip to content

Commit

Permalink
feat: onboard linkedin audience destination (#1758)
Browse files Browse the repository at this point in the history
  • Loading branch information
ItsSudip authored Nov 18, 2024
1 parent c70c6b0 commit a039627
Show file tree
Hide file tree
Showing 3 changed files with 267 additions and 0 deletions.
31 changes: 31 additions & 0 deletions src/configurations/destinations/linkedin_audience/db-config.json
Original file line number Diff line number Diff line change
@@ -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
}
}
66 changes: 66 additions & 0 deletions src/configurations/destinations/linkedin_audience/schema.json
Original file line number Diff line number Diff line change
@@ -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})$"
}
}
}
}
}
}
}
}
}
170 changes: 170 additions & 0 deletions src/configurations/destinations/linkedin_audience/ui-config.json
Original file line number Diff line number Diff line change
@@ -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
}
]
}
}
]
}
}
}

0 comments on commit a039627

Please sign in to comment.