@segment/action-destinations 3.259.0 → 3.260.0-staging.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 (74) hide show
  1. package/dist/destinations/blackbaud-raisers-edge-nxt/utils/index.d.ts +1 -1
  2. package/dist/destinations/braze/index.js +0 -1
  3. package/dist/destinations/braze/index.js.map +1 -1
  4. package/dist/destinations/display-video-360/index.js +2 -4
  5. package/dist/destinations/display-video-360/index.js.map +1 -1
  6. package/dist/destinations/engage/sendgrid/Profile.d.ts +6 -0
  7. package/dist/destinations/engage/sendgrid/Profile.js +3 -0
  8. package/dist/destinations/engage/sendgrid/Profile.js.map +1 -0
  9. package/dist/destinations/engage/sendgrid/previewApiLookup/api-lookups.d.ts +21 -0
  10. package/dist/destinations/engage/sendgrid/previewApiLookup/api-lookups.js +174 -0
  11. package/dist/destinations/engage/sendgrid/previewApiLookup/api-lookups.js.map +1 -0
  12. package/dist/destinations/engage/utils/track.d.ts +17 -17
  13. package/dist/destinations/google-enhanced-conversions/functions.d.ts +7 -0
  14. package/dist/destinations/google-enhanced-conversions/functions.js +7 -3
  15. package/dist/destinations/google-enhanced-conversions/functions.js.map +1 -1
  16. package/dist/destinations/index.js.map +1 -1
  17. package/dist/destinations/klaviyo/functions.d.ts +7 -4
  18. package/dist/destinations/klaviyo/functions.js +80 -1
  19. package/dist/destinations/klaviyo/functions.js.map +1 -1
  20. package/dist/destinations/klaviyo/types.d.ts +97 -0
  21. package/dist/destinations/klaviyo/upsertProfile/index.js +29 -19
  22. package/dist/destinations/klaviyo/upsertProfile/index.js.map +1 -1
  23. package/dist/destinations/mixpanel/utils.d.ts +13 -0
  24. package/dist/destinations/mixpanel/utils.js +117 -0
  25. package/dist/destinations/mixpanel/utils.js.map +1 -0
  26. package/dist/destinations/responsys/asyncMergePetRecords/generated-types.d.ts +14 -0
  27. package/dist/destinations/responsys/asyncMergePetRecords/generated-types.js +3 -0
  28. package/dist/destinations/responsys/asyncMergePetRecords/generated-types.js.map +1 -0
  29. package/dist/destinations/responsys/asyncMergePetRecords/index.d.ts +5 -0
  30. package/dist/destinations/responsys/asyncMergePetRecords/index.js +113 -0
  31. package/dist/destinations/responsys/asyncMergePetRecords/index.js.map +1 -0
  32. package/dist/destinations/responsys/asyncMergeProfileListMembers/generated-types.d.ts +20 -0
  33. package/dist/destinations/responsys/asyncMergeProfileListMembers/generated-types.js +3 -0
  34. package/dist/destinations/responsys/asyncMergeProfileListMembers/generated-types.js.map +1 -0
  35. package/dist/destinations/responsys/asyncMergeProfileListMembers/index.d.ts +5 -0
  36. package/dist/destinations/responsys/asyncMergeProfileListMembers/index.js +174 -0
  37. package/dist/destinations/responsys/asyncMergeProfileListMembers/index.js.map +1 -0
  38. package/dist/destinations/responsys/rsp-operations.d.ts +14 -0
  39. package/dist/destinations/responsys/rsp-operations.js +33 -0
  40. package/dist/destinations/responsys/rsp-operations.js.map +1 -0
  41. package/dist/destinations/responsys/rsp-properties.d.ts +4 -0
  42. package/dist/destinations/responsys/rsp-properties.js +27 -0
  43. package/dist/destinations/responsys/rsp-properties.js.map +1 -0
  44. package/dist/destinations/segment/segment-properties.d.ts +1 -0
  45. package/dist/destinations/segment/segment-properties.js +8 -1
  46. package/dist/destinations/segment/segment-properties.js.map +1 -1
  47. package/dist/destinations/segment/sendGroup/generated-types.d.ts +1 -0
  48. package/dist/destinations/segment/sendGroup/index.js +2 -0
  49. package/dist/destinations/segment/sendGroup/index.js.map +1 -1
  50. package/dist/destinations/segment/sendIdentify/generated-types.d.ts +1 -0
  51. package/dist/destinations/segment/sendIdentify/index.js +2 -0
  52. package/dist/destinations/segment/sendIdentify/index.js.map +1 -1
  53. package/dist/destinations/segment/sendPage/generated-types.d.ts +1 -0
  54. package/dist/destinations/segment/sendPage/index.js +2 -0
  55. package/dist/destinations/segment/sendPage/index.js.map +1 -1
  56. package/dist/destinations/segment/sendScreen/generated-types.d.ts +1 -0
  57. package/dist/destinations/segment/sendScreen/index.js +2 -0
  58. package/dist/destinations/segment/sendScreen/index.js.map +1 -1
  59. package/dist/destinations/segment/sendTrack/generated-types.d.ts +1 -0
  60. package/dist/destinations/segment/sendTrack/index.js +2 -0
  61. package/dist/destinations/segment/sendTrack/index.js.map +1 -1
  62. package/dist/destinations/snap-conversions-api/_tests_/capiV2tests.d.ts +1 -0
  63. package/dist/destinations/snap-conversions-api/_tests_/capiV2tests.js +381 -0
  64. package/dist/destinations/snap-conversions-api/_tests_/capiV2tests.js.map +1 -0
  65. package/dist/destinations/snap-conversions-api/_tests_/capiV3tests.d.ts +1 -0
  66. package/dist/destinations/snap-conversions-api/_tests_/capiV3tests.js +581 -0
  67. package/dist/destinations/snap-conversions-api/_tests_/capiV3tests.js.map +1 -0
  68. package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v2.d.ts +4 -0
  69. package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v2.js +97 -0
  70. package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v2.js.map +1 -0
  71. package/dist/destinations/tiktok-offline-conversions/reportOfflineEvent/formatter.d.ts +3 -0
  72. package/dist/destinations/tiktok-offline-conversions/reportOfflineEvent/formatter.js +43 -0
  73. package/dist/destinations/tiktok-offline-conversions/reportOfflineEvent/formatter.js.map +1 -0
  74. package/package.json +4 -4
