@segment/action-destinations 3.171.0 → 3.173.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 (84) hide show
  1. package/dist/destinations/acoustic/Utility/eventprocessing.d.ts +1 -5
  2. package/dist/destinations/acoustic/Utility/eventprocessing.js +66 -62
  3. package/dist/destinations/acoustic/Utility/eventprocessing.js.map +1 -1
  4. package/dist/destinations/acoustic/Utility/tablemaintutilities.d.ts +13 -1
  5. package/dist/destinations/acoustic/Utility/tablemaintutilities.js +108 -59
  6. package/dist/destinations/acoustic/Utility/tablemaintutilities.js.map +1 -1
  7. package/dist/destinations/acoustic/generated-types.d.ts +5 -4
  8. package/dist/destinations/acoustic/index.js +18 -26
  9. package/dist/destinations/acoustic/index.js.map +1 -1
  10. package/dist/destinations/acoustic/receiveEvents/generated-types.d.ts +6 -0
  11. package/dist/destinations/acoustic/receiveEvents/index.js +33 -19
  12. package/dist/destinations/acoustic/receiveEvents/index.js.map +1 -1
  13. package/dist/destinations/canny-functions/constants/api.d.ts +1 -0
  14. package/dist/destinations/canny-functions/constants/api.js +5 -0
  15. package/dist/destinations/canny-functions/constants/api.js.map +1 -0
  16. package/dist/destinations/canny-functions/constants/traits.d.ts +2 -0
  17. package/dist/destinations/canny-functions/constants/traits.js +6 -0
  18. package/dist/destinations/canny-functions/constants/traits.js.map +1 -0
  19. package/dist/destinations/canny-functions/generated-types.d.ts +3 -0
  20. package/dist/destinations/canny-functions/generated-types.js +3 -0
  21. package/dist/destinations/canny-functions/generated-types.js.map +1 -0
  22. package/dist/destinations/canny-functions/group/generated-types.d.ts +7 -0
  23. package/dist/destinations/canny-functions/group/generated-types.js +3 -0
  24. package/dist/destinations/canny-functions/group/generated-types.js.map +1 -0
  25. package/dist/destinations/canny-functions/group/index.d.ts +5 -0
  26. package/dist/destinations/canny-functions/group/index.js +46 -0
  27. package/dist/destinations/canny-functions/group/index.js.map +1 -0
  28. package/dist/destinations/canny-functions/identify/generated-types.d.ts +15 -0
  29. package/dist/destinations/canny-functions/identify/generated-types.js +3 -0
  30. package/dist/destinations/canny-functions/identify/generated-types.js.map +1 -0
  31. package/dist/destinations/canny-functions/identify/index.d.ts +5 -0
  32. package/dist/destinations/canny-functions/identify/index.js +95 -0
  33. package/dist/destinations/canny-functions/identify/index.js.map +1 -0
  34. package/dist/destinations/canny-functions/index.d.ts +4 -0
  35. package/dist/destinations/canny-functions/index.js +60 -0
  36. package/dist/destinations/canny-functions/index.js.map +1 -0
  37. package/dist/destinations/criteo-audiences/criteo-audiences.js.map +1 -1
  38. package/dist/destinations/engage-messaging-twilio/utils/message-sender.js +3 -0
  39. package/dist/destinations/engage-messaging-twilio/utils/message-sender.js.map +1 -1
  40. package/dist/destinations/fullstory/vars.d.ts +1 -1
  41. package/dist/destinations/fullstory/vars.js +17 -5
  42. package/dist/destinations/fullstory/vars.js.map +1 -1
  43. package/dist/destinations/heap/trackEvent/index.js +2 -2
  44. package/dist/destinations/heap/trackEvent/index.js.map +1 -1
  45. package/dist/destinations/index.js +1 -0
  46. package/dist/destinations/index.js.map +1 -1
  47. package/dist/destinations/tiktok-audiences/api/index.d.ts +3 -1
  48. package/dist/destinations/tiktok-audiences/api/index.js +11 -0
  49. package/dist/destinations/tiktok-audiences/api/index.js.map +1 -1
  50. package/dist/destinations/tiktok-audiences/createAudience/generated-types.d.ts +5 -0
  51. package/dist/destinations/tiktok-audiences/createAudience/generated-types.js +3 -0
  52. package/dist/destinations/tiktok-audiences/createAudience/generated-types.js.map +1 -0
  53. package/dist/destinations/tiktok-audiences/createAudience/index.d.ts +5 -0
  54. package/dist/destinations/tiktok-audiences/createAudience/index.js +37 -0
  55. package/dist/destinations/tiktok-audiences/createAudience/index.js.map +1 -0
  56. package/dist/destinations/tiktok-audiences/functions.d.ts +5 -2
  57. package/dist/destinations/tiktok-audiences/functions.js +6 -1
  58. package/dist/destinations/tiktok-audiences/functions.js.map +1 -1
  59. package/dist/destinations/tiktok-audiences/index.js +3 -1
  60. package/dist/destinations/tiktok-audiences/index.js.map +1 -1
  61. package/dist/destinations/tiktok-audiences/properties.d.ts +1 -0
  62. package/dist/destinations/tiktok-audiences/properties.js +7 -1
  63. package/dist/destinations/tiktok-audiences/properties.js.map +1 -1
  64. package/dist/destinations/tiktok-audiences/types.d.ts +5 -0
  65. package/dist/destinations/tiktok-offline-conversions/index.js +2 -2
  66. package/dist/destinations/tiktok-offline-conversions/index.js.map +1 -1
  67. package/dist/destinations/tiktok-offline-conversions/trackNonPaymentOfflineConversion/index.d.ts +1 -1
  68. package/dist/destinations/tiktok-offline-conversions/trackNonPaymentOfflineConversion/index.js +8 -3
  69. package/dist/destinations/tiktok-offline-conversions/trackNonPaymentOfflineConversion/index.js.map +1 -1
  70. package/dist/destinations/tiktok-offline-conversions/trackPaymentOfflineConversion/index.d.ts +1 -1
  71. package/dist/destinations/tiktok-offline-conversions/trackPaymentOfflineConversion/index.js +7 -2
  72. package/dist/destinations/tiktok-offline-conversions/trackPaymentOfflineConversion/index.js.map +1 -1
  73. package/dist/destinations/voucherify/addCustomEvent/generated-types.d.ts +12 -3
  74. package/dist/destinations/voucherify/addCustomEvent/index.js +62 -25
  75. package/dist/destinations/voucherify/addCustomEvent/index.js.map +1 -1
  76. package/dist/destinations/voucherify/assignCustomerToGroup/generated-types.d.ts +4 -2
  77. package/dist/destinations/voucherify/assignCustomerToGroup/index.js +21 -19
  78. package/dist/destinations/voucherify/assignCustomerToGroup/index.js.map +1 -1
  79. package/dist/destinations/voucherify/index.js +1 -1
  80. package/dist/destinations/voucherify/index.js.map +1 -1
  81. package/dist/destinations/voucherify/upsertCustomer/generated-types.d.ts +14 -13
  82. package/dist/destinations/voucherify/upsertCustomer/index.js +75 -42
  83. package/dist/destinations/voucherify/upsertCustomer/index.js.map +1 -1
  84. package/package.json +4 -4
