@segment/action-destinations 3.332.1-staging.2 → 3.332.1-staging.5

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 (132) hide show
  1. package/dist/destinations/blackbaud-raisers-edge-nxt/utils/index.d.ts +1 -1
  2. package/dist/destinations/braze/updateUserProfile/__snapshots__/__snapshots__/snapshot.test.js.snap +208 -0
  3. package/dist/destinations/braze/updateUserProfile/__snapshots__/snapshot.test.d.ts +1 -0
  4. package/dist/destinations/braze/updateUserProfile/__snapshots__/snapshot.test.js +184 -0
  5. package/dist/destinations/braze/updateUserProfile/__snapshots__/snapshot.test.js.map +1 -0
  6. package/dist/destinations/engage/utils/Profile.d.ts +6 -0
  7. package/dist/destinations/engage/utils/Profile.js +3 -0
  8. package/dist/destinations/engage/utils/Profile.js.map +1 -0
  9. package/dist/destinations/engage/utils/apiLookups.d.ts +22 -0
  10. package/dist/destinations/engage/utils/apiLookups.js +189 -0
  11. package/dist/destinations/engage/utils/apiLookups.js.map +1 -0
  12. package/dist/destinations/engage/utils/track.d.ts +17 -17
  13. package/dist/destinations/index.js +1 -0
  14. package/dist/destinations/index.js.map +1 -1
  15. package/dist/destinations/klaviyo/removeProfileToList/generated-types.d.ts +4 -0
  16. package/dist/destinations/klaviyo/removeProfileToList/generated-types.js +3 -0
  17. package/dist/destinations/klaviyo/removeProfileToList/generated-types.js.map +1 -0
  18. package/dist/destinations/klaviyo/removeProfileToList/index.d.ts +5 -0
  19. package/dist/destinations/klaviyo/removeProfileToList/index.js +41 -0
  20. package/dist/destinations/klaviyo/removeProfileToList/index.js.map +1 -0
  21. package/dist/destinations/mixpanel/utils.d.ts +13 -0
  22. package/dist/destinations/mixpanel/utils.js +117 -0
  23. package/dist/destinations/mixpanel/utils.js.map +1 -0
  24. package/dist/destinations/movable-ink/categoryView/generated-types.d.ts +22 -0
  25. package/dist/destinations/movable-ink/categoryView/generated-types.js +3 -0
  26. package/dist/destinations/movable-ink/categoryView/generated-types.js.map +1 -0
  27. package/dist/destinations/movable-ink/categoryView/index.d.ts +5 -0
  28. package/dist/destinations/movable-ink/categoryView/index.js +43 -0
  29. package/dist/destinations/movable-ink/categoryView/index.js.map +1 -0
  30. package/dist/destinations/movable-ink/conversion/generated-types.d.ts +20 -0
  31. package/dist/destinations/movable-ink/conversion/generated-types.js +3 -0
  32. package/dist/destinations/movable-ink/conversion/generated-types.js.map +1 -0
  33. package/dist/destinations/movable-ink/conversion/index.d.ts +5 -0
  34. package/dist/destinations/movable-ink/conversion/index.js +45 -0
  35. package/dist/destinations/movable-ink/conversion/index.js.map +1 -0
  36. package/dist/destinations/movable-ink/fields.d.ts +21 -0
  37. package/dist/destinations/movable-ink/fields.js +236 -0
  38. package/dist/destinations/movable-ink/fields.js.map +1 -0
  39. package/dist/destinations/movable-ink/identify/generated-types.d.ts +7 -0
  40. package/dist/destinations/movable-ink/identify/generated-types.js +3 -0
  41. package/dist/destinations/movable-ink/identify/generated-types.js.map +1 -0
  42. package/dist/destinations/movable-ink/identify/index.d.ts +5 -0
  43. package/dist/destinations/movable-ink/identify/index.js +32 -0
  44. package/dist/destinations/movable-ink/identify/index.js.map +1 -0
  45. package/dist/destinations/movable-ink/productAdded/generated-types.d.ts +22 -0
  46. package/dist/destinations/movable-ink/productAdded/generated-types.js +3 -0
  47. package/dist/destinations/movable-ink/productAdded/generated-types.js.map +1 -0
  48. package/dist/destinations/movable-ink/productAdded/index.d.ts +5 -0
  49. package/dist/destinations/movable-ink/productAdded/index.js +43 -0
  50. package/dist/destinations/movable-ink/productAdded/index.js.map +1 -0
  51. package/dist/destinations/movable-ink/productViewed/generated-types.d.ts +21 -0
  52. package/dist/destinations/movable-ink/productViewed/generated-types.js +3 -0
  53. package/dist/destinations/movable-ink/productViewed/generated-types.js.map +1 -0
  54. package/dist/destinations/movable-ink/productViewed/index.d.ts +5 -0
  55. package/dist/destinations/movable-ink/productViewed/index.js +43 -0
  56. package/dist/destinations/movable-ink/productViewed/index.js.map +1 -0
  57. package/dist/destinations/movable-ink/search/generated-types.d.ts +12 -0
  58. package/dist/destinations/movable-ink/search/generated-types.js +3 -0
  59. package/dist/destinations/movable-ink/search/generated-types.js.map +1 -0
  60. package/dist/destinations/movable-ink/search/index.d.ts +5 -0
  61. package/dist/destinations/movable-ink/search/index.js +43 -0
  62. package/dist/destinations/movable-ink/search/index.js.map +1 -0
  63. package/dist/destinations/movable-ink/sendCustomEvent/generated-types.d.ts +25 -0
  64. package/dist/destinations/movable-ink/sendCustomEvent/generated-types.js +3 -0
  65. package/dist/destinations/movable-ink/sendCustomEvent/generated-types.js.map +1 -0
  66. package/dist/destinations/movable-ink/sendCustomEvent/index.d.ts +5 -0
  67. package/dist/destinations/movable-ink/sendCustomEvent/index.js +48 -0
  68. package/dist/destinations/movable-ink/sendCustomEvent/index.js.map +1 -0
  69. package/dist/destinations/responsys/asyncMergePetRecords/generated-types.d.ts +14 -0
  70. package/dist/destinations/responsys/asyncMergePetRecords/generated-types.js +3 -0
  71. package/dist/destinations/responsys/asyncMergePetRecords/generated-types.js.map +1 -0
  72. package/dist/destinations/responsys/asyncMergePetRecords/index.d.ts +5 -0
  73. package/dist/destinations/responsys/asyncMergePetRecords/index.js +113 -0
  74. package/dist/destinations/responsys/asyncMergePetRecords/index.js.map +1 -0
  75. package/dist/destinations/responsys/asyncMergeProfileListMembers/generated-types.d.ts +20 -0
  76. package/dist/destinations/responsys/asyncMergeProfileListMembers/generated-types.js +3 -0
  77. package/dist/destinations/responsys/asyncMergeProfileListMembers/generated-types.js.map +1 -0
  78. package/dist/destinations/responsys/asyncMergeProfileListMembers/index.d.ts +5 -0
  79. package/dist/destinations/responsys/asyncMergeProfileListMembers/index.js +174 -0
  80. package/dist/destinations/responsys/asyncMergeProfileListMembers/index.js.map +1 -0
  81. package/dist/destinations/responsys/generated-types.d.ts +5 -0
  82. package/dist/destinations/responsys/generated-types.js +3 -0
  83. package/dist/destinations/responsys/generated-types.js.map +1 -0
  84. package/dist/destinations/responsys/index.d.ts +4 -0
  85. package/dist/destinations/responsys/index.js +62 -0
  86. package/dist/destinations/responsys/index.js.map +1 -0
  87. package/dist/destinations/responsys/rsp-operations.d.ts +14 -0
  88. package/dist/destinations/responsys/rsp-operations.js +33 -0
  89. package/dist/destinations/responsys/rsp-operations.js.map +1 -0
  90. package/dist/destinations/responsys/rsp-properties.d.ts +4 -0
  91. package/dist/destinations/responsys/rsp-properties.js +27 -0
  92. package/dist/destinations/responsys/rsp-properties.js.map +1 -0
  93. package/dist/destinations/responsys/types.d.ts +37 -0
  94. package/dist/destinations/responsys/types.js +3 -0
  95. package/dist/destinations/responsys/types.js.map +1 -0
  96. package/dist/destinations/trackey/group.types.d.ts +11 -0
  97. package/dist/destinations/trackey/group.types.js +3 -0
  98. package/dist/destinations/trackey/group.types.js.map +1 -0
  99. package/dist/destinations/trackey/identify.types.d.ts +11 -0
  100. package/dist/destinations/trackey/identify.types.js +3 -0
  101. package/dist/destinations/trackey/identify.types.js.map +1 -0
  102. package/dist/destinations/trackey/identifyUser/generated-types.d.ts +8 -0
  103. package/dist/destinations/trackey/identifyUser/generated-types.js +3 -0
  104. package/dist/destinations/trackey/identifyUser/generated-types.js.map +1 -0
  105. package/dist/destinations/trackey/identifyUser/index.d.ts +5 -0
  106. package/dist/destinations/trackey/identifyUser/index.js +52 -0
  107. package/dist/destinations/trackey/identifyUser/index.js.map +1 -0
  108. package/dist/destinations/trackey/identifyUser.types.d.ts +8 -0
  109. package/dist/destinations/trackey/identifyUser.types.js +3 -0
  110. package/dist/destinations/trackey/identifyUser.types.js.map +1 -0
  111. package/dist/destinations/trackey/registerCompany/generated-types.d.ts +9 -0
  112. package/dist/destinations/trackey/registerCompany/generated-types.js +3 -0
  113. package/dist/destinations/trackey/registerCompany/generated-types.js.map +1 -0
  114. package/dist/destinations/trackey/registerCompany/index.d.ts +5 -0
  115. package/dist/destinations/trackey/registerCompany/index.js +60 -0
  116. package/dist/destinations/trackey/registerCompany/index.js.map +1 -0
  117. package/dist/destinations/trackey/registerCompany.types.d.ts +9 -0
  118. package/dist/destinations/trackey/registerCompany.types.js +3 -0
  119. package/dist/destinations/trackey/registerCompany.types.js.map +1 -0
  120. package/dist/destinations/trackey/track.types.d.ts +12 -0
  121. package/dist/destinations/trackey/track.types.js +3 -0
  122. package/dist/destinations/trackey/track.types.js.map +1 -0
  123. package/dist/destinations/trackey/trackEvent/generated-types.d.ts +12 -0
  124. package/dist/destinations/trackey/trackEvent/generated-types.js +3 -0
  125. package/dist/destinations/trackey/trackEvent/generated-types.js.map +1 -0
  126. package/dist/destinations/trackey/trackEvent/index.d.ts +5 -0
  127. package/dist/destinations/trackey/trackEvent/index.js +68 -0
  128. package/dist/destinations/trackey/trackEvent/index.js.map +1 -0
  129. package/dist/destinations/trackey/trackEvent.types.d.ts +12 -0
  130. package/dist/destinations/trackey/trackEvent.types.js +3 -0
  131. package/dist/destinations/trackey/trackEvent.types.js.map +1 -0
  132. package/package.json +1 -1
