@segment/action-destinations 3.438.0 → 3.440.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/dist/destinations/aws-kinesis/generated-types.d.ts +2 -0
  2. package/dist/destinations/aws-kinesis/generated-types.js.map +1 -0
  3. package/dist/destinations/aws-kinesis/index.d.ts +4 -0
  4. package/dist/destinations/aws-kinesis/index.js +24 -0
  5. package/dist/destinations/aws-kinesis/index.js.map +1 -0
  6. package/dist/destinations/aws-kinesis/send/generated-types.d.ts +8 -0
  7. package/dist/destinations/aws-kinesis/send/generated-types.js.map +1 -0
  8. package/dist/destinations/{yonoma/sendEvent → aws-kinesis/send}/index.d.ts +1 -1
  9. package/dist/destinations/aws-kinesis/send/index.js +41 -0
  10. package/dist/destinations/aws-kinesis/send/index.js.map +1 -0
  11. package/dist/destinations/criteo-audiences/addUserToAudience/generated-types.d.ts +1 -0
  12. package/dist/destinations/criteo-audiences/addUserToAudience/index.js +7 -0
  13. package/dist/destinations/criteo-audiences/addUserToAudience/index.js.map +1 -1
  14. package/dist/destinations/criteo-audiences/removeUserFromAudience/generated-types.d.ts +1 -0
  15. package/dist/destinations/criteo-audiences/removeUserFromAudience/index.js +7 -0
  16. package/dist/destinations/criteo-audiences/removeUserFromAudience/index.js.map +1 -1
  17. package/dist/destinations/first-party-dv360/index.js +1 -1
  18. package/dist/destinations/first-party-dv360/index.js.map +1 -1
  19. package/dist/destinations/google-enhanced-conversions/functions.d.ts +1 -1
  20. package/dist/destinations/google-enhanced-conversions/functions.js +1 -1
  21. package/dist/destinations/google-enhanced-conversions/uploadCallConversion/index.js +2 -2
  22. package/dist/destinations/google-enhanced-conversions/uploadCallConversion2/index.js +2 -2
  23. package/dist/destinations/google-enhanced-conversions/uploadClickConversion/index.js +2 -2
  24. package/dist/destinations/google-enhanced-conversions/uploadClickConversion2/index.js +2 -2
  25. package/dist/destinations/google-enhanced-conversions/userList/index.js +3 -3
  26. package/dist/destinations/google-enhanced-conversions/userList/index.js.map +1 -1
  27. package/dist/destinations/linkedin-audiences/{api/index.d.ts → api.d.ts} +3 -3
  28. package/dist/destinations/linkedin-audiences/{api/index.js → api.js} +2 -2
  29. package/dist/destinations/linkedin-audiences/api.js.map +1 -0
  30. package/dist/destinations/linkedin-audiences/updateAudience/fields.d.ts +2 -0
  31. package/dist/destinations/linkedin-audiences/updateAudience/fields.js +126 -0
  32. package/dist/destinations/linkedin-audiences/updateAudience/fields.js.map +1 -0
  33. package/dist/destinations/linkedin-audiences/updateAudience/functions.d.ts +5 -0
  34. package/dist/destinations/linkedin-audiences/updateAudience/functions.js +112 -0
  35. package/dist/destinations/linkedin-audiences/updateAudience/functions.js.map +1 -0
  36. package/dist/destinations/linkedin-audiences/updateAudience/index.js +5 -232
  37. package/dist/destinations/linkedin-audiences/updateAudience/index.js.map +1 -1
  38. package/dist/destinations/ms-bing-ads-audiences/index.js +1 -1
  39. package/dist/destinations/ms-bing-ads-audiences/index.js.map +1 -1
  40. package/dist/destinations/ms-bing-ads-audiences/syncAudiences/fields.js +13 -17
  41. package/dist/destinations/ms-bing-ads-audiences/syncAudiences/fields.js.map +1 -1
  42. package/dist/destinations/snap-audiences/constants.d.ts +2 -0
  43. package/dist/destinations/snap-audiences/constants.js +6 -0
  44. package/dist/destinations/snap-audiences/constants.js.map +1 -0
  45. package/dist/destinations/snap-audiences/index.js +24 -40
  46. package/dist/destinations/snap-audiences/index.js.map +1 -1
  47. package/dist/destinations/snap-audiences/syncAudience/constants.d.ts +5 -0
  48. package/dist/destinations/snap-audiences/syncAudience/constants.js +9 -0
  49. package/dist/destinations/snap-audiences/syncAudience/constants.js.map +1 -0
  50. package/dist/destinations/snap-audiences/syncAudience/fields.d.ts +2 -0
  51. package/dist/destinations/snap-audiences/syncAudience/fields.js +90 -0
  52. package/dist/destinations/snap-audiences/syncAudience/fields.js.map +1 -0
  53. package/dist/destinations/snap-audiences/syncAudience/functions.d.ts +5 -0
  54. package/dist/destinations/snap-audiences/syncAudience/functions.js +119 -0
  55. package/dist/destinations/snap-audiences/syncAudience/functions.js.map +1 -0
  56. package/dist/destinations/snap-audiences/syncAudience/generated-types.d.ts +2 -1
  57. package/dist/destinations/snap-audiences/syncAudience/index.js +6 -146
  58. package/dist/destinations/snap-audiences/syncAudience/index.js.map +1 -1
  59. package/dist/destinations/snap-audiences/syncAudience/types.d.ts +18 -0
  60. package/dist/destinations/snap-audiences/syncAudience/types.js.map +1 -0
  61. package/dist/destinations/snap-audiences/types.d.ts +19 -0
  62. package/dist/destinations/snap-audiences/types.js.map +1 -0
  63. package/dist/destinations/stackadapt-audiences/common-constants.d.ts +2 -0
  64. package/dist/destinations/stackadapt-audiences/common-constants.js +6 -0
  65. package/dist/destinations/stackadapt-audiences/common-constants.js.map +1 -0
  66. package/dist/destinations/stackadapt-audiences/common-functions.d.ts +0 -7
  67. package/dist/destinations/stackadapt-audiences/common-functions.js +0 -193
  68. package/dist/destinations/stackadapt-audiences/common-functions.js.map +1 -1
  69. package/dist/destinations/stackadapt-audiences/common-types.d.ts +15 -0
  70. package/dist/destinations/stackadapt-audiences/common-types.js +3 -0
  71. package/dist/destinations/stackadapt-audiences/common-types.js.map +1 -0
  72. package/dist/destinations/stackadapt-audiences/{constants.js → forwardAudienceEvent/constants.js} +1 -22
  73. package/dist/destinations/stackadapt-audiences/forwardAudienceEvent/constants.js.map +1 -0
  74. package/dist/destinations/stackadapt-audiences/forwardAudienceEvent/fields.d.ts +1 -0
  75. package/dist/destinations/stackadapt-audiences/forwardAudienceEvent/fields.js +184 -1
  76. package/dist/destinations/stackadapt-audiences/forwardAudienceEvent/fields.js.map +1 -1
  77. package/dist/destinations/stackadapt-audiences/forwardAudienceEvent/functions.d.ts +6 -0
  78. package/dist/destinations/stackadapt-audiences/forwardAudienceEvent/functions.js +184 -0
  79. package/dist/destinations/stackadapt-audiences/forwardAudienceEvent/functions.js.map +1 -0
  80. package/dist/destinations/stackadapt-audiences/forwardAudienceEvent/generated-types.d.ts +0 -3
  81. package/dist/destinations/stackadapt-audiences/forwardAudienceEvent/index.js +4 -5
  82. package/dist/destinations/stackadapt-audiences/forwardAudienceEvent/index.js.map +1 -1
  83. package/dist/destinations/stackadapt-audiences/{types.d.ts → forwardAudienceEvent/types.d.ts} +0 -15
  84. package/dist/destinations/stackadapt-audiences/forwardAudienceEvent/types.js +3 -0
  85. package/dist/destinations/stackadapt-audiences/forwardAudienceEvent/types.js.map +1 -0
  86. package/dist/destinations/stackadapt-audiences/index.d.ts +1 -1
  87. package/dist/destinations/stackadapt-audiences/index.js +5 -7
  88. package/dist/destinations/stackadapt-audiences/index.js.map +1 -1
  89. package/dist/destinations/yonoma/index.js +0 -2
  90. package/dist/destinations/yonoma/index.js.map +1 -1
  91. package/dist/destinations/yonoma/trackEvent/generated-types.d.ts +24 -3
  92. package/dist/destinations/yonoma/trackEvent/index.js +140 -16
  93. package/dist/destinations/yonoma/trackEvent/index.js.map +1 -1
  94. package/dist/destinations/yonoma/trackEvent/types.d.ts +24 -3
  95. package/dist/destinations/yonoma/trackPageView/generated-types.d.ts +23 -7
  96. package/dist/destinations/yonoma/trackPageView/index.js +133 -50
  97. package/dist/destinations/yonoma/trackPageView/index.js.map +1 -1
  98. package/dist/destinations/yonoma/trackPageView/types.d.ts +22 -4
  99. package/dist/destinations/yonoma/upsertContact/generated-types.d.ts +25 -3
  100. package/dist/destinations/yonoma/upsertContact/index.js +153 -21
  101. package/dist/destinations/yonoma/upsertContact/index.js.map +1 -1
  102. package/dist/destinations/yonoma/upsertContact/types.d.ts +26 -4
  103. package/package.json +2 -2
  104. package/dist/destinations/linkedin-audiences/api/index.js.map +0 -1
  105. package/dist/destinations/snap-audiences/syncAudience/utils.d.ts +0 -8
  106. package/dist/destinations/snap-audiences/syncAudience/utils.js +0 -61
  107. package/dist/destinations/snap-audiences/syncAudience/utils.js.map +0 -1
  108. package/dist/destinations/stackadapt-audiences/common-fields.d.ts +0 -2
  109. package/dist/destinations/stackadapt-audiences/common-fields.js +0 -227
  110. package/dist/destinations/stackadapt-audiences/common-fields.js.map +0 -1
  111. package/dist/destinations/stackadapt-audiences/constants.js.map +0 -1
  112. package/dist/destinations/stackadapt-audiences/forwardProfile/generated-types.d.ts +0 -26
  113. package/dist/destinations/stackadapt-audiences/forwardProfile/generated-types.js.map +0 -1
  114. package/dist/destinations/stackadapt-audiences/forwardProfile/index.d.ts +0 -5
  115. package/dist/destinations/stackadapt-audiences/forwardProfile/index.js +0 -140
  116. package/dist/destinations/stackadapt-audiences/forwardProfile/index.js.map +0 -1
  117. package/dist/destinations/stackadapt-audiences/types.js.map +0 -1
  118. package/dist/destinations/yonoma/sendEvent/constants.d.ts +0 -1
  119. package/dist/destinations/yonoma/sendEvent/constants.js +0 -5
  120. package/dist/destinations/yonoma/sendEvent/constants.js.map +0 -1
  121. package/dist/destinations/yonoma/sendEvent/functions.d.ts +0 -1
  122. package/dist/destinations/yonoma/sendEvent/functions.js +0 -19
  123. package/dist/destinations/yonoma/sendEvent/functions.js.map +0 -1
  124. package/dist/destinations/yonoma/sendEvent/generated-types.d.ts +0 -13
  125. package/dist/destinations/yonoma/sendEvent/generated-types.js.map +0 -1
  126. package/dist/destinations/yonoma/sendEvent/index.js +0 -103
  127. package/dist/destinations/yonoma/sendEvent/index.js.map +0 -1
  128. package/dist/destinations/yonoma/sendEvent/types.d.ts +0 -10
  129. package/dist/destinations/yonoma/sendEvent/types.js.map +0 -1
  130. /package/dist/destinations/{stackadapt-audiences/forwardProfile → aws-kinesis}/generated-types.js +0 -0
  131. /package/dist/destinations/{yonoma/sendEvent → aws-kinesis/send}/generated-types.js +0 -0
  132. /package/dist/destinations/{stackadapt-audiences → snap-audiences/syncAudience}/types.js +0 -0
  133. /package/dist/destinations/{yonoma/sendEvent → snap-audiences}/types.js +0 -0
  134. /package/dist/destinations/stackadapt-audiences/{constants.d.ts → forwardAudienceEvent/constants.d.ts} +0 -0
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.send = send;
4
+ exports.stringifyJsonWithEscapedQuotes = stringifyJsonWithEscapedQuotes;
5
+ exports.stringifyMappingSchemaForGraphQL = stringifyMappingSchemaForGraphQL;
6
+ const constants_1 = require("./constants");
7
+ const common_constants_1 = require("../common-constants");
8
+ const common_functions_1 = require("../common-functions");
9
+ async function send(request, payloads, settings) {
10
+ const fieldTypes = getDefaultFieldTypes();
11
+ const fieldsToMap = getDefaultFieldsToMap();
12
+ const advertiserId = settings.advertiser_id;
13
+ const marketingStatus = payloads[0].marketing_status;
14
+ const profileUpdates = payloads.map((p) => {
15
+ const { user_id, standard_traits, custom_traits, email } = p;
16
+ const { segment_computation_key, segment_computation_id, traits_or_props } = p;
17
+ if (custom_traits) {
18
+ delete custom_traits[segment_computation_key];
19
+ delete custom_traits[segment_computation_id];
20
+ }
21
+ const profile = {
22
+ userId: user_id,
23
+ email,
24
+ ...standard_traits,
25
+ ...custom_traits
26
+ };
27
+ profile.audienceId = segment_computation_id;
28
+ profile.audienceName = segment_computation_key;
29
+ profile.action = traits_or_props[segment_computation_key] ? 'enter' : 'exit';
30
+ updateFieldsToMapAndFieldTypes(fieldsToMap, fieldTypes, custom_traits);
31
+ return profile;
32
+ });
33
+ const mappings = getProfileMappings(Array.from(fieldsToMap), fieldTypes);
34
+ const profiles = stringifyJsonWithEscapedQuotes(profileUpdates);
35
+ const mutation = `mutation {
36
+ upsertProfiles(
37
+ input: {
38
+ advertiserId: ${advertiserId},
39
+ externalProvider: "${common_constants_1.EXTERNAL_PROVIDER}",
40
+ syncId: "${(0, common_functions_1.sha256hash)(profiles)}",
41
+ profiles: "${profiles}"
42
+ }
43
+ ) {
44
+ userErrors {
45
+ message
46
+ }
47
+ }
48
+ upsertProfileMapping(
49
+ input: {
50
+ advertiserId: ${advertiserId},
51
+ mappingSchemaV2: ${mappings},
52
+ isOptedIn: ${marketingStatus === constants_1.MarketingStatus.OPT_IN},
53
+ mappableType: "${common_constants_1.EXTERNAL_PROVIDER}"
54
+ }
55
+ ) {
56
+ userErrors {
57
+ message
58
+ }
59
+ }
60
+ ${audienceMutation(advertiserId, stringifyMappingSchemaForGraphQL(constants_1.MAPPING_SCHEMA))}
61
+ }`;
62
+ return await request(common_constants_1.GQL_ENDPOINT, {
63
+ body: JSON.stringify({ query: mutation })
64
+ });
65
+ }
66
+ function audienceMutation(advertiserId, audienceMapping) {
67
+ return `upsertExternalAudienceMapping(
68
+ input: {
69
+ advertiserId: ${advertiserId},
70
+ mappingSchema: ${audienceMapping},
71
+ mappableType: "${common_constants_1.EXTERNAL_PROVIDER}"
72
+ }
73
+ ) {
74
+ userErrors {
75
+ message
76
+ }
77
+ }`;
78
+ }
79
+ function updateFieldsToMapAndFieldTypes(fieldsToMap, fieldTypes, customTraits = {}) {
80
+ return Object.keys(customTraits).reduce((acc, key) => {
81
+ const value = customTraits[key];
82
+ if (key === '' || value === '') {
83
+ return acc;
84
+ }
85
+ acc[key] = value;
86
+ const standardFields = getDefaultFieldsToMap();
87
+ if (!standardFields.has(key)) {
88
+ fieldsToMap.add(key);
89
+ if (value || value === 0) {
90
+ const type = getType(value);
91
+ if (fieldTypes[key] && fieldTypes[key] !== type) {
92
+ fieldTypes[key] = 'STRING';
93
+ }
94
+ else {
95
+ fieldTypes[key] = type;
96
+ }
97
+ }
98
+ }
99
+ return acc;
100
+ }, {});
101
+ }
102
+ function getProfileMappings(customFields, fieldTypes) {
103
+ const mappingSchema = [];
104
+ for (const field of customFields) {
105
+ const fieldConfig = constants_1.PROFILE_DEFAULT_FIELDS.find((f) => f.key === field);
106
+ if (fieldConfig) {
107
+ let destinationKey;
108
+ switch (fieldConfig.key) {
109
+ case 'user_id':
110
+ destinationKey = 'external_id';
111
+ break;
112
+ default:
113
+ destinationKey = fieldConfig.key;
114
+ }
115
+ mappingSchema.push({
116
+ incomingKey: field,
117
+ destinationKey,
118
+ label: fieldConfig.label,
119
+ type: fieldConfig.type.toUpperCase(),
120
+ isPii: fieldConfig.isPii || false
121
+ });
122
+ }
123
+ else {
124
+ mappingSchema.push({
125
+ incomingKey: field,
126
+ destinationKey: field,
127
+ label: generateLabel(field),
128
+ type: fieldTypes[field] ?? 'STRING',
129
+ isPii: false
130
+ });
131
+ }
132
+ }
133
+ return stringifyMappingSchemaForGraphQL(mappingSchema);
134
+ }
135
+ function generateLabel(field) {
136
+ let label = field
137
+ .replace(/_/g, ' ')
138
+ .trim()
139
+ .replace(/\b\w/g, (str) => str.toUpperCase());
140
+ if (field.startsWith('audience')) {
141
+ label = `External ${label}`;
142
+ }
143
+ return label;
144
+ }
145
+ function getType(value) {
146
+ if (isDateStr(value))
147
+ return 'DATE';
148
+ return (typeof value).toUpperCase();
149
+ }
150
+ function isDateStr(value) {
151
+ if (typeof value !== 'string')
152
+ return false;
153
+ const datePatterns = [
154
+ /^\d{4}-\d{2}-\d{2}/,
155
+ /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}/,
156
+ /^\d{1,2}\/\d{1,2}\/\d{4}/,
157
+ /^\d{1,2}-\d{1,2}-\d{4}/
158
+ ];
159
+ const hasDatePattern = datePatterns.some(pattern => pattern.test(value));
160
+ if (!hasDatePattern)
161
+ return false;
162
+ const parsed = Date.parse(value);
163
+ return !isNaN(parsed);
164
+ }
165
+ function stringifyJsonWithEscapedQuotes(value) {
166
+ const jsonString = JSON.stringify(value);
167
+ return jsonString.replace(/"/g, '\\"');
168
+ }
169
+ function stringifyMappingSchemaForGraphQL(value) {
170
+ let jsonString = JSON.stringify(value);
171
+ jsonString = jsonString.replace(/"type":"([^"]+)"/g, (_, typeValue) => `type:${typeValue.toUpperCase()}`);
172
+ jsonString = jsonString.replace(/"([a-zA-Z_][a-zA-Z0-9_]*)"\s*:/g, '$1:');
173
+ return jsonString;
174
+ }
175
+ const getDefaultFieldsToMap = () => {
176
+ return new Set(constants_1.PROFILE_DEFAULT_FIELDS.map(field => field.key));
177
+ };
178
+ const getDefaultFieldTypes = () => {
179
+ return constants_1.PROFILE_DEFAULT_FIELDS.reduce((acc, field) => {
180
+ acc[field.key] = field.type.toUpperCase();
181
+ return acc;
182
+ }, {});
183
+ };
184
+ //# sourceMappingURL=functions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../../src/destinations/stackadapt-audiences/forwardAudienceEvent/functions.ts"],"names":[],"mappings":"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"}
@@ -9,9 +9,6 @@ export interface Payload {
9
9
  state?: string;
10
10
  timezone?: string;
11
11
  postal_code?: string;
12
- birth_day?: number;
13
- birth_month?: number;
14
- birth_year?: number;
15
12
  birth_date?: string;
16
13
  };