@@ -99,6 +99,7 @@ export interface ProfileAttributes {
99
99
  location?: Location | null;
100
100
  properties?: Record<string, any>;
101
101
  list_id?: string;
102
+ subscriptions?: Record<string, any>;
102
103
  }
103
104
  export interface ImportJobPayload {
104
105
  type: string;
@@ -126,3 +127,99 @@ export interface Profile {
126
127
  export interface GetProfileResponse {
127
128
  data: Profile[];
128
129
  }
130
+ export interface SubProfilePayload {
131
+ type: string;
132
+ attributes: {
133
+ email?: string;
134
+ phone_number?: string;
135
+ subscriptions?: {
136
+ email?: {};
137
+ sms?: {};
138
+ };
139
+ };
140
+ }
141
+ export interface SubscriptionData {
142
+ data: {
143
+ type: string;
144
+ attributes: {
145
+ custom_source: string;
146
+ profiles: {
147
+ data: Array<SubProfilePayload>;
148
+ };
149
+ };
150
+ relationships?: {
151
+ list: {
152
+ data: {
153
+ type: 'list';
154
+ id: string;
155
+ };
156
+ };
157
+ };
158
+ };
159
+ }
160
+ export interface SubProfile {
161
+ email?: string;
162
+ phone_number?: string;
163
+ list_id: string;
164
+ }
165
+ export interface KlaviyoJobStatusResponse {
166
+ data: {
167
+ type: string;
168
+ id: string;
169
+ attributes: {
170
+ status: string;
171
+ created_at: string;
172
+ total_count: number;
173
+ completed_count: number;
174
+ failed_count: number;
175
+ completed_at: string | null;
176
+ started_at: string | null;
177
+ };
178
+ relationships: {};
179
+ links: {
180
+ self: string;
181
+ };
182
+ };
183
+ }
184
+ export interface KlaviyoImportJobData {
185
+ data: {
186
+ type: string;
187
+ id: string;
188
+ attributes: {
189
+ status: string;
190
+ created_at: string;
191
+ total_count: number;
192
+ completed_count: number;
193
+ failed_count: number;
194
+ completed_at: string | null;
195
+ expires_at: string;
196
+ started_at: string | null;
197
+ };
198
+ relationships: {
199
+ lists: {
200
+ data: Array<{
201
+ type: string;
202
+ id: string;
203
+ }>;
204
+ links: {
205
+ self: string;
206
+ related: string;
207
+ };
208
+ };
209
+ profiles: {
210
+ links: {
211
+ self: string;
212
+ related: string;
213
+ };
214
+ };
215
+ import_errors: {
216
+ links: {
217
+ related: string;
218
+ };
219
+ };
220
+ };
221
+ links: {
222
+ self: string;
223
+ };
224
+ };
225
+ }
@@ -159,9 +159,12 @@ const action = {
159
159
  json: profileData
160
160
  });
161
161
  if (list_id) {
162
- const content = JSON.parse(profile?.content);
163
- const id = content.data.id;
164
- await functions_1.addProfileToList(request, id, list_id);
162
+ const subscriptionProfile = {
163
+ email: profileData.data.attributes.email,
164
+ phone_number: profileData.data.attributes.phone_number,
165
+ list_id
166
+ };
167
+ await functions_1.subscribeProfiles(request, subscriptionProfile);
165
168
  }
166
169
  return profile;
167
170
  }
