Skip to content

Commit 0d786f5

Browse files
author
Thomas Gilbert
committed
clarify setup instructions and add json file
1 parent 1067b94 commit 0d786f5

File tree

2 files changed

+174
-1
lines changed

2 files changed

+174
-1
lines changed
Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
1+
{
2+
"name": "[Consent - Segment] Consent Updates Post to Tracking API",
3+
"enabled": false,
4+
"workflowType": "COMPOSITE",
5+
"integrationName": "[Consent - Segment] Consent Updates Post to Tracking API",
6+
"referenceIntegrationName": "Generic",
7+
"dlqMessageCount": 0,
8+
"throttlingLimit": 0,
9+
"defaultDlqAction": "NONE",
10+
"failedAlertFrequencyHrs": 0,
11+
"redactLoggingEnabled": false,
12+
"sensitivity": "DEFAULT",
13+
"formatVersion": "1.0",
14+
"trigger": {
15+
"name": "[Consent - Segment] Consent Updates Post to Tracking API",
16+
"workflowName": "[Consent - Segment] Consent Updates Post to Tracking API",
17+
"triggerType": "EVENT",
18+
"triggerContext": {
19+
"EventTrigger": {
20+
"type": "EVENT",
21+
"eventCode": "3010",
22+
"condition": null,
23+
"baseCondition": null,
24+
"preCondition": null,
25+
"webhook": false,
26+
"subFlow": false,
27+
"config": false
28+
}
29+
},
30+
"description": null,
31+
"eventCode": "3010",
32+
"schema": null
33+
},
34+
"actions": [
35+
{
36+
"processType": "APPLYEACH",
37+
"processContext": {
38+
"ApplyEach": {
39+
"type": "APPLYEACH",
40+
"jsonPath": "event:$..profiles.*",
41+
"listKey": "event.payload.profiles",
42+
"commonNodeLabel": "messagelog",
43+
"continueOnError": null
44+
}
45+
},
46+
"nodeLabel": "applyEach_0",
47+
"nodeDescription": null,
48+
"requestSchema": null,
49+
"responseSchema": {
50+
"name": "Data Subject Profile Updated",
51+
"description": null,
52+
"schema": "{\"format\": \"JSON\",\"type\": \"record\",\"fields\": [{\"type\": \"string\",\"name\": \"eventId\",\"default\": \"1afcc0cb-48ee-4a3a-a409-1b20a5399d9e\"},{\"type\": \"string\",\"name\": \"eventTime\",\"default\": \"2020-01-09T16:35:26.277+0000\"},{\"type\": \"string\",\"name\": \"eventType\",\"default\": \"3010\"},{\"format\": \"JSON\",\"type\": \"record\",\"name\": \"payload\",\"fields\": [{\"type\": \"string\",\"name\": \"dataSubjectGuid\",\"default\": \"aa85841a-0141-4441-86af-c320ed6f0d7e\"},{\"type\": \"string\",\"name\": \"dataSubjectEmail\",\"default\": \"intgDsTestWithoutBatch@otprivacy.com\"},{\"type\": \"boolean\",\"name\": \"consentOnBehalfOf\",\"default\": true},{\"type\": \"array\",\"name\": \"parentPrimaryIdentifiers\",\"items\": {\"format\": \"JSON\",\"type\": \"record\",\"fields\": [{\"type\": \"string\",\"name\": \"ParentIdentifier\",\"default\": \"parentEmail@ot.privacy.com\"},{\"format\": \"JSON\",\"type\": \"record\",\"name\": \"AdditionalParentIdentifierTypes\",\"fields\": []}]}},{\"type\": \"boolean\",\"name\": \"newDataSubject\",\"default\": true},{\"format\" : \"JSON\",\"type\" : \"record\",\"name\" : \"agentOnBehalf\",\"fields\": [{\"type\": \"string\",\"name\": \"agent\",\"default\": \"\"},{\"type\": \"boolean\",\"name\": \"onBehalf\",\"default\": false}]},{\"format\": \"JSON\",\"type\": \"record\",\"name\": \"contactFields\",\"fields\": [{\"type\": \"string\",\"name\": \"FirstName\",\"default\": \"John\"},{\"type\": \"string\",\"name\": \"LastName\",\"default\": \"Smith\"},{\"type\": \"string\",\"name\": \"Title\",\"default\": \"Mr.\"},{\"type\": \"string\",\"name\": \"Name\",\"default\": \"John Smith\"},{\"type\": \"string\",\"name\": \"Email\",\"default\": \"bob@builder.com\"},{\"type\": \"string\",\"name\": \"Address\",\"default\": \"Bangalore\"},{\"type\": \"string\",\"name\": \"Mobile\",\"default\": \"1234567890\"},{\"type\": \"string\",\"name\": \"CompanyName\",\"default\": \"companyname\"},{\"type\": \"string\",\"name\": \"Country\",\"default\": \"India\"},{\"type\": \"string\",\"name\": \"City\",\"default\": \"baganlore\"},{\"type\": \"string\",\"name\": \"Zip\",\"default\": \"560001\"},{\"type\": \"string\",\"name\": \"Password\",\"default\": \"password\"},{\"type\": \"string\",\"name\": \"Language\",\"default\": \"en-GB\"},{\"type\": \"string\",\"name\": \"MagicLink\",\"default\": \"ceb2uY3uH0phDvtCIYCn+8hjKjYgS6oQfMorWmmauCQ=\"}]},{\"type\": \"array\",\"name\": \"profiles\",\"items\": {\"format\": \"JSON\",\"type\": \"record\",\"fields\": [{\"type\": \"string\",\"name\": \"purposeId\",\"default\": \"3e900659-de89-4184-bb1a-0bca2e822b39\"},{\"type\": \"string\",\"name\": \"collectionPointGuid\",\"default\": \"21f16e84-8b2a-4217-8f52-b7bf6880df52\"},{\"type\": \"double\",\"name\": \"collectionPointVersion\",\"default\": 1},{\"type\": \"array\",\"name\": \"topics\",\"items\": {\"format\": \"JSON\",\"type\": \"record\",\"fields\": [{\"type\": \"string\",\"name\": \"topicGuid\",\"default\": \"6ed69adf-51a3-4452-ab8b-6280d58dafe8\"},{\"type\": \"string\",\"name\": \"integrationKey\",\"default\": \"fishing-int-key\"},{\"type\": \"boolean\",\"name\": \"value\",\"default\": true}]}},{\"type\": \"array\",\"name\": \"customPreferences\",\"items\": {\"format\": \"JSON\",\"type\": \"record\",\"fields\": [{\"type\": \"string\",\"name\": \"guid\",\"default\": \"5d134aee-0356-4a45-94a6-9f00769531d4\"},{\"type\": \"string\",\"name\": \"name\",\"default\": \"Test Custom Preference\"},{\"type\": \"array\",\"name\": \"options\",\"items\": {\"format\": \"JSON\",\"type\": \"record\",\"fields\": [{\"type\": \"string\",\"name\": \"guid\",\"default\": \"5d134aee-0356-4a45-94a6-9f00769531d5\"},{\"type\": \"string\",\"name\": \"name\",\"default\": \"Test Option1\"}]}}]}},{\"format\": \"JSON\",\"type\": \"record\",\"name\": \"profileFields\",\"fields\": [{\"type\": \"string\",\"name\": \"TotalTransactions\",\"default\": \"0\"},{\"type\": \"string\",\"name\": \"FirstTransaction\",\"default\": \"1543832130\"},{\"type\": \"string\",\"name\": \"ConsentDate\",\"default\": \"1543832130\"},{\"type\": \"string\",\"name\": \"TransactionStatus\",\"default\": \"ACTIVE\"},{\"type\": \"string\",\"name\": \"LastTransaction\",\"default\": \"1543832130\"},{\"type\": \"string\",\"name\": \"ActivationDate\",\"default\": \"1543832130\"},{\"type\": \"string\",\"name\": \"WithdrawalDate\",\"default\": \"1543832130\"},{\"type\": \"string\",\"name\": \"DoubleOptInConsent\",\"default\": \"N\"}]}]}}]},{\"format\": \"JSON\",\"type\": \"record\",\"name\": \"userDetails\",\"fields\": [{\"type\": \"string\",\"name\": \"roleId\",\"default\": \"\"},{\"type\": \"string\",\"name\": \"tenantId\",\"default\": \"4\"},{\"type\": \"string\",\"name\": \"languageId\",\"default\": \"\"},{\"type\": \"string\",\"name\": \"timeZoneOffsetInMinutes\",\"default\": \"\"},{\"type\": \"string\",\"name\": \"tenantGuid\",\"default\": \"00000000-0000-0000-0000-000000000000\"},{\"type\": \"string\",\"name\": \"orgGroupId\",\"default\": \"00000000-0000-0000-0000-000000000000\"},{\"type\": \"string\",\"name\": \"userId\",\"default\": \"00000000-0000-0000-0000-000000000000\"},{\"type\": \"string\",\"name\": \"sessionId\",\"default\": \"\"},{\"type\": \"string\",\"name\": \"role\",\"default\": \"\"},{\"type\": \"string\",\"name\": \"email\",\"default\": \"\"},{\"type\": \"string\",\"name\": \"permissions\",\"default\": \"\"},{\"type\": \"string\",\"name\": \"scopes\",\"default\": \"\"},{\"type\": \"string\",\"name\": \"permissionsCheckSum\",\"default\": \"\"},{\"type\": \"string\",\"name\": \"defaultDomain\",\"default\": \"\"},{\"type\": \"string\",\"name\": \"dsPortalDomain\",\"default\": \"\"},{\"type\": \"string\",\"name\": \"originalHost\",\"default\": \"\"},{\"type\": \"string\",\"name\": \"locale\",\"default\": \"en_US\"}]},{\"type\": \"string\",\"name\": \"integrationId\",\"default\": \"00000000-0000-0000-0000-000000000000\"},{\"type\": \"string\",\"name\": \"workflowId\",\"default\": \"00000000-0000-0000-0000-000000000000\"},{\"type\": \"string\",\"name\": \"messageKey\",\"default\": \"intgDsTestWithoutBatch@otprivacy.com:21f16e84-8b2a-4217-8f52-b7bf6880df52\"},{\"type\": \"double\",\"name\": \"messageSequenceNumber\",\"default\": 1580445036773},{\"type\": \"string\",\"name\": \"deDuplicationStrategy\",\"default\": \"DISCARD_OLDER\"}]}"
53+
}
54+
},
55+
{
56+
"processType": "MESSAGELOG",
57+
"processContext": {
58+
"MessageLog": {
59+
"type": "MESSAGELOG",
60+
"continueOnError": null
61+
}
62+
},
63+
"nodeLabel": "messagelog",
64+
"nodeDescription": "Terminating Node : messagelog",
65+
"requestSchema": null,
66+
"responseSchema": {
67+
"name": null,
68+
"description": null,
69+
"schema": null
70+
}
71+
},
72+
{
73+
"processType": "TRANSFORM",
74+
"processContext": {
75+
"DataTransformer": {
76+
"type": "TRANSFORM",
77+
"template": "<#list 0..step.applyEach_0.customPreferences?size-1 as n>\n${set('truePrefs${n}', [])}\n<#list 0..step.applyEach_0.customPreferences[n].options?size-1 as m>\n<#if ((step.applyEach_0.customPreferences[n].options[m].value?c)!\"\") == \"true\">\n${push('truePrefs${n}', '${(step.applyEach_0.customPreferences[n].options[m].name)}')}\n</#if>\n</#list>\n</#list>",
78+
"independentNode": true,
79+
"continueOnError": null,
80+
"isIndependentNode": true
81+
}
82+
},
83+
"nodeLabel": "dataTransformator_0",
84+
"nodeDescription": null,
85+
"requestSchema": null,
86+
"responseSchema": {
87+
"name": "Data Transformer",
88+
"description": null,
89+
"schema": "{\"format\":\"JSON\",\"type\":\"record\",\"fields\":[]}"
90+
}
91+
},
92+
{
93+
"processType": "TRANSFORM",
94+
"processContext": {
95+
"DataTransformer": {
96+
"type": "TRANSFORM",
97+
"template": "{\n \"userId\": \"${(event.payload.dataSubjectEmail)!}\",\n \"event\": \"Consent Updated\",\n \"properties\": {\n \"purposeID\": \"${(step.applyEach_0.purposeId)!}\",\n \"purposeName\": \"${(step.applyEach_0.purposeName)!}\",\n \"status\": \"${(step.applyEach_0.profileFields.TransactionStatus)!}\",\n<#list 0..step.applyEach_0.customPreferences?size-1 as n>\n \"${(step.applyEach_0.customPreferences[n].name)}\" : \"<#list get('truePrefs${n}') as item>${item}<#sep>, </#list>\"\n<#sep>, </#list>\n }\n}",
98+
"independentNode": false,
99+
"continueOnError": null,
100+
"isIndependentNode": false
101+
}
102+
},
103+
"nodeLabel": "transform_0",
104+
"nodeDescription": "Https POST Consent Updates to Track API",
105+
"requestSchema": null,
106+
"responseSchema": {
107+
"name": null,
108+
"description": null,
109+
"schema": null
110+
}
111+
},
112+
{
113+
"processType": "HTTP",
114+
"processContext": {
115+
"HttpConnector": {
116+
"type": "HTTP",
117+
"headers": {
118+
"Content-Type": "application/json",
119+
"Authorization": "Basic {encoded write key here}"
120+
},
121+
"requestURI": "https://api.segment.io/v1/track",
122+
"httpMethod": "POST",
123+
"jweEncryptionRequired": false,
124+
"jweDecryptionRequired": false,
125+
"encryptionCredentialId": null,
126+
"decryptionCredentialId": null,
127+
"internal": false,
128+
"continueOnError": "NONE",
129+
"pathParams": {},
130+
"queryParams": {},
131+
"isInternal": false,
132+
"isDSPortal": false,
133+
"viewType": null
134+
}
135+
},
136+
"nodeLabel": "http_0",
137+
"nodeDescription": "Https POST Consent Updates to Track API",
138+
"requestSchema": null,
139+
"responseSchema": {
140+
"name": null,
141+
"description": null,
142+
"schema": null
143+
}
144+
}
145+
],
146+
"directions": [
147+
{
148+
"startNode": "applyEach_0",
149+
"endNode": "messagelog"
150+
},
151+
{
152+
"startNode": "applyEach_0",
153+
"endNode": "dataTransformator_0"
154+
},
155+
{
156+
"startNode": "dataTransformator_0",
157+
"endNode": "transform_0"
158+
},
159+
{
160+
"startNode": "transform_0",
161+
"endNode": "http_0"
162+
}
163+
],
164+
"categoryBitValue": 258,
165+
"seedSystem": false,
166+
"halted": false,
167+
"dlqEnabled": true
168+
}

src/connections/sources/catalog/cloud-apps/onetrust/index.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,12 @@ This source is maintained by OneTrust. For any issues with the source, [contact
2222
3. On the next screen, give the Source **a nickname** configure any other settings.
2323
- The nickname is used as a label in the Segment app, and Segment creates a related schema name in your warehouse. The nickname can be anything, but Segment recommends using something that reflects the source itself and distinguishes amongst your environments (like `OneTrust_Prod`, `OneTrust_Staging`, or `OneTrust_Dev`).
2424

25-
4. Copy the **Write key** from the Segment UI and log in to your OneTrust account - navigate to Settings > Integrations > Segment Integration and paste the key after encoding it.
25+
4. In OneTrust, navigate to **Integrations > Connections > Import**, and upload <a href="./OneTrust-Segment-Track-API-Integration.json" download>this JSON file</a>.
26+
27+
5. Copy the **Write key** from the Segment UI, and paste it in as the Auth header for the OneTrust integration.
28+
29+
6. Click **Save and Activate**.
30+
2631

2732
## Stream
2833

0 commit comments

Comments
 (0)