@segment/action-destinations 3.263.1-staging.2 → 3.264.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 (115) hide show
  1. package/dist/destinations/amazon-ads/generated-types.d.ts +0 -9
  2. package/dist/destinations/amazon-ads/index.d.ts +2 -2
  3. package/dist/destinations/amazon-ads/index.js +3 -180
  4. package/dist/destinations/amazon-ads/index.js.map +1 -1
  5. package/dist/destinations/amazon-ads/syncAudiences/generated-types.d.ts +0 -19
  6. package/dist/destinations/amazon-ads/syncAudiences/index.js +7 -169
  7. package/dist/destinations/amazon-ads/syncAudiences/index.js.map +1 -1
  8. package/dist/destinations/dynamic-yield-audiences/constants.d.ts +5 -1
  9. package/dist/destinations/dynamic-yield-audiences/constants.js +6 -2
  10. package/dist/destinations/dynamic-yield-audiences/constants.js.map +1 -1
  11. package/dist/destinations/dynamic-yield-audiences/generated-types.d.ts +4 -2
  12. package/dist/destinations/dynamic-yield-audiences/helpers.d.ts +2 -3
  13. package/dist/destinations/dynamic-yield-audiences/helpers.js +21 -7
  14. package/dist/destinations/dynamic-yield-audiences/helpers.js.map +1 -1
  15. package/dist/destinations/dynamic-yield-audiences/index.d.ts +3 -3
  16. package/dist/destinations/dynamic-yield-audiences/index.js +86 -27
  17. package/dist/destinations/dynamic-yield-audiences/index.js.map +1 -1
  18. package/dist/destinations/dynamic-yield-audiences/syncAudience/generated-types.d.ts +9 -4
  19. package/dist/destinations/dynamic-yield-audiences/syncAudience/index.d.ts +3 -3
  20. package/dist/destinations/dynamic-yield-audiences/syncAudience/index.js +109 -39
  21. package/dist/destinations/dynamic-yield-audiences/syncAudience/index.js.map +1 -1
  22. package/dist/destinations/engage/sendgrid/sendEmail/SendEmailPerformer.js +2 -1
  23. package/dist/destinations/engage/sendgrid/sendEmail/SendEmailPerformer.js.map +1 -1
  24. package/dist/destinations/engage/utils/track.d.ts +17 -17
  25. package/dist/destinations/hubspot/upsertCompany/index.js +1 -10
  26. package/dist/destinations/hubspot/upsertCompany/index.js.map +1 -1
  27. package/dist/destinations/index.js.map +1 -1
  28. package/dist/destinations/klaviyo/functions.d.ts +5 -1
  29. package/dist/destinations/klaviyo/functions.js +102 -1
  30. package/dist/destinations/klaviyo/functions.js.map +1 -1
  31. package/dist/destinations/klaviyo/index.js +4 -0
  32. package/dist/destinations/klaviyo/index.js.map +1 -1
  33. package/dist/destinations/klaviyo/subscribeProfile/generated-types.d.ts +8 -0
  34. package/dist/destinations/klaviyo/subscribeProfile/generated-types.js.map +1 -0
  35. package/dist/destinations/{responsys/asyncMergePetRecords → klaviyo/subscribeProfile}/index.d.ts +1 -1
  36. package/dist/destinations/klaviyo/subscribeProfile/index.js +137 -0
  37. package/dist/destinations/klaviyo/subscribeProfile/index.js.map +1 -0
  38. package/dist/destinations/klaviyo/types.d.ts +65 -0
  39. package/dist/destinations/klaviyo/unsubscribeProfile/generated-types.d.ts +6 -0
  40. package/dist/destinations/klaviyo/unsubscribeProfile/generated-types.js.map +1 -0
  41. package/dist/destinations/{responsys/asyncMergeProfileListMembers → klaviyo/unsubscribeProfile}/index.d.ts +1 -1
  42. package/dist/destinations/klaviyo/unsubscribeProfile/index.js +118 -0
  43. package/dist/destinations/klaviyo/unsubscribeProfile/index.js.map +1 -0
  44. package/dist/destinations/marketo-static-lists/addToList/index.js +17 -3
  45. package/dist/destinations/marketo-static-lists/addToList/index.js.map +1 -1
  46. package/dist/destinations/marketo-static-lists/functions.d.ts +0 -8
  47. package/dist/destinations/marketo-static-lists/functions.js +4 -6
  48. package/dist/destinations/marketo-static-lists/functions.js.map +1 -1
  49. package/dist/destinations/moloco-rmp/common/convert.js +17 -29
  50. package/dist/destinations/moloco-rmp/common/convert.js.map +1 -1
  51. package/dist/destinations/salesforce/generated-types.d.ts +0 -2
  52. package/dist/destinations/salesforce/index.d.ts +1 -1
  53. package/dist/destinations/salesforce/index.js +10 -22
  54. package/dist/destinations/salesforce/index.js.map +1 -1
  55. package/dist/destinations/salesforce/sf-operations.d.ts +1 -3
  56. package/dist/destinations/salesforce/sf-operations.js +0 -25
  57. package/dist/destinations/salesforce/sf-operations.js.map +1 -1
  58. package/dist/destinations/xtremepush/identify/index.js +2 -2
  59. package/dist/destinations/xtremepush/identify/index.js.map +1 -1
  60. package/dist/destinations/xtremepush/index.js.map +1 -1
  61. package/dist/destinations/xtremepush/track/index.js +2 -2
  62. package/dist/destinations/xtremepush/track/index.js.map +1 -1
  63. package/package.json +4 -4
  64. package/dist/destinations/amazon-ads/utils.d.ts +0 -25
  65. package/dist/destinations/amazon-ads/utils.js +0 -8
  66. package/dist/destinations/amazon-ads/utils.js.map +0 -1
  67. package/dist/destinations/dynamic-yield-audiences/syncAudience/types.d.ts +0 -22
  68. package/dist/destinations/dynamic-yield-audiences/syncAudience/types.js +0 -3
  69. package/dist/destinations/dynamic-yield-audiences/syncAudience/types.js.map +0 -1
  70. package/dist/destinations/dynamic-yield-audiences/types.d.ts +0 -8
  71. package/dist/destinations/dynamic-yield-audiences/types.js +0 -12
  72. package/dist/destinations/dynamic-yield-audiences/types.js.map +0 -1
  73. package/dist/destinations/engage/sendgrid/Profile.d.ts +0 -6
  74. package/dist/destinations/engage/sendgrid/Profile.js +0 -3
  75. package/dist/destinations/engage/sendgrid/Profile.js.map +0 -1
  76. package/dist/destinations/engage/sendgrid/previewApiLookup/api-lookups.d.ts +0 -21
  77. package/dist/destinations/engage/sendgrid/previewApiLookup/api-lookups.js +0 -174
  78. package/dist/destinations/engage/sendgrid/previewApiLookup/api-lookups.js.map +0 -1
  79. package/dist/destinations/mixpanel/utils.d.ts +0 -13
  80. package/dist/destinations/mixpanel/utils.js +0 -117
  81. package/dist/destinations/mixpanel/utils.js.map +0 -1
  82. package/dist/destinations/responsys/asyncMergePetRecords/generated-types.d.ts +0 -14
  83. package/dist/destinations/responsys/asyncMergePetRecords/generated-types.js.map +0 -1
  84. package/dist/destinations/responsys/asyncMergePetRecords/index.js +0 -113
  85. package/dist/destinations/responsys/asyncMergePetRecords/index.js.map +0 -1
  86. package/dist/destinations/responsys/asyncMergeProfileListMembers/generated-types.d.ts +0 -20
  87. package/dist/destinations/responsys/asyncMergeProfileListMembers/generated-types.js.map +0 -1
  88. package/dist/destinations/responsys/asyncMergeProfileListMembers/index.js +0 -174
  89. package/dist/destinations/responsys/asyncMergeProfileListMembers/index.js.map +0 -1
  90. package/dist/destinations/responsys/rsp-operations.d.ts +0 -14
  91. package/dist/destinations/responsys/rsp-operations.js +0 -33
  92. package/dist/destinations/responsys/rsp-operations.js.map +0 -1
  93. package/dist/destinations/responsys/rsp-properties.d.ts +0 -4
  94. package/dist/destinations/responsys/rsp-properties.js +0 -27
  95. package/dist/destinations/responsys/rsp-properties.js.map +0 -1
  96. package/dist/destinations/snap-conversions-api/_tests_/capiV2tests.d.ts +0 -1
  97. package/dist/destinations/snap-conversions-api/_tests_/capiV2tests.js +0 -381
  98. package/dist/destinations/snap-conversions-api/_tests_/capiV2tests.js.map +0 -1
  99. package/dist/destinations/snap-conversions-api/_tests_/capiV3tests.d.ts +0 -1
  100. package/dist/destinations/snap-conversions-api/_tests_/capiV3tests.js +0 -581
  101. package/dist/destinations/snap-conversions-api/_tests_/capiV3tests.js.map +0 -1
  102. package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v2.d.ts +0 -4
  103. package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v2.js +0 -97
  104. package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v2.js.map +0 -1
  105. package/dist/destinations/snap-conversions-api/snap-capi-properties.d.ts +0 -30
  106. package/dist/destinations/snap-conversions-api/snap-capi-properties.js +0 -316
  107. package/dist/destinations/snap-conversions-api/snap-capi-properties.js.map +0 -1
  108. package/dist/destinations/tiktok-conversions/reportWebEvent/formatter.d.ts +0 -3
  109. package/dist/destinations/tiktok-conversions/reportWebEvent/formatter.js +0 -34
  110. package/dist/destinations/tiktok-conversions/reportWebEvent/formatter.js.map +0 -1
  111. package/dist/destinations/tiktok-offline-conversions/reportOfflineEvent/formatter.d.ts +0 -3
  112. package/dist/destinations/tiktok-offline-conversions/reportOfflineEvent/formatter.js +0 -43
  113. package/dist/destinations/tiktok-offline-conversions/reportOfflineEvent/formatter.js.map +0 -1
  114. /package/dist/destinations/{responsys/asyncMergePetRecords → klaviyo/subscribeProfile}/generated-types.js +0 -0
  115. /package/dist/destinations/{responsys/asyncMergeProfileListMembers → klaviyo/unsubscribeProfile}/generated-types.js +0 -0