17
14
  custom_traits?: {
@@ -1,14 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const common_functions_1 = require("../common-functions");
4
- const common_fields_1 = require("../common-fields");
3
+ const functions_1 = require("./functions");
5
4
  const fields_1 = require("./fields");
6
5
  const action = {
7
6
  title: 'Sync Audience',
8
7
  description: 'Sync Segment Engage audience and user profile details to StackAdapt',
9
8
  defaultSubscription: 'type = "identify" or type = "track"',
10
9
  fields: {
11
- ...common_fields_1.common_fields,
10
+ ...fields_1.profile_fields,
12
11
  ...fields_1.audience_only_fields,
13
12
  email: {
14
13
  label: 'Email',
@@ -26,10 +25,10 @@ const action = {
26
25
  }
27
26
  },
28
27
  perform: async (request, { payload, settings }) => {
29
- return await (0, common_functions_1.send)(request, [payload], settings, true);
28
+ return await (0, functions_1.send)(request, [payload], settings);
30
29
  },
31
30
  performBatch: async (request, { payload, settings }) => {
32
- return await (0, common_functions_1.send)(request, payload, settings, true);
31
+ return await (0, functions_1.send)(request, payload, settings);
33
32
  }
34
33
  };
35
34
  exports.default = action;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/stackadapt-audiences/forwardAudienceEvent/index.ts"],"names":[],"mappings":";;AAGA,0DAA0C;AAC1C,oDAAgD;AAChD,qCAA+C;AAE/C,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,eAAe;IACtB,WAAW,EAAE,qEAAqE;IAClF,mBAAmB,EAAE,qCAAqC;IAC1D,MAAM,EAAE;QACN,GAAG,6BAAa;QAChB,GAAG,6BAAoB;QACvB,KAAK,EAAE;YACL,KAAK,EAAE,OAAO;YACd,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;YACf,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,KAAK,EAAE;oBACL,MAAM,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE;oBACrC,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE;oBACnC,IAAI,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE;iBACxC;aACF;SACF;KACF;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QAChD,OAAO,MAAM,IAAA,uBAAI,EAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;IACvD,CAAC;IACD,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QACrD,OAAO,MAAM,IAAA,uBAAI,EAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;IACrD,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/stackadapt-audiences/forwardAudienceEvent/index.ts"],"names":[],"mappings":";;AAGA,2CAAkC;AAClC,qCAA+D;AAE/D,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,eAAe;IACtB,WAAW,EAAE,qEAAqE;IAClF,mBAAmB,EAAE,qCAAqC;IAC1D,MAAM,EAAE;QACN,GAAG,uBAAc;QACjB,GAAG,6BAAoB;QACvB,KAAK,EAAE;YACL,KAAK,EAAE,OAAO;YACd,WAAW,EAAE,gCAAgC;YAC7C,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;YACf,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,KAAK,EAAE;oBACL,MAAM,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE;oBACrC,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE;oBACnC,IAAI,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE;iBACxC;aACF;SACF;KACF;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QAChD,OAAO,MAAM,IAAA,gBAAI,EAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAA;IACjD,CAAC;IACD,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QACrD,OAAO,MAAM,IAAA,gBAAI,EAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;IAC/C,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -6,21 +6,6 @@ export interface ProfileFieldConfig {
6
6
  description: string;
7
7
  isPii?: boolean;
8
8
  }
9
- export interface AdvertiserScopesResponse {
10
- data: {
11
- tokenInfo: {
12
- scopesByAdvertiser: {
13
- nodes: {
14
- advertiser: {
15
- id: string;
16
- name: string;
17
- };
18
- scopes: string[];
19
- }[];
20
- };
21
- };
22
- };
23
- }
24
9
  export interface Advertiser {
25
10
  id: string;
26
11
  name: string;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/destinations/stackadapt-audiences/forwardAudienceEvent/types.ts"],"names":[],"mappings":""}
@@ -1,4 +1,4 @@
1
- import type { DestinationDefinition } from '@segment/actions-core';
1
+ import { DestinationDefinition } from '@segment/actions-core';
2
2
  import type { Settings } from './generated-types';
3
3
  declare const destination: DestinationDefinition<Settings>;
4
4
  export default destination;
@@ -4,14 +4,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const actions_core_1 = require("@segment/actions-core");
7
- const forwardProfile_1 = __importDefault(require("./forwardProfile"));
8
7
  const forwardAudienceEvent_1 = __importDefault(require("./forwardAudienceEvent"));
9
8
  const common_functions_1 = require("./common-functions");
10
- const constants_1 = require("./constants");
9
+ const common_constants_1 = require("./common-constants");
11
10
  const destination = {
12
11
  name: 'StackAdapt Audiences',
13
12
  slug: 'actions-stackadapt-audiences',
14
- description: 'Send Segment Audience and user profile details to StackAdapt',
13
+ description: 'Sync Segment Engage Audiences as well as user profile details to StackAdapt',
15
14
  mode: 'cloud',
16
15
  authentication: {
17
16
  scheme: 'custom',
@@ -42,7 +41,7 @@ const destination = {
42
41
  }
43
42
  }
44
43
  }`;
45
- const res = await request(constants_1.GQL_ENDPOINT, {
44
+ const res = await request(common_constants_1.GQL_ENDPOINT, {
46
45
  body: JSON.stringify({ query: scopeQuery }),
47
46
  throwHttpErrors: false
48
47
  });
@@ -73,7 +72,7 @@ const destination = {
73
72
  deleteProfilesWithExternalIds(
74
73
  input: {
75
74
  externalIds: ${formattedExternalIds},
76
- externalProvider: "${constants_1.EXTERNAL_PROVIDER}",
75
+ externalProvider: "${common_constants_1.EXTERNAL_PROVIDER}",
77
76
  syncId: "${syncId}",
78
77
  advertiserIds: [${parseInt(advertiserId, 10)}]
79
78
  }
@@ -84,7 +83,7 @@ const destination = {
84
83
  }
85
84
  }
86
85
  }`;
87
- const response = await request(constants_1.GQL_ENDPOINT, {
86
+ const response = await request(common_constants_1.GQL_ENDPOINT, {
88
87
  method: 'POST',
89
88
  headers: { 'Content-Type': 'application/json' },
90
89
  body: JSON.stringify({ query: mutation })
@@ -97,7 +96,6 @@ const destination = {
97
96
  return result;
98
97
  },
99
98
  actions: {
100
- forwardProfile: forwardProfile_1.default,
101
99
  forwardAudienceEvent: forwardAudienceEvent_1.default
102
100
  }
103
101
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/stackadapt-audiences/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/stackadapt-audiences/index.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const upsertContact_1 = __importDefault(require("./upsertContact"));
7
7
  const trackEvent_1 = __importDefault(require("./trackEvent"));
8
- const sendEvent_1 = __importDefault(require("./sendEvent"));
9
8
  const trackPageView_1 = __importDefault(require("./trackPageView"));
10
9
  const destination = {
11
10
  name: 'Yonoma',
@@ -39,7 +38,6 @@ const destination = {
39
38
  actions: {
40
39
  upsertContact: upsertContact_1.default,
41
40
  trackEvent: trackEvent_1.default,
42
- sendEvent: sendEvent_1.default,
43
41
  trackPageView: trackPageView_1.default
44
42
  }
45
43
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/yonoma/index.ts"],"names":[],"mappings":";;;;;AAEA,oEAA2C;AAC3C,8DAAqC;AACrC,4DAAmC;AACnC,oEAA2C;AAE3C,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,gBAAgB;IACtB,IAAI,EAAE,OAAO;IAEb,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,MAAM,EAAE;gBACN,KAAK,EAAE,SAAS;gBAChB,WAAW,EAAE,sBAAsB;gBACnC,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;SACF;QACD,kBAAkB,EAAE,CAAC,OAAO,EAAE,EAAE;YAC9B,OAAO,OAAO,CAAC,gDAAgD,EAAE;gBAC/D,MAAM,EAAE,KAAK;aACd,CAAC,CAAA;QACJ,CAAC;KACF;IACD,aAAa,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC9B,OAAO;YACL,OAAO,EAAE;gBACP,YAAY,EAAE,SAAS;gBACvB,cAAc,EAAE,kBAAkB;gBAClC,eAAe,EAAE,UAAU,QAAQ,CAAC,MAAM,EAAE;aAAE;SACjD,CAAA;IACH,CAAC;IACD,OAAO,EAAE;QACP,aAAa,EAAb,uBAAa;QACb,UAAU,EAAV,oBAAU;QACV,SAAS,EAAT,mBAAS;QACT,aAAa,EAAb,uBAAa;KACd;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/yonoma/index.ts"],"names":[],"mappings":";;;;;AAEA,oEAA2C;AAC3C,8DAAqC;AACrC,oEAA2C;AAE3C,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,gBAAgB;IACtB,IAAI,EAAE,OAAO;IAEb,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,MAAM,EAAE;gBACN,KAAK,EAAE,SAAS;gBAChB,WAAW,EAAE,sBAAsB;gBACnC,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;SACF;QACD,kBAAkB,EAAE,CAAC,OAAO,EAAE,EAAE;YAC9B,OAAO,OAAO,CAAC,gDAAgD,EAAE;gBAC/D,MAAM,EAAE,KAAK;aACd,CAAC,CAAA;QACJ,CAAC;KACF;IACD,aAAa,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC9B,OAAO;YACL,OAAO,EAAE;gBACP,YAAY,EAAE,SAAS;gBACvB,cAAc,EAAE,kBAAkB;gBAClC,eAAe,EAAE,UAAU,QAAQ,CAAC,MAAM,EAAE;aAC7C;SACF,CAAA;IACH,CAAC;IACD,OAAO,EAAE;QACP,aAAa,EAAb,uBAAa;QACb,UAAU,EAAV,oBAAU;QACV,aAAa,EAAb,uBAAa;KACd;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
@@ -1,13 +1,34 @@
1
1
  export interface Payload {
2
2
  event: string;
3
3
  identifiers: {
4
- userId?: string;
4
+ userId: string;
5
5
  anonymousId?: string;
6
- email?: string;
6
+ email: string;
7
7
  };
8
8
  listId: string;
9
+ timestamp?: string;
10
+ ip?: string;
11
+ userAgent?: string;
12
+ page?: {
13
+ url?: string;
14
+ title?: string;
15
+ referrer?: string;
16
+ path?: string;
17
+ search?: string;
18
+ };
19
+ campaign?: {
20
+ name?: string;
21
+ source?: string;
22
+ medium?: string;
23
+ term?: string;
24
+ content?: string;
25
+ };
26
+ location?: {
27
+ country?: string;
28
+ region?: string;
29
+ city?: string;
30
+ };
9
31
  properties?: {
10
32
  [k: string]: unknown;
11
33
  };
12
- timestamp?: string;
13
34
  }
@@ -17,14 +17,15 @@ const action = {
17
17
  identifiers: {
18
18
  label: 'Identifiers',
19
19
  type: 'object',
20
- description: 'Unique identifiers for the contact. At least one of userId or anonymousId is required.',
20
+ description: 'Unique identifiers for the contact. User ID and email are required. Anonymous ID is optional.',
21
21
  required: true,
22
22
  additionalProperties: false,
23
23
  properties: {
24
24
  userId: {
25
25
  label: 'User ID',
26
26
  type: 'string',
27
- description: 'Unique user identifier from your app.'
27
+ description: 'Unique user identifier from your app.',
28
+ required: true
28
29
  },
29
30
  anonymousId: {
30
31
  label: 'Anonymous ID',
@@ -34,7 +35,8 @@ const action = {
34
35
  email: {
35
36
  label: 'Email',
36
37
  type: 'string',
37
- description: "Contact's email address. Required if userId is not provided."
38
+ description: "Contact's email address.",
39
+ required: true
38
40
  }
39
41
  },
40
42
  default: {
@@ -62,24 +64,141 @@ const action = {
62
64
  }
63
65
  }
64
66
  },
65
- properties: {
66
- label: 'Event Properties',
67
- type: 'object',
68
- description: 'Additional properties associated with the event.',
69
- required: false,
70
- defaultObjectUI: 'keyvalue',
71
- default: { '@path': '$.properties' }
72
- },
73
67
  timestamp: {
74
68
  label: 'Timestamp',
75
69
  type: 'string',
76
70
  description: 'The timestamp of the event. Defaults to the current time if not provided.',
77
71
  format: 'date-time',
78
72
  default: { '@path': '$.timestamp' }
73
+ },
74
+ ip: {
75
+ label: 'IP Address',
76
+ type: 'string',
77
+ description: 'The IP address of the user. Defaults to the current user IP if not provided.',
78
+ default: { '@path': '$.context.ip' }
79
+ },
80
+ userAgent: {
81
+ label: 'User Agent',
82
+ type: 'string',
83
+ description: 'The user agent of the user.',
84
+ default: { '@path': '$.context.userAgent' }
85
+ },
86
+ page: {
87
+ label: 'Page',
88
+ type: 'object',
89
+ description: 'The details of the page being viewed.',
90
+ properties: {
91
+ url: {
92
+ label: 'Page URL',
93
+ type: 'string',
94
+ description: 'Full URL of the page visited.'
95
+ },
96
+ title: {
97
+ label: 'Page Title',
98
+ type: 'string',
99
+ description: 'Title of the page.'
100
+ },
101
+ referrer: {
102
+ label: 'Referrer URL',
103
+ type: 'string',
104
+ description: 'URL of the referring page.'
105
+ },
106
+ path: {
107
+ label: 'Page Path',
108
+ type: 'string',
109
+ description: 'Path of the page being viewed.'
110
+ },
111
+ search: {
112
+ label: 'Search Query',
113
+ type: 'string',
114
+ description: 'Search query used to find the page.'
115
+ }
116
+ },
117
+ default: {
118
+ title: { '@path': '$.context.page.title' },
119
+ url: { '@path': '$.context.page.url' },
120
+ referrer: { '@path': '$.context.page.referrer' },
121
+ path: { '@path': '$.context.page.path' },
122
+ search: { '@path': '$.context.page.search' }
123
+ }
124
+ },
125
+ campaign: {
126
+ label: 'Campaign',
127
+ type: 'object',
128
+ description: 'The marketing campaign that referred the user to the site.',
129
+ properties: {
130
+ name: {
131
+ label: 'UTM Campaign Name',
132
+ type: 'string',
133
+ description: 'Name of the campaign.'
134
+ },
135
+ source: {
136
+ label: 'UTM Campaign Source',
137
+ type: 'string',
138
+ description: 'Source of the campaign UTM parameter.'
139
+ },
140
+ medium: {
141
+ label: 'UTM Campaign Medium',
142
+ type: 'string',
143
+ description: 'Medium of the campaign UTM parameter.'
144
+ },
145
+ term: {
146
+ label: 'UTM Campaign Term',
147
+ type: 'string',
148
+ description: 'Term or keyword of the campaign UTM parameter.'
149
+ },
150
+ content: {
151
+ label: 'UTM Campaign Content',
152
+ type: 'string',
153
+ description: 'Content of the campaign UTM parameter.'
154
+ }
155
+ },
156
+ default: {
157
+ name: { '@path': '$.context.campaign.name' },
158
+ source: { '@path': '$.context.campaign.source' },
159
+ medium: { '@path': '$.context.campaign.medium' },
160
+ term: { '@path': '$.context.campaign.term' },
161
+ content: { '@path': '$.context.campaign.content' }
162
+ }
163
+ },
164
+ location: {
165
+ label: 'Location',
166
+ type: 'object',
167
+ description: 'The geographic location of the user.',
168
+ properties: {
169
+ country: {
170
+ label: 'Country',
171
+ type: 'string',
172
+ description: 'Country of the user.'
173
+ },
174
+ region: {
175
+ label: 'Region/State',
176
+ type: 'string',
177
+ description: 'Region or state of the user.'
178
+ },
179
+ city: {
180
+ label: 'City',
181
+ type: 'string',
182
+ description: 'City of the user.'
183
+ }
184
+ },
185
+ default: {
186
+ country: { '@path': '$.context.location.country' },
187
+ region: { '@path': '$.context.location.region' },
188
+ city: { '@path': '$.context.location.city' }
189
+ }
190
+ },
191
+ properties: {
192
+ label: 'Event Properties',
193
+ type: 'object',
194
+ description: 'Properties associated with the event.',
195
+ required: false,
196
+ defaultObjectUI: 'keyvalue',
197
+ default: { '@path': '$.properties' }
79
198
  }
80
199
  },
81
200
  perform: async (request, { payload }) => {
82
- const { event, listId, properties, identifiers: { userId, email, anonymousId } = {}, timestamp } = payload;
201
+ const { event, identifiers: { userId, email }, identifiers: { anonymousId } = {}, listId, timestamp, ip, userAgent, page, campaign, location, properties } = payload;
83
202
  if (!userId && !email && !anonymousId) {
84
203
  throw new actions_core_1.PayloadValidationError('At least one identifier (userId, email, or anonymousId) is required.');
85
204
  }
@@ -87,12 +206,17 @@ const action = {
87
206
  delete properties?.list_id;
88
207
  const json = {
89
208
  event,
90
- ...(userId ? { userId } : {}),
209
+ userId,
91
210
  ...(anonymousId ? { anonymousId } : {}),
92
- ...(email ? { email } : {}),
211
+ email,
93
212
  listId,
94
- properties,
95
- timestamp
213
+ timestamp,
214
+ ip,
215
+ userAgent,
216
+ page,
217
+ campaign,
218
+ location,
219
+ properties
96
220
  };
97
221
  return await request(constants_1.TRACK_EVENT_URL, {
98
222
  method: 'POST',
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/yonoma/trackEvent/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/yonoma/trackEvent/index.ts"],"names":[],"mappings":"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"}