@@ -1,11 +1,7 @@
1
- import { RequestClient } from '@segment/actions-core';
2
- import { Settings } from '../generated-types';
3
1
  import { Payload } from '../receiveEvents/generated-types';
4
- import { AuthTokens } from '@segment/actions-core/src/destination-kit/parse-settings';
5
2
  export declare function parseSections(section: {
6
3
  [key: string]: string;
7
4
  }, nestDepth: number): {
8
5
  [key: string]: string;
9
6
  };
10
- export declare function addUpdateEvents(payload: Payload, email: string, limit: number): string | undefined;
11
- export declare const postUpdates: (request: RequestClient, settings: Settings, auth: AuthTokens, xmlRows: string, i: number) => Promise<Response>;
7
+ export declare function addUpdateEvents(payload: Payload, email: string, limit: number): string;
@@ -3,26 +3,30 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.postUpdates = exports.addUpdateEvents = exports.parseSections = void 0;
6
+ exports.addUpdateEvents = exports.parseSections = void 0;
7
7
  const actions_core_1 = require("@segment/actions-core");
8
8
  const get_1 = __importDefault(require("lodash/get"));
9
- const tablemaintutilities_1 = require("./tablemaintutilities");
10
9
  function parseSections(section, nestDepth) {
11
10
  const parseResults = {};
12
- if (nestDepth > 10)
13
- throw new actions_core_1.IntegrationError('Event data exceeds nesting depth. Restate event data to avoid nesting attributes more than 5 levels deep', 'NESTING_DEPTH_EXCEEDED', 400);
14
- for (const key of Object.keys(section)) {
15
- if (typeof section[key] === 'object') {
16
- nestDepth++;
17
- const nested = parseSections(section[key], nestDepth);
18
- for (const nestedKey of Object.keys(nested)) {
19
- parseResults[`${key}.${nestedKey}`] = nested[nestedKey];
11
+ try {
12
+ if (nestDepth > 10)
13
+ throw new actions_core_1.IntegrationError('Event data exceeds nesting depth. Use Mapping to avoid nesting data attributes more than 3 levels deep', 'NESTING_DEPTH_EXCEEDED', 400);
14
+ for (const key of Object.keys(section)) {
15
+ if (typeof section[key] === 'object') {
16
+ nestDepth++;
17
+ const nested = parseSections(section[key], nestDepth);
18
+ for (const nestedKey of Object.keys(nested)) {
19
+ parseResults[`${key}.${nestedKey}`] = nested[nestedKey];
20
+ }
21
+ }
22
+ else {
23
+ parseResults[key] = section[key];
20
24
  }
21
- }
22
- else {
23
- parseResults[key] = section[key];
24
25
  }
25
26
  }
27
+ catch (e) {
28
+ throw new actions_core_1.IntegrationError(`Unexpected Exception while parsing Event payload.\n ${e}`, 'UNEXPECTED_EVENT_PARSING_EXCEPTION', 400);
29
+ }
26
30
  return parseResults;
27
31
  }
28
32
  exports.parseSections = parseSections;
@@ -33,32 +37,57 @@ function addUpdateEvents(payload, email, limit) {
33
37
  const eventSource = get_1.default(payload, 'type', 'Null') + ' Event';
34
38
  const timestamp = get_1.default(payload, 'timestamp', 'Null');
35
39
  let propertiesTraitsKV = {};
36
- if (payload.traits)
37
- propertiesTraitsKV = {
38
- ...propertiesTraitsKV,
39
- ...parseSections(payload.traits, 0)
40
- };
41
- if (payload.properties)
42
- propertiesTraitsKV = {
43
- ...propertiesTraitsKV,
44
- ...parseSections(payload.properties, 0)
45
- };
46
- if (payload.context)
47
- propertiesTraitsKV = {
48
- ...propertiesTraitsKV,
49
- ...parseSections(payload.context, 0)
50
- };
51
- if (Object.keys(propertiesTraitsKV).length > limit) {
52
- throw new actions_core_1.IntegrationError('Properties Exceed Max. Use Mapping to limit the number of Attributes (Properties, Traits) present and thereby reduce the Campaign Relational Table Rows consumed.', 'EXCEEDS_MAX_PROPERTIES_MAX', 400);
53
- return;
40
+ try {
41
+ if (payload.key_value_pairs)
42
+ propertiesTraitsKV = {
43
+ ...propertiesTraitsKV,
44
+ ...parseSections(payload.key_value_pairs, 0)
45
+ };
46
+ if (payload.array_data)
47
+ propertiesTraitsKV = {
48
+ ...propertiesTraitsKV,
49
+ ...parseSections(payload.array_data, 0)
50
+ };
51
+ if (payload.traits)
52
+ propertiesTraitsKV = {
53
+ ...propertiesTraitsKV,
54
+ ...parseSections(payload.traits, 0)
55
+ };
56
+ if (payload.properties)
57
+ propertiesTraitsKV = {
58
+ ...propertiesTraitsKV,
59
+ ...parseSections(payload.properties, 0)
60
+ };
61
+ if (payload.context)
62
+ propertiesTraitsKV = {
63
+ ...propertiesTraitsKV,
64
+ ...parseSections(payload.context, 0)
65
+ };
66
+ if (Object.keys(propertiesTraitsKV).length > limit) {
67
+ throw new actions_core_1.IntegrationError('Properties Exceed Max. Use Mapping to limit the number of Attributes (Properties, Traits) present and thereby reduce the Campaign Relational Table Rows consumed.', 'EXCEEDS_MAX_PROPERTIES_MAX', 400);
68
+ }
54
69
  }
55
- if (get_1.default(payload, 'context.personas.computation_class', 'Null') === 'audience') {
56
- const ak = get_1.default(payload, 'context.personas.computation_key', 'Null');
57
- const av = `properties.${ak}`;
58
- const audiStatus = get_1.default(payload, av, 'Null');
59
- if (audiStatus)
70
+ catch (e) {
71
+ throw new actions_core_1.IntegrationError('Unexpected Exception processing payload \n ${e}', 'UNEXPECTED_EXCEPTION_PROCESSING_PAYLOAD', 400);
72
+ }
73
+ let ak = '';
74
+ let av = '';
75
+ const getValue = (o, part) => Object.entries(o).find(([k, _v]) => k.includes(part))?.[1];
76
+ if (getValue(propertiesTraitsKV, 'computation_class')) {
77
+ ak = getValue(propertiesTraitsKV, 'computation_key');
78
+ av = getValue(propertiesTraitsKV, `${ak}`);
79
+ }
80
+ if (getValue(propertiesTraitsKV, 'audience_key')) {
81
+ ak = getValue(propertiesTraitsKV, 'audience_key');
82
+ av = getValue(propertiesTraitsKV, `${ak}`);
83
+ }
84
+ if (av !== '') {
85
+ let audiStatus = av;
86
+ eventValue = audiStatus;
87
+ audiStatus = audiStatus.toString().toLowerCase();
88
+ if (audiStatus === 'true')
60
89
  eventValue = 'Audience Entered';
61
- if (!audiStatus)
90
+ if (audiStatus === 'false')
62
91
  eventValue = 'Audience Exited';
63
92
  eventName = ak;
64
93
  xmlRows += `
@@ -85,29 +114,4 @@ function addUpdateEvents(payload, email, limit) {
85
114
  return xmlRows;
86
115
  }
87
116
  exports.addUpdateEvents = addUpdateEvents;
88
- const postUpdates = async (request, settings, auth, xmlRows, i) => {
89
- const pup = await request(`https://api-campaign-${settings.a_region}-${settings.a_pod}.goacoustic.com/XMLAPI`, {
90
- method: 'POST',
91
- headers: {
92
- Authorization: `Bearer ${auth?.accessToken}`,
93
- 'Content-Type': 'text/xml',
94
- 'user-agent': `Segment Action (Acoustic Destination) ${i}`,
95
- Connection: 'keep-alive',
96
- 'Accept-Encoding': 'gzip, deflate, br',
97
- Accept: '*/*'
98
- },
99
- body: `<Envelope>
100
- <Body>
101
- <InsertUpdateRelationalTable>
102
- <TABLE_ID>${tablemaintutilities_1.eventTableListId} </TABLE_ID>
103
- <ROWS>
104
- ${xmlRows}
105
- </ROWS>
106
- </InsertUpdateRelationalTable>
107
- </Body>
108
- </Envelope>`
109
- });
110
- return pup;
111
- };
112
- exports.postUpdates = postUpdates;
113
117
  //# sourceMappingURL=eventprocessing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"eventprocessing.js","sourceRoot":"","sources":["../../../../src/destinations/acoustic/Utility/eventprocessing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eventprocessing.js","sourceRoot":"","sources":["../../../../src/destinations/acoustic/Utility/eventprocessing.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,19 @@
1
+ import { OAuth2ClientCredentials, RefreshAccessTokenResult } from '@segment/actions-core';
1
2
  import { RequestClient } from '@segment/actions-core';
2
3
  import { Settings } from '../generated-types';
3
4
  import { AuthTokens } from '@segment/actions-core/src/destination-kit/parse-settings';
4
5
  export declare let eventTableListId: string;
6
+ export interface accessResp {
7
+ access_token: string;
8
+ token_type: string;
9
+ refresh_token: string;
10
+ expires_in: number;
11
+ }
12
+ export declare let authCreds: OAuth2ClientCredentials;
13
+ export declare function getAuthCreds(): OAuth2ClientCredentials;
14
+ export declare function getEventTableListId(): string;
15
+ export declare function getAccessToken(request: RequestClient, settings: Settings): Promise<RefreshAccessTokenResult>;
16
+ export declare function doPOST(request: RequestClient, settings: Settings, auth: AuthTokens, body: string, action: string): Promise<string>;
5
17
  export declare function preChecksAndMaint(request: RequestClient, settings: Settings, auth: AuthTokens): Promise<string>;
6
18
  export declare function checkRTExist(request: RequestClient, settings: Settings, auth: AuthTokens): Promise<string>;
7
- export declare function createSegmentEventsTable(request: RequestClient, settings: Settings, auth: AuthTokens): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
19
+ export declare function createSegmentEventsTable(request: RequestClient, settings: Settings, auth: AuthTokens): Promise<string>;
@@ -1,8 +1,91 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createSegmentEventsTable = exports.checkRTExist = exports.preChecksAndMaint = exports.eventTableListId = void 0;
3
+ exports.createSegmentEventsTable = exports.checkRTExist = exports.preChecksAndMaint = exports.doPOST = exports.getAccessToken = exports.getEventTableListId = exports.getAuthCreds = exports.authCreds = exports.eventTableListId = void 0;
4
4
  const actions_core_1 = require("@segment/actions-core");
5
5
  exports.eventTableListId = '';
6
+ exports.authCreds = {
7
+ accessToken: '',
8
+ clientId: '',
9
+ clientSecret: '',
10
+ refreshToken: '',
11
+ refreshTokenUrl: ''
12
+ };
13
+ function getAuthCreds() {
14
+ return exports.authCreds;
15
+ }
16
+ exports.getAuthCreds = getAuthCreds;
17
+ function getEventTableListId() {
18
+ return exports.eventTableListId;
19
+ }
20
+ exports.getEventTableListId = getEventTableListId;
21
+ async function getAccessToken(request, settings) {
22
+ exports.authCreds = getAuthCreds();
23
+ exports.authCreds.accessToken = '';
24
+ exports.authCreds.clientId = settings.a_clientId;
25
+ exports.authCreds.clientSecret = settings.a_clientSecret;
26
+ exports.authCreds.refreshToken = settings.a_refreshToken;
27
+ exports.authCreds.refreshTokenUrl = `https://api-campaign-${settings.region}-${settings.pod}.goacoustic.com/oauth/token`;
28
+ const requestAToken = await request(exports.authCreds.refreshTokenUrl, {
29
+ method: 'POST',
30
+ body: new URLSearchParams({
31
+ refresh_token: exports.authCreds.refreshToken,
32
+ client_id: exports.authCreds.clientId,
33
+ client_secret: exports.authCreds.clientSecret,
34
+ grant_type: 'refresh_token'
35
+ }),
36
+ headers: {
37
+ 'Content-Type': 'application/x-www-form-urlencoded',
38
+ 'User-Agent': 'Segment Action (Acoustic Destination) "GetAccessToken"'
39
+ }
40
+ });
41
+ const ratResp = (await requestAToken.data);
42
+ exports.authCreds.accessToken = ratResp.access_token;
43
+ return { accessToken: exports.authCreds.accessToken, refreshToken: exports.authCreds.refreshToken };
44
+ }
45
+ exports.getAccessToken = getAccessToken;
46
+ async function doPOST(request, settings, auth, body, action) {
47
+ if (!auth.accessToken) {
48
+ if (!exports.authCreds.accessToken) {
49
+ const ratr = await getAccessToken(request, settings);
50
+ auth = {
51
+ accessToken: ratr.accessToken,
52
+ refreshToken: ratr.refreshToken,
53
+ refreshTokenURL: `https://api-campaign-${settings.region}-${settings.pod}.goacoustic.com/XMLAPI`
54
+ };
55
+ }
56
+ else
57
+ auth.accessToken = exports.authCreds.accessToken;
58
+ }
59
+ let resultTxt = '';
60
+ try {
61
+ const postResults = await request(`https://api-campaign-${settings.region}-${settings.pod}.goacoustic.com/XMLAPI`, {
62
+ method: 'POST',
63
+ headers: {
64
+ Authorization: `Bearer ${auth?.accessToken}`,
65
+ 'Content-Type': 'text/xml',
66
+ 'user-agent': `Segment Action (Acoustic Destination) ${action}`,
67
+ Connection: 'keep-alive',
68
+ 'Accept-Encoding': 'gzip, deflate, br',
69
+ Accept: '*/*'
70
+ },
71
+ body: `${body}`
72
+ });
73
+ const res = await postResults.data;
74
+ resultTxt = res;
75
+ if (resultTxt.indexOf('<SUCCESS>FALSE</SUCCESS>') > -1 || resultTxt.indexOf('<SUCCESS>false</SUCCESS>') > -1) {
76
+ const rx = /<FaultString>(.*)<\/FaultString>/gm;
77
+ const r = rx.exec(resultTxt);
78
+ if (r.indexOf('max number of concurrent') > -1)
79
+ throw new actions_core_1.RetryableError('Currently exceeding Max number of concurrent authenticated requests via API, retrying', 429);
80
+ resultTxt = '';
81
+ }
82
+ }
83
+ catch (e) {
84
+ throw new actions_core_1.IntegrationError(`Unexpected Request Exception \n${e}`, 'UNEXPECTED_REQUEST_EXCEPTION', 400);
85
+ }
86
+ return resultTxt;
87
+ }
88
+ exports.doPOST = doPOST;
6
89
  async function preChecksAndMaint(request, settings, auth) {
7
90
  exports.eventTableListId = await checkRTExist(request, settings, auth);
8
91
  if (exports.eventTableListId === '') {
@@ -15,24 +98,13 @@ async function preChecksAndMaint(request, settings, auth) {
15
98
  }
16
99
  exports.preChecksAndMaint = preChecksAndMaint;
17
100
  async function checkRTExist(request, settings, auth) {
18
- if (settings.a_events_table_list_id != '') {
19
- const chkListId = await request(`https://api-campaign-${settings.a_region}-${settings.a_pod}.goacoustic.com/XMLAPI`, {
20
- method: 'POST',
21
- headers: {
22
- Authorization: `Bearer ${auth?.accessToken}`,
23
- 'Content-Type': 'text/xml',
24
- 'user-agent': `Segment Action (Acoustic Destination)`,
25
- Connection: 'keep-alive',
26
- 'Accept-Encoding': 'gzip, deflate, br',
27
- Accept: '*/*'
28
- },
29
- body: `
101
+ if (settings.tableListId != '') {
102
+ const checkDefinedTableId = `
30
103
  <Envelope> <Body>
31
- <GetListMetaData> <LIST_ID>${settings.a_events_table_list_id}</LIST_ID>
104
+ <GetListMetaData> <LIST_ID>${settings.tableListId}</LIST_ID>
32
105
  </GetListMetaData> </Body>
33
- </Envelope>`
34
- });
35
- const respText = await chkListId.text();
106
+ </Envelope>`;
107
+ const respText = (await doPOST(request, settings, auth, checkDefinedTableId, 'CheckDefinedTable')) ?? '';
36
108
  const rx = /<SUCCESS>TRUE<\/SUCCESS>(?:\s)*<ID>(.*)<\/ID/gm;
37
109
  if (respText != null) {
38
110
  const r = rx.exec(respText);
@@ -43,28 +115,17 @@ async function checkRTExist(request, settings, auth) {
43
115
  }
44
116
  }
45
117
  else {
46
- const chkExist = await request(`https://api-campaign-${settings.a_region}-${settings.a_pod}.goacoustic.com/XMLAPI`, {
47
- method: 'POST',
48
- headers: {
49
- Authorization: `Bearer ${auth?.accessToken}`,
50
- 'Content-Type': 'text/xml',
51
- 'user-agent': `Segment Action (Acoustic Destination)`,
52
- Connection: 'keep-alive',
53
- 'Accept-Encoding': 'gzip, deflate, br',
54
- Accept: '*/*'
55
- },
56
- body: `<Envelope>
57
- <Body>
58
- <GetLists>
59
- <VISIBILITY>1 </VISIBILITY>
60
- <LIST_TYPE> 15 </LIST_TYPE>
61
- <INCLUDE_ALL_LISTS> True </INCLUDE_ALL_LISTS>
62
- </GetLists>
63
- </Body>
64
- </Envelope>`
65
- });
66
- await chkExist.data;
67
- const lists = chkExist.content;
118
+ const getTableList = `<Envelope>
119
+ <Body>
120
+ <GetLists>
121
+ <VISIBILITY>1 </VISIBILITY>
122
+ <LIST_TYPE> 15 </LIST_TYPE>
123
+ <INCLUDE_ALL_LISTS> True </INCLUDE_ALL_LISTS>
124
+ </GetLists>
125
+ </Body>
126
+ </Envelope>`;
127
+ const respText = (await doPOST(request, settings, auth, getTableList, 'GetTableList')) ?? '';
128
+ const lists = respText;
68
129
  if (lists.indexOf('Segment Events Table') > 0) {
69
130
  const simplify = lists.substring(lists.indexOf('Segment Events Table') - 40, lists.indexOf('Segment Events Table') + 40);
70
131
  const rx = /<ID>(.*)<\/ID>/gm;
@@ -80,13 +141,13 @@ async function checkRTExist(request, settings, auth) {
80
141
  }
81
142
  exports.checkRTExist = checkRTExist;
82
143
  async function createSegmentEventsTable(request, settings, auth) {
83
- const createEventsXML = `<Envelope>
144
+ const createSET = `<Envelope>
84
145
  <Body>
85
146
  <CreateTable>
86
- <TABLE_NAME>Segment Events Table</TABLE_NAME>
147
+ <TABLE_NAME>${settings.tableName}</TABLE_NAME>
87
148
  <COLUMNS>
88
149
  <COLUMN>
89
- <NAME>Email</NAME>
150
+ <NAME>EmailId</NAME>
90
151
  <TYPE>EMAIL</TYPE>
91
152
  <IS_REQUIRED>true</IS_REQUIRED>
92
153
  <KEY_COLUMN>TRUE</KEY_COLUMN>
@@ -110,7 +171,7 @@ async function createSegmentEventsTable(request, settings, auth) {
110
171
  <KEY_COLUMN>FALSE</KEY_COLUMN>
111
172
  </COLUMN>
112
173
  <COLUMN>
113
- <NAME>Event Timestamp</NAME>
174
+ <NAME>EventTimestamp</NAME>
114
175
  <TYPE>DATE_TIME</TYPE>
115
176
  <IS_REQUIRED>TRUE</IS_REQUIRED>
116
177
  <KEY_COLUMN>FALSE</KEY_COLUMN>
@@ -119,28 +180,16 @@ async function createSegmentEventsTable(request, settings, auth) {
119
180
  </CreateTable>
120
181
  </Body>
121
182
  </Envelope>`;
122
- const createSegmentEventsTable = await request(`https://api-campaign-${settings.a_region}-${settings.a_pod}.goacoustic.com/xmlapi`, {
123
- method: 'POST',
124
- headers: {
125
- Authorization: `Bearer ${auth?.accessToken}`,
126
- 'Content-Type': 'text/xml',
127
- 'user-agent': `Segment Action (Acoustic Destination)`,
128
- Connection: 'keep-alive',
129
- 'Accept-Encoding': 'gzip, deflate, br',
130
- Accept: '*/*'
131
- },
132
- body: createEventsXML
133
- });
134
- const respText = await createSegmentEventsTable.text();
183
+ const cset = (await doPOST(request, settings, auth, createSET, 'CreateSegmentEventsTable')) ?? '';
135
184
  const rx = /<SUCCESS>TRUE<\/SUCCESS>(?:\s)*<TABLE_ID>(.*)<\/TABLE_ID/gm;
136
185
  let tid = '';
137
- if (respText != null) {
138
- const r = rx.exec(respText);
186
+ if (cset != null) {
187
+ const r = rx.exec(cset);
139
188
  if (r)
140
189
  tid = r[1];
141
190
  }
142
191
  exports.eventTableListId = tid;
143
- return createSegmentEventsTable;
192
+ return exports.eventTableListId;
144
193
  }
145
194
  exports.createSegmentEventsTable = createSegmentEventsTable;
146
195
  //# sourceMappingURL=tablemaintutilities.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tablemaintutilities.js","sourceRoot":"","sources":["../../../../src/destinations/acoustic/Utility/tablemaintutilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tablemaintutilities.js","sourceRoot":"","sources":["../../../../src/destinations/acoustic/Utility/tablemaintutilities.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  export interface Settings {
2
- a_pod: string;
3
- a_region: string;
4
- a_events_table_list_id?: string;
2
+ pod: string;
3
+ region: string;
4
+ tableName: string;
5
+ tableListId: string;
5
6
  a_clientId: string;
6
7
  a_clientSecret: string;
7
8
  a_refreshToken: string;
8
- a_attributesMax?: number;
9
+ attributesMax?: number;
9
10
  }
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const actions_core_1 = require("@segment/actions-core");
7
7
  const receiveEvents_1 = __importDefault(require("./receiveEvents"));
8
+ const tablemaintutilities_1 = require("./Utility/tablemaintutilities");
8
9
  const presets = [
9
10
  {
10
11
  name: 'Track Calls',
@@ -44,14 +45,14 @@ const destination = {
44
45
  authentication: {
45
46
  scheme: 'oauth2',
46
47
  fields: {
47
- a_pod: {
48
+ pod: {
48
49
  label: 'Pod',
49
50
  description: 'Pod Number of Campaign Instance',
50
51
  default: '2',
51
52
  type: 'string',
52
53
  required: true
53
54
  },
54
- a_region: {
55
+ region: {
55
56
  label: 'Region',
56
57
  description: 'Region where Pod is hosted, either US, EU, AP, or CA',
57
58
  choices: [
@@ -64,12 +65,19 @@ const destination = {
64
65
  type: 'string',
65
66
  required: true
66
67
  },
67
- a_events_table_list_id: {
68
- label: 'Acoustic Segment Events Table List Id',
69
- description: 'The Segment Events Table List Id from the Database dialog in Acoustic Campaign',
70
- default: '',
68
+ tableName: {
69
+ label: 'Acoustic Segment Table Name',
70
+ description: 'The Segment Table Name in Acoustic Campaign Data dialog.',
71
+ default: 'Segment Events Table',
71
72
  type: 'string',
72
- required: false
73
+ required: true
74
+ },
75
+ tableListId: {
76
+ label: 'Acoustic Segment Table List Id',
77
+ description: 'The Segment Table List Id from the Database-Relational Table dialog in Acoustic Campaign',
78
+ default: ' ',
79
+ type: 'string',
80
+ required: true
73
81
  },
74
82
  a_clientId: {
75
83
  label: 'Acoustic app definition ClientId',
@@ -92,32 +100,16 @@ const destination = {
92
100
  type: 'password',
93
101
  required: true
94
102
  },
95
- a_attributesMax: {
103
+ attributesMax: {
96
104
  label: 'Properties Max',
97
- description: 'Note: Before increasing the default max number, consult the Acoustic Destination documentation.',
105
+ description: 'A safety against mapping too many attributes into the Event, ignore Event if number of Event Attributes exceeds this maximum. Note: Before increasing the default max number, consult the Acoustic Destination documentation.',
98
106
  default: 30,
99
107
  type: 'number',
100
108
  required: false
101
109
  }
102
110
  },
103
111
  refreshAccessToken: async (request, { settings }) => {
104
- const at = await request(`https://api-campaign-${settings.a_region}-${settings.a_pod}.goacoustic.com/oauth/token`, {
105
- method: 'POST',
106
- body: new URLSearchParams({
107
- refresh_token: settings.a_refreshToken,
108
- client_id: settings.a_clientId,
109
- client_secret: settings.a_clientSecret,
110
- grant_type: 'refresh_token'
111
- }),
112
- headers: {
113
- 'Content-Type': 'application/x-www-form-urlencoded',
114
- 'user-agent': `Segment Action (Acoustic Destination)`,
115
- Connection: 'keep-alive',
116
- 'Accept-Encoding': 'gzip, deflate, br',
117
- Accept: '*/*'
118
- }
119
- });
120
- return { accessToken: at.data.access_token };
112
+ return await tablemaintutilities_1.getAccessToken(request, settings);
121
113
  }
122
114
  },
123
115
  presets,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/acoustic/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/acoustic/index.ts"],"names":[],"mappings":";;;;;AAAA,wDAA4E;AAE5E,oEAA2C;AAC3C,uEAA8D;AAW9D,MAAM,OAAO,GAAqC;IAChD;QACE,IAAI,EAAE,aAAa;QACnB,SAAS,EAAE,gBAAgB;QAC3B,aAAa,EAAE,eAAe;QAC9B,OAAO,EAAE;YACP,GAAG,4BAAa,CAAC,uBAAa,CAAC,MAAM,CAAC;YACtC,KAAK,EAAE;gBACL,KAAK,EAAE;oBACL,MAAM,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE;oBACzC,IAAI,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE;oBACvC,IAAI,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE;iBAC5C;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,SAAS,EAAE,mBAAmB;QAC9B,aAAa,EAAE,eAAe;QAC9B,OAAO,EAAE;YACP,GAAG,4BAAa,CAAC,uBAAa,CAAC,MAAM,CAAC;YACtC,KAAK,EAAE;gBACL,KAAK,EAAE;oBACL,MAAM,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE;oBACrC,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE;oBACnC,IAAI,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE;iBAC5C;aACF;SACF;KACF;CACF,CAAA;AAED,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,6BAA6B;IACnC,IAAI,EAAE,2BAA2B;IACjC,IAAI,EAAE,OAAO;IACb,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,GAAG,EAAE;gBACH,KAAK,EAAE,KAAK;gBACZ,WAAW,EAAE,iCAAiC;gBAC9C,OAAO,EAAE,GAAG;gBACZ,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,MAAM,EAAE;gBACN,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,sDAAsD;gBACnE,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;oBAC5B,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;oBAC5B,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;oBAC5B,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;iBAC7B;gBACD,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,SAAS,EAAE;gBACT,KAAK,EAAE,6BAA6B;gBACpC,WAAW,EAAE,0DAA0D;gBACvE,OAAO,EAAE,sBAAsB;gBAC/B,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,WAAW,EAAE;gBACX,KAAK,EAAE,gCAAgC;gBACvC,WAAW,EAAE,0FAA0F;gBACvG,OAAO,EAAE,GAAG;gBACZ,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,UAAU,EAAE;gBACV,KAAK,EAAE,kCAAkC;gBACzC,WAAW,EAAE,mEAAmE;gBAChF,OAAO,EAAE,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,cAAc,EAAE;gBACd,KAAK,EAAE,sCAAsC;gBAC7C,WAAW,EAAE,uEAAuE;gBACpF,OAAO,EAAE,EAAE;gBACX,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,IAAI;aACf;YACD,cAAc,EAAE;gBACd,KAAK,EAAE,6CAA6C;gBACpD,WAAW,EAAE,iFAAiF;gBAC9F,OAAO,EAAE,EAAE;gBACX,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,IAAI;aACf;YACD,aAAa,EAAE;gBACb,KAAK,EAAE,gBAAgB;gBACvB,WAAW,EACT,+NAA+N;gBACjO,OAAO,EAAE,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,KAAK;aAChB;SACF;QACD,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YAClD,OAAO,MAAM,oCAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QAChD,CAAC;KACF;IACD,OAAO;IACP,OAAO,EAAE;QACP,aAAa,EAAb,uBAAa;KACd;CACF,CAAA;AACD,kBAAe,WAAW,CAAA"}
@@ -2,6 +2,12 @@ export interface Payload {
2
2
  email: string;
3
3
  type?: string;
4
4
  timestamp?: string | number;
5
+ key_value_pairs?: {
6
+ [k: string]: unknown;
7
+ };
8
+ array_data?: {
9
+ [k: string]: unknown;
10
+ }[];
5
11
  context?: {
6
12
  [k: string]: unknown;
7
13
  };