@segment/action-destinations 3.345.7-staging → 3.345.7-staging-1461904fc.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 (163) hide show
  1. package/dist/destinations/salesforce-marketing-cloud/_tests_/multistatus.test.d.ts +1 -0
  2. package/dist/destinations/salesforce-marketing-cloud/_tests_/multistatus.test.js +325 -0
  3. package/dist/destinations/salesforce-marketing-cloud/_tests_/multistatus.test.js.map +1 -0
  4. package/dist/destinations/salesforce-marketing-cloud/contactDataExtension/index.js +1 -17
  5. package/dist/destinations/salesforce-marketing-cloud/contactDataExtension/index.js.map +1 -1
  6. package/dist/destinations/salesforce-marketing-cloud/dataExtension/index.js +1 -17
  7. package/dist/destinations/salesforce-marketing-cloud/dataExtension/index.js.map +1 -1
  8. package/dist/destinations/salesforce-marketing-cloud/sfmc-operations.d.ts +2 -2
  9. package/dist/destinations/salesforce-marketing-cloud/sfmc-operations.js +45 -7
  10. package/dist/destinations/salesforce-marketing-cloud/sfmc-operations.js.map +1 -1
  11. package/dist/destinations/salesforce-marketing-cloud/types.d.ts +19 -0
  12. package/dist/destinations/salesforce-marketing-cloud/types.js.map +1 -0
  13. package/package.json +2 -2
  14. package/dist/destinations/accoil-analytics/postToAccoil/generated-types.d.ts +0 -5
  15. package/dist/destinations/accoil-analytics/postToAccoil/generated-types.js +0 -3
  16. package/dist/destinations/accoil-analytics/postToAccoil/generated-types.js.map +0 -1
  17. package/dist/destinations/accoil-analytics/postToAccoil/index.d.ts +0 -5
  18. package/dist/destinations/accoil-analytics/postToAccoil/index.js +0 -28
  19. package/dist/destinations/accoil-analytics/postToAccoil/index.js.map +0 -1
  20. package/dist/destinations/braze/createAliasV2.types.d.ts +0 -5
  21. package/dist/destinations/braze/createAliasV2.types.js +0 -3
  22. package/dist/destinations/braze/createAliasV2.types.js.map +0 -1
  23. package/dist/destinations/braze/identifyUserV2.types.d.ts +0 -8
  24. package/dist/destinations/braze/identifyUserV2.types.js +0 -3
  25. package/dist/destinations/braze/identifyUserV2.types.js.map +0 -1
  26. package/dist/destinations/campaign-manager-360/common-fields.d.ts +0 -3
  27. package/dist/destinations/campaign-manager-360/common-fields.js +0 -306
  28. package/dist/destinations/campaign-manager-360/common-fields.js.map +0 -1
  29. package/dist/destinations/campaign-manager-360/conversionAdjustmentUpload/generated-types.d.ts +0 -45
  30. package/dist/destinations/campaign-manager-360/conversionAdjustmentUpload/generated-types.js +0 -3
  31. package/dist/destinations/campaign-manager-360/conversionAdjustmentUpload/generated-types.js.map +0 -1
  32. package/dist/destinations/campaign-manager-360/conversionAdjustmentUpload/index.d.ts +0 -5
  33. package/dist/destinations/campaign-manager-360/conversionAdjustmentUpload/index.js +0 -86
  34. package/dist/destinations/campaign-manager-360/conversionAdjustmentUpload/index.js.map +0 -1
  35. package/dist/destinations/campaign-manager-360/conversionUpload/generated-types.d.ts +0 -50
  36. package/dist/destinations/campaign-manager-360/conversionUpload/generated-types.js +0 -3
  37. package/dist/destinations/campaign-manager-360/conversionUpload/generated-types.js.map +0 -1
  38. package/dist/destinations/campaign-manager-360/conversionUpload/index.d.ts +0 -5
  39. package/dist/destinations/campaign-manager-360/conversionUpload/index.js +0 -131
  40. package/dist/destinations/campaign-manager-360/conversionUpload/index.js.map +0 -1
  41. package/dist/destinations/campaign-manager-360/generated-types.d.ts +0 -5
  42. package/dist/destinations/campaign-manager-360/generated-types.js +0 -3
  43. package/dist/destinations/campaign-manager-360/generated-types.js.map +0 -1
  44. package/dist/destinations/campaign-manager-360/index.d.ts +0 -4
  45. package/dist/destinations/campaign-manager-360/index.js +0 -63
  46. package/dist/destinations/campaign-manager-360/index.js.map +0 -1
  47. package/dist/destinations/campaign-manager-360/types.d.ts +0 -116
  48. package/dist/destinations/campaign-manager-360/types.js +0 -23
  49. package/dist/destinations/campaign-manager-360/types.js.map +0 -1
  50. package/dist/destinations/campaign-manager-360/utils.d.ts +0 -21
  51. package/dist/destinations/campaign-manager-360/utils.js +0 -175
  52. package/dist/destinations/campaign-manager-360/utils.js.map +0 -1
  53. package/dist/destinations/first-party-dv360/addToList/generated-types.d.ts +0 -2
  54. package/dist/destinations/first-party-dv360/addToList/generated-types.js +0 -3
  55. package/dist/destinations/first-party-dv360/addToList/generated-types.js.map +0 -1
  56. package/dist/destinations/first-party-dv360/addToList/index.d.ts +0 -5
  57. package/dist/destinations/first-party-dv360/addToList/index.js +0 -11
  58. package/dist/destinations/first-party-dv360/addToList/index.js.map +0 -1
  59. package/dist/destinations/first-party-dv360/addToList.types.d.ts +0 -9
  60. package/dist/destinations/first-party-dv360/addToList.types.js +0 -3
  61. package/dist/destinations/first-party-dv360/addToList.types.js.map +0 -1
  62. package/dist/destinations/hubspot/customEvent/dynamic-fields.d.ts +0 -5
  63. package/dist/destinations/hubspot/customEvent/dynamic-fields.js +0 -112
  64. package/dist/destinations/hubspot/customEvent/dynamic-fields.js.map +0 -1
  65. package/dist/destinations/hubspot/customEvent/event-completion.d.ts +0 -3
  66. package/dist/destinations/hubspot/customEvent/event-completion.js +0 -17
  67. package/dist/destinations/hubspot/customEvent/event-completion.js.map +0 -1
  68. package/dist/destinations/hubspot/customEvent/schema-functions.d.ts +0 -3
  69. package/dist/destinations/hubspot/customEvent/schema-functions.js +0 -30
  70. package/dist/destinations/hubspot/customEvent/schema-functions.js.map +0 -1
  71. package/dist/destinations/hubspot/customEvent/utils.d.ts +0 -14
  72. package/dist/destinations/hubspot/customEvent/utils.js +0 -303
  73. package/dist/destinations/hubspot/customEvent/utils.js.map +0 -1
  74. package/dist/destinations/hubspot/customEvent/validation-functions.d.ts +0 -3
  75. package/dist/destinations/hubspot/customEvent/validation-functions.js +0 -66
  76. package/dist/destinations/hubspot/customEvent/validation-functions.js.map +0 -1
  77. package/dist/destinations/hubspot/customEvent/validation.d.ts +0 -3
  78. package/dist/destinations/hubspot/customEvent/validation.js +0 -66
  79. package/dist/destinations/hubspot/customEvent/validation.js.map +0 -1
  80. package/dist/destinations/hubspot/upsertObject/association-functions.d.ts +0 -5
  81. package/dist/destinations/hubspot/upsertObject/association-functions.js +0 -136
  82. package/dist/destinations/hubspot/upsertObject/association-functions.js.map +0 -1
  83. package/dist/destinations/hubspot/upsertObject/cache-functions.d.ts +0 -3
  84. package/dist/destinations/hubspot/upsertObject/cache-functions.js +0 -20
  85. package/dist/destinations/hubspot/upsertObject/cache-functions.js.map +0 -1
  86. package/dist/destinations/hubspot/upsertObject/dynamic-fields.d.ts +0 -7
  87. package/dist/destinations/hubspot/upsertObject/dynamic-fields.js +0 -222
  88. package/dist/destinations/hubspot/upsertObject/dynamic-fields.js.map +0 -1
  89. package/dist/destinations/hubspot/upsertObject/hubspot-association-functions.d.ts +0 -5
  90. package/dist/destinations/hubspot/upsertObject/hubspot-association-functions.js +0 -136
  91. package/dist/destinations/hubspot/upsertObject/hubspot-association-functions.js.map +0 -1
  92. package/dist/destinations/hubspot/upsertObject/hubspot-properties-functions.d.ts +0 -4
  93. package/dist/destinations/hubspot/upsertObject/hubspot-properties-functions.js +0 -159
  94. package/dist/destinations/hubspot/upsertObject/hubspot-properties-functions.js.map +0 -1
  95. package/dist/destinations/hubspot/upsertObject/hubspot-record-functions.d.ts +0 -4
  96. package/dist/destinations/hubspot/upsertObject/hubspot-record-functions.js +0 -100
  97. package/dist/destinations/hubspot/upsertObject/hubspot-record-functions.js.map +0 -1
  98. package/dist/destinations/hubspot/upsertObject/schema-functions.d.ts +0 -3
  99. package/dist/destinations/hubspot/upsertObject/schema-functions.js +0 -80
  100. package/dist/destinations/hubspot/upsertObject/schema-functions.js.map +0 -1
  101. package/dist/destinations/hubspot/upsertObject/send-from-record-functions.d.ts +0 -4
  102. package/dist/destinations/hubspot/upsertObject/send-from-record-functions.js +0 -100
  103. package/dist/destinations/hubspot/upsertObject/send-from-record-functions.js.map +0 -1
  104. package/dist/destinations/hubspot/upsertObject/utils.d.ts +0 -13
  105. package/dist/destinations/hubspot/upsertObject/utils.js +0 -547
  106. package/dist/destinations/hubspot/upsertObject/utils.js.map +0 -1
  107. package/dist/destinations/hubspot/upsertObject/validation-functions.d.ts +0 -2
  108. package/dist/destinations/hubspot/upsertObject/validation-functions.js +0 -67
  109. package/dist/destinations/hubspot/upsertObject/validation-functions.js.map +0 -1
  110. package/dist/destinations/responsys/shared_properties.d.ts +0 -3
  111. package/dist/destinations/responsys/shared_properties.js +0 -19
  112. package/dist/destinations/responsys/shared_properties.js.map +0 -1
  113. package/dist/destinations/s3/syncAudienceToS3/generated-types.d.ts +0 -53
  114. package/dist/destinations/s3/syncAudienceToS3/generated-types.js +0 -3
  115. package/dist/destinations/s3/syncAudienceToS3/generated-types.js.map +0 -1
  116. package/dist/destinations/s3/syncAudienceToS3/index.d.ts +0 -5
  117. package/dist/destinations/s3/syncAudienceToS3/index.js +0 -22
  118. package/dist/destinations/s3/syncAudienceToS3/index.js.map +0 -1
  119. package/dist/destinations/s3/syncEventsToS3/generated-types.d.ts +0 -44
  120. package/dist/destinations/s3/syncEventsToS3/generated-types.js +0 -3
  121. package/dist/destinations/s3/syncEventsToS3/generated-types.js.map +0 -1
  122. package/dist/destinations/s3/syncEventsToS3/index.d.ts +0 -5
  123. package/dist/destinations/s3/syncEventsToS3/index.js +0 -19
  124. package/dist/destinations/s3/syncEventsToS3/index.js.map +0 -1
  125. package/dist/destinations/s3/syncToS3.types.d.ts +0 -44
  126. package/dist/destinations/s3/syncToS3.types.js +0 -3
  127. package/dist/destinations/s3/syncToS3.types.js.map +0 -1
  128. package/dist/destinations/singlestore/sendData/generated-types.d.ts +0 -2
  129. package/dist/destinations/singlestore/sendData/generated-types.js +0 -3
  130. package/dist/destinations/singlestore/sendData/generated-types.js.map +0 -1
  131. package/dist/destinations/singlestore/sendData/index.d.ts +0 -5
  132. package/dist/destinations/singlestore/sendData/index.js +0 -65
  133. package/dist/destinations/singlestore/sendData/index.js.map +0 -1
  134. package/dist/destinations/singlestore/utils.d.ts +0 -0
  135. package/dist/destinations/singlestore/utils.js +0 -2
  136. package/dist/destinations/singlestore/utils.js.map +0 -1
  137. package/dist/destinations/twilio-messaging/generated-types.d.ts +0 -6
  138. package/dist/destinations/twilio-messaging/generated-types.js +0 -3
  139. package/dist/destinations/twilio-messaging/generated-types.js.map +0 -1
  140. package/dist/destinations/twilio-messaging/index.d.ts +0 -4
  141. package/dist/destinations/twilio-messaging/index.js +0 -61
  142. package/dist/destinations/twilio-messaging/index.js.map +0 -1
  143. package/dist/destinations/twilio-messaging/sendMessage/constants.d.ts +0 -45
  144. package/dist/destinations/twilio-messaging/sendMessage/constants.js +0 -99
  145. package/dist/destinations/twilio-messaging/sendMessage/constants.js.map +0 -1
  146. package/dist/destinations/twilio-messaging/sendMessage/dynamic-fields.d.ts +0 -11
  147. package/dist/destinations/twilio-messaging/sendMessage/dynamic-fields.js +0 -209
  148. package/dist/destinations/twilio-messaging/sendMessage/dynamic-fields.js.map +0 -1
  149. package/dist/destinations/twilio-messaging/sendMessage/fields.d.ts +0 -2
  150. package/dist/destinations/twilio-messaging/sendMessage/fields.js +0 -261
  151. package/dist/destinations/twilio-messaging/sendMessage/fields.js.map +0 -1
  152. package/dist/destinations/twilio-messaging/sendMessage/generated-types.d.ts +0 -24
  153. package/dist/destinations/twilio-messaging/sendMessage/generated-types.js +0 -3
  154. package/dist/destinations/twilio-messaging/sendMessage/generated-types.js.map +0 -1
  155. package/dist/destinations/twilio-messaging/sendMessage/index.d.ts +0 -5
  156. package/dist/destinations/twilio-messaging/sendMessage/index.js +0 -42
  157. package/dist/destinations/twilio-messaging/sendMessage/index.js.map +0 -1
  158. package/dist/destinations/twilio-messaging/sendMessage/types.d.ts +0 -34
  159. package/dist/destinations/twilio-messaging/sendMessage/types.js.map +0 -1
  160. package/dist/destinations/twilio-messaging/sendMessage/utils.d.ts +0 -6
  161. package/dist/destinations/twilio-messaging/sendMessage/utils.js +0 -154
  162. package/dist/destinations/twilio-messaging/sendMessage/utils.js.map +0 -1
  163. /package/dist/destinations/{twilio-messaging/sendMessage → salesforce-marketing-cloud}/types.js +0 -0