@@ -1,12 +1,3 @@
1
1
  export interface Settings {
2
2
  region: string;
3
3
  }
4
- export interface AudienceSettings {
5
- description: string;
6
- countryCode?: string;
7
- externalAudienceId: string;
8
- cpmCents?: number;
9
- currency?: string;
10
- ttl?: number;
11
- advertiserId: string;
12
- }
@@ -1,4 +1,4 @@
1
1
  import type { AudienceDestinationDefinition } from '@segment/actions-core';
2
- import type { Settings, AudienceSettings } from './generated-types';
3
- declare const destination: AudienceDestinationDefinition<Settings, AudienceSettings>;
2
+ import type { Settings } from './generated-types';
3
+ declare const destination: AudienceDestinationDefinition<Settings>;
4
4
  export default destination;
@@ -4,7 +4,6 @@ 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 utils_1 = require("./utils");
8
7
  const syncAudiences_1 = __importDefault(require("./syncAudiences"));
9
8
  const destination = {
10
9
  name: 'Amazon Ads',
@@ -21,15 +20,12 @@ const destination = {
21
20
  { label: 'Europe (EU)', value: 'https://advertising-api-eu.amazon.com' },
22
21
  { label: 'Far East (FE)', value: 'https://advertising-api-fe.amazon.com' }
23
22
  ],
24
- default: 'https://advertising-api.amazon.com',
23
+ default: 'North America (NA)',
25
24
  type: 'string',
26
25
  required: true
27
26
  }
