Skip to content

Commit 06d8e9e

Browse files
committed
feat: tiktok audience form builder v2
🔒 Scanned for secrets using gitleaks 8.29.1
1 parent 2f88f37 commit 06d8e9e

File tree

2 files changed

+106
-54
lines changed

2 files changed

+106
-54
lines changed

src/configurations/destinations/tiktok_audience/db-config.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,8 @@
2323
"syncBehaviours": ["mirror"],
2424
"transformAtV1": "router",
2525
"destConfig": {
26-
"defaultConfig": ["rudderAccountId", "isHashRequired"],
26+
"defaultConfig": ["audienceId", "rudderAccountId", "isHashRequired"],
2727
"cloud": [
28-
"audienceId",
2928
"connectionMode",
3029
"consentManagement",
3130
"oneTrustCookieCategories",
Lines changed: 105 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -1,77 +1,131 @@
11
{
2-
"uiConfig": [
3-
{
4-
"title": "Connection Settings",
5-
"fields": [
6-
{
7-
"type": "accountManagementInput",
8-
"label": "Event delivery account",
9-
"value": "rudderAccountId",
10-
"required": true
11-
},
12-
{
13-
"type": "textInput",
14-
"label": "Audience Id",
15-
"value": "audienceId",
16-
"required": true,
17-
"placeholder": "238476XXXX5910030"
18-
},
19-
{
20-
"type": "checkbox",
21-
"label": "Enable Hashing",
22-
"value": "isHashRequired",
23-
"default": true
24-
}
25-
]
2+
"uiConfig": {
3+
"baseTemplate": [
4+
{
5+
"title": "Initial setup",
6+
"note": "Review how this destination is set up",
7+
"sections": [
8+
{
9+
"groups": [
10+
{
11+
"title": "Connection settings",
12+
"note": "Update your connection settings here",
13+
"icon": "settings",
14+
"fields": [
15+
{
16+
"type": "accountManagementInput",
17+
"label": "Event delivery account",
18+
"configKey": "rudderAccountId"
19+
},
20+
{
21+
"type": "textInput",
22+
"label": "Audience Id",
23+
"note": "Enter your audience id",
24+
"configKey": "audienceId",
25+
"regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$",
26+
"regexErrorMessage": "Invalid Audience id",
27+
"placeholder": "e.g: 238476XXXX5910030",
28+
"preRequisites": {
29+
"fields": [
30+
{
31+
"configKey": "connectionMode.cloud",
32+
"value": "cloud"
33+
}
34+
]
35+
}
36+
},
37+
{
38+
"type": "checkbox",
39+
"label": "Enable Hashing",
40+
"configKey": "isHashRequired",
41+
"default": true
42+
}
43+
]
44+
}
45+
]
46+
},
47+
{
48+
"groups": [
49+
{
50+
"title": "Connection mode",
51+
"note": [
52+
"Update how you want to route events from your source to destination. ",
53+
{
54+
"text": "Get help deciding",
55+
"link": "https://www.rudderstack.com/docs/destinations/rudderstack-connection-modes/"
56+
}
57+
],
58+
"icon": "sliders",
59+
"fields": []
60+
}
61+
]
62+
}
63+
]
64+
},
65+
{
66+
"title": "Configuration settings",
67+
"note": "Manage the settings for your destination",
68+
"sections": [
69+
{
70+
"id": "consentSettings",
71+
"title": "Consent settings",
72+
"note": "Configure consent settings for each provider here",
73+
"icon": "settings",
74+
"groups": []
75+
}
76+
]
77+
}
78+
],
79+
"sdkTemplate": {
80+
"title": "SDK settings",
81+
"note": "not visible in the ui",
82+
"fields": []
2683
},
27-
{
28-
"title": "Consent Settings",
84+
"consentSettingsTemplate": {
85+
"title": "Consent settings",
86+
"note": "not visible in the ui",
2987
"fields": [
3088
{
3189
"type": "dynamicCustomForm",
32-
"value": "consentManagement",
33-
"label": "Consent management settings",
34-
"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.",
35-
"customFields": [
90+
"configKey": "consentManagement",
91+
"default": [],
92+
"rowFields": [
3693
{
3794
"type": "singleSelect",
3895
"label": "Consent management provider",
39-
"value": "provider",
96+
"configKey": "provider",
4097
"options": [
4198
{
42-
"name": "Custom",
99+
"label": "Custom",
43100
"value": "custom"
44101
},
45102
{
46-
"name": "iubenda",
103+
"label": "iubenda",
47104
"value": "iubenda"
48105
},
49106
{
50-
"name": "Ketch",
107+
"label": "Ketch",
51108
"value": "ketch"
52109
},
53110
{
54-
"name": "OneTrust",
111+
"label": "OneTrust",
55112
"value": "oneTrust"
56113
}
57114
],
58-
"defaultOption": {
59-
"name": "OneTrust",
60-
"value": "oneTrust"
61-
},
115+
"default": "oneTrust",
62116
"required": true
63117
},
64118
{
65119
"type": "singleSelect",
66120
"label": "the required consent logic",
67-
"value": "resolutionStrategy",
121+
"configKey": "resolutionStrategy",
68122
"options": [
69123
{
70-
"name": "AND",
124+
"label": "AND",
71125
"value": "and"
72126
},
73127
{
74-
"name": "OR",
128+
"label": "OR",
75129
"value": "or"
76130
}
77131
],
@@ -87,22 +141,21 @@
87141
}
88142
},
89143
{
90-
"type": "dynamicCustomForm",
91-
"value": "consents",
144+
"type": "tagInput",
92145
"label": "Enter consent category IDs",
93-
"customFields": [
146+
"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.",
147+
"configKey": "consents",
148+
"tagKey": "consent",
149+
"placeholder": "e.g: Marketing",
150+
"default": [
94151
{
95-
"type": "textInput",
96-
"placeholder": "Marketing",
97-
"value": "consent",
98-
"regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$",
99-
"required": false
152+
"consent": ""
100153
}
101154
]
102155
}
103156
]
104157
}
105158
]
106159
}
107-
]
108-
}
160+
}
161+
}

0 commit comments

Comments
 (0)