@@ -0,0 +1,325 @@
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 nock_1 = __importDefault(require("nock"));
8
+ const index_1 = __importDefault(require("../index"));
9
+ beforeEach(() => nock_1.default.cleanAll());
10
+ const testDestination = actions_core_1.createTestIntegration(index_1.default);
11
+ const settings = {
12
+ subdomain: 'test123',
13
+ client_id: 'test123',
14
+ client_secret: 'test123',
15
+ account_id: 'test123'
16
+ };
17
+ const requestUrl = `https://${settings.subdomain}.rest.marketingcloudapis.com/hub/v1/dataevents/1234567890/rowset`;
18
+ const mapping = {
19
+ id: { '@path': '$.properties.id' },
20
+ keys: { '@path': '$.properties.keys' },
21
+ values: { '@path': '$.properties.values' }
22
+ };
23
+ describe('Multistatus', () => {
24
+ describe('dataExtension', () => {
25
+ it('should successfully handle a batch of events with complete success response from SFMC API', async () => {
26
+ nock_1.default(requestUrl).post('').reply(200, {});
27
+ const events = [
28
+ actions_core_1.createTestEvent({
29
+ type: 'track',
30
+ userId: 'harry-1',
31
+ properties: {
32
+ id: '1234567890',
33
+ keys: {
34
+ id: 'HS1'
35
+ },
36
+ values: {
37
+ name: 'Harry Styles'
38
+ }
39
+ }
40
+ }),
41
+ actions_core_1.createTestEvent({
42
+ type: 'track',
43
+ userId: 'harry-1',
44
+ properties: {
45
+ id: '1234567890',
46
+ keys: {
47
+ id: 'HS1'
48
+ },
49
+ values: {
50
+ name: 'Harry Styles'
51
+ }
52
+ }
53
+ })
54
+ ];
55
+ const response = await testDestination.executeBatch('dataExtension', {
56
+ events,
57
+ settings,
58
+ mapping
59
+ });
60
+ expect(response[0]).toMatchObject({
61
+ status: 200,
62
+ body: {}
63
+ });
64
+ expect(response[1]).toMatchObject({
65
+ status: 200,
66
+ body: {}
67
+ });
68
+ });
69
+ it('should handle the case where both key and id are missing', async () => {
70
+ const events = [
71
+ actions_core_1.createTestEvent({
72
+ type: 'track',
73
+ userId: 'harry-1',
74
+ properties: {
75
+ keys: {
76
+ id: 'HS1'
77
+ },
78
+ values: {
79
+ name: 'Harry Styles'
80
+ }
81
+ }
82
+ }),
83
+ actions_core_1.createTestEvent({
84
+ type: 'track',
85
+ userId: 'harry-2',
86
+ properties: {
87
+ keys: {
88
+ id: 'HP1'
89
+ },
90
+ values: {
91
+ name: 'Harry Potter'
92
+ }
93
+ }
94
+ })
95
+ ];
96
+ const response = await testDestination.executeBatch('dataExtension', {
97
+ events,
98
+ settings,
99
+ mapping
100
+ });
101
+ expect(response[0]).toMatchObject({
102
+ status: 400,
103
+ errortype: 'PAYLOAD_VALIDATION_FAILED',
104
+ errormessage: 'In order to send an event to a data extension either Data Extension ID or Data Extension Key must be defined.',
105
+ errorreporter: 'INTEGRATIONS'
106
+ });
107
+ expect(response[1]).toMatchObject({
108
+ status: 400,
109
+ errortype: 'PAYLOAD_VALIDATION_FAILED',
110
+ errormessage: 'In order to send an event to a data extension either Data Extension ID or Data Extension Key must be defined.',
111
+ errorreporter: 'INTEGRATIONS'
112
+ });
113
+ });
114
+ it('should handle multistatus errors when some events fail with specific error messages', async () => {
115
+ const errorResponse = {
116
+ status: 400,
117
+ message: 'Invalid keys for ID: HS1',
118
+ additionalErrors: [
119
+ {
120
+ message: 'No record found for ID: HS2'
121
+ }
122
+ ]
123
+ };
124
+ nock_1.default(requestUrl).post('').reply(400, errorResponse);
125
+ const events = [
126
+ actions_core_1.createTestEvent({
127
+ type: 'track',
128
+ userId: 'harry-1',
129
+ properties: {
130
+ id: '1234567890',
131
+ keys: {
132
+ id: 'HS1'
133
+ },
134
+ values: {
135
+ name: 'Harry Styles'
136
+ }
137
+ }
138
+ }),
139
+ actions_core_1.createTestEvent({
140
+ type: 'track',
141
+ userId: 'harry-2',
142
+ properties: {
143
+ id: '1234567890',
144
+ keys: {
145
+ id: 'HS2'
146
+ },
147
+ values: {
148
+ name: 'Harry Potter'
149
+ }
150
+ }
151
+ })
152
+ ];
153
+ const response = await testDestination.executeBatch('dataExtension', {
154
+ events,
155
+ settings,
156
+ mapping
157
+ });
158
+ expect(response[0]).toMatchObject({
159
+ status: 400,
160
+ errortype: 'BAD_REQUEST',
161
+ errormessage: 'No record found for ID: HS2',
162
+ errorreporter: 'DESTINATION'
163
+ });
164
+ expect(response[1]).toMatchObject({
165
+ status: 400,
166
+ errortype: 'BAD_REQUEST',
167
+ errormessage: 'No record found for ID: HS2',
168
+ errorreporter: 'DESTINATION'
169
+ });
170
+ });
171
+ });
172
+ describe('contactDataExtension', () => {
173
+ it('should successfully handle a batch of events with complete success response from SFMC API', async () => {
174
+ nock_1.default(requestUrl).post('').reply(200, {});
175
+ const events = [
176
+ actions_core_1.createTestEvent({
177
+ type: 'track',
178
+ properties: {
179
+ id: '1234567890',
180
+ keys: {
181
+ contactKey: 'harry-1',
182
+ id: 'HS1'
183
+ },
184
+ values: {
185
+ name: 'Harry Styles'
186
+ }
187
+ }
188
+ }),
189
+ actions_core_1.createTestEvent({
190
+ type: 'track',
191
+ properties: {
192
+ id: '1234567890',
193
+ keys: {
194
+ contactKey: 'harry-2',
195
+ id: 'HP1'
196
+ },
197
+ values: {
198
+ name: 'Harry Potter'
199
+ }
200
+ }
201
+ })
202
+ ];
203
+ const response = await testDestination.executeBatch('contactDataExtension', {
204
+ events,
205
+ settings,
206
+ mapping
207
+ });
208
+ expect(response[0]).toMatchObject({
209
+ status: 200,
210
+ body: {}
211
+ });
212
+ expect(response[1]).toMatchObject({
213
+ status: 200,
214
+ body: {}
215
+ });
216
+ });
217
+ it('should handle the case where both key and id are missing', async () => {
218
+ const events = [
219
+ actions_core_1.createTestEvent({
220
+ type: 'track',
221
+ userId: 'harry-1',
222
+ properties: {
223
+ keys: {
224
+ contactKey: 'harry-1',
225
+ id: 'HS1'
226
+ },
227
+ values: {
228
+ name: 'Harry Styles'
229
+ }
230
+ }
231
+ }),
232
+ actions_core_1.createTestEvent({
233
+ type: 'track',
234
+ userId: 'harry-2',
235
+ properties: {
236
+ keys: {
237
+ contactKey: 'harry-2',
238
+ id: 'HP1'
239
+ },
240
+ values: {
241
+ name: 'Harry Potter'
242
+ }
243
+ }
244
+ })
245
+ ];
246
+ const response = await testDestination.executeBatch('contactDataExtension', {
247
+ events,
248
+ settings,
249
+ mapping
250
+ });
251
+ expect(response[0]).toMatchObject({
252
+ status: 400,
253
+ errortype: 'PAYLOAD_VALIDATION_FAILED',
254
+ errormessage: 'In order to send an event to a data extension either Data Extension ID or Data Extension Key must be defined.',
255
+ errorreporter: 'INTEGRATIONS'
256
+ });
257
+ expect(response[1]).toMatchObject({
258
+ status: 400,
259
+ errortype: 'PAYLOAD_VALIDATION_FAILED',
260
+ errormessage: 'In order to send an event to a data extension either Data Extension ID or Data Extension Key must be defined.',
261
+ errorreporter: 'INTEGRATIONS'
262
+ });
263
+ });
264
+ it('should handle multistatus errors when some events fail with specific error messages', async () => {
265
+ const errorResponse = {
266
+ status: 400,
267
+ message: 'Invalid keys for ID: HS1',
268
+ additionalErrors: [
269
+ {
270
+ message: 'No record found for ID: HS2'
271
+ }
272
+ ]
273
+ };
274
+ nock_1.default(requestUrl).post('').reply(400, errorResponse);
275
+ const events = [
276
+ actions_core_1.createTestEvent({
277
+ type: 'track',
278
+ userId: 'harry-1',
279
+ properties: {
280
+ id: '1234567890',
281
+ keys: {
282
+ contactKey: 'harry-1',
283
+ id: 'HS1'
284
+ },
285
+ values: {
286
+ name: 'Harry Styles'
287
+ }
288
+ }
289
+ }),
290
+ actions_core_1.createTestEvent({
291
+ type: 'track',
292
+ userId: 'harry-2',
293
+ properties: {
294
+ id: '1234567890',
295
+ keys: {
296
+ contactKey: 'harry-2',
297
+ id: 'HS2'
298
+ },
299
+ values: {
300
+ name: 'Harry Potter'
301
+ }
302
+ }
303
+ })
304
+ ];
305
+ const response = await testDestination.executeBatch('contactDataExtension', {
306
+ events,
307
+ settings,
308
+ mapping
309
+ });
310
+ expect(response[0]).toMatchObject({
311
+ status: 400,
312
+ errortype: 'BAD_REQUEST',
313
+ errormessage: 'No record found for ID: HS2',
314
+ errorreporter: 'DESTINATION'
315
+ });
316
+ expect(response[1]).toMatchObject({
317
+ status: 400,
318
+ errortype: 'BAD_REQUEST',
319
+ errormessage: 'No record found for ID: HS2',
320
+ errorreporter: 'DESTINATION'
321
+ });
322
+ });
323
+ });
324
+ });
325
+ //# sourceMappingURL=multistatus.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multistatus.test.js","sourceRoot":"","sources":["../../../../src/destinations/salesforce-marketing-cloud/_tests_/multistatus.test.ts"],"names":[],"mappings":"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"}
@@ -30,23 +30,7 @@ const action = {
30
30
  perform: async (request, { settings, payload }) => {
31
31
  return sfmc_operations_1.upsertRows(request, settings.subdomain, [payload]);
32
32
  },
33
- performBatch: async (request, { settings, payload, statsContext, features }) => {
34
- if (features && features['enable-sfmc-id-key-stats']) {
35
- const statsClient = statsContext?.statsClient;
36
- const tags = statsContext?.tags;
37
- const setKey = new Set();
38
- const setId = new Set();
39
- payload.forEach((profile) => {
40
- if (profile.id != undefined && profile.id != null) {
41
- setId.add(profile.id);
42
- }
43
- if (profile.key != undefined && profile.key != null) {
44
- setKey.add(profile.key);
45
- }
46
- });
47
- statsClient?.histogram(`sfmc_id`, setId.size, tags);
48
- statsClient?.histogram(`sfmc_key`, setKey.size, tags);
49
- }
33
+ performBatch: async (request, { settings, payload }) => {
50
34
  return sfmc_operations_1.upsertRows(request, settings.subdomain, payload);
51
35
  }
52
36
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/salesforce-marketing-cloud/contactDataExtension/index.ts"],"names":[],"mappings":";;AAGA,wDAAqG;AACrG,wDAA+C;AAE/C,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,gCAAgC;IACvC,mBAAmB,EAAE,mBAAmB;IACxC,WAAW,EAAE,4FAA4F;IACzG,MAAM,EAAE;QACN,GAAG,EAAE,qBAAG;QACR,EAAE,EAAE,oBAAE;QACN,IAAI,EAAE;YACJ,GAAG,sBAAI;YACP,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,KAAK,EAAE,aAAa;oBACpB,WAAW,EACT,gJAAgJ;oBAClJ,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,IAAI;iBACf;aACF;YACD,OAAO,EAAE;gBACP,UAAU,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;aACpC;SACF;QACD,MAAM,EAAE,sCAAoB;QAC5B,eAAe,EAAE,iCAAe;QAChC,UAAU,EAAE,4BAAU;KACvB;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAChD,OAAO,4BAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IAC3D,CAAC;IACD,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC7E,IAAI,QAAQ,IAAI,QAAQ,CAAC,0BAA0B,CAAC,EAAE;YACpD,MAAM,WAAW,GAAG,YAAY,EAAE,WAAW,CAAA;YAC7C,MAAM,IAAI,GAAG,YAAY,EAAE,IAAI,CAAA;YAC/B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,CAAA;YACxB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAE,CAAA;YACvB,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC1B,IAAI,OAAO,CAAC,EAAE,IAAI,SAAS,IAAI,OAAO,CAAC,EAAE,IAAI,IAAI,EAAE;oBACjD,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;iBACtB;gBACD,IAAI,OAAO,CAAC,GAAG,IAAI,SAAS,IAAI,OAAO,CAAC,GAAG,IAAI,IAAI,EAAE;oBACnD,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;iBACxB;YACH,CAAC,CAAC,CAAA;YACF,WAAW,EAAE,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YACnD,WAAW,EAAE,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;SACtD;QACD,OAAO,4BAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IACzD,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/salesforce-marketing-cloud/contactDataExtension/index.ts"],"names":[],"mappings":";;AAGA,wDAAqG;AACrG,wDAA+C;AAE/C,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,gCAAgC;IACvC,mBAAmB,EAAE,mBAAmB;IACxC,WAAW,EAAE,4FAA4F;IACzG,MAAM,EAAE;QACN,GAAG,EAAE,qBAAG;QACR,EAAE,EAAE,oBAAE;QACN,IAAI,EAAE;YACJ,GAAG,sBAAI;YACP,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,KAAK,EAAE,aAAa;oBACpB,WAAW,EACT,gJAAgJ;oBAClJ,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,IAAI;iBACf;aACF;YACD,OAAO,EAAE;gBACP,UAAU,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;aACpC;SACF;QACD,MAAM,EAAE,sCAAoB;QAC5B,eAAe,EAAE,iCAAe;QAChC,UAAU,EAAE,4BAAU;KACvB;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAChD,OAAO,4BAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IAC3D,CAAC;IACD,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QACrD,OAAO,4BAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IACzD,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -16,23 +16,7 @@ const action = {
16
16
  perform: async (request, { settings, payload }) => {
17
17
  return sfmc_operations_1.upsertRows(request, settings.subdomain, [payload]);
18
18
  },
19
- performBatch: async (request, { settings, payload, statsContext, features }) => {
20
- if (features && features['enable-sfmc-id-key-stats']) {
21
- const statsClient = statsContext?.statsClient;
22
- const tags = statsContext?.tags;
23
- const setKey = new Set();
24
- const setId = new Set();
25
- payload.forEach((profile) => {
26
- if (profile.id != undefined && profile.id != null) {
27
- setId.add(profile.id);
28
- }
29
- if (profile.key != undefined && profile.key != null) {
30
- setKey.add(profile.key);
31
- }
32
- });
33
- statsClient?.histogram(`sfmc_id`, setId.size, tags);
34
- statsClient?.histogram(`sfmc_key`, setKey.size, tags);
35
- }
19
+ performBatch: async (request, { settings, payload }) => {
36
20
  return sfmc_operations_1.upsertRows(request, settings.subdomain, payload);
37
21
  }
38
22
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/salesforce-marketing-cloud/dataExtension/index.ts"],"names":[],"mappings":";;AAGA,wDAA2G;AAC3G,wDAA+C;AAE/C,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,8BAA8B;IACrC,WAAW,EAAE,sFAAsF;IACnG,MAAM,EAAE;QACN,GAAG,EAAE,qBAAG;QACR,EAAE,EAAE,oBAAE;QACN,IAAI,EAAE,EAAE,GAAG,sBAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;QACjC,MAAM,EAAE,4CAA0B;QAClC,eAAe,EAAE,iCAAe;QAChC,UAAU,EAAE,4BAAU;KACvB;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAChD,OAAO,4BAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IAC3D,CAAC;IACD,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC7E,IAAI,QAAQ,IAAI,QAAQ,CAAC,0BAA0B,CAAC,EAAE;YACpD,MAAM,WAAW,GAAG,YAAY,EAAE,WAAW,CAAA;YAC7C,MAAM,IAAI,GAAG,YAAY,EAAE,IAAI,CAAA;YAC/B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,CAAA;YACxB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAE,CAAA;YACvB,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC1B,IAAI,OAAO,CAAC,EAAE,IAAI,SAAS,IAAI,OAAO,CAAC,EAAE,IAAI,IAAI,EAAE;oBACjD,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;iBACtB;gBACD,IAAI,OAAO,CAAC,GAAG,IAAI,SAAS,IAAI,OAAO,CAAC,GAAG,IAAI,IAAI,EAAE;oBACnD,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;iBACxB;YACH,CAAC,CAAC,CAAA;YACF,WAAW,EAAE,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YACnD,WAAW,EAAE,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;SACtD;QACD,OAAO,4BAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IACzD,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/salesforce-marketing-cloud/dataExtension/index.ts"],"names":[],"mappings":";;AAGA,wDAA2G;AAC3G,wDAA+C;AAE/C,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,8BAA8B;IACrC,WAAW,EAAE,sFAAsF;IACnG,MAAM,EAAE;QACN,GAAG,EAAE,qBAAG;QACR,EAAE,EAAE,oBAAE;QACN,IAAI,EAAE,EAAE,GAAG,sBAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;QACjC,MAAM,EAAE,4CAA0B;QAClC,eAAe,EAAE,iCAAe;QAChC,UAAU,EAAE,4BAAU;KACvB;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAChD,OAAO,4BAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IAC3D,CAAC;IACD,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QACrD,OAAO,4BAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IACzD,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -1,4 +1,4 @@
1
- import { RequestClient } from '@segment/actions-core';
1
+ import { RequestClient, MultiStatusResponse, ModifiedResponse } from '@segment/actions-core';
2
2
  import { Payload as payload_dataExtension } from './dataExtension/generated-types';
3
3
  import { Payload as payload_contactDataExtension } from './contactDataExtension/generated-types';
4
- export declare function upsertRows(request: RequestClient, subdomain: String, payloads: payload_dataExtension[] | payload_contactDataExtension[]): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
4
+ export declare function upsertRows(request: RequestClient, subdomain: String, payloads: payload_dataExtension[] | payload_contactDataExtension[]): Promise<MultiStatusResponse | ModifiedResponse<unknown> | undefined>;
@@ -2,10 +2,23 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.upsertRows = void 0;
4
4
  const actions_core_1 = require("@segment/actions-core");
5
- function upsertRows(request, subdomain, payloads) {
5
+ async function upsertRows(request, subdomain, payloads) {
6
+ const multiStatusResponse = new actions_core_1.MultiStatusResponse();
7
+ let url;
8
+ let response;
6
9
  const { key, id } = payloads[0];
7
10
  if (!key && !id) {
8
- throw new actions_core_1.IntegrationError(`In order to send an event to a data extension either Data Extension ID or Data Extension Key must be defined.`, 'Misconfigured required field', 400);
11
+ if (payloads.length === 1) {
12
+ throw new actions_core_1.IntegrationError(`In order to send an event to a data extension either Data Extension ID or Data Extension Key must be defined.`, 'Misconfigured required field', 400);
13
+ }
14
+ payloads.forEach((_, index) => {
15
+ multiStatusResponse.setErrorResponseAtIndex(index, {
16
+ status: 400,
17
+ errortype: 'PAYLOAD_VALIDATION_FAILED',
18
+ errormessage: `In order to send an event to a data extension either Data Extension ID or Data Extension Key must be defined.`
19
+ });
20
+ });
21
+ return multiStatusResponse;
9
22
  }
10
23
  const rows = [];
11
24
  payloads.forEach((payload) => {
@@ -15,17 +28,42 @@ function upsertRows(request, subdomain, payloads) {
15
28
  });
16
29
  });
17
30
  if (key) {
18
- return request(`https://${subdomain}.rest.marketingcloudapis.com/hub/v1/dataevents/key:${key}/rowset`, {
19
- method: 'POST',
20
- json: rows
21
- });
31
+ url = `https://${subdomain}.rest.marketingcloudapis.com/hub/v1/dataevents/key:${key}/rowset`;
22
32
  }
23
33
  else {
24
- return request(`https://${subdomain}.rest.marketingcloudapis.com/hub/v1/dataevents/${id}/rowset`, {
34
+ url = `https://${subdomain}.rest.marketingcloudapis.com/hub/v1/dataevents/${id}/rowset`;
35
+ }
36
+ try {
37
+ response = await request(url, {
25
38
  method: 'POST',
26
39
  json: rows
27
40
  });
41
+ payloads.forEach((payload, index) => {
42
+ multiStatusResponse.setSuccessResponseAtIndex(index, {
43
+ status: 200,
44
+ sent: payload,
45
+ body: JSON.stringify(response?.data)
46
+ });
47
+ });
48
+ }
49
+ catch (error) {
50
+ const err = error;
51
+ if (err?.response?.data?.message === 'Not Authorized' || payloads.length === 1) {
52
+ throw error;
53
+ }
54
+ payloads.forEach((payload, index) => {
55
+ multiStatusResponse.setErrorResponseAtIndex(index, {
56
+ status: 400,
57
+ errormessage: err?.response?.data?.additionalErrors[0]?.message || '',
58
+ sent: payload,
59
+ body: JSON.stringify(err)
60
+ });
61
+ });
62
+ }
63
+ if (payloads.length > 1) {
64
+ return multiStatusResponse;
28
65
  }
66
+ return response;
29
67
  }
30
68
  exports.upsertRows = upsertRows;
31
69
  //# sourceMappingURL=sfmc-operations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sfmc-operations.js","sourceRoot":"","sources":["../../../src/destinations/salesforce-marketing-cloud/sfmc-operations.ts"],"names":[],"mappings":";;;AAAA,wDAAuE;AAIvE,SAAgB,UAAU,CACxB,OAAsB,EACtB,SAAiB,EACjB,QAAkE;IAElE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC/B,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE;QACf,MAAM,IAAI,+BAAgB,CACxB,+GAA+G,EAC/G,8BAA8B,EAC9B,GAAG,CACJ,CAAA;KACF;IACD,MAAM,IAAI,GAA0B,EAAE,CAAA;IACtC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAA6D,EAAE,EAAE;QACjF,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IACF,IAAI,GAAG,EAAE;QACP,OAAO,OAAO,CAAC,WAAW,SAAS,sDAAsD,GAAG,SAAS,EAAE;YACrG,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI;SACX,CAAC,CAAA;KACH;SAAM;QACL,OAAO,OAAO,CAAC,WAAW,SAAS,kDAAkD,EAAE,SAAS,EAAE;YAChG,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI;SACX,CAAC,CAAA;KACH;AACH,CAAC;AA/BD,gCA+BC"}
1
+ {"version":3,"file":"sfmc-operations.js","sourceRoot":"","sources":["../../../src/destinations/salesforce-marketing-cloud/sfmc-operations.ts"],"names":[],"mappings":";;;AAAA,wDAM8B;AAKvB,KAAK,UAAU,UAAU,CAC9B,OAAsB,EACtB,SAAiB,EACjB,QAAkE;IAElE,MAAM,mBAAmB,GAAG,IAAI,kCAAmB,EAAE,CAAA;IACrD,IAAI,GAAW,CAAA;IACf,IAAI,QAAsC,CAAA;IAC1C,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC/B,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE;QACf,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YACzB,MAAM,IAAI,+BAAgB,CACxB,+GAA+G,EAC/G,8BAA8B,EAC9B,GAAG,CACJ,CAAA;SACF;QACD,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;YAC5B,mBAAmB,CAAC,uBAAuB,CAAC,KAAK,EAAE;gBACjD,MAAM,EAAE,GAAG;gBACX,SAAS,EAAE,2BAA2B;gBACtC,YAAY,EAAE,+GAA+G;aAC9H,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QACF,OAAO,mBAAmB,CAAA;KAC3B;IACD,MAAM,IAAI,GAA0B,EAAE,CAAA;IACtC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAA6D,EAAE,EAAE;QACjF,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IACF,IAAI,GAAG,EAAE;QACP,GAAG,GAAG,WAAW,SAAS,sDAAsD,GAAG,SAAS,CAAA;KAC7F;SAAM;QACL,GAAG,GAAG,WAAW,SAAS,kDAAkD,EAAE,SAAS,CAAA;KACxF;IAED,IAAI;QACF,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE;YAC5B,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI;SACX,CAAC,CAAA;QAEF,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YAClC,mBAAmB,CAAC,yBAAyB,CAAC,KAAK,EAAE;gBACnD,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE,OAAmC;gBACzC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC;aACrC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;KACH;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,GAAG,GAAG,KAAsB,CAAA;QAClC,IAAI,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,KAAK,gBAAgB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9E,MAAM,KAAK,CAAA;SACZ;QAED,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YAClC,mBAAmB,CAAC,uBAAuB,CAAC,KAAK,EAAE;gBACjD,MAAM,EAAE,GAAG;gBACX,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE;gBACrE,IAAI,EAAE,OAAmC;gBACzC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;aAC1B,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;KACH;IAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;QACvB,OAAO,mBAAmB,CAAA;KAC3B;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAzED,gCAyEC"}
@@ -0,0 +1,19 @@
1
+ interface AdditionalError {
2
+ message: string;
3
+ errorcode: number;
4
+ documentation: string;
5
+ }
6
+ interface ErrorData {
7
+ additionalErrors: AdditionalError[];
8
+ message: string;
9
+ }
10
+ interface ErrorResponseData {
11
+ message: string;
12
+ errorcode: number;
13
+ documentation: string;
14
+ data: ErrorData;
15
+ }
16
+ export interface ErrorResponse {
17
+ response: ErrorResponseData;
18
+ }
19
+ export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/destinations/salesforce-marketing-cloud/types.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@segment/action-destinations",
3
3
  "description": "Destination Actions engine and definitions.",
4
- "version": "3.345.7-staging",
4
+ "version": "3.345.7-staging-1461904fc.0",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/segmentio/action-destinations",
@@ -88,5 +88,5 @@
88
88
  "__tests__/__helpers__/"
89
89
  ]
90
90
  },
91
- "gitHead": "9c04e12c4a0e81f6b68dca0a297fb2c0209d2431"
91
+ "gitHead": "6c5e0772f0c2d2bf264145acac3171cd1a609c40"
92
92
  }
@@ -1,5 +0,0 @@
1
- export interface Payload {
2
- segmentEventData: {
3
- [k: string]: unknown;
4
- };
5
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=generated-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../../src/destinations/accoil-analytics/postToAccoil/generated-types.ts"],"names":[],"mappings":""}
@@ -1,5 +0,0 @@
1
- import type { 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;
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const action = {
4
- title: 'Post to Accoil',
5
- description: 'Send Data to Accoil Analytics',
6
- defaultSubscription: 'type = "track"',
7
- fields: {
8
- segmentEventData: {
9
- label: 'Event Payload',
10
- description: 'Segment Event Payload',
11
- type: 'object',
12
- unsafe_hidden: true,
13
- required: true,
14
- default: {
15
- '@path': '$.'
16
- }
17
- }
18
- },
19
- perform: (request, { settings, payload }) => {
20
- const staging = settings?.api_key?.toLowerCase()?.startsWith('stg_');
21
- return request(staging == true ? `https://instaging.accoil.com/segment` : `https://in.accoil.com/segment`, {
22
- method: 'post',
23
- json: payload.segmentEventData
24
- });
25
- }
26
- };
27
- exports.default = action;
28
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/accoil-analytics/postToAccoil/index.ts"],"names":[],"mappings":";;AAIA,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,gBAAgB;IACvB,WAAW,EAAE,+BAA+B;IAC5C,mBAAmB,EAAE,gBAAgB;IAErC,MAAM,EAAE;QACN,gBAAgB,EAAE;YAChB,KAAK,EAAE,eAAe;YACtB,WAAW,EAAE,uBAAuB;YACpC,IAAI,EAAE,QAAQ;YACd,aAAa,EAAE,IAAI;YACnB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,IAAI;aACd;SACF;KACF;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAC1C,MAAM,OAAO,GAAG,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;QACpE,OAAO,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,+BAA+B,EAAE;YACzG,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,OAAO,CAAC,gBAAgB;SAC/B,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -1,5 +0,0 @@
1
- export interface Payload {
2
- external_id?: string | null;
3
- alias_name: string;
4
- alias_label: string;
5
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=createAliasV2.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createAliasV2.types.js","sourceRoot":"","sources":["../../../src/destinations/braze/createAliasV2.types.ts"],"names":[],"mappings":""}
@@ -1,8 +0,0 @@
1
- export interface Payload {
2
- external_id: string;
3
- user_alias: {
4
- alias_name: string;
5
- alias_label: string;
6
- };
7
- merge_behavior?: string;
8
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=identifyUserV2.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"identifyUserV2.types.js","sourceRoot":"","sources":["../../../src/destinations/braze/identifyUserV2.types.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- import { ActionDefinition } from '@segment/actions-core';
2
- import { Settings } from './generated-types';
3
- export declare const commonFields: ActionDefinition<Settings>['fields'];