28
27
  },
29
28
  testAuthentication: async (request, { auth }) => {
30
- if (!process.env.ACTIONS_AMAZON_ADS_CLIENT_ID) {
31
- throw new actions_core_1.IntegrationError('Missing amazon API client ID', 'MISSING_REQUIRED_FIELD', 400);
32
- }
33
29
  if (!auth?.accessToken) {
34
30
  throw new actions_core_1.InvalidAuthenticationError('Please authenticate via Oauth before enabling the destination.');
35
31
  }
@@ -72,188 +68,15 @@ const destination = {
72
68
  extendRequest({ auth }) {
73
69
  return {
74
70
  headers: {
75
- authorization: `Bearer ${auth?.accessToken}`,
76
- 'Amazon-Advertising-API-ClientID': process.env.ACTIONS_AMAZON_ADS_CLIENT_ID || ''
71
+ authorization: `Bearer ${auth?.accessToken}`
77
72
  }
78
73
  };
79
74
  },
80
- audienceFields: {
81
- description: {
82
- type: 'string',
83
- label: 'Description',
84
- required: true,
85
- description: 'The audience description. Must be an alphanumeric, non-null string between 0 to 1000 characters in length.'
86
- },
87
- countryCode: {
88
- type: 'string',
89
- label: 'Country Code',
90
- required: false,
91
- description: 'A String value representing ISO 3166-1 alpha-2 country code for the members in this audience.'
92
- },
93
- externalAudienceId: {
94
- type: 'string',
95
- label: 'External Audience Id',
96
- required: true,
97
- description: 'The user-defined audience identifier.'
98
- },
99
- cpmCents: {
100
- label: 'CPM Cents',
101
- type: 'number',
102
- description: `Cost per thousand impressions (CPM) in cents. For example, $1.00 = 100 cents.`
103
- },
104
- currency: {
105
- label: 'Currency',
106
- type: 'string',
107
- description: `The price paid. Base units depend on the currency. As an example, USD should be reported as Dollars.Cents, whereas JPY should be reported as a whole number of Yen. All provided values will be rounded to two digits with toFixed(2)`
108
- },
109
- ttl: {
110
- type: 'number',
111
- label: 'Time-to-live',
112
- required: false,
113
- description: 'Time-to-live in seconds. The amount of time the record is associated with the audience.'
114
- },
115
- advertiserId: {
116
- label: 'Advertiser ID',
117
- description: 'Advertiser Id',
118
- type: 'string',
119
- required: true
120
- }
121
- },
75
+ audienceFields: {},
122
76
  audienceConfig: {
123
77
  mode: {
124
78
  type: 'synced',
125
79
  full_audience_sync: false
126
- },
127
- async createAudience(request, createAudienceInput) {
128
- const { audienceName, statsContext } = createAudienceInput;
129
- const endpoint = createAudienceInput.settings.region;
130
- const description = createAudienceInput.audienceSettings?.description;
131
- const advertiser_id = createAudienceInput.audienceSettings?.advertiserId;
132
- const external_audience_id = createAudienceInput.audienceSettings?.externalAudienceId;
133
- const country_code = createAudienceInput.audienceSettings?.countryCode;
134
- const ttl = createAudienceInput.audienceSettings?.ttl;
135
- const currency = createAudienceInput.audienceSettings?.currency;
136
- const cpm_cents = createAudienceInput.audienceSettings?.cpmCents;
137
- const { statsClient, tags: statsTags } = statsContext || {};
138
- const statsName = 'createAmazonAudience';
139
- statsTags?.push(`slug:${destination.slug}`);
140
- statsClient?.incr(`${statsName}.intialise`, 1, statsTags);
141
- if (!advertiser_id) {
142
- throw new actions_core_1.IntegrationError('Missing advertiserId value', 'MISSING_REQUIRED_FIELD', 400);
143
- }
144
- if (!description) {
145
- throw new actions_core_1.IntegrationError('Missing Description value', 'MISSING_REQUIRED_FIELD', 400);
146
- }
147
- if (!external_audience_id) {
148
- throw new actions_core_1.IntegrationError('Missing External Audience Id value', 'MISSING_REQUIRED_FIELD', 400);
149
- }
150
- if (!audienceName) {
151
- throw new actions_core_1.IntegrationError('Missing Audience name value', 'MISSING_REQUIRED_FIELD', 400);
152
- }
153
- const payload = {
154
- name: audienceName,
155
- description: description,
156
- targetResource: {
157
- advertiserId: advertiser_id
158
- },
159
- metadata: {
160
- externalAudienceId: external_audience_id
161
- }
162
- };
163
- if (country_code) {
164
- payload.countryCode = country_code;
165
- }
166
- if (ttl) {
167
- payload.metadata.ttl = ttl;
168
- }
169
- if (cpm_cents && currency) {
170
- payload.metadata.audienceFees = [];
171
- payload.metadata?.audienceFees.push({
172
- currency,
173
- cpmCents: cpm_cents
174
- });
175
- }
176
- statsTags?.push(`slug:${destination.slug}`);
177
- statsClient?.incr(`${statsName}.call`, 1, statsTags);
178
- try {
179
- let payloadString = JSON.stringify(payload);
180
- const regex = /"advertiserId":"(\d+)"/;
181
- payloadString = payloadString.replace(regex, '"advertiserId":$1');
182
- const response = await request(`${endpoint}/amc/audiences/metadata`, {
183
- method: 'POST',
184
- body: payloadString,
185
- headers: {
186
- 'Content-Type': 'application/vnd.amcaudiences.v1+json'
187
- }
188
- });
189
- const r = await response.json();
190
- const externalId = r?.audienceId;
191
- if (!externalId) {
192
- statsClient?.incr(`${statsName}.error`, 1, statsTags);
193
- throw new actions_core_1.IntegrationError('Invalid response from create audience request', 'INVALID_RESPONSE', 400);
194
- }
195
- statsClient?.incr(`${statsName}.success`, 1, statsTags);
196
- return {
197
- externalId
198
- };
199
- }
200
- catch (e) {
201
- if (e instanceof utils_1.AmazonAdsError) {
202
- const message = JSON.parse(e.response?.data?.message || '');
203
- statsTags?.push(`error:${message}`);
204
- statsClient?.incr(`${statsName}.error`, 1, statsTags);
205
- throw new actions_core_1.APIError(message, e.response?.status);
206
- }
207
- else if (e instanceof actions_core_1.IntegrationError) {
208
- statsClient?.incr(`${statsName}.error`, 1, statsTags);
209
- statsTags?.push(`error:${e.message}`);
210
- throw new actions_core_1.APIError(e.message, 400);
211
- }
212
- else {
213
- statsTags?.push(`error:${e}`);
214
- statsClient?.incr(`${statsName}.error`, 1, statsTags);
215
- throw e;
216
- }
217
- }
218
- },
219
- async getAudience(request, getAudienceInput) {
220
- const { statsContext } = getAudienceInput;
221
- const audience_id = getAudienceInput.externalId;
222
- const endpoint = getAudienceInput.settings.region;
223
- const { statsClient, tags: statsTags } = statsContext || {};
224
- const statsName = 'getAudience';
225
- statsTags?.push(`slug:${destination.slug}`);
226
- statsClient?.incr(`${statsName}.call`, 1, statsTags);
227
- if (!audience_id) {
228
- throw new actions_core_1.IntegrationError('Missing audience_id value', 'MISSING_REQUIRED_FIELD', 400);
229
- }
230
- try {
231
- const response = await request(`${endpoint}/amc/audiences/metadata/${audience_id}`, {
232
- method: 'GET'
233
- });
234
- const r = await response.json();
235
- const externalId = r?.audienceId;
236
- if (externalId != getAudienceInput.externalId) {
237
- statsClient?.incr(`${statsName}.error`, 1, statsTags);
238
- throw new actions_core_1.IntegrationError("Unable to verify ownership over audience. Segment Audience ID doesn't match Amazon Ads ID.", 'INVALID_REQUEST_DATA', 400);
239
- }
240
- statsClient?.incr(`${statsName}.success`, 1, statsTags);
241
- return {
242
- externalId
243
- };
244
- }
245
- catch (e) {
246
- if (e instanceof utils_1.AmazonAdsError) {
247
- const message = JSON.parse(e.response?.data?.message || '');
248
- throw new actions_core_1.APIError(message, e.response?.status);
249
- }
250
- else if (e instanceof actions_core_1.IntegrationError) {
251
- throw new actions_core_1.APIError(e.message, 400);
252
- }
253
- else {
254
- throw e;
255
- }
256
- }
257
80
  }
258
81
  },
259
82
  actions: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/amazon-ads/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/amazon-ads/index.ts"],"names":[],"mappings":";;;;;AACA,wDAAgG;AAIhG,oEAA2C;AAG3C,MAAM,WAAW,GAA4C;IAC3D,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE,OAAO;IAEb,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,MAAM,EAAE;gBACN,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,6CAA6C;gBAC1D,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,oCAAoC,EAAE;oBAC5E,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,uCAAuC,EAAE;oBACxE,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,uCAAuC,EAAE;iBAC3E;gBACD,OAAO,EAAE,oBAAoB;gBAC7B,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;SACF;QACD,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;YAC9C,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE;gBACtB,MAAM,IAAI,yCAA0B,CAAC,gEAAgE,CAAC,CAAA;aACvG;YAED,IAAI;gBACF,MAAM,OAAO,CAAuB,gDAAgD,EAAE;oBACpF,MAAM,EAAE,KAAK;iBACd,CAAC,CAAA;aACH;YAAC,OAAO,CAAM,EAAE;gBACf,MAAM,KAAK,GAAG,CAAkC,CAAA;gBAChD,IAAI,KAAK,CAAC,OAAO,KAAK,cAAc,EAAE;oBACpC,MAAM,IAAI,KAAK,CACb,4HAA4H,CAC7H,CAAA;iBACF;gBACD,MAAM,CAAC,CAAA;aACR;QACH,CAAC;QACD,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;YAC9C,IAAI,GAAG,CAAA;YAEP,IAAI;gBACF,GAAG,GAAG,MAAM,OAAO,CAAuB,sCAAsC,EAAE;oBAChF,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,IAAI,eAAe,CAAC;wBACxB,aAAa,EAAE,IAAI,CAAC,YAAY;wBAChC,SAAS,EAAE,IAAI,CAAC,QAAQ;wBACxB,aAAa,EAAE,IAAI,CAAC,YAAY;wBAChC,UAAU,EAAE,eAAe;qBAC5B,CAAC;iBACH,CAAC,CAAA;aACH;YAAC,OAAO,CAAM,EAAE;gBACf,MAAM,KAAK,GAAG,CAA4B,CAAA;gBAC1C,IAAI,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,KAAK,eAAe,EAAE;oBACnD,MAAM,IAAI,+BAAgB,CACxB,wHAAwH,EACxH,yBAAU,CAAC,qBAAqB,EAChC,GAAG,CACJ,CAAA;iBACF;gBAED,MAAM,IAAI,+BAAgB,CACxB,+CAA+C,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,EAC5E,yBAAU,CAAC,oBAAoB,EAC/B,GAAG,CACJ,CAAA;aACF;YAED,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,CAAA;QACjD,CAAC;KACF;IACD,aAAa,CAAC,EAAE,IAAI,EAAE;QACpB,OAAO;YACL,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,EAAE,WAAW,EAAE;aAC7C;SACF,CAAA;IACH,CAAC;IAED,cAAc,EAAE,EAAE;IAElB,cAAc,EAAE;QACd,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,kBAAkB,EAAE,KAAK;SAC1B;KAWF;IACD,OAAO,EAAE;QACP,aAAa,EAAb,uBAAa;KACd;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
@@ -1,21 +1,2 @@
1
1
  export interface Payload {
2
- records: {
3
- externalUserId: string;
4
- action: string;
5
- countryCode?: string;
6
- measurements?: {
7
- [k: string]: unknown;
8
- };
9
- hashedPII: {
10
- firstname?: string;
11
- address?: string;
12
- phone?: string;
13
- city?: string;
14
- state?: string;
15
- email?: string;
16
- lastname?: string;
17
- postal?: string;
18
- }[];
19
- }[];
20
- audienceId: number;
21
2
  }
@@ -1,177 +1,15 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
2
  Object.defineProperty(exports, "__esModule", { value: true });
22
- const actions_core_1 = require("@segment/actions-core");
23
- const utils_1 = require("../utils");
24
- const crypto = __importStar(require("crypto"));
25
3
  const action = {
26
- title: 'Sync Audience',
4
+ title: 'Sync Audiences',
27
5
  description: 'Sync audiences from Segment to Amazon Ads Audience.',
28
- defaultSubscription: 'event = "Audience Entered" or event = "Audience Exited"',
29
- fields: {
30
- records: {
31
- label: 'Records',
32
- description: 'Records to create and upload audiences to Amazon DSP.',
33
- type: 'object',
34
- multiple: true,
35
- required: true,
36
- properties: {
37
- externalUserId: {
38
- label: 'External User ID',
39
- description: 'This is an external user identifier defined by data providers.',
40
- type: 'string',
41
- required: true
42
- },
43
- action: {
44
- label: 'User Action',
45
- description: 'A specific key used to define action type.',
46
- type: 'string',
47
- required: true,
48
- choices: [
49
- { label: `Create`, value: 'CREATE' },
50
- { label: 'Delete', value: 'DELETE' }
51
- ],
52
- default: 'CREATE'
53
- },
54
- countryCode: {
55
- label: 'Country Code',
56
- description: 'A String value representing ISO 3166-1 alpha-2 country code for the members in this audience.',
57
- type: 'string'
58
- },
59
- measurements: {
60
- label: 'Measurements',
61
- type: 'object'
62
- },
63
- hashedPII: {
64
- label: `hashed PII`,
65
- description: 'List of hashed personally-identifiable information records to be matched with Amazon identities for future use. All inputs must be properly normalized and SHA-256 hashed.',
66
- type: 'object',
67
- required: true,
68
- multiple: true,
69
- properties: {
70
- firstname: {
71
- label: 'Measurements',
72
- type: 'string'
73
- },
74
- address: {
75
- label: 'Measurements',
76
- type: 'string'
77
- },
78
- phone: {
79
- label: 'Measurements',
80
- type: 'string'
81
- },
82
- city: {
83
- label: 'Measurements',
84
- type: 'string'
85
- },
86
- state: {
87
- label: 'Measurements',
88
- type: 'string'
89
- },
90
- email: {
91
- label: 'Measurements',
92
- type: 'string'
93
- },
94
- lastname: {
95
- label: 'Measurements',
96
- type: 'string'
97
- },
98
- postal: {
99
- label: 'Measurements',
100
- type: 'string'
101
- }
102
- }
103
- }
104
- }
105
- },
106
- audienceId: {
107
- label: 'Audience ID',
108
- type: 'number',
109
- required: true,
110
- description: 'An number value representing the Amazon audience identifier. This is the identifier that is returned during audience creation.'
111
- }
112
- },
113
- perform: (request, { settings, payload, statsContext }) => {
114
- return processPayload(request, settings, payload, statsContext);
115
- }
116
- };
117
- async function processPayload(request, settings, payload, statsContext) {
118
- if (!payload.audienceId) {
119
- throw new actions_core_1.PayloadValidationError('Audience ID is required.');
120
- }
121
- const { statsClient, tags: statsTags } = statsContext || {};
122
- const statsName = 'syncAmazonAudience';
123
- statsClient?.incr(`${statsName}.intialise`, 1, statsTags);
124
- try {
125
- for (const record of payload.records) {
126
- for (const pii of record.hashedPII) {
127
- for (const key in pii) {
128
- if (pii[key] !== undefined) {
129
- pii[key] = await normalizeAndHash(pii[key]);
130
- }
131
- }
132
- }
133
- }
134
- const response = await request(`${settings.region}/amc/audiences/records`, {
135
- method: 'POST',
136
- json: payload,
137
- headers: {
138
- 'Content-Type': 'application/vnd.amcaudiences.v1+json'
139
- }
6
+ fields: {},
7
+ perform: (request, data) => {
8
+ return request('https://example.com', {
9
+ method: 'post',
10
+ json: data.payload
140
11
  });
141
- const result = await response.json();
142
- const jobRequestId = result?.jobRequestId;
143
- statsTags?.push(`jobRequestId:${jobRequestId}`);
144
- statsClient?.incr(`${statsName}.success`, 1, statsTags);
145
- if (!jobRequestId) {
146
- throw new actions_core_1.IntegrationError('Invalid response from upload audinece record call', 'INVALID_RESPONSE', 400);
147
- }
148
- return {
149
- result
150
- };
151
- }
152
- catch (e) {
153
- if (e instanceof utils_1.AmazonAdsError) {
154
- const message = JSON.parse(e.response?.data?.message || '');
155
- statsTags?.push(`error:${message}`);
156
- statsClient?.incr(`${statsName}.error`, 1, statsTags);
157
- throw new actions_core_1.APIError(message, e.response?.status);
158
- }
159
- else if (e instanceof actions_core_1.IntegrationError) {
160
- statsTags?.push(`error:${e.message}`);
161
- statsClient?.incr(`${statsName}.error`, 1, statsTags);
162
- throw new actions_core_1.APIError(e.message, 400);
163
- }
164
- else {
165
- statsTags?.push(`error:${e}`);
166
- statsClient?.incr(`${statsName}.error`, 1, statsTags);
167
- throw e;
168
- }
169
12
  }
170
- }
171
- async function normalizeAndHash(data) {
172
- const normalizedData = data.toLowerCase().trim();
173
- const sha256Hash = crypto.createHash('sha256').update(normalizedData).digest('hex');
174
- return sha256Hash;
175
- }
13
+ };
176
14
  exports.default = action;
177
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/amazon-ads/syncAudiences/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/amazon-ads/syncAudiences/index.ts"],"names":[],"mappings":";;AAIA,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,gBAAgB;IACvB,WAAW,EAAE,qDAAqD;IAClE,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;QACzB,OAAO,OAAO,CAAC,qBAAqB,EAAE;YACpC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,OAAO;SACnB,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -1 +1,5 @@
1
- export declare const DOMAIN = "dy-api";
1
+ export declare const IDENTIFIER_TYPES: {
2
+ EMAIL: string;
3
+ SEGMENT_USER_ID: string;
4
+ SEGMENT_ANONYMOUS_ID: string;
5
+ };
@@ -1,5 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DOMAIN = void 0;
4
- exports.DOMAIN = 'dy-api';
3
+ exports.IDENTIFIER_TYPES = void 0;
4
+ exports.IDENTIFIER_TYPES = {
5
+ EMAIL: 'Email',
6
+ SEGMENT_USER_ID: 'Segment User ID',
7
+ SEGMENT_ANONYMOUS_ID: 'Segment Anonymous ID'
8
+ };
5
9
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/destinations/dynamic-yield-audiences/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,MAAM,GAAG,QAAQ,CAAA"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/destinations/dynamic-yield-audiences/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG;IAC5B,KAAK,EAAE,OAAO;IACd,eAAe,EAAE,iBAAiB;IAClC,oBAAoB,EAAE,sBAAsB;CAC/C,CAAA"}
@@ -2,6 +2,8 @@ export interface Settings {
2
2
  sectionId: string;
3
3
  dataCenter: string;
4
4
  accessKey: string;
5
- fullUpsertURL?: string;
6
- fullVerifyURL?: string;
5
+ identifier_type: string;
6
+ }
7
+ export interface AudienceSettings {
8
+ audience_name: string;
7
9
  }
@@ -1,4 +1,3 @@
1
- import { Settings } from './generated-types';
2
1
  export declare function hashAndEncode(property: string): string;
3
- export declare function getValidationURL(settings: Settings): string;
4
- export declare function getUpsertURL(settings: Settings): string;
2
+ export declare function getUpsertURL(dataCenter: string): string;
3
+ export declare function getCreateAudienceURL(dataCenter: string): string;
@@ -1,18 +1,32 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getUpsertURL = exports.getValidationURL = exports.hashAndEncode = void 0;
3
+ exports.getCreateAudienceURL = exports.getUpsertURL = exports.hashAndEncode = void 0;
4
4
  const crypto_1 = require("crypto");
5
- const constants_1 = require("./constants");
6
5
  function hashAndEncode(property) {
7
6
  return crypto_1.createHash('sha256').update(property).digest('hex');
8
7
  }
9
8
  exports.hashAndEncode = hashAndEncode;
10
- function getValidationURL(settings) {
11
- return settings.fullVerifyURL ?? `https://${constants_1.DOMAIN}.${settings.dataCenter}/audiences/verify/`;
9
+ function getDomain(dataCenter) {
10
+ let domain = 'dev-use1';
11
+ switch (dataCenter) {
12
+ case 'US':
13
+ domain = 'use1';
14
+ break;
15
+ case 'EU':
16
+ domain = 'euc1';
17
+ break;
18
+ case 'DEV':
19
+ domain = 'dev-use1';
20
+ break;
21
+ }
22
+ return domain;
12
23
  }
13
- exports.getValidationURL = getValidationURL;
14
- function getUpsertURL(settings) {
15
- return settings.fullUpsertURL ?? `https://${constants_1.DOMAIN}.${settings.dataCenter}/audiences/upsert/`;
24
+ function getUpsertURL(dataCenter) {
25
+ return `https://cdp-extensions-api.${getDomain(dataCenter)}.dynamicyield.com/cdp/segment/audiences/membership-change`;
16
26
  }
17
27
  exports.getUpsertURL = getUpsertURL;
28
+ function getCreateAudienceURL(dataCenter) {
29
+ return `https://cdp-extensions-api.${getDomain(dataCenter)}.dynamicyield.com/cdp/segment/audiences/subscription`;
30
+ }
31
+ exports.getCreateAudienceURL = getCreateAudienceURL;
18
32
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/destinations/dynamic-yield-audiences/helpers.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AAEnC,2CAAoC;AAEpC,SAAgB,aAAa,CAAC,QAAgB;IAC5C,OAAO,mBAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC5D,CAAC;AAFD,sCAEC;AAED,SAAgB,gBAAgB,CAAC,QAAkB;IACjD,OAAO,QAAQ,CAAC,aAAa,IAAI,WAAW,kBAAM,IAAI,QAAQ,CAAC,UAAU,oBAAoB,CAAA;AAC/F,CAAC;AAFD,4CAEC;AAED,SAAgB,YAAY,CAAC,QAAkB;IAC7C,OAAO,QAAQ,CAAC,aAAa,IAAI,WAAW,kBAAM,IAAI,QAAQ,CAAC,UAAU,oBAAoB,CAAA;AAC/F,CAAC;AAFD,oCAEC"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/destinations/dynamic-yield-audiences/helpers.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AAEnC,SAAgB,aAAa,CAAC,QAAgB;IAC5C,OAAO,mBAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC5D,CAAC;AAFD,sCAEC;AAED,SAAS,SAAS,CAAC,UAAkB;IACnC,IAAI,MAAM,GAAG,UAAU,CAAA;IACvB,QAAQ,UAAU,EAAE;QAClB,KAAK,IAAI;YACP,MAAM,GAAG,MAAM,CAAA;YACf,MAAK;QACP,KAAK,IAAI;YACP,MAAM,GAAG,MAAM,CAAA;YACf,MAAK;QACP,KAAK,KAAK;YACR,MAAM,GAAG,UAAU,CAAA;YACnB,MAAK;KACR;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAgB,YAAY,CAAC,UAAkB;IAC7C,OAAO,8BAA8B,SAAS,CAAC,UAAU,CAAC,2DAA2D,CAAA;AACvH,CAAC;AAFD,oCAEC;AAED,SAAgB,oBAAoB,CAAC,UAAkB;IACrD,OAAO,8BAA8B,SAAS,CAAC,UAAU,CAAC,sDAAsD,CAAA;AAClH,CAAC;AAFD,oDAEC"}
@@ -1,4 +1,4 @@
1
- import type { DestinationDefinition } from '@segment/actions-core';
2
- import type { Settings } from './generated-types';
3
- declare const destination: DestinationDefinition<Settings>;
1
+ import { AudienceDestinationDefinition } from '@segment/actions-core';
2
+ import type { Settings, AudienceSettings } from './generated-types';
3
+ declare const destination: AudienceDestinationDefinition<Settings, AudienceSettings>;
4
4
  export default destination;