@@ -177,7 +180,12 @@ const action = {
177
180
  json: profileData
178
181
  });
179
182
  if (list_id) {
180
- await functions_1.addProfileToList(request, id, list_id);
183
+ const subscriptionProfile = {
184
+ email: profileData.data.attributes.email,
185
+ phone_number: profileData.data.attributes.phone_number,
186
+ list_id
187
+ };
188
+ await functions_1.subscribeProfiles(request, subscriptionProfile);
181
189
  }
182
190
  return profile;
183
191
  }
@@ -187,23 +195,25 @@ const action = {
187
195
  },
188
196
  performBatch: async (request, { payload }) => {
189
197
  payload = payload.filter((profile) => profile.email || profile.external_id || profile.phone_number);
190
- const profilesWithList = payload.filter((profile) => profile.list_id);
191
- const profilesWithoutList = payload.filter((profile) => !profile.list_id);
192
- let importResponseWithList;
193
- let importResponseWithoutList;
194
- if (profilesWithList.length > 0) {
195
- const listId = profilesWithList[0].list_id;
196
- const importJobPayload = functions_1.createImportJobPayload(profilesWithList, listId);
197
- importResponseWithList = await functions_1.sendImportJobRequest(request, importJobPayload);
198
+ if (payload.length === 0) {
199
+ throw new actions_core_1.PayloadValidationError(`'One of External ID, Phone Number and Email is required.'`);
198
200
  }
199
- if (profilesWithoutList.length > 0) {
200
- const importJobPayload = functions_1.createImportJobPayload(profilesWithoutList);
201
- importResponseWithoutList = await functions_1.sendImportJobRequest(request, importJobPayload);
201
+ const profilesForImport = payload.map(({ list_id, ...profile }) => profile);
202
+ const importJobResponse = await functions_1.sendImportJobRequest(request, functions_1.createImportJobPayload(profilesForImport));
203
+ const parsedData = JSON.parse(importJobResponse.data);
204
+ const jobId = parsedData.data.id;
205
+ if (jobId) {
206
+ const jobStatusResponse = await functions_1.pollKlaviyoJobStatus(request, jobId);
207
+ if (jobStatusResponse.data.attributes.status !== 'complete') {
208
+ throw new actions_core_1.APIError('Import job did not complete successfully.', 401);
209
+ }
210
+ const profilesWithListId = payload.filter((profile) => !!profile.list_id);
211
+ for (let i = 0; i < profilesWithListId.length; i += 100) {
212
+ const batch = profilesWithListId.slice(i, i + 100);
213
+ await functions_1.subscribeProfiles(request, batch);
214
+ }
202
215
  }
203
- return {
204
- withList: importResponseWithList,
205
- withoutList: importResponseWithoutList
206
- };
216
+ return importJobResponse;
207
217
  }
208
218
  };
209
219
  exports.default = action;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/klaviyo/upsertProfile/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/klaviyo/upsertProfile/index.ts"],"names":[],"mappings":";;AAIA,sCAAmC;AACnC,wDAAwE;AAExE,4CAMqB;AACrB,8CAA0C;AAE1C,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,gBAAgB;IACvB,WAAW,EAAE,sBAAsB;IACnC,mBAAmB,EAAE,mBAAmB;IACxC,MAAM,EAAE;QACN,KAAK,EAAE;YACL,KAAK,EAAE,OAAO;YACd,WAAW,EAAE,kFAAkF;YAC/F,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE;SACvC;QACD,eAAe,EAAE;YACf,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,uBAAuB;YAC9B,WAAW,EAAE,0DAA0D;SACxE;QACD,YAAY,EAAE;YACZ,KAAK,EAAE,cAAc;YACrB,WAAW,EAAE,mKAAmK;YAChL,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE;SAC/C;QACD,WAAW,EAAE;YACX,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,+JAA+J;YAC5K,IAAI,EAAE,QAAQ;SACf;QACD,UAAU,EAAE;YACV,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,0BAA0B;YACvC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE;SAC3C;QACD,SAAS,EAAE;YACT,KAAK,EAAE,WAAW;YAClB,WAAW,EAAE,yBAAyB;YACtC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE;SAC1C;QACD,YAAY,EAAE;YACZ,KAAK,EAAE,cAAc;YACrB,WAAW,EAAE,uFAAuF;YACpG,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE;SAC9C;QACD,KAAK,EAAE;YACL,KAAK,EAAE,OAAO;YACd,WAAW,EAAE,yBAAyB;YACtC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE;SACvC;QACD,KAAK,EAAE;YACL,KAAK,EAAE,OAAO;YACd,WAAW,EAAE,kDAAkD;YAC/D,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE;SACxC;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,uBAAuB;YACpC,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,KAAK,EAAE,WAAW;oBAClB,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,IAAI;iBAChB;gBACD,QAAQ,EAAE;oBACR,KAAK,EAAE,WAAW;oBAClB,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,IAAI;iBAChB;gBACD,IAAI,EAAE;oBACJ,KAAK,EAAE,MAAM;oBACb,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,IAAI;iBAChB;gBACD,MAAM,EAAE;oBACN,KAAK,EAAE,QAAQ;oBACf,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,IAAI;iBAChB;gBACD,GAAG,EAAE;oBACH,KAAK,EAAE,KAAK;oBACZ,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,IAAI;iBAChB;gBACD,QAAQ,EAAE;oBACR,KAAK,EAAE,UAAU;oBACjB,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,IAAI;iBAChB;gBACD,SAAS,EAAE;oBACT,KAAK,EAAE,WAAW;oBAClB,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,IAAI;iBAChB;gBACD,OAAO,EAAE;oBACP,KAAK,EAAE,SAAS;oBAChB,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,IAAI;iBAChB;aACF;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE;gBAC1C,MAAM,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE;gBAC7C,GAAG,EAAE,EAAE,OAAO,EAAE,8BAA8B,EAAE;gBAChD,QAAQ,EAAE,EAAE,OAAO,EAAE,yBAAyB,EAAE;gBAChD,OAAO,EAAE,EAAE,OAAO,EAAE,0BAA0B,EAAE;aACjD;SACF;QACD,UAAU,EAAE;YACV,WAAW,EAAE,0FAA0F;YACvG,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,cAAc;aACxB;SACF;QACD,OAAO,EAAE;YACP,KAAK,EAAE,MAAM;YACb,WAAW,EAAE,yCAAyC;YACtD,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,IAAI;SACd;QACD,UAAU,EAAE,EAAE,GAAG,uBAAU,EAAE;KAC9B;IACD,aAAa,EAAE;QACb,OAAO,EAAE,KAAK,EAAE,OAAO,EAAiC,EAAE;YACxD,OAAO,gCAAoB,CAAC,OAAO,CAAC,CAAA;QACtC,CAAC;KACF;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QACtC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,eAAe,EAAE,GAAG,OAAO,CAAA;QAE9G,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,IAAI,CAAC,WAAW,EAAE;YAC3C,MAAM,IAAI,qCAAsB,CAAC,yDAAyD,CAAC,CAAA;SAC5F;QAED,MAAM,WAAW,GAAgB;YAC/B,IAAI,EAAE;gBACJ,IAAI,EAAE,SAAS;gBACf,UAAU,EAAE;oBACV,KAAK;oBACL,WAAW;oBACX,YAAY;oBACZ,GAAG,eAAe;iBACnB;aACF;SACF,CAAA;QAED,IAAI;YACF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,gBAAO,YAAY,EAAE;gBACpD,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,WAAW;aAClB,CAAC,CAAA;YAEF,IAAI,OAAO,EAAE;gBACX,MAAM,mBAAmB,GAAG;oBAC1B,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK;oBACxC,YAAY,EAAE,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY;oBACtD,OAAO;iBACR,CAAA;gBACD,MAAM,6BAAiB,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAA;aACtD;YAED,OAAO,OAAO,CAAA;SACf;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAwB,CAAA;YAE7C,IAAI,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE;gBAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;gBAC7C,MAAM,EAAE,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,oBAAoB,CAAA;gBAEzD,IAAI,EAAE,EAAE;oBACN,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;oBAExB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,gBAAO,aAAa,EAAE,EAAE,EAAE;wBACzD,MAAM,EAAE,OAAO;wBACf,IAAI,EAAE,WAAW;qBAClB,CAAC,CAAA;oBAEF,IAAI,OAAO,EAAE;wBACX,MAAM,mBAAmB,GAAG;4BAC1B,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK;4BACxC,YAAY,EAAE,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY;4BACtD,OAAO;yBACR,CAAA;wBACD,MAAM,6BAAiB,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAA;qBACtD;oBACD,OAAO,OAAO,CAAA;iBACf;aACF;YAED,MAAM,KAAK,CAAA;SACZ;IACH,CAAC;IAED,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAC3C,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC,CAAA;QACnG,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YACxB,MAAM,IAAI,qCAAsB,CAAC,2DAA2D,CAAC,CAAA;SAC9F;QACD,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAA;QAC3E,MAAM,iBAAiB,GAAG,MAAM,gCAAoB,CAAC,OAAO,EAAE,kCAAsB,CAAC,iBAAiB,CAAC,CAAC,CAAA;QACxG,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAyB,CAAC,CAAA;QAC1E,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAA;QAEhC,IAAI,KAAK,EAAE;YAET,MAAM,iBAAiB,GAAG,MAAM,gCAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YAEpE,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,UAAU,EAAE;gBAC3D,MAAM,IAAI,uBAAQ,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAA;aACrE;YAGD,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,EAAyB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;YAChG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,IAAI,GAAG,EAAE;gBACvD,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAA;gBAClD,MAAM,6BAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;aACxC;SACF;QAED,OAAO,iBAAiB,CAAA;IAC1B,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -0,0 +1,13 @@
1
+ export declare enum ApiRegions {
2
+ US = "US \uD83C\uDDFA\uD83C\uDDF8",
3
+ EU = "EU \uD83C\uDDEA\uD83C\uDDFA"
4
+ }
5
+ export declare enum StrictMode {
6
+ ON = "1",
7
+ OFF = "0"
8
+ }
9
+ export declare function getConcatenatedName(firstName: unknown, lastName: unknown, name: unknown): unknown;
10
+ export declare function getApiServerUrl(apiRegion: string | undefined): "https://api-eu.mixpanel.com" | "https://api.mixpanel.com";
11
+ export declare function getBrowser(userAgent: string): string;
12
+ export declare function getBrowserVersion(userAgent: string): string | undefined;
13
+ export declare function cheapGuid(maxlen?: number): string;
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cheapGuid = exports.getBrowserVersion = exports.getBrowser = exports.getApiServerUrl = exports.getConcatenatedName = exports.StrictMode = exports.ApiRegions = void 0;
4
+ var ApiRegions;
5
+ (function (ApiRegions) {
6
+ ApiRegions["US"] = "US \uD83C\uDDFA\uD83C\uDDF8";
7
+ ApiRegions["EU"] = "EU \uD83C\uDDEA\uD83C\uDDFA";
8
+ })(ApiRegions = exports.ApiRegions || (exports.ApiRegions = {}));
9
+ var StrictMode;
10
+ (function (StrictMode) {
11
+ StrictMode["ON"] = "1";
12
+ StrictMode["OFF"] = "0";
13
+ })(StrictMode = exports.StrictMode || (exports.StrictMode = {}));
14
+ function getConcatenatedName(firstName, lastName, name) {
15
+ return name ?? (firstName && lastName ? `${firstName} ${lastName}` : undefined);
16
+ }
17
+ exports.getConcatenatedName = getConcatenatedName;
18
+ function getApiServerUrl(apiRegion) {
19
+ if (apiRegion == ApiRegions.EU) {
20
+ return 'https://api-eu.mixpanel.com';
21
+ }
22
+ return 'https://api.mixpanel.com';
23
+ }
24
+ exports.getApiServerUrl = getApiServerUrl;
25
+ function getBrowser(userAgent) {
26
+ if (userAgent.includes(' OPR/')) {
27
+ if (userAgent.includes('Mini')) {
28
+ return 'Opera Mini';
29
+ }
30
+ return 'Opera';
31
+ }
32
+ else if (/(BlackBerry|PlayBook|BB10)/i.test(userAgent)) {
33
+ return 'BlackBerry';
34
+ }
35
+ else if (userAgent.includes('IEMobile') || userAgent.includes('WPDesktop')) {
36
+ return 'Internet Explorer Mobile';
37
+ }
38
+ else if (userAgent.includes('SamsungBrowser/')) {
39
+ return 'Samsung Internet';
40
+ }
41
+ else if (userAgent.includes('Edge') || userAgent.includes('Edg/')) {
42
+ return 'Microsoft Edge';
43
+ }
44
+ else if (userAgent.includes('FBIOS')) {
45
+ return 'Facebook Mobile';
46
+ }
47
+ else if (userAgent.includes('Chrome')) {
48
+ return 'Chrome';
49
+ }
50
+ else if (userAgent.includes('CriOS')) {
51
+ return 'Chrome iOS';
52
+ }
53
+ else if (userAgent.includes('UCWEB') || userAgent.includes('UCBrowser')) {
54
+ return 'UC Browser';
55
+ }
56
+ else if (userAgent.includes('FxiOS')) {
57
+ return 'Firefox iOS';
58
+ }
59
+ else if (userAgent.includes('Safari')) {
60
+ return 'Safari';
61
+ }
62
+ else if (userAgent.includes('Android')) {
63
+ return 'Android Mobile';
64
+ }
65
+ else if (userAgent.includes('Konqueror')) {
66
+ return 'Konqueror';
67
+ }
68
+ else if (userAgent.includes('Firefox')) {
69
+ return 'Firefox';
70
+ }
71
+ else if (userAgent.includes('MSIE') || userAgent.includes('Trident/')) {
72
+ return 'Internet Explorer';
73
+ }
74
+ else if (userAgent.includes('Gecko')) {
75
+ return 'Mozilla';
76
+ }
77
+ else {
78
+ return '';
79
+ }
80
+ }
81
+ exports.getBrowser = getBrowser;
82
+ function getBrowserVersion(userAgent) {
83
+ const browser = getBrowser(userAgent);
84
+ const versionRegexs = {
85
+ 'Internet Explorer Mobile': /rv:(\d+(\.\d+)?)/,
86
+ 'Microsoft Edge': /Edge?\/(\d+(\.\d+)?)/,
87
+ Chrome: /Chrome\/(\d+(\.\d+)?)/,
88
+ 'Chrome iOS': /CriOS\/(\d+(\.\d+)?)/,
89
+ 'UC Browser': /(UCBrowser|UCWEB)\/(\d+(\.\d+)?)/,
90
+ Safari: /Version\/(\d+(\.\d+)?)/,
91
+ 'Mobile Safari': /Version\/(\d+(\.\d+)?)/,
92
+ Opera: /(Opera|OPR)\/(\d+(\.\d+)?)/,
93
+ Firefox: /Firefox\/(\d+(\.\d+)?)/,
94
+ 'Firefox iOS': /FxiOS\/(\d+(\.\d+)?)/,
95
+ Konqueror: /Konqueror:(\d+(\.\d+)?)/,
96
+ BlackBerry: /BlackBerry (\d+(\.\d+)?)/,
97
+ 'Android Mobile': /android\s(\d+(\.\d+)?)/,
98
+ 'Samsung Internet': /SamsungBrowser\/(\d+(\.\d+)?)/,
99
+ 'Internet Explorer': /(rv:|MSIE )(\d+(\.\d+)?)/,
100
+ Mozilla: /rv:(\d+(\.\d+)?)/
101
+ };
102
+ const regex = versionRegexs[browser];
103
+ if (!regex)
104
+ return regex;
105
+ const matches = regex.exec(userAgent);
106
+ if (!matches) {
107
+ return undefined;
108
+ }
109
+ return matches[matches.length - 2];
110
+ }
111
+ exports.getBrowserVersion = getBrowserVersion;
112
+ function cheapGuid(maxlen) {
113
+ const guid = Math.random().toString(36).substring(2, 10) + Math.random().toString(36).substring(2, 10);
114
+ return maxlen ? guid.substring(0, maxlen) : guid;
115
+ }
116
+ exports.cheapGuid = cheapGuid;
117
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/destinations/mixpanel/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export interface Payload {
2
+ profileListName: string;
3
+ profileExtensionTable: string;
4
+ userData: {
5
+ [k: string]: unknown;
6
+ };
7
+ mapTemplateName?: string;
8
+ insertOnNoMatch?: boolean;
9
+ matchColumnName1?: string;
10
+ matchColumnName2?: string;
11
+ updateOnMatch: string;
12
+ enable_batching?: boolean;
13
+ batch_size?: number;
14
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=generated-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../../src/destinations/responsys/asyncMergePetRecords/generated-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { ActionDefinition } from '@segment/actions-core';
2
+ import type { Settings } from '../generated-types';
3
+ import type { Payload } from './generated-types';
4
+ declare const action: ActionDefinition<Settings, Payload>;
5
+ export default action;
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const rsp_properties_1 = require("../rsp-properties");
4
+ const rsp_operations_1 = require("../rsp-operations");
5
+ const action = {
6
+ title: 'Async Merge PET Records',
7
+ description: '',
8
+ defaultSubscription: 'type = "identify"',
9
+ fields: {
10
+ profileListName: {
11
+ label: 'List Name',
12
+ description: "Name of the profile extension table's parent profile list.",
13
+ type: 'string',
14
+ required: true
15
+ },
16
+ profileExtensionTable: {
17
+ label: 'Pet Name',
18
+ description: 'Name of the profile extension table.',
19
+ type: 'string',
20
+ required: true
21
+ },
22
+ userData: rsp_properties_1.userData,
23
+ mapTemplateName: {
24
+ label: 'Map Template Name',
25
+ description: 'The Map Template in Responsys that can be used to map Field Names of the Profile List to Column Names.',
26
+ type: 'string',
27
+ default: ''
28
+ },
29
+ insertOnNoMatch: {
30
+ label: 'Insert On No Match',
31
+ description: 'Indicates what should be done for records where a match is not found.',
32
+ type: 'boolean',
33
+ default: true
34
+ },
35
+ matchColumnName1: {
36
+ label: 'First Column Match',
37
+ description: 'First match column for determining whether an insert or update should occur.',
38
+ type: 'string',
39
+ choices: [
40
+ { label: 'RIID_', value: 'RIID_' },
41
+ { label: 'CUSTOMER_ID_', value: 'CUSTOMER_ID_' },
42
+ { label: 'EMAIL_ADDRESS_', value: 'EMAIL_ADDRESS_' },
43
+ { label: 'MOBILE_NUMBER_', value: 'MOBILE_NUMBER_' },
44
+ { label: 'EMAIL_MD5_HASH_', value: 'EMAIL_MD5_HASH_' },
45
+ { label: 'EMAIL_SHA256_HASH_', value: 'EMAIL_SHA256_HASH_' }
46
+ ]
47
+ },
48
+ matchColumnName2: {
49
+ label: 'Second Column Match',
50
+ description: 'Second match column for determining whether an insert or update should occur.',
51
+ type: 'string',
52
+ choices: [
53
+ { label: 'RIID_', value: 'RIID_' },
54
+ { label: 'CUSTOMER_ID_', value: 'CUSTOMER_ID_' },
55
+ { label: 'EMAIL_ADDRESS_', value: 'EMAIL_ADDRESS_' },
56
+ { label: 'MOBILE_NUMBER_', value: 'MOBILE_NUMBER_' },
57
+ { label: 'EMAIL_MD5_HASH_', value: 'EMAIL_MD5_HASH_' },
58
+ { label: 'EMAIL_SHA256_HASH_', value: 'EMAIL_SHA256_HASH_' }
59
+ ]
60
+ },
61
+ updateOnMatch: {
62
+ label: 'Update On Match',
63
+ description: 'Controls how the existing record should be updated.',
64
+ type: 'string',
65
+ required: true,
66
+ choices: [
67
+ { label: 'Replace All', value: 'REPLACE_ALL' },
68
+ { label: 'No Update', value: 'NO_UPDATE' }
69
+ ]
70
+ },
71
+ enable_batching: rsp_properties_1.enable_batching,
72
+ batch_size: rsp_properties_1.batch_size
73
+ },
74
+ perform: async (request, { settings, payload }) => {
75
+ if (payload && payload.profileListName) {
76
+ const { profileListName, profileExtensionTable, insertOnNoMatch, matchColumnName1, matchColumnName2, updateOnMatch, userData, mapTemplateName } = payload;
77
+ const baseUrl = (settings.baseUrl?.startsWith('https://') ? settings.baseUrl : `https://${settings.baseUrl}`)?.replace(/\/$/, '');
78
+ const endpoint = `${baseUrl}/rest/asyncApi/v1.3/lists/${profileListName}/listExtensions/${profileExtensionTable}/members`;
79
+ const recordData = rsp_operations_1.buildRecordData(userData, mapTemplateName ?? '');
80
+ const requestBody = {
81
+ recordData: recordData,
82
+ insertOnNoMatch: !!insertOnNoMatch,
83
+ updateOnMatch: updateOnMatch || '',
84
+ matchColumnName1: matchColumnName1?.replace(/_+$/, '') || '',
85
+ matchColumnName2: matchColumnName2?.replace(/_+$/, '') || ''
86
+ };
87
+ return request(endpoint, {
88
+ method: 'POST',
89
+ body: JSON.stringify(requestBody)
90
+ });
91
+ }
92
+ },
93
+ performBatch: async (request, { settings, payload }) => {
94
+ const { profileListName, profileExtensionTable, insertOnNoMatch, matchColumnName1, matchColumnName2, updateOnMatch, mapTemplateName } = payload[0];
95
+ const payloadData = payload.map((obj) => obj.userData);
96
+ const recordData = rsp_operations_1.buildRecordData(payloadData, mapTemplateName ?? '');
97
+ const requestBody = {
98
+ recordData: recordData,
99
+ insertOnNoMatch: !!insertOnNoMatch,
100
+ updateOnMatch: updateOnMatch || '',
101
+ matchColumnName1: matchColumnName1?.replace(/_+$/, '') || '',
102
+ matchColumnName2: matchColumnName2?.replace(/_+$/, '') || ''
103
+ };
104
+ const baseUrl = (settings.baseUrl?.startsWith('https://') ? settings.baseUrl : `https://${settings.baseUrl}`)?.replace(/\/$/, '');
105
+ const endpoint = `${baseUrl}/rest/asyncApi/v1.3/lists/${profileListName}/listExtensions/${profileExtensionTable}/members`;
106
+ return await request(endpoint, {
107
+ method: 'POST',
108
+ body: JSON.stringify(requestBody)
109
+ });
110
+ }
111
+ };
112
+ exports.default = action;
113
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/responsys/asyncMergePetRecords/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ export interface Payload {
2
+ profileListName: string;
3
+ userData: {
4
+ [k: string]: unknown;
5
+ };
6
+ mapTemplateName?: string;
7
+ defaultPermissionStatus?: string;
8
+ htmlValue?: string;
9
+ insertOnNoMatch?: boolean;
10
+ matchColumnName1?: string;
11
+ matchColumnName2?: string;
12
+ matchOperator?: string;
13
+ optinValue?: string;
14
+ optoutValue?: string;
15
+ rejectRecordIfChannelEmpty?: string;
16
+ textValue?: string;
17
+ updateOnMatch: string;
18
+ enable_batching?: boolean;
19
+ batch_size?: number;
20
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=generated-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../../src/destinations/responsys/asyncMergeProfileListMembers/generated-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { ActionDefinition } from '@segment/actions-core';
2
+ import type { Settings } from '../generated-types';
3
+ import type { Payload } from './generated-types';
4
+ declare const action: ActionDefinition<Settings, Payload>;
5
+ export default action;