@@ -9,7 +9,7 @@ export declare const dateStringToFuzzyDate: (dateString: string | number) => fal
9
9
  y: string;
10
10
  };
11
11
  export declare const augmentFieldsWithConstituentFields: (fields: Record<string, InputField>) => Record<string, InputField>;
12
- export declare const splitConstituentPayload: (payload: CreateOrUpdateIndividualConstituentPayload) => (Partial<Constituent> | Partial<Address> | Partial<OnlinePresence> | Partial<Phone>)[];
12
+ export declare const splitConstituentPayload: (payload: CreateOrUpdateIndividualConstituentPayload) => (Partial<Phone> | Partial<Constituent> | Partial<Address> | Partial<OnlinePresence>)[];
13
13
  export declare const buildConstituentPayloadFromPayload: (payload: StringIndexedObject) => Partial<CreateOrUpdateIndividualConstituentPayload>;
14
14
  export declare const buildGiftDataFromPayload: (constituentId: string, payload: CreateGiftPayload) => Partial<Gift>;
15
15
  export declare const buildConstituentActionDataFromPayload: (constituentId: string, payload: CreateConstituentAction) => Partial<ConstituentAction>;
@@ -0,0 +1,208 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`Testing snapshot for Braze's updateUserProfile destination action: all fields 1`] = `
4
+ Object {
5
+ "attributes": Array [
6
+ Object {
7
+ "_update_existing_only": false,
8
+ "braze_id": "M8rtOywDKgN((jhUBk9",
9
+ "country": "M8rtOywDKgN((jhUBk9",
10
+ "current_location": Object {
11
+ "latitude": 74322492134522.88,
12
+ "longitude": 74322492134522.88,
13
+ },
14
+ "date_of_first_session": "2021-02-01T00:00:00.000Z",
15
+ "date_of_last_session": "2021-02-01T00:00:00.000Z",
16
+ "dob": "2021-02-01",
17
+ "email": "wifot@vuri.cl",
18
+ "email_click_tracking_disabled": false,
19
+ "email_open_tracking_disabled": false,
20
+ "email_subscribe": "M8rtOywDKgN((jhUBk9",
21
+ "external_id": "M8rtOywDKgN((jhUBk9",
22
+ "facebook": Object {
23
+ "id": "M8rtOywDKgN((jhUBk9",
24
+ "likes": Array [
25
+ "M8rtOywDKgN((jhUBk9",
26
+ ],
27
+ "num_friends": 7432249213452288,
28
+ },
29
+ "first_name": "M8rtOywDKgN((jhUBk9",
30
+ "gender": "M8rtOywDKgN((jhUBk9",
31
+ "home_city": "M8rtOywDKgN((jhUBk9",
32
+ "image_url": "http://agekekci.va/dofupo",
33
+ "language": "M8rtOywDKgN((jhUBk9",
34
+ "last_name": "M8rtOywDKgN((jhUBk9",
35
+ "marked_email_as_spam_at": "2021-02-01T00:00:00.000Z",
36
+ "phone": "M8rtOywDKgN((jhUBk9",
37
+ "push_subscribe": "M8rtOywDKgN((jhUBk9",
38
+ "push_tokens": Array [
39
+ Object {
40
+ "app_id": "M8rtOywDKgN((jhUBk9",
41
+ "device_id": "M8rtOywDKgN((jhUBk9",
42
+ "token": "M8rtOywDKgN((jhUBk9",
43
+ },
44
+ ],
45
+ "testType": "M8rtOywDKgN((jhUBk9",
46
+ "time_zone": "M8rtOywDKgN((jhUBk9",
47
+ "twitter": Object {
48
+ "followers_count": 7432249213452288,
49
+ "friends_count": 7432249213452288,
50
+ "id": "M8rtOywDKgN((jhUBk9",
51
+ "screen_name": "M8rtOywDKgN((jhUBk9",
52
+ "statuses_count": 7432249213452288,
53
+ },
54
+ "user_alias": Object {
55
+ "alias_label": "M8rtOywDKgN((jhUBk9",
56
+ "alias_name": "M8rtOywDKgN((jhUBk9",
57
+ },
58
+ },
59
+ ],
60
+ }
61
+ `;
62
+
63
+ exports[`Testing snapshot for Braze's updateUserProfile destination action: it should work with a single batched events 1`] = `
64
+ Headers {
65
+ Symbol(map): Object {
66
+ "authorization": Array [
67
+ "Bearer my-api-key",
68
+ ],
69
+ "user-agent": Array [
70
+ "Segment (Actions)",
71
+ ],
72
+ },
73
+ }
74
+ `;
75
+
76
+ exports[`Testing snapshot for Braze's updateUserProfile destination action: it should work with a single batched events 2`] = `
77
+ Object {
78
+ "attributes": Array [
79
+ Object {
80
+ "_update_existing_only": true,
81
+ "braze_id": undefined,
82
+ "country": "United States",
83
+ "current_location": Object {
84
+ "latitude": 40.2964197,
85
+ "longitude": -76.9411617,
86
+ },
87
+ "date_of_first_session": undefined,
88
+ "date_of_last_session": undefined,
89
+ "dob": undefined,
90
+ "email": undefined,
91
+ "email_click_tracking_disabled": undefined,
92
+ "email_open_tracking_disabled": undefined,
93
+ "email_subscribe": undefined,
94
+ "external_id": "user1234",
95
+ "facebook": undefined,
96
+ "first_name": undefined,
97
+ "gender": undefined,
98
+ "home_city": undefined,
99
+ "image_url": undefined,
100
+ "language": undefined,
101
+ "last_name": undefined,
102
+ "marked_email_as_spam_at": undefined,
103
+ "phone": undefined,
104
+ "push_subscribe": undefined,
105
+ "push_tokens": undefined,
106
+ "time_zone": undefined,
107
+ "twitter": undefined,
108
+ "user_alias": undefined,
109
+ },
110
+ ],
111
+ }
112
+ `;
113
+
114
+ exports[`Testing snapshot for Braze's updateUserProfile destination action: it should work with batched events 1`] = `
115
+ Headers {
116
+ Symbol(map): Object {
117
+ "authorization": Array [
118
+ "Bearer my-api-key",
119
+ ],
120
+ "user-agent": Array [
121
+ "Segment (Actions)",
122
+ ],
123
+ "x-braze-batch": Array [
124
+ "true",
125
+ ],
126
+ },
127
+ }
128
+ `;
129
+
130
+ exports[`Testing snapshot for Braze's updateUserProfile destination action: it should work with batched events 2`] = `
131
+ Object {
132
+ "attributes": Array [
133
+ Object {
134
+ "_update_existing_only": true,
135
+ "braze_id": undefined,
136
+ "country": "United States",
137
+ "current_location": Object {
138
+ "latitude": 40.2964197,
139
+ "longitude": -76.9411617,
140
+ },
141
+ "date_of_first_session": undefined,
142
+ "date_of_last_session": undefined,
143
+ "dob": undefined,
144
+ "email": undefined,
145
+ "email_click_tracking_disabled": undefined,
146
+ "email_open_tracking_disabled": undefined,
147
+ "email_subscribe": undefined,
148
+ "external_id": "user1234",
149
+ "facebook": undefined,
150
+ "first_name": undefined,
151
+ "gender": undefined,
152
+ "home_city": undefined,
153
+ "image_url": undefined,
154
+ "language": undefined,
155
+ "last_name": undefined,
156
+ "marked_email_as_spam_at": undefined,
157
+ "phone": undefined,
158
+ "push_subscribe": undefined,
159
+ "push_tokens": undefined,
160
+ "time_zone": undefined,
161
+ "twitter": undefined,
162
+ "user_alias": undefined,
163
+ },
164
+ Object {
165
+ "_update_existing_only": true,
166
+ "braze_id": undefined,
167
+ "country": "United States",
168
+ "current_location": Object {
169
+ "latitude": 40.2964197,
170
+ "longitude": -76.9411617,
171
+ },
172
+ "date_of_first_session": undefined,
173
+ "date_of_last_session": undefined,
174
+ "dob": undefined,
175
+ "email": undefined,
176
+ "email_click_tracking_disabled": undefined,
177
+ "email_open_tracking_disabled": undefined,
178
+ "email_subscribe": undefined,
179
+ "external_id": "user1234",
180
+ "facebook": undefined,
181
+ "first_name": undefined,
182
+ "gender": undefined,
183
+ "home_city": undefined,
184
+ "image_url": undefined,
185
+ "language": undefined,
186
+ "last_name": undefined,
187
+ "marked_email_as_spam_at": undefined,
188
+ "phone": undefined,
189
+ "push_subscribe": undefined,
190
+ "push_tokens": undefined,
191
+ "time_zone": undefined,
192
+ "twitter": undefined,
193
+ "user_alias": undefined,
194
+ },
195
+ ],
196
+ }
197
+ `;
198
+
199
+ exports[`Testing snapshot for Braze's updateUserProfile destination action: required fields 1`] = `
200
+ Object {
201
+ "attributes": Array [
202
+ Object {
203
+ "braze_id": "M8rtOywDKgN((jhUBk9",
204
+ "external_id": "M8rtOywDKgN((jhUBk9",
205
+ },
206
+ ],
207
+ }
208
+ `;
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const actions_core_1 = require("@segment/actions-core");
7
+ const test_data_1 = require("../../../../lib/test-data");
8
+ const index_1 = __importDefault(require("../../index"));
9
+ const nock_1 = __importDefault(require("nock"));
10
+ const testDestination = actions_core_1.createTestIntegration(index_1.default);
11
+ const actionSlug = 'updateUserProfile';
12
+ const destinationSlug = 'Braze';
13
+ const seedName = `${destinationSlug}#${actionSlug}`;
14
+ const receivedAt = '2021-08-03T17:40:04.055Z';
15
+ const settings = {
16
+ app_id: 'my-app-id',
17
+ api_key: 'my-api-key',
18
+ endpoint: 'https://rest.iad-01.braze.com'
19
+ };
20
+ describe(`Testing snapshot for ${destinationSlug}'s ${actionSlug} destination action:`, () => {
21
+ it('required fields', async () => {
22
+ const action = index_1.default.actions[actionSlug];
23
+ const [eventData, settingsData] = test_data_1.generateTestData(seedName, index_1.default, action, true);
24
+ nock_1.default(/.*/).persist().get(/.*/).reply(200);
25
+ nock_1.default(/.*/).persist().post(/.*/).reply(200);
26
+ nock_1.default(/.*/).persist().put(/.*/).reply(200);
27
+ const event = actions_core_1.createTestEvent({
28
+ properties: eventData
29
+ });
30
+ const responses = await testDestination.testAction(actionSlug, {
31
+ event: event,
32
+ mapping: event.properties,
33
+ settings: settingsData,
34
+ auth: undefined
35
+ });
36
+ const request = responses[0].request;
37
+ const rawBody = await request.text();
38
+ try {
39
+ const json = JSON.parse(rawBody);
40
+ expect(json).toMatchSnapshot();
41
+ return;
42
+ }
43
+ catch (err) {
44
+ expect(rawBody).toMatchSnapshot();
45
+ }
46
+ expect(request.headers).toMatchSnapshot();
47
+ });
48
+ it('all fields', async () => {
49
+ const action = index_1.default.actions[actionSlug];
50
+ const [eventData, settingsData] = test_data_1.generateTestData(seedName, index_1.default, action, false);
51
+ nock_1.default(/.*/).persist().get(/.*/).reply(200);
52
+ nock_1.default(/.*/).persist().post(/.*/).reply(200);
53
+ nock_1.default(/.*/).persist().put(/.*/).reply(200);
54
+ const event = actions_core_1.createTestEvent({
55
+ properties: eventData
56
+ });
57
+ const responses = await testDestination.testAction(actionSlug, {
58
+ event: event,
59
+ mapping: event.properties,
60
+ settings: settingsData,
61
+ auth: undefined
62
+ });
63
+ const request = responses[0].request;
64
+ const rawBody = await request.text();
65
+ try {
66
+ const json = JSON.parse(rawBody);
67
+ expect(json).toMatchSnapshot();
68
+ return;
69
+ }
70
+ catch (err) {
71
+ expect(rawBody).toMatchSnapshot();
72
+ }
73
+ });
74
+ it('it should work with batched events', async () => {
75
+ nock_1.default('https://rest.iad-01.braze.com').post('/users/track').reply(200, {});
76
+ const events = [
77
+ actions_core_1.createTestEvent({
78
+ event: 'Test Event 1',
79
+ type: 'track',
80
+ receivedAt,
81
+ properties: {}
82
+ }),
83
+ actions_core_1.createTestEvent({
84
+ event: 'Test Event 2',
85
+ type: 'track',
86
+ receivedAt,
87
+ properties: {}
88
+ })
89
+ ];
90
+ const responses = await testDestination.testBatchAction(actionSlug, {
91
+ events,
92
+ useDefaultMappings: true,
93
+ mapping: {
94
+ external_id: {
95
+ '@path': '$.userId'
96
+ },
97
+ user_alias: {},
98
+ braze_id: {
99
+ '@path': '$.properties.braze_id'
100
+ },
101
+ name: {
102
+ '@path': '$.event'
103
+ },
104
+ time: {
105
+ '@path': '$.receivedAt'
106
+ },
107
+ properties: {
108
+ '@path': '$.properties'
109
+ },
110
+ products: {
111
+ '@path': '$.properties.products'
112
+ },
113
+ enable_batching: true,
114
+ _update_existing_only: true
115
+ },
116
+ settings: {
117
+ ...settings
118
+ }
119
+ });
120
+ expect(responses.length).toBe(1);
121
+ expect(responses[0].status).toBe(200);
122
+ expect(responses[0].options.headers).toMatchSnapshot();
123
+ expect(responses[0].options.json).toMatchSnapshot();
124
+ });
125
+ it('it should work with a single batched events', async () => {
126
+ nock_1.default('https://rest.iad-01.braze.com').post('/users/track').reply(200, {});
127
+ const events = [
128
+ actions_core_1.createTestEvent({
129
+ event: 'Test Event 1',
130
+ type: 'track',
131
+ receivedAt,
132
+ properties: {
133
+ products: [
134
+ {
135
+ quantity: 1,
136
+ product_id: 'Bowflex Treadmill 10',
137
+ price: 100
138
+ },
139
+ {
140
+ quantity: 2,
141
+ product_id: 'Bowflex Treadmill 20',
142
+ price: 200
143
+ }
144
+ ]
145
+ }
146
+ })
147
+ ];
148
+ const responses = await testDestination.testBatchAction(actionSlug, {
149
+ events,
150
+ useDefaultMappings: true,
151
+ mapping: {
152
+ external_id: {
153
+ '@path': '$.userId'
154
+ },
155
+ user_alias: {},
156
+ braze_id: {
157
+ '@path': '$.properties.braze_id'
158
+ },
159
+ name: {
160
+ '@path': '$.event'
161
+ },
162
+ time: {
163
+ '@path': '$.receivedAt'
164
+ },
165
+ properties: {
166
+ '@path': '$.properties'
167
+ },
168
+ products: {
169
+ '@path': '$.properties.products'
170
+ },
171
+ enable_batching: true,
172
+ _update_existing_only: true
173
+ },
174
+ settings: {
175
+ ...settings
176
+ }
177
+ });
178
+ expect(responses.length).toBe(1);
179
+ expect(responses[0].status).toBe(200);
180
+ expect(responses[0].options.headers).toMatchSnapshot();
181
+ expect(responses[0].options.json).toMatchSnapshot();
182
+ });
183
+ });
184
+ //# sourceMappingURL=snapshot.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot.test.js","sourceRoot":"","sources":["../../../../../src/destinations/braze/updateUserProfile/__snapshots__/snapshot.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export interface Profile {
2
+ user_id?: string;
3
+ anonymous_id?: string;
4
+ email?: string;
5
+ traits: Record<string, string>;
6
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=Profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Profile.js","sourceRoot":"","sources":["../../../../src/destinations/engage/utils/Profile.ts"],"names":[],"mappings":""}
@@ -0,0 +1,22 @@
1
+ import { InputField } from '@segment/actions-core';
2
+ import { RequestClient } from '@segment/actions-core';
3
+ import { Logger, StatsClient, DataFeedCache } from '@segment/actions-core/destination-kit';
4
+ import type { Settings } from '../sendgrid/generated-types';
5
+ import { Profile } from './Profile';
6
+ export declare type ApiLookupConfig = {
7
+ id?: string | undefined;
8
+ name: string;
9
+ url: string;
10
+ method: string;
11
+ cacheTtl: number;
12
+ body?: string | undefined;
13
+ headers?: object | undefined;
14
+ responseType: string;
15
+ shouldRetryOnRetryableError?: boolean;
16
+ };
17
+ export declare const getRequestId: ({ method, url, body, headers }: ApiLookupConfig) => string;
18
+ export declare const getCachedResponse: ({ responseType }: ApiLookupConfig, requestId: string, dataFeedCache: DataFeedCache, datafeedTags: string[]) => Promise<any>;
19
+ export declare const performApiLookup: (request: RequestClient, apiLookupConfig: ApiLookupConfig, profile: Profile, statsClient: StatsClient | undefined, tags: string[], settings: Settings, logger?: Logger | undefined, dataFeedCache?: DataFeedCache | undefined) => Promise<any>;
20
+ export declare const apiLookupActionFields: Record<string, InputField>;
21
+ export declare const apiLookupLiquidKey = "datafeeds";
22
+ export declare const FLAGON_NAME_DATA_FEEDS = "is-datafeeds-enabled";
@@ -0,0 +1,189 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FLAGON_NAME_DATA_FEEDS = exports.apiLookupLiquidKey = exports.apiLookupActionFields = exports.performApiLookup = exports.getCachedResponse = exports.getRequestId = void 0;
4
+ const crypto_1 = require("crypto");
5
+ const actions_core_1 = require("@segment/actions-core");
6
+ const liquidjs_1 = require("liquidjs");
7
+ const Liquid = new liquidjs_1.Liquid();
8
+ const renderLiquidFields = async ({ url, body }, profile, datafeedTags, logDataFeedError) => {
9
+ let renderedUrl;
10
+ let renderedBody;
11
+ try {
12
+ renderedUrl = await Liquid.parseAndRender(url, { profile });
13
+ }
14
+ catch (error) {
15
+ logDataFeedError('URL liquid render failuere', error);
16
+ datafeedTags.push('error:true', 'reason:rendering_failure', 'rendering:url');
17
+ throw new actions_core_1.IntegrationError('Unable to parse data feed url', 'DATA_FEED_RENDERING_ERROR', 400);
18
+ }
19
+ try {
20
+ renderedBody = body ? await Liquid.parseAndRender(body, { profile }) : undefined;
21
+ }
22
+ catch (error) {
23
+ logDataFeedError('Body liquid render failure', error);
24
+ datafeedTags.push('error:true', 'reason:rendering_failure', 'rendering:body');
25
+ throw new actions_core_1.IntegrationError('Unable to parse email api lookup body', 'DATA_FEED_RENDERING_ERROR', 400);
26
+ }
27
+ return {
28
+ renderedUrl,
29
+ renderedBody
30
+ };
31
+ };
32
+ const getRequestId = ({ method, url, body, headers }) => {
33
+ const requestHash = crypto_1.createHash('sha256');
34
+ requestHash.update(`${method}${url}${body}${JSON.stringify(headers)}`);
35
+ const requestId = requestHash.digest('hex');
36
+ return requestId;
37
+ };
38
+ exports.getRequestId = getRequestId;
39
+ const getCachedResponse = async ({ responseType }, requestId, dataFeedCache, datafeedTags) => {
40
+ const cachedResponse = await dataFeedCache.getRequestResponse(requestId);
41
+ if (!cachedResponse) {
42
+ datafeedTags.push('cache_hit:false');
43
+ return;
44
+ }
45
+ datafeedTags.push('cache_hit:true');
46
+ if (responseType === 'json') {
47
+ return JSON.parse(cachedResponse);
48
+ }
49
+ return cachedResponse;
50
+ };
51
+ exports.getCachedResponse = getCachedResponse;
52
+ const performApiLookup = async (request, apiLookupConfig, profile, statsClient, tags, settings, logger, dataFeedCache) => {
53
+ const { id, method, headers, cacheTtl, name, shouldRetryOnRetryableError = true } = apiLookupConfig;
54
+ const datafeedTags = [
55
+ ...tags,
56
+ `datafeed_id:${id}`,
57
+ `datafeed_name:${name}`,
58
+ `space_id:${settings.spaceId}`,
59
+ `cache_ttl_greater_than_0:${cacheTtl > 0}`,
60
+ `retry_enabled:${shouldRetryOnRetryableError}`
61
+ ];
62
+ const logDataFeedError = (message, error) => {
63
+ logger?.error(`TE Messaging: Data feed error - message: ${message} - data feed name: ${name} - data feed id: ${id} - space id: ${settings.spaceId} - raw error: ${error}`);
64
+ };
65
+ try {
66
+ const { renderedUrl, renderedBody } = await renderLiquidFields(apiLookupConfig, profile, datafeedTags, logDataFeedError);
67
+ const requestId = exports.getRequestId({ ...apiLookupConfig, url: renderedUrl, body: renderedBody });
68
+ if (cacheTtl > 0 && !dataFeedCache) {
69
+ logDataFeedError('Data feed cache not available and cache needed');
70
+ datafeedTags.push('cache_set:false');
71
+ throw new actions_core_1.IntegrationError('Data feed cache not available and cache needed', 'DATA_FEED_CACHE_NOT_AVAILABLE', 400);
72
+ }
73
+ if (cacheTtl > 0 && dataFeedCache) {
74
+ const cachedResponse = await exports.getCachedResponse(apiLookupConfig, requestId, dataFeedCache, datafeedTags);
75
+ if (cachedResponse) {
76
+ datafeedTags.push('error:false');
77
+ return cachedResponse;
78
+ }
79
+ }
80
+ let data;
81
+ try {
82
+ const res = await request(renderedUrl, {
83
+ headers: headers ?? undefined,
84
+ timeout: 3000,
85
+ method: method,
86
+ body: renderedBody,
87
+ skipResponseCloning: true
88
+ });
89
+ data = await res.data;
90
+ }
91
+ catch (error) {
92
+ const respError = error.response;
93
+ logDataFeedError('Data feed call failure', error);
94
+ datafeedTags.push(`error:true`, `error_status:${respError?.status}`, 'reason:api_call_failure');
95
+ if (shouldRetryOnRetryableError) {
96
+ throw error;
97
+ }
98
+ return {};
99
+ }
100
+ if (cacheTtl > 0 && dataFeedCache) {
101
+ const dataString = JSON.stringify(data);
102
+ const size = Buffer.byteLength(dataString, 'utf-8');
103
+ if (size > dataFeedCache.maxResponseSizeBytes) {
104
+ datafeedTags.push('error:true', 'reason:response_size_too_big');
105
+ logDataFeedError('Data feed response size too big too cache and caching needed, failing send');
106
+ throw new actions_core_1.IntegrationError('Data feed response size too big too cache and caching needed, failing send', 'DATA_FEED_RESPONSE_TOO_BIG', 400);
107
+ }
108
+ try {
109
+ await dataFeedCache.setRequestResponse(requestId, dataString, cacheTtl / 1000);
110
+ datafeedTags.push('cache_set:true');
111
+ }
112
+ catch (error) {
113
+ logDataFeedError('Data feed cache set failure', error);
114
+ datafeedTags.push('error:true', 'reason:cache_set_failure', 'cache_set:false');
115
+ throw error;
116
+ }
117
+ }
118
+ datafeedTags.push('error:false');
119
+ return data;
120
+ }
121
+ catch (error) {
122
+ const isErrorCapturedInTags = datafeedTags.find((str) => str.includes('error:true'));
123
+ if (!isErrorCapturedInTags) {
124
+ datafeedTags.push('error:true', 'reason:unknown');
125
+ }
126
+ tags.push('reason:datafeed_failure');
127
+ logDataFeedError('Unexpected data feed error', error);
128
+ throw error;
129
+ }
130
+ finally {
131
+ statsClient?.incr('datafeed_execution', 1, datafeedTags);
132
+ }
133
+ };
134
+ exports.performApiLookup = performApiLookup;
135
+ exports.apiLookupActionFields = {
136
+ id: {
137
+ label: 'ID',
138
+ description: 'The id of the API lookup for use in logging & observability',
139
+ type: 'string'
140
+ },
141
+ name: {
142
+ label: 'Name',
143
+ description: 'The name of the API lookup referenced in liquid syntax',
144
+ type: 'string',
145
+ required: true
146
+ },
147
+ url: {
148
+ label: 'URL',
149
+ description: 'The URL endpoint to call',
150
+ type: 'string',
151
+ required: true
152
+ },
153
+ method: {
154
+ label: 'Request Method',
155
+ description: 'The request method, e.g. GET/POST/etc.',
156
+ type: 'string',
157
+ required: true
158
+ },
159
+ cacheTtl: {
160
+ label: 'Cache TTL',
161
+ description: 'The cache TTL in ms',
162
+ type: 'integer',
163
+ required: true
164
+ },
165
+ body: {
166
+ label: 'Request Body',
167
+ description: 'The request body for use with POST/PUT/PATCH requests',
168
+ type: 'string'
169
+ },
170
+ headers: {
171
+ label: 'Request Headers',
172
+ description: 'Headers in JSON to be sent with the request',
173
+ type: 'object'
174
+ },
175
+ responseType: {
176
+ label: 'Response Type',
177
+ description: 'The response type of the request. Currently only supporting JSON.',
178
+ type: 'string',
179
+ required: true
180
+ },
181
+ shouldRetryOnRetryableError: {
182
+ label: 'Should Retry',
183
+ description: 'Whether the message should be retried (if the error code is retryable) when the data feed fails or if it should be sent with empty data instead',
184
+ type: 'boolean'
185
+ }
186
+ };
187
+ exports.apiLookupLiquidKey = 'datafeeds';
188
+ exports.FLAGON_NAME_DATA_FEEDS = 'is-datafeeds-enabled';
189
+ //# sourceMappingURL=apiLookups.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiLookups.js","sourceRoot":"","sources":["../../../../src/destinations/engage/utils/apiLookups.ts"],"names":[],"mappings":"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"}